From 929ce48c0d3c5fbd333c64c49d76d1817d281a7d Mon Sep 17 00:00:00 2001 From: davay42 Date: Wed, 27 Nov 2024 06:47:47 +0000 Subject: [PATCH] deploy: 05294dae883740245099f1651798214ccc492294 --- 404.html | 12 +- academy/index.html | 12 +- ...{404.md.CyDpcGm_.js => 404.md.CXR0cFhq.js} | 2 +- ...DpcGm_.lean.js => 404.md.CXR0cFhq.lean.js} | 2 +- ...E5jG2t.js => academy_index.md.BYtJ9Ket.js} | 2 +- ...n.js => academy_index.md.BYtJ9Ket.lean.js} | 2 +- assets/{app.D58PhePN.js => app.C6z4HWMf.js} | 2 +- ...nder.CnjXi_kI.js => AbcRender.KY8ykMKq.js} | 4 +- ...FT.DegcYCLm.js => AnalysisFFT.tyyGNsR7.js} | 2 +- ....BCRrXOu_.js => AnalysisScope.D18Enf_g.js} | 2 +- ...ament.Pn5HvB2P.js => Atrament.DyePrxEN.js} | 2 +- ...tBars.SrAi3Hlt.js => BeatBars.Bx88sUcW.js} | 2 +- ...{Bounce.BkqbykBD.js => Bounce.C56Ivp86.js} | 2 +- ...7K6Wr.js => ChordProgressions.CE6FYUPa.js} | 2 +- assets/chunks/ChordSheets.6jAJPt_R.js | 214 ++++++++ assets/chunks/ChordSheets.Dx_rikv2.js | 214 -------- ...rdTab.s9wWLKZa.js => ChordTab.DvdaPJNy.js} | 2 +- assets/chunks/ChordTabs.DD8BHknq.js | 1 + assets/chunks/ChordTabs.b49OjQ8P.js | 1 - ...e.Ba65J0Ej.js => ChromaCircle.Cdi5XgF7.js} | 2 +- ...ode.CCQBWIK8.js => ChromaCode.DOABZX-2.js} | 2 +- ...orm.BHod8fD4.js => ChromaForm.BVKcgZJw.js} | 2 +- ...ram.Cv_ojaA8.js => ChromaGram.DLptASiU.js} | 2 +- ...ds.oVpe2PO5.js => ChromaGrids.BN3KHZau.js} | 2 +- ...and.BeOvEdje.js => ChromaHand.CzMMvQFg.js} | 2 +- ....BB7Mu0gf.js => ChromaPalette.DrgUB_ba.js} | 4 +- ...a.js => ChromaPaletteFeedback._m14K69Y.js} | 6 +- ....BNRIVsHl.js => ChromaProfile.B3WHzKXI.js} | 2 +- ...js => ChromaProfileCollection.DkxAUP4C.js} | 2 +- ...aRow.7nFmbOny.js => ChromaRow.BRQuQvqH.js} | 2 +- ...aSee.CzjSZQ-C.js => ChromaSee.nDjQi-jw.js} | 2 +- ...ch.BkeAbPn3.js => ChromaTouch.CHIk3n0X.js} | 2 +- ...Cmyk.B8wbTGR5.js => ColorCmyk.6zJswo3j.js} | 2 +- ...orHsl.DhFf0KlX.js => ColorHsl.wyofLDEJ.js} | 2 +- ...orLab.QsXE9KVr.js => ColorLab.B8JtCUyz.js} | 2 +- ...orMix.DL25yOWg.js => ColorMix.DmYOGZ8N.js} | 2 +- ...orRgb.qXzGnQvH.js => ColorRgb.DSFEIniM.js} | 2 +- ...o.BFWu7aKt.js => ColorSvgInfo.DpJZE_IJ.js} | 2 +- ....DP3MWJaC.js => ControlChoose.BsTgxhCE.js} | 2 +- ...t.BWsORrv6.js => ControlStart.BGN7YlXy.js} | 2 +- ...CCHAJRGB.js => ElemPlayground.XTYnHOnI.js} | 2 +- ....DIWIshGv.js => ExtractColors.C0JFqtvh.js} | 2 +- ....DwDU2glM.js => FretboardTool.CsxV3vww.js} | 2 +- ...{GunP2p.CxWNISCC.js => GunP2p.DcBtCpVl.js} | 2 +- ...nth.l0Ym3HIX.js => HydraSynth.CtFhBQu1.js} | 2 +- ...amDate.DlntF5CC.js => JamDate.BQoTgKZo.js} | 2 +- ...ndom.BE9ZL8Jh.js => JamRandom.D9QYnRrw.js} | 2 +- assets/chunks/JamSession.DO7x3U8j.js | 6 + assets/chunks/JamSession.n1IIoOuW.js | 6 - ...Table.BvQhSVVd.js => JamTable.C03C7b_4.js} | 2 +- ...Globe.BAv-81qv.js => MapGlobe.o1hXVYRQ.js} | 2 +- ...{Matter.DYLgJVcY.js => Matter.CYa-KL7C.js} | 2 +- assets/chunks/MidiKeys.DiSle55u.js | 1 - assets/chunks/MidiKeys.EfaG9mBq.js | 1 + ...iRoll.DJDyHjVR.js => MidiRoll.DM9Au6BA.js} | 2 +- .../{Moire.DNRQgkUC.js => Moire.emjjontL.js} | 2 +- assets/chunks/MonoChord.B4VAbo70.js | 1 - assets/chunks/MonoChord.BHBDAmBO.js | 1 + assets/chunks/MultiPendulums.DTpiCVAc.js | 25 + assets/chunks/MultiPendulums.DzJOnZVk.js | 31 -- ...umbers.WffqqVCR.js => Numbers.D9t2wNAU.js} | 2 +- ...Roll.DWqYQPyW.js => PitchRoll.CqyHLjI-.js} | 2 +- ...ble.DVv0r8W0.js => PitchTable.Byp7hQrF.js} | 2 +- ...ner.D7oLlZ4p.js => PitchTuner.g5I0AVLM.js} | 2 +- ...Sort.CAqTclEC.js => PixelSort.DBvQJR5E.js} | 2 +- ...Keys.FfuD3lco.js => PrintKeys.Ch-NI2Wc.js} | 4 +- ...dRTC.B7sXnKZ4.js => RecordRTC.CCXr9uWv.js} | 2 +- ...ro0.js => RhythmDrumRudiments.D5g7g7Pq.js} | 2 +- ...aveSvg.DARtreR9.js => SaveSvg.BMrQsyrm.js} | 2 +- ...ds.CvMtsCP8.js => ScaleChords.DnUo8DaG.js} | 2 +- ...Zut9.js => ScaleDegreesCircle.Cwq_yB2n.js} | 2 +- ...List.7CFFiStO.js => ScaleList.JofJJjb0.js} | 2 +- ...Raga.BCOhMamF.js => ScaleRaga.7j4o9ynS.js} | 2 +- ...ensors.D1HFTdDx.js => Sensors.B-yyyOJk.js} | 2 +- ...implex.BzKEjArI.js => Simplex.BBxMVS0K.js} | 2 +- ...EvcgKMz.js => SoundDissonance.NU4eCc-e.js} | 2 +- ....CH_1Cst9.js => SoundLoudness.vgc9GPtT.js} | 2 +- ...DTelgLkQ.js => SoundOvertones.DwsCQUnN.js} | 2 +- ...FFMF9k5.js => SoundVibrations.BbztLeN0.js} | 2 +- ....C4DXKNU3.js => StepSequencer.CTirKbvJ.js} | 2 +- ...th.C3boYLU_.js => StringSynth.CbydH2Ea.js} | 2 +- ...vgRing.0H20IYi1.js => SvgRing.CpiEvEsl.js} | 2 +- ...thAmy.CNueAp5S.js => SynthAmy.Bpgdu1oc.js} | 2 +- ...uck.C4MEyzS7.js => SynthChuck.BVEX-RU2.js} | 2 +- ...ise.DlivCZ45.js => SynthNoise.DJTRCeCR.js} | 2 +- ...Zzfx.CchaKOO5.js => SynthZzfx.DwdhsG-u.js} | 2 +- ...ray.DMHrvIt3.js => TonalArray.fe8L0wAC.js} | 2 +- ...List.DfkHEc3_.js => ToolsList.OgpJXi2R.js} | 2 +- .../{Words.CQ45KHQH.js => Words.DGYddb9x.js} | 2 +- .../{ZzFxm.DSSjrhgI.js => ZzFxm.akgKHw0h.js} | 2 +- assets/chunks/fraction.TqTz4TU4.js | 1 + assets/chunks/framework.BR0mAPCP.js | 18 - assets/chunks/framework.CQBrk0Ry.js | 18 + .../{index.Dc_kUHgf.js => index.B15DEz5d.js} | 2 +- .../{index.Bb7WnkDj.js => index.BI3CdZFj.js} | 2 +- .../{index.B57_cHY_.js => index.Bl92Yfyi.js} | 2 +- .../{index.B2gfHnEn.js => index.Cbdt8Ztb.js} | 2 +- .../{index.D4HuxphN.js => index.D7bsbTcf.js} | 2 +- ...ex.es.B24Zf6PE.js => index.es.DIBt9NKW.js} | 2 +- ...n.By_B_Pou.js => jspdf.es.min.DHD_tvxK.js} | 6 +- ....min.FXK0Oede.js => meyda.min.CSbsK9Pb.js} | 2 +- ...ull.C24SZgIn.js => paper-full.D6jqPzQc.js} | 2 +- assets/chunks/state.B52xOU23.js | 1 + assets/chunks/state.D7Rc2kFZ.js | 1 - ...DXlvr2vZ.js => svg2pdf.es.min.CX1mGVxl.js} | 2 +- assets/chunks/theme.ClagsQLu.js | 479 ------------------ assets/chunks/theme.Dd_Fb62b.js | 479 ++++++++++++++++++ .../{trash.B4OvZbrl.js => trash.N5lXjyoo.js} | 2 +- assets/chunks/useDrums.LSod6uTp.js | 1 + assets/chunks/useDrums.TxB2LEkw.js | 1 - ....BBmC8vA2.js => useElementary.T3ohYPYP.js} | 2 +- ...tq.js => virtual_pwa-register.Dv6JZa9M.js} | 2 +- ...abNb0.js => contacts_index.md.DsbBGM59.js} | 2 +- ....js => contacts_index.md.DsbBGM59.lean.js} | 2 +- ...ex.md.BjCaf5EF.js => index.md.CeW4XYvb.js} | 2 +- ...f5EF.lean.js => index.md.CeW4XYvb.lean.js} | 2 +- ...practice_chord_array_index.md.BnZU_5uQ.js} | 4 +- ...ice_chord_array_index.md.BnZU_5uQ.lean.js} | 4 +- ...e_chord_chord-sheets_index.md.DStOExRJ.js} | 4 +- ...rd_chord-sheets_index.md.DStOExRJ.lean.js} | 4 +- ...ractice_chord_fifths_index.md.DS4R8Xbx.js} | 2 +- ...ce_chord_fifths_index.md.DS4R8Xbx.lean.js} | 2 +- ...js => practice_chord_index.md.BYhOPIMd.js} | 2 +- ... practice_chord_index.md.BYhOPIMd.lean.js} | 2 +- ...practice_chord_modes_index.md.BTFa1ox8.js} | 2 +- ...ice_chord_modes_index.md.BTFa1ox8.lean.js} | 2 +- ...e_chord_progressions_index.md.CboLGnOI.js} | 2 +- ...rd_progressions_index.md.CboLGnOI.lean.js} | 2 +- ...tice_chord_real-book_index.md.B5kQv7QY.js} | 2 +- ...chord_real-book_index.md.B5kQv7QY.lean.js} | 2 +- ...tice_chord_sequencer_index.md.BZ8JOpYx.js} | 2 +- ...chord_sequencer_index.md.BZ8JOpYx.lean.js} | 2 +- ... practice_chord_tabs_index.md.urIbLrbb.js} | 4 +- ...tice_chord_tabs_index.md.urIbLrbb.lean.js} | 4 +- ...ctice_chroma_compass_index.md.CfSfTZ53.js} | 2 +- ..._chroma_compass_index.md.CfSfTZ53.lean.js} | 2 +- ...practice_chroma_gram_index.md.AlnNYTkD.js} | 4 +- ...ice_chroma_gram_index.md.AlnNYTkD.lean.js} | 4 +- ...practice_chroma_grid_index.md.B8DHvqIt.js} | 2 +- ...ice_chroma_grid_index.md.B8DHvqIt.lean.js} | 2 +- ...practice_chroma_hand_index.md.DhOHmedi.js} | 4 +- ...ice_chroma_hand_index.md.DhOHmedi.lean.js} | 4 +- ...s => practice_chroma_index.md.DqjPUQIr.js} | 2 +- ...practice_chroma_index.md.DqjPUQIr.lean.js} | 2 +- ...oma_palette_feedback_index.md.Dm6AJimy.js} | 4 +- ...alette_feedback_index.md.Dm6AJimy.lean.js} | 4 +- ...ctice_chroma_palette_index.md.l9R8NKA-.js} | 4 +- ..._chroma_palette_index.md.l9R8NKA-.lean.js} | 4 +- ...ctice_chroma_profile_index.md.YJDjp4Jm.js} | 2 +- ..._chroma_profile_index.md.YJDjp4Jm.lean.js} | 2 +- ... practice_chroma_see_index.md.BZk6eB1r.js} | 4 +- ...tice_chroma_see_index.md.BZk6eB1r.lean.js} | 4 +- ...actice_chroma_shader_index.md.D0rIVrrA.js} | 2 +- ...e_chroma_shader_index.md.D0rIVrrA.lean.js} | 2 +- ...ractice_chroma_touch_index.md.Cok1epSp.js} | 4 +- ...ce_chroma_touch_index.md.Cok1epSp.lean.js} | 4 +- ...tice_chroma_waveform_index.md.9dWzZy7J.js} | 4 +- ...chroma_waveform_index.md.9dWzZy7J.lean.js} | 4 +- ... practice_color_cmyk_index.md.BpYl5wj8.js} | 2 +- ...tice_color_cmyk_index.md.BpYl5wj8.lean.js} | 2 +- ...> practice_color_hsl_index.md.oHdeSSeu.js} | 2 +- ...ctice_color_hsl_index.md.oHdeSSeu.lean.js} | 2 +- ...js => practice_color_index.md.4T2FNkXD.js} | 2 +- ... practice_color_index.md.4T2FNkXD.lean.js} | 2 +- ...> practice_color_lab_index.md.CvFKQxxZ.js} | 2 +- ...ctice_color_lab_index.md.CvFKQxxZ.lean.js} | 2 +- ...> practice_color_mix_index.md.AWfELDwD.js} | 4 +- ...ctice_color_mix_index.md.AWfELDwD.lean.js} | 4 +- ...actice_color_palette_index.md.DTrhHX55.js} | 2 +- ...e_color_palette_index.md.DTrhHX55.lean.js} | 2 +- ...> practice_color_rgb_index.md.ni82g3C1.js} | 2 +- ...ctice_color_rgb_index.md.ni82g3C1.lean.js} | 2 +- ...tice_experiments_dev_index.md.Dg--yumK.js} | 2 +- ...experiments_dev_index.md.Dg--yumK.lean.js} | 2 +- ...ice_experiments_draw_index.md.Bu37uccn.js} | 4 +- ...xperiments_draw_index.md.Bu37uccn.lean.js} | 4 +- ...periments_elementary_index.md.CWcMVrtz.js} | 4 +- ...ents_elementary_index.md.CWcMVrtz.lean.js} | 4 +- ..._experiments_extract_index.md.DmSdYf1E.js} | 4 +- ...riments_extract_index.md.DmSdYf1E.lean.js} | 4 +- ...practice_experiments_index.md.BZkot_D_.js} | 2 +- ...ice_experiments_index.md.BZkot_D_.lean.js} | 2 +- ...tice_experiments_lab_index.md.Cf7-lJJN.js} | 2 +- ...experiments_lab_index.md.Cf7-lJJN.lean.js} | 2 +- ...ce_experiments_moire_index.md.tmpdv66v.js} | 4 +- ...periments_moire_index.md.tmpdv66v.lean.js} | 4 +- ...tice_experiments_p2p_index.md.BOH0Xzp_.js} | 4 +- ...experiments_p2p_index.md.BOH0Xzp_.lean.js} | 4 +- ...periments_pianolizer_index.md.d9a8-O08.js} | 2 +- ...ents_pianolizer_index.md.d9a8-O08.lean.js} | 2 +- ...periments_pixel-sort_index.md.BADHlf9x.js} | 4 +- ...ents_pixel-sort_index.md.BADHlf9x.lean.js} | 4 +- ...rintables_circles-a4_index.md.4RwkoNZq.js} | 2 +- ...bles_circles-a4_index.md.4RwkoNZq.lean.js} | 2 +- ...periments_printables_index.md.DyejVemq.js} | 2 +- ...ents_printables_index.md.DyejVemq.lean.js} | 2 +- ..._printables_piano-a4_index.md.DwjPLXle.js} | 2 +- ...tables_piano-a4_index.md.DwjPLXle.lean.js} | 2 +- ...ice_experiments_rows_index.md.D3TxUw6_.js} | 2 +- ...xperiments_rows_index.md.D3TxUw6_.lean.js} | 2 +- ..._experiments_sensors_index.md.ZFhV_FxF.js} | 4 +- ...riments_sensors_index.md.ZFhV_FxF.lean.js} | 4 +- ..._experiments_simplex_index.md.CTPo88RN.js} | 4 +- ...riments_simplex_index.md.CTPo88RN.lean.js} | 4 +- ...=> practice_external_index.md.CG1b5dbU.js} | 2 +- ...actice_external_index.md.CG1b5dbU.lean.js} | 2 +- ..._generative_ambience_index.md.9q1aAQ51.js} | 2 +- ...rative_ambience_index.md.9q1aAQ51.lean.js} | 2 +- ...ce_generative_bounce_index.md.IMNeLAFm.js} | 4 +- ...nerative_bounce_index.md.IMNeLAFm.lean.js} | 4 +- ... practice_generative_index.md.BPjaQs1T.js} | 2 +- ...tice_generative_index.md.BPjaQs1T.lean.js} | 2 +- ...ce_generative_matter_index.md.YcNjrvJN.js} | 4 +- ...nerative_matter_index.md.YcNjrvJN.lean.js} | 4 +- ...e_generative_numbers_index.md.CbkYCQ5Y.js} | 4 +- ...erative_numbers_index.md.CbkYCQ5Y.lean.js} | 4 +- ...generative_pendulums_index.md.DciVbwbr.js} | 4 +- ...ative_pendulums_index.md.DciVbwbr.lean.js} | 4 +- ...ice_generative_words_index.md.8E1WzdZf.js} | 4 +- ...enerative_words_index.md.8E1WzdZf.lean.js} | 4 +- ....lean.js => practice_index.md.Q651ZLHX.js} | 2 +- ....js => practice_index.md.Q651ZLHX.lean.js} | 2 +- ...5.js => practice_jam_index.md.BMYOQMHs.js} | 2 +- ...=> practice_jam_index.md.BMYOQMHs.lean.js} | 2 +- ... practice_jam_random_index.md.DfXYKu7P.js} | 4 +- ...tice_jam_random_index.md.DfXYKu7P.lean.js} | 4 +- ...practice_jam_session_index.md.E2uCUZZc.js} | 4 +- ...ice_jam_session_index.md.E2uCUZZc.lean.js} | 4 +- ...> practice_jam_table_index.md.CRT95tX4.js} | 4 +- ...ctice_jam_table_index.md.CRT95tX4.lean.js} | 4 +- .../practice_midi_grid_index.md.BHHkgBQB.js | 1 + ...actice_midi_grid_index.md.BHHkgBQB.lean.js | 1 + ....js => practice_midi_index.md.tdQZXdkp.js} | 2 +- ...> practice_midi_index.md.tdQZXdkp.lean.js} | 2 +- ...=> practice_midi_ios_index.md.DMtOC0L9.js} | 2 +- ...actice_midi_ios_index.md.DMtOC0L9.lean.js} | 2 +- ...> practice_midi_keys_index.md.C_zn56T1.js} | 2 +- ...ctice_midi_keys_index.md.C_zn56T1.lean.js} | 2 +- ...=> practice_midi_log_index.md.D-lRS1I4.js} | 2 +- ...actice_midi_log_index.md.D-lRS1I4.lean.js} | 2 +- ...ractice_midi_monitor_index.md.wUQ9TMer.js} | 2 +- ...ce_midi_monitor_index.md.wUQ9TMer.lean.js} | 2 +- ... practice_midi_radar_index.md.DTorXBzg.js} | 2 +- ...tice_midi_radar_index.md.DTorXBzg.lean.js} | 2 +- ...actice_midi_recorder_index.md.CVmU8t3q.js} | 2 +- ...e_midi_recorder_index.md.CVmU8t3q.lean.js} | 2 +- ...> practice_midi_roll_index.md.CCKjxF1W.js} | 4 +- ...ctice_midi_roll_index.md.CCKjxF1W.lean.js} | 4 +- ...practice_midi_router_index.md.CYPTI4PX.js} | 2 +- ...ice_midi_router_index.md.CYPTI4PX.lean.js} | 2 +- ...tice_midi_visualizer_index.md.BUDPdZ0d.js} | 2 +- ...midi_visualizer_index.md.BUDPdZ0d.lean.js} | 2 +- ...practice_pitch_drone_index.md.DwofVZwn.js} | 2 +- ...ice_pitch_drone_index.md.DwofVZwn.lean.js} | 2 +- ...tice_pitch_fretboard_index.md.Dhschyrp.js} | 4 +- ...pitch_fretboard_index.md.Dhschyrp.lean.js} | 4 +- ...js => practice_pitch_index.md.HKbeNva5.js} | 2 +- ... practice_pitch_index.md.HKbeNva5.lean.js} | 2 +- ... practice_pitch_roll_index.md.-tj0KoN6.js} | 4 +- ...tice_pitch_roll_index.md.-tj0KoN6.lean.js} | 4 +- ...ce_pitch_spectrogram_index.md.lFryi1Iu.js} | 2 +- ...tch_spectrogram_index.md.lFryi1Iu.lean.js} | 2 +- ...practice_pitch_table_index.md.H7e0USBW.js} | 4 +- ...ice_pitch_table_index.md.H7e0USBW.lean.js} | 4 +- ...practice_pitch_tuner_index.md.Czf5P9Sb.js} | 4 +- ...ice_pitch_tuner_index.md.Czf5P9Sb.lean.js} | 4 +- ...practice_rhythm_bars_index.md.DyuYsjze.js} | 2 +- ...ice_rhythm_bars_index.md.DyuYsjze.lean.js} | 2 +- ...actice_rhythm_circle_index.md.B_U8otry.js} | 2 +- ...e_rhythm_circle_index.md.B_U8otry.lean.js} | 2 +- ..._rhythm_drum-machine_index.md.BeO9h28_.js} | 2 +- ...hm_drum-machine_index.md.BeO9h28_.lean.js} | 2 +- ...s => practice_rhythm_index.md.Bk8lCVJr.js} | 2 +- ...practice_rhythm_index.md.Bk8lCVJr.lean.js} | 2 +- ...ice_rhythm_rudiments_index.md.B3HKviKa.js} | 4 +- ...hythm_rudiments_index.md.B3HKviKa.lean.js} | 4 +- ...practice_rhythm_time_index.md.BDMoPBXv.js} | 2 +- ...ice_rhythm_time_index.md.BDMoPBXv.lean.js} | 2 +- ...ractice_rhythm_wheel_index.md.Bpb-KyR4.js} | 2 +- ...ce_rhythm_wheel_index.md.Bpb-KyR4.lean.js} | 2 +- ...ractice_scale_chords_index.md.CpN-1gx0.js} | 2 +- ...ce_scale_chords_index.md.CpN-1gx0.lean.js} | 2 +- ...js => practice_scale_index.md.C7M2m0uk.js} | 2 +- ... practice_scale_index.md.C7M2m0uk.lean.js} | 2 +- ... practice_scale_list_index.md.DFmW6XtZ.js} | 4 +- ...tice_scale_list_index.md.DFmW6XtZ.lean.js} | 4 +- ... practice_scale_raga_index.md.C8vubp-D.js} | 4 +- ...tice_scale_raga_index.md.C8vubp-D.lean.js} | 4 +- ..._sequencing_ambience_index.md.CubMS52_.js} | 2 +- ...encing_ambience_index.md.CubMS52_.lean.js} | 2 +- ...ce_sequencing_bounce_index.md.e8gZiTjB.js} | 2 +- ...quencing_bounce_index.md.e8gZiTjB.lean.js} | 2 +- ...tice_sequencing_grid_index.md.8aE5zJxc.js} | 4 +- ...sequencing_grid_index.md.8aE5zJxc.lean.js} | 4 +- ... practice_sequencing_index.md.CHCTqp-o.js} | 2 +- ...tice_sequencing_index.md.CHCTqp-o.lean.js} | 2 +- ...ce_sequencing_matter_index.md.ZdR7V6dF.js} | 2 +- ...quencing_matter_index.md.ZdR7V6dF.lean.js} | 2 +- ...e_sequencing_numbers_index.md.CbYnZfzu.js} | 2 +- ...uencing_numbers_index.md.CbYnZfzu.lean.js} | 2 +- ...sequencing_pendulums_index.md.Dqob1kYK.js} | 2 +- ...ncing_pendulums_index.md.Dqob1kYK.lean.js} | 2 +- ...sequencing_sequencer_index.md.DbLSQ4h4.js} | 4 +- ...ncing_sequencer_index.md.DbLSQ4h4.lean.js} | 4 +- ...ice_sequencing_words_index.md.CaRjCKM_.js} | 2 +- ...equencing_words_index.md.CaRjCKM_.lean.js} | 2 +- ...ice_sequencing_zzfxm_index.md.1SvLgqX9.js} | 4 +- ...equencing_zzfxm_index.md.1SvLgqX9.lean.js} | 4 +- ...ice_sound_dissonance_index.md.B_D9G1I2.js} | 4 +- ...ound_dissonance_index.md.B_D9G1I2.lean.js} | 4 +- ...js => practice_sound_index.md.q7QKepvs.js} | 2 +- ... practice_sound_index.md.q7QKepvs.lean.js} | 2 +- ...ctice_sound_loudness_index.md.NuGvLZRt.js} | 4 +- ..._sound_loudness_index.md.NuGvLZRt.lean.js} | 4 +- ...> practice_sound_mic_index.md.jO2CJwAN.js} | 2 +- ...ctice_sound_mic_index.md.jO2CJwAN.lean.js} | 2 +- ...ctice_sound_monochord_index.md.CUMevFTb.js | 2 + ..._sound_monochord_index.md.CUMevFTb.lean.js | 2 + ...ctice_sound_monochord_index.md.Wa6o0gkj.js | 2 - ..._sound_monochord_index.md.Wa6o0gkj.lean.js | 2 - ...tice_sound_overtones_index.md.JIrKbRRs.js} | 4 +- ...sound_overtones_index.md.JIrKbRRs.lean.js} | 4 +- ...> practice_synth_amy_index.md.DhvHWlCQ.js} | 4 +- ...ctice_synth_amy_index.md.DhvHWlCQ.lean.js} | 4 +- ...practice_synth_chuck_index.md.C6Y5X6mK.js} | 4 +- ...ice_synth_chuck_index.md.C6Y5X6mK.lean.js} | 4 +- ...ice_synth_elementary_index.md.CnX9qRDx.js} | 2 +- ...ynth_elementary_index.md.CnX9qRDx.lean.js} | 2 +- ...ctice_synth_elements_index.md.BDA34zyG.js} | 2 +- ..._synth_elements_index.md.BDA34zyG.lean.js} | 2 +- ...js => practice_synth_index.md.OpS3Sjrm.js} | 2 +- ... practice_synth_index.md.OpS3Sjrm.lean.js} | 2 +- ...synth_karplus-strong_index.md.CflmnxL_.js} | 4 +- ..._karplus-strong_index.md.CflmnxL_.lean.js} | 4 +- ...practice_synth_noise_index.md.BJ6wF_aY.js} | 4 +- ...ice_synth_noise_index.md.BJ6wF_aY.lean.js} | 4 +- ...=> practice_synth_snippets.md.vEreBI3d.js} | 2 +- ...actice_synth_snippets.md.vEreBI3d.lean.js} | 2 +- ...tice_synth_soundfont_index.md.DydeujGJ.js} | 2 +- ...synth_soundfont_index.md.DydeujGJ.lean.js} | 2 +- ... practice_synth_zzfx_index.md.B0Z-oRZx.js} | 4 +- ...tice_synth_zzfx_index.md.B0Z-oRZx.lean.js} | 4 +- ...ractice_visual_hydra_index.md.VW3lWnni.js} | 4 +- ...ce_visual_hydra_index.md.VW3lWnni.lean.js} | 4 +- ...s => practice_visual_index.md.Bs4qvReC.js} | 2 +- ...practice_visual_index.md.Bs4qvReC.lean.js} | 2 +- ...ractice_visual_paper_index.md.Cp3097mi.js} | 2 +- ...ce_visual_paper_index.md.Cp3097mi.lean.js} | 2 +- ....DFbKY_hq.js => shop_index.md.Dj_ia5h9.js} | 2 +- ...lean.js => shop_index.md.Dj_ia5h9.lean.js} | 2 +- ...{style.UvUOJrZi.css => style.B74JA4M6.css} | 2 +- ...TR19Mm.js => support_index.md.GsqhcinP.js} | 4 +- ...n.js => support_index.md.GsqhcinP.lean.js} | 4 +- ...eory_chords_clusters_index.md.Djc9IPyi.js} | 2 +- ...chords_clusters_index.md.Djc9IPyi.lean.js} | 2 +- ....js => theory_chords_index.md.BwAn0k5c.js} | 2 +- ...> theory_chords_index.md.BwAn0k5c.lean.js} | 2 +- ...> theory_chords_more_index.md.DwWhX0ZV.js} | 2 +- ...ory_chords_more_index.md.DwWhX0ZV.lean.js} | 2 +- ...heory_chords_pentads_index.md.C27ekJb-.js} | 2 +- ..._chords_pentads_index.md.C27ekJb-.lean.js} | 2 +- ...heory_chords_tetrads_index.md.C-2vlegM.js} | 2 +- ..._chords_tetrads_index.md.C-2vlegM.lean.js} | 2 +- ...theory_chords_triads_index.md.DBPbwIij.js} | 2 +- ...y_chords_triads_index.md.DBPbwIij.lean.js} | 2 +- ...v.js => theory_color_index.md.DmE-3CKv.js} | 2 +- ...=> theory_color_index.md.DmE-3CKv.lean.js} | 2 +- ...color_light_em-field_index.md.Bp4DRTNu.js} | 2 +- ..._light_em-field_index.md.Bp4DRTNu.lean.js} | 2 +- ...color_light_em-waves_index.md.CkrxqElk.js} | 2 +- ..._light_em-waves_index.md.CkrxqElk.lean.js} | 2 +- ...> theory_color_light_index.md.BRkUJSp1.js} | 2 +- ...ory_color_light_index.md.BRkUJSp1.lean.js} | 2 +- ...color_light_spectrum_index.md.76kLWIxX.js} | 2 +- ..._light_spectrum_index.md.76kLWIxX.lean.js} | 2 +- ...eory_color_light_sun_index.md.b0ae0Hfm.js} | 2 +- ...color_light_sun_index.md.b0ae0Hfm.lean.js} | 2 +- ...olor_models_additive_index.md.0qUQ-Y0Q.js} | 2 +- ...models_additive_index.md.0qUQ-Y0Q.lean.js} | 2 +- ... theory_color_models_index.md.D-0lhdpW.js} | 2 +- ...ry_color_models_index.md.D-0lhdpW.lean.js} | 2 +- ...or_models_perceptual_index.md.8vzurRXC.js} | 2 +- ...dels_perceptual_index.md.8vzurRXC.lean.js} | 2 +- ...r_models_subtractive_index.md.IbgFi8kJ.js} | 2 +- ...els_subtractive_index.md.IbgFi8kJ.lean.js} | 2 +- ...> theory_color_names_index.md.BuWPAXmx.js} | 2 +- ...ory_color_names_index.md.BuWPAXmx.lean.js} | 2 +- ...ory_color_perception_index.md.BboJ-qxO.js} | 2 +- ...olor_perception_index.md.BboJ-qxO.lean.js} | 2 +- ...omposition_composers_index.md.BibHWBa7.js} | 2 +- ...ition_composers_index.md.BibHWBa7.lean.js} | 2 +- ...mposition_electronic_index.md.BmxNjROa.js} | 2 +- ...tion_electronic_index.md.BmxNjROa.lean.js} | 2 +- ...ory_composition_form_index.md.DWNwIMsb.js} | 2 +- ...omposition_form_index.md.DWNwIMsb.lean.js} | 2 +- ...mposition_generative_index.md.BT1exoVC.js} | 2 +- ...tion_generative_index.md.BT1exoVC.lean.js} | 2 +- ...> theory_composition_index.md.bkicc-Vf.js} | 2 +- ...ory_composition_index.md.bkicc-Vf.lean.js} | 2 +- ...omposition_serialism_index.md.B6MiTLtt.js} | 2 +- ...ition_serialism_index.md.B6MiTLtt.lean.js} | 2 +- ...ory_composition_song_index.md.MYh4F2wv.js} | 2 +- ...omposition_song_index.md.MYh4F2wv.lean.js} | 2 +- ...ition_sound-painting_index.md.BpNW1XmT.js} | 2 +- ..._sound-painting_index.md.BpNW1XmT.lean.js} | 2 +- ..._composition_texture_index.md.C4E1g_qF.js} | 2 +- ...osition_texture_index.md.C4E1g_qF.lean.js} | 2 +- ..._harmony_chord-scale_index.md.CkMAaUUO.js} | 2 +- ...ony_chord-scale_index.md.CkMAaUUO.lean.js} | 2 +- ...js => theory_harmony_index.md.BRCdtYlt.js} | 2 +- ... theory_harmony_index.md.BRCdtYlt.lean.js} | 2 +- ...theory_harmony_modal_index.md.DUVh3EIJ.js} | 2 +- ...y_harmony_modal_index.md.DUVh3EIJ.lean.js} | 2 +- ...y_harmony_modulation_index.md.TtUMbhoD.js} | 2 +- ...mony_modulation_index.md.TtUMbhoD.lean.js} | 2 +- ...ory_harmony_movement_index.md.VlN8AxVe.js} | 2 +- ...armony_movement_index.md.VlN8AxVe.lean.js} | 2 +- ...ry_harmony_non-chord_index.md.ByIq3bKB.js} | 2 +- ...rmony_non-chord_index.md.ByIq3bKB.lean.js} | 2 +- ...harmony_polytonality_index.md.Di2hKM_t.js} | 2 +- ...ny_polytonality_index.md.Di2hKM_t.lean.js} | 2 +- ...mony_reharmonization_index.md.By_5wj85.js} | 2 +- ...reharmonization_index.md.By_5wj85.lean.js} | 2 +- ...theory_harmony_study_index.md.DxiU_NT1.js} | 2 +- ...y_harmony_study_index.md.DxiU_NT1.lean.js} | 2 +- ...theory_harmony_tonal_index.md.BuDcItlo.js} | 2 +- ...y_harmony_tonal_index.md.BuDcItlo.lean.js} | 2 +- ...8OHquOB.js => theory_index.md.CZd-ky21.js} | 2 +- ...an.js => theory_index.md.CZd-ky21.lean.js} | 2 +- ... => theory_interplay_index.md.CFgmaOsh.js} | 2 +- ...heory_interplay_index.md.CFgmaOsh.lean.js} | 2 +- ...y_interplay_spectrum_index.md.C5n3Wd2y.js} | 2 +- ...erplay_spectrum_index.md.C5n3Wd2y.lean.js} | 2 +- ...nterplay_synesthesia_index.md.8QHNt8p1.js} | 2 +- ...lay_synesthesia_index.md.8QHNt8p1.lean.js} | 2 +- ...terplay_visual-music_index.md.w9oHxGzW.js} | 2 +- ...ay_visual-music_index.md.w9oHxGzW.lean.js} | 2 +- ...ory_intervals_cycles_index.md.C2azQ-5r.js} | 2 +- ...ntervals_cycles_index.md.C2azQ-5r.lean.js} | 2 +- ...intervals_dissonance_index.md.BtmTvoFs.js} | 2 +- ...vals_dissonance_index.md.BtmTvoFs.lean.js} | 2 +- ...tervals_emancipation_index.md.B9i0UwlI.js} | 2 +- ...ls_emancipation_index.md.B9i0UwlI.lean.js} | 2 +- ...tervals_fifth-fourth_index.md.C_-UxPNp.js} | 2 +- ...ls_fifth-fourth_index.md.C_-UxPNp.lean.js} | 2 +- ... => theory_intervals_index.md.BqW0pGCB.js} | 2 +- ...heory_intervals_index.md.BqW0pGCB.lean.js} | 2 +- ...rvals_second-seventh_index.md.DgFZQ2fy.js} | 2 +- ..._second-seventh_index.md.DgFZQ2fy.lean.js} | 2 +- ...ntervals_third-sixth_index.md.DcJYc72x.js} | 2 +- ...als_third-sixth_index.md.DcJYc72x.lean.js} | 2 +- ...ervals_unison-octave_index.md.laom_Ze5.js} | 2 +- ...s_unison-octave_index.md.laom_Ze5.lean.js} | 2 +- ..._melody_articulation_index.md.DAETlc8B.js} | 2 +- ...dy_articulation_index.md.DAETlc8B.lean.js} | 2 +- ... theory_melody_drone_index.md.OBAKhKYu.js} | 2 +- ...ry_melody_drone_index.md.OBAKhKYu.lean.js} | 2 +- ....js => theory_melody_index.md.BIiNHSu1.js} | 2 +- ...> theory_melody_index.md.BIiNHSu1.lean.js} | 2 +- ... theory_melody_motif_index.md.CO8i_bjW.js} | 2 +- ...ry_melody_motif_index.md.CO8i_bjW.lean.js} | 2 +- ...theory_melody_motion_index.md.AHU-zCRT.js} | 2 +- ...y_melody_motion_index.md.AHU-zCRT.lean.js} | 2 +- ...heory_melody_singing_index.md.DaRBknfo.js} | 2 +- ..._melody_singing_index.md.DaRBknfo.lean.js} | 2 +- ... theory_melody_study_index.md.CzMBi_oc.js} | 2 +- ...ry_melody_study_index.md.CzMBi_oc.lean.js} | 2 +- ...alternative_bilinear_index.md.CuvqMXic.js} | 2 +- ...native_bilinear_index.md.CuvqMXic.lean.js} | 2 +- ...tive_chromatic-staff_index.md.CQe1nU0S.js} | 2 +- ...chromatic-staff_index.md.CQe1nU0S.lean.js} | 2 +- ...s_alternative_dodeka_index.md.BsBg_UJi.js} | 2 +- ...ernative_dodeka_index.md.BsBg_UJi.lean.js} | 2 +- ...ry_notes_alternative_index.md.B0hxJ5LX.js} | 2 +- ...tes_alternative_index.md.B0hxJ5LX.lean.js} | 2 +- ..._alternative_integer_index.md.BFCAxcp9.js} | 2 +- ...rnative_integer_index.md.BFCAxcp9.lean.js} | 2 +- ...s_alternative_klavar_index.md.CsEw1BgC.js} | 2 +- ...ernative_klavar_index.md.CsEw1BgC.lean.js} | 2 +- ...alternative_numbered_index.md.B0mcjHUJ.js} | 2 +- ...native_numbered_index.md.B0mcjHUJ.lean.js} | 2 +- ..._alternative_parsons_index.md.DiTUuVmR.js} | 2 +- ...rnative_parsons_index.md.DiTUuVmR.lean.js} | 2 +- ...ternative_scientific_index.md.BR--beEE.js} | 2 +- ...tive_scientific_index.md.BR--beEE.lean.js} | 2 +- ...ternative_tabulature_index.md.DZu0kDui.js} | 2 +- ...tive_tabulature_index.md.DZu0kDui.lean.js} | 2 +- ...> theory_notes_color_index.md.Cftd2oO4.js} | 2 +- ...ory_notes_color_index.md.Cftd2oO4.lean.js} | 2 +- ...y_notes_computer_abc_index.md.C76Ncguw.js} | 6 +- ...es_computer_abc_index.md.C76Ncguw.lean.js} | 6 +- ...heory_notes_computer_index.md.VXHubVTp.js} | 2 +- ..._notes_computer_index.md.VXHubVTp.lean.js} | 2 +- ..._notes_computer_midi_index.md.DXyKKEs8.js} | 2 +- ...s_computer_midi_index.md.DXyKKEs8.lean.js} | 2 +- ..._computer_piano-roll_index.md.BxhSrCD2.js} | 2 +- ...uter_piano-roll_index.md.BxhSrCD2.lean.js} | 2 +- ...s_computer_ring-tone_index.md.CUPXz8FB.js} | 2 +- ...puter_ring-tone_index.md.CUPXz8FB.lean.js} | 2 +- ...aning_absolute-pitch_index.md.CLSrtk3S.js} | 2 +- ..._absolute-pitch_index.md.CLSrtk3S.lean.js} | 2 +- ...s_ear-traning_eguchi_index.md.-n3NSg_O.js} | 2 +- ...-traning_eguchi_index.md.-n3NSg_O.lean.js} | 2 +- ...ry_notes_ear-traning_index.md.DZPV1DdX.js} | 2 +- ...tes_ear-traning_index.md.DZPV1DdX.lean.js} | 2 +- ...ning_reference-songs_index.md.BLBx7F7A.js} | 2 +- ...reference-songs_index.md.BLBx7F7A.lean.js} | 2 +- ...O.js => theory_notes_index.md.D3vXCezR.js} | 2 +- ...=> theory_notes_index.md.D3vXCezR.lean.js} | 2 +- ...heory_notes_national_index.md.DZVJTlim.js} | 2 +- ..._notes_national_index.md.DZVJTlim.lean.js} | 2 +- ...ry_notes_solmization_index.md.BQS-FeDf.js} | 2 +- ...tes_solmization_index.md.BQS-FeDf.lean.js} | 2 +- ...otes_staff_evolution_index.md.r-aNolCS.js} | 2 +- ...staff_evolution_index.md.r-aNolCS.lean.js} | 2 +- ...> theory_notes_staff_index.md.DzuyG2VL.js} | 2 +- ...ory_notes_staff_index.md.DzuyG2VL.lean.js} | 2 +- ...otes_staff_real-book_index.md.CLSMmmxb.js} | 2 +- ...staff_real-book_index.md.CLSMmmxb.lean.js} | 2 +- ..._staff_sight-reading_index.md.C5jB66kv.js} | 2 +- ...f_sight-reading_index.md.C5jB66kv.lean.js} | 2 +- ...s_temperaments_equal_index.md.CAdMg8wN.js} | 2 +- ...peraments_equal_index.md.CAdMg8wN.lean.js} | 2 +- ...y_notes_temperaments_index.md.DNvGigjj.js} | 2 +- ...es_temperaments_index.md.DNvGigjj.lean.js} | 2 +- ...es_temperaments_just_index.md.BTmYkiFP.js} | 2 +- ...mperaments_just_index.md.BTmYkiFP.lean.js} | 2 +- ...eraments_pythagorean_index.md.D-rpU3jA.js} | 2 +- ...nts_pythagorean_index.md.D-rpU3jA.lean.js} | 2 +- ...temperaments_tunings_index.md.gBMu6Cdy.js} | 2 +- ...raments_tunings_index.md.gBMu6Cdy.lean.js} | 2 +- ... => theory_resources_index.md.BO2Woc7_.js} | 2 +- ...heory_resources_index.md.BO2Woc7_.lean.js} | 2 +- ...eory_rhythm_counting_index.md.CShJ2ifj.js} | 2 +- ...rhythm_counting_index.md.CShJ2ifj.lean.js} | 2 +- ...theory_rhythm_groove_index.md.B-ajheCv.js} | 2 +- ...y_rhythm_groove_index.md.B-ajheCv.lean.js} | 2 +- ....js => theory_rhythm_index.md.CvQeo3Fo.js} | 2 +- ...> theory_rhythm_index.md.CvQeo3Fo.lean.js} | 2 +- ...rhythm_meter_complex_index.md.BZjMMWgl.js} | 2 +- ...m_meter_complex_index.md.BZjMMWgl.lean.js} | 2 +- ...hythm_meter_compound_index.md.CQkLzggP.js} | 2 +- ..._meter_compound_index.md.CQkLzggP.lean.js} | 2 +- ... theory_rhythm_meter_index.md.oaEv07kl.js} | 2 +- ...ry_rhythm_meter_index.md.oaEv07kl.lean.js} | 2 +- ..._rhythm_meter_simple_index.md.BkT-rtDt.js} | 2 +- ...hm_meter_simple_index.md.BkT-rtDt.lean.js} | 2 +- ...ry_rhythm_meter_time_index.md.CKxI6B_0.js} | 2 +- ...ythm_meter_time_index.md.CKxI6B_0.lean.js} | 2 +- ... theory_rhythm_pulse_index.md.B0_Zm13L.js} | 2 +- ...ry_rhythm_pulse_index.md.B0_Zm13L.lean.js} | 2 +- ...ory_rhythm_rudiments_index.md.C_eimZW1.js} | 2 +- ...hythm_rudiments_index.md.C_eimZW1.lean.js} | 2 +- ... theory_rhythm_study_index.md.DdE7-Vbr.js} | 2 +- ...ry_rhythm_study_index.md.DdE7-Vbr.lean.js} | 2 +- ...rhythm_system_balkan_index.md.DAbsyJj1.js} | 2 +- ...m_system_balkan_index.md.DAbsyJj1.lean.js} | 2 +- ..._rhythm_system_clave_index.md.Bn5Snk3j.js} | 2 +- ...hm_system_clave_index.md.Bn5Snk3j.lean.js} | 2 +- ...stem_crossbeat_gnawa_index.md.EnQn1SQT.js} | 2 +- ...crossbeat_gnawa_index.md.EnQn1SQT.lean.js} | 2 +- ...thm_system_crossbeat_index.md.DYpJZaeW.js} | 2 +- ...ystem_crossbeat_index.md.DYpJZaeW.lean.js} | 2 +- ...thm_system_euclidean_index.md.BUaCLTWU.js} | 2 +- ...ystem_euclidean_index.md.BUaCLTWU.lean.js} | 2 +- ...ythm_system_flamenco_index.md.B9ute_fv.js} | 2 +- ...system_flamenco_index.md.B9ute_fv.lean.js} | 2 +- ...theory_rhythm_system_index.md.CE976fB9.js} | 2 +- ...y_rhythm_system_index.md.CE976fB9.lean.js} | 2 +- ...y_rhythm_system_tala_index.md.C0RmKphu.js} | 2 +- ...thm_system_tala_index.md.C0RmKphu.lean.js} | 2 +- ...hythm_system_turkish_index.md.CDO78Sta.js} | 2 +- ..._system_turkish_index.md.CDO78Sta.lean.js} | 2 +- ...heory_scales_degrees_index.md.CkhrKQNQ.js} | 2 +- ..._scales_degrees_index.md.CkhrKQNQ.lean.js} | 2 +- ...eory_scales_diatonic_index.md.BZOanKLd.js} | 2 +- ...scales_diatonic_index.md.BZOanKLd.lean.js} | 2 +- ...theory_scales_double_index.md.C_d6OsmM.js} | 2 +- ...y_scales_double_index.md.C_d6OsmM.lean.js} | 2 +- ....js => theory_scales_index.md.CvawYLLx.js} | 2 +- ...> theory_scales_index.md.CvawYLLx.lean.js} | 2 +- ...heory_scales_melodic_index.md.AYMsj9-c.js} | 2 +- ..._scales_melodic_index.md.AYMsj9-c.lean.js} | 2 +- ...ry_scales_pentatonic_index.md.CnCNu-7r.js} | 2 +- ...ales_pentatonic_index.md.CnCNu-7r.lean.js} | 2 +- ...> theory_scales_raga_index.md.Daqgc3E1.js} | 2 +- ...ory_scales_raga_index.md.Daqgc3E1.lean.js} | 2 +- ... theory_scales_study_index.md.Dq0PN9Yo.js} | 2 +- ...ry_scales_study_index.md.Dq0PN9Yo.lean.js} | 2 +- ...y_scales_symmetrical_index.md.b8w-KAhM.js} | 2 +- ...les_symmetrical_index.md.b8w-KAhM.lean.js} | 2 +- ...theory_sound_hearing_index.md.IQYwC27c.js} | 2 +- ...y_sound_hearing_index.md.IQYwC27c.lean.js} | 2 +- ...q.js => theory_sound_index.md.BQiLpleG.js} | 2 +- ...=> theory_sound_index.md.BQiLpleG.lean.js} | 2 +- ... theory_sound_nature_index.md.BonZwmc0.js} | 4 +- ...ry_sound_nature_index.md.BonZwmc0.lean.js} | 4 +- ...> theory_sound_pitch_index.md.Ev3Xe3mt.js} | 2 +- ...ory_sound_pitch_index.md.Ev3Xe3mt.lean.js} | 2 +- ...oacoustics_illusions_index.md.Deb7Q-NH.js} | 2 +- ...stics_illusions_index.md.Deb7Q-NH.lean.js} | 2 +- ...ound_psychoacoustics_index.md.BZaRQakI.js} | 2 +- ...psychoacoustics_index.md.BZaRQakI.lean.js} | 2 +- ... theory_sound_timbre_index.md.BOkxhNtF.js} | 2 +- ...ry_sound_timbre_index.md.BOkxhNtF.lean.js} | 2 +- ...is_audio-programming_index.md.OkFcfuBc.js} | 2 +- ...dio-programming_index.md.OkFcfuBc.lean.js} | 2 +- ...synthesis_distortion_index.md.741F7fWx.js} | 2 +- ...esis_distortion_index.md.741F7fWx.lean.js} | 2 +- ... => theory_synthesis_index.md.DkSBGEQv.js} | 2 +- ...heory_synthesis_index.md.DkSBGEQv.lean.js} | 2 +- ...hesis_karplus-strong_index.md.Dg1V6kBf.js} | 2 +- ..._karplus-strong_index.md.Dg1V6kBf.lean.js} | 2 +- ...synthesis_modulation_index.md.BIV1Cvgy.js} | 2 +- ...esis_modulation_index.md.BIV1Cvgy.lean.js} | 2 +- ...y_synthesis_osc-sync_index.md.DMOaTvJh.js} | 2 +- ...thesis_osc-sync_index.md.DMOaTvJh.lean.js} | 2 +- ...y_synthesis_spectral_index.md.Be4XWI-I.js} | 2 +- ...thesis_spectral_index.md.Be4XWI-I.lean.js} | 2 +- ...D2Du_Juu.js => tutor_index.md.CXI7HdfD.js} | 2 +- ...ean.js => tutor_index.md.CXI7HdfD.lean.js} | 2 +- contacts/index.html | 12 +- feed.rss | 21 +- hashmap.json | 2 +- index.html | 12 +- .../cover/practice-midi-grid-cover.png | Bin 0 -> 30052 bytes practice/chord/array/index.html | 14 +- practice/chord/chord-sheets/index.html | 14 +- practice/chord/fifths/index.html | 12 +- practice/chord/index.html | 12 +- practice/chord/modes/index.html | 20 +- practice/chord/progressions/index.html | 20 +- practice/chord/real-book/index.html | 12 +- practice/chord/sequencer/index.html | 12 +- practice/chord/tabs/index.html | 14 +- practice/chroma/compass/index.html | 12 +- practice/chroma/gram/index.html | 14 +- practice/chroma/grid/index.html | 12 +- practice/chroma/hand/index.html | 14 +- practice/chroma/index.html | 12 +- practice/chroma/palette/feedback/index.html | 14 +- practice/chroma/palette/index.html | 14 +- practice/chroma/profile/index.html | 26 +- practice/chroma/see/index.html | 14 +- practice/chroma/shader/index.html | 12 +- practice/chroma/touch/index.html | 14 +- practice/chroma/waveform/index.html | 14 +- practice/color/cmyk/index.html | 16 +- practice/color/hsl/index.html | 20 +- practice/color/index.html | 12 +- practice/color/lab/index.html | 16 +- practice/color/mix/index.html | 14 +- practice/color/palette/index.html | 14 +- practice/color/rgb/index.html | 16 +- practice/experiments/dev/index.html | 12 +- practice/experiments/draw/index.html | 14 +- practice/experiments/elementary/index.html | 14 +- practice/experiments/extract/index.html | 14 +- practice/experiments/index.html | 12 +- practice/experiments/lab/index.html | 12 +- practice/experiments/moire/index.html | 14 +- practice/experiments/p2p/index.html | 18 +- practice/experiments/pianolizer/index.html | 12 +- practice/experiments/pixel-sort/index.html | 14 +- .../printables/circles-a4/index.html | 18 +- practice/experiments/printables/index.html | 12 +- .../printables/piano-a4/index.html | 18 +- practice/experiments/rows/index.html | 12 +- practice/experiments/sensors/index.html | 14 +- practice/experiments/simplex/index.html | 14 +- practice/external/index.html | 14 +- practice/generative/ambience/index.html | 14 +- practice/generative/bounce/index.html | 14 +- practice/generative/index.html | 12 +- practice/generative/matter/index.html | 14 +- practice/generative/numbers/index.html | 14 +- practice/generative/pendulums/index.html | 14 +- practice/generative/words/index.html | 14 +- practice/index.html | 14 +- practice/jam/index.html | 12 +- practice/jam/random/index.html | 14 +- practice/jam/session/index.html | 14 +- practice/jam/table/index.html | 14 +- practice/midi/grid/index.html | 47 ++ practice/midi/index.html | 14 +- practice/midi/ios/index.html | 14 +- practice/midi/keys/index.html | 16 +- practice/midi/log/index.html | 14 +- practice/midi/monitor/index.html | 14 +- practice/midi/radar/index.html | 16 +- practice/midi/recorder/index.html | 16 +- practice/midi/roll/index.html | 16 +- practice/midi/router/index.html | 14 +- practice/midi/visualizer/index.html | 16 +- practice/pitch/drone/index.html | 12 +- practice/pitch/fretboard/index.html | 16 +- practice/pitch/index.html | 12 +- practice/pitch/roll/index.html | 14 +- practice/pitch/spectrogram/index.html | 12 +- practice/pitch/table/index.html | 14 +- practice/pitch/tuner/index.html | 16 +- practice/rhythm/bars/index.html | 16 +- practice/rhythm/circle/index.html | 12 +- practice/rhythm/drum-machine/index.html | 18 +- practice/rhythm/index.html | 12 +- practice/rhythm/rudiments/index.html | 14 +- practice/rhythm/time/index.html | 16 +- practice/rhythm/wheel/index.html | 14 +- practice/scale/chords/index.html | 14 +- practice/scale/index.html | 12 +- practice/scale/list/index.html | 14 +- practice/scale/raga/index.html | 14 +- practice/sequencing/ambience/index.html | 12 +- practice/sequencing/bounce/index.html | 12 +- practice/sequencing/grid/index.html | 14 +- practice/sequencing/index.html | 12 +- practice/sequencing/matter/index.html | 12 +- practice/sequencing/numbers/index.html | 12 +- practice/sequencing/pendulums/index.html | 12 +- practice/sequencing/sequencer/index.html | 14 +- practice/sequencing/words/index.html | 12 +- practice/sequencing/zzfxm/index.html | 14 +- practice/sound/dissonance/index.html | 14 +- practice/sound/index.html | 12 +- practice/sound/loudness/index.html | 14 +- practice/sound/mic/index.html | 18 +- practice/sound/monochord/index.html | 14 +- practice/sound/overtones/index.html | 14 +- practice/synth/amy/index.html | 14 +- practice/synth/chuck/index.html | 14 +- practice/synth/elementary/index.html | 12 +- practice/synth/elements/index.html | 12 +- practice/synth/index.html | 12 +- practice/synth/karplus-strong/index.html | 14 +- practice/synth/noise/index.html | 14 +- practice/synth/snippets.html | 12 +- practice/synth/soundfont/index.html | 14 +- practice/synth/zzfx/index.html | 14 +- practice/visual/hydra/index.html | 14 +- practice/visual/index.html | 12 +- practice/visual/paper/index.html | 12 +- shop/index.html | 12 +- sitemap.xml | 2 +- support/index.html | 14 +- theory/chords/clusters/index.html | 12 +- theory/chords/index.html | 12 +- theory/chords/more/index.html | 28 +- theory/chords/pentads/index.html | 28 +- theory/chords/tetrads/index.html | 28 +- theory/chords/triads/index.html | 28 +- theory/color/index.html | 12 +- theory/color/light/em-field/index.html | 14 +- theory/color/light/em-waves/index.html | 14 +- theory/color/light/index.html | 14 +- theory/color/light/spectrum/index.html | 14 +- theory/color/light/sun/index.html | 12 +- theory/color/models/additive/index.html | 16 +- theory/color/models/index.html | 12 +- theory/color/models/perceptual/index.html | 22 +- theory/color/models/subtractive/index.html | 16 +- theory/color/names/index.html | 12 +- theory/color/perception/index.html | 12 +- theory/composition/composers/index.html | 12 +- theory/composition/electronic/index.html | 12 +- theory/composition/form/index.html | 12 +- theory/composition/generative/index.html | 12 +- theory/composition/index.html | 12 +- theory/composition/serialism/index.html | 12 +- theory/composition/song/index.html | 12 +- theory/composition/sound-painting/index.html | 12 +- theory/composition/texture/index.html | 12 +- theory/harmony/chord-scale/index.html | 12 +- theory/harmony/index.html | 12 +- theory/harmony/modal/index.html | 12 +- theory/harmony/modulation/index.html | 12 +- theory/harmony/movement/index.html | 12 +- theory/harmony/non-chord/index.html | 12 +- theory/harmony/polytonality/index.html | 12 +- theory/harmony/reharmonization/index.html | 12 +- theory/harmony/study/index.html | 12 +- theory/harmony/tonal/index.html | 12 +- theory/index.html | 12 +- theory/interplay/index.html | 12 +- theory/interplay/spectrum/index.html | 12 +- theory/interplay/synesthesia/index.html | 12 +- theory/interplay/visual-music/index.html | 12 +- theory/intervals/cycles/index.html | 12 +- theory/intervals/dissonance/index.html | 12 +- theory/intervals/emancipation/index.html | 12 +- theory/intervals/fifth-fourth/index.html | 28 +- theory/intervals/index.html | 12 +- theory/intervals/second-seventh/index.html | 28 +- theory/intervals/third-sixth/index.html | 28 +- theory/intervals/unison-octave/index.html | 28 +- theory/melody/articulation/index.html | 12 +- theory/melody/drone/index.html | 12 +- theory/melody/index.html | 12 +- theory/melody/motif/index.html | 12 +- theory/melody/motion/index.html | 12 +- theory/melody/singing/index.html | 12 +- theory/melody/study/index.html | 12 +- theory/notes/alternative/bilinear/index.html | 12 +- .../alternative/chromatic-staff/index.html | 12 +- theory/notes/alternative/dodeka/index.html | 12 +- theory/notes/alternative/index.html | 12 +- theory/notes/alternative/integer/index.html | 12 +- theory/notes/alternative/klavar/index.html | 12 +- theory/notes/alternative/numbered/index.html | 12 +- theory/notes/alternative/parsons/index.html | 12 +- .../notes/alternative/scientific/index.html | 12 +- .../notes/alternative/tabulature/index.html | 12 +- theory/notes/color/index.html | 12 +- theory/notes/computer/abc/index.html | 18 +- theory/notes/computer/index.html | 12 +- theory/notes/computer/midi/index.html | 12 +- theory/notes/computer/piano-roll/index.html | 12 +- theory/notes/computer/ring-tone/index.html | 12 +- .../ear-traning/absolute-pitch/index.html | 12 +- theory/notes/ear-traning/eguchi/index.html | 12 +- theory/notes/ear-traning/index.html | 12 +- .../ear-traning/reference-songs/index.html | 12 +- theory/notes/index.html | 12 +- theory/notes/national/index.html | 12 +- theory/notes/solmization/index.html | 12 +- theory/notes/staff/evolution/index.html | 12 +- theory/notes/staff/index.html | 50 +- theory/notes/staff/real-book/index.html | 12 +- theory/notes/staff/sight-reading/index.html | 12 +- theory/notes/temperaments/equal/index.html | 12 +- theory/notes/temperaments/index.html | 12 +- theory/notes/temperaments/just/index.html | 12 +- .../notes/temperaments/pythagorean/index.html | 12 +- theory/notes/temperaments/tunings/index.html | 12 +- theory/resources/index.html | 14 +- theory/rhythm/counting/index.html | 12 +- theory/rhythm/groove/index.html | 12 +- theory/rhythm/index.html | 12 +- theory/rhythm/meter/complex/index.html | 16 +- theory/rhythm/meter/compound/index.html | 16 +- theory/rhythm/meter/index.html | 12 +- theory/rhythm/meter/simple/index.html | 16 +- theory/rhythm/meter/time/index.html | 16 +- theory/rhythm/pulse/index.html | 12 +- theory/rhythm/rudiments/index.html | 12 +- theory/rhythm/study/index.html | 12 +- theory/rhythm/system/balkan/index.html | 16 +- theory/rhythm/system/clave/index.html | 16 +- .../rhythm/system/crossbeat/gnawa/index.html | 12 +- theory/rhythm/system/crossbeat/index.html | 12 +- theory/rhythm/system/euclidean/index.html | 12 +- theory/rhythm/system/flamenco/index.html | 16 +- theory/rhythm/system/index.html | 12 +- theory/rhythm/system/tala/index.html | 16 +- theory/rhythm/system/turkish/index.html | 16 +- theory/scales/degrees/index.html | 18 +- theory/scales/diatonic/index.html | 28 +- theory/scales/double/index.html | 28 +- theory/scales/index.html | 12 +- theory/scales/melodic/index.html | 28 +- theory/scales/pentatonic/index.html | 28 +- theory/scales/raga/index.html | 12 +- theory/scales/study/index.html | 12 +- theory/scales/symmetrical/index.html | 28 +- theory/sound/hearing/index.html | 12 +- theory/sound/index.html | 12 +- theory/sound/nature/index.html | 14 +- theory/sound/pitch/index.html | 12 +- .../psychoacoustics/illusions/index.html | 12 +- theory/sound/psychoacoustics/index.html | 12 +- theory/sound/timbre/index.html | 12 +- theory/synthesis/audio-programming/index.html | 12 +- theory/synthesis/distortion/index.html | 12 +- theory/synthesis/index.html | 12 +- theory/synthesis/karplus-strong/index.html | 12 +- theory/synthesis/modulation/index.html | 12 +- theory/synthesis/osc-sync/index.html | 12 +- theory/synthesis/spectral/index.html | 12 +- tutor/index.html | 12 +- 878 files changed, 3320 insertions(+), 3267 deletions(-) rename assets/{404.md.CyDpcGm_.js => 404.md.CXR0cFhq.js} (65%) rename assets/{404.md.CyDpcGm_.lean.js => 404.md.CXR0cFhq.lean.js} (65%) rename assets/{academy_index.md.CPE5jG2t.js => academy_index.md.BYtJ9Ket.js} (85%) rename assets/{academy_index.md.CPE5jG2t.lean.js => academy_index.md.BYtJ9Ket.lean.js} (85%) rename assets/{app.D58PhePN.js => app.C6z4HWMf.js} (90%) rename assets/chunks/{AbcRender.CnjXi_kI.js => AbcRender.KY8ykMKq.js} (79%) rename assets/chunks/{AnalysisFFT.DegcYCLm.js => AnalysisFFT.tyyGNsR7.js} (85%) rename assets/chunks/{AnalysisScope.BCRrXOu_.js => AnalysisScope.D18Enf_g.js} (83%) rename assets/chunks/{Atrament.Pn5HvB2P.js => Atrament.DyePrxEN.js} (99%) rename assets/chunks/{BeatBars.SrAi3Hlt.js => BeatBars.Bx88sUcW.js} (98%) rename assets/chunks/{Bounce.BkqbykBD.js => Bounce.C56Ivp86.js} (60%) rename assets/chunks/{ChordProgressions.BBJ7K6Wr.js => ChordProgressions.CE6FYUPa.js} (96%) create mode 100644 assets/chunks/ChordSheets.6jAJPt_R.js delete mode 100644 assets/chunks/ChordSheets.Dx_rikv2.js rename assets/chunks/{ChordTab.s9wWLKZa.js => ChordTab.DvdaPJNy.js} (95%) create mode 100644 assets/chunks/ChordTabs.DD8BHknq.js delete mode 100644 assets/chunks/ChordTabs.b49OjQ8P.js rename assets/chunks/{ChromaCircle.Ba65J0Ej.js => ChromaCircle.Cdi5XgF7.js} (95%) rename assets/chunks/{ChromaCode.CCQBWIK8.js => ChromaCode.DOABZX-2.js} (92%) rename assets/chunks/{ChromaForm.BHod8fD4.js => ChromaForm.BVKcgZJw.js} (76%) rename assets/chunks/{ChromaGram.Cv_ojaA8.js => ChromaGram.DLptASiU.js} (69%) rename assets/chunks/{ChromaGrids.oVpe2PO5.js => ChromaGrids.BN3KHZau.js} (82%) rename assets/chunks/{ChromaHand.BeOvEdje.js => ChromaHand.CzMMvQFg.js} (68%) rename assets/chunks/{ChromaPalette.BB7Mu0gf.js => ChromaPalette.DrgUB_ba.js} (95%) rename assets/chunks/{ChromaPaletteFeedback.BLQ3n-Ya.js => ChromaPaletteFeedback._m14K69Y.js} (97%) rename assets/chunks/{ChromaProfile.BNRIVsHl.js => ChromaProfile.B3WHzKXI.js} (93%) rename assets/chunks/{ChromaProfileCollection.CnDP7uNm.js => ChromaProfileCollection.DkxAUP4C.js} (81%) rename assets/chunks/{ChromaRow.7nFmbOny.js => ChromaRow.BRQuQvqH.js} (97%) rename assets/chunks/{ChromaSee.CzjSZQ-C.js => ChromaSee.nDjQi-jw.js} (85%) rename assets/chunks/{ChromaTouch.BkeAbPn3.js => ChromaTouch.CHIk3n0X.js} (70%) rename assets/chunks/{ColorCmyk.B8wbTGR5.js => ColorCmyk.6zJswo3j.js} (94%) rename assets/chunks/{ColorHsl.DhFf0KlX.js => ColorHsl.wyofLDEJ.js} (95%) rename assets/chunks/{ColorLab.QsXE9KVr.js => ColorLab.B8JtCUyz.js} (97%) rename assets/chunks/{ColorMix.DL25yOWg.js => ColorMix.DmYOGZ8N.js} (75%) rename assets/chunks/{ColorRgb.qXzGnQvH.js => ColorRgb.DSFEIniM.js} (93%) rename assets/chunks/{ColorSvgInfo.BFWu7aKt.js => ColorSvgInfo.DpJZE_IJ.js} (89%) rename assets/chunks/{ControlChoose.DP3MWJaC.js => ControlChoose.BsTgxhCE.js} (88%) rename assets/chunks/{ControlStart.BWsORrv6.js => ControlStart.BGN7YlXy.js} (54%) rename assets/chunks/{ElemPlayground.CCHAJRGB.js => ElemPlayground.XTYnHOnI.js} (55%) rename assets/chunks/{ExtractColors.DIWIshGv.js => ExtractColors.C0JFqtvh.js} (98%) rename assets/chunks/{FretboardTool.DwDU2glM.js => FretboardTool.CsxV3vww.js} (86%) rename assets/chunks/{GunP2p.CxWNISCC.js => GunP2p.DcBtCpVl.js} (99%) rename assets/chunks/{HydraSynth.l0Ym3HIX.js => HydraSynth.CtFhBQu1.js} (99%) rename assets/chunks/{JamDate.DlntF5CC.js => JamDate.BQoTgKZo.js} (95%) rename assets/chunks/{JamRandom.BE9ZL8Jh.js => JamRandom.D9QYnRrw.js} (94%) create mode 100644 assets/chunks/JamSession.DO7x3U8j.js delete mode 100644 assets/chunks/JamSession.n1IIoOuW.js rename assets/chunks/{JamTable.BvQhSVVd.js => JamTable.C03C7b_4.js} (65%) rename assets/chunks/{MapGlobe.BAv-81qv.js => MapGlobe.o1hXVYRQ.js} (99%) rename assets/chunks/{Matter.DYLgJVcY.js => Matter.CYa-KL7C.js} (99%) delete mode 100644 assets/chunks/MidiKeys.DiSle55u.js create mode 100644 assets/chunks/MidiKeys.EfaG9mBq.js rename assets/chunks/{MidiRoll.DJDyHjVR.js => MidiRoll.DM9Au6BA.js} (94%) rename assets/chunks/{Moire.DNRQgkUC.js => Moire.emjjontL.js} (81%) delete mode 100644 assets/chunks/MonoChord.B4VAbo70.js create mode 100644 assets/chunks/MonoChord.BHBDAmBO.js create mode 100644 assets/chunks/MultiPendulums.DTpiCVAc.js delete mode 100644 assets/chunks/MultiPendulums.DzJOnZVk.js rename assets/chunks/{Numbers.WffqqVCR.js => Numbers.D9t2wNAU.js} (99%) rename assets/chunks/{PitchRoll.DWqYQPyW.js => PitchRoll.CqyHLjI-.js} (86%) rename assets/chunks/{PitchTable.DVv0r8W0.js => PitchTable.Byp7hQrF.js} (82%) rename assets/chunks/{PitchTuner.D7oLlZ4p.js => PitchTuner.g5I0AVLM.js} (89%) rename assets/chunks/{PixelSort.CAqTclEC.js => PixelSort.DBvQJR5E.js} (97%) rename assets/chunks/{PrintKeys.FfuD3lco.js => PrintKeys.Ch-NI2Wc.js} (89%) rename assets/chunks/{RecordRTC.B7sXnKZ4.js => RecordRTC.CCXr9uWv.js} (99%) rename assets/chunks/{RhythmDrumRudiments.DSEu3ro0.js => RhythmDrumRudiments.D5g7g7Pq.js} (99%) rename assets/chunks/{SaveSvg.DARtreR9.js => SaveSvg.BMrQsyrm.js} (94%) rename assets/chunks/{ScaleChords.CvMtsCP8.js => ScaleChords.DnUo8DaG.js} (81%) rename assets/chunks/{ScaleDegreesCircle.DwOfZut9.js => ScaleDegreesCircle.Cwq_yB2n.js} (95%) rename assets/chunks/{ScaleList.7CFFiStO.js => ScaleList.JofJJjb0.js} (99%) rename assets/chunks/{ScaleRaga.BCOhMamF.js => ScaleRaga.7j4o9ynS.js} (99%) rename assets/chunks/{Sensors.D1HFTdDx.js => Sensors.B-yyyOJk.js} (97%) rename assets/chunks/{Simplex.BzKEjArI.js => Simplex.BBxMVS0K.js} (60%) rename assets/chunks/{SoundDissonance.9EvcgKMz.js => SoundDissonance.NU4eCc-e.js} (85%) rename assets/chunks/{SoundLoudness.CH_1Cst9.js => SoundLoudness.vgc9GPtT.js} (92%) rename assets/chunks/{SoundOvertones.DTelgLkQ.js => SoundOvertones.DwsCQUnN.js} (93%) rename assets/chunks/{SoundVibrations.fFFMF9k5.js => SoundVibrations.BbztLeN0.js} (94%) rename assets/chunks/{StepSequencer.C4DXKNU3.js => StepSequencer.CTirKbvJ.js} (77%) rename assets/chunks/{StringSynth.C3boYLU_.js => StringSynth.CbydH2Ea.js} (70%) rename assets/chunks/{SvgRing.0H20IYi1.js => SvgRing.CpiEvEsl.js} (96%) rename assets/chunks/{SynthAmy.CNueAp5S.js => SynthAmy.Bpgdu1oc.js} (98%) rename assets/chunks/{SynthChuck.C4MEyzS7.js => SynthChuck.BVEX-RU2.js} (99%) rename assets/chunks/{SynthNoise.DlivCZ45.js => SynthNoise.DJTRCeCR.js} (93%) rename assets/chunks/{SynthZzfx.CchaKOO5.js => SynthZzfx.DwdhsG-u.js} (84%) rename assets/chunks/{TonalArray.DMHrvIt3.js => TonalArray.fe8L0wAC.js} (85%) rename assets/chunks/{ToolsList.DfkHEc3_.js => ToolsList.OgpJXi2R.js} (94%) rename assets/chunks/{Words.CQ45KHQH.js => Words.DGYddb9x.js} (78%) rename assets/chunks/{ZzFxm.DSSjrhgI.js => ZzFxm.akgKHw0h.js} (99%) create mode 100644 assets/chunks/fraction.TqTz4TU4.js delete mode 100644 assets/chunks/framework.BR0mAPCP.js create mode 100644 assets/chunks/framework.CQBrk0Ry.js rename assets/chunks/{index.Dc_kUHgf.js => index.B15DEz5d.js} (99%) rename assets/chunks/{index.Bb7WnkDj.js => index.BI3CdZFj.js} (99%) rename assets/chunks/{index.B57_cHY_.js => index.Bl92Yfyi.js} (95%) rename assets/chunks/{index.B2gfHnEn.js => index.Cbdt8Ztb.js} (99%) rename assets/chunks/{index.D4HuxphN.js => index.D7bsbTcf.js} (98%) rename assets/chunks/{index.es.B24Zf6PE.js => index.es.DIBt9NKW.js} (99%) rename assets/chunks/{jspdf.es.min.By_B_Pou.js => jspdf.es.min.DHD_tvxK.js} (99%) rename assets/chunks/{meyda.min.FXK0Oede.js => meyda.min.CSbsK9Pb.js} (99%) rename assets/chunks/{paper-full.C24SZgIn.js => paper-full.D6jqPzQc.js} (99%) create mode 100644 assets/chunks/state.B52xOU23.js delete mode 100644 assets/chunks/state.D7Rc2kFZ.js rename assets/chunks/{svg2pdf.es.min.DXlvr2vZ.js => svg2pdf.es.min.CX1mGVxl.js} (99%) delete mode 100644 assets/chunks/theme.ClagsQLu.js create mode 100644 assets/chunks/theme.Dd_Fb62b.js rename assets/chunks/{trash.B4OvZbrl.js => trash.N5lXjyoo.js} (88%) create mode 100644 assets/chunks/useDrums.LSod6uTp.js delete mode 100644 assets/chunks/useDrums.TxB2LEkw.js rename assets/chunks/{useElementary.BBmC8vA2.js => useElementary.T3ohYPYP.js} (70%) rename assets/chunks/{virtual_pwa-register.BhUC4ktq.js => virtual_pwa-register.Dv6JZa9M.js} (89%) rename assets/{contacts_index.md.BvtabNb0.js => contacts_index.md.DsbBGM59.js} (97%) rename assets/{contacts_index.md.BvtabNb0.lean.js => contacts_index.md.DsbBGM59.lean.js} (97%) rename assets/{index.md.BjCaf5EF.js => index.md.CeW4XYvb.js} (91%) rename assets/{index.md.BjCaf5EF.lean.js => index.md.CeW4XYvb.lean.js} (91%) rename assets/{practice_chord_array_index.md.B0RCz53m.js => practice_chord_array_index.md.BnZU_5uQ.js} (72%) rename assets/{practice_chord_array_index.md.B0RCz53m.lean.js => practice_chord_array_index.md.BnZU_5uQ.lean.js} (72%) rename assets/{practice_chord_chord-sheets_index.md.DQCix0Q_.lean.js => practice_chord_chord-sheets_index.md.DStOExRJ.js} (73%) rename assets/{practice_chord_chord-sheets_index.md.DQCix0Q_.js => practice_chord_chord-sheets_index.md.DStOExRJ.lean.js} (73%) rename assets/{practice_chord_fifths_index.md.BA8MAUE9.js => practice_chord_fifths_index.md.DS4R8Xbx.js} (94%) rename assets/{practice_chord_fifths_index.md.BA8MAUE9.lean.js => practice_chord_fifths_index.md.DS4R8Xbx.lean.js} (94%) rename assets/{practice_chord_index.md.C5tVOYbx.js => practice_chord_index.md.BYhOPIMd.js} (89%) rename assets/{practice_chord_index.md.C5tVOYbx.lean.js => practice_chord_index.md.BYhOPIMd.lean.js} (89%) rename assets/{practice_chord_modes_index.md.0DVjLjE1.js => practice_chord_modes_index.md.BTFa1ox8.js} (75%) rename assets/{practice_chord_modes_index.md.0DVjLjE1.lean.js => practice_chord_modes_index.md.BTFa1ox8.lean.js} (75%) rename assets/{practice_chord_progressions_index.md.BwCbtmnc.js => practice_chord_progressions_index.md.CboLGnOI.js} (92%) rename assets/{practice_chord_progressions_index.md.BwCbtmnc.lean.js => practice_chord_progressions_index.md.CboLGnOI.lean.js} (92%) rename assets/{practice_chord_real-book_index.md.Buz-usm5.js => practice_chord_real-book_index.md.B5kQv7QY.js} (84%) rename assets/{practice_chord_real-book_index.md.Buz-usm5.lean.js => practice_chord_real-book_index.md.B5kQv7QY.lean.js} (84%) rename assets/{practice_chord_sequencer_index.md.-GhsCuUC.js => practice_chord_sequencer_index.md.BZ8JOpYx.js} (87%) rename assets/{practice_chord_sequencer_index.md.-GhsCuUC.lean.js => practice_chord_sequencer_index.md.BZ8JOpYx.lean.js} (87%) rename assets/{practice_chord_tabs_index.md.DpB4_quP.js => practice_chord_tabs_index.md.urIbLrbb.js} (65%) rename assets/{practice_chord_tabs_index.md.DpB4_quP.lean.js => practice_chord_tabs_index.md.urIbLrbb.lean.js} (65%) rename assets/{practice_chroma_compass_index.md.Dkosk3q2.lean.js => practice_chroma_compass_index.md.CfSfTZ53.js} (97%) rename assets/{practice_chroma_compass_index.md.Dkosk3q2.js => practice_chroma_compass_index.md.CfSfTZ53.lean.js} (97%) rename assets/{practice_chroma_gram_index.md.BZwrD5sC.js => practice_chroma_gram_index.md.AlnNYTkD.js} (82%) rename assets/{practice_chroma_gram_index.md.BZwrD5sC.lean.js => practice_chroma_gram_index.md.AlnNYTkD.lean.js} (82%) rename assets/{practice_chroma_grid_index.md.CsPHbL9F.js => practice_chroma_grid_index.md.B8DHvqIt.js} (86%) rename assets/{practice_chroma_grid_index.md.CsPHbL9F.lean.js => practice_chroma_grid_index.md.B8DHvqIt.lean.js} (86%) rename assets/{practice_chroma_hand_index.md.CtYBxCZC.js => practice_chroma_hand_index.md.DhOHmedi.js} (73%) rename assets/{practice_chroma_hand_index.md.CtYBxCZC.lean.js => practice_chroma_hand_index.md.DhOHmedi.lean.js} (73%) rename assets/{practice_chroma_index.md.DNS8-FzW.js => practice_chroma_index.md.DqjPUQIr.js} (87%) rename assets/{practice_chroma_index.md.DNS8-FzW.lean.js => practice_chroma_index.md.DqjPUQIr.lean.js} (87%) rename assets/{practice_chroma_palette_feedback_index.md.CCjnNabW.js => practice_chroma_palette_feedback_index.md.Dm6AJimy.js} (68%) rename assets/{practice_chroma_palette_feedback_index.md.CCjnNabW.lean.js => practice_chroma_palette_feedback_index.md.Dm6AJimy.lean.js} (68%) rename assets/{practice_chroma_palette_index.md.BdFj2rN-.lean.js => practice_chroma_palette_index.md.l9R8NKA-.js} (88%) rename assets/{practice_chroma_palette_index.md.BdFj2rN-.js => practice_chroma_palette_index.md.l9R8NKA-.lean.js} (88%) rename assets/{practice_chroma_profile_index.md.Baf9jHpD.js => practice_chroma_profile_index.md.YJDjp4Jm.js} (53%) rename assets/{practice_chroma_profile_index.md.Baf9jHpD.lean.js => practice_chroma_profile_index.md.YJDjp4Jm.lean.js} (53%) rename assets/{practice_chroma_see_index.md.CPkWhMdD.js => practice_chroma_see_index.md.BZk6eB1r.js} (76%) rename assets/{practice_chroma_see_index.md.CPkWhMdD.lean.js => practice_chroma_see_index.md.BZk6eB1r.lean.js} (76%) rename assets/{practice_chroma_shader_index.md.olvgvKtI.js => practice_chroma_shader_index.md.D0rIVrrA.js} (87%) rename assets/{practice_chroma_shader_index.md.olvgvKtI.lean.js => practice_chroma_shader_index.md.D0rIVrrA.lean.js} (87%) rename assets/{practice_chroma_touch_index.md.CoBHIHYb.js => practice_chroma_touch_index.md.Cok1epSp.js} (64%) rename assets/{practice_chroma_touch_index.md.CoBHIHYb.lean.js => practice_chroma_touch_index.md.Cok1epSp.lean.js} (64%) rename assets/{practice_chroma_waveform_index.md.WsMkxRtb.js => practice_chroma_waveform_index.md.9dWzZy7J.js} (70%) rename assets/{practice_chroma_waveform_index.md.WsMkxRtb.lean.js => practice_chroma_waveform_index.md.9dWzZy7J.lean.js} (70%) rename assets/{practice_color_cmyk_index.md.Bgp22bir.js => practice_color_cmyk_index.md.BpYl5wj8.js} (61%) rename assets/{practice_color_cmyk_index.md.Bgp22bir.lean.js => practice_color_cmyk_index.md.BpYl5wj8.lean.js} (61%) rename assets/{practice_color_hsl_index.md.BWA28tBA.js => practice_color_hsl_index.md.oHdeSSeu.js} (57%) rename assets/{practice_color_hsl_index.md.BWA28tBA.lean.js => practice_color_hsl_index.md.oHdeSSeu.lean.js} (57%) rename assets/{practice_color_index.md.BNcyuBjZ.js => practice_color_index.md.4T2FNkXD.js} (86%) rename assets/{practice_color_index.md.BNcyuBjZ.lean.js => practice_color_index.md.4T2FNkXD.lean.js} (86%) rename assets/{practice_color_lab_index.md.B_-WH2ey.js => practice_color_lab_index.md.CvFKQxxZ.js} (63%) rename assets/{practice_color_lab_index.md.B_-WH2ey.lean.js => practice_color_lab_index.md.CvFKQxxZ.lean.js} (63%) rename assets/{practice_color_mix_index.md.BDkzfbEv.js => practice_color_mix_index.md.AWfELDwD.js} (73%) rename assets/{practice_color_mix_index.md.BDkzfbEv.lean.js => practice_color_mix_index.md.AWfELDwD.lean.js} (73%) rename assets/{practice_color_palette_index.md.Cnq5BJDP.js => practice_color_palette_index.md.DTrhHX55.js} (99%) rename assets/{practice_color_palette_index.md.Cnq5BJDP.lean.js => practice_color_palette_index.md.DTrhHX55.lean.js} (99%) rename assets/{practice_color_rgb_index.md.C2lohTLD.js => practice_color_rgb_index.md.ni82g3C1.js} (75%) rename assets/{practice_color_rgb_index.md.C2lohTLD.lean.js => practice_color_rgb_index.md.ni82g3C1.lean.js} (75%) rename assets/{practice_experiments_dev_index.md.Ckb9Mul8.lean.js => practice_experiments_dev_index.md.Dg--yumK.js} (97%) rename assets/{practice_experiments_dev_index.md.Ckb9Mul8.js => practice_experiments_dev_index.md.Dg--yumK.lean.js} (97%) rename assets/{practice_experiments_draw_index.md.BHU5DQ2W.js => practice_experiments_draw_index.md.Bu37uccn.js} (60%) rename assets/{practice_experiments_draw_index.md.BHU5DQ2W.lean.js => practice_experiments_draw_index.md.Bu37uccn.lean.js} (60%) rename assets/{practice_experiments_elementary_index.md.tYccpN-l.js => practice_experiments_elementary_index.md.CWcMVrtz.js} (66%) rename assets/{practice_experiments_elementary_index.md.tYccpN-l.lean.js => practice_experiments_elementary_index.md.CWcMVrtz.lean.js} (66%) rename assets/{practice_experiments_extract_index.md.D-A0cb9V.js => practice_experiments_extract_index.md.DmSdYf1E.js} (67%) rename assets/{practice_experiments_extract_index.md.D-A0cb9V.lean.js => practice_experiments_extract_index.md.DmSdYf1E.lean.js} (67%) rename assets/{practice_experiments_index.md.sVkzgDJG.js => practice_experiments_index.md.BZkot_D_.js} (87%) rename assets/{practice_experiments_index.md.sVkzgDJG.lean.js => practice_experiments_index.md.BZkot_D_.lean.js} (87%) rename assets/{practice_experiments_lab_index.md.DJ1P_I4C.js => practice_experiments_lab_index.md.Cf7-lJJN.js} (83%) rename assets/{practice_experiments_lab_index.md.DJ1P_I4C.lean.js => practice_experiments_lab_index.md.Cf7-lJJN.lean.js} (83%) rename assets/{practice_experiments_moire_index.md.DuoBXTiw.js => practice_experiments_moire_index.md.tmpdv66v.js} (61%) rename assets/{practice_experiments_moire_index.md.DuoBXTiw.lean.js => practice_experiments_moire_index.md.tmpdv66v.lean.js} (61%) rename assets/{practice_experiments_p2p_index.md.B59og9HF.js => practice_experiments_p2p_index.md.BOH0Xzp_.js} (63%) rename assets/{practice_experiments_p2p_index.md.B59og9HF.lean.js => practice_experiments_p2p_index.md.BOH0Xzp_.lean.js} (63%) rename assets/{practice_experiments_pianolizer_index.md.C7EhNFuW.js => practice_experiments_pianolizer_index.md.d9a8-O08.js} (78%) rename assets/{practice_experiments_pianolizer_index.md.C7EhNFuW.lean.js => practice_experiments_pianolizer_index.md.d9a8-O08.lean.js} (78%) rename assets/{practice_experiments_pixel-sort_index.md.Blun40bT.js => practice_experiments_pixel-sort_index.md.BADHlf9x.js} (67%) rename assets/{practice_experiments_pixel-sort_index.md.Blun40bT.lean.js => practice_experiments_pixel-sort_index.md.BADHlf9x.lean.js} (67%) rename assets/{practice_experiments_printables_circles-a4_index.md.7GBubCej.js => practice_experiments_printables_circles-a4_index.md.4RwkoNZq.js} (95%) rename assets/{practice_experiments_printables_circles-a4_index.md.7GBubCej.lean.js => practice_experiments_printables_circles-a4_index.md.4RwkoNZq.lean.js} (95%) rename assets/{practice_experiments_printables_index.md.gMKBA-SK.js => practice_experiments_printables_index.md.DyejVemq.js} (86%) rename assets/{practice_experiments_printables_index.md.gMKBA-SK.lean.js => practice_experiments_printables_index.md.DyejVemq.lean.js} (86%) rename assets/{practice_experiments_printables_piano-a4_index.md.B4nP6Cd6.lean.js => practice_experiments_printables_piano-a4_index.md.DwjPLXle.js} (91%) rename assets/{practice_experiments_printables_piano-a4_index.md.B4nP6Cd6.js => practice_experiments_printables_piano-a4_index.md.DwjPLXle.lean.js} (91%) rename assets/{practice_experiments_rows_index.md.Zkavls2m.lean.js => practice_experiments_rows_index.md.D3TxUw6_.js} (95%) rename assets/{practice_experiments_rows_index.md.Zkavls2m.js => practice_experiments_rows_index.md.D3TxUw6_.lean.js} (95%) rename assets/{practice_experiments_sensors_index.md.aARxnRce.js => practice_experiments_sensors_index.md.ZFhV_FxF.js} (69%) rename assets/{practice_experiments_sensors_index.md.aARxnRce.lean.js => practice_experiments_sensors_index.md.ZFhV_FxF.lean.js} (69%) rename assets/{practice_experiments_simplex_index.md.DnjLhbKK.js => practice_experiments_simplex_index.md.CTPo88RN.js} (69%) rename assets/{practice_experiments_simplex_index.md.DnjLhbKK.lean.js => practice_experiments_simplex_index.md.CTPo88RN.lean.js} (69%) rename assets/{practice_external_index.md.BSg62HeM.js => practice_external_index.md.CG1b5dbU.js} (98%) rename assets/{practice_external_index.md.BSg62HeM.lean.js => practice_external_index.md.CG1b5dbU.lean.js} (98%) rename assets/{practice_generative_ambience_index.md.C0senr3i.js => practice_generative_ambience_index.md.9q1aAQ51.js} (97%) rename assets/{practice_generative_ambience_index.md.C0senr3i.lean.js => practice_generative_ambience_index.md.9q1aAQ51.lean.js} (97%) rename assets/{practice_generative_bounce_index.md.CCq5jOKk.js => practice_generative_bounce_index.md.IMNeLAFm.js} (76%) rename assets/{practice_generative_bounce_index.md.CCq5jOKk.lean.js => practice_generative_bounce_index.md.IMNeLAFm.lean.js} (76%) rename assets/{practice_generative_index.md.B3FmStYp.js => practice_generative_index.md.BPjaQs1T.js} (94%) rename assets/{practice_generative_index.md.B3FmStYp.lean.js => practice_generative_index.md.BPjaQs1T.lean.js} (94%) rename assets/{practice_generative_matter_index.md.B8wsfWV6.js => practice_generative_matter_index.md.YcNjrvJN.js} (74%) rename assets/{practice_generative_matter_index.md.B8wsfWV6.lean.js => practice_generative_matter_index.md.YcNjrvJN.lean.js} (74%) rename assets/{practice_generative_numbers_index.md.D8BPd5mu.js => practice_generative_numbers_index.md.CbkYCQ5Y.js} (67%) rename assets/{practice_generative_numbers_index.md.D8BPd5mu.lean.js => practice_generative_numbers_index.md.CbkYCQ5Y.lean.js} (67%) rename assets/{practice_generative_pendulums_index.md.CvTe7IR4.js => practice_generative_pendulums_index.md.DciVbwbr.js} (56%) rename assets/{practice_generative_pendulums_index.md.CvTe7IR4.lean.js => practice_generative_pendulums_index.md.DciVbwbr.lean.js} (56%) rename assets/{practice_generative_words_index.md.XhJZgWwY.js => practice_generative_words_index.md.8E1WzdZf.js} (70%) rename assets/{practice_generative_words_index.md.XhJZgWwY.lean.js => practice_generative_words_index.md.8E1WzdZf.lean.js} (70%) rename assets/{practice_index.md.BMrd2gMS.lean.js => practice_index.md.Q651ZLHX.js} (92%) rename assets/{practice_index.md.BMrd2gMS.js => practice_index.md.Q651ZLHX.lean.js} (92%) rename assets/{practice_jam_index.md.CLWdZT65.js => practice_jam_index.md.BMYOQMHs.js} (89%) rename assets/{practice_jam_index.md.CLWdZT65.lean.js => practice_jam_index.md.BMYOQMHs.lean.js} (89%) rename assets/{practice_jam_random_index.md.cExCWef3.js => practice_jam_random_index.md.DfXYKu7P.js} (67%) rename assets/{practice_jam_random_index.md.cExCWef3.lean.js => practice_jam_random_index.md.DfXYKu7P.lean.js} (67%) rename assets/{practice_jam_session_index.md.pzeTLARY.js => practice_jam_session_index.md.E2uCUZZc.js} (59%) rename assets/{practice_jam_session_index.md.pzeTLARY.lean.js => practice_jam_session_index.md.E2uCUZZc.lean.js} (59%) rename assets/{practice_jam_table_index.md.BXXsmOBx.js => practice_jam_table_index.md.CRT95tX4.js} (64%) rename assets/{practice_jam_table_index.md.BXXsmOBx.lean.js => practice_jam_table_index.md.CRT95tX4.lean.js} (64%) create mode 100644 assets/practice_midi_grid_index.md.BHHkgBQB.js create mode 100644 assets/practice_midi_grid_index.md.BHHkgBQB.lean.js rename assets/{practice_midi_index.md.CwXbZJjn.js => practice_midi_index.md.tdQZXdkp.js} (94%) rename assets/{practice_midi_index.md.CwXbZJjn.lean.js => practice_midi_index.md.tdQZXdkp.lean.js} (94%) rename assets/{practice_midi_ios_index.md.CAFe804D.js => practice_midi_ios_index.md.DMtOC0L9.js} (92%) rename assets/{practice_midi_ios_index.md.CAFe804D.lean.js => practice_midi_ios_index.md.DMtOC0L9.lean.js} (92%) rename assets/{practice_midi_keys_index.md.Db9Kevoc.js => practice_midi_keys_index.md.C_zn56T1.js} (64%) rename assets/{practice_midi_keys_index.md.Db9Kevoc.lean.js => practice_midi_keys_index.md.C_zn56T1.lean.js} (64%) rename assets/{practice_midi_log_index.md.Czcv60qP.js => practice_midi_log_index.md.D-lRS1I4.js} (85%) rename assets/{practice_midi_log_index.md.Czcv60qP.lean.js => practice_midi_log_index.md.D-lRS1I4.lean.js} (85%) rename assets/{practice_midi_monitor_index.md.ByNFYpPf.js => practice_midi_monitor_index.md.wUQ9TMer.js} (62%) rename assets/{practice_midi_monitor_index.md.ByNFYpPf.lean.js => practice_midi_monitor_index.md.wUQ9TMer.lean.js} (62%) rename assets/{practice_midi_radar_index.md.CDXw-fT7.lean.js => practice_midi_radar_index.md.DTorXBzg.js} (95%) rename assets/{practice_midi_radar_index.md.CDXw-fT7.js => practice_midi_radar_index.md.DTorXBzg.lean.js} (95%) rename assets/{practice_midi_recorder_index.md.645G4tKB.js => practice_midi_recorder_index.md.CVmU8t3q.js} (92%) rename assets/{practice_midi_recorder_index.md.645G4tKB.lean.js => practice_midi_recorder_index.md.CVmU8t3q.lean.js} (92%) rename assets/{practice_midi_roll_index.md.FyKQ7bXv.js => practice_midi_roll_index.md.CCKjxF1W.js} (81%) rename assets/{practice_midi_roll_index.md.FyKQ7bXv.lean.js => practice_midi_roll_index.md.CCKjxF1W.lean.js} (81%) rename assets/{practice_midi_router_index.md.IAhvC_RN.lean.js => practice_midi_router_index.md.CYPTI4PX.js} (85%) rename assets/{practice_midi_router_index.md.IAhvC_RN.js => practice_midi_router_index.md.CYPTI4PX.lean.js} (85%) rename assets/{practice_midi_visualizer_index.md.DXDDQB7b.lean.js => practice_midi_visualizer_index.md.BUDPdZ0d.js} (92%) rename assets/{practice_midi_visualizer_index.md.DXDDQB7b.js => practice_midi_visualizer_index.md.BUDPdZ0d.lean.js} (92%) rename assets/{practice_pitch_drone_index.md.DZl30fxJ.js => practice_pitch_drone_index.md.DwofVZwn.js} (80%) rename assets/{practice_pitch_drone_index.md.DZl30fxJ.lean.js => practice_pitch_drone_index.md.DwofVZwn.lean.js} (80%) rename assets/{practice_pitch_fretboard_index.md.CruY1tH4.js => practice_pitch_fretboard_index.md.Dhschyrp.js} (84%) rename assets/{practice_pitch_fretboard_index.md.CruY1tH4.lean.js => practice_pitch_fretboard_index.md.Dhschyrp.lean.js} (84%) rename assets/{practice_pitch_index.md.dNIpMEF-.js => practice_pitch_index.md.HKbeNva5.js} (89%) rename assets/{practice_pitch_index.md.dNIpMEF-.lean.js => practice_pitch_index.md.HKbeNva5.lean.js} (89%) rename assets/{practice_pitch_roll_index.md.DtGjhSQ6.js => practice_pitch_roll_index.md.-tj0KoN6.js} (80%) rename assets/{practice_pitch_roll_index.md.DtGjhSQ6.lean.js => practice_pitch_roll_index.md.-tj0KoN6.lean.js} (80%) rename assets/{practice_pitch_spectrogram_index.md.Byx7mL2u.lean.js => practice_pitch_spectrogram_index.md.lFryi1Iu.js} (93%) rename assets/{practice_pitch_spectrogram_index.md.Byx7mL2u.js => practice_pitch_spectrogram_index.md.lFryi1Iu.lean.js} (93%) rename assets/{practice_pitch_table_index.md.BaK8O0K4.js => practice_pitch_table_index.md.H7e0USBW.js} (65%) rename assets/{practice_pitch_table_index.md.BaK8O0K4.lean.js => practice_pitch_table_index.md.H7e0USBW.lean.js} (65%) rename assets/{practice_pitch_tuner_index.md.iOfKjiL9.js => practice_pitch_tuner_index.md.Czf5P9Sb.js} (72%) rename assets/{practice_pitch_tuner_index.md.iOfKjiL9.lean.js => practice_pitch_tuner_index.md.Czf5P9Sb.lean.js} (72%) rename assets/{practice_rhythm_bars_index.md.Bt9DjbMZ.lean.js => practice_rhythm_bars_index.md.DyuYsjze.js} (95%) rename assets/{practice_rhythm_bars_index.md.Bt9DjbMZ.js => practice_rhythm_bars_index.md.DyuYsjze.lean.js} (95%) rename assets/{practice_rhythm_circle_index.md.DOfOvpvu.js => practice_rhythm_circle_index.md.B_U8otry.js} (97%) rename assets/{practice_rhythm_circle_index.md.DOfOvpvu.lean.js => practice_rhythm_circle_index.md.B_U8otry.lean.js} (97%) rename assets/{practice_rhythm_drum-machine_index.md.D_rvKU6B.lean.js => practice_rhythm_drum-machine_index.md.BeO9h28_.js} (90%) rename assets/{practice_rhythm_drum-machine_index.md.D_rvKU6B.js => practice_rhythm_drum-machine_index.md.BeO9h28_.lean.js} (90%) rename assets/{practice_rhythm_index.md.BpJGUIKF.js => practice_rhythm_index.md.Bk8lCVJr.js} (83%) rename assets/{practice_rhythm_index.md.BpJGUIKF.lean.js => practice_rhythm_index.md.Bk8lCVJr.lean.js} (83%) rename assets/{practice_rhythm_rudiments_index.md.DDBiHWXi.js => practice_rhythm_rudiments_index.md.B3HKviKa.js} (67%) rename assets/{practice_rhythm_rudiments_index.md.DDBiHWXi.lean.js => practice_rhythm_rudiments_index.md.B3HKviKa.lean.js} (67%) rename assets/{practice_rhythm_time_index.md.BoFa7GP4.js => practice_rhythm_time_index.md.BDMoPBXv.js} (97%) rename assets/{practice_rhythm_time_index.md.BoFa7GP4.lean.js => practice_rhythm_time_index.md.BDMoPBXv.lean.js} (97%) rename assets/{practice_rhythm_wheel_index.md.Cm-BCHY4.lean.js => practice_rhythm_wheel_index.md.Bpb-KyR4.js} (95%) rename assets/{practice_rhythm_wheel_index.md.Cm-BCHY4.js => practice_rhythm_wheel_index.md.Bpb-KyR4.lean.js} (95%) rename assets/{practice_scale_chords_index.md.DlLLOfvY.js => practice_scale_chords_index.md.CpN-1gx0.js} (66%) rename assets/{practice_scale_chords_index.md.DlLLOfvY.lean.js => practice_scale_chords_index.md.CpN-1gx0.lean.js} (66%) rename assets/{practice_scale_index.md.DQNMDrL6.js => practice_scale_index.md.C7M2m0uk.js} (77%) rename assets/{practice_scale_index.md.DQNMDrL6.lean.js => practice_scale_index.md.C7M2m0uk.lean.js} (77%) rename assets/{practice_scale_list_index.md.DsM8mAog.js => practice_scale_list_index.md.DFmW6XtZ.js} (63%) rename assets/{practice_scale_list_index.md.DsM8mAog.lean.js => practice_scale_list_index.md.DFmW6XtZ.lean.js} (63%) rename assets/{practice_scale_raga_index.md.BvyFOKCy.js => practice_scale_raga_index.md.C8vubp-D.js} (62%) rename assets/{practice_scale_raga_index.md.BvyFOKCy.lean.js => practice_scale_raga_index.md.C8vubp-D.lean.js} (62%) rename assets/{practice_sequencing_ambience_index.md.BaA-rXdc.js => practice_sequencing_ambience_index.md.CubMS52_.js} (87%) rename assets/{practice_sequencing_ambience_index.md.BaA-rXdc.lean.js => practice_sequencing_ambience_index.md.CubMS52_.lean.js} (87%) rename assets/{practice_sequencing_bounce_index.md.BJhHEwXb.js => practice_sequencing_bounce_index.md.e8gZiTjB.js} (86%) rename assets/{practice_sequencing_bounce_index.md.BJhHEwXb.lean.js => practice_sequencing_bounce_index.md.e8gZiTjB.lean.js} (86%) rename assets/{practice_sequencing_grid_index.md.C6OLdo9I.js => practice_sequencing_grid_index.md.8aE5zJxc.js} (55%) rename assets/{practice_sequencing_grid_index.md.C6OLdo9I.lean.js => practice_sequencing_grid_index.md.8aE5zJxc.lean.js} (55%) rename assets/{practice_sequencing_index.md.B7Twqgcu.lean.js => practice_sequencing_index.md.CHCTqp-o.js} (94%) rename assets/{practice_sequencing_index.md.B7Twqgcu.js => practice_sequencing_index.md.CHCTqp-o.lean.js} (94%) rename assets/{practice_sequencing_matter_index.md.BtD4dxKE.js => practice_sequencing_matter_index.md.ZdR7V6dF.js} (80%) rename assets/{practice_sequencing_matter_index.md.BtD4dxKE.lean.js => practice_sequencing_matter_index.md.ZdR7V6dF.lean.js} (80%) rename assets/{practice_sequencing_numbers_index.md.C5zKHQlM.js => practice_sequencing_numbers_index.md.CbYnZfzu.js} (86%) rename assets/{practice_sequencing_numbers_index.md.C5zKHQlM.lean.js => practice_sequencing_numbers_index.md.CbYnZfzu.lean.js} (86%) rename assets/{practice_sequencing_pendulums_index.md.Dd7SPB2q.js => practice_sequencing_pendulums_index.md.Dqob1kYK.js} (86%) rename assets/{practice_sequencing_pendulums_index.md.Dd7SPB2q.lean.js => practice_sequencing_pendulums_index.md.Dqob1kYK.lean.js} (86%) rename assets/{practice_sequencing_sequencer_index.md.BPgEZIlS.js => practice_sequencing_sequencer_index.md.DbLSQ4h4.js} (68%) rename assets/{practice_sequencing_sequencer_index.md.BPgEZIlS.lean.js => practice_sequencing_sequencer_index.md.DbLSQ4h4.lean.js} (68%) rename assets/{practice_sequencing_words_index.md.BH9po7-g.js => practice_sequencing_words_index.md.CaRjCKM_.js} (86%) rename assets/{practice_sequencing_words_index.md.BH9po7-g.lean.js => practice_sequencing_words_index.md.CaRjCKM_.lean.js} (86%) rename assets/{practice_sequencing_zzfxm_index.md.BabrwRvR.js => practice_sequencing_zzfxm_index.md.1SvLgqX9.js} (74%) rename assets/{practice_sequencing_zzfxm_index.md.BabrwRvR.lean.js => practice_sequencing_zzfxm_index.md.1SvLgqX9.lean.js} (74%) rename assets/{practice_sound_dissonance_index.md.XYN_Csk3.js => practice_sound_dissonance_index.md.B_D9G1I2.js} (83%) rename assets/{practice_sound_dissonance_index.md.XYN_Csk3.lean.js => practice_sound_dissonance_index.md.B_D9G1I2.lean.js} (83%) rename assets/{practice_sound_index.md.Cv08V_z8.js => practice_sound_index.md.q7QKepvs.js} (91%) rename assets/{practice_sound_index.md.Cv08V_z8.lean.js => practice_sound_index.md.q7QKepvs.lean.js} (91%) rename assets/{practice_sound_loudness_index.md.Cl4k38P_.js => practice_sound_loudness_index.md.NuGvLZRt.js} (70%) rename assets/{practice_sound_loudness_index.md.Cl4k38P_.lean.js => practice_sound_loudness_index.md.NuGvLZRt.lean.js} (70%) rename assets/{practice_sound_mic_index.md.HP-qiPi_.js => practice_sound_mic_index.md.jO2CJwAN.js} (54%) rename assets/{practice_sound_mic_index.md.HP-qiPi_.lean.js => practice_sound_mic_index.md.jO2CJwAN.lean.js} (54%) create mode 100644 assets/practice_sound_monochord_index.md.CUMevFTb.js create mode 100644 assets/practice_sound_monochord_index.md.CUMevFTb.lean.js delete mode 100644 assets/practice_sound_monochord_index.md.Wa6o0gkj.js delete mode 100644 assets/practice_sound_monochord_index.md.Wa6o0gkj.lean.js rename assets/{practice_sound_overtones_index.md.Cw5vVNwK.js => practice_sound_overtones_index.md.JIrKbRRs.js} (71%) rename assets/{practice_sound_overtones_index.md.Cw5vVNwK.lean.js => practice_sound_overtones_index.md.JIrKbRRs.lean.js} (71%) rename assets/{practice_synth_amy_index.md.eFf7KD5F.js => practice_synth_amy_index.md.DhvHWlCQ.js} (94%) rename assets/{practice_synth_amy_index.md.eFf7KD5F.lean.js => practice_synth_amy_index.md.DhvHWlCQ.lean.js} (94%) rename assets/{practice_synth_chuck_index.md.BgeaTxl2.js => practice_synth_chuck_index.md.C6Y5X6mK.js} (82%) rename assets/{practice_synth_chuck_index.md.BgeaTxl2.lean.js => practice_synth_chuck_index.md.C6Y5X6mK.lean.js} (82%) rename assets/{practice_synth_elementary_index.md.D6b_33pf.js => practice_synth_elementary_index.md.CnX9qRDx.js} (91%) rename assets/{practice_synth_elementary_index.md.D6b_33pf.lean.js => practice_synth_elementary_index.md.CnX9qRDx.lean.js} (91%) rename assets/{practice_synth_elements_index.md.B2b53V7G.js => practice_synth_elements_index.md.BDA34zyG.js} (89%) rename assets/{practice_synth_elements_index.md.B2b53V7G.lean.js => practice_synth_elements_index.md.BDA34zyG.lean.js} (89%) rename assets/{practice_synth_index.md.DtplPCO3.js => practice_synth_index.md.OpS3Sjrm.js} (92%) rename assets/{practice_synth_index.md.DtplPCO3.lean.js => practice_synth_index.md.OpS3Sjrm.lean.js} (92%) rename assets/{practice_synth_karplus-strong_index.md.Ciz0s8pS.js => practice_synth_karplus-strong_index.md.CflmnxL_.js} (58%) rename assets/{practice_synth_karplus-strong_index.md.Ciz0s8pS.lean.js => practice_synth_karplus-strong_index.md.CflmnxL_.lean.js} (58%) rename assets/{practice_synth_noise_index.md.BgC4tO1y.js => practice_synth_noise_index.md.BJ6wF_aY.js} (92%) rename assets/{practice_synth_noise_index.md.BgC4tO1y.lean.js => practice_synth_noise_index.md.BJ6wF_aY.lean.js} (92%) rename assets/{practice_synth_snippets.md.Bzi72qLj.lean.js => practice_synth_snippets.md.vEreBI3d.js} (98%) rename assets/{practice_synth_snippets.md.Bzi72qLj.js => practice_synth_snippets.md.vEreBI3d.lean.js} (98%) rename assets/{practice_synth_soundfont_index.md.BAz3NpYP.js => practice_synth_soundfont_index.md.DydeujGJ.js} (67%) rename assets/{practice_synth_soundfont_index.md.BAz3NpYP.lean.js => practice_synth_soundfont_index.md.DydeujGJ.lean.js} (67%) rename assets/{practice_synth_zzfx_index.md.CGFOtznU.js => practice_synth_zzfx_index.md.B0Z-oRZx.js} (78%) rename assets/{practice_synth_zzfx_index.md.CGFOtznU.lean.js => practice_synth_zzfx_index.md.B0Z-oRZx.lean.js} (78%) rename assets/{practice_visual_hydra_index.md.BWx1qONF.js => practice_visual_hydra_index.md.VW3lWnni.js} (79%) rename assets/{practice_visual_hydra_index.md.BWx1qONF.lean.js => practice_visual_hydra_index.md.VW3lWnni.lean.js} (79%) rename assets/{practice_visual_index.md.C751NWnN.js => practice_visual_index.md.Bs4qvReC.js} (92%) rename assets/{practice_visual_index.md.C751NWnN.lean.js => practice_visual_index.md.Bs4qvReC.lean.js} (92%) rename assets/{practice_visual_paper_index.md.CqbQRxRK.js => practice_visual_paper_index.md.Cp3097mi.js} (85%) rename assets/{practice_visual_paper_index.md.CqbQRxRK.lean.js => practice_visual_paper_index.md.Cp3097mi.lean.js} (85%) rename assets/{shop_index.md.DFbKY_hq.js => shop_index.md.Dj_ia5h9.js} (84%) rename assets/{shop_index.md.DFbKY_hq.lean.js => shop_index.md.Dj_ia5h9.lean.js} (84%) rename assets/{style.UvUOJrZi.css => style.B74JA4M6.css} (70%) rename assets/{support_index.md.CgTR19Mm.js => support_index.md.GsqhcinP.js} (97%) rename assets/{support_index.md.CgTR19Mm.lean.js => support_index.md.GsqhcinP.lean.js} (97%) rename assets/{theory_chords_clusters_index.md.6wsc7c3G.js => theory_chords_clusters_index.md.Djc9IPyi.js} (98%) rename assets/{theory_chords_clusters_index.md.6wsc7c3G.lean.js => theory_chords_clusters_index.md.Djc9IPyi.lean.js} (98%) rename assets/{theory_chords_index.md.CTFUPuLi.lean.js => theory_chords_index.md.BwAn0k5c.js} (89%) rename assets/{theory_chords_index.md.CTFUPuLi.js => theory_chords_index.md.BwAn0k5c.lean.js} (89%) rename assets/{theory_chords_more_index.md.DJlyC2Mu.js => theory_chords_more_index.md.DwWhX0ZV.js} (63%) rename assets/{theory_chords_more_index.md.DJlyC2Mu.lean.js => theory_chords_more_index.md.DwWhX0ZV.lean.js} (63%) rename assets/{theory_chords_pentads_index.md.UaCByGbi.js => theory_chords_pentads_index.md.C27ekJb-.js} (52%) rename assets/{theory_chords_pentads_index.md.UaCByGbi.lean.js => theory_chords_pentads_index.md.C27ekJb-.lean.js} (52%) rename assets/{theory_chords_tetrads_index.md.F8lOxBSm.js => theory_chords_tetrads_index.md.C-2vlegM.js} (88%) rename assets/{theory_chords_tetrads_index.md.F8lOxBSm.lean.js => theory_chords_tetrads_index.md.C-2vlegM.lean.js} (88%) rename assets/{theory_chords_triads_index.md.DNEAK84u.js => theory_chords_triads_index.md.DBPbwIij.js} (94%) rename assets/{theory_chords_triads_index.md.DNEAK84u.lean.js => theory_chords_triads_index.md.DBPbwIij.lean.js} (94%) rename assets/{theory_color_index.md.CI03Ku3v.js => theory_color_index.md.DmE-3CKv.js} (83%) rename assets/{theory_color_index.md.CI03Ku3v.lean.js => theory_color_index.md.DmE-3CKv.lean.js} (83%) rename assets/{theory_color_light_em-field_index.md.kLCvXhHh.js => theory_color_light_em-field_index.md.Bp4DRTNu.js} (98%) rename assets/{theory_color_light_em-field_index.md.kLCvXhHh.lean.js => theory_color_light_em-field_index.md.Bp4DRTNu.lean.js} (98%) rename assets/{theory_color_light_em-waves_index.md.7ZYPU21k.js => theory_color_light_em-waves_index.md.CkrxqElk.js} (86%) rename assets/{theory_color_light_em-waves_index.md.7ZYPU21k.lean.js => theory_color_light_em-waves_index.md.CkrxqElk.lean.js} (86%) rename assets/{theory_color_light_index.md.D6QXpL3r.js => theory_color_light_index.md.BRkUJSp1.js} (84%) rename assets/{theory_color_light_index.md.D6QXpL3r.lean.js => theory_color_light_index.md.BRkUJSp1.lean.js} (84%) rename assets/{theory_color_light_spectrum_index.md.DN4wFole.js => theory_color_light_spectrum_index.md.76kLWIxX.js} (96%) rename assets/{theory_color_light_spectrum_index.md.DN4wFole.lean.js => theory_color_light_spectrum_index.md.76kLWIxX.lean.js} (96%) rename assets/{theory_color_light_sun_index.md.B7ccSWEO.js => theory_color_light_sun_index.md.b0ae0Hfm.js} (92%) rename assets/{theory_color_light_sun_index.md.B7ccSWEO.lean.js => theory_color_light_sun_index.md.b0ae0Hfm.lean.js} (92%) rename assets/{theory_color_models_additive_index.md.CWEM_kNx.js => theory_color_models_additive_index.md.0qUQ-Y0Q.js} (90%) rename assets/{theory_color_models_additive_index.md.CWEM_kNx.lean.js => theory_color_models_additive_index.md.0qUQ-Y0Q.lean.js} (90%) rename assets/{theory_color_models_index.md.DXUNLR9O.js => theory_color_models_index.md.D-0lhdpW.js} (79%) rename assets/{theory_color_models_index.md.DXUNLR9O.lean.js => theory_color_models_index.md.D-0lhdpW.lean.js} (79%) rename assets/{theory_color_models_perceptual_index.md.CHTyhIhq.js => theory_color_models_perceptual_index.md.8vzurRXC.js} (97%) rename assets/{theory_color_models_perceptual_index.md.CHTyhIhq.lean.js => theory_color_models_perceptual_index.md.8vzurRXC.lean.js} (97%) rename assets/{theory_color_models_subtractive_index.md.BmVlUcBv.js => theory_color_models_subtractive_index.md.IbgFi8kJ.js} (95%) rename assets/{theory_color_models_subtractive_index.md.BmVlUcBv.lean.js => theory_color_models_subtractive_index.md.IbgFi8kJ.lean.js} (95%) rename assets/{theory_color_names_index.md.ujDaZ19-.lean.js => theory_color_names_index.md.BuWPAXmx.js} (96%) rename assets/{theory_color_names_index.md.ujDaZ19-.js => theory_color_names_index.md.BuWPAXmx.lean.js} (96%) rename assets/{theory_color_perception_index.md.DhqaOtoX.js => theory_color_perception_index.md.BboJ-qxO.js} (98%) rename assets/{theory_color_perception_index.md.DhqaOtoX.lean.js => theory_color_perception_index.md.BboJ-qxO.lean.js} (98%) rename assets/{theory_composition_composers_index.md.C-zx3CZQ.js => theory_composition_composers_index.md.BibHWBa7.js} (83%) rename assets/{theory_composition_composers_index.md.C-zx3CZQ.lean.js => theory_composition_composers_index.md.BibHWBa7.lean.js} (83%) rename assets/{theory_composition_electronic_index.md.CPdRAP6r.js => theory_composition_electronic_index.md.BmxNjROa.js} (94%) rename assets/{theory_composition_electronic_index.md.CPdRAP6r.lean.js => theory_composition_electronic_index.md.BmxNjROa.lean.js} (94%) rename assets/{theory_composition_form_index.md.EKySuOBT.js => theory_composition_form_index.md.DWNwIMsb.js} (99%) rename assets/{theory_composition_form_index.md.EKySuOBT.lean.js => theory_composition_form_index.md.DWNwIMsb.lean.js} (99%) rename assets/{theory_composition_generative_index.md.7hiMjjgC.js => theory_composition_generative_index.md.BT1exoVC.js} (99%) rename assets/{theory_composition_generative_index.md.7hiMjjgC.lean.js => theory_composition_generative_index.md.BT1exoVC.lean.js} (99%) rename assets/{theory_composition_index.md.s2JmMVpB.js => theory_composition_index.md.bkicc-Vf.js} (88%) rename assets/{theory_composition_index.md.s2JmMVpB.lean.js => theory_composition_index.md.bkicc-Vf.lean.js} (88%) rename assets/{theory_composition_serialism_index.md.Czf3nSgx.lean.js => theory_composition_serialism_index.md.B6MiTLtt.js} (99%) rename assets/{theory_composition_serialism_index.md.Czf3nSgx.js => theory_composition_serialism_index.md.B6MiTLtt.lean.js} (99%) rename assets/{theory_composition_song_index.md.BdxEcmg7.lean.js => theory_composition_song_index.md.MYh4F2wv.js} (99%) rename assets/{theory_composition_song_index.md.BdxEcmg7.js => theory_composition_song_index.md.MYh4F2wv.lean.js} (99%) rename assets/{theory_composition_sound-painting_index.md.heClJrY6.lean.js => theory_composition_sound-painting_index.md.BpNW1XmT.js} (98%) rename assets/{theory_composition_sound-painting_index.md.heClJrY6.js => theory_composition_sound-painting_index.md.BpNW1XmT.lean.js} (98%) rename assets/{theory_composition_texture_index.md.q4ScOm3l.js => theory_composition_texture_index.md.C4E1g_qF.js} (97%) rename assets/{theory_composition_texture_index.md.q4ScOm3l.lean.js => theory_composition_texture_index.md.C4E1g_qF.lean.js} (97%) rename assets/{theory_harmony_chord-scale_index.md.BfU2C53N.js => theory_harmony_chord-scale_index.md.CkMAaUUO.js} (96%) rename assets/{theory_harmony_chord-scale_index.md.BfU2C53N.lean.js => theory_harmony_chord-scale_index.md.CkMAaUUO.lean.js} (96%) rename assets/{theory_harmony_index.md.Hfmrz4Vt.js => theory_harmony_index.md.BRCdtYlt.js} (93%) rename assets/{theory_harmony_index.md.Hfmrz4Vt.lean.js => theory_harmony_index.md.BRCdtYlt.lean.js} (93%) rename assets/{theory_harmony_modal_index.md.CTdPgqqe.lean.js => theory_harmony_modal_index.md.DUVh3EIJ.js} (97%) rename assets/{theory_harmony_modal_index.md.CTdPgqqe.js => theory_harmony_modal_index.md.DUVh3EIJ.lean.js} (97%) rename assets/{theory_harmony_modulation_index.md.CALwuwBy.lean.js => theory_harmony_modulation_index.md.TtUMbhoD.js} (99%) rename assets/{theory_harmony_modulation_index.md.CALwuwBy.js => theory_harmony_modulation_index.md.TtUMbhoD.lean.js} (99%) rename assets/{theory_harmony_movement_index.md.-qrffvnX.js => theory_harmony_movement_index.md.VlN8AxVe.js} (99%) rename assets/{theory_harmony_movement_index.md.-qrffvnX.lean.js => theory_harmony_movement_index.md.VlN8AxVe.lean.js} (99%) rename assets/{theory_harmony_non-chord_index.md.BkWPRyHV.lean.js => theory_harmony_non-chord_index.md.ByIq3bKB.js} (98%) rename assets/{theory_harmony_non-chord_index.md.BkWPRyHV.js => theory_harmony_non-chord_index.md.ByIq3bKB.lean.js} (98%) rename assets/{theory_harmony_polytonality_index.md.cPEZsQvk.lean.js => theory_harmony_polytonality_index.md.Di2hKM_t.js} (98%) rename assets/{theory_harmony_polytonality_index.md.cPEZsQvk.js => theory_harmony_polytonality_index.md.Di2hKM_t.lean.js} (98%) rename assets/{theory_harmony_reharmonization_index.md.Drwy_sXe.js => theory_harmony_reharmonization_index.md.By_5wj85.js} (98%) rename assets/{theory_harmony_reharmonization_index.md.Drwy_sXe.lean.js => theory_harmony_reharmonization_index.md.By_5wj85.lean.js} (98%) rename assets/{theory_harmony_study_index.md.CKlxOMKE.js => theory_harmony_study_index.md.DxiU_NT1.js} (99%) rename assets/{theory_harmony_study_index.md.CKlxOMKE.lean.js => theory_harmony_study_index.md.DxiU_NT1.lean.js} (99%) rename assets/{theory_harmony_tonal_index.md.46ma3SX1.lean.js => theory_harmony_tonal_index.md.BuDcItlo.js} (97%) rename assets/{theory_harmony_tonal_index.md.46ma3SX1.js => theory_harmony_tonal_index.md.BuDcItlo.lean.js} (97%) rename assets/{theory_index.md.B8OHquOB.js => theory_index.md.CZd-ky21.js} (90%) rename assets/{theory_index.md.B8OHquOB.lean.js => theory_index.md.CZd-ky21.lean.js} (90%) rename assets/{theory_interplay_index.md.Bga4T4c1.js => theory_interplay_index.md.CFgmaOsh.js} (93%) rename assets/{theory_interplay_index.md.Bga4T4c1.lean.js => theory_interplay_index.md.CFgmaOsh.lean.js} (93%) rename assets/{theory_interplay_spectrum_index.md.BtcMbkqx.lean.js => theory_interplay_spectrum_index.md.C5n3Wd2y.js} (92%) rename assets/{theory_interplay_spectrum_index.md.BtcMbkqx.js => theory_interplay_spectrum_index.md.C5n3Wd2y.lean.js} (92%) rename assets/{theory_interplay_synesthesia_index.md.86SfHclI.js => theory_interplay_synesthesia_index.md.8QHNt8p1.js} (98%) rename assets/{theory_interplay_synesthesia_index.md.86SfHclI.lean.js => theory_interplay_synesthesia_index.md.8QHNt8p1.lean.js} (98%) rename assets/{theory_interplay_visual-music_index.md.DLQ9OGVN.lean.js => theory_interplay_visual-music_index.md.w9oHxGzW.js} (99%) rename assets/{theory_interplay_visual-music_index.md.DLQ9OGVN.js => theory_interplay_visual-music_index.md.w9oHxGzW.lean.js} (99%) rename assets/{theory_intervals_cycles_index.md.D_TTwrJh.js => theory_intervals_cycles_index.md.C2azQ-5r.js} (97%) rename assets/{theory_intervals_cycles_index.md.D_TTwrJh.lean.js => theory_intervals_cycles_index.md.C2azQ-5r.lean.js} (97%) rename assets/{theory_intervals_dissonance_index.md.BsOCub9X.js => theory_intervals_dissonance_index.md.BtmTvoFs.js} (97%) rename assets/{theory_intervals_dissonance_index.md.BsOCub9X.lean.js => theory_intervals_dissonance_index.md.BtmTvoFs.lean.js} (97%) rename assets/{theory_intervals_emancipation_index.md.MWHB7sEd.lean.js => theory_intervals_emancipation_index.md.B9i0UwlI.js} (97%) rename assets/{theory_intervals_emancipation_index.md.MWHB7sEd.js => theory_intervals_emancipation_index.md.B9i0UwlI.lean.js} (97%) rename assets/{theory_intervals_fifth-fourth_index.md.0i_ksS6N.js => theory_intervals_fifth-fourth_index.md.C_-UxPNp.js} (91%) rename assets/{theory_intervals_fifth-fourth_index.md.0i_ksS6N.lean.js => theory_intervals_fifth-fourth_index.md.C_-UxPNp.lean.js} (91%) rename assets/{theory_intervals_index.md.C-PzJDEA.js => theory_intervals_index.md.BqW0pGCB.js} (90%) rename assets/{theory_intervals_index.md.C-PzJDEA.lean.js => theory_intervals_index.md.BqW0pGCB.lean.js} (90%) rename assets/{theory_intervals_second-seventh_index.md.DoxGRDTz.js => theory_intervals_second-seventh_index.md.DgFZQ2fy.js} (93%) rename assets/{theory_intervals_second-seventh_index.md.DoxGRDTz.lean.js => theory_intervals_second-seventh_index.md.DgFZQ2fy.lean.js} (93%) rename assets/{theory_intervals_third-sixth_index.md.DUjkPBrG.js => theory_intervals_third-sixth_index.md.DcJYc72x.js} (92%) rename assets/{theory_intervals_third-sixth_index.md.DUjkPBrG.lean.js => theory_intervals_third-sixth_index.md.DcJYc72x.lean.js} (92%) rename assets/{theory_intervals_unison-octave_index.md.C7a7ZaG6.js => theory_intervals_unison-octave_index.md.laom_Ze5.js} (94%) rename assets/{theory_intervals_unison-octave_index.md.C7a7ZaG6.lean.js => theory_intervals_unison-octave_index.md.laom_Ze5.lean.js} (94%) rename assets/{theory_melody_articulation_index.md.DPeLZ6C1.js => theory_melody_articulation_index.md.DAETlc8B.js} (84%) rename assets/{theory_melody_articulation_index.md.DPeLZ6C1.lean.js => theory_melody_articulation_index.md.DAETlc8B.lean.js} (84%) rename assets/{theory_melody_drone_index.md.DXzfKeXX.js => theory_melody_drone_index.md.OBAKhKYu.js} (99%) rename assets/{theory_melody_drone_index.md.DXzfKeXX.lean.js => theory_melody_drone_index.md.OBAKhKYu.lean.js} (99%) rename assets/{theory_melody_index.md.Bjz0dxWr.js => theory_melody_index.md.BIiNHSu1.js} (80%) rename assets/{theory_melody_index.md.Bjz0dxWr.lean.js => theory_melody_index.md.BIiNHSu1.lean.js} (80%) rename assets/{theory_melody_motif_index.md.8TBuqtVl.lean.js => theory_melody_motif_index.md.CO8i_bjW.js} (96%) rename assets/{theory_melody_motif_index.md.8TBuqtVl.js => theory_melody_motif_index.md.CO8i_bjW.lean.js} (96%) rename assets/{theory_melody_motion_index.md.l-EzSunn.js => theory_melody_motion_index.md.AHU-zCRT.js} (97%) rename assets/{theory_melody_motion_index.md.l-EzSunn.lean.js => theory_melody_motion_index.md.AHU-zCRT.lean.js} (97%) rename assets/{theory_melody_singing_index.md.BDeAykFL.js => theory_melody_singing_index.md.DaRBknfo.js} (84%) rename assets/{theory_melody_singing_index.md.BDeAykFL.lean.js => theory_melody_singing_index.md.DaRBknfo.lean.js} (84%) rename assets/{theory_melody_study_index.md.Cl9bG-T0.lean.js => theory_melody_study_index.md.CzMBi_oc.js} (98%) rename assets/{theory_melody_study_index.md.Cl9bG-T0.js => theory_melody_study_index.md.CzMBi_oc.lean.js} (98%) rename assets/{theory_notes_alternative_bilinear_index.md.BP4EHRXS.lean.js => theory_notes_alternative_bilinear_index.md.CuvqMXic.js} (95%) rename assets/{theory_notes_alternative_bilinear_index.md.BP4EHRXS.js => theory_notes_alternative_bilinear_index.md.CuvqMXic.lean.js} (95%) rename assets/{theory_notes_alternative_chromatic-staff_index.md.DFJXNYhI.js => theory_notes_alternative_chromatic-staff_index.md.CQe1nU0S.js} (97%) rename assets/{theory_notes_alternative_chromatic-staff_index.md.DFJXNYhI.lean.js => theory_notes_alternative_chromatic-staff_index.md.CQe1nU0S.lean.js} (97%) rename assets/{theory_notes_alternative_dodeka_index.md.BtI9BwSC.js => theory_notes_alternative_dodeka_index.md.BsBg_UJi.js} (94%) rename assets/{theory_notes_alternative_dodeka_index.md.BtI9BwSC.lean.js => theory_notes_alternative_dodeka_index.md.BsBg_UJi.lean.js} (94%) rename assets/{theory_notes_alternative_index.md.V6vEA0pe.js => theory_notes_alternative_index.md.B0hxJ5LX.js} (85%) rename assets/{theory_notes_alternative_index.md.V6vEA0pe.lean.js => theory_notes_alternative_index.md.B0hxJ5LX.lean.js} (85%) rename assets/{theory_notes_alternative_integer_index.md.DmDPeEBN.js => theory_notes_alternative_integer_index.md.BFCAxcp9.js} (94%) rename assets/{theory_notes_alternative_integer_index.md.DmDPeEBN.lean.js => theory_notes_alternative_integer_index.md.BFCAxcp9.lean.js} (94%) rename assets/{theory_notes_alternative_klavar_index.md.CSjuiFYR.js => theory_notes_alternative_klavar_index.md.CsEw1BgC.js} (91%) rename assets/{theory_notes_alternative_klavar_index.md.CSjuiFYR.lean.js => theory_notes_alternative_klavar_index.md.CsEw1BgC.lean.js} (91%) rename assets/{theory_notes_alternative_numbered_index.md.BL5tvYze.lean.js => theory_notes_alternative_numbered_index.md.B0mcjHUJ.js} (90%) rename assets/{theory_notes_alternative_numbered_index.md.BL5tvYze.js => theory_notes_alternative_numbered_index.md.B0mcjHUJ.lean.js} (90%) rename assets/{theory_notes_alternative_parsons_index.md.DkgFha3d.js => theory_notes_alternative_parsons_index.md.DiTUuVmR.js} (95%) rename assets/{theory_notes_alternative_parsons_index.md.DkgFha3d.lean.js => theory_notes_alternative_parsons_index.md.DiTUuVmR.lean.js} (95%) rename assets/{theory_notes_alternative_scientific_index.md.pVZR8f6i.js => theory_notes_alternative_scientific_index.md.BR--beEE.js} (98%) rename assets/{theory_notes_alternative_scientific_index.md.pVZR8f6i.lean.js => theory_notes_alternative_scientific_index.md.BR--beEE.lean.js} (98%) rename assets/{theory_notes_alternative_tabulature_index.md.3xrf-nnk.js => theory_notes_alternative_tabulature_index.md.DZu0kDui.js} (96%) rename assets/{theory_notes_alternative_tabulature_index.md.3xrf-nnk.lean.js => theory_notes_alternative_tabulature_index.md.DZu0kDui.lean.js} (96%) rename assets/{theory_notes_color_index.md.CID1gNbi.lean.js => theory_notes_color_index.md.Cftd2oO4.js} (94%) rename assets/{theory_notes_color_index.md.CID1gNbi.js => theory_notes_color_index.md.Cftd2oO4.lean.js} (94%) rename assets/{theory_notes_computer_abc_index.md.DU8v3_d-.lean.js => theory_notes_computer_abc_index.md.C76Ncguw.js} (95%) rename assets/{theory_notes_computer_abc_index.md.DU8v3_d-.js => theory_notes_computer_abc_index.md.C76Ncguw.lean.js} (95%) rename assets/{theory_notes_computer_index.md.DL3PRmZB.js => theory_notes_computer_index.md.VXHubVTp.js} (93%) rename assets/{theory_notes_computer_index.md.DL3PRmZB.lean.js => theory_notes_computer_index.md.VXHubVTp.lean.js} (93%) rename assets/{theory_notes_computer_midi_index.md.CTMwAUoj.js => theory_notes_computer_midi_index.md.DXyKKEs8.js} (94%) rename assets/{theory_notes_computer_midi_index.md.CTMwAUoj.lean.js => theory_notes_computer_midi_index.md.DXyKKEs8.lean.js} (94%) rename assets/{theory_notes_computer_piano-roll_index.md.Dj6uGevh.js => theory_notes_computer_piano-roll_index.md.BxhSrCD2.js} (86%) rename assets/{theory_notes_computer_piano-roll_index.md.Dj6uGevh.lean.js => theory_notes_computer_piano-roll_index.md.BxhSrCD2.lean.js} (86%) rename assets/{theory_notes_computer_ring-tone_index.md.Cv7V6RVO.lean.js => theory_notes_computer_ring-tone_index.md.CUPXz8FB.js} (96%) rename assets/{theory_notes_computer_ring-tone_index.md.Cv7V6RVO.js => theory_notes_computer_ring-tone_index.md.CUPXz8FB.lean.js} (96%) rename assets/{theory_notes_ear-traning_absolute-pitch_index.md.ClFzJyUA.lean.js => theory_notes_ear-traning_absolute-pitch_index.md.CLSrtk3S.js} (99%) rename assets/{theory_notes_ear-traning_absolute-pitch_index.md.ClFzJyUA.js => theory_notes_ear-traning_absolute-pitch_index.md.CLSrtk3S.lean.js} (99%) rename assets/{theory_notes_ear-traning_eguchi_index.md.Cin7ncsD.lean.js => theory_notes_ear-traning_eguchi_index.md.-n3NSg_O.js} (98%) rename assets/{theory_notes_ear-traning_eguchi_index.md.Cin7ncsD.js => theory_notes_ear-traning_eguchi_index.md.-n3NSg_O.lean.js} (98%) rename assets/{theory_notes_ear-traning_index.md.BmeNrG07.js => theory_notes_ear-traning_index.md.DZPV1DdX.js} (98%) rename assets/{theory_notes_ear-traning_index.md.BmeNrG07.lean.js => theory_notes_ear-traning_index.md.DZPV1DdX.lean.js} (98%) rename assets/{theory_notes_ear-traning_reference-songs_index.md.CnomtRZv.lean.js => theory_notes_ear-traning_reference-songs_index.md.BLBx7F7A.js} (97%) rename assets/{theory_notes_ear-traning_reference-songs_index.md.CnomtRZv.js => theory_notes_ear-traning_reference-songs_index.md.BLBx7F7A.lean.js} (97%) rename assets/{theory_notes_index.md.DFlnJbVO.js => theory_notes_index.md.D3vXCezR.js} (86%) rename assets/{theory_notes_index.md.DFlnJbVO.lean.js => theory_notes_index.md.D3vXCezR.lean.js} (86%) rename assets/{theory_notes_national_index.md.DQHsUmY7.lean.js => theory_notes_national_index.md.DZVJTlim.js} (95%) rename assets/{theory_notes_national_index.md.DQHsUmY7.js => theory_notes_national_index.md.DZVJTlim.lean.js} (95%) rename assets/{theory_notes_solmization_index.md.C1N8Fmbc.js => theory_notes_solmization_index.md.BQS-FeDf.js} (99%) rename assets/{theory_notes_solmization_index.md.C1N8Fmbc.lean.js => theory_notes_solmization_index.md.BQS-FeDf.lean.js} (99%) rename assets/{theory_notes_staff_evolution_index.md.GEWKoXrA.js => theory_notes_staff_evolution_index.md.r-aNolCS.js} (99%) rename assets/{theory_notes_staff_evolution_index.md.GEWKoXrA.lean.js => theory_notes_staff_evolution_index.md.r-aNolCS.lean.js} (99%) rename assets/{theory_notes_staff_index.md.M0q4IfF5.js => theory_notes_staff_index.md.DzuyG2VL.js} (95%) rename assets/{theory_notes_staff_index.md.M0q4IfF5.lean.js => theory_notes_staff_index.md.DzuyG2VL.lean.js} (95%) rename assets/{theory_notes_staff_real-book_index.md.BOBG0afy.lean.js => theory_notes_staff_real-book_index.md.CLSMmmxb.js} (98%) rename assets/{theory_notes_staff_real-book_index.md.BOBG0afy.js => theory_notes_staff_real-book_index.md.CLSMmmxb.lean.js} (98%) rename assets/{theory_notes_staff_sight-reading_index.md.DH8lSkwe.js => theory_notes_staff_sight-reading_index.md.C5jB66kv.js} (98%) rename assets/{theory_notes_staff_sight-reading_index.md.DH8lSkwe.lean.js => theory_notes_staff_sight-reading_index.md.C5jB66kv.lean.js} (98%) rename assets/{theory_notes_temperaments_equal_index.md.DWvuzrdo.js => theory_notes_temperaments_equal_index.md.CAdMg8wN.js} (97%) rename assets/{theory_notes_temperaments_equal_index.md.DWvuzrdo.lean.js => theory_notes_temperaments_equal_index.md.CAdMg8wN.lean.js} (97%) rename assets/{theory_notes_temperaments_index.md.Cp0Uw0Re.js => theory_notes_temperaments_index.md.DNvGigjj.js} (88%) rename assets/{theory_notes_temperaments_index.md.Cp0Uw0Re.lean.js => theory_notes_temperaments_index.md.DNvGigjj.lean.js} (88%) rename assets/{theory_notes_temperaments_just_index.md.Dkoq1Wyd.lean.js => theory_notes_temperaments_just_index.md.BTmYkiFP.js} (96%) rename assets/{theory_notes_temperaments_just_index.md.Dkoq1Wyd.js => theory_notes_temperaments_just_index.md.BTmYkiFP.lean.js} (96%) rename assets/{theory_notes_temperaments_pythagorean_index.md.BiIpVuBt.js => theory_notes_temperaments_pythagorean_index.md.D-rpU3jA.js} (96%) rename assets/{theory_notes_temperaments_pythagorean_index.md.BiIpVuBt.lean.js => theory_notes_temperaments_pythagorean_index.md.D-rpU3jA.lean.js} (96%) rename assets/{theory_notes_temperaments_tunings_index.md.CB6HGIvh.js => theory_notes_temperaments_tunings_index.md.gBMu6Cdy.js} (84%) rename assets/{theory_notes_temperaments_tunings_index.md.CB6HGIvh.lean.js => theory_notes_temperaments_tunings_index.md.gBMu6Cdy.lean.js} (84%) rename assets/{theory_resources_index.md.Bob1sdTL.lean.js => theory_resources_index.md.BO2Woc7_.js} (98%) rename assets/{theory_resources_index.md.Bob1sdTL.js => theory_resources_index.md.BO2Woc7_.lean.js} (98%) rename assets/{theory_rhythm_counting_index.md.BbV01WnP.js => theory_rhythm_counting_index.md.CShJ2ifj.js} (98%) rename assets/{theory_rhythm_counting_index.md.BbV01WnP.lean.js => theory_rhythm_counting_index.md.CShJ2ifj.lean.js} (98%) rename assets/{theory_rhythm_groove_index.md.QxarXMFw.lean.js => theory_rhythm_groove_index.md.B-ajheCv.js} (99%) rename assets/{theory_rhythm_groove_index.md.QxarXMFw.js => theory_rhythm_groove_index.md.B-ajheCv.lean.js} (99%) rename assets/{theory_rhythm_index.md.CXR-mxE1.js => theory_rhythm_index.md.CvQeo3Fo.js} (90%) rename assets/{theory_rhythm_index.md.CXR-mxE1.lean.js => theory_rhythm_index.md.CvQeo3Fo.lean.js} (90%) rename assets/{theory_rhythm_meter_complex_index.md.Bat3viii.lean.js => theory_rhythm_meter_complex_index.md.BZjMMWgl.js} (98%) rename assets/{theory_rhythm_meter_complex_index.md.Bat3viii.js => theory_rhythm_meter_complex_index.md.BZjMMWgl.lean.js} (98%) rename assets/{theory_rhythm_meter_compound_index.md.CGyLpzxn.js => theory_rhythm_meter_compound_index.md.CQkLzggP.js} (89%) rename assets/{theory_rhythm_meter_compound_index.md.CGyLpzxn.lean.js => theory_rhythm_meter_compound_index.md.CQkLzggP.lean.js} (89%) rename assets/{theory_rhythm_meter_index.md.DPerFMJA.js => theory_rhythm_meter_index.md.oaEv07kl.js} (85%) rename assets/{theory_rhythm_meter_index.md.DPerFMJA.lean.js => theory_rhythm_meter_index.md.oaEv07kl.lean.js} (85%) rename assets/{theory_rhythm_meter_simple_index.md.DdxK0z89.lean.js => theory_rhythm_meter_simple_index.md.BkT-rtDt.js} (92%) rename assets/{theory_rhythm_meter_simple_index.md.DdxK0z89.js => theory_rhythm_meter_simple_index.md.BkT-rtDt.lean.js} (92%) rename assets/{theory_rhythm_meter_time_index.md.CH0LBjFe.js => theory_rhythm_meter_time_index.md.CKxI6B_0.js} (94%) rename assets/{theory_rhythm_meter_time_index.md.CH0LBjFe.lean.js => theory_rhythm_meter_time_index.md.CKxI6B_0.lean.js} (94%) rename assets/{theory_rhythm_pulse_index.md.C2IJeuOb.js => theory_rhythm_pulse_index.md.B0_Zm13L.js} (98%) rename assets/{theory_rhythm_pulse_index.md.C2IJeuOb.lean.js => theory_rhythm_pulse_index.md.B0_Zm13L.lean.js} (98%) rename assets/{theory_rhythm_rudiments_index.md.BnstM6oj.js => theory_rhythm_rudiments_index.md.C_eimZW1.js} (97%) rename assets/{theory_rhythm_rudiments_index.md.BnstM6oj.lean.js => theory_rhythm_rudiments_index.md.C_eimZW1.lean.js} (97%) rename assets/{theory_rhythm_study_index.md.BRNi7kDJ.js => theory_rhythm_study_index.md.DdE7-Vbr.js} (96%) rename assets/{theory_rhythm_study_index.md.BRNi7kDJ.lean.js => theory_rhythm_study_index.md.DdE7-Vbr.lean.js} (96%) rename assets/{theory_rhythm_system_balkan_index.md.C1hDyi4V.js => theory_rhythm_system_balkan_index.md.DAbsyJj1.js} (98%) rename assets/{theory_rhythm_system_balkan_index.md.C1hDyi4V.lean.js => theory_rhythm_system_balkan_index.md.DAbsyJj1.lean.js} (98%) rename assets/{theory_rhythm_system_clave_index.md.DoYqYWjT.lean.js => theory_rhythm_system_clave_index.md.Bn5Snk3j.js} (99%) rename assets/{theory_rhythm_system_clave_index.md.DoYqYWjT.js => theory_rhythm_system_clave_index.md.Bn5Snk3j.lean.js} (99%) rename assets/{theory_rhythm_system_crossbeat_gnawa_index.md.B-b3fUfk.js => theory_rhythm_system_crossbeat_gnawa_index.md.EnQn1SQT.js} (97%) rename assets/{theory_rhythm_system_crossbeat_gnawa_index.md.B-b3fUfk.lean.js => theory_rhythm_system_crossbeat_gnawa_index.md.EnQn1SQT.lean.js} (97%) rename assets/{theory_rhythm_system_crossbeat_index.md.CIlTaQXq.js => theory_rhythm_system_crossbeat_index.md.DYpJZaeW.js} (98%) rename assets/{theory_rhythm_system_crossbeat_index.md.CIlTaQXq.lean.js => theory_rhythm_system_crossbeat_index.md.DYpJZaeW.lean.js} (98%) rename assets/{theory_rhythm_system_euclidean_index.md.4jmutbT_.lean.js => theory_rhythm_system_euclidean_index.md.BUaCLTWU.js} (99%) rename assets/{theory_rhythm_system_euclidean_index.md.4jmutbT_.js => theory_rhythm_system_euclidean_index.md.BUaCLTWU.lean.js} (99%) rename assets/{theory_rhythm_system_flamenco_index.md.Dg7scQ3k.lean.js => theory_rhythm_system_flamenco_index.md.B9ute_fv.js} (99%) rename assets/{theory_rhythm_system_flamenco_index.md.Dg7scQ3k.js => theory_rhythm_system_flamenco_index.md.B9ute_fv.lean.js} (99%) rename assets/{theory_rhythm_system_index.md.CHI7aLr_.js => theory_rhythm_system_index.md.CE976fB9.js} (78%) rename assets/{theory_rhythm_system_index.md.CHI7aLr_.lean.js => theory_rhythm_system_index.md.CE976fB9.lean.js} (78%) rename assets/{theory_rhythm_system_tala_index.md.BAtlsOGN.js => theory_rhythm_system_tala_index.md.C0RmKphu.js} (99%) rename assets/{theory_rhythm_system_tala_index.md.BAtlsOGN.lean.js => theory_rhythm_system_tala_index.md.C0RmKphu.lean.js} (99%) rename assets/{theory_rhythm_system_turkish_index.md.9yJNMSwy.lean.js => theory_rhythm_system_turkish_index.md.CDO78Sta.js} (97%) rename assets/{theory_rhythm_system_turkish_index.md.9yJNMSwy.js => theory_rhythm_system_turkish_index.md.CDO78Sta.lean.js} (97%) rename assets/{theory_scales_degrees_index.md.CrcjGKn0.lean.js => theory_scales_degrees_index.md.CkhrKQNQ.js} (89%) rename assets/{theory_scales_degrees_index.md.CrcjGKn0.js => theory_scales_degrees_index.md.CkhrKQNQ.lean.js} (89%) rename assets/{theory_scales_diatonic_index.md.BCTDtndy.js => theory_scales_diatonic_index.md.BZOanKLd.js} (85%) rename assets/{theory_scales_diatonic_index.md.BCTDtndy.lean.js => theory_scales_diatonic_index.md.BZOanKLd.lean.js} (85%) rename assets/{theory_scales_double_index.md.CMlfaiBI.js => theory_scales_double_index.md.C_d6OsmM.js} (91%) rename assets/{theory_scales_double_index.md.CMlfaiBI.lean.js => theory_scales_double_index.md.C_d6OsmM.lean.js} (91%) rename assets/{theory_scales_index.md.CaqinQSG.js => theory_scales_index.md.CvawYLLx.js} (88%) rename assets/{theory_scales_index.md.CaqinQSG.lean.js => theory_scales_index.md.CvawYLLx.lean.js} (88%) rename assets/{theory_scales_melodic_index.md.iqT-3C2n.js => theory_scales_melodic_index.md.AYMsj9-c.js} (73%) rename assets/{theory_scales_melodic_index.md.iqT-3C2n.lean.js => theory_scales_melodic_index.md.AYMsj9-c.lean.js} (73%) rename assets/{theory_scales_pentatonic_index.md.DXgcRGe7.js => theory_scales_pentatonic_index.md.CnCNu-7r.js} (93%) rename assets/{theory_scales_pentatonic_index.md.DXgcRGe7.lean.js => theory_scales_pentatonic_index.md.CnCNu-7r.lean.js} (93%) rename assets/{theory_scales_raga_index.md.CgDyKchp.js => theory_scales_raga_index.md.Daqgc3E1.js} (99%) rename assets/{theory_scales_raga_index.md.CgDyKchp.lean.js => theory_scales_raga_index.md.Daqgc3E1.lean.js} (99%) rename assets/{theory_scales_study_index.md.COmELgKw.lean.js => theory_scales_study_index.md.Dq0PN9Yo.js} (98%) rename assets/{theory_scales_study_index.md.COmELgKw.js => theory_scales_study_index.md.Dq0PN9Yo.lean.js} (98%) rename assets/{theory_scales_symmetrical_index.md.Dqw0ptSD.js => theory_scales_symmetrical_index.md.b8w-KAhM.js} (93%) rename assets/{theory_scales_symmetrical_index.md.Dqw0ptSD.lean.js => theory_scales_symmetrical_index.md.b8w-KAhM.lean.js} (93%) rename assets/{theory_sound_hearing_index.md.DfIjWFCp.lean.js => theory_sound_hearing_index.md.IQYwC27c.js} (94%) rename assets/{theory_sound_hearing_index.md.DfIjWFCp.js => theory_sound_hearing_index.md.IQYwC27c.lean.js} (94%) rename assets/{theory_sound_index.md.BhKYROZq.js => theory_sound_index.md.BQiLpleG.js} (83%) rename assets/{theory_sound_index.md.BhKYROZq.lean.js => theory_sound_index.md.BQiLpleG.lean.js} (83%) rename assets/{theory_sound_nature_index.md.CDTDOsDT.js => theory_sound_nature_index.md.BonZwmc0.js} (82%) rename assets/{theory_sound_nature_index.md.CDTDOsDT.lean.js => theory_sound_nature_index.md.BonZwmc0.lean.js} (82%) rename assets/{theory_sound_pitch_index.md.Cw99YPsG.js => theory_sound_pitch_index.md.Ev3Xe3mt.js} (99%) rename assets/{theory_sound_pitch_index.md.Cw99YPsG.lean.js => theory_sound_pitch_index.md.Ev3Xe3mt.lean.js} (99%) rename assets/{theory_sound_psychoacoustics_illusions_index.md.BOfxpZac.js => theory_sound_psychoacoustics_illusions_index.md.Deb7Q-NH.js} (79%) rename assets/{theory_sound_psychoacoustics_illusions_index.md.BOfxpZac.lean.js => theory_sound_psychoacoustics_illusions_index.md.Deb7Q-NH.lean.js} (79%) rename assets/{theory_sound_psychoacoustics_index.md.Dsmealq-.lean.js => theory_sound_psychoacoustics_index.md.BZaRQakI.js} (92%) rename assets/{theory_sound_psychoacoustics_index.md.Dsmealq-.js => theory_sound_psychoacoustics_index.md.BZaRQakI.lean.js} (92%) rename assets/{theory_sound_timbre_index.md.BGcIrrAo.js => theory_sound_timbre_index.md.BOkxhNtF.js} (97%) rename assets/{theory_sound_timbre_index.md.BGcIrrAo.lean.js => theory_sound_timbre_index.md.BOkxhNtF.lean.js} (97%) rename assets/{theory_synthesis_audio-programming_index.md.BAkrF4Yr.js => theory_synthesis_audio-programming_index.md.OkFcfuBc.js} (97%) rename assets/{theory_synthesis_audio-programming_index.md.BAkrF4Yr.lean.js => theory_synthesis_audio-programming_index.md.OkFcfuBc.lean.js} (97%) rename assets/{theory_synthesis_distortion_index.md.AduojIrS.js => theory_synthesis_distortion_index.md.741F7fWx.js} (99%) rename assets/{theory_synthesis_distortion_index.md.AduojIrS.lean.js => theory_synthesis_distortion_index.md.741F7fWx.lean.js} (99%) rename assets/{theory_synthesis_index.md.Cw1z3KNs.js => theory_synthesis_index.md.DkSBGEQv.js} (90%) rename assets/{theory_synthesis_index.md.Cw1z3KNs.lean.js => theory_synthesis_index.md.DkSBGEQv.lean.js} (90%) rename assets/{theory_synthesis_karplus-strong_index.md.C1DQOQcG.js => theory_synthesis_karplus-strong_index.md.Dg1V6kBf.js} (97%) rename assets/{theory_synthesis_karplus-strong_index.md.C1DQOQcG.lean.js => theory_synthesis_karplus-strong_index.md.Dg1V6kBf.lean.js} (97%) rename assets/{theory_synthesis_modulation_index.md.CwjServw.js => theory_synthesis_modulation_index.md.BIV1Cvgy.js} (99%) rename assets/{theory_synthesis_modulation_index.md.CwjServw.lean.js => theory_synthesis_modulation_index.md.BIV1Cvgy.lean.js} (99%) rename assets/{theory_synthesis_osc-sync_index.md.CS0nOZiH.js => theory_synthesis_osc-sync_index.md.DMOaTvJh.js} (97%) rename assets/{theory_synthesis_osc-sync_index.md.CS0nOZiH.lean.js => theory_synthesis_osc-sync_index.md.DMOaTvJh.lean.js} (97%) rename assets/{theory_synthesis_spectral_index.md.DA3LXYST.js => theory_synthesis_spectral_index.md.Be4XWI-I.js} (86%) rename assets/{theory_synthesis_spectral_index.md.DA3LXYST.lean.js => theory_synthesis_spectral_index.md.Be4XWI-I.lean.js} (86%) rename assets/{tutor_index.md.D2Du_Juu.js => tutor_index.md.CXI7HdfD.js} (84%) rename assets/{tutor_index.md.D2Du_Juu.lean.js => tutor_index.md.CXI7HdfD.lean.js} (84%) create mode 100644 media_files/cover/practice-midi-grid-cover.png create mode 100644 practice/midi/grid/index.html diff --git a/404.html b/404.html index 27205180d8..4dccd3f37a 100644 --- a/404.html +++ b/404.html @@ -6,13 +6,13 @@ Chromatone | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
- + \ No newline at end of file diff --git a/academy/index.html b/academy/index.html index 6104a5719c..3a10cb7cc5 100644 --- a/academy/index.html +++ b/academy/index.html @@ -6,13 +6,13 @@ Academy | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
- + \ No newline at end of file diff --git a/assets/404.md.CyDpcGm_.js b/assets/404.md.CXR0cFhq.js similarity index 65% rename from assets/404.md.CyDpcGm_.js rename to assets/404.md.CXR0cFhq.js index 235726e02c..39238ebbc9 100644 --- a/assets/404.md.CyDpcGm_.js +++ b/assets/404.md.CXR0cFhq.js @@ -1 +1 @@ -import{q as o,y as a,A as t,x as n}from"./chunks/framework.BR0mAPCP.js";const f=JSON.parse('{"title":"","description":"Nothing found here","frontmatter":{"template":"home","title":404,"description":"Nothing found here","icon":"/media/logo/logo.svg","publish":false},"headers":[],"relativePath":"404.md","filePath":"404.md","lastUpdated":1732121576000}'),r={name:"404.md"};function s(i,e,l,d,p,c){return n(),a("div",null,e[0]||(e[0]=[t("p",null,[t("a",{href:"./"},"Go to the main page")],-1)]))}const h=o(r,[["render",s]]);export{f as __pageData,h as default}; +import{q as o,y as a,A as t,x as n}from"./chunks/framework.CQBrk0Ry.js";const f=JSON.parse('{"title":"","description":"Nothing found here","frontmatter":{"template":"home","title":404,"description":"Nothing found here","icon":"/media/logo/logo.svg","publish":false},"headers":[],"relativePath":"404.md","filePath":"404.md","lastUpdated":1732689949000}'),r={name:"404.md"};function s(i,e,l,d,p,c){return n(),a("div",null,e[0]||(e[0]=[t("p",null,[t("a",{href:"./"},"Go to the main page")],-1)]))}const h=o(r,[["render",s]]);export{f as __pageData,h as default}; diff --git a/assets/404.md.CyDpcGm_.lean.js b/assets/404.md.CXR0cFhq.lean.js similarity index 65% rename from assets/404.md.CyDpcGm_.lean.js rename to assets/404.md.CXR0cFhq.lean.js index 235726e02c..39238ebbc9 100644 --- a/assets/404.md.CyDpcGm_.lean.js +++ b/assets/404.md.CXR0cFhq.lean.js @@ -1 +1 @@ -import{q as o,y as a,A as t,x as n}from"./chunks/framework.BR0mAPCP.js";const f=JSON.parse('{"title":"","description":"Nothing found here","frontmatter":{"template":"home","title":404,"description":"Nothing found here","icon":"/media/logo/logo.svg","publish":false},"headers":[],"relativePath":"404.md","filePath":"404.md","lastUpdated":1732121576000}'),r={name:"404.md"};function s(i,e,l,d,p,c){return n(),a("div",null,e[0]||(e[0]=[t("p",null,[t("a",{href:"./"},"Go to the main page")],-1)]))}const h=o(r,[["render",s]]);export{f as __pageData,h as default}; +import{q as o,y as a,A as t,x as n}from"./chunks/framework.CQBrk0Ry.js";const f=JSON.parse('{"title":"","description":"Nothing found here","frontmatter":{"template":"home","title":404,"description":"Nothing found here","icon":"/media/logo/logo.svg","publish":false},"headers":[],"relativePath":"404.md","filePath":"404.md","lastUpdated":1732689949000}'),r={name:"404.md"};function s(i,e,l,d,p,c){return n(),a("div",null,e[0]||(e[0]=[t("p",null,[t("a",{href:"./"},"Go to the main page")],-1)]))}const h=o(r,[["render",s]]);export{f as __pageData,h as default}; diff --git a/assets/academy_index.md.CPE5jG2t.js b/assets/academy_index.md.BYtJ9Ket.js similarity index 85% rename from assets/academy_index.md.CPE5jG2t.js rename to assets/academy_index.md.BYtJ9Ket.js index 41d7727c7a..3733030141 100644 --- a/assets/academy_index.md.CPE5jG2t.js +++ b/assets/academy_index.md.BYtJ9Ket.js @@ -1 +1 @@ -import{q as e,y as t,x as a}from"./chunks/framework.BR0mAPCP.js";const p=JSON.parse('{"title":"Academy","description":"Research and study platform to provide collaborative online education experience for our global community","frontmatter":{"title":"Academy","description":"Research and study platform to provide collaborative online education experience for our global community","layout":"iframe","date":"2021-04-02T00:00:00.000Z","cover":"wes-hicks.jpg","topContent":true,"iframe":"https://academy.chromatone.center","buttons":[{"url":"https://academy.chromatone.center/","text":"academy.chromatone.center"}]},"headers":[],"relativePath":"academy/index.md","filePath":"academy/index.md","lastUpdated":1732121576000}'),o={name:"academy/index.md"};function r(c,n,d,i,m,s){return a(),t("div")}const u=e(o,[["render",r]]);export{p as __pageData,u as default}; +import{q as e,y as t,x as a}from"./chunks/framework.CQBrk0Ry.js";const p=JSON.parse('{"title":"Academy","description":"Research and study platform to provide collaborative online education experience for our global community","frontmatter":{"title":"Academy","description":"Research and study platform to provide collaborative online education experience for our global community","layout":"iframe","date":"2021-04-02T00:00:00.000Z","cover":"wes-hicks.jpg","topContent":true,"iframe":"https://academy.chromatone.center","buttons":[{"url":"https://academy.chromatone.center/","text":"academy.chromatone.center"}]},"headers":[],"relativePath":"academy/index.md","filePath":"academy/index.md","lastUpdated":1732689949000}'),o={name:"academy/index.md"};function r(c,n,d,i,m,s){return a(),t("div")}const u=e(o,[["render",r]]);export{p as __pageData,u as default}; diff --git a/assets/academy_index.md.CPE5jG2t.lean.js b/assets/academy_index.md.BYtJ9Ket.lean.js similarity index 85% rename from assets/academy_index.md.CPE5jG2t.lean.js rename to assets/academy_index.md.BYtJ9Ket.lean.js index 41d7727c7a..3733030141 100644 --- a/assets/academy_index.md.CPE5jG2t.lean.js +++ b/assets/academy_index.md.BYtJ9Ket.lean.js @@ -1 +1 @@ -import{q as e,y as t,x as a}from"./chunks/framework.BR0mAPCP.js";const p=JSON.parse('{"title":"Academy","description":"Research and study platform to provide collaborative online education experience for our global community","frontmatter":{"title":"Academy","description":"Research and study platform to provide collaborative online education experience for our global community","layout":"iframe","date":"2021-04-02T00:00:00.000Z","cover":"wes-hicks.jpg","topContent":true,"iframe":"https://academy.chromatone.center","buttons":[{"url":"https://academy.chromatone.center/","text":"academy.chromatone.center"}]},"headers":[],"relativePath":"academy/index.md","filePath":"academy/index.md","lastUpdated":1732121576000}'),o={name:"academy/index.md"};function r(c,n,d,i,m,s){return a(),t("div")}const u=e(o,[["render",r]]);export{p as __pageData,u as default}; +import{q as e,y as t,x as a}from"./chunks/framework.CQBrk0Ry.js";const p=JSON.parse('{"title":"Academy","description":"Research and study platform to provide collaborative online education experience for our global community","frontmatter":{"title":"Academy","description":"Research and study platform to provide collaborative online education experience for our global community","layout":"iframe","date":"2021-04-02T00:00:00.000Z","cover":"wes-hicks.jpg","topContent":true,"iframe":"https://academy.chromatone.center","buttons":[{"url":"https://academy.chromatone.center/","text":"academy.chromatone.center"}]},"headers":[],"relativePath":"academy/index.md","filePath":"academy/index.md","lastUpdated":1732689949000}'),o={name:"academy/index.md"};function r(c,n,d,i,m,s){return a(),t("div")}const u=e(o,[["render",r]]);export{p as __pageData,u as default}; diff --git a/assets/app.D58PhePN.js b/assets/app.C6z4HWMf.js similarity index 90% rename from assets/app.D58PhePN.js rename to assets/app.C6z4HWMf.js index f4135dc312..8dfa79f047 100644 --- a/assets/app.D58PhePN.js +++ b/assets/app.C6z4HWMf.js @@ -1 +1 @@ -import{aK as i}from"./chunks/theme.ClagsQLu.js";import{aB as o,aC as u,aD as l,aE as c,aF as f,aG as d,aH as m,aI as h,aJ as g,aK as A,aL as v,Y as C,v as P,o as w,w as y,aM as E,aN as b,aO as R,a5 as S}from"./chunks/framework.BR0mAPCP.js";function p(e){if(e.extends){const a=p(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=p(i),D=C({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=P();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&E(),b(),R(),s.setup&&s.setup(),()=>S(s.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=L(),a=F();a.provide(l,e);const t=c(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function F(){return g(D)}function L(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{T as createApp}; +import{aM as i}from"./chunks/theme.Dd_Fb62b.js";import{aB as o,aC as u,aD as l,aE as c,aF as f,aG as d,aH as m,aI as h,aJ as g,aK as A,aL as v,Y as C,v as P,o as w,w as y,aM as E,aN as b,aO as R,a5 as S}from"./chunks/framework.CQBrk0Ry.js";function p(e){if(e.extends){const a=p(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=p(i),D=C({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=P();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&E(),b(),R(),s.setup&&s.setup(),()=>S(s.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=L(),a=F();a.provide(l,e);const t=c(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function F(){return g(D)}function L(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{T as createApp}; diff --git a/assets/chunks/AbcRender.CnjXi_kI.js b/assets/chunks/AbcRender.KY8ykMKq.js similarity index 79% rename from assets/chunks/AbcRender.CnjXi_kI.js rename to assets/chunks/AbcRender.KY8ykMKq.js index 40991367bb..2c14021764 100644 --- a/assets/chunks/AbcRender.CnjXi_kI.js +++ b/assets/chunks/AbcRender.KY8ykMKq.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/index.Dc_kUHgf.js","assets/chunks/theme.ClagsQLu.js","assets/chunks/framework.BR0mAPCP.js"])))=>i.map(i=>d[i]); -import{q as v,o as g,_ as b,w as k,x as f,y as x,A as B,G as E,E as _,T as A,I as C}from"./framework.BR0mAPCP.js";import{_ as w}from"./SaveSvg.DARtreR9.js";import{n as u,c as I}from"./theme.ClagsQLu.js";import{s as S}from"./state.D7Rc2kFZ.js";const y={class:"flex"},N=["id"],D={__name:"AbcRender",props:{abc:{type:String,default:"ABCD"},staffwidth:{type:Number,default:300},responsive:{type:Boolean,default:!1},save:{type:Boolean,default:!1}},setup(r){const d=r,i=(Math.random()+1).toString(36).substring(7);g(()=>{b(()=>import("./index.Dc_kUHgf.js").then(s=>s.i),__vite__mapDeps([0,1,2])).then(s=>{k(()=>{if(s.renderAbc(i,d.abc,{responsive:d.responsive?"resize":null,scale:3,add_classes:!0,paddingbottom:10,paddingtop:0,staffwidth:300,clickListener:m}),!S.colorize)return;document.querySelectorAll("[data-name]").forEach(a=>{if(!(a instanceof HTMLElement))return;const e={pitch:0,acc:0,octave:4},{name:t}=a.dataset;if(t.length>3||/^\d+$/.test(t)||t=="bar")return;for(let o=0;o{var n;return c==((n=t[o])==null?void 0:n.toUpperCase())}),t[o]){case"^":e.acc++;break;case"_":e.acc--;break;case",":e.octave--;break;default:const c=u.findIndex(n=>{var p;return n==((p=t[o])==null?void 0:p.toUpperCase())});if(c<0)break;e.pitch=c,a.dataset.pitch=String(c);break}const h=(e.pitch+e.acc+12)%12;a.style.fill=I(h,e.octave)})})})});function m(s,l,a,e,t){console.log(e==null?void 0:e.clickedName,e)}return(s,l)=>{const a=w;return f(),x("div",y,[B("div",{class:"abc-render",id:_(i)},E(r.abc),9,N),r.save?(f(),A(a,{key:0,svg:_(i)},null,8,["svg"])):C("",!0)])}}},q=v(D,[["__scopeId","data-v-fc8e022e"]]);export{q as _}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/index.B15DEz5d.js","assets/chunks/theme.Dd_Fb62b.js","assets/chunks/framework.CQBrk0Ry.js"])))=>i.map(i=>d[i]); +import{q as v,o as g,_ as b,w as k,x as f,y as x,A as B,G as E,E as _,T as A,I as C}from"./framework.CQBrk0Ry.js";import{_ as w}from"./SaveSvg.BMrQsyrm.js";import{n as u,c as I}from"./theme.Dd_Fb62b.js";import{s as S}from"./state.B52xOU23.js";const y={class:"flex"},N=["id"],D={__name:"AbcRender",props:{abc:{type:String,default:"ABCD"},staffwidth:{type:Number,default:300},responsive:{type:Boolean,default:!1},save:{type:Boolean,default:!1}},setup(r){const d=r,i=(Math.random()+1).toString(36).substring(7);g(()=>{b(()=>import("./index.B15DEz5d.js").then(s=>s.i),__vite__mapDeps([0,1,2])).then(s=>{k(()=>{if(s.renderAbc(i,d.abc,{responsive:d.responsive?"resize":null,scale:3,add_classes:!0,paddingbottom:10,paddingtop:0,staffwidth:300,clickListener:m}),!S.colorize)return;document.querySelectorAll("[data-name]").forEach(a=>{if(!(a instanceof HTMLElement))return;const e={pitch:0,acc:0,octave:4},{name:t}=a.dataset;if(t.length>3||/^\d+$/.test(t)||t=="bar")return;for(let o=0;o{var n;return c==((n=t[o])==null?void 0:n.toUpperCase())}),t[o]){case"^":e.acc++;break;case"_":e.acc--;break;case",":e.octave--;break;default:const c=u.findIndex(n=>{var p;return n==((p=t[o])==null?void 0:p.toUpperCase())});if(c<0)break;e.pitch=c,a.dataset.pitch=String(c);break}const h=(e.pitch+e.acc+12)%12;a.style.fill=I(h,e.octave)})})})});function m(s,l,a,e,t){console.log(e==null?void 0:e.clickedName,e)}return(s,l)=>{const a=w;return f(),x("div",y,[B("div",{class:"abc-render",id:_(i)},E(r.abc),9,N),r.save?(f(),A(a,{key:0,svg:_(i)},null,8,["svg"])):C("",!0)])}}},q=v(D,[["__scopeId","data-v-fc8e022e"]]);export{q as _}; diff --git a/assets/chunks/AnalysisFFT.DegcYCLm.js b/assets/chunks/AnalysisFFT.tyyGNsR7.js similarity index 85% rename from assets/chunks/AnalysisFFT.DegcYCLm.js rename to assets/chunks/AnalysisFFT.tyyGNsR7.js index cda346f9fa..a733abb8d9 100644 --- a/assets/chunks/AnalysisFFT.DegcYCLm.js +++ b/assets/chunks/AnalysisFFT.tyyGNsR7.js @@ -1 +1 @@ -import{az as f}from"./theme.ClagsQLu.js";import{u as m}from"./useElementary.BBmC8vA2.js";import{b as g,c as s,r as p,o as v,d as x,x as _,y as w,A as M}from"./framework.BR0mAPCP.js";function b(n="main:fft"){const{FFTs:r,meters:a}=m(),t=g({sr:s(()=>{var e;return((e=a["main:sample-rate"])==null?void 0:e.max)||44100}),freq:s(()=>t.data[0].map((e,l)=>l*t.sr/(t.data[0].length||1))),colors:s(()=>t.freq.map(e=>f(e))),data:s(()=>(r==null?void 0:r[n])||[[],[]]),total:s(()=>t.data[0].map((e,l)=>Math.log2(1+Math.abs(e)+Math.abs(t.data[1][l]))))});return{FFT:t}}const y={class:"flex is-group p-2 bg-light-200 dark-bg-dark-200 shadow rounded gap-4"},C={__name:"AnalysisFFT",props:{name:{default:"main:fft",type:String}},setup(n){const r=n,{FFT:a}=b(r.name);let t=p(null);v(e),x(a,e,{deep:!0});function e(){if(!t.value||!(a!=null&&a.total))return;let l=t.value.getContext("2d");l.clearRect(0,0,t.value.width,t.value.height);for(let o=0;o(_(),w("div",y,[M("canvas",{class:"max-w-full",ref_key:"canvas",ref:t,height:"512",width:"2048"},null,512)]))}};export{C as _}; +import{aB as f}from"./theme.Dd_Fb62b.js";import{u as m}from"./useElementary.T3ohYPYP.js";import{b as g,c as s,r as p,o as v,d as x,x as _,y as w,A as M}from"./framework.CQBrk0Ry.js";function b(n="main:fft"){const{FFTs:r,meters:a}=m(),t=g({sr:s(()=>{var e;return((e=a["main:sample-rate"])==null?void 0:e.max)||44100}),freq:s(()=>t.data[0].map((e,l)=>l*t.sr/(t.data[0].length||1))),colors:s(()=>t.freq.map(e=>f(e))),data:s(()=>(r==null?void 0:r[n])||[[],[]]),total:s(()=>t.data[0].map((e,l)=>Math.log2(1+Math.abs(e)+Math.abs(t.data[1][l]))))});return{FFT:t}}const y={class:"flex is-group p-2 bg-light-200 dark-bg-dark-200 shadow rounded gap-4"},C={__name:"AnalysisFFT",props:{name:{default:"main:fft",type:String}},setup(n){const r=n,{FFT:a}=b(r.name);let t=p(null);v(e),x(a,e,{deep:!0});function e(){if(!t.value||!(a!=null&&a.total))return;let l=t.value.getContext("2d");l.clearRect(0,0,t.value.width,t.value.height);for(let o=0;o(_(),w("div",y,[M("canvas",{class:"max-w-full",ref_key:"canvas",ref:t,height:"512",width:"2048"},null,512)]))}};export{C as _}; diff --git a/assets/chunks/AnalysisScope.BCRrXOu_.js b/assets/chunks/AnalysisScope.D18Enf_g.js similarity index 83% rename from assets/chunks/AnalysisScope.BCRrXOu_.js rename to assets/chunks/AnalysisScope.D18Enf_g.js index 2df4c16985..a0bdc96740 100644 --- a/assets/chunks/AnalysisScope.BCRrXOu_.js +++ b/assets/chunks/AnalysisScope.D18Enf_g.js @@ -1 +1 @@ -import{C as u,D as m,E as s,x as d,y as f,A as _,b as h,c}from"./framework.BR0mAPCP.js";import{u as y}from"./useElementary.BBmC8vA2.js";const v=["viewBox"],g=["stroke","points"],x={__name:"AnalysisScope",props:{name:{default:"osc",type:String},color:{default:"currentColor",type:String}},setup(a){const i=a;function l(n="osc"){const{scopes:r}=y(),e=h({data:c(()=>r[n]||[]),points:c(()=>e.data.map((t,p)=>[p,t*25].join(",")).join(" "))});return e}const o=l(i.name);return(n,r)=>{var e,t;return u((d(),f("svg",{ref:"svgElem",viewBox:`0 -25 ${s(o).data.length} 50`},[_("polyline",{"stroke-width":"2",stroke:a.color,fill:"transparent",points:s(o).points},null,8,g)],8,v)),[[m,((t=(e=s(o))==null?void 0:e.data)==null?void 0:t.length)>2]])}}};export{x as _}; +import{C as u,D as m,E as s,x as d,y as f,A as _,b as h,c}from"./framework.CQBrk0Ry.js";import{u as y}from"./useElementary.T3ohYPYP.js";const v=["viewBox"],g=["stroke","points"],x={__name:"AnalysisScope",props:{name:{default:"osc",type:String},color:{default:"currentColor",type:String}},setup(a){const i=a;function l(n="osc"){const{scopes:r}=y(),e=h({data:c(()=>r[n]||[]),points:c(()=>e.data.map((t,p)=>[p,t*25].join(",")).join(" "))});return e}const o=l(i.name);return(n,r)=>{var e,t;return u((d(),f("svg",{ref:"svgElem",viewBox:`0 -25 ${s(o).data.length} 50`},[_("polyline",{"stroke-width":"2",stroke:a.color,fill:"transparent",points:s(o).points},null,8,g)],8,v)),[[m,((t=(e=s(o))==null?void 0:e.data)==null?void 0:t.length)>2]])}}};export{x as _}; diff --git a/assets/chunks/Atrament.Pn5HvB2P.js b/assets/chunks/Atrament.DyePrxEN.js similarity index 99% rename from assets/chunks/Atrament.Pn5HvB2P.js rename to assets/chunks/Atrament.DyePrxEN.js index dfa1f51ebf..8760a6a373 100644 --- a/assets/chunks/Atrament.Pn5HvB2P.js +++ b/assets/chunks/Atrament.DyePrxEN.js @@ -1,2 +1,2 @@ -var at=Object.defineProperty;var T=I=>{throw TypeError(I)};var ct=(I,s,t)=>s in I?at(I,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):I[s]=t;var w=(I,s,t)=>ct(I,typeof s!="symbol"?s+"":s,t),H=(I,s,t)=>s.has(I)||T("Cannot "+t);var e=(I,s,t)=>(H(I,s,"read from private field"),t?t.call(I):s.get(I)),d=(I,s,t)=>s.has(I)?T("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(I):s.set(I,t),c=(I,s,t,g)=>(H(I,s,"write to private field"),g?g.call(I,t):s.set(I,t),t),G=(I,s,t)=>(H(I,s,"access private method"),t);import{q as nt,r as D,o as dt,w as lt,c as rt,h as At,n as Gt,x as bt,y as Bt,C as vt,D as Zt,A as P,H as mt,E as k}from"./framework.BR0mAPCP.js";import{D as Wt,C as pt,N as wt,L as ut}from"./theme.ClagsQLu.js";function Yt(I,s,t){var g=function(l,Z){return atob(l)}(I),i=g.indexOf(` +var at=Object.defineProperty;var T=I=>{throw TypeError(I)};var ct=(I,s,t)=>s in I?at(I,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):I[s]=t;var w=(I,s,t)=>ct(I,typeof s!="symbol"?s+"":s,t),H=(I,s,t)=>s.has(I)||T("Cannot "+t);var e=(I,s,t)=>(H(I,s,"read from private field"),t?t.call(I):s.get(I)),d=(I,s,t)=>s.has(I)?T("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(I):s.set(I,t),c=(I,s,t,g)=>(H(I,s,"write to private field"),g?g.call(I,t):s.set(I,t),t),G=(I,s,t)=>(H(I,s,"access private method"),t);import{q as nt,r as D,o as dt,w as lt,c as rt,h as At,n as Gt,x as bt,y as Bt,C as vt,D as Zt,A as P,H as mt,E as k}from"./framework.CQBrk0Ry.js";import{D as Wt,C as pt,N as wt,L as ut}from"./theme.Dd_Fb62b.js";function Yt(I,s,t){var g=function(l,Z){return atob(l)}(I),i=g.indexOf(` `,10)+1,a=g.substring(i)+"",o=new Blob([a],{type:"application/javascript"});return URL.createObjectURL(o)}var j,f,yt=(j="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLy8gY29sb3VyIGluZGljZXMgcGVyIHBpeGVsCiAgY29uc3QgUiA9IDA7CiAgY29uc3QgRyA9IDE7CiAgY29uc3QgQiA9IDI7CiAgY29uc3QgQSA9IDM7CgogIGNvbnN0IFBJWEVMID0gNDsKICBjb25zdCBUUkFOU1BBUkVOVCA9IDA7CiAgY29uc3QgT1BBUVVFID0gMjU1OwoKICBjb25zdCBoZXhUb1JnYiA9IChoZXhDb2xvcikgPT4gewogICAgLy8gU2luY2UgaW5wdXQgdHlwZSBjb2xvciBwcm92aWRlcyBoZXggYW5kIEltYWdlRGF0YSBhY2NlcHRzIFJHQiBuZWVkIHRvIHRyYW5zZm9ybQogICAgY29uc3QgbSA9IGhleENvbG9yLm1hdGNoKC9eIz8oW1xkYS1mXXsyfSkoW1xkYS1mXXsyfSkoW1xkYS1mXXsyfSkkL2kpOwogICAgcmV0dXJuIFsKICAgICAgcGFyc2VJbnQobVsxXSwgMTYpLAogICAgICBwYXJzZUludChtWzJdLCAxNiksCiAgICAgIHBhcnNlSW50KG1bM10sIDE2KSwKICAgIF07CiAgfTsKCiAgLy8gUGl4ZWwgY29sb3IgZXF1YWxzIGNvbXAgY29sb3I/CiAgY29uc3QgY29sb3JNYXRjaGVyID0gKGRhdGEsIGNvbXBSLCBjb21wRywgY29tcEIsIGNvbXBBKSA9PiAocGl4ZWxQb3MpID0+ICgKICAgIGRhdGFbcGl4ZWxQb3MgKyBSXSA9PT0gY29tcFIKICAgICYmIGRhdGFbcGl4ZWxQb3MgKyBHXSA9PT0gY29tcEcKICAgICYmIGRhdGFbcGl4ZWxQb3MgKyBCXSA9PT0gY29tcEIKICAgICYmIGRhdGFbcGl4ZWxQb3MgKyBBXSA9PT0gY29tcEEKICApOwoKICBjb25zdCBjb2xvck1hdGNoZXJJZ25vcmVBbHBoYSA9IChkYXRhLCAuLi5hcmdzKSA9PiB7CiAgICBjb25zdCBtYXRjaCA9IGNvbG9yTWF0Y2hlcihkYXRhLCAuLi5hcmdzKTsKCiAgICByZXR1cm4gKHBpeGVsUG9zKSA9PiB7CiAgICAgIGNvbnN0IGFscGhhID0gZGF0YVtwaXhlbFBvcyArIEFdOwogICAgICBpZiAoYWxwaGEgIT09IFRSQU5TUEFSRU5UICYmIGFscGhhICE9PSBPUEFRVUUpIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQoKICAgICAgcmV0dXJuIG1hdGNoKHBpeGVsUG9zKTsKICAgIH07CiAgfTsKCiAgLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi8KICBjb25zdCBwaXhlbFBhaW50ZXIgPSAoZGF0YSwgZmlsbFIsIGZpbGxHLCBmaWxsQiwgZmlsbEEpID0+IChwaXhlbFBvcykgPT4gewogICAgZGF0YVtwaXhlbFBvcyArIFJdID0gZmlsbFI7CiAgICBkYXRhW3BpeGVsUG9zICsgR10gPSBmaWxsRzsKICAgIGRhdGFbcGl4ZWxQb3MgKyBCXSA9IGZpbGxCOwogICAgZGF0YVtwaXhlbFBvcyArIEFdID0gZmlsbEE7CiAgfTsKCiAgY29uc3QgcGl4ZWxQYWludGVyTWl4QWxwaGEgPSAoZGF0YSwgZmlsbFIsIGZpbGxHLCBmaWxsQiwgZmlsbEEpID0+IChwaXhlbFBvcykgPT4gewogICAgY29uc3Qgb2xkQWxwaGEgPSBkYXRhW3BpeGVsUG9zICsgQV07CiAgICAvLyBjYWxjdWxhdGUgcmF0aW8gb2Ygb2xkIHZzLiBuZXcgY29sb3VyIHRvIGJlIGFscGhhLW1peGVkCiAgICBjb25zdCBtaXhBbHBoYU9sZCA9IG9sZEFscGhhID09PSBPUEFRVUUKICAgICAgPyBUUkFOU1BBUkVOVAogICAgICA6IG9sZEFscGhhIC8gT1BBUVVFOwogICAgY29uc3QgbWl4QWxwaGFOZXcgPSAxIC0gbWl4QWxwaGFPbGQ7CgogICAgY29uc3QgcGFpbnQgPSBwaXhlbFBhaW50ZXIoCiAgICAgIGRhdGEsCiAgICAgIE1hdGguZmxvb3IobWl4QWxwaGFPbGQgKiBkYXRhW3BpeGVsUG9zICsgUl0gKyBtaXhBbHBoYU5ldyAqIGZpbGxSKSwKICAgICAgTWF0aC5mbG9vcihtaXhBbHBoYU9sZCAqIGRhdGFbcGl4ZWxQb3MgKyBHXSArIG1peEFscGhhTmV3ICogZmlsbEcpLAogICAgICBNYXRoLmZsb29yKG1peEFscGhhT2xkICogZGF0YVtwaXhlbFBvcyArIEJdICsgbWl4QWxwaGFOZXcgKiBmaWxsQiksCiAgICAgIGZpbGxBLAogICAgKTsKCiAgICByZXR1cm4gcGFpbnQocGl4ZWxQb3MpOwogIH07CiAgLyogZXNsaW50LWVuYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqLwoKICAvKioKICAgKiBTdGFjay0gYW5kIHNwYW4tYmFzZWQgZmxvb2QgZmlsbCBhbGdvcml0aG0KICAgKiBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRmxvb2RfZmlsbCNTcGFuX2ZpbGxpbmcKICAgKgogICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIG9wdGlvbnMgb2JqZWN0CiAgICogQHJldHVybnMge1VJbnQ4Q2xhbXBlZEFycmF5fSB0aGUgbW9kaWZpZWQgcGl4ZWxzCiAgICovCiAgY29uc3QgZmxvb2RGaWxsID0gKHsKICAgIGltYWdlLAogICAgd2lkdGgsCiAgICBoZWlnaHQsCiAgICBjb2xvciwKICAgIGdsb2JhbEFscGhhLAogICAgc3RhcnRYLAogICAgc3RhcnRZLAogICAgc3RhcnRDb2xvciwKICB9KSA9PiB7CiAgICBjb25zdCByb3cgPSB3aWR0aCAqIFBJWEVMOwogICAgLy8gbWFrZSBzdXJlIHN0YXJ0IGNvb3JkaW5hdGVzIGFyZSBpbnRlZ2VycwogICAgY29uc3Qgc3RhcnRYQ29vcmQgPSBNYXRoLmZsb29yKHN0YXJ0WCk7CiAgICBjb25zdCBzdGFydFlDb29yZCA9IE1hdGguZmxvb3Ioc3RhcnRZKTsKICAgIC8vIGhleCBuZWVkcyB0byBiZSB0cmFzZm9ybWVkIHRvIHJnYiBzaW5jZSBJbWFnZURhdGEgdXNlcyBSR0IKICAgIGNvbnN0IGZpbGxDb2xvciA9IGhleFRvUmdiKGNvbG9yKTsKICAgIC8vIGVuc3VyZSBhbHBoYSBpcyBhbiBpbnRlZ2VyIGluIHRoZSByYW5nZSBvZiAwLTI1NQogICAgY29uc3QgZmlsbEFscGhhID0gTWF0aC5mbG9vcihNYXRoLm1heCgwLCBNYXRoLm1pbihnbG9iYWxBbHBoYSAqIE9QQVFVRSwgT1BBUVVFKSkpOwogICAgLy8gd2UgbmVlZCBkaWZmZXJlbnQgYmVoYXZpb3VyIGluIGNhc2Ugd2UncmUgZmlsbGluZyBhIG5vbi1vcGFxdWUgYXJlYQogICAgY29uc3QgZmlsbGluZ05vbk9wYXF1ZSA9IHN0YXJ0Q29sb3JbQV0gIT09IE9QQVFVRTsKICAgIC8vIG91ciBwaXhlbCBwYWludGVyIHNob3VsZCBvbmx5IG1peCBhbHBoYSBpZiB3ZSdyZSBzdGFydGluZyBpbiBhIG5vbi1vcGFxdWUgYXJlYQogICAgY29uc3QgcGl4ZWxQYWludGVyT2ZDaG9pY2UgPSBmaWxsaW5nTm9uT3BhcXVlID8gcGl4ZWxQYWludGVyTWl4QWxwaGEgOiBwaXhlbFBhaW50ZXI7CiAgICBjb25zdCBwYWludFBpeGVsID0gcGl4ZWxQYWludGVyT2ZDaG9pY2UoaW1hZ2UsIC4uLmZpbGxDb2xvciwgZmlsbEFscGhhKTsKICAgIC8vIHdoZW4gbG9va2luZyBmb3IgdGhlIHNwYW4gc3RhcnQsIHdlIGlnbm9yZSB0aGUgYWxwaGEgdmFsdWUgaWYgZmlsbGluZyBhIG5vbi1vcGFxdWUgYXJlYQogICAgLy8gdGhpcyBlbnN1cmVzIHRoYXQgd2UnbGwgbWl4IHRoZSBmaWxsIGludG8gYW50aWFsaWFzZWQgZWRnZXMKICAgIGNvbnN0IGNvbG9yTWF0Y2hlclNwYW5TdGFydCA9IGZpbGxpbmdOb25PcGFxdWUgPyBjb2xvck1hdGNoZXJJZ25vcmVBbHBoYSA6IGNvbG9yTWF0Y2hlcjsKICAgIGNvbnN0IG1hdGNoU3BhblN0YXJ0Q29sb3IgPSBjb2xvck1hdGNoZXJTcGFuU3RhcnQoaW1hZ2UsIC4uLnN0YXJ0Q29sb3IpOwogICAgLy8gZm9yIGFsbCBvdGhlciBjYXNlcywgd2UgbG9vayBmb3IgdGhlIHN0YXJ0IGNvbG91ciBleGFjdGx5CiAgICBjb25zdCBtYXRjaFN0YXJ0Q29sb3IgPSBjb2xvck1hdGNoZXJJZ25vcmVBbHBoYShpbWFnZSwgLi4uc3RhcnRDb2xvcik7CgogICAgLy8gY2hlY2sgaWYgd2UncmUgdHJ5aW5nIHRvIGZpbGwgd2l0aCB0aGUgc2FtZSBjb2xvdXIsIGlmIHNvLCBzdG9wCiAgICBjb25zdCBtYXRjaEZpbGxDb2xvciA9IGNvbG9yTWF0Y2hlcihpbWFnZSwgLi4uWy4uLmZpbGxDb2xvciwgT1BBUVVFXSk7CiAgICBpZiAobWF0Y2hGaWxsQ29sb3IoKHN0YXJ0WUNvb3JkICogd2lkdGggKyBzdGFydFhDb29yZCkgKiBQSVhFTCkpIHsKICAgICAgcmV0dXJuIGltYWdlOwogICAgfQogICAgLy8gYmVnaW4gd2l0aCBvdXIgc3RhcnQgcGl4ZWwKICAgIGNvbnN0IHBpeGVsU3RhY2sgPSBbW3N0YXJ0WENvb3JkLCBzdGFydFlDb29yZF1dOwogICAgd2hpbGUgKHBpeGVsU3RhY2subGVuZ3RoKSB7CiAgICAgIGNvbnN0IFt4LCB5XSA9IHBpeGVsU3RhY2sucG9wKCk7CiAgICAgIC8vIGNvbHVtbiBwb3NpdGlvbiBpcyBpbiBjYXJ0ZXNpYW4gc3BhY2UgKHgseSkKICAgICAgbGV0IGNvbHVtblBvc2l0aW9uID0geTsKICAgICAgLy8gcGl4ZWwgcG9zaXRpb24gaXMgaW4gMUQgc3BhY2UgKHRoZSByYXcgaW1hZ2UgZGF0YSBVSW50OENsYW1wZWRBcnJheSkKICAgICAgbGV0IHBpeGVsUG9zID0gKGNvbHVtblBvc2l0aW9uICogd2lkdGggKyB4KSAqIFBJWEVMOwogICAgICAvLyBzdGFydCBtb3ZpbmcgZGlyZWN0bHkgdXAgZnJvbSBvdXIgc3RhcnQgcG9zaXRpb24KICAgICAgLy8gdW50aWwgd2UgZmluZCBhIGRpZmZlcmVudCBjb2xvdXIgdG8gdGhlIHN0YXJ0IGNvbG91cgogICAgICAvLyB0aGlzIGlzIHRoZSBiZWdpbm5pbmcgb2Ygb3VyIHNwYW4KICAgICAgd2hpbGUgKGNvbHVtblBvc2l0aW9uLS0gPj0gMCAmJiBtYXRjaFNwYW5TdGFydENvbG9yKHBpeGVsUG9zKSkgewogICAgICAgIHBpeGVsUG9zIC09IHJvdzsKICAgICAgfQogICAgICAvLyBtb3ZlIG9uZSByb3cgZG93biAodG9wbW9zdCBwaXhlbCBvZiBmaWxsYWJsZSBhcmVhKQogICAgICBwaXhlbFBvcyArPSByb3c7CgogICAgICBsZXQgcmVhY2hMZWZ0ID0gZmFsc2U7CiAgICAgIGxldCByZWFjaFJpZ2h0ID0gZmFsc2U7CiAgICAgIC8vIGZvciBlYWNoIHJvdywgY2hlY2sgaWYgdGhlIGZpcnN0IHBpeGVsIHN0aWxsIGhhcyB0aGUgc3RhcnQgY29sb3VyCiAgICAgIC8vIGlmIGl0IGRvZXMsIHBhaW50IGl0IGFuZCBwdXNoIHN1cnJvdW5kaW5nIHBpeGVscyB0byB0aGUgc3RhY2sgb2YgcGl4ZWxzIHRvIGNoZWNrCiAgICAgIHdoaWxlICgrK2NvbHVtblBvc2l0aW9uIDwgaGVpZ2h0IC0gMSAmJiBtYXRjaFN0YXJ0Q29sb3IocGl4ZWxQb3MpKSB7CiAgICAgICAgcGFpbnRQaXhlbChwaXhlbFBvcyk7CiAgICAgICAgLy8gY2hlY2sgdGhlIHBpeGVsIHRvIHRoZSBsZWZ0CiAgICAgICAgaWYgKHggPiAwKSB7CiAgICAgICAgICBpZiAobWF0Y2hTdGFydENvbG9yKHBpeGVsUG9zIC0gUElYRUwpKSB7CiAgICAgICAgICAgIGlmICghcmVhY2hMZWZ0KSB7CiAgICAgICAgICAgICAgcGl4ZWxTdGFjay5wdXNoKFt4IC0gMSwgY29sdW1uUG9zaXRpb25dKTsKICAgICAgICAgICAgICByZWFjaExlZnQgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgaWYgKHJlYWNoTGVmdCkgewogICAgICAgICAgICByZWFjaExlZnQgPSBmYWxzZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gY2hlY2sgdGhlIHBpeGVsIHRvIHRoZSByaWdodAogICAgICAgIGlmICh4IDwgd2lkdGggLSAxKSB7CiAgICAgICAgICBpZiAobWF0Y2hTdGFydENvbG9yKHBpeGVsUG9zICsgUElYRUwpKSB7CiAgICAgICAgICAgIGlmICghcmVhY2hSaWdodCkgewogICAgICAgICAgICAgIHBpeGVsU3RhY2sucHVzaChbeCArIDEsIGNvbHVtblBvc2l0aW9uXSk7CiAgICAgICAgICAgICAgcmVhY2hSaWdodCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAocmVhY2hSaWdodCkgewogICAgICAgICAgICByZWFjaFJpZ2h0ID0gZmFsc2U7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIG1vdmUgdG8gdGhlIG5leHQgcm93CiAgICAgICAgcGl4ZWxQb3MgKz0gcm93OwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIGltYWdlOwogIH07CgogIGdsb2JhbFRoaXMuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsICh7IGRhdGEgfSkgPT4gewogICAgY29uc3QgcmVzdWx0ID0gZmxvb2RGaWxsKGRhdGEpOwoKICAgIGdsb2JhbFRoaXMucG9zdE1lc3NhZ2UoeyB0eXBlOiAnZmlsbC1yZXN1bHQnLCByZXN1bHQgfSwgW3Jlc3VsdC5idWZmZXJdKTsKICB9KTsKCn0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPXdvcmtlci5qcy5tYXAKCg==",function(I){return f=f||Yt(j),new Worker(f,I)});class Q{constructor(s,t){this.x=s,this.y=t}set(s,t){this.x=s,this.y=t}}class St extends Q{constructor(){super(0,0),this.down=!1,this.previous=new Q(0,0)}}class Ft{constructor(){this.eventListeners=new Map}addEventListener(s,t){const g=this.eventListeners.get(s)||new Set;g.add(t),this.eventListeners.set(s,g)}removeEventListener(s,t){const g=this.eventListeners.get(s);g&&g.delete(t)}dispatchEvent(s,t){const g=this.eventListeners.get(s);g&&[...g].forEach(i=>i(t))}}const M=(I,s,t,g)=>{const i=(t-I)**2,a=(g-s)**2;return Math.sqrt(i+a)},E=I=>s=>{s.isPrimary&&(s.cancelable&&s.preventDefault(),I(s))},u=Symbol("atrament mode - draw"),X=Symbol("atrament mode - erase"),N=Symbol("atrament mode - fill"),O=Symbol("atrament mode - disabled"),q=[u,X],Xt=["weight","smoothing","adaptiveStroke","mode"];var C,p,Y,y,K,b,h,V,R,S,B,v,n,_,F,$,tt,L,et,gt,st,it,J;const x=class x extends Ft{constructor(t,g={}){var i,a;if(typeof window>"u")throw new Error("atrament: looks like we're not running in a browser");super();d(this,n);w(this,"adaptiveStroke",!0);w(this,"canvas");w(this,"recordStrokes",!1);w(this,"smoothing",.85);w(this,"thickness",2);d(this,C);d(this,p,!1);d(this,Y,!1);d(this,y,[]);d(this,K,new yt);d(this,b,u);d(this,h,new St);d(this,V,.5);d(this,R);d(this,S,[]);d(this,B,2);d(this,v,2);this.canvas=G(i=x,F,$).call(i,t,g),c(this,C,G(a=x,F,tt).call(a,this.canvas,g)),G(this,n,st).call(this),c(this,R,(({canvas:o,move:l,down:Z,up:W})=>{const m=E(l),A=E(Z),r=E(W);return o.addEventListener("pointermove",m),o.addEventListener("pointerdown",A),document.addEventListener("pointerup",r),document.addEventListener("pointerout",r),()=>{o.removeEventListener("pointermove",m),o.removeEventListener("pointerdown",A),document.removeEventListener("pointerup",r),document.removeEventListener("pointerout",r)}})({canvas:this.canvas,move:G(this,n,L).bind(this),down:G(this,n,et).bind(this),up:G(this,n,gt).bind(this)})),Xt.forEach(o=>{g[o]!==void 0&&(this[o]=g[o])})}beginStroke(t,g){e(this,C).moveTo(t,g),c(this,B,e(this,v)),this.recordStrokes&&(this.strokeTimestamp=performance.now()),this.dispatchEvent("strokestart",{x:t,y:g})}endStroke(t,g){this.dispatchEvent("strokeend",{x:t,y:g}),this.recordStrokes&&this.dispatchEvent("strokerecorded",{stroke:this.currentStroke}),c(this,S,[]),delete this.strokeTimestamp}draw(t,g,i,a){const o=i||t,l=a||g,Z=this.getSmoothingFactor(M(t,g,o,l)),W=t-(t-o)*Z,m=g-(g-l)*Z,A=M(W,m,o,l);if(this.adaptiveStroke){const r=(A-2)/(98*(1-e(this,V)))*(e(this,n,_)-e(this,v))+e(this,v);e(this,B)>r?c(this,B,e(this,B)-.25):e(this,B){const a=i.offsetX,o=i.offsetY;if(e(this,h).down&&q.includes(e(this,b))){const{x:l,y:Z}=this.draw(a,o,e(this,h).previous.x,e(this,h).previous.y);e(this,h).set(a,o),e(this,h).previous.set(l,Z),c(this,V,i.pressure===1?.5:i.pressure||.5)}else e(this,h).set(a,o),e(this,h).previous.set(a,o)})},et=function(t){this.mode!==N?(e(this,h).down=!0,G(this,n,L).call(this,t),this.beginStroke(e(this,h).previous.x,e(this,h).previous.y)):G(this,n,it).call(this)},gt=function(t){e(this,b)!==N&&e(this,h).down&&(e(this,h).down=!1,e(this,h).x===t.offsetX&&e(this,h).y===t.offsetY&&q.includes(this.mode)&&this.draw(e(this,h).x,e(this,h).y,e(this,h).previous.x,e(this,h).previous.y),e(this,h).previous.set(0,0),this.endStroke(e(this,h).x,e(this,h).y))},st=function(){e(this,K).addEventListener("message",({data:t})=>{if(t.type==="fill-result"){c(this,Y,!1),this.dispatchEvent("fillend",{});const g=new ImageData(t.result,this.canvas.width,this.canvas.height);e(this,C).putImageData(g,0,0),e(this,y).length>0&&G(this,n,J).call(this,e(this,y).shift())}})},it=function(){const{x:t,y:g}=e(this,h);this.dispatchEvent("fillstart",{x:t,y:g});const i=Array.from(e(this,C).getImageData(t,g,1,1).data),a={color:this.color,globalAlpha:e(this,C).globalAlpha,width:this.canvas.width,height:this.canvas.height,startColor:i,startX:t*window.devicePixelRatio,startY:g*window.devicePixelRatio};e(this,Y)?e(this,y).push(a):(c(this,Y,!0),G(this,n,J).call(this,a))},J=function(t){const g=e(this,C).getImageData(0,0,this.canvas.width,this.canvas.height).data;e(this,K).postMessage({image:g,...t},[g.buffer])},d(x,F);let U=x;const xt={class:"p-0 relative min-h-90vh"},Kt={__name:"Atrament",setup(I){const s=D(),t=D(!1);let g;dt(()=>{g=new U(s.value,{width:s.value.offsetWidth,height:s.value.offsetHeight,color:"currentColor"}),lt(()=>{g.color=a.value,g.weight=i.value}),g.addEventListener("strokestart",()=>t.value=!0),g.addEventListener("strokeend",()=>t.value=!1)});const i=Wt(30,.1,3e3),a=rt(()=>{var A,r;return pt((A=o==null?void 0:o.note)==null?void 0:A.pitch,(r=o==null?void 0:o.note)==null?void 0:r._octave)}),{midi:o}=wt();ut({onWheel:Z},{...{wheel:{preventWindowScrollY:!0},eventOptions:{capture:!1,passive:!1}},domTarget:s});function Z(A){const{delta:[r,It],wheeling:ot,shiftKey:ht,event:z}=A;if(!ot)return;z&&z.preventDefault();let Ct=It/(ht?12:8);i.value+=Ct}At("Enter",A=>{g.clear()});const{elementX:W,elementY:m}=Gt(s);return(A,r)=>(bt(),Bt("div",xt,[vt(P("div",{class:"z-1000 pointer-events-none rounded-full absolute top-10 left-10 w-30",style:mt({backgroundColor:a.value,transform:"translate(-50%, -50%)",width:`${k(i)}px`,height:`${k(i)}px`,top:`${k(m)}px`,left:`${k(W)}px`})}," ",4),[[Zt,!t.value]]),P("canvas",{ref_key:"canvas",ref:s,width:"800",height:"800"},null,512)]))}},Ht=nt(Kt,[["__scopeId","data-v-a82adee9"]]);export{Ht as default}; diff --git a/assets/chunks/BeatBars.SrAi3Hlt.js b/assets/chunks/BeatBars.Bx88sUcW.js similarity index 98% rename from assets/chunks/BeatBars.SrAi3Hlt.js rename to assets/chunks/BeatBars.Bx88sUcW.js index 5b514908a1..6f398c8aad 100644 --- a/assets/chunks/BeatBars.SrAi3Hlt.js +++ b/assets/chunks/BeatBars.Bx88sUcW.js @@ -1 +1 @@ -import{_ as re}from"./trash.B4OvZbrl.js";import{m as P,x as o,y as r,A as n,v as q,c as M,d as A,M as T,E as t,G as B,F as z,B as V,C as b,I as C,b as J,J as ie,q as ae,r as K,P as N,T as S,U as E,V as G,aj as ue,u as de,$ as ce,H as me,z as ve}from"./framework.BR0mAPCP.js";import{am as Q,K as O,D as W,T as he,c as fe,an as ye,ao as xe,ap as pe,aq as ge}from"./theme.ClagsQLu.js";const we={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function be(e,d){return o(),r("svg",we,d[0]||(d[0]=[n("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M22 5h-5v5h-5v5H7v5H2"},null,-1)]))}const ke=P({name:"tabler-stairs",render:be}),$e={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ce(e,d){return o(),r("svg",$e,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"m7 8l-4.5 4L7 16zm10 0v8l4.5-4zm-5 2a2 2 0 0 0-2 2a2 2 0 0 0 2 2a2 2 0 0 0 2-2a2 2 0 0 0-2-2"},null,-1)]))}const _e=P({name:"mdi-pan-horizontal",render:Ce}),Be={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"};function Ne(e,d){return o(),r("svg",Be,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M17 3.594L15.281 5.28L9.562 11H5v10h4.563l5.718 5.719L17 28.406zm6.813 4.594l-1.407 1.406a8.943 8.943 0 0 1 0 12.687l1.407 1.438c4.28-4.282 4.28-11.25 0-15.532zM15 8.438v15.124l-4.281-4.28l-.313-.282H7v-6h3.406l.313-.281zm5.906 2.656L19.5 12.5c1.91 1.91 1.902 5.074-.031 7.094L20.937 21c2.665-2.781 2.657-7.219-.03-9.906z"},null,-1)]))}const ze=P({name:"la-volume-up",render:Ne}),Ve={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"};function Me(e,d){return o(),r("svg",Ve,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M15 4.594L13.281 6.28L8.562 11H4v10h4.563l4.718 4.719L15 27.406zm-2 4.843v13.126L9.719 19.28L9.406 19H6v-6h3.406l.313-.281zm7.219 2.344L18.78 13.22L21.563 16l-2.782 2.781l1.438 1.438L23 17.437l2.781 2.782l1.438-1.438L24.437 16l2.782-2.781l-1.438-1.438L23 14.562z"},null,-1)]))}const Le=P({name:"la-volume-off",render:Me}),Se=["transform"],De=["opacity"],Ae=["width","fill"],Re=["stroke","fill"],je=["fill"],Pe=["stroke"],Ee=["onDblclick","data-sub"],He=["transform"],Te=["width","x","fill"],Xe=["transform","fill","opacity"],Ue=["x"],Ie=["fill","stroke"],Oe={key:0,class:"transition-all duration-100 ease-out pointer-events-none",cx:0,cy:100,r:"3",fill:"currentColor",opacity:"0.8"},qe={__name:"BeatBarsStep",props:{proportion:{type:Number,default:1},step:{type:Number,default:1},subdivisions:{type:[Array,String],default:""},muted:{type:Boolean,default:!1},total:{type:Number,default:4},current:{type:[Number,String],default:0},mutes:{type:Object,default:{}},accented:{type:Boolean,default:!1},width:{type:Number,default:900},pad:{type:Number,default:50}},emits:["mute","subdivide","accent"],setup(e,{emit:d}){const{isDark:p}=q(),c=e,l=d,x=M(()=>Q(c.step+O.pitch/12*c.total,c.total,1));M(()=>c.subdivisions[0].includes("!"));const i=W(0,40,640),h=M(()=>Math.floor(i.value/40));A(h,(a,m)=>{if(a==m)return;let g=[];for(let s=0;s{let a=c.subdivisions[0]==c.current,m=c.subdivisions[0].split("-")[0],g=c.current.split("-")[0];return!c.mutes[c.subdivisions[0]]&&(a||m==g)});return(a,m)=>{const g=T("drag");return o(),r("g",{class:"cursor-pointer",transform:`translate(${e.proportion*e.step*e.width+e.pad},0)`},[n("g",{class:"step",opacity:e.muted?.1:1},[n("rect",{class:"transition-fill duration-100",onMousedown:m[0]||(m[0]=s=>a.$emit("mute")),width:e.proportion*e.width,height:"180",rx:"10",fill:v.value?e.muted?"transparent":x.value:"transparent"},null,40,Ae),n("circle",{class:"transition-all duration-100 ease-out",onMousedown:m[1]||(m[1]=s=>e.muted?a.$emit("mute"):a.$emit("accent")),cy:"35",cx:"0",r:"25","stroke-width":"4",stroke:x.value,fill:v.value?e.muted?"transparent":"currentColor":e.accented?x.value:t(p)?"#333":"#eee"},null,40,Re),n("text",{class:"pointer-events-none transition-all duration-100 ease-out",y:"48","font-size":"40","text-anchor":"middle",x:"0",fill:v.value?t(p)?"#333":"#eee":"currentColor"},B(e.step+1),9,je),n("line",{class:"pointer-events-none",y1:"60",y2:"100","stroke-width":"8",stroke:x.value},null,8,Pe),(o(!0),r(z,null,V(e.subdivisions,(s,f)=>b((o(),r("g",{class:"sub",key:s,onDblclick:R=>{a.$emit("subdivide",[`${s}-1`]),i.value=40},"data-sub":s},[n("line",{transform:`translate(${f*e.proportion*e.width/e.subdivisions.length}, 0)`,y1:"100",y2:"150","stroke-width":"1",stroke:"currentColor"},null,8,He),n("rect",{class:"transition-fill duration-100",width:e.proportion*e.width/e.subdivisions.length,height:"80",y:"100",rx:"10",x:f*e.proportion*e.width/e.subdivisions.length,fill:`hsla(0,0%,${90-f*80/e.subdivisions.length}%,${s==e.current?.9:.4})`},null,8,Te),n("circle",{class:"transition-all duration-100 ease-out pointer-events-none",transform:`translate(${f*e.proportion*e.width/e.subdivisions.length}, 0)`,cx:0,cy:100,r:6,fill:s==e.current?"currentColor":e.muted?"transparent":x.value,opacity:e.mutes[s]?0:1,"stroke-width":"4","stroke-linecap":"round"},null,8,Xe),e.mutes[s]?C("",!0):(o(),r("text",{key:0,y:"140","font-size":"40","text-anchor":"middle",x:15+f*e.proportion*e.width/e.subdivisions.length,fill:"currentColor"},B(f+1),9,Ue))],40,Ee)),[[g,w]])),128)),n("circle",{class:"transition-all duration-100 ease-out pointer-events-none",cx:"0",cy:100,r:"10",fill:x.value,stroke:v.value?"currentColor":"transparent","stroke-width":"4",opacity:"0.8"},null,8,Ie)],8,De),e.muted?(o(),r("circle",Oe)):C("",!0)],8,Se)}}},Fe={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"};function Ge(e,d){return o(),r("svg",Fe,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"m19.031 4.281l-11 11l-.687.719l.687.719l11 11l1.438-1.438L10.187 16L20.47 5.719z"},null,-1)]))}const Je=P({name:"la-angle-left",render:Ge}),Ke={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"};function Qe(e,d){return o(),r("svg",Ke,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M12.969 4.281L11.53 5.72L21.812 16l-10.28 10.281l1.437 1.438l11-11l.687-.719l-.687-.719z"},null,-1)]))}const We=P({name:"la-angle-right",render:Qe}),Ye={class:"bar cursor-pointer","font-size":"32px"},Ze=["x1","x2","y1","y2","stroke-width","stroke"],et=["x2","y1","y2","stroke"],tt=["x1","x2","y1","y2","stroke-width","stroke"],nt={key:0,class:"all"},ot=["cx","cy","r"],lt=["cx","cy"],st=["transform"],rt=["fill"],it={transform:"translate(0 10)",fill:"currentColor","text-anchor":"middle"},at={__name:"BeatControlBar",props:{modelValue:{type:[Number,String],default:.1},step:{type:Number,default:.1},min:{type:Number,default:0},max:{type:Number,default:1},width:{type:Number,default:100},height:{type:Number,default:50},vector:{type:Array,default:[1,-1]},showPositions:{type:Boolean,default:!1},ratio:{type:Number,default:200},every:{type:Number,default:null},showCenter:{type:Boolean,default:!1},inverted:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:d}){const{isDark:p}=q(),c=d,l=e,x=J({inner:W((Number(l.modelValue)-l.min)/(l.max-l.min),0,1),proportion:M(()=>l.inverted?(Number(l.modelValue)-l.max)/(l.min-l.max):(Number(l.modelValue)-l.min)/(l.max-l.min)),pos:M(()=>x.proportion*l.width)});function i(v){x.inner+=(l.vector[0]*v.delta[0]+l.vector[1]*v.delta[1])/l.ratio}function h(v){x.inner+=v*l.step/(l.max-l.min)}A(()=>x.inner,v=>{let a=v*(l.max-l.min)+l.min;c("update:modelValue",Math.round(a/l.step)*l.step)});const w=M(()=>{let v=(l.max-l.min)/l.step,a=[];for(let m=0;m<=1;m+=1/v)a.push(m*l.width);return a});return(v,a)=>{const m=T("drag");return b((o(),r("g",Ye,[n("line",{class:"add",onMousedown:a[0]||(a[0]=g=>h(1)),x1:e.inverted?0:x.pos,x2:e.inverted?x.pos:e.width,y1:e.height/2,y2:e.height/2,"stroke-linecap":"round","stroke-width":e.height,stroke:t(p)?"#1114":"#fff8"},null,40,Ze),n("line",{class:"pointer-events-none",x1:0,x2:e.width,y1:e.height/2,y2:e.height/2,"stroke-linecap":"round","stroke-width":18,stroke:t(p)?"#2228":"#eee"},null,8,et),n("line",{class:"subtract",onMousedown:a[1]||(a[1]=g=>h(-1)),x1:e.inverted?e.width:e.showCenter?e.width/2:0,x2:x.pos,y1:e.height/2,y2:e.height/2,"stroke-linecap":"round","stroke-width":e.height,stroke:t(p)?"#3338":"#ddd8"},null,40,tt),e.showPositions?(o(),r("g",nt,[(o(!0),r(z,null,V(w.value,(g,s)=>(o(),r("circle",{key:g,cx:g,cy:e.height/2,r:e.every&&s%e.every==0?4:2,fill:"currentColor",opacity:"0.5"},null,8,ot))),128))])):C("",!0),e.showCenter?(o(),r("circle",{key:1,cx:e.width/2,cy:e.height/2,r:"4",opacity:"0.5",fill:"currentColor"},null,8,lt)):C("",!0),n("g",{class:"mover",transform:`translate(${x.pos} ${e.height/2})`},[n("circle",{r:"25","stroke-width":"0","stroke-opacity":"0.5",stroke:"currentColor",style:{filter:"url(#shadowButton)"},fill:t(p)?"#333":"#eee"},null,8,rt),n("g",it,[ie(v.$slots,"default",{},()=>[n("text",null,B(e.modelValue),1)])])],8,st)])),[[m,i]])}}},ut={class:"w-full bg-light-300 dark-bg-dark-800",version:"1.1",baseProfile:"full",viewBox:"0 0 1000 350",xmlns:"http://www.w3.org/2000/svg",style:{"user-select":"none","touch-action":"none"}},dt={key:0,class:"meter-bars",transform:"translate(40,15)"},ct={class:"info",transform:"translate(500,53)"},mt={class:"signature"},vt={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"40px","text-anchor":"end",x:-10},ht={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"40px","text-anchor":"start",x:10},ft={"text-anchor":"middle",style:{"user-select":"none",transition:"all 300ms ease"}},yt=["opacity"],xt={class:"lines",transform:"translate(0,100)"},pt=["x1","x2"],gt=["x1","x2","stroke"],wt={class:"arrows pointer-events-none"},bt=["transform"],kt=["cx","r","fill"],$t={class:"bottom",transform:"translate(40,290)"},Ct={transform:"translate(-20 -30)"},_t=["fill"],Bt=["fill"],Nt={__name:"BeatBarsBar",props:{order:{type:Number,default:0},loop:{type:Object,default:{over:4,under:4,sound:"A",volume:1}},maxRatio:{type:Number,default:1},editable:{type:Boolean,default:!1},mute:{type:String,default:null},accents:{type:String,default:null},width:{type:Number,default:920}},emits:["del","sound"],setup(e,{emit:d}){const{isDark:p}=q(),c=e,l=M(()=>(1e3-c.width)/2),{seq:x,meter:i,current:h,steps:w,mutes:v,accents:a,volume:m,activeSteps:g,progress:s,pan:f,isEuclidean:R,reset:H,rotateAccents:X}=he(c.loop,c.order,"bars"),F=["A","B","C","D","E"],U=K(F.findIndex(k=>k==(i==null?void 0:i.sound)));A(U,k=>{i.sound=F[k]});const j=M(()=>{const k=1/i.over;return k>=c.maxRatio?c.maxRatio:k});return A(()=>c.loop,k=>{Object.assign(i,{...c.loop})},{immediate:!0}),A(()=>c.accents,k=>{k&&k.split("").forEach((u,L)=>{v.value[L]=u=="0"||u==".",a.value[L]=u=="2"||u=="X"})},{immediate:!0}),(k,u)=>{const L=at,Y=We,Z=Je,ee=qe,te=Le,ne=ze,oe=_e,le=ke,se=re,_=T("tooltip");return o(),r("svg",ut,[u[12]||(u[12]=n("defs",null,[n("filter",{id:"shadowButton",x:"-50%",height:"200%",width:"300%"},[n("feDropShadow",{dx:"0",dy:"3",stdDeviation:"3","flood-color":"#2225"})])],-1)),e.editable?(o(),r("g",dt,[b(N(L,{class:"over",modelValue:t(i).over,"onUpdate:modelValue":u[0]||(u[0]=y=>t(i).over=y),width:340,step:1,min:2,max:16,"show-positions":"",ratio:500,every:4},null,8,["modelValue"]),[[_,"Number of steps",void 0,{top:!0}]]),b(N(L,{class:"under",transform:"translate(580,0)",modelValue:t(i).under,"onUpdate:modelValue":u[1]||(u[1]=y=>t(i).under=y),width:340,step:1,min:1,max:16,"show-positions":"",ratio:500,every:4,inverted:"",vector:[-1,-1]},null,8,["modelValue"]),[[_,"Measure subdivision",void 0,{top:!0}]])])):C("",!0),n("g",ct,[b((o(),r("g",mt,[u[9]||(u[9]=n("text",{fill:"currentColor","font-size":"45","text-anchor":"middle",y:"2"},"/",-1)),n("text",vt,B(t(i).over),1),n("text",ht,B(t(i).under),1)])),[[_,"Time signature",void 0,{top:!0}]]),b((o(),r("g",{class:"cursor-pointer opacity-50 transition-all duration-200 ease hover-opacity-100",transform:"translate(70,-10)",onMousedown:u[2]||(u[2]=y=>t(X)(-1))},[u[10]||(u[10]=n("circle",{r:"18",fill:"#5553"},null,-1)),N(Y,{"font-size":"28",x:"-17",y:"-17"})],32)),[[_,"Rotate pattern backward",void 0,{top:!0}]]),b((o(),r("g",{class:"cursor-pointer opacity-50 transition-all duration-200 ease hover-opacity-100",transform:"translate(-70,-10)",onMousedown:u[3]||(u[3]=y=>t(X)(1))},[u[11]||(u[11]=n("circle",{r:"18",fill:"#5553"},null,-1)),N(Z,{"font-size":"28",x:"-17",y:"-17"})],32)),[[_,"Rotate pattern forward",void 0,{top:!0}]])]),n("g",ft,[n("g",{class:"steps",opacity:t(m)*.9+.1,transform:"translate(0,90)"},[n("g",xt,[n("line",{x1:l.value,x2:j.value*t(w).length*e.width+l.value,stroke:"currentColor","stroke-width":"2"},null,8,pt),(o(!0),r(z,null,V(t(g),(y,$)=>(o(),r("line",{key:$,x1:j.value*Number(y)*e.width+l.value,x2:j.value*(t(g)[$+1]||t(w).length)*e.width+l.value,"stroke-width":"6",stroke:t(Q)(Number(y)+Number(t(O).pitch)/12*t(w).length,t(w).length,1)},null,8,gt))),128))]),(o(!0),r(z,null,V(t(w),(y,$)=>(o(),S(ee,{key:$,onMute:I=>t(v)[$]=!t(v)[$],onSubdivide:I=>t(w)[$]=I,onAccent:I=>t(a)[$]=!t(a)[$],muted:t(v)[$],step:$,accented:!!t(a)[$],mutes:t(v),current:t(h),subdivisions:y,proportion:j.value,total:t(w).length,width:e.width,pad:l.value},null,8,["onMute","onSubdivide","onAccent","muted","step","accented","mutes","current","subdivisions","proportion","total","width","pad"]))),128)),n("g",wt,[n("line",{class:"progress",transform:`translate(${l.value+t(s)*e.width*j.value*t(i).over}, 0)`,"stroke-width":"4",stroke:"currentColor","stroke-linecap":"round",y2:180},null,8,bt)]),n("circle",{cx:j.value*t(w).length*e.width+l.value,cy:100,r:t(v)[1]?4:8,fill:t(v)[1]?"currentColor":t(fe)(Number(t(O).pitch),4)},null,8,kt)],8,yt),n("g",$t,[b((o(),S(L,{class:"volume",modelValue:t(m),"onUpdate:modelValue":u[4]||(u[4]=y=>G(m)?m.value=y:null),width:200,step:.01},{default:E(()=>[n("g",Ct,[t(m)==0?(o(),S(te,{key:0})):(o(),S(ne,{key:1}))])]),_:1},8,["modelValue"])),[[_,"Track volume",void 0,{bottom:!0}]]),b((o(),S(L,{class:"pan",transform:"translate(270,0)",modelValue:t(f),"onUpdate:modelValue":u[5]||(u[5]=y=>G(f)?f.value=y:null),min:-1,max:1,width:200,step:.01,"show-center":""},{default:E(()=>[N(oe,{x:-18,y:-30})]),_:1},8,["modelValue"])),[[_,"Track panning",void 0,{bottom:!0}]]),b((o(),S(L,{class:"sound",transform:"translate(540,0)",modelValue:U.value,"onUpdate:modelValue":u[6]||(u[6]=y=>U.value=y),width:265,step:1,min:0,max:4,"show-positions":"",every:1},{default:E(()=>{var y;return[n("text",null,B((y=t(i))==null?void 0:y.sound),1)]}),_:1},8,["modelValue"])),[[_,"Click sound select",void 0,{bottom:!0}]]),N(ue,{name:"fade"},{default:E(()=>[e.editable&&!t(R)?b((o(),r("g",{key:0,class:"reset cursor-pointer",onMousedown:u[7]||(u[7]=y=>t(H)()),transform:"translate(840, 0)"},[n("rect",{style:{filter:"url(#shadowButton)"},width:"50",height:"50","stroke-width":"3",rx:"40",fill:t(p)?"hsla(0,0%,30%,1)":"hsla(0,0%,100%,1)"},null,8,_t),N(le,{"stroke-width":"0",y:"9",x:"9","font-size":"26"})],32)),[[_,"Reset to Euclidean pattern",void 0,{bottom:!0}]]):C("",!0)]),_:1}),e.editable?b((o(),r("g",{key:0,class:"del cursor-pointer",onMousedown:u[8]||(u[8]=y=>k.$emit("del")),transform:"translate(900, 0)"},[n("rect",{style:{filter:"url(#shadowButton)"},width:"50",height:"50","stroke-width":"3",rx:"40",fill:t(p)?"hsla(0,0%,30%,1)":"hsla(0,0%,100%,1)"},null,8,Bt),N(se,{color:"hsla(0,25%,50%,1)","stroke-width":"0",y:"9",x:"9","font-size":"26"})],32)),[[_,"Remove track",void 0,{bottom:!0}]]):C("",!0)])])])}}},zt=ae(Nt,[["__scopeId","data-v-e31215ad"]]),D=de("tempo-bar-loops-object",{0:{over:8,under:8,volume:1,sound:"A"},1:{over:3,under:3,volume:.5,sound:"B"}}),Vt={class:"flex flex-wrap items-center w-full p-4 has-bg rounded-xl relative gap-6 bg-light-600 dark-bg-dark-500",id:"screen"},Mt={key:1,class:"flex flex-col p-2 my-2 is-group w-full"},Lt={class:"flex flex"},St={class:"flex flex-wrap justify-center"},Dt={class:"font-bold mx-2"},At={key:0},Rt={class:"flex flex-wrap justify-center is-group m-1 text-xl p-2",style:{flex:"1 1 100%"}},jt={key:1,class:"is-group m-2"},Pt=["onClick"],Et=["onClick"],Ut={__name:"BeatBars",props:{meters:{type:Array,default:null},patterns:{type:Object,default:null},accents:{type:String,default:"XxXxXxXx"},mute:{type:String,delault:""},secondary:{type:Boolean,default:!1}},setup(e){const d=e,p=K(d.accents),c=J({over:4,under:4,volume:1,sound:"A"});A(()=>d.meters,i=>{if(i){let h=i[0].split("/");D.value={0:{over:Number(h[0]),under:Number(h[1]),volume:d.secondary?0:1,sound:"A"}}}},{immediate:!0}),A(()=>d.patterns,i=>{i&&(p.value=Object.keys(i)[0])},{immediate:!0});function l(i,h){D.value={0:{over:i.length,under:Number(h?h.split("/")[1]:i.length),volume:d.secondary?0:1,sound:"A"}},p.value=i,console.log(D.value)}function x(){D.value[Math.floor(Math.random()*1e4)]={...c}}return(i,h)=>{const w=ge,v=zt,a=ce("client-only"),m=T("tooltip");return o(),r("div",Vt,[N(a,null,{default:E(()=>{var g;return[e.secondary?C("",!0):(o(),S(w,{key:0,secondary:!0})),(o(!0),r(z,null,V(t(D),(s,f)=>(o(),S(v,{class:"my-1 rounded-3xl shadow-lg min-h-36 max-h-30vh",style:{flex:"1 1 420px"},key:f,order:Number(f),loop:s,maxRatio:t(ye),onDel:R=>delete t(D)[f],editable:!e.meters,accents:p.value,mute:e.mute},null,8,["order","loop","maxRatio","onDel","editable","accents","mute"]))),128)),e.patterns?(o(),r("div",Mt,[n("div",Lt,[(o(!0),r(z,null,V(p.value,(s,f)=>(o(),r("div",{class:"flex-1 p-1 border-1 border-current rounded-lg m-1 opacity-50",key:f,style:me({opacity:s=="X"?1:.5,backgroundColor:s=="1"||s=="X"||s=="x"?"currentColor":"transparent"})},null,4))),128))]),n("div",St,[(o(!0),r(z,null,V((g=e.patterns[p.value])==null?void 0:g.names,s=>(o(),r("div",{class:"p-1",key:s},[n("span",Dt,B(s.name),1),s.place?(o(),r("span",At,"("+B(s.place)+")",1)):C("",!0)]))),128))])])):C("",!0),n("div",Rt,[e.meters?C("",!0):b((o(),r("button",{key:0,class:"text-button",onClick:h[0]||(h[0]=s=>x())},h[2]||(h[2]=[n("div",{class:"i-la-plus"},null,-1)]))),[[m,"Add new track",void 0,{bottom:!0}]]),b((o(),r("button",{class:"text-button flex items-center",onClick:h[1]||(h[1]=s=>t(xe)(t(pe)))},h[3]||(h[3]=[n("div",{class:"i-la-file-download"},null,-1)]))),[[m,"Export MIDI file",void 0,{bottom:!0}]]),e.meters&&e.meters.length>1?(o(),r("div",jt,[(o(!0),r(z,null,V(e.meters,s=>(o(),r("button",{class:"text-button",onClick:f=>D.value=[{over:s.split("/")[0],under:s.split("/")[1],sound:"A",volume:1}]},B(s),9,Pt))),256))])):C("",!0),(o(!0),r(z,null,V(e.patterns,(s,f)=>{var R,H;return o(),r("button",{class:ve(["text-button",{active:p.value==f}]),onClick:X=>l(f,s.meter)},B(((H=(R=s==null?void 0:s.names)==null?void 0:R[0])==null?void 0:H.name)||f),11,Et)}),256))])]}),_:1})])}}};export{Ut as _}; +import{_ as re}from"./trash.N5lXjyoo.js";import{m as P,x as o,y as r,A as n,v as q,c as M,d as A,M as T,E as t,G as B,F as z,B as V,C as b,I as C,b as J,J as ie,q as ae,r as K,P as N,T as S,U as E,V as G,aj as ue,u as de,$ as ce,H as me,z as ve}from"./framework.CQBrk0Ry.js";import{ao as Q,K as O,D as W,T as he,c as fe,ap as ye,aq as xe,ar as pe,as as ge}from"./theme.Dd_Fb62b.js";const we={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function be(e,d){return o(),r("svg",we,d[0]||(d[0]=[n("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M22 5h-5v5h-5v5H7v5H2"},null,-1)]))}const ke=P({name:"tabler-stairs",render:be}),$e={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ce(e,d){return o(),r("svg",$e,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"m7 8l-4.5 4L7 16zm10 0v8l4.5-4zm-5 2a2 2 0 0 0-2 2a2 2 0 0 0 2 2a2 2 0 0 0 2-2a2 2 0 0 0-2-2"},null,-1)]))}const _e=P({name:"mdi-pan-horizontal",render:Ce}),Be={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"};function Ne(e,d){return o(),r("svg",Be,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M17 3.594L15.281 5.28L9.562 11H5v10h4.563l5.718 5.719L17 28.406zm6.813 4.594l-1.407 1.406a8.943 8.943 0 0 1 0 12.687l1.407 1.438c4.28-4.282 4.28-11.25 0-15.532zM15 8.438v15.124l-4.281-4.28l-.313-.282H7v-6h3.406l.313-.281zm5.906 2.656L19.5 12.5c1.91 1.91 1.902 5.074-.031 7.094L20.937 21c2.665-2.781 2.657-7.219-.03-9.906z"},null,-1)]))}const ze=P({name:"la-volume-up",render:Ne}),Ve={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"};function Me(e,d){return o(),r("svg",Ve,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M15 4.594L13.281 6.28L8.562 11H4v10h4.563l4.718 4.719L15 27.406zm-2 4.843v13.126L9.719 19.28L9.406 19H6v-6h3.406l.313-.281zm7.219 2.344L18.78 13.22L21.563 16l-2.782 2.781l1.438 1.438L23 17.437l2.781 2.782l1.438-1.438L24.437 16l2.782-2.781l-1.438-1.438L23 14.562z"},null,-1)]))}const Le=P({name:"la-volume-off",render:Me}),Se=["transform"],De=["opacity"],Ae=["width","fill"],Re=["stroke","fill"],je=["fill"],Pe=["stroke"],Ee=["onDblclick","data-sub"],He=["transform"],Te=["width","x","fill"],Xe=["transform","fill","opacity"],Ue=["x"],Ie=["fill","stroke"],Oe={key:0,class:"transition-all duration-100 ease-out pointer-events-none",cx:0,cy:100,r:"3",fill:"currentColor",opacity:"0.8"},qe={__name:"BeatBarsStep",props:{proportion:{type:Number,default:1},step:{type:Number,default:1},subdivisions:{type:[Array,String],default:""},muted:{type:Boolean,default:!1},total:{type:Number,default:4},current:{type:[Number,String],default:0},mutes:{type:Object,default:{}},accented:{type:Boolean,default:!1},width:{type:Number,default:900},pad:{type:Number,default:50}},emits:["mute","subdivide","accent"],setup(e,{emit:d}){const{isDark:p}=q(),c=e,l=d,x=M(()=>Q(c.step+O.pitch/12*c.total,c.total,1));M(()=>c.subdivisions[0].includes("!"));const i=W(0,40,640),h=M(()=>Math.floor(i.value/40));A(h,(a,m)=>{if(a==m)return;let g=[];for(let s=0;s{let a=c.subdivisions[0]==c.current,m=c.subdivisions[0].split("-")[0],g=c.current.split("-")[0];return!c.mutes[c.subdivisions[0]]&&(a||m==g)});return(a,m)=>{const g=T("drag");return o(),r("g",{class:"cursor-pointer",transform:`translate(${e.proportion*e.step*e.width+e.pad},0)`},[n("g",{class:"step",opacity:e.muted?.1:1},[n("rect",{class:"transition-fill duration-100",onMousedown:m[0]||(m[0]=s=>a.$emit("mute")),width:e.proportion*e.width,height:"180",rx:"10",fill:v.value?e.muted?"transparent":x.value:"transparent"},null,40,Ae),n("circle",{class:"transition-all duration-100 ease-out",onMousedown:m[1]||(m[1]=s=>e.muted?a.$emit("mute"):a.$emit("accent")),cy:"35",cx:"0",r:"25","stroke-width":"4",stroke:x.value,fill:v.value?e.muted?"transparent":"currentColor":e.accented?x.value:t(p)?"#333":"#eee"},null,40,Re),n("text",{class:"pointer-events-none transition-all duration-100 ease-out",y:"48","font-size":"40","text-anchor":"middle",x:"0",fill:v.value?t(p)?"#333":"#eee":"currentColor"},B(e.step+1),9,je),n("line",{class:"pointer-events-none",y1:"60",y2:"100","stroke-width":"8",stroke:x.value},null,8,Pe),(o(!0),r(z,null,V(e.subdivisions,(s,f)=>b((o(),r("g",{class:"sub",key:s,onDblclick:R=>{a.$emit("subdivide",[`${s}-1`]),i.value=40},"data-sub":s},[n("line",{transform:`translate(${f*e.proportion*e.width/e.subdivisions.length}, 0)`,y1:"100",y2:"150","stroke-width":"1",stroke:"currentColor"},null,8,He),n("rect",{class:"transition-fill duration-100",width:e.proportion*e.width/e.subdivisions.length,height:"80",y:"100",rx:"10",x:f*e.proportion*e.width/e.subdivisions.length,fill:`hsla(0,0%,${90-f*80/e.subdivisions.length}%,${s==e.current?.9:.4})`},null,8,Te),n("circle",{class:"transition-all duration-100 ease-out pointer-events-none",transform:`translate(${f*e.proportion*e.width/e.subdivisions.length}, 0)`,cx:0,cy:100,r:6,fill:s==e.current?"currentColor":e.muted?"transparent":x.value,opacity:e.mutes[s]?0:1,"stroke-width":"4","stroke-linecap":"round"},null,8,Xe),e.mutes[s]?C("",!0):(o(),r("text",{key:0,y:"140","font-size":"40","text-anchor":"middle",x:15+f*e.proportion*e.width/e.subdivisions.length,fill:"currentColor"},B(f+1),9,Ue))],40,Ee)),[[g,w]])),128)),n("circle",{class:"transition-all duration-100 ease-out pointer-events-none",cx:"0",cy:100,r:"10",fill:x.value,stroke:v.value?"currentColor":"transparent","stroke-width":"4",opacity:"0.8"},null,8,Ie)],8,De),e.muted?(o(),r("circle",Oe)):C("",!0)],8,Se)}}},Fe={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"};function Ge(e,d){return o(),r("svg",Fe,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"m19.031 4.281l-11 11l-.687.719l.687.719l11 11l1.438-1.438L10.187 16L20.47 5.719z"},null,-1)]))}const Je=P({name:"la-angle-left",render:Ge}),Ke={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"};function Qe(e,d){return o(),r("svg",Ke,d[0]||(d[0]=[n("path",{fill:"currentColor",d:"M12.969 4.281L11.53 5.72L21.812 16l-10.28 10.281l1.437 1.438l11-11l.687-.719l-.687-.719z"},null,-1)]))}const We=P({name:"la-angle-right",render:Qe}),Ye={class:"bar cursor-pointer","font-size":"32px"},Ze=["x1","x2","y1","y2","stroke-width","stroke"],et=["x2","y1","y2","stroke"],tt=["x1","x2","y1","y2","stroke-width","stroke"],nt={key:0,class:"all"},ot=["cx","cy","r"],lt=["cx","cy"],st=["transform"],rt=["fill"],it={transform:"translate(0 10)",fill:"currentColor","text-anchor":"middle"},at={__name:"BeatControlBar",props:{modelValue:{type:[Number,String],default:.1},step:{type:Number,default:.1},min:{type:Number,default:0},max:{type:Number,default:1},width:{type:Number,default:100},height:{type:Number,default:50},vector:{type:Array,default:[1,-1]},showPositions:{type:Boolean,default:!1},ratio:{type:Number,default:200},every:{type:Number,default:null},showCenter:{type:Boolean,default:!1},inverted:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:d}){const{isDark:p}=q(),c=d,l=e,x=J({inner:W((Number(l.modelValue)-l.min)/(l.max-l.min),0,1),proportion:M(()=>l.inverted?(Number(l.modelValue)-l.max)/(l.min-l.max):(Number(l.modelValue)-l.min)/(l.max-l.min)),pos:M(()=>x.proportion*l.width)});function i(v){x.inner+=(l.vector[0]*v.delta[0]+l.vector[1]*v.delta[1])/l.ratio}function h(v){x.inner+=v*l.step/(l.max-l.min)}A(()=>x.inner,v=>{let a=v*(l.max-l.min)+l.min;c("update:modelValue",Math.round(a/l.step)*l.step)});const w=M(()=>{let v=(l.max-l.min)/l.step,a=[];for(let m=0;m<=1;m+=1/v)a.push(m*l.width);return a});return(v,a)=>{const m=T("drag");return b((o(),r("g",Ye,[n("line",{class:"add",onMousedown:a[0]||(a[0]=g=>h(1)),x1:e.inverted?0:x.pos,x2:e.inverted?x.pos:e.width,y1:e.height/2,y2:e.height/2,"stroke-linecap":"round","stroke-width":e.height,stroke:t(p)?"#1114":"#fff8"},null,40,Ze),n("line",{class:"pointer-events-none",x1:0,x2:e.width,y1:e.height/2,y2:e.height/2,"stroke-linecap":"round","stroke-width":18,stroke:t(p)?"#2228":"#eee"},null,8,et),n("line",{class:"subtract",onMousedown:a[1]||(a[1]=g=>h(-1)),x1:e.inverted?e.width:e.showCenter?e.width/2:0,x2:x.pos,y1:e.height/2,y2:e.height/2,"stroke-linecap":"round","stroke-width":e.height,stroke:t(p)?"#3338":"#ddd8"},null,40,tt),e.showPositions?(o(),r("g",nt,[(o(!0),r(z,null,V(w.value,(g,s)=>(o(),r("circle",{key:g,cx:g,cy:e.height/2,r:e.every&&s%e.every==0?4:2,fill:"currentColor",opacity:"0.5"},null,8,ot))),128))])):C("",!0),e.showCenter?(o(),r("circle",{key:1,cx:e.width/2,cy:e.height/2,r:"4",opacity:"0.5",fill:"currentColor"},null,8,lt)):C("",!0),n("g",{class:"mover",transform:`translate(${x.pos} ${e.height/2})`},[n("circle",{r:"25","stroke-width":"0","stroke-opacity":"0.5",stroke:"currentColor",style:{filter:"url(#shadowButton)"},fill:t(p)?"#333":"#eee"},null,8,rt),n("g",it,[ie(v.$slots,"default",{},()=>[n("text",null,B(e.modelValue),1)])])],8,st)])),[[m,i]])}}},ut={class:"w-full bg-light-300 dark-bg-dark-800",version:"1.1",baseProfile:"full",viewBox:"0 0 1000 350",xmlns:"http://www.w3.org/2000/svg",style:{"user-select":"none","touch-action":"none"}},dt={key:0,class:"meter-bars",transform:"translate(40,15)"},ct={class:"info",transform:"translate(500,53)"},mt={class:"signature"},vt={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"40px","text-anchor":"end",x:-10},ht={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"40px","text-anchor":"start",x:10},ft={"text-anchor":"middle",style:{"user-select":"none",transition:"all 300ms ease"}},yt=["opacity"],xt={class:"lines",transform:"translate(0,100)"},pt=["x1","x2"],gt=["x1","x2","stroke"],wt={class:"arrows pointer-events-none"},bt=["transform"],kt=["cx","r","fill"],$t={class:"bottom",transform:"translate(40,290)"},Ct={transform:"translate(-20 -30)"},_t=["fill"],Bt=["fill"],Nt={__name:"BeatBarsBar",props:{order:{type:Number,default:0},loop:{type:Object,default:{over:4,under:4,sound:"A",volume:1}},maxRatio:{type:Number,default:1},editable:{type:Boolean,default:!1},mute:{type:String,default:null},accents:{type:String,default:null},width:{type:Number,default:920}},emits:["del","sound"],setup(e,{emit:d}){const{isDark:p}=q(),c=e,l=M(()=>(1e3-c.width)/2),{seq:x,meter:i,current:h,steps:w,mutes:v,accents:a,volume:m,activeSteps:g,progress:s,pan:f,isEuclidean:R,reset:H,rotateAccents:X}=he(c.loop,c.order,"bars"),F=["A","B","C","D","E"],U=K(F.findIndex(k=>k==(i==null?void 0:i.sound)));A(U,k=>{i.sound=F[k]});const j=M(()=>{const k=1/i.over;return k>=c.maxRatio?c.maxRatio:k});return A(()=>c.loop,k=>{Object.assign(i,{...c.loop})},{immediate:!0}),A(()=>c.accents,k=>{k&&k.split("").forEach((u,L)=>{v.value[L]=u=="0"||u==".",a.value[L]=u=="2"||u=="X"})},{immediate:!0}),(k,u)=>{const L=at,Y=We,Z=Je,ee=qe,te=Le,ne=ze,oe=_e,le=ke,se=re,_=T("tooltip");return o(),r("svg",ut,[u[12]||(u[12]=n("defs",null,[n("filter",{id:"shadowButton",x:"-50%",height:"200%",width:"300%"},[n("feDropShadow",{dx:"0",dy:"3",stdDeviation:"3","flood-color":"#2225"})])],-1)),e.editable?(o(),r("g",dt,[b(N(L,{class:"over",modelValue:t(i).over,"onUpdate:modelValue":u[0]||(u[0]=y=>t(i).over=y),width:340,step:1,min:2,max:16,"show-positions":"",ratio:500,every:4},null,8,["modelValue"]),[[_,"Number of steps",void 0,{top:!0}]]),b(N(L,{class:"under",transform:"translate(580,0)",modelValue:t(i).under,"onUpdate:modelValue":u[1]||(u[1]=y=>t(i).under=y),width:340,step:1,min:1,max:16,"show-positions":"",ratio:500,every:4,inverted:"",vector:[-1,-1]},null,8,["modelValue"]),[[_,"Measure subdivision",void 0,{top:!0}]])])):C("",!0),n("g",ct,[b((o(),r("g",mt,[u[9]||(u[9]=n("text",{fill:"currentColor","font-size":"45","text-anchor":"middle",y:"2"},"/",-1)),n("text",vt,B(t(i).over),1),n("text",ht,B(t(i).under),1)])),[[_,"Time signature",void 0,{top:!0}]]),b((o(),r("g",{class:"cursor-pointer opacity-50 transition-all duration-200 ease hover-opacity-100",transform:"translate(70,-10)",onMousedown:u[2]||(u[2]=y=>t(X)(-1))},[u[10]||(u[10]=n("circle",{r:"18",fill:"#5553"},null,-1)),N(Y,{"font-size":"28",x:"-17",y:"-17"})],32)),[[_,"Rotate pattern backward",void 0,{top:!0}]]),b((o(),r("g",{class:"cursor-pointer opacity-50 transition-all duration-200 ease hover-opacity-100",transform:"translate(-70,-10)",onMousedown:u[3]||(u[3]=y=>t(X)(1))},[u[11]||(u[11]=n("circle",{r:"18",fill:"#5553"},null,-1)),N(Z,{"font-size":"28",x:"-17",y:"-17"})],32)),[[_,"Rotate pattern forward",void 0,{top:!0}]])]),n("g",ft,[n("g",{class:"steps",opacity:t(m)*.9+.1,transform:"translate(0,90)"},[n("g",xt,[n("line",{x1:l.value,x2:j.value*t(w).length*e.width+l.value,stroke:"currentColor","stroke-width":"2"},null,8,pt),(o(!0),r(z,null,V(t(g),(y,$)=>(o(),r("line",{key:$,x1:j.value*Number(y)*e.width+l.value,x2:j.value*(t(g)[$+1]||t(w).length)*e.width+l.value,"stroke-width":"6",stroke:t(Q)(Number(y)+Number(t(O).pitch)/12*t(w).length,t(w).length,1)},null,8,gt))),128))]),(o(!0),r(z,null,V(t(w),(y,$)=>(o(),S(ee,{key:$,onMute:I=>t(v)[$]=!t(v)[$],onSubdivide:I=>t(w)[$]=I,onAccent:I=>t(a)[$]=!t(a)[$],muted:t(v)[$],step:$,accented:!!t(a)[$],mutes:t(v),current:t(h),subdivisions:y,proportion:j.value,total:t(w).length,width:e.width,pad:l.value},null,8,["onMute","onSubdivide","onAccent","muted","step","accented","mutes","current","subdivisions","proportion","total","width","pad"]))),128)),n("g",wt,[n("line",{class:"progress",transform:`translate(${l.value+t(s)*e.width*j.value*t(i).over}, 0)`,"stroke-width":"4",stroke:"currentColor","stroke-linecap":"round",y2:180},null,8,bt)]),n("circle",{cx:j.value*t(w).length*e.width+l.value,cy:100,r:t(v)[1]?4:8,fill:t(v)[1]?"currentColor":t(fe)(Number(t(O).pitch),4)},null,8,kt)],8,yt),n("g",$t,[b((o(),S(L,{class:"volume",modelValue:t(m),"onUpdate:modelValue":u[4]||(u[4]=y=>G(m)?m.value=y:null),width:200,step:.01},{default:E(()=>[n("g",Ct,[t(m)==0?(o(),S(te,{key:0})):(o(),S(ne,{key:1}))])]),_:1},8,["modelValue"])),[[_,"Track volume",void 0,{bottom:!0}]]),b((o(),S(L,{class:"pan",transform:"translate(270,0)",modelValue:t(f),"onUpdate:modelValue":u[5]||(u[5]=y=>G(f)?f.value=y:null),min:-1,max:1,width:200,step:.01,"show-center":""},{default:E(()=>[N(oe,{x:-18,y:-30})]),_:1},8,["modelValue"])),[[_,"Track panning",void 0,{bottom:!0}]]),b((o(),S(L,{class:"sound",transform:"translate(540,0)",modelValue:U.value,"onUpdate:modelValue":u[6]||(u[6]=y=>U.value=y),width:265,step:1,min:0,max:4,"show-positions":"",every:1},{default:E(()=>{var y;return[n("text",null,B((y=t(i))==null?void 0:y.sound),1)]}),_:1},8,["modelValue"])),[[_,"Click sound select",void 0,{bottom:!0}]]),N(ue,{name:"fade"},{default:E(()=>[e.editable&&!t(R)?b((o(),r("g",{key:0,class:"reset cursor-pointer",onMousedown:u[7]||(u[7]=y=>t(H)()),transform:"translate(840, 0)"},[n("rect",{style:{filter:"url(#shadowButton)"},width:"50",height:"50","stroke-width":"3",rx:"40",fill:t(p)?"hsla(0,0%,30%,1)":"hsla(0,0%,100%,1)"},null,8,_t),N(le,{"stroke-width":"0",y:"9",x:"9","font-size":"26"})],32)),[[_,"Reset to Euclidean pattern",void 0,{bottom:!0}]]):C("",!0)]),_:1}),e.editable?b((o(),r("g",{key:0,class:"del cursor-pointer",onMousedown:u[8]||(u[8]=y=>k.$emit("del")),transform:"translate(900, 0)"},[n("rect",{style:{filter:"url(#shadowButton)"},width:"50",height:"50","stroke-width":"3",rx:"40",fill:t(p)?"hsla(0,0%,30%,1)":"hsla(0,0%,100%,1)"},null,8,Bt),N(se,{color:"hsla(0,25%,50%,1)","stroke-width":"0",y:"9",x:"9","font-size":"26"})],32)),[[_,"Remove track",void 0,{bottom:!0}]]):C("",!0)])])])}}},zt=ae(Nt,[["__scopeId","data-v-e31215ad"]]),D=de("tempo-bar-loops-object",{0:{over:8,under:8,volume:1,sound:"A"},1:{over:3,under:3,volume:.5,sound:"B"}}),Vt={class:"flex flex-wrap items-center w-full p-4 has-bg rounded-xl relative gap-6 bg-light-600 dark-bg-dark-500",id:"screen"},Mt={key:1,class:"flex flex-col p-2 my-2 is-group w-full"},Lt={class:"flex flex"},St={class:"flex flex-wrap justify-center"},Dt={class:"font-bold mx-2"},At={key:0},Rt={class:"flex flex-wrap justify-center is-group m-1 text-xl p-2",style:{flex:"1 1 100%"}},jt={key:1,class:"is-group m-2"},Pt=["onClick"],Et=["onClick"],Ut={__name:"BeatBars",props:{meters:{type:Array,default:null},patterns:{type:Object,default:null},accents:{type:String,default:"XxXxXxXx"},mute:{type:String,delault:""},secondary:{type:Boolean,default:!1}},setup(e){const d=e,p=K(d.accents),c=J({over:4,under:4,volume:1,sound:"A"});A(()=>d.meters,i=>{if(i){let h=i[0].split("/");D.value={0:{over:Number(h[0]),under:Number(h[1]),volume:d.secondary?0:1,sound:"A"}}}},{immediate:!0}),A(()=>d.patterns,i=>{i&&(p.value=Object.keys(i)[0])},{immediate:!0});function l(i,h){D.value={0:{over:i.length,under:Number(h?h.split("/")[1]:i.length),volume:d.secondary?0:1,sound:"A"}},p.value=i,console.log(D.value)}function x(){D.value[Math.floor(Math.random()*1e4)]={...c}}return(i,h)=>{const w=ge,v=zt,a=ce("client-only"),m=T("tooltip");return o(),r("div",Vt,[N(a,null,{default:E(()=>{var g;return[e.secondary?C("",!0):(o(),S(w,{key:0,secondary:!0})),(o(!0),r(z,null,V(t(D),(s,f)=>(o(),S(v,{class:"my-1 rounded-3xl shadow-lg min-h-36 max-h-30vh",style:{flex:"1 1 420px"},key:f,order:Number(f),loop:s,maxRatio:t(ye),onDel:R=>delete t(D)[f],editable:!e.meters,accents:p.value,mute:e.mute},null,8,["order","loop","maxRatio","onDel","editable","accents","mute"]))),128)),e.patterns?(o(),r("div",Mt,[n("div",Lt,[(o(!0),r(z,null,V(p.value,(s,f)=>(o(),r("div",{class:"flex-1 p-1 border-1 border-current rounded-lg m-1 opacity-50",key:f,style:me({opacity:s=="X"?1:.5,backgroundColor:s=="1"||s=="X"||s=="x"?"currentColor":"transparent"})},null,4))),128))]),n("div",St,[(o(!0),r(z,null,V((g=e.patterns[p.value])==null?void 0:g.names,s=>(o(),r("div",{class:"p-1",key:s},[n("span",Dt,B(s.name),1),s.place?(o(),r("span",At,"("+B(s.place)+")",1)):C("",!0)]))),128))])])):C("",!0),n("div",Rt,[e.meters?C("",!0):b((o(),r("button",{key:0,class:"text-button",onClick:h[0]||(h[0]=s=>x())},h[2]||(h[2]=[n("div",{class:"i-la-plus"},null,-1)]))),[[m,"Add new track",void 0,{bottom:!0}]]),b((o(),r("button",{class:"text-button flex items-center",onClick:h[1]||(h[1]=s=>t(xe)(t(pe)))},h[3]||(h[3]=[n("div",{class:"i-la-file-download"},null,-1)]))),[[m,"Export MIDI file",void 0,{bottom:!0}]]),e.meters&&e.meters.length>1?(o(),r("div",jt,[(o(!0),r(z,null,V(e.meters,s=>(o(),r("button",{class:"text-button",onClick:f=>D.value=[{over:s.split("/")[0],under:s.split("/")[1],sound:"A",volume:1}]},B(s),9,Pt))),256))])):C("",!0),(o(!0),r(z,null,V(e.patterns,(s,f)=>{var R,H;return o(),r("button",{class:ve(["text-button",{active:p.value==f}]),onClick:X=>l(f,s.meter)},B(((H=(R=s==null?void 0:s.names)==null?void 0:R[0])==null?void 0:H.name)||f),11,Et)}),256))])]}),_:1})])}}};export{Ut as _}; diff --git a/assets/chunks/Bounce.BkqbykBD.js b/assets/chunks/Bounce.C56Ivp86.js similarity index 60% rename from assets/chunks/Bounce.BkqbykBD.js rename to assets/chunks/Bounce.C56Ivp86.js index ca10f6bbc9..e101e65dac 100644 --- a/assets/chunks/Bounce.BkqbykBD.js +++ b/assets/chunks/Bounce.C56Ivp86.js @@ -1 +1 @@ -import{r as m,b as $,aW as D,c as N,u as F,d as R,g as E,M as I,x as n,y as c,A as o,E as s,C as T,au as V,G as k,F as y,B as C,I as A}from"./framework.BR0mAPCP.js";import{g as u,aS as L,aT as O,D as z,K as v,c as p,k as _,e as G,ay as K}from"./theme.ClagsQLu.js";const W={class:"absolute flex flex-wrap gap-1 w-full p-1 select-none"},j={key:0,class:"i-la-play"},q={key:1,class:"i-la-pause"},H={class:"cursor-pointer p-2 border-1 border-dark-100 dark-border-light-300"},J={class:"px-4 text-sm font-mono border-1 border-dark-100 dark-border-light-300 flex items-center"},Q=["width","height"],U=["x","width","height","rx","fill"],X=["onClick","stroke","x","y","width","rx","fill"],Y=["opacity","x","y"],Z=["transform"],ee=["transform","y2"],te=["stroke","x1","y1","x2","y2"],se=["cx","cy","fill"],ce={__name:"Bounce",setup(le){const x=m(),e=$({w:1e3,h:1e3});D(x,t=>{const a=t[0];e.w=a.contentRect.width,e.h=a.contentRect.height});const b=N(()=>u.pcs.length),i=N(()=>L([-b.value,b.value]).map(O(u.full.name))),w=z(F("bounce-shift",1),0,16),h=m([]),f=m({}),d=m([]),M=(t,a)=>({x:(t+1)/(a+2),y:0,note:i.value[t],midi:K(i.value[t]),fresh:!0});R(()=>i.value.length,()=>{const t=i.value.map((a,g)=>M(g,i.value.length));d.value=t},{immediate:!0}),E(()=>{d.value.forEach((t,a)=>{let g=v.ticks/(768+w.value*a*8);t.y=Math.abs(Math.sin(Math.PI/2+Math.PI*g)),t.y<.02&&!h.value[a]?(t.fresh&&B(t.note),t.fresh=!1):t.y>.5&&(t.fresh=!0)})});const B=t=>{f.value[t]=!0,G(t),setTimeout(()=>{f.value[t]=!1},120)},P=t=>{h.value[t]=!h.value[t]},S=t=>{w.value+=t.delta[0]/100-t.delta[1]/100};return(t,a)=>{const g=I("drag");return n(),c(y,null,[o("div",W,[o("button",{class:"p-2 border-1 border-dark-100 dark-border-light-300",onClick:a[0]||(a[0]=l=>s(v).stopped=!0)},a[2]||(a[2]=[o("div",{class:"i-la-stop"},null,-1)])),o("button",{class:"p-2 border-1 border-dark-100 dark-border-light-300",onClick:a[1]||(a[1]=l=>s(v).playing=!s(v).playing)},[s(v).playing?(n(),c("div",q)):(n(),c("div",j))]),T((n(),c("div",H,[V(k(s(w).toFixed(2)),1)])),[[g,S]]),a[3]||(a[3]=o("div",{class:"flex-1"},null,-1)),o("div",J,k(s(v).ticks),1)]),(n(),c("svg",{class:"select-none min-h-100svh min-w-full",id:"bounce",ref_key:"svg",ref:x,version:"1.1",baseProfile:"full",xmlns:"http://www.w3.org/2000/svg",style:{"user-select":"none","touch-action":"none"},"dominant-baseline":"middle","text-anchor":"middle"},[o("rect",{width:e.w,height:e.h,stroke:"white",fill:"#2222"},null,8,Q),(n(!0),c(y,null,C(d.value,(l,r)=>(n(),c("g",{key:l.note},[o("rect",{class:"op-80 transition-fill duration-200","stroke-width":"0",x:l.x*e.w,y:100,width:e.w/(i.value.length+2)-10,height:e.h-200,rx:e.w/(i.value.length*8),fill:s(p)(l.midi+3,0,void 0,f.value[l.note]?.9:h.value[r]?0:.2)},null,8,U),o("rect",{class:"op-80 transition cursor-pointer","stroke-width":"1",onClick:re=>P(r),stroke:s(p)(s(_)[s(u).pcs[r%s(u).pcs.length]],2,1,.5),x:l.x*e.w,y:e.h-100,width:e.w/(i.value.length+2)-10,height:40,rx:e.w/(i.value.length*8),fill:f.value[l.note]?s(p)(l.midi+3,2):h.value[r]?s(p)(l.midi+3,1,0,.2):"transparent"},null,8,X),o("text",{opacity:f.value[l.note]?1:.25,x:l.x*e.w+25,y:e.h-78},k(l.note),9,Y)]))),128)),o("g",{transform:`translate(${e.w/(i.value.length+4)/2} 0)`},[(n(!0),c(y,null,C(d.value,(l,r)=>(n(),c(y,{key:l.note},[o("line",{class:"op-20",transform:`translate(${l.x*e.w} 0)`,y1:100,y2:e.h-100,stroke:"currentColor"},null,8,ee),r>0?(n(),c("line",{key:0,"stroke-width":"1",stroke:s(p)(s(_)[s(u).pcs[r%s(u).pcs.length]],5),x1:d.value[r-1].x*e.w,y1:e.h-100-d.value[r-1].y*(e.h-200),x2:l.x*e.w,y2:e.h-100-l.y*(e.h-200)},null,8,te)):A("",!0),o("circle",{cx:l.x*e.w,cy:e.h-100-l.y*(e.h-200),r:8,fill:s(p)(s(_)[s(u).pcs[r%s(u).pcs.length]],5,h.value[r]?0:1)},null,8,se)],64))),128))],8,Z)],512))],64)}}};export{ce as default}; +import{r as m,b as D,aW as F,c as N,u as R,d as S,g as V,M as A,x as n,y as c,A as o,E as s,C as E,au as I,G as k,F as y,B as C,I as L}from"./framework.CQBrk0Ry.js";import{g as u,aU as O,aV as T,D as z,K as v,c as p,k as _,e as G,aA as K}from"./theme.Dd_Fb62b.js";const U={class:"absolute flex flex-wrap gap-1 w-full p-1 select-none"},W={key:0,class:"i-la-play"},j={key:1,class:"i-la-pause"},q={class:"cursor-pointer p-2 border-1 border-dark-100 dark-border-light-300"},H={class:"px-4 text-sm font-mono border-1 border-dark-100 dark-border-light-300 flex items-center"},J=["width","height"],Q=["x","width","height","rx","fill"],X=["onClick","stroke","x","y","width","rx","fill"],Y=["opacity","x","y"],Z=["transform"],ee=["transform","y2"],te=["stroke","x1","y1","x2","y2"],se=["cx","cy","fill"],ce={__name:"Bounce",setup(le){const x=m(),e=D({w:1e3,h:1e3});F(x,t=>{const a=t[0];e.w=a.contentRect.width,e.h=a.contentRect.height});const b=N(()=>u.pcs.length),i=N(()=>O([-b.value,b.value]).map(T(u.full.name))),w=z(R("bounce-shift",1),0,16),h=m([]),f=m({}),d=m([]),M=(t,a)=>({x:(t+1)/(a+2),y:0,note:i.value[t],midi:K(i.value[t]),fresh:!0});S(()=>i.value.length,()=>{const t=i.value.map((a,g)=>M(g,i.value.length));d.value=t},{immediate:!0}),V(()=>{d.value.forEach((t,a)=>{let g=v.ticks/(768+w.value*a*8);t.y=Math.abs(Math.sin(Math.PI/2+Math.PI*g)),t.y<.02&&!h.value[a]?(t.fresh&&B(t.note),t.fresh=!1):t.y>.5&&(t.fresh=!0)})});const B=t=>{f.value[t]=!0,G(t),setTimeout(()=>{f.value[t]=!1},120)},P=t=>{h.value[t]=!h.value[t]},$=t=>{w.value+=t.delta[0]/100-t.delta[1]/100};return(t,a)=>{const g=A("drag");return n(),c(y,null,[o("div",U,[o("button",{class:"p-2 border-1 border-dark-100 dark-border-light-300",onClick:a[0]||(a[0]=l=>s(v).stopped=!0)},a[2]||(a[2]=[o("div",{class:"i-la-stop"},null,-1)])),o("button",{class:"p-2 border-1 border-dark-100 dark-border-light-300",onClick:a[1]||(a[1]=l=>s(v).playing=!s(v).playing)},[s(v).playing?(n(),c("div",j)):(n(),c("div",W))]),E((n(),c("div",q,[I(k(s(w).toFixed(2)),1)])),[[g,$]]),a[3]||(a[3]=o("div",{class:"flex-1"},null,-1)),o("div",H,k(s(v).ticks),1)]),(n(),c("svg",{class:"select-none min-h-100svh min-w-full",id:"bounce",ref_key:"svg",ref:x,version:"1.1",baseProfile:"full",xmlns:"http://www.w3.org/2000/svg",style:{"user-select":"none","touch-action":"none"},"dominant-baseline":"middle","text-anchor":"middle"},[o("rect",{width:e.w,height:e.h,stroke:"white",fill:"#2222"},null,8,J),(n(!0),c(y,null,C(d.value,(l,r)=>(n(),c("g",{key:l.note},[o("rect",{class:"op-80 transition-fill duration-200","stroke-width":"0",x:l.x*e.w,y:100,width:e.w/(i.value.length+2)-10,height:e.h-200,rx:e.w/(i.value.length*8),fill:s(p)(l.midi+3,0,void 0,f.value[l.note]?.9:h.value[r]?0:.2)},null,8,Q),o("rect",{class:"op-80 transition cursor-pointer","stroke-width":"1",onClick:re=>P(r),stroke:s(p)(s(_)[s(u).pcs[r%s(u).pcs.length]],2,1,.5),x:l.x*e.w,y:e.h-100,width:e.w/(i.value.length+2)-10,height:40,rx:e.w/(i.value.length*8),fill:f.value[l.note]?s(p)(l.midi+3,2):h.value[r]?s(p)(l.midi+3,1,0,.2):"transparent"},null,8,X),o("text",{opacity:f.value[l.note]?1:.25,x:l.x*e.w+25,y:e.h-78},k(l.note),9,Y)]))),128)),o("g",{transform:`translate(${e.w/(i.value.length+4)/2} 0)`},[(n(!0),c(y,null,C(d.value,(l,r)=>(n(),c(y,{key:l.note},[o("line",{class:"op-20",transform:`translate(${l.x*e.w} 0)`,y1:100,y2:e.h-100,stroke:"currentColor"},null,8,ee),r>0?(n(),c("line",{key:0,"stroke-width":"1",stroke:s(p)(s(_)[s(u).pcs[r%s(u).pcs.length]],5),x1:d.value[r-1].x*e.w,y1:e.h-100-d.value[r-1].y*(e.h-200),x2:l.x*e.w,y2:e.h-100-l.y*(e.h-200)},null,8,te)):L("",!0),o("circle",{cx:l.x*e.w,cy:e.h-100-l.y*(e.h-200),r:8,fill:s(p)(s(_)[s(u).pcs[r%s(u).pcs.length]],5,h.value[r]?0:1)},null,8,se)],64))),128))],8,Z)],512))],64)}}};export{ce as default}; diff --git a/assets/chunks/ChordProgressions.BBJ7K6Wr.js b/assets/chunks/ChordProgressions.CE6FYUPa.js similarity index 96% rename from assets/chunks/ChordProgressions.BBJ7K6Wr.js rename to assets/chunks/ChordProgressions.CE6FYUPa.js index 42befd5279..723ff5cb74 100644 --- a/assets/chunks/ChordProgressions.BBJ7K6Wr.js +++ b/assets/chunks/ChordProgressions.CE6FYUPa.js @@ -1 +1 @@ -import{c as $,x as r,y as h,A as p,G as g,E as e,I as k,H as M,F as N,B as T,S as z,q as G,r as H,b as U,z as A,u as I,P as B,U as j,T as S,aj as L}from"./framework.BR0mAPCP.js";import{g as x,a as D,b as E,r as R,n as P,c as b,w as V,d as F,p as q,s as _,e as X,i as Y,f as Z,h as J,j as K,k as O,_ as Q}from"./theme.ClagsQLu.js";import{_ as W}from"./ChromaCircle.Ba65J0Ej.js";import{_ as ee}from"./ChordTab.s9wWLKZa.js";import{_ as te}from"./ControlChoose.DP3MWJaC.js";const oe={class:"font-bold"},se={key:0,class:"text-sm"},ne=["onMouseenter","onTouchstart"],ae={__name:"ChromaStack",props:{pitch:{type:Number,default:null},chroma:{type:String,default:"1001000100101"},mode:{type:String,default:"O"},tonic:{type:Number,default:0},roman:{type:String,default:""}},setup(s){const v=s,o="101101011010".split(""),a=$(()=>v.pitch===0||v.pitch?v.pitch:x.tonic),y=$(()=>D(v.chroma));$(()=>E(v.chroma));const i=$(()=>R(v.chroma.split(""),-a.value).map((u,m)=>({active:u=="1",pitch:m})).reverse());function f(n){n.active&&X(n.pitch+57)}return(n,u)=>(r(),h("div",{class:"flex flex-col cursor-pointer select-none p-4 m-2 rounded-xl transition-all duration-300 ease w-full",style:M({backgroundColor:e(F)(s.chroma,a.value).hsl}),onMousedown:u[0]||(u[0]=m=>{e(q)(s.chroma,a.value),n.pressed=!0}),onTouchstart:u[1]||(u[1]=z(m=>{e(q)(s.chroma,a.value),n.pressed=!0},["prevent","stop"])),onTouchend:u[2]||(u[2]=m=>{e(_)(s.chroma,a.value),n.pressed=!1}),onTouchcancel:u[3]||(u[3]=m=>{e(_)(s.chroma,a.value),n.pressed=!1}),onMouseup:u[4]||(u[4]=m=>{e(_)(s.chroma,a.value),n.pressed=!1}),onMouseleave:u[5]||(u[5]=m=>{e(_)(s.chroma,a.value),n.pressed=!1})},[p("div",{class:"p-2 text-center mb-2 rounded-lg text-white",style:M({backgroundColor:e(b)(a.value,3),color:e(V)(e(b)(a.value),3).isDark()?"white":"black"})},[p("div",oe,g(s.pitch===!1?"":typeof s.pitch=="string"?s.pitch:e(P)[a.value])+g(y.value.aliases[0]),1),v.roman?(r(),h("div",se,g(v.roman),1)):k("",!0)],4),(r(!0),h(N,null,T(i.value,(m,w)=>(r(),h("div",{class:"py-6px px-8 my-2px w-full text-sm text-center font-bold rounded transition-all duration-300 ease touch-none",onMouseenter:d=>f(m),onTouchstart:d=>f(m),key:w,style:M({backgroundColor:m.active?e(b)(m.pitch):e(o)[m.pitch]==1?"hsla(0,0%,90%,0.8)":"hsla(0,0%,20%,0.6)"})},null,44,ne))),128))],36))}},le={class:"select-none min-w-8em m-2",version:"1.1",baseProfile:"full",viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},"font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle"},re=["fill"],ie=["transform","onMousedown","opacity"],ce=["width","height","fill"],ue=["y","x","fill"],me=["y","x"],he=["x","y","width","height","fill","stroke"],de=["x","y"],fe=["x","y"],pe={__name:"ChromaSquare",props:{pitch:{type:Number,default:null},chroma:{type:String,default:"1001000100101"},mode:{type:String,default:"O"},tonic:{type:Number,default:0},roman:{type:String,default:""},editable:{type:Boolean,default:!1}},emits:["update:chroma"],setup(s,{emit:v}){const o=v,a=s,y=H(!1),i=U({width:100,height:100}),f=[[0,0],[1,0],[2,0],[3,0],[3,1],[3,2],[3,3],[2,3],[1,3],[0,3],[0,2],[0,1]],n=$(()=>a.pitch===0||a.pitch?a.pitch:x.tonic),u=$(()=>D(a.chroma));$(()=>E(a.chroma).name);function m(d,c=i.width,t=i.height){let l,C;return a.mode=="Z"?(l=d%4,C=Math.floor(d/4)+1,d>3&&d<8&&(l=3-l)):a.mode=="O"&&([l,C]=f[d]),`translate(${l*c/4},${C*t/4})`}function w(d){if(!a.editable)return;let c=[...a.chroma.split("")];c[d]=="1"?c[d]="0":c[d]="1",o("update:chroma",c.join(""))}return(d,c)=>(r(),h("svg",le,[p("rect",{width:"100",height:"100",rx:"8",opacity:"0.6",fill:e(F)(s.chroma,n.value).hsl},null,8,re),(r(!0),h(N,null,T(s.chroma,(t,l)=>(r(),h("g",{class:"transition-all duration-400 ease-in-out cursor-pointer",key:l,transform:m(l),onMousedown:C=>w(l),opacity:t=="1"?1:.62},[p("rect",{class:"transition-all duration-200 ease-in-out",x:2,y:2,rx:"6",width:i.width/4-4,height:i.height/4-4,fill:e(V)(t=="1"?e(b)((l+n.value)%12,3):e(P)[(l+e(x).tonic)%12].length!=2?"hsl(0,0%,85%)":"hsl(0,0%,40%)").toHex()},null,8,ce),t=="1"?(r(),h("text",{key:0,y:i.height/8+1,x:i.width/8,"font-size":8,"font-weight":"bold",fill:e(V)(e(b)(l+e(x).tonic)).isDark()?"white":"black"},g(e(P)[(l+n.value)%12]),9,ue)):k("",!0),t=="0"?(r(),h("text",{key:1,y:i.height/8+1,x:i.width/8,"font-size":"6px","font-weight":"normal",fill:"black",opacity:"0.5"},g(e(Y)[l]),9,me)):k("",!0)],40,ie))),128)),p("g",{class:A(["center cursor-pointer",{pressed:y.value}]),onMousedown:c[0]||(c[0]=z(t=>{e(q)(s.chroma,n.value),y.value=!0},["prevent","stop"])),onTouchstart:c[1]||(c[1]=z(t=>{e(q)(s.chroma,n.value),y.value=!0},["prevent","stop"])),onTouchend:c[2]||(c[2]=t=>{e(_)(s.chroma,n.value),y.value=!1}),onTouchcancel:c[3]||(c[3]=t=>{e(_)(s.chroma,n.value),y.value=!1}),onMouseup:c[4]||(c[4]=t=>{e(_)(s.chroma,n.value),y.value=!1}),onMouseleave:c[5]||(c[5]=t=>{e(_)(s.chroma,n.value),y.value=!1})},[p("rect",{class:"transition-all duration-400 ease-in-out",rx:"4",x:i.width/4+2,y:i.width/4+2,width:i.width/2-4,height:i.height/2-4,fill:s.pitch===!1?"none":e(b)(n.value,3),stroke:e(b)(e(x).tonic,3,1,.5),"stroke-width":"2"},null,8,he),p("text",{x:i.width/2,y:i.height/2,"font-size":"10px","font-weight":"bold",fill:"white"},g(s.pitch===!1?"":typeof s.pitch=="string"?s.pitch:e(P)[n.value])+g(u.value.aliases[0]),9,de),a.roman?(r(),h("text",{key:0,class:"function",x:i.width/2,y:i.height/2+13,"font-size":"8px","font-weight":"normal",fill:"white"},g(a.roman),9,fe)):k("",!0)],34)]))}},ve=G(pe,[["__scopeId","data-v-681852a2"]]),xe={class:"flex flex-col"},ge={class:"flex flex-col text-center mb-2 relative p-1"},ye={class:"text-2xl font-bold flex mx-auto items-center"},we=["href"],ke={class:"text-lg"},$e={class:"flex flex-wrap p-4 items-start",style:{flex:"1 1 600px"}},be={class:"flex flex-wrap my-4 w-full"},_e=["onClick"],Ce={class:"font-bold px-1 mb-1"},qe={__name:"ChordProgressions",props:{list:{type:Object,required:!0},initial:{type:String,default:"major"}},setup(s){const v=s,o=U({mode:I("progresions-mode","bars"),selected:v.initial,current:$(()=>v.list[o.selected]),scaleString:$(()=>`${x.note.name} ${v.list[o.selected].title}`.toLowerCase()),scale:$(()=>Z(o.scaleString))}),a={ukulele:"Ukulele",guitar:"Guitar",piano:"Piano",circles:"Circles",squares:"Squares",bars:"Bars"};function y(i){let f=i.split("-");return J(x.note,f).map(m=>{let w=K(m);return w.pitches=w.notes.map(d=>O[d]),w.tonicPitch=O[w.tonic],w})}return(i,f)=>{const n=Q,u=te,m=ee,w=W,d=ve,c=ae;return r(),h("div",xe,[p("div",{class:"flex flex-wrap items-stretch p-8 gap-4",style:M({borderColor:e(b)(e(x).tonic,2),backgroundColor:e(b)(e(x).tonic,2,1,.05)})},[B(n,{class:"w-20em mx-auto",chroma:e(x).chroma,style:{flex:"1 1 100px"},pitch:e(x).tonic,"onUpdate:pitch":f[0]||(f[0]=t=>e(x).tonic=t)},{default:j(()=>[p("div",ge,[p("div",ye,g(e(x).note.name)+" "+g(o.current.title),1),o.current.link?(r(),h("a",{key:0,class:"p-1 text-2xl absolute right-2 top-2 rounded-full shadow-xl",href:o.current.link,target:"_blank"},f[3]||(f[3]=[p("div",{class:"i-la-wikipedia-w"},null,-1)]),8,we)):k("",!0),p("div",ke,g(o.current.degrees),1)])]),_:1},8,["chroma","pitch"]),p("div",$e,[p("div",be,[B(u,{modelValue:o.mode,"onUpdate:modelValue":f[1]||(f[1]=t=>o.mode=t),variants:a},null,8,["modelValue"])]),(r(!0),h(N,null,T(s.list,(t,l)=>(r(),h("button",{class:A(["text-button flex flex-col",{active:t==o.current}]),key:t,onClick:C=>{o.selected=l,e(x).chroma=o.scale.chroma}},[p("div",Ce,g(t.title),1)],10,_e))),128))]),B(L,{name:"fade",mode:"out-in"},{default:j(()=>[(r(),h("div",{class:"flex flex-wrap gap-2 w-full",key:o.current},[(r(!0),h(N,null,T(y(o.current.degrees),(t,l)=>(r(),h("div",{class:"flex flex-col select-none max-w-16rem",style:{flex:"1 1 10rem"},key:l},[o.mode=="piano"?(r(),S(n,{key:0,class:"flex-1 p-1 min-w-150px",chroma:t.chroma,pitch:t.tonicPitch,roman:o.current.degrees.split("-")[l],playAll:!0},null,8,["chroma","pitch","roman"])):k("",!0),o.mode=="guitar"||o.mode=="ukulele"?(r(),S(m,{key:1,instrument:o.mode,"onUpdate:instrument":f[2]||(f[2]=C=>o.mode=C),chroma:t.chroma,pitch:t.tonicPitch},null,8,["instrument","chroma","pitch"])):k("",!0),o.mode=="circles"?(r(),S(w,{key:2,class:"min-w-8em",chroma:t.chroma,pitch:t.tonicPitch,type:o.current.degrees.split("-")[l]},null,8,["chroma","pitch","type"])):k("",!0),o.mode=="squares"?(r(),S(d,{key:3,class:"self-center my-4 min-w-8em",chroma:t.chroma,pitch:t.tonicPitch,roman:o.current.degrees.split("-")[l]},null,8,["chroma","pitch","roman"])):k("",!0),o.mode=="bars"?(r(),S(c,{key:4,class:"mx-8",chroma:t.chroma,pitch:t.tonicPitch,roman:o.current.degrees.split("-")[l]},null,8,["chroma","pitch","roman"])):k("",!0)]))),128))]))]),_:1})],4)])}}};export{qe as _}; +import{c as $,x as r,y as h,A as p,G as g,E as e,I as k,H as M,F as N,B as T,S as z,q as G,r as H,b as U,z as A,u as I,P as B,U as j,T as S,aj as L}from"./framework.CQBrk0Ry.js";import{g as x,a as D,b as E,r as R,n as P,c as b,w as V,d as F,p as q,s as _,e as X,i as Y,f as Z,h as J,j as K,k as O,_ as Q}from"./theme.Dd_Fb62b.js";import{_ as W}from"./ChromaCircle.Cdi5XgF7.js";import{_ as ee}from"./ChordTab.DvdaPJNy.js";import{_ as te}from"./ControlChoose.BsTgxhCE.js";const oe={class:"font-bold"},se={key:0,class:"text-sm"},ne=["onMouseenter","onTouchstart"],ae={__name:"ChromaStack",props:{pitch:{type:Number,default:null},chroma:{type:String,default:"1001000100101"},mode:{type:String,default:"O"},tonic:{type:Number,default:0},roman:{type:String,default:""}},setup(s){const v=s,o="101101011010".split(""),a=$(()=>v.pitch===0||v.pitch?v.pitch:x.tonic),y=$(()=>D(v.chroma));$(()=>E(v.chroma));const i=$(()=>R(v.chroma.split(""),-a.value).map((u,m)=>({active:u=="1",pitch:m})).reverse());function f(n){n.active&&X(n.pitch+57)}return(n,u)=>(r(),h("div",{class:"flex flex-col cursor-pointer select-none p-4 m-2 rounded-xl transition-all duration-300 ease w-full",style:M({backgroundColor:e(F)(s.chroma,a.value).hsl}),onMousedown:u[0]||(u[0]=m=>{e(q)(s.chroma,a.value),n.pressed=!0}),onTouchstart:u[1]||(u[1]=z(m=>{e(q)(s.chroma,a.value),n.pressed=!0},["prevent","stop"])),onTouchend:u[2]||(u[2]=m=>{e(_)(s.chroma,a.value),n.pressed=!1}),onTouchcancel:u[3]||(u[3]=m=>{e(_)(s.chroma,a.value),n.pressed=!1}),onMouseup:u[4]||(u[4]=m=>{e(_)(s.chroma,a.value),n.pressed=!1}),onMouseleave:u[5]||(u[5]=m=>{e(_)(s.chroma,a.value),n.pressed=!1})},[p("div",{class:"p-2 text-center mb-2 rounded-lg text-white",style:M({backgroundColor:e(b)(a.value,3),color:e(V)(e(b)(a.value),3).isDark()?"white":"black"})},[p("div",oe,g(s.pitch===!1?"":typeof s.pitch=="string"?s.pitch:e(P)[a.value])+g(y.value.aliases[0]),1),v.roman?(r(),h("div",se,g(v.roman),1)):k("",!0)],4),(r(!0),h(N,null,T(i.value,(m,w)=>(r(),h("div",{class:"py-6px px-8 my-2px w-full text-sm text-center font-bold rounded transition-all duration-300 ease touch-none",onMouseenter:d=>f(m),onTouchstart:d=>f(m),key:w,style:M({backgroundColor:m.active?e(b)(m.pitch):e(o)[m.pitch]==1?"hsla(0,0%,90%,0.8)":"hsla(0,0%,20%,0.6)"})},null,44,ne))),128))],36))}},le={class:"select-none min-w-8em m-2",version:"1.1",baseProfile:"full",viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},"font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle"},re=["fill"],ie=["transform","onMousedown","opacity"],ce=["width","height","fill"],ue=["y","x","fill"],me=["y","x"],he=["x","y","width","height","fill","stroke"],de=["x","y"],fe=["x","y"],pe={__name:"ChromaSquare",props:{pitch:{type:Number,default:null},chroma:{type:String,default:"1001000100101"},mode:{type:String,default:"O"},tonic:{type:Number,default:0},roman:{type:String,default:""},editable:{type:Boolean,default:!1}},emits:["update:chroma"],setup(s,{emit:v}){const o=v,a=s,y=H(!1),i=U({width:100,height:100}),f=[[0,0],[1,0],[2,0],[3,0],[3,1],[3,2],[3,3],[2,3],[1,3],[0,3],[0,2],[0,1]],n=$(()=>a.pitch===0||a.pitch?a.pitch:x.tonic),u=$(()=>D(a.chroma));$(()=>E(a.chroma).name);function m(d,c=i.width,t=i.height){let l,C;return a.mode=="Z"?(l=d%4,C=Math.floor(d/4)+1,d>3&&d<8&&(l=3-l)):a.mode=="O"&&([l,C]=f[d]),`translate(${l*c/4},${C*t/4})`}function w(d){if(!a.editable)return;let c=[...a.chroma.split("")];c[d]=="1"?c[d]="0":c[d]="1",o("update:chroma",c.join(""))}return(d,c)=>(r(),h("svg",le,[p("rect",{width:"100",height:"100",rx:"8",opacity:"0.6",fill:e(F)(s.chroma,n.value).hsl},null,8,re),(r(!0),h(N,null,T(s.chroma,(t,l)=>(r(),h("g",{class:"transition-all duration-400 ease-in-out cursor-pointer",key:l,transform:m(l),onMousedown:C=>w(l),opacity:t=="1"?1:.62},[p("rect",{class:"transition-all duration-200 ease-in-out",x:2,y:2,rx:"6",width:i.width/4-4,height:i.height/4-4,fill:e(V)(t=="1"?e(b)((l+n.value)%12,3):e(P)[(l+e(x).tonic)%12].length!=2?"hsl(0,0%,85%)":"hsl(0,0%,40%)").toHex()},null,8,ce),t=="1"?(r(),h("text",{key:0,y:i.height/8+1,x:i.width/8,"font-size":8,"font-weight":"bold",fill:e(V)(e(b)(l+e(x).tonic)).isDark()?"white":"black"},g(e(P)[(l+n.value)%12]),9,ue)):k("",!0),t=="0"?(r(),h("text",{key:1,y:i.height/8+1,x:i.width/8,"font-size":"6px","font-weight":"normal",fill:"black",opacity:"0.5"},g(e(Y)[l]),9,me)):k("",!0)],40,ie))),128)),p("g",{class:A(["center cursor-pointer",{pressed:y.value}]),onMousedown:c[0]||(c[0]=z(t=>{e(q)(s.chroma,n.value),y.value=!0},["prevent","stop"])),onTouchstart:c[1]||(c[1]=z(t=>{e(q)(s.chroma,n.value),y.value=!0},["prevent","stop"])),onTouchend:c[2]||(c[2]=t=>{e(_)(s.chroma,n.value),y.value=!1}),onTouchcancel:c[3]||(c[3]=t=>{e(_)(s.chroma,n.value),y.value=!1}),onMouseup:c[4]||(c[4]=t=>{e(_)(s.chroma,n.value),y.value=!1}),onMouseleave:c[5]||(c[5]=t=>{e(_)(s.chroma,n.value),y.value=!1})},[p("rect",{class:"transition-all duration-400 ease-in-out",rx:"4",x:i.width/4+2,y:i.width/4+2,width:i.width/2-4,height:i.height/2-4,fill:s.pitch===!1?"none":e(b)(n.value,3),stroke:e(b)(e(x).tonic,3,1,.5),"stroke-width":"2"},null,8,he),p("text",{x:i.width/2,y:i.height/2,"font-size":"10px","font-weight":"bold",fill:"white"},g(s.pitch===!1?"":typeof s.pitch=="string"?s.pitch:e(P)[n.value])+g(u.value.aliases[0]),9,de),a.roman?(r(),h("text",{key:0,class:"function",x:i.width/2,y:i.height/2+13,"font-size":"8px","font-weight":"normal",fill:"white"},g(a.roman),9,fe)):k("",!0)],34)]))}},ve=G(pe,[["__scopeId","data-v-681852a2"]]),xe={class:"flex flex-col"},ge={class:"flex flex-col text-center mb-2 relative p-1"},ye={class:"text-2xl font-bold flex mx-auto items-center"},we=["href"],ke={class:"text-lg"},$e={class:"flex flex-wrap p-4 items-start",style:{flex:"1 1 600px"}},be={class:"flex flex-wrap my-4 w-full"},_e=["onClick"],Ce={class:"font-bold px-1 mb-1"},qe={__name:"ChordProgressions",props:{list:{type:Object,required:!0},initial:{type:String,default:"major"}},setup(s){const v=s,o=U({mode:I("progresions-mode","bars"),selected:v.initial,current:$(()=>v.list[o.selected]),scaleString:$(()=>`${x.note.name} ${v.list[o.selected].title}`.toLowerCase()),scale:$(()=>Z(o.scaleString))}),a={ukulele:"Ukulele",guitar:"Guitar",piano:"Piano",circles:"Circles",squares:"Squares",bars:"Bars"};function y(i){let f=i.split("-");return J(x.note,f).map(m=>{let w=K(m);return w.pitches=w.notes.map(d=>O[d]),w.tonicPitch=O[w.tonic],w})}return(i,f)=>{const n=Q,u=te,m=ee,w=W,d=ve,c=ae;return r(),h("div",xe,[p("div",{class:"flex flex-wrap items-stretch p-8 gap-4",style:M({borderColor:e(b)(e(x).tonic,2),backgroundColor:e(b)(e(x).tonic,2,1,.05)})},[B(n,{class:"w-20em mx-auto",chroma:e(x).chroma,style:{flex:"1 1 100px"},pitch:e(x).tonic,"onUpdate:pitch":f[0]||(f[0]=t=>e(x).tonic=t)},{default:j(()=>[p("div",ge,[p("div",ye,g(e(x).note.name)+" "+g(o.current.title),1),o.current.link?(r(),h("a",{key:0,class:"p-1 text-2xl absolute right-2 top-2 rounded-full shadow-xl",href:o.current.link,target:"_blank"},f[3]||(f[3]=[p("div",{class:"i-la-wikipedia-w"},null,-1)]),8,we)):k("",!0),p("div",ke,g(o.current.degrees),1)])]),_:1},8,["chroma","pitch"]),p("div",$e,[p("div",be,[B(u,{modelValue:o.mode,"onUpdate:modelValue":f[1]||(f[1]=t=>o.mode=t),variants:a},null,8,["modelValue"])]),(r(!0),h(N,null,T(s.list,(t,l)=>(r(),h("button",{class:A(["text-button flex flex-col",{active:t==o.current}]),key:t,onClick:C=>{o.selected=l,e(x).chroma=o.scale.chroma}},[p("div",Ce,g(t.title),1)],10,_e))),128))]),B(L,{name:"fade",mode:"out-in"},{default:j(()=>[(r(),h("div",{class:"flex flex-wrap gap-2 w-full",key:o.current},[(r(!0),h(N,null,T(y(o.current.degrees),(t,l)=>(r(),h("div",{class:"flex flex-col select-none max-w-16rem",style:{flex:"1 1 10rem"},key:l},[o.mode=="piano"?(r(),S(n,{key:0,class:"flex-1 p-1 min-w-150px",chroma:t.chroma,pitch:t.tonicPitch,roman:o.current.degrees.split("-")[l],playAll:!0},null,8,["chroma","pitch","roman"])):k("",!0),o.mode=="guitar"||o.mode=="ukulele"?(r(),S(m,{key:1,instrument:o.mode,"onUpdate:instrument":f[2]||(f[2]=C=>o.mode=C),chroma:t.chroma,pitch:t.tonicPitch},null,8,["instrument","chroma","pitch"])):k("",!0),o.mode=="circles"?(r(),S(w,{key:2,class:"min-w-8em",chroma:t.chroma,pitch:t.tonicPitch,type:o.current.degrees.split("-")[l]},null,8,["chroma","pitch","type"])):k("",!0),o.mode=="squares"?(r(),S(d,{key:3,class:"self-center my-4 min-w-8em",chroma:t.chroma,pitch:t.tonicPitch,roman:o.current.degrees.split("-")[l]},null,8,["chroma","pitch","roman"])):k("",!0),o.mode=="bars"?(r(),S(c,{key:4,class:"mx-8",chroma:t.chroma,pitch:t.tonicPitch,roman:o.current.degrees.split("-")[l]},null,8,["chroma","pitch","roman"])):k("",!0)]))),128))]))]),_:1})],4)])}}};export{qe as _}; diff --git a/assets/chunks/ChordSheets.6jAJPt_R.js b/assets/chunks/ChordSheets.6jAJPt_R.js new file mode 100644 index 0000000000..0db5655cf7 --- /dev/null +++ b/assets/chunks/ChordSheets.6jAJPt_R.js @@ -0,0 +1,214 @@ +import{_ as OE}from"./ChordTab.DvdaPJNy.js";import{A as BE,j as NL,aN as zE,Q as kE,c as GL,k as OL,_ as VE}from"./theme.Dd_Fb62b.js";import{r as qp,u as WE,d as HE,c as Zp,o as UE,ae as KE,x as dm,y as xM,A as ge,E as hm,G as CM,C as qE,ag as ZE,V as XE,F as BL,B as YE,T as zL,I as kL}from"./framework.CQBrk0Ry.js";var Xp={},JE="Expected a function",bw="__lodash_hash_undefined__",mw=1/0,QE="[object Function]",eA="[object GeneratorFunction]",sA="[object Symbol]",cA=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,tA=/^\w*$/,fA=/^\./,oA=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rA=/[\\^$.*+?()[\]{}|]/g,iA=/\\(\\)?/g,aA=/^\[object .+?Constructor\]$/,lA=typeof Xp=="object"&&Xp&&Xp.Object===Object&&Xp,nA=typeof self=="object"&&self&&self.Object===Object&&self,PM=lA||nA||Function("return this")();function gA(t,r){return t==null?void 0:t[r]}function $A(t){var r=!1;if(t!=null&&typeof t.toString!="function")try{r=!!(t+"")}catch{}return r}var bA=Array.prototype,mA=Function.prototype,pw=Object.prototype,SM=PM["__core-js_shared__"],VL=function(){var t=/[^.]+$/.exec(SM&&SM.keys&&SM.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),uw=mA.toString,DM=pw.hasOwnProperty,dw=pw.toString,pA=RegExp("^"+uw.call(DM).replace(rA,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),WL=PM.Symbol,uA=bA.splice,dA=hw(PM,"Map"),xm=hw(Object,"create"),HL=WL?WL.prototype:void 0,UL=HL?HL.toString:void 0;function mt(t){var r=-1,e=t?t.length:0;for(this.clear();++r-1}function wA(t,r){var e=this.__data__,m=a0(e,t);return m<0?e.push([t,r]):e[m][1]=r,this}$1.prototype.clear=SA;$1.prototype.delete=vA;$1.prototype.get=MA;$1.prototype.has=LA;$1.prototype.set=wA;function pt(t){var r=-1,e=t?t.length:0;for(this.clear();++rr?t:(r-=t.length,e+=e.repeat(r),t+e.slice(0,r))}class i1 extends Error{static buildMessage(r,e){function m(I){return I.charCodeAt(0).toString(16).toUpperCase()}function j(I){return I.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function y(I){return I.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function w(I){switch(I.type){case"literal":return'"'+j(I.text)+'"';case"class":const v=I.parts.map(_=>Array.isArray(_)?y(_[0])+"-"+y(_[1]):y(_));return"["+(I.inverted?"^":"")+v+"]";case"any":return"any character";case"end":return"end of input";case"other":return I.description}}function P(I){const v=I.map(w);let _,K;if(v.sort(),v.length>0){for(_=1,K=1;_ `+w+` +`+G+` | +`+y.line+" | "+I+` +`+G+" | "+vM("",y.column-1," ")+vM("",v-y.column,"^")}else e+=` + at `+w}return e}}function XA(t,r){r=r!==void 0?r:{};const e={},m=r.grammarSource,j={Chord:gm};let y=gm;const w=function(c){return{type:"chord",...c,column:nM().start.column}},P=/^[#b]/,G=at(["#","b"],!1,!1),I=function(c,L,D,N){return{base:c,modifier:L,suffix:D,...N,chordType:"symbol"}},v=function(c){return{base:null,modifier:null,suffix:null,...c,chordType:"symbol"}},_=/^[A-Ga-g]/,K=at([["A","G"],["a","g"]],!1,!1),me="/",q=g("/",!1),V=function(c,L){return{bassBase:c,bassModifier:L}},je=function(c,L,D,N){return{base:c,modifier:L,suffix:D,...N,chordType:"solfege"}},De=function(c){return{base:null,modifier:null,suffix:null,...c,chordType:"solfege"}},H="do",ue=g("Do",!0),ye="re",pe=g("Re",!0),ve="mi",dt=g("Mi",!0),ht="fa",m1=g("Fa",!0),p1="sol",u1=g("Sol",!0),cs="la",ts=g("La",!0),d1="si",h1=g("Si",!0),Gs=function(c,L,D,N){return{base:L,modifier:c,suffix:D,...N,chordType:"numeral"}},jt=function(c){return{base:null,modifier:null,suffix:null,...c,chordType:"numeral"}},j1="iii",ce=g("III",!0),te="vii",y1=g("VII",!0),x1="ii",C1=g("II",!0),S1="iv",fs=g("IV",!0),os="vi",v1=g("VI",!0),M1=/^[IV]/i,Os=at(["I","V"],!1,!0),rs=function(c,L){return{bassBase:L,bassModifier:c}},Bs=function(c,L,D,N){return{base:L,modifier:c,suffix:D,...N,chordType:"numeric"}},zs=function(c){return{base:null,modifier:null,suffix:null,...c,chordType:"numeric"}},is=/^[1-7]/,L1=at([["1","7"]],!1,!1),yt="2(#4)(#42)(2#4)",ks=g("2(#4)(#42)(2#4)",!1),Vs="maj13(+11+5)",ae=g("maj13(+11+5)",!1),re="maj13(#11#5)",xt=g("maj13(#11#5)",!1),Ct="ma13(#11#5)",w1=g("ma13(#11#5)",!1),St="ma13(+11+5)",E1=g("ma13(+11+5)",!1),vt="maj13(+9+5)",A1=g("maj13(+9+5)",!1),Mt="maj13(#9#5)",Lt=g("maj13(#9#5)",!1),wt="maj13(-9+5)",Et=g("maj13(-9+5)",!1),Ne="maj13(b9#5)",Ge=g("maj13(b9#5)",!1),as="maj9(+11+5)",I1=g("maj9(+11+5)",!1),Ws="maj9(#11#5)",At=g("maj9(#11#5)",!1),Hs="maj9(-13+5)",T1=g("maj9(-13+5)",!1),Us="maj9(b13#5)",Ks=g("maj9(b13#5)",!1),It="m11(#9b13)",Tt=g("m11(#9b13)",!1),Ft="m11(+9-13)",F1=g("m11(+9-13)",!1),_t="-11(#9b13)",Rt=g("-11(#9b13)",!1),qs="-11(+9-13)",Pt=g("-11(+9-13)",!1),Zs="m11(b13#5)",_1=g("m11(b13#5)",!1),Dt="m11(#5b13)",R1=g("m11(#5b13)",!1),Xs="m11(+5-13)",P1=g("m11(+5-13)",!1),Nt="-11(#5b13)",D1=g("-11(#5b13)",!1),Gt="-11(+5-13)",N1=g("-11(+5-13)",!1),Ys="m11(b5b13)",Ot=g("m11(b5b13)",!1),Bt="m11(-5-13)",G1=g("m11(-5-13)",!1),zt="-11(b5b13)",kt=g("-11(b5b13)",!1),Vt="-11(-5-13)",O1=g("-11(-5-13)",!1),Wt="m11(b9b13)",Ht=g("m11(b9b13)",!1),ls="m11(-9-13)",B1=g("m11(-9-13)",!1),Js="-11(b9b13)",z1=g("-11(b9b13)",!1),Qs="-11(-9-13)",k1=g("-11(-9-13)",!1),ec="maj11(-13)",ns=g("maj11(-13)",!1),gs="maj11(b13)",V1=g("maj11(b13)",!1),Ee="maj13(+11)",Ut=g("maj13(+11)",!1),sc="maj13(#11)",$s=g("maj13(#11)",!1),bs="maj13#11#5",W1=g("maj13#11#5",!1),ms="maj13+11+5",H1=g("maj13+11+5",!1),ps="+13(#11#5)",U1=g("+13(#11#5)",!1),us="+13(+11+5)",K1=g("+13(+11+5)",!1),ds="ma13(#9#5)",q1=g("ma13(#9#5)",!1),hs="ma13(+9+5)",Z1=g("ma13(+9+5)",!1),js="ma13(b9#5)",X1=g("ma13(b9#5)",!1),ys="ma13(-9+5)",Y1=g("ma13(-9+5)",!1),xs="(triangle)",J1=g("(triangle)",!1),Cs="ma9(#11#5)",Q1=g("ma9(#11#5)",!1),cc="ma9(+11+5)",b=g("ma9(+11+5)",!1),R="ma9(b13#5)",Ss=g("ma9(b13#5)",!1),le="ma9(-13+5)",tc=g("ma9(-13+5)",!1),M="add9(no3)",vs=g("add9(no3)",!1),fc="min(maj7)",Ae=g("min(maj7)",!1),z="min(maj9)",ne=g("min(maj9)",!1),oc="m11(#9#5)",ef=g("m11(#9#5)",!1),Oe="m11(#5#9)",Kt=g("m11(#5#9)",!1),Be="m11(+5+9)",T=g("m11(+5+9)",!1),rc="-11(#5#9)",qt=g("-11(#5#9)",!1),Ms="-11(+5+9)",Zt=g("-11(+5+9)",!1),ic="m11(b5#9)",Xt=g("m11(b5#9)",!1),ac="m11(-5+9)",sf=g("m11(-5+9)",!1),lc="-11(b5#9)",Ls=g("-11(b5#9)",!1),ws="-11(-5+9)",cf=g("-11(-5+9)",!1),Es="m11(b5b9)",As=g("m11(b5b9)",!1),ze="m11(-5-9)",tf=g("m11(-5-9)",!1),nc="-11(b5b9)",ff=g("-11(b5b9)",!1),gc="-11(-5-9)",of=g("-11(-5-9)",!1),Is="m11(b9#5)",$c=g("m11(b9#5)",!1),xe="m11(#5b9)",Yt=g("m11(#5b9)",!1),bc="m11(+5-9)",rf=g("m11(+5-9)",!1),mc="-11(#5b9)",Jt=g("-11(#5b9)",!1),pc="-11(+5-9)",Qt=g("-11(+5-9)",!1),uc="m7(add11)",e1=g("m7(add11)",!1),dc="min7(no3)",af=g("min7(no3)",!1),hc="maj11(+5)",ke=g("maj11(+5)",!1),jc="maj11(#5)",lf=g("maj11(#5)",!1),Ts="maj11(+9)",Ve=g("maj11(+9)",!1),B="maj11(#9)",Fs=g("maj11(#9)",!1),be="ma11(b13)",We=g("ma11(b13)",!1),yc="ma11(-13)",nf=g("ma11(-13)",!1),xc="maj11(-5)",He=g("maj11(-5)",!1),Cc="maj11(b5)",gf=g("maj11(b5)",!1),Sc="maj11(-9)",vc=g("maj11(-9)",!1),Mc="maj11(b9)",$f=g("maj11(b9)",!1),Ue="ma13(#11)",bf=g("ma13(#11)",!1),Lc="ma13(+11)",wc=g("ma13(+11)",!1),Ec="ma13+11+5",mf=g("ma13+11+5",!1),Ke="maj13(+5)",Ce=g("maj13(+5)",!1),$="maj13(#5)",p=g("maj13(#5)",!1),h="maj13(+9)",d=g("maj13(+9)",!1),S="maj13(#9)",C=g("maj13(#9)",!1),E="maj13#9#5",F=g("maj13#9#5",!1),fe="maj13+9+5",oe=g("maj13+9+5",!1),pf="+13(#9#5)",x0=g("+13(#9#5)",!1),uf="M13(+9+5)",C0=g("M13(+9+5)",!1),df="maj13(-5)",S0=g("maj13(-5)",!1),hf="maj13(b5)",v0=g("maj13(b5)",!1),jf="maj13(-9)",M0=g("maj13(-9)",!1),yf="maj13(b9)",L0=g("maj13(b9)",!1),xf="maj13b9#5",w0=g("maj13b9#5",!1),Cf="maj13-9+5",E0=g("maj13-9+5",!1),Sf="+13(b9#5)",A0=g("+13(b9#5)",!1),vf="+13(-9+5)",I0=g("+13(-9+5)",!1),Mf="maj7(+11)",T0=g("maj7(+11)",!1),Lf="maj7(#11)",F0=g("maj7(#11)",!1),wf="aug(maj7)",_0=g("aug(maj7)",!1),Ef="maj7(-13)",R0=g("maj7(-13)",!1),Af="maj7(b13)",P0=g("maj7(b13)",!1),If="maj9(+11)",D0=g("maj9(+11)",!1),Tf="maj9(#11)",N0=g("maj9(#11)",!1),Ff="maj9#11#5",G0=g("maj9#11#5",!1),_f="maj9+11+5",O0=g("maj9+11+5",!1),Rf="+9(#11#5)",B0=g("+9(#11#5)",!1),Pf="+9(+11+5)",z0=g("+9(+11+5)",!1),Df="maj9(-13)",k0=g("maj9(-13)",!1),Nf="maj9(b13)",V0=g("maj9(b13)",!1),Gf="maj9b13#5",W0=g("maj9b13#5",!1),Of="maj9-13+5",H0=g("maj9-13+5",!1),Bf="+9(b13#5)",U0=g("+9(b13#5)",!1),zf="+9(-13+5)",K0=g("+9(-13+5)",!1),kf="13(#9#5)",q0=g("13(#9#5)",!1),Vf="13(+9+5)",Z0=g("13(+9+5)",!1),Wf="13(#9b5)",X0=g("13(#9b5)",!1),Hf="13(+9-5)",Y0=g("13(+9-5)",!1),Uf="13(add2)",J0=g("13(add2)",!1),Kf="13(add4)",Q0=g("13(add4)",!1),qf="13(b9#5)",eu=g("13(b9#5)",!1),Zf="13(-9+5)",su=g("13(-9+5)",!1),Xf="13(b9b5)",cu=g("13(b9b5)",!1),Yf="13(-9-5)",tu=g("13(-9-5)",!1),Jf="7(#5#11)",fu=g("7(#5#11)",!1),Qf="7(+5+11)",ou=g("7(+5+11)",!1),eo="7(#9b13)",ru=g("7(#9b13)",!1),so="7(+9-13)",iu=g("7(+9-13)",!1),co="7(b13#9)",au=g("7(b13#9)",!1),to="7(-13+9)",lu=g("7(-13+9)",!1),fo="7(b5#11)",nu=g("7(b5#11)",!1),oo="7(-5+11)",gu=g("7(-5+11)",!1),ro="7(b9b13)",$u=g("7(b9b13)",!1),io="7(-9-13)",bu=g("7(-9-13)",!1),ao="7(b13b9)",mu=g("7(b13b9)",!1),lo="7(-13-9)",pu=g("7(-13-9)",!1),no="7sus(b9)",uu=g("7sus(b9)",!1),go="b69(#11)",du=g("b69(#11)",!1),$o="m(add11)",hu=g("m(add11)",!1),bo="mi(maj7)",ju=g("mi(maj7)",!1),mo="mi(maj9)",yu=g("mi(maj9)",!1),po="m11#9b13",xu=g("m11#9b13",!1),uo="m11+9-13",Cu=g("m11+9-13",!1),ho="-11#9b13",Su=g("-11#9b13",!1),jo="-11+9-13",vu=g("-11+9-13",!1),yo="m11(b13)",Mu=g("m11(b13)",!1),xo="m11(-13)",Lu=g("m11(-13)",!1),Co="-11(b13)",wu=g("-11(b13)",!1),So="-11(-13)",Eu=g("-11(-13)",!1),vo="m11#5b13",Au=g("m11#5b13",!1),Mo="m11+5-13",Iu=g("m11+5-13",!1),Lo="-11#5b13",Tu=g("-11#5b13",!1),wo="-11+5-13",Fu=g("-11+5-13",!1),Eo="m11b5b13",_u=g("m11b5b13",!1),Ao="m11-5-13",Ru=g("m11-5-13",!1),Io="-11b5b13",Pu=g("-11b5b13",!1),To="-11-5-13",Du=g("-11-5-13",!1),Fo="m11b9b13",Nu=g("m11b9b13",!1),_o="m11-9-13",Gu=g("m11-9-13",!1),Ro="-11b9b13",Ou=g("-11b9b13",!1),Po="-11-9-13",Bu=g("-11-9-13",!1),Do="m13(#11)",zu=g("m13(#11)",!1),No="m13(+11)",ku=g("m13(+11)",!1),Go="-13(#11)",Vu=g("-13(#11)",!1),Oo="-13(+11)",Wu=g("-13(+11)",!1),Bo="-13(b13)",Hu=g("-13(b13)",!1),zo="-13(-13)",Uu=g("-13(-13)",!1),ko="m6(add9)",Ku=g("m6(add9)",!1),Vo="m7(add4)",qu=g("m7(add4)",!1),Ac="m7(add6)",Em=g("m7(add6)",!1),Wo="m9(maj7)",Zu=g("m9(maj7)",!1),Ho="ma11(#5)",Xu=g("ma11(#5)",!1),Uo="ma11(+5)",Yu=g("ma11(+5)",!1),Ko="ma11(#9)",Ju=g("ma11(#9)",!1),qo="ma11(+9)",Qu=g("ma11(+9)",!1),Zo="maj11b13",e6=g("maj11b13",!1),Xo="maj11-13",s6=g("maj11-13",!1),Yo="+11(b13)",c6=g("+11(b13)",!1),Jo="+11(-13)",t6=g("+11(-13)",!1),Qo="ma11(b5)",f6=g("ma11(b5)",!1),er="ma11(-5)",o6=g("ma11(-5)",!1),sr="ma11(b9)",r6=g("ma11(b9)",!1),cr="ma11(-9)",i6=g("ma11(-9)",!1),tr="maj13#11",a6=g("maj13#11",!1),fr="maj13+11",l6=g("maj13+11",!1),or="+13(#11)",n6=g("+13(#11)",!1),rr="+13(+11)",g6=g("+13(+11)",!1),ir="+13#11#5",$6=g("+13#11#5",!1),ar="M13+11+5",b6=g("M13+11+5",!1),Ic="ma7#11#5",Am=g("ma7#11#5",!1),lr="ma13(#5)",m6=g("ma13(#5)",!1),nr="ma13(+5)",p6=g("ma13(+5)",!1),gr="ma13(#9)",u6=g("ma13(#9)",!1),$r="ma13(+9)",d6=g("ma13(+9)",!1),br="ma13+9+5",h6=g("ma13+9+5",!1),mr="ma13(b5)",j6=g("ma13(b5)",!1),Tc="ma13(-5)",Im=g("ma13(-5)",!1),pr="ma13(b9)",y6=g("ma13(b9)",!1),ur="ma13(-9)",x6=g("ma13(-9)",!1),dr="ma13-9+5",C6=g("ma13-9+5",!1),hr="ma7(#11)",S6=g("ma7(#11)",!1),jr="ma7(+11)",v6=g("ma7(+11)",!1),yr="maj7(+5)",M6=g("maj7(+5)",!1),xr="maj7(#5)",L6=g("maj7(#5)",!1),Cr="aug(ma7)",w6=g("aug(ma7)",!1),Sr="maj7(+9)",E6=g("maj7(+9)",!1),vr="maj7(#9)",A6=g("maj7(#9)",!1),Mr="ma7(b13)",I6=g("ma7(b13)",!1),Lr="ma7(-13)",T6=g("ma7(-13)",!1),wr="maj7(-5)",F6=g("maj7(-5)",!1),Er="maj7(b5)",_6=g("maj7(b5)",!1),Ar="maj7(-9)",R6=g("maj7(-9)",!1),Ir="maj7(b9)",P6=g("maj7(b9)",!1),Tr="ma7(no3)",D6=g("ma7(no3)",!1),Fr="ma9(#11)",N6=g("ma9(#11)",!1),_r="ma9(+11)",G6=g("ma9(+11)",!1),Fc="ma9+11+5",Tm=g("ma9+11+5",!1),Rr="maj9(+5)",O6=g("maj9(+5)",!1),Pr="maj9(#5)",B6=g("maj9(#5)",!1),Dr="ma9(b13)",z6=g("ma9(b13)",!1),Nr="ma9(-13)",k6=g("ma9(-13)",!1),Gr="ma7b13#5",V6=g("ma7b13#5",!1),Or="ma9-13+5",W6=g("ma9-13+5",!1),Br="maj9(-5)",H6=g("maj9(-5)",!1),zr="maj9(b5)",U6=g("maj9(b5)",!1),kr="sus(no5)",K6=g("sus(no5)",!1),Vr="(add11)",q6=g("(add11)",!1),Wr="(add13)",Z6=g("(add13)",!1),Hr="[blank]",X6=g("[blank]",!1),Ur="11(b13)",Y6=g("11(b13)",!1),Kr="11(-13)",J6=g("11(-13)",!1),qr="m11sus4",Q6=g("m11sus4",!1),Zr="13(#11)",e4=g("13(#11)",!1),Xr="13(+11)",s4=g("13(+11)",!1),Yr="m13sus4",c4=g("m13sus4",!1),Jr="sus2(4)",t4=g("sus2(4)",!1),Qr="6(add9)",f4=g("6(add9)",!1),ei="7(#9#5)",o4=g("7(#9#5)",!1),si="7(#5#9)",r4=g("7(#5#9)",!1),ci="7(+5+9)",i4=g("7(+5+9)",!1),ti="7(#9b5)",a4=g("7(#9b5)",!1),fi="7(b5#9)",l4=g("7(b5#9)",!1),oi="7(-5+9)",n4=g("7(-5+9)",!1),ri="7(b5b9)",g4=g("7(b5b9)",!1),ii="7(-5-9)",$4=g("7(-5-9)",!1),ai="7(b9#5)",b4=g("7(b9#5)",!1),li="7(#5b9)",m4=g("7(#5b9)",!1),ni="7(+5-9)",p4=g("7(+5-9)",!1),gi="7(b9b5)",u4=g("7(b9b5)",!1),$i="7b9sus4",d4=g("7b9sus4",!1),bi="7sus(6)",h4=g("7sus(6)",!1),mi="m(add4)",j4=g("m(add4)",!1),pi="m(add9)",y4=g("m(add9)",!1),ui="m(maj7)",x4=g("m(maj7)",!1),di="m(maj9)",C4=g("m(maj9)",!1),hi="m11(#5)",S4=g("m11(#5)",!1),ji="m11(+5)",v4=g("m11(+5)",!1),yi="-11(#5)",M4=g("-11(#5)",!1),xi="-11(+5)",L4=g("-11(+5)",!1),Ci="m11(#9)",w4=g("m11(#9)",!1),Si="m11(+9)",E4=g("m11(+9)",!1),vi="-11(#9)",A4=g("-11(#9)",!1),Mi="-11(+9)",I4=g("-11(+9)",!1),Li="m11#5#9",T4=g("m11#5#9",!1),wi="m11+5+9",F4=g("m11+5+9",!1),Ei="-11#5#9",_4=g("-11#5#9",!1),Ai="m11(b5)",R4=g("m11(b5)",!1),Ii="m11(-5)",P4=g("m11(-5)",!1),Ti="-11(b5)",D4=g("-11(b5)",!1),Fi="-11(-5)",N4=g("-11(-5)",!1),_i="m11b5#9",G4=g("m11b5#9",!1),Ri="m11-5+9",O4=g("m11-5+9",!1),Pi="-11b5#9",B4=g("-11b5#9",!1),Di="-11-5+9",z4=g("-11-5+9",!1),Ni="m11b5b9",k4=g("m11b5b9",!1),Gi="m11-5-9",V4=g("m11-5-9",!1),Oi="-11b5b9",W4=g("-11b5b9",!1),Bi="-11-5-9",H4=g("-11-5-9",!1),_c="m11(b9)",Fm=g("m11(b9)",!1),zi="m11(-9)",U4=g("m11(-9)",!1),ki="-11(b9)",K4=g("-11(b9)",!1),Vi="-11(-9)",q4=g("-11(-9)",!1),Wi="m11#5b9",Z4=g("m11#5b9",!1),Hi="m11+5-9",X4=g("m11+5-9",!1),Ui="-11#5b9",Y4=g("-11#5b9",!1),Ki="m13(#5)",J4=g("m13(#5)",!1),qi="m13(+5)",Q4=g("m13(+5)",!1),Zi="-13(#5)",e2=g("-13(#5)",!1),Xi="-13(+5)",s2=g("-13(+5)",!1),Yi="m13(#9)",c2=g("m13(#9)",!1),Ji="m13(+9)",t2=g("m13(+9)",!1),Qi="-13(#9)",f2=g("-13(#9)",!1),ea="-13(+9)",o2=g("-13(+9)",!1),sa="m13(b5)",r2=g("m13(b5)",!1),ca="m13(-5)",i2=g("m13(-5)",!1),ta="-13(b5)",a2=g("-13(b5)",!1),fa="-13(-5)",l2=g("-13(-5)",!1),oa="m13(b9)",n2=g("m13(b9)",!1),ra="m13(-9)",g2=g("m13(-9)",!1),ia="m(add2)",$2=g("m(add2)",!1),aa="m6(ma7)",b2=g("m6(ma7)",!1),la="m7(#11)",m2=g("m7(#11)",!1),na="m7(+11)",p2=g("m7(+11)",!1),ga="-7(#11)",u2=g("-7(#11)",!1),$a="-7(+11)",d2=g("-7(+11)",!1),Rc="m7(b13)",_m=g("m7(b13)",!1),ba="m7(-13)",h2=g("m7(-13)",!1),ma="-7(b13)",j2=g("-7(b13)",!1),pa="-7(-13)",y2=g("-7(-13)",!1),Pc="m7(no3)",Rm=g("m7(no3)",!1),ua="m9(#11)",x2=g("m9(#11)",!1),da="m9(+11)",C2=g("m9(+11)",!1),ha="-9(#11)",S2=g("-9(#11)",!1),ja="-9(+11)",v2=g("-9(+11)",!1),ya="m9(b13)",M2=g("m9(b13)",!1),xa="m9(-13)",L2=g("m9(-13)",!1),Ca="-9(b13)",w2=g("-9(b13)",!1),Sa="-9(-13)",E2=g("-9(-13)",!1),va="m9(ma7)",A2=g("m9(ma7)",!1),Ma="maj9b11",I2=g("maj9b11",!1),La="maj11#5",T2=g("maj11#5",!1),wa="maj11+5",F2=g("maj11+5",!1),Ea="+11(#5)",_2=g("+11(#5)",!1),Aa="+11(+5)",R2=g("+11(+5)",!1),Ia="maj11#9",P2=g("maj11#9",!1),Ta="maj11+9",D2=g("maj11+9",!1),Fa="+11(#9)",N2=g("+11(#9)",!1),_a="+11(+9)",G2=g("+11(+9)",!1),Ra="ma11b13",O2=g("ma11b13",!1),Pa="ma11-13",B2=g("ma11-13",!1),Da="maj11b5",z2=g("maj11b5",!1),Na="maj11-5",k2=g("maj11-5",!1),Ga="+11(b5)",V2=g("+11(b5)",!1),Oa="+11(-5)",W2=g("+11(-5)",!1),Ba="maj11b9",H2=g("maj11b9",!1),za="maj11-9",U2=g("maj11-9",!1),Dc="+11(b9)",Pm=g("+11(b9)",!1),ka="M11(-9)",K2=g("M11(-9)",!1),Va="ma13+11",q2=g("ma13+11",!1),Wa="maj13#5",Z2=g("maj13#5",!1),Ha="maj13+5",X2=g("maj13+5",!1),Ua="+13(#5)",Y2=g("+13(#5)",!1),Ka="+13(+5)",J2=g("+13(+5)",!1),qa="maj13#9",Q2=g("maj13#9",!1),Za="maj13+9",ed=g("maj13+9",!1),Xa="+13(#9)",sd=g("+13(#9)",!1),Ya="M13(+9)",cd=g("M13(+9)",!1),Ja="+13#9#5",td=g("+13#9#5",!1),Qa="+13+9+5",fd=g("+13+9+5",!1),el="ma7#9#5",od=g("ma7#9#5",!1),sl="maj13b5",rd=g("maj13b5",!1),cl="maj13-5",id=g("maj13-5",!1),tl="+13(b5)",ad=g("+13(b5)",!1),fl="+13(-5)",ld=g("+13(-5)",!1),ol="maj13b9",nd=g("maj13b9",!1),rl="maj13-9",gd=g("maj13-9",!1),il="+13(b9)",$d=g("+13(b9)",!1),al="+13(-9)",bd=g("+13(-9)",!1),ll="+13b9#5",md=g("+13b9#5",!1),nl="M13-9+5",pd=g("M13-9+5",!1),gl="ma7b9#5",ud=g("ma7b9#5",!1),$l="maj7#11",dd=g("maj7#11",!1),bl="maj7+11",hd=g("maj7+11",!1),ml="+7(#11)",jd=g("+7(#11)",!1),pl="+7(+11)",yd=g("+7(+11)",!1),ul="ma7(#4)",xd=g("ma7(#4)",!1),dl="ma7(#5)",Cd=g("ma7(#5)",!1),hl="ma7(+5)",Sd=g("ma7(+5)",!1),jl="aug(M7)",vd=g("aug(M7)",!1),yl="aug(+7)",Md=g("aug(+7)",!1),xl="ma7(#9)",Ld=g("ma7(#9)",!1),Cl="ma7(+9)",wd=g("ma7(+9)",!1),Sl="maj7b13",Ed=g("maj7b13",!1),vl="maj7-13",Ad=g("maj7-13",!1),Ml="+7(b13)",Id=g("+7(b13)",!1),Ll="+7(-13)",Td=g("+7(-13)",!1),wl="ma7(b5)",Fd=g("ma7(b5)",!1),El="ma7(-5)",_d=g("ma7(-5)",!1),Al="ma7(b9)",Rd=g("ma7(b9)",!1),Il="ma7(-9)",Pd=g("ma7(-9)",!1),Tl="maj9#11",Dd=g("maj9#11",!1),Fl="maj9+11",Nd=g("maj9+11",!1),_l="+9(#11)",Gd=g("+9(#11)",!1),Rl="+9(+11)",Od=g("+9(+11)",!1),Pl="+9#11#5",Bd=g("+9#11#5",!1),Dl="M9+11+5",zd=g("M9+11+5",!1),Nl="ma9(#4)",kd=g("ma9(#4)",!1),Gl="ma9(#5)",Vd=g("ma9(#5)",!1),Ol="ma9(+5)",Wd=g("ma9(+5)",!1),Bl="ma9(13)",Hd=g("ma9(13)",!1),zl="maj9b13",Ud=g("maj9b13",!1),kl="maj9-13",Kd=g("maj9-13",!1),Vl="+9(b13)",qd=g("+9(b13)",!1),Wl="+9(-13)",Zd=g("+9(-13)",!1),Hl="+9b13#5",Xd=g("+9b13#5",!1),Ul="M9-13+5",Yd=g("M9-13+5",!1),Kl="ma9(b5)",Jd=g("ma9(b5)",!1),ql="ma9(-5)",Qd=g("ma9(-5)",!1),Zl="(add2)",e8=g("(add2)",!1),Xl="(add4)",s8=g("(add4)",!1),Yl="sus(4)",c8=g("sus(4)",!1),Jl="(add6)",t8=g("(add6)",!1),Ql="(add9)",f8=g("(add9)",!1),en="(unis)",o8=g("(unis)",!1),sn="11(#5)",r8=g("11(#5)",!1),cn="11(+5)",i8=g("11(+5)",!1),tn="11(#9)",a8=g("11(#9)",!1),fn="11(+9)",l8=g("11(+9)",!1),on="11(b5)",n8=g("11(b5)",!1),rn="11(-5)",g8=g("11(-5)",!1),an="11(b9)",$8=g("11(b9)",!1),ln="11(-9)",b8=g("11(-9)",!1),nn="11sus4",m8=g("11sus4",!1),gn="m11sus",p8=g("m11sus",!1),$n="13(#5)",u8=g("13(#5)",!1),bn="13(+5)",d8=g("13(+5)",!1),mn="13(#9)",h8=g("13(#9)",!1),pn="13(+9)",j8=g("13(+9)",!1),un="13#9#5",y8=g("13#9#5",!1),dn="13+9+5",x8=g("13+9+5",!1),hn="13#9b5",C8=g("13#9b5",!1),jn="13+9-5",S8=g("13+9-5",!1),yn="13(b5)",v8=g("13(b5)",!1),xn="13(-5)",M8=g("13(-5)",!1),Cn="13(b9)",L8=g("13(b9)",!1),Sn="13(-9)",w8=g("13(-9)",!1),vn="13b9#5",E8=g("13b9#5",!1),Mn="13-9+5",A8=g("13-9+5",!1),Ln="13b9b5",I8=g("13b9b5",!1),wn="13-9-5",T8=g("13-9-5",!1),En="13sus4",F8=g("13sus4",!1),An="m13sus",_8=g("m13sus",!1),In="2(#11)",R8=g("2(#11)",!1),Tn="2(ma7)",P8=g("2(ma7)",!1),Fn="2(no3)",D8=g("2(no3)",!1),_n="5(no3)",N8=g("5(no3)",!1),Rn="6(no3)",G8=g("6(no3)",!1),Pn="7(#11)",O8=g("7(#11)",!1),Dn="7(+11)",B8=g("7(+11)",!1),Nn="7#5#11",z8=g("7#5#11",!1),Gn="7+5+11",k8=g("7+5+11",!1),On="7#9b13",V8=g("7#9b13",!1),Bn="7+9-13",W8=g("7+9-13",!1),zn="7b13#9",H8=g("7b13#9",!1),kn="7-13+9",U8=g("7-13+9",!1),Nc="7(b13)",Dm=g("7(b13)",!1),Vn="7(-13)",K8=g("7(-13)",!1),Wn="7b5#11",q8=g("7b5#11",!1),Hn="7-5+11",Z8=g("7-5+11",!1),Un="7b9b13",X8=g("7b9b13",!1),Kn="7-9-13",Y8=g("7-9-13",!1),qn="7b13b9",J8=g("7b13b9",!1),Zn="7-13-9",Q8=g("7-13-9",!1),Xn="7(no3)",eh=g("7(no3)",!1),Yn="9(#11)",sh=g("9(#11)",!1),Jn="9(+11)",ch=g("9(+11)",!1),Qn="9(b13)",th=g("9(b13)",!1),eg="9(-13)",fh=g("9(-13)",!1),sg="m9sus4",oh=g("m9sus4",!1),cg="b69sus",rh=g("b69sus",!1),tg="m(ma7)",ih=g("m(ma7)",!1),fg="m(ma9)",ah=g("m(ma9)",!1),og="m(no5)",lh=g("m(no5)",!1),rg="m9+5+9",nh=g("m9+5+9",!1),ig="m11b13",gh=g("m11b13",!1),ag="m11-13",$h=g("m11-13",!1),lg="-11b13",bh=g("-11b13",!1),ng="-11-13",mh=g("-11-13",!1),gg="m9+5-9",ph=g("m9+5-9",!1),$g="m13#11",uh=g("m13#11",!1),bg="m13+11",dh=g("m13+11",!1),mg="-13#11",hh=g("-13#11",!1),Gc="-13+11",Nm=g("-13+11",!1),pg="-13b13",jh=g("-13b13",!1),ug="-13-13",yh=g("-13-13",!1),dg="m6(#5)",xh=g("m6(#5)",!1),hg="m6add9",Ch=g("m6add9",!1),jg="m6(M7)",Sh=g("m6(M7)",!1),yg="m6(+7)",vh=g("m6(+7)",!1),xg="m7(#5)",Mh=g("m7(#5)",!1),Cg="m7(+5)",Lh=g("m7(+5)",!1),Sg="-7(#5)",wh=g("-7(#5)",!1),vg="-7(+5)",Eh=g("-7(+5)",!1),Mg="m7(#9)",Ah=g("m7(#9)",!1),Lg="m7(+9)",Ih=g("m7(+9)",!1),wg="-7(#9)",Th=g("-7(#9)",!1),Eg="-7(+9)",Fh=g("-7(+9)",!1),Ag="m7(11)",_h=g("m7(11)",!1),Ig="m7(b5)",Rh=g("m7(b5)",!1),Tg="m7(-5)",Ph=g("m7(-5)",!1),Fg="-7(b5)",Dh=g("-7(b5)",!1),_g="-7(-5)",Nh=g("-7(-5)",!1),Rg="m7(b9)",Gh=g("m7(b9)",!1),Pg="m7(-9)",Oh=g("m7(-9)",!1),Dg="-7(b9)",Bh=g("-7(b9)",!1),Ng="-7(-9)",zh=g("-7(-9)",!1),Gg="m7sus4",kh=g("m7sus4",!1),Og="m9(#5)",Vh=g("m9(#5)",!1),Bg="m9(+5)",Wh=g("m9(+5)",!1),zg="-9(#5)",Hh=g("-9(#5)",!1),kg="-9(+5)",Uh=g("-9(+5)",!1),Vg="m9(#7)",Kh=g("m9(#7)",!1),Wg="m9(b5)",qh=g("m9(b5)",!1),Hg="m9(-5)",Zh=g("m9(-5)",!1),Ug="-9(b5)",Xh=g("-9(b5)",!1),Kg="-9(-5)",Yh=g("-9(-5)",!1),qg="m9(+7)",Jh=g("m9(+7)",!1),Zg="m9(M7)",Qh=g("m9(M7)",!1),Xg="11(#7)",ej=g("11(#7)",!1),Yg="11(+7)",sj=g("11(+7)",!1),Jg="ma11#5",cj=g("ma11#5",!1),Qg="ma11+5",tj=g("ma11+5",!1),e$="ma11#9",fj=g("ma11#9",!1),s$="ma11+9",oj=g("ma11+9",!1),c$="+11b13",rj=g("+11b13",!1),t$="M11-13",ij=g("M11-13",!1),f$="ma11b5",aj=g("ma11b5",!1),o$="ma11-5",lj=g("ma11-5",!1),r$="ma11b9",nj=g("ma11b9",!1),i$="ma11-9",gj=g("ma11-9",!1),a$="13(#7)",$j=g("13(#7)",!1),l$="+13#11",bj=g("+13#11",!1),n$="M13+11",mj=g("M13+11",!1),qe="ma7#11",g$=g("ma7#11",!1),$$="ma13#5",pj=g("ma13#5",!1),b$="ma13+5",uj=g("ma13+5",!1),m$="ma13#9",dj=g("ma13#9",!1),p$="ma13+9",hj=g("ma13+9",!1),u$="ma13b5",jj=g("ma13b5",!1),d$="ma13-5",yj=g("ma13-5",!1),h$="ma13b9",xj=g("ma13b9",!1),j$="ma13-9",Cj=g("ma13-9",!1),y$="ma6(9)",Sj=g("ma6(9)",!1),x$="ma7+11",vj=g("ma7+11",!1),C$="maj7#5",Mj=g("maj7#5",!1),S$="maj7+5",Lj=g("maj7+5",!1),v$="+7(#5)",wj=g("+7(#5)",!1),M$="+7(+5)",Ej=g("+7(+5)",!1),L$="maj7#9",Aj=g("maj7#9",!1),w$="maj7+9",Ij=g("maj7+9",!1),E$="+7(#9)",Tj=g("+7(#9)",!1),A$="+7(+9)",Fj=g("+7(+9)",!1),Oc="ma7b13",Gm=g("ma7b13",!1),I$="ma7-13",_j=g("ma7-13",!1),T$="maj7b5",Rj=g("maj7b5",!1),F$="maj7-5",Pj=g("maj7-5",!1),_$="+7(b5)",Dj=g("+7(b5)",!1),R$="+7(-5)",Nj=g("+7(-5)",!1),P$="maj7b9",Gj=g("maj7b9",!1),D$="maj7-9",Oj=g("maj7-9",!1),Ze="+7(b9)",N$=g("+7(b9)",!1),G$="+7(-9)",Bj=g("+7(-9)",!1),O$="ma9+11",zj=g("ma9+11",!1),B$="maj9#5",kj=g("maj9#5",!1),z$="maj9+5",Vj=g("maj9+5",!1),k$="+9(#5)",Wj=g("+9(#5)",!1),V$="+9(+5)",Hj=g("+9(+5)",!1),W$="ma9-13",Uj=g("ma9-13",!1),H$="maj9b5",Kj=g("maj9b5",!1),U$="maj9-5",qj=g("maj9-5",!1),K$="+9(b5)",Zj=g("+9(b5)",!1),q$="+9(-5)",Xj=g("+9(-5)",!1),Z$="sus#42",Yj=g("sus#42",!1),X$="add11",Jj=g("add11",!1),Y$="add13",Qj=g("add13",!1),J$="major",ey=g("major",!1),Q$="dom11",sy=g("dom11",!1),e5="11b13",cy=g("11b13",!1),s5="11-13",ty=g("11-13",!1),Bc="11sus",Om=g("11sus",!1),c5="dom13",fy=g("dom13",!1),t5="13#11",oy=g("13#11",!1),f5="13+11",ry=g("13+11",!1),o5="13sus",iy=g("13sus",!1),zc="2(#4)",Bm=g("2(#4)",!1),r5="2(+4)",ay=g("2(+4)",!1),i5="(#4)2",ly=g("(#4)2",!1),a5="2(+7)",ny=g("2(+7)",!1),l5="sus42",gy=g("sus42",!1),n5="(no3)",$y=g("(no3)",!1),g5="6(b9)",by=g("6(b9)",!1),$5="7(#5)",my=g("7(#5)",!1),b5="7(+5)",py=g("7(+5)",!1),m5="7(#9)",uy=g("7(#9)",!1),p5="7(+9)",dy=g("7(+9)",!1),u5="7#5#9",hy=g("7#5#9",!1),d5="7+5+9",jy=g("7+5+9",!1),h5="7(b5)",yy=g("7(b5)",!1),j5="7(-5)",xy=g("7(-5)",!1),y5="7b5#9",Cy=g("7b5#9",!1),x5="7-5+9",Sy=g("7-5+9",!1),C5="7b5b9",vy=g("7b5b9",!1),S5="7-5-9",My=g("7-5-9",!1),v5="7(b9)",Ly=g("7(b9)",!1),M5="7(-9)",wy=g("7(-9)",!1),L5="7#5b9",Ey=g("7#5b9",!1),w5="7+5-9",Ay=g("7+5-9",!1),E5="7aug5",Iy=g("7aug5",!1),A5="7sus4",Ty=g("7sus4",!1),I5="9(#5)",Fy=g("9(#5)",!1),T5="9(+5)",_y=g("9(+5)",!1),kc="9(b5)",zm=g("9(b5)",!1),F5="9(-5)",Ry=g("9(-5)",!1),_5="9sus4",Py=g("9sus4",!1),R5="m9sus",Dy=g("m9sus",!1),P5="b9sus",Ny=g("b9sus",!1),D5="m(b5)",Gy=g("m(b5)",!1),N5="m(-5)",Oy=g("m(-5)",!1),G5="-(b5)",By=g("-(b5)",!1),O5="minor",zy=g("minor",!1),B5="m(11)",ky=g("m(11)",!1),z5="m(M7)",Vy=g("m(M7)",!1),k5="m(+7)",Wy=g("m(+7)",!1),V5="m(M9)",Hy=g("m(M9)",!1),W5="m(+9)",Uy=g("m(+9)",!1),H5="min11",Ky=g("min11",!1),U5="m11#5",qy=g("m11#5",!1),K5="m11+5",Zy=g("m11+5",!1),q5="-11#5",Xy=g("-11#5",!1),Z5="m11#9",Yy=g("m11#9",!1),X5="m11+9",Jy=g("m11+9",!1),Y5="-11#9",Qy=g("-11#9",!1),J5="-11+9",ex=g("-11+9",!1),Q5="m11b5",sx=g("m11b5",!1),eb="m11-5",cx=g("m11-5",!1),sb="-11b5",tx=g("-11b5",!1),cb="m11b9",fx=g("m11b9",!1),tb="m11-9",ox=g("m11-9",!1),fb="-11b9",rx=g("-11b9",!1),ob="-11-9",ix=g("-11-9",!1),rb="min13",ax=g("min13",!1),ib="m13#5",lx=g("m13#5",!1),Vc="m13+5",km=g("m13+5",!1),ab="-13#5",nx=g("-13#5",!1),lb="m13#9",gx=g("m13#9",!1),nb="m13+9",$x=g("m13+9",!1),gb="-13#9",bx=g("-13#9",!1),$b="-13+9",mx=g("-13+9",!1),bb="m13b5",px=g("m13b5",!1),mb="m13-5",ux=g("m13-5",!1),pb="-13b5",dx=g("-13b5",!1),ub="-13-5",hx=g("-13-5",!1),db="m13b9",jx=g("m13b9",!1),hb="m13-9",yx=g("m13-9",!1),jb="madd2",xx=g("madd2",!1),yb="m6(9)",Cx=g("m6(9)",!1),xb="m7#11",Sx=g("m7#11",!1),Cb="m7+11",vx=g("m7+11",!1),Sb="-7#11",Mx=g("-7#11",!1),vb="-7+11",Lx=g("-7+11",!1),Wc="m7(4)",Vm=g("m7(4)",!1),Mb="m7(6)",wx=g("m7(6)",!1),Lb="m7b13",Ex=g("m7b13",!1),wb="m7-13",Ax=g("m7-13",!1),Eb="-7b13",Ix=g("-7b13",!1),Ab="-7-13",Tx=g("-7-13",!1),Ib="m7sus",Fx=g("m7sus",!1),Tb="m9#11",_x=g("m9#11",!1),Fb="m9+11",Rx=g("m9+11",!1),Hc="-9#11",Wm=g("-9#11",!1),_b="-9+11",Px=g("-9+11",!1),Rb="m9b13",Dx=g("m9b13",!1),Pb="m9-13",Nx=g("m9-13",!1),Db="-9b13",Gx=g("-9b13",!1),Nb="-9-13",Ox=g("-9-13",!1),Gb="+11#5",Bx=g("+11#5",!1),Ob="M11+5",zx=g("M11+5",!1),Bb="+11#9",kx=g("+11#9",!1),zb="M11+9",Vx=g("M11+9",!1),kb="+11b5",Wx=g("+11b5",!1),Vb="M11-5",Hx=g("M11-5",!1),Wb="+11b9",Ux=g("+11b9",!1),Hb="+11-9",Kx=g("+11-9",!1),Ub="+13#5",qx=g("+13#5",!1),Kb="M13+5",Zx=g("M13+5",!1),qb="+13#9",Xx=g("+13#9",!1),Zb="+13+9",Yx=g("+13+9",!1),Uc="+13b5",Hm=g("+13b5",!1),Xb="M13-5",Jx=g("M13-5",!1),Yb="+13b9",Qx=g("+13b9",!1),Jb="M13-9",eC=g("M13-9",!1),Qb="+7#11",sC=g("+7#11",!1),e9="M7+11",cC=g("M7+11",!1),s9="ma7#5",tC=g("ma7#5",!1),c9="ma7+5",fC=g("ma7+5",!1),t9="ma7#9",oC=g("ma7#9",!1),f9="ma7+9",rC=g("ma7+9",!1),o9="+7b13",iC=g("+7b13",!1),r9="M7-13",aC=g("M7-13",!1),i9="ma7b5",lC=g("ma7b5",!1),a9="ma7-5",nC=g("ma7-5",!1),l9="ma7b9",gC=g("ma7b9",!1),n9="ma7-9",$C=g("ma7-9",!1),g9="9(#7)",bC=g("9(#7)",!1),$9="+9#11",mC=g("+9#11",!1),b9="M9+11",pC=g("M9+11",!1),m9="ma9#5",uC=g("ma9#5",!1),p9="ma9+5",dC=g("ma9+5",!1),u9="+9b13",hC=g("+9b13",!1),d9="M9-13",jC=g("M9-13",!1),h9="ma9b5",yC=g("ma9b5",!1),j9="ma9-5",xC=g("ma9-5",!1),y9="(#4)",CC=g("(#4)",!1),x9="(+4)",SC=g("(+4)",!1),C9="(11)",vC=g("(11)",!1),S9="(13)",MC=g("(13)",!1),v9="add2",LC=g("add2",!1),M9="add4",wC=g("add4",!1),L9="add6",EC=g("add6",!1),w9="add9",AC=g("add9",!1),E9="(b5)",IC=g("(b5)",!1),A9="(-5)",TC=g("(-5)",!1),I9="2(6)",FC=g("2(6)",!1),T9="(b6)",_C=g("(b6)",!1),F9="unis",RC=g("unis",!1),_9="Majj",PC=g("Majj",!1),R9="(#5)",DC=g("(#5)",!1),P9="(+5)",NC=g("(+5)",!1),D9="11#5",GC=g("11#5",!1),N9="11+5",OC=g("11+5",!1),G9="11#9",BC=g("11#9",!1),O9="11+9",zC=g("11+9",!1),B9="11b5",kC=g("11b5",!1),z9="11-5",VC=g("11-5",!1),k9="11b9",WC=g("11b9",!1),V9="11-9",HC=g("11-9",!1),W9="13#5",UC=g("13#5",!1),H9="13+5",KC=g("13+5",!1),U9="13#9",qC=g("13#9",!1),K9="13+9",ZC=g("13+9",!1),q9="13b5",XC=g("13b5",!1),Z9="13-5",YC=g("13-5",!1),X9="13b9",JC=g("13b9",!1),Y9="13-9",QC=g("13-9",!1),J9="sus2",eS=g("sus2",!1),Q9="2(4)",sS=g("2(4)",!1),e3="4(2)",cS=g("4(2)",!1),s3="6(2)",tS=g("6(2)",!1),c3="6(9)",fS=g("6(9)",!1),t3="dom7",oS=g("dom7",!1),f3="7#11",rS=g("7#11",!1),o3="7+11",iS=g("7+11",!1),r3="aug7",aS=g("aug7",!1),i3="7(6)",lS=g("7(6)",!1),a3="7b13",nS=g("7b13",!1),l3="7-13",gS=g("7-13",!1),n3="7sus",$S=g("7sus",!1),g3="dom9",bS=g("dom9",!1),$3="9#11",mS=g("9#11",!1),b3="9+11",pS=g("9+11",!1),m3="aug9",uS=g("aug9",!1),p3="9b13",dS=g("9b13",!1),u3="9-13",hS=g("9-13",!1),d3="9aug",jS=g("9aug",!1),h3="9sus",yS=g("9sus",!1),j3="dim7",xS=g("dim7",!1),y3="m(4)",CS=g("m(4)",!1),x3="m(9)",SS=g("m(9)",!1),C3="mi11",vS=g("mi11",!1),Xe="m9+5",S3=g("m9+5",!1),Kc="-9-5",Um=g("-9-5",!1),v3="mi13",MS=g("mi13",!1),M3="min2",LS=g("min2",!1),L3="min6",wS=g("min6",!1),w3="m6M7",ES=g("m6M7",!1),E3="m6+7",AS=g("m6+7",!1),A3="min7",IS=g("min7",!1),I3="m7#5",TS=g("m7#5",!1),qc="m7+5",Km=g("m7+5",!1),T3="-7#5",FS=g("-7#5",!1),F3="m7#9",_S=g("m7#9",!1),Zc="m7+9",qm=g("m7+9",!1),_3="-7#9",RS=g("-7#9",!1),R3="m7b5",PS=g("m7b5",!1),Xc="m7-5",Zm=g("m7-5",!1),P3="-7b5",DS=g("-7b5",!1),D3="m7b9",NS=g("m7b9",!1),Yc="m7-9",Xm=g("m7-9",!1),N3="-7b9",GS=g("-7b9",!1),G3="min9",OS=g("min9",!1),O3="m9#5",BS=g("m9#5",!1),B3="-9#5",zS=g("-9#5",!1),z3="m9b5",kS=g("m9b5",!1),k3="m9-5",VS=g("m9-5",!1),V3="-9b5",WS=g("-9b5",!1),W3="m9M7",HS=g("m9M7",!1),Me="maj9",s1=g("maj9",!1),Ye="ma11",H3=g("ma11",!1),U3="11#7",US=g("11#7",!1),K3="11+7",KS=g("11+7",!1),Jc="ma13",Ym=g("ma13",!1),q3="ma69",qS=g("ma69",!1),Z3="Maj7",ZS=g("Maj7",!1),X3="maj7",XS=g("maj7",!1),Y3="+7#5",YS=g("+7#5",!1),Qc="M7+5",Jm=g("M7+5",!1),J3="+7#9",JS=g("+7#9",!1),Q3="M7+9",QS=g("M7+9",!1),et="+7b5",Qm=g("+7b5",!1),e7="M7-5",ev=g("M7-5",!1),s7="+7b9",sv=g("+7b9",!1),st="M7-9",ep=g("M7-9",!1),c7="+9#5",cv=g("+9#5",!1),t7="M9+5",tv=g("M9+5",!1),ct="+9b5",sp=g("+9b5",!1),f7="M9-5",fv=g("M9-5",!1),o7="sus4",ov=g("sus4",!1),r7="(2)",rv=g("(2)",!1),i7="(4)",iv=g("(4)",!1),a7="(6)",av=g("(6)",!1),l7="(7)",lv=g("(7)",!1),n7="(9)",nv=g("(9)",!1),g7="maj",gv=g("maj",!1),tt="aug",cp=g("aug",!1),ft="2+4",tp=g("2+4",!1),$7="2#4",$v=g("2#4",!1),b7="no3",bv=g("no3",!1),ot="7#5",fp=g("7#5",!1),m7="7+5",mv=g("7+5",!1),p7="7#9",pv=g("7#9",!1),u7="7+9",uv=g("7+9",!1),d7="7b5",dv=g("7b5",!1),h7="7-5",hv=g("7-5",!1),j7="7b9",jv=g("7b9",!1),y7="7-9",yv=g("7-9",!1),x7="9#5",xv=g("9#5",!1),C7="9+5",Cv=g("9+5",!1),S7="9b5",Sv=g("9b5",!1),v7="9-5",vv=g("9-5",!1),M7="dim",Mv=g("dim",!1),L7="mb5",Lv=g("mb5",!1),w7="m-5",wv=g("m-5",!1),E7="-b5",Ev=g("-b5",!1),A7="min",Av=g("min",!1),I7="m+7",Iv=g("m+7",!1),T7="m+9",Tv=g("m+9",!1),F7="m11",Fv=g("m11",!1),_7="-11",_v=g("-11",!1),R7="m13",Rv=g("m13",!1),P7="-13",Pv=g("-13",!1),D7="mi2",Dv=g("mi2",!1),N7="mi6",Nv=g("mi6",!1),G7="m69",Gv=g("m69",!1),O7="mi7",Ov=g("mi7",!1),B7="m74",Bv=g("m74",!1),z7="mi9",zv=g("mi9",!1),Je="ma9",k7=g("ma9",!1),V7="+11",kv=g("+11",!1),W7="M11",Vv=g("M11",!1),H7="+13",Wv=g("+13",!1),U7="M13",Hv=g("M13",!1),K7="ma6",Uv=g("ma6",!1),q7="ma7",Kv=g("ma7",!1),Z7="sus",qv=g("sus",!1),X7="#4",Zv=g("#4",!1),Y7="+4",Xv=g("+4",!1),J7="-5",Yv=g("-5",!1),Q7="b5",Jv=g("b5",!1),em="ma",Qv=g("ma",!1),sm="Ma",eM=g("Ma",!1),cm="#5",sM=g("#5",!1),tm="+5",cM=g("+5",!1),fm="11",tM=g("11",!1),rt="13",op=g("13",!1),om="42",fM=g("42",!1),rm="69",oM=g("69",!1),im="x7",rM=g("x7",!1),am="x9",iM=g("x9",!1),lm="o7",aM=g("o7",!1),rp=g("mi",!1),ip="m2",ap=g("m2",!1),lp="m4",np=g("m4",!1),gp="m6",$p=g("m6",!1),bp="-6",_s=g("-6",!1),c1="m7",mp=g("m7",!1),pp="-7",up=g("-7",!1),dp="m9",hp=g("m9",!1),jp="-9",yp=g("-9",!1),xp="+7",Cp=g("+7",!1),Sp="#7",vp=g("#7",!1),Mp="M7",Lp=g("M7",!1),wp="+9",Ep=g("+9",!1),Ap="M9",Ip=g("M9",!1),lM=/^[+\-24-79Mmx]/,Tp=at(["+","-","2",["4","7"],"9","M","m","x"],!1,!1);let o=0,ie=0;const t1=[{line:1,column:1}];let de=0,nm=[],it;if(r.startRule!==void 0){if(!(r.startRule in j))throw new Error(`Can't start parsing from rule "`+r.startRule+'".');y=j[r.startRule]}function nM(){return f1(ie,o)}function g(c,L){return{type:"literal",text:c,ignoreCase:L}}function at(c,L,D){return{type:"class",parts:c,inverted:L,ignoreCase:D}}function Fp(){return{type:"end"}}function _p(c){let L=t1[c],D;if(L)return L;for(D=c-1;!t1[D];)D--;for(L=t1[D],L={line:L.line,column:L.column};Dde&&(de=o,nm=[]),nm.push(c))}function o1(c,L,D){return new i1(i1.buildMessage(c,L),c,L,D)}function gm(){let c,L;return c=o,L=$M(),L===e&&(L=bM(),L===e&&(L=Pp(),L===e&&(L=gM()))),L!==e&&(ie=c,L=w(L)),c=L,c}function Le(){let c;return P.test(t.charAt(o))?(c=t.charAt(o),o++):(c=e,l(G)),c}function gM(){let c,L,D,N,k;return c=o,L=$m(),L!==e?(D=Le(),D===e&&(D=null),D!==e?(N=o,k=lt(),k!==e?N=t.substring(N,o):N=k,N!==e?(k=Rp(),k===e&&(k=null),k!==e?(ie=c,L=I(L,D,N,k),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c===e&&(c=o,L=Rp(),L!==e&&(ie=c,L=v(L)),c=L),c}function $m(){let c;return _.test(t.charAt(o))?(c=t.charAt(o),o++):(c=e,l(K)),c}function Rp(){let c,L,D,N;return c=o,t.charCodeAt(o)===47?(L=me,o++):(L=e,l(q)),L!==e?(D=$m(),D!==e?(N=Le(),N===e&&(N=null),N!==e?(ie=c,L=V(D,N),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c}function Pp(){let c,L,D,N,k;return c=o,L=Dp(),L!==e?(D=Le(),D===e&&(D=null),D!==e?(N=o,k=lt(),k!==e?N=t.substring(N,o):N=k,N!==e?(k=bm(),k===e&&(k=null),k!==e?(ie=c,L=je(L,D,N,k),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c===e&&(c=o,L=bm(),L!==e&&(ie=c,L=De(L)),c=L),c}function Dp(){let c;return t.substr(o,2).toLowerCase()===H?(c=t.substr(o,2),o+=2):(c=e,l(ue)),c===e&&(t.substr(o,2).toLowerCase()===ye?(c=t.substr(o,2),o+=2):(c=e,l(pe)),c===e&&(t.substr(o,2).toLowerCase()===ve?(c=t.substr(o,2),o+=2):(c=e,l(dt)),c===e&&(t.substr(o,2).toLowerCase()===ht?(c=t.substr(o,2),o+=2):(c=e,l(m1)),c===e&&(t.substr(o,3).toLowerCase()===p1?(c=t.substr(o,3),o+=3):(c=e,l(u1)),c===e&&(t.substr(o,2).toLowerCase()===cs?(c=t.substr(o,2),o+=2):(c=e,l(ts)),c===e&&(t.substr(o,2).toLowerCase()===d1?(c=t.substr(o,2),o+=2):(c=e,l(h1)))))))),c}function bm(){let c,L,D,N;return c=o,t.charCodeAt(o)===47?(L=me,o++):(L=e,l(q)),L!==e?(D=Dp(),D!==e?(N=Le(),N===e&&(N=null),N!==e?(ie=c,L=V(D,N),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c}function $M(){let c,L,D,N,k;return c=o,L=Le(),L===e&&(L=null),L!==e?(D=mm(),D!==e?(N=o,k=lt(),k!==e?N=t.substring(N,o):N=k,N!==e?(k=Np(),k===e&&(k=null),k!==e?(ie=c,L=Gs(L,D,N,k),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c===e&&(c=o,L=Np(),L!==e&&(ie=c,L=jt(L)),c=L),c}function mm(){let c;return t.substr(o,3).toLowerCase()===j1?(c=t.substr(o,3),o+=3):(c=e,l(ce)),c===e&&(t.substr(o,3).toLowerCase()===te?(c=t.substr(o,3),o+=3):(c=e,l(y1)),c===e&&(t.substr(o,2).toLowerCase()===x1?(c=t.substr(o,2),o+=2):(c=e,l(C1)),c===e&&(t.substr(o,2).toLowerCase()===S1?(c=t.substr(o,2),o+=2):(c=e,l(fs)),c===e&&(t.substr(o,2).toLowerCase()===os?(c=t.substr(o,2),o+=2):(c=e,l(v1)),c===e&&(M1.test(t.charAt(o))?(c=t.charAt(o),o++):(c=e,l(Os))))))),c}function Np(){let c,L,D,N;return c=o,t.charCodeAt(o)===47?(L=me,o++):(L=e,l(q)),L!==e?(D=Le(),D===e&&(D=null),D!==e?(N=mm(),N!==e?(ie=c,L=rs(D,N),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c}function bM(){let c,L,D,N,k;return c=o,L=Le(),L===e&&(L=null),L!==e?(D=pm(),D!==e?(N=o,k=lt(),k!==e?N=t.substring(N,o):N=k,N!==e?(k=Gp(),k===e&&(k=null),k!==e?(ie=c,L=Bs(L,D,N,k),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c===e&&(c=o,L=Gp(),L!==e&&(ie=c,L=zs(L)),c=L),c}function pm(){let c;return is.test(t.charAt(o))?(c=t.charAt(o),o++):(c=e,l(L1)),c}function Gp(){let c,L,D,N;return c=o,t.charCodeAt(o)===47?(L=me,o++):(L=e,l(q)),L!==e?(D=Le(),D===e&&(D=null),D!==e?(N=pm(),N!==e?(ie=c,L=rs(D,N),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c}function lt(){let c;return c=mM(),c===e&&(c=Op(),c===e&&(c=pM(),c===e&&(c=Bp(),c===e&&(c=uM(),c===e&&(c=zp(),c===e&&(c=dM(),c===e&&(c=kp(),c===e&&(c=hM(),c===e&&(c=Vp()))))))))),c===e&&(c=null),c}function mM(){let c;return t.substr(o,15)===yt?(c=yt,o+=15):(c=e,l(ks)),c===e&&(t.substr(o,12)===Vs?(c=Vs,o+=12):(c=e,l(ae)),c===e&&(t.substr(o,12)===re?(c=re,o+=12):(c=e,l(xt)),c===e&&(t.substr(o,11)===Ct?(c=Ct,o+=11):(c=e,l(w1)),c===e&&(t.substr(o,11)===St?(c=St,o+=11):(c=e,l(E1)),c===e&&(t.substr(o,11)===vt?(c=vt,o+=11):(c=e,l(A1)),c===e&&(t.substr(o,11)===Mt?(c=Mt,o+=11):(c=e,l(Lt)),c===e&&(t.substr(o,11)===wt?(c=wt,o+=11):(c=e,l(Et)),c===e&&(t.substr(o,11)===Ne?(c=Ne,o+=11):(c=e,l(Ge)),c===e&&(t.substr(o,11)===as?(c=as,o+=11):(c=e,l(I1)),c===e&&(t.substr(o,11)===Ws?(c=Ws,o+=11):(c=e,l(At)),c===e&&(t.substr(o,11)===Hs?(c=Hs,o+=11):(c=e,l(T1)),c===e&&(t.substr(o,11)===Us?(c=Us,o+=11):(c=e,l(Ks)),c===e&&(t.substr(o,10)===It?(c=It,o+=10):(c=e,l(Tt)),c===e&&(t.substr(o,10)===Ft?(c=Ft,o+=10):(c=e,l(F1)),c===e&&(t.substr(o,10)===_t?(c=_t,o+=10):(c=e,l(Rt)),c===e&&(t.substr(o,10)===qs?(c=qs,o+=10):(c=e,l(Pt)),c===e&&(t.substr(o,10)===Zs?(c=Zs,o+=10):(c=e,l(_1)),c===e&&(t.substr(o,10)===Dt?(c=Dt,o+=10):(c=e,l(R1)),c===e&&(t.substr(o,10)===Xs?(c=Xs,o+=10):(c=e,l(P1)),c===e&&(t.substr(o,10)===Nt?(c=Nt,o+=10):(c=e,l(D1)),c===e&&(t.substr(o,10)===Gt?(c=Gt,o+=10):(c=e,l(N1)),c===e&&(t.substr(o,10)===Ys?(c=Ys,o+=10):(c=e,l(Ot)),c===e&&(t.substr(o,10)===Bt?(c=Bt,o+=10):(c=e,l(G1)),c===e&&(t.substr(o,10)===zt?(c=zt,o+=10):(c=e,l(kt)),c===e&&(t.substr(o,10)===Vt?(c=Vt,o+=10):(c=e,l(O1)),c===e&&(t.substr(o,10)===Wt?(c=Wt,o+=10):(c=e,l(Ht)),c===e&&(t.substr(o,10)===ls?(c=ls,o+=10):(c=e,l(B1)),c===e&&(t.substr(o,10)===Js?(c=Js,o+=10):(c=e,l(z1)),c===e&&(t.substr(o,10)===Qs?(c=Qs,o+=10):(c=e,l(k1)),c===e&&(t.substr(o,10)===ec?(c=ec,o+=10):(c=e,l(ns)),c===e&&(t.substr(o,10)===gs?(c=gs,o+=10):(c=e,l(V1)),c===e&&(t.substr(o,10)===Ee?(c=Ee,o+=10):(c=e,l(Ut)),c===e&&(t.substr(o,10)===sc?(c=sc,o+=10):(c=e,l($s)),c===e&&(t.substr(o,10)===bs?(c=bs,o+=10):(c=e,l(W1)),c===e&&(t.substr(o,10)===ms?(c=ms,o+=10):(c=e,l(H1)),c===e&&(t.substr(o,10)===ps?(c=ps,o+=10):(c=e,l(U1)),c===e&&(t.substr(o,10)===us?(c=us,o+=10):(c=e,l(K1)),c===e&&(t.substr(o,10)===ds?(c=ds,o+=10):(c=e,l(q1)),c===e&&(t.substr(o,10)===hs?(c=hs,o+=10):(c=e,l(Z1)),c===e&&(t.substr(o,10)===js?(c=js,o+=10):(c=e,l(X1)),c===e&&(t.substr(o,10)===ys?(c=ys,o+=10):(c=e,l(Y1)),c===e&&(t.substr(o,10)===xs?(c=xs,o+=10):(c=e,l(J1)),c===e&&(t.substr(o,10)===Cs?(c=Cs,o+=10):(c=e,l(Q1)),c===e&&(t.substr(o,10)===cc?(c=cc,o+=10):(c=e,l(b)),c===e&&(t.substr(o,10)===R?(c=R,o+=10):(c=e,l(Ss)),c===e&&(t.substr(o,10)===le?(c=le,o+=10):(c=e,l(tc)),c===e&&(t.substr(o,9)===M?(c=M,o+=9):(c=e,l(vs)),c===e&&(t.substr(o,9)===fc?(c=fc,o+=9):(c=e,l(Ae)),c===e&&(t.substr(o,9)===z?(c=z,o+=9):(c=e,l(ne)),c===e&&(t.substr(o,9)===oc?(c=oc,o+=9):(c=e,l(ef)),c===e&&(t.substr(o,9)===Oe?(c=Oe,o+=9):(c=e,l(Kt)),c===e&&(t.substr(o,9)===Be?(c=Be,o+=9):(c=e,l(T)),c===e&&(t.substr(o,9)===rc?(c=rc,o+=9):(c=e,l(qt)),c===e&&(t.substr(o,9)===Ms?(c=Ms,o+=9):(c=e,l(Zt)),c===e&&(t.substr(o,9)===ic?(c=ic,o+=9):(c=e,l(Xt)),c===e&&(t.substr(o,9)===ac?(c=ac,o+=9):(c=e,l(sf)),c===e&&(t.substr(o,9)===lc?(c=lc,o+=9):(c=e,l(Ls)),c===e&&(t.substr(o,9)===ws?(c=ws,o+=9):(c=e,l(cf)),c===e&&(t.substr(o,9)===Es?(c=Es,o+=9):(c=e,l(As)),c===e&&(t.substr(o,9)===ze?(c=ze,o+=9):(c=e,l(tf)),c===e&&(t.substr(o,9)===nc?(c=nc,o+=9):(c=e,l(ff)),c===e&&(t.substr(o,9)===gc?(c=gc,o+=9):(c=e,l(of)),c===e&&(t.substr(o,9)===Is?(c=Is,o+=9):(c=e,l($c)),c===e&&(t.substr(o,9)===xe?(c=xe,o+=9):(c=e,l(Yt)),c===e&&(t.substr(o,9)===bc?(c=bc,o+=9):(c=e,l(rf)),c===e&&(t.substr(o,9)===mc?(c=mc,o+=9):(c=e,l(Jt)),c===e&&(t.substr(o,9)===pc?(c=pc,o+=9):(c=e,l(Qt)),c===e&&(t.substr(o,9)===uc?(c=uc,o+=9):(c=e,l(e1)),c===e&&(t.substr(o,9)===dc?(c=dc,o+=9):(c=e,l(af)),c===e&&(t.substr(o,9)===hc?(c=hc,o+=9):(c=e,l(ke)),c===e&&(t.substr(o,9)===jc?(c=jc,o+=9):(c=e,l(lf)),c===e&&(t.substr(o,9)===Ts?(c=Ts,o+=9):(c=e,l(Ve)),c===e&&(t.substr(o,9)===B?(c=B,o+=9):(c=e,l(Fs)),c===e&&(t.substr(o,9)===be?(c=be,o+=9):(c=e,l(We)),c===e&&(t.substr(o,9)===yc?(c=yc,o+=9):(c=e,l(nf)),c===e&&(t.substr(o,9)===xc?(c=xc,o+=9):(c=e,l(He)),c===e&&(t.substr(o,9)===Cc?(c=Cc,o+=9):(c=e,l(gf)),c===e&&(t.substr(o,9)===Sc?(c=Sc,o+=9):(c=e,l(vc)),c===e&&(t.substr(o,9)===Mc?(c=Mc,o+=9):(c=e,l($f)),c===e&&(t.substr(o,9)===Ue?(c=Ue,o+=9):(c=e,l(bf)),c===e&&(t.substr(o,9)===Lc?(c=Lc,o+=9):(c=e,l(wc)),c===e&&(t.substr(o,9)===Ec?(c=Ec,o+=9):(c=e,l(mf)),c===e&&(t.substr(o,9)===Ke?(c=Ke,o+=9):(c=e,l(Ce)),c===e&&(t.substr(o,9)===$?(c=$,o+=9):(c=e,l(p)),c===e&&(t.substr(o,9)===h?(c=h,o+=9):(c=e,l(d)),c===e&&(t.substr(o,9)===S?(c=S,o+=9):(c=e,l(C)),c===e&&(t.substr(o,9)===E?(c=E,o+=9):(c=e,l(F)),c===e&&(t.substr(o,9)===fe?(c=fe,o+=9):(c=e,l(oe)),c===e&&(t.substr(o,9)===pf?(c=pf,o+=9):(c=e,l(x0)),c===e&&(t.substr(o,9)===uf?(c=uf,o+=9):(c=e,l(C0)),c===e&&(t.substr(o,9)===df?(c=df,o+=9):(c=e,l(S0)),c===e&&(t.substr(o,9)===hf?(c=hf,o+=9):(c=e,l(v0)),c===e&&(t.substr(o,9)===jf?(c=jf,o+=9):(c=e,l(M0)),c===e&&(t.substr(o,9)===yf?(c=yf,o+=9):(c=e,l(L0)),c===e&&(t.substr(o,9)===xf?(c=xf,o+=9):(c=e,l(w0)),c===e&&(t.substr(o,9)===Cf?(c=Cf,o+=9):(c=e,l(E0)),c===e&&(t.substr(o,9)===Sf?(c=Sf,o+=9):(c=e,l(A0)),c===e&&(t.substr(o,9)===vf?(c=vf,o+=9):(c=e,l(I0)),c===e&&(t.substr(o,9)===Mf?(c=Mf,o+=9):(c=e,l(T0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function Op(){let c;return t.substr(o,9)===Lf?(c=Lf,o+=9):(c=e,l(F0)),c===e&&(t.substr(o,9)===wf?(c=wf,o+=9):(c=e,l(_0)),c===e&&(t.substr(o,9)===Ef?(c=Ef,o+=9):(c=e,l(R0)),c===e&&(t.substr(o,9)===Af?(c=Af,o+=9):(c=e,l(P0)),c===e&&(t.substr(o,9)===If?(c=If,o+=9):(c=e,l(D0)),c===e&&(t.substr(o,9)===Tf?(c=Tf,o+=9):(c=e,l(N0)),c===e&&(t.substr(o,9)===Ff?(c=Ff,o+=9):(c=e,l(G0)),c===e&&(t.substr(o,9)===_f?(c=_f,o+=9):(c=e,l(O0)),c===e&&(t.substr(o,9)===Rf?(c=Rf,o+=9):(c=e,l(B0)),c===e&&(t.substr(o,9)===Pf?(c=Pf,o+=9):(c=e,l(z0)),c===e&&(t.substr(o,9)===Df?(c=Df,o+=9):(c=e,l(k0)),c===e&&(t.substr(o,9)===Nf?(c=Nf,o+=9):(c=e,l(V0)),c===e&&(t.substr(o,9)===Gf?(c=Gf,o+=9):(c=e,l(W0)),c===e&&(t.substr(o,9)===Of?(c=Of,o+=9):(c=e,l(H0)),c===e&&(t.substr(o,9)===Bf?(c=Bf,o+=9):(c=e,l(U0)),c===e&&(t.substr(o,9)===zf?(c=zf,o+=9):(c=e,l(K0)),c===e&&(t.substr(o,8)===kf?(c=kf,o+=8):(c=e,l(q0)),c===e&&(t.substr(o,8)===Vf?(c=Vf,o+=8):(c=e,l(Z0)),c===e&&(t.substr(o,8)===Wf?(c=Wf,o+=8):(c=e,l(X0)),c===e&&(t.substr(o,8)===Hf?(c=Hf,o+=8):(c=e,l(Y0)),c===e&&(t.substr(o,8)===Uf?(c=Uf,o+=8):(c=e,l(J0)),c===e&&(t.substr(o,8)===Kf?(c=Kf,o+=8):(c=e,l(Q0)),c===e&&(t.substr(o,8)===qf?(c=qf,o+=8):(c=e,l(eu)),c===e&&(t.substr(o,8)===Zf?(c=Zf,o+=8):(c=e,l(su)),c===e&&(t.substr(o,8)===Xf?(c=Xf,o+=8):(c=e,l(cu)),c===e&&(t.substr(o,8)===Yf?(c=Yf,o+=8):(c=e,l(tu)),c===e&&(t.substr(o,8)===Jf?(c=Jf,o+=8):(c=e,l(fu)),c===e&&(t.substr(o,8)===Qf?(c=Qf,o+=8):(c=e,l(ou)),c===e&&(t.substr(o,8)===eo?(c=eo,o+=8):(c=e,l(ru)),c===e&&(t.substr(o,8)===so?(c=so,o+=8):(c=e,l(iu)),c===e&&(t.substr(o,8)===co?(c=co,o+=8):(c=e,l(au)),c===e&&(t.substr(o,8)===to?(c=to,o+=8):(c=e,l(lu)),c===e&&(t.substr(o,8)===fo?(c=fo,o+=8):(c=e,l(nu)),c===e&&(t.substr(o,8)===oo?(c=oo,o+=8):(c=e,l(gu)),c===e&&(t.substr(o,8)===ro?(c=ro,o+=8):(c=e,l($u)),c===e&&(t.substr(o,8)===io?(c=io,o+=8):(c=e,l(bu)),c===e&&(t.substr(o,8)===ao?(c=ao,o+=8):(c=e,l(mu)),c===e&&(t.substr(o,8)===lo?(c=lo,o+=8):(c=e,l(pu)),c===e&&(t.substr(o,8)===no?(c=no,o+=8):(c=e,l(uu)),c===e&&(t.substr(o,8)===go?(c=go,o+=8):(c=e,l(du)),c===e&&(t.substr(o,8)===$o?(c=$o,o+=8):(c=e,l(hu)),c===e&&(t.substr(o,8)===bo?(c=bo,o+=8):(c=e,l(ju)),c===e&&(t.substr(o,8)===mo?(c=mo,o+=8):(c=e,l(yu)),c===e&&(t.substr(o,8)===po?(c=po,o+=8):(c=e,l(xu)),c===e&&(t.substr(o,8)===uo?(c=uo,o+=8):(c=e,l(Cu)),c===e&&(t.substr(o,8)===ho?(c=ho,o+=8):(c=e,l(Su)),c===e&&(t.substr(o,8)===jo?(c=jo,o+=8):(c=e,l(vu)),c===e&&(t.substr(o,8)===yo?(c=yo,o+=8):(c=e,l(Mu)),c===e&&(t.substr(o,8)===xo?(c=xo,o+=8):(c=e,l(Lu)),c===e&&(t.substr(o,8)===Co?(c=Co,o+=8):(c=e,l(wu)),c===e&&(t.substr(o,8)===So?(c=So,o+=8):(c=e,l(Eu)),c===e&&(t.substr(o,8)===vo?(c=vo,o+=8):(c=e,l(Au)),c===e&&(t.substr(o,8)===Mo?(c=Mo,o+=8):(c=e,l(Iu)),c===e&&(t.substr(o,8)===Lo?(c=Lo,o+=8):(c=e,l(Tu)),c===e&&(t.substr(o,8)===wo?(c=wo,o+=8):(c=e,l(Fu)),c===e&&(t.substr(o,8)===Eo?(c=Eo,o+=8):(c=e,l(_u)),c===e&&(t.substr(o,8)===Ao?(c=Ao,o+=8):(c=e,l(Ru)),c===e&&(t.substr(o,8)===Io?(c=Io,o+=8):(c=e,l(Pu)),c===e&&(t.substr(o,8)===To?(c=To,o+=8):(c=e,l(Du)),c===e&&(t.substr(o,8)===Fo?(c=Fo,o+=8):(c=e,l(Nu)),c===e&&(t.substr(o,8)===_o?(c=_o,o+=8):(c=e,l(Gu)),c===e&&(t.substr(o,8)===Ro?(c=Ro,o+=8):(c=e,l(Ou)),c===e&&(t.substr(o,8)===Po?(c=Po,o+=8):(c=e,l(Bu)),c===e&&(t.substr(o,8)===Do?(c=Do,o+=8):(c=e,l(zu)),c===e&&(t.substr(o,8)===No?(c=No,o+=8):(c=e,l(ku)),c===e&&(t.substr(o,8)===Go?(c=Go,o+=8):(c=e,l(Vu)),c===e&&(t.substr(o,8)===Oo?(c=Oo,o+=8):(c=e,l(Wu)),c===e&&(t.substr(o,8)===Bo?(c=Bo,o+=8):(c=e,l(Hu)),c===e&&(t.substr(o,8)===zo?(c=zo,o+=8):(c=e,l(Uu)),c===e&&(t.substr(o,8)===ko?(c=ko,o+=8):(c=e,l(Ku)),c===e&&(t.substr(o,8)===Vo?(c=Vo,o+=8):(c=e,l(qu)),c===e&&(t.substr(o,8)===Ac?(c=Ac,o+=8):(c=e,l(Em)),c===e&&(t.substr(o,8)===Ac?(c=Ac,o+=8):(c=e,l(Em)),c===e&&(t.substr(o,8)===Wo?(c=Wo,o+=8):(c=e,l(Zu)),c===e&&(t.substr(o,8)===Ho?(c=Ho,o+=8):(c=e,l(Xu)),c===e&&(t.substr(o,8)===Uo?(c=Uo,o+=8):(c=e,l(Yu)),c===e&&(t.substr(o,8)===Ko?(c=Ko,o+=8):(c=e,l(Ju)),c===e&&(t.substr(o,8)===qo?(c=qo,o+=8):(c=e,l(Qu)),c===e&&(t.substr(o,8)===Zo?(c=Zo,o+=8):(c=e,l(e6)),c===e&&(t.substr(o,8)===Xo?(c=Xo,o+=8):(c=e,l(s6)),c===e&&(t.substr(o,8)===Yo?(c=Yo,o+=8):(c=e,l(c6)),c===e&&(t.substr(o,8)===Jo?(c=Jo,o+=8):(c=e,l(t6)),c===e&&(t.substr(o,8)===Qo?(c=Qo,o+=8):(c=e,l(f6)),c===e&&(t.substr(o,8)===er?(c=er,o+=8):(c=e,l(o6)),c===e&&(t.substr(o,8)===sr?(c=sr,o+=8):(c=e,l(r6)),c===e&&(t.substr(o,8)===cr?(c=cr,o+=8):(c=e,l(i6)),c===e&&(t.substr(o,8)===tr?(c=tr,o+=8):(c=e,l(a6)),c===e&&(t.substr(o,8)===fr?(c=fr,o+=8):(c=e,l(l6)),c===e&&(t.substr(o,8)===or?(c=or,o+=8):(c=e,l(n6)),c===e&&(t.substr(o,8)===rr?(c=rr,o+=8):(c=e,l(g6)),c===e&&(t.substr(o,8)===ir?(c=ir,o+=8):(c=e,l($6)),c===e&&(t.substr(o,8)===ar?(c=ar,o+=8):(c=e,l(b6)),c===e&&(t.substr(o,8)===Ic?(c=Ic,o+=8):(c=e,l(Am)),c===e&&(t.substr(o,8)===lr?(c=lr,o+=8):(c=e,l(m6)),c===e&&(t.substr(o,8)===nr?(c=nr,o+=8):(c=e,l(p6)),c===e&&(t.substr(o,8)===gr?(c=gr,o+=8):(c=e,l(u6)),c===e&&(t.substr(o,8)===$r?(c=$r,o+=8):(c=e,l(d6)),c===e&&(t.substr(o,8)===br?(c=br,o+=8):(c=e,l(h6)),c===e&&(t.substr(o,8)===mr?(c=mr,o+=8):(c=e,l(j6)),c===e&&(t.substr(o,8)===Tc?(c=Tc,o+=8):(c=e,l(Im))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function pM(){let c;return t.substr(o,8)===pr?(c=pr,o+=8):(c=e,l(y6)),c===e&&(t.substr(o,8)===ur?(c=ur,o+=8):(c=e,l(x6)),c===e&&(t.substr(o,8)===dr?(c=dr,o+=8):(c=e,l(C6)),c===e&&(t.substr(o,8)===hr?(c=hr,o+=8):(c=e,l(S6)),c===e&&(t.substr(o,8)===jr?(c=jr,o+=8):(c=e,l(v6)),c===e&&(t.substr(o,8)===yr?(c=yr,o+=8):(c=e,l(M6)),c===e&&(t.substr(o,8)===xr?(c=xr,o+=8):(c=e,l(L6)),c===e&&(t.substr(o,8)===Cr?(c=Cr,o+=8):(c=e,l(w6)),c===e&&(t.substr(o,8)===Sr?(c=Sr,o+=8):(c=e,l(E6)),c===e&&(t.substr(o,8)===vr?(c=vr,o+=8):(c=e,l(A6)),c===e&&(t.substr(o,8)===Mr?(c=Mr,o+=8):(c=e,l(I6)),c===e&&(t.substr(o,8)===Lr?(c=Lr,o+=8):(c=e,l(T6)),c===e&&(t.substr(o,8)===wr?(c=wr,o+=8):(c=e,l(F6)),c===e&&(t.substr(o,8)===Er?(c=Er,o+=8):(c=e,l(_6)),c===e&&(t.substr(o,8)===Ar?(c=Ar,o+=8):(c=e,l(R6)),c===e&&(t.substr(o,8)===Ir?(c=Ir,o+=8):(c=e,l(P6)),c===e&&(t.substr(o,8)===Tr?(c=Tr,o+=8):(c=e,l(D6)),c===e&&(t.substr(o,8)===Fr?(c=Fr,o+=8):(c=e,l(N6)),c===e&&(t.substr(o,8)===_r?(c=_r,o+=8):(c=e,l(G6)),c===e&&(t.substr(o,8)===Ic?(c=Ic,o+=8):(c=e,l(Am)),c===e&&(t.substr(o,8)===Fc?(c=Fc,o+=8):(c=e,l(Tm)),c===e&&(t.substr(o,8)===Rr?(c=Rr,o+=8):(c=e,l(O6)),c===e&&(t.substr(o,8)===Pr?(c=Pr,o+=8):(c=e,l(B6)),c===e&&(t.substr(o,8)===Dr?(c=Dr,o+=8):(c=e,l(z6)),c===e&&(t.substr(o,8)===Nr?(c=Nr,o+=8):(c=e,l(k6)),c===e&&(t.substr(o,8)===Gr?(c=Gr,o+=8):(c=e,l(V6)),c===e&&(t.substr(o,8)===Or?(c=Or,o+=8):(c=e,l(W6)),c===e&&(t.substr(o,8)===Br?(c=Br,o+=8):(c=e,l(H6)),c===e&&(t.substr(o,8)===zr?(c=zr,o+=8):(c=e,l(U6)),c===e&&(t.substr(o,8)===kr?(c=kr,o+=8):(c=e,l(K6)),c===e&&(t.substr(o,7)===Vr?(c=Vr,o+=7):(c=e,l(q6)),c===e&&(t.substr(o,7)===Wr?(c=Wr,o+=7):(c=e,l(Z6)),c===e&&(t.substr(o,7)===Hr?(c=Hr,o+=7):(c=e,l(X6)),c===e&&(t.substr(o,7)===Ur?(c=Ur,o+=7):(c=e,l(Y6)),c===e&&(t.substr(o,7)===Kr?(c=Kr,o+=7):(c=e,l(J6)),c===e&&(t.substr(o,7)===qr?(c=qr,o+=7):(c=e,l(Q6)),c===e&&(t.substr(o,7)===Zr?(c=Zr,o+=7):(c=e,l(e4)),c===e&&(t.substr(o,7)===Xr?(c=Xr,o+=7):(c=e,l(s4)),c===e&&(t.substr(o,7)===Yr?(c=Yr,o+=7):(c=e,l(c4)),c===e&&(t.substr(o,7)===Jr?(c=Jr,o+=7):(c=e,l(t4)),c===e&&(t.substr(o,7)===Qr?(c=Qr,o+=7):(c=e,l(f4)),c===e&&(t.substr(o,7)===ei?(c=ei,o+=7):(c=e,l(o4)),c===e&&(t.substr(o,7)===si?(c=si,o+=7):(c=e,l(r4)),c===e&&(t.substr(o,7)===ci?(c=ci,o+=7):(c=e,l(i4)),c===e&&(t.substr(o,7)===ti?(c=ti,o+=7):(c=e,l(a4)),c===e&&(t.substr(o,7)===fi?(c=fi,o+=7):(c=e,l(l4)),c===e&&(t.substr(o,7)===oi?(c=oi,o+=7):(c=e,l(n4)),c===e&&(t.substr(o,7)===ri?(c=ri,o+=7):(c=e,l(g4)),c===e&&(t.substr(o,7)===ii?(c=ii,o+=7):(c=e,l($4)),c===e&&(t.substr(o,7)===ai?(c=ai,o+=7):(c=e,l(b4)),c===e&&(t.substr(o,7)===li?(c=li,o+=7):(c=e,l(m4)),c===e&&(t.substr(o,7)===ni?(c=ni,o+=7):(c=e,l(p4)),c===e&&(t.substr(o,7)===gi?(c=gi,o+=7):(c=e,l(u4)),c===e&&(t.substr(o,7)===$i?(c=$i,o+=7):(c=e,l(d4)),c===e&&(t.substr(o,7)===bi?(c=bi,o+=7):(c=e,l(h4)),c===e&&(t.substr(o,7)===mi?(c=mi,o+=7):(c=e,l(j4)),c===e&&(t.substr(o,7)===pi?(c=pi,o+=7):(c=e,l(y4)),c===e&&(t.substr(o,7)===ui?(c=ui,o+=7):(c=e,l(x4)),c===e&&(t.substr(o,7)===di?(c=di,o+=7):(c=e,l(C4)),c===e&&(t.substr(o,7)===hi?(c=hi,o+=7):(c=e,l(S4)),c===e&&(t.substr(o,7)===ji?(c=ji,o+=7):(c=e,l(v4)),c===e&&(t.substr(o,7)===yi?(c=yi,o+=7):(c=e,l(M4)),c===e&&(t.substr(o,7)===xi?(c=xi,o+=7):(c=e,l(L4)),c===e&&(t.substr(o,7)===Ci?(c=Ci,o+=7):(c=e,l(w4)),c===e&&(t.substr(o,7)===Si?(c=Si,o+=7):(c=e,l(E4)),c===e&&(t.substr(o,7)===vi?(c=vi,o+=7):(c=e,l(A4)),c===e&&(t.substr(o,7)===Mi?(c=Mi,o+=7):(c=e,l(I4)),c===e&&(t.substr(o,7)===Li?(c=Li,o+=7):(c=e,l(T4)),c===e&&(t.substr(o,7)===wi?(c=wi,o+=7):(c=e,l(F4)),c===e&&(t.substr(o,7)===Ei?(c=Ei,o+=7):(c=e,l(_4)),c===e&&(t.substr(o,7)===Ai?(c=Ai,o+=7):(c=e,l(R4)),c===e&&(t.substr(o,7)===Ii?(c=Ii,o+=7):(c=e,l(P4)),c===e&&(t.substr(o,7)===Ti?(c=Ti,o+=7):(c=e,l(D4)),c===e&&(t.substr(o,7)===Fi?(c=Fi,o+=7):(c=e,l(N4)),c===e&&(t.substr(o,7)===_i?(c=_i,o+=7):(c=e,l(G4)),c===e&&(t.substr(o,7)===Ri?(c=Ri,o+=7):(c=e,l(O4)),c===e&&(t.substr(o,7)===Pi?(c=Pi,o+=7):(c=e,l(B4)),c===e&&(t.substr(o,7)===Di?(c=Di,o+=7):(c=e,l(z4)),c===e&&(t.substr(o,7)===Ni?(c=Ni,o+=7):(c=e,l(k4)),c===e&&(t.substr(o,7)===Gi?(c=Gi,o+=7):(c=e,l(V4)),c===e&&(t.substr(o,7)===Oi?(c=Oi,o+=7):(c=e,l(W4)),c===e&&(t.substr(o,7)===Bi?(c=Bi,o+=7):(c=e,l(H4)),c===e&&(t.substr(o,7)===_c?(c=_c,o+=7):(c=e,l(Fm)),c===e&&(t.substr(o,7)===_c?(c=_c,o+=7):(c=e,l(Fm)),c===e&&(t.substr(o,7)===zi?(c=zi,o+=7):(c=e,l(U4)),c===e&&(t.substr(o,7)===ki?(c=ki,o+=7):(c=e,l(K4)),c===e&&(t.substr(o,7)===Vi?(c=Vi,o+=7):(c=e,l(q4)),c===e&&(t.substr(o,7)===Wi?(c=Wi,o+=7):(c=e,l(Z4)),c===e&&(t.substr(o,7)===Hi?(c=Hi,o+=7):(c=e,l(X4)),c===e&&(t.substr(o,7)===Ui?(c=Ui,o+=7):(c=e,l(Y4)),c===e&&(t.substr(o,7)===Ki?(c=Ki,o+=7):(c=e,l(J4)),c===e&&(t.substr(o,7)===qi?(c=qi,o+=7):(c=e,l(Q4)),c===e&&(t.substr(o,7)===Zi?(c=Zi,o+=7):(c=e,l(e2)),c===e&&(t.substr(o,7)===Xi?(c=Xi,o+=7):(c=e,l(s2)),c===e&&(t.substr(o,7)===Yi?(c=Yi,o+=7):(c=e,l(c2)),c===e&&(t.substr(o,7)===Ji?(c=Ji,o+=7):(c=e,l(t2)),c===e&&(t.substr(o,7)===Qi?(c=Qi,o+=7):(c=e,l(f2)),c===e&&(t.substr(o,7)===ea?(c=ea,o+=7):(c=e,l(o2)),c===e&&(t.substr(o,7)===sa?(c=sa,o+=7):(c=e,l(r2)),c===e&&(t.substr(o,7)===ca?(c=ca,o+=7):(c=e,l(i2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function Bp(){let c;return t.substr(o,7)===ta?(c=ta,o+=7):(c=e,l(a2)),c===e&&(t.substr(o,7)===fa?(c=fa,o+=7):(c=e,l(l2)),c===e&&(t.substr(o,7)===oa?(c=oa,o+=7):(c=e,l(n2)),c===e&&(t.substr(o,7)===ra?(c=ra,o+=7):(c=e,l(g2)),c===e&&(t.substr(o,7)===ia?(c=ia,o+=7):(c=e,l($2)),c===e&&(t.substr(o,7)===aa?(c=aa,o+=7):(c=e,l(b2)),c===e&&(t.substr(o,7)===la?(c=la,o+=7):(c=e,l(m2)),c===e&&(t.substr(o,7)===na?(c=na,o+=7):(c=e,l(p2)),c===e&&(t.substr(o,7)===ga?(c=ga,o+=7):(c=e,l(u2)),c===e&&(t.substr(o,7)===$a?(c=$a,o+=7):(c=e,l(d2)),c===e&&(t.substr(o,7)===Rc?(c=Rc,o+=7):(c=e,l(_m)),c===e&&(t.substr(o,7)===ba?(c=ba,o+=7):(c=e,l(h2)),c===e&&(t.substr(o,7)===ma?(c=ma,o+=7):(c=e,l(j2)),c===e&&(t.substr(o,7)===pa?(c=pa,o+=7):(c=e,l(y2)),c===e&&(t.substr(o,7)===Pc?(c=Pc,o+=7):(c=e,l(Rm)),c===e&&(t.substr(o,7)===Pc?(c=Pc,o+=7):(c=e,l(Rm)),c===e&&(t.substr(o,7)===ua?(c=ua,o+=7):(c=e,l(x2)),c===e&&(t.substr(o,7)===da?(c=da,o+=7):(c=e,l(C2)),c===e&&(t.substr(o,7)===ha?(c=ha,o+=7):(c=e,l(S2)),c===e&&(t.substr(o,7)===ja?(c=ja,o+=7):(c=e,l(v2)),c===e&&(t.substr(o,7)===ya?(c=ya,o+=7):(c=e,l(M2)),c===e&&(t.substr(o,7)===xa?(c=xa,o+=7):(c=e,l(L2)),c===e&&(t.substr(o,7)===Ca?(c=Ca,o+=7):(c=e,l(w2)),c===e&&(t.substr(o,7)===Sa?(c=Sa,o+=7):(c=e,l(E2)),c===e&&(t.substr(o,7)===va?(c=va,o+=7):(c=e,l(A2)),c===e&&(t.substr(o,7)===Ma?(c=Ma,o+=7):(c=e,l(I2)),c===e&&(t.substr(o,7)===La?(c=La,o+=7):(c=e,l(T2)),c===e&&(t.substr(o,7)===wa?(c=wa,o+=7):(c=e,l(F2)),c===e&&(t.substr(o,7)===Ea?(c=Ea,o+=7):(c=e,l(_2)),c===e&&(t.substr(o,7)===Aa?(c=Aa,o+=7):(c=e,l(R2)),c===e&&(t.substr(o,7)===Ia?(c=Ia,o+=7):(c=e,l(P2)),c===e&&(t.substr(o,7)===Ta?(c=Ta,o+=7):(c=e,l(D2)),c===e&&(t.substr(o,7)===Fa?(c=Fa,o+=7):(c=e,l(N2)),c===e&&(t.substr(o,7)===_a?(c=_a,o+=7):(c=e,l(G2)),c===e&&(t.substr(o,7)===Ra?(c=Ra,o+=7):(c=e,l(O2)),c===e&&(t.substr(o,7)===Pa?(c=Pa,o+=7):(c=e,l(B2)),c===e&&(t.substr(o,7)===Da?(c=Da,o+=7):(c=e,l(z2)),c===e&&(t.substr(o,7)===Na?(c=Na,o+=7):(c=e,l(k2)),c===e&&(t.substr(o,7)===Ga?(c=Ga,o+=7):(c=e,l(V2)),c===e&&(t.substr(o,7)===Oa?(c=Oa,o+=7):(c=e,l(W2)),c===e&&(t.substr(o,7)===Ba?(c=Ba,o+=7):(c=e,l(H2)),c===e&&(t.substr(o,7)===za?(c=za,o+=7):(c=e,l(U2)),c===e&&(t.substr(o,7)===Dc?(c=Dc,o+=7):(c=e,l(Pm)),c===e&&(t.substr(o,7)===ka?(c=ka,o+=7):(c=e,l(K2)),c===e&&(t.substr(o,7)===Va?(c=Va,o+=7):(c=e,l(q2)),c===e&&(t.substr(o,7)===Wa?(c=Wa,o+=7):(c=e,l(Z2)),c===e&&(t.substr(o,7)===Ha?(c=Ha,o+=7):(c=e,l(X2)),c===e&&(t.substr(o,7)===Ua?(c=Ua,o+=7):(c=e,l(Y2)),c===e&&(t.substr(o,7)===Ka?(c=Ka,o+=7):(c=e,l(J2)),c===e&&(t.substr(o,7)===qa?(c=qa,o+=7):(c=e,l(Q2)),c===e&&(t.substr(o,7)===Za?(c=Za,o+=7):(c=e,l(ed)),c===e&&(t.substr(o,7)===Xa?(c=Xa,o+=7):(c=e,l(sd)),c===e&&(t.substr(o,7)===Ya?(c=Ya,o+=7):(c=e,l(cd)),c===e&&(t.substr(o,7)===Ja?(c=Ja,o+=7):(c=e,l(td)),c===e&&(t.substr(o,7)===Qa?(c=Qa,o+=7):(c=e,l(fd)),c===e&&(t.substr(o,7)===el?(c=el,o+=7):(c=e,l(od)),c===e&&(t.substr(o,7)===sl?(c=sl,o+=7):(c=e,l(rd)),c===e&&(t.substr(o,7)===cl?(c=cl,o+=7):(c=e,l(id)),c===e&&(t.substr(o,7)===tl?(c=tl,o+=7):(c=e,l(ad)),c===e&&(t.substr(o,7)===fl?(c=fl,o+=7):(c=e,l(ld)),c===e&&(t.substr(o,7)===ol?(c=ol,o+=7):(c=e,l(nd)),c===e&&(t.substr(o,7)===rl?(c=rl,o+=7):(c=e,l(gd)),c===e&&(t.substr(o,7)===il?(c=il,o+=7):(c=e,l($d)),c===e&&(t.substr(o,7)===al?(c=al,o+=7):(c=e,l(bd)),c===e&&(t.substr(o,7)===ll?(c=ll,o+=7):(c=e,l(md)),c===e&&(t.substr(o,7)===nl?(c=nl,o+=7):(c=e,l(pd)),c===e&&(t.substr(o,7)===gl?(c=gl,o+=7):(c=e,l(ud)),c===e&&(t.substr(o,7)===$l?(c=$l,o+=7):(c=e,l(dd)),c===e&&(t.substr(o,7)===bl?(c=bl,o+=7):(c=e,l(hd)),c===e&&(t.substr(o,7)===ml?(c=ml,o+=7):(c=e,l(jd)),c===e&&(t.substr(o,7)===pl?(c=pl,o+=7):(c=e,l(yd)),c===e&&(t.substr(o,7)===ul?(c=ul,o+=7):(c=e,l(xd)),c===e&&(t.substr(o,7)===dl?(c=dl,o+=7):(c=e,l(Cd)),c===e&&(t.substr(o,7)===hl?(c=hl,o+=7):(c=e,l(Sd)),c===e&&(t.substr(o,7)===jl?(c=jl,o+=7):(c=e,l(vd)),c===e&&(t.substr(o,7)===yl?(c=yl,o+=7):(c=e,l(Md)),c===e&&(t.substr(o,7)===xl?(c=xl,o+=7):(c=e,l(Ld)),c===e&&(t.substr(o,7)===Cl?(c=Cl,o+=7):(c=e,l(wd)),c===e&&(t.substr(o,7)===Sl?(c=Sl,o+=7):(c=e,l(Ed)),c===e&&(t.substr(o,7)===vl?(c=vl,o+=7):(c=e,l(Ad)),c===e&&(t.substr(o,7)===Ml?(c=Ml,o+=7):(c=e,l(Id)),c===e&&(t.substr(o,7)===Ll?(c=Ll,o+=7):(c=e,l(Td)),c===e&&(t.substr(o,7)===wl?(c=wl,o+=7):(c=e,l(Fd)),c===e&&(t.substr(o,7)===El?(c=El,o+=7):(c=e,l(_d)),c===e&&(t.substr(o,7)===Al?(c=Al,o+=7):(c=e,l(Rd)),c===e&&(t.substr(o,7)===Il?(c=Il,o+=7):(c=e,l(Pd)),c===e&&(t.substr(o,7)===Tl?(c=Tl,o+=7):(c=e,l(Dd)),c===e&&(t.substr(o,7)===Fl?(c=Fl,o+=7):(c=e,l(Nd)),c===e&&(t.substr(o,7)===_l?(c=_l,o+=7):(c=e,l(Gd)),c===e&&(t.substr(o,7)===Rl?(c=Rl,o+=7):(c=e,l(Od)),c===e&&(t.substr(o,7)===Pl?(c=Pl,o+=7):(c=e,l(Bd)),c===e&&(t.substr(o,7)===Dl?(c=Dl,o+=7):(c=e,l(zd)),c===e&&(t.substr(o,7)===Nl?(c=Nl,o+=7):(c=e,l(kd)),c===e&&(t.substr(o,7)===Gl?(c=Gl,o+=7):(c=e,l(Vd)),c===e&&(t.substr(o,7)===Ol?(c=Ol,o+=7):(c=e,l(Wd)),c===e&&(t.substr(o,7)===Bl?(c=Bl,o+=7):(c=e,l(Hd)),c===e&&(t.substr(o,7)===zl?(c=zl,o+=7):(c=e,l(Ud)),c===e&&(t.substr(o,7)===kl?(c=kl,o+=7):(c=e,l(Kd)),c===e&&(t.substr(o,7)===Vl?(c=Vl,o+=7):(c=e,l(qd)),c===e&&(t.substr(o,7)===Wl?(c=Wl,o+=7):(c=e,l(Zd))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function uM(){let c;return t.substr(o,7)===Hl?(c=Hl,o+=7):(c=e,l(Xd)),c===e&&(t.substr(o,7)===Ul?(c=Ul,o+=7):(c=e,l(Yd)),c===e&&(t.substr(o,7)===Kl?(c=Kl,o+=7):(c=e,l(Jd)),c===e&&(t.substr(o,7)===ql?(c=ql,o+=7):(c=e,l(Qd)),c===e&&(t.substr(o,6)===Zl?(c=Zl,o+=6):(c=e,l(e8)),c===e&&(t.substr(o,6)===Xl?(c=Xl,o+=6):(c=e,l(s8)),c===e&&(t.substr(o,6)===Yl?(c=Yl,o+=6):(c=e,l(c8)),c===e&&(t.substr(o,6)===Jl?(c=Jl,o+=6):(c=e,l(t8)),c===e&&(t.substr(o,6)===Ql?(c=Ql,o+=6):(c=e,l(f8)),c===e&&(t.substr(o,6)===en?(c=en,o+=6):(c=e,l(o8)),c===e&&(t.substr(o,6)===sn?(c=sn,o+=6):(c=e,l(r8)),c===e&&(t.substr(o,6)===cn?(c=cn,o+=6):(c=e,l(i8)),c===e&&(t.substr(o,6)===tn?(c=tn,o+=6):(c=e,l(a8)),c===e&&(t.substr(o,6)===fn?(c=fn,o+=6):(c=e,l(l8)),c===e&&(t.substr(o,6)===on?(c=on,o+=6):(c=e,l(n8)),c===e&&(t.substr(o,6)===rn?(c=rn,o+=6):(c=e,l(g8)),c===e&&(t.substr(o,6)===an?(c=an,o+=6):(c=e,l($8)),c===e&&(t.substr(o,6)===ln?(c=ln,o+=6):(c=e,l(b8)),c===e&&(t.substr(o,6)===nn?(c=nn,o+=6):(c=e,l(m8)),c===e&&(t.substr(o,6)===gn?(c=gn,o+=6):(c=e,l(p8)),c===e&&(t.substr(o,6)===$n?(c=$n,o+=6):(c=e,l(u8)),c===e&&(t.substr(o,6)===bn?(c=bn,o+=6):(c=e,l(d8)),c===e&&(t.substr(o,6)===mn?(c=mn,o+=6):(c=e,l(h8)),c===e&&(t.substr(o,6)===pn?(c=pn,o+=6):(c=e,l(j8)),c===e&&(t.substr(o,6)===un?(c=un,o+=6):(c=e,l(y8)),c===e&&(t.substr(o,6)===dn?(c=dn,o+=6):(c=e,l(x8)),c===e&&(t.substr(o,6)===hn?(c=hn,o+=6):(c=e,l(C8)),c===e&&(t.substr(o,6)===jn?(c=jn,o+=6):(c=e,l(S8)),c===e&&(t.substr(o,6)===yn?(c=yn,o+=6):(c=e,l(v8)),c===e&&(t.substr(o,6)===xn?(c=xn,o+=6):(c=e,l(M8)),c===e&&(t.substr(o,6)===Cn?(c=Cn,o+=6):(c=e,l(L8)),c===e&&(t.substr(o,6)===Sn?(c=Sn,o+=6):(c=e,l(w8)),c===e&&(t.substr(o,6)===vn?(c=vn,o+=6):(c=e,l(E8)),c===e&&(t.substr(o,6)===Mn?(c=Mn,o+=6):(c=e,l(A8)),c===e&&(t.substr(o,6)===Ln?(c=Ln,o+=6):(c=e,l(I8)),c===e&&(t.substr(o,6)===wn?(c=wn,o+=6):(c=e,l(T8)),c===e&&(t.substr(o,6)===En?(c=En,o+=6):(c=e,l(F8)),c===e&&(t.substr(o,6)===An?(c=An,o+=6):(c=e,l(_8)),c===e&&(t.substr(o,6)===In?(c=In,o+=6):(c=e,l(R8)),c===e&&(t.substr(o,6)===Tn?(c=Tn,o+=6):(c=e,l(P8)),c===e&&(t.substr(o,6)===Fn?(c=Fn,o+=6):(c=e,l(D8)),c===e&&(t.substr(o,6)===_n?(c=_n,o+=6):(c=e,l(N8)),c===e&&(t.substr(o,6)===Rn?(c=Rn,o+=6):(c=e,l(G8)),c===e&&(t.substr(o,6)===Pn?(c=Pn,o+=6):(c=e,l(O8)),c===e&&(t.substr(o,6)===Dn?(c=Dn,o+=6):(c=e,l(B8)),c===e&&(t.substr(o,6)===Nn?(c=Nn,o+=6):(c=e,l(z8)),c===e&&(t.substr(o,6)===Gn?(c=Gn,o+=6):(c=e,l(k8)),c===e&&(t.substr(o,6)===On?(c=On,o+=6):(c=e,l(V8)),c===e&&(t.substr(o,6)===Bn?(c=Bn,o+=6):(c=e,l(W8)),c===e&&(t.substr(o,6)===zn?(c=zn,o+=6):(c=e,l(H8)),c===e&&(t.substr(o,6)===kn?(c=kn,o+=6):(c=e,l(U8)),c===e&&(t.substr(o,6)===Nc?(c=Nc,o+=6):(c=e,l(Dm)),c===e&&(t.substr(o,6)===Nc?(c=Nc,o+=6):(c=e,l(Dm)),c===e&&(t.substr(o,6)===Vn?(c=Vn,o+=6):(c=e,l(K8)),c===e&&(t.substr(o,6)===Wn?(c=Wn,o+=6):(c=e,l(q8)),c===e&&(t.substr(o,6)===Hn?(c=Hn,o+=6):(c=e,l(Z8)),c===e&&(t.substr(o,6)===Un?(c=Un,o+=6):(c=e,l(X8)),c===e&&(t.substr(o,6)===Kn?(c=Kn,o+=6):(c=e,l(Y8)),c===e&&(t.substr(o,6)===qn?(c=qn,o+=6):(c=e,l(J8)),c===e&&(t.substr(o,6)===Zn?(c=Zn,o+=6):(c=e,l(Q8)),c===e&&(t.substr(o,6)===Xn?(c=Xn,o+=6):(c=e,l(eh)),c===e&&(t.substr(o,6)===Yn?(c=Yn,o+=6):(c=e,l(sh)),c===e&&(t.substr(o,6)===Jn?(c=Jn,o+=6):(c=e,l(ch)),c===e&&(t.substr(o,6)===Qn?(c=Qn,o+=6):(c=e,l(th)),c===e&&(t.substr(o,6)===eg?(c=eg,o+=6):(c=e,l(fh)),c===e&&(t.substr(o,6)===sg?(c=sg,o+=6):(c=e,l(oh)),c===e&&(t.substr(o,6)===cg?(c=cg,o+=6):(c=e,l(rh)),c===e&&(t.substr(o,6)===tg?(c=tg,o+=6):(c=e,l(ih)),c===e&&(t.substr(o,6)===fg?(c=fg,o+=6):(c=e,l(ah)),c===e&&(t.substr(o,6)===og?(c=og,o+=6):(c=e,l(lh)),c===e&&(t.substr(o,6)===rg?(c=rg,o+=6):(c=e,l(nh)),c===e&&(t.substr(o,6)===ig?(c=ig,o+=6):(c=e,l(gh)),c===e&&(t.substr(o,6)===ag?(c=ag,o+=6):(c=e,l($h)),c===e&&(t.substr(o,6)===lg?(c=lg,o+=6):(c=e,l(bh)),c===e&&(t.substr(o,6)===ng?(c=ng,o+=6):(c=e,l(mh)),c===e&&(t.substr(o,6)===gg?(c=gg,o+=6):(c=e,l(ph)),c===e&&(t.substr(o,6)===$g?(c=$g,o+=6):(c=e,l(uh)),c===e&&(t.substr(o,6)===bg?(c=bg,o+=6):(c=e,l(dh)),c===e&&(t.substr(o,6)===mg?(c=mg,o+=6):(c=e,l(hh)),c===e&&(t.substr(o,6)===Gc?(c=Gc,o+=6):(c=e,l(Nm)),c===e&&(t.substr(o,6)===pg?(c=pg,o+=6):(c=e,l(jh)),c===e&&(t.substr(o,6)===ug?(c=ug,o+=6):(c=e,l(yh)),c===e&&(t.substr(o,6)===dg?(c=dg,o+=6):(c=e,l(xh)),c===e&&(t.substr(o,6)===hg?(c=hg,o+=6):(c=e,l(Ch)),c===e&&(t.substr(o,6)===jg?(c=jg,o+=6):(c=e,l(Sh)),c===e&&(t.substr(o,6)===yg?(c=yg,o+=6):(c=e,l(vh)),c===e&&(t.substr(o,6)===xg?(c=xg,o+=6):(c=e,l(Mh)),c===e&&(t.substr(o,6)===Cg?(c=Cg,o+=6):(c=e,l(Lh)),c===e&&(t.substr(o,6)===Sg?(c=Sg,o+=6):(c=e,l(wh)),c===e&&(t.substr(o,6)===vg?(c=vg,o+=6):(c=e,l(Eh)),c===e&&(t.substr(o,6)===Mg?(c=Mg,o+=6):(c=e,l(Ah)),c===e&&(t.substr(o,6)===Lg?(c=Lg,o+=6):(c=e,l(Ih)),c===e&&(t.substr(o,6)===wg?(c=wg,o+=6):(c=e,l(Th)),c===e&&(t.substr(o,6)===Eg?(c=Eg,o+=6):(c=e,l(Fh)),c===e&&(t.substr(o,6)===Ag?(c=Ag,o+=6):(c=e,l(_h)),c===e&&(t.substr(o,6)===Ig?(c=Ig,o+=6):(c=e,l(Rh)),c===e&&(t.substr(o,6)===Tg?(c=Tg,o+=6):(c=e,l(Ph)),c===e&&(t.substr(o,6)===Fg?(c=Fg,o+=6):(c=e,l(Dh)),c===e&&(t.substr(o,6)===_g?(c=_g,o+=6):(c=e,l(Nh)),c===e&&(t.substr(o,6)===Rg?(c=Rg,o+=6):(c=e,l(Gh))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function zp(){let c;return t.substr(o,6)===Pg?(c=Pg,o+=6):(c=e,l(Oh)),c===e&&(t.substr(o,6)===Dg?(c=Dg,o+=6):(c=e,l(Bh)),c===e&&(t.substr(o,6)===Ng?(c=Ng,o+=6):(c=e,l(zh)),c===e&&(t.substr(o,6)===Gg?(c=Gg,o+=6):(c=e,l(kh)),c===e&&(t.substr(o,6)===Og?(c=Og,o+=6):(c=e,l(Vh)),c===e&&(t.substr(o,6)===Bg?(c=Bg,o+=6):(c=e,l(Wh)),c===e&&(t.substr(o,6)===zg?(c=zg,o+=6):(c=e,l(Hh)),c===e&&(t.substr(o,6)===kg?(c=kg,o+=6):(c=e,l(Uh)),c===e&&(t.substr(o,6)===Vg?(c=Vg,o+=6):(c=e,l(Kh)),c===e&&(t.substr(o,6)===Wg?(c=Wg,o+=6):(c=e,l(qh)),c===e&&(t.substr(o,6)===Hg?(c=Hg,o+=6):(c=e,l(Zh)),c===e&&(t.substr(o,6)===Ug?(c=Ug,o+=6):(c=e,l(Xh)),c===e&&(t.substr(o,6)===Kg?(c=Kg,o+=6):(c=e,l(Yh)),c===e&&(t.substr(o,6)===qg?(c=qg,o+=6):(c=e,l(Jh)),c===e&&(t.substr(o,6)===Zg?(c=Zg,o+=6):(c=e,l(Qh)),c===e&&(t.substr(o,6)===Xg?(c=Xg,o+=6):(c=e,l(ej)),c===e&&(t.substr(o,6)===Yg?(c=Yg,o+=6):(c=e,l(sj)),c===e&&(t.substr(o,6)===Jg?(c=Jg,o+=6):(c=e,l(cj)),c===e&&(t.substr(o,6)===Qg?(c=Qg,o+=6):(c=e,l(tj)),c===e&&(t.substr(o,6)===e$?(c=e$,o+=6):(c=e,l(fj)),c===e&&(t.substr(o,6)===s$?(c=s$,o+=6):(c=e,l(oj)),c===e&&(t.substr(o,6)===c$?(c=c$,o+=6):(c=e,l(rj)),c===e&&(t.substr(o,6)===t$?(c=t$,o+=6):(c=e,l(ij)),c===e&&(t.substr(o,6)===f$?(c=f$,o+=6):(c=e,l(aj)),c===e&&(t.substr(o,6)===o$?(c=o$,o+=6):(c=e,l(lj)),c===e&&(t.substr(o,6)===r$?(c=r$,o+=6):(c=e,l(nj)),c===e&&(t.substr(o,6)===i$?(c=i$,o+=6):(c=e,l(gj)),c===e&&(t.substr(o,6)===a$?(c=a$,o+=6):(c=e,l($j)),c===e&&(t.substr(o,6)===l$?(c=l$,o+=6):(c=e,l(bj)),c===e&&(t.substr(o,6)===n$?(c=n$,o+=6):(c=e,l(mj)),c===e&&(t.substr(o,6)===qe?(c=qe,o+=6):(c=e,l(g$)),c===e&&(t.substr(o,6)===$$?(c=$$,o+=6):(c=e,l(pj)),c===e&&(t.substr(o,6)===b$?(c=b$,o+=6):(c=e,l(uj)),c===e&&(t.substr(o,6)===m$?(c=m$,o+=6):(c=e,l(dj)),c===e&&(t.substr(o,6)===p$?(c=p$,o+=6):(c=e,l(hj)),c===e&&(t.substr(o,6)===u$?(c=u$,o+=6):(c=e,l(jj)),c===e&&(t.substr(o,6)===d$?(c=d$,o+=6):(c=e,l(yj)),c===e&&(t.substr(o,6)===h$?(c=h$,o+=6):(c=e,l(xj)),c===e&&(t.substr(o,6)===j$?(c=j$,o+=6):(c=e,l(Cj)),c===e&&(t.substr(o,6)===y$?(c=y$,o+=6):(c=e,l(Sj)),c===e&&(t.substr(o,6)===qe?(c=qe,o+=6):(c=e,l(g$)),c===e&&(t.substr(o,6)===x$?(c=x$,o+=6):(c=e,l(vj)),c===e&&(t.substr(o,6)===C$?(c=C$,o+=6):(c=e,l(Mj)),c===e&&(t.substr(o,6)===S$?(c=S$,o+=6):(c=e,l(Lj)),c===e&&(t.substr(o,6)===v$?(c=v$,o+=6):(c=e,l(wj)),c===e&&(t.substr(o,6)===M$?(c=M$,o+=6):(c=e,l(Ej)),c===e&&(t.substr(o,6)===L$?(c=L$,o+=6):(c=e,l(Aj)),c===e&&(t.substr(o,6)===w$?(c=w$,o+=6):(c=e,l(Ij)),c===e&&(t.substr(o,6)===E$?(c=E$,o+=6):(c=e,l(Tj)),c===e&&(t.substr(o,6)===A$?(c=A$,o+=6):(c=e,l(Fj)),c===e&&(t.substr(o,6)===Oc?(c=Oc,o+=6):(c=e,l(Gm)),c===e&&(t.substr(o,6)===I$?(c=I$,o+=6):(c=e,l(_j)),c===e&&(t.substr(o,6)===T$?(c=T$,o+=6):(c=e,l(Rj)),c===e&&(t.substr(o,6)===F$?(c=F$,o+=6):(c=e,l(Pj)),c===e&&(t.substr(o,6)===_$?(c=_$,o+=6):(c=e,l(Dj)),c===e&&(t.substr(o,6)===R$?(c=R$,o+=6):(c=e,l(Nj)),c===e&&(t.substr(o,6)===P$?(c=P$,o+=6):(c=e,l(Gj)),c===e&&(t.substr(o,6)===D$?(c=D$,o+=6):(c=e,l(Oj)),c===e&&(t.substr(o,6)===Ze?(c=Ze,o+=6):(c=e,l(N$)),c===e&&(t.substr(o,6)===G$?(c=G$,o+=6):(c=e,l(Bj)),c===e&&(t.substr(o,6)===qe?(c=qe,o+=6):(c=e,l(g$)),c===e&&(t.substr(o,6)===O$?(c=O$,o+=6):(c=e,l(zj)),c===e&&(t.substr(o,6)===B$?(c=B$,o+=6):(c=e,l(kj)),c===e&&(t.substr(o,6)===z$?(c=z$,o+=6):(c=e,l(Vj)),c===e&&(t.substr(o,6)===k$?(c=k$,o+=6):(c=e,l(Wj)),c===e&&(t.substr(o,6)===V$?(c=V$,o+=6):(c=e,l(Hj)),c===e&&(t.substr(o,6)===Oc?(c=Oc,o+=6):(c=e,l(Gm)),c===e&&(t.substr(o,6)===W$?(c=W$,o+=6):(c=e,l(Uj)),c===e&&(t.substr(o,6)===H$?(c=H$,o+=6):(c=e,l(Kj)),c===e&&(t.substr(o,6)===U$?(c=U$,o+=6):(c=e,l(qj)),c===e&&(t.substr(o,6)===K$?(c=K$,o+=6):(c=e,l(Zj)),c===e&&(t.substr(o,6)===q$?(c=q$,o+=6):(c=e,l(Xj)),c===e&&(t.substr(o,6)===Z$?(c=Z$,o+=6):(c=e,l(Yj)),c===e&&(t.substr(o,5)===X$?(c=X$,o+=5):(c=e,l(Jj)),c===e&&(t.substr(o,5)===Y$?(c=Y$,o+=5):(c=e,l(Qj)),c===e&&(t.substr(o,5)===J$?(c=J$,o+=5):(c=e,l(ey)),c===e&&(t.substr(o,5)===Q$?(c=Q$,o+=5):(c=e,l(sy)),c===e&&(t.substr(o,5)===e5?(c=e5,o+=5):(c=e,l(cy)),c===e&&(t.substr(o,5)===s5?(c=s5,o+=5):(c=e,l(ty)),c===e&&(t.substr(o,5)===Bc?(c=Bc,o+=5):(c=e,l(Om)),c===e&&(t.substr(o,5)===c5?(c=c5,o+=5):(c=e,l(fy)),c===e&&(t.substr(o,5)===t5?(c=t5,o+=5):(c=e,l(oy)),c===e&&(t.substr(o,5)===f5?(c=f5,o+=5):(c=e,l(ry)),c===e&&(t.substr(o,5)===o5?(c=o5,o+=5):(c=e,l(iy)),c===e&&(t.substr(o,5)===zc?(c=zc,o+=5):(c=e,l(Bm)),c===e&&(t.substr(o,5)===r5?(c=r5,o+=5):(c=e,l(ay)),c===e&&(t.substr(o,5)===zc?(c=zc,o+=5):(c=e,l(Bm)),c===e&&(t.substr(o,5)===i5?(c=i5,o+=5):(c=e,l(ly)),c===e&&(t.substr(o,5)===a5?(c=a5,o+=5):(c=e,l(ny)),c===e&&(t.substr(o,5)===l5?(c=l5,o+=5):(c=e,l(gy)),c===e&&(t.substr(o,5)===n5?(c=n5,o+=5):(c=e,l($y)),c===e&&(t.substr(o,5)===g5?(c=g5,o+=5):(c=e,l(by)),c===e&&(t.substr(o,5)===$5?(c=$5,o+=5):(c=e,l(my)),c===e&&(t.substr(o,5)===b5?(c=b5,o+=5):(c=e,l(py)),c===e&&(t.substr(o,5)===m5?(c=m5,o+=5):(c=e,l(uy)),c===e&&(t.substr(o,5)===p5?(c=p5,o+=5):(c=e,l(dy)),c===e&&(t.substr(o,5)===u5?(c=u5,o+=5):(c=e,l(hy)),c===e&&(t.substr(o,5)===d5?(c=d5,o+=5):(c=e,l(jy)),c===e&&(t.substr(o,5)===h5?(c=h5,o+=5):(c=e,l(yy)),c===e&&(t.substr(o,5)===j5?(c=j5,o+=5):(c=e,l(xy))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function dM(){let c;return t.substr(o,5)===y5?(c=y5,o+=5):(c=e,l(Cy)),c===e&&(t.substr(o,5)===x5?(c=x5,o+=5):(c=e,l(Sy)),c===e&&(t.substr(o,5)===C5?(c=C5,o+=5):(c=e,l(vy)),c===e&&(t.substr(o,5)===S5?(c=S5,o+=5):(c=e,l(My)),c===e&&(t.substr(o,5)===v5?(c=v5,o+=5):(c=e,l(Ly)),c===e&&(t.substr(o,5)===M5?(c=M5,o+=5):(c=e,l(wy)),c===e&&(t.substr(o,5)===L5?(c=L5,o+=5):(c=e,l(Ey)),c===e&&(t.substr(o,5)===w5?(c=w5,o+=5):(c=e,l(Ay)),c===e&&(t.substr(o,5)===E5?(c=E5,o+=5):(c=e,l(Iy)),c===e&&(t.substr(o,5)===A5?(c=A5,o+=5):(c=e,l(Ty)),c===e&&(t.substr(o,5)===I5?(c=I5,o+=5):(c=e,l(Fy)),c===e&&(t.substr(o,5)===T5?(c=T5,o+=5):(c=e,l(_y)),c===e&&(t.substr(o,5)===kc?(c=kc,o+=5):(c=e,l(zm)),c===e&&(t.substr(o,5)===F5?(c=F5,o+=5):(c=e,l(Ry)),c===e&&(t.substr(o,5)===_5?(c=_5,o+=5):(c=e,l(Py)),c===e&&(t.substr(o,5)===R5?(c=R5,o+=5):(c=e,l(Dy)),c===e&&(t.substr(o,5)===P5?(c=P5,o+=5):(c=e,l(Ny)),c===e&&(t.substr(o,5)===D5?(c=D5,o+=5):(c=e,l(Gy)),c===e&&(t.substr(o,5)===N5?(c=N5,o+=5):(c=e,l(Oy)),c===e&&(t.substr(o,5)===G5?(c=G5,o+=5):(c=e,l(By)),c===e&&(t.substr(o,5)===O5?(c=O5,o+=5):(c=e,l(zy)),c===e&&(t.substr(o,5)===B5?(c=B5,o+=5):(c=e,l(ky)),c===e&&(t.substr(o,5)===z5?(c=z5,o+=5):(c=e,l(Vy)),c===e&&(t.substr(o,5)===k5?(c=k5,o+=5):(c=e,l(Wy)),c===e&&(t.substr(o,5)===V5?(c=V5,o+=5):(c=e,l(Hy)),c===e&&(t.substr(o,5)===W5?(c=W5,o+=5):(c=e,l(Uy)),c===e&&(t.substr(o,5)===H5?(c=H5,o+=5):(c=e,l(Ky)),c===e&&(t.substr(o,5)===U5?(c=U5,o+=5):(c=e,l(qy)),c===e&&(t.substr(o,5)===K5?(c=K5,o+=5):(c=e,l(Zy)),c===e&&(t.substr(o,5)===q5?(c=q5,o+=5):(c=e,l(Xy)),c===e&&(t.substr(o,5)===Z5?(c=Z5,o+=5):(c=e,l(Yy)),c===e&&(t.substr(o,5)===X5?(c=X5,o+=5):(c=e,l(Jy)),c===e&&(t.substr(o,5)===Y5?(c=Y5,o+=5):(c=e,l(Qy)),c===e&&(t.substr(o,5)===J5?(c=J5,o+=5):(c=e,l(ex)),c===e&&(t.substr(o,5)===Q5?(c=Q5,o+=5):(c=e,l(sx)),c===e&&(t.substr(o,5)===eb?(c=eb,o+=5):(c=e,l(cx)),c===e&&(t.substr(o,5)===sb?(c=sb,o+=5):(c=e,l(tx)),c===e&&(t.substr(o,5)===cb?(c=cb,o+=5):(c=e,l(fx)),c===e&&(t.substr(o,5)===tb?(c=tb,o+=5):(c=e,l(ox)),c===e&&(t.substr(o,5)===fb?(c=fb,o+=5):(c=e,l(rx)),c===e&&(t.substr(o,5)===ob?(c=ob,o+=5):(c=e,l(ix)),c===e&&(t.substr(o,5)===rb?(c=rb,o+=5):(c=e,l(ax)),c===e&&(t.substr(o,5)===ib?(c=ib,o+=5):(c=e,l(lx)),c===e&&(t.substr(o,5)===Vc?(c=Vc,o+=5):(c=e,l(km)),c===e&&(t.substr(o,5)===ab?(c=ab,o+=5):(c=e,l(nx)),c===e&&(t.substr(o,5)===Vc?(c=Vc,o+=5):(c=e,l(km)),c===e&&(t.substr(o,5)===lb?(c=lb,o+=5):(c=e,l(gx)),c===e&&(t.substr(o,5)===nb?(c=nb,o+=5):(c=e,l($x)),c===e&&(t.substr(o,5)===gb?(c=gb,o+=5):(c=e,l(bx)),c===e&&(t.substr(o,5)===$b?(c=$b,o+=5):(c=e,l(mx)),c===e&&(t.substr(o,5)===bb?(c=bb,o+=5):(c=e,l(px)),c===e&&(t.substr(o,5)===mb?(c=mb,o+=5):(c=e,l(ux)),c===e&&(t.substr(o,5)===pb?(c=pb,o+=5):(c=e,l(dx)),c===e&&(t.substr(o,5)===ub?(c=ub,o+=5):(c=e,l(hx)),c===e&&(t.substr(o,5)===db?(c=db,o+=5):(c=e,l(jx)),c===e&&(t.substr(o,5)===hb?(c=hb,o+=5):(c=e,l(yx)),c===e&&(t.substr(o,5)===jb?(c=jb,o+=5):(c=e,l(xx)),c===e&&(t.substr(o,5)===yb?(c=yb,o+=5):(c=e,l(Cx)),c===e&&(t.substr(o,5)===xb?(c=xb,o+=5):(c=e,l(Sx)),c===e&&(t.substr(o,5)===Cb?(c=Cb,o+=5):(c=e,l(vx)),c===e&&(t.substr(o,5)===Sb?(c=Sb,o+=5):(c=e,l(Mx)),c===e&&(t.substr(o,5)===vb?(c=vb,o+=5):(c=e,l(Lx)),c===e&&(t.substr(o,5)===Wc?(c=Wc,o+=5):(c=e,l(Vm)),c===e&&(t.substr(o,5)===Wc?(c=Wc,o+=5):(c=e,l(Vm)),c===e&&(t.substr(o,5)===Mb?(c=Mb,o+=5):(c=e,l(wx)),c===e&&(t.substr(o,5)===Lb?(c=Lb,o+=5):(c=e,l(Ex)),c===e&&(t.substr(o,5)===wb?(c=wb,o+=5):(c=e,l(Ax)),c===e&&(t.substr(o,5)===Eb?(c=Eb,o+=5):(c=e,l(Ix)),c===e&&(t.substr(o,5)===Ab?(c=Ab,o+=5):(c=e,l(Tx)),c===e&&(t.substr(o,5)===Ib?(c=Ib,o+=5):(c=e,l(Fx)),c===e&&(t.substr(o,5)===Tb?(c=Tb,o+=5):(c=e,l(_x)),c===e&&(t.substr(o,5)===Fb?(c=Fb,o+=5):(c=e,l(Rx)),c===e&&(t.substr(o,5)===Hc?(c=Hc,o+=5):(c=e,l(Wm)),c===e&&(t.substr(o,5)===_b?(c=_b,o+=5):(c=e,l(Px)),c===e&&(t.substr(o,5)===Rb?(c=Rb,o+=5):(c=e,l(Dx)),c===e&&(t.substr(o,5)===Pb?(c=Pb,o+=5):(c=e,l(Nx)),c===e&&(t.substr(o,5)===Db?(c=Db,o+=5):(c=e,l(Gx)),c===e&&(t.substr(o,5)===Nb?(c=Nb,o+=5):(c=e,l(Ox)),c===e&&(t.substr(o,5)===Gb?(c=Gb,o+=5):(c=e,l(Bx)),c===e&&(t.substr(o,5)===Ob?(c=Ob,o+=5):(c=e,l(zx)),c===e&&(t.substr(o,5)===Bb?(c=Bb,o+=5):(c=e,l(kx)),c===e&&(t.substr(o,5)===zb?(c=zb,o+=5):(c=e,l(Vx)),c===e&&(t.substr(o,5)===kb?(c=kb,o+=5):(c=e,l(Wx)),c===e&&(t.substr(o,5)===Vb?(c=Vb,o+=5):(c=e,l(Hx)),c===e&&(t.substr(o,5)===Wb?(c=Wb,o+=5):(c=e,l(Ux)),c===e&&(t.substr(o,5)===Hb?(c=Hb,o+=5):(c=e,l(Kx)),c===e&&(t.substr(o,5)===Ub?(c=Ub,o+=5):(c=e,l(qx)),c===e&&(t.substr(o,5)===Kb?(c=Kb,o+=5):(c=e,l(Zx)),c===e&&(t.substr(o,5)===qb?(c=qb,o+=5):(c=e,l(Xx)),c===e&&(t.substr(o,5)===Zb?(c=Zb,o+=5):(c=e,l(Yx)),c===e&&(t.substr(o,5)===Uc?(c=Uc,o+=5):(c=e,l(Hm)),c===e&&(t.substr(o,5)===Xb?(c=Xb,o+=5):(c=e,l(Jx)),c===e&&(t.substr(o,5)===Yb?(c=Yb,o+=5):(c=e,l(Qx)),c===e&&(t.substr(o,5)===Jb?(c=Jb,o+=5):(c=e,l(eC)),c===e&&(t.substr(o,5)===Qb?(c=Qb,o+=5):(c=e,l(sC)),c===e&&(t.substr(o,5)===e9?(c=e9,o+=5):(c=e,l(cC)),c===e&&(t.substr(o,5)===s9?(c=s9,o+=5):(c=e,l(tC)),c===e&&(t.substr(o,5)===c9?(c=c9,o+=5):(c=e,l(fC)),c===e&&(t.substr(o,5)===t9?(c=t9,o+=5):(c=e,l(oC)),c===e&&(t.substr(o,5)===f9?(c=f9,o+=5):(c=e,l(rC))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function kp(){let c;return t.substr(o,5)===o9?(c=o9,o+=5):(c=e,l(iC)),c===e&&(t.substr(o,5)===r9?(c=r9,o+=5):(c=e,l(aC)),c===e&&(t.substr(o,5)===i9?(c=i9,o+=5):(c=e,l(lC)),c===e&&(t.substr(o,5)===a9?(c=a9,o+=5):(c=e,l(nC)),c===e&&(t.substr(o,5)===l9?(c=l9,o+=5):(c=e,l(gC)),c===e&&(t.substr(o,5)===n9?(c=n9,o+=5):(c=e,l($C)),c===e&&(t.substr(o,5)===g9?(c=g9,o+=5):(c=e,l(bC)),c===e&&(t.substr(o,5)===$9?(c=$9,o+=5):(c=e,l(mC)),c===e&&(t.substr(o,5)===b9?(c=b9,o+=5):(c=e,l(pC)),c===e&&(t.substr(o,5)===m9?(c=m9,o+=5):(c=e,l(uC)),c===e&&(t.substr(o,5)===p9?(c=p9,o+=5):(c=e,l(dC)),c===e&&(t.substr(o,5)===u9?(c=u9,o+=5):(c=e,l(hC)),c===e&&(t.substr(o,5)===d9?(c=d9,o+=5):(c=e,l(jC)),c===e&&(t.substr(o,5)===h9?(c=h9,o+=5):(c=e,l(yC)),c===e&&(t.substr(o,5)===j9?(c=j9,o+=5):(c=e,l(xC)),c===e&&(t.substr(o,4)===y9?(c=y9,o+=4):(c=e,l(CC)),c===e&&(t.substr(o,4)===x9?(c=x9,o+=4):(c=e,l(SC)),c===e&&(t.substr(o,4)===C9?(c=C9,o+=4):(c=e,l(vC)),c===e&&(t.substr(o,4)===S9?(c=S9,o+=4):(c=e,l(MC)),c===e&&(t.substr(o,4)===v9?(c=v9,o+=4):(c=e,l(LC)),c===e&&(t.substr(o,4)===M9?(c=M9,o+=4):(c=e,l(wC)),c===e&&(t.substr(o,4)===L9?(c=L9,o+=4):(c=e,l(EC)),c===e&&(t.substr(o,4)===w9?(c=w9,o+=4):(c=e,l(AC)),c===e&&(t.substr(o,4)===E9?(c=E9,o+=4):(c=e,l(IC)),c===e&&(t.substr(o,4)===A9?(c=A9,o+=4):(c=e,l(TC)),c===e&&(t.substr(o,4)===I9?(c=I9,o+=4):(c=e,l(FC)),c===e&&(t.substr(o,4)===T9?(c=T9,o+=4):(c=e,l(_C)),c===e&&(t.substr(o,4)===F9?(c=F9,o+=4):(c=e,l(RC)),c===e&&(t.substr(o,4)===_9?(c=_9,o+=4):(c=e,l(PC)),c===e&&(t.substr(o,4)===R9?(c=R9,o+=4):(c=e,l(DC)),c===e&&(t.substr(o,4)===P9?(c=P9,o+=4):(c=e,l(NC)),c===e&&(t.substr(o,4)===D9?(c=D9,o+=4):(c=e,l(GC)),c===e&&(t.substr(o,4)===N9?(c=N9,o+=4):(c=e,l(OC)),c===e&&(t.substr(o,4)===G9?(c=G9,o+=4):(c=e,l(BC)),c===e&&(t.substr(o,4)===O9?(c=O9,o+=4):(c=e,l(zC)),c===e&&(t.substr(o,4)===B9?(c=B9,o+=4):(c=e,l(kC)),c===e&&(t.substr(o,4)===z9?(c=z9,o+=4):(c=e,l(VC)),c===e&&(t.substr(o,4)===k9?(c=k9,o+=4):(c=e,l(WC)),c===e&&(t.substr(o,4)===V9?(c=V9,o+=4):(c=e,l(HC)),c===e&&(t.substr(o,4)===W9?(c=W9,o+=4):(c=e,l(UC)),c===e&&(t.substr(o,4)===H9?(c=H9,o+=4):(c=e,l(KC)),c===e&&(t.substr(o,4)===U9?(c=U9,o+=4):(c=e,l(qC)),c===e&&(t.substr(o,4)===K9?(c=K9,o+=4):(c=e,l(ZC)),c===e&&(t.substr(o,4)===q9?(c=q9,o+=4):(c=e,l(XC)),c===e&&(t.substr(o,4)===Z9?(c=Z9,o+=4):(c=e,l(YC)),c===e&&(t.substr(o,4)===X9?(c=X9,o+=4):(c=e,l(JC)),c===e&&(t.substr(o,4)===Y9?(c=Y9,o+=4):(c=e,l(QC)),c===e&&(t.substr(o,4)===J9?(c=J9,o+=4):(c=e,l(eS)),c===e&&(t.substr(o,4)===Q9?(c=Q9,o+=4):(c=e,l(sS)),c===e&&(t.substr(o,4)===e3?(c=e3,o+=4):(c=e,l(cS)),c===e&&(t.substr(o,4)===s3?(c=s3,o+=4):(c=e,l(tS)),c===e&&(t.substr(o,4)===c3?(c=c3,o+=4):(c=e,l(fS)),c===e&&(t.substr(o,4)===t3?(c=t3,o+=4):(c=e,l(oS)),c===e&&(t.substr(o,4)===f3?(c=f3,o+=4):(c=e,l(rS)),c===e&&(t.substr(o,4)===o3?(c=o3,o+=4):(c=e,l(iS)),c===e&&(t.substr(o,4)===r3?(c=r3,o+=4):(c=e,l(aS)),c===e&&(t.substr(o,4)===i3?(c=i3,o+=4):(c=e,l(lS)),c===e&&(t.substr(o,4)===a3?(c=a3,o+=4):(c=e,l(nS)),c===e&&(t.substr(o,4)===l3?(c=l3,o+=4):(c=e,l(gS)),c===e&&(t.substr(o,4)===n3?(c=n3,o+=4):(c=e,l($S)),c===e&&(t.substr(o,4)===g3?(c=g3,o+=4):(c=e,l(bS)),c===e&&(t.substr(o,4)===$3?(c=$3,o+=4):(c=e,l(mS)),c===e&&(t.substr(o,4)===b3?(c=b3,o+=4):(c=e,l(pS)),c===e&&(t.substr(o,4)===m3?(c=m3,o+=4):(c=e,l(uS)),c===e&&(t.substr(o,4)===p3?(c=p3,o+=4):(c=e,l(dS)),c===e&&(t.substr(o,4)===u3?(c=u3,o+=4):(c=e,l(hS)),c===e&&(t.substr(o,4)===d3?(c=d3,o+=4):(c=e,l(jS)),c===e&&(t.substr(o,4)===h3?(c=h3,o+=4):(c=e,l(yS)),c===e&&(t.substr(o,4)===j3?(c=j3,o+=4):(c=e,l(xS)),c===e&&(t.substr(o,4)===y3?(c=y3,o+=4):(c=e,l(CS)),c===e&&(t.substr(o,4)===x3?(c=x3,o+=4):(c=e,l(SS)),c===e&&(t.substr(o,4)===C3?(c=C3,o+=4):(c=e,l(vS)),c===e&&(t.substr(o,4)===Xe?(c=Xe,o+=4):(c=e,l(S3)),c===e&&(t.substr(o,4)===Kc?(c=Kc,o+=4):(c=e,l(Um)),c===e&&(t.substr(o,4)===v3?(c=v3,o+=4):(c=e,l(MS)),c===e&&(t.substr(o,4)===M3?(c=M3,o+=4):(c=e,l(LS)),c===e&&(t.substr(o,4)===L3?(c=L3,o+=4):(c=e,l(wS)),c===e&&(t.substr(o,4)===w3?(c=w3,o+=4):(c=e,l(ES)),c===e&&(t.substr(o,4)===E3?(c=E3,o+=4):(c=e,l(AS)),c===e&&(t.substr(o,4)===A3?(c=A3,o+=4):(c=e,l(IS)),c===e&&(t.substr(o,4)===I3?(c=I3,o+=4):(c=e,l(TS)),c===e&&(t.substr(o,4)===qc?(c=qc,o+=4):(c=e,l(Km)),c===e&&(t.substr(o,4)===T3?(c=T3,o+=4):(c=e,l(FS)),c===e&&(t.substr(o,4)===qc?(c=qc,o+=4):(c=e,l(Km)),c===e&&(t.substr(o,4)===F3?(c=F3,o+=4):(c=e,l(_S)),c===e&&(t.substr(o,4)===Zc?(c=Zc,o+=4):(c=e,l(qm)),c===e&&(t.substr(o,4)===_3?(c=_3,o+=4):(c=e,l(RS)),c===e&&(t.substr(o,4)===Zc?(c=Zc,o+=4):(c=e,l(qm)),c===e&&(t.substr(o,4)===R3?(c=R3,o+=4):(c=e,l(PS)),c===e&&(t.substr(o,4)===Xc?(c=Xc,o+=4):(c=e,l(Zm)),c===e&&(t.substr(o,4)===P3?(c=P3,o+=4):(c=e,l(DS)),c===e&&(t.substr(o,4)===Xc?(c=Xc,o+=4):(c=e,l(Zm)),c===e&&(t.substr(o,4)===D3?(c=D3,o+=4):(c=e,l(NS)),c===e&&(t.substr(o,4)===Yc?(c=Yc,o+=4):(c=e,l(Xm)),c===e&&(t.substr(o,4)===N3?(c=N3,o+=4):(c=e,l(GS)),c===e&&(t.substr(o,4)===Yc?(c=Yc,o+=4):(c=e,l(Xm)),c===e&&(t.substr(o,4)===G3?(c=G3,o+=4):(c=e,l(OS)),c===e&&(t.substr(o,4)===O3?(c=O3,o+=4):(c=e,l(BS)),c===e&&(t.substr(o,4)===Xe?(c=Xe,o+=4):(c=e,l(S3)),c===e&&(t.substr(o,4)===B3?(c=B3,o+=4):(c=e,l(zS))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function hM(){let c;return t.substr(o,4)===Xe?(c=Xe,o+=4):(c=e,l(S3)),c===e&&(t.substr(o,4)===z3?(c=z3,o+=4):(c=e,l(kS)),c===e&&(t.substr(o,4)===k3?(c=k3,o+=4):(c=e,l(VS)),c===e&&(t.substr(o,4)===V3?(c=V3,o+=4):(c=e,l(WS)),c===e&&(t.substr(o,4)===Kc?(c=Kc,o+=4):(c=e,l(Um)),c===e&&(t.substr(o,4)===W3?(c=W3,o+=4):(c=e,l(HS)),c===e&&(t.substr(o,4)===Me?(c=Me,o+=4):(c=e,l(s1)),c===e&&(t.substr(o,4)===Ye?(c=Ye,o+=4):(c=e,l(H3)),c===e&&(t.substr(o,4)===U3?(c=U3,o+=4):(c=e,l(US)),c===e&&(t.substr(o,4)===K3?(c=K3,o+=4):(c=e,l(KS)),c===e&&(t.substr(o,4)===Ye?(c=Ye,o+=4):(c=e,l(H3)),c===e&&(t.substr(o,4)===Jc?(c=Jc,o+=4):(c=e,l(Ym)),c===e&&(t.substr(o,4)===Jc?(c=Jc,o+=4):(c=e,l(Ym)),c===e&&(t.substr(o,4)===q3?(c=q3,o+=4):(c=e,l(qS)),c===e&&(t.substr(o,4)===Z3?(c=Z3,o+=4):(c=e,l(ZS)),c===e&&(t.substr(o,4)===X3?(c=X3,o+=4):(c=e,l(XS)),c===e&&(t.substr(o,4)===Y3?(c=Y3,o+=4):(c=e,l(YS)),c===e&&(t.substr(o,4)===Qc?(c=Qc,o+=4):(c=e,l(Jm)),c===e&&(t.substr(o,4)===J3?(c=J3,o+=4):(c=e,l(JS)),c===e&&(t.substr(o,4)===Q3?(c=Q3,o+=4):(c=e,l(QS)),c===e&&(t.substr(o,4)===et?(c=et,o+=4):(c=e,l(Qm)),c===e&&(t.substr(o,4)===e7?(c=e7,o+=4):(c=e,l(ev)),c===e&&(t.substr(o,4)===s7?(c=s7,o+=4):(c=e,l(sv)),c===e&&(t.substr(o,4)===st?(c=st,o+=4):(c=e,l(ep)),c===e&&(t.substr(o,4)===Me?(c=Me,o+=4):(c=e,l(s1)),c===e&&(t.substr(o,4)===c7?(c=c7,o+=4):(c=e,l(cv)),c===e&&(t.substr(o,4)===t7?(c=t7,o+=4):(c=e,l(tv)),c===e&&(t.substr(o,4)===ct?(c=ct,o+=4):(c=e,l(sp)),c===e&&(t.substr(o,4)===f7?(c=f7,o+=4):(c=e,l(fv)),c===e&&(t.substr(o,4)===o7?(c=o7,o+=4):(c=e,l(ov)),c===e&&(t.substr(o,3)===r7?(c=r7,o+=3):(c=e,l(rv)),c===e&&(t.substr(o,3)===i7?(c=i7,o+=3):(c=e,l(iv)),c===e&&(t.substr(o,3)===a7?(c=a7,o+=3):(c=e,l(av)),c===e&&(t.substr(o,3)===l7?(c=l7,o+=3):(c=e,l(lv)),c===e&&(t.substr(o,3)===n7?(c=n7,o+=3):(c=e,l(nv)),c===e&&(t.substr(o,3)===g7?(c=g7,o+=3):(c=e,l(gv)),c===e&&(t.substr(o,3)===tt?(c=tt,o+=3):(c=e,l(cp)),c===e&&(t.substr(o,3)===ft?(c=ft,o+=3):(c=e,l(tp)),c===e&&(t.substr(o,3)===$7?(c=$7,o+=3):(c=e,l($v)),c===e&&(t.substr(o,3)===b7?(c=b7,o+=3):(c=e,l(bv)),c===e&&(t.substr(o,3)===ot?(c=ot,o+=3):(c=e,l(fp)),c===e&&(t.substr(o,3)===m7?(c=m7,o+=3):(c=e,l(mv)),c===e&&(t.substr(o,3)===p7?(c=p7,o+=3):(c=e,l(pv)),c===e&&(t.substr(o,3)===u7?(c=u7,o+=3):(c=e,l(uv)),c===e&&(t.substr(o,3)===d7?(c=d7,o+=3):(c=e,l(dv)),c===e&&(t.substr(o,3)===h7?(c=h7,o+=3):(c=e,l(hv)),c===e&&(t.substr(o,3)===j7?(c=j7,o+=3):(c=e,l(jv)),c===e&&(t.substr(o,3)===y7?(c=y7,o+=3):(c=e,l(yv)),c===e&&(t.substr(o,3)===x7?(c=x7,o+=3):(c=e,l(xv)),c===e&&(t.substr(o,3)===C7?(c=C7,o+=3):(c=e,l(Cv)),c===e&&(t.substr(o,3)===S7?(c=S7,o+=3):(c=e,l(Sv)),c===e&&(t.substr(o,3)===v7?(c=v7,o+=3):(c=e,l(vv)),c===e&&(t.substr(o,3)===M7?(c=M7,o+=3):(c=e,l(Mv)),c===e&&(t.substr(o,3)===L7?(c=L7,o+=3):(c=e,l(Lv)),c===e&&(t.substr(o,3)===w7?(c=w7,o+=3):(c=e,l(wv)),c===e&&(t.substr(o,3)===E7?(c=E7,o+=3):(c=e,l(Ev)),c===e&&(t.substr(o,3)===A7?(c=A7,o+=3):(c=e,l(Av)),c===e&&(t.substr(o,3)===I7?(c=I7,o+=3):(c=e,l(Iv)),c===e&&(t.substr(o,3)===T7?(c=T7,o+=3):(c=e,l(Tv)),c===e&&(t.substr(o,3)===F7?(c=F7,o+=3):(c=e,l(Fv)),c===e&&(t.substr(o,3)===_7?(c=_7,o+=3):(c=e,l(_v)),c===e&&(t.substr(o,3)===R7?(c=R7,o+=3):(c=e,l(Rv)),c===e&&(t.substr(o,3)===P7?(c=P7,o+=3):(c=e,l(Pv)),c===e&&(t.substr(o,3)===D7?(c=D7,o+=3):(c=e,l(Dv)),c===e&&(t.substr(o,3)===N7?(c=N7,o+=3):(c=e,l(Nv)),c===e&&(t.substr(o,3)===G7?(c=G7,o+=3):(c=e,l(Gv)),c===e&&(t.substr(o,3)===O7?(c=O7,o+=3):(c=e,l(Ov)),c===e&&(t.substr(o,3)===B7?(c=B7,o+=3):(c=e,l(Bv)),c===e&&(t.substr(o,3)===z7?(c=z7,o+=3):(c=e,l(zv)),c===e&&(t.substr(o,3)===Je?(c=Je,o+=3):(c=e,l(k7)),c===e&&(t.substr(o,3)===V7?(c=V7,o+=3):(c=e,l(kv)),c===e&&(t.substr(o,3)===W7?(c=W7,o+=3):(c=e,l(Vv)),c===e&&(t.substr(o,3)===H7?(c=H7,o+=3):(c=e,l(Wv)),c===e&&(t.substr(o,3)===U7?(c=U7,o+=3):(c=e,l(Hv)),c===e&&(t.substr(o,3)===K7?(c=K7,o+=3):(c=e,l(Uv)),c===e&&(t.substr(o,3)===q7?(c=q7,o+=3):(c=e,l(Kv)),c===e&&(t.substr(o,3)===Je?(c=Je,o+=3):(c=e,l(k7)),c===e&&(t.substr(o,3)===Je?(c=Je,o+=3):(c=e,l(k7)),c===e&&(t.substr(o,3)===Z7?(c=Z7,o+=3):(c=e,l(qv)),c===e&&(t.substr(o,2)===X7?(c=X7,o+=2):(c=e,l(Zv)),c===e&&(t.substr(o,2)===Y7?(c=Y7,o+=2):(c=e,l(Xv)),c===e&&(t.substr(o,2)===J7?(c=J7,o+=2):(c=e,l(Yv)),c===e&&(t.substr(o,2)===Q7?(c=Q7,o+=2):(c=e,l(Jv)),c===e&&(t.substr(o,2)===em?(c=em,o+=2):(c=e,l(Qv)),c===e&&(t.substr(o,2)===sm?(c=sm,o+=2):(c=e,l(eM)),c===e&&(t.substr(o,2)===cm?(c=cm,o+=2):(c=e,l(sM)),c===e&&(t.substr(o,2)===tm?(c=tm,o+=2):(c=e,l(cM)),c===e&&(t.substr(o,2)===fm?(c=fm,o+=2):(c=e,l(tM)),c===e&&(t.substr(o,2)===rt?(c=rt,o+=2):(c=e,l(op)),c===e&&(t.substr(o,2)===rt?(c=rt,o+=2):(c=e,l(op)),c===e&&(t.substr(o,2)===om?(c=om,o+=2):(c=e,l(fM)),c===e&&(t.substr(o,2)===rm?(c=rm,o+=2):(c=e,l(oM)),c===e&&(t.substr(o,2)===im?(c=im,o+=2):(c=e,l(rM)),c===e&&(t.substr(o,2)===am?(c=am,o+=2):(c=e,l(iM)),c===e&&(t.substr(o,2)===lm?(c=lm,o+=2):(c=e,l(aM)),c===e&&(t.substr(o,2)===ve?(c=ve,o+=2):(c=e,l(rp)),c===e&&(t.substr(o,2)===ip?(c=ip,o+=2):(c=e,l(ap)),c===e&&(t.substr(o,2)===lp?(c=lp,o+=2):(c=e,l(np)),c===e&&(t.substr(o,2)===gp?(c=gp,o+=2):(c=e,l($p)),c===e&&(t.substr(o,2)===bp?(c=bp,o+=2):(c=e,l(_s))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function Vp(){let c;return t.substr(o,2)===c1?(c=c1,o+=2):(c=e,l(mp)),c===e&&(t.substr(o,2)===pp?(c=pp,o+=2):(c=e,l(up)),c===e&&(t.substr(o,2)===dp?(c=dp,o+=2):(c=e,l(hp)),c===e&&(t.substr(o,2)===jp?(c=jp,o+=2):(c=e,l(yp)),c===e&&(t.substr(o,2)===xp?(c=xp,o+=2):(c=e,l(Cp)),c===e&&(t.substr(o,2)===Sp?(c=Sp,o+=2):(c=e,l(vp)),c===e&&(t.substr(o,2)===Mp?(c=Mp,o+=2):(c=e,l(Lp)),c===e&&(t.substr(o,2)===wp?(c=wp,o+=2):(c=e,l(Ep)),c===e&&(t.substr(o,2)===Ap?(c=Ap,o+=2):(c=e,l(Ip)),c===e&&(lM.test(t.charAt(o))?(c=t.charAt(o),o++):(c=e,l(Tp))))))))))),c}if(it=y(),it!==e&&o===t.length)return it;throw it!==e&&o{const y=j.transpose(r);return e?y.normalize(e,{normalizeSuffix:m}):y})}useModifier(r){return this.changeChord(e=>e.useModifier(r))}changeChord(r){const e=vm.parse(this.chords.trim());if(e){const m=r(e);return this.set({chords:m.toString()})}return this.clone()}}var se=Jp;const cI={2:"2",4:"sus",5:"5",6:"6",7:"7",9:"9",11:"11",13:"13",42:"4(2)",69:"6(9)","(#4)":"(#4)","#4":"(#4)","+4":"(#4)","(+4)":"(#4)","(11)":"(11)",add11:"(11)","(add11)":"(11)","(13)":"(13)",add13:"(13)","(add13)":"(13)","(2)":"(2)",add2:"(2)","(add2)":"(2)","(4)":"(4)",add4:"(4)","(add4)":"(4)","sus(4)":"(4)","(6)":"(6)",add6:"(6)","(add6)":"(6)","(7)":"(7)","(9)":"(9)",add9:"(9)","(add9)":"(9)","(b5)":"(b5)","-5":"(b5)","(-5)":"(b5)",b5:"(b5)","2(6)":"2(6)","(b6)":"(b6)","(unis)":"(unis)",unis:"(unis)","[blank]":"[blank]",maj:"[blank]",major:"[blank]",M:"[blank]",ma:"[blank]",Ma:"[blank]",Majj:"[blank]","+":"+",aug:"+","(#5)":"+","#5":"+","+5":"+","(+5)":"+",x:"+",dom11:"11","11(#5)":"11(#5)","11#5":"11(#5)","11+5":"11(#5)","11(+5)":"11(#5)","11(#9)":"11(#9)","11#9":"11(#9)","11+9":"11(#9)","11(+9)":"11(#9)","11(b13)":"11(b13)","11b13":"11(b13)","11-13":"11(b13)","11(-13)":"11(b13)","11(b5)":"11(b5)","11b5":"11(b5)","11-5":"11(b5)","11(-5)":"11(b5)","11(b9)":"11(b9)","11b9":"11(b9)","11-9":"11(b9)","11(-9)":"11(b9)","11sus4":"11sus4","11sus":"11sus4",m11sus4:"11sus4",m11sus:"11sus4",dom13:"13","13(#11)":"13(#11)","13#11":"13(#11)","13+11":"13(#11)","13(+11)":"13(#11)","13(#5)":"13(#5)","13#5":"13(#5)","13+5":"13(#5)","13(+5)":"13(#5)","13(#9)":"13(#9)","13#9":"13(#9)","13(+9)":"13(#9)","13+9":"13(#9)","13(#9#5)":"13(#9#5)","13#9#5":"13(#9#5)","13(+9+5)":"13(#9#5)","13+9+5":"13(#9#5)","13(#9b5)":"13(#9b5)","13#9b5":"13(#9b5)","13(+9-5)":"13(#9b5)","13+9-5":"13(#9b5)","13(add2)":"13(add2)","13(add4)":"13(add4)","13(b5)":"13(b5)","13b5":"13(b5)","13-5":"13(b5)","13(-5)":"13(b5)","13(b9)":"13(b9)","13b9":"13(b9)","13-9":"13(b9)","13(-9)":"13(b9)","13(b9#5)":"13(b9#5)","13b9#5":"13(b9#5)","13-9+5":"13(b9#5)","13(-9+5)":"13(b9#5)","13(b9b5)":"13(b9b5)","13b9b5":"13(b9b5)","13-9-5":"13(b9b5)","13(-9-5)":"13(b9b5)","13sus4":"13sus4","13sus":"13sus4",m13sus4:"13sus4",m13sus:"13sus4",sus2:"2","add9(no3)":"2","2(#11)":"2(#11)","2(#4)":"2(#4)","2+4":"2(#4)","2#4":"2(#4)","2(+4)":"2(#4)","(#4)2":"2(#4)","2(#4)(#42)(2#4)":"2(#4)(#42)(2#4)","2(+7)":"2(+7)","2(4)":"2(4)","sus2(4)":"2(4)","2(ma7)":"2(ma7)","2(no3)":"2(no3)","4(2)":"4(2)",sus42:"4(2)",no3:"5","(no3)":"5","5(no3)":"5","6(2)":"6(2)","6(b9)":"6(b9)","6(no3)":"6(no3)","6(9)":"6(9)","6(add9)":"6(9)",dom7:"7","7(#11)":"7(#11)","7#11":"7(#11)","7+11":"7(#11)","7(+11)":"7(#11)","7(#5)":"7(#5)",aug7:"7(#5)","7#5":"7(#5)","7+5":"7(#5)","7(+5)":"7(#5)",x7:"7(#5)","7(#5#11)":"7(#5#11)","7#5#11":"7(#5#11)","7+5+11":"7(#5#11)","7(+5+11)":"7(#5#11)","7(#9)":"7(#9)","7#9":"7(#9)","7+9":"7(#9)","7(+9)":"7(#9)","7(#9#5)":"7(#9#5)","7(#5#9)":"7(#9#5)","7#5#9":"7(#9#5)","7+5+9":"7(#9#5)","7(+5+9)":"7(#9#5)","7(#9b13)":"7(#9b13)","7#9b13":"7(#9b13)","7(+9-13)":"7(#9b13)","7+9-13":"7(#9b13)","7(b13#9)":"7(#9b13)","7b13#9":"7(#9b13)","7-13+9":"7(#9b13)","7(-13+9)":"7(#9b13)","7(#9b5)":"7(#9b5)","7(6)":"7(6)","7(b13)":"7(b13)","7b13":"7(b13)","7-13":"7(b13)","7(-13)":"7(b13)","7(b5)":"7(b5)","7b5":"7(b5)","7-5":"7(b5)","7(-5)":"7(b5)","7(b5#11)":"7(b5#11)","7b5#11":"7(b5#11)","7-5+11":"7(b5#11)","7(-5+11)":"7(b5#11)","7(b5#9)":"7(b5#9)","7b5#9":"7(b5#9)","7-5+9":"7(b5#9)","7(-5+9)":"7(b5#9)","7(b5b9)":"7(b5b9)","7b5b9":"7(b5b9)","7-5-9":"7(b5b9)","7(-5-9)":"7(b5b9)","7(b9)":"7(b9)","7b9":"7(b9)","7-9":"7(b9)","7(-9)":"7(b9)","7(b9#5)":"7(b9#5)","7(#5b9)":"7(b9#5)","7#5b9":"7(b9#5)","7+5-9":"7(b9#5)","7(+5-9)":"7(b9#5)","7(b9b13)":"7(b9b13)","7b9b13":"7(b9b13)","7-9-13":"7(b9b13)","7(-9-13)":"7(b9b13)","7(b13b9)":"7(b9b13)","7b13b9":"7(b9b13)","7-13-9":"7(b9b13)","7(-13-9)":"7(b9b13)","7(b9b5)":"7(b9b5)","7(no3)":"7(no3)","7aug5":"7aug5","7b9sus4":"7b9sus4","7sus(6)":"7sus(6)","7sus(b9)":"7sus(b9)","7sus4":"7sus4","7sus":"7sus4",dom9:"9","9(#11)":"9(#11)","9#11":"9(#11)","9+11":"9(#11)","9(+11)":"9(#11)","9(#5)":"9(#5)","9#5":"9(#5)","9+5":"9(#5)","9(+5)":"9(#5)",aug9:"9(#5)",x9:"9(#5)","9(b13)":"9(b13)","9b13":"9(b13)","9-13":"9(b13)","9(-13)":"9(b13)","9(b5)":"9(b5)","9b5":"9(b5)","9-5":"9(b5)","9(-5)":"9(b5)","9aug":"9aug","9sus4":"9sus4","9sus":"9sus4",m9sus4:"9sus4",m9sus:"9sus4","b69(#11)":"b69(#11)",b69sus:"b69sus",b9sus:"b9sus",dim:"dim","m(b5)":"dim",mb5:"dim","m-5":"dim","m(-5)":"dim","-(b5)":"dim","-b5":"dim",dim7:"dim7",o7:"dim7",m:"m",mi:"m",min:"m",minor:"m","-":"m","m(11)":"m(11)","m(add11)":"m(11)","m(4)":"m(4)","m(add4)":"m(4)","m(9)":"m(9)","m(add9)":"m(9)","m(ma7)":"m(ma7)","m(M7)":"m(ma7)","mi(maj7)":"m(ma7)","min(maj7)":"m(ma7)","m(maj7)":"m(ma7)","m(+7)":"m(ma7)","m+7":"m(ma7)","m(ma9)":"m(ma9)","m(M9)":"m(ma9)","mi(maj9)":"m(ma9)","min(maj9)":"m(ma9)","m(maj9)":"m(ma9)","m(+9)":"m(ma9)","m+9":"m(ma9)","m(no5)":"m(no5)",m11:"m11",mi11:"m11",min11:"m11","-11":"m11","m11(#5)":"m11(#5)","m11#5":"m11(#5)","m11+5":"m11(#5)","m11(+5)":"m11(#5)","-11(#5)":"m11(#5)","-11#5":"m11(#5)","m9+5":"m9(#5)","-11(+5)":"m11(#5)","m11(#9)":"m11(#9)","m11#9":"m11(#9)","m11+9":"m11(#9)","m11(+9)":"m11(#9)","-11(#9)":"m11(#9)","-11#9":"m11(#9)","-11+9":"m11(#9)","-11(+9)":"m11(#9)","m11(#9#5)":"m11(#9#5)","m11(#5#9)":"m11(#9#5)","m11#5#9":"m11(#9#5)","m11+5+9":"m11(#9#5)","m11(+5+9)":"m11(#9#5)","-11(#5#9)":"m11(#9#5)","-11#5#9":"m11(#9#5)","m9+5+9":"m11(#9#5)","-11(+5+9)":"m11(#9#5)","m11(#9b13)":"m11(#9b13)","m11#9b13":"m11(#9b13)","m11+9-13":"m11(#9b13)","m11(+9-13)":"m11(#9b13)","-11(#9b13)":"m11(#9b13)","-11#9b13":"m11(#9b13)","-11+9-13":"m11(#9b13)","-11(+9-13)":"m11(#9b13)","m11(b13)":"m11(b13)",m11b13:"m11(b13)","m11-13":"m11(b13)","m11(-13)":"m11(b13)","-11(b13)":"m11(b13)","-11b13":"m11(b13)","-11-13":"m11(b13)","-11(-13)":"m11(b13)","m11(b13#5)":"m11(b13#5)","m11(#5b13)":"m11(b13#5)","m11#5b13":"m11(b13#5)","m11+5-13":"m11(b13#5)","m11(+5-13)":"m11(b13#5)","-11(#5b13)":"m11(b13#5)","-11#5b13":"m11(b13#5)","-11+5-13":"m11(b13#5)","-11(+5-13)":"m11(b13#5)","m11(b5)":"m11(b5)",m11b5:"m11(b5)","m11-5":"m11(b5)","m11(-5)":"m11(b5)","-11(b5)":"m11(b5)","-11b5":"m11(b5)","-9-5":"m9(b5)","-11(-5)":"m11(b5)","m11(b5#9)":"m11(b5#9)","m11b5#9":"m11(b5#9)","m11-5+9":"m11(b5#9)","m11(-5+9)":"m11(b5#9)","-11(b5#9)":"m11(b5#9)","-11b5#9":"m11(b5#9)","-11-5+9":"m11(b5#9)","-11(-5+9)":"m11(b5#9)","m11(b5b13)":"m11(b5b13)",m11b5b13:"m11(b5b13)","m11(-5-13)":"m11(b5b13)","m11-5-13":"m11(b5b13)","-11(b5b13)":"m11(b5b13)","-11b5b13":"m11(b5b13)","-11(-5-13)":"m11(b5b13)","-11-5-13":"m11(b5b13)","m11(b5b9)":"m11(b5b9)",m11b5b9:"m11(b5b9)","m11-5-9":"m11(b5b9)","m11(-5-9)":"m11(b5b9)","-11(b5b9)":"m11(b5b9)","-11b5b9":"m11(b5b9)","-11-5-9":"m11(b5b9)","-11(-5-9)":"m11(b5b9)","m11(b9)":"m11(b9)",m11b9:"m11(b9)","m11(-9)":"m11(b9)","m11-9":"m11(b9)","-11(b9)":"m11(b9)","-11b9":"m11(b9)","-11(-9)":"m11(b9)","-11-9":"m11(b9)","m11(b9#5)":"m11(b9#5)","m11(#5b9)":"m11(b9#5)","m11#5b9":"m11(b9#5)","m11+5-9":"m11(b9#5)","m11(+5-9)":"m11(b9#5)","-11(#5b9)":"m11(b9#5)","-11#5b9":"m11(b9#5)","m9+5-9":"m11(b9#5)","-11(+5-9)":"m11(b9#5)","m11(b9b13)":"m11(b9b13)",m11b9b13:"m11(b9b13)","m11(-9-13)":"m11(b9b13)","m11-9-13":"m11(b9b13)","-11(b9b13)":"m11(b9b13)","-11b9b13":"m11(b9b13)","-11(-9-13)":"m11(b9b13)","-11-9-13":"m11(b9b13)",m13:"m13",mi13:"m13",min13:"m13","-13":"m13","m13(#11)":"m13(#11)","m13#11":"m13(#11)","m13+11":"m13(#11)","m13(+11)":"m13(#11)","-13(#11)":"m13(#11)","-13#11":"m13(#11)","-13+11":"m13(#11)","-13(+11)":"m13(#11)","m13(#5)":"m13(#5)","m13#5":"m13(#5)","m13+5":"m13(#5)","m13(+5)":"m13(#5)","-13(#5)":"m13(#5)","-13#5":"m13(#5)","-13(+5)":"m13(#5)","m13(#9)":"m13(#9)","m13#9":"m13(#9)","m13(+9)":"m13(#9)","m13+9":"m13(#9)","-13(#9)":"m13(#9)","-13#9":"m13(#9)","-13(+9)":"m13(#9)","-13+9":"m13(#9)","m13(b5)":"m13(b5)",m13b5:"m13(b5)","m13-5":"m13(b5)","m13(-5)":"m13(b5)","-13(b5)":"m13(b5)","-13b5":"m13(b5)","-13-5":"m13(b5)","-13(-5)":"m13(b5)","m13(b9)":"m13(b9)",m13b9:"m13(b9)","m13-9":"m13(b9)","m13(-9)":"m13(b9)","-13(b13)":"m13(b9)","-13b13":"m13(b9)","-13-13":"m13(b9)","-13(-13)":"m13(b9)",m2:"m2",mi2:"m2",min2:"m2","m(add2)":"m2",madd2:"m2",m4:"m4",m6:"m6",mi6:"m6",min6:"m6","-6":"m6","m6(#5)":"m6(#5)","m6(9)":"m6(9)",m6add9:"m6(9)","m6(add9)":"m6(9)",m69:"m6(9)","m6(ma7)":"m6(ma7)","m6(M7)":"m6(ma7)","m6(+7)":"m6(ma7)",m6M7:"m6(ma7)","m6+7":"m6(ma7)",m7:"m7",mi7:"m7",min7:"m7","-7":"m7","m7(#11)":"m7(#11)","m7#11":"m7(#11)","m7+11":"m7(#11)","m7(+11)":"m7(#11)","-7(#11)":"m7(#11)","-7#11":"m7(#11)","-7+11":"m7(#11)","-7(+11)":"m7(#11)","m7(#5)":"m7(#5)","m7#5":"m7(#5)","m7+5":"m7(#5)","m7(+5)":"m7(#5)","-7(#5)":"m7(#5)","-7#5":"m7(#5)","-7(+5)":"m7(#5)","m7(#9)":"m7(#9)","m7#9":"m7(#9)","m7+9":"m7(#9)","m7(+9)":"m7(#9)","-7(#9)":"m7(#9)","-7#9":"m7(#9)","-7(+9)":"m7(#9)","m7(11)":"m7(11)","m7(4)":"m7(4)","m7(add4)":"m7(4)","m7(add11)":"m7(4)",m74:"m7(4)","m7(6)":"m7(6)","m7(add6)":"m7(add6)","m7(b13)":"m7(b13)",m7b13:"m7(b13)","m7-13":"m7(b13)","m7(-13)":"m7(b13)","-7(b13)":"m7(b13)","-7b13":"m7(b13)","-7-13":"m7(b13)","-7(-13)":"m7(b13)","m7(b5)":"m7(b5)",m7b5:"m7(b5)","m7-5":"m7(b5)","m7(-5)":"m7(b5)","-7(b5)":"m7(b5)","-7b5":"m7(b5)","-7(-5)":"m7(b5)","m7(b9)":"m7(b9)",m7b9:"m7(b9)","m7-9":"m7(b9)","m7(-9)":"m7(b9)","-7(b9)":"m7(b9)","-7b9":"m7(b9)","-7(-9)":"m7(b9)","m7(no3)":"m7(no3)","min7(no3)":"m7(no3)",m7sus4:"m7sus4",m7sus:"m7sus4",m9:"m9",mi9:"m9",min9:"m9","-9":"m9","m9(#11)":"m9(#11)","m9#11":"m9(#11)","m9+11":"m9(#11)","m9(+11)":"m9(#11)","-9(#11)":"m9(#11)","-9#11":"m9(#11)","-9+11":"m9(#11)","-9(+11)":"m9(#11)","m9(#5)":"m9(#5)","m9#5":"m9(#5)","m9(+5)":"m9(#5)","-9(#5)":"m9(#5)","-9#5":"m9(#5)","-9(+5)":"m9(#5)","m9(#7)":"m9(#7)","m9(b13)":"m9(b13)",m9b13:"m9(b13)","m9-13":"m9(b13)","m9(-13)":"m9(b13)","-9(b13)":"m9(b13)","-9b13":"m9(b13)","-9-13":"m9(b13)","-9(-13)":"m9(b13)","m9(b5)":"m9(b5)",m9b5:"m9(b5)","m9-5":"m9(b5)","m9(-5)":"m9(b5)","-9(b5)":"m9(b5)","-9b5":"m9(b5)","-9(-5)":"m9(b5)","m9(ma7)":"m9(ma7)","m9(maj7)":"m9(ma7)","m9(+7)":"m9(ma7)","m9(M7)":"m9(ma7)",m9M7:"m9(ma7)",ma9:"ma9",maj9:"ma9",maj9b11:"maj9b11",ma11:"ma11","11(#7)":"ma11","11#7":"ma11","11+7":"ma11","11(+7)":"ma11","+11":"ma11",M11:"ma11","ma11(#5)":"ma11(#5)","maj11#5":"ma11(#5)","maj11+5":"ma11(#5)","maj11(+5)":"ma11(#5)","+11(#5)":"ma11(#5)","+11#5":"ma11(#5)","M11+5":"ma11(#5)","+11(+5)":"ma11(#5)","maj11(#5)":"ma11(#5)","ma11#5":"ma11(#5)","ma11+5":"ma11(#5)","ma11(+5)":"ma11(#5)","ma11(#9)":"ma11(#9)","maj11#9":"ma11(#9)","maj11+9":"ma11(#9)","maj11(+9)":"ma11(#9)","+11(#9)":"ma11(#9)","+11#9":"ma11(#9)","M11+9":"ma11(#9)","+11(+9)":"ma11(#9)","maj11(#9)":"ma11(#9)","ma11#9":"ma11(#9)","ma11+9":"ma11(#9)","ma11(+9)":"ma11(#9)","ma11(b13)":"ma11(b13)",maj11b13:"ma11(b13)","maj11-13":"ma11(b13)","maj11(-13)":"ma11(b13)","+11(b13)":"ma11(b13)","+11b13":"ma11(b13)","M11-13":"ma11(b13)","+11(-13)":"ma11(b13)","maj11(b13)":"ma11(b13)",ma11b13:"ma11(b13)","ma11-13":"ma11(b13)","ma11(-13)":"ma11(b13)","ma11(b5)":"ma11(b5)",maj11b5:"ma11(b5)","maj11-5":"ma11(b5)","maj11(-5)":"ma11(b5)","+11(b5)":"ma11(b5)","+11b5":"ma11(b5)","M11-5":"ma11(b5)","+11(-5)":"ma11(b5)","maj11(b5)":"ma11(b5)",ma11b5:"ma11(b5)","ma11-5":"ma11(b5)","ma11(-5)":"ma11(b5)","ma11(b9)":"ma11(b9)",maj11b9:"ma11(b9)","maj11(-9)":"ma11(b9)","maj11-9":"ma11(b9)","+11(b9)":"ma11(b9)","+11b9":"ma11(b9)","M11(-9)":"ma11(b9)","+11-9":"ma11(b9)","maj11(b9)":"ma11(b9)",ma11b9:"ma11(b9)","ma11(-9)":"ma11(b9)","ma11-9":"ma11(b9)",ma13:"ma13","13(#7)":"ma13","+13":"ma13",M13:"ma13","ma13(#11)":"ma13(#11)","maj13#11":"ma13(#11)","maj13+11":"ma13(#11)","maj13(+11)":"ma13(#11)","+13(#11)":"ma13(#11)","+13#11":"ma13(#11)","M13+11":"ma13(#11)","+13(+11)":"ma13(#11)","maj13(#11)":"ma13(#11)","ma7#11":"ma9(#11)","ma13+11":"ma13(#11)","ma13(+11)":"ma13(#11)","ma13(#11#5)":"ma13(#11#5)","maj13#11#5":"ma13(#11#5)","maj13+11+5":"ma13(#11#5)","maj13(+11+5)":"ma13(#11#5)","+13(#11#5)":"ma13(#11#5)","+13#11#5":"ma13(#11#5)","M13+11+5":"ma13(#11#5)","+13(+11+5)":"ma13(#11#5)","maj13(#11#5)":"ma13(#11#5)","ma7#11#5":"ma9(#11#5)","ma13+11+5":"ma13(#11#5)","ma13(+11+5)":"ma13(#11#5)","ma13(#5)":"ma13(#5)","maj13#5":"ma13(#5)","maj13+5":"ma13(#5)","maj13(+5)":"ma13(#5)","+13(#5)":"ma13(#5)","+13#5":"ma13(#5)","M13+5":"ma13(#5)","+13(+5)":"ma13(#5)","maj13(#5)":"ma13(#5)","ma13#5":"ma13(#5)","ma13+5":"ma13(#5)","ma13(+5)":"ma13(#5)","ma13(#9)":"ma13(#9)","maj13#9":"ma13(#9)","maj13(+9)":"ma13(#9)","maj13+9":"ma13(#9)","+13(#9)":"ma13(#9)","+13#9":"ma13(#9)","M13(+9)":"ma13(#9)","+13+9":"ma13(#9)","maj13(#9)":"ma13(#9)","ma13#9":"ma13(#9)","ma13(+9)":"ma13(#9)","ma13+9":"ma13(#9)","ma13(#9#5)":"ma13(#9#5)","maj13#9#5":"ma13(#9#5)","maj13(+9+5)":"ma13(#9#5)","maj13+9+5":"ma13(#9#5)","+13(#9#5)":"ma13(#9#5)","+13#9#5":"ma13(#9#5)","M13(+9+5)":"ma13(#9#5)","+13+9+5":"ma13(#9#5)","maj13(#9#5)":"ma13(#9#5)","ma7#9#5":"ma13(#9#5)","ma13(+9+5)":"ma13(#9#5)","ma13+9+5":"ma13(#9#5)","ma13(b5)":"ma13(b5)",maj13b5:"ma13(b5)","maj13-5":"ma13(b5)","maj13(-5)":"ma13(b5)","+13(b5)":"ma13(b5)","+13b5":"ma13(b5)","M13-5":"ma13(b5)","+13(-5)":"ma13(b5)","maj13(b5)":"ma13(b5)",ma13b5:"ma13(b5)","ma13-5":"ma13(b5)","ma13(-5)":"ma13(b5)","ma13(b9)":"ma13(b9)",maj13b9:"ma13(b9)","maj13-9":"ma13(b9)","maj13(-9)":"ma13(b9)","+13(b9)":"ma13(b9)","+13b9":"ma13(b9)","M13-9":"ma13(b9)","+13(-9)":"ma13(b9)","maj13(b9)":"ma13(b9)",ma13b9:"ma13(b9)","ma13-9":"ma13(b9)","ma13(-9)":"ma13(b9)","ma13(b9#5)":"ma13(b9#5)","maj13b9#5":"ma13(b9#5)","maj13-9+5":"ma13(b9#5)","maj13(-9+5)":"ma13(b9#5)","+13(b9#5)":"ma13(b9#5)","+13b9#5":"ma13(b9#5)","M13-9+5":"ma13(b9#5)","+13(-9+5)":"ma13(b9#5)","maj13(b9#5)":"ma13(b9#5)","ma7b9#5":"ma13(b9#5)","ma13-9+5":"ma13(b9#5)","ma13(-9+5)":"ma13(b9#5)",ma6:"ma6","ma6(9)":"ma6(9)",ma69:"ma6(9)",ma7:"ma7","+7":"ma7","#7":"ma7",M7:"ma7",Maj7:"ma7",maj7:"ma7","(triangle)":"ma7","ma7(#11)":"ma7(#11)","maj7#11":"ma7(#11)","maj7+11":"ma7(#11)","maj7(+11)":"ma7(#11)","+7(#11)":"ma7(#11)","+7#11":"ma7(#11)","M7+11":"ma7(#11)","+7(+11)":"ma7(#11)","maj7(#11)":"ma7(#11)","ma7+11":"ma7(#11)","ma7(+11)":"ma7(#11)","ma7(#4)":"ma7(#4)","ma7(#5)":"ma7(#5)","maj7#5":"ma7(#5)","maj7+5":"ma7(#5)","maj7(+5)":"ma7(#5)","+7(#5)":"ma7(#5)","+7#5":"ma7(#5)","M7+5":"ma7(#5)","+7(+5)":"ma7(#5)","maj7(#5)":"ma7(#5)","ma7#5":"ma7(#5)","ma7+5":"ma7(#5)","ma7(+5)":"ma7(#5)","aug(M7)":"ma7(#5)","aug(+7)":"ma7(#5)","aug(ma7)":"ma7(#5)","aug(maj7)":"ma7(#5)","ma7(#9)":"ma7(#9)","maj7#9":"ma7(#9)","maj7+9":"ma7(#9)","maj7(+9)":"ma7(#9)","+7(#9)":"ma7(#9)","+7#9":"ma7(#9)","M7+9":"ma7(#9)","+7(+9)":"ma7(#9)","maj7(#9)":"ma7(#9)","ma7#9":"ma7(#9)","ma7+9":"ma7(#9)","ma7(+9)":"ma7(#9)","ma7(b13)":"ma7(b13)",maj7b13:"ma7(b13)","maj7-13":"ma7(b13)","maj7(-13)":"ma7(b13)","+7(b13)":"ma7(b13)","+7b13":"ma7(b13)","M7-13":"ma7(b13)","+7(-13)":"ma7(b13)","maj7(b13)":"ma7(b13)",ma7b13:"ma9(b13)","ma7-13":"ma7(b13)","ma7(-13)":"ma7(b13)","ma7(b5)":"ma7(b5)",maj7b5:"ma7(b5)","maj7-5":"ma7(b5)","maj7(-5)":"ma7(b5)","+7(b5)":"ma7(b5)","+7b5":"ma7(b5)","M7-5":"ma7(b5)","+7(-5)":"ma7(b5)","maj7(b5)":"ma7(b5)",ma7b5:"ma7(b5)","ma7-5":"ma7(b5)","ma7(-5)":"ma7(b5)","ma7(b9)":"ma7(b9)",maj7b9:"ma7(b9)","maj7-9":"ma7(b9)","maj7(-9)":"ma7(b9)","+7(b9)":"ma7(b9)","+7b9":"ma7(b9)","M7-9":"ma7(b9)","+7(-9)":"ma7(b9)","maj7(b9)":"ma7(b9)",ma7b9:"ma7(b9)","ma7-9":"ma7(b9)","ma7(-9)":"ma7(b9)","ma7(no3)":"ma7(no3)","9(#7)":"ma9","+9":"ma9",M9:"ma9","ma9(#11)":"ma9(#11)","maj9#11":"ma9(#11)","maj9+11":"ma9(#11)","maj9(+11)":"ma9(#11)","+9(#11)":"ma9(#11)","+9#11":"ma9(#11)","M9+11":"ma9(#11)","+9(+11)":"ma9(#11)","maj9(#11)":"ma9(#11)","ma9+11":"ma9(#11)","ma9(+11)":"ma9(#11)","ma9(#11#5)":"ma9(#11#5)","maj9#11#5":"ma9(#11#5)","maj9+11+5":"ma9(#11#5)","maj9(+11+5)":"ma9(#11#5)","+9(#11#5)":"ma9(#11#5)","+9#11#5":"ma9(#11#5)","M9+11+5":"ma9(#11#5)","+9(+11+5)":"ma9(#11#5)","maj9(#11#5)":"ma9(#11#5)","ma9+11+5":"ma9(#11#5)","ma9(+11+5)":"ma9(#11#5)","ma9(#4)":"ma9(#4)","ma9(#5)":"ma9(#5)","maj9#5":"ma9(#5)","maj9+5":"ma9(#5)","maj9(+5)":"ma9(#5)","+9(#5)":"ma9(#5)","+9#5":"ma9(#5)","M9+5":"ma9(#5)","+9(+5)":"ma9(#5)","maj9(#5)":"ma9(#5)","ma9#5":"ma9(#5)","ma9+5":"ma9(#5)","ma9(+5)":"ma9(#5)","ma9(13)":"ma9(13)","ma9(b13)":"ma9(b13)",maj9b13:"ma9(b13)","maj9-13":"ma9(b13)","maj9(-13)":"ma9(b13)","+9(b13)":"ma9(b13)","+9b13":"ma9(b13)","M9-13":"ma9(b13)","+9(-13)":"ma9(b13)","maj9(b13)":"ma9(b13)","ma9-13":"ma9(b13)","ma9(-13)":"ma9(b13)","ma9(b13#5)":"ma9(b13#5)","maj9b13#5":"ma9(b13#5)","maj9-13+5":"ma9(b13#5)","maj9(-13+5)":"ma9(b13#5)","+9(b13#5)":"ma9(b13#5)","+9b13#5":"ma9(b13#5)","M9-13+5":"ma9(b13#5)","+9(-13+5)":"ma9(b13#5)","maj9(b13#5)":"ma9(b13#5)","ma7b13#5":"ma9(b13#5)","ma9-13+5":"ma9(b13#5)","ma9(-13+5)":"ma9(b13#5)","ma9(b5)":"ma9(b5)",maj9b5:"ma9(b5)","maj9-5":"ma9(b5)","maj9(-5)":"ma9(b5)","+9(b5)":"ma9(b5)","+9b5":"ma9(b5)","M9-5":"ma9(b5)","+9(-5)":"ma9(b5)","maj9(b5)":"ma9(b5)",ma9b5:"ma9(b5)","ma9-5":"ma9(b5)","ma9(-5)":"ma9(b5)",sus:"sus",sus4:"sus","sus(no5)":"sus(no5)","sus#42":"sus#42","":""};var qL=cI;const tI=t=>t.items.some(r=>r instanceof se&&!!r.chords),Sw=t=>t.items.some(r=>r instanceof se&&(r.chords||r.annotation)),kM=t=>"evaluate"in t&&typeof t.evaluate=="function",Qp=(t,r)=>{let e=t;for(let m=t.length;m!!t&&t.length>0;function fI(t){return t.replace(/[A-Z]/g,r=>`-${r.toLowerCase()}`)}function oI(t,r=""){return Object.entries(t).map(([e,m])=>{const j=Object.entries(m).map(([w,P])=>`${fI(w)}: ${P};`).join(` + `);return` +${`${r} ${e}`.trim()} { + ${j} +}`.substring(1)}).join(` + +`)}function Mw(t){const r=globalThis.process;typeof r=="object"&&typeof r.emitWarning=="function"?r.emitWarning(t):console.warn(t)}function rI(t){try{throw new Error(`DEPRECATION: ${t}`)}catch(r){Mw(`${t} +${r.stack}`)}}function g0(t){return t==null||t===""}function iI(t,r,e){switch(r){case ss:return typeof t=="string"&&t.toLowerCase()===t;default:return typeof e=="string"&&e[0]==="m"&&e.substring(0,2).toLowerCase()!=="ma"&&e.substring(0,3).toLowerCase()!=="maj"}}function VM(t){return t.replace(/\r\n?/g,` +`)}class aI{constructor(r){this.grades=r}determineGrade(r,e,m){return this.getGradeForModifier(r,m)||this.getGradeForModifier(ee,m)||this.getGradeForModifier(e,m)||this.getGradeForModifier(J,m)}getGradeForModifier(r,e){return r?this.grades[r][e]:null}}function lI({type:t,modifier:r,preferredModifier:e,grade:m,minor:j}){const y=j?Re:Pe,w=QA[t][y];return new aI(w).determineGrade(r,e,m)}function nI({type:t,modifier:r,preferredModifier:e,grade:m,minor:j}){let y=lI({type:t,modifier:r,preferredModifier:e,grade:m,minor:j});if(!y)throw new Error(`Could not resolve + type=${t} + modifier=${r} + grade=${m} + preferredModifier=${e} + minor=${j} +to a key`);return j&&t===ss&&(y=y.toLowerCase()),y}function jm(t){return t===null||qL[t]==="[blank]"?null:qL[t]||t}const gI={symbol:/^(?((?[A-Ga-g])(?#|b)?))(?m)?$/,solfege:/^(?((?Do|Re|Mi|Fa|Sol|La|Si|do|re|mi|fa|sol|la|si)(?#|b)?))(?m)?$/,numeric:/^(?(?#|b)?(?[1-7]))(?m)?$/,numeral:/^(?(?#|b)?(?I{1,3}|IV|VI{0,2}|i{1,3}|iv|vi{0,2}))$/},ZL=[Qe,es,Fe,ss],$I=[1,2,3,4,5,8,9,10],bI=[4,11],mI=[1,4],pI=[5,0],uI=[3,7];class X{get unicodeModifier(){switch(this.modifier){case Q:return"♭";case J:return"♯";default:return null}}static parse(r){if(!r)return null;const e=r.trim();if(!e)return null;for(let m=0,j=ZL.length;mm===j)+1}static keyWithModifier(r,e,m){const j=r.toUpperCase(),y=e||"";return m===es?`${r.charAt(0).toUpperCase()+r.slice(1).toLowerCase()}${y}`:m===Qe?`${j}${y}`:`${y}${j}`}static toGrade(r,e,m,j){const y=j?Re:Pe,w=JA[m][y][e];if(r in w)return w[r];const P=r.toUpperCase();return P in w?w[P]:null}static isMinor(r,e,m){switch(e){case"numeral":return r.toLowerCase()===r;default:switch(typeof m){case"string":return m==="m"||m.toLowerCase()==="min";case"boolean":return m;default:return!1}}}static parseOrFail(r){const e=this.parse(r);if(!e)throw new Error(`Failed to parse ${r}`);return e}static wrap(r){return r instanceof X?r:r===null?null:this.parse(r)}static wrapOrFail(r=null){if(r===null)throw new Error("Unexpected null key");const e=this.wrap(r);if(e===null)throw new Error(`Failed: invalid key ${r}`);return e}static toString(r){return`${X.wrapOrFail(r)}`}static distance(r,e){return this.wrapOrFail(r).distanceTo(e)}constructor({grade:r=null,number:e=null,minor:m,type:j,modifier:y,referenceKeyGrade:w=null,originalKeyString:P=null,preferredModifier:G=null}){this.number=null,this.minor=!1,this.referenceKeyGrade=null,this.originalKeyString=null,this.grade=r,this.number=e,this.minor=m,this.type=j,this.modifier=y,this.preferredModifier=G,this.referenceKeyGrade=w,this.originalKeyString=P}distanceTo(r){const e=X.wrapOrFail(r);return X.shiftGrade(e.effectiveGrade-this.effectiveGrade)}get effectiveGrade(){if(this.grade===null)throw new Error("Cannot calculate effectiveGrade without a grade");return X.shiftGrade(this.grade+(this.referenceKeyGrade||0))}isMinor(){return this.minor}makeMinor(){return this.set({minor:!0})}get relativeMajor(){return this.changeGrade(3).set({minor:!1})}get relativeMinor(){return this.changeGrade(-3).set({minor:!0})}toMajor(){return this.isMinor()?this.transpose(3).set({minor:!1}):this.clone()}clone(){return this.set({})}ensureGrade(){this.grade===null&&this.calculateGradeFromNumber()}calculateGradeFromNumber(){if(this.number===null)throw new Error("Cannot calculate grade, number is null");this.grade=X.toGrade(this.number.toString(),this.modifier||ee,Fe,this.isMinor()),this.number=null}toChordSymbol(r){if(this.isChordSymbol())return this.clone();const{modifier:e}=this;this.ensureGrade();const m=X.wrapOrFail(r),y=this.set({referenceKeyGrade:X.shiftGrade(this.effectiveGrade+m.effectiveGrade),grade:0,type:Qe,modifier:null,preferredModifier:e||m.modifier}).normalizeEnharmonics(m);return e?y.set({preferredModifier:e,modifier:null}):y}toChordSolfege(r){if(this.isChordSolfege())return this.clone();const{modifier:e}=this;this.ensureGrade();const m=X.wrapOrFail(r),y=this.set({referenceKeyGrade:X.shiftGrade(this.effectiveGrade+m.effectiveGrade),grade:0,type:es,modifier:null,preferredModifier:e||m.modifier}).normalizeEnharmonics(m);return e?y.set({preferredModifier:e,modifier:null}):y}toChordSymbolString(r){return this.toChordSymbol(r).toString()}toChordSolfegeString(r){return this.toChordSolfege(r).toString()}is(r){return this.type===r}isNumeric(){return this.is(Fe)}isChordSymbol(){return this.is(Qe)}isChordSolfege(){return this.is(es)}isNumeral(){return this.is(ss)}equals(r){return this.grade===r.grade&&this.number===r.number&&this.modifier===r.modifier&&this.preferredModifier===r.preferredModifier&&this.type===r.type&&this.minor===r.minor}static equals(r,e){return r===null?e===null:e===null?!1:r.equals(e)}toNumeric(r=null){if(this.isNumeric())return this.clone();if(this.isNumeral())return this.set({type:Fe});const e=X.wrapOrFail(r),m=e.effectiveGrade;return this.set({type:Fe,grade:X.shiftGrade(this.effectiveGrade-m),referenceKeyGrade:0,modifier:null,preferredModifier:e.modifier})}toNumericString(r=null){return this.toNumeric(r).toString()}toNumeral(r=null){if(this.isNumeral())return this.clone();if(this.isNumeric())return this.set({type:ss});const e=X.wrapOrFail(r),m=e.effectiveGrade;return this.set({type:ss,grade:X.shiftGrade(this.effectiveGrade-m),referenceKeyGrade:0,modifier:null,preferredModifier:e.modifier||this.modifier})}toNumeralString(r=null){return this.toNumeral(r).toString()}toString({showMinor:r=!0,useUnicodeModifier:e=!1}={}){let{note:m}=this;return e&&(m=m.replace("#","♯").replace("b","♭")),`${m}${r?this.minorSign:""}`}get note(){if(this.grade===null)return this.getNoteForNumber();if((this.isChordSymbol()||this.isChordSolfege())&&this.referenceKeyGrade===null)throw new Error("Not possible, reference key grade is null");return nI({type:this.type,modifier:this.modifier,preferredModifier:this.preferredModifier,grade:this.effectiveGrade,minor:this.minor})}getNoteForNumber(){if(this.number===null)throw new Error("Not possible, grade and number are null");if(this.isNumeric())return`${this.modifier||""}${this.number}`;const r=KL[this.number-1];return`${this.modifier||""}${this.isMinor()?r.toLowerCase():r}`}get minorSign(){if(!this.minor)return"";switch(this.type){case Qe:return"m";case es:return"m";case Fe:return this.isNaturalMinor()?"":"m";default:return""}}isNaturalMinor(){if(this.ensureGrade(),!this.grade)throw new Error("Expected grade to be set, but it is is still empty.");return $I.includes(this.grade)}transpose(r){if(r===0)return this;const e=this.modifier;let m=this.clone();const j=r<0?"transposeDown":"transposeUp";for(let y=0,w=Math.abs(r);yy.toNumeric());const e=$e.wrap(r);return new Te({suffix:jm(this.suffix),root:((m=this.root)==null?void 0:m.toNumeric(e))||null,bass:((j=this.bass)==null?void 0:j.toNumeric(e))||null})}toNumeral(r=null){var m;if(this.isNumeral())return this.clone();if(this.isNumeric())return this.transform(j=>j.toNumeral());const e=$e.wrapOrFail(r);return new Te({suffix:jm(this.suffix),root:e&&this.root?this.root.toNumeral(e):null,bass:((m=this.bass)==null?void 0:m.toNumeral(e))||null})}toNumeralString(r=null){return this.toNumeral(r).toString()}isNumeric(){return this.is(Fe)}toNumericString(r=null){return this.toNumeric(r).toString()}isNumeral(){return this.is(ss)}toString({useUnicodeModifier:r=!1}={}){let e="";const m=this.suffix||"",j=m[0]!=="m";return this.root&&(e=this.root.toString({showMinor:j,useUnicodeModifier:r})+m),this.bass?`${e}/${this.bass.toString({useUnicodeModifier:r})}`:e}normalize(r=null,{normalizeSuffix:e=!0}={}){const m=e?jm(this.suffix):this.suffix;let j=this.root;return this.root&&(j=this.root.normalize(),r&&(j=j.normalizeEnharmonics(r))),this.set({suffix:m,root:j,bass:this.bass?this.bass.normalize().normalizeEnharmonics(j):null})}useModifier(r){return this.transform(e=>e.useModifier(r))}transposeUp(){return this.transform(r=>r.transposeUp())}transposeDown(){return this.transform(r=>r.transposeDown())}transpose(r){return this.transform(e=>e.transpose(r))}constructor({base:r=null,modifier:e=null,suffix:m=null,bassBase:j=null,bassModifier:y=null,root:w=null,bass:P=null,chordType:G=null}){this.suffix=m||null,this.root=Te.determineRoot({root:w,base:r,modifier:e,suffix:m,chordType:G}),this.bass=Te.determineBass({bass:P,bassBase:j,bassModifier:y,chordType:G})}equals(r){return this.suffix===r.suffix&&$e.equals(this.root,r.root)&&$e.equals(this.bass,r.bass)}static determineRoot({root:r,base:e,modifier:m,suffix:j,chordType:y}){if(r)return r;if(!e)return null;if(!y)throw new Error("Can't resolve at this point without a chord type");return $e.resolve({key:e,keyType:y,minor:iI(e,y,j),modifier:m})}static determineBass({bass:r,bassBase:e,bassModifier:m,chordType:j}){if(r)return r;if(!e)return null;if(!j)throw new Error("Can't resolve at this point without a chord type");return $e.resolve({key:e,modifier:m||null,minor:!1,keyType:j})}isMinor(){var r;return((r=this.root)==null?void 0:r.isMinor())||!1}makeMinor(){var r;return this.set({root:((r=this.root)==null?void 0:r.makeMinor())||null})}set(r){var e,m;return new Te({root:((e=this.root)==null?void 0:e.clone())||null,suffix:this.suffix,bass:((m=this.bass)==null?void 0:m.clone())||null,...r})}is(r){return(!this.root||this.root.is(r))&&(!this.bass||this.bass.is(r))}transform(r){return this.set({root:this.root?r(this.root):null,bass:this.bass?r(this.bass):null})}}var vm=Te;const Lw={separator:","};class hI{constructor(r=Lw){this.separator=r.separator}}var jI=hI;const ym=t=>t,MM={evaluate:!1,metadata:Lw,key:null,expandChorusDirective:!1,useUnicodeModifiers:!1,normalizeChords:!0,delegates:{abc:ym,ly:ym,tab:ym,grid:ym}};class yI{constructor(r=MM){const e={...MM,...r};this.evaluate=e.evaluate,this.expandChorusDirective=e.expandChorusDirective,this.useUnicodeModifiers=e.useUnicodeModifiers,this.normalizeChords=e.normalizeChords,this.metadata=new jI(r.metadata),this.key=r.key?$e.wrap(r.key):null,this.delegates={...MM.delegates,...r.delegates},this.configuration={configuration:r,delegates:this.delegates}}get(r){return ZA(this,r)}}var xI=yI;class CI{constructor(r={}){this.configuration=new xI(r||{})}}var $0=CI;class SI{constructor(r=null){this.line=null,this.column=null,this.offset=null,r&&(this.line=r.line||null,this.column=r.column||null,this.offset=r.offset||null)}}var ww=SI;const Ew="album",vI="arranger",Aw="artist",Mm="capo",WM="comment",Iw="composer",Tw="copyright",Fw="duration",_w="end_of_abc",HM="end_of_bridge",Lm="end_of_chorus",UM="end_of_grid",Rw="end_of_ly",KM="end_of_tab",b0="end_of_verse",n1="key",Pw="_key",Dw="lyricist",MI="sorttitle",qM="start_of_abc",m0="start_of_bridge",b1="start_of_chorus",p0="start_of_grid",ZM="start_of_ly",u0="start_of_tab",wm="start_of_verse",XM="subtitle",Nw="tempo",Gw="time",YM="title",LI="transpose",Ow="new_key",Bw="year",e0="chordfont",s0="chordsize",IM="chordcolour",c0="textfont",t0="textsize",TM="textcolour",zw="chorus",kw="chord_style",wI="cf",EI="cs",AI="c",II="eob",TI="eoc",FI="eog",_I="eot",RI="eov",PI="nk",DI="sob",NI="soc",GI="sog",OI="sot",BI="sov",zI="st",kI="tf",VI="ts",WI="t",HI=[WM],UI=[Ew,vI,Aw,Mm,kw,Iw,Tw,Fw,n1,Dw,MI,XM,Nw,Gw,YM,Bw],KI=[Pw],qI=[_w,HM,Lm,UM,Rw,KM,b0],ZI=[qM,m0,b1,p0,ZM,u0,wm],XI=[e0,s0,IM,c0,t0,TM],YI=[zw,qM,m0,b1,p0,ZM,u0,wm],XL={[wI]:e0,[EI]:s0,[AI]:WM,[II]:HM,[TI]:Lm,[FI]:UM,[_I]:KM,[RI]:b0,[PI]:Ow,[DI]:m0,[NI]:b1,[GI]:p0,[OI]:u0,[BI]:wm,[zI]:XM,[kI]:c0,[VI]:t0,[WI]:YM},JI=/^([^:\s]+)(:?\s*(.+))?$/,QI=/^x_(.+)$/;function YL(t){return KI.includes(t)}const eT=t=>{if(!t)return t;const r=t.trim();return r in XL?XL[r]:r};class r1 extends ww{constructor(r,e=null,m=null){super(m),this._isMetaTag=!1,this._originalName="",this._name="",this._value="",this.parseNameValue(r,e)}parseNameValue(r,e){r==="meta"?this.parseMetaTag(e):(this.name=r,this.value=e||"")}parseMetaTag(r){if(!r)throw new Error("Expected value");const[e,m]=r.split(/\s(.+)/);this.name=e,this.value=m||"",this._isMetaTag=!0}static parse(r){return r instanceof r1?r:this.parseWithRegex(r,JI)}static parseWithRegex(r,e){const m=r.match(e);return m!==null?new r1(m[1],m[3]||null):null}static parseOrFail(r){const e=this.parse(r);if(!e)throw new Error(`Failed to parse ${r}`);return e}isSectionDelimiter(){return this.isSectionStart()||this.isSectionEnd()}isSectionStart(){return ZI.includes(this.name)}isSectionEnd(){return qI.includes(this.name)}isInlineFontTag(){return XI.includes(this.name)}set name(r){this._name=eT(r),this._originalName=r}get name(){return this._name.trim()}get originalName(){return this._originalName.trim()}set value(r){this._value=r||""}get value(){return`${this._value}`.trim()}hasValue(){return this.value.length>0}isRenderable(){return HI.includes(this.name)||this.hasRenderableLabel()}hasRenderableLabel(){return YI.includes(this.name)&&this.hasValue()}isMetaTag(){return this._isMetaTag||QI.test(this.name)||UI.indexOf(this.name)!==-1}clone(){return new r1(this._originalName,this.value)}toString(){return`Tag(name=${this.name}, value=${this.value})`}set({value:r}){return new r1(this._originalName,r)}}var U=r1;class sT extends Error{constructor(r,e=null,m=null,j=null){super(`${r} on line ${e} column ${m}`),this.line=null,this.column=null,this.offset=null,this.name="ExpressionError",this.line=e,this.column=m,this.offset=j}}var cT=sT;class tT extends ww{}var JM=tT;class QM extends JM{constructor(r,e=null){super(),this.expressions=[],this.expressions=r,this.variable=e}evaluate(r,e){return this.expressions.map(m=>m.evaluate(r,e,this.variable)).join("")}isRenderable(){return!0}clone(){return new QM(this.expressions.map(r=>r.clone()),this.variable)}}var FM=QM;class eL extends JM{constructor({variable:r=null,valueTest:e=null,trueExpression:m=[],falseExpression:j=[],line:y=null,column:w=null,offset:P=null}){super({line:y,column:w,offset:P}),this.trueExpression=[],this.falseExpression=[],this.variable=r||null,this.valueTest=e||null,this.trueExpression=m,this.falseExpression=j}evaluate(r,e,m=null){if(this.variable)return this.evaluateWithVariable(r,e);if(!m)throw new cT("Unexpected empty expression",this.line,this.column,this.offset);return this.evaluateToString(r.get(m)||"",e)}evaluateToString(r,e){return Array.isArray(r)?r.join(e):r}evaluateWithVariable(r,e){if(!this.variable)throw new Error("Expected this.variable to be present");const m=r.get(this.variable);return m&&(g0(this.valueTest)||m===this.valueTest)?this.evaluateForTruthyValue(r,e,m):this.falseExpression.length?new FM(this.falseExpression,this.variable).evaluate(r,e):""}evaluateForTruthyValue(r,e,m){return this.trueExpression.length?new FM(this.trueExpression,this.variable).evaluate(r,e):this.evaluateToString(m,e)}isRenderable(){return!0}clone(){return new eL({variable:this.variable,valueTest:this.valueTest,trueExpression:this.trueExpression.map(r=>r.clone()),falseExpression:this.falseExpression.map(r=>r.clone()),line:this.line,column:this.column,offset:this.offset})}}var Cm=eL;class sL extends JM{constructor(r){super(),this.string=r}evaluate(){return this.string}isRenderable(){return!0}clone(){return new sL(this.string)}}var Ds=sL;class cL{constructor(r){this.content=r}isRenderable(){return!1}clone(){return new cL(this.content)}toString(){return`Comment(content=${this.content})`}}var bt=cL;class tL{clone(){return new tL}}var f0=tL;class fT extends $0{format(r){const{lines:e,metadata:m}=r;return e.map(j=>this.formatLine(j,m)).join(` +`)}formatLine(r,e){return r.items.map(m=>this.formatItem(m,e)).join("")}formatItem(r,e){if(r instanceof U)return this.formatTag(r);if(r instanceof se)return this.formatChordLyricsPair(r);if(r instanceof bt)return this.formatComment(r);if(r instanceof f0)return"\\ ";if("evaluate"in r)return this.formatOrEvaluateItem(r,e);throw new Error(`Don't know how to format a ${r}`)}formatOrEvaluateItem(r,e){if(this.configuration.evaluate)return r.evaluate(e,this.configuration.get("metadata.separator"));if(r instanceof Cm)return this.formatTernary(r);if(r instanceof Ds)return r.evaluate();throw new Error(`Don't know how to format a ${r.constructor.name}`)}formatTernary(r){const{variable:e,valueTest:m,trueExpression:j,falseExpression:y}=r;return["%{",e||"",this.formatValueTest(m),this.formatExpressionRange(j),this.formatExpressionRange(y),"}"].join("")}formatValueTest(r){return r?`=${r}`:""}formatExpressionRange(r){return r.length?`|${r.map(e=>this.formatExpression(e)).join("")}`:""}formatExpression(r){return r instanceof Cm?this.formatTernary(r):r instanceof Ds?r.string:""}formatTag(r){return r.hasValue()?`{${r.originalName}: ${r.value}}`:`{${r.originalName}}`}formatChordLyricsPair(r){return[this.formatChordLyricsPairChords(r),this.formatChordLyricsPairLyrics(r)].join("")}formatChordLyricsPairChords(r){if(r.chords){const e=vm.parse(r.chords);return e?`[${this.configuration.normalizeChords?e.normalize():e}]`:`[${r.chords}]`}return r.annotation?`[*${r.annotation}]`:""}formatChordLyricsPairLyrics(r){return r.lyrics||""}formatComment(r){return`#${r.content}`}}var oT=fT;function rT(t){return t.replace(/\n$/,"").split(` +`)}function Yp(t){return{type:"line",items:t}}function iT(t,r,e){return[Yp([t]),...rT(e).map(m=>Yp([m])),Yp([r])]}function JL(t,r,e){return{type:"tag",name:t,value:r||"",location:e.start}}function aT(t,r,e,m=j=>j){const j=new RegExp(r,"g"),y=Array.from(t.matchAll(j)),w=[];let P=0;y.forEach(I=>{const v=t.slice(P,I.index);v!==""&&w.push(m(v)),w.push(e(I[0])),P=I.index+I[0].length});const G=t.slice(P);return G!==""&&w.push(m(G)),w}function Vw(t){return aT(t," ",()=>({type:"softLineBreak"}),r=>({type:"chordLyricsPair",chords:"",lyrics:r}))}function lT(t,r){const e=Vw(r||""),[m,...j]=e;let y=e[0],w=null;return t!==""&&(!y||y.type==="softLineBreak"?w={type:"chordLyricsPair",chords:t,lyrics:""}:y={...y,chords:t}),[w,y||null,...j].filter(P=>P!==null)}function LM(t,r,e){return e=e||" ",t.length>r?t:(r-=t.length,e+=e.repeat(r),t+e.slice(0,r))}class a1 extends Error{static buildMessage(r,e){function m(I){return I.charCodeAt(0).toString(16).toUpperCase()}function j(I){return I.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function y(I){return I.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function w(I){switch(I.type){case"literal":return'"'+j(I.text)+'"';case"class":const v=I.parts.map(_=>Array.isArray(_)?y(_[0])+"-"+y(_[1]):y(_));return"["+(I.inverted?"^":"")+v+"]";case"any":return"any character";case"end":return"end of input";case"other":return I.description}}function P(I){const v=I.map(w);let _,K;if(v.sort(),v.length>0){for(_=1,K=1;_ `+w+` +`+G+` | +`+y.line+" | "+I+` +`+G+" | "+LM("",y.column-1," ")+LM("",v-y.column,"^")}else e+=` + at `+w}return e}}function nT(t,r){r=r!==void 0?r:{};const e={},m=r.grammarSource,j={ChordSheet:qt};let y=qt;const w=function($,p){return{type:"chordSheet",lines:[...$,p].flat()}},P=function($){return $},G=function($,p,h,d){return Yp([$?{type:"chordLyricsPair",chords:"",lyrics:$}:null,...p.flat(),h?{type:"chordLyricsPair",chords:h,lyrics:""}:null,d?{type:"comment",comment:d}:null].filter(S=>S))},I=function($){return Vw($)},v="#",_=z("#",!1),K=/^[^\r\n]/,me=ne(["\r",` +`],!0,!1),q=function($){return $},V=function($,p,h){return{type:"chordLyricsPair",annotation:$||"",lyrics:p+(h||"")}},je=function($,p,h){const d=p.map(S=>S.char||S).join("")+(h||"");return lT($||"",d)},De=function($){return $.map(p=>p.char||p).join("")},H="[*",ue=z("[*",!1),ye="]",pe=z("]",!1),ve=function($){return $.map(p=>p.char||p).join("")},dt="[",ht=z("[",!1),m1=function($){return $.map(p=>p.char||p).join("")},p1=/^[^\]\r\n]/,u1=ne(["]","\r",` +`],!0,!1),cs="\\",ts=z("\\",!1),d1=function(){return{type:"char",char:"\\"}},h1=function(){return{type:"char",char:"]"}},Gs=function($){return $},jt="%{",j1=z("%{",!1),ce="}",te=z("}",!1),y1=function($,p,h){return{type:"ternary",variable:$.length>0?$:null,valueTest:p,...h,location:Ae().start}},x1="=",C1=z("=",!1),S1=function($){return $},fs="|",os=z("|",!1),v1=function($,p){return{type:"ternary",trueExpression:$,falseExpression:p,location:Ae().start}},M1=function($){return $},Os=/^[a-zA-Z0-9\-_]/,rs=ne([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),Bs=function(){return{type:"char",char:"]"}},zs=function(){return{type:"char",char:"|"}},is=function(){return{type:"char",char:"}"}},L1=/^[^|[\]\\{}%#\r\n\t ]/,yt=ne(["|","[","]","\\","{","}","%","#","\r",` +`," "," "],!0,!1),ks=function(){return{type:"char",char:"\\"}},Vs=function(){return{type:"char",char:"["}},ae="{",re=z("{",!1),xt=function(){return{type:"char",char:"{"}},Ct="%",w1=z("%",!1),St=function(){return{type:"char",char:"%"}},E1=function(){return{type:"char",char:"#"}},vt=" ",A1=z(" ",!1),Mt=function(){return{type:"char",char:r!=null&&r.softLineBreaks?" ":" "}},Lt="chord",wt=z("chord",!1),Et="define",Ne=z("define",!1),Ge=":",as=z(":",!1),I1=function($,p){const{text:h,...d}=p;return{type:"tag",name:$,value:h,chordDefinition:d,location:Ae().start}},Ws=/^[A-Za-z0-9]/,At=ne([["A","Z"],["a","z"],["0","9"]],!1,!1),Hs="base-fret",T1=z("base-fret",!1),Us="frets",Ks=z("frets",!1),It=function($,p,h,d){return{name:$,baseFret:p,frets:h,fingers:d,text:fc()}},Tt="fingers",Ft=z("fingers",!1),F1=function($){return $},_t=function($){return $},Rt=/^[1-9]/,qs=ne([["1","9"]],!1,!1),Pt=function($){return parseInt($,10)},Zs=function($){return $},_1="0",Dt=z("0",!1),R1=function(){return 0},Xs="-1",P1=z("-1",!1),Nt=/^[Nx]/,D1=ne(["N","x"],!1,!1),Gt=function($,p){return{type:"tag",name:$,value:p,location:Ae().start}},N1=function($){return $.map(p=>p.char||p).join("")},Ys=/^[a-zA-Z\-_]/,Ot=ne([["a","z"],["A","Z"],"-","_"],!1,!1),Bt=/^[^}\\\r\n]/,G1=ne(["}","\\","\r",` +`],!0,!1),zt=Oe("whitespace"),kt=Oe("optional whitespace"),Vt=/^[ \t\n\r]/,O1=ne([" "," ",` +`,"\r"],!1,!1),Wt=Oe("space"),Ht=/^[ \t]/,ls=ne([" "," "],!1,!1),B1=/^[\n\r]/,Js=ne([` +`,"\r"],!1,!1),z1=` +`,Qs=z(` +`,!1),k1="\r",ec=z("\r",!1),ns=function($,p,h){return iT($,h,p)},gs="start_of_abc",V1=z("start_of_abc",!1),Ee=function($,p){return JL($,p,Ae())},Ut="end_of_abc",sc=z("end_of_abc",!1),$s=function($){return JL($,null,Ae())},bs="start_of_grid",W1=z("start_of_grid",!1),ms="sog",H1=z("sog",!1),ps="end_of_grid",U1=z("end_of_grid",!1),us="eog",K1=z("eog",!1),ds="start_of_ly",q1=z("start_of_ly",!1),hs="end_of_ly",Z1=z("end_of_ly",!1),js="start_of_tab",X1=z("start_of_tab",!1),ys="sot",Y1=z("sot",!1),xs="end_of_tab",J1=z("end_of_tab",!1),Cs="eot",Q1=z("eot",!1),cc=oc();let b=0,R=0;const Ss=[{line:1,column:1}];let le=0,tc=[],M=0,vs;if(r.startRule!==void 0){if(!(r.startRule in j))throw new Error(`Can't start parsing from rule "`+r.startRule+'".');y=j[r.startRule]}function fc(){return t.substring(R,b)}function Ae(){return Be(R,b)}function z($,p){return{type:"literal",text:$,ignoreCase:p}}function ne($,p,h){return{type:"class",parts:$,inverted:p,ignoreCase:h}}function oc(){return{type:"any"}}function ef(){return{type:"end"}}function Oe($){return{type:"other",description:$}}function Kt($){let p=Ss[$],h;if(p)return p;for(h=$-1;!Ss[h];)h--;for(p=Ss[h],p={line:p.line,column:p.column};h<$;)t.charCodeAt(h)===10?(p.line++,p.column=1):p.column++,h++;return Ss[$]=p,p}function Be($,p){const h=Kt($),d=Kt(p);return{source:m,start:{offset:$,line:h.line,column:h.column},end:{offset:p,line:d.line,column:d.column}}}function T($){ble&&(le=b,tc=[]),tc.push($))}function rc($,p,h){return new a1(a1.buildMessage($,p),$,p,h)}function qt(){let $,p,h;for($=b,p=[],h=Ms();h!==e;)p.push(h),h=Ms();return p!==e?(h=Zt(),h===e&&(h=null),h!==e?(R=$,p=w(p,h),$=p):(b=$,$=e)):(b=$,$=e),$}function Ms(){let $,p,h;return $=b,p=Zt(),p!==e?(h=We(),h!==e?(R=$,p=P(p),$=p):(b=$,$=e)):(b=$,$=e),$}function Zt(){let $;return $=Cc(),$===e&&($=ic()),$}function ic(){let $,p,h,d,S,C,E;if($=b,p=b,h=Ls(),h===e&&(h=null),h!==e?p=t.substring(p,b):p=h,p!==e){for(h=[],d=Xt();d!==e;)h.push(d),d=Xt();if(h!==e)if(d=Es(),d===e&&(d=null),d!==e)if(S=ac(),S===e&&(S=null),S!==e){for(C=[],E=be();E!==e;)C.push(E),E=be();C!==e?(R=$,p=G(p,h,d,S),$=p):(b=$,$=e)}else b=$,$=e;else b=$,$=e;else b=$,$=e}else b=$,$=e;return $}function Xt(){let $,p;return $=bc(),$===e&&($=hc(),$===e&&($=sf(),$===e&&($=lc(),$===e&&($=ze(),$===e&&($=b,p=Ls(),p!==e&&(R=$,p=I(p)),$=p))))),$}function ac(){let $,p,h,d,S,C;if($=b,p=be(),p===e&&(p=null),p!==e)if(t.charCodeAt(b)===35?(h=v,b++):(h=e,M===0&&T(_)),h!==e){for(d=b,S=[],K.test(t.charAt(b))?(C=t.charAt(b),b++):(C=e,M===0&&T(me));C!==e;)S.push(C),K.test(t.charAt(b))?(C=t.charAt(b),b++):(C=e,M===0&&T(me));S!==e?d=t.substring(d,b):d=S,d!==e?(R=$,p=q(d),$=p):(b=$,$=e)}else b=$,$=e;else b=$,$=e;return $}function sf(){let $,p,h,d,S,C;if($=b,p=cf(),p!==e){for(h=b,d=[],S=Ls();S!==e;)d.push(S),S=Ls();if(d!==e?h=t.substring(h,b):h=d,h!==e){for(d=b,S=[],C=be();C!==e;)S.push(C),C=be();S!==e?d=t.substring(d,b):d=S,d!==e?(R=$,p=V(p,h,d),$=p):(b=$,$=e)}else b=$,$=e}else b=$,$=e;return $}function lc(){let $,p,h,d,S,C;if($=b,p=Es(),p!==e){for(h=[],d=$c();d!==e;)h.push(d),d=$c();if(h!==e){for(d=b,S=[],C=be();C!==e;)S.push(C),C=be();S!==e?d=t.substring(d,b):d=S,d!==e?(R=$,p=je(p,h,d),$=p):(b=$,$=e)}else b=$,$=e}else b=$,$=e;return $}function Ls(){let $,p,h;if($=b,p=[],h=ws(),h!==e)for(;h!==e;)p.push(h),h=ws();else p=e;return p!==e&&(R=$,p=De(p)),$=p,$}function ws(){let $;return $=$c(),$===e&&($=be()),$}function cf(){let $,p,h,d,S;if($=b,p=b,M++,h=He(),M--,h===e?p=void 0:(b=p,p=e),p!==e)if(t.substr(b,2)===H?(h=H,b+=2):(h=e,M===0&&T(ue)),h!==e){if(d=[],S=As(),S!==e)for(;S!==e;)d.push(S),S=As();else d=e;d!==e?(t.charCodeAt(b)===93?(S=ye,b++):(S=e,M===0&&T(pe)),S!==e?(R=$,p=ve(d),$=p):(b=$,$=e)):(b=$,$=e)}else b=$,$=e;else b=$,$=e;return $}function Es(){let $,p,h,d,S;if($=b,p=b,M++,h=He(),M--,h===e?p=void 0:(b=p,p=e),p!==e)if(t.charCodeAt(b)===91?(h=dt,b++):(h=e,M===0&&T(ht)),h!==e){for(d=[],S=As();S!==e;)d.push(S),S=As();d!==e?(t.charCodeAt(b)===93?(S=ye,b++):(S=e,M===0&&T(pe)),S!==e?(R=$,p=m1(d),$=p):(b=$,$=e)):(b=$,$=e)}else b=$,$=e;else b=$,$=e;return $}function As(){let $,p,h,d;return p1.test(t.charAt(b))?($=t.charAt(b),b++):($=e,M===0&&T(u1)),$===e&&($=b,p=He(),p!==e?(h=b,t.charCodeAt(b)===92?(d=cs,b++):(d=e,M===0&&T(ts)),d!==e&&(R=h,d=d1()),h=d,h===e&&(h=b,t.charCodeAt(b)===93?(d=ye,b++):(d=e,M===0&&T(pe)),d!==e&&(R=h,d=h1()),h=d),h!==e?(R=$,p=Gs(h),$=p):(b=$,$=e)):(b=$,$=e)),$}function ze(){let $,p,h,d,S,C,E,F,fe;return $=b,t.substr(b,2)===jt?(p=jt,b+=2):(p=e,M===0&&T(j1)),p!==e?(h=B(),h!==e?(d=b,S=of(),S===e&&(S=null),S!==e?d=t.substring(d,b):d=S,d!==e?(S=tf(),S===e&&(S=null),S!==e?(C=B(),C!==e?(E=ff(),E===e&&(E=null),E!==e?(F=B(),F!==e?(t.charCodeAt(b)===125?(fe=ce,b++):(fe=e,M===0&&T(te)),fe!==e?(R=$,p=y1(d,S,E),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function tf(){let $,p,h,d;return $=b,t.charCodeAt(b)===61?(p=x1,b++):(p=e,M===0&&T(C1)),p!==e?(h=B(),h!==e?(d=nc(),d!==e?(R=$,p=S1(d),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function nc(){let $,p,h;if($=b,p=[],h=xe(),h!==e)for(;h!==e;)p.push(h),h=xe();else p=e;return p!==e?$=t.substring($,b):$=p,$}function ff(){let $,p,h,d,S,C,E;return $=b,t.charCodeAt(b)===124?(p=fs,b++):(p=e,M===0&&T(os)),p!==e?(h=B(),h!==e?(d=Is(),d!==e?(S=B(),S!==e?(C=gc(),C===e&&(C=null),C!==e?(E=B(),E!==e?(R=$,p=v1(d,C),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function gc(){let $,p,h,d;return $=b,t.charCodeAt(b)===124?(p=fs,b++):(p=e,M===0&&T(os)),p!==e?(h=B(),h!==e?(d=Is(),d!==e?(R=$,p=M1(d),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function of(){let $,p;if($=[],Os.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(rs)),p!==e)for(;p!==e;)$.push(p),Os.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(rs));else $=e;return $}function Is(){let $,p,h,d;if($=[],p=b,h=[],d=xe(),d!==e)for(;d!==e;)h.push(d),d=xe();else h=e;if(h!==e?p=t.substring(p,b):p=h,p===e&&(p=ze()),p!==e)for(;p!==e;){if($.push(p),p=b,h=[],d=xe(),d!==e)for(;d!==e;)h.push(d),d=xe();else h=e;h!==e?p=t.substring(p,b):p=h,p===e&&(p=ze())}else $=e;return $}function $c(){let $,p;return $=Yt(),$===e&&($=b,t.charCodeAt(b)===93?(p=ye,b++):(p=e,M===0&&T(pe)),p!==e&&(R=$,p=Bs()),$=p,$===e&&($=b,t.charCodeAt(b)===124?(p=fs,b++):(p=e,M===0&&T(os)),p!==e&&(R=$,p=zs()),$=p,$===e&&($=b,t.charCodeAt(b)===125?(p=ce,b++):(p=e,M===0&&T(te)),p!==e&&(R=$,p=is()),$=p))),$}function xe(){let $;return $=Yt(),$===e&&($=be()),$}function Yt(){let $,p,h,d;return L1.test(t.charAt(b))?($=t.charAt(b),b++):($=e,M===0&&T(yt)),$===e&&($=b,p=He(),p!==e?(h=b,t.charCodeAt(b)===92?(d=cs,b++):(d=e,M===0&&T(ts)),d!==e&&(R=h,d=ks()),h=d,h===e&&(h=b,t.charCodeAt(b)===124?(d=fs,b++):(d=e,M===0&&T(os)),d!==e&&(R=h,d=zs()),h=d,h===e&&(h=b,t.charCodeAt(b)===91?(d=dt,b++):(d=e,M===0&&T(ht)),d!==e&&(R=h,d=Vs()),h=d,h===e&&(h=b,t.charCodeAt(b)===93?(d=ye,b++):(d=e,M===0&&T(pe)),d!==e&&(R=h,d=Bs()),h=d,h===e&&(h=b,t.charCodeAt(b)===123?(d=ae,b++):(d=e,M===0&&T(re)),d!==e&&(R=h,d=xt()),h=d,h===e&&(h=b,t.charCodeAt(b)===125?(d=ce,b++):(d=e,M===0&&T(te)),d!==e&&(R=h,d=is()),h=d,h===e&&(h=b,t.charCodeAt(b)===37?(d=Ct,b++):(d=e,M===0&&T(w1)),d!==e&&(R=h,d=St()),h=d,h===e&&(h=b,t.charCodeAt(b)===35?(d=v,b++):(d=e,M===0&&T(_)),d!==e&&(R=h,d=E1()),h=d,h===e&&(h=b,t.charCodeAt(b)===32?(d=vt,b++):(d=e,M===0&&T(A1)),d!==e&&(R=h,d=Mt()),h=d)))))))),h!==e?(R=$,p=Gs(h),$=p):(b=$,$=e)):(b=$,$=e)),$}function bc(){let $,p,h,d,S,C,E,F,fe,oe;return $=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=B(),h!==e?(t.substr(b,5)===Lt?(d=Lt,b+=5):(d=e,M===0&&T(wt)),d===e&&(t.substr(b,6)===Et?(d=Et,b+=6):(d=e,M===0&&T(Ne))),d!==e?(S=B(),S!==e?(t.charCodeAt(b)===58?(C=Ge,b++):(C=e,M===0&&T(as)),C!==e?(E=B(),E!==e?(F=rf(),F!==e?(fe=B(),fe!==e?(t.charCodeAt(b)===125?(oe=ce,b++):(oe=e,M===0&&T(te)),oe!==e?(R=$,p=I1(d,F),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function rf(){let $,p,h,d,S,C,E,F,fe,oe;if($=b,p=b,h=[],Ws.test(t.charAt(b))?(d=t.charAt(b),b++):(d=e,M===0&&T(At)),d!==e)for(;d!==e;)h.push(d),Ws.test(t.charAt(b))?(d=t.charAt(b),b++):(d=e,M===0&&T(At));else h=e;if(h!==e?p=t.substring(p,b):p=h,p!==e)if(h=B(),h!==e)if(t.substr(b,9)===Hs?(d=Hs,b+=9):(d=e,M===0&&T(T1)),d!==e)if(S=Ve(),S!==e)if(C=e1(),C!==e)if(E=Ve(),E!==e)if(t.substr(b,5)===Us?(F=Us,b+=5):(F=e,M===0&&T(Ks)),F!==e){if(fe=[],oe=Qt(),oe!==e)for(;oe!==e;)fe.push(oe),oe=Qt();else fe=e;fe!==e?(oe=mc(),oe===e&&(oe=null),oe!==e?(R=$,p=It(p,C,fe,oe),$=p):(b=$,$=e)):(b=$,$=e)}else b=$,$=e;else b=$,$=e;else b=$,$=e;else b=$,$=e;else b=$,$=e;else b=$,$=e;else b=$,$=e;return $}function mc(){let $,p,h,d,S;if($=b,p=Ve(),p!==e)if(t.substr(b,7)===Tt?(h=Tt,b+=7):(h=e,M===0&&T(Ft)),h!==e){if(d=[],S=Jt(),S!==e)for(;S!==e;)d.push(S),S=Jt();else d=e;d!==e?(R=$,p=F1(d),$=p):(b=$,$=e)}else b=$,$=e;else b=$,$=e;return $}function Jt(){let $,p,h;return $=b,p=Ve(),p!==e?(h=pc(),h!==e?(R=$,p=_t(h),$=p):(b=$,$=e)):(b=$,$=e),$}function pc(){let $,p;return $=b,Rt.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(qs)),p!==e&&(R=$,p=Pt(p)),$=p,$}function Qt(){let $,p,h;return $=b,p=Ve(),p!==e?(h=uc(),h!==e?(R=$,p=Zs(h),$=p):(b=$,$=e)):(b=$,$=e),$}function uc(){let $,p,h;return $=b,p=B(),p!==e?(h=e1(),h===e&&(h=dc(),h===e&&(h=af())),h!==e?(R=$,p=Zs(h),$=p):(b=$,$=e)):(b=$,$=e),$}function e1(){let $,p;return $=b,Rt.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(qs)),p!==e&&(R=$,p=Pt(p)),$=p,$}function dc(){let $,p;return $=b,t.charCodeAt(b)===48?(p=_1,b++):(p=e,M===0&&T(Dt)),p!==e&&(R=$,p=R1()),$=p,$}function af(){let $;return t.substr(b,2)===Xs?($=Xs,b+=2):($=e,M===0&&T(P1)),$===e&&(Nt.test(t.charAt(b))?($=t.charAt(b),b++):($=e,M===0&&T(D1))),$}function hc(){let $,p,h,d,S,C,E,F;return $=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=B(),h!==e?(d=b,S=jc(),S!==e?d=t.substring(d,b):d=S,d!==e?(S=B(),S!==e?(C=ke(),C===e&&(C=null),C!==e?(E=B(),E!==e?(t.charCodeAt(b)===125?(F=ce,b++):(F=e,M===0&&T(te)),F!==e?(R=$,p=Gt(d,C),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function ke(){let $,p,h,d;return $=b,t.charCodeAt(b)===58?(p=Ge,b++):(p=e,M===0&&T(as)),p!==e?(h=B(),h!==e?(d=lf(),d!==e?(R=$,p=N1(d),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function jc(){let $,p;if($=[],Ys.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(Ot)),p!==e)for(;p!==e;)$.push(p),Ys.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(Ot));else $=e;return $}function lf(){let $,p;for($=[],p=Ts();p!==e;)$.push(p),p=Ts();return $}function Ts(){let $,p,h,d;return Bt.test(t.charAt(b))?($=t.charAt(b),b++):($=e,M===0&&T(G1)),$===e&&($=b,p=He(),p!==e?(h=b,t.charCodeAt(b)===92?(d=cs,b++):(d=e,M===0&&T(ts)),d!==e&&(R=h,d=ks()),h=d,h===e&&(h=b,t.charCodeAt(b)===125?(d=ce,b++):(d=e,M===0&&T(te)),d!==e&&(R=h,d=is()),h=d,h===e&&(h=b,t.charCodeAt(b)===123?(d=ae,b++):(d=e,M===0&&T(re)),d!==e&&(R=h,d=xt()),h=d)),h!==e?(R=$,p=Gs(h),$=p):(b=$,$=e)):(b=$,$=e)),$}function Ve(){let $,p;if(M++,$=[],p=Fs(),p!==e)for(;p!==e;)$.push(p),p=Fs();else $=e;return M--,$===e&&(p=e,M===0&&T(zt)),$}function B(){let $,p;for(M++,$=[],p=Fs();p!==e;)$.push(p),p=Fs();return M--,$===e&&(p=e,M===0&&T(kt)),$}function Fs(){let $;return Vt.test(t.charAt(b))?($=t.charAt(b),b++):($=e,M===0&&T(O1)),$}function be(){let $,p;if(M++,$=[],Ht.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(ls)),p!==e)for(;p!==e;)$.push(p),Ht.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(ls));else $=e;return M--,$===e&&(p=e,M===0&&T(Wt)),$}function We(){let $;return B1.test(t.charAt(b))?($=t.charAt(b),b++):($=e,M===0&&T(Js)),$===e&&($=yc()),$}function yc(){let $,p,h;return $=b,p=xc(),p!==e?(h=nf(),h!==e?(p=[p,h],$=p):(b=$,$=e)):(b=$,$=e),$}function nf(){let $;return t.charCodeAt(b)===10?($=z1,b++):($=e,M===0&&T(Qs)),$}function xc(){let $;return t.charCodeAt(b)===13?($=k1,b++):($=e,M===0&&T(ec)),$}function He(){let $;return t.charCodeAt(b)===92?($=cs,b++):($=e,M===0&&T(ts)),$}function Cc(){let $;return $=gf(),$===e&&($=Mc(),$===e&&($=bf(),$===e&&($=Ec()))),$}function gf(){let $,p,h,d,S,C,E,F;if($=b,p=Sc(),p!==e)if(h=We(),h!==e){for(d=b,S=[],C=b,E=b,M++,F=vc(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);C!==e;)S.push(C),C=b,E=b,M++,F=vc(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);S!==e?d=t.substring(d,b):d=S,d!==e?(S=vc(),S!==e?(R=$,p=ns(p,d,S),$=p):(b=$,$=e)):(b=$,$=e)}else b=$,$=e;else b=$,$=e;return $}function Sc(){let $,p,h,d,S,C,E,F;return $=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=B(),h!==e?(t.substr(b,12)===gs?(d=gs,b+=12):(d=e,M===0&&T(V1)),d!==e?(S=B(),S!==e?(C=ke(),C===e&&(C=null),C!==e?(E=B(),E!==e?(t.charCodeAt(b)===125?(F=ce,b++):(F=e,M===0&&T(te)),F!==e?(R=$,p=Ee(d,C),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function vc(){let $,p,h,d,S,C;return $=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=B(),h!==e?(t.substr(b,10)===Ut?(d=Ut,b+=10):(d=e,M===0&&T(sc)),d!==e?(S=B(),S!==e?(t.charCodeAt(b)===125?(C=ce,b++):(C=e,M===0&&T(te)),C!==e?(R=$,p=$s(d),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function Mc(){let $,p,h,d,S,C,E,F;if($=b,p=$f(),p!==e)if(h=We(),h!==e){for(d=b,S=[],C=b,E=b,M++,F=Ue(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);C!==e;)S.push(C),C=b,E=b,M++,F=Ue(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);S!==e?d=t.substring(d,b):d=S,d!==e?(S=Ue(),S!==e?(R=$,p=ns(p,d,S),$=p):(b=$,$=e)):(b=$,$=e)}else b=$,$=e;else b=$,$=e;return $}function $f(){let $,p,h,d,S,C,E,F;return $=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=B(),h!==e?(t.substr(b,13)===bs?(d=bs,b+=13):(d=e,M===0&&T(W1)),d===e&&(t.substr(b,3)===ms?(d=ms,b+=3):(d=e,M===0&&T(H1))),d!==e?(S=B(),S!==e?(C=ke(),C===e&&(C=null),C!==e?(E=B(),E!==e?(t.charCodeAt(b)===125?(F=ce,b++):(F=e,M===0&&T(te)),F!==e?(R=$,p=Ee(d,C),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function Ue(){let $,p,h,d,S,C;return $=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=B(),h!==e?(t.substr(b,11)===ps?(d=ps,b+=11):(d=e,M===0&&T(U1)),d===e&&(t.substr(b,3)===us?(d=us,b+=3):(d=e,M===0&&T(K1))),d!==e?(S=B(),S!==e?(t.charCodeAt(b)===125?(C=ce,b++):(C=e,M===0&&T(te)),C!==e?(R=$,p=$s(d),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function bf(){let $,p,h,d,S,C,E,F;if($=b,p=Lc(),p!==e)if(h=We(),h!==e){for(d=b,S=[],C=b,E=b,M++,F=wc(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);C!==e;)S.push(C),C=b,E=b,M++,F=wc(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);S!==e?d=t.substring(d,b):d=S,d!==e?(S=wc(),S!==e?(R=$,p=ns(p,d,S),$=p):(b=$,$=e)):(b=$,$=e)}else b=$,$=e;else b=$,$=e;return $}function Lc(){let $,p,h,d,S,C,E,F;return $=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=B(),h!==e?(t.substr(b,11)===ds?(d=ds,b+=11):(d=e,M===0&&T(q1)),d!==e?(S=B(),S!==e?(C=ke(),C===e&&(C=null),C!==e?(E=B(),E!==e?(t.charCodeAt(b)===125?(F=ce,b++):(F=e,M===0&&T(te)),F!==e?(R=$,p=Ee(d,C),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function wc(){let $,p,h,d,S,C;return $=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=B(),h!==e?(t.substr(b,9)===hs?(d=hs,b+=9):(d=e,M===0&&T(Z1)),d!==e?(S=B(),S!==e?(t.charCodeAt(b)===125?(C=ce,b++):(C=e,M===0&&T(te)),C!==e?(R=$,p=$s(d),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function Ec(){let $,p,h,d,S,C,E,F;if($=b,p=mf(),p!==e)if(h=We(),h!==e){for(d=b,S=[],C=b,E=b,M++,F=Ke(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);C!==e;)S.push(C),C=b,E=b,M++,F=Ke(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);S!==e?d=t.substring(d,b):d=S,d!==e?(S=Ke(),S!==e?(R=$,p=ns(p,d,S),$=p):(b=$,$=e)):(b=$,$=e)}else b=$,$=e;else b=$,$=e;return $}function mf(){let $,p,h,d,S,C,E,F;return $=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=B(),h!==e?(t.substr(b,12)===js?(d=js,b+=12):(d=e,M===0&&T(X1)),d===e&&(t.substr(b,3)===ys?(d=ys,b+=3):(d=e,M===0&&T(Y1))),d!==e?(S=B(),S!==e?(C=ke(),C===e&&(C=null),C!==e?(E=B(),E!==e?(t.charCodeAt(b)===125?(F=ce,b++):(F=e,M===0&&T(te)),F!==e?(R=$,p=Ee(d,C),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function Ke(){let $,p,h,d,S,C;return $=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=B(),h!==e?(t.substr(b,10)===xs?(d=xs,b+=10):(d=e,M===0&&T(J1)),d===e&&(t.substr(b,3)===Cs?(d=Cs,b+=3):(d=e,M===0&&T(Q1))),d!==e?(S=B(),S!==e?(t.charCodeAt(b)===125?(C=ce,b++):(C=e,M===0&&T(te)),C!==e?(R=$,p=$s(d),$=p):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e)):(b=$,$=e),$}function Ce(){let $;return t.length>b?($=t.charAt(b),b++):($=e,M===0&&T(cc)),$}if(vs=y(),vs!==e&&b===t.length)return vs;throw vs!==e&&b`${e}: ${r[e]}`).join("; ")}}var o0=fL;class r0{constructor({type:r,items:e}={type:Ps,items:[]}){this.items=[],this.type=Ps,this.currentChordLyricsPair=new se,this.key=null,this.transposeKey=null,this.lineNumber=null,this.textFont=new o0,this.chordFont=new o0,this.type=r,this.items=e}isEmpty(){return this.items.length===0}isNotEmpty(){return!this.isEmpty()}addItem(r){r instanceof U?this.addTag(r):r instanceof se?this.addChordLyricsPair(r):r instanceof bt?this.addComment(r):this.items.push(r)}hasRenderableItems(){return this.items.some(r=>r.isRenderable())}clone(){return this.mapItems(null)}mapItems(r){const e=new r0;return e.items=this.items.map(m=>{const j=m.clone();return r?r(j):j}).filter(m=>m!==null),e.type=this.type,e}isBridge(){return this.type===OM}isChorus(){return this.type===Ns}isGrid(){return this.type===BM}isTab(){return this.type===n0}isVerse(){return this.type===ut}hasContent(){return this.hasRenderableItems()}addChordLyricsPair(r=null,e=null){return r instanceof se?this.currentChordLyricsPair=r:this.currentChordLyricsPair=new se(r||"",e||""),this.items.push(this.currentChordLyricsPair),this.currentChordLyricsPair}ensureChordLyricsPair(){this.currentChordLyricsPair||this.addChordLyricsPair()}chords(r){this.ensureChordLyricsPair(),this.currentChordLyricsPair.chords+=r}lyrics(r){this.ensureChordLyricsPair(),this.currentChordLyricsPair.lyrics+=r}addTag(r,e=null){const m=r instanceof U?r:new U(r,e);return this.items.push(m),m}addComment(r){const e=r instanceof bt?r:new bt(r);return this.items.push(e),e}set(r){return new r0({type:this.type,items:this.items,...r})}get _tag(){if(this.items.length!==1)return null;const r=this.items[0];return r instanceof U?r:null}isSectionStart(){var r;return((r=this._tag)==null?void 0:r.isSectionStart())||!1}isSectionEnd(){var r;return((r=this._tag)==null?void 0:r.isSectionEnd())||!1}}var d0=r0;class $T{addLine(r){this.lines.push(r)}isLiteral(){const{lines:r}=this;return this.isEmpty()?!1:r.every(e=>e.items.every(m=>!!(m instanceof Ds||m instanceof U&&m.isSectionDelimiter())))}get contents(){return this.lines.filter(r=>r.items.every(e=>e instanceof Ds)).map(r=>r.items.map(e=>e.string).join("")).join(` +`)}get label(){if(this.lines.length===0)return null;const r=this.lines[0].items.find(e=>e instanceof U&&e.isSectionDelimiter());return r?r.value:null}get type(){const r=this.lines.map(m=>m.type),e=[...new Set(r)];return e.length===1?e[0]:zM}hasRenderableItems(){return this.lines.some(r=>r.hasRenderableItems())}isEmpty(){return this.lines.length===0}constructor(){this.lines=[]}}var _M=$T;class bT{get key(){return this.getSingleMetadata(n1)}get title(){return this.getSingleMetadata(YM)}get subtitle(){return this.getSingleMetadata(XM)}get capo(){return this.getMetadata(Mm)}get duration(){return this.getSingleMetadata(Fw)}get tempo(){return this.getSingleMetadata(Nw)}get time(){return this.getMetadata(Gw)}get year(){return this.getSingleMetadata(Bw)}get album(){return this.getMetadata(Ew)}get copyright(){return this.getSingleMetadata(Tw)}get lyricist(){return this.getMetadata(Dw)}get artist(){return this.getMetadata(Aw)}get composer(){return this.getMetadata(Iw)}}var Ww=bT;function mT(t,r){t.includes(r)||t.push(r)}class oL extends Ww{constructor(r={}){super(),this.metadata={},r&&this.assign(r)}merge(r){const e=this.clone();return e.assign(r),e}contains(r){return r in this.metadata}add(r,e){if(YL(r))return;if(!(r in this.metadata)){this.metadata[r]=e;return}const m=this.metadata[r];if(m!==e){if(m instanceof Array){mT(m,e);return}this.metadata[r]=[m,e]}}set(r,e){e?this.metadata[r]=e:delete this.metadata[r]}getMetadata(r){return this.get(r)}getSingleMetadata(r){return this.getSingle(r)}get(r){return r===Pw?this.calculateKeyFromCapo():r in this.metadata?this.metadata[r]:this.getArrayItem(r)}getSingle(r){const e=this.get(r);return Array.isArray(e)?e[0]:e}parseArrayKey(r){const e=r.match(/(.+)\.(-?\d+)$/);if(!e)return null;const m=e[1],j=parseInt(e[2],10);return[m,j]}getArrayItem(r){const e=this.parseArrayKey(r);if(e===null)return null;const[m,j]=e,y=this.metadata[m]||[];let w=j;return w<0?w=y.length+w:w>0&&(w-=1),y[w]}clone(){return new oL(this.metadata)}calculateKeyFromCapo(){const r=this.getSingle(Mm),e=this.getSingle(n1);if(r&&e){const m=$e.parse(e);if(!m)throw new Error(`Could not parse ${e}`);const j=parseInt(r,10);return m.transpose(j).normalize().toString()}return null}assign(r){Object.keys(r).filter(e=>!YL(e)).forEach(e=>{const m=r[e];m instanceof Array?this.metadata[e]=[...m]:this.metadata[e]=m})}}var rL=oL;class gt{constructor(r,e){this.fontSize=r,this.unit=e}clone(){return new gt(this.fontSize,this.unit)}multiply(r){return new gt(this.fontSize*r/100,this.unit)}toString(){return`${this.fontSize}${this.unit}`}static parse(r,e){const m=r.trim(),j=parseFloat(m);return Number.isNaN(j)?this.parseNotANumber(e):m.slice(-1)==="%"?this.parsePercentage(j,e):new gt(j,"px")}static parseNotANumber(r){return r?r.clone():new gt(100,"%")}static parsePercentage(r,e){return e?e.multiply(r):new gt(r,"%")}}var pT=gt;class uT{applyTag(r){switch(r.name){case c0:this.textFont.font=this.pushOrPopTag(r);break;case t0:this.textFont.size=this.pushOrPopSizeTag(r);break;case TM:this.textFont.colour=this.pushOrPopTag(r);break;case e0:this.chordFont.font=this.pushOrPopTag(r);break;case s0:this.chordFont.size=this.pushOrPopSizeTag(r);break;case IM:this.chordFont.colour=this.pushOrPopTag(r);break}}pushOrPopTag(r){let{value:e}=r;return r.hasValue()?this.fontAndColourStacks[r.name].push(e):(this.fontAndColourStacks[r.name].pop(),e=this.fontAndColourStacks[r.name].slice(-1)[0]||null),e}pushOrPopSizeTag(r){const{value:e}=r;if(r.hasValue()){const m=this.sizeStacks[r.name].slice(-1)[0]||null,j=pT.parse(e,m);return this.sizeStacks[r.name].push(j),j}return this.sizeStacks[r.name].pop(),this.sizeStacks[r.name].slice(-1)[0]||null}constructor(){this.fontAndColourStacks={[IM]:[],[e0]:[],[TM]:[],[c0]:[]},this.sizeStacks={[s0]:[],[t0]:[]},this.textFont=new o0,this.chordFont=new o0}}var dT=uT;class hT{constructor(r,e,m){this.lineNumber=null,this.column=null,this.message=r,this.lineNumber=e,this.column=m}toString(){return`Warning: ${this.message} on line ${this.lineNumber||"?"} column ${this.column||"?"}`}}var jT=hT;const QL={[qM]:Cw,[m0]:OM,[b1]:Ns,[p0]:BM,[ZM]:xw,[u0]:n0,[wm]:ut},ew={[_w]:Cw,[HM]:OM,[Lm]:Ns,[UM]:BM,[Rw]:xw,[KM]:n0,[b0]:ut};class yT{constructor(r){this.currentKey=null,this.currentLine=null,this.fontStack=new dT,this.lines=[],this.metadata=new rL,this.sectionType=Ps,this.transposeKey=null,this.warnings=[],this.song=r,this.song.lines=this.lines,this.song.metadata=this.metadata,this.song.warnings=this.warnings}get previousLine(){const r=this.lines.length;return r>=2?this.lines[r-2]:null}addLine(r){return r?this.currentLine=r:(this.currentLine=new d0,this.lines.push(this.currentLine)),this.setCurrentProperties(this.sectionType),this.currentLine.transposeKey=this.transposeKey??this.currentKey,this.currentLine.key=this.currentKey||this.metadata.getSingle(n1),this.currentLine.lineNumber=this.lines.length-1,this.currentLine}setCurrentProperties(r){if(!this.currentLine)throw new Error("Expected this.currentLine to be present");this.currentLine.type=r,this.currentLine.textFont=this.fontStack.textFont.clone(),this.currentLine.chordFont=this.fontStack.chordFont.clone()}addItem(r){if(r instanceof U)this.addTag(r);else{if(this.ensureLine(),!this.currentLine)throw new Error("Expected this.currentLine to be present");this.currentLine.addItem(r)}}chords(r){if(!this.currentLine)throw new Error("Expected this.currentLine to be present");this.currentLine.chords(r)}lyrics(r){if(this.ensureLine(),!this.currentLine)throw new Error("Expected this.currentLine to be present");this.currentLine.lyrics(r)}addTag(r){const e=U.parseOrFail(r);return this.applyTagOnSong(e),this.applyTagOnLine(e),e}ensureLine(){this.currentLine===null&&this.addLine()}applyTagOnSong(r){r.isMetaTag()?this.setMetadata(r.name,r.value||""):r.name===LI?this.transposeKey=r.value:r.name===Ow?this.currentKey=r.value:r.isSectionDelimiter()?this.setSectionTypeFromTag(r):r.isInlineFontTag()&&this.fontStack.applyTag(r)}applyTagOnLine(r){if(this.ensureLine(),!this.currentLine)throw new Error("Expected this.currentLine to be present");this.currentLine.addTag(r)}setMetadata(r,e){this.metadata.add(r,e)}setSectionTypeFromTag(r){if(r.name in QL){this.startSection(QL[r.name],r);return}r.name in ew&&this.endSection(ew[r.name],r)}startSection(r,e){this.checkCurrentSectionType(Ps,e),this.sectionType=r,this.setCurrentProperties(r)}endSection(r,e){this.checkCurrentSectionType(r,e),this.sectionType=Ps}checkCurrentSectionType(r,e){this.sectionType!==r&&this.addWarning(`Unexpected tag {${e.originalName}}, current section is: ${this.sectionType}`,e)}addWarning(r,{line:e,column:m}){const j=new jT(r,e||null,m||null);this.warnings.push(j)}}var Sm=yT;class i0 extends Ww{constructor(r={}){super(),this.lines=[],this._bodyLines=null,this._bodyParagraphs=null,this.warnings=[],this.metadata=new rL(r)}get bodyLines(){return this._bodyLines||(this._bodyLines=this.selectRenderableItems(this.lines)),this._bodyLines}get bodyParagraphs(){return this._bodyParagraphs||(this._bodyParagraphs=this.selectRenderableItems(this.paragraphs)),this._bodyParagraphs}selectRenderableItems(r){const e=[...r];for(;e.length&&!e[0].hasRenderableItems();)e.shift();return e}expandLine(r){const e=r.items.flatMap(m=>m instanceof U&&m.name===zw?this.getLastChorusBefore(r.lineNumber):[]);return[r,...e]}getLastChorusBefore(r){const e=[];if(!r)return e;for(let m=r-1;m>=0;m-=1){const j=this.lines[m];if(j.type===Ns){const y=this.filterChorusStartEndDirectives(j);j.isNotEmpty()&&y.isEmpty()||e.unshift(j)}else if(e.length>0)break}return e}filterChorusStartEndDirectives(r){return r.mapItems(e=>e instanceof U&&(e.name===b1||e.name===Lm)?null:e)}get paragraphs(){return this.linesToParagraphs(this.lines)}get expandedBodyParagraphs(){return this.selectRenderableItems(this.linesToParagraphs(this.lines.flatMap(r=>this.expandLine(r))))}linesToParagraphs(r){let e=new _M;const m=[e];return r.forEach((j,y)=>{const w=r[y+1]||null;j.isEmpty()||j.isSectionEnd()&&w&&!w.isEmpty()?(e=new _M,m.push(e)):j.hasRenderableItems()&&e.addLine(j)}),m}clone(){return this.mapItems(r=>r)}setMetadata(r,e){this.metadata.add(r,e)}getMetadata(r){return this.metadata.getMetadata(r)}getSingleMetadata(r){return this.metadata.getSingleMetadata(r)}setKey(r){const e=r?r.toString():null;return this.changeMetadata(n1,e)}setCapo(r){const e=r?r.toString():null;return this.changeMetadata(Mm,e)}setDirective(r,e){return e===null?this.removeItem(m=>m instanceof U&&m.name===r):this.updateItem(m=>m instanceof U&&m.name===r,m=>"set"in m?m.set({value:e}):m,m=>m.insertDirective(r,e))}transpose(r,{normalizeChordSuffix:e=!1}={}){let m=null;return this.mapItems(y=>y instanceof U&&y.name===n1?(m=$e.wrapOrFail(y.value).transpose(r),y.set({value:m.toString()})):y instanceof se?y.transpose(r,m,{normalizeChordSuffix:e}):y)}transposeUp({normalizeChordSuffix:r=!1}={}){return this.transpose(1,{normalizeChordSuffix:r})}transposeDown({normalizeChordSuffix:r=!1}={}){return this.transpose(-1,{normalizeChordSuffix:r})}changeKey(r){const e=this.requireCurrentKey(),m=$e.wrapOrFail(r),j=e.distanceTo(m),y=this.transpose(j);return m.modifier?y.useModifier(m.modifier):y}useModifier(r){return this.mapItems(e=>e instanceof se?e.useModifier(r):e)}requireCurrentKey(){const r=$e.wrap(this.key);if(!r)throw new Error(` +Cannot change song key, the original key is unknown. + +Either ensure a key directive is present in the song (when using chordpro): + \`{key: C}\` + +Or set the song key before changing key: + \`song.setKey('C');\``.substring(1));return r}changeMetadata(r,e){const m=this.setDirective(r,e);return m.metadata.set(r,e),m}insertDirective(r,e,{after:m=null}={}){const j=this.lines.findIndex(G=>G.items.some(I=>!(I instanceof U)||m&&I.name===m)),y=new d0;y.addTag(r,e);const w=this.clone(),{lines:P}=w;return w.lines=[...P.slice(0,j),y,...P.slice(j)],w}addLine(r){this.lines.push(r)}mapItems(r){const e=new i0,m=new Sm(e);return this.lines.forEach(j=>{m.addLine(),j.items.forEach(y=>{const w=r(y);w&&m.addItem(w)})}),e}foreachItem(r){this.lines.forEach(e=>{e.items.forEach(r)})}getChords(){const r=new Set;return this.foreachItem(e=>{if(!(e instanceof se))return;const m=e.chords;m&&m.length>0&&r.add(m)}),Array.from(r)}mapLines(r){const e=new i0,m=new Sm(e);return this.lines.forEach(j=>{const y=r(j);y&&(m.addLine(),y.items.forEach(w=>m.addItem(w)))}),e}updateItem(r,e,m){let j=!1;const y=this.mapItems(w=>r(w)?(j=!0,e(w)):w);return j?y:m(y)}removeItem(r){return this.mapLines(e=>{const{items:m}=e,j=m.findIndex(r);return j===-1?e:m.length===1?null:e.set({items:[...m.slice(0,j),...m.slice(j+1)]})})}}var g1=i0;class xT{constructor(r,e,m,j){this.name=r,this.baseFret=e,this.frets=m,this.fingers=j||[]}}var CT=xT;const sw="chordLyricsPair",cw="chordSheet",tw="comment",fw="line",ow="softLineBreak",rw="tag",iw="ternary";class ST{serialize(r){return{type:cw,lines:r.lines.map(e=>this.serializeLine(e))}}serializeLine(r){return{type:fw,items:r.items.map(e=>this.serializeItem(e))}}serializeItem(r){if(r instanceof U)return this.serializeTag(r);if(r instanceof se)return this.serializeChordLyricsPair(r);if(r instanceof Cm)return this.serializeTernary(r);if(r instanceof Ds)return this.serializeLiteral(r);if(r instanceof bt)return this.serializeComment(r);if(r instanceof f0)return{type:ow};throw new Error(`Don't know how to serialize ${r.constructor.name}`)}serializeChordDefinition(r){return{name:r.name,baseFret:r.baseFret,frets:r.frets,fingers:r.fingers}}serializeTag(r){const e={type:rw,name:r.originalName,value:r.value};return r.chordDefinition&&(e.chordDefinition=this.serializeChordDefinition(r.chordDefinition)),e}serializeChordLyricsPair(r){return{type:sw,chords:r.chords,chord:null,lyrics:r.lyrics,annotation:r.annotation}}serializeTernary(r){return{type:iw,variable:r.variable,valueTest:r.valueTest,trueExpression:this.serializeExpression(r.trueExpression),falseExpression:this.serializeExpression(r.falseExpression)}}serializeLiteral(r){return r.string}serializeExpression(r){return r.map(e=>this.serializeItem(e))}serializeComment(r){return{type:tw,comment:r.content}}deserialize(r){return this.parseAstComponent(r),this.song}parseAstComponent(r){if(typeof r=="string")return new Ds(r);switch(r.type){case cw:this.parseChordSheet(r);break;case sw:return this.parseChordLyricsPair(r);case tw:return this.parseComment(r);case ow:return new f0;case rw:return this.parseTag(r);case iw:return this.parseTernary(r);case fw:this.parseLine(r);break;default:Mw(`Unhandled AST component "${r.type}"`)}return null}parseChordSheet(r){const{lines:e}=r;this.song=new g1,this.songBuilder=new Sm(this.song),e.forEach(m=>this.parseAstComponent(m))}parseLine(r){const{items:e}=r;this.songBuilder.addLine(),e.forEach(m=>{const j=this.parseAstComponent(m);this.songBuilder.addItem(j)})}parseChordLyricsPair(r){const{chord:e,chords:m,lyrics:j,annotation:y}=r;return new se(e?new vm(e).toString():m,j,y)}parseTag(r){const{name:e,value:m,location:{offset:j=null,line:y=null,column:w=null}={},chordDefinition:P}=r,G=new U(e,m,{line:y,column:w,offset:j});return P&&(G.chordDefinition=new CT(P.name,P.baseFret,P.frets,P.fingers)),G}parseComment(r){const{comment:e}=r;return new bt(e)}parseTernary(r){const{variable:e,valueTest:m,trueExpression:j,falseExpression:y,location:{offset:w=null,line:P=null,column:G=null}={}}=r;return new Cm({variable:e,valueTest:m,trueExpression:this.parseExpression(j),falseExpression:this.parseExpression(y),offset:w,line:P,column:G})}parseExpression(r){return(r||[]).map(e=>this.parseAstComponent(e)).filter(e=>e!==null)}constructor(){this.song=new g1,this.songBuilder=new Sm(this.song)}}var iL=ST;class vT{trace(){}}var Hw=vT;class MT{get warnings(){var r;return((r=this.song)==null?void 0:r.warnings)||[]}parse(r,e){const m=gT(VM(r),{tracer:new Hw,...e});return this.song=new iL().deserialize(m),this.song}}var LT=MT;const wM=/\s/,wT=/^\s*((([A-G|Do|Re|Mi|Fa|Sol|La|Si])(#|b)?([^/\s]*)(\/([A-G|Do|Re|Mi|Fa|Sol|La|Si])(#|b)?)?)(\s|$)+)+(\s|$)+/;class ET{constructor({preserveWhitespace:r=!0}={},e=!0){this.processingText=!0,this.preserveWhitespace=!0,this.song=new g1,this.songBuilder=new Sm(this.song),this.songLine=null,this.chordLyricsPair=null,this.lines=[],this.currentLine=0,this.lineCount=0,e&&rI(`ChordSheetParser is deprecated, please use ChordsOverWordsParser. + + ChordsOverWordsParser aims to support any kind of chord, whereas ChordSheetParser lacks + support for many variations. Besides that, some chordpro feature have been ported back + to ChordsOverWordsParser, which adds some interesting functionality.`),this.preserveWhitespace=r}parse(r,{song:e}={}){for(this.initialize(r,e);this.hasNextLine();){const m=this.readLine();this.parseLine(m)}return this.endOfSong(),this.song}endOfSong(){}parseLine(r){this.songLine=this.songBuilder.addLine(),r.trim().length===0?this.chordLyricsPair=null:this.parseNonEmptyLine(r)}parseNonEmptyLine(r){if(!this.songLine)throw new Error("Expected this.songLine to be present");if(this.chordLyricsPair=this.songLine.addChordLyricsPair(),wT.test(r)&&this.hasNextLine()){const e=this.readLine();this.parseLyricsWithChords(r,e)}else this.chordLyricsPair.lyrics=`${r}`}initialize(r,e=null){e&&(this.song=e),this.lines=VM(r).split(` +`),this.currentLine=0,this.lineCount=this.lines.length,this.processingText=!0}readLine(){const r=this.lines[this.currentLine];return this.currentLine+=1,r}hasNextLine(){return this.currentLine0){const[e,...m]=r;return e.evaluate(m)}return""}}var _T=FT;class RT{constructor(r,e){this.condition=!1,this.clauses=[],this.add(r,e)}then(r){return this.add(this.condition,r)}elseWhen(r,e){return this.add(r,e)}else(r){return this.add(!0,r)}add(r,e){return this.condition=!!r,e&&this.clauses.push(new _T(r,e)),this}toString(){const[r,...e]=this.clauses;if(r)return r.evaluate(e);throw new Error("Expected at least one .then() clause")}}var PT=RT;const RM=t=>t instanceof se,aL=t=>t.items.some(r=>r.isRenderable()),Kw=t=>t instanceof U,DT=t=>t instanceof Ds,qw=t=>t.name==="comment";function Zw(t){return t.trim().replace(/(<\/[a-z]+>)\s+(<)/g,"$1$2").replace(/(>)\s+(<\/[a-z]+>)/g,"$1$2").replace(/(\n)\s+/g,"")}const Xw=t=>t.replace(/\n/g,"
");function j0(t,r){return(r.delegates[t.type]||ym)(t.contents)}function $t(t,r){return t.map(r).join("")}function Y(t,r){return new PT(t,r)}const lL=t=>t.items.some(r=>r instanceof se&&!g0(r.lyrics)||r instanceof U&&r.isRenderable()||kM(r)),Yw=t=>{const r=["row"];return aL(t)||r.push("empty-line"),r.join(" ")},Jw=t=>{const r=["paragraph"];return t.type!==zM&&t.type!==Ps&&r.push(t.type),r.join(" ")},Qw=(t,r,e)=>t.evaluate(r,e.get("metadata.separator"));function _e(t){const r=t.toCssString();return r?` style="${r}"`:""}class NT extends $0{format(r){return this.song=r,[this.formatHeader(),this.formatParagraphs()].join("")}formatHeader(){const r=Object.keys(this.song.metadata.metadata).map(e=>`${e}: ${this.song.metadata[e]}`).join(` +`);return r?`${r} + +`:""}formatParagraphs(){const{bodyParagraphs:r,bodyParagraphs:{length:e},metadata:m}=this.song,j=r.map(w=>this.formatParagraph(w,m)),y=j.join(` + +`);return j[e-1].length===0?y.substring(0,y.length-1):y}formatParagraph(r,e){return r.isLiteral()?[r.label,j0(r,this.configuration)].filter(m=>m).join(` +`):r.lines.filter(m=>m.hasRenderableItems()).map(m=>this.formatLine(m,e)).join(` +`)}formatLine(r,e){return[this.formatLineTop(r,e),this.formatLineBottom(r,e)].filter(j=>!g0(j)).map(j=>(j||"").trimRight()).join(` +`)}formatLineTop(r,e){return Sw(r)?this.formatLineWithFormatter(r,this.formatItemTop,e):null}chordLyricsPairLength(r,e){const m=r.annotation||this.renderChord(r,e),{lyrics:j}=r,y=(m||"").length,w=(j||"").length;return y>=w?y+1:Math.max(y,w)}formatItemTop(r,e,m){if(r instanceof U&&r.isRenderable())return r.value||"";if(r instanceof se){const j=r.annotation||this.renderChord(r,m);return Qp(j,this.chordLyricsPairLength(r,m))}return""}renderChord(r,e){return h0(r.chords,e,this.song,{renderKey:this.configuration.key,normalizeChords:this.configuration.normalizeChords})}formatLineBottom(r,e){return lL(r)?this.formatLineWithFormatter(r,this.formatItemBottom,e):null}formatLineWithFormatter(r,e,m){return r.items.map(j=>e.call(this,j,m,r)).join("")}formatItemBottom(r,e,m){return typeof r=="string"?r:r instanceof U&&r.isRenderable()?r.value||"":r instanceof se?this.formatChordLyricsPair(r,m):"evaluate"in r?this.formatEvaluatable(r,e):""}formatEvaluatable(r,e){return r.evaluate(e,this.configuration.get("metadata.separator"))}formatChordLyricsPair(r,e){return Qp(r.lyrics||"",this.chordLyricsPairLength(r,e))}constructor(...r){super(...r),this.song=new g1}}var GT=NT;function OT(t){const r=/(\s+)(\S+)/.exec(t),e=r?r.index+r[1].length:null;return e&&e!==-1?[t.substring(0,e).trim(),t.substring(e)]:[/.+\s+$/.test(t)?`${t.trim()} `:t,null]}function BT(t,r,e){return[...t&&t.length>0?[{type:"line",items:[]}]:[],...r,e].filter(y=>y!==null)}function zT(t){return t.split(/\\\s+/).flatMap((r,e)=>[e===0?null:{type:"softLineBreak"},r.length===0?null:{type:"chordLyricsPair",chords:"",lyrics:r}])}function kT(t){const{type:r,...e}=t;return e}function VT(t,r){return t.map((e,m)=>{const j=t[m+1],y=e.column-1,w=j?j.column-1:r.length,P=r.substring(y,w),[G,I]=OT(P),v=e.type==="chord"?{chord:kT(e)}:{chords:e.value};return I?[{...v,type:"chordLyricsPair",lyrics:`${G} `},...zT(I)].filter(_=>_!==null):{...v,type:"chordLyricsPair",lyrics:G}}).flat()}function WT(t,r){const{content:e}=r,m=t.items,j=VT(m,e),y=m[0];if(y&&y.column>1){const w=y.column;w>0&&j.unshift({type:"chordLyricsPair",chords:"",lyrics:e.substring(0,w-1)})}return{type:"line",items:j}}function HT(t){return{type:"line",items:[{type:"chordLyricsPair",chords:"",lyrics:t}]}}function UT(t){switch(t.type){case"chord":return{type:"chordLyricsPair",chord:t,chords:"",lyrics:null};case"symbol":return{type:"chordLyricsPair",chords:t.value,lyrics:null};default:throw new Error(`Unexpected chordsLine item ${t}`)}}function KT(t){return{type:"line",items:t.items.map(r=>UT(r))}}function qT(t){const{content:r}=t;return r&&r.length>0?HT(r):{type:"line",items:[]}}function ZT(t,r){const{type:e}=t;return e==="lyricsLine"?[qT(t),!1]:e==="chordsLine"?r&&r.type==="lyricsLine"&&r.content&&r.content.length>0?[WT(t,r),!0]:[KT(t),!1]:[t,!1]}function XT(t){const r=[];let e=0;const m=t.length-1;for(;e<=m;){const j=t[e],y=t[e+1],[w,P]=ZT(j,y);r.push(w),e+=P?2:1}return r}function YT(t,r,e){const m=BT(t,r,e);return XT(m)}function EM(t,r,e){return e=e||" ",t.length>r?t:(r-=t.length,e+=e.repeat(r),t+e.slice(0,r))}class l1 extends Error{static buildMessage(r,e){function m(I){return I.charCodeAt(0).toString(16).toUpperCase()}function j(I){return I.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function y(I){return I.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function w(I){switch(I.type){case"literal":return'"'+j(I.text)+'"';case"class":const v=I.parts.map(_=>Array.isArray(_)?y(_[0])+"-"+y(_[1]):y(_));return"["+(I.inverted?"^":"")+v+"]";case"any":return"any character";case"end":return"end of input";case"other":return I.description}}function P(I){const v=I.map(w);let _,K;if(v.sort(),v.length>0){for(_=1,K=1;_ `+w+` +`+G+` | +`+y.line+" | "+I+` +`+G+" | "+EM("",y.column-1," ")+EM("",v-y.column,"^")}else e+=` + at `+w}return e}}function JT(t,r){r=r!==void 0?r:{};const e={},m=r.grammarSource,j={ChordSheet:dL};let y=dL;const w=function(s,u){return{type:"chordSheet",lines:[...s,...u]}},P=function(s,u,x){return YT(s,u,x)},G=function(s){return s},I=function(s){return s},v=function(s){return{type:"chordsLine",items:s}},_=function(s){return s},K=/^[\-\/x|]/,me=we(["-","/","x","|"],!1,!1),q=function(s){return{type:"symbol",value:s,column:pL().start.column}},V=function(s){return{type:"lyricsLine",content:s}},je=function(s){return s},De=function(s){return{type:"line",items:[{type:"tag",name:"comment",value:s}]}},H="verse",ue=n("verse",!0),ye="chorus",pe=n("chorus",!0),ve="bridge",dt=n("bridge",!0),ht="tag",m1=n("tag",!0),p1="interlude",u1=n("interlude",!0),cs="instrumental",ts=n("instrumental",!0),d1="intro",h1=n("intro",!0),Gs=/^[^\n\r]/,jt=we([` +`,"\r"],!0,!1),j1=function(s,u){return[...s,u].filter(x=>x).map(([x,A])=>({type:"line",items:[{type:"tag",name:x,value:A}]}))},ce=function(s,u){return{type:"line",items:[{type:"tag",name:s,value:u}]}},te=function(s){return s},y1="{",x1=n("{",!1),C1="}",S1=n("}",!1),fs=function(s){return s},os=function(s,u){return[s,u]},v1=":",M1=n(":",!1),Os=/^[a-zA-Z0-9\-_]/,rs=we([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),Bs=/^[^\n\r}]/,zs=we([` +`,"\r","}"],!0,!1),is="---",L1=n("---",!1),yt=lE("whitespace"),ks=/^[ \t]/,Vs=we([" "," "],!1,!1),ae=/^[\n\r]/,re=we([` +`,"\r"],!1,!1),xt=` +`,Ct=n(` +`,!1),w1="\r",St=n("\r",!1),E1=function(s){return{type:"chord",...s,column:pL().start.column}},vt=/^[#b]/,A1=we(["#","b"],!1,!1),Mt=function(s,u,x,A){return{base:s,modifier:u,suffix:x,...A,chordType:"symbol"}},Lt=function(s){return{base:null,modifier:null,suffix:null,...s,chordType:"symbol"}},wt=/^[A-Ga-g]/,Et=we([["A","G"],["a","g"]],!1,!1),Ne="/",Ge=n("/",!1),as=function(s,u){return{bassBase:s,bassModifier:u}},I1=function(s,u,x,A){return{base:s,modifier:u,suffix:x,...A,chordType:"solfege"}},Ws=function(s){return{base:null,modifier:null,suffix:null,...s,chordType:"solfege"}},At="do",Hs=n("Do",!0),T1="re",Us=n("Re",!0),Ks="mi",It=n("Mi",!0),Tt="fa",Ft=n("Fa",!0),F1="sol",_t=n("Sol",!0),Rt="la",qs=n("La",!0),Pt="si",Zs=n("Si",!0),_1=function(s,u,x,A){return{base:u,modifier:s,suffix:x,...A,chordType:"numeral"}},Dt=function(s){return{base:null,modifier:null,suffix:null,...s,chordType:"numeral"}},R1="iii",Xs=n("III",!0),P1="vii",Nt=n("VII",!0),D1="ii",Gt=n("II",!0),N1="iv",Ys=n("IV",!0),Ot="vi",Bt=n("VI",!0),G1=/^[IV]/i,zt=we(["I","V"],!1,!0),kt=function(s,u){return{bassBase:u,bassModifier:s}},Vt=function(s,u,x,A){return{base:u,modifier:s,suffix:x,...A,chordType:"numeric"}},O1=function(s){return{base:null,modifier:null,suffix:null,...s,chordType:"numeric"}},Wt=/^[1-7]/,Ht=we([["1","7"]],!1,!1),ls="2(#4)(#42)(2#4)",B1=n("2(#4)(#42)(2#4)",!1),Js="maj13(+11+5)",z1=n("maj13(+11+5)",!1),Qs="maj13(#11#5)",k1=n("maj13(#11#5)",!1),ec="ma13(#11#5)",ns=n("ma13(#11#5)",!1),gs="ma13(+11+5)",V1=n("ma13(+11+5)",!1),Ee="maj13(+9+5)",Ut=n("maj13(+9+5)",!1),sc="maj13(#9#5)",$s=n("maj13(#9#5)",!1),bs="maj13(-9+5)",W1=n("maj13(-9+5)",!1),ms="maj13(b9#5)",H1=n("maj13(b9#5)",!1),ps="maj9(+11+5)",U1=n("maj9(+11+5)",!1),us="maj9(#11#5)",K1=n("maj9(#11#5)",!1),ds="maj9(-13+5)",q1=n("maj9(-13+5)",!1),hs="maj9(b13#5)",Z1=n("maj9(b13#5)",!1),js="m11(#9b13)",X1=n("m11(#9b13)",!1),ys="m11(+9-13)",Y1=n("m11(+9-13)",!1),xs="-11(#9b13)",J1=n("-11(#9b13)",!1),Cs="-11(+9-13)",Q1=n("-11(+9-13)",!1),cc="m11(b13#5)",b=n("m11(b13#5)",!1),R="m11(#5b13)",Ss=n("m11(#5b13)",!1),le="m11(+5-13)",tc=n("m11(+5-13)",!1),M="-11(#5b13)",vs=n("-11(#5b13)",!1),fc="-11(+5-13)",Ae=n("-11(+5-13)",!1),z="m11(b5b13)",ne=n("m11(b5b13)",!1),oc="m11(-5-13)",ef=n("m11(-5-13)",!1),Oe="-11(b5b13)",Kt=n("-11(b5b13)",!1),Be="-11(-5-13)",T=n("-11(-5-13)",!1),rc="m11(b9b13)",qt=n("m11(b9b13)",!1),Ms="m11(-9-13)",Zt=n("m11(-9-13)",!1),ic="-11(b9b13)",Xt=n("-11(b9b13)",!1),ac="-11(-9-13)",sf=n("-11(-9-13)",!1),lc="maj11(-13)",Ls=n("maj11(-13)",!1),ws="maj11(b13)",cf=n("maj11(b13)",!1),Es="maj13(+11)",As=n("maj13(+11)",!1),ze="maj13(#11)",tf=n("maj13(#11)",!1),nc="maj13#11#5",ff=n("maj13#11#5",!1),gc="maj13+11+5",of=n("maj13+11+5",!1),Is="+13(#11#5)",$c=n("+13(#11#5)",!1),xe="+13(+11+5)",Yt=n("+13(+11+5)",!1),bc="ma13(#9#5)",rf=n("ma13(#9#5)",!1),mc="ma13(+9+5)",Jt=n("ma13(+9+5)",!1),pc="ma13(b9#5)",Qt=n("ma13(b9#5)",!1),uc="ma13(-9+5)",e1=n("ma13(-9+5)",!1),dc="(triangle)",af=n("(triangle)",!1),hc="ma9(#11#5)",ke=n("ma9(#11#5)",!1),jc="ma9(+11+5)",lf=n("ma9(+11+5)",!1),Ts="ma9(b13#5)",Ve=n("ma9(b13#5)",!1),B="ma9(-13+5)",Fs=n("ma9(-13+5)",!1),be="add9(no3)",We=n("add9(no3)",!1),yc="min(maj7)",nf=n("min(maj7)",!1),xc="min(maj9)",He=n("min(maj9)",!1),Cc="m11(#9#5)",gf=n("m11(#9#5)",!1),Sc="m11(#5#9)",vc=n("m11(#5#9)",!1),Mc="m11(+5+9)",$f=n("m11(+5+9)",!1),Ue="-11(#5#9)",bf=n("-11(#5#9)",!1),Lc="-11(+5+9)",wc=n("-11(+5+9)",!1),Ec="m11(b5#9)",mf=n("m11(b5#9)",!1),Ke="m11(-5+9)",Ce=n("m11(-5+9)",!1),$="-11(b5#9)",p=n("-11(b5#9)",!1),h="-11(-5+9)",d=n("-11(-5+9)",!1),S="m11(b5b9)",C=n("m11(b5b9)",!1),E="m11(-5-9)",F=n("m11(-5-9)",!1),fe="-11(b5b9)",oe=n("-11(b5b9)",!1),pf="-11(-5-9)",x0=n("-11(-5-9)",!1),uf="m11(b9#5)",C0=n("m11(b9#5)",!1),df="m11(#5b9)",S0=n("m11(#5b9)",!1),hf="m11(+5-9)",v0=n("m11(+5-9)",!1),jf="-11(#5b9)",M0=n("-11(#5b9)",!1),yf="-11(+5-9)",L0=n("-11(+5-9)",!1),xf="m7(add11)",w0=n("m7(add11)",!1),Cf="min7(no3)",E0=n("min7(no3)",!1),Sf="maj11(+5)",A0=n("maj11(+5)",!1),vf="maj11(#5)",I0=n("maj11(#5)",!1),Mf="maj11(+9)",T0=n("maj11(+9)",!1),Lf="maj11(#9)",F0=n("maj11(#9)",!1),wf="ma11(b13)",_0=n("ma11(b13)",!1),Ef="ma11(-13)",R0=n("ma11(-13)",!1),Af="maj11(-5)",P0=n("maj11(-5)",!1),If="maj11(b5)",D0=n("maj11(b5)",!1),Tf="maj11(-9)",N0=n("maj11(-9)",!1),Ff="maj11(b9)",G0=n("maj11(b9)",!1),_f="ma13(#11)",O0=n("ma13(#11)",!1),Rf="ma13(+11)",B0=n("ma13(+11)",!1),Pf="ma13+11+5",z0=n("ma13+11+5",!1),Df="maj13(+5)",k0=n("maj13(+5)",!1),Nf="maj13(#5)",V0=n("maj13(#5)",!1),Gf="maj13(+9)",W0=n("maj13(+9)",!1),Of="maj13(#9)",H0=n("maj13(#9)",!1),Bf="maj13#9#5",U0=n("maj13#9#5",!1),zf="maj13+9+5",K0=n("maj13+9+5",!1),kf="+13(#9#5)",q0=n("+13(#9#5)",!1),Vf="M13(+9+5)",Z0=n("M13(+9+5)",!1),Wf="maj13(-5)",X0=n("maj13(-5)",!1),Hf="maj13(b5)",Y0=n("maj13(b5)",!1),Uf="maj13(-9)",J0=n("maj13(-9)",!1),Kf="maj13(b9)",Q0=n("maj13(b9)",!1),qf="maj13b9#5",eu=n("maj13b9#5",!1),Zf="maj13-9+5",su=n("maj13-9+5",!1),Xf="+13(b9#5)",cu=n("+13(b9#5)",!1),Yf="+13(-9+5)",tu=n("+13(-9+5)",!1),Jf="maj7(+11)",fu=n("maj7(+11)",!1),Qf="maj7(#11)",ou=n("maj7(#11)",!1),eo="aug(maj7)",ru=n("aug(maj7)",!1),so="maj7(-13)",iu=n("maj7(-13)",!1),co="maj7(b13)",au=n("maj7(b13)",!1),to="maj9(+11)",lu=n("maj9(+11)",!1),fo="maj9(#11)",nu=n("maj9(#11)",!1),oo="maj9#11#5",gu=n("maj9#11#5",!1),ro="maj9+11+5",$u=n("maj9+11+5",!1),io="+9(#11#5)",bu=n("+9(#11#5)",!1),ao="+9(+11+5)",mu=n("+9(+11+5)",!1),lo="maj9(-13)",pu=n("maj9(-13)",!1),no="maj9(b13)",uu=n("maj9(b13)",!1),go="maj9b13#5",du=n("maj9b13#5",!1),$o="maj9-13+5",hu=n("maj9-13+5",!1),bo="+9(b13#5)",ju=n("+9(b13#5)",!1),mo="+9(-13+5)",yu=n("+9(-13+5)",!1),po="13(#9#5)",xu=n("13(#9#5)",!1),uo="13(+9+5)",Cu=n("13(+9+5)",!1),ho="13(#9b5)",Su=n("13(#9b5)",!1),jo="13(+9-5)",vu=n("13(+9-5)",!1),yo="13(add2)",Mu=n("13(add2)",!1),xo="13(add4)",Lu=n("13(add4)",!1),Co="13(b9#5)",wu=n("13(b9#5)",!1),So="13(-9+5)",Eu=n("13(-9+5)",!1),vo="13(b9b5)",Au=n("13(b9b5)",!1),Mo="13(-9-5)",Iu=n("13(-9-5)",!1),Lo="7(#5#11)",Tu=n("7(#5#11)",!1),wo="7(+5+11)",Fu=n("7(+5+11)",!1),Eo="7(#9b13)",_u=n("7(#9b13)",!1),Ao="7(+9-13)",Ru=n("7(+9-13)",!1),Io="7(b13#9)",Pu=n("7(b13#9)",!1),To="7(-13+9)",Du=n("7(-13+9)",!1),Fo="7(b5#11)",Nu=n("7(b5#11)",!1),_o="7(-5+11)",Gu=n("7(-5+11)",!1),Ro="7(b9b13)",Ou=n("7(b9b13)",!1),Po="7(-9-13)",Bu=n("7(-9-13)",!1),Do="7(b13b9)",zu=n("7(b13b9)",!1),No="7(-13-9)",ku=n("7(-13-9)",!1),Go="7sus(b9)",Vu=n("7sus(b9)",!1),Oo="b69(#11)",Wu=n("b69(#11)",!1),Bo="m(add11)",Hu=n("m(add11)",!1),zo="mi(maj7)",Uu=n("mi(maj7)",!1),ko="mi(maj9)",Ku=n("mi(maj9)",!1),Vo="m11#9b13",qu=n("m11#9b13",!1),Ac="m11+9-13",Em=n("m11+9-13",!1),Wo="-11#9b13",Zu=n("-11#9b13",!1),Ho="-11+9-13",Xu=n("-11+9-13",!1),Uo="m11(b13)",Yu=n("m11(b13)",!1),Ko="m11(-13)",Ju=n("m11(-13)",!1),qo="-11(b13)",Qu=n("-11(b13)",!1),Zo="-11(-13)",e6=n("-11(-13)",!1),Xo="m11#5b13",s6=n("m11#5b13",!1),Yo="m11+5-13",c6=n("m11+5-13",!1),Jo="-11#5b13",t6=n("-11#5b13",!1),Qo="-11+5-13",f6=n("-11+5-13",!1),er="m11b5b13",o6=n("m11b5b13",!1),sr="m11-5-13",r6=n("m11-5-13",!1),cr="-11b5b13",i6=n("-11b5b13",!1),tr="-11-5-13",a6=n("-11-5-13",!1),fr="m11b9b13",l6=n("m11b9b13",!1),or="m11-9-13",n6=n("m11-9-13",!1),rr="-11b9b13",g6=n("-11b9b13",!1),ir="-11-9-13",$6=n("-11-9-13",!1),ar="m13(#11)",b6=n("m13(#11)",!1),Ic="m13(+11)",Am=n("m13(+11)",!1),lr="-13(#11)",m6=n("-13(#11)",!1),nr="-13(+11)",p6=n("-13(+11)",!1),gr="-13(b13)",u6=n("-13(b13)",!1),$r="-13(-13)",d6=n("-13(-13)",!1),br="m6(add9)",h6=n("m6(add9)",!1),mr="m7(add4)",j6=n("m7(add4)",!1),Tc="m7(add6)",Im=n("m7(add6)",!1),pr="m9(maj7)",y6=n("m9(maj7)",!1),ur="ma11(#5)",x6=n("ma11(#5)",!1),dr="ma11(+5)",C6=n("ma11(+5)",!1),hr="ma11(#9)",S6=n("ma11(#9)",!1),jr="ma11(+9)",v6=n("ma11(+9)",!1),yr="maj11b13",M6=n("maj11b13",!1),xr="maj11-13",L6=n("maj11-13",!1),Cr="+11(b13)",w6=n("+11(b13)",!1),Sr="+11(-13)",E6=n("+11(-13)",!1),vr="ma11(b5)",A6=n("ma11(b5)",!1),Mr="ma11(-5)",I6=n("ma11(-5)",!1),Lr="ma11(b9)",T6=n("ma11(b9)",!1),wr="ma11(-9)",F6=n("ma11(-9)",!1),Er="maj13#11",_6=n("maj13#11",!1),Ar="maj13+11",R6=n("maj13+11",!1),Ir="+13(#11)",P6=n("+13(#11)",!1),Tr="+13(+11)",D6=n("+13(+11)",!1),Fr="+13#11#5",N6=n("+13#11#5",!1),_r="M13+11+5",G6=n("M13+11+5",!1),Fc="ma7#11#5",Tm=n("ma7#11#5",!1),Rr="ma13(#5)",O6=n("ma13(#5)",!1),Pr="ma13(+5)",B6=n("ma13(+5)",!1),Dr="ma13(#9)",z6=n("ma13(#9)",!1),Nr="ma13(+9)",k6=n("ma13(+9)",!1),Gr="ma13+9+5",V6=n("ma13+9+5",!1),Or="ma13(b5)",W6=n("ma13(b5)",!1),Br="ma13(-5)",H6=n("ma13(-5)",!1),zr="ma13(b9)",U6=n("ma13(b9)",!1),kr="ma13(-9)",K6=n("ma13(-9)",!1),Vr="ma13-9+5",q6=n("ma13-9+5",!1),Wr="ma7(#11)",Z6=n("ma7(#11)",!1),Hr="ma7(+11)",X6=n("ma7(+11)",!1),Ur="maj7(+5)",Y6=n("maj7(+5)",!1),Kr="maj7(#5)",J6=n("maj7(#5)",!1),qr="aug(ma7)",Q6=n("aug(ma7)",!1),Zr="maj7(+9)",e4=n("maj7(+9)",!1),Xr="maj7(#9)",s4=n("maj7(#9)",!1),Yr="ma7(b13)",c4=n("ma7(b13)",!1),Jr="ma7(-13)",t4=n("ma7(-13)",!1),Qr="maj7(-5)",f4=n("maj7(-5)",!1),ei="maj7(b5)",o4=n("maj7(b5)",!1),si="maj7(-9)",r4=n("maj7(-9)",!1),ci="maj7(b9)",i4=n("maj7(b9)",!1),ti="ma7(no3)",a4=n("ma7(no3)",!1),fi="ma9(#11)",l4=n("ma9(#11)",!1),oi="ma9(+11)",n4=n("ma9(+11)",!1),ri="ma9+11+5",g4=n("ma9+11+5",!1),ii="maj9(+5)",$4=n("maj9(+5)",!1),ai="maj9(#5)",b4=n("maj9(#5)",!1),li="ma9(b13)",m4=n("ma9(b13)",!1),ni="ma9(-13)",p4=n("ma9(-13)",!1),gi="ma7b13#5",u4=n("ma7b13#5",!1),$i="ma9-13+5",d4=n("ma9-13+5",!1),bi="maj9(-5)",h4=n("maj9(-5)",!1),mi="maj9(b5)",j4=n("maj9(b5)",!1),pi="sus(no5)",y4=n("sus(no5)",!1),ui="(add11)",x4=n("(add11)",!1),di="(add13)",C4=n("(add13)",!1),hi="[blank]",S4=n("[blank]",!1),ji="11(b13)",v4=n("11(b13)",!1),yi="11(-13)",M4=n("11(-13)",!1),xi="m11sus4",L4=n("m11sus4",!1),Ci="13(#11)",w4=n("13(#11)",!1),Si="13(+11)",E4=n("13(+11)",!1),vi="m13sus4",A4=n("m13sus4",!1),Mi="sus2(4)",I4=n("sus2(4)",!1),Li="6(add9)",T4=n("6(add9)",!1),wi="7(#9#5)",F4=n("7(#9#5)",!1),Ei="7(#5#9)",_4=n("7(#5#9)",!1),Ai="7(+5+9)",R4=n("7(+5+9)",!1),Ii="7(#9b5)",P4=n("7(#9b5)",!1),Ti="7(b5#9)",D4=n("7(b5#9)",!1),Fi="7(-5+9)",N4=n("7(-5+9)",!1),_i="7(b5b9)",G4=n("7(b5b9)",!1),Ri="7(-5-9)",O4=n("7(-5-9)",!1),Pi="7(b9#5)",B4=n("7(b9#5)",!1),Di="7(#5b9)",z4=n("7(#5b9)",!1),Ni="7(+5-9)",k4=n("7(+5-9)",!1),Gi="7(b9b5)",V4=n("7(b9b5)",!1),Oi="7b9sus4",W4=n("7b9sus4",!1),Bi="7sus(6)",H4=n("7sus(6)",!1),_c="m(add4)",Fm=n("m(add4)",!1),zi="m(add9)",U4=n("m(add9)",!1),ki="m(maj7)",K4=n("m(maj7)",!1),Vi="m(maj9)",q4=n("m(maj9)",!1),Wi="m11(#5)",Z4=n("m11(#5)",!1),Hi="m11(+5)",X4=n("m11(+5)",!1),Ui="-11(#5)",Y4=n("-11(#5)",!1),Ki="-11(+5)",J4=n("-11(+5)",!1),qi="m11(#9)",Q4=n("m11(#9)",!1),Zi="m11(+9)",e2=n("m11(+9)",!1),Xi="-11(#9)",s2=n("-11(#9)",!1),Yi="-11(+9)",c2=n("-11(+9)",!1),Ji="m11#5#9",t2=n("m11#5#9",!1),Qi="m11+5+9",f2=n("m11+5+9",!1),ea="-11#5#9",o2=n("-11#5#9",!1),sa="m11(b5)",r2=n("m11(b5)",!1),ca="m11(-5)",i2=n("m11(-5)",!1),ta="-11(b5)",a2=n("-11(b5)",!1),fa="-11(-5)",l2=n("-11(-5)",!1),oa="m11b5#9",n2=n("m11b5#9",!1),ra="m11-5+9",g2=n("m11-5+9",!1),ia="-11b5#9",$2=n("-11b5#9",!1),aa="-11-5+9",b2=n("-11-5+9",!1),la="m11b5b9",m2=n("m11b5b9",!1),na="m11-5-9",p2=n("m11-5-9",!1),ga="-11b5b9",u2=n("-11b5b9",!1),$a="-11-5-9",d2=n("-11-5-9",!1),Rc="m11(b9)",_m=n("m11(b9)",!1),ba="m11(-9)",h2=n("m11(-9)",!1),ma="-11(b9)",j2=n("-11(b9)",!1),pa="-11(-9)",y2=n("-11(-9)",!1),Pc="m11#5b9",Rm=n("m11#5b9",!1),ua="m11+5-9",x2=n("m11+5-9",!1),da="-11#5b9",C2=n("-11#5b9",!1),ha="m13(#5)",S2=n("m13(#5)",!1),ja="m13(+5)",v2=n("m13(+5)",!1),ya="-13(#5)",M2=n("-13(#5)",!1),xa="-13(+5)",L2=n("-13(+5)",!1),Ca="m13(#9)",w2=n("m13(#9)",!1),Sa="m13(+9)",E2=n("m13(+9)",!1),va="-13(#9)",A2=n("-13(#9)",!1),Ma="-13(+9)",I2=n("-13(+9)",!1),La="m13(b5)",T2=n("m13(b5)",!1),wa="m13(-5)",F2=n("m13(-5)",!1),Ea="-13(b5)",_2=n("-13(b5)",!1),Aa="-13(-5)",R2=n("-13(-5)",!1),Ia="m13(b9)",P2=n("m13(b9)",!1),Ta="m13(-9)",D2=n("m13(-9)",!1),Fa="m(add2)",N2=n("m(add2)",!1),_a="m6(ma7)",G2=n("m6(ma7)",!1),Ra="m7(#11)",O2=n("m7(#11)",!1),Pa="m7(+11)",B2=n("m7(+11)",!1),Da="-7(#11)",z2=n("-7(#11)",!1),Na="-7(+11)",k2=n("-7(+11)",!1),Ga="m7(b13)",V2=n("m7(b13)",!1),Oa="m7(-13)",W2=n("m7(-13)",!1),Ba="-7(b13)",H2=n("-7(b13)",!1),za="-7(-13)",U2=n("-7(-13)",!1),Dc="m7(no3)",Pm=n("m7(no3)",!1),ka="m9(#11)",K2=n("m9(#11)",!1),Va="m9(+11)",q2=n("m9(+11)",!1),Wa="-9(#11)",Z2=n("-9(#11)",!1),Ha="-9(+11)",X2=n("-9(+11)",!1),Ua="m9(b13)",Y2=n("m9(b13)",!1),Ka="m9(-13)",J2=n("m9(-13)",!1),qa="-9(b13)",Q2=n("-9(b13)",!1),Za="-9(-13)",ed=n("-9(-13)",!1),Xa="m9(ma7)",sd=n("m9(ma7)",!1),Ya="maj9b11",cd=n("maj9b11",!1),Ja="maj11#5",td=n("maj11#5",!1),Qa="maj11+5",fd=n("maj11+5",!1),el="+11(#5)",od=n("+11(#5)",!1),sl="+11(+5)",rd=n("+11(+5)",!1),cl="maj11#9",id=n("maj11#9",!1),tl="maj11+9",ad=n("maj11+9",!1),fl="+11(#9)",ld=n("+11(#9)",!1),ol="+11(+9)",nd=n("+11(+9)",!1),rl="ma11b13",gd=n("ma11b13",!1),il="ma11-13",$d=n("ma11-13",!1),al="maj11b5",bd=n("maj11b5",!1),ll="maj11-5",md=n("maj11-5",!1),nl="+11(b5)",pd=n("+11(b5)",!1),gl="+11(-5)",ud=n("+11(-5)",!1),$l="maj11b9",dd=n("maj11b9",!1),bl="maj11-9",hd=n("maj11-9",!1),ml="+11(b9)",jd=n("+11(b9)",!1),pl="M11(-9)",yd=n("M11(-9)",!1),ul="ma13+11",xd=n("ma13+11",!1),dl="maj13#5",Cd=n("maj13#5",!1),hl="maj13+5",Sd=n("maj13+5",!1),jl="+13(#5)",vd=n("+13(#5)",!1),yl="+13(+5)",Md=n("+13(+5)",!1),xl="maj13#9",Ld=n("maj13#9",!1),Cl="maj13+9",wd=n("maj13+9",!1),Sl="+13(#9)",Ed=n("+13(#9)",!1),vl="M13(+9)",Ad=n("M13(+9)",!1),Ml="+13#9#5",Id=n("+13#9#5",!1),Ll="+13+9+5",Td=n("+13+9+5",!1),wl="ma7#9#5",Fd=n("ma7#9#5",!1),El="maj13b5",_d=n("maj13b5",!1),Al="maj13-5",Rd=n("maj13-5",!1),Il="+13(b5)",Pd=n("+13(b5)",!1),Tl="+13(-5)",Dd=n("+13(-5)",!1),Fl="maj13b9",Nd=n("maj13b9",!1),_l="maj13-9",Gd=n("maj13-9",!1),Rl="+13(b9)",Od=n("+13(b9)",!1),Pl="+13(-9)",Bd=n("+13(-9)",!1),Dl="+13b9#5",zd=n("+13b9#5",!1),Nl="M13-9+5",kd=n("M13-9+5",!1),Gl="ma7b9#5",Vd=n("ma7b9#5",!1),Ol="maj7#11",Wd=n("maj7#11",!1),Bl="maj7+11",Hd=n("maj7+11",!1),zl="+7(#11)",Ud=n("+7(#11)",!1),kl="+7(+11)",Kd=n("+7(+11)",!1),Vl="ma7(#4)",qd=n("ma7(#4)",!1),Wl="ma7(#5)",Zd=n("ma7(#5)",!1),Hl="ma7(+5)",Xd=n("ma7(+5)",!1),Ul="aug(M7)",Yd=n("aug(M7)",!1),Kl="aug(+7)",Jd=n("aug(+7)",!1),ql="ma7(#9)",Qd=n("ma7(#9)",!1),Zl="ma7(+9)",e8=n("ma7(+9)",!1),Xl="maj7b13",s8=n("maj7b13",!1),Yl="maj7-13",c8=n("maj7-13",!1),Jl="+7(b13)",t8=n("+7(b13)",!1),Ql="+7(-13)",f8=n("+7(-13)",!1),en="ma7(b5)",o8=n("ma7(b5)",!1),sn="ma7(-5)",r8=n("ma7(-5)",!1),cn="ma7(b9)",i8=n("ma7(b9)",!1),tn="ma7(-9)",a8=n("ma7(-9)",!1),fn="maj9#11",l8=n("maj9#11",!1),on="maj9+11",n8=n("maj9+11",!1),rn="+9(#11)",g8=n("+9(#11)",!1),an="+9(+11)",$8=n("+9(+11)",!1),ln="+9#11#5",b8=n("+9#11#5",!1),nn="M9+11+5",m8=n("M9+11+5",!1),gn="ma9(#4)",p8=n("ma9(#4)",!1),$n="ma9(#5)",u8=n("ma9(#5)",!1),bn="ma9(+5)",d8=n("ma9(+5)",!1),mn="ma9(13)",h8=n("ma9(13)",!1),pn="maj9b13",j8=n("maj9b13",!1),un="maj9-13",y8=n("maj9-13",!1),dn="+9(b13)",x8=n("+9(b13)",!1),hn="+9(-13)",C8=n("+9(-13)",!1),jn="+9b13#5",S8=n("+9b13#5",!1),yn="M9-13+5",v8=n("M9-13+5",!1),xn="ma9(b5)",M8=n("ma9(b5)",!1),Cn="ma9(-5)",L8=n("ma9(-5)",!1),Sn="(add2)",w8=n("(add2)",!1),vn="(add4)",E8=n("(add4)",!1),Mn="sus(4)",A8=n("sus(4)",!1),Ln="(add6)",I8=n("(add6)",!1),wn="(add9)",T8=n("(add9)",!1),En="(unis)",F8=n("(unis)",!1),An="11(#5)",_8=n("11(#5)",!1),In="11(+5)",R8=n("11(+5)",!1),Tn="11(#9)",P8=n("11(#9)",!1),Fn="11(+9)",D8=n("11(+9)",!1),_n="11(b5)",N8=n("11(b5)",!1),Rn="11(-5)",G8=n("11(-5)",!1),Pn="11(b9)",O8=n("11(b9)",!1),Dn="11(-9)",B8=n("11(-9)",!1),Nn="11sus4",z8=n("11sus4",!1),Gn="m11sus",k8=n("m11sus",!1),On="13(#5)",V8=n("13(#5)",!1),Bn="13(+5)",W8=n("13(+5)",!1),zn="13(#9)",H8=n("13(#9)",!1),kn="13(+9)",U8=n("13(+9)",!1),Nc="13#9#5",Dm=n("13#9#5",!1),Vn="13+9+5",K8=n("13+9+5",!1),Wn="13#9b5",q8=n("13#9b5",!1),Hn="13+9-5",Z8=n("13+9-5",!1),Un="13(b5)",X8=n("13(b5)",!1),Kn="13(-5)",Y8=n("13(-5)",!1),qn="13(b9)",J8=n("13(b9)",!1),Zn="13(-9)",Q8=n("13(-9)",!1),Xn="13b9#5",eh=n("13b9#5",!1),Yn="13-9+5",sh=n("13-9+5",!1),Jn="13b9b5",ch=n("13b9b5",!1),Qn="13-9-5",th=n("13-9-5",!1),eg="13sus4",fh=n("13sus4",!1),sg="m13sus",oh=n("m13sus",!1),cg="2(#11)",rh=n("2(#11)",!1),tg="2(ma7)",ih=n("2(ma7)",!1),fg="2(no3)",ah=n("2(no3)",!1),og="5(no3)",lh=n("5(no3)",!1),rg="6(no3)",nh=n("6(no3)",!1),ig="7(#11)",gh=n("7(#11)",!1),ag="7(+11)",$h=n("7(+11)",!1),lg="7#5#11",bh=n("7#5#11",!1),ng="7+5+11",mh=n("7+5+11",!1),gg="7#9b13",ph=n("7#9b13",!1),$g="7+9-13",uh=n("7+9-13",!1),bg="7b13#9",dh=n("7b13#9",!1),mg="7-13+9",hh=n("7-13+9",!1),Gc="7(b13)",Nm=n("7(b13)",!1),pg="7(-13)",jh=n("7(-13)",!1),ug="7b5#11",yh=n("7b5#11",!1),dg="7-5+11",xh=n("7-5+11",!1),hg="7b9b13",Ch=n("7b9b13",!1),jg="7-9-13",Sh=n("7-9-13",!1),yg="7b13b9",vh=n("7b13b9",!1),xg="7-13-9",Mh=n("7-13-9",!1),Cg="7(no3)",Lh=n("7(no3)",!1),Sg="9(#11)",wh=n("9(#11)",!1),vg="9(+11)",Eh=n("9(+11)",!1),Mg="9(b13)",Ah=n("9(b13)",!1),Lg="9(-13)",Ih=n("9(-13)",!1),wg="m9sus4",Th=n("m9sus4",!1),Eg="b69sus",Fh=n("b69sus",!1),Ag="m(ma7)",_h=n("m(ma7)",!1),Ig="m(ma9)",Rh=n("m(ma9)",!1),Tg="m(no5)",Ph=n("m(no5)",!1),Fg="m9+5+9",Dh=n("m9+5+9",!1),_g="m11b13",Nh=n("m11b13",!1),Rg="m11-13",Gh=n("m11-13",!1),Pg="-11b13",Oh=n("-11b13",!1),Dg="-11-13",Bh=n("-11-13",!1),Ng="m9+5-9",zh=n("m9+5-9",!1),Gg="m13#11",kh=n("m13#11",!1),Og="m13+11",Vh=n("m13+11",!1),Bg="-13#11",Wh=n("-13#11",!1),zg="-13+11",Hh=n("-13+11",!1),kg="-13b13",Uh=n("-13b13",!1),Vg="-13-13",Kh=n("-13-13",!1),Wg="m6(#5)",qh=n("m6(#5)",!1),Hg="m6add9",Zh=n("m6add9",!1),Ug="m6(M7)",Xh=n("m6(M7)",!1),Kg="m6(+7)",Yh=n("m6(+7)",!1),qg="m7(#5)",Jh=n("m7(#5)",!1),Zg="m7(+5)",Qh=n("m7(+5)",!1),Xg="-7(#5)",ej=n("-7(#5)",!1),Yg="-7(+5)",sj=n("-7(+5)",!1),Jg="m7(#9)",cj=n("m7(#9)",!1),Qg="m7(+9)",tj=n("m7(+9)",!1),e$="-7(#9)",fj=n("-7(#9)",!1),s$="-7(+9)",oj=n("-7(+9)",!1),c$="m7(11)",rj=n("m7(11)",!1),t$="m7(b5)",ij=n("m7(b5)",!1),f$="m7(-5)",aj=n("m7(-5)",!1),o$="-7(b5)",lj=n("-7(b5)",!1),r$="-7(-5)",nj=n("-7(-5)",!1),i$="m7(b9)",gj=n("m7(b9)",!1),a$="m7(-9)",$j=n("m7(-9)",!1),l$="-7(b9)",bj=n("-7(b9)",!1),n$="-7(-9)",mj=n("-7(-9)",!1),qe="m7sus4",g$=n("m7sus4",!1),$$="m9(#5)",pj=n("m9(#5)",!1),b$="m9(+5)",uj=n("m9(+5)",!1),m$="-9(#5)",dj=n("-9(#5)",!1),p$="-9(+5)",hj=n("-9(+5)",!1),u$="m9(#7)",jj=n("m9(#7)",!1),d$="m9(b5)",yj=n("m9(b5)",!1),h$="m9(-5)",xj=n("m9(-5)",!1),j$="-9(b5)",Cj=n("-9(b5)",!1),y$="-9(-5)",Sj=n("-9(-5)",!1),x$="m9(+7)",vj=n("m9(+7)",!1),C$="m9(M7)",Mj=n("m9(M7)",!1),S$="11(#7)",Lj=n("11(#7)",!1),v$="11(+7)",wj=n("11(+7)",!1),M$="ma11#5",Ej=n("ma11#5",!1),L$="ma11+5",Aj=n("ma11+5",!1),w$="ma11#9",Ij=n("ma11#9",!1),E$="ma11+9",Tj=n("ma11+9",!1),A$="+11b13",Fj=n("+11b13",!1),Oc="M11-13",Gm=n("M11-13",!1),I$="ma11b5",_j=n("ma11b5",!1),T$="ma11-5",Rj=n("ma11-5",!1),F$="ma11b9",Pj=n("ma11b9",!1),_$="ma11-9",Dj=n("ma11-9",!1),R$="13(#7)",Nj=n("13(#7)",!1),P$="+13#11",Gj=n("+13#11",!1),D$="M13+11",Oj=n("M13+11",!1),Ze="ma7#11",N$=n("ma7#11",!1),G$="ma13#5",Bj=n("ma13#5",!1),O$="ma13+5",zj=n("ma13+5",!1),B$="ma13#9",kj=n("ma13#9",!1),z$="ma13+9",Vj=n("ma13+9",!1),k$="ma13b5",Wj=n("ma13b5",!1),V$="ma13-5",Hj=n("ma13-5",!1),W$="ma13b9",Uj=n("ma13b9",!1),H$="ma13-9",Kj=n("ma13-9",!1),U$="ma6(9)",qj=n("ma6(9)",!1),K$="ma7+11",Zj=n("ma7+11",!1),q$="maj7#5",Xj=n("maj7#5",!1),Z$="maj7+5",Yj=n("maj7+5",!1),X$="+7(#5)",Jj=n("+7(#5)",!1),Y$="+7(+5)",Qj=n("+7(+5)",!1),J$="maj7#9",ey=n("maj7#9",!1),Q$="maj7+9",sy=n("maj7+9",!1),e5="+7(#9)",cy=n("+7(#9)",!1),s5="+7(+9)",ty=n("+7(+9)",!1),Bc="ma7b13",Om=n("ma7b13",!1),c5="ma7-13",fy=n("ma7-13",!1),t5="maj7b5",oy=n("maj7b5",!1),f5="maj7-5",ry=n("maj7-5",!1),o5="+7(b5)",iy=n("+7(b5)",!1),zc="+7(-5)",Bm=n("+7(-5)",!1),r5="maj7b9",ay=n("maj7b9",!1),i5="maj7-9",ly=n("maj7-9",!1),a5="+7(b9)",ny=n("+7(b9)",!1),l5="+7(-9)",gy=n("+7(-9)",!1),n5="ma9+11",$y=n("ma9+11",!1),g5="maj9#5",by=n("maj9#5",!1),$5="maj9+5",my=n("maj9+5",!1),b5="+9(#5)",py=n("+9(#5)",!1),m5="+9(+5)",uy=n("+9(+5)",!1),p5="ma9-13",dy=n("ma9-13",!1),u5="maj9b5",hy=n("maj9b5",!1),d5="maj9-5",jy=n("maj9-5",!1),h5="+9(b5)",yy=n("+9(b5)",!1),j5="+9(-5)",xy=n("+9(-5)",!1),y5="sus#42",Cy=n("sus#42",!1),x5="add11",Sy=n("add11",!1),C5="add13",vy=n("add13",!1),S5="major",My=n("major",!1),v5="dom11",Ly=n("dom11",!1),M5="11b13",wy=n("11b13",!1),L5="11-13",Ey=n("11-13",!1),w5="11sus",Ay=n("11sus",!1),E5="dom13",Iy=n("dom13",!1),A5="13#11",Ty=n("13#11",!1),I5="13+11",Fy=n("13+11",!1),T5="13sus",_y=n("13sus",!1),kc="2(#4)",zm=n("2(#4)",!1),F5="2(+4)",Ry=n("2(+4)",!1),_5="(#4)2",Py=n("(#4)2",!1),R5="2(+7)",Dy=n("2(+7)",!1),P5="sus42",Ny=n("sus42",!1),D5="(no3)",Gy=n("(no3)",!1),N5="6(b9)",Oy=n("6(b9)",!1),G5="7(#5)",By=n("7(#5)",!1),O5="7(+5)",zy=n("7(+5)",!1),B5="7(#9)",ky=n("7(#9)",!1),z5="7(+9)",Vy=n("7(+9)",!1),k5="7#5#9",Wy=n("7#5#9",!1),V5="7+5+9",Hy=n("7+5+9",!1),W5="7(b5)",Uy=n("7(b5)",!1),H5="7(-5)",Ky=n("7(-5)",!1),U5="7b5#9",qy=n("7b5#9",!1),K5="7-5+9",Zy=n("7-5+9",!1),q5="7b5b9",Xy=n("7b5b9",!1),Z5="7-5-9",Yy=n("7-5-9",!1),X5="7(b9)",Jy=n("7(b9)",!1),Y5="7(-9)",Qy=n("7(-9)",!1),J5="7#5b9",ex=n("7#5b9",!1),Q5="7+5-9",sx=n("7+5-9",!1),eb="7aug5",cx=n("7aug5",!1),sb="7sus4",tx=n("7sus4",!1),cb="9(#5)",fx=n("9(#5)",!1),tb="9(+5)",ox=n("9(+5)",!1),fb="9(b5)",rx=n("9(b5)",!1),ob="9(-5)",ix=n("9(-5)",!1),rb="9sus4",ax=n("9sus4",!1),ib="m9sus",lx=n("m9sus",!1),Vc="b9sus",km=n("b9sus",!1),ab="m(b5)",nx=n("m(b5)",!1),lb="m(-5)",gx=n("m(-5)",!1),nb="-(b5)",$x=n("-(b5)",!1),gb="minor",bx=n("minor",!1),$b="m(11)",mx=n("m(11)",!1),bb="m(M7)",px=n("m(M7)",!1),mb="m(+7)",ux=n("m(+7)",!1),pb="m(M9)",dx=n("m(M9)",!1),ub="m(+9)",hx=n("m(+9)",!1),db="min11",jx=n("min11",!1),hb="m11#5",yx=n("m11#5",!1),jb="m11+5",xx=n("m11+5",!1),yb="-11#5",Cx=n("-11#5",!1),xb="m11#9",Sx=n("m11#9",!1),Cb="m11+9",vx=n("m11+9",!1),Sb="-11#9",Mx=n("-11#9",!1),vb="-11+9",Lx=n("-11+9",!1),Wc="m11b5",Vm=n("m11b5",!1),Mb="m11-5",wx=n("m11-5",!1),Lb="-11b5",Ex=n("-11b5",!1),wb="m11b9",Ax=n("m11b9",!1),Eb="m11-9",Ix=n("m11-9",!1),Ab="-11b9",Tx=n("-11b9",!1),Ib="-11-9",Fx=n("-11-9",!1),Tb="min13",_x=n("min13",!1),Fb="m13#5",Rx=n("m13#5",!1),Hc="m13+5",Wm=n("m13+5",!1),_b="-13#5",Px=n("-13#5",!1),Rb="m13#9",Dx=n("m13#9",!1),Pb="m13+9",Nx=n("m13+9",!1),Db="-13#9",Gx=n("-13#9",!1),Nb="-13+9",Ox=n("-13+9",!1),Gb="m13b5",Bx=n("m13b5",!1),Ob="m13-5",zx=n("m13-5",!1),Bb="-13b5",kx=n("-13b5",!1),zb="-13-5",Vx=n("-13-5",!1),kb="m13b9",Wx=n("m13b9",!1),Vb="m13-9",Hx=n("m13-9",!1),Wb="madd2",Ux=n("madd2",!1),Hb="m6(9)",Kx=n("m6(9)",!1),Ub="m7#11",qx=n("m7#11",!1),Kb="m7+11",Zx=n("m7+11",!1),qb="-7#11",Xx=n("-7#11",!1),Zb="-7+11",Yx=n("-7+11",!1),Uc="m7(4)",Hm=n("m7(4)",!1),Xb="m7(6)",Jx=n("m7(6)",!1),Yb="m7b13",Qx=n("m7b13",!1),Jb="m7-13",eC=n("m7-13",!1),Qb="-7b13",sC=n("-7b13",!1),e9="-7-13",cC=n("-7-13",!1),s9="m7sus",tC=n("m7sus",!1),c9="m9#11",fC=n("m9#11",!1),t9="m9+11",oC=n("m9+11",!1),f9="-9#11",rC=n("-9#11",!1),o9="-9+11",iC=n("-9+11",!1),r9="m9b13",aC=n("m9b13",!1),i9="m9-13",lC=n("m9-13",!1),a9="-9b13",nC=n("-9b13",!1),l9="-9-13",gC=n("-9-13",!1),n9="+11#5",$C=n("+11#5",!1),g9="M11+5",bC=n("M11+5",!1),$9="+11#9",mC=n("+11#9",!1),b9="M11+9",pC=n("M11+9",!1),m9="+11b5",uC=n("+11b5",!1),p9="M11-5",dC=n("M11-5",!1),u9="+11b9",hC=n("+11b9",!1),d9="+11-9",jC=n("+11-9",!1),h9="+13#5",yC=n("+13#5",!1),j9="M13+5",xC=n("M13+5",!1),y9="+13#9",CC=n("+13#9",!1),x9="+13+9",SC=n("+13+9",!1),C9="+13b5",vC=n("+13b5",!1),S9="M13-5",MC=n("M13-5",!1),v9="+13b9",LC=n("+13b9",!1),M9="M13-9",wC=n("M13-9",!1),L9="+7#11",EC=n("+7#11",!1),w9="M7+11",AC=n("M7+11",!1),E9="ma7#5",IC=n("ma7#5",!1),A9="ma7+5",TC=n("ma7+5",!1),I9="ma7#9",FC=n("ma7#9",!1),T9="ma7+9",_C=n("ma7+9",!1),F9="+7b13",RC=n("+7b13",!1),_9="M7-13",PC=n("M7-13",!1),R9="ma7b5",DC=n("ma7b5",!1),P9="ma7-5",NC=n("ma7-5",!1),D9="ma7b9",GC=n("ma7b9",!1),N9="ma7-9",OC=n("ma7-9",!1),G9="9(#7)",BC=n("9(#7)",!1),O9="+9#11",zC=n("+9#11",!1),B9="M9+11",kC=n("M9+11",!1),z9="ma9#5",VC=n("ma9#5",!1),k9="ma9+5",WC=n("ma9+5",!1),V9="+9b13",HC=n("+9b13",!1),W9="M9-13",UC=n("M9-13",!1),H9="ma9b5",KC=n("ma9b5",!1),U9="ma9-5",qC=n("ma9-5",!1),K9="(#4)",ZC=n("(#4)",!1),q9="(+4)",XC=n("(+4)",!1),Z9="(11)",YC=n("(11)",!1),X9="(13)",JC=n("(13)",!1),Y9="add2",QC=n("add2",!1),J9="add4",eS=n("add4",!1),Q9="add6",sS=n("add6",!1),e3="add9",cS=n("add9",!1),s3="(b5)",tS=n("(b5)",!1),c3="(-5)",fS=n("(-5)",!1),t3="2(6)",oS=n("2(6)",!1),f3="(b6)",rS=n("(b6)",!1),o3="unis",iS=n("unis",!1),r3="Majj",aS=n("Majj",!1),i3="(#5)",lS=n("(#5)",!1),a3="(+5)",nS=n("(+5)",!1),l3="11#5",gS=n("11#5",!1),n3="11+5",$S=n("11+5",!1),g3="11#9",bS=n("11#9",!1),$3="11+9",mS=n("11+9",!1),b3="11b5",pS=n("11b5",!1),m3="11-5",uS=n("11-5",!1),p3="11b9",dS=n("11b9",!1),u3="11-9",hS=n("11-9",!1),d3="13#5",jS=n("13#5",!1),h3="13+5",yS=n("13+5",!1),j3="13#9",xS=n("13#9",!1),y3="13+9",CS=n("13+9",!1),x3="13b5",SS=n("13b5",!1),C3="13-5",vS=n("13-5",!1),Xe="13b9",S3=n("13b9",!1),Kc="13-9",Um=n("13-9",!1),v3="sus2",MS=n("sus2",!1),M3="2(4)",LS=n("2(4)",!1),L3="4(2)",wS=n("4(2)",!1),w3="6(2)",ES=n("6(2)",!1),E3="6(9)",AS=n("6(9)",!1),A3="dom7",IS=n("dom7",!1),I3="7#11",TS=n("7#11",!1),qc="7+11",Km=n("7+11",!1),T3="aug7",FS=n("aug7",!1),F3="7(6)",_S=n("7(6)",!1),Zc="7b13",qm=n("7b13",!1),_3="7-13",RS=n("7-13",!1),R3="7sus",PS=n("7sus",!1),Xc="dom9",Zm=n("dom9",!1),P3="9#11",DS=n("9#11",!1),D3="9+11",NS=n("9+11",!1),Yc="aug9",Xm=n("aug9",!1),N3="9b13",GS=n("9b13",!1),G3="9-13",OS=n("9-13",!1),O3="9aug",BS=n("9aug",!1),B3="9sus",zS=n("9sus",!1),z3="dim7",kS=n("dim7",!1),k3="m(4)",VS=n("m(4)",!1),V3="m(9)",WS=n("m(9)",!1),W3="mi11",HS=n("mi11",!1),Me="m9+5",s1=n("m9+5",!1),Ye="-9-5",H3=n("-9-5",!1),U3="mi13",US=n("mi13",!1),K3="min2",KS=n("min2",!1),Jc="min6",Ym=n("min6",!1),q3="m6M7",qS=n("m6M7",!1),Z3="m6+7",ZS=n("m6+7",!1),X3="min7",XS=n("min7",!1),Y3="m7#5",YS=n("m7#5",!1),Qc="m7+5",Jm=n("m7+5",!1),J3="-7#5",JS=n("-7#5",!1),Q3="m7#9",QS=n("m7#9",!1),et="m7+9",Qm=n("m7+9",!1),e7="-7#9",ev=n("-7#9",!1),s7="m7b5",sv=n("m7b5",!1),st="m7-5",ep=n("m7-5",!1),c7="-7b5",cv=n("-7b5",!1),t7="m7b9",tv=n("m7b9",!1),ct="m7-9",sp=n("m7-9",!1),f7="-7b9",fv=n("-7b9",!1),o7="min9",ov=n("min9",!1),r7="m9#5",rv=n("m9#5",!1),i7="-9#5",iv=n("-9#5",!1),a7="m9b5",av=n("m9b5",!1),l7="m9-5",lv=n("m9-5",!1),n7="-9b5",nv=n("-9b5",!1),g7="m9M7",gv=n("m9M7",!1),tt="maj9",cp=n("maj9",!1),ft="ma11",tp=n("ma11",!1),$7="11#7",$v=n("11#7",!1),b7="11+7",bv=n("11+7",!1),ot="ma13",fp=n("ma13",!1),m7="ma69",mv=n("ma69",!1),p7="Maj7",pv=n("Maj7",!1),u7="maj7",uv=n("maj7",!1),d7="+7#5",dv=n("+7#5",!1),h7="M7+5",hv=n("M7+5",!1),j7="+7#9",jv=n("+7#9",!1),y7="M7+9",yv=n("M7+9",!1),x7="+7b5",xv=n("+7b5",!1),C7="M7-5",Cv=n("M7-5",!1),S7="+7b9",Sv=n("+7b9",!1),v7="M7-9",vv=n("M7-9",!1),M7="+9#5",Mv=n("+9#5",!1),L7="M9+5",Lv=n("M9+5",!1),w7="+9b5",wv=n("+9b5",!1),E7="M9-5",Ev=n("M9-5",!1),A7="sus4",Av=n("sus4",!1),I7="(2)",Iv=n("(2)",!1),T7="(4)",Tv=n("(4)",!1),F7="(6)",Fv=n("(6)",!1),_7="(7)",_v=n("(7)",!1),R7="(9)",Rv=n("(9)",!1),P7="maj",Pv=n("maj",!1),D7="aug",Dv=n("aug",!1),N7="2+4",Nv=n("2+4",!1),G7="2#4",Gv=n("2#4",!1),O7="no3",Ov=n("no3",!1),B7="7#5",Bv=n("7#5",!1),z7="7+5",zv=n("7+5",!1),Je="7#9",k7=n("7#9",!1),V7="7+9",kv=n("7+9",!1),W7="7b5",Vv=n("7b5",!1),H7="7-5",Wv=n("7-5",!1),U7="7b9",Hv=n("7b9",!1),K7="7-9",Uv=n("7-9",!1),q7="9#5",Kv=n("9#5",!1),Z7="9+5",qv=n("9+5",!1),X7="9b5",Zv=n("9b5",!1),Y7="9-5",Xv=n("9-5",!1),J7="dim",Yv=n("dim",!1),Q7="mb5",Jv=n("mb5",!1),em="m-5",Qv=n("m-5",!1),sm="-b5",eM=n("-b5",!1),cm="min",sM=n("min",!1),tm="m+7",cM=n("m+7",!1),fm="m+9",tM=n("m+9",!1),rt="m11",op=n("m11",!1),om="-11",fM=n("-11",!1),rm="m13",oM=n("m13",!1),im="-13",rM=n("-13",!1),am="mi2",iM=n("mi2",!1),lm="mi6",aM=n("mi6",!1),rp="m69",ip=n("m69",!1),ap="mi7",lp=n("mi7",!1),np="m74",gp=n("m74",!1),$p="mi9",bp=n("mi9",!1),_s="ma9",c1=n("ma9",!1),mp="+11",pp=n("+11",!1),up="M11",dp=n("M11",!1),hp="+13",jp=n("+13",!1),yp="M13",xp=n("M13",!1),Cp="ma6",Sp=n("ma6",!1),vp="ma7",Mp=n("ma7",!1),Lp="sus",wp=n("sus",!1),Ep="#4",Ap=n("#4",!1),Ip="+4",lM=n("+4",!1),Tp="-5",o=n("-5",!1),ie="b5",t1=n("b5",!1),de="ma",nm=n("ma",!1),it="Ma",nM=n("Ma",!1),g="#5",at=n("#5",!1),Fp="+5",_p=n("+5",!1),f1="11",l=n("11",!1),o1="13",gm=n("13",!1),Le="42",gM=n("42",!1),$m="69",Rp=n("69",!1),Pp="x7",Dp=n("x7",!1),bm="x9",$M=n("x9",!1),mm="o7",Np=n("o7",!1),bM=n("mi",!1),pm="m2",Gp=n("m2",!1),lt="m4",mM=n("m4",!1),Op="m6",pM=n("m6",!1),Bp="-6",uM=n("-6",!1),zp="m7",dM=n("m7",!1),kp="-7",hM=n("-7",!1),Vp="m9",c=n("m9",!1),L="-9",D=n("-9",!1),N="+7",k=n("+7",!1),gL="#7",cE=n("#7",!1),$L="M7",tE=n("M7",!1),bL="+9",fE=n("+9",!1),mL="M9",oE=n("M9",!1),rE=/^[+\-24-79Mmx]/,iE=we(["+","-","2",["4","7"],"9","M","m","x"],!1,!1);let f=0,W=0;const Wp=[{line:1,column:1}];let Ie=0,jM=[],i=0,Hp;if(r.startRule!==void 0){if(!(r.startRule in j))throw new Error(`Can't start parsing from rule "`+r.startRule+'".');y=j[r.startRule]}function pL(){return yM(W,f)}function n(s,u){return{type:"literal",text:s,ignoreCase:u}}function we(s,u,x){return{type:"class",parts:s,inverted:u,ignoreCase:x}}function aE(){return{type:"end"}}function lE(s){return{type:"other",description:s}}function uL(s){let u=Wp[s],x;if(u)return u;for(x=s-1;!Wp[x];)x--;for(u=Wp[x],u={line:u.line,column:u.column};xIe&&(Ie=f,jM=[]),jM.push(s))}function nE(s,u,x){return new l1(l1.buildMessage(s,u),s,u,x)}function dL(){let s,u,x;return s=f,u=dE(),u===e&&(u=null),u!==e?(x=gE(),x===e&&(x=null),x!==e?(W=s,u=w(u,x),s=u):(f=s,s=e)):(f=s,s=e),s}function gE(){let s,u,x,A;if(s=f,u=Up(),u===e&&(u=null),u!==e){for(x=[],A=hL();A!==e;)x.push(A),A=hL();x!==e?(A=jL(),A===e&&(A=null),A!==e?(W=s,u=P(u,x,A),s=u):(f=s,s=e)):(f=s,s=e)}else f=s,s=e;return s}function hL(){let s,u,x;return s=f,u=jL(),u!==e?(x=Up(),x!==e?(W=s,u=G(u),s=u):(f=s,s=e)):(f=s,s=e),s}function jL(){let s,u,x,A,O,Z;return s=f,u=pE(),u!==e&&(W=s,u=I(u)),s=u,s===e&&(s=f,u=hE(),u!==e&&(W=s,u=I(u)),s=u,s===e&&(s=f,u=f,i++,x=f,A=yL(),A!==e?(O=f,i++,Z=um(),i--,Z===e?O=void 0:(f=O,O=e),O!==e?(A=[A,O],x=A):(f=x,x=e)):(f=x,x=e),i--,x!==e?(f=u,u=void 0):u=e,u!==e?(x=yL(),x!==e?(W=s,u=I(x),s=u):(f=s,s=e)):(f=s,s=e),s===e&&(s=f,u=bE(),u!==e&&(W=s,u=I(u)),s=u))),s}function yL(){let s,u,x;if(s=f,u=[],x=CL(),x===e&&(x=xL()),x!==e)for(;x!==e;)u.push(x),x=CL(),x===e&&(x=xL());else u=e;return u!==e&&(W=s,u=v(u)),s=u,s}function xL(){let s,u,x,A;return s=f,u=he(),u!==e?(x=$E(),x!==e?(A=he(),A!==e?(W=s,u=_(x),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function $E(){let s,u;return s=f,K.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(me)),u!==e&&(W=s,u=q(u)),s=u,s}function bE(){let s,u;return s=f,u=mE(),u!==e&&(W=s,u=V(u)),s=u,s}function mE(){let s,u,x;for(s=f,u=[],x=um();x!==e;)u.push(x),x=um();return u!==e?s=t.substring(s,f):s=u,s}function CL(){let s,u,x,A;return s=f,u=he(),u!==e?(x=vE(),x!==e?(A=he(),A!==e?(W=s,u=je(x),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function pE(){let s,u,x,A,O,Z,Se,nt;if(s=f,u=f,x=f,A=he(),A!==e)if(O=uE(),O!==e)if(Z=he(),Z!==e){for(Se=[],nt=um();nt!==e;)Se.push(nt),nt=um();Se!==e?(nt=he(),nt!==e?(A=[A,O,Z,Se,nt],x=A):(f=x,x=e)):(f=x,x=e)}else f=x,x=e;else f=x,x=e;else f=x,x=e;return x!==e?u=t.substring(u,f):u=x,u!==e&&(W=s,u=De(u)),s=u,s}function uE(){let s;return t.substr(f,5).toLowerCase()===H?(s=t.substr(f,5),f+=5):(s=e,i===0&&a(ue)),s===e&&(t.substr(f,6).toLowerCase()===ye?(s=t.substr(f,6),f+=6):(s=e,i===0&&a(pe)),s===e&&(t.substr(f,6).toLowerCase()===ve?(s=t.substr(f,6),f+=6):(s=e,i===0&&a(dt)),s===e&&(t.substr(f,3).toLowerCase()===ht?(s=t.substr(f,3),f+=3):(s=e,i===0&&a(m1)),s===e&&(t.substr(f,9).toLowerCase()===p1?(s=t.substr(f,9),f+=9):(s=e,i===0&&a(u1)),s===e&&(t.substr(f,12).toLowerCase()===cs?(s=t.substr(f,12),f+=12):(s=e,i===0&&a(ts)),s===e&&(t.substr(f,5).toLowerCase()===d1?(s=t.substr(f,5),f+=5):(s=e,i===0&&a(h1)))))))),s}function um(){let s;return Gs.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(jt)),s}function dE(){let s,u,x,A;for(s=f,u=[],x=SL();x!==e;)u.push(x),x=SL();return u!==e?(x=vL(),x===e&&(x=null),x!==e?(A=yE(),A===e&&(A=null),A!==e?(W=s,u=j1(u,x),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function hE(){let s,u,x,A,O,Z,Se;return s=f,u=f,x=wL(),x!==e?u=t.substring(u,f):u=x,u!==e?(x=he(),x!==e?(A=LL(),A!==e?(O=he(),O!==e?(Z=f,Se=EL(),Se!==e?Z=t.substring(Z,f):Z=Se,Z!==e?(W=s,u=ce(u,Z),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function SL(){let s,u,x;return s=f,u=vL(),u!==e?(x=Up(),x!==e?(W=s,u=te(u),s=u):(f=s,s=e)):(f=s,s=e),s}function vL(){let s;return s=jE(),s===e&&(s=ML()),s}function jE(){let s,u,x,A,O,Z;return s=f,t.charCodeAt(f)===123?(u=y1,f++):(u=e,i===0&&a(x1)),u!==e?(x=he(),x!==e?(A=ML(),A!==e?(O=he(),O!==e?(t.charCodeAt(f)===125?(Z=C1,f++):(Z=e,i===0&&a(S1)),Z!==e?(W=s,u=fs(A),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function ML(){let s,u,x,A,O,Z,Se;return s=f,u=f,x=wL(),x!==e?u=t.substring(u,f):u=x,u!==e?(x=he(),x!==e?(A=LL(),A!==e?(O=he(),O!==e?(Z=f,Se=EL(),Se!==e?Z=t.substring(Z,f):Z=Se,Z!==e?(W=s,u=os(u,Z),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function LL(){let s;return t.charCodeAt(f)===58?(s=v1,f++):(s=e,i===0&&a(M1)),s}function wL(){let s,u;if(s=[],Os.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(rs)),u!==e)for(;u!==e;)s.push(u),Os.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(rs));else s=e;return s}function EL(){let s,u;if(s=[],Bs.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(zs)),u!==e)for(;u!==e;)s.push(u),Bs.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(zs));else s=e;return s}function yE(){let s,u,x;return s=f,t.substr(f,3)===is?(u=is,f+=3):(u=e,i===0&&a(L1)),u!==e?(x=Up(),x!==e?(u=[u,x],s=u):(f=s,s=e)):(f=s,s=e),s}function he(){let s,u;for(i++,s=[],ks.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(Vs));u!==e;)s.push(u),ks.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(Vs));return i--,s===e&&(u=e,i===0&&a(yt)),s}function Up(){let s;return ae.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(re)),s===e&&(s=xE()),s}function xE(){let s,u,x;return s=f,u=SE(),u!==e?(x=CE(),x!==e?(u=[u,x],s=u):(f=s,s=e)):(f=s,s=e),s}function CE(){let s;return t.charCodeAt(f)===10?(s=xt,f++):(s=e,i===0&&a(Ct)),s}function SE(){let s;return t.charCodeAt(f)===13?(s=w1,f++):(s=e,i===0&&a(St)),s}function vE(){let s,u;return s=f,u=wE(),u===e&&(u=EE(),u===e&&(u=LE(),u===e&&(u=ME()))),u!==e&&(W=s,u=E1(u)),s=u,s}function Rs(){let s;return vt.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(A1)),s}function ME(){let s,u,x,A,O;return s=f,u=AL(),u!==e?(x=Rs(),x===e&&(x=null),x!==e?(A=f,O=Kp(),O!==e?A=t.substring(A,f):A=O,A!==e?(O=IL(),O===e&&(O=null),O!==e?(W=s,u=Mt(u,x,A,O),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s===e&&(s=f,u=IL(),u!==e&&(W=s,u=Lt(u)),s=u),s}function AL(){let s;return wt.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(Et)),s}function IL(){let s,u,x,A;return s=f,t.charCodeAt(f)===47?(u=Ne,f++):(u=e,i===0&&a(Ge)),u!==e?(x=AL(),x!==e?(A=Rs(),A===e&&(A=null),A!==e?(W=s,u=as(x,A),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function LE(){let s,u,x,A,O;return s=f,u=TL(),u!==e?(x=Rs(),x===e&&(x=null),x!==e?(A=f,O=Kp(),O!==e?A=t.substring(A,f):A=O,A!==e?(O=FL(),O===e&&(O=null),O!==e?(W=s,u=I1(u,x,A,O),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s===e&&(s=f,u=FL(),u!==e&&(W=s,u=Ws(u)),s=u),s}function TL(){let s;return t.substr(f,2).toLowerCase()===At?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Hs)),s===e&&(t.substr(f,2).toLowerCase()===T1?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Us)),s===e&&(t.substr(f,2).toLowerCase()===Ks?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(It)),s===e&&(t.substr(f,2).toLowerCase()===Tt?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Ft)),s===e&&(t.substr(f,3).toLowerCase()===F1?(s=t.substr(f,3),f+=3):(s=e,i===0&&a(_t)),s===e&&(t.substr(f,2).toLowerCase()===Rt?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(qs)),s===e&&(t.substr(f,2).toLowerCase()===Pt?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Zs)))))))),s}function FL(){let s,u,x,A;return s=f,t.charCodeAt(f)===47?(u=Ne,f++):(u=e,i===0&&a(Ge)),u!==e?(x=TL(),x!==e?(A=Rs(),A===e&&(A=null),A!==e?(W=s,u=as(x,A),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function wE(){let s,u,x,A,O;return s=f,u=Rs(),u===e&&(u=null),u!==e?(x=_L(),x!==e?(A=f,O=Kp(),O!==e?A=t.substring(A,f):A=O,A!==e?(O=RL(),O===e&&(O=null),O!==e?(W=s,u=_1(u,x,A,O),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s===e&&(s=f,u=RL(),u!==e&&(W=s,u=Dt(u)),s=u),s}function _L(){let s;return t.substr(f,3).toLowerCase()===R1?(s=t.substr(f,3),f+=3):(s=e,i===0&&a(Xs)),s===e&&(t.substr(f,3).toLowerCase()===P1?(s=t.substr(f,3),f+=3):(s=e,i===0&&a(Nt)),s===e&&(t.substr(f,2).toLowerCase()===D1?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Gt)),s===e&&(t.substr(f,2).toLowerCase()===N1?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Ys)),s===e&&(t.substr(f,2).toLowerCase()===Ot?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Bt)),s===e&&(G1.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(zt))))))),s}function RL(){let s,u,x,A;return s=f,t.charCodeAt(f)===47?(u=Ne,f++):(u=e,i===0&&a(Ge)),u!==e?(x=Rs(),x===e&&(x=null),x!==e?(A=_L(),A!==e?(W=s,u=kt(x,A),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function EE(){let s,u,x,A,O;return s=f,u=Rs(),u===e&&(u=null),u!==e?(x=PL(),x!==e?(A=f,O=Kp(),O!==e?A=t.substring(A,f):A=O,A!==e?(O=DL(),O===e&&(O=null),O!==e?(W=s,u=Vt(u,x,A,O),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s===e&&(s=f,u=DL(),u!==e&&(W=s,u=O1(u)),s=u),s}function PL(){let s;return Wt.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(Ht)),s}function DL(){let s,u,x,A;return s=f,t.charCodeAt(f)===47?(u=Ne,f++):(u=e,i===0&&a(Ge)),u!==e?(x=Rs(),x===e&&(x=null),x!==e?(A=PL(),A!==e?(W=s,u=kt(x,A),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function Kp(){let s;return s=AE(),s===e&&(s=IE(),s===e&&(s=TE(),s===e&&(s=FE(),s===e&&(s=_E(),s===e&&(s=RE(),s===e&&(s=PE(),s===e&&(s=DE(),s===e&&(s=NE(),s===e&&(s=GE()))))))))),s===e&&(s=null),s}function AE(){let s;return t.substr(f,15)===ls?(s=ls,f+=15):(s=e,i===0&&a(B1)),s===e&&(t.substr(f,12)===Js?(s=Js,f+=12):(s=e,i===0&&a(z1)),s===e&&(t.substr(f,12)===Qs?(s=Qs,f+=12):(s=e,i===0&&a(k1)),s===e&&(t.substr(f,11)===ec?(s=ec,f+=11):(s=e,i===0&&a(ns)),s===e&&(t.substr(f,11)===gs?(s=gs,f+=11):(s=e,i===0&&a(V1)),s===e&&(t.substr(f,11)===Ee?(s=Ee,f+=11):(s=e,i===0&&a(Ut)),s===e&&(t.substr(f,11)===sc?(s=sc,f+=11):(s=e,i===0&&a($s)),s===e&&(t.substr(f,11)===bs?(s=bs,f+=11):(s=e,i===0&&a(W1)),s===e&&(t.substr(f,11)===ms?(s=ms,f+=11):(s=e,i===0&&a(H1)),s===e&&(t.substr(f,11)===ps?(s=ps,f+=11):(s=e,i===0&&a(U1)),s===e&&(t.substr(f,11)===us?(s=us,f+=11):(s=e,i===0&&a(K1)),s===e&&(t.substr(f,11)===ds?(s=ds,f+=11):(s=e,i===0&&a(q1)),s===e&&(t.substr(f,11)===hs?(s=hs,f+=11):(s=e,i===0&&a(Z1)),s===e&&(t.substr(f,10)===js?(s=js,f+=10):(s=e,i===0&&a(X1)),s===e&&(t.substr(f,10)===ys?(s=ys,f+=10):(s=e,i===0&&a(Y1)),s===e&&(t.substr(f,10)===xs?(s=xs,f+=10):(s=e,i===0&&a(J1)),s===e&&(t.substr(f,10)===Cs?(s=Cs,f+=10):(s=e,i===0&&a(Q1)),s===e&&(t.substr(f,10)===cc?(s=cc,f+=10):(s=e,i===0&&a(b)),s===e&&(t.substr(f,10)===R?(s=R,f+=10):(s=e,i===0&&a(Ss)),s===e&&(t.substr(f,10)===le?(s=le,f+=10):(s=e,i===0&&a(tc)),s===e&&(t.substr(f,10)===M?(s=M,f+=10):(s=e,i===0&&a(vs)),s===e&&(t.substr(f,10)===fc?(s=fc,f+=10):(s=e,i===0&&a(Ae)),s===e&&(t.substr(f,10)===z?(s=z,f+=10):(s=e,i===0&&a(ne)),s===e&&(t.substr(f,10)===oc?(s=oc,f+=10):(s=e,i===0&&a(ef)),s===e&&(t.substr(f,10)===Oe?(s=Oe,f+=10):(s=e,i===0&&a(Kt)),s===e&&(t.substr(f,10)===Be?(s=Be,f+=10):(s=e,i===0&&a(T)),s===e&&(t.substr(f,10)===rc?(s=rc,f+=10):(s=e,i===0&&a(qt)),s===e&&(t.substr(f,10)===Ms?(s=Ms,f+=10):(s=e,i===0&&a(Zt)),s===e&&(t.substr(f,10)===ic?(s=ic,f+=10):(s=e,i===0&&a(Xt)),s===e&&(t.substr(f,10)===ac?(s=ac,f+=10):(s=e,i===0&&a(sf)),s===e&&(t.substr(f,10)===lc?(s=lc,f+=10):(s=e,i===0&&a(Ls)),s===e&&(t.substr(f,10)===ws?(s=ws,f+=10):(s=e,i===0&&a(cf)),s===e&&(t.substr(f,10)===Es?(s=Es,f+=10):(s=e,i===0&&a(As)),s===e&&(t.substr(f,10)===ze?(s=ze,f+=10):(s=e,i===0&&a(tf)),s===e&&(t.substr(f,10)===nc?(s=nc,f+=10):(s=e,i===0&&a(ff)),s===e&&(t.substr(f,10)===gc?(s=gc,f+=10):(s=e,i===0&&a(of)),s===e&&(t.substr(f,10)===Is?(s=Is,f+=10):(s=e,i===0&&a($c)),s===e&&(t.substr(f,10)===xe?(s=xe,f+=10):(s=e,i===0&&a(Yt)),s===e&&(t.substr(f,10)===bc?(s=bc,f+=10):(s=e,i===0&&a(rf)),s===e&&(t.substr(f,10)===mc?(s=mc,f+=10):(s=e,i===0&&a(Jt)),s===e&&(t.substr(f,10)===pc?(s=pc,f+=10):(s=e,i===0&&a(Qt)),s===e&&(t.substr(f,10)===uc?(s=uc,f+=10):(s=e,i===0&&a(e1)),s===e&&(t.substr(f,10)===dc?(s=dc,f+=10):(s=e,i===0&&a(af)),s===e&&(t.substr(f,10)===hc?(s=hc,f+=10):(s=e,i===0&&a(ke)),s===e&&(t.substr(f,10)===jc?(s=jc,f+=10):(s=e,i===0&&a(lf)),s===e&&(t.substr(f,10)===Ts?(s=Ts,f+=10):(s=e,i===0&&a(Ve)),s===e&&(t.substr(f,10)===B?(s=B,f+=10):(s=e,i===0&&a(Fs)),s===e&&(t.substr(f,9)===be?(s=be,f+=9):(s=e,i===0&&a(We)),s===e&&(t.substr(f,9)===yc?(s=yc,f+=9):(s=e,i===0&&a(nf)),s===e&&(t.substr(f,9)===xc?(s=xc,f+=9):(s=e,i===0&&a(He)),s===e&&(t.substr(f,9)===Cc?(s=Cc,f+=9):(s=e,i===0&&a(gf)),s===e&&(t.substr(f,9)===Sc?(s=Sc,f+=9):(s=e,i===0&&a(vc)),s===e&&(t.substr(f,9)===Mc?(s=Mc,f+=9):(s=e,i===0&&a($f)),s===e&&(t.substr(f,9)===Ue?(s=Ue,f+=9):(s=e,i===0&&a(bf)),s===e&&(t.substr(f,9)===Lc?(s=Lc,f+=9):(s=e,i===0&&a(wc)),s===e&&(t.substr(f,9)===Ec?(s=Ec,f+=9):(s=e,i===0&&a(mf)),s===e&&(t.substr(f,9)===Ke?(s=Ke,f+=9):(s=e,i===0&&a(Ce)),s===e&&(t.substr(f,9)===$?(s=$,f+=9):(s=e,i===0&&a(p)),s===e&&(t.substr(f,9)===h?(s=h,f+=9):(s=e,i===0&&a(d)),s===e&&(t.substr(f,9)===S?(s=S,f+=9):(s=e,i===0&&a(C)),s===e&&(t.substr(f,9)===E?(s=E,f+=9):(s=e,i===0&&a(F)),s===e&&(t.substr(f,9)===fe?(s=fe,f+=9):(s=e,i===0&&a(oe)),s===e&&(t.substr(f,9)===pf?(s=pf,f+=9):(s=e,i===0&&a(x0)),s===e&&(t.substr(f,9)===uf?(s=uf,f+=9):(s=e,i===0&&a(C0)),s===e&&(t.substr(f,9)===df?(s=df,f+=9):(s=e,i===0&&a(S0)),s===e&&(t.substr(f,9)===hf?(s=hf,f+=9):(s=e,i===0&&a(v0)),s===e&&(t.substr(f,9)===jf?(s=jf,f+=9):(s=e,i===0&&a(M0)),s===e&&(t.substr(f,9)===yf?(s=yf,f+=9):(s=e,i===0&&a(L0)),s===e&&(t.substr(f,9)===xf?(s=xf,f+=9):(s=e,i===0&&a(w0)),s===e&&(t.substr(f,9)===Cf?(s=Cf,f+=9):(s=e,i===0&&a(E0)),s===e&&(t.substr(f,9)===Sf?(s=Sf,f+=9):(s=e,i===0&&a(A0)),s===e&&(t.substr(f,9)===vf?(s=vf,f+=9):(s=e,i===0&&a(I0)),s===e&&(t.substr(f,9)===Mf?(s=Mf,f+=9):(s=e,i===0&&a(T0)),s===e&&(t.substr(f,9)===Lf?(s=Lf,f+=9):(s=e,i===0&&a(F0)),s===e&&(t.substr(f,9)===wf?(s=wf,f+=9):(s=e,i===0&&a(_0)),s===e&&(t.substr(f,9)===Ef?(s=Ef,f+=9):(s=e,i===0&&a(R0)),s===e&&(t.substr(f,9)===Af?(s=Af,f+=9):(s=e,i===0&&a(P0)),s===e&&(t.substr(f,9)===If?(s=If,f+=9):(s=e,i===0&&a(D0)),s===e&&(t.substr(f,9)===Tf?(s=Tf,f+=9):(s=e,i===0&&a(N0)),s===e&&(t.substr(f,9)===Ff?(s=Ff,f+=9):(s=e,i===0&&a(G0)),s===e&&(t.substr(f,9)===_f?(s=_f,f+=9):(s=e,i===0&&a(O0)),s===e&&(t.substr(f,9)===Rf?(s=Rf,f+=9):(s=e,i===0&&a(B0)),s===e&&(t.substr(f,9)===Pf?(s=Pf,f+=9):(s=e,i===0&&a(z0)),s===e&&(t.substr(f,9)===Df?(s=Df,f+=9):(s=e,i===0&&a(k0)),s===e&&(t.substr(f,9)===Nf?(s=Nf,f+=9):(s=e,i===0&&a(V0)),s===e&&(t.substr(f,9)===Gf?(s=Gf,f+=9):(s=e,i===0&&a(W0)),s===e&&(t.substr(f,9)===Of?(s=Of,f+=9):(s=e,i===0&&a(H0)),s===e&&(t.substr(f,9)===Bf?(s=Bf,f+=9):(s=e,i===0&&a(U0)),s===e&&(t.substr(f,9)===zf?(s=zf,f+=9):(s=e,i===0&&a(K0)),s===e&&(t.substr(f,9)===kf?(s=kf,f+=9):(s=e,i===0&&a(q0)),s===e&&(t.substr(f,9)===Vf?(s=Vf,f+=9):(s=e,i===0&&a(Z0)),s===e&&(t.substr(f,9)===Wf?(s=Wf,f+=9):(s=e,i===0&&a(X0)),s===e&&(t.substr(f,9)===Hf?(s=Hf,f+=9):(s=e,i===0&&a(Y0)),s===e&&(t.substr(f,9)===Uf?(s=Uf,f+=9):(s=e,i===0&&a(J0)),s===e&&(t.substr(f,9)===Kf?(s=Kf,f+=9):(s=e,i===0&&a(Q0)),s===e&&(t.substr(f,9)===qf?(s=qf,f+=9):(s=e,i===0&&a(eu)),s===e&&(t.substr(f,9)===Zf?(s=Zf,f+=9):(s=e,i===0&&a(su)),s===e&&(t.substr(f,9)===Xf?(s=Xf,f+=9):(s=e,i===0&&a(cu)),s===e&&(t.substr(f,9)===Yf?(s=Yf,f+=9):(s=e,i===0&&a(tu)),s===e&&(t.substr(f,9)===Jf?(s=Jf,f+=9):(s=e,i===0&&a(fu))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function IE(){let s;return t.substr(f,9)===Qf?(s=Qf,f+=9):(s=e,i===0&&a(ou)),s===e&&(t.substr(f,9)===eo?(s=eo,f+=9):(s=e,i===0&&a(ru)),s===e&&(t.substr(f,9)===so?(s=so,f+=9):(s=e,i===0&&a(iu)),s===e&&(t.substr(f,9)===co?(s=co,f+=9):(s=e,i===0&&a(au)),s===e&&(t.substr(f,9)===to?(s=to,f+=9):(s=e,i===0&&a(lu)),s===e&&(t.substr(f,9)===fo?(s=fo,f+=9):(s=e,i===0&&a(nu)),s===e&&(t.substr(f,9)===oo?(s=oo,f+=9):(s=e,i===0&&a(gu)),s===e&&(t.substr(f,9)===ro?(s=ro,f+=9):(s=e,i===0&&a($u)),s===e&&(t.substr(f,9)===io?(s=io,f+=9):(s=e,i===0&&a(bu)),s===e&&(t.substr(f,9)===ao?(s=ao,f+=9):(s=e,i===0&&a(mu)),s===e&&(t.substr(f,9)===lo?(s=lo,f+=9):(s=e,i===0&&a(pu)),s===e&&(t.substr(f,9)===no?(s=no,f+=9):(s=e,i===0&&a(uu)),s===e&&(t.substr(f,9)===go?(s=go,f+=9):(s=e,i===0&&a(du)),s===e&&(t.substr(f,9)===$o?(s=$o,f+=9):(s=e,i===0&&a(hu)),s===e&&(t.substr(f,9)===bo?(s=bo,f+=9):(s=e,i===0&&a(ju)),s===e&&(t.substr(f,9)===mo?(s=mo,f+=9):(s=e,i===0&&a(yu)),s===e&&(t.substr(f,8)===po?(s=po,f+=8):(s=e,i===0&&a(xu)),s===e&&(t.substr(f,8)===uo?(s=uo,f+=8):(s=e,i===0&&a(Cu)),s===e&&(t.substr(f,8)===ho?(s=ho,f+=8):(s=e,i===0&&a(Su)),s===e&&(t.substr(f,8)===jo?(s=jo,f+=8):(s=e,i===0&&a(vu)),s===e&&(t.substr(f,8)===yo?(s=yo,f+=8):(s=e,i===0&&a(Mu)),s===e&&(t.substr(f,8)===xo?(s=xo,f+=8):(s=e,i===0&&a(Lu)),s===e&&(t.substr(f,8)===Co?(s=Co,f+=8):(s=e,i===0&&a(wu)),s===e&&(t.substr(f,8)===So?(s=So,f+=8):(s=e,i===0&&a(Eu)),s===e&&(t.substr(f,8)===vo?(s=vo,f+=8):(s=e,i===0&&a(Au)),s===e&&(t.substr(f,8)===Mo?(s=Mo,f+=8):(s=e,i===0&&a(Iu)),s===e&&(t.substr(f,8)===Lo?(s=Lo,f+=8):(s=e,i===0&&a(Tu)),s===e&&(t.substr(f,8)===wo?(s=wo,f+=8):(s=e,i===0&&a(Fu)),s===e&&(t.substr(f,8)===Eo?(s=Eo,f+=8):(s=e,i===0&&a(_u)),s===e&&(t.substr(f,8)===Ao?(s=Ao,f+=8):(s=e,i===0&&a(Ru)),s===e&&(t.substr(f,8)===Io?(s=Io,f+=8):(s=e,i===0&&a(Pu)),s===e&&(t.substr(f,8)===To?(s=To,f+=8):(s=e,i===0&&a(Du)),s===e&&(t.substr(f,8)===Fo?(s=Fo,f+=8):(s=e,i===0&&a(Nu)),s===e&&(t.substr(f,8)===_o?(s=_o,f+=8):(s=e,i===0&&a(Gu)),s===e&&(t.substr(f,8)===Ro?(s=Ro,f+=8):(s=e,i===0&&a(Ou)),s===e&&(t.substr(f,8)===Po?(s=Po,f+=8):(s=e,i===0&&a(Bu)),s===e&&(t.substr(f,8)===Do?(s=Do,f+=8):(s=e,i===0&&a(zu)),s===e&&(t.substr(f,8)===No?(s=No,f+=8):(s=e,i===0&&a(ku)),s===e&&(t.substr(f,8)===Go?(s=Go,f+=8):(s=e,i===0&&a(Vu)),s===e&&(t.substr(f,8)===Oo?(s=Oo,f+=8):(s=e,i===0&&a(Wu)),s===e&&(t.substr(f,8)===Bo?(s=Bo,f+=8):(s=e,i===0&&a(Hu)),s===e&&(t.substr(f,8)===zo?(s=zo,f+=8):(s=e,i===0&&a(Uu)),s===e&&(t.substr(f,8)===ko?(s=ko,f+=8):(s=e,i===0&&a(Ku)),s===e&&(t.substr(f,8)===Vo?(s=Vo,f+=8):(s=e,i===0&&a(qu)),s===e&&(t.substr(f,8)===Ac?(s=Ac,f+=8):(s=e,i===0&&a(Em)),s===e&&(t.substr(f,8)===Wo?(s=Wo,f+=8):(s=e,i===0&&a(Zu)),s===e&&(t.substr(f,8)===Ho?(s=Ho,f+=8):(s=e,i===0&&a(Xu)),s===e&&(t.substr(f,8)===Uo?(s=Uo,f+=8):(s=e,i===0&&a(Yu)),s===e&&(t.substr(f,8)===Ko?(s=Ko,f+=8):(s=e,i===0&&a(Ju)),s===e&&(t.substr(f,8)===qo?(s=qo,f+=8):(s=e,i===0&&a(Qu)),s===e&&(t.substr(f,8)===Zo?(s=Zo,f+=8):(s=e,i===0&&a(e6)),s===e&&(t.substr(f,8)===Xo?(s=Xo,f+=8):(s=e,i===0&&a(s6)),s===e&&(t.substr(f,8)===Yo?(s=Yo,f+=8):(s=e,i===0&&a(c6)),s===e&&(t.substr(f,8)===Jo?(s=Jo,f+=8):(s=e,i===0&&a(t6)),s===e&&(t.substr(f,8)===Qo?(s=Qo,f+=8):(s=e,i===0&&a(f6)),s===e&&(t.substr(f,8)===er?(s=er,f+=8):(s=e,i===0&&a(o6)),s===e&&(t.substr(f,8)===sr?(s=sr,f+=8):(s=e,i===0&&a(r6)),s===e&&(t.substr(f,8)===cr?(s=cr,f+=8):(s=e,i===0&&a(i6)),s===e&&(t.substr(f,8)===tr?(s=tr,f+=8):(s=e,i===0&&a(a6)),s===e&&(t.substr(f,8)===fr?(s=fr,f+=8):(s=e,i===0&&a(l6)),s===e&&(t.substr(f,8)===or?(s=or,f+=8):(s=e,i===0&&a(n6)),s===e&&(t.substr(f,8)===rr?(s=rr,f+=8):(s=e,i===0&&a(g6)),s===e&&(t.substr(f,8)===ir?(s=ir,f+=8):(s=e,i===0&&a($6)),s===e&&(t.substr(f,8)===ar?(s=ar,f+=8):(s=e,i===0&&a(b6)),s===e&&(t.substr(f,8)===Ic?(s=Ic,f+=8):(s=e,i===0&&a(Am)),s===e&&(t.substr(f,8)===lr?(s=lr,f+=8):(s=e,i===0&&a(m6)),s===e&&(t.substr(f,8)===nr?(s=nr,f+=8):(s=e,i===0&&a(p6)),s===e&&(t.substr(f,8)===gr?(s=gr,f+=8):(s=e,i===0&&a(u6)),s===e&&(t.substr(f,8)===$r?(s=$r,f+=8):(s=e,i===0&&a(d6)),s===e&&(t.substr(f,8)===br?(s=br,f+=8):(s=e,i===0&&a(h6)),s===e&&(t.substr(f,8)===mr?(s=mr,f+=8):(s=e,i===0&&a(j6)),s===e&&(t.substr(f,8)===Tc?(s=Tc,f+=8):(s=e,i===0&&a(Im)),s===e&&(t.substr(f,8)===Tc?(s=Tc,f+=8):(s=e,i===0&&a(Im)),s===e&&(t.substr(f,8)===pr?(s=pr,f+=8):(s=e,i===0&&a(y6)),s===e&&(t.substr(f,8)===ur?(s=ur,f+=8):(s=e,i===0&&a(x6)),s===e&&(t.substr(f,8)===dr?(s=dr,f+=8):(s=e,i===0&&a(C6)),s===e&&(t.substr(f,8)===hr?(s=hr,f+=8):(s=e,i===0&&a(S6)),s===e&&(t.substr(f,8)===jr?(s=jr,f+=8):(s=e,i===0&&a(v6)),s===e&&(t.substr(f,8)===yr?(s=yr,f+=8):(s=e,i===0&&a(M6)),s===e&&(t.substr(f,8)===xr?(s=xr,f+=8):(s=e,i===0&&a(L6)),s===e&&(t.substr(f,8)===Cr?(s=Cr,f+=8):(s=e,i===0&&a(w6)),s===e&&(t.substr(f,8)===Sr?(s=Sr,f+=8):(s=e,i===0&&a(E6)),s===e&&(t.substr(f,8)===vr?(s=vr,f+=8):(s=e,i===0&&a(A6)),s===e&&(t.substr(f,8)===Mr?(s=Mr,f+=8):(s=e,i===0&&a(I6)),s===e&&(t.substr(f,8)===Lr?(s=Lr,f+=8):(s=e,i===0&&a(T6)),s===e&&(t.substr(f,8)===wr?(s=wr,f+=8):(s=e,i===0&&a(F6)),s===e&&(t.substr(f,8)===Er?(s=Er,f+=8):(s=e,i===0&&a(_6)),s===e&&(t.substr(f,8)===Ar?(s=Ar,f+=8):(s=e,i===0&&a(R6)),s===e&&(t.substr(f,8)===Ir?(s=Ir,f+=8):(s=e,i===0&&a(P6)),s===e&&(t.substr(f,8)===Tr?(s=Tr,f+=8):(s=e,i===0&&a(D6)),s===e&&(t.substr(f,8)===Fr?(s=Fr,f+=8):(s=e,i===0&&a(N6)),s===e&&(t.substr(f,8)===_r?(s=_r,f+=8):(s=e,i===0&&a(G6)),s===e&&(t.substr(f,8)===Fc?(s=Fc,f+=8):(s=e,i===0&&a(Tm)),s===e&&(t.substr(f,8)===Rr?(s=Rr,f+=8):(s=e,i===0&&a(O6)),s===e&&(t.substr(f,8)===Pr?(s=Pr,f+=8):(s=e,i===0&&a(B6)),s===e&&(t.substr(f,8)===Dr?(s=Dr,f+=8):(s=e,i===0&&a(z6)),s===e&&(t.substr(f,8)===Nr?(s=Nr,f+=8):(s=e,i===0&&a(k6)),s===e&&(t.substr(f,8)===Gr?(s=Gr,f+=8):(s=e,i===0&&a(V6)),s===e&&(t.substr(f,8)===Or?(s=Or,f+=8):(s=e,i===0&&a(W6)),s===e&&(t.substr(f,8)===Br?(s=Br,f+=8):(s=e,i===0&&a(H6))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function TE(){let s;return t.substr(f,8)===zr?(s=zr,f+=8):(s=e,i===0&&a(U6)),s===e&&(t.substr(f,8)===kr?(s=kr,f+=8):(s=e,i===0&&a(K6)),s===e&&(t.substr(f,8)===Vr?(s=Vr,f+=8):(s=e,i===0&&a(q6)),s===e&&(t.substr(f,8)===Wr?(s=Wr,f+=8):(s=e,i===0&&a(Z6)),s===e&&(t.substr(f,8)===Hr?(s=Hr,f+=8):(s=e,i===0&&a(X6)),s===e&&(t.substr(f,8)===Ur?(s=Ur,f+=8):(s=e,i===0&&a(Y6)),s===e&&(t.substr(f,8)===Kr?(s=Kr,f+=8):(s=e,i===0&&a(J6)),s===e&&(t.substr(f,8)===qr?(s=qr,f+=8):(s=e,i===0&&a(Q6)),s===e&&(t.substr(f,8)===Zr?(s=Zr,f+=8):(s=e,i===0&&a(e4)),s===e&&(t.substr(f,8)===Xr?(s=Xr,f+=8):(s=e,i===0&&a(s4)),s===e&&(t.substr(f,8)===Yr?(s=Yr,f+=8):(s=e,i===0&&a(c4)),s===e&&(t.substr(f,8)===Jr?(s=Jr,f+=8):(s=e,i===0&&a(t4)),s===e&&(t.substr(f,8)===Qr?(s=Qr,f+=8):(s=e,i===0&&a(f4)),s===e&&(t.substr(f,8)===ei?(s=ei,f+=8):(s=e,i===0&&a(o4)),s===e&&(t.substr(f,8)===si?(s=si,f+=8):(s=e,i===0&&a(r4)),s===e&&(t.substr(f,8)===ci?(s=ci,f+=8):(s=e,i===0&&a(i4)),s===e&&(t.substr(f,8)===ti?(s=ti,f+=8):(s=e,i===0&&a(a4)),s===e&&(t.substr(f,8)===fi?(s=fi,f+=8):(s=e,i===0&&a(l4)),s===e&&(t.substr(f,8)===oi?(s=oi,f+=8):(s=e,i===0&&a(n4)),s===e&&(t.substr(f,8)===Fc?(s=Fc,f+=8):(s=e,i===0&&a(Tm)),s===e&&(t.substr(f,8)===ri?(s=ri,f+=8):(s=e,i===0&&a(g4)),s===e&&(t.substr(f,8)===ii?(s=ii,f+=8):(s=e,i===0&&a($4)),s===e&&(t.substr(f,8)===ai?(s=ai,f+=8):(s=e,i===0&&a(b4)),s===e&&(t.substr(f,8)===li?(s=li,f+=8):(s=e,i===0&&a(m4)),s===e&&(t.substr(f,8)===ni?(s=ni,f+=8):(s=e,i===0&&a(p4)),s===e&&(t.substr(f,8)===gi?(s=gi,f+=8):(s=e,i===0&&a(u4)),s===e&&(t.substr(f,8)===$i?(s=$i,f+=8):(s=e,i===0&&a(d4)),s===e&&(t.substr(f,8)===bi?(s=bi,f+=8):(s=e,i===0&&a(h4)),s===e&&(t.substr(f,8)===mi?(s=mi,f+=8):(s=e,i===0&&a(j4)),s===e&&(t.substr(f,8)===pi?(s=pi,f+=8):(s=e,i===0&&a(y4)),s===e&&(t.substr(f,7)===ui?(s=ui,f+=7):(s=e,i===0&&a(x4)),s===e&&(t.substr(f,7)===di?(s=di,f+=7):(s=e,i===0&&a(C4)),s===e&&(t.substr(f,7)===hi?(s=hi,f+=7):(s=e,i===0&&a(S4)),s===e&&(t.substr(f,7)===ji?(s=ji,f+=7):(s=e,i===0&&a(v4)),s===e&&(t.substr(f,7)===yi?(s=yi,f+=7):(s=e,i===0&&a(M4)),s===e&&(t.substr(f,7)===xi?(s=xi,f+=7):(s=e,i===0&&a(L4)),s===e&&(t.substr(f,7)===Ci?(s=Ci,f+=7):(s=e,i===0&&a(w4)),s===e&&(t.substr(f,7)===Si?(s=Si,f+=7):(s=e,i===0&&a(E4)),s===e&&(t.substr(f,7)===vi?(s=vi,f+=7):(s=e,i===0&&a(A4)),s===e&&(t.substr(f,7)===Mi?(s=Mi,f+=7):(s=e,i===0&&a(I4)),s===e&&(t.substr(f,7)===Li?(s=Li,f+=7):(s=e,i===0&&a(T4)),s===e&&(t.substr(f,7)===wi?(s=wi,f+=7):(s=e,i===0&&a(F4)),s===e&&(t.substr(f,7)===Ei?(s=Ei,f+=7):(s=e,i===0&&a(_4)),s===e&&(t.substr(f,7)===Ai?(s=Ai,f+=7):(s=e,i===0&&a(R4)),s===e&&(t.substr(f,7)===Ii?(s=Ii,f+=7):(s=e,i===0&&a(P4)),s===e&&(t.substr(f,7)===Ti?(s=Ti,f+=7):(s=e,i===0&&a(D4)),s===e&&(t.substr(f,7)===Fi?(s=Fi,f+=7):(s=e,i===0&&a(N4)),s===e&&(t.substr(f,7)===_i?(s=_i,f+=7):(s=e,i===0&&a(G4)),s===e&&(t.substr(f,7)===Ri?(s=Ri,f+=7):(s=e,i===0&&a(O4)),s===e&&(t.substr(f,7)===Pi?(s=Pi,f+=7):(s=e,i===0&&a(B4)),s===e&&(t.substr(f,7)===Di?(s=Di,f+=7):(s=e,i===0&&a(z4)),s===e&&(t.substr(f,7)===Ni?(s=Ni,f+=7):(s=e,i===0&&a(k4)),s===e&&(t.substr(f,7)===Gi?(s=Gi,f+=7):(s=e,i===0&&a(V4)),s===e&&(t.substr(f,7)===Oi?(s=Oi,f+=7):(s=e,i===0&&a(W4)),s===e&&(t.substr(f,7)===Bi?(s=Bi,f+=7):(s=e,i===0&&a(H4)),s===e&&(t.substr(f,7)===_c?(s=_c,f+=7):(s=e,i===0&&a(Fm)),s===e&&(t.substr(f,7)===zi?(s=zi,f+=7):(s=e,i===0&&a(U4)),s===e&&(t.substr(f,7)===ki?(s=ki,f+=7):(s=e,i===0&&a(K4)),s===e&&(t.substr(f,7)===Vi?(s=Vi,f+=7):(s=e,i===0&&a(q4)),s===e&&(t.substr(f,7)===Wi?(s=Wi,f+=7):(s=e,i===0&&a(Z4)),s===e&&(t.substr(f,7)===Hi?(s=Hi,f+=7):(s=e,i===0&&a(X4)),s===e&&(t.substr(f,7)===Ui?(s=Ui,f+=7):(s=e,i===0&&a(Y4)),s===e&&(t.substr(f,7)===Ki?(s=Ki,f+=7):(s=e,i===0&&a(J4)),s===e&&(t.substr(f,7)===qi?(s=qi,f+=7):(s=e,i===0&&a(Q4)),s===e&&(t.substr(f,7)===Zi?(s=Zi,f+=7):(s=e,i===0&&a(e2)),s===e&&(t.substr(f,7)===Xi?(s=Xi,f+=7):(s=e,i===0&&a(s2)),s===e&&(t.substr(f,7)===Yi?(s=Yi,f+=7):(s=e,i===0&&a(c2)),s===e&&(t.substr(f,7)===Ji?(s=Ji,f+=7):(s=e,i===0&&a(t2)),s===e&&(t.substr(f,7)===Qi?(s=Qi,f+=7):(s=e,i===0&&a(f2)),s===e&&(t.substr(f,7)===ea?(s=ea,f+=7):(s=e,i===0&&a(o2)),s===e&&(t.substr(f,7)===sa?(s=sa,f+=7):(s=e,i===0&&a(r2)),s===e&&(t.substr(f,7)===ca?(s=ca,f+=7):(s=e,i===0&&a(i2)),s===e&&(t.substr(f,7)===ta?(s=ta,f+=7):(s=e,i===0&&a(a2)),s===e&&(t.substr(f,7)===fa?(s=fa,f+=7):(s=e,i===0&&a(l2)),s===e&&(t.substr(f,7)===oa?(s=oa,f+=7):(s=e,i===0&&a(n2)),s===e&&(t.substr(f,7)===ra?(s=ra,f+=7):(s=e,i===0&&a(g2)),s===e&&(t.substr(f,7)===ia?(s=ia,f+=7):(s=e,i===0&&a($2)),s===e&&(t.substr(f,7)===aa?(s=aa,f+=7):(s=e,i===0&&a(b2)),s===e&&(t.substr(f,7)===la?(s=la,f+=7):(s=e,i===0&&a(m2)),s===e&&(t.substr(f,7)===na?(s=na,f+=7):(s=e,i===0&&a(p2)),s===e&&(t.substr(f,7)===ga?(s=ga,f+=7):(s=e,i===0&&a(u2)),s===e&&(t.substr(f,7)===$a?(s=$a,f+=7):(s=e,i===0&&a(d2)),s===e&&(t.substr(f,7)===Rc?(s=Rc,f+=7):(s=e,i===0&&a(_m)),s===e&&(t.substr(f,7)===Rc?(s=Rc,f+=7):(s=e,i===0&&a(_m)),s===e&&(t.substr(f,7)===ba?(s=ba,f+=7):(s=e,i===0&&a(h2)),s===e&&(t.substr(f,7)===ma?(s=ma,f+=7):(s=e,i===0&&a(j2)),s===e&&(t.substr(f,7)===pa?(s=pa,f+=7):(s=e,i===0&&a(y2)),s===e&&(t.substr(f,7)===Pc?(s=Pc,f+=7):(s=e,i===0&&a(Rm)),s===e&&(t.substr(f,7)===ua?(s=ua,f+=7):(s=e,i===0&&a(x2)),s===e&&(t.substr(f,7)===da?(s=da,f+=7):(s=e,i===0&&a(C2)),s===e&&(t.substr(f,7)===ha?(s=ha,f+=7):(s=e,i===0&&a(S2)),s===e&&(t.substr(f,7)===ja?(s=ja,f+=7):(s=e,i===0&&a(v2)),s===e&&(t.substr(f,7)===ya?(s=ya,f+=7):(s=e,i===0&&a(M2)),s===e&&(t.substr(f,7)===xa?(s=xa,f+=7):(s=e,i===0&&a(L2)),s===e&&(t.substr(f,7)===Ca?(s=Ca,f+=7):(s=e,i===0&&a(w2)),s===e&&(t.substr(f,7)===Sa?(s=Sa,f+=7):(s=e,i===0&&a(E2)),s===e&&(t.substr(f,7)===va?(s=va,f+=7):(s=e,i===0&&a(A2)),s===e&&(t.substr(f,7)===Ma?(s=Ma,f+=7):(s=e,i===0&&a(I2)),s===e&&(t.substr(f,7)===La?(s=La,f+=7):(s=e,i===0&&a(T2)),s===e&&(t.substr(f,7)===wa?(s=wa,f+=7):(s=e,i===0&&a(F2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function FE(){let s;return t.substr(f,7)===Ea?(s=Ea,f+=7):(s=e,i===0&&a(_2)),s===e&&(t.substr(f,7)===Aa?(s=Aa,f+=7):(s=e,i===0&&a(R2)),s===e&&(t.substr(f,7)===Ia?(s=Ia,f+=7):(s=e,i===0&&a(P2)),s===e&&(t.substr(f,7)===Ta?(s=Ta,f+=7):(s=e,i===0&&a(D2)),s===e&&(t.substr(f,7)===Fa?(s=Fa,f+=7):(s=e,i===0&&a(N2)),s===e&&(t.substr(f,7)===_a?(s=_a,f+=7):(s=e,i===0&&a(G2)),s===e&&(t.substr(f,7)===Ra?(s=Ra,f+=7):(s=e,i===0&&a(O2)),s===e&&(t.substr(f,7)===Pa?(s=Pa,f+=7):(s=e,i===0&&a(B2)),s===e&&(t.substr(f,7)===Da?(s=Da,f+=7):(s=e,i===0&&a(z2)),s===e&&(t.substr(f,7)===Na?(s=Na,f+=7):(s=e,i===0&&a(k2)),s===e&&(t.substr(f,7)===Ga?(s=Ga,f+=7):(s=e,i===0&&a(V2)),s===e&&(t.substr(f,7)===Oa?(s=Oa,f+=7):(s=e,i===0&&a(W2)),s===e&&(t.substr(f,7)===Ba?(s=Ba,f+=7):(s=e,i===0&&a(H2)),s===e&&(t.substr(f,7)===za?(s=za,f+=7):(s=e,i===0&&a(U2)),s===e&&(t.substr(f,7)===Dc?(s=Dc,f+=7):(s=e,i===0&&a(Pm)),s===e&&(t.substr(f,7)===Dc?(s=Dc,f+=7):(s=e,i===0&&a(Pm)),s===e&&(t.substr(f,7)===ka?(s=ka,f+=7):(s=e,i===0&&a(K2)),s===e&&(t.substr(f,7)===Va?(s=Va,f+=7):(s=e,i===0&&a(q2)),s===e&&(t.substr(f,7)===Wa?(s=Wa,f+=7):(s=e,i===0&&a(Z2)),s===e&&(t.substr(f,7)===Ha?(s=Ha,f+=7):(s=e,i===0&&a(X2)),s===e&&(t.substr(f,7)===Ua?(s=Ua,f+=7):(s=e,i===0&&a(Y2)),s===e&&(t.substr(f,7)===Ka?(s=Ka,f+=7):(s=e,i===0&&a(J2)),s===e&&(t.substr(f,7)===qa?(s=qa,f+=7):(s=e,i===0&&a(Q2)),s===e&&(t.substr(f,7)===Za?(s=Za,f+=7):(s=e,i===0&&a(ed)),s===e&&(t.substr(f,7)===Xa?(s=Xa,f+=7):(s=e,i===0&&a(sd)),s===e&&(t.substr(f,7)===Ya?(s=Ya,f+=7):(s=e,i===0&&a(cd)),s===e&&(t.substr(f,7)===Ja?(s=Ja,f+=7):(s=e,i===0&&a(td)),s===e&&(t.substr(f,7)===Qa?(s=Qa,f+=7):(s=e,i===0&&a(fd)),s===e&&(t.substr(f,7)===el?(s=el,f+=7):(s=e,i===0&&a(od)),s===e&&(t.substr(f,7)===sl?(s=sl,f+=7):(s=e,i===0&&a(rd)),s===e&&(t.substr(f,7)===cl?(s=cl,f+=7):(s=e,i===0&&a(id)),s===e&&(t.substr(f,7)===tl?(s=tl,f+=7):(s=e,i===0&&a(ad)),s===e&&(t.substr(f,7)===fl?(s=fl,f+=7):(s=e,i===0&&a(ld)),s===e&&(t.substr(f,7)===ol?(s=ol,f+=7):(s=e,i===0&&a(nd)),s===e&&(t.substr(f,7)===rl?(s=rl,f+=7):(s=e,i===0&&a(gd)),s===e&&(t.substr(f,7)===il?(s=il,f+=7):(s=e,i===0&&a($d)),s===e&&(t.substr(f,7)===al?(s=al,f+=7):(s=e,i===0&&a(bd)),s===e&&(t.substr(f,7)===ll?(s=ll,f+=7):(s=e,i===0&&a(md)),s===e&&(t.substr(f,7)===nl?(s=nl,f+=7):(s=e,i===0&&a(pd)),s===e&&(t.substr(f,7)===gl?(s=gl,f+=7):(s=e,i===0&&a(ud)),s===e&&(t.substr(f,7)===$l?(s=$l,f+=7):(s=e,i===0&&a(dd)),s===e&&(t.substr(f,7)===bl?(s=bl,f+=7):(s=e,i===0&&a(hd)),s===e&&(t.substr(f,7)===ml?(s=ml,f+=7):(s=e,i===0&&a(jd)),s===e&&(t.substr(f,7)===pl?(s=pl,f+=7):(s=e,i===0&&a(yd)),s===e&&(t.substr(f,7)===ul?(s=ul,f+=7):(s=e,i===0&&a(xd)),s===e&&(t.substr(f,7)===dl?(s=dl,f+=7):(s=e,i===0&&a(Cd)),s===e&&(t.substr(f,7)===hl?(s=hl,f+=7):(s=e,i===0&&a(Sd)),s===e&&(t.substr(f,7)===jl?(s=jl,f+=7):(s=e,i===0&&a(vd)),s===e&&(t.substr(f,7)===yl?(s=yl,f+=7):(s=e,i===0&&a(Md)),s===e&&(t.substr(f,7)===xl?(s=xl,f+=7):(s=e,i===0&&a(Ld)),s===e&&(t.substr(f,7)===Cl?(s=Cl,f+=7):(s=e,i===0&&a(wd)),s===e&&(t.substr(f,7)===Sl?(s=Sl,f+=7):(s=e,i===0&&a(Ed)),s===e&&(t.substr(f,7)===vl?(s=vl,f+=7):(s=e,i===0&&a(Ad)),s===e&&(t.substr(f,7)===Ml?(s=Ml,f+=7):(s=e,i===0&&a(Id)),s===e&&(t.substr(f,7)===Ll?(s=Ll,f+=7):(s=e,i===0&&a(Td)),s===e&&(t.substr(f,7)===wl?(s=wl,f+=7):(s=e,i===0&&a(Fd)),s===e&&(t.substr(f,7)===El?(s=El,f+=7):(s=e,i===0&&a(_d)),s===e&&(t.substr(f,7)===Al?(s=Al,f+=7):(s=e,i===0&&a(Rd)),s===e&&(t.substr(f,7)===Il?(s=Il,f+=7):(s=e,i===0&&a(Pd)),s===e&&(t.substr(f,7)===Tl?(s=Tl,f+=7):(s=e,i===0&&a(Dd)),s===e&&(t.substr(f,7)===Fl?(s=Fl,f+=7):(s=e,i===0&&a(Nd)),s===e&&(t.substr(f,7)===_l?(s=_l,f+=7):(s=e,i===0&&a(Gd)),s===e&&(t.substr(f,7)===Rl?(s=Rl,f+=7):(s=e,i===0&&a(Od)),s===e&&(t.substr(f,7)===Pl?(s=Pl,f+=7):(s=e,i===0&&a(Bd)),s===e&&(t.substr(f,7)===Dl?(s=Dl,f+=7):(s=e,i===0&&a(zd)),s===e&&(t.substr(f,7)===Nl?(s=Nl,f+=7):(s=e,i===0&&a(kd)),s===e&&(t.substr(f,7)===Gl?(s=Gl,f+=7):(s=e,i===0&&a(Vd)),s===e&&(t.substr(f,7)===Ol?(s=Ol,f+=7):(s=e,i===0&&a(Wd)),s===e&&(t.substr(f,7)===Bl?(s=Bl,f+=7):(s=e,i===0&&a(Hd)),s===e&&(t.substr(f,7)===zl?(s=zl,f+=7):(s=e,i===0&&a(Ud)),s===e&&(t.substr(f,7)===kl?(s=kl,f+=7):(s=e,i===0&&a(Kd)),s===e&&(t.substr(f,7)===Vl?(s=Vl,f+=7):(s=e,i===0&&a(qd)),s===e&&(t.substr(f,7)===Wl?(s=Wl,f+=7):(s=e,i===0&&a(Zd)),s===e&&(t.substr(f,7)===Hl?(s=Hl,f+=7):(s=e,i===0&&a(Xd)),s===e&&(t.substr(f,7)===Ul?(s=Ul,f+=7):(s=e,i===0&&a(Yd)),s===e&&(t.substr(f,7)===Kl?(s=Kl,f+=7):(s=e,i===0&&a(Jd)),s===e&&(t.substr(f,7)===ql?(s=ql,f+=7):(s=e,i===0&&a(Qd)),s===e&&(t.substr(f,7)===Zl?(s=Zl,f+=7):(s=e,i===0&&a(e8)),s===e&&(t.substr(f,7)===Xl?(s=Xl,f+=7):(s=e,i===0&&a(s8)),s===e&&(t.substr(f,7)===Yl?(s=Yl,f+=7):(s=e,i===0&&a(c8)),s===e&&(t.substr(f,7)===Jl?(s=Jl,f+=7):(s=e,i===0&&a(t8)),s===e&&(t.substr(f,7)===Ql?(s=Ql,f+=7):(s=e,i===0&&a(f8)),s===e&&(t.substr(f,7)===en?(s=en,f+=7):(s=e,i===0&&a(o8)),s===e&&(t.substr(f,7)===sn?(s=sn,f+=7):(s=e,i===0&&a(r8)),s===e&&(t.substr(f,7)===cn?(s=cn,f+=7):(s=e,i===0&&a(i8)),s===e&&(t.substr(f,7)===tn?(s=tn,f+=7):(s=e,i===0&&a(a8)),s===e&&(t.substr(f,7)===fn?(s=fn,f+=7):(s=e,i===0&&a(l8)),s===e&&(t.substr(f,7)===on?(s=on,f+=7):(s=e,i===0&&a(n8)),s===e&&(t.substr(f,7)===rn?(s=rn,f+=7):(s=e,i===0&&a(g8)),s===e&&(t.substr(f,7)===an?(s=an,f+=7):(s=e,i===0&&a($8)),s===e&&(t.substr(f,7)===ln?(s=ln,f+=7):(s=e,i===0&&a(b8)),s===e&&(t.substr(f,7)===nn?(s=nn,f+=7):(s=e,i===0&&a(m8)),s===e&&(t.substr(f,7)===gn?(s=gn,f+=7):(s=e,i===0&&a(p8)),s===e&&(t.substr(f,7)===$n?(s=$n,f+=7):(s=e,i===0&&a(u8)),s===e&&(t.substr(f,7)===bn?(s=bn,f+=7):(s=e,i===0&&a(d8)),s===e&&(t.substr(f,7)===mn?(s=mn,f+=7):(s=e,i===0&&a(h8)),s===e&&(t.substr(f,7)===pn?(s=pn,f+=7):(s=e,i===0&&a(j8)),s===e&&(t.substr(f,7)===un?(s=un,f+=7):(s=e,i===0&&a(y8)),s===e&&(t.substr(f,7)===dn?(s=dn,f+=7):(s=e,i===0&&a(x8)),s===e&&(t.substr(f,7)===hn?(s=hn,f+=7):(s=e,i===0&&a(C8))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function _E(){let s;return t.substr(f,7)===jn?(s=jn,f+=7):(s=e,i===0&&a(S8)),s===e&&(t.substr(f,7)===yn?(s=yn,f+=7):(s=e,i===0&&a(v8)),s===e&&(t.substr(f,7)===xn?(s=xn,f+=7):(s=e,i===0&&a(M8)),s===e&&(t.substr(f,7)===Cn?(s=Cn,f+=7):(s=e,i===0&&a(L8)),s===e&&(t.substr(f,6)===Sn?(s=Sn,f+=6):(s=e,i===0&&a(w8)),s===e&&(t.substr(f,6)===vn?(s=vn,f+=6):(s=e,i===0&&a(E8)),s===e&&(t.substr(f,6)===Mn?(s=Mn,f+=6):(s=e,i===0&&a(A8)),s===e&&(t.substr(f,6)===Ln?(s=Ln,f+=6):(s=e,i===0&&a(I8)),s===e&&(t.substr(f,6)===wn?(s=wn,f+=6):(s=e,i===0&&a(T8)),s===e&&(t.substr(f,6)===En?(s=En,f+=6):(s=e,i===0&&a(F8)),s===e&&(t.substr(f,6)===An?(s=An,f+=6):(s=e,i===0&&a(_8)),s===e&&(t.substr(f,6)===In?(s=In,f+=6):(s=e,i===0&&a(R8)),s===e&&(t.substr(f,6)===Tn?(s=Tn,f+=6):(s=e,i===0&&a(P8)),s===e&&(t.substr(f,6)===Fn?(s=Fn,f+=6):(s=e,i===0&&a(D8)),s===e&&(t.substr(f,6)===_n?(s=_n,f+=6):(s=e,i===0&&a(N8)),s===e&&(t.substr(f,6)===Rn?(s=Rn,f+=6):(s=e,i===0&&a(G8)),s===e&&(t.substr(f,6)===Pn?(s=Pn,f+=6):(s=e,i===0&&a(O8)),s===e&&(t.substr(f,6)===Dn?(s=Dn,f+=6):(s=e,i===0&&a(B8)),s===e&&(t.substr(f,6)===Nn?(s=Nn,f+=6):(s=e,i===0&&a(z8)),s===e&&(t.substr(f,6)===Gn?(s=Gn,f+=6):(s=e,i===0&&a(k8)),s===e&&(t.substr(f,6)===On?(s=On,f+=6):(s=e,i===0&&a(V8)),s===e&&(t.substr(f,6)===Bn?(s=Bn,f+=6):(s=e,i===0&&a(W8)),s===e&&(t.substr(f,6)===zn?(s=zn,f+=6):(s=e,i===0&&a(H8)),s===e&&(t.substr(f,6)===kn?(s=kn,f+=6):(s=e,i===0&&a(U8)),s===e&&(t.substr(f,6)===Nc?(s=Nc,f+=6):(s=e,i===0&&a(Dm)),s===e&&(t.substr(f,6)===Vn?(s=Vn,f+=6):(s=e,i===0&&a(K8)),s===e&&(t.substr(f,6)===Wn?(s=Wn,f+=6):(s=e,i===0&&a(q8)),s===e&&(t.substr(f,6)===Hn?(s=Hn,f+=6):(s=e,i===0&&a(Z8)),s===e&&(t.substr(f,6)===Un?(s=Un,f+=6):(s=e,i===0&&a(X8)),s===e&&(t.substr(f,6)===Kn?(s=Kn,f+=6):(s=e,i===0&&a(Y8)),s===e&&(t.substr(f,6)===qn?(s=qn,f+=6):(s=e,i===0&&a(J8)),s===e&&(t.substr(f,6)===Zn?(s=Zn,f+=6):(s=e,i===0&&a(Q8)),s===e&&(t.substr(f,6)===Xn?(s=Xn,f+=6):(s=e,i===0&&a(eh)),s===e&&(t.substr(f,6)===Yn?(s=Yn,f+=6):(s=e,i===0&&a(sh)),s===e&&(t.substr(f,6)===Jn?(s=Jn,f+=6):(s=e,i===0&&a(ch)),s===e&&(t.substr(f,6)===Qn?(s=Qn,f+=6):(s=e,i===0&&a(th)),s===e&&(t.substr(f,6)===eg?(s=eg,f+=6):(s=e,i===0&&a(fh)),s===e&&(t.substr(f,6)===sg?(s=sg,f+=6):(s=e,i===0&&a(oh)),s===e&&(t.substr(f,6)===cg?(s=cg,f+=6):(s=e,i===0&&a(rh)),s===e&&(t.substr(f,6)===tg?(s=tg,f+=6):(s=e,i===0&&a(ih)),s===e&&(t.substr(f,6)===fg?(s=fg,f+=6):(s=e,i===0&&a(ah)),s===e&&(t.substr(f,6)===og?(s=og,f+=6):(s=e,i===0&&a(lh)),s===e&&(t.substr(f,6)===rg?(s=rg,f+=6):(s=e,i===0&&a(nh)),s===e&&(t.substr(f,6)===ig?(s=ig,f+=6):(s=e,i===0&&a(gh)),s===e&&(t.substr(f,6)===ag?(s=ag,f+=6):(s=e,i===0&&a($h)),s===e&&(t.substr(f,6)===lg?(s=lg,f+=6):(s=e,i===0&&a(bh)),s===e&&(t.substr(f,6)===ng?(s=ng,f+=6):(s=e,i===0&&a(mh)),s===e&&(t.substr(f,6)===gg?(s=gg,f+=6):(s=e,i===0&&a(ph)),s===e&&(t.substr(f,6)===$g?(s=$g,f+=6):(s=e,i===0&&a(uh)),s===e&&(t.substr(f,6)===bg?(s=bg,f+=6):(s=e,i===0&&a(dh)),s===e&&(t.substr(f,6)===mg?(s=mg,f+=6):(s=e,i===0&&a(hh)),s===e&&(t.substr(f,6)===Gc?(s=Gc,f+=6):(s=e,i===0&&a(Nm)),s===e&&(t.substr(f,6)===Gc?(s=Gc,f+=6):(s=e,i===0&&a(Nm)),s===e&&(t.substr(f,6)===pg?(s=pg,f+=6):(s=e,i===0&&a(jh)),s===e&&(t.substr(f,6)===ug?(s=ug,f+=6):(s=e,i===0&&a(yh)),s===e&&(t.substr(f,6)===dg?(s=dg,f+=6):(s=e,i===0&&a(xh)),s===e&&(t.substr(f,6)===hg?(s=hg,f+=6):(s=e,i===0&&a(Ch)),s===e&&(t.substr(f,6)===jg?(s=jg,f+=6):(s=e,i===0&&a(Sh)),s===e&&(t.substr(f,6)===yg?(s=yg,f+=6):(s=e,i===0&&a(vh)),s===e&&(t.substr(f,6)===xg?(s=xg,f+=6):(s=e,i===0&&a(Mh)),s===e&&(t.substr(f,6)===Cg?(s=Cg,f+=6):(s=e,i===0&&a(Lh)),s===e&&(t.substr(f,6)===Sg?(s=Sg,f+=6):(s=e,i===0&&a(wh)),s===e&&(t.substr(f,6)===vg?(s=vg,f+=6):(s=e,i===0&&a(Eh)),s===e&&(t.substr(f,6)===Mg?(s=Mg,f+=6):(s=e,i===0&&a(Ah)),s===e&&(t.substr(f,6)===Lg?(s=Lg,f+=6):(s=e,i===0&&a(Ih)),s===e&&(t.substr(f,6)===wg?(s=wg,f+=6):(s=e,i===0&&a(Th)),s===e&&(t.substr(f,6)===Eg?(s=Eg,f+=6):(s=e,i===0&&a(Fh)),s===e&&(t.substr(f,6)===Ag?(s=Ag,f+=6):(s=e,i===0&&a(_h)),s===e&&(t.substr(f,6)===Ig?(s=Ig,f+=6):(s=e,i===0&&a(Rh)),s===e&&(t.substr(f,6)===Tg?(s=Tg,f+=6):(s=e,i===0&&a(Ph)),s===e&&(t.substr(f,6)===Fg?(s=Fg,f+=6):(s=e,i===0&&a(Dh)),s===e&&(t.substr(f,6)===_g?(s=_g,f+=6):(s=e,i===0&&a(Nh)),s===e&&(t.substr(f,6)===Rg?(s=Rg,f+=6):(s=e,i===0&&a(Gh)),s===e&&(t.substr(f,6)===Pg?(s=Pg,f+=6):(s=e,i===0&&a(Oh)),s===e&&(t.substr(f,6)===Dg?(s=Dg,f+=6):(s=e,i===0&&a(Bh)),s===e&&(t.substr(f,6)===Ng?(s=Ng,f+=6):(s=e,i===0&&a(zh)),s===e&&(t.substr(f,6)===Gg?(s=Gg,f+=6):(s=e,i===0&&a(kh)),s===e&&(t.substr(f,6)===Og?(s=Og,f+=6):(s=e,i===0&&a(Vh)),s===e&&(t.substr(f,6)===Bg?(s=Bg,f+=6):(s=e,i===0&&a(Wh)),s===e&&(t.substr(f,6)===zg?(s=zg,f+=6):(s=e,i===0&&a(Hh)),s===e&&(t.substr(f,6)===kg?(s=kg,f+=6):(s=e,i===0&&a(Uh)),s===e&&(t.substr(f,6)===Vg?(s=Vg,f+=6):(s=e,i===0&&a(Kh)),s===e&&(t.substr(f,6)===Wg?(s=Wg,f+=6):(s=e,i===0&&a(qh)),s===e&&(t.substr(f,6)===Hg?(s=Hg,f+=6):(s=e,i===0&&a(Zh)),s===e&&(t.substr(f,6)===Ug?(s=Ug,f+=6):(s=e,i===0&&a(Xh)),s===e&&(t.substr(f,6)===Kg?(s=Kg,f+=6):(s=e,i===0&&a(Yh)),s===e&&(t.substr(f,6)===qg?(s=qg,f+=6):(s=e,i===0&&a(Jh)),s===e&&(t.substr(f,6)===Zg?(s=Zg,f+=6):(s=e,i===0&&a(Qh)),s===e&&(t.substr(f,6)===Xg?(s=Xg,f+=6):(s=e,i===0&&a(ej)),s===e&&(t.substr(f,6)===Yg?(s=Yg,f+=6):(s=e,i===0&&a(sj)),s===e&&(t.substr(f,6)===Jg?(s=Jg,f+=6):(s=e,i===0&&a(cj)),s===e&&(t.substr(f,6)===Qg?(s=Qg,f+=6):(s=e,i===0&&a(tj)),s===e&&(t.substr(f,6)===e$?(s=e$,f+=6):(s=e,i===0&&a(fj)),s===e&&(t.substr(f,6)===s$?(s=s$,f+=6):(s=e,i===0&&a(oj)),s===e&&(t.substr(f,6)===c$?(s=c$,f+=6):(s=e,i===0&&a(rj)),s===e&&(t.substr(f,6)===t$?(s=t$,f+=6):(s=e,i===0&&a(ij)),s===e&&(t.substr(f,6)===f$?(s=f$,f+=6):(s=e,i===0&&a(aj)),s===e&&(t.substr(f,6)===o$?(s=o$,f+=6):(s=e,i===0&&a(lj)),s===e&&(t.substr(f,6)===r$?(s=r$,f+=6):(s=e,i===0&&a(nj)),s===e&&(t.substr(f,6)===i$?(s=i$,f+=6):(s=e,i===0&&a(gj))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function RE(){let s;return t.substr(f,6)===a$?(s=a$,f+=6):(s=e,i===0&&a($j)),s===e&&(t.substr(f,6)===l$?(s=l$,f+=6):(s=e,i===0&&a(bj)),s===e&&(t.substr(f,6)===n$?(s=n$,f+=6):(s=e,i===0&&a(mj)),s===e&&(t.substr(f,6)===qe?(s=qe,f+=6):(s=e,i===0&&a(g$)),s===e&&(t.substr(f,6)===$$?(s=$$,f+=6):(s=e,i===0&&a(pj)),s===e&&(t.substr(f,6)===b$?(s=b$,f+=6):(s=e,i===0&&a(uj)),s===e&&(t.substr(f,6)===m$?(s=m$,f+=6):(s=e,i===0&&a(dj)),s===e&&(t.substr(f,6)===p$?(s=p$,f+=6):(s=e,i===0&&a(hj)),s===e&&(t.substr(f,6)===u$?(s=u$,f+=6):(s=e,i===0&&a(jj)),s===e&&(t.substr(f,6)===d$?(s=d$,f+=6):(s=e,i===0&&a(yj)),s===e&&(t.substr(f,6)===h$?(s=h$,f+=6):(s=e,i===0&&a(xj)),s===e&&(t.substr(f,6)===j$?(s=j$,f+=6):(s=e,i===0&&a(Cj)),s===e&&(t.substr(f,6)===y$?(s=y$,f+=6):(s=e,i===0&&a(Sj)),s===e&&(t.substr(f,6)===x$?(s=x$,f+=6):(s=e,i===0&&a(vj)),s===e&&(t.substr(f,6)===C$?(s=C$,f+=6):(s=e,i===0&&a(Mj)),s===e&&(t.substr(f,6)===S$?(s=S$,f+=6):(s=e,i===0&&a(Lj)),s===e&&(t.substr(f,6)===v$?(s=v$,f+=6):(s=e,i===0&&a(wj)),s===e&&(t.substr(f,6)===M$?(s=M$,f+=6):(s=e,i===0&&a(Ej)),s===e&&(t.substr(f,6)===L$?(s=L$,f+=6):(s=e,i===0&&a(Aj)),s===e&&(t.substr(f,6)===w$?(s=w$,f+=6):(s=e,i===0&&a(Ij)),s===e&&(t.substr(f,6)===E$?(s=E$,f+=6):(s=e,i===0&&a(Tj)),s===e&&(t.substr(f,6)===A$?(s=A$,f+=6):(s=e,i===0&&a(Fj)),s===e&&(t.substr(f,6)===Oc?(s=Oc,f+=6):(s=e,i===0&&a(Gm)),s===e&&(t.substr(f,6)===I$?(s=I$,f+=6):(s=e,i===0&&a(_j)),s===e&&(t.substr(f,6)===T$?(s=T$,f+=6):(s=e,i===0&&a(Rj)),s===e&&(t.substr(f,6)===F$?(s=F$,f+=6):(s=e,i===0&&a(Pj)),s===e&&(t.substr(f,6)===_$?(s=_$,f+=6):(s=e,i===0&&a(Dj)),s===e&&(t.substr(f,6)===R$?(s=R$,f+=6):(s=e,i===0&&a(Nj)),s===e&&(t.substr(f,6)===P$?(s=P$,f+=6):(s=e,i===0&&a(Gj)),s===e&&(t.substr(f,6)===D$?(s=D$,f+=6):(s=e,i===0&&a(Oj)),s===e&&(t.substr(f,6)===Ze?(s=Ze,f+=6):(s=e,i===0&&a(N$)),s===e&&(t.substr(f,6)===G$?(s=G$,f+=6):(s=e,i===0&&a(Bj)),s===e&&(t.substr(f,6)===O$?(s=O$,f+=6):(s=e,i===0&&a(zj)),s===e&&(t.substr(f,6)===B$?(s=B$,f+=6):(s=e,i===0&&a(kj)),s===e&&(t.substr(f,6)===z$?(s=z$,f+=6):(s=e,i===0&&a(Vj)),s===e&&(t.substr(f,6)===k$?(s=k$,f+=6):(s=e,i===0&&a(Wj)),s===e&&(t.substr(f,6)===V$?(s=V$,f+=6):(s=e,i===0&&a(Hj)),s===e&&(t.substr(f,6)===W$?(s=W$,f+=6):(s=e,i===0&&a(Uj)),s===e&&(t.substr(f,6)===H$?(s=H$,f+=6):(s=e,i===0&&a(Kj)),s===e&&(t.substr(f,6)===U$?(s=U$,f+=6):(s=e,i===0&&a(qj)),s===e&&(t.substr(f,6)===Ze?(s=Ze,f+=6):(s=e,i===0&&a(N$)),s===e&&(t.substr(f,6)===K$?(s=K$,f+=6):(s=e,i===0&&a(Zj)),s===e&&(t.substr(f,6)===q$?(s=q$,f+=6):(s=e,i===0&&a(Xj)),s===e&&(t.substr(f,6)===Z$?(s=Z$,f+=6):(s=e,i===0&&a(Yj)),s===e&&(t.substr(f,6)===X$?(s=X$,f+=6):(s=e,i===0&&a(Jj)),s===e&&(t.substr(f,6)===Y$?(s=Y$,f+=6):(s=e,i===0&&a(Qj)),s===e&&(t.substr(f,6)===J$?(s=J$,f+=6):(s=e,i===0&&a(ey)),s===e&&(t.substr(f,6)===Q$?(s=Q$,f+=6):(s=e,i===0&&a(sy)),s===e&&(t.substr(f,6)===e5?(s=e5,f+=6):(s=e,i===0&&a(cy)),s===e&&(t.substr(f,6)===s5?(s=s5,f+=6):(s=e,i===0&&a(ty)),s===e&&(t.substr(f,6)===Bc?(s=Bc,f+=6):(s=e,i===0&&a(Om)),s===e&&(t.substr(f,6)===c5?(s=c5,f+=6):(s=e,i===0&&a(fy)),s===e&&(t.substr(f,6)===t5?(s=t5,f+=6):(s=e,i===0&&a(oy)),s===e&&(t.substr(f,6)===f5?(s=f5,f+=6):(s=e,i===0&&a(ry)),s===e&&(t.substr(f,6)===o5?(s=o5,f+=6):(s=e,i===0&&a(iy)),s===e&&(t.substr(f,6)===zc?(s=zc,f+=6):(s=e,i===0&&a(Bm)),s===e&&(t.substr(f,6)===r5?(s=r5,f+=6):(s=e,i===0&&a(ay)),s===e&&(t.substr(f,6)===i5?(s=i5,f+=6):(s=e,i===0&&a(ly)),s===e&&(t.substr(f,6)===a5?(s=a5,f+=6):(s=e,i===0&&a(ny)),s===e&&(t.substr(f,6)===l5?(s=l5,f+=6):(s=e,i===0&&a(gy)),s===e&&(t.substr(f,6)===Ze?(s=Ze,f+=6):(s=e,i===0&&a(N$)),s===e&&(t.substr(f,6)===n5?(s=n5,f+=6):(s=e,i===0&&a($y)),s===e&&(t.substr(f,6)===g5?(s=g5,f+=6):(s=e,i===0&&a(by)),s===e&&(t.substr(f,6)===$5?(s=$5,f+=6):(s=e,i===0&&a(my)),s===e&&(t.substr(f,6)===b5?(s=b5,f+=6):(s=e,i===0&&a(py)),s===e&&(t.substr(f,6)===m5?(s=m5,f+=6):(s=e,i===0&&a(uy)),s===e&&(t.substr(f,6)===Bc?(s=Bc,f+=6):(s=e,i===0&&a(Om)),s===e&&(t.substr(f,6)===p5?(s=p5,f+=6):(s=e,i===0&&a(dy)),s===e&&(t.substr(f,6)===u5?(s=u5,f+=6):(s=e,i===0&&a(hy)),s===e&&(t.substr(f,6)===d5?(s=d5,f+=6):(s=e,i===0&&a(jy)),s===e&&(t.substr(f,6)===h5?(s=h5,f+=6):(s=e,i===0&&a(yy)),s===e&&(t.substr(f,6)===j5?(s=j5,f+=6):(s=e,i===0&&a(xy)),s===e&&(t.substr(f,6)===y5?(s=y5,f+=6):(s=e,i===0&&a(Cy)),s===e&&(t.substr(f,5)===x5?(s=x5,f+=5):(s=e,i===0&&a(Sy)),s===e&&(t.substr(f,5)===C5?(s=C5,f+=5):(s=e,i===0&&a(vy)),s===e&&(t.substr(f,5)===S5?(s=S5,f+=5):(s=e,i===0&&a(My)),s===e&&(t.substr(f,5)===v5?(s=v5,f+=5):(s=e,i===0&&a(Ly)),s===e&&(t.substr(f,5)===M5?(s=M5,f+=5):(s=e,i===0&&a(wy)),s===e&&(t.substr(f,5)===L5?(s=L5,f+=5):(s=e,i===0&&a(Ey)),s===e&&(t.substr(f,5)===w5?(s=w5,f+=5):(s=e,i===0&&a(Ay)),s===e&&(t.substr(f,5)===E5?(s=E5,f+=5):(s=e,i===0&&a(Iy)),s===e&&(t.substr(f,5)===A5?(s=A5,f+=5):(s=e,i===0&&a(Ty)),s===e&&(t.substr(f,5)===I5?(s=I5,f+=5):(s=e,i===0&&a(Fy)),s===e&&(t.substr(f,5)===T5?(s=T5,f+=5):(s=e,i===0&&a(_y)),s===e&&(t.substr(f,5)===kc?(s=kc,f+=5):(s=e,i===0&&a(zm)),s===e&&(t.substr(f,5)===F5?(s=F5,f+=5):(s=e,i===0&&a(Ry)),s===e&&(t.substr(f,5)===kc?(s=kc,f+=5):(s=e,i===0&&a(zm)),s===e&&(t.substr(f,5)===_5?(s=_5,f+=5):(s=e,i===0&&a(Py)),s===e&&(t.substr(f,5)===R5?(s=R5,f+=5):(s=e,i===0&&a(Dy)),s===e&&(t.substr(f,5)===P5?(s=P5,f+=5):(s=e,i===0&&a(Ny)),s===e&&(t.substr(f,5)===D5?(s=D5,f+=5):(s=e,i===0&&a(Gy)),s===e&&(t.substr(f,5)===N5?(s=N5,f+=5):(s=e,i===0&&a(Oy)),s===e&&(t.substr(f,5)===G5?(s=G5,f+=5):(s=e,i===0&&a(By)),s===e&&(t.substr(f,5)===O5?(s=O5,f+=5):(s=e,i===0&&a(zy)),s===e&&(t.substr(f,5)===B5?(s=B5,f+=5):(s=e,i===0&&a(ky)),s===e&&(t.substr(f,5)===z5?(s=z5,f+=5):(s=e,i===0&&a(Vy)),s===e&&(t.substr(f,5)===k5?(s=k5,f+=5):(s=e,i===0&&a(Wy)),s===e&&(t.substr(f,5)===V5?(s=V5,f+=5):(s=e,i===0&&a(Hy)),s===e&&(t.substr(f,5)===W5?(s=W5,f+=5):(s=e,i===0&&a(Uy)),s===e&&(t.substr(f,5)===H5?(s=H5,f+=5):(s=e,i===0&&a(Ky))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function PE(){let s;return t.substr(f,5)===U5?(s=U5,f+=5):(s=e,i===0&&a(qy)),s===e&&(t.substr(f,5)===K5?(s=K5,f+=5):(s=e,i===0&&a(Zy)),s===e&&(t.substr(f,5)===q5?(s=q5,f+=5):(s=e,i===0&&a(Xy)),s===e&&(t.substr(f,5)===Z5?(s=Z5,f+=5):(s=e,i===0&&a(Yy)),s===e&&(t.substr(f,5)===X5?(s=X5,f+=5):(s=e,i===0&&a(Jy)),s===e&&(t.substr(f,5)===Y5?(s=Y5,f+=5):(s=e,i===0&&a(Qy)),s===e&&(t.substr(f,5)===J5?(s=J5,f+=5):(s=e,i===0&&a(ex)),s===e&&(t.substr(f,5)===Q5?(s=Q5,f+=5):(s=e,i===0&&a(sx)),s===e&&(t.substr(f,5)===eb?(s=eb,f+=5):(s=e,i===0&&a(cx)),s===e&&(t.substr(f,5)===sb?(s=sb,f+=5):(s=e,i===0&&a(tx)),s===e&&(t.substr(f,5)===cb?(s=cb,f+=5):(s=e,i===0&&a(fx)),s===e&&(t.substr(f,5)===tb?(s=tb,f+=5):(s=e,i===0&&a(ox)),s===e&&(t.substr(f,5)===fb?(s=fb,f+=5):(s=e,i===0&&a(rx)),s===e&&(t.substr(f,5)===ob?(s=ob,f+=5):(s=e,i===0&&a(ix)),s===e&&(t.substr(f,5)===rb?(s=rb,f+=5):(s=e,i===0&&a(ax)),s===e&&(t.substr(f,5)===ib?(s=ib,f+=5):(s=e,i===0&&a(lx)),s===e&&(t.substr(f,5)===Vc?(s=Vc,f+=5):(s=e,i===0&&a(km)),s===e&&(t.substr(f,5)===ab?(s=ab,f+=5):(s=e,i===0&&a(nx)),s===e&&(t.substr(f,5)===lb?(s=lb,f+=5):(s=e,i===0&&a(gx)),s===e&&(t.substr(f,5)===nb?(s=nb,f+=5):(s=e,i===0&&a($x)),s===e&&(t.substr(f,5)===gb?(s=gb,f+=5):(s=e,i===0&&a(bx)),s===e&&(t.substr(f,5)===$b?(s=$b,f+=5):(s=e,i===0&&a(mx)),s===e&&(t.substr(f,5)===bb?(s=bb,f+=5):(s=e,i===0&&a(px)),s===e&&(t.substr(f,5)===mb?(s=mb,f+=5):(s=e,i===0&&a(ux)),s===e&&(t.substr(f,5)===pb?(s=pb,f+=5):(s=e,i===0&&a(dx)),s===e&&(t.substr(f,5)===ub?(s=ub,f+=5):(s=e,i===0&&a(hx)),s===e&&(t.substr(f,5)===db?(s=db,f+=5):(s=e,i===0&&a(jx)),s===e&&(t.substr(f,5)===hb?(s=hb,f+=5):(s=e,i===0&&a(yx)),s===e&&(t.substr(f,5)===jb?(s=jb,f+=5):(s=e,i===0&&a(xx)),s===e&&(t.substr(f,5)===yb?(s=yb,f+=5):(s=e,i===0&&a(Cx)),s===e&&(t.substr(f,5)===xb?(s=xb,f+=5):(s=e,i===0&&a(Sx)),s===e&&(t.substr(f,5)===Cb?(s=Cb,f+=5):(s=e,i===0&&a(vx)),s===e&&(t.substr(f,5)===Sb?(s=Sb,f+=5):(s=e,i===0&&a(Mx)),s===e&&(t.substr(f,5)===vb?(s=vb,f+=5):(s=e,i===0&&a(Lx)),s===e&&(t.substr(f,5)===Wc?(s=Wc,f+=5):(s=e,i===0&&a(Vm)),s===e&&(t.substr(f,5)===Mb?(s=Mb,f+=5):(s=e,i===0&&a(wx)),s===e&&(t.substr(f,5)===Lb?(s=Lb,f+=5):(s=e,i===0&&a(Ex)),s===e&&(t.substr(f,5)===wb?(s=wb,f+=5):(s=e,i===0&&a(Ax)),s===e&&(t.substr(f,5)===Eb?(s=Eb,f+=5):(s=e,i===0&&a(Ix)),s===e&&(t.substr(f,5)===Ab?(s=Ab,f+=5):(s=e,i===0&&a(Tx)),s===e&&(t.substr(f,5)===Ib?(s=Ib,f+=5):(s=e,i===0&&a(Fx)),s===e&&(t.substr(f,5)===Tb?(s=Tb,f+=5):(s=e,i===0&&a(_x)),s===e&&(t.substr(f,5)===Fb?(s=Fb,f+=5):(s=e,i===0&&a(Rx)),s===e&&(t.substr(f,5)===Hc?(s=Hc,f+=5):(s=e,i===0&&a(Wm)),s===e&&(t.substr(f,5)===_b?(s=_b,f+=5):(s=e,i===0&&a(Px)),s===e&&(t.substr(f,5)===Hc?(s=Hc,f+=5):(s=e,i===0&&a(Wm)),s===e&&(t.substr(f,5)===Rb?(s=Rb,f+=5):(s=e,i===0&&a(Dx)),s===e&&(t.substr(f,5)===Pb?(s=Pb,f+=5):(s=e,i===0&&a(Nx)),s===e&&(t.substr(f,5)===Db?(s=Db,f+=5):(s=e,i===0&&a(Gx)),s===e&&(t.substr(f,5)===Nb?(s=Nb,f+=5):(s=e,i===0&&a(Ox)),s===e&&(t.substr(f,5)===Gb?(s=Gb,f+=5):(s=e,i===0&&a(Bx)),s===e&&(t.substr(f,5)===Ob?(s=Ob,f+=5):(s=e,i===0&&a(zx)),s===e&&(t.substr(f,5)===Bb?(s=Bb,f+=5):(s=e,i===0&&a(kx)),s===e&&(t.substr(f,5)===zb?(s=zb,f+=5):(s=e,i===0&&a(Vx)),s===e&&(t.substr(f,5)===kb?(s=kb,f+=5):(s=e,i===0&&a(Wx)),s===e&&(t.substr(f,5)===Vb?(s=Vb,f+=5):(s=e,i===0&&a(Hx)),s===e&&(t.substr(f,5)===Wb?(s=Wb,f+=5):(s=e,i===0&&a(Ux)),s===e&&(t.substr(f,5)===Hb?(s=Hb,f+=5):(s=e,i===0&&a(Kx)),s===e&&(t.substr(f,5)===Ub?(s=Ub,f+=5):(s=e,i===0&&a(qx)),s===e&&(t.substr(f,5)===Kb?(s=Kb,f+=5):(s=e,i===0&&a(Zx)),s===e&&(t.substr(f,5)===qb?(s=qb,f+=5):(s=e,i===0&&a(Xx)),s===e&&(t.substr(f,5)===Zb?(s=Zb,f+=5):(s=e,i===0&&a(Yx)),s===e&&(t.substr(f,5)===Uc?(s=Uc,f+=5):(s=e,i===0&&a(Hm)),s===e&&(t.substr(f,5)===Uc?(s=Uc,f+=5):(s=e,i===0&&a(Hm)),s===e&&(t.substr(f,5)===Xb?(s=Xb,f+=5):(s=e,i===0&&a(Jx)),s===e&&(t.substr(f,5)===Yb?(s=Yb,f+=5):(s=e,i===0&&a(Qx)),s===e&&(t.substr(f,5)===Jb?(s=Jb,f+=5):(s=e,i===0&&a(eC)),s===e&&(t.substr(f,5)===Qb?(s=Qb,f+=5):(s=e,i===0&&a(sC)),s===e&&(t.substr(f,5)===e9?(s=e9,f+=5):(s=e,i===0&&a(cC)),s===e&&(t.substr(f,5)===s9?(s=s9,f+=5):(s=e,i===0&&a(tC)),s===e&&(t.substr(f,5)===c9?(s=c9,f+=5):(s=e,i===0&&a(fC)),s===e&&(t.substr(f,5)===t9?(s=t9,f+=5):(s=e,i===0&&a(oC)),s===e&&(t.substr(f,5)===f9?(s=f9,f+=5):(s=e,i===0&&a(rC)),s===e&&(t.substr(f,5)===o9?(s=o9,f+=5):(s=e,i===0&&a(iC)),s===e&&(t.substr(f,5)===r9?(s=r9,f+=5):(s=e,i===0&&a(aC)),s===e&&(t.substr(f,5)===i9?(s=i9,f+=5):(s=e,i===0&&a(lC)),s===e&&(t.substr(f,5)===a9?(s=a9,f+=5):(s=e,i===0&&a(nC)),s===e&&(t.substr(f,5)===l9?(s=l9,f+=5):(s=e,i===0&&a(gC)),s===e&&(t.substr(f,5)===n9?(s=n9,f+=5):(s=e,i===0&&a($C)),s===e&&(t.substr(f,5)===g9?(s=g9,f+=5):(s=e,i===0&&a(bC)),s===e&&(t.substr(f,5)===$9?(s=$9,f+=5):(s=e,i===0&&a(mC)),s===e&&(t.substr(f,5)===b9?(s=b9,f+=5):(s=e,i===0&&a(pC)),s===e&&(t.substr(f,5)===m9?(s=m9,f+=5):(s=e,i===0&&a(uC)),s===e&&(t.substr(f,5)===p9?(s=p9,f+=5):(s=e,i===0&&a(dC)),s===e&&(t.substr(f,5)===u9?(s=u9,f+=5):(s=e,i===0&&a(hC)),s===e&&(t.substr(f,5)===d9?(s=d9,f+=5):(s=e,i===0&&a(jC)),s===e&&(t.substr(f,5)===h9?(s=h9,f+=5):(s=e,i===0&&a(yC)),s===e&&(t.substr(f,5)===j9?(s=j9,f+=5):(s=e,i===0&&a(xC)),s===e&&(t.substr(f,5)===y9?(s=y9,f+=5):(s=e,i===0&&a(CC)),s===e&&(t.substr(f,5)===x9?(s=x9,f+=5):(s=e,i===0&&a(SC)),s===e&&(t.substr(f,5)===C9?(s=C9,f+=5):(s=e,i===0&&a(vC)),s===e&&(t.substr(f,5)===S9?(s=S9,f+=5):(s=e,i===0&&a(MC)),s===e&&(t.substr(f,5)===v9?(s=v9,f+=5):(s=e,i===0&&a(LC)),s===e&&(t.substr(f,5)===M9?(s=M9,f+=5):(s=e,i===0&&a(wC)),s===e&&(t.substr(f,5)===L9?(s=L9,f+=5):(s=e,i===0&&a(EC)),s===e&&(t.substr(f,5)===w9?(s=w9,f+=5):(s=e,i===0&&a(AC)),s===e&&(t.substr(f,5)===E9?(s=E9,f+=5):(s=e,i===0&&a(IC)),s===e&&(t.substr(f,5)===A9?(s=A9,f+=5):(s=e,i===0&&a(TC)),s===e&&(t.substr(f,5)===I9?(s=I9,f+=5):(s=e,i===0&&a(FC)),s===e&&(t.substr(f,5)===T9?(s=T9,f+=5):(s=e,i===0&&a(_C))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function DE(){let s;return t.substr(f,5)===F9?(s=F9,f+=5):(s=e,i===0&&a(RC)),s===e&&(t.substr(f,5)===_9?(s=_9,f+=5):(s=e,i===0&&a(PC)),s===e&&(t.substr(f,5)===R9?(s=R9,f+=5):(s=e,i===0&&a(DC)),s===e&&(t.substr(f,5)===P9?(s=P9,f+=5):(s=e,i===0&&a(NC)),s===e&&(t.substr(f,5)===D9?(s=D9,f+=5):(s=e,i===0&&a(GC)),s===e&&(t.substr(f,5)===N9?(s=N9,f+=5):(s=e,i===0&&a(OC)),s===e&&(t.substr(f,5)===G9?(s=G9,f+=5):(s=e,i===0&&a(BC)),s===e&&(t.substr(f,5)===O9?(s=O9,f+=5):(s=e,i===0&&a(zC)),s===e&&(t.substr(f,5)===B9?(s=B9,f+=5):(s=e,i===0&&a(kC)),s===e&&(t.substr(f,5)===z9?(s=z9,f+=5):(s=e,i===0&&a(VC)),s===e&&(t.substr(f,5)===k9?(s=k9,f+=5):(s=e,i===0&&a(WC)),s===e&&(t.substr(f,5)===V9?(s=V9,f+=5):(s=e,i===0&&a(HC)),s===e&&(t.substr(f,5)===W9?(s=W9,f+=5):(s=e,i===0&&a(UC)),s===e&&(t.substr(f,5)===H9?(s=H9,f+=5):(s=e,i===0&&a(KC)),s===e&&(t.substr(f,5)===U9?(s=U9,f+=5):(s=e,i===0&&a(qC)),s===e&&(t.substr(f,4)===K9?(s=K9,f+=4):(s=e,i===0&&a(ZC)),s===e&&(t.substr(f,4)===q9?(s=q9,f+=4):(s=e,i===0&&a(XC)),s===e&&(t.substr(f,4)===Z9?(s=Z9,f+=4):(s=e,i===0&&a(YC)),s===e&&(t.substr(f,4)===X9?(s=X9,f+=4):(s=e,i===0&&a(JC)),s===e&&(t.substr(f,4)===Y9?(s=Y9,f+=4):(s=e,i===0&&a(QC)),s===e&&(t.substr(f,4)===J9?(s=J9,f+=4):(s=e,i===0&&a(eS)),s===e&&(t.substr(f,4)===Q9?(s=Q9,f+=4):(s=e,i===0&&a(sS)),s===e&&(t.substr(f,4)===e3?(s=e3,f+=4):(s=e,i===0&&a(cS)),s===e&&(t.substr(f,4)===s3?(s=s3,f+=4):(s=e,i===0&&a(tS)),s===e&&(t.substr(f,4)===c3?(s=c3,f+=4):(s=e,i===0&&a(fS)),s===e&&(t.substr(f,4)===t3?(s=t3,f+=4):(s=e,i===0&&a(oS)),s===e&&(t.substr(f,4)===f3?(s=f3,f+=4):(s=e,i===0&&a(rS)),s===e&&(t.substr(f,4)===o3?(s=o3,f+=4):(s=e,i===0&&a(iS)),s===e&&(t.substr(f,4)===r3?(s=r3,f+=4):(s=e,i===0&&a(aS)),s===e&&(t.substr(f,4)===i3?(s=i3,f+=4):(s=e,i===0&&a(lS)),s===e&&(t.substr(f,4)===a3?(s=a3,f+=4):(s=e,i===0&&a(nS)),s===e&&(t.substr(f,4)===l3?(s=l3,f+=4):(s=e,i===0&&a(gS)),s===e&&(t.substr(f,4)===n3?(s=n3,f+=4):(s=e,i===0&&a($S)),s===e&&(t.substr(f,4)===g3?(s=g3,f+=4):(s=e,i===0&&a(bS)),s===e&&(t.substr(f,4)===$3?(s=$3,f+=4):(s=e,i===0&&a(mS)),s===e&&(t.substr(f,4)===b3?(s=b3,f+=4):(s=e,i===0&&a(pS)),s===e&&(t.substr(f,4)===m3?(s=m3,f+=4):(s=e,i===0&&a(uS)),s===e&&(t.substr(f,4)===p3?(s=p3,f+=4):(s=e,i===0&&a(dS)),s===e&&(t.substr(f,4)===u3?(s=u3,f+=4):(s=e,i===0&&a(hS)),s===e&&(t.substr(f,4)===d3?(s=d3,f+=4):(s=e,i===0&&a(jS)),s===e&&(t.substr(f,4)===h3?(s=h3,f+=4):(s=e,i===0&&a(yS)),s===e&&(t.substr(f,4)===j3?(s=j3,f+=4):(s=e,i===0&&a(xS)),s===e&&(t.substr(f,4)===y3?(s=y3,f+=4):(s=e,i===0&&a(CS)),s===e&&(t.substr(f,4)===x3?(s=x3,f+=4):(s=e,i===0&&a(SS)),s===e&&(t.substr(f,4)===C3?(s=C3,f+=4):(s=e,i===0&&a(vS)),s===e&&(t.substr(f,4)===Xe?(s=Xe,f+=4):(s=e,i===0&&a(S3)),s===e&&(t.substr(f,4)===Kc?(s=Kc,f+=4):(s=e,i===0&&a(Um)),s===e&&(t.substr(f,4)===v3?(s=v3,f+=4):(s=e,i===0&&a(MS)),s===e&&(t.substr(f,4)===M3?(s=M3,f+=4):(s=e,i===0&&a(LS)),s===e&&(t.substr(f,4)===L3?(s=L3,f+=4):(s=e,i===0&&a(wS)),s===e&&(t.substr(f,4)===w3?(s=w3,f+=4):(s=e,i===0&&a(ES)),s===e&&(t.substr(f,4)===E3?(s=E3,f+=4):(s=e,i===0&&a(AS)),s===e&&(t.substr(f,4)===A3?(s=A3,f+=4):(s=e,i===0&&a(IS)),s===e&&(t.substr(f,4)===I3?(s=I3,f+=4):(s=e,i===0&&a(TS)),s===e&&(t.substr(f,4)===qc?(s=qc,f+=4):(s=e,i===0&&a(Km)),s===e&&(t.substr(f,4)===T3?(s=T3,f+=4):(s=e,i===0&&a(FS)),s===e&&(t.substr(f,4)===F3?(s=F3,f+=4):(s=e,i===0&&a(_S)),s===e&&(t.substr(f,4)===Zc?(s=Zc,f+=4):(s=e,i===0&&a(qm)),s===e&&(t.substr(f,4)===_3?(s=_3,f+=4):(s=e,i===0&&a(RS)),s===e&&(t.substr(f,4)===R3?(s=R3,f+=4):(s=e,i===0&&a(PS)),s===e&&(t.substr(f,4)===Xc?(s=Xc,f+=4):(s=e,i===0&&a(Zm)),s===e&&(t.substr(f,4)===P3?(s=P3,f+=4):(s=e,i===0&&a(DS)),s===e&&(t.substr(f,4)===D3?(s=D3,f+=4):(s=e,i===0&&a(NS)),s===e&&(t.substr(f,4)===Yc?(s=Yc,f+=4):(s=e,i===0&&a(Xm)),s===e&&(t.substr(f,4)===N3?(s=N3,f+=4):(s=e,i===0&&a(GS)),s===e&&(t.substr(f,4)===G3?(s=G3,f+=4):(s=e,i===0&&a(OS)),s===e&&(t.substr(f,4)===O3?(s=O3,f+=4):(s=e,i===0&&a(BS)),s===e&&(t.substr(f,4)===B3?(s=B3,f+=4):(s=e,i===0&&a(zS)),s===e&&(t.substr(f,4)===z3?(s=z3,f+=4):(s=e,i===0&&a(kS)),s===e&&(t.substr(f,4)===k3?(s=k3,f+=4):(s=e,i===0&&a(VS)),s===e&&(t.substr(f,4)===V3?(s=V3,f+=4):(s=e,i===0&&a(WS)),s===e&&(t.substr(f,4)===W3?(s=W3,f+=4):(s=e,i===0&&a(HS)),s===e&&(t.substr(f,4)===Me?(s=Me,f+=4):(s=e,i===0&&a(s1)),s===e&&(t.substr(f,4)===Ye?(s=Ye,f+=4):(s=e,i===0&&a(H3)),s===e&&(t.substr(f,4)===U3?(s=U3,f+=4):(s=e,i===0&&a(US)),s===e&&(t.substr(f,4)===K3?(s=K3,f+=4):(s=e,i===0&&a(KS)),s===e&&(t.substr(f,4)===Jc?(s=Jc,f+=4):(s=e,i===0&&a(Ym)),s===e&&(t.substr(f,4)===q3?(s=q3,f+=4):(s=e,i===0&&a(qS)),s===e&&(t.substr(f,4)===Z3?(s=Z3,f+=4):(s=e,i===0&&a(ZS)),s===e&&(t.substr(f,4)===X3?(s=X3,f+=4):(s=e,i===0&&a(XS)),s===e&&(t.substr(f,4)===Y3?(s=Y3,f+=4):(s=e,i===0&&a(YS)),s===e&&(t.substr(f,4)===Qc?(s=Qc,f+=4):(s=e,i===0&&a(Jm)),s===e&&(t.substr(f,4)===J3?(s=J3,f+=4):(s=e,i===0&&a(JS)),s===e&&(t.substr(f,4)===Qc?(s=Qc,f+=4):(s=e,i===0&&a(Jm)),s===e&&(t.substr(f,4)===Q3?(s=Q3,f+=4):(s=e,i===0&&a(QS)),s===e&&(t.substr(f,4)===et?(s=et,f+=4):(s=e,i===0&&a(Qm)),s===e&&(t.substr(f,4)===e7?(s=e7,f+=4):(s=e,i===0&&a(ev)),s===e&&(t.substr(f,4)===et?(s=et,f+=4):(s=e,i===0&&a(Qm)),s===e&&(t.substr(f,4)===s7?(s=s7,f+=4):(s=e,i===0&&a(sv)),s===e&&(t.substr(f,4)===st?(s=st,f+=4):(s=e,i===0&&a(ep)),s===e&&(t.substr(f,4)===c7?(s=c7,f+=4):(s=e,i===0&&a(cv)),s===e&&(t.substr(f,4)===st?(s=st,f+=4):(s=e,i===0&&a(ep)),s===e&&(t.substr(f,4)===t7?(s=t7,f+=4):(s=e,i===0&&a(tv)),s===e&&(t.substr(f,4)===ct?(s=ct,f+=4):(s=e,i===0&&a(sp)),s===e&&(t.substr(f,4)===f7?(s=f7,f+=4):(s=e,i===0&&a(fv)),s===e&&(t.substr(f,4)===ct?(s=ct,f+=4):(s=e,i===0&&a(sp)),s===e&&(t.substr(f,4)===o7?(s=o7,f+=4):(s=e,i===0&&a(ov)),s===e&&(t.substr(f,4)===r7?(s=r7,f+=4):(s=e,i===0&&a(rv)),s===e&&(t.substr(f,4)===Me?(s=Me,f+=4):(s=e,i===0&&a(s1)),s===e&&(t.substr(f,4)===i7?(s=i7,f+=4):(s=e,i===0&&a(iv))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function NE(){let s;return t.substr(f,4)===Me?(s=Me,f+=4):(s=e,i===0&&a(s1)),s===e&&(t.substr(f,4)===a7?(s=a7,f+=4):(s=e,i===0&&a(av)),s===e&&(t.substr(f,4)===l7?(s=l7,f+=4):(s=e,i===0&&a(lv)),s===e&&(t.substr(f,4)===n7?(s=n7,f+=4):(s=e,i===0&&a(nv)),s===e&&(t.substr(f,4)===Ye?(s=Ye,f+=4):(s=e,i===0&&a(H3)),s===e&&(t.substr(f,4)===g7?(s=g7,f+=4):(s=e,i===0&&a(gv)),s===e&&(t.substr(f,4)===tt?(s=tt,f+=4):(s=e,i===0&&a(cp)),s===e&&(t.substr(f,4)===ft?(s=ft,f+=4):(s=e,i===0&&a(tp)),s===e&&(t.substr(f,4)===$7?(s=$7,f+=4):(s=e,i===0&&a($v)),s===e&&(t.substr(f,4)===b7?(s=b7,f+=4):(s=e,i===0&&a(bv)),s===e&&(t.substr(f,4)===ft?(s=ft,f+=4):(s=e,i===0&&a(tp)),s===e&&(t.substr(f,4)===ot?(s=ot,f+=4):(s=e,i===0&&a(fp)),s===e&&(t.substr(f,4)===ot?(s=ot,f+=4):(s=e,i===0&&a(fp)),s===e&&(t.substr(f,4)===m7?(s=m7,f+=4):(s=e,i===0&&a(mv)),s===e&&(t.substr(f,4)===p7?(s=p7,f+=4):(s=e,i===0&&a(pv)),s===e&&(t.substr(f,4)===u7?(s=u7,f+=4):(s=e,i===0&&a(uv)),s===e&&(t.substr(f,4)===d7?(s=d7,f+=4):(s=e,i===0&&a(dv)),s===e&&(t.substr(f,4)===h7?(s=h7,f+=4):(s=e,i===0&&a(hv)),s===e&&(t.substr(f,4)===j7?(s=j7,f+=4):(s=e,i===0&&a(jv)),s===e&&(t.substr(f,4)===y7?(s=y7,f+=4):(s=e,i===0&&a(yv)),s===e&&(t.substr(f,4)===x7?(s=x7,f+=4):(s=e,i===0&&a(xv)),s===e&&(t.substr(f,4)===C7?(s=C7,f+=4):(s=e,i===0&&a(Cv)),s===e&&(t.substr(f,4)===S7?(s=S7,f+=4):(s=e,i===0&&a(Sv)),s===e&&(t.substr(f,4)===v7?(s=v7,f+=4):(s=e,i===0&&a(vv)),s===e&&(t.substr(f,4)===tt?(s=tt,f+=4):(s=e,i===0&&a(cp)),s===e&&(t.substr(f,4)===M7?(s=M7,f+=4):(s=e,i===0&&a(Mv)),s===e&&(t.substr(f,4)===L7?(s=L7,f+=4):(s=e,i===0&&a(Lv)),s===e&&(t.substr(f,4)===w7?(s=w7,f+=4):(s=e,i===0&&a(wv)),s===e&&(t.substr(f,4)===E7?(s=E7,f+=4):(s=e,i===0&&a(Ev)),s===e&&(t.substr(f,4)===A7?(s=A7,f+=4):(s=e,i===0&&a(Av)),s===e&&(t.substr(f,3)===I7?(s=I7,f+=3):(s=e,i===0&&a(Iv)),s===e&&(t.substr(f,3)===T7?(s=T7,f+=3):(s=e,i===0&&a(Tv)),s===e&&(t.substr(f,3)===F7?(s=F7,f+=3):(s=e,i===0&&a(Fv)),s===e&&(t.substr(f,3)===_7?(s=_7,f+=3):(s=e,i===0&&a(_v)),s===e&&(t.substr(f,3)===R7?(s=R7,f+=3):(s=e,i===0&&a(Rv)),s===e&&(t.substr(f,3)===P7?(s=P7,f+=3):(s=e,i===0&&a(Pv)),s===e&&(t.substr(f,3)===D7?(s=D7,f+=3):(s=e,i===0&&a(Dv)),s===e&&(t.substr(f,3)===N7?(s=N7,f+=3):(s=e,i===0&&a(Nv)),s===e&&(t.substr(f,3)===G7?(s=G7,f+=3):(s=e,i===0&&a(Gv)),s===e&&(t.substr(f,3)===O7?(s=O7,f+=3):(s=e,i===0&&a(Ov)),s===e&&(t.substr(f,3)===B7?(s=B7,f+=3):(s=e,i===0&&a(Bv)),s===e&&(t.substr(f,3)===z7?(s=z7,f+=3):(s=e,i===0&&a(zv)),s===e&&(t.substr(f,3)===Je?(s=Je,f+=3):(s=e,i===0&&a(k7)),s===e&&(t.substr(f,3)===V7?(s=V7,f+=3):(s=e,i===0&&a(kv)),s===e&&(t.substr(f,3)===W7?(s=W7,f+=3):(s=e,i===0&&a(Vv)),s===e&&(t.substr(f,3)===H7?(s=H7,f+=3):(s=e,i===0&&a(Wv)),s===e&&(t.substr(f,3)===U7?(s=U7,f+=3):(s=e,i===0&&a(Hv)),s===e&&(t.substr(f,3)===K7?(s=K7,f+=3):(s=e,i===0&&a(Uv)),s===e&&(t.substr(f,3)===q7?(s=q7,f+=3):(s=e,i===0&&a(Kv)),s===e&&(t.substr(f,3)===Z7?(s=Z7,f+=3):(s=e,i===0&&a(qv)),s===e&&(t.substr(f,3)===X7?(s=X7,f+=3):(s=e,i===0&&a(Zv)),s===e&&(t.substr(f,3)===Y7?(s=Y7,f+=3):(s=e,i===0&&a(Xv)),s===e&&(t.substr(f,3)===J7?(s=J7,f+=3):(s=e,i===0&&a(Yv)),s===e&&(t.substr(f,3)===Q7?(s=Q7,f+=3):(s=e,i===0&&a(Jv)),s===e&&(t.substr(f,3)===em?(s=em,f+=3):(s=e,i===0&&a(Qv)),s===e&&(t.substr(f,3)===sm?(s=sm,f+=3):(s=e,i===0&&a(eM)),s===e&&(t.substr(f,3)===cm?(s=cm,f+=3):(s=e,i===0&&a(sM)),s===e&&(t.substr(f,3)===tm?(s=tm,f+=3):(s=e,i===0&&a(cM)),s===e&&(t.substr(f,3)===fm?(s=fm,f+=3):(s=e,i===0&&a(tM)),s===e&&(t.substr(f,3)===rt?(s=rt,f+=3):(s=e,i===0&&a(op)),s===e&&(t.substr(f,3)===om?(s=om,f+=3):(s=e,i===0&&a(fM)),s===e&&(t.substr(f,3)===rm?(s=rm,f+=3):(s=e,i===0&&a(oM)),s===e&&(t.substr(f,3)===im?(s=im,f+=3):(s=e,i===0&&a(rM)),s===e&&(t.substr(f,3)===am?(s=am,f+=3):(s=e,i===0&&a(iM)),s===e&&(t.substr(f,3)===lm?(s=lm,f+=3):(s=e,i===0&&a(aM)),s===e&&(t.substr(f,3)===rp?(s=rp,f+=3):(s=e,i===0&&a(ip)),s===e&&(t.substr(f,3)===ap?(s=ap,f+=3):(s=e,i===0&&a(lp)),s===e&&(t.substr(f,3)===np?(s=np,f+=3):(s=e,i===0&&a(gp)),s===e&&(t.substr(f,3)===$p?(s=$p,f+=3):(s=e,i===0&&a(bp)),s===e&&(t.substr(f,3)===_s?(s=_s,f+=3):(s=e,i===0&&a(c1)),s===e&&(t.substr(f,3)===mp?(s=mp,f+=3):(s=e,i===0&&a(pp)),s===e&&(t.substr(f,3)===up?(s=up,f+=3):(s=e,i===0&&a(dp)),s===e&&(t.substr(f,3)===hp?(s=hp,f+=3):(s=e,i===0&&a(jp)),s===e&&(t.substr(f,3)===yp?(s=yp,f+=3):(s=e,i===0&&a(xp)),s===e&&(t.substr(f,3)===Cp?(s=Cp,f+=3):(s=e,i===0&&a(Sp)),s===e&&(t.substr(f,3)===vp?(s=vp,f+=3):(s=e,i===0&&a(Mp)),s===e&&(t.substr(f,3)===_s?(s=_s,f+=3):(s=e,i===0&&a(c1)),s===e&&(t.substr(f,3)===_s?(s=_s,f+=3):(s=e,i===0&&a(c1)),s===e&&(t.substr(f,3)===Lp?(s=Lp,f+=3):(s=e,i===0&&a(wp)),s===e&&(t.substr(f,2)===Ep?(s=Ep,f+=2):(s=e,i===0&&a(Ap)),s===e&&(t.substr(f,2)===Ip?(s=Ip,f+=2):(s=e,i===0&&a(lM)),s===e&&(t.substr(f,2)===Tp?(s=Tp,f+=2):(s=e,i===0&&a(o)),s===e&&(t.substr(f,2)===ie?(s=ie,f+=2):(s=e,i===0&&a(t1)),s===e&&(t.substr(f,2)===de?(s=de,f+=2):(s=e,i===0&&a(nm)),s===e&&(t.substr(f,2)===it?(s=it,f+=2):(s=e,i===0&&a(nM)),s===e&&(t.substr(f,2)===g?(s=g,f+=2):(s=e,i===0&&a(at)),s===e&&(t.substr(f,2)===Fp?(s=Fp,f+=2):(s=e,i===0&&a(_p)),s===e&&(t.substr(f,2)===f1?(s=f1,f+=2):(s=e,i===0&&a(l)),s===e&&(t.substr(f,2)===o1?(s=o1,f+=2):(s=e,i===0&&a(gm)),s===e&&(t.substr(f,2)===o1?(s=o1,f+=2):(s=e,i===0&&a(gm)),s===e&&(t.substr(f,2)===Le?(s=Le,f+=2):(s=e,i===0&&a(gM)),s===e&&(t.substr(f,2)===$m?(s=$m,f+=2):(s=e,i===0&&a(Rp)),s===e&&(t.substr(f,2)===Pp?(s=Pp,f+=2):(s=e,i===0&&a(Dp)),s===e&&(t.substr(f,2)===bm?(s=bm,f+=2):(s=e,i===0&&a($M)),s===e&&(t.substr(f,2)===mm?(s=mm,f+=2):(s=e,i===0&&a(Np)),s===e&&(t.substr(f,2)===Ks?(s=Ks,f+=2):(s=e,i===0&&a(bM)),s===e&&(t.substr(f,2)===pm?(s=pm,f+=2):(s=e,i===0&&a(Gp)),s===e&&(t.substr(f,2)===lt?(s=lt,f+=2):(s=e,i===0&&a(mM)),s===e&&(t.substr(f,2)===Op?(s=Op,f+=2):(s=e,i===0&&a(pM)),s===e&&(t.substr(f,2)===Bp?(s=Bp,f+=2):(s=e,i===0&&a(uM))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function GE(){let s;return t.substr(f,2)===zp?(s=zp,f+=2):(s=e,i===0&&a(dM)),s===e&&(t.substr(f,2)===kp?(s=kp,f+=2):(s=e,i===0&&a(hM)),s===e&&(t.substr(f,2)===Vp?(s=Vp,f+=2):(s=e,i===0&&a(c)),s===e&&(t.substr(f,2)===L?(s=L,f+=2):(s=e,i===0&&a(D)),s===e&&(t.substr(f,2)===N?(s=N,f+=2):(s=e,i===0&&a(k)),s===e&&(t.substr(f,2)===gL?(s=gL,f+=2):(s=e,i===0&&a(cE)),s===e&&(t.substr(f,2)===$L?(s=$L,f+=2):(s=e,i===0&&a(tE)),s===e&&(t.substr(f,2)===bL?(s=bL,f+=2):(s=e,i===0&&a(fE)),s===e&&(t.substr(f,2)===mL?(s=mL,f+=2):(s=e,i===0&&a(oE)),s===e&&(rE.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(iE))))))))))),s}if(Hp=y(),Hp!==e&&f===t.length)return Hp;throw Hp!==e&&fZw(` + ${Y(j,()=>`

${j}

`)} + ${Y(y,()=>`

${y}

`)} + +
+ ${$t(P,G=>` +
+ ${Y(G.isLiteral(),()=>` +
+ ${Y(vw(G.label),()=>` +

${G.label}

+ `)} +
${Xw(j0(G,t))}
+
+ `).else(()=>` + ${$t(G.lines,I=>` + ${Y(m||aL(I),()=>` +
+ ${$t(I.items,v=>` + ${Y(RM(v),()=>` +
+ ${Y(v.annotation).then(()=>` +
${v.annotation}
+ `).else(()=>` +
+ ${h0(v.chords,I,e,{renderKey:r,useUnicodeModifier:t.useUnicodeModifiers,normalizeChords:t.normalizeChords})} +
+ `)} +
${v.lyrics}
+
+ `).elseWhen(Kw(v),()=>` + ${Y(qw(v),()=>` +
${v.value}
+ `)} + + ${Y(v.hasRenderableLabel(),()=>` +

${v.value}

+ `)} + `).elseWhen(kM(v),()=>` +
+
+
+ ${Qw(v,w,t)} +
+
+ `)} + `)} +
+ `)} + `)} + `)} +
+ `)} +
+`);const fF={".chord:not(:last-child)":{paddingRight:"10px"},".paragraph":{marginBottom:"1em"},".row":{display:"flex"},".chord:after":{content:"'\\200b'"},".lyrics:after":{content:"'\\200b'"}};class oF extends eE{get template(){return tF}get defaultCss(){return fF}}var rF=oF,iF=({configuration:t,configuration:{key:r},song:e,renderBlankLines:m=!1,song:{title:j,subtitle:y,bodyLines:w,metadata:P},bodyParagraphs:G})=>Zw(` + ${Y(j,()=>`

${j}

`)} + ${Y(y,()=>`

${y}

`)} + + ${Y(w.length>0,()=>` +
+ ${$t(G,I=>` +
+ ${Y(I.isLiteral(),()=>` + + + ${Y(vw(I.label),()=>` + + `)} + + +
${I.label}${Xw(j0(I,t))}
+ `).else(()=>` + ${$t(I.lines,v=>` + ${Y(m||aL(v),()=>` + + ${Y(tI(v),()=>` + + ${$t(v.items,_=>` + ${Y(RM(_),()=>` + ${Y(_.annotation).then(()=>` + + `).else(()=>` + + `)} + `)} + `)} + + `)} + + ${Y(lL(v),()=>` + + ${$t(v.items,_=>` + ${Y(RM(_),()=>` + + `).elseWhen(Kw(_),()=>` + ${Y(qw(_),()=>` + + `)} + + ${Y(_.hasRenderableLabel(),()=>` + + `)} + `).elseWhen(DT(_),()=>` + + `).elseWhen(kM(_),()=>` + + `)} + `)} + + `)} +
${_.annotation}${h0(_.chords,v,e,{renderKey:r,useUnicodeModifier:t.useUnicodeModifiers,normalizeChords:t.normalizeChords})}
${_.lyrics}${_.value}

${_.value}

${_.string} + ${Qw(_,P,t)} +
+ `)} + `)} + `)} +
+ `)} +
+ `)} +`);const aF={h1:{fontSize:"1.5em"},h2:{fontSize:"1.1em"},table:{borderSpacing:"0",color:"inherit"},td:{padding:"3px 0"},".chord:not(:last-child)":{paddingRight:"10px"},".paragraph":{marginBottom:"1em"}};class lF extends eE{get template(){return iF}get defaultCss(){return aF}}var nF=lF;class gF extends $0{format(r){return this.song=r,[this.formatHeader(),this.formatParagraphs()].join("")}formatHeader(){const{title:r,subtitle:e}=this.song,m=r||e?` +`:"";return[this.formatTitle(r),this.formatSubTitle(e),m].join("")}formatParagraphs(){const{bodyParagraphs:r,expandedBodyParagraphs:e,metadata:m}=this.song,{expandChorusDirective:j}=this.configuration;return(j?e:r).map(y=>this.formatParagraph(y,m)).join(` + +`)}formatParagraph(r,e){return r.isLiteral()?[r.label,j0(r,this.configuration)].filter(m=>m).join(` +`):r.lines.filter(m=>m.hasRenderableItems()).map(m=>this.formatLine(m,e)).join(` +`)}formatLine(r,e){return[this.formatLineTop(r,e),this.formatLineBottom(r,e)].filter(j=>!g0(j)).map(j=>(j||"").trimEnd()).join(` +`)}formatTitle(r){return r?`${r.toUpperCase()} +`:""}formatSubTitle(r){return r?`${r} +`:""}formatLineTop(r,e){return Sw(r)?this.formatLineWithFormatter(r,this.formatItemTop,e):null}chordLyricsPairLength(r,e){const m=r.annotation||this.renderChords(r,e),{lyrics:j}=r,y=(m||"").length,w=(j||"").length;return y>=w?y+1:Math.max(y,w)}renderChords(r,e){return h0(r.chords,e,this.song,{renderKey:this.configuration.key,useUnicodeModifier:this.configuration.useUnicodeModifiers,normalizeChords:this.configuration.normalizeChords})}formatItemTop(r,e,m){if(r instanceof U&&r.isRenderable())return r.value||"";if(r instanceof se){const j=r.annotation||this.renderChords(r,m);return Qp(j,this.chordLyricsPairLength(r,m))}return""}formatLineBottom(r,e){return lL(r)?this.formatLineWithFormatter(r,this.formatItemBottom,e):""}formatLineWithFormatter(r,e,m){return r.items.map(j=>e.call(this,j,m,r)).join("")}formatItemBottom(r,e,m){return r instanceof U&&r.isRenderable()?r.value||"":r instanceof se?Qp(r.lyrics||"",this.chordLyricsPairLength(r,m)):"evaluate"in r?r.evaluate(e,this.configuration.get("metadata.separator")):""}constructor(...r){super(...r),this.song=new g1}}var $F=gF;const aw=/^\[(Verse.*)]/i,lw=/^\[(Chorus)]/i,nw=/^\[([^\]]+)]/,gw={[ut]:wm,[Ns]:b1},AM={[ut]:b0,[Ns]:Lm};class bF extends Uw{constructor({preserveWhitespace:r=!0}={}){super({preserveWhitespace:r},!1),this.currentSectionType=null}parseLine(r){if(this.isSectionEnd()&&this.endSection(),aw.test(r)){this.startNewLine();const e=r.match(aw)[1];this.startSection(ut,e)}else if(lw.test(r)){this.startNewLine();const e=r.match(lw)[1];this.startSection(Ns,e)}else nw.test(r)?this.parseMetadataLine(r):super.parseLine(r)}parseMetadataLine(r){this.startNewLine(),this.endSection();const e=r.match(nw)[1];if(!this.songLine)throw new Error("Expected this.songLine to be present");this.songLine.addTag(new U(WM,e))}isSectionEnd(){return this.songLine!==null&&this.songLine.isEmpty()&&this.songBuilder.previousLine!==null&&!this.songBuilder.previousLine.isEmpty()}endOfSong(){super.endOfSong(),this.currentSectionType!==null&&this.currentSectionType in AM&&this.startNewLine(),this.endSection({addNewLine:!1})}startSection(r,e){this.currentSectionType&&this.endSection(),this.currentSectionType=r,this.songBuilder.setCurrentProperties(r),r in gw&&this.songBuilder.addTag(new U(gw[r],e))}endSection({addNewLine:r=!0}={}){this.currentSectionType!==null&&this.currentSectionType in AM&&(this.songBuilder.addTag(new U(AM[this.currentSectionType])),r&&this.startNewLine()),this.songBuilder.setCurrentProperties(Ps),this.currentSectionType=null}startNewLine(){this.songLine=this.songBuilder.addLine()}}var mF=bF,$w={CHORUS:Ns,Chord:vm,ChordLyricsPair:se,ChordProFormatter:oT,ChordProParser:LT,ChordSheetParser:Uw,ChordSheetSerializer:iL,ChordsOverWordsFormatter:GT,ChordsOverWordsParser:sF,Comment:bt,Composite:FM,HtmlDivFormatter:rF,HtmlTableFormatter:nF,INDETERMINATE:zM,Line:d0,Literal:Ds,Metadata:rL,NONE:Ps,Paragraph:_M,SoftLineBreak:f0,Song:g1,TAB:n0,Tag:U,Ternary:Cm,TextFormatter:$F,UltimateGuitarParser:mF,VERSE:ut},nL={},y0={};Object.defineProperty(y0,"__esModule",{value:!0});function pF(t){return String.fromCharCode(parseInt(t.slice(1),16))}function uF(t){return btoa(encodeURIComponent(t).replace(/%[0-9A-F]{2}/g,pF))}y0.encode=uF;function dF(t){return`%${`00${t.charCodeAt(0).toString(16)}`.slice(-2)}`}function hF(t){return decodeURIComponent(Array.from(atob(t),dF).join(""))}y0.decode=hF;Object.defineProperty(nL,"__esModule",{value:!0});const sE=y0;function jF(t){return sE.decode(t.replace(/\-/g,"+").replace(/_/g,"/"))}var yF=nL.decode=jF;function xF(t){return sE.encode(t).replace(/\//g,"_").replace(/\+/g,"-").replace(/=+$/,"")}var CF=nL.encode=xF;const SF={class:"flex gap-2 p-4"},vF={class:"is-group flex"},MF=["disabled"],LF=["disabled"],wF=["disabled"],EF={class:"flex gap-2 p-4 gap-4 flex-wrap chords"},AF=["innerHTML"],IF={class:"flex flex-wrap p-4 gap-4 bg-light-100 dark-bg-dark-300 shadow-xl rounded-xl",style:{flex:"1 1 280px"}},TF={class:"w-full flex gap-2 justify-between whitespace-nowrap"},FF={class:"flex-1"},_F={class:"op-60 flex-1"},NF={__name:"ChordSheets",setup(t){const r=new $w.ChordsOverWordsParser,e=new $w.HtmlDivFormatter,m=qp("ukulele"),j=WE("chord-sheet",`title: Let it be +subtitle: Chord sheet example +artist: You +composer: You later +key: Am +time: 4/4 +tempo: 110 +comment: your starter chordsheet +chordsize: 120% +textsize: 120% +--- + +Am C/G F C +Let it be, let it be, let it be, let it be +C G F C/E Dm C +Whisper words of wisdom, let it be + +Am C/G F C +Let it be, let it be, let it be, let it be +C G F C/E Dm C +Whisper words of wisdom, let it be`),y=qp(),w=qp({});HE(j,q=>{y.value=r.parse(q)},{immediate:!0});const P=Zp(()=>e.format(y.value)),G=Zp(()=>{const q=new DOMParser().parseFromString(P.value,"text/html"),V=q.querySelectorAll(".chord"),je={};V.forEach(H=>{let ue=H==null?void 0:H.innerHTML;if(!ue)return;je[ue]=je[ue]?++je[ue]:1;let ye=NL(ue).tonic,pe=zE.findIndex(ve=>ve==ye);pe==-1&&(pe=kE.findIndex(ve=>ve==ye)),H.style.color=GL(pe),H.style.background=GL(pe,1,1,.1),H.style.borderRadius="4px",H.style.padding="2px"});const De=new XMLSerializer().serializeToString(q);return w.value=je,De}),I=Zp(()=>Object.entries(w.value).sort((q,V)=>q[1]>V[1]?-1:1).map(q=>q[0]).map(q=>NL(q))),v=qp();UE(()=>{if(v.value=window.location.hash.slice(1),!!v.value){try{j.value=yF(v.value)}catch(q){console.log(q)}window.location.hash=""}});const _=Zp(()=>`${window.location}#${CF(j.value)}`),{copy:K,copied:me}=KE({source:_});return(q,V)=>{const je=VE,De=OE;return dm(),xM(BL,null,[ge("div",SF,[ge("button",{class:"text-button",onClick:V[0]||(V[0]=H=>y.value=y.value.transposeUp())},"Transpose Up"),ge("button",{class:"text-button",onClick:V[1]||(V[1]=H=>y.value=y.value.transposeDown())},"Transpose Down"),ge("div",vF,[ge("button",{class:"text-button disabled-op-40",onClick:V[2]||(V[2]=H=>m.value="piano"),disabled:m.value=="piano"},"Piano ",8,MF),ge("button",{class:"text-button disabled-op-40",onClick:V[3]||(V[3]=H=>m.value="guitar"),disabled:m.value=="guitar"},"Guitar",8,LF),ge("button",{class:"text-button disabled-op-40",onClick:V[4]||(V[4]=H=>m.value="ukulele"),disabled:m.value=="ukulele"},"Ukulele",8,wF)]),ge("button",{class:"text-button",onClick:V[5]||(V[5]=H=>hm(K)())},CM(hm(me)?"Copied":"Copy URL"),1)]),ge("div",EF,[qE(ge("textarea",{class:"p-4 min-h-90",autoresize:"",style:{flex:"1 1 200px"},"onUpdate:modelValue":V[6]||(V[6]=H=>XE(j)?j.value=H:null)},null,512),[[ZE,hm(j)]]),ge("div",{class:"p-4 bg-light-100 dark-bg-dark-300 shadow-xl rounded-xl",style:{flex:"1 1 300px"},innerHTML:G.value},null,8,AF),ge("div",IF,[(dm(!0),xM(BL,null,YE(I.value,H=>(dm(),xM("div",{class:"p-0 flex flex-wrap",style:{flex:"1 1 140px"},key:H},[ge("div",TF,[ge("div",FF,CM(H.symbol),1),V[8]||(V[8]=ge("div",{class:"flex-1"},null,-1)),ge("div",_F,CM(H.name),1)]),m.value=="piano"?(dm(),zL(je,{key:0,title:!1,chroma:H.chroma,pitch:hm(OL)[H.tonic]},null,8,["chroma","pitch"])):kL("",!0),m.value=="ukulele"||m.value=="guitar"?(dm(),zL(De,{key:1,class:"max-w-40",instrument:m.value,"onUpdate:instrument":V[7]||(V[7]=ue=>m.value=ue),title:!1,chroma:H.chroma,pitch:hm(OL)[H.tonic]},null,8,["instrument","chroma","pitch"])):kL("",!0)]))),128))])])],64)}}};export{NF as default}; diff --git a/assets/chunks/ChordSheets.Dx_rikv2.js b/assets/chunks/ChordSheets.Dx_rikv2.js deleted file mode 100644 index ff784ab064..0000000000 --- a/assets/chunks/ChordSheets.Dx_rikv2.js +++ /dev/null @@ -1,214 +0,0 @@ -import{_ as GE}from"./ChordTab.s9wWLKZa.js";import{A as OE,j as PL,aL as zE,Q as kE,c as DL,k as NL,_ as BE}from"./theme.ClagsQLu.js";import{r as Kp,u as VE,d as WE,c as qp,o as HE,ae as UE,x as dm,y as jM,A as $e,E as hm,G as yM,C as KE,ag as qE,V as ZE,F as GL,B as XE,T as OL,I as zL}from"./framework.BR0mAPCP.js";var Zp={},YE="Expected a function",$w="__lodash_hash_undefined__",gw=1/0,JE="[object Function]",QE="[object GeneratorFunction]",eA="[object Symbol]",sA=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,cA=/^\w*$/,tA=/^\./,fA=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,oA=/[\\^$.*+?()[\]{}|]/g,rA=/\\(\\)?/g,iA=/^\[object .+?Constructor\]$/,aA=typeof Zp=="object"&&Zp&&Zp.Object===Object&&Zp,lA=typeof self=="object"&&self&&self.Object===Object&&self,RM=aA||lA||Function("return this")();function nA(t,r){return t==null?void 0:t[r]}function $A(t){var r=!1;if(t!=null&&typeof t.toString!="function")try{r=!!(t+"")}catch{}return r}var gA=Array.prototype,bA=Function.prototype,bw=Object.prototype,xM=RM["__core-js_shared__"],kL=function(){var t=/[^.]+$/.exec(xM&&xM.keys&&xM.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),mw=bA.toString,PM=bw.hasOwnProperty,pw=bw.toString,mA=RegExp("^"+mw.call(PM).replace(oA,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),BL=RM.Symbol,pA=gA.splice,uA=uw(RM,"Map"),xm=uw(Object,"create"),VL=BL?BL.prototype:void 0,WL=VL?VL.toString:void 0;function mt(t){var r=-1,e=t?t.length:0;for(this.clear();++r-1}function LA(t,r){var e=this.__data__,m=i0(e,t);return m<0?e.push([t,r]):e[m][1]=r,this}g1.prototype.clear=CA;g1.prototype.delete=SA;g1.prototype.get=vA;g1.prototype.has=MA;g1.prototype.set=LA;function pt(t){var r=-1,e=t?t.length:0;for(this.clear();++rr?t:(r-=t.length,e+=e.repeat(r),t+e.slice(0,r))}class i1 extends Error{static buildMessage(r,e){function m(I){return I.charCodeAt(0).toString(16).toUpperCase()}function j(I){return I.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function y(I){return I.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function w(I){switch(I.type){case"literal":return'"'+j(I.text)+'"';case"class":const v=I.parts.map(_=>Array.isArray(_)?y(_[0])+"-"+y(_[1]):y(_));return"["+(I.inverted?"^":"")+v+"]";case"any":return"any character";case"end":return"end of input";case"other":return I.description}}function P(I){const v=I.map(w);let _,K;if(v.sort(),v.length>0){for(_=1,K=1;_ `+w+` -`+G+` | -`+y.line+" | "+I+` -`+G+" | "+CM("",y.column-1," ")+CM("",v-y.column,"^")}else e+=` - at `+w}return e}}function ZA(t,r){r=r!==void 0?r:{};const e={},m=r.grammarSource,j={Chord:$m};let y=$m;const w=function(c){return{type:"chord",...c,column:aM().start.column}},P=/^[#b]/,G=at(["#","b"],!1,!1),I=function(c,L,D,N){return{base:c,modifier:L,suffix:D,...N,chordType:"symbol"}},v=function(c){return{base:null,modifier:null,suffix:null,...c,chordType:"symbol"}},_=/^[A-Ga-g]/,K=at([["A","G"],["a","g"]],!1,!1),me="/",q=$("/",!1),V=function(c,L){return{bassBase:c,bassModifier:L}},je=function(c,L,D,N){return{base:c,modifier:L,suffix:D,...N,chordType:"solfege"}},De=function(c){return{base:null,modifier:null,suffix:null,...c,chordType:"solfege"}},H="do",ue=$("Do",!0),ye="re",pe=$("Re",!0),ve="mi",dt=$("Mi",!0),ht="fa",m1=$("Fa",!0),p1="sol",u1=$("Sol",!0),cs="la",ts=$("La",!0),d1="si",h1=$("Si",!0),Gs=function(c,L,D,N){return{base:L,modifier:c,suffix:D,...N,chordType:"numeral"}},jt=function(c){return{base:null,modifier:null,suffix:null,...c,chordType:"numeral"}},j1="iii",se=$("III",!0),ce="vii",y1=$("VII",!0),x1="ii",C1=$("II",!0),S1="iv",fs=$("IV",!0),os="vi",v1=$("VI",!0),M1=/^[IV]/i,Os=at(["I","V"],!1,!0),rs=function(c,L){return{bassBase:L,bassModifier:c}},zs=function(c,L,D,N){return{base:L,modifier:c,suffix:D,...N,chordType:"numeric"}},ks=function(c){return{base:null,modifier:null,suffix:null,...c,chordType:"numeric"}},is=/^[1-7]/,L1=at([["1","7"]],!1,!1),yt="2(#4)(#42)(2#4)",Bs=$("2(#4)(#42)(2#4)",!1),Vs="maj13(+11+5)",ae=$("maj13(+11+5)",!1),re="maj13(#11#5)",xt=$("maj13(#11#5)",!1),Ct="ma13(#11#5)",w1=$("ma13(#11#5)",!1),St="ma13(+11+5)",E1=$("ma13(+11+5)",!1),vt="maj13(+9+5)",A1=$("maj13(+9+5)",!1),Mt="maj13(#9#5)",Lt=$("maj13(#9#5)",!1),wt="maj13(-9+5)",Et=$("maj13(-9+5)",!1),Ne="maj13(b9#5)",Ge=$("maj13(b9#5)",!1),as="maj9(+11+5)",I1=$("maj9(+11+5)",!1),Ws="maj9(#11#5)",At=$("maj9(#11#5)",!1),Hs="maj9(-13+5)",T1=$("maj9(-13+5)",!1),Us="maj9(b13#5)",Ks=$("maj9(b13#5)",!1),It="m11(#9b13)",Tt=$("m11(#9b13)",!1),Ft="m11(+9-13)",F1=$("m11(+9-13)",!1),_t="-11(#9b13)",Rt=$("-11(#9b13)",!1),qs="-11(+9-13)",Pt=$("-11(+9-13)",!1),Zs="m11(b13#5)",_1=$("m11(b13#5)",!1),Dt="m11(#5b13)",R1=$("m11(#5b13)",!1),Xs="m11(+5-13)",P1=$("m11(+5-13)",!1),Nt="-11(#5b13)",D1=$("-11(#5b13)",!1),Gt="-11(+5-13)",N1=$("-11(+5-13)",!1),Ys="m11(b5b13)",Ot=$("m11(b5b13)",!1),zt="m11(-5-13)",G1=$("m11(-5-13)",!1),kt="-11(b5b13)",Bt=$("-11(b5b13)",!1),Vt="-11(-5-13)",O1=$("-11(-5-13)",!1),Wt="m11(b9b13)",Ht=$("m11(b9b13)",!1),ls="m11(-9-13)",z1=$("m11(-9-13)",!1),Js="-11(b9b13)",k1=$("-11(b9b13)",!1),Qs="-11(-9-13)",B1=$("-11(-9-13)",!1),ec="maj11(-13)",ns=$("maj11(-13)",!1),$s="maj11(b13)",V1=$("maj11(b13)",!1),Ee="maj13(+11)",Ut=$("maj13(+11)",!1),sc="maj13(#11)",gs=$("maj13(#11)",!1),bs="maj13#11#5",W1=$("maj13#11#5",!1),ms="maj13+11+5",H1=$("maj13+11+5",!1),ps="+13(#11#5)",U1=$("+13(#11#5)",!1),us="+13(+11+5)",K1=$("+13(+11+5)",!1),ds="ma13(#9#5)",q1=$("ma13(#9#5)",!1),hs="ma13(+9+5)",Z1=$("ma13(+9+5)",!1),js="ma13(b9#5)",X1=$("ma13(b9#5)",!1),ys="ma13(-9+5)",Y1=$("ma13(-9+5)",!1),xs="(triangle)",J1=$("(triangle)",!1),Cs="ma9(#11#5)",Q1=$("ma9(#11#5)",!1),cc="ma9(+11+5)",b=$("ma9(+11+5)",!1),R="ma9(b13#5)",Ss=$("ma9(b13#5)",!1),le="ma9(-13+5)",tc=$("ma9(-13+5)",!1),M="add9(no3)",vs=$("add9(no3)",!1),fc="min(maj7)",Ae=$("min(maj7)",!1),k="min(maj9)",ne=$("min(maj9)",!1),oc="m11(#9#5)",ef=$("m11(#9#5)",!1),Oe="m11(#5#9)",Kt=$("m11(#5#9)",!1),ze="m11(+5+9)",T=$("m11(+5+9)",!1),rc="-11(#5#9)",qt=$("-11(#5#9)",!1),Ms="-11(+5+9)",Zt=$("-11(+5+9)",!1),ic="m11(b5#9)",Xt=$("m11(b5#9)",!1),ac="m11(-5+9)",sf=$("m11(-5+9)",!1),lc="-11(b5#9)",Ls=$("-11(b5#9)",!1),ws="-11(-5+9)",cf=$("-11(-5+9)",!1),Es="m11(b5b9)",As=$("m11(b5b9)",!1),ke="m11(-5-9)",tf=$("m11(-5-9)",!1),nc="-11(b5b9)",ff=$("-11(b5b9)",!1),$c="-11(-5-9)",of=$("-11(-5-9)",!1),Is="m11(b9#5)",gc=$("m11(b9#5)",!1),xe="m11(#5b9)",Yt=$("m11(#5b9)",!1),bc="m11(+5-9)",rf=$("m11(+5-9)",!1),mc="-11(#5b9)",Jt=$("-11(#5b9)",!1),pc="-11(+5-9)",Qt=$("-11(+5-9)",!1),uc="m7(add11)",e1=$("m7(add11)",!1),dc="min7(no3)",af=$("min7(no3)",!1),hc="maj11(+5)",Be=$("maj11(+5)",!1),jc="maj11(#5)",lf=$("maj11(#5)",!1),Ts="maj11(+9)",Ve=$("maj11(+9)",!1),z="maj11(#9)",Fs=$("maj11(#9)",!1),be="ma11(b13)",We=$("ma11(b13)",!1),yc="ma11(-13)",nf=$("ma11(-13)",!1),xc="maj11(-5)",He=$("maj11(-5)",!1),Cc="maj11(b5)",$f=$("maj11(b5)",!1),Sc="maj11(-9)",vc=$("maj11(-9)",!1),Mc="maj11(b9)",gf=$("maj11(b9)",!1),Ue="ma13(#11)",bf=$("ma13(#11)",!1),Lc="ma13(+11)",wc=$("ma13(+11)",!1),Ec="ma13+11+5",mf=$("ma13+11+5",!1),Ke="maj13(+5)",Ce=$("maj13(+5)",!1),g="maj13(#5)",p=$("maj13(#5)",!1),h="maj13(+9)",d=$("maj13(+9)",!1),S="maj13(#9)",C=$("maj13(#9)",!1),E="maj13#9#5",F=$("maj13#9#5",!1),te="maj13+9+5",fe=$("maj13+9+5",!1),pf="+13(#9#5)",j0=$("+13(#9#5)",!1),uf="M13(+9+5)",y0=$("M13(+9+5)",!1),df="maj13(-5)",x0=$("maj13(-5)",!1),hf="maj13(b5)",C0=$("maj13(b5)",!1),jf="maj13(-9)",S0=$("maj13(-9)",!1),yf="maj13(b9)",v0=$("maj13(b9)",!1),xf="maj13b9#5",M0=$("maj13b9#5",!1),Cf="maj13-9+5",L0=$("maj13-9+5",!1),Sf="+13(b9#5)",w0=$("+13(b9#5)",!1),vf="+13(-9+5)",E0=$("+13(-9+5)",!1),Mf="maj7(+11)",A0=$("maj7(+11)",!1),Lf="maj7(#11)",I0=$("maj7(#11)",!1),wf="aug(maj7)",T0=$("aug(maj7)",!1),Ef="maj7(-13)",F0=$("maj7(-13)",!1),Af="maj7(b13)",_0=$("maj7(b13)",!1),If="maj9(+11)",R0=$("maj9(+11)",!1),Tf="maj9(#11)",P0=$("maj9(#11)",!1),Ff="maj9#11#5",D0=$("maj9#11#5",!1),_f="maj9+11+5",N0=$("maj9+11+5",!1),Rf="+9(#11#5)",G0=$("+9(#11#5)",!1),Pf="+9(+11+5)",O0=$("+9(+11+5)",!1),Df="maj9(-13)",z0=$("maj9(-13)",!1),Nf="maj9(b13)",k0=$("maj9(b13)",!1),Gf="maj9b13#5",B0=$("maj9b13#5",!1),Of="maj9-13+5",V0=$("maj9-13+5",!1),zf="+9(b13#5)",W0=$("+9(b13#5)",!1),kf="+9(-13+5)",H0=$("+9(-13+5)",!1),Bf="13(#9#5)",U0=$("13(#9#5)",!1),Vf="13(+9+5)",K0=$("13(+9+5)",!1),Wf="13(#9b5)",q0=$("13(#9b5)",!1),Hf="13(+9-5)",Z0=$("13(+9-5)",!1),Uf="13(add2)",X0=$("13(add2)",!1),Kf="13(add4)",Y0=$("13(add4)",!1),qf="13(b9#5)",J0=$("13(b9#5)",!1),Zf="13(-9+5)",Q0=$("13(-9+5)",!1),Xf="13(b9b5)",eu=$("13(b9b5)",!1),Yf="13(-9-5)",su=$("13(-9-5)",!1),Jf="7(#5#11)",cu=$("7(#5#11)",!1),Qf="7(+5+11)",tu=$("7(+5+11)",!1),eo="7(#9b13)",fu=$("7(#9b13)",!1),so="7(+9-13)",ou=$("7(+9-13)",!1),co="7(b13#9)",ru=$("7(b13#9)",!1),to="7(-13+9)",iu=$("7(-13+9)",!1),fo="7(b5#11)",au=$("7(b5#11)",!1),oo="7(-5+11)",lu=$("7(-5+11)",!1),ro="7(b9b13)",nu=$("7(b9b13)",!1),io="7(-9-13)",$u=$("7(-9-13)",!1),ao="7(b13b9)",gu=$("7(b13b9)",!1),lo="7(-13-9)",bu=$("7(-13-9)",!1),no="7sus(b9)",mu=$("7sus(b9)",!1),$o="b69(#11)",pu=$("b69(#11)",!1),go="m(add11)",uu=$("m(add11)",!1),bo="mi(maj7)",du=$("mi(maj7)",!1),mo="mi(maj9)",hu=$("mi(maj9)",!1),po="m11#9b13",ju=$("m11#9b13",!1),uo="m11+9-13",yu=$("m11+9-13",!1),ho="-11#9b13",xu=$("-11#9b13",!1),jo="-11+9-13",Cu=$("-11+9-13",!1),yo="m11(b13)",Su=$("m11(b13)",!1),xo="m11(-13)",vu=$("m11(-13)",!1),Co="-11(b13)",Mu=$("-11(b13)",!1),So="-11(-13)",Lu=$("-11(-13)",!1),vo="m11#5b13",wu=$("m11#5b13",!1),Mo="m11+5-13",Eu=$("m11+5-13",!1),Lo="-11#5b13",Au=$("-11#5b13",!1),wo="-11+5-13",Iu=$("-11+5-13",!1),Eo="m11b5b13",Tu=$("m11b5b13",!1),Ao="m11-5-13",Fu=$("m11-5-13",!1),Io="-11b5b13",_u=$("-11b5b13",!1),To="-11-5-13",Ru=$("-11-5-13",!1),Fo="m11b9b13",Pu=$("m11b9b13",!1),_o="m11-9-13",Du=$("m11-9-13",!1),Ro="-11b9b13",Nu=$("-11b9b13",!1),Po="-11-9-13",Gu=$("-11-9-13",!1),Do="m13(#11)",Ou=$("m13(#11)",!1),No="m13(+11)",zu=$("m13(+11)",!1),Go="-13(#11)",ku=$("-13(#11)",!1),Oo="-13(+11)",Bu=$("-13(+11)",!1),zo="-13(b13)",Vu=$("-13(b13)",!1),ko="-13(-13)",Wu=$("-13(-13)",!1),Bo="m6(add9)",Hu=$("m6(add9)",!1),Vo="m7(add4)",Uu=$("m7(add4)",!1),Ac="m7(add6)",wm=$("m7(add6)",!1),Wo="m9(maj7)",Ku=$("m9(maj7)",!1),Ho="ma11(#5)",qu=$("ma11(#5)",!1),Uo="ma11(+5)",Zu=$("ma11(+5)",!1),Ko="ma11(#9)",Xu=$("ma11(#9)",!1),qo="ma11(+9)",Yu=$("ma11(+9)",!1),Zo="maj11b13",Ju=$("maj11b13",!1),Xo="maj11-13",Qu=$("maj11-13",!1),Yo="+11(b13)",e6=$("+11(b13)",!1),Jo="+11(-13)",s6=$("+11(-13)",!1),Qo="ma11(b5)",c6=$("ma11(b5)",!1),er="ma11(-5)",t6=$("ma11(-5)",!1),sr="ma11(b9)",f6=$("ma11(b9)",!1),cr="ma11(-9)",o6=$("ma11(-9)",!1),tr="maj13#11",r6=$("maj13#11",!1),fr="maj13+11",i6=$("maj13+11",!1),or="+13(#11)",a6=$("+13(#11)",!1),rr="+13(+11)",l6=$("+13(+11)",!1),ir="+13#11#5",n6=$("+13#11#5",!1),ar="M13+11+5",$6=$("M13+11+5",!1),Ic="ma7#11#5",Em=$("ma7#11#5",!1),lr="ma13(#5)",g6=$("ma13(#5)",!1),nr="ma13(+5)",b6=$("ma13(+5)",!1),$r="ma13(#9)",m6=$("ma13(#9)",!1),gr="ma13(+9)",p6=$("ma13(+9)",!1),br="ma13+9+5",u6=$("ma13+9+5",!1),mr="ma13(b5)",d6=$("ma13(b5)",!1),Tc="ma13(-5)",Am=$("ma13(-5)",!1),pr="ma13(b9)",h6=$("ma13(b9)",!1),ur="ma13(-9)",j6=$("ma13(-9)",!1),dr="ma13-9+5",y6=$("ma13-9+5",!1),hr="ma7(#11)",x6=$("ma7(#11)",!1),jr="ma7(+11)",C6=$("ma7(+11)",!1),yr="maj7(+5)",S6=$("maj7(+5)",!1),xr="maj7(#5)",v6=$("maj7(#5)",!1),Cr="aug(ma7)",M6=$("aug(ma7)",!1),Sr="maj7(+9)",L6=$("maj7(+9)",!1),vr="maj7(#9)",w6=$("maj7(#9)",!1),Mr="ma7(b13)",E6=$("ma7(b13)",!1),Lr="ma7(-13)",A6=$("ma7(-13)",!1),wr="maj7(-5)",I6=$("maj7(-5)",!1),Er="maj7(b5)",T6=$("maj7(b5)",!1),Ar="maj7(-9)",F6=$("maj7(-9)",!1),Ir="maj7(b9)",_6=$("maj7(b9)",!1),Tr="ma7(no3)",R6=$("ma7(no3)",!1),Fr="ma9(#11)",P6=$("ma9(#11)",!1),_r="ma9(+11)",D6=$("ma9(+11)",!1),Fc="ma9+11+5",Im=$("ma9+11+5",!1),Rr="maj9(+5)",N6=$("maj9(+5)",!1),Pr="maj9(#5)",G6=$("maj9(#5)",!1),Dr="ma9(b13)",O6=$("ma9(b13)",!1),Nr="ma9(-13)",z6=$("ma9(-13)",!1),Gr="ma7b13#5",k6=$("ma7b13#5",!1),Or="ma9-13+5",B6=$("ma9-13+5",!1),zr="maj9(-5)",V6=$("maj9(-5)",!1),kr="maj9(b5)",W6=$("maj9(b5)",!1),Br="sus(no5)",H6=$("sus(no5)",!1),Vr="(add11)",U6=$("(add11)",!1),Wr="(add13)",K6=$("(add13)",!1),Hr="[blank]",q6=$("[blank]",!1),Ur="11(b13)",Z6=$("11(b13)",!1),Kr="11(-13)",X6=$("11(-13)",!1),qr="m11sus4",Y6=$("m11sus4",!1),Zr="13(#11)",J6=$("13(#11)",!1),Xr="13(+11)",Q6=$("13(+11)",!1),Yr="m13sus4",e4=$("m13sus4",!1),Jr="sus2(4)",s4=$("sus2(4)",!1),Qr="6(add9)",c4=$("6(add9)",!1),ei="7(#9#5)",t4=$("7(#9#5)",!1),si="7(#5#9)",f4=$("7(#5#9)",!1),ci="7(+5+9)",o4=$("7(+5+9)",!1),ti="7(#9b5)",r4=$("7(#9b5)",!1),fi="7(b5#9)",i4=$("7(b5#9)",!1),oi="7(-5+9)",a4=$("7(-5+9)",!1),ri="7(b5b9)",l4=$("7(b5b9)",!1),ii="7(-5-9)",n4=$("7(-5-9)",!1),ai="7(b9#5)",$4=$("7(b9#5)",!1),li="7(#5b9)",g4=$("7(#5b9)",!1),ni="7(+5-9)",b4=$("7(+5-9)",!1),$i="7(b9b5)",m4=$("7(b9b5)",!1),gi="7b9sus4",p4=$("7b9sus4",!1),bi="7sus(6)",u4=$("7sus(6)",!1),mi="m(add4)",d4=$("m(add4)",!1),pi="m(add9)",h4=$("m(add9)",!1),ui="m(maj7)",j4=$("m(maj7)",!1),di="m(maj9)",y4=$("m(maj9)",!1),hi="m11(#5)",x4=$("m11(#5)",!1),ji="m11(+5)",C4=$("m11(+5)",!1),yi="-11(#5)",S4=$("-11(#5)",!1),xi="-11(+5)",v4=$("-11(+5)",!1),Ci="m11(#9)",M4=$("m11(#9)",!1),Si="m11(+9)",L4=$("m11(+9)",!1),vi="-11(#9)",w4=$("-11(#9)",!1),Mi="-11(+9)",E4=$("-11(+9)",!1),Li="m11#5#9",A4=$("m11#5#9",!1),wi="m11+5+9",I4=$("m11+5+9",!1),Ei="-11#5#9",T4=$("-11#5#9",!1),Ai="m11(b5)",F4=$("m11(b5)",!1),Ii="m11(-5)",_4=$("m11(-5)",!1),Ti="-11(b5)",R4=$("-11(b5)",!1),Fi="-11(-5)",P4=$("-11(-5)",!1),_i="m11b5#9",D4=$("m11b5#9",!1),Ri="m11-5+9",N4=$("m11-5+9",!1),Pi="-11b5#9",G4=$("-11b5#9",!1),Di="-11-5+9",O4=$("-11-5+9",!1),Ni="m11b5b9",z4=$("m11b5b9",!1),Gi="m11-5-9",k4=$("m11-5-9",!1),Oi="-11b5b9",B4=$("-11b5b9",!1),zi="-11-5-9",V4=$("-11-5-9",!1),_c="m11(b9)",Tm=$("m11(b9)",!1),ki="m11(-9)",W4=$("m11(-9)",!1),Bi="-11(b9)",H4=$("-11(b9)",!1),Vi="-11(-9)",U4=$("-11(-9)",!1),Wi="m11#5b9",K4=$("m11#5b9",!1),Hi="m11+5-9",q4=$("m11+5-9",!1),Ui="-11#5b9",Z4=$("-11#5b9",!1),Ki="m13(#5)",X4=$("m13(#5)",!1),qi="m13(+5)",Y4=$("m13(+5)",!1),Zi="-13(#5)",J4=$("-13(#5)",!1),Xi="-13(+5)",Q4=$("-13(+5)",!1),Yi="m13(#9)",e2=$("m13(#9)",!1),Ji="m13(+9)",s2=$("m13(+9)",!1),Qi="-13(#9)",c2=$("-13(#9)",!1),ea="-13(+9)",t2=$("-13(+9)",!1),sa="m13(b5)",f2=$("m13(b5)",!1),ca="m13(-5)",o2=$("m13(-5)",!1),ta="-13(b5)",r2=$("-13(b5)",!1),fa="-13(-5)",i2=$("-13(-5)",!1),oa="m13(b9)",a2=$("m13(b9)",!1),ra="m13(-9)",l2=$("m13(-9)",!1),ia="m(add2)",n2=$("m(add2)",!1),aa="m6(ma7)",$2=$("m6(ma7)",!1),la="m7(#11)",g2=$("m7(#11)",!1),na="m7(+11)",b2=$("m7(+11)",!1),$a="-7(#11)",m2=$("-7(#11)",!1),ga="-7(+11)",p2=$("-7(+11)",!1),Rc="m7(b13)",Fm=$("m7(b13)",!1),ba="m7(-13)",u2=$("m7(-13)",!1),ma="-7(b13)",d2=$("-7(b13)",!1),pa="-7(-13)",h2=$("-7(-13)",!1),Pc="m7(no3)",_m=$("m7(no3)",!1),ua="m9(#11)",j2=$("m9(#11)",!1),da="m9(+11)",y2=$("m9(+11)",!1),ha="-9(#11)",x2=$("-9(#11)",!1),ja="-9(+11)",C2=$("-9(+11)",!1),ya="m9(b13)",S2=$("m9(b13)",!1),xa="m9(-13)",v2=$("m9(-13)",!1),Ca="-9(b13)",M2=$("-9(b13)",!1),Sa="-9(-13)",L2=$("-9(-13)",!1),va="m9(ma7)",w2=$("m9(ma7)",!1),Ma="maj9b11",E2=$("maj9b11",!1),La="maj11#5",A2=$("maj11#5",!1),wa="maj11+5",I2=$("maj11+5",!1),Ea="+11(#5)",T2=$("+11(#5)",!1),Aa="+11(+5)",F2=$("+11(+5)",!1),Ia="maj11#9",_2=$("maj11#9",!1),Ta="maj11+9",R2=$("maj11+9",!1),Fa="+11(#9)",P2=$("+11(#9)",!1),_a="+11(+9)",D2=$("+11(+9)",!1),Ra="ma11b13",N2=$("ma11b13",!1),Pa="ma11-13",G2=$("ma11-13",!1),Da="maj11b5",O2=$("maj11b5",!1),Na="maj11-5",z2=$("maj11-5",!1),Ga="+11(b5)",k2=$("+11(b5)",!1),Oa="+11(-5)",B2=$("+11(-5)",!1),za="maj11b9",V2=$("maj11b9",!1),ka="maj11-9",W2=$("maj11-9",!1),Dc="+11(b9)",Rm=$("+11(b9)",!1),Ba="M11(-9)",H2=$("M11(-9)",!1),Va="ma13+11",U2=$("ma13+11",!1),Wa="maj13#5",K2=$("maj13#5",!1),Ha="maj13+5",q2=$("maj13+5",!1),Ua="+13(#5)",Z2=$("+13(#5)",!1),Ka="+13(+5)",X2=$("+13(+5)",!1),qa="maj13#9",Y2=$("maj13#9",!1),Za="maj13+9",J2=$("maj13+9",!1),Xa="+13(#9)",Q2=$("+13(#9)",!1),Ya="M13(+9)",ed=$("M13(+9)",!1),Ja="+13#9#5",sd=$("+13#9#5",!1),Qa="+13+9+5",cd=$("+13+9+5",!1),el="ma7#9#5",td=$("ma7#9#5",!1),sl="maj13b5",fd=$("maj13b5",!1),cl="maj13-5",od=$("maj13-5",!1),tl="+13(b5)",rd=$("+13(b5)",!1),fl="+13(-5)",id=$("+13(-5)",!1),ol="maj13b9",ad=$("maj13b9",!1),rl="maj13-9",ld=$("maj13-9",!1),il="+13(b9)",nd=$("+13(b9)",!1),al="+13(-9)",$d=$("+13(-9)",!1),ll="+13b9#5",gd=$("+13b9#5",!1),nl="M13-9+5",bd=$("M13-9+5",!1),$l="ma7b9#5",md=$("ma7b9#5",!1),gl="maj7#11",pd=$("maj7#11",!1),bl="maj7+11",ud=$("maj7+11",!1),ml="+7(#11)",dd=$("+7(#11)",!1),pl="+7(+11)",hd=$("+7(+11)",!1),ul="ma7(#4)",jd=$("ma7(#4)",!1),dl="ma7(#5)",yd=$("ma7(#5)",!1),hl="ma7(+5)",xd=$("ma7(+5)",!1),jl="aug(M7)",Cd=$("aug(M7)",!1),yl="aug(+7)",Sd=$("aug(+7)",!1),xl="ma7(#9)",vd=$("ma7(#9)",!1),Cl="ma7(+9)",Md=$("ma7(+9)",!1),Sl="maj7b13",Ld=$("maj7b13",!1),vl="maj7-13",wd=$("maj7-13",!1),Ml="+7(b13)",Ed=$("+7(b13)",!1),Ll="+7(-13)",Ad=$("+7(-13)",!1),wl="ma7(b5)",Id=$("ma7(b5)",!1),El="ma7(-5)",Td=$("ma7(-5)",!1),Al="ma7(b9)",Fd=$("ma7(b9)",!1),Il="ma7(-9)",_d=$("ma7(-9)",!1),Tl="maj9#11",Rd=$("maj9#11",!1),Fl="maj9+11",Pd=$("maj9+11",!1),_l="+9(#11)",Dd=$("+9(#11)",!1),Rl="+9(+11)",Nd=$("+9(+11)",!1),Pl="+9#11#5",Gd=$("+9#11#5",!1),Dl="M9+11+5",Od=$("M9+11+5",!1),Nl="ma9(#4)",zd=$("ma9(#4)",!1),Gl="ma9(#5)",kd=$("ma9(#5)",!1),Ol="ma9(+5)",Bd=$("ma9(+5)",!1),zl="ma9(13)",Vd=$("ma9(13)",!1),kl="maj9b13",Wd=$("maj9b13",!1),Bl="maj9-13",Hd=$("maj9-13",!1),Vl="+9(b13)",Ud=$("+9(b13)",!1),Wl="+9(-13)",Kd=$("+9(-13)",!1),Hl="+9b13#5",qd=$("+9b13#5",!1),Ul="M9-13+5",Zd=$("M9-13+5",!1),Kl="ma9(b5)",Xd=$("ma9(b5)",!1),ql="ma9(-5)",Yd=$("ma9(-5)",!1),Zl="(add2)",Jd=$("(add2)",!1),Xl="(add4)",Qd=$("(add4)",!1),Yl="sus(4)",e8=$("sus(4)",!1),Jl="(add6)",s8=$("(add6)",!1),Ql="(add9)",c8=$("(add9)",!1),en="(unis)",t8=$("(unis)",!1),sn="11(#5)",f8=$("11(#5)",!1),cn="11(+5)",o8=$("11(+5)",!1),tn="11(#9)",r8=$("11(#9)",!1),fn="11(+9)",i8=$("11(+9)",!1),on="11(b5)",a8=$("11(b5)",!1),rn="11(-5)",l8=$("11(-5)",!1),an="11(b9)",n8=$("11(b9)",!1),ln="11(-9)",$8=$("11(-9)",!1),nn="11sus4",g8=$("11sus4",!1),$n="m11sus",b8=$("m11sus",!1),gn="13(#5)",m8=$("13(#5)",!1),bn="13(+5)",p8=$("13(+5)",!1),mn="13(#9)",u8=$("13(#9)",!1),pn="13(+9)",d8=$("13(+9)",!1),un="13#9#5",h8=$("13#9#5",!1),dn="13+9+5",j8=$("13+9+5",!1),hn="13#9b5",y8=$("13#9b5",!1),jn="13+9-5",x8=$("13+9-5",!1),yn="13(b5)",C8=$("13(b5)",!1),xn="13(-5)",S8=$("13(-5)",!1),Cn="13(b9)",v8=$("13(b9)",!1),Sn="13(-9)",M8=$("13(-9)",!1),vn="13b9#5",L8=$("13b9#5",!1),Mn="13-9+5",w8=$("13-9+5",!1),Ln="13b9b5",E8=$("13b9b5",!1),wn="13-9-5",A8=$("13-9-5",!1),En="13sus4",I8=$("13sus4",!1),An="m13sus",T8=$("m13sus",!1),In="2(#11)",F8=$("2(#11)",!1),Tn="2(ma7)",_8=$("2(ma7)",!1),Fn="2(no3)",R8=$("2(no3)",!1),_n="5(no3)",P8=$("5(no3)",!1),Rn="6(no3)",D8=$("6(no3)",!1),Pn="7(#11)",N8=$("7(#11)",!1),Dn="7(+11)",G8=$("7(+11)",!1),Nn="7#5#11",O8=$("7#5#11",!1),Gn="7+5+11",z8=$("7+5+11",!1),On="7#9b13",k8=$("7#9b13",!1),zn="7+9-13",B8=$("7+9-13",!1),kn="7b13#9",V8=$("7b13#9",!1),Bn="7-13+9",W8=$("7-13+9",!1),Nc="7(b13)",Pm=$("7(b13)",!1),Vn="7(-13)",H8=$("7(-13)",!1),Wn="7b5#11",U8=$("7b5#11",!1),Hn="7-5+11",K8=$("7-5+11",!1),Un="7b9b13",q8=$("7b9b13",!1),Kn="7-9-13",Z8=$("7-9-13",!1),qn="7b13b9",X8=$("7b13b9",!1),Zn="7-13-9",Y8=$("7-13-9",!1),Xn="7(no3)",J8=$("7(no3)",!1),Yn="9(#11)",Q8=$("9(#11)",!1),Jn="9(+11)",eh=$("9(+11)",!1),Qn="9(b13)",sh=$("9(b13)",!1),e$="9(-13)",ch=$("9(-13)",!1),s$="m9sus4",th=$("m9sus4",!1),c$="b69sus",fh=$("b69sus",!1),t$="m(ma7)",oh=$("m(ma7)",!1),f$="m(ma9)",rh=$("m(ma9)",!1),o$="m(no5)",ih=$("m(no5)",!1),r$="m9+5+9",ah=$("m9+5+9",!1),i$="m11b13",lh=$("m11b13",!1),a$="m11-13",nh=$("m11-13",!1),l$="-11b13",$h=$("-11b13",!1),n$="-11-13",gh=$("-11-13",!1),$$="m9+5-9",bh=$("m9+5-9",!1),g$="m13#11",mh=$("m13#11",!1),b$="m13+11",ph=$("m13+11",!1),m$="-13#11",uh=$("-13#11",!1),Gc="-13+11",Dm=$("-13+11",!1),p$="-13b13",dh=$("-13b13",!1),u$="-13-13",hh=$("-13-13",!1),d$="m6(#5)",jh=$("m6(#5)",!1),h$="m6add9",yh=$("m6add9",!1),j$="m6(M7)",xh=$("m6(M7)",!1),y$="m6(+7)",Ch=$("m6(+7)",!1),x$="m7(#5)",Sh=$("m7(#5)",!1),C$="m7(+5)",vh=$("m7(+5)",!1),S$="-7(#5)",Mh=$("-7(#5)",!1),v$="-7(+5)",Lh=$("-7(+5)",!1),M$="m7(#9)",wh=$("m7(#9)",!1),L$="m7(+9)",Eh=$("m7(+9)",!1),w$="-7(#9)",Ah=$("-7(#9)",!1),E$="-7(+9)",Ih=$("-7(+9)",!1),A$="m7(11)",Th=$("m7(11)",!1),I$="m7(b5)",Fh=$("m7(b5)",!1),T$="m7(-5)",_h=$("m7(-5)",!1),F$="-7(b5)",Rh=$("-7(b5)",!1),_$="-7(-5)",Ph=$("-7(-5)",!1),R$="m7(b9)",Dh=$("m7(b9)",!1),P$="m7(-9)",Nh=$("m7(-9)",!1),D$="-7(b9)",Gh=$("-7(b9)",!1),N$="-7(-9)",Oh=$("-7(-9)",!1),G$="m7sus4",zh=$("m7sus4",!1),O$="m9(#5)",kh=$("m9(#5)",!1),z$="m9(+5)",Bh=$("m9(+5)",!1),k$="-9(#5)",Vh=$("-9(#5)",!1),B$="-9(+5)",Wh=$("-9(+5)",!1),V$="m9(#7)",Hh=$("m9(#7)",!1),W$="m9(b5)",Uh=$("m9(b5)",!1),H$="m9(-5)",Kh=$("m9(-5)",!1),U$="-9(b5)",qh=$("-9(b5)",!1),K$="-9(-5)",Zh=$("-9(-5)",!1),q$="m9(+7)",Xh=$("m9(+7)",!1),Z$="m9(M7)",Yh=$("m9(M7)",!1),X$="11(#7)",Jh=$("11(#7)",!1),Y$="11(+7)",Qh=$("11(+7)",!1),J$="ma11#5",ej=$("ma11#5",!1),Q$="ma11+5",sj=$("ma11+5",!1),eg="ma11#9",cj=$("ma11#9",!1),sg="ma11+9",tj=$("ma11+9",!1),cg="+11b13",fj=$("+11b13",!1),tg="M11-13",oj=$("M11-13",!1),fg="ma11b5",rj=$("ma11b5",!1),og="ma11-5",ij=$("ma11-5",!1),rg="ma11b9",aj=$("ma11b9",!1),ig="ma11-9",lj=$("ma11-9",!1),ag="13(#7)",nj=$("13(#7)",!1),lg="+13#11",$j=$("+13#11",!1),ng="M13+11",gj=$("M13+11",!1),qe="ma7#11",$g=$("ma7#11",!1),gg="ma13#5",bj=$("ma13#5",!1),bg="ma13+5",mj=$("ma13+5",!1),mg="ma13#9",pj=$("ma13#9",!1),pg="ma13+9",uj=$("ma13+9",!1),ug="ma13b5",dj=$("ma13b5",!1),dg="ma13-5",hj=$("ma13-5",!1),hg="ma13b9",jj=$("ma13b9",!1),jg="ma13-9",yj=$("ma13-9",!1),yg="ma6(9)",xj=$("ma6(9)",!1),xg="ma7+11",Cj=$("ma7+11",!1),Cg="maj7#5",Sj=$("maj7#5",!1),Sg="maj7+5",vj=$("maj7+5",!1),vg="+7(#5)",Mj=$("+7(#5)",!1),Mg="+7(+5)",Lj=$("+7(+5)",!1),Lg="maj7#9",wj=$("maj7#9",!1),wg="maj7+9",Ej=$("maj7+9",!1),Eg="+7(#9)",Aj=$("+7(#9)",!1),Ag="+7(+9)",Ij=$("+7(+9)",!1),Oc="ma7b13",Nm=$("ma7b13",!1),Ig="ma7-13",Tj=$("ma7-13",!1),Tg="maj7b5",Fj=$("maj7b5",!1),Fg="maj7-5",_j=$("maj7-5",!1),_g="+7(b5)",Rj=$("+7(b5)",!1),Rg="+7(-5)",Pj=$("+7(-5)",!1),Pg="maj7b9",Dj=$("maj7b9",!1),Dg="maj7-9",Nj=$("maj7-9",!1),Ze="+7(b9)",Ng=$("+7(b9)",!1),Gg="+7(-9)",Gj=$("+7(-9)",!1),Og="ma9+11",Oj=$("ma9+11",!1),zg="maj9#5",zj=$("maj9#5",!1),kg="maj9+5",kj=$("maj9+5",!1),Bg="+9(#5)",Bj=$("+9(#5)",!1),Vg="+9(+5)",Vj=$("+9(+5)",!1),Wg="ma9-13",Wj=$("ma9-13",!1),Hg="maj9b5",Hj=$("maj9b5",!1),Ug="maj9-5",Uj=$("maj9-5",!1),Kg="+9(b5)",Kj=$("+9(b5)",!1),qg="+9(-5)",qj=$("+9(-5)",!1),Zg="sus#42",Zj=$("sus#42",!1),Xg="add11",Xj=$("add11",!1),Yg="add13",Yj=$("add13",!1),Jg="major",Jj=$("major",!1),Qg="dom11",Qj=$("dom11",!1),e5="11b13",ey=$("11b13",!1),s5="11-13",sy=$("11-13",!1),zc="11sus",Gm=$("11sus",!1),c5="dom13",cy=$("dom13",!1),t5="13#11",ty=$("13#11",!1),f5="13+11",fy=$("13+11",!1),o5="13sus",oy=$("13sus",!1),kc="2(#4)",Om=$("2(#4)",!1),r5="2(+4)",ry=$("2(+4)",!1),i5="(#4)2",iy=$("(#4)2",!1),a5="2(+7)",ay=$("2(+7)",!1),l5="sus42",ly=$("sus42",!1),n5="(no3)",ny=$("(no3)",!1),$5="6(b9)",$y=$("6(b9)",!1),g5="7(#5)",gy=$("7(#5)",!1),b5="7(+5)",by=$("7(+5)",!1),m5="7(#9)",my=$("7(#9)",!1),p5="7(+9)",py=$("7(+9)",!1),u5="7#5#9",uy=$("7#5#9",!1),d5="7+5+9",dy=$("7+5+9",!1),h5="7(b5)",hy=$("7(b5)",!1),j5="7(-5)",jy=$("7(-5)",!1),y5="7b5#9",yy=$("7b5#9",!1),x5="7-5+9",xy=$("7-5+9",!1),C5="7b5b9",Cy=$("7b5b9",!1),S5="7-5-9",Sy=$("7-5-9",!1),v5="7(b9)",vy=$("7(b9)",!1),M5="7(-9)",My=$("7(-9)",!1),L5="7#5b9",Ly=$("7#5b9",!1),w5="7+5-9",wy=$("7+5-9",!1),E5="7aug5",Ey=$("7aug5",!1),A5="7sus4",Ay=$("7sus4",!1),I5="9(#5)",Iy=$("9(#5)",!1),T5="9(+5)",Ty=$("9(+5)",!1),Bc="9(b5)",zm=$("9(b5)",!1),F5="9(-5)",Fy=$("9(-5)",!1),_5="9sus4",_y=$("9sus4",!1),R5="m9sus",Ry=$("m9sus",!1),P5="b9sus",Py=$("b9sus",!1),D5="m(b5)",Dy=$("m(b5)",!1),N5="m(-5)",Ny=$("m(-5)",!1),G5="-(b5)",Gy=$("-(b5)",!1),O5="minor",Oy=$("minor",!1),z5="m(11)",zy=$("m(11)",!1),k5="m(M7)",ky=$("m(M7)",!1),B5="m(+7)",By=$("m(+7)",!1),V5="m(M9)",Vy=$("m(M9)",!1),W5="m(+9)",Wy=$("m(+9)",!1),H5="min11",Hy=$("min11",!1),U5="m11#5",Uy=$("m11#5",!1),K5="m11+5",Ky=$("m11+5",!1),q5="-11#5",qy=$("-11#5",!1),Z5="m11#9",Zy=$("m11#9",!1),X5="m11+9",Xy=$("m11+9",!1),Y5="-11#9",Yy=$("-11#9",!1),J5="-11+9",Jy=$("-11+9",!1),Q5="m11b5",Qy=$("m11b5",!1),eb="m11-5",ex=$("m11-5",!1),sb="-11b5",sx=$("-11b5",!1),cb="m11b9",cx=$("m11b9",!1),tb="m11-9",tx=$("m11-9",!1),fb="-11b9",fx=$("-11b9",!1),ob="-11-9",ox=$("-11-9",!1),rb="min13",rx=$("min13",!1),ib="m13#5",ix=$("m13#5",!1),Vc="m13+5",km=$("m13+5",!1),ab="-13#5",ax=$("-13#5",!1),lb="m13#9",lx=$("m13#9",!1),nb="m13+9",nx=$("m13+9",!1),$b="-13#9",$x=$("-13#9",!1),gb="-13+9",gx=$("-13+9",!1),bb="m13b5",bx=$("m13b5",!1),mb="m13-5",mx=$("m13-5",!1),pb="-13b5",px=$("-13b5",!1),ub="-13-5",ux=$("-13-5",!1),db="m13b9",dx=$("m13b9",!1),hb="m13-9",hx=$("m13-9",!1),jb="madd2",jx=$("madd2",!1),yb="m6(9)",yx=$("m6(9)",!1),xb="m7#11",xx=$("m7#11",!1),Cb="m7+11",Cx=$("m7+11",!1),Sb="-7#11",Sx=$("-7#11",!1),vb="-7+11",vx=$("-7+11",!1),Wc="m7(4)",Bm=$("m7(4)",!1),Mb="m7(6)",Mx=$("m7(6)",!1),Lb="m7b13",Lx=$("m7b13",!1),wb="m7-13",wx=$("m7-13",!1),Eb="-7b13",Ex=$("-7b13",!1),Ab="-7-13",Ax=$("-7-13",!1),Ib="m7sus",Ix=$("m7sus",!1),Tb="m9#11",Tx=$("m9#11",!1),Fb="m9+11",Fx=$("m9+11",!1),Hc="-9#11",Vm=$("-9#11",!1),_b="-9+11",_x=$("-9+11",!1),Rb="m9b13",Rx=$("m9b13",!1),Pb="m9-13",Px=$("m9-13",!1),Db="-9b13",Dx=$("-9b13",!1),Nb="-9-13",Nx=$("-9-13",!1),Gb="+11#5",Gx=$("+11#5",!1),Ob="M11+5",Ox=$("M11+5",!1),zb="+11#9",zx=$("+11#9",!1),kb="M11+9",kx=$("M11+9",!1),Bb="+11b5",Bx=$("+11b5",!1),Vb="M11-5",Vx=$("M11-5",!1),Wb="+11b9",Wx=$("+11b9",!1),Hb="+11-9",Hx=$("+11-9",!1),Ub="+13#5",Ux=$("+13#5",!1),Kb="M13+5",Kx=$("M13+5",!1),qb="+13#9",qx=$("+13#9",!1),Zb="+13+9",Zx=$("+13+9",!1),Uc="+13b5",Wm=$("+13b5",!1),Xb="M13-5",Xx=$("M13-5",!1),Yb="+13b9",Yx=$("+13b9",!1),Jb="M13-9",Jx=$("M13-9",!1),Qb="+7#11",Qx=$("+7#11",!1),e9="M7+11",eC=$("M7+11",!1),s9="ma7#5",sC=$("ma7#5",!1),c9="ma7+5",cC=$("ma7+5",!1),t9="ma7#9",tC=$("ma7#9",!1),f9="ma7+9",fC=$("ma7+9",!1),o9="+7b13",oC=$("+7b13",!1),r9="M7-13",rC=$("M7-13",!1),i9="ma7b5",iC=$("ma7b5",!1),a9="ma7-5",aC=$("ma7-5",!1),l9="ma7b9",lC=$("ma7b9",!1),n9="ma7-9",nC=$("ma7-9",!1),$9="9(#7)",$C=$("9(#7)",!1),g9="+9#11",gC=$("+9#11",!1),b9="M9+11",bC=$("M9+11",!1),m9="ma9#5",mC=$("ma9#5",!1),p9="ma9+5",pC=$("ma9+5",!1),u9="+9b13",uC=$("+9b13",!1),d9="M9-13",dC=$("M9-13",!1),h9="ma9b5",hC=$("ma9b5",!1),j9="ma9-5",jC=$("ma9-5",!1),y9="(#4)",yC=$("(#4)",!1),x9="(+4)",xC=$("(+4)",!1),C9="(11)",CC=$("(11)",!1),S9="(13)",SC=$("(13)",!1),v9="add2",vC=$("add2",!1),M9="add4",MC=$("add4",!1),L9="add6",LC=$("add6",!1),w9="add9",wC=$("add9",!1),E9="(b5)",EC=$("(b5)",!1),A9="(-5)",AC=$("(-5)",!1),I9="2(6)",IC=$("2(6)",!1),T9="(b6)",TC=$("(b6)",!1),F9="unis",FC=$("unis",!1),_9="Majj",_C=$("Majj",!1),R9="(#5)",RC=$("(#5)",!1),P9="(+5)",PC=$("(+5)",!1),D9="11#5",DC=$("11#5",!1),N9="11+5",NC=$("11+5",!1),G9="11#9",GC=$("11#9",!1),O9="11+9",OC=$("11+9",!1),z9="11b5",zC=$("11b5",!1),k9="11-5",kC=$("11-5",!1),B9="11b9",BC=$("11b9",!1),V9="11-9",VC=$("11-9",!1),W9="13#5",WC=$("13#5",!1),H9="13+5",HC=$("13+5",!1),U9="13#9",UC=$("13#9",!1),K9="13+9",KC=$("13+9",!1),q9="13b5",qC=$("13b5",!1),Z9="13-5",ZC=$("13-5",!1),X9="13b9",XC=$("13b9",!1),Y9="13-9",YC=$("13-9",!1),J9="sus2",JC=$("sus2",!1),Q9="2(4)",QC=$("2(4)",!1),e3="4(2)",eS=$("4(2)",!1),s3="6(2)",sS=$("6(2)",!1),c3="6(9)",cS=$("6(9)",!1),t3="dom7",tS=$("dom7",!1),f3="7#11",fS=$("7#11",!1),o3="7+11",oS=$("7+11",!1),r3="aug7",rS=$("aug7",!1),i3="7(6)",iS=$("7(6)",!1),a3="7b13",aS=$("7b13",!1),l3="7-13",lS=$("7-13",!1),n3="7sus",nS=$("7sus",!1),$3="dom9",$S=$("dom9",!1),g3="9#11",gS=$("9#11",!1),b3="9+11",bS=$("9+11",!1),m3="aug9",mS=$("aug9",!1),p3="9b13",pS=$("9b13",!1),u3="9-13",uS=$("9-13",!1),d3="9aug",dS=$("9aug",!1),h3="9sus",hS=$("9sus",!1),j3="dim7",jS=$("dim7",!1),y3="m(4)",yS=$("m(4)",!1),x3="m(9)",xS=$("m(9)",!1),C3="mi11",CS=$("mi11",!1),Xe="m9+5",S3=$("m9+5",!1),Kc="-9-5",Hm=$("-9-5",!1),v3="mi13",SS=$("mi13",!1),M3="min2",vS=$("min2",!1),L3="min6",MS=$("min6",!1),w3="m6M7",LS=$("m6M7",!1),E3="m6+7",wS=$("m6+7",!1),A3="min7",ES=$("min7",!1),I3="m7#5",AS=$("m7#5",!1),qc="m7+5",Um=$("m7+5",!1),T3="-7#5",IS=$("-7#5",!1),F3="m7#9",TS=$("m7#9",!1),Zc="m7+9",Km=$("m7+9",!1),_3="-7#9",FS=$("-7#9",!1),R3="m7b5",_S=$("m7b5",!1),Xc="m7-5",qm=$("m7-5",!1),P3="-7b5",RS=$("-7b5",!1),D3="m7b9",PS=$("m7b9",!1),Yc="m7-9",Zm=$("m7-9",!1),N3="-7b9",DS=$("-7b9",!1),G3="min9",NS=$("min9",!1),O3="m9#5",GS=$("m9#5",!1),z3="-9#5",OS=$("-9#5",!1),k3="m9b5",zS=$("m9b5",!1),B3="m9-5",kS=$("m9-5",!1),V3="-9b5",BS=$("-9b5",!1),W3="m9M7",VS=$("m9M7",!1),Me="maj9",s1=$("maj9",!1),Ye="ma11",H3=$("ma11",!1),U3="11#7",WS=$("11#7",!1),K3="11+7",HS=$("11+7",!1),Jc="ma13",Xm=$("ma13",!1),q3="ma69",US=$("ma69",!1),Z3="Maj7",KS=$("Maj7",!1),X3="maj7",qS=$("maj7",!1),Y3="+7#5",ZS=$("+7#5",!1),Qc="M7+5",Ym=$("M7+5",!1),J3="+7#9",XS=$("+7#9",!1),Q3="M7+9",YS=$("M7+9",!1),et="+7b5",Jm=$("+7b5",!1),e7="M7-5",JS=$("M7-5",!1),s7="+7b9",QS=$("+7b9",!1),st="M7-9",Qm=$("M7-9",!1),c7="+9#5",ev=$("+9#5",!1),t7="M9+5",sv=$("M9+5",!1),ct="+9b5",ep=$("+9b5",!1),f7="M9-5",cv=$("M9-5",!1),o7="sus4",tv=$("sus4",!1),r7="(2)",fv=$("(2)",!1),i7="(4)",ov=$("(4)",!1),a7="(6)",rv=$("(6)",!1),l7="(7)",iv=$("(7)",!1),n7="(9)",av=$("(9)",!1),$7="maj",lv=$("maj",!1),tt="aug",sp=$("aug",!1),ft="2+4",cp=$("2+4",!1),g7="2#4",nv=$("2#4",!1),b7="no3",$v=$("no3",!1),ot="7#5",tp=$("7#5",!1),m7="7+5",gv=$("7+5",!1),p7="7#9",bv=$("7#9",!1),u7="7+9",mv=$("7+9",!1),d7="7b5",pv=$("7b5",!1),h7="7-5",uv=$("7-5",!1),j7="7b9",dv=$("7b9",!1),y7="7-9",hv=$("7-9",!1),x7="9#5",jv=$("9#5",!1),C7="9+5",yv=$("9+5",!1),S7="9b5",xv=$("9b5",!1),v7="9-5",Cv=$("9-5",!1),M7="dim",Sv=$("dim",!1),L7="mb5",vv=$("mb5",!1),w7="m-5",Mv=$("m-5",!1),E7="-b5",Lv=$("-b5",!1),A7="min",wv=$("min",!1),I7="m+7",Ev=$("m+7",!1),T7="m+9",Av=$("m+9",!1),F7="m11",Iv=$("m11",!1),_7="-11",Tv=$("-11",!1),R7="m13",Fv=$("m13",!1),P7="-13",_v=$("-13",!1),D7="mi2",Rv=$("mi2",!1),N7="mi6",Pv=$("mi6",!1),G7="m69",Dv=$("m69",!1),O7="mi7",Nv=$("mi7",!1),z7="m74",Gv=$("m74",!1),k7="mi9",Ov=$("mi9",!1),Je="ma9",B7=$("ma9",!1),V7="+11",zv=$("+11",!1),W7="M11",kv=$("M11",!1),H7="+13",Bv=$("+13",!1),U7="M13",Vv=$("M13",!1),K7="ma6",Wv=$("ma6",!1),q7="ma7",Hv=$("ma7",!1),Z7="sus",Uv=$("sus",!1),X7="#4",Kv=$("#4",!1),Y7="+4",qv=$("+4",!1),J7="-5",Zv=$("-5",!1),Q7="b5",Xv=$("b5",!1),em="ma",Yv=$("ma",!1),sm="Ma",Jv=$("Ma",!1),cm="#5",Qv=$("#5",!1),tm="+5",eM=$("+5",!1),fm="11",sM=$("11",!1),rt="13",fp=$("13",!1),om="42",cM=$("42",!1),rm="69",tM=$("69",!1),im="x7",fM=$("x7",!1),am="x9",oM=$("x9",!1),lm="o7",rM=$("o7",!1),op=$("mi",!1),rp="m2",ip=$("m2",!1),ap="m4",lp=$("m4",!1),np="m6",$p=$("m6",!1),gp="-6",_s=$("-6",!1),c1="m7",bp=$("m7",!1),mp="-7",pp=$("-7",!1),up="m9",dp=$("m9",!1),hp="-9",jp=$("-9",!1),yp="+7",xp=$("+7",!1),Cp="#7",Sp=$("#7",!1),vp="M7",Mp=$("M7",!1),Lp="+9",wp=$("+9",!1),Ep="M9",Ap=$("M9",!1),iM=/^[+\-24-79Mmx]/,Ip=at(["+","-","2",["4","7"],"9","M","m","x"],!1,!1);let o=0,ie=0;const t1=[{line:1,column:1}];let de=0,nm=[],it;if(r.startRule!==void 0){if(!(r.startRule in j))throw new Error(`Can't start parsing from rule "`+r.startRule+'".');y=j[r.startRule]}function aM(){return f1(ie,o)}function $(c,L){return{type:"literal",text:c,ignoreCase:L}}function at(c,L,D){return{type:"class",parts:c,inverted:L,ignoreCase:D}}function Tp(){return{type:"end"}}function Fp(c){let L=t1[c],D;if(L)return L;for(D=c-1;!t1[D];)D--;for(L=t1[D],L={line:L.line,column:L.column};Dde&&(de=o,nm=[]),nm.push(c))}function o1(c,L,D){return new i1(i1.buildMessage(c,L),c,L,D)}function $m(){let c,L;return c=o,L=nM(),L===e&&(L=$M(),L===e&&(L=Rp(),L===e&&(L=lM()))),L!==e&&(ie=c,L=w(L)),c=L,c}function Le(){let c;return P.test(t.charAt(o))?(c=t.charAt(o),o++):(c=e,l(G)),c}function lM(){let c,L,D,N,B;return c=o,L=gm(),L!==e?(D=Le(),D===e&&(D=null),D!==e?(N=o,B=lt(),B!==e?N=t.substring(N,o):N=B,N!==e?(B=_p(),B===e&&(B=null),B!==e?(ie=c,L=I(L,D,N,B),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c===e&&(c=o,L=_p(),L!==e&&(ie=c,L=v(L)),c=L),c}function gm(){let c;return _.test(t.charAt(o))?(c=t.charAt(o),o++):(c=e,l(K)),c}function _p(){let c,L,D,N;return c=o,t.charCodeAt(o)===47?(L=me,o++):(L=e,l(q)),L!==e?(D=gm(),D!==e?(N=Le(),N===e&&(N=null),N!==e?(ie=c,L=V(D,N),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c}function Rp(){let c,L,D,N,B;return c=o,L=Pp(),L!==e?(D=Le(),D===e&&(D=null),D!==e?(N=o,B=lt(),B!==e?N=t.substring(N,o):N=B,N!==e?(B=bm(),B===e&&(B=null),B!==e?(ie=c,L=je(L,D,N,B),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c===e&&(c=o,L=bm(),L!==e&&(ie=c,L=De(L)),c=L),c}function Pp(){let c;return t.substr(o,2).toLowerCase()===H?(c=t.substr(o,2),o+=2):(c=e,l(ue)),c===e&&(t.substr(o,2).toLowerCase()===ye?(c=t.substr(o,2),o+=2):(c=e,l(pe)),c===e&&(t.substr(o,2).toLowerCase()===ve?(c=t.substr(o,2),o+=2):(c=e,l(dt)),c===e&&(t.substr(o,2).toLowerCase()===ht?(c=t.substr(o,2),o+=2):(c=e,l(m1)),c===e&&(t.substr(o,3).toLowerCase()===p1?(c=t.substr(o,3),o+=3):(c=e,l(u1)),c===e&&(t.substr(o,2).toLowerCase()===cs?(c=t.substr(o,2),o+=2):(c=e,l(ts)),c===e&&(t.substr(o,2).toLowerCase()===d1?(c=t.substr(o,2),o+=2):(c=e,l(h1)))))))),c}function bm(){let c,L,D,N;return c=o,t.charCodeAt(o)===47?(L=me,o++):(L=e,l(q)),L!==e?(D=Pp(),D!==e?(N=Le(),N===e&&(N=null),N!==e?(ie=c,L=V(D,N),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c}function nM(){let c,L,D,N,B;return c=o,L=Le(),L===e&&(L=null),L!==e?(D=mm(),D!==e?(N=o,B=lt(),B!==e?N=t.substring(N,o):N=B,N!==e?(B=Dp(),B===e&&(B=null),B!==e?(ie=c,L=Gs(L,D,N,B),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c===e&&(c=o,L=Dp(),L!==e&&(ie=c,L=jt(L)),c=L),c}function mm(){let c;return t.substr(o,3).toLowerCase()===j1?(c=t.substr(o,3),o+=3):(c=e,l(se)),c===e&&(t.substr(o,3).toLowerCase()===ce?(c=t.substr(o,3),o+=3):(c=e,l(y1)),c===e&&(t.substr(o,2).toLowerCase()===x1?(c=t.substr(o,2),o+=2):(c=e,l(C1)),c===e&&(t.substr(o,2).toLowerCase()===S1?(c=t.substr(o,2),o+=2):(c=e,l(fs)),c===e&&(t.substr(o,2).toLowerCase()===os?(c=t.substr(o,2),o+=2):(c=e,l(v1)),c===e&&(M1.test(t.charAt(o))?(c=t.charAt(o),o++):(c=e,l(Os))))))),c}function Dp(){let c,L,D,N;return c=o,t.charCodeAt(o)===47?(L=me,o++):(L=e,l(q)),L!==e?(D=Le(),D===e&&(D=null),D!==e?(N=mm(),N!==e?(ie=c,L=rs(D,N),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c}function $M(){let c,L,D,N,B;return c=o,L=Le(),L===e&&(L=null),L!==e?(D=pm(),D!==e?(N=o,B=lt(),B!==e?N=t.substring(N,o):N=B,N!==e?(B=Np(),B===e&&(B=null),B!==e?(ie=c,L=zs(L,D,N,B),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c===e&&(c=o,L=Np(),L!==e&&(ie=c,L=ks(L)),c=L),c}function pm(){let c;return is.test(t.charAt(o))?(c=t.charAt(o),o++):(c=e,l(L1)),c}function Np(){let c,L,D,N;return c=o,t.charCodeAt(o)===47?(L=me,o++):(L=e,l(q)),L!==e?(D=Le(),D===e&&(D=null),D!==e?(N=pm(),N!==e?(ie=c,L=rs(D,N),c=L):(o=c,c=e)):(o=c,c=e)):(o=c,c=e),c}function lt(){let c;return c=gM(),c===e&&(c=Gp(),c===e&&(c=bM(),c===e&&(c=Op(),c===e&&(c=mM(),c===e&&(c=zp(),c===e&&(c=pM(),c===e&&(c=kp(),c===e&&(c=uM(),c===e&&(c=Bp()))))))))),c===e&&(c=null),c}function gM(){let c;return t.substr(o,15)===yt?(c=yt,o+=15):(c=e,l(Bs)),c===e&&(t.substr(o,12)===Vs?(c=Vs,o+=12):(c=e,l(ae)),c===e&&(t.substr(o,12)===re?(c=re,o+=12):(c=e,l(xt)),c===e&&(t.substr(o,11)===Ct?(c=Ct,o+=11):(c=e,l(w1)),c===e&&(t.substr(o,11)===St?(c=St,o+=11):(c=e,l(E1)),c===e&&(t.substr(o,11)===vt?(c=vt,o+=11):(c=e,l(A1)),c===e&&(t.substr(o,11)===Mt?(c=Mt,o+=11):(c=e,l(Lt)),c===e&&(t.substr(o,11)===wt?(c=wt,o+=11):(c=e,l(Et)),c===e&&(t.substr(o,11)===Ne?(c=Ne,o+=11):(c=e,l(Ge)),c===e&&(t.substr(o,11)===as?(c=as,o+=11):(c=e,l(I1)),c===e&&(t.substr(o,11)===Ws?(c=Ws,o+=11):(c=e,l(At)),c===e&&(t.substr(o,11)===Hs?(c=Hs,o+=11):(c=e,l(T1)),c===e&&(t.substr(o,11)===Us?(c=Us,o+=11):(c=e,l(Ks)),c===e&&(t.substr(o,10)===It?(c=It,o+=10):(c=e,l(Tt)),c===e&&(t.substr(o,10)===Ft?(c=Ft,o+=10):(c=e,l(F1)),c===e&&(t.substr(o,10)===_t?(c=_t,o+=10):(c=e,l(Rt)),c===e&&(t.substr(o,10)===qs?(c=qs,o+=10):(c=e,l(Pt)),c===e&&(t.substr(o,10)===Zs?(c=Zs,o+=10):(c=e,l(_1)),c===e&&(t.substr(o,10)===Dt?(c=Dt,o+=10):(c=e,l(R1)),c===e&&(t.substr(o,10)===Xs?(c=Xs,o+=10):(c=e,l(P1)),c===e&&(t.substr(o,10)===Nt?(c=Nt,o+=10):(c=e,l(D1)),c===e&&(t.substr(o,10)===Gt?(c=Gt,o+=10):(c=e,l(N1)),c===e&&(t.substr(o,10)===Ys?(c=Ys,o+=10):(c=e,l(Ot)),c===e&&(t.substr(o,10)===zt?(c=zt,o+=10):(c=e,l(G1)),c===e&&(t.substr(o,10)===kt?(c=kt,o+=10):(c=e,l(Bt)),c===e&&(t.substr(o,10)===Vt?(c=Vt,o+=10):(c=e,l(O1)),c===e&&(t.substr(o,10)===Wt?(c=Wt,o+=10):(c=e,l(Ht)),c===e&&(t.substr(o,10)===ls?(c=ls,o+=10):(c=e,l(z1)),c===e&&(t.substr(o,10)===Js?(c=Js,o+=10):(c=e,l(k1)),c===e&&(t.substr(o,10)===Qs?(c=Qs,o+=10):(c=e,l(B1)),c===e&&(t.substr(o,10)===ec?(c=ec,o+=10):(c=e,l(ns)),c===e&&(t.substr(o,10)===$s?(c=$s,o+=10):(c=e,l(V1)),c===e&&(t.substr(o,10)===Ee?(c=Ee,o+=10):(c=e,l(Ut)),c===e&&(t.substr(o,10)===sc?(c=sc,o+=10):(c=e,l(gs)),c===e&&(t.substr(o,10)===bs?(c=bs,o+=10):(c=e,l(W1)),c===e&&(t.substr(o,10)===ms?(c=ms,o+=10):(c=e,l(H1)),c===e&&(t.substr(o,10)===ps?(c=ps,o+=10):(c=e,l(U1)),c===e&&(t.substr(o,10)===us?(c=us,o+=10):(c=e,l(K1)),c===e&&(t.substr(o,10)===ds?(c=ds,o+=10):(c=e,l(q1)),c===e&&(t.substr(o,10)===hs?(c=hs,o+=10):(c=e,l(Z1)),c===e&&(t.substr(o,10)===js?(c=js,o+=10):(c=e,l(X1)),c===e&&(t.substr(o,10)===ys?(c=ys,o+=10):(c=e,l(Y1)),c===e&&(t.substr(o,10)===xs?(c=xs,o+=10):(c=e,l(J1)),c===e&&(t.substr(o,10)===Cs?(c=Cs,o+=10):(c=e,l(Q1)),c===e&&(t.substr(o,10)===cc?(c=cc,o+=10):(c=e,l(b)),c===e&&(t.substr(o,10)===R?(c=R,o+=10):(c=e,l(Ss)),c===e&&(t.substr(o,10)===le?(c=le,o+=10):(c=e,l(tc)),c===e&&(t.substr(o,9)===M?(c=M,o+=9):(c=e,l(vs)),c===e&&(t.substr(o,9)===fc?(c=fc,o+=9):(c=e,l(Ae)),c===e&&(t.substr(o,9)===k?(c=k,o+=9):(c=e,l(ne)),c===e&&(t.substr(o,9)===oc?(c=oc,o+=9):(c=e,l(ef)),c===e&&(t.substr(o,9)===Oe?(c=Oe,o+=9):(c=e,l(Kt)),c===e&&(t.substr(o,9)===ze?(c=ze,o+=9):(c=e,l(T)),c===e&&(t.substr(o,9)===rc?(c=rc,o+=9):(c=e,l(qt)),c===e&&(t.substr(o,9)===Ms?(c=Ms,o+=9):(c=e,l(Zt)),c===e&&(t.substr(o,9)===ic?(c=ic,o+=9):(c=e,l(Xt)),c===e&&(t.substr(o,9)===ac?(c=ac,o+=9):(c=e,l(sf)),c===e&&(t.substr(o,9)===lc?(c=lc,o+=9):(c=e,l(Ls)),c===e&&(t.substr(o,9)===ws?(c=ws,o+=9):(c=e,l(cf)),c===e&&(t.substr(o,9)===Es?(c=Es,o+=9):(c=e,l(As)),c===e&&(t.substr(o,9)===ke?(c=ke,o+=9):(c=e,l(tf)),c===e&&(t.substr(o,9)===nc?(c=nc,o+=9):(c=e,l(ff)),c===e&&(t.substr(o,9)===$c?(c=$c,o+=9):(c=e,l(of)),c===e&&(t.substr(o,9)===Is?(c=Is,o+=9):(c=e,l(gc)),c===e&&(t.substr(o,9)===xe?(c=xe,o+=9):(c=e,l(Yt)),c===e&&(t.substr(o,9)===bc?(c=bc,o+=9):(c=e,l(rf)),c===e&&(t.substr(o,9)===mc?(c=mc,o+=9):(c=e,l(Jt)),c===e&&(t.substr(o,9)===pc?(c=pc,o+=9):(c=e,l(Qt)),c===e&&(t.substr(o,9)===uc?(c=uc,o+=9):(c=e,l(e1)),c===e&&(t.substr(o,9)===dc?(c=dc,o+=9):(c=e,l(af)),c===e&&(t.substr(o,9)===hc?(c=hc,o+=9):(c=e,l(Be)),c===e&&(t.substr(o,9)===jc?(c=jc,o+=9):(c=e,l(lf)),c===e&&(t.substr(o,9)===Ts?(c=Ts,o+=9):(c=e,l(Ve)),c===e&&(t.substr(o,9)===z?(c=z,o+=9):(c=e,l(Fs)),c===e&&(t.substr(o,9)===be?(c=be,o+=9):(c=e,l(We)),c===e&&(t.substr(o,9)===yc?(c=yc,o+=9):(c=e,l(nf)),c===e&&(t.substr(o,9)===xc?(c=xc,o+=9):(c=e,l(He)),c===e&&(t.substr(o,9)===Cc?(c=Cc,o+=9):(c=e,l($f)),c===e&&(t.substr(o,9)===Sc?(c=Sc,o+=9):(c=e,l(vc)),c===e&&(t.substr(o,9)===Mc?(c=Mc,o+=9):(c=e,l(gf)),c===e&&(t.substr(o,9)===Ue?(c=Ue,o+=9):(c=e,l(bf)),c===e&&(t.substr(o,9)===Lc?(c=Lc,o+=9):(c=e,l(wc)),c===e&&(t.substr(o,9)===Ec?(c=Ec,o+=9):(c=e,l(mf)),c===e&&(t.substr(o,9)===Ke?(c=Ke,o+=9):(c=e,l(Ce)),c===e&&(t.substr(o,9)===g?(c=g,o+=9):(c=e,l(p)),c===e&&(t.substr(o,9)===h?(c=h,o+=9):(c=e,l(d)),c===e&&(t.substr(o,9)===S?(c=S,o+=9):(c=e,l(C)),c===e&&(t.substr(o,9)===E?(c=E,o+=9):(c=e,l(F)),c===e&&(t.substr(o,9)===te?(c=te,o+=9):(c=e,l(fe)),c===e&&(t.substr(o,9)===pf?(c=pf,o+=9):(c=e,l(j0)),c===e&&(t.substr(o,9)===uf?(c=uf,o+=9):(c=e,l(y0)),c===e&&(t.substr(o,9)===df?(c=df,o+=9):(c=e,l(x0)),c===e&&(t.substr(o,9)===hf?(c=hf,o+=9):(c=e,l(C0)),c===e&&(t.substr(o,9)===jf?(c=jf,o+=9):(c=e,l(S0)),c===e&&(t.substr(o,9)===yf?(c=yf,o+=9):(c=e,l(v0)),c===e&&(t.substr(o,9)===xf?(c=xf,o+=9):(c=e,l(M0)),c===e&&(t.substr(o,9)===Cf?(c=Cf,o+=9):(c=e,l(L0)),c===e&&(t.substr(o,9)===Sf?(c=Sf,o+=9):(c=e,l(w0)),c===e&&(t.substr(o,9)===vf?(c=vf,o+=9):(c=e,l(E0)),c===e&&(t.substr(o,9)===Mf?(c=Mf,o+=9):(c=e,l(A0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function Gp(){let c;return t.substr(o,9)===Lf?(c=Lf,o+=9):(c=e,l(I0)),c===e&&(t.substr(o,9)===wf?(c=wf,o+=9):(c=e,l(T0)),c===e&&(t.substr(o,9)===Ef?(c=Ef,o+=9):(c=e,l(F0)),c===e&&(t.substr(o,9)===Af?(c=Af,o+=9):(c=e,l(_0)),c===e&&(t.substr(o,9)===If?(c=If,o+=9):(c=e,l(R0)),c===e&&(t.substr(o,9)===Tf?(c=Tf,o+=9):(c=e,l(P0)),c===e&&(t.substr(o,9)===Ff?(c=Ff,o+=9):(c=e,l(D0)),c===e&&(t.substr(o,9)===_f?(c=_f,o+=9):(c=e,l(N0)),c===e&&(t.substr(o,9)===Rf?(c=Rf,o+=9):(c=e,l(G0)),c===e&&(t.substr(o,9)===Pf?(c=Pf,o+=9):(c=e,l(O0)),c===e&&(t.substr(o,9)===Df?(c=Df,o+=9):(c=e,l(z0)),c===e&&(t.substr(o,9)===Nf?(c=Nf,o+=9):(c=e,l(k0)),c===e&&(t.substr(o,9)===Gf?(c=Gf,o+=9):(c=e,l(B0)),c===e&&(t.substr(o,9)===Of?(c=Of,o+=9):(c=e,l(V0)),c===e&&(t.substr(o,9)===zf?(c=zf,o+=9):(c=e,l(W0)),c===e&&(t.substr(o,9)===kf?(c=kf,o+=9):(c=e,l(H0)),c===e&&(t.substr(o,8)===Bf?(c=Bf,o+=8):(c=e,l(U0)),c===e&&(t.substr(o,8)===Vf?(c=Vf,o+=8):(c=e,l(K0)),c===e&&(t.substr(o,8)===Wf?(c=Wf,o+=8):(c=e,l(q0)),c===e&&(t.substr(o,8)===Hf?(c=Hf,o+=8):(c=e,l(Z0)),c===e&&(t.substr(o,8)===Uf?(c=Uf,o+=8):(c=e,l(X0)),c===e&&(t.substr(o,8)===Kf?(c=Kf,o+=8):(c=e,l(Y0)),c===e&&(t.substr(o,8)===qf?(c=qf,o+=8):(c=e,l(J0)),c===e&&(t.substr(o,8)===Zf?(c=Zf,o+=8):(c=e,l(Q0)),c===e&&(t.substr(o,8)===Xf?(c=Xf,o+=8):(c=e,l(eu)),c===e&&(t.substr(o,8)===Yf?(c=Yf,o+=8):(c=e,l(su)),c===e&&(t.substr(o,8)===Jf?(c=Jf,o+=8):(c=e,l(cu)),c===e&&(t.substr(o,8)===Qf?(c=Qf,o+=8):(c=e,l(tu)),c===e&&(t.substr(o,8)===eo?(c=eo,o+=8):(c=e,l(fu)),c===e&&(t.substr(o,8)===so?(c=so,o+=8):(c=e,l(ou)),c===e&&(t.substr(o,8)===co?(c=co,o+=8):(c=e,l(ru)),c===e&&(t.substr(o,8)===to?(c=to,o+=8):(c=e,l(iu)),c===e&&(t.substr(o,8)===fo?(c=fo,o+=8):(c=e,l(au)),c===e&&(t.substr(o,8)===oo?(c=oo,o+=8):(c=e,l(lu)),c===e&&(t.substr(o,8)===ro?(c=ro,o+=8):(c=e,l(nu)),c===e&&(t.substr(o,8)===io?(c=io,o+=8):(c=e,l($u)),c===e&&(t.substr(o,8)===ao?(c=ao,o+=8):(c=e,l(gu)),c===e&&(t.substr(o,8)===lo?(c=lo,o+=8):(c=e,l(bu)),c===e&&(t.substr(o,8)===no?(c=no,o+=8):(c=e,l(mu)),c===e&&(t.substr(o,8)===$o?(c=$o,o+=8):(c=e,l(pu)),c===e&&(t.substr(o,8)===go?(c=go,o+=8):(c=e,l(uu)),c===e&&(t.substr(o,8)===bo?(c=bo,o+=8):(c=e,l(du)),c===e&&(t.substr(o,8)===mo?(c=mo,o+=8):(c=e,l(hu)),c===e&&(t.substr(o,8)===po?(c=po,o+=8):(c=e,l(ju)),c===e&&(t.substr(o,8)===uo?(c=uo,o+=8):(c=e,l(yu)),c===e&&(t.substr(o,8)===ho?(c=ho,o+=8):(c=e,l(xu)),c===e&&(t.substr(o,8)===jo?(c=jo,o+=8):(c=e,l(Cu)),c===e&&(t.substr(o,8)===yo?(c=yo,o+=8):(c=e,l(Su)),c===e&&(t.substr(o,8)===xo?(c=xo,o+=8):(c=e,l(vu)),c===e&&(t.substr(o,8)===Co?(c=Co,o+=8):(c=e,l(Mu)),c===e&&(t.substr(o,8)===So?(c=So,o+=8):(c=e,l(Lu)),c===e&&(t.substr(o,8)===vo?(c=vo,o+=8):(c=e,l(wu)),c===e&&(t.substr(o,8)===Mo?(c=Mo,o+=8):(c=e,l(Eu)),c===e&&(t.substr(o,8)===Lo?(c=Lo,o+=8):(c=e,l(Au)),c===e&&(t.substr(o,8)===wo?(c=wo,o+=8):(c=e,l(Iu)),c===e&&(t.substr(o,8)===Eo?(c=Eo,o+=8):(c=e,l(Tu)),c===e&&(t.substr(o,8)===Ao?(c=Ao,o+=8):(c=e,l(Fu)),c===e&&(t.substr(o,8)===Io?(c=Io,o+=8):(c=e,l(_u)),c===e&&(t.substr(o,8)===To?(c=To,o+=8):(c=e,l(Ru)),c===e&&(t.substr(o,8)===Fo?(c=Fo,o+=8):(c=e,l(Pu)),c===e&&(t.substr(o,8)===_o?(c=_o,o+=8):(c=e,l(Du)),c===e&&(t.substr(o,8)===Ro?(c=Ro,o+=8):(c=e,l(Nu)),c===e&&(t.substr(o,8)===Po?(c=Po,o+=8):(c=e,l(Gu)),c===e&&(t.substr(o,8)===Do?(c=Do,o+=8):(c=e,l(Ou)),c===e&&(t.substr(o,8)===No?(c=No,o+=8):(c=e,l(zu)),c===e&&(t.substr(o,8)===Go?(c=Go,o+=8):(c=e,l(ku)),c===e&&(t.substr(o,8)===Oo?(c=Oo,o+=8):(c=e,l(Bu)),c===e&&(t.substr(o,8)===zo?(c=zo,o+=8):(c=e,l(Vu)),c===e&&(t.substr(o,8)===ko?(c=ko,o+=8):(c=e,l(Wu)),c===e&&(t.substr(o,8)===Bo?(c=Bo,o+=8):(c=e,l(Hu)),c===e&&(t.substr(o,8)===Vo?(c=Vo,o+=8):(c=e,l(Uu)),c===e&&(t.substr(o,8)===Ac?(c=Ac,o+=8):(c=e,l(wm)),c===e&&(t.substr(o,8)===Ac?(c=Ac,o+=8):(c=e,l(wm)),c===e&&(t.substr(o,8)===Wo?(c=Wo,o+=8):(c=e,l(Ku)),c===e&&(t.substr(o,8)===Ho?(c=Ho,o+=8):(c=e,l(qu)),c===e&&(t.substr(o,8)===Uo?(c=Uo,o+=8):(c=e,l(Zu)),c===e&&(t.substr(o,8)===Ko?(c=Ko,o+=8):(c=e,l(Xu)),c===e&&(t.substr(o,8)===qo?(c=qo,o+=8):(c=e,l(Yu)),c===e&&(t.substr(o,8)===Zo?(c=Zo,o+=8):(c=e,l(Ju)),c===e&&(t.substr(o,8)===Xo?(c=Xo,o+=8):(c=e,l(Qu)),c===e&&(t.substr(o,8)===Yo?(c=Yo,o+=8):(c=e,l(e6)),c===e&&(t.substr(o,8)===Jo?(c=Jo,o+=8):(c=e,l(s6)),c===e&&(t.substr(o,8)===Qo?(c=Qo,o+=8):(c=e,l(c6)),c===e&&(t.substr(o,8)===er?(c=er,o+=8):(c=e,l(t6)),c===e&&(t.substr(o,8)===sr?(c=sr,o+=8):(c=e,l(f6)),c===e&&(t.substr(o,8)===cr?(c=cr,o+=8):(c=e,l(o6)),c===e&&(t.substr(o,8)===tr?(c=tr,o+=8):(c=e,l(r6)),c===e&&(t.substr(o,8)===fr?(c=fr,o+=8):(c=e,l(i6)),c===e&&(t.substr(o,8)===or?(c=or,o+=8):(c=e,l(a6)),c===e&&(t.substr(o,8)===rr?(c=rr,o+=8):(c=e,l(l6)),c===e&&(t.substr(o,8)===ir?(c=ir,o+=8):(c=e,l(n6)),c===e&&(t.substr(o,8)===ar?(c=ar,o+=8):(c=e,l($6)),c===e&&(t.substr(o,8)===Ic?(c=Ic,o+=8):(c=e,l(Em)),c===e&&(t.substr(o,8)===lr?(c=lr,o+=8):(c=e,l(g6)),c===e&&(t.substr(o,8)===nr?(c=nr,o+=8):(c=e,l(b6)),c===e&&(t.substr(o,8)===$r?(c=$r,o+=8):(c=e,l(m6)),c===e&&(t.substr(o,8)===gr?(c=gr,o+=8):(c=e,l(p6)),c===e&&(t.substr(o,8)===br?(c=br,o+=8):(c=e,l(u6)),c===e&&(t.substr(o,8)===mr?(c=mr,o+=8):(c=e,l(d6)),c===e&&(t.substr(o,8)===Tc?(c=Tc,o+=8):(c=e,l(Am))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function bM(){let c;return t.substr(o,8)===pr?(c=pr,o+=8):(c=e,l(h6)),c===e&&(t.substr(o,8)===ur?(c=ur,o+=8):(c=e,l(j6)),c===e&&(t.substr(o,8)===dr?(c=dr,o+=8):(c=e,l(y6)),c===e&&(t.substr(o,8)===hr?(c=hr,o+=8):(c=e,l(x6)),c===e&&(t.substr(o,8)===jr?(c=jr,o+=8):(c=e,l(C6)),c===e&&(t.substr(o,8)===yr?(c=yr,o+=8):(c=e,l(S6)),c===e&&(t.substr(o,8)===xr?(c=xr,o+=8):(c=e,l(v6)),c===e&&(t.substr(o,8)===Cr?(c=Cr,o+=8):(c=e,l(M6)),c===e&&(t.substr(o,8)===Sr?(c=Sr,o+=8):(c=e,l(L6)),c===e&&(t.substr(o,8)===vr?(c=vr,o+=8):(c=e,l(w6)),c===e&&(t.substr(o,8)===Mr?(c=Mr,o+=8):(c=e,l(E6)),c===e&&(t.substr(o,8)===Lr?(c=Lr,o+=8):(c=e,l(A6)),c===e&&(t.substr(o,8)===wr?(c=wr,o+=8):(c=e,l(I6)),c===e&&(t.substr(o,8)===Er?(c=Er,o+=8):(c=e,l(T6)),c===e&&(t.substr(o,8)===Ar?(c=Ar,o+=8):(c=e,l(F6)),c===e&&(t.substr(o,8)===Ir?(c=Ir,o+=8):(c=e,l(_6)),c===e&&(t.substr(o,8)===Tr?(c=Tr,o+=8):(c=e,l(R6)),c===e&&(t.substr(o,8)===Fr?(c=Fr,o+=8):(c=e,l(P6)),c===e&&(t.substr(o,8)===_r?(c=_r,o+=8):(c=e,l(D6)),c===e&&(t.substr(o,8)===Ic?(c=Ic,o+=8):(c=e,l(Em)),c===e&&(t.substr(o,8)===Fc?(c=Fc,o+=8):(c=e,l(Im)),c===e&&(t.substr(o,8)===Rr?(c=Rr,o+=8):(c=e,l(N6)),c===e&&(t.substr(o,8)===Pr?(c=Pr,o+=8):(c=e,l(G6)),c===e&&(t.substr(o,8)===Dr?(c=Dr,o+=8):(c=e,l(O6)),c===e&&(t.substr(o,8)===Nr?(c=Nr,o+=8):(c=e,l(z6)),c===e&&(t.substr(o,8)===Gr?(c=Gr,o+=8):(c=e,l(k6)),c===e&&(t.substr(o,8)===Or?(c=Or,o+=8):(c=e,l(B6)),c===e&&(t.substr(o,8)===zr?(c=zr,o+=8):(c=e,l(V6)),c===e&&(t.substr(o,8)===kr?(c=kr,o+=8):(c=e,l(W6)),c===e&&(t.substr(o,8)===Br?(c=Br,o+=8):(c=e,l(H6)),c===e&&(t.substr(o,7)===Vr?(c=Vr,o+=7):(c=e,l(U6)),c===e&&(t.substr(o,7)===Wr?(c=Wr,o+=7):(c=e,l(K6)),c===e&&(t.substr(o,7)===Hr?(c=Hr,o+=7):(c=e,l(q6)),c===e&&(t.substr(o,7)===Ur?(c=Ur,o+=7):(c=e,l(Z6)),c===e&&(t.substr(o,7)===Kr?(c=Kr,o+=7):(c=e,l(X6)),c===e&&(t.substr(o,7)===qr?(c=qr,o+=7):(c=e,l(Y6)),c===e&&(t.substr(o,7)===Zr?(c=Zr,o+=7):(c=e,l(J6)),c===e&&(t.substr(o,7)===Xr?(c=Xr,o+=7):(c=e,l(Q6)),c===e&&(t.substr(o,7)===Yr?(c=Yr,o+=7):(c=e,l(e4)),c===e&&(t.substr(o,7)===Jr?(c=Jr,o+=7):(c=e,l(s4)),c===e&&(t.substr(o,7)===Qr?(c=Qr,o+=7):(c=e,l(c4)),c===e&&(t.substr(o,7)===ei?(c=ei,o+=7):(c=e,l(t4)),c===e&&(t.substr(o,7)===si?(c=si,o+=7):(c=e,l(f4)),c===e&&(t.substr(o,7)===ci?(c=ci,o+=7):(c=e,l(o4)),c===e&&(t.substr(o,7)===ti?(c=ti,o+=7):(c=e,l(r4)),c===e&&(t.substr(o,7)===fi?(c=fi,o+=7):(c=e,l(i4)),c===e&&(t.substr(o,7)===oi?(c=oi,o+=7):(c=e,l(a4)),c===e&&(t.substr(o,7)===ri?(c=ri,o+=7):(c=e,l(l4)),c===e&&(t.substr(o,7)===ii?(c=ii,o+=7):(c=e,l(n4)),c===e&&(t.substr(o,7)===ai?(c=ai,o+=7):(c=e,l($4)),c===e&&(t.substr(o,7)===li?(c=li,o+=7):(c=e,l(g4)),c===e&&(t.substr(o,7)===ni?(c=ni,o+=7):(c=e,l(b4)),c===e&&(t.substr(o,7)===$i?(c=$i,o+=7):(c=e,l(m4)),c===e&&(t.substr(o,7)===gi?(c=gi,o+=7):(c=e,l(p4)),c===e&&(t.substr(o,7)===bi?(c=bi,o+=7):(c=e,l(u4)),c===e&&(t.substr(o,7)===mi?(c=mi,o+=7):(c=e,l(d4)),c===e&&(t.substr(o,7)===pi?(c=pi,o+=7):(c=e,l(h4)),c===e&&(t.substr(o,7)===ui?(c=ui,o+=7):(c=e,l(j4)),c===e&&(t.substr(o,7)===di?(c=di,o+=7):(c=e,l(y4)),c===e&&(t.substr(o,7)===hi?(c=hi,o+=7):(c=e,l(x4)),c===e&&(t.substr(o,7)===ji?(c=ji,o+=7):(c=e,l(C4)),c===e&&(t.substr(o,7)===yi?(c=yi,o+=7):(c=e,l(S4)),c===e&&(t.substr(o,7)===xi?(c=xi,o+=7):(c=e,l(v4)),c===e&&(t.substr(o,7)===Ci?(c=Ci,o+=7):(c=e,l(M4)),c===e&&(t.substr(o,7)===Si?(c=Si,o+=7):(c=e,l(L4)),c===e&&(t.substr(o,7)===vi?(c=vi,o+=7):(c=e,l(w4)),c===e&&(t.substr(o,7)===Mi?(c=Mi,o+=7):(c=e,l(E4)),c===e&&(t.substr(o,7)===Li?(c=Li,o+=7):(c=e,l(A4)),c===e&&(t.substr(o,7)===wi?(c=wi,o+=7):(c=e,l(I4)),c===e&&(t.substr(o,7)===Ei?(c=Ei,o+=7):(c=e,l(T4)),c===e&&(t.substr(o,7)===Ai?(c=Ai,o+=7):(c=e,l(F4)),c===e&&(t.substr(o,7)===Ii?(c=Ii,o+=7):(c=e,l(_4)),c===e&&(t.substr(o,7)===Ti?(c=Ti,o+=7):(c=e,l(R4)),c===e&&(t.substr(o,7)===Fi?(c=Fi,o+=7):(c=e,l(P4)),c===e&&(t.substr(o,7)===_i?(c=_i,o+=7):(c=e,l(D4)),c===e&&(t.substr(o,7)===Ri?(c=Ri,o+=7):(c=e,l(N4)),c===e&&(t.substr(o,7)===Pi?(c=Pi,o+=7):(c=e,l(G4)),c===e&&(t.substr(o,7)===Di?(c=Di,o+=7):(c=e,l(O4)),c===e&&(t.substr(o,7)===Ni?(c=Ni,o+=7):(c=e,l(z4)),c===e&&(t.substr(o,7)===Gi?(c=Gi,o+=7):(c=e,l(k4)),c===e&&(t.substr(o,7)===Oi?(c=Oi,o+=7):(c=e,l(B4)),c===e&&(t.substr(o,7)===zi?(c=zi,o+=7):(c=e,l(V4)),c===e&&(t.substr(o,7)===_c?(c=_c,o+=7):(c=e,l(Tm)),c===e&&(t.substr(o,7)===_c?(c=_c,o+=7):(c=e,l(Tm)),c===e&&(t.substr(o,7)===ki?(c=ki,o+=7):(c=e,l(W4)),c===e&&(t.substr(o,7)===Bi?(c=Bi,o+=7):(c=e,l(H4)),c===e&&(t.substr(o,7)===Vi?(c=Vi,o+=7):(c=e,l(U4)),c===e&&(t.substr(o,7)===Wi?(c=Wi,o+=7):(c=e,l(K4)),c===e&&(t.substr(o,7)===Hi?(c=Hi,o+=7):(c=e,l(q4)),c===e&&(t.substr(o,7)===Ui?(c=Ui,o+=7):(c=e,l(Z4)),c===e&&(t.substr(o,7)===Ki?(c=Ki,o+=7):(c=e,l(X4)),c===e&&(t.substr(o,7)===qi?(c=qi,o+=7):(c=e,l(Y4)),c===e&&(t.substr(o,7)===Zi?(c=Zi,o+=7):(c=e,l(J4)),c===e&&(t.substr(o,7)===Xi?(c=Xi,o+=7):(c=e,l(Q4)),c===e&&(t.substr(o,7)===Yi?(c=Yi,o+=7):(c=e,l(e2)),c===e&&(t.substr(o,7)===Ji?(c=Ji,o+=7):(c=e,l(s2)),c===e&&(t.substr(o,7)===Qi?(c=Qi,o+=7):(c=e,l(c2)),c===e&&(t.substr(o,7)===ea?(c=ea,o+=7):(c=e,l(t2)),c===e&&(t.substr(o,7)===sa?(c=sa,o+=7):(c=e,l(f2)),c===e&&(t.substr(o,7)===ca?(c=ca,o+=7):(c=e,l(o2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function Op(){let c;return t.substr(o,7)===ta?(c=ta,o+=7):(c=e,l(r2)),c===e&&(t.substr(o,7)===fa?(c=fa,o+=7):(c=e,l(i2)),c===e&&(t.substr(o,7)===oa?(c=oa,o+=7):(c=e,l(a2)),c===e&&(t.substr(o,7)===ra?(c=ra,o+=7):(c=e,l(l2)),c===e&&(t.substr(o,7)===ia?(c=ia,o+=7):(c=e,l(n2)),c===e&&(t.substr(o,7)===aa?(c=aa,o+=7):(c=e,l($2)),c===e&&(t.substr(o,7)===la?(c=la,o+=7):(c=e,l(g2)),c===e&&(t.substr(o,7)===na?(c=na,o+=7):(c=e,l(b2)),c===e&&(t.substr(o,7)===$a?(c=$a,o+=7):(c=e,l(m2)),c===e&&(t.substr(o,7)===ga?(c=ga,o+=7):(c=e,l(p2)),c===e&&(t.substr(o,7)===Rc?(c=Rc,o+=7):(c=e,l(Fm)),c===e&&(t.substr(o,7)===ba?(c=ba,o+=7):(c=e,l(u2)),c===e&&(t.substr(o,7)===ma?(c=ma,o+=7):(c=e,l(d2)),c===e&&(t.substr(o,7)===pa?(c=pa,o+=7):(c=e,l(h2)),c===e&&(t.substr(o,7)===Pc?(c=Pc,o+=7):(c=e,l(_m)),c===e&&(t.substr(o,7)===Pc?(c=Pc,o+=7):(c=e,l(_m)),c===e&&(t.substr(o,7)===ua?(c=ua,o+=7):(c=e,l(j2)),c===e&&(t.substr(o,7)===da?(c=da,o+=7):(c=e,l(y2)),c===e&&(t.substr(o,7)===ha?(c=ha,o+=7):(c=e,l(x2)),c===e&&(t.substr(o,7)===ja?(c=ja,o+=7):(c=e,l(C2)),c===e&&(t.substr(o,7)===ya?(c=ya,o+=7):(c=e,l(S2)),c===e&&(t.substr(o,7)===xa?(c=xa,o+=7):(c=e,l(v2)),c===e&&(t.substr(o,7)===Ca?(c=Ca,o+=7):(c=e,l(M2)),c===e&&(t.substr(o,7)===Sa?(c=Sa,o+=7):(c=e,l(L2)),c===e&&(t.substr(o,7)===va?(c=va,o+=7):(c=e,l(w2)),c===e&&(t.substr(o,7)===Ma?(c=Ma,o+=7):(c=e,l(E2)),c===e&&(t.substr(o,7)===La?(c=La,o+=7):(c=e,l(A2)),c===e&&(t.substr(o,7)===wa?(c=wa,o+=7):(c=e,l(I2)),c===e&&(t.substr(o,7)===Ea?(c=Ea,o+=7):(c=e,l(T2)),c===e&&(t.substr(o,7)===Aa?(c=Aa,o+=7):(c=e,l(F2)),c===e&&(t.substr(o,7)===Ia?(c=Ia,o+=7):(c=e,l(_2)),c===e&&(t.substr(o,7)===Ta?(c=Ta,o+=7):(c=e,l(R2)),c===e&&(t.substr(o,7)===Fa?(c=Fa,o+=7):(c=e,l(P2)),c===e&&(t.substr(o,7)===_a?(c=_a,o+=7):(c=e,l(D2)),c===e&&(t.substr(o,7)===Ra?(c=Ra,o+=7):(c=e,l(N2)),c===e&&(t.substr(o,7)===Pa?(c=Pa,o+=7):(c=e,l(G2)),c===e&&(t.substr(o,7)===Da?(c=Da,o+=7):(c=e,l(O2)),c===e&&(t.substr(o,7)===Na?(c=Na,o+=7):(c=e,l(z2)),c===e&&(t.substr(o,7)===Ga?(c=Ga,o+=7):(c=e,l(k2)),c===e&&(t.substr(o,7)===Oa?(c=Oa,o+=7):(c=e,l(B2)),c===e&&(t.substr(o,7)===za?(c=za,o+=7):(c=e,l(V2)),c===e&&(t.substr(o,7)===ka?(c=ka,o+=7):(c=e,l(W2)),c===e&&(t.substr(o,7)===Dc?(c=Dc,o+=7):(c=e,l(Rm)),c===e&&(t.substr(o,7)===Ba?(c=Ba,o+=7):(c=e,l(H2)),c===e&&(t.substr(o,7)===Va?(c=Va,o+=7):(c=e,l(U2)),c===e&&(t.substr(o,7)===Wa?(c=Wa,o+=7):(c=e,l(K2)),c===e&&(t.substr(o,7)===Ha?(c=Ha,o+=7):(c=e,l(q2)),c===e&&(t.substr(o,7)===Ua?(c=Ua,o+=7):(c=e,l(Z2)),c===e&&(t.substr(o,7)===Ka?(c=Ka,o+=7):(c=e,l(X2)),c===e&&(t.substr(o,7)===qa?(c=qa,o+=7):(c=e,l(Y2)),c===e&&(t.substr(o,7)===Za?(c=Za,o+=7):(c=e,l(J2)),c===e&&(t.substr(o,7)===Xa?(c=Xa,o+=7):(c=e,l(Q2)),c===e&&(t.substr(o,7)===Ya?(c=Ya,o+=7):(c=e,l(ed)),c===e&&(t.substr(o,7)===Ja?(c=Ja,o+=7):(c=e,l(sd)),c===e&&(t.substr(o,7)===Qa?(c=Qa,o+=7):(c=e,l(cd)),c===e&&(t.substr(o,7)===el?(c=el,o+=7):(c=e,l(td)),c===e&&(t.substr(o,7)===sl?(c=sl,o+=7):(c=e,l(fd)),c===e&&(t.substr(o,7)===cl?(c=cl,o+=7):(c=e,l(od)),c===e&&(t.substr(o,7)===tl?(c=tl,o+=7):(c=e,l(rd)),c===e&&(t.substr(o,7)===fl?(c=fl,o+=7):(c=e,l(id)),c===e&&(t.substr(o,7)===ol?(c=ol,o+=7):(c=e,l(ad)),c===e&&(t.substr(o,7)===rl?(c=rl,o+=7):(c=e,l(ld)),c===e&&(t.substr(o,7)===il?(c=il,o+=7):(c=e,l(nd)),c===e&&(t.substr(o,7)===al?(c=al,o+=7):(c=e,l($d)),c===e&&(t.substr(o,7)===ll?(c=ll,o+=7):(c=e,l(gd)),c===e&&(t.substr(o,7)===nl?(c=nl,o+=7):(c=e,l(bd)),c===e&&(t.substr(o,7)===$l?(c=$l,o+=7):(c=e,l(md)),c===e&&(t.substr(o,7)===gl?(c=gl,o+=7):(c=e,l(pd)),c===e&&(t.substr(o,7)===bl?(c=bl,o+=7):(c=e,l(ud)),c===e&&(t.substr(o,7)===ml?(c=ml,o+=7):(c=e,l(dd)),c===e&&(t.substr(o,7)===pl?(c=pl,o+=7):(c=e,l(hd)),c===e&&(t.substr(o,7)===ul?(c=ul,o+=7):(c=e,l(jd)),c===e&&(t.substr(o,7)===dl?(c=dl,o+=7):(c=e,l(yd)),c===e&&(t.substr(o,7)===hl?(c=hl,o+=7):(c=e,l(xd)),c===e&&(t.substr(o,7)===jl?(c=jl,o+=7):(c=e,l(Cd)),c===e&&(t.substr(o,7)===yl?(c=yl,o+=7):(c=e,l(Sd)),c===e&&(t.substr(o,7)===xl?(c=xl,o+=7):(c=e,l(vd)),c===e&&(t.substr(o,7)===Cl?(c=Cl,o+=7):(c=e,l(Md)),c===e&&(t.substr(o,7)===Sl?(c=Sl,o+=7):(c=e,l(Ld)),c===e&&(t.substr(o,7)===vl?(c=vl,o+=7):(c=e,l(wd)),c===e&&(t.substr(o,7)===Ml?(c=Ml,o+=7):(c=e,l(Ed)),c===e&&(t.substr(o,7)===Ll?(c=Ll,o+=7):(c=e,l(Ad)),c===e&&(t.substr(o,7)===wl?(c=wl,o+=7):(c=e,l(Id)),c===e&&(t.substr(o,7)===El?(c=El,o+=7):(c=e,l(Td)),c===e&&(t.substr(o,7)===Al?(c=Al,o+=7):(c=e,l(Fd)),c===e&&(t.substr(o,7)===Il?(c=Il,o+=7):(c=e,l(_d)),c===e&&(t.substr(o,7)===Tl?(c=Tl,o+=7):(c=e,l(Rd)),c===e&&(t.substr(o,7)===Fl?(c=Fl,o+=7):(c=e,l(Pd)),c===e&&(t.substr(o,7)===_l?(c=_l,o+=7):(c=e,l(Dd)),c===e&&(t.substr(o,7)===Rl?(c=Rl,o+=7):(c=e,l(Nd)),c===e&&(t.substr(o,7)===Pl?(c=Pl,o+=7):(c=e,l(Gd)),c===e&&(t.substr(o,7)===Dl?(c=Dl,o+=7):(c=e,l(Od)),c===e&&(t.substr(o,7)===Nl?(c=Nl,o+=7):(c=e,l(zd)),c===e&&(t.substr(o,7)===Gl?(c=Gl,o+=7):(c=e,l(kd)),c===e&&(t.substr(o,7)===Ol?(c=Ol,o+=7):(c=e,l(Bd)),c===e&&(t.substr(o,7)===zl?(c=zl,o+=7):(c=e,l(Vd)),c===e&&(t.substr(o,7)===kl?(c=kl,o+=7):(c=e,l(Wd)),c===e&&(t.substr(o,7)===Bl?(c=Bl,o+=7):(c=e,l(Hd)),c===e&&(t.substr(o,7)===Vl?(c=Vl,o+=7):(c=e,l(Ud)),c===e&&(t.substr(o,7)===Wl?(c=Wl,o+=7):(c=e,l(Kd))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function mM(){let c;return t.substr(o,7)===Hl?(c=Hl,o+=7):(c=e,l(qd)),c===e&&(t.substr(o,7)===Ul?(c=Ul,o+=7):(c=e,l(Zd)),c===e&&(t.substr(o,7)===Kl?(c=Kl,o+=7):(c=e,l(Xd)),c===e&&(t.substr(o,7)===ql?(c=ql,o+=7):(c=e,l(Yd)),c===e&&(t.substr(o,6)===Zl?(c=Zl,o+=6):(c=e,l(Jd)),c===e&&(t.substr(o,6)===Xl?(c=Xl,o+=6):(c=e,l(Qd)),c===e&&(t.substr(o,6)===Yl?(c=Yl,o+=6):(c=e,l(e8)),c===e&&(t.substr(o,6)===Jl?(c=Jl,o+=6):(c=e,l(s8)),c===e&&(t.substr(o,6)===Ql?(c=Ql,o+=6):(c=e,l(c8)),c===e&&(t.substr(o,6)===en?(c=en,o+=6):(c=e,l(t8)),c===e&&(t.substr(o,6)===sn?(c=sn,o+=6):(c=e,l(f8)),c===e&&(t.substr(o,6)===cn?(c=cn,o+=6):(c=e,l(o8)),c===e&&(t.substr(o,6)===tn?(c=tn,o+=6):(c=e,l(r8)),c===e&&(t.substr(o,6)===fn?(c=fn,o+=6):(c=e,l(i8)),c===e&&(t.substr(o,6)===on?(c=on,o+=6):(c=e,l(a8)),c===e&&(t.substr(o,6)===rn?(c=rn,o+=6):(c=e,l(l8)),c===e&&(t.substr(o,6)===an?(c=an,o+=6):(c=e,l(n8)),c===e&&(t.substr(o,6)===ln?(c=ln,o+=6):(c=e,l($8)),c===e&&(t.substr(o,6)===nn?(c=nn,o+=6):(c=e,l(g8)),c===e&&(t.substr(o,6)===$n?(c=$n,o+=6):(c=e,l(b8)),c===e&&(t.substr(o,6)===gn?(c=gn,o+=6):(c=e,l(m8)),c===e&&(t.substr(o,6)===bn?(c=bn,o+=6):(c=e,l(p8)),c===e&&(t.substr(o,6)===mn?(c=mn,o+=6):(c=e,l(u8)),c===e&&(t.substr(o,6)===pn?(c=pn,o+=6):(c=e,l(d8)),c===e&&(t.substr(o,6)===un?(c=un,o+=6):(c=e,l(h8)),c===e&&(t.substr(o,6)===dn?(c=dn,o+=6):(c=e,l(j8)),c===e&&(t.substr(o,6)===hn?(c=hn,o+=6):(c=e,l(y8)),c===e&&(t.substr(o,6)===jn?(c=jn,o+=6):(c=e,l(x8)),c===e&&(t.substr(o,6)===yn?(c=yn,o+=6):(c=e,l(C8)),c===e&&(t.substr(o,6)===xn?(c=xn,o+=6):(c=e,l(S8)),c===e&&(t.substr(o,6)===Cn?(c=Cn,o+=6):(c=e,l(v8)),c===e&&(t.substr(o,6)===Sn?(c=Sn,o+=6):(c=e,l(M8)),c===e&&(t.substr(o,6)===vn?(c=vn,o+=6):(c=e,l(L8)),c===e&&(t.substr(o,6)===Mn?(c=Mn,o+=6):(c=e,l(w8)),c===e&&(t.substr(o,6)===Ln?(c=Ln,o+=6):(c=e,l(E8)),c===e&&(t.substr(o,6)===wn?(c=wn,o+=6):(c=e,l(A8)),c===e&&(t.substr(o,6)===En?(c=En,o+=6):(c=e,l(I8)),c===e&&(t.substr(o,6)===An?(c=An,o+=6):(c=e,l(T8)),c===e&&(t.substr(o,6)===In?(c=In,o+=6):(c=e,l(F8)),c===e&&(t.substr(o,6)===Tn?(c=Tn,o+=6):(c=e,l(_8)),c===e&&(t.substr(o,6)===Fn?(c=Fn,o+=6):(c=e,l(R8)),c===e&&(t.substr(o,6)===_n?(c=_n,o+=6):(c=e,l(P8)),c===e&&(t.substr(o,6)===Rn?(c=Rn,o+=6):(c=e,l(D8)),c===e&&(t.substr(o,6)===Pn?(c=Pn,o+=6):(c=e,l(N8)),c===e&&(t.substr(o,6)===Dn?(c=Dn,o+=6):(c=e,l(G8)),c===e&&(t.substr(o,6)===Nn?(c=Nn,o+=6):(c=e,l(O8)),c===e&&(t.substr(o,6)===Gn?(c=Gn,o+=6):(c=e,l(z8)),c===e&&(t.substr(o,6)===On?(c=On,o+=6):(c=e,l(k8)),c===e&&(t.substr(o,6)===zn?(c=zn,o+=6):(c=e,l(B8)),c===e&&(t.substr(o,6)===kn?(c=kn,o+=6):(c=e,l(V8)),c===e&&(t.substr(o,6)===Bn?(c=Bn,o+=6):(c=e,l(W8)),c===e&&(t.substr(o,6)===Nc?(c=Nc,o+=6):(c=e,l(Pm)),c===e&&(t.substr(o,6)===Nc?(c=Nc,o+=6):(c=e,l(Pm)),c===e&&(t.substr(o,6)===Vn?(c=Vn,o+=6):(c=e,l(H8)),c===e&&(t.substr(o,6)===Wn?(c=Wn,o+=6):(c=e,l(U8)),c===e&&(t.substr(o,6)===Hn?(c=Hn,o+=6):(c=e,l(K8)),c===e&&(t.substr(o,6)===Un?(c=Un,o+=6):(c=e,l(q8)),c===e&&(t.substr(o,6)===Kn?(c=Kn,o+=6):(c=e,l(Z8)),c===e&&(t.substr(o,6)===qn?(c=qn,o+=6):(c=e,l(X8)),c===e&&(t.substr(o,6)===Zn?(c=Zn,o+=6):(c=e,l(Y8)),c===e&&(t.substr(o,6)===Xn?(c=Xn,o+=6):(c=e,l(J8)),c===e&&(t.substr(o,6)===Yn?(c=Yn,o+=6):(c=e,l(Q8)),c===e&&(t.substr(o,6)===Jn?(c=Jn,o+=6):(c=e,l(eh)),c===e&&(t.substr(o,6)===Qn?(c=Qn,o+=6):(c=e,l(sh)),c===e&&(t.substr(o,6)===e$?(c=e$,o+=6):(c=e,l(ch)),c===e&&(t.substr(o,6)===s$?(c=s$,o+=6):(c=e,l(th)),c===e&&(t.substr(o,6)===c$?(c=c$,o+=6):(c=e,l(fh)),c===e&&(t.substr(o,6)===t$?(c=t$,o+=6):(c=e,l(oh)),c===e&&(t.substr(o,6)===f$?(c=f$,o+=6):(c=e,l(rh)),c===e&&(t.substr(o,6)===o$?(c=o$,o+=6):(c=e,l(ih)),c===e&&(t.substr(o,6)===r$?(c=r$,o+=6):(c=e,l(ah)),c===e&&(t.substr(o,6)===i$?(c=i$,o+=6):(c=e,l(lh)),c===e&&(t.substr(o,6)===a$?(c=a$,o+=6):(c=e,l(nh)),c===e&&(t.substr(o,6)===l$?(c=l$,o+=6):(c=e,l($h)),c===e&&(t.substr(o,6)===n$?(c=n$,o+=6):(c=e,l(gh)),c===e&&(t.substr(o,6)===$$?(c=$$,o+=6):(c=e,l(bh)),c===e&&(t.substr(o,6)===g$?(c=g$,o+=6):(c=e,l(mh)),c===e&&(t.substr(o,6)===b$?(c=b$,o+=6):(c=e,l(ph)),c===e&&(t.substr(o,6)===m$?(c=m$,o+=6):(c=e,l(uh)),c===e&&(t.substr(o,6)===Gc?(c=Gc,o+=6):(c=e,l(Dm)),c===e&&(t.substr(o,6)===p$?(c=p$,o+=6):(c=e,l(dh)),c===e&&(t.substr(o,6)===u$?(c=u$,o+=6):(c=e,l(hh)),c===e&&(t.substr(o,6)===d$?(c=d$,o+=6):(c=e,l(jh)),c===e&&(t.substr(o,6)===h$?(c=h$,o+=6):(c=e,l(yh)),c===e&&(t.substr(o,6)===j$?(c=j$,o+=6):(c=e,l(xh)),c===e&&(t.substr(o,6)===y$?(c=y$,o+=6):(c=e,l(Ch)),c===e&&(t.substr(o,6)===x$?(c=x$,o+=6):(c=e,l(Sh)),c===e&&(t.substr(o,6)===C$?(c=C$,o+=6):(c=e,l(vh)),c===e&&(t.substr(o,6)===S$?(c=S$,o+=6):(c=e,l(Mh)),c===e&&(t.substr(o,6)===v$?(c=v$,o+=6):(c=e,l(Lh)),c===e&&(t.substr(o,6)===M$?(c=M$,o+=6):(c=e,l(wh)),c===e&&(t.substr(o,6)===L$?(c=L$,o+=6):(c=e,l(Eh)),c===e&&(t.substr(o,6)===w$?(c=w$,o+=6):(c=e,l(Ah)),c===e&&(t.substr(o,6)===E$?(c=E$,o+=6):(c=e,l(Ih)),c===e&&(t.substr(o,6)===A$?(c=A$,o+=6):(c=e,l(Th)),c===e&&(t.substr(o,6)===I$?(c=I$,o+=6):(c=e,l(Fh)),c===e&&(t.substr(o,6)===T$?(c=T$,o+=6):(c=e,l(_h)),c===e&&(t.substr(o,6)===F$?(c=F$,o+=6):(c=e,l(Rh)),c===e&&(t.substr(o,6)===_$?(c=_$,o+=6):(c=e,l(Ph)),c===e&&(t.substr(o,6)===R$?(c=R$,o+=6):(c=e,l(Dh))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function zp(){let c;return t.substr(o,6)===P$?(c=P$,o+=6):(c=e,l(Nh)),c===e&&(t.substr(o,6)===D$?(c=D$,o+=6):(c=e,l(Gh)),c===e&&(t.substr(o,6)===N$?(c=N$,o+=6):(c=e,l(Oh)),c===e&&(t.substr(o,6)===G$?(c=G$,o+=6):(c=e,l(zh)),c===e&&(t.substr(o,6)===O$?(c=O$,o+=6):(c=e,l(kh)),c===e&&(t.substr(o,6)===z$?(c=z$,o+=6):(c=e,l(Bh)),c===e&&(t.substr(o,6)===k$?(c=k$,o+=6):(c=e,l(Vh)),c===e&&(t.substr(o,6)===B$?(c=B$,o+=6):(c=e,l(Wh)),c===e&&(t.substr(o,6)===V$?(c=V$,o+=6):(c=e,l(Hh)),c===e&&(t.substr(o,6)===W$?(c=W$,o+=6):(c=e,l(Uh)),c===e&&(t.substr(o,6)===H$?(c=H$,o+=6):(c=e,l(Kh)),c===e&&(t.substr(o,6)===U$?(c=U$,o+=6):(c=e,l(qh)),c===e&&(t.substr(o,6)===K$?(c=K$,o+=6):(c=e,l(Zh)),c===e&&(t.substr(o,6)===q$?(c=q$,o+=6):(c=e,l(Xh)),c===e&&(t.substr(o,6)===Z$?(c=Z$,o+=6):(c=e,l(Yh)),c===e&&(t.substr(o,6)===X$?(c=X$,o+=6):(c=e,l(Jh)),c===e&&(t.substr(o,6)===Y$?(c=Y$,o+=6):(c=e,l(Qh)),c===e&&(t.substr(o,6)===J$?(c=J$,o+=6):(c=e,l(ej)),c===e&&(t.substr(o,6)===Q$?(c=Q$,o+=6):(c=e,l(sj)),c===e&&(t.substr(o,6)===eg?(c=eg,o+=6):(c=e,l(cj)),c===e&&(t.substr(o,6)===sg?(c=sg,o+=6):(c=e,l(tj)),c===e&&(t.substr(o,6)===cg?(c=cg,o+=6):(c=e,l(fj)),c===e&&(t.substr(o,6)===tg?(c=tg,o+=6):(c=e,l(oj)),c===e&&(t.substr(o,6)===fg?(c=fg,o+=6):(c=e,l(rj)),c===e&&(t.substr(o,6)===og?(c=og,o+=6):(c=e,l(ij)),c===e&&(t.substr(o,6)===rg?(c=rg,o+=6):(c=e,l(aj)),c===e&&(t.substr(o,6)===ig?(c=ig,o+=6):(c=e,l(lj)),c===e&&(t.substr(o,6)===ag?(c=ag,o+=6):(c=e,l(nj)),c===e&&(t.substr(o,6)===lg?(c=lg,o+=6):(c=e,l($j)),c===e&&(t.substr(o,6)===ng?(c=ng,o+=6):(c=e,l(gj)),c===e&&(t.substr(o,6)===qe?(c=qe,o+=6):(c=e,l($g)),c===e&&(t.substr(o,6)===gg?(c=gg,o+=6):(c=e,l(bj)),c===e&&(t.substr(o,6)===bg?(c=bg,o+=6):(c=e,l(mj)),c===e&&(t.substr(o,6)===mg?(c=mg,o+=6):(c=e,l(pj)),c===e&&(t.substr(o,6)===pg?(c=pg,o+=6):(c=e,l(uj)),c===e&&(t.substr(o,6)===ug?(c=ug,o+=6):(c=e,l(dj)),c===e&&(t.substr(o,6)===dg?(c=dg,o+=6):(c=e,l(hj)),c===e&&(t.substr(o,6)===hg?(c=hg,o+=6):(c=e,l(jj)),c===e&&(t.substr(o,6)===jg?(c=jg,o+=6):(c=e,l(yj)),c===e&&(t.substr(o,6)===yg?(c=yg,o+=6):(c=e,l(xj)),c===e&&(t.substr(o,6)===qe?(c=qe,o+=6):(c=e,l($g)),c===e&&(t.substr(o,6)===xg?(c=xg,o+=6):(c=e,l(Cj)),c===e&&(t.substr(o,6)===Cg?(c=Cg,o+=6):(c=e,l(Sj)),c===e&&(t.substr(o,6)===Sg?(c=Sg,o+=6):(c=e,l(vj)),c===e&&(t.substr(o,6)===vg?(c=vg,o+=6):(c=e,l(Mj)),c===e&&(t.substr(o,6)===Mg?(c=Mg,o+=6):(c=e,l(Lj)),c===e&&(t.substr(o,6)===Lg?(c=Lg,o+=6):(c=e,l(wj)),c===e&&(t.substr(o,6)===wg?(c=wg,o+=6):(c=e,l(Ej)),c===e&&(t.substr(o,6)===Eg?(c=Eg,o+=6):(c=e,l(Aj)),c===e&&(t.substr(o,6)===Ag?(c=Ag,o+=6):(c=e,l(Ij)),c===e&&(t.substr(o,6)===Oc?(c=Oc,o+=6):(c=e,l(Nm)),c===e&&(t.substr(o,6)===Ig?(c=Ig,o+=6):(c=e,l(Tj)),c===e&&(t.substr(o,6)===Tg?(c=Tg,o+=6):(c=e,l(Fj)),c===e&&(t.substr(o,6)===Fg?(c=Fg,o+=6):(c=e,l(_j)),c===e&&(t.substr(o,6)===_g?(c=_g,o+=6):(c=e,l(Rj)),c===e&&(t.substr(o,6)===Rg?(c=Rg,o+=6):(c=e,l(Pj)),c===e&&(t.substr(o,6)===Pg?(c=Pg,o+=6):(c=e,l(Dj)),c===e&&(t.substr(o,6)===Dg?(c=Dg,o+=6):(c=e,l(Nj)),c===e&&(t.substr(o,6)===Ze?(c=Ze,o+=6):(c=e,l(Ng)),c===e&&(t.substr(o,6)===Gg?(c=Gg,o+=6):(c=e,l(Gj)),c===e&&(t.substr(o,6)===qe?(c=qe,o+=6):(c=e,l($g)),c===e&&(t.substr(o,6)===Og?(c=Og,o+=6):(c=e,l(Oj)),c===e&&(t.substr(o,6)===zg?(c=zg,o+=6):(c=e,l(zj)),c===e&&(t.substr(o,6)===kg?(c=kg,o+=6):(c=e,l(kj)),c===e&&(t.substr(o,6)===Bg?(c=Bg,o+=6):(c=e,l(Bj)),c===e&&(t.substr(o,6)===Vg?(c=Vg,o+=6):(c=e,l(Vj)),c===e&&(t.substr(o,6)===Oc?(c=Oc,o+=6):(c=e,l(Nm)),c===e&&(t.substr(o,6)===Wg?(c=Wg,o+=6):(c=e,l(Wj)),c===e&&(t.substr(o,6)===Hg?(c=Hg,o+=6):(c=e,l(Hj)),c===e&&(t.substr(o,6)===Ug?(c=Ug,o+=6):(c=e,l(Uj)),c===e&&(t.substr(o,6)===Kg?(c=Kg,o+=6):(c=e,l(Kj)),c===e&&(t.substr(o,6)===qg?(c=qg,o+=6):(c=e,l(qj)),c===e&&(t.substr(o,6)===Zg?(c=Zg,o+=6):(c=e,l(Zj)),c===e&&(t.substr(o,5)===Xg?(c=Xg,o+=5):(c=e,l(Xj)),c===e&&(t.substr(o,5)===Yg?(c=Yg,o+=5):(c=e,l(Yj)),c===e&&(t.substr(o,5)===Jg?(c=Jg,o+=5):(c=e,l(Jj)),c===e&&(t.substr(o,5)===Qg?(c=Qg,o+=5):(c=e,l(Qj)),c===e&&(t.substr(o,5)===e5?(c=e5,o+=5):(c=e,l(ey)),c===e&&(t.substr(o,5)===s5?(c=s5,o+=5):(c=e,l(sy)),c===e&&(t.substr(o,5)===zc?(c=zc,o+=5):(c=e,l(Gm)),c===e&&(t.substr(o,5)===c5?(c=c5,o+=5):(c=e,l(cy)),c===e&&(t.substr(o,5)===t5?(c=t5,o+=5):(c=e,l(ty)),c===e&&(t.substr(o,5)===f5?(c=f5,o+=5):(c=e,l(fy)),c===e&&(t.substr(o,5)===o5?(c=o5,o+=5):(c=e,l(oy)),c===e&&(t.substr(o,5)===kc?(c=kc,o+=5):(c=e,l(Om)),c===e&&(t.substr(o,5)===r5?(c=r5,o+=5):(c=e,l(ry)),c===e&&(t.substr(o,5)===kc?(c=kc,o+=5):(c=e,l(Om)),c===e&&(t.substr(o,5)===i5?(c=i5,o+=5):(c=e,l(iy)),c===e&&(t.substr(o,5)===a5?(c=a5,o+=5):(c=e,l(ay)),c===e&&(t.substr(o,5)===l5?(c=l5,o+=5):(c=e,l(ly)),c===e&&(t.substr(o,5)===n5?(c=n5,o+=5):(c=e,l(ny)),c===e&&(t.substr(o,5)===$5?(c=$5,o+=5):(c=e,l($y)),c===e&&(t.substr(o,5)===g5?(c=g5,o+=5):(c=e,l(gy)),c===e&&(t.substr(o,5)===b5?(c=b5,o+=5):(c=e,l(by)),c===e&&(t.substr(o,5)===m5?(c=m5,o+=5):(c=e,l(my)),c===e&&(t.substr(o,5)===p5?(c=p5,o+=5):(c=e,l(py)),c===e&&(t.substr(o,5)===u5?(c=u5,o+=5):(c=e,l(uy)),c===e&&(t.substr(o,5)===d5?(c=d5,o+=5):(c=e,l(dy)),c===e&&(t.substr(o,5)===h5?(c=h5,o+=5):(c=e,l(hy)),c===e&&(t.substr(o,5)===j5?(c=j5,o+=5):(c=e,l(jy))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function pM(){let c;return t.substr(o,5)===y5?(c=y5,o+=5):(c=e,l(yy)),c===e&&(t.substr(o,5)===x5?(c=x5,o+=5):(c=e,l(xy)),c===e&&(t.substr(o,5)===C5?(c=C5,o+=5):(c=e,l(Cy)),c===e&&(t.substr(o,5)===S5?(c=S5,o+=5):(c=e,l(Sy)),c===e&&(t.substr(o,5)===v5?(c=v5,o+=5):(c=e,l(vy)),c===e&&(t.substr(o,5)===M5?(c=M5,o+=5):(c=e,l(My)),c===e&&(t.substr(o,5)===L5?(c=L5,o+=5):(c=e,l(Ly)),c===e&&(t.substr(o,5)===w5?(c=w5,o+=5):(c=e,l(wy)),c===e&&(t.substr(o,5)===E5?(c=E5,o+=5):(c=e,l(Ey)),c===e&&(t.substr(o,5)===A5?(c=A5,o+=5):(c=e,l(Ay)),c===e&&(t.substr(o,5)===I5?(c=I5,o+=5):(c=e,l(Iy)),c===e&&(t.substr(o,5)===T5?(c=T5,o+=5):(c=e,l(Ty)),c===e&&(t.substr(o,5)===Bc?(c=Bc,o+=5):(c=e,l(zm)),c===e&&(t.substr(o,5)===F5?(c=F5,o+=5):(c=e,l(Fy)),c===e&&(t.substr(o,5)===_5?(c=_5,o+=5):(c=e,l(_y)),c===e&&(t.substr(o,5)===R5?(c=R5,o+=5):(c=e,l(Ry)),c===e&&(t.substr(o,5)===P5?(c=P5,o+=5):(c=e,l(Py)),c===e&&(t.substr(o,5)===D5?(c=D5,o+=5):(c=e,l(Dy)),c===e&&(t.substr(o,5)===N5?(c=N5,o+=5):(c=e,l(Ny)),c===e&&(t.substr(o,5)===G5?(c=G5,o+=5):(c=e,l(Gy)),c===e&&(t.substr(o,5)===O5?(c=O5,o+=5):(c=e,l(Oy)),c===e&&(t.substr(o,5)===z5?(c=z5,o+=5):(c=e,l(zy)),c===e&&(t.substr(o,5)===k5?(c=k5,o+=5):(c=e,l(ky)),c===e&&(t.substr(o,5)===B5?(c=B5,o+=5):(c=e,l(By)),c===e&&(t.substr(o,5)===V5?(c=V5,o+=5):(c=e,l(Vy)),c===e&&(t.substr(o,5)===W5?(c=W5,o+=5):(c=e,l(Wy)),c===e&&(t.substr(o,5)===H5?(c=H5,o+=5):(c=e,l(Hy)),c===e&&(t.substr(o,5)===U5?(c=U5,o+=5):(c=e,l(Uy)),c===e&&(t.substr(o,5)===K5?(c=K5,o+=5):(c=e,l(Ky)),c===e&&(t.substr(o,5)===q5?(c=q5,o+=5):(c=e,l(qy)),c===e&&(t.substr(o,5)===Z5?(c=Z5,o+=5):(c=e,l(Zy)),c===e&&(t.substr(o,5)===X5?(c=X5,o+=5):(c=e,l(Xy)),c===e&&(t.substr(o,5)===Y5?(c=Y5,o+=5):(c=e,l(Yy)),c===e&&(t.substr(o,5)===J5?(c=J5,o+=5):(c=e,l(Jy)),c===e&&(t.substr(o,5)===Q5?(c=Q5,o+=5):(c=e,l(Qy)),c===e&&(t.substr(o,5)===eb?(c=eb,o+=5):(c=e,l(ex)),c===e&&(t.substr(o,5)===sb?(c=sb,o+=5):(c=e,l(sx)),c===e&&(t.substr(o,5)===cb?(c=cb,o+=5):(c=e,l(cx)),c===e&&(t.substr(o,5)===tb?(c=tb,o+=5):(c=e,l(tx)),c===e&&(t.substr(o,5)===fb?(c=fb,o+=5):(c=e,l(fx)),c===e&&(t.substr(o,5)===ob?(c=ob,o+=5):(c=e,l(ox)),c===e&&(t.substr(o,5)===rb?(c=rb,o+=5):(c=e,l(rx)),c===e&&(t.substr(o,5)===ib?(c=ib,o+=5):(c=e,l(ix)),c===e&&(t.substr(o,5)===Vc?(c=Vc,o+=5):(c=e,l(km)),c===e&&(t.substr(o,5)===ab?(c=ab,o+=5):(c=e,l(ax)),c===e&&(t.substr(o,5)===Vc?(c=Vc,o+=5):(c=e,l(km)),c===e&&(t.substr(o,5)===lb?(c=lb,o+=5):(c=e,l(lx)),c===e&&(t.substr(o,5)===nb?(c=nb,o+=5):(c=e,l(nx)),c===e&&(t.substr(o,5)===$b?(c=$b,o+=5):(c=e,l($x)),c===e&&(t.substr(o,5)===gb?(c=gb,o+=5):(c=e,l(gx)),c===e&&(t.substr(o,5)===bb?(c=bb,o+=5):(c=e,l(bx)),c===e&&(t.substr(o,5)===mb?(c=mb,o+=5):(c=e,l(mx)),c===e&&(t.substr(o,5)===pb?(c=pb,o+=5):(c=e,l(px)),c===e&&(t.substr(o,5)===ub?(c=ub,o+=5):(c=e,l(ux)),c===e&&(t.substr(o,5)===db?(c=db,o+=5):(c=e,l(dx)),c===e&&(t.substr(o,5)===hb?(c=hb,o+=5):(c=e,l(hx)),c===e&&(t.substr(o,5)===jb?(c=jb,o+=5):(c=e,l(jx)),c===e&&(t.substr(o,5)===yb?(c=yb,o+=5):(c=e,l(yx)),c===e&&(t.substr(o,5)===xb?(c=xb,o+=5):(c=e,l(xx)),c===e&&(t.substr(o,5)===Cb?(c=Cb,o+=5):(c=e,l(Cx)),c===e&&(t.substr(o,5)===Sb?(c=Sb,o+=5):(c=e,l(Sx)),c===e&&(t.substr(o,5)===vb?(c=vb,o+=5):(c=e,l(vx)),c===e&&(t.substr(o,5)===Wc?(c=Wc,o+=5):(c=e,l(Bm)),c===e&&(t.substr(o,5)===Wc?(c=Wc,o+=5):(c=e,l(Bm)),c===e&&(t.substr(o,5)===Mb?(c=Mb,o+=5):(c=e,l(Mx)),c===e&&(t.substr(o,5)===Lb?(c=Lb,o+=5):(c=e,l(Lx)),c===e&&(t.substr(o,5)===wb?(c=wb,o+=5):(c=e,l(wx)),c===e&&(t.substr(o,5)===Eb?(c=Eb,o+=5):(c=e,l(Ex)),c===e&&(t.substr(o,5)===Ab?(c=Ab,o+=5):(c=e,l(Ax)),c===e&&(t.substr(o,5)===Ib?(c=Ib,o+=5):(c=e,l(Ix)),c===e&&(t.substr(o,5)===Tb?(c=Tb,o+=5):(c=e,l(Tx)),c===e&&(t.substr(o,5)===Fb?(c=Fb,o+=5):(c=e,l(Fx)),c===e&&(t.substr(o,5)===Hc?(c=Hc,o+=5):(c=e,l(Vm)),c===e&&(t.substr(o,5)===_b?(c=_b,o+=5):(c=e,l(_x)),c===e&&(t.substr(o,5)===Rb?(c=Rb,o+=5):(c=e,l(Rx)),c===e&&(t.substr(o,5)===Pb?(c=Pb,o+=5):(c=e,l(Px)),c===e&&(t.substr(o,5)===Db?(c=Db,o+=5):(c=e,l(Dx)),c===e&&(t.substr(o,5)===Nb?(c=Nb,o+=5):(c=e,l(Nx)),c===e&&(t.substr(o,5)===Gb?(c=Gb,o+=5):(c=e,l(Gx)),c===e&&(t.substr(o,5)===Ob?(c=Ob,o+=5):(c=e,l(Ox)),c===e&&(t.substr(o,5)===zb?(c=zb,o+=5):(c=e,l(zx)),c===e&&(t.substr(o,5)===kb?(c=kb,o+=5):(c=e,l(kx)),c===e&&(t.substr(o,5)===Bb?(c=Bb,o+=5):(c=e,l(Bx)),c===e&&(t.substr(o,5)===Vb?(c=Vb,o+=5):(c=e,l(Vx)),c===e&&(t.substr(o,5)===Wb?(c=Wb,o+=5):(c=e,l(Wx)),c===e&&(t.substr(o,5)===Hb?(c=Hb,o+=5):(c=e,l(Hx)),c===e&&(t.substr(o,5)===Ub?(c=Ub,o+=5):(c=e,l(Ux)),c===e&&(t.substr(o,5)===Kb?(c=Kb,o+=5):(c=e,l(Kx)),c===e&&(t.substr(o,5)===qb?(c=qb,o+=5):(c=e,l(qx)),c===e&&(t.substr(o,5)===Zb?(c=Zb,o+=5):(c=e,l(Zx)),c===e&&(t.substr(o,5)===Uc?(c=Uc,o+=5):(c=e,l(Wm)),c===e&&(t.substr(o,5)===Xb?(c=Xb,o+=5):(c=e,l(Xx)),c===e&&(t.substr(o,5)===Yb?(c=Yb,o+=5):(c=e,l(Yx)),c===e&&(t.substr(o,5)===Jb?(c=Jb,o+=5):(c=e,l(Jx)),c===e&&(t.substr(o,5)===Qb?(c=Qb,o+=5):(c=e,l(Qx)),c===e&&(t.substr(o,5)===e9?(c=e9,o+=5):(c=e,l(eC)),c===e&&(t.substr(o,5)===s9?(c=s9,o+=5):(c=e,l(sC)),c===e&&(t.substr(o,5)===c9?(c=c9,o+=5):(c=e,l(cC)),c===e&&(t.substr(o,5)===t9?(c=t9,o+=5):(c=e,l(tC)),c===e&&(t.substr(o,5)===f9?(c=f9,o+=5):(c=e,l(fC))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function kp(){let c;return t.substr(o,5)===o9?(c=o9,o+=5):(c=e,l(oC)),c===e&&(t.substr(o,5)===r9?(c=r9,o+=5):(c=e,l(rC)),c===e&&(t.substr(o,5)===i9?(c=i9,o+=5):(c=e,l(iC)),c===e&&(t.substr(o,5)===a9?(c=a9,o+=5):(c=e,l(aC)),c===e&&(t.substr(o,5)===l9?(c=l9,o+=5):(c=e,l(lC)),c===e&&(t.substr(o,5)===n9?(c=n9,o+=5):(c=e,l(nC)),c===e&&(t.substr(o,5)===$9?(c=$9,o+=5):(c=e,l($C)),c===e&&(t.substr(o,5)===g9?(c=g9,o+=5):(c=e,l(gC)),c===e&&(t.substr(o,5)===b9?(c=b9,o+=5):(c=e,l(bC)),c===e&&(t.substr(o,5)===m9?(c=m9,o+=5):(c=e,l(mC)),c===e&&(t.substr(o,5)===p9?(c=p9,o+=5):(c=e,l(pC)),c===e&&(t.substr(o,5)===u9?(c=u9,o+=5):(c=e,l(uC)),c===e&&(t.substr(o,5)===d9?(c=d9,o+=5):(c=e,l(dC)),c===e&&(t.substr(o,5)===h9?(c=h9,o+=5):(c=e,l(hC)),c===e&&(t.substr(o,5)===j9?(c=j9,o+=5):(c=e,l(jC)),c===e&&(t.substr(o,4)===y9?(c=y9,o+=4):(c=e,l(yC)),c===e&&(t.substr(o,4)===x9?(c=x9,o+=4):(c=e,l(xC)),c===e&&(t.substr(o,4)===C9?(c=C9,o+=4):(c=e,l(CC)),c===e&&(t.substr(o,4)===S9?(c=S9,o+=4):(c=e,l(SC)),c===e&&(t.substr(o,4)===v9?(c=v9,o+=4):(c=e,l(vC)),c===e&&(t.substr(o,4)===M9?(c=M9,o+=4):(c=e,l(MC)),c===e&&(t.substr(o,4)===L9?(c=L9,o+=4):(c=e,l(LC)),c===e&&(t.substr(o,4)===w9?(c=w9,o+=4):(c=e,l(wC)),c===e&&(t.substr(o,4)===E9?(c=E9,o+=4):(c=e,l(EC)),c===e&&(t.substr(o,4)===A9?(c=A9,o+=4):(c=e,l(AC)),c===e&&(t.substr(o,4)===I9?(c=I9,o+=4):(c=e,l(IC)),c===e&&(t.substr(o,4)===T9?(c=T9,o+=4):(c=e,l(TC)),c===e&&(t.substr(o,4)===F9?(c=F9,o+=4):(c=e,l(FC)),c===e&&(t.substr(o,4)===_9?(c=_9,o+=4):(c=e,l(_C)),c===e&&(t.substr(o,4)===R9?(c=R9,o+=4):(c=e,l(RC)),c===e&&(t.substr(o,4)===P9?(c=P9,o+=4):(c=e,l(PC)),c===e&&(t.substr(o,4)===D9?(c=D9,o+=4):(c=e,l(DC)),c===e&&(t.substr(o,4)===N9?(c=N9,o+=4):(c=e,l(NC)),c===e&&(t.substr(o,4)===G9?(c=G9,o+=4):(c=e,l(GC)),c===e&&(t.substr(o,4)===O9?(c=O9,o+=4):(c=e,l(OC)),c===e&&(t.substr(o,4)===z9?(c=z9,o+=4):(c=e,l(zC)),c===e&&(t.substr(o,4)===k9?(c=k9,o+=4):(c=e,l(kC)),c===e&&(t.substr(o,4)===B9?(c=B9,o+=4):(c=e,l(BC)),c===e&&(t.substr(o,4)===V9?(c=V9,o+=4):(c=e,l(VC)),c===e&&(t.substr(o,4)===W9?(c=W9,o+=4):(c=e,l(WC)),c===e&&(t.substr(o,4)===H9?(c=H9,o+=4):(c=e,l(HC)),c===e&&(t.substr(o,4)===U9?(c=U9,o+=4):(c=e,l(UC)),c===e&&(t.substr(o,4)===K9?(c=K9,o+=4):(c=e,l(KC)),c===e&&(t.substr(o,4)===q9?(c=q9,o+=4):(c=e,l(qC)),c===e&&(t.substr(o,4)===Z9?(c=Z9,o+=4):(c=e,l(ZC)),c===e&&(t.substr(o,4)===X9?(c=X9,o+=4):(c=e,l(XC)),c===e&&(t.substr(o,4)===Y9?(c=Y9,o+=4):(c=e,l(YC)),c===e&&(t.substr(o,4)===J9?(c=J9,o+=4):(c=e,l(JC)),c===e&&(t.substr(o,4)===Q9?(c=Q9,o+=4):(c=e,l(QC)),c===e&&(t.substr(o,4)===e3?(c=e3,o+=4):(c=e,l(eS)),c===e&&(t.substr(o,4)===s3?(c=s3,o+=4):(c=e,l(sS)),c===e&&(t.substr(o,4)===c3?(c=c3,o+=4):(c=e,l(cS)),c===e&&(t.substr(o,4)===t3?(c=t3,o+=4):(c=e,l(tS)),c===e&&(t.substr(o,4)===f3?(c=f3,o+=4):(c=e,l(fS)),c===e&&(t.substr(o,4)===o3?(c=o3,o+=4):(c=e,l(oS)),c===e&&(t.substr(o,4)===r3?(c=r3,o+=4):(c=e,l(rS)),c===e&&(t.substr(o,4)===i3?(c=i3,o+=4):(c=e,l(iS)),c===e&&(t.substr(o,4)===a3?(c=a3,o+=4):(c=e,l(aS)),c===e&&(t.substr(o,4)===l3?(c=l3,o+=4):(c=e,l(lS)),c===e&&(t.substr(o,4)===n3?(c=n3,o+=4):(c=e,l(nS)),c===e&&(t.substr(o,4)===$3?(c=$3,o+=4):(c=e,l($S)),c===e&&(t.substr(o,4)===g3?(c=g3,o+=4):(c=e,l(gS)),c===e&&(t.substr(o,4)===b3?(c=b3,o+=4):(c=e,l(bS)),c===e&&(t.substr(o,4)===m3?(c=m3,o+=4):(c=e,l(mS)),c===e&&(t.substr(o,4)===p3?(c=p3,o+=4):(c=e,l(pS)),c===e&&(t.substr(o,4)===u3?(c=u3,o+=4):(c=e,l(uS)),c===e&&(t.substr(o,4)===d3?(c=d3,o+=4):(c=e,l(dS)),c===e&&(t.substr(o,4)===h3?(c=h3,o+=4):(c=e,l(hS)),c===e&&(t.substr(o,4)===j3?(c=j3,o+=4):(c=e,l(jS)),c===e&&(t.substr(o,4)===y3?(c=y3,o+=4):(c=e,l(yS)),c===e&&(t.substr(o,4)===x3?(c=x3,o+=4):(c=e,l(xS)),c===e&&(t.substr(o,4)===C3?(c=C3,o+=4):(c=e,l(CS)),c===e&&(t.substr(o,4)===Xe?(c=Xe,o+=4):(c=e,l(S3)),c===e&&(t.substr(o,4)===Kc?(c=Kc,o+=4):(c=e,l(Hm)),c===e&&(t.substr(o,4)===v3?(c=v3,o+=4):(c=e,l(SS)),c===e&&(t.substr(o,4)===M3?(c=M3,o+=4):(c=e,l(vS)),c===e&&(t.substr(o,4)===L3?(c=L3,o+=4):(c=e,l(MS)),c===e&&(t.substr(o,4)===w3?(c=w3,o+=4):(c=e,l(LS)),c===e&&(t.substr(o,4)===E3?(c=E3,o+=4):(c=e,l(wS)),c===e&&(t.substr(o,4)===A3?(c=A3,o+=4):(c=e,l(ES)),c===e&&(t.substr(o,4)===I3?(c=I3,o+=4):(c=e,l(AS)),c===e&&(t.substr(o,4)===qc?(c=qc,o+=4):(c=e,l(Um)),c===e&&(t.substr(o,4)===T3?(c=T3,o+=4):(c=e,l(IS)),c===e&&(t.substr(o,4)===qc?(c=qc,o+=4):(c=e,l(Um)),c===e&&(t.substr(o,4)===F3?(c=F3,o+=4):(c=e,l(TS)),c===e&&(t.substr(o,4)===Zc?(c=Zc,o+=4):(c=e,l(Km)),c===e&&(t.substr(o,4)===_3?(c=_3,o+=4):(c=e,l(FS)),c===e&&(t.substr(o,4)===Zc?(c=Zc,o+=4):(c=e,l(Km)),c===e&&(t.substr(o,4)===R3?(c=R3,o+=4):(c=e,l(_S)),c===e&&(t.substr(o,4)===Xc?(c=Xc,o+=4):(c=e,l(qm)),c===e&&(t.substr(o,4)===P3?(c=P3,o+=4):(c=e,l(RS)),c===e&&(t.substr(o,4)===Xc?(c=Xc,o+=4):(c=e,l(qm)),c===e&&(t.substr(o,4)===D3?(c=D3,o+=4):(c=e,l(PS)),c===e&&(t.substr(o,4)===Yc?(c=Yc,o+=4):(c=e,l(Zm)),c===e&&(t.substr(o,4)===N3?(c=N3,o+=4):(c=e,l(DS)),c===e&&(t.substr(o,4)===Yc?(c=Yc,o+=4):(c=e,l(Zm)),c===e&&(t.substr(o,4)===G3?(c=G3,o+=4):(c=e,l(NS)),c===e&&(t.substr(o,4)===O3?(c=O3,o+=4):(c=e,l(GS)),c===e&&(t.substr(o,4)===Xe?(c=Xe,o+=4):(c=e,l(S3)),c===e&&(t.substr(o,4)===z3?(c=z3,o+=4):(c=e,l(OS))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function uM(){let c;return t.substr(o,4)===Xe?(c=Xe,o+=4):(c=e,l(S3)),c===e&&(t.substr(o,4)===k3?(c=k3,o+=4):(c=e,l(zS)),c===e&&(t.substr(o,4)===B3?(c=B3,o+=4):(c=e,l(kS)),c===e&&(t.substr(o,4)===V3?(c=V3,o+=4):(c=e,l(BS)),c===e&&(t.substr(o,4)===Kc?(c=Kc,o+=4):(c=e,l(Hm)),c===e&&(t.substr(o,4)===W3?(c=W3,o+=4):(c=e,l(VS)),c===e&&(t.substr(o,4)===Me?(c=Me,o+=4):(c=e,l(s1)),c===e&&(t.substr(o,4)===Ye?(c=Ye,o+=4):(c=e,l(H3)),c===e&&(t.substr(o,4)===U3?(c=U3,o+=4):(c=e,l(WS)),c===e&&(t.substr(o,4)===K3?(c=K3,o+=4):(c=e,l(HS)),c===e&&(t.substr(o,4)===Ye?(c=Ye,o+=4):(c=e,l(H3)),c===e&&(t.substr(o,4)===Jc?(c=Jc,o+=4):(c=e,l(Xm)),c===e&&(t.substr(o,4)===Jc?(c=Jc,o+=4):(c=e,l(Xm)),c===e&&(t.substr(o,4)===q3?(c=q3,o+=4):(c=e,l(US)),c===e&&(t.substr(o,4)===Z3?(c=Z3,o+=4):(c=e,l(KS)),c===e&&(t.substr(o,4)===X3?(c=X3,o+=4):(c=e,l(qS)),c===e&&(t.substr(o,4)===Y3?(c=Y3,o+=4):(c=e,l(ZS)),c===e&&(t.substr(o,4)===Qc?(c=Qc,o+=4):(c=e,l(Ym)),c===e&&(t.substr(o,4)===J3?(c=J3,o+=4):(c=e,l(XS)),c===e&&(t.substr(o,4)===Q3?(c=Q3,o+=4):(c=e,l(YS)),c===e&&(t.substr(o,4)===et?(c=et,o+=4):(c=e,l(Jm)),c===e&&(t.substr(o,4)===e7?(c=e7,o+=4):(c=e,l(JS)),c===e&&(t.substr(o,4)===s7?(c=s7,o+=4):(c=e,l(QS)),c===e&&(t.substr(o,4)===st?(c=st,o+=4):(c=e,l(Qm)),c===e&&(t.substr(o,4)===Me?(c=Me,o+=4):(c=e,l(s1)),c===e&&(t.substr(o,4)===c7?(c=c7,o+=4):(c=e,l(ev)),c===e&&(t.substr(o,4)===t7?(c=t7,o+=4):(c=e,l(sv)),c===e&&(t.substr(o,4)===ct?(c=ct,o+=4):(c=e,l(ep)),c===e&&(t.substr(o,4)===f7?(c=f7,o+=4):(c=e,l(cv)),c===e&&(t.substr(o,4)===o7?(c=o7,o+=4):(c=e,l(tv)),c===e&&(t.substr(o,3)===r7?(c=r7,o+=3):(c=e,l(fv)),c===e&&(t.substr(o,3)===i7?(c=i7,o+=3):(c=e,l(ov)),c===e&&(t.substr(o,3)===a7?(c=a7,o+=3):(c=e,l(rv)),c===e&&(t.substr(o,3)===l7?(c=l7,o+=3):(c=e,l(iv)),c===e&&(t.substr(o,3)===n7?(c=n7,o+=3):(c=e,l(av)),c===e&&(t.substr(o,3)===$7?(c=$7,o+=3):(c=e,l(lv)),c===e&&(t.substr(o,3)===tt?(c=tt,o+=3):(c=e,l(sp)),c===e&&(t.substr(o,3)===ft?(c=ft,o+=3):(c=e,l(cp)),c===e&&(t.substr(o,3)===g7?(c=g7,o+=3):(c=e,l(nv)),c===e&&(t.substr(o,3)===b7?(c=b7,o+=3):(c=e,l($v)),c===e&&(t.substr(o,3)===ot?(c=ot,o+=3):(c=e,l(tp)),c===e&&(t.substr(o,3)===m7?(c=m7,o+=3):(c=e,l(gv)),c===e&&(t.substr(o,3)===p7?(c=p7,o+=3):(c=e,l(bv)),c===e&&(t.substr(o,3)===u7?(c=u7,o+=3):(c=e,l(mv)),c===e&&(t.substr(o,3)===d7?(c=d7,o+=3):(c=e,l(pv)),c===e&&(t.substr(o,3)===h7?(c=h7,o+=3):(c=e,l(uv)),c===e&&(t.substr(o,3)===j7?(c=j7,o+=3):(c=e,l(dv)),c===e&&(t.substr(o,3)===y7?(c=y7,o+=3):(c=e,l(hv)),c===e&&(t.substr(o,3)===x7?(c=x7,o+=3):(c=e,l(jv)),c===e&&(t.substr(o,3)===C7?(c=C7,o+=3):(c=e,l(yv)),c===e&&(t.substr(o,3)===S7?(c=S7,o+=3):(c=e,l(xv)),c===e&&(t.substr(o,3)===v7?(c=v7,o+=3):(c=e,l(Cv)),c===e&&(t.substr(o,3)===M7?(c=M7,o+=3):(c=e,l(Sv)),c===e&&(t.substr(o,3)===L7?(c=L7,o+=3):(c=e,l(vv)),c===e&&(t.substr(o,3)===w7?(c=w7,o+=3):(c=e,l(Mv)),c===e&&(t.substr(o,3)===E7?(c=E7,o+=3):(c=e,l(Lv)),c===e&&(t.substr(o,3)===A7?(c=A7,o+=3):(c=e,l(wv)),c===e&&(t.substr(o,3)===I7?(c=I7,o+=3):(c=e,l(Ev)),c===e&&(t.substr(o,3)===T7?(c=T7,o+=3):(c=e,l(Av)),c===e&&(t.substr(o,3)===F7?(c=F7,o+=3):(c=e,l(Iv)),c===e&&(t.substr(o,3)===_7?(c=_7,o+=3):(c=e,l(Tv)),c===e&&(t.substr(o,3)===R7?(c=R7,o+=3):(c=e,l(Fv)),c===e&&(t.substr(o,3)===P7?(c=P7,o+=3):(c=e,l(_v)),c===e&&(t.substr(o,3)===D7?(c=D7,o+=3):(c=e,l(Rv)),c===e&&(t.substr(o,3)===N7?(c=N7,o+=3):(c=e,l(Pv)),c===e&&(t.substr(o,3)===G7?(c=G7,o+=3):(c=e,l(Dv)),c===e&&(t.substr(o,3)===O7?(c=O7,o+=3):(c=e,l(Nv)),c===e&&(t.substr(o,3)===z7?(c=z7,o+=3):(c=e,l(Gv)),c===e&&(t.substr(o,3)===k7?(c=k7,o+=3):(c=e,l(Ov)),c===e&&(t.substr(o,3)===Je?(c=Je,o+=3):(c=e,l(B7)),c===e&&(t.substr(o,3)===V7?(c=V7,o+=3):(c=e,l(zv)),c===e&&(t.substr(o,3)===W7?(c=W7,o+=3):(c=e,l(kv)),c===e&&(t.substr(o,3)===H7?(c=H7,o+=3):(c=e,l(Bv)),c===e&&(t.substr(o,3)===U7?(c=U7,o+=3):(c=e,l(Vv)),c===e&&(t.substr(o,3)===K7?(c=K7,o+=3):(c=e,l(Wv)),c===e&&(t.substr(o,3)===q7?(c=q7,o+=3):(c=e,l(Hv)),c===e&&(t.substr(o,3)===Je?(c=Je,o+=3):(c=e,l(B7)),c===e&&(t.substr(o,3)===Je?(c=Je,o+=3):(c=e,l(B7)),c===e&&(t.substr(o,3)===Z7?(c=Z7,o+=3):(c=e,l(Uv)),c===e&&(t.substr(o,2)===X7?(c=X7,o+=2):(c=e,l(Kv)),c===e&&(t.substr(o,2)===Y7?(c=Y7,o+=2):(c=e,l(qv)),c===e&&(t.substr(o,2)===J7?(c=J7,o+=2):(c=e,l(Zv)),c===e&&(t.substr(o,2)===Q7?(c=Q7,o+=2):(c=e,l(Xv)),c===e&&(t.substr(o,2)===em?(c=em,o+=2):(c=e,l(Yv)),c===e&&(t.substr(o,2)===sm?(c=sm,o+=2):(c=e,l(Jv)),c===e&&(t.substr(o,2)===cm?(c=cm,o+=2):(c=e,l(Qv)),c===e&&(t.substr(o,2)===tm?(c=tm,o+=2):(c=e,l(eM)),c===e&&(t.substr(o,2)===fm?(c=fm,o+=2):(c=e,l(sM)),c===e&&(t.substr(o,2)===rt?(c=rt,o+=2):(c=e,l(fp)),c===e&&(t.substr(o,2)===rt?(c=rt,o+=2):(c=e,l(fp)),c===e&&(t.substr(o,2)===om?(c=om,o+=2):(c=e,l(cM)),c===e&&(t.substr(o,2)===rm?(c=rm,o+=2):(c=e,l(tM)),c===e&&(t.substr(o,2)===im?(c=im,o+=2):(c=e,l(fM)),c===e&&(t.substr(o,2)===am?(c=am,o+=2):(c=e,l(oM)),c===e&&(t.substr(o,2)===lm?(c=lm,o+=2):(c=e,l(rM)),c===e&&(t.substr(o,2)===ve?(c=ve,o+=2):(c=e,l(op)),c===e&&(t.substr(o,2)===rp?(c=rp,o+=2):(c=e,l(ip)),c===e&&(t.substr(o,2)===ap?(c=ap,o+=2):(c=e,l(lp)),c===e&&(t.substr(o,2)===np?(c=np,o+=2):(c=e,l($p)),c===e&&(t.substr(o,2)===gp?(c=gp,o+=2):(c=e,l(_s))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),c}function Bp(){let c;return t.substr(o,2)===c1?(c=c1,o+=2):(c=e,l(bp)),c===e&&(t.substr(o,2)===mp?(c=mp,o+=2):(c=e,l(pp)),c===e&&(t.substr(o,2)===up?(c=up,o+=2):(c=e,l(dp)),c===e&&(t.substr(o,2)===hp?(c=hp,o+=2):(c=e,l(jp)),c===e&&(t.substr(o,2)===yp?(c=yp,o+=2):(c=e,l(xp)),c===e&&(t.substr(o,2)===Cp?(c=Cp,o+=2):(c=e,l(Sp)),c===e&&(t.substr(o,2)===vp?(c=vp,o+=2):(c=e,l(Mp)),c===e&&(t.substr(o,2)===Lp?(c=Lp,o+=2):(c=e,l(wp)),c===e&&(t.substr(o,2)===Ep?(c=Ep,o+=2):(c=e,l(Ap)),c===e&&(iM.test(t.charAt(o))?(c=t.charAt(o),o++):(c=e,l(Ip))))))))))),c}if(it=y(),it!==e&&o===t.length)return it;throw it!==e&&o{const y=j.transpose(r);return e?y.normalize(e,{normalizeSuffix:m}):y})}useModifier(r){return this.changeChord(e=>e.useModifier(r))}changeChord(r){const e=Sm.parse(this.chords.trim());if(e){const m=r(e);return this.set({chords:m.toString()})}return this.clone()}}var oe=Yp;const sI={2:"2",4:"sus",5:"5",6:"6",7:"7",9:"9",11:"11",13:"13",42:"4(2)",69:"6(9)","(#4)":"(#4)","#4":"(#4)","+4":"(#4)","(+4)":"(#4)","(11)":"(11)",add11:"(11)","(add11)":"(11)","(13)":"(13)",add13:"(13)","(add13)":"(13)","(2)":"(2)",add2:"(2)","(add2)":"(2)","(4)":"(4)",add4:"(4)","(add4)":"(4)","sus(4)":"(4)","(6)":"(6)",add6:"(6)","(add6)":"(6)","(7)":"(7)","(9)":"(9)",add9:"(9)","(add9)":"(9)","(b5)":"(b5)","-5":"(b5)","(-5)":"(b5)",b5:"(b5)","2(6)":"2(6)","(b6)":"(b6)","(unis)":"(unis)",unis:"(unis)","[blank]":"[blank]",maj:"[blank]",major:"[blank]",M:"[blank]",ma:"[blank]",Ma:"[blank]",Majj:"[blank]","+":"+",aug:"+","(#5)":"+","#5":"+","+5":"+","(+5)":"+",x:"+",dom11:"11","11(#5)":"11(#5)","11#5":"11(#5)","11+5":"11(#5)","11(+5)":"11(#5)","11(#9)":"11(#9)","11#9":"11(#9)","11+9":"11(#9)","11(+9)":"11(#9)","11(b13)":"11(b13)","11b13":"11(b13)","11-13":"11(b13)","11(-13)":"11(b13)","11(b5)":"11(b5)","11b5":"11(b5)","11-5":"11(b5)","11(-5)":"11(b5)","11(b9)":"11(b9)","11b9":"11(b9)","11-9":"11(b9)","11(-9)":"11(b9)","11sus4":"11sus4","11sus":"11sus4",m11sus4:"11sus4",m11sus:"11sus4",dom13:"13","13(#11)":"13(#11)","13#11":"13(#11)","13+11":"13(#11)","13(+11)":"13(#11)","13(#5)":"13(#5)","13#5":"13(#5)","13+5":"13(#5)","13(+5)":"13(#5)","13(#9)":"13(#9)","13#9":"13(#9)","13(+9)":"13(#9)","13+9":"13(#9)","13(#9#5)":"13(#9#5)","13#9#5":"13(#9#5)","13(+9+5)":"13(#9#5)","13+9+5":"13(#9#5)","13(#9b5)":"13(#9b5)","13#9b5":"13(#9b5)","13(+9-5)":"13(#9b5)","13+9-5":"13(#9b5)","13(add2)":"13(add2)","13(add4)":"13(add4)","13(b5)":"13(b5)","13b5":"13(b5)","13-5":"13(b5)","13(-5)":"13(b5)","13(b9)":"13(b9)","13b9":"13(b9)","13-9":"13(b9)","13(-9)":"13(b9)","13(b9#5)":"13(b9#5)","13b9#5":"13(b9#5)","13-9+5":"13(b9#5)","13(-9+5)":"13(b9#5)","13(b9b5)":"13(b9b5)","13b9b5":"13(b9b5)","13-9-5":"13(b9b5)","13(-9-5)":"13(b9b5)","13sus4":"13sus4","13sus":"13sus4",m13sus4:"13sus4",m13sus:"13sus4",sus2:"2","add9(no3)":"2","2(#11)":"2(#11)","2(#4)":"2(#4)","2+4":"2(#4)","2#4":"2(#4)","2(+4)":"2(#4)","(#4)2":"2(#4)","2(#4)(#42)(2#4)":"2(#4)(#42)(2#4)","2(+7)":"2(+7)","2(4)":"2(4)","sus2(4)":"2(4)","2(ma7)":"2(ma7)","2(no3)":"2(no3)","4(2)":"4(2)",sus42:"4(2)",no3:"5","(no3)":"5","5(no3)":"5","6(2)":"6(2)","6(b9)":"6(b9)","6(no3)":"6(no3)","6(9)":"6(9)","6(add9)":"6(9)",dom7:"7","7(#11)":"7(#11)","7#11":"7(#11)","7+11":"7(#11)","7(+11)":"7(#11)","7(#5)":"7(#5)",aug7:"7(#5)","7#5":"7(#5)","7+5":"7(#5)","7(+5)":"7(#5)",x7:"7(#5)","7(#5#11)":"7(#5#11)","7#5#11":"7(#5#11)","7+5+11":"7(#5#11)","7(+5+11)":"7(#5#11)","7(#9)":"7(#9)","7#9":"7(#9)","7+9":"7(#9)","7(+9)":"7(#9)","7(#9#5)":"7(#9#5)","7(#5#9)":"7(#9#5)","7#5#9":"7(#9#5)","7+5+9":"7(#9#5)","7(+5+9)":"7(#9#5)","7(#9b13)":"7(#9b13)","7#9b13":"7(#9b13)","7(+9-13)":"7(#9b13)","7+9-13":"7(#9b13)","7(b13#9)":"7(#9b13)","7b13#9":"7(#9b13)","7-13+9":"7(#9b13)","7(-13+9)":"7(#9b13)","7(#9b5)":"7(#9b5)","7(6)":"7(6)","7(b13)":"7(b13)","7b13":"7(b13)","7-13":"7(b13)","7(-13)":"7(b13)","7(b5)":"7(b5)","7b5":"7(b5)","7-5":"7(b5)","7(-5)":"7(b5)","7(b5#11)":"7(b5#11)","7b5#11":"7(b5#11)","7-5+11":"7(b5#11)","7(-5+11)":"7(b5#11)","7(b5#9)":"7(b5#9)","7b5#9":"7(b5#9)","7-5+9":"7(b5#9)","7(-5+9)":"7(b5#9)","7(b5b9)":"7(b5b9)","7b5b9":"7(b5b9)","7-5-9":"7(b5b9)","7(-5-9)":"7(b5b9)","7(b9)":"7(b9)","7b9":"7(b9)","7-9":"7(b9)","7(-9)":"7(b9)","7(b9#5)":"7(b9#5)","7(#5b9)":"7(b9#5)","7#5b9":"7(b9#5)","7+5-9":"7(b9#5)","7(+5-9)":"7(b9#5)","7(b9b13)":"7(b9b13)","7b9b13":"7(b9b13)","7-9-13":"7(b9b13)","7(-9-13)":"7(b9b13)","7(b13b9)":"7(b9b13)","7b13b9":"7(b9b13)","7-13-9":"7(b9b13)","7(-13-9)":"7(b9b13)","7(b9b5)":"7(b9b5)","7(no3)":"7(no3)","7aug5":"7aug5","7b9sus4":"7b9sus4","7sus(6)":"7sus(6)","7sus(b9)":"7sus(b9)","7sus4":"7sus4","7sus":"7sus4",dom9:"9","9(#11)":"9(#11)","9#11":"9(#11)","9+11":"9(#11)","9(+11)":"9(#11)","9(#5)":"9(#5)","9#5":"9(#5)","9+5":"9(#5)","9(+5)":"9(#5)",aug9:"9(#5)",x9:"9(#5)","9(b13)":"9(b13)","9b13":"9(b13)","9-13":"9(b13)","9(-13)":"9(b13)","9(b5)":"9(b5)","9b5":"9(b5)","9-5":"9(b5)","9(-5)":"9(b5)","9aug":"9aug","9sus4":"9sus4","9sus":"9sus4",m9sus4:"9sus4",m9sus:"9sus4","b69(#11)":"b69(#11)",b69sus:"b69sus",b9sus:"b9sus",dim:"dim","m(b5)":"dim",mb5:"dim","m-5":"dim","m(-5)":"dim","-(b5)":"dim","-b5":"dim",dim7:"dim7",o7:"dim7",m:"m",mi:"m",min:"m",minor:"m","-":"m","m(11)":"m(11)","m(add11)":"m(11)","m(4)":"m(4)","m(add4)":"m(4)","m(9)":"m(9)","m(add9)":"m(9)","m(ma7)":"m(ma7)","m(M7)":"m(ma7)","mi(maj7)":"m(ma7)","min(maj7)":"m(ma7)","m(maj7)":"m(ma7)","m(+7)":"m(ma7)","m+7":"m(ma7)","m(ma9)":"m(ma9)","m(M9)":"m(ma9)","mi(maj9)":"m(ma9)","min(maj9)":"m(ma9)","m(maj9)":"m(ma9)","m(+9)":"m(ma9)","m+9":"m(ma9)","m(no5)":"m(no5)",m11:"m11",mi11:"m11",min11:"m11","-11":"m11","m11(#5)":"m11(#5)","m11#5":"m11(#5)","m11+5":"m11(#5)","m11(+5)":"m11(#5)","-11(#5)":"m11(#5)","-11#5":"m11(#5)","m9+5":"m9(#5)","-11(+5)":"m11(#5)","m11(#9)":"m11(#9)","m11#9":"m11(#9)","m11+9":"m11(#9)","m11(+9)":"m11(#9)","-11(#9)":"m11(#9)","-11#9":"m11(#9)","-11+9":"m11(#9)","-11(+9)":"m11(#9)","m11(#9#5)":"m11(#9#5)","m11(#5#9)":"m11(#9#5)","m11#5#9":"m11(#9#5)","m11+5+9":"m11(#9#5)","m11(+5+9)":"m11(#9#5)","-11(#5#9)":"m11(#9#5)","-11#5#9":"m11(#9#5)","m9+5+9":"m11(#9#5)","-11(+5+9)":"m11(#9#5)","m11(#9b13)":"m11(#9b13)","m11#9b13":"m11(#9b13)","m11+9-13":"m11(#9b13)","m11(+9-13)":"m11(#9b13)","-11(#9b13)":"m11(#9b13)","-11#9b13":"m11(#9b13)","-11+9-13":"m11(#9b13)","-11(+9-13)":"m11(#9b13)","m11(b13)":"m11(b13)",m11b13:"m11(b13)","m11-13":"m11(b13)","m11(-13)":"m11(b13)","-11(b13)":"m11(b13)","-11b13":"m11(b13)","-11-13":"m11(b13)","-11(-13)":"m11(b13)","m11(b13#5)":"m11(b13#5)","m11(#5b13)":"m11(b13#5)","m11#5b13":"m11(b13#5)","m11+5-13":"m11(b13#5)","m11(+5-13)":"m11(b13#5)","-11(#5b13)":"m11(b13#5)","-11#5b13":"m11(b13#5)","-11+5-13":"m11(b13#5)","-11(+5-13)":"m11(b13#5)","m11(b5)":"m11(b5)",m11b5:"m11(b5)","m11-5":"m11(b5)","m11(-5)":"m11(b5)","-11(b5)":"m11(b5)","-11b5":"m11(b5)","-9-5":"m9(b5)","-11(-5)":"m11(b5)","m11(b5#9)":"m11(b5#9)","m11b5#9":"m11(b5#9)","m11-5+9":"m11(b5#9)","m11(-5+9)":"m11(b5#9)","-11(b5#9)":"m11(b5#9)","-11b5#9":"m11(b5#9)","-11-5+9":"m11(b5#9)","-11(-5+9)":"m11(b5#9)","m11(b5b13)":"m11(b5b13)",m11b5b13:"m11(b5b13)","m11(-5-13)":"m11(b5b13)","m11-5-13":"m11(b5b13)","-11(b5b13)":"m11(b5b13)","-11b5b13":"m11(b5b13)","-11(-5-13)":"m11(b5b13)","-11-5-13":"m11(b5b13)","m11(b5b9)":"m11(b5b9)",m11b5b9:"m11(b5b9)","m11-5-9":"m11(b5b9)","m11(-5-9)":"m11(b5b9)","-11(b5b9)":"m11(b5b9)","-11b5b9":"m11(b5b9)","-11-5-9":"m11(b5b9)","-11(-5-9)":"m11(b5b9)","m11(b9)":"m11(b9)",m11b9:"m11(b9)","m11(-9)":"m11(b9)","m11-9":"m11(b9)","-11(b9)":"m11(b9)","-11b9":"m11(b9)","-11(-9)":"m11(b9)","-11-9":"m11(b9)","m11(b9#5)":"m11(b9#5)","m11(#5b9)":"m11(b9#5)","m11#5b9":"m11(b9#5)","m11+5-9":"m11(b9#5)","m11(+5-9)":"m11(b9#5)","-11(#5b9)":"m11(b9#5)","-11#5b9":"m11(b9#5)","m9+5-9":"m11(b9#5)","-11(+5-9)":"m11(b9#5)","m11(b9b13)":"m11(b9b13)",m11b9b13:"m11(b9b13)","m11(-9-13)":"m11(b9b13)","m11-9-13":"m11(b9b13)","-11(b9b13)":"m11(b9b13)","-11b9b13":"m11(b9b13)","-11(-9-13)":"m11(b9b13)","-11-9-13":"m11(b9b13)",m13:"m13",mi13:"m13",min13:"m13","-13":"m13","m13(#11)":"m13(#11)","m13#11":"m13(#11)","m13+11":"m13(#11)","m13(+11)":"m13(#11)","-13(#11)":"m13(#11)","-13#11":"m13(#11)","-13+11":"m13(#11)","-13(+11)":"m13(#11)","m13(#5)":"m13(#5)","m13#5":"m13(#5)","m13+5":"m13(#5)","m13(+5)":"m13(#5)","-13(#5)":"m13(#5)","-13#5":"m13(#5)","-13(+5)":"m13(#5)","m13(#9)":"m13(#9)","m13#9":"m13(#9)","m13(+9)":"m13(#9)","m13+9":"m13(#9)","-13(#9)":"m13(#9)","-13#9":"m13(#9)","-13(+9)":"m13(#9)","-13+9":"m13(#9)","m13(b5)":"m13(b5)",m13b5:"m13(b5)","m13-5":"m13(b5)","m13(-5)":"m13(b5)","-13(b5)":"m13(b5)","-13b5":"m13(b5)","-13-5":"m13(b5)","-13(-5)":"m13(b5)","m13(b9)":"m13(b9)",m13b9:"m13(b9)","m13-9":"m13(b9)","m13(-9)":"m13(b9)","-13(b13)":"m13(b9)","-13b13":"m13(b9)","-13-13":"m13(b9)","-13(-13)":"m13(b9)",m2:"m2",mi2:"m2",min2:"m2","m(add2)":"m2",madd2:"m2",m4:"m4",m6:"m6",mi6:"m6",min6:"m6","-6":"m6","m6(#5)":"m6(#5)","m6(9)":"m6(9)",m6add9:"m6(9)","m6(add9)":"m6(9)",m69:"m6(9)","m6(ma7)":"m6(ma7)","m6(M7)":"m6(ma7)","m6(+7)":"m6(ma7)",m6M7:"m6(ma7)","m6+7":"m6(ma7)",m7:"m7",mi7:"m7",min7:"m7","-7":"m7","m7(#11)":"m7(#11)","m7#11":"m7(#11)","m7+11":"m7(#11)","m7(+11)":"m7(#11)","-7(#11)":"m7(#11)","-7#11":"m7(#11)","-7+11":"m7(#11)","-7(+11)":"m7(#11)","m7(#5)":"m7(#5)","m7#5":"m7(#5)","m7+5":"m7(#5)","m7(+5)":"m7(#5)","-7(#5)":"m7(#5)","-7#5":"m7(#5)","-7(+5)":"m7(#5)","m7(#9)":"m7(#9)","m7#9":"m7(#9)","m7+9":"m7(#9)","m7(+9)":"m7(#9)","-7(#9)":"m7(#9)","-7#9":"m7(#9)","-7(+9)":"m7(#9)","m7(11)":"m7(11)","m7(4)":"m7(4)","m7(add4)":"m7(4)","m7(add11)":"m7(4)",m74:"m7(4)","m7(6)":"m7(6)","m7(add6)":"m7(add6)","m7(b13)":"m7(b13)",m7b13:"m7(b13)","m7-13":"m7(b13)","m7(-13)":"m7(b13)","-7(b13)":"m7(b13)","-7b13":"m7(b13)","-7-13":"m7(b13)","-7(-13)":"m7(b13)","m7(b5)":"m7(b5)",m7b5:"m7(b5)","m7-5":"m7(b5)","m7(-5)":"m7(b5)","-7(b5)":"m7(b5)","-7b5":"m7(b5)","-7(-5)":"m7(b5)","m7(b9)":"m7(b9)",m7b9:"m7(b9)","m7-9":"m7(b9)","m7(-9)":"m7(b9)","-7(b9)":"m7(b9)","-7b9":"m7(b9)","-7(-9)":"m7(b9)","m7(no3)":"m7(no3)","min7(no3)":"m7(no3)",m7sus4:"m7sus4",m7sus:"m7sus4",m9:"m9",mi9:"m9",min9:"m9","-9":"m9","m9(#11)":"m9(#11)","m9#11":"m9(#11)","m9+11":"m9(#11)","m9(+11)":"m9(#11)","-9(#11)":"m9(#11)","-9#11":"m9(#11)","-9+11":"m9(#11)","-9(+11)":"m9(#11)","m9(#5)":"m9(#5)","m9#5":"m9(#5)","m9(+5)":"m9(#5)","-9(#5)":"m9(#5)","-9#5":"m9(#5)","-9(+5)":"m9(#5)","m9(#7)":"m9(#7)","m9(b13)":"m9(b13)",m9b13:"m9(b13)","m9-13":"m9(b13)","m9(-13)":"m9(b13)","-9(b13)":"m9(b13)","-9b13":"m9(b13)","-9-13":"m9(b13)","-9(-13)":"m9(b13)","m9(b5)":"m9(b5)",m9b5:"m9(b5)","m9-5":"m9(b5)","m9(-5)":"m9(b5)","-9(b5)":"m9(b5)","-9b5":"m9(b5)","-9(-5)":"m9(b5)","m9(ma7)":"m9(ma7)","m9(maj7)":"m9(ma7)","m9(+7)":"m9(ma7)","m9(M7)":"m9(ma7)",m9M7:"m9(ma7)",ma9:"ma9",maj9:"ma9",maj9b11:"maj9b11",ma11:"ma11","11(#7)":"ma11","11#7":"ma11","11+7":"ma11","11(+7)":"ma11","+11":"ma11",M11:"ma11","ma11(#5)":"ma11(#5)","maj11#5":"ma11(#5)","maj11+5":"ma11(#5)","maj11(+5)":"ma11(#5)","+11(#5)":"ma11(#5)","+11#5":"ma11(#5)","M11+5":"ma11(#5)","+11(+5)":"ma11(#5)","maj11(#5)":"ma11(#5)","ma11#5":"ma11(#5)","ma11+5":"ma11(#5)","ma11(+5)":"ma11(#5)","ma11(#9)":"ma11(#9)","maj11#9":"ma11(#9)","maj11+9":"ma11(#9)","maj11(+9)":"ma11(#9)","+11(#9)":"ma11(#9)","+11#9":"ma11(#9)","M11+9":"ma11(#9)","+11(+9)":"ma11(#9)","maj11(#9)":"ma11(#9)","ma11#9":"ma11(#9)","ma11+9":"ma11(#9)","ma11(+9)":"ma11(#9)","ma11(b13)":"ma11(b13)",maj11b13:"ma11(b13)","maj11-13":"ma11(b13)","maj11(-13)":"ma11(b13)","+11(b13)":"ma11(b13)","+11b13":"ma11(b13)","M11-13":"ma11(b13)","+11(-13)":"ma11(b13)","maj11(b13)":"ma11(b13)",ma11b13:"ma11(b13)","ma11-13":"ma11(b13)","ma11(-13)":"ma11(b13)","ma11(b5)":"ma11(b5)",maj11b5:"ma11(b5)","maj11-5":"ma11(b5)","maj11(-5)":"ma11(b5)","+11(b5)":"ma11(b5)","+11b5":"ma11(b5)","M11-5":"ma11(b5)","+11(-5)":"ma11(b5)","maj11(b5)":"ma11(b5)",ma11b5:"ma11(b5)","ma11-5":"ma11(b5)","ma11(-5)":"ma11(b5)","ma11(b9)":"ma11(b9)",maj11b9:"ma11(b9)","maj11(-9)":"ma11(b9)","maj11-9":"ma11(b9)","+11(b9)":"ma11(b9)","+11b9":"ma11(b9)","M11(-9)":"ma11(b9)","+11-9":"ma11(b9)","maj11(b9)":"ma11(b9)",ma11b9:"ma11(b9)","ma11(-9)":"ma11(b9)","ma11-9":"ma11(b9)",ma13:"ma13","13(#7)":"ma13","+13":"ma13",M13:"ma13","ma13(#11)":"ma13(#11)","maj13#11":"ma13(#11)","maj13+11":"ma13(#11)","maj13(+11)":"ma13(#11)","+13(#11)":"ma13(#11)","+13#11":"ma13(#11)","M13+11":"ma13(#11)","+13(+11)":"ma13(#11)","maj13(#11)":"ma13(#11)","ma7#11":"ma9(#11)","ma13+11":"ma13(#11)","ma13(+11)":"ma13(#11)","ma13(#11#5)":"ma13(#11#5)","maj13#11#5":"ma13(#11#5)","maj13+11+5":"ma13(#11#5)","maj13(+11+5)":"ma13(#11#5)","+13(#11#5)":"ma13(#11#5)","+13#11#5":"ma13(#11#5)","M13+11+5":"ma13(#11#5)","+13(+11+5)":"ma13(#11#5)","maj13(#11#5)":"ma13(#11#5)","ma7#11#5":"ma9(#11#5)","ma13+11+5":"ma13(#11#5)","ma13(+11+5)":"ma13(#11#5)","ma13(#5)":"ma13(#5)","maj13#5":"ma13(#5)","maj13+5":"ma13(#5)","maj13(+5)":"ma13(#5)","+13(#5)":"ma13(#5)","+13#5":"ma13(#5)","M13+5":"ma13(#5)","+13(+5)":"ma13(#5)","maj13(#5)":"ma13(#5)","ma13#5":"ma13(#5)","ma13+5":"ma13(#5)","ma13(+5)":"ma13(#5)","ma13(#9)":"ma13(#9)","maj13#9":"ma13(#9)","maj13(+9)":"ma13(#9)","maj13+9":"ma13(#9)","+13(#9)":"ma13(#9)","+13#9":"ma13(#9)","M13(+9)":"ma13(#9)","+13+9":"ma13(#9)","maj13(#9)":"ma13(#9)","ma13#9":"ma13(#9)","ma13(+9)":"ma13(#9)","ma13+9":"ma13(#9)","ma13(#9#5)":"ma13(#9#5)","maj13#9#5":"ma13(#9#5)","maj13(+9+5)":"ma13(#9#5)","maj13+9+5":"ma13(#9#5)","+13(#9#5)":"ma13(#9#5)","+13#9#5":"ma13(#9#5)","M13(+9+5)":"ma13(#9#5)","+13+9+5":"ma13(#9#5)","maj13(#9#5)":"ma13(#9#5)","ma7#9#5":"ma13(#9#5)","ma13(+9+5)":"ma13(#9#5)","ma13+9+5":"ma13(#9#5)","ma13(b5)":"ma13(b5)",maj13b5:"ma13(b5)","maj13-5":"ma13(b5)","maj13(-5)":"ma13(b5)","+13(b5)":"ma13(b5)","+13b5":"ma13(b5)","M13-5":"ma13(b5)","+13(-5)":"ma13(b5)","maj13(b5)":"ma13(b5)",ma13b5:"ma13(b5)","ma13-5":"ma13(b5)","ma13(-5)":"ma13(b5)","ma13(b9)":"ma13(b9)",maj13b9:"ma13(b9)","maj13-9":"ma13(b9)","maj13(-9)":"ma13(b9)","+13(b9)":"ma13(b9)","+13b9":"ma13(b9)","M13-9":"ma13(b9)","+13(-9)":"ma13(b9)","maj13(b9)":"ma13(b9)",ma13b9:"ma13(b9)","ma13-9":"ma13(b9)","ma13(-9)":"ma13(b9)","ma13(b9#5)":"ma13(b9#5)","maj13b9#5":"ma13(b9#5)","maj13-9+5":"ma13(b9#5)","maj13(-9+5)":"ma13(b9#5)","+13(b9#5)":"ma13(b9#5)","+13b9#5":"ma13(b9#5)","M13-9+5":"ma13(b9#5)","+13(-9+5)":"ma13(b9#5)","maj13(b9#5)":"ma13(b9#5)","ma7b9#5":"ma13(b9#5)","ma13-9+5":"ma13(b9#5)","ma13(-9+5)":"ma13(b9#5)",ma6:"ma6","ma6(9)":"ma6(9)",ma69:"ma6(9)",ma7:"ma7","+7":"ma7","#7":"ma7",M7:"ma7",Maj7:"ma7",maj7:"ma7","(triangle)":"ma7","ma7(#11)":"ma7(#11)","maj7#11":"ma7(#11)","maj7+11":"ma7(#11)","maj7(+11)":"ma7(#11)","+7(#11)":"ma7(#11)","+7#11":"ma7(#11)","M7+11":"ma7(#11)","+7(+11)":"ma7(#11)","maj7(#11)":"ma7(#11)","ma7+11":"ma7(#11)","ma7(+11)":"ma7(#11)","ma7(#4)":"ma7(#4)","ma7(#5)":"ma7(#5)","maj7#5":"ma7(#5)","maj7+5":"ma7(#5)","maj7(+5)":"ma7(#5)","+7(#5)":"ma7(#5)","+7#5":"ma7(#5)","M7+5":"ma7(#5)","+7(+5)":"ma7(#5)","maj7(#5)":"ma7(#5)","ma7#5":"ma7(#5)","ma7+5":"ma7(#5)","ma7(+5)":"ma7(#5)","aug(M7)":"ma7(#5)","aug(+7)":"ma7(#5)","aug(ma7)":"ma7(#5)","aug(maj7)":"ma7(#5)","ma7(#9)":"ma7(#9)","maj7#9":"ma7(#9)","maj7+9":"ma7(#9)","maj7(+9)":"ma7(#9)","+7(#9)":"ma7(#9)","+7#9":"ma7(#9)","M7+9":"ma7(#9)","+7(+9)":"ma7(#9)","maj7(#9)":"ma7(#9)","ma7#9":"ma7(#9)","ma7+9":"ma7(#9)","ma7(+9)":"ma7(#9)","ma7(b13)":"ma7(b13)",maj7b13:"ma7(b13)","maj7-13":"ma7(b13)","maj7(-13)":"ma7(b13)","+7(b13)":"ma7(b13)","+7b13":"ma7(b13)","M7-13":"ma7(b13)","+7(-13)":"ma7(b13)","maj7(b13)":"ma7(b13)",ma7b13:"ma9(b13)","ma7-13":"ma7(b13)","ma7(-13)":"ma7(b13)","ma7(b5)":"ma7(b5)",maj7b5:"ma7(b5)","maj7-5":"ma7(b5)","maj7(-5)":"ma7(b5)","+7(b5)":"ma7(b5)","+7b5":"ma7(b5)","M7-5":"ma7(b5)","+7(-5)":"ma7(b5)","maj7(b5)":"ma7(b5)",ma7b5:"ma7(b5)","ma7-5":"ma7(b5)","ma7(-5)":"ma7(b5)","ma7(b9)":"ma7(b9)",maj7b9:"ma7(b9)","maj7-9":"ma7(b9)","maj7(-9)":"ma7(b9)","+7(b9)":"ma7(b9)","+7b9":"ma7(b9)","M7-9":"ma7(b9)","+7(-9)":"ma7(b9)","maj7(b9)":"ma7(b9)",ma7b9:"ma7(b9)","ma7-9":"ma7(b9)","ma7(-9)":"ma7(b9)","ma7(no3)":"ma7(no3)","9(#7)":"ma9","+9":"ma9",M9:"ma9","ma9(#11)":"ma9(#11)","maj9#11":"ma9(#11)","maj9+11":"ma9(#11)","maj9(+11)":"ma9(#11)","+9(#11)":"ma9(#11)","+9#11":"ma9(#11)","M9+11":"ma9(#11)","+9(+11)":"ma9(#11)","maj9(#11)":"ma9(#11)","ma9+11":"ma9(#11)","ma9(+11)":"ma9(#11)","ma9(#11#5)":"ma9(#11#5)","maj9#11#5":"ma9(#11#5)","maj9+11+5":"ma9(#11#5)","maj9(+11+5)":"ma9(#11#5)","+9(#11#5)":"ma9(#11#5)","+9#11#5":"ma9(#11#5)","M9+11+5":"ma9(#11#5)","+9(+11+5)":"ma9(#11#5)","maj9(#11#5)":"ma9(#11#5)","ma9+11+5":"ma9(#11#5)","ma9(+11+5)":"ma9(#11#5)","ma9(#4)":"ma9(#4)","ma9(#5)":"ma9(#5)","maj9#5":"ma9(#5)","maj9+5":"ma9(#5)","maj9(+5)":"ma9(#5)","+9(#5)":"ma9(#5)","+9#5":"ma9(#5)","M9+5":"ma9(#5)","+9(+5)":"ma9(#5)","maj9(#5)":"ma9(#5)","ma9#5":"ma9(#5)","ma9+5":"ma9(#5)","ma9(+5)":"ma9(#5)","ma9(13)":"ma9(13)","ma9(b13)":"ma9(b13)",maj9b13:"ma9(b13)","maj9-13":"ma9(b13)","maj9(-13)":"ma9(b13)","+9(b13)":"ma9(b13)","+9b13":"ma9(b13)","M9-13":"ma9(b13)","+9(-13)":"ma9(b13)","maj9(b13)":"ma9(b13)","ma9-13":"ma9(b13)","ma9(-13)":"ma9(b13)","ma9(b13#5)":"ma9(b13#5)","maj9b13#5":"ma9(b13#5)","maj9-13+5":"ma9(b13#5)","maj9(-13+5)":"ma9(b13#5)","+9(b13#5)":"ma9(b13#5)","+9b13#5":"ma9(b13#5)","M9-13+5":"ma9(b13#5)","+9(-13+5)":"ma9(b13#5)","maj9(b13#5)":"ma9(b13#5)","ma7b13#5":"ma9(b13#5)","ma9-13+5":"ma9(b13#5)","ma9(-13+5)":"ma9(b13#5)","ma9(b5)":"ma9(b5)",maj9b5:"ma9(b5)","maj9-5":"ma9(b5)","maj9(-5)":"ma9(b5)","+9(b5)":"ma9(b5)","+9b5":"ma9(b5)","M9-5":"ma9(b5)","+9(-5)":"ma9(b5)","maj9(b5)":"ma9(b5)",ma9b5:"ma9(b5)","ma9-5":"ma9(b5)","ma9(-5)":"ma9(b5)",sus:"sus",sus4:"sus","sus(no5)":"sus(no5)","sus#42":"sus#42","":""};var UL=sI;const cI=t=>t.items.some(r=>r instanceof oe&&!!r.chords),xw=t=>t.items.some(r=>r instanceof oe&&(r.chords||r.annotation)),kM=t=>"evaluate"in t&&typeof t.evaluate=="function",Jp=(t,r)=>{let e=t;for(let m=t.length;m!!t&&t.length>0;function tI(t){return t.replace(/[A-Z]/g,r=>`-${r.toLowerCase()}`)}function fI(t,r=""){return Object.entries(t).map(([e,m])=>{const j=Object.entries(m).map(([w,P])=>`${tI(w)}: ${P};`).join(` - `);return` -${`${r} ${e}`.trim()} { - ${j} -}`.substring(1)}).join(` - -`)}function Sw(t){const r=globalThis.process;typeof r=="object"&&typeof r.emitWarning=="function"?r.emitWarning(t):console.warn(t)}function oI(t){try{throw new Error(`DEPRECATION: ${t}`)}catch(r){Sw(`${t} -${r.stack}`)}}function n0(t){return t==null||t===""}function rI(t,r,e){switch(r){case ss:return typeof t=="string"&&t.toLowerCase()===t;default:return typeof e=="string"&&e[0]==="m"&&e.substring(0,2).toLowerCase()!=="ma"&&e.substring(0,3).toLowerCase()!=="maj"}}function BM(t){return t.replace(/\r\n?/g,` -`)}class iI{constructor(r){this.grades=r}determineGrade(r,e,m){return this.getGradeForModifier(r,m)||this.getGradeForModifier(ee,m)||this.getGradeForModifier(e,m)||this.getGradeForModifier(J,m)}getGradeForModifier(r,e){return r?this.grades[r][e]:null}}function aI({type:t,modifier:r,preferredModifier:e,grade:m,minor:j}){const y=j?Re:Pe,w=JA[t][y];return new iI(w).determineGrade(r,e,m)}function lI({type:t,modifier:r,preferredModifier:e,grade:m,minor:j}){let y=aI({type:t,modifier:r,preferredModifier:e,grade:m,minor:j});if(!y)throw new Error(`Could not resolve - type=${t} - modifier=${r} - grade=${m} - preferredModifier=${e} - minor=${j} -to a key`);return j&&t===ss&&(y=y.toLowerCase()),y}function jm(t){return t===null||UL[t]==="[blank]"?null:UL[t]||t}const nI={symbol:/^(?((?[A-Ga-g])(?#|b)?))(?m)?$/,solfege:/^(?((?Do|Re|Mi|Fa|Sol|La|Si|do|re|mi|fa|sol|la|si)(?#|b)?))(?m)?$/,numeric:/^(?(?#|b)?(?[1-7]))(?m)?$/,numeral:/^(?(?#|b)?(?I{1,3}|IV|VI{0,2}|i{1,3}|iv|vi{0,2}))$/},KL=[Qe,es,Fe,ss],$I=[1,2,3,4,5,8,9,10],gI=[4,11],bI=[1,4],mI=[5,0],pI=[3,7];class X{get unicodeModifier(){switch(this.modifier){case Q:return"♭";case J:return"♯";default:return null}}static parse(r){if(!r)return null;const e=r.trim();if(!e)return null;for(let m=0,j=KL.length;mm===j)+1}static keyWithModifier(r,e,m){const j=r.toUpperCase(),y=e||"";return m===es?`${r.charAt(0).toUpperCase()+r.slice(1).toLowerCase()}${y}`:m===Qe?`${j}${y}`:`${y}${j}`}static toGrade(r,e,m,j){const y=j?Re:Pe,w=YA[m][y][e];if(r in w)return w[r];const P=r.toUpperCase();return P in w?w[P]:null}static isMinor(r,e,m){switch(e){case"numeral":return r.toLowerCase()===r;default:switch(typeof m){case"string":return m==="m"||m.toLowerCase()==="min";case"boolean":return m;default:return!1}}}static parseOrFail(r){const e=this.parse(r);if(!e)throw new Error(`Failed to parse ${r}`);return e}static wrap(r){return r instanceof X?r:r===null?null:this.parse(r)}static wrapOrFail(r=null){if(r===null)throw new Error("Unexpected null key");const e=this.wrap(r);if(e===null)throw new Error(`Failed: invalid key ${r}`);return e}static toString(r){return`${X.wrapOrFail(r)}`}static distance(r,e){return this.wrapOrFail(r).distanceTo(e)}constructor({grade:r=null,number:e=null,minor:m,type:j,modifier:y,referenceKeyGrade:w=null,originalKeyString:P=null,preferredModifier:G=null}){this.number=null,this.minor=!1,this.referenceKeyGrade=null,this.originalKeyString=null,this.grade=r,this.number=e,this.minor=m,this.type=j,this.modifier=y,this.preferredModifier=G,this.referenceKeyGrade=w,this.originalKeyString=P}distanceTo(r){const e=X.wrapOrFail(r);return X.shiftGrade(e.effectiveGrade-this.effectiveGrade)}get effectiveGrade(){if(this.grade===null)throw new Error("Cannot calculate effectiveGrade without a grade");return X.shiftGrade(this.grade+(this.referenceKeyGrade||0))}isMinor(){return this.minor}makeMinor(){return this.set({minor:!0})}get relativeMajor(){return this.changeGrade(3).set({minor:!1})}get relativeMinor(){return this.changeGrade(-3).set({minor:!0})}toMajor(){return this.isMinor()?this.transpose(3).set({minor:!1}):this.clone()}clone(){return this.set({})}ensureGrade(){this.grade===null&&this.calculateGradeFromNumber()}calculateGradeFromNumber(){if(this.number===null)throw new Error("Cannot calculate grade, number is null");this.grade=X.toGrade(this.number.toString(),this.modifier||ee,Fe,this.isMinor()),this.number=null}toChordSymbol(r){if(this.isChordSymbol())return this.clone();const{modifier:e}=this;this.ensureGrade();const m=X.wrapOrFail(r),y=this.set({referenceKeyGrade:X.shiftGrade(this.effectiveGrade+m.effectiveGrade),grade:0,type:Qe,modifier:null,preferredModifier:e||m.modifier}).normalizeEnharmonics(m);return e?y.set({preferredModifier:e,modifier:null}):y}toChordSolfege(r){if(this.isChordSolfege())return this.clone();const{modifier:e}=this;this.ensureGrade();const m=X.wrapOrFail(r),y=this.set({referenceKeyGrade:X.shiftGrade(this.effectiveGrade+m.effectiveGrade),grade:0,type:es,modifier:null,preferredModifier:e||m.modifier}).normalizeEnharmonics(m);return e?y.set({preferredModifier:e,modifier:null}):y}toChordSymbolString(r){return this.toChordSymbol(r).toString()}toChordSolfegeString(r){return this.toChordSolfege(r).toString()}is(r){return this.type===r}isNumeric(){return this.is(Fe)}isChordSymbol(){return this.is(Qe)}isChordSolfege(){return this.is(es)}isNumeral(){return this.is(ss)}equals(r){return this.grade===r.grade&&this.number===r.number&&this.modifier===r.modifier&&this.preferredModifier===r.preferredModifier&&this.type===r.type&&this.minor===r.minor}static equals(r,e){return r===null?e===null:e===null?!1:r.equals(e)}toNumeric(r=null){if(this.isNumeric())return this.clone();if(this.isNumeral())return this.set({type:Fe});const e=X.wrapOrFail(r),m=e.effectiveGrade;return this.set({type:Fe,grade:X.shiftGrade(this.effectiveGrade-m),referenceKeyGrade:0,modifier:null,preferredModifier:e.modifier})}toNumericString(r=null){return this.toNumeric(r).toString()}toNumeral(r=null){if(this.isNumeral())return this.clone();if(this.isNumeric())return this.set({type:ss});const e=X.wrapOrFail(r),m=e.effectiveGrade;return this.set({type:ss,grade:X.shiftGrade(this.effectiveGrade-m),referenceKeyGrade:0,modifier:null,preferredModifier:e.modifier||this.modifier})}toNumeralString(r=null){return this.toNumeral(r).toString()}toString({showMinor:r=!0,useUnicodeModifier:e=!1}={}){let{note:m}=this;return e&&(m=m.replace("#","♯").replace("b","♭")),`${m}${r?this.minorSign:""}`}get note(){if(this.grade===null)return this.getNoteForNumber();if((this.isChordSymbol()||this.isChordSolfege())&&this.referenceKeyGrade===null)throw new Error("Not possible, reference key grade is null");return lI({type:this.type,modifier:this.modifier,preferredModifier:this.preferredModifier,grade:this.effectiveGrade,minor:this.minor})}getNoteForNumber(){if(this.number===null)throw new Error("Not possible, grade and number are null");if(this.isNumeric())return`${this.modifier||""}${this.number}`;const r=HL[this.number-1];return`${this.modifier||""}${this.isMinor()?r.toLowerCase():r}`}get minorSign(){if(!this.minor)return"";switch(this.type){case Qe:return"m";case es:return"m";case Fe:return this.isNaturalMinor()?"":"m";default:return""}}isNaturalMinor(){if(this.ensureGrade(),!this.grade)throw new Error("Expected grade to be set, but it is is still empty.");return $I.includes(this.grade)}transpose(r){if(r===0)return this;const e=this.modifier;let m=this.clone();const j=r<0?"transposeDown":"transposeUp";for(let y=0,w=Math.abs(r);yy.toNumeric());const e=ge.wrap(r);return new Te({suffix:jm(this.suffix),root:((m=this.root)==null?void 0:m.toNumeric(e))||null,bass:((j=this.bass)==null?void 0:j.toNumeric(e))||null})}toNumeral(r=null){var m;if(this.isNumeral())return this.clone();if(this.isNumeric())return this.transform(j=>j.toNumeral());const e=ge.wrapOrFail(r);return new Te({suffix:jm(this.suffix),root:e&&this.root?this.root.toNumeral(e):null,bass:((m=this.bass)==null?void 0:m.toNumeral(e))||null})}toNumeralString(r=null){return this.toNumeral(r).toString()}isNumeric(){return this.is(Fe)}toNumericString(r=null){return this.toNumeric(r).toString()}isNumeral(){return this.is(ss)}toString({useUnicodeModifier:r=!1}={}){let e="";const m=this.suffix||"",j=m[0]!=="m";return this.root&&(e=this.root.toString({showMinor:j,useUnicodeModifier:r})+m),this.bass?`${e}/${this.bass.toString({useUnicodeModifier:r})}`:e}normalize(r=null,{normalizeSuffix:e=!0}={}){const m=e?jm(this.suffix):this.suffix;let j=this.root;return this.root&&(j=this.root.normalize(),r&&(j=j.normalizeEnharmonics(r))),this.set({suffix:m,root:j,bass:this.bass?this.bass.normalize().normalizeEnharmonics(j):null})}useModifier(r){return this.transform(e=>e.useModifier(r))}transposeUp(){return this.transform(r=>r.transposeUp())}transposeDown(){return this.transform(r=>r.transposeDown())}transpose(r){return this.transform(e=>e.transpose(r))}constructor({base:r=null,modifier:e=null,suffix:m=null,bassBase:j=null,bassModifier:y=null,root:w=null,bass:P=null,chordType:G=null}){this.suffix=m||null,this.root=Te.determineRoot({root:w,base:r,modifier:e,suffix:m,chordType:G}),this.bass=Te.determineBass({bass:P,bassBase:j,bassModifier:y,chordType:G})}equals(r){return this.suffix===r.suffix&&ge.equals(this.root,r.root)&&ge.equals(this.bass,r.bass)}static determineRoot({root:r,base:e,modifier:m,suffix:j,chordType:y}){if(r)return r;if(!e)return null;if(!y)throw new Error("Can't resolve at this point without a chord type");return ge.resolve({key:e,keyType:y,minor:rI(e,y,j),modifier:m})}static determineBass({bass:r,bassBase:e,bassModifier:m,chordType:j}){if(r)return r;if(!e)return null;if(!j)throw new Error("Can't resolve at this point without a chord type");return ge.resolve({key:e,modifier:m||null,minor:!1,keyType:j})}isMinor(){var r;return((r=this.root)==null?void 0:r.isMinor())||!1}makeMinor(){var r;return this.set({root:((r=this.root)==null?void 0:r.makeMinor())||null})}set(r){var e,m;return new Te({root:((e=this.root)==null?void 0:e.clone())||null,suffix:this.suffix,bass:((m=this.bass)==null?void 0:m.clone())||null,...r})}is(r){return(!this.root||this.root.is(r))&&(!this.bass||this.bass.is(r))}transform(r){return this.set({root:this.root?r(this.root):null,bass:this.bass?r(this.bass):null})}}var Sm=Te;const vw={separator:","};class dI{constructor(r=vw){this.separator=r.separator}}var hI=dI;const ym=t=>t,SM={evaluate:!1,metadata:vw,key:null,expandChorusDirective:!1,useUnicodeModifiers:!1,normalizeChords:!0,delegates:{abc:ym,ly:ym,tab:ym,grid:ym}};class jI{constructor(r=SM){const e={...SM,...r};this.evaluate=e.evaluate,this.expandChorusDirective=e.expandChorusDirective,this.useUnicodeModifiers=e.useUnicodeModifiers,this.normalizeChords=e.normalizeChords,this.metadata=new hI(r.metadata),this.key=r.key?ge.wrap(r.key):null,this.delegates={...SM.delegates,...r.delegates},this.configuration={configuration:r,delegates:this.delegates}}get(r){return qA(this,r)}}var yI=jI;class xI{constructor(r={}){this.configuration=new yI(r||{})}}var $0=xI;class CI{constructor(r=null){this.line=null,this.column=null,this.offset=null,r&&(this.line=r.line||null,this.column=r.column||null,this.offset=r.offset||null)}}var Mw=CI;const Lw="album",SI="arranger",ww="artist",vm="capo",VM="comment",Ew="composer",Aw="copyright",Iw="duration",Tw="end_of_abc",WM="end_of_bridge",Mm="end_of_chorus",HM="end_of_grid",Fw="end_of_ly",UM="end_of_tab",g0="end_of_verse",a1="key",_w="_key",Rw="lyricist",vI="sorttitle",KM="start_of_abc",b0="start_of_bridge",b1="start_of_chorus",m0="start_of_grid",qM="start_of_ly",p0="start_of_tab",Lm="start_of_verse",ZM="subtitle",Pw="tempo",Dw="time",XM="title",MI="transpose",Nw="new_key",Gw="year",Qp="chordfont",e0="chordsize",EM="chordcolour",s0="textfont",c0="textsize",AM="textcolour",Ow="chorus",zw="chord_style",LI="cf",wI="cs",EI="c",AI="eob",II="eoc",TI="eog",FI="eot",_I="eov",RI="nk",PI="sob",DI="soc",NI="sog",GI="sot",OI="sov",zI="st",kI="tf",BI="ts",VI="t",WI=[VM],HI=[Lw,SI,ww,vm,zw,Ew,Aw,Iw,a1,Rw,vI,ZM,Pw,Dw,XM,Gw],UI=[_w],KI=[Tw,WM,Mm,HM,Fw,UM,g0],qI=[KM,b0,b1,m0,qM,p0,Lm],ZI=[Qp,e0,EM,s0,c0,AM],XI=[Ow,KM,b0,b1,m0,qM,p0,Lm],qL={[LI]:Qp,[wI]:e0,[EI]:VM,[AI]:WM,[II]:Mm,[TI]:HM,[FI]:UM,[_I]:g0,[RI]:Nw,[PI]:b0,[DI]:b1,[NI]:m0,[GI]:p0,[OI]:Lm,[zI]:ZM,[kI]:s0,[BI]:c0,[VI]:XM},YI=/^([^:\s]+)(:?\s*(.+))?$/,JI=/^x_(.+)$/;function ZL(t){return UI.includes(t)}const QI=t=>{if(!t)return t;const r=t.trim();return r in qL?qL[r]:r};class r1 extends Mw{constructor(r,e=null,m=null){super(m),this._isMetaTag=!1,this._originalName="",this._name="",this._value="",this.parseNameValue(r,e)}parseNameValue(r,e){r==="meta"?this.parseMetaTag(e):(this.name=r,this.value=e||"")}parseMetaTag(r){if(!r)throw new Error("Expected value");const[e,m]=r.split(/\s(.+)/);this.name=e,this.value=m||"",this._isMetaTag=!0}static parse(r){return r instanceof r1?r:this.parseWithRegex(r,YI)}static parseWithRegex(r,e){const m=r.match(e);return m!==null?new r1(m[1],m[3]||null):null}static parseOrFail(r){const e=this.parse(r);if(!e)throw new Error(`Failed to parse ${r}`);return e}isSectionDelimiter(){return this.isSectionStart()||this.isSectionEnd()}isSectionStart(){return qI.includes(this.name)}isSectionEnd(){return KI.includes(this.name)}isInlineFontTag(){return ZI.includes(this.name)}set name(r){this._name=QI(r),this._originalName=r}get name(){return this._name.trim()}get originalName(){return this._originalName.trim()}set value(r){this._value=r||""}get value(){return`${this._value}`.trim()}hasValue(){return this.value.length>0}isRenderable(){return WI.includes(this.name)||this.hasRenderableLabel()}hasRenderableLabel(){return XI.includes(this.name)&&this.hasValue()}isMetaTag(){return this._isMetaTag||JI.test(this.name)||HI.indexOf(this.name)!==-1}clone(){return new r1(this._originalName,this.value)}toString(){return`Tag(name=${this.name}, value=${this.value})`}set({value:r}){return new r1(this._originalName,r)}}var U=r1;class eT extends Error{constructor(r,e=null,m=null,j=null){super(`${r} on line ${e} column ${m}`),this.line=null,this.column=null,this.offset=null,this.name="ExpressionError",this.line=e,this.column=m,this.offset=j}}var sT=eT;class cT extends Mw{}var YM=cT;class JM extends YM{constructor(r,e=null){super(),this.expressions=[],this.expressions=r,this.variable=e}evaluate(r,e){return this.expressions.map(m=>m.evaluate(r,e,this.variable)).join("")}isRenderable(){return!0}clone(){return new JM(this.expressions.map(r=>r.clone()),this.variable)}}var IM=JM;class QM extends YM{constructor({variable:r=null,valueTest:e=null,trueExpression:m=[],falseExpression:j=[],line:y=null,column:w=null,offset:P=null}){super({line:y,column:w,offset:P}),this.trueExpression=[],this.falseExpression=[],this.variable=r||null,this.valueTest=e||null,this.trueExpression=m,this.falseExpression=j}evaluate(r,e,m=null){if(this.variable)return this.evaluateWithVariable(r,e);if(!m)throw new sT("Unexpected empty expression",this.line,this.column,this.offset);return this.evaluateToString(r.get(m)||"",e)}evaluateToString(r,e){return Array.isArray(r)?r.join(e):r}evaluateWithVariable(r,e){if(!this.variable)throw new Error("Expected this.variable to be present");const m=r.get(this.variable);return m&&(n0(this.valueTest)||m===this.valueTest)?this.evaluateForTruthyValue(r,e,m):this.falseExpression.length?new IM(this.falseExpression,this.variable).evaluate(r,e):""}evaluateForTruthyValue(r,e,m){return this.trueExpression.length?new IM(this.trueExpression,this.variable).evaluate(r,e):this.evaluateToString(m,e)}isRenderable(){return!0}clone(){return new QM({variable:this.variable,valueTest:this.valueTest,trueExpression:this.trueExpression.map(r=>r.clone()),falseExpression:this.falseExpression.map(r=>r.clone()),line:this.line,column:this.column,offset:this.offset})}}var Cm=QM;class eL extends YM{constructor(r){super(),this.string=r}evaluate(){return this.string}isRenderable(){return!0}clone(){return new eL(this.string)}}var Ds=eL;class sL{constructor(r){this.content=r}isRenderable(){return!1}clone(){return new sL(this.content)}toString(){return`Comment(content=${this.content})`}}var bt=sL;class cL{clone(){return new cL}}var t0=cL;class tT extends $0{format(r){const{lines:e,metadata:m}=r;return e.map(j=>this.formatLine(j,m)).join(` -`)}formatLine(r,e){return r.items.map(m=>this.formatItem(m,e)).join("")}formatItem(r,e){if(r instanceof U)return this.formatTag(r);if(r instanceof oe)return this.formatChordLyricsPair(r);if(r instanceof bt)return this.formatComment(r);if(r instanceof t0)return"\\ ";if("evaluate"in r)return this.formatOrEvaluateItem(r,e);throw new Error(`Don't know how to format a ${r}`)}formatOrEvaluateItem(r,e){if(this.configuration.evaluate)return r.evaluate(e,this.configuration.get("metadata.separator"));if(r instanceof Cm)return this.formatTernary(r);if(r instanceof Ds)return r.evaluate();throw new Error(`Don't know how to format a ${r.constructor.name}`)}formatTernary(r){const{variable:e,valueTest:m,trueExpression:j,falseExpression:y}=r;return["%{",e||"",this.formatValueTest(m),this.formatExpressionRange(j),this.formatExpressionRange(y),"}"].join("")}formatValueTest(r){return r?`=${r}`:""}formatExpressionRange(r){return r.length?`|${r.map(e=>this.formatExpression(e)).join("")}`:""}formatExpression(r){return r instanceof Cm?this.formatTernary(r):r instanceof Ds?r.string:""}formatTag(r){return r.hasValue()?`{${r.originalName}: ${r.value}}`:`{${r.originalName}}`}formatChordLyricsPair(r){return[this.formatChordLyricsPairChords(r),this.formatChordLyricsPairLyrics(r)].join("")}formatChordLyricsPairChords(r){if(r.chords){const e=Sm.parse(r.chords);return e?`[${this.configuration.normalizeChords?e.normalize():e}]`:`[${r.chords}]`}return r.annotation?`[*${r.annotation}]`:""}formatChordLyricsPairLyrics(r){return r.lyrics||""}formatComment(r){return`#${r.content}`}}var fT=tT;function oT(t){return t.replace(/\n$/,"").split(` -`)}function Xp(t){return{type:"line",items:t}}function rT(t,r,e){return[Xp([t]),...oT(e).map(m=>Xp([m])),Xp([r])]}function XL(t,r,e){return{type:"tag",name:t,value:r||"",location:e.start}}function iT(t,r,e,m=j=>j){const j=new RegExp(r,"g"),y=Array.from(t.matchAll(j)),w=[];let P=0;y.forEach(I=>{const v=t.slice(P,I.index);v!==""&&w.push(m(v)),w.push(e(I[0])),P=I.index+I[0].length});const G=t.slice(P);return G!==""&&w.push(m(G)),w}function kw(t){return iT(t," ",()=>({type:"softLineBreak"}),r=>({type:"chordLyricsPair",chords:"",lyrics:r}))}function aT(t,r){const e=kw(r||""),[m,...j]=e;let y=e[0],w=null;return t!==""&&(!y||y.type==="softLineBreak"?w={type:"chordLyricsPair",chords:t,lyrics:""}:y={...y,chords:t}),[w,y||null,...j].filter(P=>P!==null)}function vM(t,r,e){return e=e||" ",t.length>r?t:(r-=t.length,e+=e.repeat(r),t+e.slice(0,r))}class l1 extends Error{static buildMessage(r,e){function m(I){return I.charCodeAt(0).toString(16).toUpperCase()}function j(I){return I.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function y(I){return I.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function w(I){switch(I.type){case"literal":return'"'+j(I.text)+'"';case"class":const v=I.parts.map(_=>Array.isArray(_)?y(_[0])+"-"+y(_[1]):y(_));return"["+(I.inverted?"^":"")+v+"]";case"any":return"any character";case"end":return"end of input";case"other":return I.description}}function P(I){const v=I.map(w);let _,K;if(v.sort(),v.length>0){for(_=1,K=1;_ `+w+` -`+G+` | -`+y.line+" | "+I+` -`+G+" | "+vM("",y.column-1," ")+vM("",v-y.column,"^")}else e+=` - at `+w}return e}}function lT(t,r){r=r!==void 0?r:{};const e={},m=r.grammarSource,j={ChordSheet:qt};let y=qt;const w=function(g,p){return{type:"chordSheet",lines:[...g,p].flat()}},P=function(g){return g},G=function(g,p,h,d){return Xp([g?{type:"chordLyricsPair",chords:"",lyrics:g}:null,...p.flat(),h?{type:"chordLyricsPair",chords:h,lyrics:""}:null,d?{type:"comment",comment:d}:null].filter(S=>S))},I=function(g){return kw(g)},v="#",_=k("#",!1),K=/^[^\r\n]/,me=ne(["\r",` -`],!0,!1),q=function(g){return g},V=function(g,p,h){return{type:"chordLyricsPair",annotation:g||"",lyrics:p+(h||"")}},je=function(g,p,h){const d=p.map(S=>S.char||S).join("")+(h||"");return aT(g||"",d)},De=function(g){return g.map(p=>p.char||p).join("")},H="[*",ue=k("[*",!1),ye="]",pe=k("]",!1),ve=function(g){return g.map(p=>p.char||p).join("")},dt="[",ht=k("[",!1),m1=function(g){return g.map(p=>p.char||p).join("")},p1=/^[^\]\r\n]/,u1=ne(["]","\r",` -`],!0,!1),cs="\\",ts=k("\\",!1),d1=function(){return{type:"char",char:"\\"}},h1=function(){return{type:"char",char:"]"}},Gs=function(g){return g},jt="%{",j1=k("%{",!1),se="}",ce=k("}",!1),y1=function(g,p,h){return{type:"ternary",variable:g.length>0?g:null,valueTest:p,...h,location:Ae().start}},x1="=",C1=k("=",!1),S1=function(g){return g},fs="|",os=k("|",!1),v1=function(g,p){return{type:"ternary",trueExpression:g,falseExpression:p,location:Ae().start}},M1=function(g){return g},Os=/^[a-zA-Z0-9\-_]/,rs=ne([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),zs=function(){return{type:"char",char:"]"}},ks=function(){return{type:"char",char:"|"}},is=function(){return{type:"char",char:"}"}},L1=/^[^|[\]\\{}%#\r\n\t ]/,yt=ne(["|","[","]","\\","{","}","%","#","\r",` -`," "," "],!0,!1),Bs=function(){return{type:"char",char:"\\"}},Vs=function(){return{type:"char",char:"["}},ae="{",re=k("{",!1),xt=function(){return{type:"char",char:"{"}},Ct="%",w1=k("%",!1),St=function(){return{type:"char",char:"%"}},E1=function(){return{type:"char",char:"#"}},vt=" ",A1=k(" ",!1),Mt=function(){return{type:"char",char:r!=null&&r.softLineBreaks?" ":" "}},Lt="chord",wt=k("chord",!1),Et="define",Ne=k("define",!1),Ge=":",as=k(":",!1),I1=function(g,p){const{text:h,...d}=p;return{type:"tag",name:g,value:h,chordDefinition:d,location:Ae().start}},Ws=/^[A-Za-z0-9]/,At=ne([["A","Z"],["a","z"],["0","9"]],!1,!1),Hs="base-fret",T1=k("base-fret",!1),Us="frets",Ks=k("frets",!1),It=function(g,p,h,d){return{name:g,baseFret:p,frets:h,fingers:d,text:fc()}},Tt="fingers",Ft=k("fingers",!1),F1=function(g){return g},_t=function(g){return g},Rt=/^[1-9]/,qs=ne([["1","9"]],!1,!1),Pt=function(g){return parseInt(g,10)},Zs=function(g){return g},_1="0",Dt=k("0",!1),R1=function(){return 0},Xs="-1",P1=k("-1",!1),Nt=/^[Nx]/,D1=ne(["N","x"],!1,!1),Gt=function(g,p){return{type:"tag",name:g,value:p,location:Ae().start}},N1=function(g){return g.map(p=>p.char||p).join("")},Ys=/^[a-zA-Z\-_]/,Ot=ne([["a","z"],["A","Z"],"-","_"],!1,!1),zt=/^[^}\\\r\n]/,G1=ne(["}","\\","\r",` -`],!0,!1),kt=Oe("whitespace"),Bt=Oe("optional whitespace"),Vt=/^[ \t\n\r]/,O1=ne([" "," ",` -`,"\r"],!1,!1),Wt=Oe("space"),Ht=/^[ \t]/,ls=ne([" "," "],!1,!1),z1=/^[\n\r]/,Js=ne([` -`,"\r"],!1,!1),k1=` -`,Qs=k(` -`,!1),B1="\r",ec=k("\r",!1),ns=function(g,p,h){return rT(g,h,p)},$s="start_of_abc",V1=k("start_of_abc",!1),Ee=function(g,p){return XL(g,p,Ae())},Ut="end_of_abc",sc=k("end_of_abc",!1),gs=function(g){return XL(g,null,Ae())},bs="start_of_grid",W1=k("start_of_grid",!1),ms="sog",H1=k("sog",!1),ps="end_of_grid",U1=k("end_of_grid",!1),us="eog",K1=k("eog",!1),ds="start_of_ly",q1=k("start_of_ly",!1),hs="end_of_ly",Z1=k("end_of_ly",!1),js="start_of_tab",X1=k("start_of_tab",!1),ys="sot",Y1=k("sot",!1),xs="end_of_tab",J1=k("end_of_tab",!1),Cs="eot",Q1=k("eot",!1),cc=oc();let b=0,R=0;const Ss=[{line:1,column:1}];let le=0,tc=[],M=0,vs;if(r.startRule!==void 0){if(!(r.startRule in j))throw new Error(`Can't start parsing from rule "`+r.startRule+'".');y=j[r.startRule]}function fc(){return t.substring(R,b)}function Ae(){return ze(R,b)}function k(g,p){return{type:"literal",text:g,ignoreCase:p}}function ne(g,p,h){return{type:"class",parts:g,inverted:p,ignoreCase:h}}function oc(){return{type:"any"}}function ef(){return{type:"end"}}function Oe(g){return{type:"other",description:g}}function Kt(g){let p=Ss[g],h;if(p)return p;for(h=g-1;!Ss[h];)h--;for(p=Ss[h],p={line:p.line,column:p.column};hle&&(le=b,tc=[]),tc.push(g))}function rc(g,p,h){return new l1(l1.buildMessage(g,p),g,p,h)}function qt(){let g,p,h;for(g=b,p=[],h=Ms();h!==e;)p.push(h),h=Ms();return p!==e?(h=Zt(),h===e&&(h=null),h!==e?(R=g,p=w(p,h),g=p):(b=g,g=e)):(b=g,g=e),g}function Ms(){let g,p,h;return g=b,p=Zt(),p!==e?(h=We(),h!==e?(R=g,p=P(p),g=p):(b=g,g=e)):(b=g,g=e),g}function Zt(){let g;return g=Cc(),g===e&&(g=ic()),g}function ic(){let g,p,h,d,S,C,E;if(g=b,p=b,h=Ls(),h===e&&(h=null),h!==e?p=t.substring(p,b):p=h,p!==e){for(h=[],d=Xt();d!==e;)h.push(d),d=Xt();if(h!==e)if(d=Es(),d===e&&(d=null),d!==e)if(S=ac(),S===e&&(S=null),S!==e){for(C=[],E=be();E!==e;)C.push(E),E=be();C!==e?(R=g,p=G(p,h,d,S),g=p):(b=g,g=e)}else b=g,g=e;else b=g,g=e;else b=g,g=e}else b=g,g=e;return g}function Xt(){let g,p;return g=bc(),g===e&&(g=hc(),g===e&&(g=sf(),g===e&&(g=lc(),g===e&&(g=ke(),g===e&&(g=b,p=Ls(),p!==e&&(R=g,p=I(p)),g=p))))),g}function ac(){let g,p,h,d,S,C;if(g=b,p=be(),p===e&&(p=null),p!==e)if(t.charCodeAt(b)===35?(h=v,b++):(h=e,M===0&&T(_)),h!==e){for(d=b,S=[],K.test(t.charAt(b))?(C=t.charAt(b),b++):(C=e,M===0&&T(me));C!==e;)S.push(C),K.test(t.charAt(b))?(C=t.charAt(b),b++):(C=e,M===0&&T(me));S!==e?d=t.substring(d,b):d=S,d!==e?(R=g,p=q(d),g=p):(b=g,g=e)}else b=g,g=e;else b=g,g=e;return g}function sf(){let g,p,h,d,S,C;if(g=b,p=cf(),p!==e){for(h=b,d=[],S=Ls();S!==e;)d.push(S),S=Ls();if(d!==e?h=t.substring(h,b):h=d,h!==e){for(d=b,S=[],C=be();C!==e;)S.push(C),C=be();S!==e?d=t.substring(d,b):d=S,d!==e?(R=g,p=V(p,h,d),g=p):(b=g,g=e)}else b=g,g=e}else b=g,g=e;return g}function lc(){let g,p,h,d,S,C;if(g=b,p=Es(),p!==e){for(h=[],d=gc();d!==e;)h.push(d),d=gc();if(h!==e){for(d=b,S=[],C=be();C!==e;)S.push(C),C=be();S!==e?d=t.substring(d,b):d=S,d!==e?(R=g,p=je(p,h,d),g=p):(b=g,g=e)}else b=g,g=e}else b=g,g=e;return g}function Ls(){let g,p,h;if(g=b,p=[],h=ws(),h!==e)for(;h!==e;)p.push(h),h=ws();else p=e;return p!==e&&(R=g,p=De(p)),g=p,g}function ws(){let g;return g=gc(),g===e&&(g=be()),g}function cf(){let g,p,h,d,S;if(g=b,p=b,M++,h=He(),M--,h===e?p=void 0:(b=p,p=e),p!==e)if(t.substr(b,2)===H?(h=H,b+=2):(h=e,M===0&&T(ue)),h!==e){if(d=[],S=As(),S!==e)for(;S!==e;)d.push(S),S=As();else d=e;d!==e?(t.charCodeAt(b)===93?(S=ye,b++):(S=e,M===0&&T(pe)),S!==e?(R=g,p=ve(d),g=p):(b=g,g=e)):(b=g,g=e)}else b=g,g=e;else b=g,g=e;return g}function Es(){let g,p,h,d,S;if(g=b,p=b,M++,h=He(),M--,h===e?p=void 0:(b=p,p=e),p!==e)if(t.charCodeAt(b)===91?(h=dt,b++):(h=e,M===0&&T(ht)),h!==e){for(d=[],S=As();S!==e;)d.push(S),S=As();d!==e?(t.charCodeAt(b)===93?(S=ye,b++):(S=e,M===0&&T(pe)),S!==e?(R=g,p=m1(d),g=p):(b=g,g=e)):(b=g,g=e)}else b=g,g=e;else b=g,g=e;return g}function As(){let g,p,h,d;return p1.test(t.charAt(b))?(g=t.charAt(b),b++):(g=e,M===0&&T(u1)),g===e&&(g=b,p=He(),p!==e?(h=b,t.charCodeAt(b)===92?(d=cs,b++):(d=e,M===0&&T(ts)),d!==e&&(R=h,d=d1()),h=d,h===e&&(h=b,t.charCodeAt(b)===93?(d=ye,b++):(d=e,M===0&&T(pe)),d!==e&&(R=h,d=h1()),h=d),h!==e?(R=g,p=Gs(h),g=p):(b=g,g=e)):(b=g,g=e)),g}function ke(){let g,p,h,d,S,C,E,F,te;return g=b,t.substr(b,2)===jt?(p=jt,b+=2):(p=e,M===0&&T(j1)),p!==e?(h=z(),h!==e?(d=b,S=of(),S===e&&(S=null),S!==e?d=t.substring(d,b):d=S,d!==e?(S=tf(),S===e&&(S=null),S!==e?(C=z(),C!==e?(E=ff(),E===e&&(E=null),E!==e?(F=z(),F!==e?(t.charCodeAt(b)===125?(te=se,b++):(te=e,M===0&&T(ce)),te!==e?(R=g,p=y1(d,S,E),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function tf(){let g,p,h,d;return g=b,t.charCodeAt(b)===61?(p=x1,b++):(p=e,M===0&&T(C1)),p!==e?(h=z(),h!==e?(d=nc(),d!==e?(R=g,p=S1(d),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function nc(){let g,p,h;if(g=b,p=[],h=xe(),h!==e)for(;h!==e;)p.push(h),h=xe();else p=e;return p!==e?g=t.substring(g,b):g=p,g}function ff(){let g,p,h,d,S,C,E;return g=b,t.charCodeAt(b)===124?(p=fs,b++):(p=e,M===0&&T(os)),p!==e?(h=z(),h!==e?(d=Is(),d!==e?(S=z(),S!==e?(C=$c(),C===e&&(C=null),C!==e?(E=z(),E!==e?(R=g,p=v1(d,C),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function $c(){let g,p,h,d;return g=b,t.charCodeAt(b)===124?(p=fs,b++):(p=e,M===0&&T(os)),p!==e?(h=z(),h!==e?(d=Is(),d!==e?(R=g,p=M1(d),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function of(){let g,p;if(g=[],Os.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(rs)),p!==e)for(;p!==e;)g.push(p),Os.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(rs));else g=e;return g}function Is(){let g,p,h,d;if(g=[],p=b,h=[],d=xe(),d!==e)for(;d!==e;)h.push(d),d=xe();else h=e;if(h!==e?p=t.substring(p,b):p=h,p===e&&(p=ke()),p!==e)for(;p!==e;){if(g.push(p),p=b,h=[],d=xe(),d!==e)for(;d!==e;)h.push(d),d=xe();else h=e;h!==e?p=t.substring(p,b):p=h,p===e&&(p=ke())}else g=e;return g}function gc(){let g,p;return g=Yt(),g===e&&(g=b,t.charCodeAt(b)===93?(p=ye,b++):(p=e,M===0&&T(pe)),p!==e&&(R=g,p=zs()),g=p,g===e&&(g=b,t.charCodeAt(b)===124?(p=fs,b++):(p=e,M===0&&T(os)),p!==e&&(R=g,p=ks()),g=p,g===e&&(g=b,t.charCodeAt(b)===125?(p=se,b++):(p=e,M===0&&T(ce)),p!==e&&(R=g,p=is()),g=p))),g}function xe(){let g;return g=Yt(),g===e&&(g=be()),g}function Yt(){let g,p,h,d;return L1.test(t.charAt(b))?(g=t.charAt(b),b++):(g=e,M===0&&T(yt)),g===e&&(g=b,p=He(),p!==e?(h=b,t.charCodeAt(b)===92?(d=cs,b++):(d=e,M===0&&T(ts)),d!==e&&(R=h,d=Bs()),h=d,h===e&&(h=b,t.charCodeAt(b)===124?(d=fs,b++):(d=e,M===0&&T(os)),d!==e&&(R=h,d=ks()),h=d,h===e&&(h=b,t.charCodeAt(b)===91?(d=dt,b++):(d=e,M===0&&T(ht)),d!==e&&(R=h,d=Vs()),h=d,h===e&&(h=b,t.charCodeAt(b)===93?(d=ye,b++):(d=e,M===0&&T(pe)),d!==e&&(R=h,d=zs()),h=d,h===e&&(h=b,t.charCodeAt(b)===123?(d=ae,b++):(d=e,M===0&&T(re)),d!==e&&(R=h,d=xt()),h=d,h===e&&(h=b,t.charCodeAt(b)===125?(d=se,b++):(d=e,M===0&&T(ce)),d!==e&&(R=h,d=is()),h=d,h===e&&(h=b,t.charCodeAt(b)===37?(d=Ct,b++):(d=e,M===0&&T(w1)),d!==e&&(R=h,d=St()),h=d,h===e&&(h=b,t.charCodeAt(b)===35?(d=v,b++):(d=e,M===0&&T(_)),d!==e&&(R=h,d=E1()),h=d,h===e&&(h=b,t.charCodeAt(b)===32?(d=vt,b++):(d=e,M===0&&T(A1)),d!==e&&(R=h,d=Mt()),h=d)))))))),h!==e?(R=g,p=Gs(h),g=p):(b=g,g=e)):(b=g,g=e)),g}function bc(){let g,p,h,d,S,C,E,F,te,fe;return g=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=z(),h!==e?(t.substr(b,5)===Lt?(d=Lt,b+=5):(d=e,M===0&&T(wt)),d===e&&(t.substr(b,6)===Et?(d=Et,b+=6):(d=e,M===0&&T(Ne))),d!==e?(S=z(),S!==e?(t.charCodeAt(b)===58?(C=Ge,b++):(C=e,M===0&&T(as)),C!==e?(E=z(),E!==e?(F=rf(),F!==e?(te=z(),te!==e?(t.charCodeAt(b)===125?(fe=se,b++):(fe=e,M===0&&T(ce)),fe!==e?(R=g,p=I1(d,F),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function rf(){let g,p,h,d,S,C,E,F,te,fe;if(g=b,p=b,h=[],Ws.test(t.charAt(b))?(d=t.charAt(b),b++):(d=e,M===0&&T(At)),d!==e)for(;d!==e;)h.push(d),Ws.test(t.charAt(b))?(d=t.charAt(b),b++):(d=e,M===0&&T(At));else h=e;if(h!==e?p=t.substring(p,b):p=h,p!==e)if(h=z(),h!==e)if(t.substr(b,9)===Hs?(d=Hs,b+=9):(d=e,M===0&&T(T1)),d!==e)if(S=Ve(),S!==e)if(C=e1(),C!==e)if(E=Ve(),E!==e)if(t.substr(b,5)===Us?(F=Us,b+=5):(F=e,M===0&&T(Ks)),F!==e){if(te=[],fe=Qt(),fe!==e)for(;fe!==e;)te.push(fe),fe=Qt();else te=e;te!==e?(fe=mc(),fe===e&&(fe=null),fe!==e?(R=g,p=It(p,C,te,fe),g=p):(b=g,g=e)):(b=g,g=e)}else b=g,g=e;else b=g,g=e;else b=g,g=e;else b=g,g=e;else b=g,g=e;else b=g,g=e;else b=g,g=e;return g}function mc(){let g,p,h,d,S;if(g=b,p=Ve(),p!==e)if(t.substr(b,7)===Tt?(h=Tt,b+=7):(h=e,M===0&&T(Ft)),h!==e){if(d=[],S=Jt(),S!==e)for(;S!==e;)d.push(S),S=Jt();else d=e;d!==e?(R=g,p=F1(d),g=p):(b=g,g=e)}else b=g,g=e;else b=g,g=e;return g}function Jt(){let g,p,h;return g=b,p=Ve(),p!==e?(h=pc(),h!==e?(R=g,p=_t(h),g=p):(b=g,g=e)):(b=g,g=e),g}function pc(){let g,p;return g=b,Rt.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(qs)),p!==e&&(R=g,p=Pt(p)),g=p,g}function Qt(){let g,p,h;return g=b,p=Ve(),p!==e?(h=uc(),h!==e?(R=g,p=Zs(h),g=p):(b=g,g=e)):(b=g,g=e),g}function uc(){let g,p,h;return g=b,p=z(),p!==e?(h=e1(),h===e&&(h=dc(),h===e&&(h=af())),h!==e?(R=g,p=Zs(h),g=p):(b=g,g=e)):(b=g,g=e),g}function e1(){let g,p;return g=b,Rt.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(qs)),p!==e&&(R=g,p=Pt(p)),g=p,g}function dc(){let g,p;return g=b,t.charCodeAt(b)===48?(p=_1,b++):(p=e,M===0&&T(Dt)),p!==e&&(R=g,p=R1()),g=p,g}function af(){let g;return t.substr(b,2)===Xs?(g=Xs,b+=2):(g=e,M===0&&T(P1)),g===e&&(Nt.test(t.charAt(b))?(g=t.charAt(b),b++):(g=e,M===0&&T(D1))),g}function hc(){let g,p,h,d,S,C,E,F;return g=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=z(),h!==e?(d=b,S=jc(),S!==e?d=t.substring(d,b):d=S,d!==e?(S=z(),S!==e?(C=Be(),C===e&&(C=null),C!==e?(E=z(),E!==e?(t.charCodeAt(b)===125?(F=se,b++):(F=e,M===0&&T(ce)),F!==e?(R=g,p=Gt(d,C),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function Be(){let g,p,h,d;return g=b,t.charCodeAt(b)===58?(p=Ge,b++):(p=e,M===0&&T(as)),p!==e?(h=z(),h!==e?(d=lf(),d!==e?(R=g,p=N1(d),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function jc(){let g,p;if(g=[],Ys.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(Ot)),p!==e)for(;p!==e;)g.push(p),Ys.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(Ot));else g=e;return g}function lf(){let g,p;for(g=[],p=Ts();p!==e;)g.push(p),p=Ts();return g}function Ts(){let g,p,h,d;return zt.test(t.charAt(b))?(g=t.charAt(b),b++):(g=e,M===0&&T(G1)),g===e&&(g=b,p=He(),p!==e?(h=b,t.charCodeAt(b)===92?(d=cs,b++):(d=e,M===0&&T(ts)),d!==e&&(R=h,d=Bs()),h=d,h===e&&(h=b,t.charCodeAt(b)===125?(d=se,b++):(d=e,M===0&&T(ce)),d!==e&&(R=h,d=is()),h=d,h===e&&(h=b,t.charCodeAt(b)===123?(d=ae,b++):(d=e,M===0&&T(re)),d!==e&&(R=h,d=xt()),h=d)),h!==e?(R=g,p=Gs(h),g=p):(b=g,g=e)):(b=g,g=e)),g}function Ve(){let g,p;if(M++,g=[],p=Fs(),p!==e)for(;p!==e;)g.push(p),p=Fs();else g=e;return M--,g===e&&(p=e,M===0&&T(kt)),g}function z(){let g,p;for(M++,g=[],p=Fs();p!==e;)g.push(p),p=Fs();return M--,g===e&&(p=e,M===0&&T(Bt)),g}function Fs(){let g;return Vt.test(t.charAt(b))?(g=t.charAt(b),b++):(g=e,M===0&&T(O1)),g}function be(){let g,p;if(M++,g=[],Ht.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(ls)),p!==e)for(;p!==e;)g.push(p),Ht.test(t.charAt(b))?(p=t.charAt(b),b++):(p=e,M===0&&T(ls));else g=e;return M--,g===e&&(p=e,M===0&&T(Wt)),g}function We(){let g;return z1.test(t.charAt(b))?(g=t.charAt(b),b++):(g=e,M===0&&T(Js)),g===e&&(g=yc()),g}function yc(){let g,p,h;return g=b,p=xc(),p!==e?(h=nf(),h!==e?(p=[p,h],g=p):(b=g,g=e)):(b=g,g=e),g}function nf(){let g;return t.charCodeAt(b)===10?(g=k1,b++):(g=e,M===0&&T(Qs)),g}function xc(){let g;return t.charCodeAt(b)===13?(g=B1,b++):(g=e,M===0&&T(ec)),g}function He(){let g;return t.charCodeAt(b)===92?(g=cs,b++):(g=e,M===0&&T(ts)),g}function Cc(){let g;return g=$f(),g===e&&(g=Mc(),g===e&&(g=bf(),g===e&&(g=Ec()))),g}function $f(){let g,p,h,d,S,C,E,F;if(g=b,p=Sc(),p!==e)if(h=We(),h!==e){for(d=b,S=[],C=b,E=b,M++,F=vc(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);C!==e;)S.push(C),C=b,E=b,M++,F=vc(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);S!==e?d=t.substring(d,b):d=S,d!==e?(S=vc(),S!==e?(R=g,p=ns(p,d,S),g=p):(b=g,g=e)):(b=g,g=e)}else b=g,g=e;else b=g,g=e;return g}function Sc(){let g,p,h,d,S,C,E,F;return g=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=z(),h!==e?(t.substr(b,12)===$s?(d=$s,b+=12):(d=e,M===0&&T(V1)),d!==e?(S=z(),S!==e?(C=Be(),C===e&&(C=null),C!==e?(E=z(),E!==e?(t.charCodeAt(b)===125?(F=se,b++):(F=e,M===0&&T(ce)),F!==e?(R=g,p=Ee(d,C),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function vc(){let g,p,h,d,S,C;return g=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=z(),h!==e?(t.substr(b,10)===Ut?(d=Ut,b+=10):(d=e,M===0&&T(sc)),d!==e?(S=z(),S!==e?(t.charCodeAt(b)===125?(C=se,b++):(C=e,M===0&&T(ce)),C!==e?(R=g,p=gs(d),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function Mc(){let g,p,h,d,S,C,E,F;if(g=b,p=gf(),p!==e)if(h=We(),h!==e){for(d=b,S=[],C=b,E=b,M++,F=Ue(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);C!==e;)S.push(C),C=b,E=b,M++,F=Ue(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);S!==e?d=t.substring(d,b):d=S,d!==e?(S=Ue(),S!==e?(R=g,p=ns(p,d,S),g=p):(b=g,g=e)):(b=g,g=e)}else b=g,g=e;else b=g,g=e;return g}function gf(){let g,p,h,d,S,C,E,F;return g=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=z(),h!==e?(t.substr(b,13)===bs?(d=bs,b+=13):(d=e,M===0&&T(W1)),d===e&&(t.substr(b,3)===ms?(d=ms,b+=3):(d=e,M===0&&T(H1))),d!==e?(S=z(),S!==e?(C=Be(),C===e&&(C=null),C!==e?(E=z(),E!==e?(t.charCodeAt(b)===125?(F=se,b++):(F=e,M===0&&T(ce)),F!==e?(R=g,p=Ee(d,C),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function Ue(){let g,p,h,d,S,C;return g=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=z(),h!==e?(t.substr(b,11)===ps?(d=ps,b+=11):(d=e,M===0&&T(U1)),d===e&&(t.substr(b,3)===us?(d=us,b+=3):(d=e,M===0&&T(K1))),d!==e?(S=z(),S!==e?(t.charCodeAt(b)===125?(C=se,b++):(C=e,M===0&&T(ce)),C!==e?(R=g,p=gs(d),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function bf(){let g,p,h,d,S,C,E,F;if(g=b,p=Lc(),p!==e)if(h=We(),h!==e){for(d=b,S=[],C=b,E=b,M++,F=wc(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);C!==e;)S.push(C),C=b,E=b,M++,F=wc(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);S!==e?d=t.substring(d,b):d=S,d!==e?(S=wc(),S!==e?(R=g,p=ns(p,d,S),g=p):(b=g,g=e)):(b=g,g=e)}else b=g,g=e;else b=g,g=e;return g}function Lc(){let g,p,h,d,S,C,E,F;return g=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=z(),h!==e?(t.substr(b,11)===ds?(d=ds,b+=11):(d=e,M===0&&T(q1)),d!==e?(S=z(),S!==e?(C=Be(),C===e&&(C=null),C!==e?(E=z(),E!==e?(t.charCodeAt(b)===125?(F=se,b++):(F=e,M===0&&T(ce)),F!==e?(R=g,p=Ee(d,C),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function wc(){let g,p,h,d,S,C;return g=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=z(),h!==e?(t.substr(b,9)===hs?(d=hs,b+=9):(d=e,M===0&&T(Z1)),d!==e?(S=z(),S!==e?(t.charCodeAt(b)===125?(C=se,b++):(C=e,M===0&&T(ce)),C!==e?(R=g,p=gs(d),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function Ec(){let g,p,h,d,S,C,E,F;if(g=b,p=mf(),p!==e)if(h=We(),h!==e){for(d=b,S=[],C=b,E=b,M++,F=Ke(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);C!==e;)S.push(C),C=b,E=b,M++,F=Ke(),M--,F===e?E=void 0:(b=E,E=e),E!==e?(F=Ce(),F!==e?(E=[E,F],C=E):(b=C,C=e)):(b=C,C=e);S!==e?d=t.substring(d,b):d=S,d!==e?(S=Ke(),S!==e?(R=g,p=ns(p,d,S),g=p):(b=g,g=e)):(b=g,g=e)}else b=g,g=e;else b=g,g=e;return g}function mf(){let g,p,h,d,S,C,E,F;return g=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=z(),h!==e?(t.substr(b,12)===js?(d=js,b+=12):(d=e,M===0&&T(X1)),d===e&&(t.substr(b,3)===ys?(d=ys,b+=3):(d=e,M===0&&T(Y1))),d!==e?(S=z(),S!==e?(C=Be(),C===e&&(C=null),C!==e?(E=z(),E!==e?(t.charCodeAt(b)===125?(F=se,b++):(F=e,M===0&&T(ce)),F!==e?(R=g,p=Ee(d,C),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function Ke(){let g,p,h,d,S,C;return g=b,t.charCodeAt(b)===123?(p=ae,b++):(p=e,M===0&&T(re)),p!==e?(h=z(),h!==e?(t.substr(b,10)===xs?(d=xs,b+=10):(d=e,M===0&&T(J1)),d===e&&(t.substr(b,3)===Cs?(d=Cs,b+=3):(d=e,M===0&&T(Q1))),d!==e?(S=z(),S!==e?(t.charCodeAt(b)===125?(C=se,b++):(C=e,M===0&&T(ce)),C!==e?(R=g,p=gs(d),g=p):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e)):(b=g,g=e),g}function Ce(){let g;return t.length>b?(g=t.charAt(b),b++):(g=e,M===0&&T(cc)),g}if(vs=y(),vs!==e&&b===t.length)return vs;throw vs!==e&&b`${e}: ${r[e]}`).join("; ")}}var f0=tL;class o0{constructor({type:r,items:e}={type:Ps,items:[]}){this.items=[],this.type=Ps,this.currentChordLyricsPair=new oe,this.key=null,this.transposeKey=null,this.lineNumber=null,this.textFont=new f0,this.chordFont=new f0,this.type=r,this.items=e}isEmpty(){return this.items.length===0}isNotEmpty(){return!this.isEmpty()}addItem(r){r instanceof U?this.addTag(r):r instanceof oe?this.addChordLyricsPair(r):r instanceof bt?this.addComment(r):this.items.push(r)}hasRenderableItems(){return this.items.some(r=>r.isRenderable())}clone(){return this.mapItems(null)}mapItems(r){const e=new o0;return e.items=this.items.map(m=>{const j=m.clone();return r?r(j):j}).filter(m=>m!==null),e.type=this.type,e}isBridge(){return this.type===GM}isChorus(){return this.type===Ns}isGrid(){return this.type===OM}isTab(){return this.type===l0}isVerse(){return this.type===ut}hasContent(){return this.hasRenderableItems()}addChordLyricsPair(r=null,e=null){return r instanceof oe?this.currentChordLyricsPair=r:this.currentChordLyricsPair=new oe(r||"",e||""),this.items.push(this.currentChordLyricsPair),this.currentChordLyricsPair}ensureChordLyricsPair(){this.currentChordLyricsPair||this.addChordLyricsPair()}chords(r){this.ensureChordLyricsPair(),this.currentChordLyricsPair.chords+=r}lyrics(r){this.ensureChordLyricsPair(),this.currentChordLyricsPair.lyrics+=r}addTag(r,e=null){const m=r instanceof U?r:new U(r,e);return this.items.push(m),m}addComment(r){const e=r instanceof bt?r:new bt(r);return this.items.push(e),e}set(r){return new o0({type:this.type,items:this.items,...r})}get _tag(){if(this.items.length!==1)return null;const r=this.items[0];return r instanceof U?r:null}isSectionStart(){var r;return((r=this._tag)==null?void 0:r.isSectionStart())||!1}isSectionEnd(){var r;return((r=this._tag)==null?void 0:r.isSectionEnd())||!1}}var TM=o0;class $T{addLine(r){this.lines.push(r)}isLiteral(){const{lines:r}=this;return this.isEmpty()?!1:r.every(e=>e.items.every(m=>!!(m instanceof Ds||m instanceof U&&m.isSectionDelimiter())))}get contents(){return this.lines.filter(r=>r.items.every(e=>e instanceof Ds)).map(r=>r.items.map(e=>e.string).join("")).join(` -`)}get label(){if(this.lines.length===0)return null;const r=this.lines[0].items.find(e=>e instanceof U&&e.isSectionDelimiter());return r?r.value:null}get type(){const r=this.lines.map(m=>m.type),e=[...new Set(r)];return e.length===1?e[0]:zM}hasRenderableItems(){return this.lines.some(r=>r.hasRenderableItems())}isEmpty(){return this.lines.length===0}constructor(){this.lines=[]}}var FM=$T;class gT{get key(){return this.getSingleMetadata(a1)}get title(){return this.getSingleMetadata(XM)}get subtitle(){return this.getSingleMetadata(ZM)}get capo(){return this.getMetadata(vm)}get duration(){return this.getSingleMetadata(Iw)}get tempo(){return this.getSingleMetadata(Pw)}get time(){return this.getMetadata(Dw)}get year(){return this.getSingleMetadata(Gw)}get album(){return this.getMetadata(Lw)}get copyright(){return this.getSingleMetadata(Aw)}get lyricist(){return this.getMetadata(Rw)}get artist(){return this.getMetadata(ww)}get composer(){return this.getMetadata(Ew)}}var Bw=gT;function bT(t,r){t.includes(r)||t.push(r)}class fL extends Bw{constructor(r={}){super(),this.metadata={},r&&this.assign(r)}merge(r){const e=this.clone();return e.assign(r),e}contains(r){return r in this.metadata}add(r,e){if(ZL(r))return;if(!(r in this.metadata)){this.metadata[r]=e;return}const m=this.metadata[r];if(m!==e){if(m instanceof Array){bT(m,e);return}this.metadata[r]=[m,e]}}set(r,e){e?this.metadata[r]=e:delete this.metadata[r]}getMetadata(r){return this.get(r)}getSingleMetadata(r){return this.getSingle(r)}get(r){return r===_w?this.calculateKeyFromCapo():r in this.metadata?this.metadata[r]:this.getArrayItem(r)}getSingle(r){const e=this.get(r);return Array.isArray(e)?e[0]:e}parseArrayKey(r){const e=r.match(/(.+)\.(-?\d+)$/);if(!e)return null;const m=e[1],j=parseInt(e[2],10);return[m,j]}getArrayItem(r){const e=this.parseArrayKey(r);if(e===null)return null;const[m,j]=e,y=this.metadata[m]||[];let w=j;return w<0?w=y.length+w:w>0&&(w-=1),y[w]}clone(){return new fL(this.metadata)}calculateKeyFromCapo(){const r=this.getSingle(vm),e=this.getSingle(a1);if(r&&e){const m=ge.parse(e);if(!m)throw new Error(`Could not parse ${e}`);const j=parseInt(r,10);return m.transpose(j).normalize().toString()}return null}assign(r){Object.keys(r).filter(e=>!ZL(e)).forEach(e=>{const m=r[e];m instanceof Array?this.metadata[e]=[...m]:this.metadata[e]=m})}}var Vw=fL;class mT{constructor(r,e,m){this.lineNumber=null,this.column=null,this.message=r,this.lineNumber=e,this.column=m}toString(){return`Warning: ${this.message} on line ${this.lineNumber||"?"} column ${this.column||"?"}`}}var pT=mT;class $t{constructor(r,e){this.fontSize=r,this.unit=e}clone(){return new $t(this.fontSize,this.unit)}multiply(r){return new $t(this.fontSize*r/100,this.unit)}toString(){return`${this.fontSize}${this.unit}`}static parse(r,e){const m=r.trim(),j=parseFloat(m);return Number.isNaN(j)?this.parseNotANumber(e):m.slice(-1)==="%"?this.parsePercentage(j,e):new $t(j,"px")}static parseNotANumber(r){return r?r.clone():new $t(100,"%")}static parsePercentage(r,e){return e?e.multiply(r):new $t(r,"%")}}var uT=$t;class dT{applyTag(r){switch(r.name){case s0:this.textFont.font=this.pushOrPopTag(r);break;case c0:this.textFont.size=this.pushOrPopSizeTag(r);break;case AM:this.textFont.colour=this.pushOrPopTag(r);break;case Qp:this.chordFont.font=this.pushOrPopTag(r);break;case e0:this.chordFont.size=this.pushOrPopSizeTag(r);break;case EM:this.chordFont.colour=this.pushOrPopTag(r);break}}pushOrPopTag(r){let{value:e}=r;return r.hasValue()?this.fontAndColourStacks[r.name].push(e):(this.fontAndColourStacks[r.name].pop(),e=this.fontAndColourStacks[r.name].slice(-1)[0]||null),e}pushOrPopSizeTag(r){const{value:e}=r;if(r.hasValue()){const m=this.sizeStacks[r.name].slice(-1)[0]||null,j=uT.parse(e,m);return this.sizeStacks[r.name].push(j),j}return this.sizeStacks[r.name].pop(),this.sizeStacks[r.name].slice(-1)[0]||null}constructor(){this.fontAndColourStacks={[EM]:[],[Qp]:[],[AM]:[],[s0]:[]},this.sizeStacks={[e0]:[],[c0]:[]},this.textFont=new f0,this.chordFont=new f0}}var hT=dT;const YL={[KM]:yw,[b0]:GM,[b1]:Ns,[m0]:OM,[qM]:jw,[p0]:l0,[Lm]:ut},JL={[Tw]:yw,[WM]:GM,[Mm]:Ns,[HM]:OM,[Fw]:jw,[UM]:l0,[g0]:ut};class r0 extends Bw{constructor(r={}){super(),this.lines=[],this._bodyLines=null,this._bodyParagraphs=null,this.currentKey=null,this.currentLine=null,this.fontStack=new hT,this.sectionType=Ps,this.transposeKey=null,this.warnings=[],this.metadata=new Vw(r)}get previousLine(){const r=this.lines.length;return r>=2?this.lines[r-2]:null}get bodyLines(){return this._bodyLines||(this._bodyLines=this.selectRenderableItems(this.lines)),this._bodyLines}get bodyParagraphs(){return this._bodyParagraphs||(this._bodyParagraphs=this.selectRenderableItems(this.paragraphs)),this._bodyParagraphs}selectRenderableItems(r){const e=[...r];for(;e.length&&!e[0].hasRenderableItems();)e.shift();return e}chords(r){if(!this.currentLine)throw new Error("Expected this.currentLine to be present");this.currentLine.chords(r)}lyrics(r){if(this.ensureLine(),!this.currentLine)throw new Error("Expected this.currentLine to be present");this.currentLine.lyrics(r)}addLine(r){return r?this.currentLine=r:(this.currentLine=new TM,this.lines.push(this.currentLine)),this.setCurrentProperties(this.sectionType),this.currentLine.transposeKey=this.transposeKey??this.currentKey,this.currentLine.key=this.currentKey||this.metadata.getSingle(a1),this.currentLine.lineNumber=this.lines.length-1,this.currentLine}expandLine(r){const e=r.items.flatMap(m=>m instanceof U&&m.name===Ow?this.getLastChorusBefore(r.lineNumber):[]);return[r,...e]}getLastChorusBefore(r){const e=[];if(!r)return e;for(let m=r-1;m>=0;m-=1){const j=this.lines[m];if(j.type===Ns){const y=this.filterChorusStartEndDirectives(j);j.isNotEmpty()&&y.isEmpty()||e.unshift(j)}else if(e.length>0)break}return e}filterChorusStartEndDirectives(r){return r.mapItems(e=>e instanceof U&&(e.name===b1||e.name===Mm)?null:e)}get paragraphs(){return this.linesToParagraphs(this.lines)}get expandedBodyParagraphs(){return this.selectRenderableItems(this.linesToParagraphs(this.lines.flatMap(r=>this.expandLine(r))))}linesToParagraphs(r){let e=new FM;const m=[e];return r.forEach((j,y)=>{const w=r[y+1]||null;j.isEmpty()||j.isSectionEnd()&&w&&!w.isEmpty()?(e=new FM,m.push(e)):j.hasRenderableItems()&&e.addLine(j)}),m}setCurrentProperties(r){if(!this.currentLine)throw new Error("Expected this.currentLine to be present");this.currentLine.type=r,this.currentLine.textFont=this.fontStack.textFont.clone(),this.currentLine.chordFont=this.fontStack.chordFont.clone()}ensureLine(){this.currentLine===null&&this.addLine()}addTag(r){const e=U.parseOrFail(r);return this.applyTagOnSong(e),this.applyTagOnLine(e),e}applyTagOnLine(r){if(this.ensureLine(),!this.currentLine)throw new Error("Expected this.currentLine to be present");this.currentLine.addTag(r)}applyTagOnSong(r){r.isMetaTag()?this.setMetadata(r.name,r.value||""):r.name===MI?this.transposeKey=r.value:r.name===Nw?this.currentKey=r.value:r.isSectionDelimiter()?this.setSectionTypeFromTag(r):r.isInlineFontTag()&&this.fontStack.applyTag(r)}setSectionTypeFromTag(r){if(r.name in YL){this.startSection(YL[r.name],r);return}r.name in JL&&this.endSection(JL[r.name],r)}startSection(r,e){this.checkCurrentSectionType(Ps,e),this.sectionType=r,this.setCurrentProperties(r)}endSection(r,e){this.checkCurrentSectionType(r,e),this.sectionType=Ps}checkCurrentSectionType(r,e){this.sectionType!==r&&this.addWarning(`Unexpected tag {${e.originalName}}, current section is: ${this.sectionType}`,e)}addWarning(r,{line:e,column:m}){const j=new pT(r,e||null,m||null);this.warnings.push(j)}addItem(r){if(r instanceof U)this.addTag(r);else{if(this.ensureLine(),!this.currentLine)throw new Error("Expected this.currentLine to be present");this.currentLine.addItem(r)}}clone(){return this.mapItems(r=>r)}setMetadata(r,e){this.metadata.add(r,e)}getMetadata(r){return this.metadata.getMetadata(r)}getSingleMetadata(r){return this.metadata.getSingleMetadata(r)}setKey(r){const e=r?r.toString():null;return this.changeMetadata(a1,e)}setCapo(r){const e=r?r.toString():null;return this.changeMetadata(vm,e)}setDirective(r,e){return e===null?this.removeItem(m=>m instanceof U&&m.name===r):this.updateItem(m=>m instanceof U&&m.name===r,m=>"set"in m?m.set({value:e}):m,m=>m.insertDirective(r,e))}transpose(r,{normalizeChordSuffix:e=!1}={}){let m=null;return this.mapItems(y=>y instanceof U&&y.name===a1?(m=ge.wrapOrFail(y.value).transpose(r),y.set({value:m.toString()})):y instanceof oe?y.transpose(r,m,{normalizeChordSuffix:e}):y)}transposeUp({normalizeChordSuffix:r=!1}={}){return this.transpose(1,{normalizeChordSuffix:r})}transposeDown({normalizeChordSuffix:r=!1}={}){return this.transpose(-1,{normalizeChordSuffix:r})}changeKey(r){const e=this.requireCurrentKey(),m=ge.wrapOrFail(r),j=e.distanceTo(m),y=this.transpose(j);return m.modifier?y.useModifier(m.modifier):y}useModifier(r){return this.mapItems(e=>e instanceof oe?e.useModifier(r):e)}requireCurrentKey(){const r=ge.wrap(this.key);if(!r)throw new Error(` -Cannot change song key, the original key is unknown. - -Either ensure a key directive is present in the song (when using chordpro): - \`{key: C}\` - -Or set the song key before changing key: - \`song.setKey('C');\``.substring(1));return r}changeMetadata(r,e){const m=this.setDirective(r,e);return m.metadata.set(r,e),m}insertDirective(r,e,{after:m=null}={}){const j=this.lines.findIndex(G=>G.items.some(I=>!(I instanceof U)||m&&I.name===m)),y=new TM;y.addTag(r,e);const w=this.clone(),{lines:P}=w;return w.lines=[...P.slice(0,j),y,...P.slice(j)],w}mapItems(r){const e=new r0;return this.lines.forEach(m=>{e.addLine(),m.items.forEach(j=>{const y=r(j);y&&e.addItem(y)})}),e}mapLines(r){const e=new r0;return this.lines.forEach(m=>{const j=r(m);j&&(e.addLine(),j.items.forEach(y=>e.addItem(y)))}),e}updateItem(r,e,m){let j=!1;const y=this.mapItems(w=>r(w)?(j=!0,e(w)):w);return j?y:m(y)}removeItem(r){return this.mapLines(e=>{const{items:m}=e,j=m.findIndex(r);return j===-1?e:m.length===1?null:e.set({items:[...m.slice(0,j),...m.slice(j+1)]})})}}var $1=r0;class jT{constructor(r,e,m,j){this.name=r,this.baseFret=e,this.frets=m,this.fingers=j||[]}}var yT=jT;const QL="chordLyricsPair",ew="chordSheet",sw="comment",cw="line",tw="softLineBreak",fw="tag",ow="ternary";class xT{serialize(r){return{type:ew,lines:r.lines.map(e=>this.serializeLine(e))}}serializeLine(r){return{type:cw,items:r.items.map(e=>this.serializeItem(e))}}serializeItem(r){if(r instanceof U)return this.serializeTag(r);if(r instanceof oe)return this.serializeChordLyricsPair(r);if(r instanceof Cm)return this.serializeTernary(r);if(r instanceof Ds)return this.serializeLiteral(r);if(r instanceof bt)return this.serializeComment(r);if(r instanceof t0)return{type:tw};throw new Error(`Don't know how to serialize ${r.constructor.name}`)}serializeChordDefinition(r){return{name:r.name,baseFret:r.baseFret,frets:r.frets,fingers:r.fingers}}serializeTag(r){const e={type:fw,name:r.originalName,value:r.value};return r.chordDefinition&&(e.chordDefinition=this.serializeChordDefinition(r.chordDefinition)),e}serializeChordLyricsPair(r){return{type:QL,chords:r.chords,chord:null,lyrics:r.lyrics,annotation:r.annotation}}serializeTernary(r){return{type:ow,variable:r.variable,valueTest:r.valueTest,trueExpression:this.serializeExpression(r.trueExpression),falseExpression:this.serializeExpression(r.falseExpression)}}serializeLiteral(r){return r.string}serializeExpression(r){return r.map(e=>this.serializeItem(e))}serializeComment(r){return{type:sw,comment:r.content}}deserialize(r){return this.parseAstComponent(r),this.song}parseAstComponent(r){if(typeof r=="string")return new Ds(r);switch(r.type){case ew:this.parseChordSheet(r);break;case QL:return this.parseChordLyricsPair(r);case sw:return this.parseComment(r);case tw:return new t0;case fw:return this.parseTag(r);case ow:return this.parseTernary(r);case cw:this.parseLine(r);break;default:Sw(`Unhandled AST component "${r.type}"`)}return null}parseChordSheet(r){const{lines:e}=r;this.song=new $1,e.forEach(m=>this.parseAstComponent(m))}parseLine(r){const{items:e}=r;this.song.addLine(),e.forEach(m=>{const j=this.parseAstComponent(m);this.song.addItem(j)})}parseChordLyricsPair(r){const{chord:e,chords:m,lyrics:j,annotation:y}=r;return new oe(e?new Sm(e).toString():m,j,y)}parseTag(r){const{name:e,value:m,location:{offset:j=null,line:y=null,column:w=null}={},chordDefinition:P}=r,G=new U(e,m,{line:y,column:w,offset:j});return P&&(G.chordDefinition=new yT(P.name,P.baseFret,P.frets,P.fingers)),G}parseComment(r){const{comment:e}=r;return new bt(e)}parseTernary(r){const{variable:e,valueTest:m,trueExpression:j,falseExpression:y,location:{offset:w=null,line:P=null,column:G=null}={}}=r;return new Cm({variable:e,valueTest:m,trueExpression:this.parseExpression(j),falseExpression:this.parseExpression(y),offset:w,line:P,column:G})}parseExpression(r){return(r||[]).map(e=>this.parseAstComponent(e)).filter(e=>e!==null)}constructor(){this.song=new $1}}var oL=xT;class CT{trace(){}}var Ww=CT;class ST{get warnings(){var r;return((r=this.song)==null?void 0:r.warnings)||[]}parse(r,e){const m=nT(BM(r),{tracer:new Ww,...e});return this.song=new oL().deserialize(m),this.song}}var vT=ST;const MM=/\s/,MT=/^\s*((([A-G|Do|Re|Mi|Fa|Sol|La|Si])(#|b)?([^/\s]*)(\/([A-G|Do|Re|Mi|Fa|Sol|La|Si])(#|b)?)?)(\s|$)+)+(\s|$)+/;class LT{constructor({preserveWhitespace:r=!0}={},e=!0){this.processingText=!0,this.preserveWhitespace=!0,this.song=new $1,this.songLine=null,this.chordLyricsPair=null,this.lines=[],this.currentLine=0,this.lineCount=0,e&&oI(`ChordSheetParser is deprecated, please use ChordsOverWordsParser. - - ChordsOverWordsParser aims to support any kind of chord, whereas ChordSheetParser lacks - support for many variations. Besides that, some chordpro feature have been ported back - to ChordsOverWordsParser, which adds some interesting functionality.`),this.preserveWhitespace=r}parse(r,{song:e}={}){for(this.initialize(r,e);this.hasNextLine();){const m=this.readLine();this.parseLine(m)}return this.endOfSong(),this.song}endOfSong(){}parseLine(r){this.songLine=this.song.addLine(),r.trim().length===0?this.chordLyricsPair=null:this.parseNonEmptyLine(r)}parseNonEmptyLine(r){if(!this.songLine)throw new Error("Expected this.songLine to be present");if(this.chordLyricsPair=this.songLine.addChordLyricsPair(),MT.test(r)&&this.hasNextLine()){const e=this.readLine();this.parseLyricsWithChords(r,e)}else this.chordLyricsPair.lyrics=`${r}`}initialize(r,e=null){e&&(this.song=e),this.lines=BM(r).split(` -`),this.currentLine=0,this.lineCount=this.lines.length,this.processingText=!0}readLine(){const r=this.lines[this.currentLine];return this.currentLine+=1,r}hasNextLine(){return this.currentLine0){const[e,...m]=r;return e.evaluate(m)}return""}}var TT=IT;class FT{constructor(r,e){this.condition=!1,this.clauses=[],this.add(r,e)}then(r){return this.add(this.condition,r)}elseWhen(r,e){return this.add(r,e)}else(r){return this.add(!0,r)}add(r,e){return this.condition=!!r,e&&this.clauses.push(new TT(r,e)),this}toString(){const[r,...e]=this.clauses;if(r)return r.evaluate(e);throw new Error("Expected at least one .then() clause")}}var _T=FT;const _M=t=>t instanceof oe,rL=t=>t.items.some(r=>r.isRenderable()),Uw=t=>t instanceof U,RT=t=>t instanceof Ds,Kw=t=>t.name==="comment";function qw(t){return t.trim().replace(/(<\/[a-z]+>)\s+(<)/g,"$1$2").replace(/(>)\s+(<\/[a-z]+>)/g,"$1$2").replace(/(\n)\s+/g,"")}const Zw=t=>t.replace(/\n/g,"
");function d0(t,r){return(r.delegates[t.type]||ym)(t.contents)}function gt(t,r){return t.map(r).join("")}function Y(t,r){return new _T(t,r)}const iL=t=>t.items.some(r=>r instanceof oe&&!n0(r.lyrics)||r instanceof U&&r.isRenderable()||kM(r)),Xw=t=>{const r=["row"];return rL(t)||r.push("empty-line"),r.join(" ")},Yw=t=>{const r=["paragraph"];return t.type!==zM&&t.type!==Ps&&r.push(t.type),r.join(" ")},Jw=(t,r,e)=>t.evaluate(r,e.get("metadata.separator"));function _e(t){const r=t.toCssString();return r?` style="${r}"`:""}class PT extends $0{format(r){return this.song=r,[this.formatHeader(),this.formatParagraphs()].join("")}formatHeader(){const r=Object.keys(this.song.metadata.metadata).map(e=>`${e}: ${this.song.metadata[e]}`).join(` -`);return r?`${r} - -`:""}formatParagraphs(){const{bodyParagraphs:r,bodyParagraphs:{length:e},metadata:m}=this.song,j=r.map(w=>this.formatParagraph(w,m)),y=j.join(` - -`);return j[e-1].length===0?y.substring(0,y.length-1):y}formatParagraph(r,e){return r.isLiteral()?[r.label,d0(r,this.configuration)].filter(m=>m).join(` -`):r.lines.filter(m=>m.hasRenderableItems()).map(m=>this.formatLine(m,e)).join(` -`)}formatLine(r,e){return[this.formatLineTop(r,e),this.formatLineBottom(r,e)].filter(j=>!n0(j)).map(j=>(j||"").trimRight()).join(` -`)}formatLineTop(r,e){return xw(r)?this.formatLineWithFormatter(r,this.formatItemTop,e):null}chordLyricsPairLength(r,e){const m=r.annotation||this.renderChord(r,e),{lyrics:j}=r,y=(m||"").length,w=(j||"").length;return y>=w?y+1:Math.max(y,w)}formatItemTop(r,e,m){if(r instanceof U&&r.isRenderable())return r.value||"";if(r instanceof oe){const j=r.annotation||this.renderChord(r,m);return Jp(j,this.chordLyricsPairLength(r,m))}return""}renderChord(r,e){return u0(r.chords,e,this.song,{renderKey:this.configuration.key,normalizeChords:this.configuration.normalizeChords})}formatLineBottom(r,e){return iL(r)?this.formatLineWithFormatter(r,this.formatItemBottom,e):null}formatLineWithFormatter(r,e,m){return r.items.map(j=>e.call(this,j,m,r)).join("")}formatItemBottom(r,e,m){return typeof r=="string"?r:r instanceof U&&r.isRenderable()?r.value||"":r instanceof oe?this.formatChordLyricsPair(r,m):"evaluate"in r?this.formatEvaluatable(r,e):""}formatEvaluatable(r,e){return r.evaluate(e,this.configuration.get("metadata.separator"))}formatChordLyricsPair(r,e){return Jp(r.lyrics||"",this.chordLyricsPairLength(r,e))}constructor(...r){super(...r),this.song=new $1}}var DT=PT;function NT(t){const r=/(\s+)(\S+)/.exec(t),e=r?r.index+r[1].length:null;return e&&e!==-1?[t.substring(0,e).trim(),t.substring(e)]:[/.+\s+$/.test(t)?`${t.trim()} `:t,null]}function GT(t,r,e){return[...t&&t.length>0?[{type:"line",items:[]}]:[],...r,e].filter(y=>y!==null)}function OT(t){return t.split(/\\\s+/).flatMap((r,e)=>[e===0?null:{type:"softLineBreak"},r.length===0?null:{type:"chordLyricsPair",chords:"",lyrics:r}])}function zT(t){const{type:r,...e}=t;return e}function kT(t,r){return t.map((e,m)=>{const j=t[m+1],y=e.column-1,w=j?j.column-1:r.length,P=r.substring(y,w),[G,I]=NT(P),v=e.type==="chord"?{chord:zT(e)}:{chords:e.value};return I?[{...v,type:"chordLyricsPair",lyrics:`${G} `},...OT(I)].filter(_=>_!==null):{...v,type:"chordLyricsPair",lyrics:G}}).flat()}function BT(t,r){const{content:e}=r,m=t.items,j=kT(m,e),y=m[0];if(y&&y.column>1){const w=y.column;w>0&&j.unshift({type:"chordLyricsPair",chords:"",lyrics:e.substring(0,w-1)})}return{type:"line",items:j}}function VT(t){return{type:"line",items:[{type:"chordLyricsPair",chords:"",lyrics:t}]}}function WT(t){switch(t.type){case"chord":return{type:"chordLyricsPair",chord:t,chords:"",lyrics:null};case"symbol":return{type:"chordLyricsPair",chords:t.value,lyrics:null};default:throw new Error(`Unexpected chordsLine item ${t}`)}}function HT(t){return{type:"line",items:t.items.map(r=>WT(r))}}function UT(t){const{content:r}=t;return r&&r.length>0?VT(r):{type:"line",items:[]}}function KT(t,r){const{type:e}=t;return e==="lyricsLine"?[UT(t),!1]:e==="chordsLine"?r&&r.type==="lyricsLine"&&r.content&&r.content.length>0?[BT(t,r),!0]:[HT(t),!1]:[t,!1]}function qT(t){const r=[];let e=0;const m=t.length-1;for(;e<=m;){const j=t[e],y=t[e+1],[w,P]=KT(j,y);r.push(w),e+=P?2:1}return r}function ZT(t,r,e){const m=GT(t,r,e);return qT(m)}function LM(t,r,e){return e=e||" ",t.length>r?t:(r-=t.length,e+=e.repeat(r),t+e.slice(0,r))}class n1 extends Error{static buildMessage(r,e){function m(I){return I.charCodeAt(0).toString(16).toUpperCase()}function j(I){return I.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function y(I){return I.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,v=>"\\x0"+m(v)).replace(/[\x10-\x1F\x7F-\x9F]/g,v=>"\\x"+m(v))}function w(I){switch(I.type){case"literal":return'"'+j(I.text)+'"';case"class":const v=I.parts.map(_=>Array.isArray(_)?y(_[0])+"-"+y(_[1]):y(_));return"["+(I.inverted?"^":"")+v+"]";case"any":return"any character";case"end":return"end of input";case"other":return I.description}}function P(I){const v=I.map(w);let _,K;if(v.sort(),v.length>0){for(_=1,K=1;_ `+w+` -`+G+` | -`+y.line+" | "+I+` -`+G+" | "+LM("",y.column-1," ")+LM("",v-y.column,"^")}else e+=` - at `+w}return e}}function XT(t,r){r=r!==void 0?r:{};const e={},m=r.grammarSource,j={ChordSheet:pL};let y=pL;const w=function(s,u){return{type:"chordSheet",lines:[...s,...u]}},P=function(s,u,x){return ZT(s,u,x)},G=function(s){return s},I=function(s){return s},v=function(s){return{type:"chordsLine",items:s}},_=function(s){return s},K=/^[\-\/x|]/,me=we(["-","/","x","|"],!1,!1),q=function(s){return{type:"symbol",value:s,column:bL().start.column}},V=function(s){return{type:"lyricsLine",content:s}},je=function(s){return s},De=function(s){return{type:"line",items:[{type:"tag",name:"comment",value:s}]}},H="verse",ue=n("verse",!0),ye="chorus",pe=n("chorus",!0),ve="bridge",dt=n("bridge",!0),ht="tag",m1=n("tag",!0),p1="interlude",u1=n("interlude",!0),cs="instrumental",ts=n("instrumental",!0),d1="intro",h1=n("intro",!0),Gs=/^[^\n\r]/,jt=we([` -`,"\r"],!0,!1),j1=function(s,u){return[...s,u].filter(x=>x).map(([x,A])=>({type:"line",items:[{type:"tag",name:x,value:A}]}))},se=function(s,u){return{type:"line",items:[{type:"tag",name:s,value:u}]}},ce=function(s){return s},y1="{",x1=n("{",!1),C1="}",S1=n("}",!1),fs=function(s){return s},os=function(s,u){return[s,u]},v1=":",M1=n(":",!1),Os=/^[a-zA-Z0-9\-_]/,rs=we([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),zs=/^[^\n\r}]/,ks=we([` -`,"\r","}"],!0,!1),is="---",L1=n("---",!1),yt=aE("whitespace"),Bs=/^[ \t]/,Vs=we([" "," "],!1,!1),ae=/^[\n\r]/,re=we([` -`,"\r"],!1,!1),xt=` -`,Ct=n(` -`,!1),w1="\r",St=n("\r",!1),E1=function(s){return{type:"chord",...s,column:bL().start.column}},vt=/^[#b]/,A1=we(["#","b"],!1,!1),Mt=function(s,u,x,A){return{base:s,modifier:u,suffix:x,...A,chordType:"symbol"}},Lt=function(s){return{base:null,modifier:null,suffix:null,...s,chordType:"symbol"}},wt=/^[A-Ga-g]/,Et=we([["A","G"],["a","g"]],!1,!1),Ne="/",Ge=n("/",!1),as=function(s,u){return{bassBase:s,bassModifier:u}},I1=function(s,u,x,A){return{base:s,modifier:u,suffix:x,...A,chordType:"solfege"}},Ws=function(s){return{base:null,modifier:null,suffix:null,...s,chordType:"solfege"}},At="do",Hs=n("Do",!0),T1="re",Us=n("Re",!0),Ks="mi",It=n("Mi",!0),Tt="fa",Ft=n("Fa",!0),F1="sol",_t=n("Sol",!0),Rt="la",qs=n("La",!0),Pt="si",Zs=n("Si",!0),_1=function(s,u,x,A){return{base:u,modifier:s,suffix:x,...A,chordType:"numeral"}},Dt=function(s){return{base:null,modifier:null,suffix:null,...s,chordType:"numeral"}},R1="iii",Xs=n("III",!0),P1="vii",Nt=n("VII",!0),D1="ii",Gt=n("II",!0),N1="iv",Ys=n("IV",!0),Ot="vi",zt=n("VI",!0),G1=/^[IV]/i,kt=we(["I","V"],!1,!0),Bt=function(s,u){return{bassBase:u,bassModifier:s}},Vt=function(s,u,x,A){return{base:u,modifier:s,suffix:x,...A,chordType:"numeric"}},O1=function(s){return{base:null,modifier:null,suffix:null,...s,chordType:"numeric"}},Wt=/^[1-7]/,Ht=we([["1","7"]],!1,!1),ls="2(#4)(#42)(2#4)",z1=n("2(#4)(#42)(2#4)",!1),Js="maj13(+11+5)",k1=n("maj13(+11+5)",!1),Qs="maj13(#11#5)",B1=n("maj13(#11#5)",!1),ec="ma13(#11#5)",ns=n("ma13(#11#5)",!1),$s="ma13(+11+5)",V1=n("ma13(+11+5)",!1),Ee="maj13(+9+5)",Ut=n("maj13(+9+5)",!1),sc="maj13(#9#5)",gs=n("maj13(#9#5)",!1),bs="maj13(-9+5)",W1=n("maj13(-9+5)",!1),ms="maj13(b9#5)",H1=n("maj13(b9#5)",!1),ps="maj9(+11+5)",U1=n("maj9(+11+5)",!1),us="maj9(#11#5)",K1=n("maj9(#11#5)",!1),ds="maj9(-13+5)",q1=n("maj9(-13+5)",!1),hs="maj9(b13#5)",Z1=n("maj9(b13#5)",!1),js="m11(#9b13)",X1=n("m11(#9b13)",!1),ys="m11(+9-13)",Y1=n("m11(+9-13)",!1),xs="-11(#9b13)",J1=n("-11(#9b13)",!1),Cs="-11(+9-13)",Q1=n("-11(+9-13)",!1),cc="m11(b13#5)",b=n("m11(b13#5)",!1),R="m11(#5b13)",Ss=n("m11(#5b13)",!1),le="m11(+5-13)",tc=n("m11(+5-13)",!1),M="-11(#5b13)",vs=n("-11(#5b13)",!1),fc="-11(+5-13)",Ae=n("-11(+5-13)",!1),k="m11(b5b13)",ne=n("m11(b5b13)",!1),oc="m11(-5-13)",ef=n("m11(-5-13)",!1),Oe="-11(b5b13)",Kt=n("-11(b5b13)",!1),ze="-11(-5-13)",T=n("-11(-5-13)",!1),rc="m11(b9b13)",qt=n("m11(b9b13)",!1),Ms="m11(-9-13)",Zt=n("m11(-9-13)",!1),ic="-11(b9b13)",Xt=n("-11(b9b13)",!1),ac="-11(-9-13)",sf=n("-11(-9-13)",!1),lc="maj11(-13)",Ls=n("maj11(-13)",!1),ws="maj11(b13)",cf=n("maj11(b13)",!1),Es="maj13(+11)",As=n("maj13(+11)",!1),ke="maj13(#11)",tf=n("maj13(#11)",!1),nc="maj13#11#5",ff=n("maj13#11#5",!1),$c="maj13+11+5",of=n("maj13+11+5",!1),Is="+13(#11#5)",gc=n("+13(#11#5)",!1),xe="+13(+11+5)",Yt=n("+13(+11+5)",!1),bc="ma13(#9#5)",rf=n("ma13(#9#5)",!1),mc="ma13(+9+5)",Jt=n("ma13(+9+5)",!1),pc="ma13(b9#5)",Qt=n("ma13(b9#5)",!1),uc="ma13(-9+5)",e1=n("ma13(-9+5)",!1),dc="(triangle)",af=n("(triangle)",!1),hc="ma9(#11#5)",Be=n("ma9(#11#5)",!1),jc="ma9(+11+5)",lf=n("ma9(+11+5)",!1),Ts="ma9(b13#5)",Ve=n("ma9(b13#5)",!1),z="ma9(-13+5)",Fs=n("ma9(-13+5)",!1),be="add9(no3)",We=n("add9(no3)",!1),yc="min(maj7)",nf=n("min(maj7)",!1),xc="min(maj9)",He=n("min(maj9)",!1),Cc="m11(#9#5)",$f=n("m11(#9#5)",!1),Sc="m11(#5#9)",vc=n("m11(#5#9)",!1),Mc="m11(+5+9)",gf=n("m11(+5+9)",!1),Ue="-11(#5#9)",bf=n("-11(#5#9)",!1),Lc="-11(+5+9)",wc=n("-11(+5+9)",!1),Ec="m11(b5#9)",mf=n("m11(b5#9)",!1),Ke="m11(-5+9)",Ce=n("m11(-5+9)",!1),g="-11(b5#9)",p=n("-11(b5#9)",!1),h="-11(-5+9)",d=n("-11(-5+9)",!1),S="m11(b5b9)",C=n("m11(b5b9)",!1),E="m11(-5-9)",F=n("m11(-5-9)",!1),te="-11(b5b9)",fe=n("-11(b5b9)",!1),pf="-11(-5-9)",j0=n("-11(-5-9)",!1),uf="m11(b9#5)",y0=n("m11(b9#5)",!1),df="m11(#5b9)",x0=n("m11(#5b9)",!1),hf="m11(+5-9)",C0=n("m11(+5-9)",!1),jf="-11(#5b9)",S0=n("-11(#5b9)",!1),yf="-11(+5-9)",v0=n("-11(+5-9)",!1),xf="m7(add11)",M0=n("m7(add11)",!1),Cf="min7(no3)",L0=n("min7(no3)",!1),Sf="maj11(+5)",w0=n("maj11(+5)",!1),vf="maj11(#5)",E0=n("maj11(#5)",!1),Mf="maj11(+9)",A0=n("maj11(+9)",!1),Lf="maj11(#9)",I0=n("maj11(#9)",!1),wf="ma11(b13)",T0=n("ma11(b13)",!1),Ef="ma11(-13)",F0=n("ma11(-13)",!1),Af="maj11(-5)",_0=n("maj11(-5)",!1),If="maj11(b5)",R0=n("maj11(b5)",!1),Tf="maj11(-9)",P0=n("maj11(-9)",!1),Ff="maj11(b9)",D0=n("maj11(b9)",!1),_f="ma13(#11)",N0=n("ma13(#11)",!1),Rf="ma13(+11)",G0=n("ma13(+11)",!1),Pf="ma13+11+5",O0=n("ma13+11+5",!1),Df="maj13(+5)",z0=n("maj13(+5)",!1),Nf="maj13(#5)",k0=n("maj13(#5)",!1),Gf="maj13(+9)",B0=n("maj13(+9)",!1),Of="maj13(#9)",V0=n("maj13(#9)",!1),zf="maj13#9#5",W0=n("maj13#9#5",!1),kf="maj13+9+5",H0=n("maj13+9+5",!1),Bf="+13(#9#5)",U0=n("+13(#9#5)",!1),Vf="M13(+9+5)",K0=n("M13(+9+5)",!1),Wf="maj13(-5)",q0=n("maj13(-5)",!1),Hf="maj13(b5)",Z0=n("maj13(b5)",!1),Uf="maj13(-9)",X0=n("maj13(-9)",!1),Kf="maj13(b9)",Y0=n("maj13(b9)",!1),qf="maj13b9#5",J0=n("maj13b9#5",!1),Zf="maj13-9+5",Q0=n("maj13-9+5",!1),Xf="+13(b9#5)",eu=n("+13(b9#5)",!1),Yf="+13(-9+5)",su=n("+13(-9+5)",!1),Jf="maj7(+11)",cu=n("maj7(+11)",!1),Qf="maj7(#11)",tu=n("maj7(#11)",!1),eo="aug(maj7)",fu=n("aug(maj7)",!1),so="maj7(-13)",ou=n("maj7(-13)",!1),co="maj7(b13)",ru=n("maj7(b13)",!1),to="maj9(+11)",iu=n("maj9(+11)",!1),fo="maj9(#11)",au=n("maj9(#11)",!1),oo="maj9#11#5",lu=n("maj9#11#5",!1),ro="maj9+11+5",nu=n("maj9+11+5",!1),io="+9(#11#5)",$u=n("+9(#11#5)",!1),ao="+9(+11+5)",gu=n("+9(+11+5)",!1),lo="maj9(-13)",bu=n("maj9(-13)",!1),no="maj9(b13)",mu=n("maj9(b13)",!1),$o="maj9b13#5",pu=n("maj9b13#5",!1),go="maj9-13+5",uu=n("maj9-13+5",!1),bo="+9(b13#5)",du=n("+9(b13#5)",!1),mo="+9(-13+5)",hu=n("+9(-13+5)",!1),po="13(#9#5)",ju=n("13(#9#5)",!1),uo="13(+9+5)",yu=n("13(+9+5)",!1),ho="13(#9b5)",xu=n("13(#9b5)",!1),jo="13(+9-5)",Cu=n("13(+9-5)",!1),yo="13(add2)",Su=n("13(add2)",!1),xo="13(add4)",vu=n("13(add4)",!1),Co="13(b9#5)",Mu=n("13(b9#5)",!1),So="13(-9+5)",Lu=n("13(-9+5)",!1),vo="13(b9b5)",wu=n("13(b9b5)",!1),Mo="13(-9-5)",Eu=n("13(-9-5)",!1),Lo="7(#5#11)",Au=n("7(#5#11)",!1),wo="7(+5+11)",Iu=n("7(+5+11)",!1),Eo="7(#9b13)",Tu=n("7(#9b13)",!1),Ao="7(+9-13)",Fu=n("7(+9-13)",!1),Io="7(b13#9)",_u=n("7(b13#9)",!1),To="7(-13+9)",Ru=n("7(-13+9)",!1),Fo="7(b5#11)",Pu=n("7(b5#11)",!1),_o="7(-5+11)",Du=n("7(-5+11)",!1),Ro="7(b9b13)",Nu=n("7(b9b13)",!1),Po="7(-9-13)",Gu=n("7(-9-13)",!1),Do="7(b13b9)",Ou=n("7(b13b9)",!1),No="7(-13-9)",zu=n("7(-13-9)",!1),Go="7sus(b9)",ku=n("7sus(b9)",!1),Oo="b69(#11)",Bu=n("b69(#11)",!1),zo="m(add11)",Vu=n("m(add11)",!1),ko="mi(maj7)",Wu=n("mi(maj7)",!1),Bo="mi(maj9)",Hu=n("mi(maj9)",!1),Vo="m11#9b13",Uu=n("m11#9b13",!1),Ac="m11+9-13",wm=n("m11+9-13",!1),Wo="-11#9b13",Ku=n("-11#9b13",!1),Ho="-11+9-13",qu=n("-11+9-13",!1),Uo="m11(b13)",Zu=n("m11(b13)",!1),Ko="m11(-13)",Xu=n("m11(-13)",!1),qo="-11(b13)",Yu=n("-11(b13)",!1),Zo="-11(-13)",Ju=n("-11(-13)",!1),Xo="m11#5b13",Qu=n("m11#5b13",!1),Yo="m11+5-13",e6=n("m11+5-13",!1),Jo="-11#5b13",s6=n("-11#5b13",!1),Qo="-11+5-13",c6=n("-11+5-13",!1),er="m11b5b13",t6=n("m11b5b13",!1),sr="m11-5-13",f6=n("m11-5-13",!1),cr="-11b5b13",o6=n("-11b5b13",!1),tr="-11-5-13",r6=n("-11-5-13",!1),fr="m11b9b13",i6=n("m11b9b13",!1),or="m11-9-13",a6=n("m11-9-13",!1),rr="-11b9b13",l6=n("-11b9b13",!1),ir="-11-9-13",n6=n("-11-9-13",!1),ar="m13(#11)",$6=n("m13(#11)",!1),Ic="m13(+11)",Em=n("m13(+11)",!1),lr="-13(#11)",g6=n("-13(#11)",!1),nr="-13(+11)",b6=n("-13(+11)",!1),$r="-13(b13)",m6=n("-13(b13)",!1),gr="-13(-13)",p6=n("-13(-13)",!1),br="m6(add9)",u6=n("m6(add9)",!1),mr="m7(add4)",d6=n("m7(add4)",!1),Tc="m7(add6)",Am=n("m7(add6)",!1),pr="m9(maj7)",h6=n("m9(maj7)",!1),ur="ma11(#5)",j6=n("ma11(#5)",!1),dr="ma11(+5)",y6=n("ma11(+5)",!1),hr="ma11(#9)",x6=n("ma11(#9)",!1),jr="ma11(+9)",C6=n("ma11(+9)",!1),yr="maj11b13",S6=n("maj11b13",!1),xr="maj11-13",v6=n("maj11-13",!1),Cr="+11(b13)",M6=n("+11(b13)",!1),Sr="+11(-13)",L6=n("+11(-13)",!1),vr="ma11(b5)",w6=n("ma11(b5)",!1),Mr="ma11(-5)",E6=n("ma11(-5)",!1),Lr="ma11(b9)",A6=n("ma11(b9)",!1),wr="ma11(-9)",I6=n("ma11(-9)",!1),Er="maj13#11",T6=n("maj13#11",!1),Ar="maj13+11",F6=n("maj13+11",!1),Ir="+13(#11)",_6=n("+13(#11)",!1),Tr="+13(+11)",R6=n("+13(+11)",!1),Fr="+13#11#5",P6=n("+13#11#5",!1),_r="M13+11+5",D6=n("M13+11+5",!1),Fc="ma7#11#5",Im=n("ma7#11#5",!1),Rr="ma13(#5)",N6=n("ma13(#5)",!1),Pr="ma13(+5)",G6=n("ma13(+5)",!1),Dr="ma13(#9)",O6=n("ma13(#9)",!1),Nr="ma13(+9)",z6=n("ma13(+9)",!1),Gr="ma13+9+5",k6=n("ma13+9+5",!1),Or="ma13(b5)",B6=n("ma13(b5)",!1),zr="ma13(-5)",V6=n("ma13(-5)",!1),kr="ma13(b9)",W6=n("ma13(b9)",!1),Br="ma13(-9)",H6=n("ma13(-9)",!1),Vr="ma13-9+5",U6=n("ma13-9+5",!1),Wr="ma7(#11)",K6=n("ma7(#11)",!1),Hr="ma7(+11)",q6=n("ma7(+11)",!1),Ur="maj7(+5)",Z6=n("maj7(+5)",!1),Kr="maj7(#5)",X6=n("maj7(#5)",!1),qr="aug(ma7)",Y6=n("aug(ma7)",!1),Zr="maj7(+9)",J6=n("maj7(+9)",!1),Xr="maj7(#9)",Q6=n("maj7(#9)",!1),Yr="ma7(b13)",e4=n("ma7(b13)",!1),Jr="ma7(-13)",s4=n("ma7(-13)",!1),Qr="maj7(-5)",c4=n("maj7(-5)",!1),ei="maj7(b5)",t4=n("maj7(b5)",!1),si="maj7(-9)",f4=n("maj7(-9)",!1),ci="maj7(b9)",o4=n("maj7(b9)",!1),ti="ma7(no3)",r4=n("ma7(no3)",!1),fi="ma9(#11)",i4=n("ma9(#11)",!1),oi="ma9(+11)",a4=n("ma9(+11)",!1),ri="ma9+11+5",l4=n("ma9+11+5",!1),ii="maj9(+5)",n4=n("maj9(+5)",!1),ai="maj9(#5)",$4=n("maj9(#5)",!1),li="ma9(b13)",g4=n("ma9(b13)",!1),ni="ma9(-13)",b4=n("ma9(-13)",!1),$i="ma7b13#5",m4=n("ma7b13#5",!1),gi="ma9-13+5",p4=n("ma9-13+5",!1),bi="maj9(-5)",u4=n("maj9(-5)",!1),mi="maj9(b5)",d4=n("maj9(b5)",!1),pi="sus(no5)",h4=n("sus(no5)",!1),ui="(add11)",j4=n("(add11)",!1),di="(add13)",y4=n("(add13)",!1),hi="[blank]",x4=n("[blank]",!1),ji="11(b13)",C4=n("11(b13)",!1),yi="11(-13)",S4=n("11(-13)",!1),xi="m11sus4",v4=n("m11sus4",!1),Ci="13(#11)",M4=n("13(#11)",!1),Si="13(+11)",L4=n("13(+11)",!1),vi="m13sus4",w4=n("m13sus4",!1),Mi="sus2(4)",E4=n("sus2(4)",!1),Li="6(add9)",A4=n("6(add9)",!1),wi="7(#9#5)",I4=n("7(#9#5)",!1),Ei="7(#5#9)",T4=n("7(#5#9)",!1),Ai="7(+5+9)",F4=n("7(+5+9)",!1),Ii="7(#9b5)",_4=n("7(#9b5)",!1),Ti="7(b5#9)",R4=n("7(b5#9)",!1),Fi="7(-5+9)",P4=n("7(-5+9)",!1),_i="7(b5b9)",D4=n("7(b5b9)",!1),Ri="7(-5-9)",N4=n("7(-5-9)",!1),Pi="7(b9#5)",G4=n("7(b9#5)",!1),Di="7(#5b9)",O4=n("7(#5b9)",!1),Ni="7(+5-9)",z4=n("7(+5-9)",!1),Gi="7(b9b5)",k4=n("7(b9b5)",!1),Oi="7b9sus4",B4=n("7b9sus4",!1),zi="7sus(6)",V4=n("7sus(6)",!1),_c="m(add4)",Tm=n("m(add4)",!1),ki="m(add9)",W4=n("m(add9)",!1),Bi="m(maj7)",H4=n("m(maj7)",!1),Vi="m(maj9)",U4=n("m(maj9)",!1),Wi="m11(#5)",K4=n("m11(#5)",!1),Hi="m11(+5)",q4=n("m11(+5)",!1),Ui="-11(#5)",Z4=n("-11(#5)",!1),Ki="-11(+5)",X4=n("-11(+5)",!1),qi="m11(#9)",Y4=n("m11(#9)",!1),Zi="m11(+9)",J4=n("m11(+9)",!1),Xi="-11(#9)",Q4=n("-11(#9)",!1),Yi="-11(+9)",e2=n("-11(+9)",!1),Ji="m11#5#9",s2=n("m11#5#9",!1),Qi="m11+5+9",c2=n("m11+5+9",!1),ea="-11#5#9",t2=n("-11#5#9",!1),sa="m11(b5)",f2=n("m11(b5)",!1),ca="m11(-5)",o2=n("m11(-5)",!1),ta="-11(b5)",r2=n("-11(b5)",!1),fa="-11(-5)",i2=n("-11(-5)",!1),oa="m11b5#9",a2=n("m11b5#9",!1),ra="m11-5+9",l2=n("m11-5+9",!1),ia="-11b5#9",n2=n("-11b5#9",!1),aa="-11-5+9",$2=n("-11-5+9",!1),la="m11b5b9",g2=n("m11b5b9",!1),na="m11-5-9",b2=n("m11-5-9",!1),$a="-11b5b9",m2=n("-11b5b9",!1),ga="-11-5-9",p2=n("-11-5-9",!1),Rc="m11(b9)",Fm=n("m11(b9)",!1),ba="m11(-9)",u2=n("m11(-9)",!1),ma="-11(b9)",d2=n("-11(b9)",!1),pa="-11(-9)",h2=n("-11(-9)",!1),Pc="m11#5b9",_m=n("m11#5b9",!1),ua="m11+5-9",j2=n("m11+5-9",!1),da="-11#5b9",y2=n("-11#5b9",!1),ha="m13(#5)",x2=n("m13(#5)",!1),ja="m13(+5)",C2=n("m13(+5)",!1),ya="-13(#5)",S2=n("-13(#5)",!1),xa="-13(+5)",v2=n("-13(+5)",!1),Ca="m13(#9)",M2=n("m13(#9)",!1),Sa="m13(+9)",L2=n("m13(+9)",!1),va="-13(#9)",w2=n("-13(#9)",!1),Ma="-13(+9)",E2=n("-13(+9)",!1),La="m13(b5)",A2=n("m13(b5)",!1),wa="m13(-5)",I2=n("m13(-5)",!1),Ea="-13(b5)",T2=n("-13(b5)",!1),Aa="-13(-5)",F2=n("-13(-5)",!1),Ia="m13(b9)",_2=n("m13(b9)",!1),Ta="m13(-9)",R2=n("m13(-9)",!1),Fa="m(add2)",P2=n("m(add2)",!1),_a="m6(ma7)",D2=n("m6(ma7)",!1),Ra="m7(#11)",N2=n("m7(#11)",!1),Pa="m7(+11)",G2=n("m7(+11)",!1),Da="-7(#11)",O2=n("-7(#11)",!1),Na="-7(+11)",z2=n("-7(+11)",!1),Ga="m7(b13)",k2=n("m7(b13)",!1),Oa="m7(-13)",B2=n("m7(-13)",!1),za="-7(b13)",V2=n("-7(b13)",!1),ka="-7(-13)",W2=n("-7(-13)",!1),Dc="m7(no3)",Rm=n("m7(no3)",!1),Ba="m9(#11)",H2=n("m9(#11)",!1),Va="m9(+11)",U2=n("m9(+11)",!1),Wa="-9(#11)",K2=n("-9(#11)",!1),Ha="-9(+11)",q2=n("-9(+11)",!1),Ua="m9(b13)",Z2=n("m9(b13)",!1),Ka="m9(-13)",X2=n("m9(-13)",!1),qa="-9(b13)",Y2=n("-9(b13)",!1),Za="-9(-13)",J2=n("-9(-13)",!1),Xa="m9(ma7)",Q2=n("m9(ma7)",!1),Ya="maj9b11",ed=n("maj9b11",!1),Ja="maj11#5",sd=n("maj11#5",!1),Qa="maj11+5",cd=n("maj11+5",!1),el="+11(#5)",td=n("+11(#5)",!1),sl="+11(+5)",fd=n("+11(+5)",!1),cl="maj11#9",od=n("maj11#9",!1),tl="maj11+9",rd=n("maj11+9",!1),fl="+11(#9)",id=n("+11(#9)",!1),ol="+11(+9)",ad=n("+11(+9)",!1),rl="ma11b13",ld=n("ma11b13",!1),il="ma11-13",nd=n("ma11-13",!1),al="maj11b5",$d=n("maj11b5",!1),ll="maj11-5",gd=n("maj11-5",!1),nl="+11(b5)",bd=n("+11(b5)",!1),$l="+11(-5)",md=n("+11(-5)",!1),gl="maj11b9",pd=n("maj11b9",!1),bl="maj11-9",ud=n("maj11-9",!1),ml="+11(b9)",dd=n("+11(b9)",!1),pl="M11(-9)",hd=n("M11(-9)",!1),ul="ma13+11",jd=n("ma13+11",!1),dl="maj13#5",yd=n("maj13#5",!1),hl="maj13+5",xd=n("maj13+5",!1),jl="+13(#5)",Cd=n("+13(#5)",!1),yl="+13(+5)",Sd=n("+13(+5)",!1),xl="maj13#9",vd=n("maj13#9",!1),Cl="maj13+9",Md=n("maj13+9",!1),Sl="+13(#9)",Ld=n("+13(#9)",!1),vl="M13(+9)",wd=n("M13(+9)",!1),Ml="+13#9#5",Ed=n("+13#9#5",!1),Ll="+13+9+5",Ad=n("+13+9+5",!1),wl="ma7#9#5",Id=n("ma7#9#5",!1),El="maj13b5",Td=n("maj13b5",!1),Al="maj13-5",Fd=n("maj13-5",!1),Il="+13(b5)",_d=n("+13(b5)",!1),Tl="+13(-5)",Rd=n("+13(-5)",!1),Fl="maj13b9",Pd=n("maj13b9",!1),_l="maj13-9",Dd=n("maj13-9",!1),Rl="+13(b9)",Nd=n("+13(b9)",!1),Pl="+13(-9)",Gd=n("+13(-9)",!1),Dl="+13b9#5",Od=n("+13b9#5",!1),Nl="M13-9+5",zd=n("M13-9+5",!1),Gl="ma7b9#5",kd=n("ma7b9#5",!1),Ol="maj7#11",Bd=n("maj7#11",!1),zl="maj7+11",Vd=n("maj7+11",!1),kl="+7(#11)",Wd=n("+7(#11)",!1),Bl="+7(+11)",Hd=n("+7(+11)",!1),Vl="ma7(#4)",Ud=n("ma7(#4)",!1),Wl="ma7(#5)",Kd=n("ma7(#5)",!1),Hl="ma7(+5)",qd=n("ma7(+5)",!1),Ul="aug(M7)",Zd=n("aug(M7)",!1),Kl="aug(+7)",Xd=n("aug(+7)",!1),ql="ma7(#9)",Yd=n("ma7(#9)",!1),Zl="ma7(+9)",Jd=n("ma7(+9)",!1),Xl="maj7b13",Qd=n("maj7b13",!1),Yl="maj7-13",e8=n("maj7-13",!1),Jl="+7(b13)",s8=n("+7(b13)",!1),Ql="+7(-13)",c8=n("+7(-13)",!1),en="ma7(b5)",t8=n("ma7(b5)",!1),sn="ma7(-5)",f8=n("ma7(-5)",!1),cn="ma7(b9)",o8=n("ma7(b9)",!1),tn="ma7(-9)",r8=n("ma7(-9)",!1),fn="maj9#11",i8=n("maj9#11",!1),on="maj9+11",a8=n("maj9+11",!1),rn="+9(#11)",l8=n("+9(#11)",!1),an="+9(+11)",n8=n("+9(+11)",!1),ln="+9#11#5",$8=n("+9#11#5",!1),nn="M9+11+5",g8=n("M9+11+5",!1),$n="ma9(#4)",b8=n("ma9(#4)",!1),gn="ma9(#5)",m8=n("ma9(#5)",!1),bn="ma9(+5)",p8=n("ma9(+5)",!1),mn="ma9(13)",u8=n("ma9(13)",!1),pn="maj9b13",d8=n("maj9b13",!1),un="maj9-13",h8=n("maj9-13",!1),dn="+9(b13)",j8=n("+9(b13)",!1),hn="+9(-13)",y8=n("+9(-13)",!1),jn="+9b13#5",x8=n("+9b13#5",!1),yn="M9-13+5",C8=n("M9-13+5",!1),xn="ma9(b5)",S8=n("ma9(b5)",!1),Cn="ma9(-5)",v8=n("ma9(-5)",!1),Sn="(add2)",M8=n("(add2)",!1),vn="(add4)",L8=n("(add4)",!1),Mn="sus(4)",w8=n("sus(4)",!1),Ln="(add6)",E8=n("(add6)",!1),wn="(add9)",A8=n("(add9)",!1),En="(unis)",I8=n("(unis)",!1),An="11(#5)",T8=n("11(#5)",!1),In="11(+5)",F8=n("11(+5)",!1),Tn="11(#9)",_8=n("11(#9)",!1),Fn="11(+9)",R8=n("11(+9)",!1),_n="11(b5)",P8=n("11(b5)",!1),Rn="11(-5)",D8=n("11(-5)",!1),Pn="11(b9)",N8=n("11(b9)",!1),Dn="11(-9)",G8=n("11(-9)",!1),Nn="11sus4",O8=n("11sus4",!1),Gn="m11sus",z8=n("m11sus",!1),On="13(#5)",k8=n("13(#5)",!1),zn="13(+5)",B8=n("13(+5)",!1),kn="13(#9)",V8=n("13(#9)",!1),Bn="13(+9)",W8=n("13(+9)",!1),Nc="13#9#5",Pm=n("13#9#5",!1),Vn="13+9+5",H8=n("13+9+5",!1),Wn="13#9b5",U8=n("13#9b5",!1),Hn="13+9-5",K8=n("13+9-5",!1),Un="13(b5)",q8=n("13(b5)",!1),Kn="13(-5)",Z8=n("13(-5)",!1),qn="13(b9)",X8=n("13(b9)",!1),Zn="13(-9)",Y8=n("13(-9)",!1),Xn="13b9#5",J8=n("13b9#5",!1),Yn="13-9+5",Q8=n("13-9+5",!1),Jn="13b9b5",eh=n("13b9b5",!1),Qn="13-9-5",sh=n("13-9-5",!1),e$="13sus4",ch=n("13sus4",!1),s$="m13sus",th=n("m13sus",!1),c$="2(#11)",fh=n("2(#11)",!1),t$="2(ma7)",oh=n("2(ma7)",!1),f$="2(no3)",rh=n("2(no3)",!1),o$="5(no3)",ih=n("5(no3)",!1),r$="6(no3)",ah=n("6(no3)",!1),i$="7(#11)",lh=n("7(#11)",!1),a$="7(+11)",nh=n("7(+11)",!1),l$="7#5#11",$h=n("7#5#11",!1),n$="7+5+11",gh=n("7+5+11",!1),$$="7#9b13",bh=n("7#9b13",!1),g$="7+9-13",mh=n("7+9-13",!1),b$="7b13#9",ph=n("7b13#9",!1),m$="7-13+9",uh=n("7-13+9",!1),Gc="7(b13)",Dm=n("7(b13)",!1),p$="7(-13)",dh=n("7(-13)",!1),u$="7b5#11",hh=n("7b5#11",!1),d$="7-5+11",jh=n("7-5+11",!1),h$="7b9b13",yh=n("7b9b13",!1),j$="7-9-13",xh=n("7-9-13",!1),y$="7b13b9",Ch=n("7b13b9",!1),x$="7-13-9",Sh=n("7-13-9",!1),C$="7(no3)",vh=n("7(no3)",!1),S$="9(#11)",Mh=n("9(#11)",!1),v$="9(+11)",Lh=n("9(+11)",!1),M$="9(b13)",wh=n("9(b13)",!1),L$="9(-13)",Eh=n("9(-13)",!1),w$="m9sus4",Ah=n("m9sus4",!1),E$="b69sus",Ih=n("b69sus",!1),A$="m(ma7)",Th=n("m(ma7)",!1),I$="m(ma9)",Fh=n("m(ma9)",!1),T$="m(no5)",_h=n("m(no5)",!1),F$="m9+5+9",Rh=n("m9+5+9",!1),_$="m11b13",Ph=n("m11b13",!1),R$="m11-13",Dh=n("m11-13",!1),P$="-11b13",Nh=n("-11b13",!1),D$="-11-13",Gh=n("-11-13",!1),N$="m9+5-9",Oh=n("m9+5-9",!1),G$="m13#11",zh=n("m13#11",!1),O$="m13+11",kh=n("m13+11",!1),z$="-13#11",Bh=n("-13#11",!1),k$="-13+11",Vh=n("-13+11",!1),B$="-13b13",Wh=n("-13b13",!1),V$="-13-13",Hh=n("-13-13",!1),W$="m6(#5)",Uh=n("m6(#5)",!1),H$="m6add9",Kh=n("m6add9",!1),U$="m6(M7)",qh=n("m6(M7)",!1),K$="m6(+7)",Zh=n("m6(+7)",!1),q$="m7(#5)",Xh=n("m7(#5)",!1),Z$="m7(+5)",Yh=n("m7(+5)",!1),X$="-7(#5)",Jh=n("-7(#5)",!1),Y$="-7(+5)",Qh=n("-7(+5)",!1),J$="m7(#9)",ej=n("m7(#9)",!1),Q$="m7(+9)",sj=n("m7(+9)",!1),eg="-7(#9)",cj=n("-7(#9)",!1),sg="-7(+9)",tj=n("-7(+9)",!1),cg="m7(11)",fj=n("m7(11)",!1),tg="m7(b5)",oj=n("m7(b5)",!1),fg="m7(-5)",rj=n("m7(-5)",!1),og="-7(b5)",ij=n("-7(b5)",!1),rg="-7(-5)",aj=n("-7(-5)",!1),ig="m7(b9)",lj=n("m7(b9)",!1),ag="m7(-9)",nj=n("m7(-9)",!1),lg="-7(b9)",$j=n("-7(b9)",!1),ng="-7(-9)",gj=n("-7(-9)",!1),qe="m7sus4",$g=n("m7sus4",!1),gg="m9(#5)",bj=n("m9(#5)",!1),bg="m9(+5)",mj=n("m9(+5)",!1),mg="-9(#5)",pj=n("-9(#5)",!1),pg="-9(+5)",uj=n("-9(+5)",!1),ug="m9(#7)",dj=n("m9(#7)",!1),dg="m9(b5)",hj=n("m9(b5)",!1),hg="m9(-5)",jj=n("m9(-5)",!1),jg="-9(b5)",yj=n("-9(b5)",!1),yg="-9(-5)",xj=n("-9(-5)",!1),xg="m9(+7)",Cj=n("m9(+7)",!1),Cg="m9(M7)",Sj=n("m9(M7)",!1),Sg="11(#7)",vj=n("11(#7)",!1),vg="11(+7)",Mj=n("11(+7)",!1),Mg="ma11#5",Lj=n("ma11#5",!1),Lg="ma11+5",wj=n("ma11+5",!1),wg="ma11#9",Ej=n("ma11#9",!1),Eg="ma11+9",Aj=n("ma11+9",!1),Ag="+11b13",Ij=n("+11b13",!1),Oc="M11-13",Nm=n("M11-13",!1),Ig="ma11b5",Tj=n("ma11b5",!1),Tg="ma11-5",Fj=n("ma11-5",!1),Fg="ma11b9",_j=n("ma11b9",!1),_g="ma11-9",Rj=n("ma11-9",!1),Rg="13(#7)",Pj=n("13(#7)",!1),Pg="+13#11",Dj=n("+13#11",!1),Dg="M13+11",Nj=n("M13+11",!1),Ze="ma7#11",Ng=n("ma7#11",!1),Gg="ma13#5",Gj=n("ma13#5",!1),Og="ma13+5",Oj=n("ma13+5",!1),zg="ma13#9",zj=n("ma13#9",!1),kg="ma13+9",kj=n("ma13+9",!1),Bg="ma13b5",Bj=n("ma13b5",!1),Vg="ma13-5",Vj=n("ma13-5",!1),Wg="ma13b9",Wj=n("ma13b9",!1),Hg="ma13-9",Hj=n("ma13-9",!1),Ug="ma6(9)",Uj=n("ma6(9)",!1),Kg="ma7+11",Kj=n("ma7+11",!1),qg="maj7#5",qj=n("maj7#5",!1),Zg="maj7+5",Zj=n("maj7+5",!1),Xg="+7(#5)",Xj=n("+7(#5)",!1),Yg="+7(+5)",Yj=n("+7(+5)",!1),Jg="maj7#9",Jj=n("maj7#9",!1),Qg="maj7+9",Qj=n("maj7+9",!1),e5="+7(#9)",ey=n("+7(#9)",!1),s5="+7(+9)",sy=n("+7(+9)",!1),zc="ma7b13",Gm=n("ma7b13",!1),c5="ma7-13",cy=n("ma7-13",!1),t5="maj7b5",ty=n("maj7b5",!1),f5="maj7-5",fy=n("maj7-5",!1),o5="+7(b5)",oy=n("+7(b5)",!1),kc="+7(-5)",Om=n("+7(-5)",!1),r5="maj7b9",ry=n("maj7b9",!1),i5="maj7-9",iy=n("maj7-9",!1),a5="+7(b9)",ay=n("+7(b9)",!1),l5="+7(-9)",ly=n("+7(-9)",!1),n5="ma9+11",ny=n("ma9+11",!1),$5="maj9#5",$y=n("maj9#5",!1),g5="maj9+5",gy=n("maj9+5",!1),b5="+9(#5)",by=n("+9(#5)",!1),m5="+9(+5)",my=n("+9(+5)",!1),p5="ma9-13",py=n("ma9-13",!1),u5="maj9b5",uy=n("maj9b5",!1),d5="maj9-5",dy=n("maj9-5",!1),h5="+9(b5)",hy=n("+9(b5)",!1),j5="+9(-5)",jy=n("+9(-5)",!1),y5="sus#42",yy=n("sus#42",!1),x5="add11",xy=n("add11",!1),C5="add13",Cy=n("add13",!1),S5="major",Sy=n("major",!1),v5="dom11",vy=n("dom11",!1),M5="11b13",My=n("11b13",!1),L5="11-13",Ly=n("11-13",!1),w5="11sus",wy=n("11sus",!1),E5="dom13",Ey=n("dom13",!1),A5="13#11",Ay=n("13#11",!1),I5="13+11",Iy=n("13+11",!1),T5="13sus",Ty=n("13sus",!1),Bc="2(#4)",zm=n("2(#4)",!1),F5="2(+4)",Fy=n("2(+4)",!1),_5="(#4)2",_y=n("(#4)2",!1),R5="2(+7)",Ry=n("2(+7)",!1),P5="sus42",Py=n("sus42",!1),D5="(no3)",Dy=n("(no3)",!1),N5="6(b9)",Ny=n("6(b9)",!1),G5="7(#5)",Gy=n("7(#5)",!1),O5="7(+5)",Oy=n("7(+5)",!1),z5="7(#9)",zy=n("7(#9)",!1),k5="7(+9)",ky=n("7(+9)",!1),B5="7#5#9",By=n("7#5#9",!1),V5="7+5+9",Vy=n("7+5+9",!1),W5="7(b5)",Wy=n("7(b5)",!1),H5="7(-5)",Hy=n("7(-5)",!1),U5="7b5#9",Uy=n("7b5#9",!1),K5="7-5+9",Ky=n("7-5+9",!1),q5="7b5b9",qy=n("7b5b9",!1),Z5="7-5-9",Zy=n("7-5-9",!1),X5="7(b9)",Xy=n("7(b9)",!1),Y5="7(-9)",Yy=n("7(-9)",!1),J5="7#5b9",Jy=n("7#5b9",!1),Q5="7+5-9",Qy=n("7+5-9",!1),eb="7aug5",ex=n("7aug5",!1),sb="7sus4",sx=n("7sus4",!1),cb="9(#5)",cx=n("9(#5)",!1),tb="9(+5)",tx=n("9(+5)",!1),fb="9(b5)",fx=n("9(b5)",!1),ob="9(-5)",ox=n("9(-5)",!1),rb="9sus4",rx=n("9sus4",!1),ib="m9sus",ix=n("m9sus",!1),Vc="b9sus",km=n("b9sus",!1),ab="m(b5)",ax=n("m(b5)",!1),lb="m(-5)",lx=n("m(-5)",!1),nb="-(b5)",nx=n("-(b5)",!1),$b="minor",$x=n("minor",!1),gb="m(11)",gx=n("m(11)",!1),bb="m(M7)",bx=n("m(M7)",!1),mb="m(+7)",mx=n("m(+7)",!1),pb="m(M9)",px=n("m(M9)",!1),ub="m(+9)",ux=n("m(+9)",!1),db="min11",dx=n("min11",!1),hb="m11#5",hx=n("m11#5",!1),jb="m11+5",jx=n("m11+5",!1),yb="-11#5",yx=n("-11#5",!1),xb="m11#9",xx=n("m11#9",!1),Cb="m11+9",Cx=n("m11+9",!1),Sb="-11#9",Sx=n("-11#9",!1),vb="-11+9",vx=n("-11+9",!1),Wc="m11b5",Bm=n("m11b5",!1),Mb="m11-5",Mx=n("m11-5",!1),Lb="-11b5",Lx=n("-11b5",!1),wb="m11b9",wx=n("m11b9",!1),Eb="m11-9",Ex=n("m11-9",!1),Ab="-11b9",Ax=n("-11b9",!1),Ib="-11-9",Ix=n("-11-9",!1),Tb="min13",Tx=n("min13",!1),Fb="m13#5",Fx=n("m13#5",!1),Hc="m13+5",Vm=n("m13+5",!1),_b="-13#5",_x=n("-13#5",!1),Rb="m13#9",Rx=n("m13#9",!1),Pb="m13+9",Px=n("m13+9",!1),Db="-13#9",Dx=n("-13#9",!1),Nb="-13+9",Nx=n("-13+9",!1),Gb="m13b5",Gx=n("m13b5",!1),Ob="m13-5",Ox=n("m13-5",!1),zb="-13b5",zx=n("-13b5",!1),kb="-13-5",kx=n("-13-5",!1),Bb="m13b9",Bx=n("m13b9",!1),Vb="m13-9",Vx=n("m13-9",!1),Wb="madd2",Wx=n("madd2",!1),Hb="m6(9)",Hx=n("m6(9)",!1),Ub="m7#11",Ux=n("m7#11",!1),Kb="m7+11",Kx=n("m7+11",!1),qb="-7#11",qx=n("-7#11",!1),Zb="-7+11",Zx=n("-7+11",!1),Uc="m7(4)",Wm=n("m7(4)",!1),Xb="m7(6)",Xx=n("m7(6)",!1),Yb="m7b13",Yx=n("m7b13",!1),Jb="m7-13",Jx=n("m7-13",!1),Qb="-7b13",Qx=n("-7b13",!1),e9="-7-13",eC=n("-7-13",!1),s9="m7sus",sC=n("m7sus",!1),c9="m9#11",cC=n("m9#11",!1),t9="m9+11",tC=n("m9+11",!1),f9="-9#11",fC=n("-9#11",!1),o9="-9+11",oC=n("-9+11",!1),r9="m9b13",rC=n("m9b13",!1),i9="m9-13",iC=n("m9-13",!1),a9="-9b13",aC=n("-9b13",!1),l9="-9-13",lC=n("-9-13",!1),n9="+11#5",nC=n("+11#5",!1),$9="M11+5",$C=n("M11+5",!1),g9="+11#9",gC=n("+11#9",!1),b9="M11+9",bC=n("M11+9",!1),m9="+11b5",mC=n("+11b5",!1),p9="M11-5",pC=n("M11-5",!1),u9="+11b9",uC=n("+11b9",!1),d9="+11-9",dC=n("+11-9",!1),h9="+13#5",hC=n("+13#5",!1),j9="M13+5",jC=n("M13+5",!1),y9="+13#9",yC=n("+13#9",!1),x9="+13+9",xC=n("+13+9",!1),C9="+13b5",CC=n("+13b5",!1),S9="M13-5",SC=n("M13-5",!1),v9="+13b9",vC=n("+13b9",!1),M9="M13-9",MC=n("M13-9",!1),L9="+7#11",LC=n("+7#11",!1),w9="M7+11",wC=n("M7+11",!1),E9="ma7#5",EC=n("ma7#5",!1),A9="ma7+5",AC=n("ma7+5",!1),I9="ma7#9",IC=n("ma7#9",!1),T9="ma7+9",TC=n("ma7+9",!1),F9="+7b13",FC=n("+7b13",!1),_9="M7-13",_C=n("M7-13",!1),R9="ma7b5",RC=n("ma7b5",!1),P9="ma7-5",PC=n("ma7-5",!1),D9="ma7b9",DC=n("ma7b9",!1),N9="ma7-9",NC=n("ma7-9",!1),G9="9(#7)",GC=n("9(#7)",!1),O9="+9#11",OC=n("+9#11",!1),z9="M9+11",zC=n("M9+11",!1),k9="ma9#5",kC=n("ma9#5",!1),B9="ma9+5",BC=n("ma9+5",!1),V9="+9b13",VC=n("+9b13",!1),W9="M9-13",WC=n("M9-13",!1),H9="ma9b5",HC=n("ma9b5",!1),U9="ma9-5",UC=n("ma9-5",!1),K9="(#4)",KC=n("(#4)",!1),q9="(+4)",qC=n("(+4)",!1),Z9="(11)",ZC=n("(11)",!1),X9="(13)",XC=n("(13)",!1),Y9="add2",YC=n("add2",!1),J9="add4",JC=n("add4",!1),Q9="add6",QC=n("add6",!1),e3="add9",eS=n("add9",!1),s3="(b5)",sS=n("(b5)",!1),c3="(-5)",cS=n("(-5)",!1),t3="2(6)",tS=n("2(6)",!1),f3="(b6)",fS=n("(b6)",!1),o3="unis",oS=n("unis",!1),r3="Majj",rS=n("Majj",!1),i3="(#5)",iS=n("(#5)",!1),a3="(+5)",aS=n("(+5)",!1),l3="11#5",lS=n("11#5",!1),n3="11+5",nS=n("11+5",!1),$3="11#9",$S=n("11#9",!1),g3="11+9",gS=n("11+9",!1),b3="11b5",bS=n("11b5",!1),m3="11-5",mS=n("11-5",!1),p3="11b9",pS=n("11b9",!1),u3="11-9",uS=n("11-9",!1),d3="13#5",dS=n("13#5",!1),h3="13+5",hS=n("13+5",!1),j3="13#9",jS=n("13#9",!1),y3="13+9",yS=n("13+9",!1),x3="13b5",xS=n("13b5",!1),C3="13-5",CS=n("13-5",!1),Xe="13b9",S3=n("13b9",!1),Kc="13-9",Hm=n("13-9",!1),v3="sus2",SS=n("sus2",!1),M3="2(4)",vS=n("2(4)",!1),L3="4(2)",MS=n("4(2)",!1),w3="6(2)",LS=n("6(2)",!1),E3="6(9)",wS=n("6(9)",!1),A3="dom7",ES=n("dom7",!1),I3="7#11",AS=n("7#11",!1),qc="7+11",Um=n("7+11",!1),T3="aug7",IS=n("aug7",!1),F3="7(6)",TS=n("7(6)",!1),Zc="7b13",Km=n("7b13",!1),_3="7-13",FS=n("7-13",!1),R3="7sus",_S=n("7sus",!1),Xc="dom9",qm=n("dom9",!1),P3="9#11",RS=n("9#11",!1),D3="9+11",PS=n("9+11",!1),Yc="aug9",Zm=n("aug9",!1),N3="9b13",DS=n("9b13",!1),G3="9-13",NS=n("9-13",!1),O3="9aug",GS=n("9aug",!1),z3="9sus",OS=n("9sus",!1),k3="dim7",zS=n("dim7",!1),B3="m(4)",kS=n("m(4)",!1),V3="m(9)",BS=n("m(9)",!1),W3="mi11",VS=n("mi11",!1),Me="m9+5",s1=n("m9+5",!1),Ye="-9-5",H3=n("-9-5",!1),U3="mi13",WS=n("mi13",!1),K3="min2",HS=n("min2",!1),Jc="min6",Xm=n("min6",!1),q3="m6M7",US=n("m6M7",!1),Z3="m6+7",KS=n("m6+7",!1),X3="min7",qS=n("min7",!1),Y3="m7#5",ZS=n("m7#5",!1),Qc="m7+5",Ym=n("m7+5",!1),J3="-7#5",XS=n("-7#5",!1),Q3="m7#9",YS=n("m7#9",!1),et="m7+9",Jm=n("m7+9",!1),e7="-7#9",JS=n("-7#9",!1),s7="m7b5",QS=n("m7b5",!1),st="m7-5",Qm=n("m7-5",!1),c7="-7b5",ev=n("-7b5",!1),t7="m7b9",sv=n("m7b9",!1),ct="m7-9",ep=n("m7-9",!1),f7="-7b9",cv=n("-7b9",!1),o7="min9",tv=n("min9",!1),r7="m9#5",fv=n("m9#5",!1),i7="-9#5",ov=n("-9#5",!1),a7="m9b5",rv=n("m9b5",!1),l7="m9-5",iv=n("m9-5",!1),n7="-9b5",av=n("-9b5",!1),$7="m9M7",lv=n("m9M7",!1),tt="maj9",sp=n("maj9",!1),ft="ma11",cp=n("ma11",!1),g7="11#7",nv=n("11#7",!1),b7="11+7",$v=n("11+7",!1),ot="ma13",tp=n("ma13",!1),m7="ma69",gv=n("ma69",!1),p7="Maj7",bv=n("Maj7",!1),u7="maj7",mv=n("maj7",!1),d7="+7#5",pv=n("+7#5",!1),h7="M7+5",uv=n("M7+5",!1),j7="+7#9",dv=n("+7#9",!1),y7="M7+9",hv=n("M7+9",!1),x7="+7b5",jv=n("+7b5",!1),C7="M7-5",yv=n("M7-5",!1),S7="+7b9",xv=n("+7b9",!1),v7="M7-9",Cv=n("M7-9",!1),M7="+9#5",Sv=n("+9#5",!1),L7="M9+5",vv=n("M9+5",!1),w7="+9b5",Mv=n("+9b5",!1),E7="M9-5",Lv=n("M9-5",!1),A7="sus4",wv=n("sus4",!1),I7="(2)",Ev=n("(2)",!1),T7="(4)",Av=n("(4)",!1),F7="(6)",Iv=n("(6)",!1),_7="(7)",Tv=n("(7)",!1),R7="(9)",Fv=n("(9)",!1),P7="maj",_v=n("maj",!1),D7="aug",Rv=n("aug",!1),N7="2+4",Pv=n("2+4",!1),G7="2#4",Dv=n("2#4",!1),O7="no3",Nv=n("no3",!1),z7="7#5",Gv=n("7#5",!1),k7="7+5",Ov=n("7+5",!1),Je="7#9",B7=n("7#9",!1),V7="7+9",zv=n("7+9",!1),W7="7b5",kv=n("7b5",!1),H7="7-5",Bv=n("7-5",!1),U7="7b9",Vv=n("7b9",!1),K7="7-9",Wv=n("7-9",!1),q7="9#5",Hv=n("9#5",!1),Z7="9+5",Uv=n("9+5",!1),X7="9b5",Kv=n("9b5",!1),Y7="9-5",qv=n("9-5",!1),J7="dim",Zv=n("dim",!1),Q7="mb5",Xv=n("mb5",!1),em="m-5",Yv=n("m-5",!1),sm="-b5",Jv=n("-b5",!1),cm="min",Qv=n("min",!1),tm="m+7",eM=n("m+7",!1),fm="m+9",sM=n("m+9",!1),rt="m11",fp=n("m11",!1),om="-11",cM=n("-11",!1),rm="m13",tM=n("m13",!1),im="-13",fM=n("-13",!1),am="mi2",oM=n("mi2",!1),lm="mi6",rM=n("mi6",!1),op="m69",rp=n("m69",!1),ip="mi7",ap=n("mi7",!1),lp="m74",np=n("m74",!1),$p="mi9",gp=n("mi9",!1),_s="ma9",c1=n("ma9",!1),bp="+11",mp=n("+11",!1),pp="M11",up=n("M11",!1),dp="+13",hp=n("+13",!1),jp="M13",yp=n("M13",!1),xp="ma6",Cp=n("ma6",!1),Sp="ma7",vp=n("ma7",!1),Mp="sus",Lp=n("sus",!1),wp="#4",Ep=n("#4",!1),Ap="+4",iM=n("+4",!1),Ip="-5",o=n("-5",!1),ie="b5",t1=n("b5",!1),de="ma",nm=n("ma",!1),it="Ma",aM=n("Ma",!1),$="#5",at=n("#5",!1),Tp="+5",Fp=n("+5",!1),f1="11",l=n("11",!1),o1="13",$m=n("13",!1),Le="42",lM=n("42",!1),gm="69",_p=n("69",!1),Rp="x7",Pp=n("x7",!1),bm="x9",nM=n("x9",!1),mm="o7",Dp=n("o7",!1),$M=n("mi",!1),pm="m2",Np=n("m2",!1),lt="m4",gM=n("m4",!1),Gp="m6",bM=n("m6",!1),Op="-6",mM=n("-6",!1),zp="m7",pM=n("m7",!1),kp="-7",uM=n("-7",!1),Bp="m9",c=n("m9",!1),L="-9",D=n("-9",!1),N="+7",B=n("+7",!1),lL="#7",sE=n("#7",!1),nL="M7",cE=n("M7",!1),$L="+9",tE=n("+9",!1),gL="M9",fE=n("M9",!1),oE=/^[+\-24-79Mmx]/,rE=we(["+","-","2",["4","7"],"9","M","m","x"],!1,!1);let f=0,W=0;const Vp=[{line:1,column:1}];let Ie=0,dM=[],i=0,Wp;if(r.startRule!==void 0){if(!(r.startRule in j))throw new Error(`Can't start parsing from rule "`+r.startRule+'".');y=j[r.startRule]}function bL(){return hM(W,f)}function n(s,u){return{type:"literal",text:s,ignoreCase:u}}function we(s,u,x){return{type:"class",parts:s,inverted:u,ignoreCase:x}}function iE(){return{type:"end"}}function aE(s){return{type:"other",description:s}}function mL(s){let u=Vp[s],x;if(u)return u;for(x=s-1;!Vp[x];)x--;for(u=Vp[x],u={line:u.line,column:u.column};xIe&&(Ie=f,dM=[]),dM.push(s))}function lE(s,u,x){return new n1(n1.buildMessage(s,u),s,u,x)}function pL(){let s,u,x;return s=f,u=uE(),u===e&&(u=null),u!==e?(x=nE(),x===e&&(x=null),x!==e?(W=s,u=w(u,x),s=u):(f=s,s=e)):(f=s,s=e),s}function nE(){let s,u,x,A;if(s=f,u=Hp(),u===e&&(u=null),u!==e){for(x=[],A=uL();A!==e;)x.push(A),A=uL();x!==e?(A=dL(),A===e&&(A=null),A!==e?(W=s,u=P(u,x,A),s=u):(f=s,s=e)):(f=s,s=e)}else f=s,s=e;return s}function uL(){let s,u,x;return s=f,u=dL(),u!==e?(x=Hp(),x!==e?(W=s,u=G(u),s=u):(f=s,s=e)):(f=s,s=e),s}function dL(){let s,u,x,A,O,Z;return s=f,u=mE(),u!==e&&(W=s,u=I(u)),s=u,s===e&&(s=f,u=dE(),u!==e&&(W=s,u=I(u)),s=u,s===e&&(s=f,u=f,i++,x=f,A=hL(),A!==e?(O=f,i++,Z=um(),i--,Z===e?O=void 0:(f=O,O=e),O!==e?(A=[A,O],x=A):(f=x,x=e)):(f=x,x=e),i--,x!==e?(f=u,u=void 0):u=e,u!==e?(x=hL(),x!==e?(W=s,u=I(x),s=u):(f=s,s=e)):(f=s,s=e),s===e&&(s=f,u=gE(),u!==e&&(W=s,u=I(u)),s=u))),s}function hL(){let s,u,x;if(s=f,u=[],x=yL(),x===e&&(x=jL()),x!==e)for(;x!==e;)u.push(x),x=yL(),x===e&&(x=jL());else u=e;return u!==e&&(W=s,u=v(u)),s=u,s}function jL(){let s,u,x,A;return s=f,u=he(),u!==e?(x=$E(),x!==e?(A=he(),A!==e?(W=s,u=_(x),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function $E(){let s,u;return s=f,K.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(me)),u!==e&&(W=s,u=q(u)),s=u,s}function gE(){let s,u;return s=f,u=bE(),u!==e&&(W=s,u=V(u)),s=u,s}function bE(){let s,u,x;for(s=f,u=[],x=um();x!==e;)u.push(x),x=um();return u!==e?s=t.substring(s,f):s=u,s}function yL(){let s,u,x,A;return s=f,u=he(),u!==e?(x=SE(),x!==e?(A=he(),A!==e?(W=s,u=je(x),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function mE(){let s,u,x,A,O,Z,Se,nt;if(s=f,u=f,x=f,A=he(),A!==e)if(O=pE(),O!==e)if(Z=he(),Z!==e){for(Se=[],nt=um();nt!==e;)Se.push(nt),nt=um();Se!==e?(nt=he(),nt!==e?(A=[A,O,Z,Se,nt],x=A):(f=x,x=e)):(f=x,x=e)}else f=x,x=e;else f=x,x=e;else f=x,x=e;return x!==e?u=t.substring(u,f):u=x,u!==e&&(W=s,u=De(u)),s=u,s}function pE(){let s;return t.substr(f,5).toLowerCase()===H?(s=t.substr(f,5),f+=5):(s=e,i===0&&a(ue)),s===e&&(t.substr(f,6).toLowerCase()===ye?(s=t.substr(f,6),f+=6):(s=e,i===0&&a(pe)),s===e&&(t.substr(f,6).toLowerCase()===ve?(s=t.substr(f,6),f+=6):(s=e,i===0&&a(dt)),s===e&&(t.substr(f,3).toLowerCase()===ht?(s=t.substr(f,3),f+=3):(s=e,i===0&&a(m1)),s===e&&(t.substr(f,9).toLowerCase()===p1?(s=t.substr(f,9),f+=9):(s=e,i===0&&a(u1)),s===e&&(t.substr(f,12).toLowerCase()===cs?(s=t.substr(f,12),f+=12):(s=e,i===0&&a(ts)),s===e&&(t.substr(f,5).toLowerCase()===d1?(s=t.substr(f,5),f+=5):(s=e,i===0&&a(h1)))))))),s}function um(){let s;return Gs.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(jt)),s}function uE(){let s,u,x,A;for(s=f,u=[],x=xL();x!==e;)u.push(x),x=xL();return u!==e?(x=CL(),x===e&&(x=null),x!==e?(A=jE(),A===e&&(A=null),A!==e?(W=s,u=j1(u,x),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function dE(){let s,u,x,A,O,Z,Se;return s=f,u=f,x=ML(),x!==e?u=t.substring(u,f):u=x,u!==e?(x=he(),x!==e?(A=vL(),A!==e?(O=he(),O!==e?(Z=f,Se=LL(),Se!==e?Z=t.substring(Z,f):Z=Se,Z!==e?(W=s,u=se(u,Z),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function xL(){let s,u,x;return s=f,u=CL(),u!==e?(x=Hp(),x!==e?(W=s,u=ce(u),s=u):(f=s,s=e)):(f=s,s=e),s}function CL(){let s;return s=hE(),s===e&&(s=SL()),s}function hE(){let s,u,x,A,O,Z;return s=f,t.charCodeAt(f)===123?(u=y1,f++):(u=e,i===0&&a(x1)),u!==e?(x=he(),x!==e?(A=SL(),A!==e?(O=he(),O!==e?(t.charCodeAt(f)===125?(Z=C1,f++):(Z=e,i===0&&a(S1)),Z!==e?(W=s,u=fs(A),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function SL(){let s,u,x,A,O,Z,Se;return s=f,u=f,x=ML(),x!==e?u=t.substring(u,f):u=x,u!==e?(x=he(),x!==e?(A=vL(),A!==e?(O=he(),O!==e?(Z=f,Se=LL(),Se!==e?Z=t.substring(Z,f):Z=Se,Z!==e?(W=s,u=os(u,Z),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function vL(){let s;return t.charCodeAt(f)===58?(s=v1,f++):(s=e,i===0&&a(M1)),s}function ML(){let s,u;if(s=[],Os.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(rs)),u!==e)for(;u!==e;)s.push(u),Os.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(rs));else s=e;return s}function LL(){let s,u;if(s=[],zs.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(ks)),u!==e)for(;u!==e;)s.push(u),zs.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(ks));else s=e;return s}function jE(){let s,u,x;return s=f,t.substr(f,3)===is?(u=is,f+=3):(u=e,i===0&&a(L1)),u!==e?(x=Hp(),x!==e?(u=[u,x],s=u):(f=s,s=e)):(f=s,s=e),s}function he(){let s,u;for(i++,s=[],Bs.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(Vs));u!==e;)s.push(u),Bs.test(t.charAt(f))?(u=t.charAt(f),f++):(u=e,i===0&&a(Vs));return i--,s===e&&(u=e,i===0&&a(yt)),s}function Hp(){let s;return ae.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(re)),s===e&&(s=yE()),s}function yE(){let s,u,x;return s=f,u=CE(),u!==e?(x=xE(),x!==e?(u=[u,x],s=u):(f=s,s=e)):(f=s,s=e),s}function xE(){let s;return t.charCodeAt(f)===10?(s=xt,f++):(s=e,i===0&&a(Ct)),s}function CE(){let s;return t.charCodeAt(f)===13?(s=w1,f++):(s=e,i===0&&a(St)),s}function SE(){let s,u;return s=f,u=LE(),u===e&&(u=wE(),u===e&&(u=ME(),u===e&&(u=vE()))),u!==e&&(W=s,u=E1(u)),s=u,s}function Rs(){let s;return vt.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(A1)),s}function vE(){let s,u,x,A,O;return s=f,u=wL(),u!==e?(x=Rs(),x===e&&(x=null),x!==e?(A=f,O=Up(),O!==e?A=t.substring(A,f):A=O,A!==e?(O=EL(),O===e&&(O=null),O!==e?(W=s,u=Mt(u,x,A,O),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s===e&&(s=f,u=EL(),u!==e&&(W=s,u=Lt(u)),s=u),s}function wL(){let s;return wt.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(Et)),s}function EL(){let s,u,x,A;return s=f,t.charCodeAt(f)===47?(u=Ne,f++):(u=e,i===0&&a(Ge)),u!==e?(x=wL(),x!==e?(A=Rs(),A===e&&(A=null),A!==e?(W=s,u=as(x,A),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function ME(){let s,u,x,A,O;return s=f,u=AL(),u!==e?(x=Rs(),x===e&&(x=null),x!==e?(A=f,O=Up(),O!==e?A=t.substring(A,f):A=O,A!==e?(O=IL(),O===e&&(O=null),O!==e?(W=s,u=I1(u,x,A,O),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s===e&&(s=f,u=IL(),u!==e&&(W=s,u=Ws(u)),s=u),s}function AL(){let s;return t.substr(f,2).toLowerCase()===At?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Hs)),s===e&&(t.substr(f,2).toLowerCase()===T1?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Us)),s===e&&(t.substr(f,2).toLowerCase()===Ks?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(It)),s===e&&(t.substr(f,2).toLowerCase()===Tt?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Ft)),s===e&&(t.substr(f,3).toLowerCase()===F1?(s=t.substr(f,3),f+=3):(s=e,i===0&&a(_t)),s===e&&(t.substr(f,2).toLowerCase()===Rt?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(qs)),s===e&&(t.substr(f,2).toLowerCase()===Pt?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Zs)))))))),s}function IL(){let s,u,x,A;return s=f,t.charCodeAt(f)===47?(u=Ne,f++):(u=e,i===0&&a(Ge)),u!==e?(x=AL(),x!==e?(A=Rs(),A===e&&(A=null),A!==e?(W=s,u=as(x,A),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function LE(){let s,u,x,A,O;return s=f,u=Rs(),u===e&&(u=null),u!==e?(x=TL(),x!==e?(A=f,O=Up(),O!==e?A=t.substring(A,f):A=O,A!==e?(O=FL(),O===e&&(O=null),O!==e?(W=s,u=_1(u,x,A,O),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s===e&&(s=f,u=FL(),u!==e&&(W=s,u=Dt(u)),s=u),s}function TL(){let s;return t.substr(f,3).toLowerCase()===R1?(s=t.substr(f,3),f+=3):(s=e,i===0&&a(Xs)),s===e&&(t.substr(f,3).toLowerCase()===P1?(s=t.substr(f,3),f+=3):(s=e,i===0&&a(Nt)),s===e&&(t.substr(f,2).toLowerCase()===D1?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Gt)),s===e&&(t.substr(f,2).toLowerCase()===N1?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(Ys)),s===e&&(t.substr(f,2).toLowerCase()===Ot?(s=t.substr(f,2),f+=2):(s=e,i===0&&a(zt)),s===e&&(G1.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(kt))))))),s}function FL(){let s,u,x,A;return s=f,t.charCodeAt(f)===47?(u=Ne,f++):(u=e,i===0&&a(Ge)),u!==e?(x=Rs(),x===e&&(x=null),x!==e?(A=TL(),A!==e?(W=s,u=Bt(x,A),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function wE(){let s,u,x,A,O;return s=f,u=Rs(),u===e&&(u=null),u!==e?(x=_L(),x!==e?(A=f,O=Up(),O!==e?A=t.substring(A,f):A=O,A!==e?(O=RL(),O===e&&(O=null),O!==e?(W=s,u=Vt(u,x,A,O),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s===e&&(s=f,u=RL(),u!==e&&(W=s,u=O1(u)),s=u),s}function _L(){let s;return Wt.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(Ht)),s}function RL(){let s,u,x,A;return s=f,t.charCodeAt(f)===47?(u=Ne,f++):(u=e,i===0&&a(Ge)),u!==e?(x=Rs(),x===e&&(x=null),x!==e?(A=_L(),A!==e?(W=s,u=Bt(x,A),s=u):(f=s,s=e)):(f=s,s=e)):(f=s,s=e),s}function Up(){let s;return s=EE(),s===e&&(s=AE(),s===e&&(s=IE(),s===e&&(s=TE(),s===e&&(s=FE(),s===e&&(s=_E(),s===e&&(s=RE(),s===e&&(s=PE(),s===e&&(s=DE(),s===e&&(s=NE()))))))))),s===e&&(s=null),s}function EE(){let s;return t.substr(f,15)===ls?(s=ls,f+=15):(s=e,i===0&&a(z1)),s===e&&(t.substr(f,12)===Js?(s=Js,f+=12):(s=e,i===0&&a(k1)),s===e&&(t.substr(f,12)===Qs?(s=Qs,f+=12):(s=e,i===0&&a(B1)),s===e&&(t.substr(f,11)===ec?(s=ec,f+=11):(s=e,i===0&&a(ns)),s===e&&(t.substr(f,11)===$s?(s=$s,f+=11):(s=e,i===0&&a(V1)),s===e&&(t.substr(f,11)===Ee?(s=Ee,f+=11):(s=e,i===0&&a(Ut)),s===e&&(t.substr(f,11)===sc?(s=sc,f+=11):(s=e,i===0&&a(gs)),s===e&&(t.substr(f,11)===bs?(s=bs,f+=11):(s=e,i===0&&a(W1)),s===e&&(t.substr(f,11)===ms?(s=ms,f+=11):(s=e,i===0&&a(H1)),s===e&&(t.substr(f,11)===ps?(s=ps,f+=11):(s=e,i===0&&a(U1)),s===e&&(t.substr(f,11)===us?(s=us,f+=11):(s=e,i===0&&a(K1)),s===e&&(t.substr(f,11)===ds?(s=ds,f+=11):(s=e,i===0&&a(q1)),s===e&&(t.substr(f,11)===hs?(s=hs,f+=11):(s=e,i===0&&a(Z1)),s===e&&(t.substr(f,10)===js?(s=js,f+=10):(s=e,i===0&&a(X1)),s===e&&(t.substr(f,10)===ys?(s=ys,f+=10):(s=e,i===0&&a(Y1)),s===e&&(t.substr(f,10)===xs?(s=xs,f+=10):(s=e,i===0&&a(J1)),s===e&&(t.substr(f,10)===Cs?(s=Cs,f+=10):(s=e,i===0&&a(Q1)),s===e&&(t.substr(f,10)===cc?(s=cc,f+=10):(s=e,i===0&&a(b)),s===e&&(t.substr(f,10)===R?(s=R,f+=10):(s=e,i===0&&a(Ss)),s===e&&(t.substr(f,10)===le?(s=le,f+=10):(s=e,i===0&&a(tc)),s===e&&(t.substr(f,10)===M?(s=M,f+=10):(s=e,i===0&&a(vs)),s===e&&(t.substr(f,10)===fc?(s=fc,f+=10):(s=e,i===0&&a(Ae)),s===e&&(t.substr(f,10)===k?(s=k,f+=10):(s=e,i===0&&a(ne)),s===e&&(t.substr(f,10)===oc?(s=oc,f+=10):(s=e,i===0&&a(ef)),s===e&&(t.substr(f,10)===Oe?(s=Oe,f+=10):(s=e,i===0&&a(Kt)),s===e&&(t.substr(f,10)===ze?(s=ze,f+=10):(s=e,i===0&&a(T)),s===e&&(t.substr(f,10)===rc?(s=rc,f+=10):(s=e,i===0&&a(qt)),s===e&&(t.substr(f,10)===Ms?(s=Ms,f+=10):(s=e,i===0&&a(Zt)),s===e&&(t.substr(f,10)===ic?(s=ic,f+=10):(s=e,i===0&&a(Xt)),s===e&&(t.substr(f,10)===ac?(s=ac,f+=10):(s=e,i===0&&a(sf)),s===e&&(t.substr(f,10)===lc?(s=lc,f+=10):(s=e,i===0&&a(Ls)),s===e&&(t.substr(f,10)===ws?(s=ws,f+=10):(s=e,i===0&&a(cf)),s===e&&(t.substr(f,10)===Es?(s=Es,f+=10):(s=e,i===0&&a(As)),s===e&&(t.substr(f,10)===ke?(s=ke,f+=10):(s=e,i===0&&a(tf)),s===e&&(t.substr(f,10)===nc?(s=nc,f+=10):(s=e,i===0&&a(ff)),s===e&&(t.substr(f,10)===$c?(s=$c,f+=10):(s=e,i===0&&a(of)),s===e&&(t.substr(f,10)===Is?(s=Is,f+=10):(s=e,i===0&&a(gc)),s===e&&(t.substr(f,10)===xe?(s=xe,f+=10):(s=e,i===0&&a(Yt)),s===e&&(t.substr(f,10)===bc?(s=bc,f+=10):(s=e,i===0&&a(rf)),s===e&&(t.substr(f,10)===mc?(s=mc,f+=10):(s=e,i===0&&a(Jt)),s===e&&(t.substr(f,10)===pc?(s=pc,f+=10):(s=e,i===0&&a(Qt)),s===e&&(t.substr(f,10)===uc?(s=uc,f+=10):(s=e,i===0&&a(e1)),s===e&&(t.substr(f,10)===dc?(s=dc,f+=10):(s=e,i===0&&a(af)),s===e&&(t.substr(f,10)===hc?(s=hc,f+=10):(s=e,i===0&&a(Be)),s===e&&(t.substr(f,10)===jc?(s=jc,f+=10):(s=e,i===0&&a(lf)),s===e&&(t.substr(f,10)===Ts?(s=Ts,f+=10):(s=e,i===0&&a(Ve)),s===e&&(t.substr(f,10)===z?(s=z,f+=10):(s=e,i===0&&a(Fs)),s===e&&(t.substr(f,9)===be?(s=be,f+=9):(s=e,i===0&&a(We)),s===e&&(t.substr(f,9)===yc?(s=yc,f+=9):(s=e,i===0&&a(nf)),s===e&&(t.substr(f,9)===xc?(s=xc,f+=9):(s=e,i===0&&a(He)),s===e&&(t.substr(f,9)===Cc?(s=Cc,f+=9):(s=e,i===0&&a($f)),s===e&&(t.substr(f,9)===Sc?(s=Sc,f+=9):(s=e,i===0&&a(vc)),s===e&&(t.substr(f,9)===Mc?(s=Mc,f+=9):(s=e,i===0&&a(gf)),s===e&&(t.substr(f,9)===Ue?(s=Ue,f+=9):(s=e,i===0&&a(bf)),s===e&&(t.substr(f,9)===Lc?(s=Lc,f+=9):(s=e,i===0&&a(wc)),s===e&&(t.substr(f,9)===Ec?(s=Ec,f+=9):(s=e,i===0&&a(mf)),s===e&&(t.substr(f,9)===Ke?(s=Ke,f+=9):(s=e,i===0&&a(Ce)),s===e&&(t.substr(f,9)===g?(s=g,f+=9):(s=e,i===0&&a(p)),s===e&&(t.substr(f,9)===h?(s=h,f+=9):(s=e,i===0&&a(d)),s===e&&(t.substr(f,9)===S?(s=S,f+=9):(s=e,i===0&&a(C)),s===e&&(t.substr(f,9)===E?(s=E,f+=9):(s=e,i===0&&a(F)),s===e&&(t.substr(f,9)===te?(s=te,f+=9):(s=e,i===0&&a(fe)),s===e&&(t.substr(f,9)===pf?(s=pf,f+=9):(s=e,i===0&&a(j0)),s===e&&(t.substr(f,9)===uf?(s=uf,f+=9):(s=e,i===0&&a(y0)),s===e&&(t.substr(f,9)===df?(s=df,f+=9):(s=e,i===0&&a(x0)),s===e&&(t.substr(f,9)===hf?(s=hf,f+=9):(s=e,i===0&&a(C0)),s===e&&(t.substr(f,9)===jf?(s=jf,f+=9):(s=e,i===0&&a(S0)),s===e&&(t.substr(f,9)===yf?(s=yf,f+=9):(s=e,i===0&&a(v0)),s===e&&(t.substr(f,9)===xf?(s=xf,f+=9):(s=e,i===0&&a(M0)),s===e&&(t.substr(f,9)===Cf?(s=Cf,f+=9):(s=e,i===0&&a(L0)),s===e&&(t.substr(f,9)===Sf?(s=Sf,f+=9):(s=e,i===0&&a(w0)),s===e&&(t.substr(f,9)===vf?(s=vf,f+=9):(s=e,i===0&&a(E0)),s===e&&(t.substr(f,9)===Mf?(s=Mf,f+=9):(s=e,i===0&&a(A0)),s===e&&(t.substr(f,9)===Lf?(s=Lf,f+=9):(s=e,i===0&&a(I0)),s===e&&(t.substr(f,9)===wf?(s=wf,f+=9):(s=e,i===0&&a(T0)),s===e&&(t.substr(f,9)===Ef?(s=Ef,f+=9):(s=e,i===0&&a(F0)),s===e&&(t.substr(f,9)===Af?(s=Af,f+=9):(s=e,i===0&&a(_0)),s===e&&(t.substr(f,9)===If?(s=If,f+=9):(s=e,i===0&&a(R0)),s===e&&(t.substr(f,9)===Tf?(s=Tf,f+=9):(s=e,i===0&&a(P0)),s===e&&(t.substr(f,9)===Ff?(s=Ff,f+=9):(s=e,i===0&&a(D0)),s===e&&(t.substr(f,9)===_f?(s=_f,f+=9):(s=e,i===0&&a(N0)),s===e&&(t.substr(f,9)===Rf?(s=Rf,f+=9):(s=e,i===0&&a(G0)),s===e&&(t.substr(f,9)===Pf?(s=Pf,f+=9):(s=e,i===0&&a(O0)),s===e&&(t.substr(f,9)===Df?(s=Df,f+=9):(s=e,i===0&&a(z0)),s===e&&(t.substr(f,9)===Nf?(s=Nf,f+=9):(s=e,i===0&&a(k0)),s===e&&(t.substr(f,9)===Gf?(s=Gf,f+=9):(s=e,i===0&&a(B0)),s===e&&(t.substr(f,9)===Of?(s=Of,f+=9):(s=e,i===0&&a(V0)),s===e&&(t.substr(f,9)===zf?(s=zf,f+=9):(s=e,i===0&&a(W0)),s===e&&(t.substr(f,9)===kf?(s=kf,f+=9):(s=e,i===0&&a(H0)),s===e&&(t.substr(f,9)===Bf?(s=Bf,f+=9):(s=e,i===0&&a(U0)),s===e&&(t.substr(f,9)===Vf?(s=Vf,f+=9):(s=e,i===0&&a(K0)),s===e&&(t.substr(f,9)===Wf?(s=Wf,f+=9):(s=e,i===0&&a(q0)),s===e&&(t.substr(f,9)===Hf?(s=Hf,f+=9):(s=e,i===0&&a(Z0)),s===e&&(t.substr(f,9)===Uf?(s=Uf,f+=9):(s=e,i===0&&a(X0)),s===e&&(t.substr(f,9)===Kf?(s=Kf,f+=9):(s=e,i===0&&a(Y0)),s===e&&(t.substr(f,9)===qf?(s=qf,f+=9):(s=e,i===0&&a(J0)),s===e&&(t.substr(f,9)===Zf?(s=Zf,f+=9):(s=e,i===0&&a(Q0)),s===e&&(t.substr(f,9)===Xf?(s=Xf,f+=9):(s=e,i===0&&a(eu)),s===e&&(t.substr(f,9)===Yf?(s=Yf,f+=9):(s=e,i===0&&a(su)),s===e&&(t.substr(f,9)===Jf?(s=Jf,f+=9):(s=e,i===0&&a(cu))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function AE(){let s;return t.substr(f,9)===Qf?(s=Qf,f+=9):(s=e,i===0&&a(tu)),s===e&&(t.substr(f,9)===eo?(s=eo,f+=9):(s=e,i===0&&a(fu)),s===e&&(t.substr(f,9)===so?(s=so,f+=9):(s=e,i===0&&a(ou)),s===e&&(t.substr(f,9)===co?(s=co,f+=9):(s=e,i===0&&a(ru)),s===e&&(t.substr(f,9)===to?(s=to,f+=9):(s=e,i===0&&a(iu)),s===e&&(t.substr(f,9)===fo?(s=fo,f+=9):(s=e,i===0&&a(au)),s===e&&(t.substr(f,9)===oo?(s=oo,f+=9):(s=e,i===0&&a(lu)),s===e&&(t.substr(f,9)===ro?(s=ro,f+=9):(s=e,i===0&&a(nu)),s===e&&(t.substr(f,9)===io?(s=io,f+=9):(s=e,i===0&&a($u)),s===e&&(t.substr(f,9)===ao?(s=ao,f+=9):(s=e,i===0&&a(gu)),s===e&&(t.substr(f,9)===lo?(s=lo,f+=9):(s=e,i===0&&a(bu)),s===e&&(t.substr(f,9)===no?(s=no,f+=9):(s=e,i===0&&a(mu)),s===e&&(t.substr(f,9)===$o?(s=$o,f+=9):(s=e,i===0&&a(pu)),s===e&&(t.substr(f,9)===go?(s=go,f+=9):(s=e,i===0&&a(uu)),s===e&&(t.substr(f,9)===bo?(s=bo,f+=9):(s=e,i===0&&a(du)),s===e&&(t.substr(f,9)===mo?(s=mo,f+=9):(s=e,i===0&&a(hu)),s===e&&(t.substr(f,8)===po?(s=po,f+=8):(s=e,i===0&&a(ju)),s===e&&(t.substr(f,8)===uo?(s=uo,f+=8):(s=e,i===0&&a(yu)),s===e&&(t.substr(f,8)===ho?(s=ho,f+=8):(s=e,i===0&&a(xu)),s===e&&(t.substr(f,8)===jo?(s=jo,f+=8):(s=e,i===0&&a(Cu)),s===e&&(t.substr(f,8)===yo?(s=yo,f+=8):(s=e,i===0&&a(Su)),s===e&&(t.substr(f,8)===xo?(s=xo,f+=8):(s=e,i===0&&a(vu)),s===e&&(t.substr(f,8)===Co?(s=Co,f+=8):(s=e,i===0&&a(Mu)),s===e&&(t.substr(f,8)===So?(s=So,f+=8):(s=e,i===0&&a(Lu)),s===e&&(t.substr(f,8)===vo?(s=vo,f+=8):(s=e,i===0&&a(wu)),s===e&&(t.substr(f,8)===Mo?(s=Mo,f+=8):(s=e,i===0&&a(Eu)),s===e&&(t.substr(f,8)===Lo?(s=Lo,f+=8):(s=e,i===0&&a(Au)),s===e&&(t.substr(f,8)===wo?(s=wo,f+=8):(s=e,i===0&&a(Iu)),s===e&&(t.substr(f,8)===Eo?(s=Eo,f+=8):(s=e,i===0&&a(Tu)),s===e&&(t.substr(f,8)===Ao?(s=Ao,f+=8):(s=e,i===0&&a(Fu)),s===e&&(t.substr(f,8)===Io?(s=Io,f+=8):(s=e,i===0&&a(_u)),s===e&&(t.substr(f,8)===To?(s=To,f+=8):(s=e,i===0&&a(Ru)),s===e&&(t.substr(f,8)===Fo?(s=Fo,f+=8):(s=e,i===0&&a(Pu)),s===e&&(t.substr(f,8)===_o?(s=_o,f+=8):(s=e,i===0&&a(Du)),s===e&&(t.substr(f,8)===Ro?(s=Ro,f+=8):(s=e,i===0&&a(Nu)),s===e&&(t.substr(f,8)===Po?(s=Po,f+=8):(s=e,i===0&&a(Gu)),s===e&&(t.substr(f,8)===Do?(s=Do,f+=8):(s=e,i===0&&a(Ou)),s===e&&(t.substr(f,8)===No?(s=No,f+=8):(s=e,i===0&&a(zu)),s===e&&(t.substr(f,8)===Go?(s=Go,f+=8):(s=e,i===0&&a(ku)),s===e&&(t.substr(f,8)===Oo?(s=Oo,f+=8):(s=e,i===0&&a(Bu)),s===e&&(t.substr(f,8)===zo?(s=zo,f+=8):(s=e,i===0&&a(Vu)),s===e&&(t.substr(f,8)===ko?(s=ko,f+=8):(s=e,i===0&&a(Wu)),s===e&&(t.substr(f,8)===Bo?(s=Bo,f+=8):(s=e,i===0&&a(Hu)),s===e&&(t.substr(f,8)===Vo?(s=Vo,f+=8):(s=e,i===0&&a(Uu)),s===e&&(t.substr(f,8)===Ac?(s=Ac,f+=8):(s=e,i===0&&a(wm)),s===e&&(t.substr(f,8)===Wo?(s=Wo,f+=8):(s=e,i===0&&a(Ku)),s===e&&(t.substr(f,8)===Ho?(s=Ho,f+=8):(s=e,i===0&&a(qu)),s===e&&(t.substr(f,8)===Uo?(s=Uo,f+=8):(s=e,i===0&&a(Zu)),s===e&&(t.substr(f,8)===Ko?(s=Ko,f+=8):(s=e,i===0&&a(Xu)),s===e&&(t.substr(f,8)===qo?(s=qo,f+=8):(s=e,i===0&&a(Yu)),s===e&&(t.substr(f,8)===Zo?(s=Zo,f+=8):(s=e,i===0&&a(Ju)),s===e&&(t.substr(f,8)===Xo?(s=Xo,f+=8):(s=e,i===0&&a(Qu)),s===e&&(t.substr(f,8)===Yo?(s=Yo,f+=8):(s=e,i===0&&a(e6)),s===e&&(t.substr(f,8)===Jo?(s=Jo,f+=8):(s=e,i===0&&a(s6)),s===e&&(t.substr(f,8)===Qo?(s=Qo,f+=8):(s=e,i===0&&a(c6)),s===e&&(t.substr(f,8)===er?(s=er,f+=8):(s=e,i===0&&a(t6)),s===e&&(t.substr(f,8)===sr?(s=sr,f+=8):(s=e,i===0&&a(f6)),s===e&&(t.substr(f,8)===cr?(s=cr,f+=8):(s=e,i===0&&a(o6)),s===e&&(t.substr(f,8)===tr?(s=tr,f+=8):(s=e,i===0&&a(r6)),s===e&&(t.substr(f,8)===fr?(s=fr,f+=8):(s=e,i===0&&a(i6)),s===e&&(t.substr(f,8)===or?(s=or,f+=8):(s=e,i===0&&a(a6)),s===e&&(t.substr(f,8)===rr?(s=rr,f+=8):(s=e,i===0&&a(l6)),s===e&&(t.substr(f,8)===ir?(s=ir,f+=8):(s=e,i===0&&a(n6)),s===e&&(t.substr(f,8)===ar?(s=ar,f+=8):(s=e,i===0&&a($6)),s===e&&(t.substr(f,8)===Ic?(s=Ic,f+=8):(s=e,i===0&&a(Em)),s===e&&(t.substr(f,8)===lr?(s=lr,f+=8):(s=e,i===0&&a(g6)),s===e&&(t.substr(f,8)===nr?(s=nr,f+=8):(s=e,i===0&&a(b6)),s===e&&(t.substr(f,8)===$r?(s=$r,f+=8):(s=e,i===0&&a(m6)),s===e&&(t.substr(f,8)===gr?(s=gr,f+=8):(s=e,i===0&&a(p6)),s===e&&(t.substr(f,8)===br?(s=br,f+=8):(s=e,i===0&&a(u6)),s===e&&(t.substr(f,8)===mr?(s=mr,f+=8):(s=e,i===0&&a(d6)),s===e&&(t.substr(f,8)===Tc?(s=Tc,f+=8):(s=e,i===0&&a(Am)),s===e&&(t.substr(f,8)===Tc?(s=Tc,f+=8):(s=e,i===0&&a(Am)),s===e&&(t.substr(f,8)===pr?(s=pr,f+=8):(s=e,i===0&&a(h6)),s===e&&(t.substr(f,8)===ur?(s=ur,f+=8):(s=e,i===0&&a(j6)),s===e&&(t.substr(f,8)===dr?(s=dr,f+=8):(s=e,i===0&&a(y6)),s===e&&(t.substr(f,8)===hr?(s=hr,f+=8):(s=e,i===0&&a(x6)),s===e&&(t.substr(f,8)===jr?(s=jr,f+=8):(s=e,i===0&&a(C6)),s===e&&(t.substr(f,8)===yr?(s=yr,f+=8):(s=e,i===0&&a(S6)),s===e&&(t.substr(f,8)===xr?(s=xr,f+=8):(s=e,i===0&&a(v6)),s===e&&(t.substr(f,8)===Cr?(s=Cr,f+=8):(s=e,i===0&&a(M6)),s===e&&(t.substr(f,8)===Sr?(s=Sr,f+=8):(s=e,i===0&&a(L6)),s===e&&(t.substr(f,8)===vr?(s=vr,f+=8):(s=e,i===0&&a(w6)),s===e&&(t.substr(f,8)===Mr?(s=Mr,f+=8):(s=e,i===0&&a(E6)),s===e&&(t.substr(f,8)===Lr?(s=Lr,f+=8):(s=e,i===0&&a(A6)),s===e&&(t.substr(f,8)===wr?(s=wr,f+=8):(s=e,i===0&&a(I6)),s===e&&(t.substr(f,8)===Er?(s=Er,f+=8):(s=e,i===0&&a(T6)),s===e&&(t.substr(f,8)===Ar?(s=Ar,f+=8):(s=e,i===0&&a(F6)),s===e&&(t.substr(f,8)===Ir?(s=Ir,f+=8):(s=e,i===0&&a(_6)),s===e&&(t.substr(f,8)===Tr?(s=Tr,f+=8):(s=e,i===0&&a(R6)),s===e&&(t.substr(f,8)===Fr?(s=Fr,f+=8):(s=e,i===0&&a(P6)),s===e&&(t.substr(f,8)===_r?(s=_r,f+=8):(s=e,i===0&&a(D6)),s===e&&(t.substr(f,8)===Fc?(s=Fc,f+=8):(s=e,i===0&&a(Im)),s===e&&(t.substr(f,8)===Rr?(s=Rr,f+=8):(s=e,i===0&&a(N6)),s===e&&(t.substr(f,8)===Pr?(s=Pr,f+=8):(s=e,i===0&&a(G6)),s===e&&(t.substr(f,8)===Dr?(s=Dr,f+=8):(s=e,i===0&&a(O6)),s===e&&(t.substr(f,8)===Nr?(s=Nr,f+=8):(s=e,i===0&&a(z6)),s===e&&(t.substr(f,8)===Gr?(s=Gr,f+=8):(s=e,i===0&&a(k6)),s===e&&(t.substr(f,8)===Or?(s=Or,f+=8):(s=e,i===0&&a(B6)),s===e&&(t.substr(f,8)===zr?(s=zr,f+=8):(s=e,i===0&&a(V6))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function IE(){let s;return t.substr(f,8)===kr?(s=kr,f+=8):(s=e,i===0&&a(W6)),s===e&&(t.substr(f,8)===Br?(s=Br,f+=8):(s=e,i===0&&a(H6)),s===e&&(t.substr(f,8)===Vr?(s=Vr,f+=8):(s=e,i===0&&a(U6)),s===e&&(t.substr(f,8)===Wr?(s=Wr,f+=8):(s=e,i===0&&a(K6)),s===e&&(t.substr(f,8)===Hr?(s=Hr,f+=8):(s=e,i===0&&a(q6)),s===e&&(t.substr(f,8)===Ur?(s=Ur,f+=8):(s=e,i===0&&a(Z6)),s===e&&(t.substr(f,8)===Kr?(s=Kr,f+=8):(s=e,i===0&&a(X6)),s===e&&(t.substr(f,8)===qr?(s=qr,f+=8):(s=e,i===0&&a(Y6)),s===e&&(t.substr(f,8)===Zr?(s=Zr,f+=8):(s=e,i===0&&a(J6)),s===e&&(t.substr(f,8)===Xr?(s=Xr,f+=8):(s=e,i===0&&a(Q6)),s===e&&(t.substr(f,8)===Yr?(s=Yr,f+=8):(s=e,i===0&&a(e4)),s===e&&(t.substr(f,8)===Jr?(s=Jr,f+=8):(s=e,i===0&&a(s4)),s===e&&(t.substr(f,8)===Qr?(s=Qr,f+=8):(s=e,i===0&&a(c4)),s===e&&(t.substr(f,8)===ei?(s=ei,f+=8):(s=e,i===0&&a(t4)),s===e&&(t.substr(f,8)===si?(s=si,f+=8):(s=e,i===0&&a(f4)),s===e&&(t.substr(f,8)===ci?(s=ci,f+=8):(s=e,i===0&&a(o4)),s===e&&(t.substr(f,8)===ti?(s=ti,f+=8):(s=e,i===0&&a(r4)),s===e&&(t.substr(f,8)===fi?(s=fi,f+=8):(s=e,i===0&&a(i4)),s===e&&(t.substr(f,8)===oi?(s=oi,f+=8):(s=e,i===0&&a(a4)),s===e&&(t.substr(f,8)===Fc?(s=Fc,f+=8):(s=e,i===0&&a(Im)),s===e&&(t.substr(f,8)===ri?(s=ri,f+=8):(s=e,i===0&&a(l4)),s===e&&(t.substr(f,8)===ii?(s=ii,f+=8):(s=e,i===0&&a(n4)),s===e&&(t.substr(f,8)===ai?(s=ai,f+=8):(s=e,i===0&&a($4)),s===e&&(t.substr(f,8)===li?(s=li,f+=8):(s=e,i===0&&a(g4)),s===e&&(t.substr(f,8)===ni?(s=ni,f+=8):(s=e,i===0&&a(b4)),s===e&&(t.substr(f,8)===$i?(s=$i,f+=8):(s=e,i===0&&a(m4)),s===e&&(t.substr(f,8)===gi?(s=gi,f+=8):(s=e,i===0&&a(p4)),s===e&&(t.substr(f,8)===bi?(s=bi,f+=8):(s=e,i===0&&a(u4)),s===e&&(t.substr(f,8)===mi?(s=mi,f+=8):(s=e,i===0&&a(d4)),s===e&&(t.substr(f,8)===pi?(s=pi,f+=8):(s=e,i===0&&a(h4)),s===e&&(t.substr(f,7)===ui?(s=ui,f+=7):(s=e,i===0&&a(j4)),s===e&&(t.substr(f,7)===di?(s=di,f+=7):(s=e,i===0&&a(y4)),s===e&&(t.substr(f,7)===hi?(s=hi,f+=7):(s=e,i===0&&a(x4)),s===e&&(t.substr(f,7)===ji?(s=ji,f+=7):(s=e,i===0&&a(C4)),s===e&&(t.substr(f,7)===yi?(s=yi,f+=7):(s=e,i===0&&a(S4)),s===e&&(t.substr(f,7)===xi?(s=xi,f+=7):(s=e,i===0&&a(v4)),s===e&&(t.substr(f,7)===Ci?(s=Ci,f+=7):(s=e,i===0&&a(M4)),s===e&&(t.substr(f,7)===Si?(s=Si,f+=7):(s=e,i===0&&a(L4)),s===e&&(t.substr(f,7)===vi?(s=vi,f+=7):(s=e,i===0&&a(w4)),s===e&&(t.substr(f,7)===Mi?(s=Mi,f+=7):(s=e,i===0&&a(E4)),s===e&&(t.substr(f,7)===Li?(s=Li,f+=7):(s=e,i===0&&a(A4)),s===e&&(t.substr(f,7)===wi?(s=wi,f+=7):(s=e,i===0&&a(I4)),s===e&&(t.substr(f,7)===Ei?(s=Ei,f+=7):(s=e,i===0&&a(T4)),s===e&&(t.substr(f,7)===Ai?(s=Ai,f+=7):(s=e,i===0&&a(F4)),s===e&&(t.substr(f,7)===Ii?(s=Ii,f+=7):(s=e,i===0&&a(_4)),s===e&&(t.substr(f,7)===Ti?(s=Ti,f+=7):(s=e,i===0&&a(R4)),s===e&&(t.substr(f,7)===Fi?(s=Fi,f+=7):(s=e,i===0&&a(P4)),s===e&&(t.substr(f,7)===_i?(s=_i,f+=7):(s=e,i===0&&a(D4)),s===e&&(t.substr(f,7)===Ri?(s=Ri,f+=7):(s=e,i===0&&a(N4)),s===e&&(t.substr(f,7)===Pi?(s=Pi,f+=7):(s=e,i===0&&a(G4)),s===e&&(t.substr(f,7)===Di?(s=Di,f+=7):(s=e,i===0&&a(O4)),s===e&&(t.substr(f,7)===Ni?(s=Ni,f+=7):(s=e,i===0&&a(z4)),s===e&&(t.substr(f,7)===Gi?(s=Gi,f+=7):(s=e,i===0&&a(k4)),s===e&&(t.substr(f,7)===Oi?(s=Oi,f+=7):(s=e,i===0&&a(B4)),s===e&&(t.substr(f,7)===zi?(s=zi,f+=7):(s=e,i===0&&a(V4)),s===e&&(t.substr(f,7)===_c?(s=_c,f+=7):(s=e,i===0&&a(Tm)),s===e&&(t.substr(f,7)===ki?(s=ki,f+=7):(s=e,i===0&&a(W4)),s===e&&(t.substr(f,7)===Bi?(s=Bi,f+=7):(s=e,i===0&&a(H4)),s===e&&(t.substr(f,7)===Vi?(s=Vi,f+=7):(s=e,i===0&&a(U4)),s===e&&(t.substr(f,7)===Wi?(s=Wi,f+=7):(s=e,i===0&&a(K4)),s===e&&(t.substr(f,7)===Hi?(s=Hi,f+=7):(s=e,i===0&&a(q4)),s===e&&(t.substr(f,7)===Ui?(s=Ui,f+=7):(s=e,i===0&&a(Z4)),s===e&&(t.substr(f,7)===Ki?(s=Ki,f+=7):(s=e,i===0&&a(X4)),s===e&&(t.substr(f,7)===qi?(s=qi,f+=7):(s=e,i===0&&a(Y4)),s===e&&(t.substr(f,7)===Zi?(s=Zi,f+=7):(s=e,i===0&&a(J4)),s===e&&(t.substr(f,7)===Xi?(s=Xi,f+=7):(s=e,i===0&&a(Q4)),s===e&&(t.substr(f,7)===Yi?(s=Yi,f+=7):(s=e,i===0&&a(e2)),s===e&&(t.substr(f,7)===Ji?(s=Ji,f+=7):(s=e,i===0&&a(s2)),s===e&&(t.substr(f,7)===Qi?(s=Qi,f+=7):(s=e,i===0&&a(c2)),s===e&&(t.substr(f,7)===ea?(s=ea,f+=7):(s=e,i===0&&a(t2)),s===e&&(t.substr(f,7)===sa?(s=sa,f+=7):(s=e,i===0&&a(f2)),s===e&&(t.substr(f,7)===ca?(s=ca,f+=7):(s=e,i===0&&a(o2)),s===e&&(t.substr(f,7)===ta?(s=ta,f+=7):(s=e,i===0&&a(r2)),s===e&&(t.substr(f,7)===fa?(s=fa,f+=7):(s=e,i===0&&a(i2)),s===e&&(t.substr(f,7)===oa?(s=oa,f+=7):(s=e,i===0&&a(a2)),s===e&&(t.substr(f,7)===ra?(s=ra,f+=7):(s=e,i===0&&a(l2)),s===e&&(t.substr(f,7)===ia?(s=ia,f+=7):(s=e,i===0&&a(n2)),s===e&&(t.substr(f,7)===aa?(s=aa,f+=7):(s=e,i===0&&a($2)),s===e&&(t.substr(f,7)===la?(s=la,f+=7):(s=e,i===0&&a(g2)),s===e&&(t.substr(f,7)===na?(s=na,f+=7):(s=e,i===0&&a(b2)),s===e&&(t.substr(f,7)===$a?(s=$a,f+=7):(s=e,i===0&&a(m2)),s===e&&(t.substr(f,7)===ga?(s=ga,f+=7):(s=e,i===0&&a(p2)),s===e&&(t.substr(f,7)===Rc?(s=Rc,f+=7):(s=e,i===0&&a(Fm)),s===e&&(t.substr(f,7)===Rc?(s=Rc,f+=7):(s=e,i===0&&a(Fm)),s===e&&(t.substr(f,7)===ba?(s=ba,f+=7):(s=e,i===0&&a(u2)),s===e&&(t.substr(f,7)===ma?(s=ma,f+=7):(s=e,i===0&&a(d2)),s===e&&(t.substr(f,7)===pa?(s=pa,f+=7):(s=e,i===0&&a(h2)),s===e&&(t.substr(f,7)===Pc?(s=Pc,f+=7):(s=e,i===0&&a(_m)),s===e&&(t.substr(f,7)===ua?(s=ua,f+=7):(s=e,i===0&&a(j2)),s===e&&(t.substr(f,7)===da?(s=da,f+=7):(s=e,i===0&&a(y2)),s===e&&(t.substr(f,7)===ha?(s=ha,f+=7):(s=e,i===0&&a(x2)),s===e&&(t.substr(f,7)===ja?(s=ja,f+=7):(s=e,i===0&&a(C2)),s===e&&(t.substr(f,7)===ya?(s=ya,f+=7):(s=e,i===0&&a(S2)),s===e&&(t.substr(f,7)===xa?(s=xa,f+=7):(s=e,i===0&&a(v2)),s===e&&(t.substr(f,7)===Ca?(s=Ca,f+=7):(s=e,i===0&&a(M2)),s===e&&(t.substr(f,7)===Sa?(s=Sa,f+=7):(s=e,i===0&&a(L2)),s===e&&(t.substr(f,7)===va?(s=va,f+=7):(s=e,i===0&&a(w2)),s===e&&(t.substr(f,7)===Ma?(s=Ma,f+=7):(s=e,i===0&&a(E2)),s===e&&(t.substr(f,7)===La?(s=La,f+=7):(s=e,i===0&&a(A2)),s===e&&(t.substr(f,7)===wa?(s=wa,f+=7):(s=e,i===0&&a(I2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function TE(){let s;return t.substr(f,7)===Ea?(s=Ea,f+=7):(s=e,i===0&&a(T2)),s===e&&(t.substr(f,7)===Aa?(s=Aa,f+=7):(s=e,i===0&&a(F2)),s===e&&(t.substr(f,7)===Ia?(s=Ia,f+=7):(s=e,i===0&&a(_2)),s===e&&(t.substr(f,7)===Ta?(s=Ta,f+=7):(s=e,i===0&&a(R2)),s===e&&(t.substr(f,7)===Fa?(s=Fa,f+=7):(s=e,i===0&&a(P2)),s===e&&(t.substr(f,7)===_a?(s=_a,f+=7):(s=e,i===0&&a(D2)),s===e&&(t.substr(f,7)===Ra?(s=Ra,f+=7):(s=e,i===0&&a(N2)),s===e&&(t.substr(f,7)===Pa?(s=Pa,f+=7):(s=e,i===0&&a(G2)),s===e&&(t.substr(f,7)===Da?(s=Da,f+=7):(s=e,i===0&&a(O2)),s===e&&(t.substr(f,7)===Na?(s=Na,f+=7):(s=e,i===0&&a(z2)),s===e&&(t.substr(f,7)===Ga?(s=Ga,f+=7):(s=e,i===0&&a(k2)),s===e&&(t.substr(f,7)===Oa?(s=Oa,f+=7):(s=e,i===0&&a(B2)),s===e&&(t.substr(f,7)===za?(s=za,f+=7):(s=e,i===0&&a(V2)),s===e&&(t.substr(f,7)===ka?(s=ka,f+=7):(s=e,i===0&&a(W2)),s===e&&(t.substr(f,7)===Dc?(s=Dc,f+=7):(s=e,i===0&&a(Rm)),s===e&&(t.substr(f,7)===Dc?(s=Dc,f+=7):(s=e,i===0&&a(Rm)),s===e&&(t.substr(f,7)===Ba?(s=Ba,f+=7):(s=e,i===0&&a(H2)),s===e&&(t.substr(f,7)===Va?(s=Va,f+=7):(s=e,i===0&&a(U2)),s===e&&(t.substr(f,7)===Wa?(s=Wa,f+=7):(s=e,i===0&&a(K2)),s===e&&(t.substr(f,7)===Ha?(s=Ha,f+=7):(s=e,i===0&&a(q2)),s===e&&(t.substr(f,7)===Ua?(s=Ua,f+=7):(s=e,i===0&&a(Z2)),s===e&&(t.substr(f,7)===Ka?(s=Ka,f+=7):(s=e,i===0&&a(X2)),s===e&&(t.substr(f,7)===qa?(s=qa,f+=7):(s=e,i===0&&a(Y2)),s===e&&(t.substr(f,7)===Za?(s=Za,f+=7):(s=e,i===0&&a(J2)),s===e&&(t.substr(f,7)===Xa?(s=Xa,f+=7):(s=e,i===0&&a(Q2)),s===e&&(t.substr(f,7)===Ya?(s=Ya,f+=7):(s=e,i===0&&a(ed)),s===e&&(t.substr(f,7)===Ja?(s=Ja,f+=7):(s=e,i===0&&a(sd)),s===e&&(t.substr(f,7)===Qa?(s=Qa,f+=7):(s=e,i===0&&a(cd)),s===e&&(t.substr(f,7)===el?(s=el,f+=7):(s=e,i===0&&a(td)),s===e&&(t.substr(f,7)===sl?(s=sl,f+=7):(s=e,i===0&&a(fd)),s===e&&(t.substr(f,7)===cl?(s=cl,f+=7):(s=e,i===0&&a(od)),s===e&&(t.substr(f,7)===tl?(s=tl,f+=7):(s=e,i===0&&a(rd)),s===e&&(t.substr(f,7)===fl?(s=fl,f+=7):(s=e,i===0&&a(id)),s===e&&(t.substr(f,7)===ol?(s=ol,f+=7):(s=e,i===0&&a(ad)),s===e&&(t.substr(f,7)===rl?(s=rl,f+=7):(s=e,i===0&&a(ld)),s===e&&(t.substr(f,7)===il?(s=il,f+=7):(s=e,i===0&&a(nd)),s===e&&(t.substr(f,7)===al?(s=al,f+=7):(s=e,i===0&&a($d)),s===e&&(t.substr(f,7)===ll?(s=ll,f+=7):(s=e,i===0&&a(gd)),s===e&&(t.substr(f,7)===nl?(s=nl,f+=7):(s=e,i===0&&a(bd)),s===e&&(t.substr(f,7)===$l?(s=$l,f+=7):(s=e,i===0&&a(md)),s===e&&(t.substr(f,7)===gl?(s=gl,f+=7):(s=e,i===0&&a(pd)),s===e&&(t.substr(f,7)===bl?(s=bl,f+=7):(s=e,i===0&&a(ud)),s===e&&(t.substr(f,7)===ml?(s=ml,f+=7):(s=e,i===0&&a(dd)),s===e&&(t.substr(f,7)===pl?(s=pl,f+=7):(s=e,i===0&&a(hd)),s===e&&(t.substr(f,7)===ul?(s=ul,f+=7):(s=e,i===0&&a(jd)),s===e&&(t.substr(f,7)===dl?(s=dl,f+=7):(s=e,i===0&&a(yd)),s===e&&(t.substr(f,7)===hl?(s=hl,f+=7):(s=e,i===0&&a(xd)),s===e&&(t.substr(f,7)===jl?(s=jl,f+=7):(s=e,i===0&&a(Cd)),s===e&&(t.substr(f,7)===yl?(s=yl,f+=7):(s=e,i===0&&a(Sd)),s===e&&(t.substr(f,7)===xl?(s=xl,f+=7):(s=e,i===0&&a(vd)),s===e&&(t.substr(f,7)===Cl?(s=Cl,f+=7):(s=e,i===0&&a(Md)),s===e&&(t.substr(f,7)===Sl?(s=Sl,f+=7):(s=e,i===0&&a(Ld)),s===e&&(t.substr(f,7)===vl?(s=vl,f+=7):(s=e,i===0&&a(wd)),s===e&&(t.substr(f,7)===Ml?(s=Ml,f+=7):(s=e,i===0&&a(Ed)),s===e&&(t.substr(f,7)===Ll?(s=Ll,f+=7):(s=e,i===0&&a(Ad)),s===e&&(t.substr(f,7)===wl?(s=wl,f+=7):(s=e,i===0&&a(Id)),s===e&&(t.substr(f,7)===El?(s=El,f+=7):(s=e,i===0&&a(Td)),s===e&&(t.substr(f,7)===Al?(s=Al,f+=7):(s=e,i===0&&a(Fd)),s===e&&(t.substr(f,7)===Il?(s=Il,f+=7):(s=e,i===0&&a(_d)),s===e&&(t.substr(f,7)===Tl?(s=Tl,f+=7):(s=e,i===0&&a(Rd)),s===e&&(t.substr(f,7)===Fl?(s=Fl,f+=7):(s=e,i===0&&a(Pd)),s===e&&(t.substr(f,7)===_l?(s=_l,f+=7):(s=e,i===0&&a(Dd)),s===e&&(t.substr(f,7)===Rl?(s=Rl,f+=7):(s=e,i===0&&a(Nd)),s===e&&(t.substr(f,7)===Pl?(s=Pl,f+=7):(s=e,i===0&&a(Gd)),s===e&&(t.substr(f,7)===Dl?(s=Dl,f+=7):(s=e,i===0&&a(Od)),s===e&&(t.substr(f,7)===Nl?(s=Nl,f+=7):(s=e,i===0&&a(zd)),s===e&&(t.substr(f,7)===Gl?(s=Gl,f+=7):(s=e,i===0&&a(kd)),s===e&&(t.substr(f,7)===Ol?(s=Ol,f+=7):(s=e,i===0&&a(Bd)),s===e&&(t.substr(f,7)===zl?(s=zl,f+=7):(s=e,i===0&&a(Vd)),s===e&&(t.substr(f,7)===kl?(s=kl,f+=7):(s=e,i===0&&a(Wd)),s===e&&(t.substr(f,7)===Bl?(s=Bl,f+=7):(s=e,i===0&&a(Hd)),s===e&&(t.substr(f,7)===Vl?(s=Vl,f+=7):(s=e,i===0&&a(Ud)),s===e&&(t.substr(f,7)===Wl?(s=Wl,f+=7):(s=e,i===0&&a(Kd)),s===e&&(t.substr(f,7)===Hl?(s=Hl,f+=7):(s=e,i===0&&a(qd)),s===e&&(t.substr(f,7)===Ul?(s=Ul,f+=7):(s=e,i===0&&a(Zd)),s===e&&(t.substr(f,7)===Kl?(s=Kl,f+=7):(s=e,i===0&&a(Xd)),s===e&&(t.substr(f,7)===ql?(s=ql,f+=7):(s=e,i===0&&a(Yd)),s===e&&(t.substr(f,7)===Zl?(s=Zl,f+=7):(s=e,i===0&&a(Jd)),s===e&&(t.substr(f,7)===Xl?(s=Xl,f+=7):(s=e,i===0&&a(Qd)),s===e&&(t.substr(f,7)===Yl?(s=Yl,f+=7):(s=e,i===0&&a(e8)),s===e&&(t.substr(f,7)===Jl?(s=Jl,f+=7):(s=e,i===0&&a(s8)),s===e&&(t.substr(f,7)===Ql?(s=Ql,f+=7):(s=e,i===0&&a(c8)),s===e&&(t.substr(f,7)===en?(s=en,f+=7):(s=e,i===0&&a(t8)),s===e&&(t.substr(f,7)===sn?(s=sn,f+=7):(s=e,i===0&&a(f8)),s===e&&(t.substr(f,7)===cn?(s=cn,f+=7):(s=e,i===0&&a(o8)),s===e&&(t.substr(f,7)===tn?(s=tn,f+=7):(s=e,i===0&&a(r8)),s===e&&(t.substr(f,7)===fn?(s=fn,f+=7):(s=e,i===0&&a(i8)),s===e&&(t.substr(f,7)===on?(s=on,f+=7):(s=e,i===0&&a(a8)),s===e&&(t.substr(f,7)===rn?(s=rn,f+=7):(s=e,i===0&&a(l8)),s===e&&(t.substr(f,7)===an?(s=an,f+=7):(s=e,i===0&&a(n8)),s===e&&(t.substr(f,7)===ln?(s=ln,f+=7):(s=e,i===0&&a($8)),s===e&&(t.substr(f,7)===nn?(s=nn,f+=7):(s=e,i===0&&a(g8)),s===e&&(t.substr(f,7)===$n?(s=$n,f+=7):(s=e,i===0&&a(b8)),s===e&&(t.substr(f,7)===gn?(s=gn,f+=7):(s=e,i===0&&a(m8)),s===e&&(t.substr(f,7)===bn?(s=bn,f+=7):(s=e,i===0&&a(p8)),s===e&&(t.substr(f,7)===mn?(s=mn,f+=7):(s=e,i===0&&a(u8)),s===e&&(t.substr(f,7)===pn?(s=pn,f+=7):(s=e,i===0&&a(d8)),s===e&&(t.substr(f,7)===un?(s=un,f+=7):(s=e,i===0&&a(h8)),s===e&&(t.substr(f,7)===dn?(s=dn,f+=7):(s=e,i===0&&a(j8)),s===e&&(t.substr(f,7)===hn?(s=hn,f+=7):(s=e,i===0&&a(y8))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function FE(){let s;return t.substr(f,7)===jn?(s=jn,f+=7):(s=e,i===0&&a(x8)),s===e&&(t.substr(f,7)===yn?(s=yn,f+=7):(s=e,i===0&&a(C8)),s===e&&(t.substr(f,7)===xn?(s=xn,f+=7):(s=e,i===0&&a(S8)),s===e&&(t.substr(f,7)===Cn?(s=Cn,f+=7):(s=e,i===0&&a(v8)),s===e&&(t.substr(f,6)===Sn?(s=Sn,f+=6):(s=e,i===0&&a(M8)),s===e&&(t.substr(f,6)===vn?(s=vn,f+=6):(s=e,i===0&&a(L8)),s===e&&(t.substr(f,6)===Mn?(s=Mn,f+=6):(s=e,i===0&&a(w8)),s===e&&(t.substr(f,6)===Ln?(s=Ln,f+=6):(s=e,i===0&&a(E8)),s===e&&(t.substr(f,6)===wn?(s=wn,f+=6):(s=e,i===0&&a(A8)),s===e&&(t.substr(f,6)===En?(s=En,f+=6):(s=e,i===0&&a(I8)),s===e&&(t.substr(f,6)===An?(s=An,f+=6):(s=e,i===0&&a(T8)),s===e&&(t.substr(f,6)===In?(s=In,f+=6):(s=e,i===0&&a(F8)),s===e&&(t.substr(f,6)===Tn?(s=Tn,f+=6):(s=e,i===0&&a(_8)),s===e&&(t.substr(f,6)===Fn?(s=Fn,f+=6):(s=e,i===0&&a(R8)),s===e&&(t.substr(f,6)===_n?(s=_n,f+=6):(s=e,i===0&&a(P8)),s===e&&(t.substr(f,6)===Rn?(s=Rn,f+=6):(s=e,i===0&&a(D8)),s===e&&(t.substr(f,6)===Pn?(s=Pn,f+=6):(s=e,i===0&&a(N8)),s===e&&(t.substr(f,6)===Dn?(s=Dn,f+=6):(s=e,i===0&&a(G8)),s===e&&(t.substr(f,6)===Nn?(s=Nn,f+=6):(s=e,i===0&&a(O8)),s===e&&(t.substr(f,6)===Gn?(s=Gn,f+=6):(s=e,i===0&&a(z8)),s===e&&(t.substr(f,6)===On?(s=On,f+=6):(s=e,i===0&&a(k8)),s===e&&(t.substr(f,6)===zn?(s=zn,f+=6):(s=e,i===0&&a(B8)),s===e&&(t.substr(f,6)===kn?(s=kn,f+=6):(s=e,i===0&&a(V8)),s===e&&(t.substr(f,6)===Bn?(s=Bn,f+=6):(s=e,i===0&&a(W8)),s===e&&(t.substr(f,6)===Nc?(s=Nc,f+=6):(s=e,i===0&&a(Pm)),s===e&&(t.substr(f,6)===Vn?(s=Vn,f+=6):(s=e,i===0&&a(H8)),s===e&&(t.substr(f,6)===Wn?(s=Wn,f+=6):(s=e,i===0&&a(U8)),s===e&&(t.substr(f,6)===Hn?(s=Hn,f+=6):(s=e,i===0&&a(K8)),s===e&&(t.substr(f,6)===Un?(s=Un,f+=6):(s=e,i===0&&a(q8)),s===e&&(t.substr(f,6)===Kn?(s=Kn,f+=6):(s=e,i===0&&a(Z8)),s===e&&(t.substr(f,6)===qn?(s=qn,f+=6):(s=e,i===0&&a(X8)),s===e&&(t.substr(f,6)===Zn?(s=Zn,f+=6):(s=e,i===0&&a(Y8)),s===e&&(t.substr(f,6)===Xn?(s=Xn,f+=6):(s=e,i===0&&a(J8)),s===e&&(t.substr(f,6)===Yn?(s=Yn,f+=6):(s=e,i===0&&a(Q8)),s===e&&(t.substr(f,6)===Jn?(s=Jn,f+=6):(s=e,i===0&&a(eh)),s===e&&(t.substr(f,6)===Qn?(s=Qn,f+=6):(s=e,i===0&&a(sh)),s===e&&(t.substr(f,6)===e$?(s=e$,f+=6):(s=e,i===0&&a(ch)),s===e&&(t.substr(f,6)===s$?(s=s$,f+=6):(s=e,i===0&&a(th)),s===e&&(t.substr(f,6)===c$?(s=c$,f+=6):(s=e,i===0&&a(fh)),s===e&&(t.substr(f,6)===t$?(s=t$,f+=6):(s=e,i===0&&a(oh)),s===e&&(t.substr(f,6)===f$?(s=f$,f+=6):(s=e,i===0&&a(rh)),s===e&&(t.substr(f,6)===o$?(s=o$,f+=6):(s=e,i===0&&a(ih)),s===e&&(t.substr(f,6)===r$?(s=r$,f+=6):(s=e,i===0&&a(ah)),s===e&&(t.substr(f,6)===i$?(s=i$,f+=6):(s=e,i===0&&a(lh)),s===e&&(t.substr(f,6)===a$?(s=a$,f+=6):(s=e,i===0&&a(nh)),s===e&&(t.substr(f,6)===l$?(s=l$,f+=6):(s=e,i===0&&a($h)),s===e&&(t.substr(f,6)===n$?(s=n$,f+=6):(s=e,i===0&&a(gh)),s===e&&(t.substr(f,6)===$$?(s=$$,f+=6):(s=e,i===0&&a(bh)),s===e&&(t.substr(f,6)===g$?(s=g$,f+=6):(s=e,i===0&&a(mh)),s===e&&(t.substr(f,6)===b$?(s=b$,f+=6):(s=e,i===0&&a(ph)),s===e&&(t.substr(f,6)===m$?(s=m$,f+=6):(s=e,i===0&&a(uh)),s===e&&(t.substr(f,6)===Gc?(s=Gc,f+=6):(s=e,i===0&&a(Dm)),s===e&&(t.substr(f,6)===Gc?(s=Gc,f+=6):(s=e,i===0&&a(Dm)),s===e&&(t.substr(f,6)===p$?(s=p$,f+=6):(s=e,i===0&&a(dh)),s===e&&(t.substr(f,6)===u$?(s=u$,f+=6):(s=e,i===0&&a(hh)),s===e&&(t.substr(f,6)===d$?(s=d$,f+=6):(s=e,i===0&&a(jh)),s===e&&(t.substr(f,6)===h$?(s=h$,f+=6):(s=e,i===0&&a(yh)),s===e&&(t.substr(f,6)===j$?(s=j$,f+=6):(s=e,i===0&&a(xh)),s===e&&(t.substr(f,6)===y$?(s=y$,f+=6):(s=e,i===0&&a(Ch)),s===e&&(t.substr(f,6)===x$?(s=x$,f+=6):(s=e,i===0&&a(Sh)),s===e&&(t.substr(f,6)===C$?(s=C$,f+=6):(s=e,i===0&&a(vh)),s===e&&(t.substr(f,6)===S$?(s=S$,f+=6):(s=e,i===0&&a(Mh)),s===e&&(t.substr(f,6)===v$?(s=v$,f+=6):(s=e,i===0&&a(Lh)),s===e&&(t.substr(f,6)===M$?(s=M$,f+=6):(s=e,i===0&&a(wh)),s===e&&(t.substr(f,6)===L$?(s=L$,f+=6):(s=e,i===0&&a(Eh)),s===e&&(t.substr(f,6)===w$?(s=w$,f+=6):(s=e,i===0&&a(Ah)),s===e&&(t.substr(f,6)===E$?(s=E$,f+=6):(s=e,i===0&&a(Ih)),s===e&&(t.substr(f,6)===A$?(s=A$,f+=6):(s=e,i===0&&a(Th)),s===e&&(t.substr(f,6)===I$?(s=I$,f+=6):(s=e,i===0&&a(Fh)),s===e&&(t.substr(f,6)===T$?(s=T$,f+=6):(s=e,i===0&&a(_h)),s===e&&(t.substr(f,6)===F$?(s=F$,f+=6):(s=e,i===0&&a(Rh)),s===e&&(t.substr(f,6)===_$?(s=_$,f+=6):(s=e,i===0&&a(Ph)),s===e&&(t.substr(f,6)===R$?(s=R$,f+=6):(s=e,i===0&&a(Dh)),s===e&&(t.substr(f,6)===P$?(s=P$,f+=6):(s=e,i===0&&a(Nh)),s===e&&(t.substr(f,6)===D$?(s=D$,f+=6):(s=e,i===0&&a(Gh)),s===e&&(t.substr(f,6)===N$?(s=N$,f+=6):(s=e,i===0&&a(Oh)),s===e&&(t.substr(f,6)===G$?(s=G$,f+=6):(s=e,i===0&&a(zh)),s===e&&(t.substr(f,6)===O$?(s=O$,f+=6):(s=e,i===0&&a(kh)),s===e&&(t.substr(f,6)===z$?(s=z$,f+=6):(s=e,i===0&&a(Bh)),s===e&&(t.substr(f,6)===k$?(s=k$,f+=6):(s=e,i===0&&a(Vh)),s===e&&(t.substr(f,6)===B$?(s=B$,f+=6):(s=e,i===0&&a(Wh)),s===e&&(t.substr(f,6)===V$?(s=V$,f+=6):(s=e,i===0&&a(Hh)),s===e&&(t.substr(f,6)===W$?(s=W$,f+=6):(s=e,i===0&&a(Uh)),s===e&&(t.substr(f,6)===H$?(s=H$,f+=6):(s=e,i===0&&a(Kh)),s===e&&(t.substr(f,6)===U$?(s=U$,f+=6):(s=e,i===0&&a(qh)),s===e&&(t.substr(f,6)===K$?(s=K$,f+=6):(s=e,i===0&&a(Zh)),s===e&&(t.substr(f,6)===q$?(s=q$,f+=6):(s=e,i===0&&a(Xh)),s===e&&(t.substr(f,6)===Z$?(s=Z$,f+=6):(s=e,i===0&&a(Yh)),s===e&&(t.substr(f,6)===X$?(s=X$,f+=6):(s=e,i===0&&a(Jh)),s===e&&(t.substr(f,6)===Y$?(s=Y$,f+=6):(s=e,i===0&&a(Qh)),s===e&&(t.substr(f,6)===J$?(s=J$,f+=6):(s=e,i===0&&a(ej)),s===e&&(t.substr(f,6)===Q$?(s=Q$,f+=6):(s=e,i===0&&a(sj)),s===e&&(t.substr(f,6)===eg?(s=eg,f+=6):(s=e,i===0&&a(cj)),s===e&&(t.substr(f,6)===sg?(s=sg,f+=6):(s=e,i===0&&a(tj)),s===e&&(t.substr(f,6)===cg?(s=cg,f+=6):(s=e,i===0&&a(fj)),s===e&&(t.substr(f,6)===tg?(s=tg,f+=6):(s=e,i===0&&a(oj)),s===e&&(t.substr(f,6)===fg?(s=fg,f+=6):(s=e,i===0&&a(rj)),s===e&&(t.substr(f,6)===og?(s=og,f+=6):(s=e,i===0&&a(ij)),s===e&&(t.substr(f,6)===rg?(s=rg,f+=6):(s=e,i===0&&a(aj)),s===e&&(t.substr(f,6)===ig?(s=ig,f+=6):(s=e,i===0&&a(lj))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function _E(){let s;return t.substr(f,6)===ag?(s=ag,f+=6):(s=e,i===0&&a(nj)),s===e&&(t.substr(f,6)===lg?(s=lg,f+=6):(s=e,i===0&&a($j)),s===e&&(t.substr(f,6)===ng?(s=ng,f+=6):(s=e,i===0&&a(gj)),s===e&&(t.substr(f,6)===qe?(s=qe,f+=6):(s=e,i===0&&a($g)),s===e&&(t.substr(f,6)===gg?(s=gg,f+=6):(s=e,i===0&&a(bj)),s===e&&(t.substr(f,6)===bg?(s=bg,f+=6):(s=e,i===0&&a(mj)),s===e&&(t.substr(f,6)===mg?(s=mg,f+=6):(s=e,i===0&&a(pj)),s===e&&(t.substr(f,6)===pg?(s=pg,f+=6):(s=e,i===0&&a(uj)),s===e&&(t.substr(f,6)===ug?(s=ug,f+=6):(s=e,i===0&&a(dj)),s===e&&(t.substr(f,6)===dg?(s=dg,f+=6):(s=e,i===0&&a(hj)),s===e&&(t.substr(f,6)===hg?(s=hg,f+=6):(s=e,i===0&&a(jj)),s===e&&(t.substr(f,6)===jg?(s=jg,f+=6):(s=e,i===0&&a(yj)),s===e&&(t.substr(f,6)===yg?(s=yg,f+=6):(s=e,i===0&&a(xj)),s===e&&(t.substr(f,6)===xg?(s=xg,f+=6):(s=e,i===0&&a(Cj)),s===e&&(t.substr(f,6)===Cg?(s=Cg,f+=6):(s=e,i===0&&a(Sj)),s===e&&(t.substr(f,6)===Sg?(s=Sg,f+=6):(s=e,i===0&&a(vj)),s===e&&(t.substr(f,6)===vg?(s=vg,f+=6):(s=e,i===0&&a(Mj)),s===e&&(t.substr(f,6)===Mg?(s=Mg,f+=6):(s=e,i===0&&a(Lj)),s===e&&(t.substr(f,6)===Lg?(s=Lg,f+=6):(s=e,i===0&&a(wj)),s===e&&(t.substr(f,6)===wg?(s=wg,f+=6):(s=e,i===0&&a(Ej)),s===e&&(t.substr(f,6)===Eg?(s=Eg,f+=6):(s=e,i===0&&a(Aj)),s===e&&(t.substr(f,6)===Ag?(s=Ag,f+=6):(s=e,i===0&&a(Ij)),s===e&&(t.substr(f,6)===Oc?(s=Oc,f+=6):(s=e,i===0&&a(Nm)),s===e&&(t.substr(f,6)===Ig?(s=Ig,f+=6):(s=e,i===0&&a(Tj)),s===e&&(t.substr(f,6)===Tg?(s=Tg,f+=6):(s=e,i===0&&a(Fj)),s===e&&(t.substr(f,6)===Fg?(s=Fg,f+=6):(s=e,i===0&&a(_j)),s===e&&(t.substr(f,6)===_g?(s=_g,f+=6):(s=e,i===0&&a(Rj)),s===e&&(t.substr(f,6)===Rg?(s=Rg,f+=6):(s=e,i===0&&a(Pj)),s===e&&(t.substr(f,6)===Pg?(s=Pg,f+=6):(s=e,i===0&&a(Dj)),s===e&&(t.substr(f,6)===Dg?(s=Dg,f+=6):(s=e,i===0&&a(Nj)),s===e&&(t.substr(f,6)===Ze?(s=Ze,f+=6):(s=e,i===0&&a(Ng)),s===e&&(t.substr(f,6)===Gg?(s=Gg,f+=6):(s=e,i===0&&a(Gj)),s===e&&(t.substr(f,6)===Og?(s=Og,f+=6):(s=e,i===0&&a(Oj)),s===e&&(t.substr(f,6)===zg?(s=zg,f+=6):(s=e,i===0&&a(zj)),s===e&&(t.substr(f,6)===kg?(s=kg,f+=6):(s=e,i===0&&a(kj)),s===e&&(t.substr(f,6)===Bg?(s=Bg,f+=6):(s=e,i===0&&a(Bj)),s===e&&(t.substr(f,6)===Vg?(s=Vg,f+=6):(s=e,i===0&&a(Vj)),s===e&&(t.substr(f,6)===Wg?(s=Wg,f+=6):(s=e,i===0&&a(Wj)),s===e&&(t.substr(f,6)===Hg?(s=Hg,f+=6):(s=e,i===0&&a(Hj)),s===e&&(t.substr(f,6)===Ug?(s=Ug,f+=6):(s=e,i===0&&a(Uj)),s===e&&(t.substr(f,6)===Ze?(s=Ze,f+=6):(s=e,i===0&&a(Ng)),s===e&&(t.substr(f,6)===Kg?(s=Kg,f+=6):(s=e,i===0&&a(Kj)),s===e&&(t.substr(f,6)===qg?(s=qg,f+=6):(s=e,i===0&&a(qj)),s===e&&(t.substr(f,6)===Zg?(s=Zg,f+=6):(s=e,i===0&&a(Zj)),s===e&&(t.substr(f,6)===Xg?(s=Xg,f+=6):(s=e,i===0&&a(Xj)),s===e&&(t.substr(f,6)===Yg?(s=Yg,f+=6):(s=e,i===0&&a(Yj)),s===e&&(t.substr(f,6)===Jg?(s=Jg,f+=6):(s=e,i===0&&a(Jj)),s===e&&(t.substr(f,6)===Qg?(s=Qg,f+=6):(s=e,i===0&&a(Qj)),s===e&&(t.substr(f,6)===e5?(s=e5,f+=6):(s=e,i===0&&a(ey)),s===e&&(t.substr(f,6)===s5?(s=s5,f+=6):(s=e,i===0&&a(sy)),s===e&&(t.substr(f,6)===zc?(s=zc,f+=6):(s=e,i===0&&a(Gm)),s===e&&(t.substr(f,6)===c5?(s=c5,f+=6):(s=e,i===0&&a(cy)),s===e&&(t.substr(f,6)===t5?(s=t5,f+=6):(s=e,i===0&&a(ty)),s===e&&(t.substr(f,6)===f5?(s=f5,f+=6):(s=e,i===0&&a(fy)),s===e&&(t.substr(f,6)===o5?(s=o5,f+=6):(s=e,i===0&&a(oy)),s===e&&(t.substr(f,6)===kc?(s=kc,f+=6):(s=e,i===0&&a(Om)),s===e&&(t.substr(f,6)===r5?(s=r5,f+=6):(s=e,i===0&&a(ry)),s===e&&(t.substr(f,6)===i5?(s=i5,f+=6):(s=e,i===0&&a(iy)),s===e&&(t.substr(f,6)===a5?(s=a5,f+=6):(s=e,i===0&&a(ay)),s===e&&(t.substr(f,6)===l5?(s=l5,f+=6):(s=e,i===0&&a(ly)),s===e&&(t.substr(f,6)===Ze?(s=Ze,f+=6):(s=e,i===0&&a(Ng)),s===e&&(t.substr(f,6)===n5?(s=n5,f+=6):(s=e,i===0&&a(ny)),s===e&&(t.substr(f,6)===$5?(s=$5,f+=6):(s=e,i===0&&a($y)),s===e&&(t.substr(f,6)===g5?(s=g5,f+=6):(s=e,i===0&&a(gy)),s===e&&(t.substr(f,6)===b5?(s=b5,f+=6):(s=e,i===0&&a(by)),s===e&&(t.substr(f,6)===m5?(s=m5,f+=6):(s=e,i===0&&a(my)),s===e&&(t.substr(f,6)===zc?(s=zc,f+=6):(s=e,i===0&&a(Gm)),s===e&&(t.substr(f,6)===p5?(s=p5,f+=6):(s=e,i===0&&a(py)),s===e&&(t.substr(f,6)===u5?(s=u5,f+=6):(s=e,i===0&&a(uy)),s===e&&(t.substr(f,6)===d5?(s=d5,f+=6):(s=e,i===0&&a(dy)),s===e&&(t.substr(f,6)===h5?(s=h5,f+=6):(s=e,i===0&&a(hy)),s===e&&(t.substr(f,6)===j5?(s=j5,f+=6):(s=e,i===0&&a(jy)),s===e&&(t.substr(f,6)===y5?(s=y5,f+=6):(s=e,i===0&&a(yy)),s===e&&(t.substr(f,5)===x5?(s=x5,f+=5):(s=e,i===0&&a(xy)),s===e&&(t.substr(f,5)===C5?(s=C5,f+=5):(s=e,i===0&&a(Cy)),s===e&&(t.substr(f,5)===S5?(s=S5,f+=5):(s=e,i===0&&a(Sy)),s===e&&(t.substr(f,5)===v5?(s=v5,f+=5):(s=e,i===0&&a(vy)),s===e&&(t.substr(f,5)===M5?(s=M5,f+=5):(s=e,i===0&&a(My)),s===e&&(t.substr(f,5)===L5?(s=L5,f+=5):(s=e,i===0&&a(Ly)),s===e&&(t.substr(f,5)===w5?(s=w5,f+=5):(s=e,i===0&&a(wy)),s===e&&(t.substr(f,5)===E5?(s=E5,f+=5):(s=e,i===0&&a(Ey)),s===e&&(t.substr(f,5)===A5?(s=A5,f+=5):(s=e,i===0&&a(Ay)),s===e&&(t.substr(f,5)===I5?(s=I5,f+=5):(s=e,i===0&&a(Iy)),s===e&&(t.substr(f,5)===T5?(s=T5,f+=5):(s=e,i===0&&a(Ty)),s===e&&(t.substr(f,5)===Bc?(s=Bc,f+=5):(s=e,i===0&&a(zm)),s===e&&(t.substr(f,5)===F5?(s=F5,f+=5):(s=e,i===0&&a(Fy)),s===e&&(t.substr(f,5)===Bc?(s=Bc,f+=5):(s=e,i===0&&a(zm)),s===e&&(t.substr(f,5)===_5?(s=_5,f+=5):(s=e,i===0&&a(_y)),s===e&&(t.substr(f,5)===R5?(s=R5,f+=5):(s=e,i===0&&a(Ry)),s===e&&(t.substr(f,5)===P5?(s=P5,f+=5):(s=e,i===0&&a(Py)),s===e&&(t.substr(f,5)===D5?(s=D5,f+=5):(s=e,i===0&&a(Dy)),s===e&&(t.substr(f,5)===N5?(s=N5,f+=5):(s=e,i===0&&a(Ny)),s===e&&(t.substr(f,5)===G5?(s=G5,f+=5):(s=e,i===0&&a(Gy)),s===e&&(t.substr(f,5)===O5?(s=O5,f+=5):(s=e,i===0&&a(Oy)),s===e&&(t.substr(f,5)===z5?(s=z5,f+=5):(s=e,i===0&&a(zy)),s===e&&(t.substr(f,5)===k5?(s=k5,f+=5):(s=e,i===0&&a(ky)),s===e&&(t.substr(f,5)===B5?(s=B5,f+=5):(s=e,i===0&&a(By)),s===e&&(t.substr(f,5)===V5?(s=V5,f+=5):(s=e,i===0&&a(Vy)),s===e&&(t.substr(f,5)===W5?(s=W5,f+=5):(s=e,i===0&&a(Wy)),s===e&&(t.substr(f,5)===H5?(s=H5,f+=5):(s=e,i===0&&a(Hy))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function RE(){let s;return t.substr(f,5)===U5?(s=U5,f+=5):(s=e,i===0&&a(Uy)),s===e&&(t.substr(f,5)===K5?(s=K5,f+=5):(s=e,i===0&&a(Ky)),s===e&&(t.substr(f,5)===q5?(s=q5,f+=5):(s=e,i===0&&a(qy)),s===e&&(t.substr(f,5)===Z5?(s=Z5,f+=5):(s=e,i===0&&a(Zy)),s===e&&(t.substr(f,5)===X5?(s=X5,f+=5):(s=e,i===0&&a(Xy)),s===e&&(t.substr(f,5)===Y5?(s=Y5,f+=5):(s=e,i===0&&a(Yy)),s===e&&(t.substr(f,5)===J5?(s=J5,f+=5):(s=e,i===0&&a(Jy)),s===e&&(t.substr(f,5)===Q5?(s=Q5,f+=5):(s=e,i===0&&a(Qy)),s===e&&(t.substr(f,5)===eb?(s=eb,f+=5):(s=e,i===0&&a(ex)),s===e&&(t.substr(f,5)===sb?(s=sb,f+=5):(s=e,i===0&&a(sx)),s===e&&(t.substr(f,5)===cb?(s=cb,f+=5):(s=e,i===0&&a(cx)),s===e&&(t.substr(f,5)===tb?(s=tb,f+=5):(s=e,i===0&&a(tx)),s===e&&(t.substr(f,5)===fb?(s=fb,f+=5):(s=e,i===0&&a(fx)),s===e&&(t.substr(f,5)===ob?(s=ob,f+=5):(s=e,i===0&&a(ox)),s===e&&(t.substr(f,5)===rb?(s=rb,f+=5):(s=e,i===0&&a(rx)),s===e&&(t.substr(f,5)===ib?(s=ib,f+=5):(s=e,i===0&&a(ix)),s===e&&(t.substr(f,5)===Vc?(s=Vc,f+=5):(s=e,i===0&&a(km)),s===e&&(t.substr(f,5)===ab?(s=ab,f+=5):(s=e,i===0&&a(ax)),s===e&&(t.substr(f,5)===lb?(s=lb,f+=5):(s=e,i===0&&a(lx)),s===e&&(t.substr(f,5)===nb?(s=nb,f+=5):(s=e,i===0&&a(nx)),s===e&&(t.substr(f,5)===$b?(s=$b,f+=5):(s=e,i===0&&a($x)),s===e&&(t.substr(f,5)===gb?(s=gb,f+=5):(s=e,i===0&&a(gx)),s===e&&(t.substr(f,5)===bb?(s=bb,f+=5):(s=e,i===0&&a(bx)),s===e&&(t.substr(f,5)===mb?(s=mb,f+=5):(s=e,i===0&&a(mx)),s===e&&(t.substr(f,5)===pb?(s=pb,f+=5):(s=e,i===0&&a(px)),s===e&&(t.substr(f,5)===ub?(s=ub,f+=5):(s=e,i===0&&a(ux)),s===e&&(t.substr(f,5)===db?(s=db,f+=5):(s=e,i===0&&a(dx)),s===e&&(t.substr(f,5)===hb?(s=hb,f+=5):(s=e,i===0&&a(hx)),s===e&&(t.substr(f,5)===jb?(s=jb,f+=5):(s=e,i===0&&a(jx)),s===e&&(t.substr(f,5)===yb?(s=yb,f+=5):(s=e,i===0&&a(yx)),s===e&&(t.substr(f,5)===xb?(s=xb,f+=5):(s=e,i===0&&a(xx)),s===e&&(t.substr(f,5)===Cb?(s=Cb,f+=5):(s=e,i===0&&a(Cx)),s===e&&(t.substr(f,5)===Sb?(s=Sb,f+=5):(s=e,i===0&&a(Sx)),s===e&&(t.substr(f,5)===vb?(s=vb,f+=5):(s=e,i===0&&a(vx)),s===e&&(t.substr(f,5)===Wc?(s=Wc,f+=5):(s=e,i===0&&a(Bm)),s===e&&(t.substr(f,5)===Mb?(s=Mb,f+=5):(s=e,i===0&&a(Mx)),s===e&&(t.substr(f,5)===Lb?(s=Lb,f+=5):(s=e,i===0&&a(Lx)),s===e&&(t.substr(f,5)===wb?(s=wb,f+=5):(s=e,i===0&&a(wx)),s===e&&(t.substr(f,5)===Eb?(s=Eb,f+=5):(s=e,i===0&&a(Ex)),s===e&&(t.substr(f,5)===Ab?(s=Ab,f+=5):(s=e,i===0&&a(Ax)),s===e&&(t.substr(f,5)===Ib?(s=Ib,f+=5):(s=e,i===0&&a(Ix)),s===e&&(t.substr(f,5)===Tb?(s=Tb,f+=5):(s=e,i===0&&a(Tx)),s===e&&(t.substr(f,5)===Fb?(s=Fb,f+=5):(s=e,i===0&&a(Fx)),s===e&&(t.substr(f,5)===Hc?(s=Hc,f+=5):(s=e,i===0&&a(Vm)),s===e&&(t.substr(f,5)===_b?(s=_b,f+=5):(s=e,i===0&&a(_x)),s===e&&(t.substr(f,5)===Hc?(s=Hc,f+=5):(s=e,i===0&&a(Vm)),s===e&&(t.substr(f,5)===Rb?(s=Rb,f+=5):(s=e,i===0&&a(Rx)),s===e&&(t.substr(f,5)===Pb?(s=Pb,f+=5):(s=e,i===0&&a(Px)),s===e&&(t.substr(f,5)===Db?(s=Db,f+=5):(s=e,i===0&&a(Dx)),s===e&&(t.substr(f,5)===Nb?(s=Nb,f+=5):(s=e,i===0&&a(Nx)),s===e&&(t.substr(f,5)===Gb?(s=Gb,f+=5):(s=e,i===0&&a(Gx)),s===e&&(t.substr(f,5)===Ob?(s=Ob,f+=5):(s=e,i===0&&a(Ox)),s===e&&(t.substr(f,5)===zb?(s=zb,f+=5):(s=e,i===0&&a(zx)),s===e&&(t.substr(f,5)===kb?(s=kb,f+=5):(s=e,i===0&&a(kx)),s===e&&(t.substr(f,5)===Bb?(s=Bb,f+=5):(s=e,i===0&&a(Bx)),s===e&&(t.substr(f,5)===Vb?(s=Vb,f+=5):(s=e,i===0&&a(Vx)),s===e&&(t.substr(f,5)===Wb?(s=Wb,f+=5):(s=e,i===0&&a(Wx)),s===e&&(t.substr(f,5)===Hb?(s=Hb,f+=5):(s=e,i===0&&a(Hx)),s===e&&(t.substr(f,5)===Ub?(s=Ub,f+=5):(s=e,i===0&&a(Ux)),s===e&&(t.substr(f,5)===Kb?(s=Kb,f+=5):(s=e,i===0&&a(Kx)),s===e&&(t.substr(f,5)===qb?(s=qb,f+=5):(s=e,i===0&&a(qx)),s===e&&(t.substr(f,5)===Zb?(s=Zb,f+=5):(s=e,i===0&&a(Zx)),s===e&&(t.substr(f,5)===Uc?(s=Uc,f+=5):(s=e,i===0&&a(Wm)),s===e&&(t.substr(f,5)===Uc?(s=Uc,f+=5):(s=e,i===0&&a(Wm)),s===e&&(t.substr(f,5)===Xb?(s=Xb,f+=5):(s=e,i===0&&a(Xx)),s===e&&(t.substr(f,5)===Yb?(s=Yb,f+=5):(s=e,i===0&&a(Yx)),s===e&&(t.substr(f,5)===Jb?(s=Jb,f+=5):(s=e,i===0&&a(Jx)),s===e&&(t.substr(f,5)===Qb?(s=Qb,f+=5):(s=e,i===0&&a(Qx)),s===e&&(t.substr(f,5)===e9?(s=e9,f+=5):(s=e,i===0&&a(eC)),s===e&&(t.substr(f,5)===s9?(s=s9,f+=5):(s=e,i===0&&a(sC)),s===e&&(t.substr(f,5)===c9?(s=c9,f+=5):(s=e,i===0&&a(cC)),s===e&&(t.substr(f,5)===t9?(s=t9,f+=5):(s=e,i===0&&a(tC)),s===e&&(t.substr(f,5)===f9?(s=f9,f+=5):(s=e,i===0&&a(fC)),s===e&&(t.substr(f,5)===o9?(s=o9,f+=5):(s=e,i===0&&a(oC)),s===e&&(t.substr(f,5)===r9?(s=r9,f+=5):(s=e,i===0&&a(rC)),s===e&&(t.substr(f,5)===i9?(s=i9,f+=5):(s=e,i===0&&a(iC)),s===e&&(t.substr(f,5)===a9?(s=a9,f+=5):(s=e,i===0&&a(aC)),s===e&&(t.substr(f,5)===l9?(s=l9,f+=5):(s=e,i===0&&a(lC)),s===e&&(t.substr(f,5)===n9?(s=n9,f+=5):(s=e,i===0&&a(nC)),s===e&&(t.substr(f,5)===$9?(s=$9,f+=5):(s=e,i===0&&a($C)),s===e&&(t.substr(f,5)===g9?(s=g9,f+=5):(s=e,i===0&&a(gC)),s===e&&(t.substr(f,5)===b9?(s=b9,f+=5):(s=e,i===0&&a(bC)),s===e&&(t.substr(f,5)===m9?(s=m9,f+=5):(s=e,i===0&&a(mC)),s===e&&(t.substr(f,5)===p9?(s=p9,f+=5):(s=e,i===0&&a(pC)),s===e&&(t.substr(f,5)===u9?(s=u9,f+=5):(s=e,i===0&&a(uC)),s===e&&(t.substr(f,5)===d9?(s=d9,f+=5):(s=e,i===0&&a(dC)),s===e&&(t.substr(f,5)===h9?(s=h9,f+=5):(s=e,i===0&&a(hC)),s===e&&(t.substr(f,5)===j9?(s=j9,f+=5):(s=e,i===0&&a(jC)),s===e&&(t.substr(f,5)===y9?(s=y9,f+=5):(s=e,i===0&&a(yC)),s===e&&(t.substr(f,5)===x9?(s=x9,f+=5):(s=e,i===0&&a(xC)),s===e&&(t.substr(f,5)===C9?(s=C9,f+=5):(s=e,i===0&&a(CC)),s===e&&(t.substr(f,5)===S9?(s=S9,f+=5):(s=e,i===0&&a(SC)),s===e&&(t.substr(f,5)===v9?(s=v9,f+=5):(s=e,i===0&&a(vC)),s===e&&(t.substr(f,5)===M9?(s=M9,f+=5):(s=e,i===0&&a(MC)),s===e&&(t.substr(f,5)===L9?(s=L9,f+=5):(s=e,i===0&&a(LC)),s===e&&(t.substr(f,5)===w9?(s=w9,f+=5):(s=e,i===0&&a(wC)),s===e&&(t.substr(f,5)===E9?(s=E9,f+=5):(s=e,i===0&&a(EC)),s===e&&(t.substr(f,5)===A9?(s=A9,f+=5):(s=e,i===0&&a(AC)),s===e&&(t.substr(f,5)===I9?(s=I9,f+=5):(s=e,i===0&&a(IC)),s===e&&(t.substr(f,5)===T9?(s=T9,f+=5):(s=e,i===0&&a(TC))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function PE(){let s;return t.substr(f,5)===F9?(s=F9,f+=5):(s=e,i===0&&a(FC)),s===e&&(t.substr(f,5)===_9?(s=_9,f+=5):(s=e,i===0&&a(_C)),s===e&&(t.substr(f,5)===R9?(s=R9,f+=5):(s=e,i===0&&a(RC)),s===e&&(t.substr(f,5)===P9?(s=P9,f+=5):(s=e,i===0&&a(PC)),s===e&&(t.substr(f,5)===D9?(s=D9,f+=5):(s=e,i===0&&a(DC)),s===e&&(t.substr(f,5)===N9?(s=N9,f+=5):(s=e,i===0&&a(NC)),s===e&&(t.substr(f,5)===G9?(s=G9,f+=5):(s=e,i===0&&a(GC)),s===e&&(t.substr(f,5)===O9?(s=O9,f+=5):(s=e,i===0&&a(OC)),s===e&&(t.substr(f,5)===z9?(s=z9,f+=5):(s=e,i===0&&a(zC)),s===e&&(t.substr(f,5)===k9?(s=k9,f+=5):(s=e,i===0&&a(kC)),s===e&&(t.substr(f,5)===B9?(s=B9,f+=5):(s=e,i===0&&a(BC)),s===e&&(t.substr(f,5)===V9?(s=V9,f+=5):(s=e,i===0&&a(VC)),s===e&&(t.substr(f,5)===W9?(s=W9,f+=5):(s=e,i===0&&a(WC)),s===e&&(t.substr(f,5)===H9?(s=H9,f+=5):(s=e,i===0&&a(HC)),s===e&&(t.substr(f,5)===U9?(s=U9,f+=5):(s=e,i===0&&a(UC)),s===e&&(t.substr(f,4)===K9?(s=K9,f+=4):(s=e,i===0&&a(KC)),s===e&&(t.substr(f,4)===q9?(s=q9,f+=4):(s=e,i===0&&a(qC)),s===e&&(t.substr(f,4)===Z9?(s=Z9,f+=4):(s=e,i===0&&a(ZC)),s===e&&(t.substr(f,4)===X9?(s=X9,f+=4):(s=e,i===0&&a(XC)),s===e&&(t.substr(f,4)===Y9?(s=Y9,f+=4):(s=e,i===0&&a(YC)),s===e&&(t.substr(f,4)===J9?(s=J9,f+=4):(s=e,i===0&&a(JC)),s===e&&(t.substr(f,4)===Q9?(s=Q9,f+=4):(s=e,i===0&&a(QC)),s===e&&(t.substr(f,4)===e3?(s=e3,f+=4):(s=e,i===0&&a(eS)),s===e&&(t.substr(f,4)===s3?(s=s3,f+=4):(s=e,i===0&&a(sS)),s===e&&(t.substr(f,4)===c3?(s=c3,f+=4):(s=e,i===0&&a(cS)),s===e&&(t.substr(f,4)===t3?(s=t3,f+=4):(s=e,i===0&&a(tS)),s===e&&(t.substr(f,4)===f3?(s=f3,f+=4):(s=e,i===0&&a(fS)),s===e&&(t.substr(f,4)===o3?(s=o3,f+=4):(s=e,i===0&&a(oS)),s===e&&(t.substr(f,4)===r3?(s=r3,f+=4):(s=e,i===0&&a(rS)),s===e&&(t.substr(f,4)===i3?(s=i3,f+=4):(s=e,i===0&&a(iS)),s===e&&(t.substr(f,4)===a3?(s=a3,f+=4):(s=e,i===0&&a(aS)),s===e&&(t.substr(f,4)===l3?(s=l3,f+=4):(s=e,i===0&&a(lS)),s===e&&(t.substr(f,4)===n3?(s=n3,f+=4):(s=e,i===0&&a(nS)),s===e&&(t.substr(f,4)===$3?(s=$3,f+=4):(s=e,i===0&&a($S)),s===e&&(t.substr(f,4)===g3?(s=g3,f+=4):(s=e,i===0&&a(gS)),s===e&&(t.substr(f,4)===b3?(s=b3,f+=4):(s=e,i===0&&a(bS)),s===e&&(t.substr(f,4)===m3?(s=m3,f+=4):(s=e,i===0&&a(mS)),s===e&&(t.substr(f,4)===p3?(s=p3,f+=4):(s=e,i===0&&a(pS)),s===e&&(t.substr(f,4)===u3?(s=u3,f+=4):(s=e,i===0&&a(uS)),s===e&&(t.substr(f,4)===d3?(s=d3,f+=4):(s=e,i===0&&a(dS)),s===e&&(t.substr(f,4)===h3?(s=h3,f+=4):(s=e,i===0&&a(hS)),s===e&&(t.substr(f,4)===j3?(s=j3,f+=4):(s=e,i===0&&a(jS)),s===e&&(t.substr(f,4)===y3?(s=y3,f+=4):(s=e,i===0&&a(yS)),s===e&&(t.substr(f,4)===x3?(s=x3,f+=4):(s=e,i===0&&a(xS)),s===e&&(t.substr(f,4)===C3?(s=C3,f+=4):(s=e,i===0&&a(CS)),s===e&&(t.substr(f,4)===Xe?(s=Xe,f+=4):(s=e,i===0&&a(S3)),s===e&&(t.substr(f,4)===Kc?(s=Kc,f+=4):(s=e,i===0&&a(Hm)),s===e&&(t.substr(f,4)===v3?(s=v3,f+=4):(s=e,i===0&&a(SS)),s===e&&(t.substr(f,4)===M3?(s=M3,f+=4):(s=e,i===0&&a(vS)),s===e&&(t.substr(f,4)===L3?(s=L3,f+=4):(s=e,i===0&&a(MS)),s===e&&(t.substr(f,4)===w3?(s=w3,f+=4):(s=e,i===0&&a(LS)),s===e&&(t.substr(f,4)===E3?(s=E3,f+=4):(s=e,i===0&&a(wS)),s===e&&(t.substr(f,4)===A3?(s=A3,f+=4):(s=e,i===0&&a(ES)),s===e&&(t.substr(f,4)===I3?(s=I3,f+=4):(s=e,i===0&&a(AS)),s===e&&(t.substr(f,4)===qc?(s=qc,f+=4):(s=e,i===0&&a(Um)),s===e&&(t.substr(f,4)===T3?(s=T3,f+=4):(s=e,i===0&&a(IS)),s===e&&(t.substr(f,4)===F3?(s=F3,f+=4):(s=e,i===0&&a(TS)),s===e&&(t.substr(f,4)===Zc?(s=Zc,f+=4):(s=e,i===0&&a(Km)),s===e&&(t.substr(f,4)===_3?(s=_3,f+=4):(s=e,i===0&&a(FS)),s===e&&(t.substr(f,4)===R3?(s=R3,f+=4):(s=e,i===0&&a(_S)),s===e&&(t.substr(f,4)===Xc?(s=Xc,f+=4):(s=e,i===0&&a(qm)),s===e&&(t.substr(f,4)===P3?(s=P3,f+=4):(s=e,i===0&&a(RS)),s===e&&(t.substr(f,4)===D3?(s=D3,f+=4):(s=e,i===0&&a(PS)),s===e&&(t.substr(f,4)===Yc?(s=Yc,f+=4):(s=e,i===0&&a(Zm)),s===e&&(t.substr(f,4)===N3?(s=N3,f+=4):(s=e,i===0&&a(DS)),s===e&&(t.substr(f,4)===G3?(s=G3,f+=4):(s=e,i===0&&a(NS)),s===e&&(t.substr(f,4)===O3?(s=O3,f+=4):(s=e,i===0&&a(GS)),s===e&&(t.substr(f,4)===z3?(s=z3,f+=4):(s=e,i===0&&a(OS)),s===e&&(t.substr(f,4)===k3?(s=k3,f+=4):(s=e,i===0&&a(zS)),s===e&&(t.substr(f,4)===B3?(s=B3,f+=4):(s=e,i===0&&a(kS)),s===e&&(t.substr(f,4)===V3?(s=V3,f+=4):(s=e,i===0&&a(BS)),s===e&&(t.substr(f,4)===W3?(s=W3,f+=4):(s=e,i===0&&a(VS)),s===e&&(t.substr(f,4)===Me?(s=Me,f+=4):(s=e,i===0&&a(s1)),s===e&&(t.substr(f,4)===Ye?(s=Ye,f+=4):(s=e,i===0&&a(H3)),s===e&&(t.substr(f,4)===U3?(s=U3,f+=4):(s=e,i===0&&a(WS)),s===e&&(t.substr(f,4)===K3?(s=K3,f+=4):(s=e,i===0&&a(HS)),s===e&&(t.substr(f,4)===Jc?(s=Jc,f+=4):(s=e,i===0&&a(Xm)),s===e&&(t.substr(f,4)===q3?(s=q3,f+=4):(s=e,i===0&&a(US)),s===e&&(t.substr(f,4)===Z3?(s=Z3,f+=4):(s=e,i===0&&a(KS)),s===e&&(t.substr(f,4)===X3?(s=X3,f+=4):(s=e,i===0&&a(qS)),s===e&&(t.substr(f,4)===Y3?(s=Y3,f+=4):(s=e,i===0&&a(ZS)),s===e&&(t.substr(f,4)===Qc?(s=Qc,f+=4):(s=e,i===0&&a(Ym)),s===e&&(t.substr(f,4)===J3?(s=J3,f+=4):(s=e,i===0&&a(XS)),s===e&&(t.substr(f,4)===Qc?(s=Qc,f+=4):(s=e,i===0&&a(Ym)),s===e&&(t.substr(f,4)===Q3?(s=Q3,f+=4):(s=e,i===0&&a(YS)),s===e&&(t.substr(f,4)===et?(s=et,f+=4):(s=e,i===0&&a(Jm)),s===e&&(t.substr(f,4)===e7?(s=e7,f+=4):(s=e,i===0&&a(JS)),s===e&&(t.substr(f,4)===et?(s=et,f+=4):(s=e,i===0&&a(Jm)),s===e&&(t.substr(f,4)===s7?(s=s7,f+=4):(s=e,i===0&&a(QS)),s===e&&(t.substr(f,4)===st?(s=st,f+=4):(s=e,i===0&&a(Qm)),s===e&&(t.substr(f,4)===c7?(s=c7,f+=4):(s=e,i===0&&a(ev)),s===e&&(t.substr(f,4)===st?(s=st,f+=4):(s=e,i===0&&a(Qm)),s===e&&(t.substr(f,4)===t7?(s=t7,f+=4):(s=e,i===0&&a(sv)),s===e&&(t.substr(f,4)===ct?(s=ct,f+=4):(s=e,i===0&&a(ep)),s===e&&(t.substr(f,4)===f7?(s=f7,f+=4):(s=e,i===0&&a(cv)),s===e&&(t.substr(f,4)===ct?(s=ct,f+=4):(s=e,i===0&&a(ep)),s===e&&(t.substr(f,4)===o7?(s=o7,f+=4):(s=e,i===0&&a(tv)),s===e&&(t.substr(f,4)===r7?(s=r7,f+=4):(s=e,i===0&&a(fv)),s===e&&(t.substr(f,4)===Me?(s=Me,f+=4):(s=e,i===0&&a(s1)),s===e&&(t.substr(f,4)===i7?(s=i7,f+=4):(s=e,i===0&&a(ov))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function DE(){let s;return t.substr(f,4)===Me?(s=Me,f+=4):(s=e,i===0&&a(s1)),s===e&&(t.substr(f,4)===a7?(s=a7,f+=4):(s=e,i===0&&a(rv)),s===e&&(t.substr(f,4)===l7?(s=l7,f+=4):(s=e,i===0&&a(iv)),s===e&&(t.substr(f,4)===n7?(s=n7,f+=4):(s=e,i===0&&a(av)),s===e&&(t.substr(f,4)===Ye?(s=Ye,f+=4):(s=e,i===0&&a(H3)),s===e&&(t.substr(f,4)===$7?(s=$7,f+=4):(s=e,i===0&&a(lv)),s===e&&(t.substr(f,4)===tt?(s=tt,f+=4):(s=e,i===0&&a(sp)),s===e&&(t.substr(f,4)===ft?(s=ft,f+=4):(s=e,i===0&&a(cp)),s===e&&(t.substr(f,4)===g7?(s=g7,f+=4):(s=e,i===0&&a(nv)),s===e&&(t.substr(f,4)===b7?(s=b7,f+=4):(s=e,i===0&&a($v)),s===e&&(t.substr(f,4)===ft?(s=ft,f+=4):(s=e,i===0&&a(cp)),s===e&&(t.substr(f,4)===ot?(s=ot,f+=4):(s=e,i===0&&a(tp)),s===e&&(t.substr(f,4)===ot?(s=ot,f+=4):(s=e,i===0&&a(tp)),s===e&&(t.substr(f,4)===m7?(s=m7,f+=4):(s=e,i===0&&a(gv)),s===e&&(t.substr(f,4)===p7?(s=p7,f+=4):(s=e,i===0&&a(bv)),s===e&&(t.substr(f,4)===u7?(s=u7,f+=4):(s=e,i===0&&a(mv)),s===e&&(t.substr(f,4)===d7?(s=d7,f+=4):(s=e,i===0&&a(pv)),s===e&&(t.substr(f,4)===h7?(s=h7,f+=4):(s=e,i===0&&a(uv)),s===e&&(t.substr(f,4)===j7?(s=j7,f+=4):(s=e,i===0&&a(dv)),s===e&&(t.substr(f,4)===y7?(s=y7,f+=4):(s=e,i===0&&a(hv)),s===e&&(t.substr(f,4)===x7?(s=x7,f+=4):(s=e,i===0&&a(jv)),s===e&&(t.substr(f,4)===C7?(s=C7,f+=4):(s=e,i===0&&a(yv)),s===e&&(t.substr(f,4)===S7?(s=S7,f+=4):(s=e,i===0&&a(xv)),s===e&&(t.substr(f,4)===v7?(s=v7,f+=4):(s=e,i===0&&a(Cv)),s===e&&(t.substr(f,4)===tt?(s=tt,f+=4):(s=e,i===0&&a(sp)),s===e&&(t.substr(f,4)===M7?(s=M7,f+=4):(s=e,i===0&&a(Sv)),s===e&&(t.substr(f,4)===L7?(s=L7,f+=4):(s=e,i===0&&a(vv)),s===e&&(t.substr(f,4)===w7?(s=w7,f+=4):(s=e,i===0&&a(Mv)),s===e&&(t.substr(f,4)===E7?(s=E7,f+=4):(s=e,i===0&&a(Lv)),s===e&&(t.substr(f,4)===A7?(s=A7,f+=4):(s=e,i===0&&a(wv)),s===e&&(t.substr(f,3)===I7?(s=I7,f+=3):(s=e,i===0&&a(Ev)),s===e&&(t.substr(f,3)===T7?(s=T7,f+=3):(s=e,i===0&&a(Av)),s===e&&(t.substr(f,3)===F7?(s=F7,f+=3):(s=e,i===0&&a(Iv)),s===e&&(t.substr(f,3)===_7?(s=_7,f+=3):(s=e,i===0&&a(Tv)),s===e&&(t.substr(f,3)===R7?(s=R7,f+=3):(s=e,i===0&&a(Fv)),s===e&&(t.substr(f,3)===P7?(s=P7,f+=3):(s=e,i===0&&a(_v)),s===e&&(t.substr(f,3)===D7?(s=D7,f+=3):(s=e,i===0&&a(Rv)),s===e&&(t.substr(f,3)===N7?(s=N7,f+=3):(s=e,i===0&&a(Pv)),s===e&&(t.substr(f,3)===G7?(s=G7,f+=3):(s=e,i===0&&a(Dv)),s===e&&(t.substr(f,3)===O7?(s=O7,f+=3):(s=e,i===0&&a(Nv)),s===e&&(t.substr(f,3)===z7?(s=z7,f+=3):(s=e,i===0&&a(Gv)),s===e&&(t.substr(f,3)===k7?(s=k7,f+=3):(s=e,i===0&&a(Ov)),s===e&&(t.substr(f,3)===Je?(s=Je,f+=3):(s=e,i===0&&a(B7)),s===e&&(t.substr(f,3)===V7?(s=V7,f+=3):(s=e,i===0&&a(zv)),s===e&&(t.substr(f,3)===W7?(s=W7,f+=3):(s=e,i===0&&a(kv)),s===e&&(t.substr(f,3)===H7?(s=H7,f+=3):(s=e,i===0&&a(Bv)),s===e&&(t.substr(f,3)===U7?(s=U7,f+=3):(s=e,i===0&&a(Vv)),s===e&&(t.substr(f,3)===K7?(s=K7,f+=3):(s=e,i===0&&a(Wv)),s===e&&(t.substr(f,3)===q7?(s=q7,f+=3):(s=e,i===0&&a(Hv)),s===e&&(t.substr(f,3)===Z7?(s=Z7,f+=3):(s=e,i===0&&a(Uv)),s===e&&(t.substr(f,3)===X7?(s=X7,f+=3):(s=e,i===0&&a(Kv)),s===e&&(t.substr(f,3)===Y7?(s=Y7,f+=3):(s=e,i===0&&a(qv)),s===e&&(t.substr(f,3)===J7?(s=J7,f+=3):(s=e,i===0&&a(Zv)),s===e&&(t.substr(f,3)===Q7?(s=Q7,f+=3):(s=e,i===0&&a(Xv)),s===e&&(t.substr(f,3)===em?(s=em,f+=3):(s=e,i===0&&a(Yv)),s===e&&(t.substr(f,3)===sm?(s=sm,f+=3):(s=e,i===0&&a(Jv)),s===e&&(t.substr(f,3)===cm?(s=cm,f+=3):(s=e,i===0&&a(Qv)),s===e&&(t.substr(f,3)===tm?(s=tm,f+=3):(s=e,i===0&&a(eM)),s===e&&(t.substr(f,3)===fm?(s=fm,f+=3):(s=e,i===0&&a(sM)),s===e&&(t.substr(f,3)===rt?(s=rt,f+=3):(s=e,i===0&&a(fp)),s===e&&(t.substr(f,3)===om?(s=om,f+=3):(s=e,i===0&&a(cM)),s===e&&(t.substr(f,3)===rm?(s=rm,f+=3):(s=e,i===0&&a(tM)),s===e&&(t.substr(f,3)===im?(s=im,f+=3):(s=e,i===0&&a(fM)),s===e&&(t.substr(f,3)===am?(s=am,f+=3):(s=e,i===0&&a(oM)),s===e&&(t.substr(f,3)===lm?(s=lm,f+=3):(s=e,i===0&&a(rM)),s===e&&(t.substr(f,3)===op?(s=op,f+=3):(s=e,i===0&&a(rp)),s===e&&(t.substr(f,3)===ip?(s=ip,f+=3):(s=e,i===0&&a(ap)),s===e&&(t.substr(f,3)===lp?(s=lp,f+=3):(s=e,i===0&&a(np)),s===e&&(t.substr(f,3)===$p?(s=$p,f+=3):(s=e,i===0&&a(gp)),s===e&&(t.substr(f,3)===_s?(s=_s,f+=3):(s=e,i===0&&a(c1)),s===e&&(t.substr(f,3)===bp?(s=bp,f+=3):(s=e,i===0&&a(mp)),s===e&&(t.substr(f,3)===pp?(s=pp,f+=3):(s=e,i===0&&a(up)),s===e&&(t.substr(f,3)===dp?(s=dp,f+=3):(s=e,i===0&&a(hp)),s===e&&(t.substr(f,3)===jp?(s=jp,f+=3):(s=e,i===0&&a(yp)),s===e&&(t.substr(f,3)===xp?(s=xp,f+=3):(s=e,i===0&&a(Cp)),s===e&&(t.substr(f,3)===Sp?(s=Sp,f+=3):(s=e,i===0&&a(vp)),s===e&&(t.substr(f,3)===_s?(s=_s,f+=3):(s=e,i===0&&a(c1)),s===e&&(t.substr(f,3)===_s?(s=_s,f+=3):(s=e,i===0&&a(c1)),s===e&&(t.substr(f,3)===Mp?(s=Mp,f+=3):(s=e,i===0&&a(Lp)),s===e&&(t.substr(f,2)===wp?(s=wp,f+=2):(s=e,i===0&&a(Ep)),s===e&&(t.substr(f,2)===Ap?(s=Ap,f+=2):(s=e,i===0&&a(iM)),s===e&&(t.substr(f,2)===Ip?(s=Ip,f+=2):(s=e,i===0&&a(o)),s===e&&(t.substr(f,2)===ie?(s=ie,f+=2):(s=e,i===0&&a(t1)),s===e&&(t.substr(f,2)===de?(s=de,f+=2):(s=e,i===0&&a(nm)),s===e&&(t.substr(f,2)===it?(s=it,f+=2):(s=e,i===0&&a(aM)),s===e&&(t.substr(f,2)===$?(s=$,f+=2):(s=e,i===0&&a(at)),s===e&&(t.substr(f,2)===Tp?(s=Tp,f+=2):(s=e,i===0&&a(Fp)),s===e&&(t.substr(f,2)===f1?(s=f1,f+=2):(s=e,i===0&&a(l)),s===e&&(t.substr(f,2)===o1?(s=o1,f+=2):(s=e,i===0&&a($m)),s===e&&(t.substr(f,2)===o1?(s=o1,f+=2):(s=e,i===0&&a($m)),s===e&&(t.substr(f,2)===Le?(s=Le,f+=2):(s=e,i===0&&a(lM)),s===e&&(t.substr(f,2)===gm?(s=gm,f+=2):(s=e,i===0&&a(_p)),s===e&&(t.substr(f,2)===Rp?(s=Rp,f+=2):(s=e,i===0&&a(Pp)),s===e&&(t.substr(f,2)===bm?(s=bm,f+=2):(s=e,i===0&&a(nM)),s===e&&(t.substr(f,2)===mm?(s=mm,f+=2):(s=e,i===0&&a(Dp)),s===e&&(t.substr(f,2)===Ks?(s=Ks,f+=2):(s=e,i===0&&a($M)),s===e&&(t.substr(f,2)===pm?(s=pm,f+=2):(s=e,i===0&&a(Np)),s===e&&(t.substr(f,2)===lt?(s=lt,f+=2):(s=e,i===0&&a(gM)),s===e&&(t.substr(f,2)===Gp?(s=Gp,f+=2):(s=e,i===0&&a(bM)),s===e&&(t.substr(f,2)===Op?(s=Op,f+=2):(s=e,i===0&&a(mM))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s}function NE(){let s;return t.substr(f,2)===zp?(s=zp,f+=2):(s=e,i===0&&a(pM)),s===e&&(t.substr(f,2)===kp?(s=kp,f+=2):(s=e,i===0&&a(uM)),s===e&&(t.substr(f,2)===Bp?(s=Bp,f+=2):(s=e,i===0&&a(c)),s===e&&(t.substr(f,2)===L?(s=L,f+=2):(s=e,i===0&&a(D)),s===e&&(t.substr(f,2)===N?(s=N,f+=2):(s=e,i===0&&a(B)),s===e&&(t.substr(f,2)===lL?(s=lL,f+=2):(s=e,i===0&&a(sE)),s===e&&(t.substr(f,2)===nL?(s=nL,f+=2):(s=e,i===0&&a(cE)),s===e&&(t.substr(f,2)===$L?(s=$L,f+=2):(s=e,i===0&&a(tE)),s===e&&(t.substr(f,2)===gL?(s=gL,f+=2):(s=e,i===0&&a(fE)),s===e&&(oE.test(t.charAt(f))?(s=t.charAt(f),f++):(s=e,i===0&&a(rE))))))))))),s}if(Wp=y(),Wp!==e&&f===t.length)return Wp;throw Wp!==e&&fqw(` - ${Y(j,()=>`

${j}

`)} - ${Y(y,()=>`

${y}

`)} - -
- ${gt(P,G=>` -
- ${Y(G.isLiteral(),()=>` -
- ${Y(Cw(G.label),()=>` -

${G.label}

- `)} -
${Zw(d0(G,t))}
-
- `).else(()=>` - ${gt(G.lines,I=>` - ${Y(m||rL(I),()=>` -
- ${gt(I.items,v=>` - ${Y(_M(v),()=>` -
- ${Y(v.annotation).then(()=>` -
${v.annotation}
- `).else(()=>` -
- ${u0(v.chords,I,e,{renderKey:r,useUnicodeModifier:t.useUnicodeModifiers,normalizeChords:t.normalizeChords})} -
- `)} -
${v.lyrics}
-
- `).elseWhen(Uw(v),()=>` - ${Y(Kw(v),()=>` -
${v.value}
- `)} - - ${Y(v.hasRenderableLabel(),()=>` -

${v.value}

- `)} - `).elseWhen(kM(v),()=>` -
-
-
- ${Jw(v,w,t)} -
-
- `)} - `)} -
- `)} - `)} - `)} -
- `)} -
-`);const cF={".chord:not(:last-child)":{paddingRight:"10px"},".paragraph":{marginBottom:"1em"},".row":{display:"flex"},".chord:after":{content:"'\\200b'"},".lyrics:after":{content:"'\\200b'"}};class tF extends Qw{get template(){return sF}get defaultCss(){return cF}}var fF=tF,oF=({configuration:t,configuration:{key:r},song:e,renderBlankLines:m=!1,song:{title:j,subtitle:y,bodyLines:w,metadata:P},bodyParagraphs:G})=>qw(` - ${Y(j,()=>`

${j}

`)} - ${Y(y,()=>`

${y}

`)} - - ${Y(w.length>0,()=>` -
- ${gt(G,I=>` -
- ${Y(I.isLiteral(),()=>` - - - ${Y(Cw(I.label),()=>` - - `)} - - -
${I.label}${Zw(d0(I,t))}
- `).else(()=>` - ${gt(I.lines,v=>` - ${Y(m||rL(v),()=>` - - ${Y(cI(v),()=>` - - ${gt(v.items,_=>` - ${Y(_M(_),()=>` - ${Y(_.annotation).then(()=>` - - `).else(()=>` - - `)} - `)} - `)} - - `)} - - ${Y(iL(v),()=>` - - ${gt(v.items,_=>` - ${Y(_M(_),()=>` - - `).elseWhen(Uw(_),()=>` - ${Y(Kw(_),()=>` - - `)} - - ${Y(_.hasRenderableLabel(),()=>` - - `)} - `).elseWhen(RT(_),()=>` - - `).elseWhen(kM(_),()=>` - - `)} - `)} - - `)} -
${_.annotation}${u0(_.chords,v,e,{renderKey:r,useUnicodeModifier:t.useUnicodeModifiers,normalizeChords:t.normalizeChords})}
${_.lyrics}${_.value}

${_.value}

${_.string} - ${Jw(_,P,t)} -
- `)} - `)} - `)} -
- `)} -
- `)} -`);const rF={h1:{fontSize:"1.5em"},h2:{fontSize:"1.1em"},table:{borderSpacing:"0",color:"inherit"},td:{padding:"3px 0"},".chord:not(:last-child)":{paddingRight:"10px"},".paragraph":{marginBottom:"1em"}};class iF extends Qw{get template(){return oF}get defaultCss(){return rF}}var aF=iF;class lF extends $0{format(r){return this.song=r,[this.formatHeader(),this.formatParagraphs()].join("")}formatHeader(){const{title:r,subtitle:e}=this.song,m=r||e?` -`:"";return[this.formatTitle(r),this.formatSubTitle(e),m].join("")}formatParagraphs(){const{bodyParagraphs:r,expandedBodyParagraphs:e,metadata:m}=this.song,{expandChorusDirective:j}=this.configuration;return(j?e:r).map(y=>this.formatParagraph(y,m)).join(` - -`)}formatParagraph(r,e){return r.isLiteral()?[r.label,d0(r,this.configuration)].filter(m=>m).join(` -`):r.lines.filter(m=>m.hasRenderableItems()).map(m=>this.formatLine(m,e)).join(` -`)}formatLine(r,e){return[this.formatLineTop(r,e),this.formatLineBottom(r,e)].filter(j=>!n0(j)).map(j=>(j||"").trimEnd()).join(` -`)}formatTitle(r){return r?`${r.toUpperCase()} -`:""}formatSubTitle(r){return r?`${r} -`:""}formatLineTop(r,e){return xw(r)?this.formatLineWithFormatter(r,this.formatItemTop,e):null}chordLyricsPairLength(r,e){const m=r.annotation||this.renderChords(r,e),{lyrics:j}=r,y=(m||"").length,w=(j||"").length;return y>=w?y+1:Math.max(y,w)}renderChords(r,e){return u0(r.chords,e,this.song,{renderKey:this.configuration.key,useUnicodeModifier:this.configuration.useUnicodeModifiers,normalizeChords:this.configuration.normalizeChords})}formatItemTop(r,e,m){if(r instanceof U&&r.isRenderable())return r.value||"";if(r instanceof oe){const j=r.annotation||this.renderChords(r,m);return Jp(j,this.chordLyricsPairLength(r,m))}return""}formatLineBottom(r,e){return iL(r)?this.formatLineWithFormatter(r,this.formatItemBottom,e):""}formatLineWithFormatter(r,e,m){return r.items.map(j=>e.call(this,j,m,r)).join("")}formatItemBottom(r,e,m){return r instanceof U&&r.isRenderable()?r.value||"":r instanceof oe?Jp(r.lyrics||"",this.chordLyricsPairLength(r,m)):"evaluate"in r?r.evaluate(e,this.configuration.get("metadata.separator")):""}constructor(...r){super(...r),this.song=new $1}}var nF=lF;const rw=/^\[(Verse.*)]/i,iw=/^\[(Chorus)]/i,aw=/^\[([^\]]+)]/,lw={[ut]:Lm,[Ns]:b1},wM={[ut]:g0,[Ns]:Mm};class $F extends Hw{constructor({preserveWhitespace:r=!0}={}){super({preserveWhitespace:r},!1),this.currentSectionType=null}parseLine(r){if(this.isSectionEnd()&&this.endSection(),rw.test(r)){this.startNewLine();const e=r.match(rw)[1];this.startSection(ut,e)}else if(iw.test(r)){this.startNewLine();const e=r.match(iw)[1];this.startSection(Ns,e)}else aw.test(r)?this.parseMetadataLine(r):super.parseLine(r)}parseMetadataLine(r){this.startNewLine(),this.endSection();const e=r.match(aw)[1];if(!this.songLine)throw new Error("Expected this.songLine to be present");this.songLine.addTag(new U(VM,e))}isSectionEnd(){return this.songLine!==null&&this.songLine.isEmpty()&&this.song.previousLine!==null&&!this.song.previousLine.isEmpty()}endOfSong(){super.endOfSong(),this.currentSectionType!==null&&this.currentSectionType in wM&&this.startNewLine(),this.endSection({addNewLine:!1})}startSection(r,e){this.currentSectionType&&this.endSection(),this.currentSectionType=r,this.song.setCurrentProperties(r),r in lw&&this.song.addTag(new U(lw[r],e))}endSection({addNewLine:r=!0}={}){this.currentSectionType!==null&&this.currentSectionType in wM&&(this.song.addTag(new U(wM[this.currentSectionType])),r&&this.startNewLine()),this.song.setCurrentProperties(Ps),this.currentSectionType=null}startNewLine(){this.songLine=this.song.addLine()}}var gF=$F,nw={CHORUS:Ns,Chord:Sm,ChordLyricsPair:oe,ChordProFormatter:fT,ChordProParser:vT,ChordSheetParser:Hw,ChordSheetSerializer:oL,ChordsOverWordsFormatter:DT,ChordsOverWordsParser:QT,Comment:bt,Composite:IM,HtmlDivFormatter:fF,HtmlTableFormatter:aF,INDETERMINATE:zM,Line:TM,Literal:Ds,Metadata:Vw,NONE:Ps,Paragraph:FM,SoftLineBreak:t0,Song:$1,TAB:l0,Tag:U,Ternary:Cm,TextFormatter:nF,UltimateGuitarParser:gF,VERSE:ut},aL={},h0={};Object.defineProperty(h0,"__esModule",{value:!0});function bF(t){return String.fromCharCode(parseInt(t.slice(1),16))}function mF(t){return btoa(encodeURIComponent(t).replace(/%[0-9A-F]{2}/g,bF))}h0.encode=mF;function pF(t){return`%${`00${t.charCodeAt(0).toString(16)}`.slice(-2)}`}function uF(t){return decodeURIComponent(Array.from(atob(t),pF).join(""))}h0.decode=uF;Object.defineProperty(aL,"__esModule",{value:!0});const eE=h0;function dF(t){return eE.decode(t.replace(/\-/g,"+").replace(/_/g,"/"))}var hF=aL.decode=dF;function jF(t){return eE.encode(t).replace(/\//g,"_").replace(/\+/g,"-").replace(/=+$/,"")}var yF=aL.encode=jF;const xF={class:"flex gap-2 p-4"},CF={class:"is-group flex"},SF=["disabled"],vF=["disabled"],MF=["disabled"],LF={class:"flex gap-2 p-4 gap-4 flex-wrap chords"},wF=["innerHTML"],EF={class:"flex flex-wrap p-4 gap-4 bg-light-100 dark-bg-dark-300 shadow-xl rounded-xl",style:{flex:"1 1 280px"}},AF={class:"w-full flex gap-2 justify-between whitespace-nowrap"},IF={class:"flex-1"},TF={class:"op-60 flex-1"},PF={__name:"ChordSheets",setup(t){const r=new nw.ChordsOverWordsParser,e=new nw.HtmlDivFormatter,m=Kp("ukulele"),j=VE("chord-sheet",`title: Let it be -subtitle: Chord sheet example -artist: You -composer: You later -key: Am -time: 4/4 -tempo: 110 -comment: your starter chordsheet -chordsize: 120% -textsize: 120% ---- - -Am C/G F C -Let it be, let it be, let it be, let it be -C G F C/E Dm C -Whisper words of wisdom, let it be - -Am C/G F C -Let it be, let it be, let it be, let it be -C G F C/E Dm C -Whisper words of wisdom, let it be`),y=Kp(),w=Kp({});WE(j,q=>{y.value=r.parse(q)},{immediate:!0});const P=qp(()=>e.format(y.value)),G=qp(()=>{const q=new DOMParser().parseFromString(P.value,"text/html"),V=q.querySelectorAll(".chord"),je={};V.forEach(H=>{let ue=H==null?void 0:H.innerHTML;if(!ue)return;je[ue]=je[ue]?++je[ue]:1;let ye=PL(ue).tonic,pe=zE.findIndex(ve=>ve==ye);pe==-1&&(pe=kE.findIndex(ve=>ve==ye)),H.style.color=DL(pe),H.style.background=DL(pe,1,1,.1),H.style.borderRadius="4px",H.style.padding="2px"});const De=new XMLSerializer().serializeToString(q);return w.value=je,De}),I=qp(()=>Object.entries(w.value).sort((q,V)=>q[1]>V[1]?-1:1).map(q=>q[0]).map(q=>PL(q))),v=Kp();HE(()=>{if(v.value=window.location.hash.slice(1),!!v.value){try{j.value=hF(v.value)}catch(q){console.log(q)}window.location.hash=""}});const _=qp(()=>`${window.location}#${yF(j.value)}`),{copy:K,copied:me}=UE({source:_});return(q,V)=>{const je=BE,De=GE;return dm(),jM(GL,null,[$e("div",xF,[$e("button",{class:"text-button",onClick:V[0]||(V[0]=H=>y.value=y.value.transposeUp())},"Transpose Up"),$e("button",{class:"text-button",onClick:V[1]||(V[1]=H=>y.value=y.value.transposeDown())},"Transpose Down"),$e("div",CF,[$e("button",{class:"text-button disabled-op-40",onClick:V[2]||(V[2]=H=>m.value="piano"),disabled:m.value=="piano"},"Piano ",8,SF),$e("button",{class:"text-button disabled-op-40",onClick:V[3]||(V[3]=H=>m.value="guitar"),disabled:m.value=="guitar"},"Guitar",8,vF),$e("button",{class:"text-button disabled-op-40",onClick:V[4]||(V[4]=H=>m.value="ukulele"),disabled:m.value=="ukulele"},"Ukulele",8,MF)]),$e("button",{class:"text-button",onClick:V[5]||(V[5]=H=>hm(K)())},yM(hm(me)?"Copied":"Copy URL"),1)]),$e("div",LF,[KE($e("textarea",{class:"p-4 min-h-90",autoresize:"",style:{flex:"1 1 200px"},"onUpdate:modelValue":V[6]||(V[6]=H=>ZE(j)?j.value=H:null)},null,512),[[qE,hm(j)]]),$e("div",{class:"p-4 bg-light-100 dark-bg-dark-300 shadow-xl rounded-xl",style:{flex:"1 1 300px"},innerHTML:G.value},null,8,wF),$e("div",EF,[(dm(!0),jM(GL,null,XE(I.value,H=>(dm(),jM("div",{class:"p-0 flex flex-wrap",style:{flex:"1 1 140px"},key:H},[$e("div",AF,[$e("div",IF,yM(H.symbol),1),V[8]||(V[8]=$e("div",{class:"flex-1"},null,-1)),$e("div",TF,yM(H.name),1)]),m.value=="piano"?(dm(),OL(je,{key:0,title:!1,chroma:H.chroma,pitch:hm(NL)[H.tonic]},null,8,["chroma","pitch"])):zL("",!0),m.value=="ukulele"||m.value=="guitar"?(dm(),OL(De,{key:1,class:"max-w-40",instrument:m.value,"onUpdate:instrument":V[7]||(V[7]=ue=>m.value=ue),title:!1,chroma:H.chroma,pitch:hm(NL)[H.tonic]},null,8,["instrument","chroma","pitch"])):zL("",!0)]))),128))])])],64)}}};export{PF as default}; diff --git a/assets/chunks/ChordTab.s9wWLKZa.js b/assets/chunks/ChordTab.DvdaPJNy.js similarity index 95% rename from assets/chunks/ChordTab.s9wWLKZa.js rename to assets/chunks/ChordTab.DvdaPJNy.js index e5b8b13b4d..889fc48ee7 100644 --- a/assets/chunks/ChordTab.s9wWLKZa.js +++ b/assets/chunks/ChordTab.DvdaPJNy.js @@ -1 +1 @@ -import{B as N,r as y,g as B,a as k,b as v,d as S,n as w,C as W}from"./theme.ClagsQLu.js";import{q as $,Q as I,v as M,R as A,b as D,c as l,x as o,y as r,A as i,G as u,E as _,F as h,B as m,z as j,I as C,H as E}from"./framework.BR0mAPCP.js";const F={key:0,class:"flex gap-1 p-2 text-lg"},V={class:"font-bold"},q=["onClick"],G=["viewBox"],H={id:"fretboard"},L=["x2"],P=["x1","y1","y2"],Q=["cy","cx"],R={id:"strings"},T=["transform"],J=["y2"],K=["transform"],O=["opacity","r","fill"],U=["opacity"],X={__name:"ChordTab",props:I({title:{type:Boolean,default:!0},chroma:{type:String,default:"100000000000"},pitch:{type:Number,default:0},chordNotes:{type:Array,default:[]}},{instrument:{default:"guitar"},instrumentModifiers:{}}),emits:["update:instrument"],setup(d){const{isDark:b}=M(),s=d,f=A(d,"instrument"),g={guitar:[7,0,5,10,2,7],ukulele:[10,3,7,0]},z=[3,5,7,10,12,15,17,19,21],t=D({strings:l(()=>g[f.value]),height:l(()=>(t.strings.length-1)*t.noteSize),width:l(()=>t.fretNum*t.fretWidth),isInChord:l(()=>N(s.chordNotes)),chroma:l(()=>y(s.chroma.split(""),-s.pitch)),scale:l(()=>y(B.chroma.split(""),-s.pitch)),title:l(()=>{var p,n;return(p=k(s.chroma))!=null&&p.empty?(n=v(s.chroma))!=null&&n.empty?"":v(s.chroma):k(s.chroma).aliases[0]}),noteSize:40,fretWidth:50,fretNum:7,color:l(()=>S(y(s.chroma.split(""),-s.pitch).join(""),s.pitch,.3,b.value?4:12))});return(p,n)=>(o(),r("div",{class:"flex flex-col justify-center rounded-3xl py-2",style:E({backgroundColor:t.color.lch})},[d.title?(o(),r("div",F,[i("div",V,u(_(w)[d.pitch])+u(t.title),1),n[0]||(n[0]=i("div",{class:"flex-1"},null,-1)),(o(),r(h,null,m(g,(e,a)=>i("div",{class:j(["p-0 capitalize active-op-100 transition",{[a==f.value?"op-100":"op-40"]:!0}]),onClick:x=>f.value=a},u(a),11,q)),64))])):C("",!0),(o(),r("svg",{class:"max-h-3xl w-full my-2",id:"fretboard",version:"1.1",baseProfile:"full",viewBox:`-50 -50 ${t.height+100} ${t.width+60}`,xmlns:"http://www.w3.org/2000/svg","font-family":"Commissioner, sans-serif","font-size":"20px","text-anchor":"middle","dominant-baseline":"middle"},[i("g",H,[i("line",{stroke:"currentColor","stroke-width":"10",x1:"0",x2:t.height},null,8,L),(o(!0),r(h,null,m(t.fretNum,e=>(o(),r("g",{class:"fret",key:e},[i("line",{x1:t.height,y1:e*t.fretWidth,y2:e*t.fretWidth,stroke:"currentColor","stroke-width":"2",opacity:"0.5"},null,8,P),z.find(a=>a==e)?(o(),r("circle",{key:0,class:"inlay",cy:(e-.5)*t.fretWidth,cx:t.height/2,r:"5",opacity:"0.8",fill:"currentColor"},null,8,Q)):C("",!0)]))),128))]),i("g",R,[(o(!0),r(h,null,m(t.strings,(e,a)=>(o(),r("g",{class:"string",key:e,transform:`translate(${a*t.noteSize} 0)`},[i("line",{y2:t.width,"stroke-width":"4",stroke:"currentColor",opacity:"0.5"},null,8,J),(o(!0),r(h,null,m(t.fretNum+1,(x,c)=>(o(),r("g",{class:"note",key:x,transform:`translate(0 ${(c-.5)*t.fretWidth})`},[i("circle",{opacity:t.chroma[(c+e)%12]==1?1:0,r:t.noteSize/2-4,fill:_(W)(e+c,2)},null,8,O),i("text",{y:"2",opacity:t.chroma[(c+e)%12]==1?1:0,fill:"white","font-size":"18","font-weight":"bold"},u(_(w)[(c+e)%12]),9,U)],8,K))),128))],8,T))),128))])],8,G))],4))}},tt=$(X,[["__scopeId","data-v-22c600ee"]]);export{tt as _}; +import{B as N,r as y,g as B,a as k,b as v,d as S,n as w,C as W}from"./theme.Dd_Fb62b.js";import{q as $,Q as I,v as M,R as A,b as D,c as l,x as o,y as r,A as i,G as u,E as _,F as h,B as m,z as j,I as C,H as E}from"./framework.CQBrk0Ry.js";const F={key:0,class:"flex gap-1 p-2 text-lg"},V={class:"font-bold"},q=["onClick"],G=["viewBox"],H={id:"fretboard"},L=["x2"],P=["x1","y1","y2"],Q=["cy","cx"],R={id:"strings"},T=["transform"],J=["y2"],K=["transform"],O=["opacity","r","fill"],U=["opacity"],X={__name:"ChordTab",props:I({title:{type:Boolean,default:!0},chroma:{type:String,default:"100000000000"},pitch:{type:Number,default:0},chordNotes:{type:Array,default:[]}},{instrument:{default:"guitar"},instrumentModifiers:{}}),emits:["update:instrument"],setup(d){const{isDark:b}=M(),s=d,f=A(d,"instrument"),g={guitar:[7,0,5,10,2,7],ukulele:[10,3,7,0]},z=[3,5,7,10,12,15,17,19,21],t=D({strings:l(()=>g[f.value]),height:l(()=>(t.strings.length-1)*t.noteSize),width:l(()=>t.fretNum*t.fretWidth),isInChord:l(()=>N(s.chordNotes)),chroma:l(()=>y(s.chroma.split(""),-s.pitch)),scale:l(()=>y(B.chroma.split(""),-s.pitch)),title:l(()=>{var p,n;return(p=k(s.chroma))!=null&&p.empty?(n=v(s.chroma))!=null&&n.empty?"":v(s.chroma):k(s.chroma).aliases[0]}),noteSize:40,fretWidth:50,fretNum:7,color:l(()=>S(y(s.chroma.split(""),-s.pitch).join(""),s.pitch,.3,b.value?4:12))});return(p,n)=>(o(),r("div",{class:"flex flex-col justify-center rounded-3xl py-2",style:E({backgroundColor:t.color.lch})},[d.title?(o(),r("div",F,[i("div",V,u(_(w)[d.pitch])+u(t.title),1),n[0]||(n[0]=i("div",{class:"flex-1"},null,-1)),(o(),r(h,null,m(g,(e,a)=>i("div",{class:j(["p-0 capitalize active-op-100 transition",{[a==f.value?"op-100":"op-40"]:!0}]),onClick:x=>f.value=a},u(a),11,q)),64))])):C("",!0),(o(),r("svg",{class:"max-h-3xl w-full my-2",id:"fretboard",version:"1.1",baseProfile:"full",viewBox:`-50 -50 ${t.height+100} ${t.width+60}`,xmlns:"http://www.w3.org/2000/svg","font-family":"Commissioner, sans-serif","font-size":"20px","text-anchor":"middle","dominant-baseline":"middle"},[i("g",H,[i("line",{stroke:"currentColor","stroke-width":"10",x1:"0",x2:t.height},null,8,L),(o(!0),r(h,null,m(t.fretNum,e=>(o(),r("g",{class:"fret",key:e},[i("line",{x1:t.height,y1:e*t.fretWidth,y2:e*t.fretWidth,stroke:"currentColor","stroke-width":"2",opacity:"0.5"},null,8,P),z.find(a=>a==e)?(o(),r("circle",{key:0,class:"inlay",cy:(e-.5)*t.fretWidth,cx:t.height/2,r:"5",opacity:"0.8",fill:"currentColor"},null,8,Q)):C("",!0)]))),128))]),i("g",R,[(o(!0),r(h,null,m(t.strings,(e,a)=>(o(),r("g",{class:"string",key:e,transform:`translate(${a*t.noteSize} 0)`},[i("line",{y2:t.width,"stroke-width":"4",stroke:"currentColor",opacity:"0.5"},null,8,J),(o(!0),r(h,null,m(t.fretNum+1,(x,c)=>(o(),r("g",{class:"note",key:x,transform:`translate(0 ${(c-.5)*t.fretWidth})`},[i("circle",{opacity:t.chroma[(c+e)%12]==1?1:0,r:t.noteSize/2-4,fill:_(W)(e+c,2)},null,8,O),i("text",{y:"2",opacity:t.chroma[(c+e)%12]==1?1:0,fill:"white","font-size":"18","font-weight":"bold"},u(_(w)[(c+e)%12]),9,U)],8,K))),128))],8,T))),128))])],8,G))],4))}},tt=$(X,[["__scopeId","data-v-22c600ee"]]);export{tt as _}; diff --git a/assets/chunks/ChordTabs.DD8BHknq.js b/assets/chunks/ChordTabs.DD8BHknq.js new file mode 100644 index 0000000000..67324cf79e --- /dev/null +++ b/assets/chunks/ChordTabs.DD8BHknq.js @@ -0,0 +1 @@ +import{w as $,c as w,n as u,j as H,r as N,g as P,d as T,p as O,s as B,e as S,aO as V,aw as X,aP as Y}from"./theme.Dd_Fb62b.js";import{b as v,c as F,x as t,y as f,G as p,I as j,A as n,F as y,B as l,E as b,q,v as M,u as h,P as _,H as I,z,a1 as L}from"./framework.CQBrk0Ry.js";const J=["viewBox"],K=["fill","x"],Q=["y1","y2","x1","x2","stroke-width"],R=["x","y"],U=["x2","y1","y2"],Z=["cx","cy"],ee=["x1","x2","y2","stroke"],re=["cx","cy","fill"],se=["x","y"],ie={class:"barres"},te=["x2","y1","y2"],fe=["cx","stroke"],ae=["transform"],be=["cx","cy","fill"],ne=["x","y"],me={__name:"ChordTabsTab",props:{frets:{type:Array,default:()=>[]},fingers:{type:Array,default:()=>[]},baseFret:{type:Number,default:0},barres:{type:Array,default:()=>[]},midi:{type:Array,default:()=>[]},name:{type:String,default:""},pitch:{type:Number,default:0}},setup(d){const A=d,e=v({stringWidth:40,fretHeight:60,width:F(()=>(A.frets.length-1)*e.stringWidth),height:F(()=>4*e.fretHeight),padX:30,padY:40,dots:[3,5,7,10]}),o=v({chordColor:F(()=>$(w(A.pitch,3)).toHex()),list:F(()=>A.midi.map(s=>(s+3)%12)),colors:F(()=>o.list.map(s=>$(w(s,3)).toHex()))});return(s,a)=>(t(),f("svg",{class:"max-h-360px min-h-50",version:"1.1",baseProfile:"full",viewBox:`${-e.padX} ${-e.padY} ${e.width+2*e.padX} ${e.height+2*e.padY}`,xmlns:"http://www.w3.org/2000/svg","font-family":"Commissioner, sans-serif","font-size":"20px","text-anchor":"middle","dominant-baseline":"middle"},[d.name?(t(),f("text",{key:0,"font-weight":"bold",fill:o.chordColor,"font-size":"22px",x:(e==null?void 0:e.width)/2,y:-30},p(d.name),9,K)):j("",!0),n("line",{class:"top",y1:d.baseFret==1?4:0,y2:d.baseFret==1?4:0,x1:d.baseFret==1?2:0,x2:d.baseFret==1?e.width-2:e.width,stroke:"currentColor","stroke-linecap":"square","stroke-width":d.baseFret==1?8:2},null,8,Q),(t(),f(y,null,l(4,r=>n("g",{class:"frets",key:r},[n("text",{x:e.width+10,y:r*e.fretHeight-e.fretHeight/2,"font-size":"18px",fill:"currentColor"},p(r+d.baseFret-1),9,R),n("line",{class:"fret",x1:"0",x2:e.width,y1:r*e.fretHeight,y2:r*e.fretHeight,stroke:"currentColor"},null,8,U),e.dots.find(i=>i==r+d.baseFret-1)?(t(),f("circle",{key:0,cx:e.width/2,cy:r*e.fretHeight-e.fretHeight/2,r:"10",fill:"gray"},null,8,Z)):j("",!0)])),64)),(t(!0),f(y,null,l(d.frets,(r,i)=>(t(),f("g",{class:"strings",key:i},[n("line",{x1:i*e.stringWidth,x2:i*e.stringWidth,y1:0,y2:e.height,stroke:r>=0?o.colors[i]:"gray","stroke-width":"4px"},null,8,ee),r>=0?(t(),f("circle",{key:0,cx:i*e.stringWidth,cy:e.height+10,r:"10",fill:o.colors[i]},null,8,re)):j("",!0),r>=0?(t(),f("text",{key:1,fill:"white",x:i*e.stringWidth,y:e.height+14,"font-size":"12px","font-weight":"bold"},p(b(u)[o.list[i]]),9,se)):j("",!0)]))),128)),n("g",ie,[(t(!0),f(y,null,l(d.barres,r=>(t(),f("line",{key:r,x1:"0",x2:e.width,y1:r*e.fretHeight-e.fretHeight/2,y2:r*e.fretHeight-e.fretHeight/2,"stroke-width":"48px","stroke-linecap":"round",stroke:"gray",opacity:"0.5"},null,8,te))),128))]),(t(!0),f(y,null,l(d.frets,(r,i)=>(t(),f("g",{class:"notes",key:i},[r==0?(t(),f("circle",{key:0,cx:i*e.stringWidth,cy:"-15",r:"8",fill:"none","stroke-width":"6px",stroke:o.colors[i]},null,8,fe)):j("",!0),r==-1?(t(),f("g",{key:1,class:"x","stroke-width":"4px",transform:`translate(${i*e.stringWidth}, -15)`},a[0]||(a[0]=[n("line",{x1:"-10",x2:"10",y1:"-10",y2:"10",stroke:"currentColor"},null,-1),n("line",{x1:"-10",x2:"10",y1:"10",y2:"-10",stroke:"currentColor"},null,-1)]),8,ae)):j("",!0),r>0?(t(),f("circle",{key:2,cx:i*e.stringWidth,cy:r*e.fretHeight-e.fretHeight/2,r:20,fill:o.colors[i]},null,8,be)):j("",!0),r>0?(t(),f("text",{key:3,fill:"white","font-weight":"bold",x:i*e.stringWidth,y:r*e.fretHeight-e.fretHeight/2+5},p(d.fingers[i]),9,ne)):j("",!0)]))),128))],8,J))}},W={main:{strings:4,fretsOnChord:4,name:"ukulele",numberOfChords:2114},tunings:{standard:["G4","C4","E4","A4"]},keys:["A","A#","B","C","C#","D","D#","E","F","F#","G","G#"],suffixes:["major","minor","dim","dim7","sus2","sus4","7sus4","alt","aug","6","69","7","7b5","aug7","9","9b5","aug9","7b9","7b9#5","7#9","11","9#11","13","13b9","13b5b9","b13b9","b13#9","maj7","maj7b5","maj7#5","maj9","maj11","maj13","m6","m7","m7b5","m9","m69","m9b5","m11","mmaj7","mmaj7b5","mmaj9","mmaj11","add9","madd9"],chords:{C:[{key:"C",suffix:"major",positions:[{frets:[0,0,0,3],fingers:[0,0,0,3],baseFret:1,barres:[],midi:[67,60,64,72]},{frets:[0,4,3,3],fingers:[0,2,1,1],barres:[3],baseFret:1,midi:[67,64,67,72]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[72,64,67,72]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,67,72,76]}]},{key:"C",suffix:"minor",positions:[{frets:[0,3,3,3],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,63,67,72]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:3,midi:[72,63,67,72]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[72,63,67,75]},{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:5,barres:[],midi:[72,67,72,75]}]},{key:"C",suffix:"dim",positions:[{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:2,barres:[],midi:[72,63,66,72]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,66,72,75]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[75,66,72,75]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:9,barres:[],midi:[78,72,75,78]}]},{key:"C",suffix:"dim7",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"C",suffix:"sus2",positions:[{frets:[0,2,3,3],fingers:[0,1,2,2],barres:[3],baseFret:1,midi:[67,62,67,72]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,72,74]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:7,midi:[74,67,72,79]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[79,72,74,79]}]},{key:"C",suffix:"sus4",positions:[{frets:[0,0,1,3],fingers:[0,0,1,3],baseFret:1,barres:[],midi:[67,60,65,72]},{frets:[3,3,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[72,65,67,72]},{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,67,72,77]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:7,barres:[],midi:[77,67,72,79]}]},{key:"C",suffix:"7sus4",positions:[{frets:[0,0,1,1],fingers:[0,0,1,2],baseFret:1,barres:[],midi:[67,60,65,70]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,72]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,70,77]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[77,70,72,79]}]},{key:"C",suffix:"alt",positions:[{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:2,barres:[],midi:[72,64,66,72]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,66,72,76]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:6,barres:[],midi:[76,66,72,76]}]},{key:"C",suffix:"aug",positions:[{frets:[1,0,0,3],fingers:[1,0,0,4],baseFret:1,barres:[],midi:[68,60,64,72]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,64,68,72]},{frets:[3,2,2,1],fingers:[4,2,3,1],baseFret:3,barres:[],midi:[72,64,68,72]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,76]}]},{key:"C",suffix:"6",positions:[{frets:[0,0,0,0],fingers:[0,0,0,0],baseFret:1,barres:[],midi:[67,60,64,69]},{frets:[2,4,3,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[69,64,67,72]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,69,76]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:8,midi:[76,69,72,79]}]},{key:"C",suffix:"69",positions:[{frets:[0,2,0,0],fingers:[0,2,0,0],baseFret:1,barres:[],midi:[67,62,64,69]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:2,barres:[],midi:[69,64,67,74]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[74,67,69,76]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:9,midi:[76,69,74,79]}]},{key:"C",suffix:"7",positions:[{frets:[0,0,0,1],fingers:[0,0,0,1],baseFret:1,barres:[],midi:[67,60,64,70]},{frets:[3,4,3,3],fingers:[1,2,1,1],barres:[3],capo:!0,baseFret:1,midi:[70,64,67,72]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,70,76]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,70,72,79]}]},{key:"C",suffix:"7b5",positions:[{frets:[3,4,2,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[70,64,66,72]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:5,midi:[72,66,70,76]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,70,72,78]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,82]}]},{key:"C",suffix:"aug7",positions:[{frets:[1,0,0,1],fingers:[1,0,0,2],baseFret:1,barres:[],midi:[68,60,64,70]},{frets:[3,4,4,3],fingers:[1,4,3,2],baseFret:1,barres:[],midi:[70,64,68,72]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,68,70,76]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,70,72,80]}]},{key:"C",suffix:"9",positions:[{frets:[0,2,0,1],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,62,64,70]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,74]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,76]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,79]}]},{key:"C",suffix:"9b5",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:2,barres:[],midi:[70,64,66,74]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,76]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:9,midi:[76,70,74,78]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:11,barres:[],midi:[78,74,76,82]}]},{key:"C",suffix:"aug9",positions:[{frets:[1,2,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,62,64,70]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,74]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,68,70,76]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,80]}]},{key:"C",suffix:"7b9",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"C",suffix:"7b9#5",positions:[{frets:[1,1,0,1],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,70]},{frets:[3,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[70,64,68,73]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,76]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,80]}]},{key:"C",suffix:"7#9",positions:[{frets:[0,3,0,1],fingers:[0,3,0,1],baseFret:1,barres:[],midi:[67,63,64,70]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,75]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:6,barres:[],midi:[75,67,70,76]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,67,70,75]}]},{key:"C",suffix:"11",positions:[{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:5,barres:[],midi:[74,65,70,76]}]},{key:"C",suffix:"9#11",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:2,barres:[],midi:[70,64,66,74]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,76]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:9,midi:[76,70,74,78]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:11,barres:[],midi:[78,74,76,82]}]},{key:"C",suffix:"13",positions:[{frets:[2,2,0,1],fingers:[2,3,0,1],baseFret:1,barres:[],midi:[69,62,64,70]},{frets:[3,2,0,0],fingers:[3,2,0,0],baseFret:1,barres:[],midi:[70,62,64,69]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,69,74]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,76]}]},{key:"C",suffix:"13b9",positions:[{frets:[2,1,0,1],fingers:[3,1,0,2],baseFret:1,barres:[],midi:[69,61,64,70]},{frets:[3,1,0,0],fingers:[3,1,0,0],baseFret:1,barres:[],midi:[70,61,64,69]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,64,69,73]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,69,70,76]}]},{key:"C",suffix:"13b5b9",positions:[{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:1,barres:[],midi:[69,61,66,70]},{frets:[3,1,2,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[70,61,66,69]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:3,barres:[],midi:[70,66,69,73]}]},{key:"C",suffix:"b13b9",positions:[{frets:[1,1,0,1],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,70]},{frets:[3,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[70,64,68,73]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,76]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,80]}]},{key:"C",suffix:"b13#9",positions:[{frets:[1,3,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,70]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,75]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,68,70,75]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:6,barres:[],midi:[75,68,70,76]}]},{key:"C",suffix:"maj7",positions:[{frets:[0,0,0,2],fingers:[0,0,0,2],baseFret:1,barres:[],midi:[67,60,64,71]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:2,barres:[],midi:[72,64,67,71]},{frets:[4,4,3,3],fingers:[2,3,1,1],barres:[3],capo:!0,baseFret:1,midi:[71,64,67,72]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,67,71,76]}]},{key:"C",suffix:"maj7b5",positions:[{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,64,66,71]},{frets:[4,4,2,3],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[71,64,66,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,71,76]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,71,72,78]}]},{key:"C",suffix:"maj7#5",positions:[{frets:[1,0,0,2],fingers:[1,0,0,2],baseFret:1,barres:[],midi:[68,60,64,71]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:2,barres:[],midi:[72,64,68,71]},{frets:[4,4,4,3],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[71,64,68,72]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,68,71,76]}]},{key:"C",suffix:"maj9",positions:[{frets:[0,2,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,62,64,71]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:3,midi:[71,64,67,74]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,76]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:9,midi:[76,71,74,79]}]},{key:"C",suffix:"maj11",positions:[{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:5,barres:[],midi:[74,65,71,76]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:8,barres:[],midi:[76,71,74,77]}]},{key:"C",suffix:"maj13",positions:[{frets:[2,2,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[69,62,64,71]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:4,midi:[71,64,69,74]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,76]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,74,81]}]},{key:"C",suffix:"m6",positions:[{frets:[2,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,72]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,75]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,79]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,72,75,81]}]},{key:"C",suffix:"m7",positions:[{frets:[3,3,3,3],fingers:[1,1,1,1],barres:[3],capo:!0,baseFret:1,midi:[70,63,67,72]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:5,midi:[72,67,70,75]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,72,79]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:11,midi:[79,72,75,82]}]},{key:"C",suffix:"m7b5",positions:[{frets:[3,3,2,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,72]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,75]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,78]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,82]}]},{key:"C",suffix:"m9",positions:[{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],baseFret:3,midi:[70,63,67,74]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:5,barres:[],midi:[75,67,70,74]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:6,midi:[74,67,70,75]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,70,74,79]}]},{key:"C",suffix:"m69",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,63,67,74]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:5,barres:[],midi:[74,67,69,75]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,67,69,74]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,74,79]}]},{key:"C",suffix:"m9b5",positions:[{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:2,midi:[70,63,66,74]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:5,midi:[75,66,70,74]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,75]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:8,barres:[],midi:[75,70,74,78]}]},{key:"C",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:5,midi:[74,65,70,75]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:5,midi:[75,65,70,74]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[75,70,74,77]}]},{key:"C",suffix:"mmaj7",positions:[{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:2,midi:[72,63,67,71]},{frets:[4,3,3,3],fingers:[2,1,1,1],barres:[3],capo:!0,baseFret:1,midi:[71,63,67,72]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:5,barres:[],midi:[72,67,71,75]},{frets:[1,4,1,3],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,71,72,79]}]},{key:"C",suffix:"mmaj7b5",positions:[{frets:[4,3,2,3],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[71,63,66,72]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,63,66,71]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,66,71,75]}]},{key:"C",suffix:"mmaj9",positions:[{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:3,midi:[71,63,67,74]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:5,barres:[],midi:[75,67,71,74]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:6,barres:[],midi:[74,67,71,75]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,71,74,79]}]},{key:"C",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:5,barres:[],midi:[74,65,71,75]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:5,midi:[75,65,71,74]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:8,midi:[75,71,74,77]}]},{key:"C",suffix:"add9",positions:[{frets:[0,2,0,3],fingers:[0,2,0,3],baseFret:1,barres:[],midi:[67,62,64,72]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:3,barres:[],midi:[72,64,67,74]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:7,midi:[74,67,72,76]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:9,midi:[76,72,74,79]}]},{key:"C",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[72,63,67,74]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:5,barres:[],midi:[75,67,72,74]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:6,midi:[74,67,72,75]}]}],"C#":[{key:"C#",suffix:"major",positions:[{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,73]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[73,65,68,73]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:6,barres:[],midi:[73,68,73,77]},{frets:[3,1,2,1],fingers:[3,1,2,1],barres:[1],capo:!0,baseFret:8,midi:[77,68,73,77]}]},{key:"C#",suffix:"minor",positions:[{frets:[1,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,64,68,73]},{frets:[3,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[73,64,68,73]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[73,64,68,76]},{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:6,barres:[],midi:[73,68,73,76]}]},{key:"C#",suffix:"dim",positions:[{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:3,barres:[],midi:[73,64,67,73]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:6,barres:[],midi:[73,67,73,76]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[76,67,73,76]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:10,barres:[],midi:[79,73,76,79]}]},{key:"C#",suffix:"dim7",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"C#",suffix:"sus2",positions:[{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:1,midi:[68,63,68,73]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,73,75]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:8,midi:[75,68,73,80]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:11,midi:[80,73,75,80]}]},{key:"C#",suffix:"sus4",positions:[{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:1,midi:[68,61,66,73]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[73,66,68,73]},{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,68,73,78]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:8,barres:[],midi:[78,68,73,80]}]},{key:"C#",suffix:"7sus4",positions:[{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:1,midi:[68,61,66,71]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,73]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,71,78]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[78,71,73,80]}]},{key:"C#",suffix:"alt",positions:[{frets:[0,1,1,4],fingers:[0,1,1,4],barres:[1],baseFret:1,midi:[67,61,65,73]},{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:3,barres:[],midi:[73,65,67,73]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:6,barres:[],midi:[73,67,73,77]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:7,barres:[],midi:[77,67,73,77]}]},{key:"C#",suffix:"aug",positions:[{frets:[2,1,1,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[69,61,65,69]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,73]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:2,barres:[],midi:[69,65,69,73]},{frets:[3,2,2,1],fingers:[4,2,3,1],baseFret:4,barres:[],midi:[73,65,69,73]}]},{key:"C#",suffix:"6",positions:[{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,70]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,65,68,73]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,70,77]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:9,midi:[77,70,73,80]}]},{key:"C#",suffix:"69",positions:[{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,70]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,68,75]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[75,68,70,77]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:10,midi:[77,70,75,80]}]},{key:"C#",suffix:"7",positions:[{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,71]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,73]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,71,77]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,71,73,80]}]},{key:"C#",suffix:"7b5",positions:[{frets:[0,1,1,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,71]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,65,67,73]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,77]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:9,barres:[],midi:[77,71,73,79]}]},{key:"C#",suffix:"aug7",positions:[{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,71]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:4,midi:[71,65,69,73]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,69,71,77]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,71,73,81]}]},{key:"C#",suffix:"9",positions:[{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,71]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,75]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,77]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,80]}]},{key:"C#",suffix:"9b5",positions:[{frets:[0,3,1,2],fingers:[0,3,1,2],baseFret:1,barres:[],midi:[67,63,65,71]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,65,67,75]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,77]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:10,midi:[77,71,75,79]}]},{key:"C#",suffix:"aug9",positions:[{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,63,65,71]},{frets:[4,3,1,0],fingers:[3,2,1,0],baseFret:1,barres:[],midi:[71,63,65,69]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,75]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,69,71,77]}]},{key:"C#",suffix:"7b9",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"C#",suffix:"7b9#5",positions:[{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,71]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,74]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,77]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,81]}]},{key:"C#",suffix:"7#9",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,71]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,76]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:7,barres:[],midi:[76,68,71,77]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,68,71,76]}]},{key:"C#",suffix:"11",positions:[{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:6,barres:[],midi:[75,66,71,77]}]},{key:"C#",suffix:"9#11",positions:[{frets:[0,3,1,2],fingers:[0,3,1,2],baseFret:1,barres:[],midi:[67,63,65,71]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,65,67,75]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,77]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:10,midi:[77,71,75,79]}]},{key:"C#",suffix:"13",positions:[{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[70,63,65,71]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,63,65,70]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,70,75]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,77]}]},{key:"C#",suffix:"13b9",positions:[{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,62,65,70]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[70,62,65,71]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,65,70,74]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,70,71,77]}]},{key:"C#",suffix:"13b5b9",positions:[{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:1,barres:[],midi:[71,62,67,70]},{frets:[3,2,3,2],fingers:[3,1,4,2],baseFret:1,barres:[],midi:[70,62,67,71]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:4,barres:[],midi:[71,67,70,74]}]},{key:"C#",suffix:"b13b9",positions:[{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,71]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,74]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,77]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,81]}]},{key:"C#",suffix:"b13#9",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,71]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,76]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,69,71,76]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:7,barres:[],midi:[76,69,71,77]}]},{key:"C#",suffix:"maj7",positions:[{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,72]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[72,65,68,73]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:3,barres:[],midi:[73,65,68,72]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,68,72,77]}]},{key:"C#",suffix:"maj7b5",positions:[{frets:[0,1,1,3],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,72]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:3,barres:[],midi:[72,65,67,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,65,67,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,72,77]}]},{key:"C#",suffix:"maj7#5",positions:[{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,72]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:4,barres:[],midi:[72,65,69,73]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:3,barres:[],midi:[73,65,69,72]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,69,72,77]}]},{key:"C#",suffix:"maj9",positions:[{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,65,72]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:4,midi:[72,65,68,75]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,77]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:10,midi:[77,72,75,80]}]},{key:"C#",suffix:"maj11",positions:[{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:6,barres:[],midi:[75,66,72,77]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:9,barres:[],midi:[77,72,75,78]}]},{key:"C#",suffix:"maj13",positions:[{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,65,72]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:5,midi:[72,65,70,75]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,77]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,75,82]}]},{key:"C#",suffix:"m6",positions:[{frets:[1,1,0,1],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,70]},{frets:[3,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[70,64,68,73]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,76]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,80]}]},{key:"C#",suffix:"m7",positions:[{frets:[1,1,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,71]},{frets:[4,4,4,4],fingers:[1,1,1,1],barres:[4],capo:!0,baseFret:1,midi:[71,64,68,73]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:6,midi:[73,68,71,76]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,73,80]}]},{key:"C#",suffix:"m7b5",positions:[{frets:[0,1,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,71]},{frets:[4,4,3,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,67,73]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,76]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,79]}]},{key:"C#",suffix:"m9",positions:[{frets:[1,3,0,2],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,71]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,64,68,75]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:6,barres:[],midi:[76,68,71,75]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:7,midi:[75,68,71,76]}]},{key:"C#",suffix:"m69",positions:[{frets:[1,3,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,70]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,75]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:6,barres:[],midi:[75,68,70,76]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,68,70,75]}]},{key:"C#",suffix:"m9b5",positions:[{frets:[0,3,0,2],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,63,64,71]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:3,midi:[71,64,67,75]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:6,midi:[76,67,71,75]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,76]}]},{key:"C#",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:6,midi:[75,66,71,76]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:6,midi:[76,66,71,75]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[76,71,75,78]}]},{key:"C#",suffix:"mmaj7",positions:[{frets:[1,1,0,3],fingers:[1,2,0,4],baseFret:1,barres:[],midi:[68,61,64,72]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,73]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:3,midi:[73,64,68,72]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:6,barres:[],midi:[73,68,72,76]}]},{key:"C#",suffix:"mmaj7b5",positions:[{frets:[0,1,0,3],fingers:[0,1,0,3],baseFret:1,barres:[],midi:[67,61,64,72]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:3,barres:[],midi:[72,64,67,73]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,64,67,72]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:6,barres:[],midi:[73,67,72,76]}]},{key:"C#",suffix:"mmaj9",positions:[{frets:[1,3,0,3],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,63,64,72]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,75]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:6,barres:[],midi:[76,68,72,75]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:7,barres:[],midi:[75,68,72,76]}]},{key:"C#",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:6,barres:[],midi:[75,66,72,76]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:6,midi:[76,66,72,75]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:9,midi:[76,72,75,78]}]},{key:"C#",suffix:"add9",positions:[{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],baseFret:1,midi:[68,63,65,73]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:4,barres:[],midi:[73,65,68,75]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],baseFret:8,midi:[75,68,73,77]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:10,midi:[77,73,75,80]}]},{key:"C#",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[73,64,68,75]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:6,barres:[],midi:[76,68,73,75]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:7,midi:[75,68,73,76]}]}],D:[{key:"D",suffix:"major",positions:[{frets:[2,2,2,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[69,62,66,69]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,62,66,74]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[74,66,69,74]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:7,barres:[],midi:[74,69,74,78]}]},{key:"D",suffix:"minor",positions:[{frets:[2,2,1,0],fingers:[2,3,1,0],baseFret:1,barres:[],midi:[69,62,65,69]},{frets:[1,4,4,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,65,69,74]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[74,65,69,74]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[74,65,69,77]}]},{key:"D",suffix:"dim",positions:[{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:4,barres:[],midi:[74,65,68,74]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:7,barres:[],midi:[74,68,74,77]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[77,68,74,77]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:11,barres:[],midi:[80,74,77,80]}]},{key:"D",suffix:"dim7",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"D",suffix:"sus2",positions:[{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:2,midi:[69,64,69,74]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[74,69,74,76]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:9,midi:[76,69,74,81]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:12,midi:[81,74,76,81]}]},{key:"D",suffix:"sus4",positions:[{frets:[0,2,3,0],fingers:[0,2,3,0],baseFret:1,barres:[],midi:[67,62,67,69]},{frets:[2,2,3,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[69,62,67,69]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:2,midi:[69,62,67,74]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[74,67,69,74]}]},{key:"D",suffix:"7sus4",positions:[{frets:[2,2,3,3],fingers:[1,1,2,2],barres:[2,3],capo:!0,baseFret:1,midi:[69,62,67,72]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,74]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,72,79]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[79,72,74,81]}]},{key:"D",suffix:"alt",positions:[{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:4,barres:[],midi:[74,66,68,74]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:7,barres:[],midi:[74,68,74,78]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:8,barres:[],midi:[78,68,74,78]}]},{key:"D",suffix:"aug",positions:[{frets:[3,2,2,1],fingers:[3,2,2,1],barres:[2],baseFret:1,midi:[70,62,66,70]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[70,62,66,74]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,66,70,74]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,78]}]},{key:"D",suffix:"6",positions:[{frets:[2,2,2,2],fingers:[1,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,71]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,66,69,74]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,71,78]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:10,midi:[78,71,74,81]}]},{key:"D",suffix:"69",positions:[{frets:[2,4,2,2],fingers:[1,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,71]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,69,76]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[76,69,71,78]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:11,midi:[78,71,76,81]}]},{key:"D",suffix:"7",positions:[{frets:[2,2,2,3],fingers:[1,1,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,72]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,74]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,72,78]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,72,74,81]}]},{key:"D",suffix:"7b5",positions:[{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,72]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,66,68,74]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,78]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:10,barres:[],midi:[78,72,74,80]}]},{key:"D",suffix:"aug7",positions:[{frets:[3,2,2,3],fingers:[2,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,72]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:5,midi:[72,66,70,74]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,70,72,78]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,72,74,82]}]},{key:"D",suffix:"9",positions:[{frets:[2,4,2,3],fingers:[1,3,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,72]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,76]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,69,72,78]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,81]}]},{key:"D",suffix:"9b5",positions:[{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,64,66,72]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,66,68,76]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,78]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:11,midi:[78,72,76,80]}]},{key:"D",suffix:"aug9",positions:[{frets:[3,4,2,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[70,64,66,72]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,76]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,70,72,78]}]},{key:"D",suffix:"7b9",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"D",suffix:"7b9#5",positions:[{frets:[3,3,2,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,72]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,75]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,78]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,82]}]},{key:"D",suffix:"7#9",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,72]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,77]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:8,barres:[],midi:[77,69,72,78]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,69,72,77]}]},{key:"D",suffix:"11",positions:[{frets:[0,4,2,3],fingers:[0,3,1,2],baseFret:1,barres:[],midi:[67,64,66,72]},{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:7,barres:[],midi:[76,67,72,78]}]},{key:"D",suffix:"9#11",positions:[{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,64,66,72]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,66,68,76]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,78]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:11,midi:[78,72,76,80]}]},{key:"D",suffix:"13",positions:[{frets:[4,4,2,3],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[71,64,66,72]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,64,66,71]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,71,76]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,71,72,78]}]},{key:"D",suffix:"13b9",positions:[{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,63,66,71]},{frets:[4,3,2,3],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[71,63,66,72]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,66,71,75]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,71,72,78]}]},{key:"D",suffix:"13b5b9",positions:[{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:2,barres:[],midi:[72,63,68,71]},{frets:[4,3,4,3],fingers:[3,1,4,2],baseFret:1,barres:[],midi:[71,63,68,72]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:5,barres:[],midi:[72,68,71,75]}]},{key:"D",suffix:"b13b9",positions:[{frets:[3,3,2,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,72]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,75]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,78]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,82]}]},{key:"D",suffix:"b13#9",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,72]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,77]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,70,72,77]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:8,barres:[],midi:[77,70,72,78]}]},{key:"D",suffix:"maj7",positions:[{frets:[2,2,2,4],fingers:[1,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,73]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:4,barres:[],midi:[74,66,69,73]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[73,66,69,74]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,69,73,78]}]},{key:"D",suffix:"maj7b5",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,66,68,73]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:4,barres:[],midi:[73,66,68,74]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,73,78]}]},{key:"D",suffix:"maj7#5",positions:[{frets:[3,2,2,4],fingers:[2,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,73]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:4,barres:[],midi:[74,66,70,73]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:5,barres:[],midi:[73,66,70,74]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,70,73,78]}]},{key:"D",suffix:"maj9",positions:[{frets:[2,4,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,64,66,73]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:5,midi:[73,66,69,76]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,78]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:11,midi:[78,73,76,81]}]},{key:"D",suffix:"maj11",positions:[{frets:[0,4,2,4],fingers:[0,2,1,3],baseFret:1,barres:[],midi:[67,64,66,73]},{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:7,barres:[],midi:[76,67,73,78]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:10,barres:[],midi:[78,73,76,79]}]},{key:"D",suffix:"maj13",positions:[{frets:[4,4,2,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,66,73]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:6,midi:[73,66,71,76]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,78]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,76,83]}]},{key:"D",suffix:"m6",positions:[{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,71]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,74]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,77]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,81]}]},{key:"D",suffix:"m7",positions:[{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:1,midi:[69,62,65,72]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,74]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:7,midi:[74,69,72,77]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,74,81]}]},{key:"D",suffix:"m7b5",positions:[{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,72]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,74]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,77]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,80]}]},{key:"D",suffix:"m9",positions:[{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,72]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,76]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:7,barres:[],midi:[77,69,72,76]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:8,midi:[76,69,72,77]}]},{key:"D",suffix:"m69",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,71]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,76]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:7,barres:[],midi:[76,69,71,77]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,69,71,76]}]},{key:"D",suffix:"m9b5",positions:[{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,72]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:4,midi:[72,65,68,76]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:7,midi:[77,68,72,76]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,77]}]},{key:"D",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:7,midi:[76,67,72,77]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:7,midi:[77,67,72,76]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[77,72,76,79]}]},{key:"D",suffix:"mmaj7",positions:[{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:1,midi:[69,62,65,73]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:4,midi:[74,65,69,73]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,74]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:7,barres:[],midi:[74,69,73,77]}]},{key:"D",suffix:"mmaj7b5",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,73]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:4,barres:[],midi:[73,65,68,74]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,65,68,73]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:7,barres:[],midi:[74,68,73,77]}]},{key:"D",suffix:"mmaj9",positions:[{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,64,65,73]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,76]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:7,barres:[],midi:[77,69,73,76]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:8,barres:[],midi:[76,69,73,77]}]},{key:"D",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:7,barres:[],midi:[76,67,73,77]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:7,midi:[77,67,73,76]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:10,midi:[77,73,76,79]}]},{key:"D",suffix:"add9",positions:[{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,64,66,74]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:5,barres:[],midi:[74,66,69,76]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:9,midi:[76,69,74,78]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:11,midi:[78,74,76,81]}]},{key:"D",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[74,65,69,76]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:7,barres:[],midi:[77,69,74,76]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:8,midi:[76,69,74,77]}]}],"D#":[{key:"D#",suffix:"major",positions:[{frets:[0,3,3,1],fingers:[0,3,4,1],baseFret:1,barres:[],midi:[67,63,67,70]},{frets:[3,3,3,1],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[70,63,67,70]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,63,67,75]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[75,67,70,75]}]},{key:"D#",suffix:"minor",positions:[{frets:[3,3,2,1],fingers:[3,4,2,1],baseFret:1,barres:[],midi:[70,63,66,70]},{frets:[1,4,4,4],fingers:[1,3,3,3],barres:[4],baseFret:3,midi:[70,66,70,75]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[75,66,70,75]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[75,66,70,78]}]},{key:"D#",suffix:"dim",positions:[{frets:[2,3,2,0],fingers:[1,3,2,0],baseFret:1,barres:[],midi:[69,63,66,69]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:5,barres:[],midi:[75,66,69,75]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:8,barres:[],midi:[75,69,75,78]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:9,midi:[78,69,75,78]}]},{key:"D#",suffix:"dim7",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"D#",suffix:"sus2",positions:[{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[70,63,65,70]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:3,midi:[70,65,70,75]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[75,70,75,77]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:10,midi:[77,70,75,82]}]},{key:"D#",suffix:"sus4",positions:[{frets:[1,3,4,1],fingers:[1,2,3,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,68,70]},{frets:[3,3,4,1],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[70,63,68,70]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:3,midi:[70,63,68,75]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[75,68,70,75]}]},{key:"D#",suffix:"7sus4",positions:[{frets:[3,3,4,4],fingers:[1,1,2,2],barres:[3,3],capo:!0,baseFret:1,midi:[70,63,68,73]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,75]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,73,80]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[80,73,75,82]}]},{key:"D#",suffix:"alt",positions:[{frets:[4,3,1,2],fingers:[3,4,1,2],baseFret:5,barres:[],midi:[75,67,69,75]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:8,barres:[],midi:[75,69,75,79]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:9,barres:[],midi:[79,69,75,79]}]},{key:"D#",suffix:"aug",positions:[{frets:[0,3,3,2],fingers:[0,3,2,1],baseFret:1,barres:[],midi:[67,63,67,71]},{frets:[4,3,3,2],fingers:[3,2,2,1],barres:[3],baseFret:1,midi:[71,63,67,71]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[71,63,67,75]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,67,71,75]}]},{key:"D#",suffix:"6",positions:[{frets:[3,3,3,3],fingers:[1,1,1,1],barres:[3],capo:!0,baseFret:1,midi:[70,63,67,72]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,67,70,75]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,72,79]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:11,midi:[79,72,75,82]}]},{key:"D#",suffix:"69",positions:[{frets:[0,0,1,1],fingers:[0,0,1,2],baseFret:1,barres:[],midi:[67,60,65,70]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,72]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,70,77]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[77,70,72,79]}]},{key:"D#",suffix:"7",positions:[{frets:[3,3,3,4],fingers:[1,1,1,2],barres:[3],capo:!0,baseFret:1,midi:[70,63,67,73]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,75]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,73,79]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,73,75,82]}]},{key:"D#",suffix:"7b5",positions:[{frets:[2,3,3,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,73]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,67,69,75]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,79]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:11,barres:[],midi:[79,73,75,81]}]},{key:"D#",suffix:"aug7",positions:[{frets:[4,3,3,4],fingers:[2,1,1,3],barres:[3],capo:!0,baseFret:1,midi:[71,63,67,73]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:6,midi:[73,67,71,75]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,71,73,79]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,73,75,83]}]},{key:"D#",suffix:"9",positions:[{frets:[0,1,1,1],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,70]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,73]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,77]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,70,73,79]}]},{key:"D#",suffix:"9b5",positions:[{frets:[0,1,1,0],fingers:[0,1,2,0],baseFret:1,barres:[],midi:[67,61,65,69]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:2,barres:[],midi:[69,65,67,73]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,67,69,77]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,79]}]},{key:"D#",suffix:"aug9",positions:[{frets:[0,1,1,2],fingers:[0,1,1,2],barres:[1],baseFret:1,midi:[67,61,65,71]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,65,67,73]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,77]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:9,barres:[],midi:[77,71,73,79]}]},{key:"D#",suffix:"7b9",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"D#",suffix:"7b9#5",positions:[{frets:[0,1,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,71]},{frets:[4,4,3,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,67,73]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,76]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,79]}]},{key:"D#",suffix:"7#9",positions:[{frets:[0,1,2,1],fingers:[0,1,3,2],baseFret:1,barres:[],midi:[67,61,66,70]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,73]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,78]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:9,barres:[],midi:[78,70,73,79]}]},{key:"D#",suffix:"11",positions:[{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:8,barres:[],midi:[77,68,73,79]}]},{key:"D#",suffix:"9#11",positions:[{frets:[0,1,1,0],fingers:[0,1,2,0],baseFret:1,barres:[],midi:[67,61,65,69]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:2,barres:[],midi:[69,65,67,73]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,67,69,77]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,79]}]},{key:"D#",suffix:"13",positions:[{frets:[0,1,1,3],fingers:[0,1,2,4],baseFret:1,barres:[],midi:[67,61,65,72]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:3,barres:[],midi:[72,65,67,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,65,67,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,72,77]}]},{key:"D#",suffix:"13b9",positions:[{frets:[0,1,0,3],fingers:[0,1,0,3],baseFret:1,barres:[],midi:[67,61,64,72]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:3,barres:[],midi:[72,64,67,73]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,64,67,72]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,72,73,79]}]},{key:"D#",suffix:"13b5b9",positions:[{frets:[2,1,0,3],fingers:[2,1,0,3],baseFret:1,barres:[],midi:[69,61,64,72]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:4,barres:[],midi:[72,64,69,73]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:3,barres:[],midi:[73,64,69,72]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:6,barres:[],midi:[73,69,72,76]}]},{key:"D#",suffix:"b13b9",positions:[{frets:[0,1,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,71]},{frets:[4,4,3,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,67,73]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,76]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,79]}]},{key:"D#",suffix:"b13#9",positions:[{frets:[0,1,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,66,71]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,73]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,78]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[79,71,73,78]}]},{key:"D#",suffix:"maj7",positions:[{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,63,67,74]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:5,barres:[],midi:[75,67,70,74]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[74,67,70,75]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,70,74,79]}]},{key:"D#",suffix:"maj7b5",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,63,67,74]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,67,69,74]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:5,barres:[],midi:[74,67,69,75]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,74,79]}]},{key:"D#",suffix:"maj7#5",positions:[{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:3,midi:[71,63,67,74]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:5,barres:[],midi:[75,67,71,74]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:6,barres:[],midi:[74,67,71,75]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,71,74,79]}]},{key:"D#",suffix:"maj9",positions:[{frets:[0,2,1,1],fingers:[0,2,1,1],barres:[1],baseFret:1,midi:[67,62,65,70]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,67,74]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:6,midi:[74,67,70,77]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,70,74,79]}]},{key:"D#",suffix:"maj11",positions:[{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:8,barres:[],midi:[77,68,74,79]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:11,barres:[],midi:[79,74,77,80]}]},{key:"D#",suffix:"maj13",positions:[{frets:[0,2,1,3],fingers:[0,2,1,3],baseFret:1,barres:[],midi:[67,62,65,72]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[72,65,67,74]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:7,midi:[74,67,72,77]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,79]}]},{key:"D#",suffix:"m6",positions:[{frets:[3,3,2,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,72]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,75]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,78]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,82]}]},{key:"D#",suffix:"m7",positions:[{frets:[3,3,2,4],fingers:[2,2,1,3],barres:[3],baseFret:1,midi:[70,63,66,73]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,75]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:8,midi:[75,70,73,78]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,75,82]}]},{key:"D#",suffix:"m7b5",positions:[{frets:[2,3,2,4],fingers:[1,2,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,73]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,75]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,78]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,81]}]},{key:"D#",suffix:"m9",positions:[{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,73]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,77]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:8,barres:[],midi:[78,70,73,77]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:9,midi:[77,70,73,78]}]},{key:"D#",suffix:"m69",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,72]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,77]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:8,barres:[],midi:[77,70,72,78]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,70,72,77]}]},{key:"D#",suffix:"m9b5",positions:[{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,73]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:5,midi:[73,66,69,77]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:8,midi:[78,69,73,77]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,78]}]},{key:"D#",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:8,midi:[77,68,73,78]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:8,midi:[78,68,73,77]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[78,73,77,80]}]},{key:"D#",suffix:"mmaj7",positions:[{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:2,midi:[70,63,66,74]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:5,midi:[75,66,70,74]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,75]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:8,barres:[],midi:[75,70,74,78]}]},{key:"D#",suffix:"mmaj7b5",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,63,66,74]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:5,barres:[],midi:[74,66,69,75]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,66,69,74]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:8,barres:[],midi:[75,69,74,78]}]},{key:"D#",suffix:"mmaj9",positions:[{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:2,barres:[],midi:[70,65,66,74]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,77]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:8,barres:[],midi:[78,70,74,77]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:9,barres:[],midi:[77,70,74,78]}]},{key:"D#",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:8,barres:[],midi:[77,68,74,78]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:8,midi:[78,68,74,77]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:11,midi:[78,74,77,80]}]},{key:"D#",suffix:"add9",positions:[{frets:[0,3,1,1],fingers:[0,3,1,1],barres:[1],baseFret:1,midi:[67,63,65,70]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,75]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:6,barres:[],midi:[75,67,70,77]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:10,midi:[77,70,75,79]}]},{key:"D#",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[75,66,70,77]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:8,barres:[],midi:[78,70,75,77]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:9,midi:[77,70,75,78]}]}],E:[{key:"E",suffix:"major",positions:[{frets:[1,4,0,2],fingers:[1,4,0,2],baseFret:1,barres:[],midi:[68,64,64,71]},{frets:[4,4,4,2],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[71,64,68,71]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,64,68,76]},{frets:[3,2,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[76,68,71,76]}]},{key:"E",suffix:"minor",positions:[{frets:[0,4,3,2],fingers:[0,3,2,1],baseFret:1,barres:[],midi:[67,64,67,71]},{frets:[4,4,3,2],fingers:[3,4,2,1],baseFret:1,barres:[],midi:[71,64,67,71]},{frets:[1,4,4,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,67,71,76]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[76,67,71,76]}]},{key:"E",suffix:"dim",positions:[{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:1,barres:[],midi:[70,64,67,70]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:6,barres:[],midi:[76,67,70,76]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:9,barres:[],midi:[76,70,76,79]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[79,70,76,79]}]},{key:"E",suffix:"dim7",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"E",suffix:"sus2",positions:[{frets:[4,4,2,2],fingers:[3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[71,64,66,71]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:4,midi:[71,66,71,76]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[76,71,76,78]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:11,midi:[78,71,76,83]}]},{key:"E",suffix:"sus4",positions:[{frets:[1,3,4,1],fingers:[1,2,3,1],barres:[1],capo:!0,baseFret:2,midi:[69,64,69,71]},{frets:[3,3,4,1],fingers:[2,3,4,1],baseFret:2,barres:[],midi:[71,64,69,71]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:4,midi:[71,64,69,76]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[76,69,71,76]}]},{key:"E",suffix:"7sus4",positions:[{frets:[2,2,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[69,62,64,71]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:4,midi:[71,64,69,74]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,76]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,74,81]}]},{key:"E",suffix:"alt",positions:[{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:6,barres:[],midi:[76,68,70,76]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:9,barres:[],midi:[76,70,76,80]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:10,barres:[],midi:[80,70,76,80]}]},{key:"E",suffix:"aug",positions:[{frets:[1,0,0,3],fingers:[1,0,0,3],baseFret:1,barres:[],midi:[68,60,64,72]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,64,68,72]},{frets:[3,2,2,1],fingers:[3,2,2,1],barres:[2],baseFret:3,midi:[72,64,68,72]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,76]}]},{key:"E",suffix:"6",positions:[{frets:[1,1,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,71]},{frets:[4,4,4,4],fingers:[1,1,1,1],barres:[4],capo:!0,baseFret:1,midi:[71,64,68,73]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,68,71,76]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,73,80]}]},{key:"E",suffix:"69",positions:[{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:1,midi:[68,61,66,71]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,73]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,71,78]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[78,71,73,80]}]},{key:"E",suffix:"7",positions:[{frets:[1,2,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,62,64,71]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,64,68,74]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,76]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,74,80]}]},{key:"E",suffix:"7b5",positions:[{frets:[1,2,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,62,64,70]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,74]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,68,70,76]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,80]}]},{key:"E",suffix:"aug7",positions:[{frets:[1,2,0,3],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,62,64,72]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],baseFret:4,midi:[72,64,68,74]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],baseFret:7,midi:[74,68,72,76]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:9,barres:[],midi:[76,72,74,80]}]},{key:"E",suffix:"9",positions:[{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,71]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,74]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,78]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,71,74,80]}]},{key:"E",suffix:"9b5",positions:[{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:1,midi:[68,62,66,70]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,66,68,74]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,68,70,78]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:10,midi:[78,70,74,80]}]},{key:"E",suffix:"aug9",positions:[{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:1,midi:[68,62,66,72]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,66,68,74]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,78]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:10,barres:[],midi:[78,72,74,80]}]},{key:"E",suffix:"7b9",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"E",suffix:"7b9#5",positions:[{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,72]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,74]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,77]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,80]}]},{key:"E",suffix:"7#9",positions:[{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[68,62,67,71]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,74]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,79]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:10,barres:[],midi:[79,71,74,80]}]},{key:"E",suffix:"11",positions:[{frets:[1,2,2,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[68,62,66,69]}]},{key:"E",suffix:"9#11",positions:[{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:1,midi:[68,62,66,70]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,66,68,74]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,68,70,78]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:10,midi:[78,70,74,80]}]},{key:"E",suffix:"13",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,73]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:4,barres:[],midi:[73,66,68,74]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,66,68,73]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,73,78]}]},{key:"E",suffix:"13b9",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,73]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,65,68,73]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:4,barres:[],midi:[73,65,68,74]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,73,74,80]}]},{key:"E",suffix:"13b5b9",positions:[{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:1,barres:[],midi:[70,62,65,73]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:4,barres:[],midi:[74,65,70,73]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:5,barres:[],midi:[73,65,70,74]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:7,barres:[],midi:[74,70,73,77]}]},{key:"E",suffix:"b13b9",positions:[{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,72]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,74]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,77]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,80]}]},{key:"E",suffix:"b13#9",positions:[{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,67,72]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,74]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,79]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[80,72,74,79]}]},{key:"E",suffix:"maj7",positions:[{frets:[1,3,0,2],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,71]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,64,68,75]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:6,barres:[],midi:[76,68,71,75]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[75,68,71,76]}]},{key:"E",suffix:"maj7b5",positions:[{frets:[1,3,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,70]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,75]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,68,70,75]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:6,barres:[],midi:[75,68,70,76]}]},{key:"E",suffix:"maj7#5",positions:[{frets:[1,3,0,3],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,63,64,72]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,75]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:6,barres:[],midi:[76,68,72,75]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:7,barres:[],midi:[75,68,72,76]}]},{key:"E",suffix:"maj9",positions:[{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:1,midi:[68,63,66,71]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,68,75]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:7,midi:[75,68,71,78]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,71,75,80]}]},{key:"E",suffix:"maj11",positions:[{frets:[1,3,2,0],fingers:[1,3,2,0],baseFret:1,barres:[],midi:[68,63,66,69]},{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:9,barres:[],midi:[78,69,75,80]}]},{key:"E",suffix:"maj13",positions:[{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,66,73]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[73,66,68,75]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:8,midi:[75,68,73,78]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,80]}]},{key:"E",suffix:"m6",positions:[{frets:[0,1,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,71]},{frets:[4,4,3,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,67,73]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,76]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,79]}]},{key:"E",suffix:"m7",positions:[{frets:[0,2,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,62,64,71]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:3,midi:[71,64,67,74]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,76]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:9,midi:[76,71,74,79]}]},{key:"E",suffix:"m7b5",positions:[{frets:[0,2,0,1],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,62,64,70]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,74]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,76]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,79]}]},{key:"E",suffix:"m9",positions:[{frets:[0,2,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,62,66,71]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,74]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,78]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:9,barres:[],midi:[79,71,74,78]}]},{key:"E",suffix:"m69",positions:[{frets:[0,1,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,66,71]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,73]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,78]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:9,barres:[],midi:[78,71,73,79]}]},{key:"E",suffix:"m9b5",positions:[{frets:[0,2,2,1],fingers:[0,2,3,1],baseFret:1,barres:[],midi:[67,62,66,70]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,74]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:6,midi:[74,67,70,78]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:9,midi:[79,70,74,78]}]},{key:"E",suffix:"m11",positions:[{frets:[0,2,2,0],fingers:[0,2,3,0],baseFret:1,barres:[],midi:[67,62,66,69]},{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:9,midi:[78,69,74,79]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:9,midi:[79,69,74,78]}]},{key:"E",suffix:"mmaj7",positions:[{frets:[0,3,0,2],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,63,64,71]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:3,midi:[71,64,67,75]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:6,midi:[76,67,71,75]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,76]}]},{key:"E",suffix:"mmaj7b5",positions:[{frets:[0,3,0,1],fingers:[0,3,0,1],baseFret:1,barres:[],midi:[67,63,64,70]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,75]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:6,barres:[],midi:[75,67,70,76]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,67,70,75]}]},{key:"E",suffix:"mmaj9",positions:[{frets:[0,3,2,2],fingers:[0,3,1,2],baseFret:1,barres:[],midi:[67,63,66,71]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,66,67,75]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,78]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:9,barres:[],midi:[79,71,75,78]}]},{key:"E",suffix:"mmaj11",positions:[{frets:[0,3,2,0],fingers:[0,3,2,0],baseFret:1,barres:[],midi:[67,63,66,69]},{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:9,barres:[],midi:[78,69,75,79]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:9,midi:[79,69,75,78]}]},{key:"E",suffix:"add9",positions:[{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:1,midi:[68,64,66,71]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,76]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:7,barres:[],midi:[76,68,71,78]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:11,midi:[78,71,76,80]}]},{key:"E",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[76,67,71,78]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:9,barres:[],midi:[79,71,76,78]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:10,midi:[78,71,76,79]}]}],F:[{key:"F",suffix:"major",positions:[{frets:[2,0,1,0],fingers:[2,0,1,0],baseFret:1,barres:[],midi:[69,60,65,69]},{frets:[2,0,1,3],fingers:[2,0,1,3],baseFret:1,barres:[],midi:[69,60,65,72]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,77]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[77,69,72,77]}]},{key:"F",suffix:"minor",positions:[{frets:[1,0,1,3],fingers:[1,0,2,4],baseFret:1,barres:[],midi:[68,60,65,72]},{frets:[3,3,2,1],fingers:[3,4,2,1],baseFret:3,barres:[],midi:[72,65,68,72]},{frets:[1,4,4,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,68,72,77]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[77,68,72,77]}]},{key:"F",suffix:"dim",positions:[{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:2,barres:[],midi:[71,65,68,71]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:7,barres:[],midi:[77,68,71,77]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:10,barres:[],midi:[77,71,77,80]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:11,midi:[80,71,77,80]}]},{key:"F",suffix:"dim7",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"F",suffix:"sus2",positions:[{frets:[0,0,1,3],fingers:[0,0,1,3],baseFret:1,barres:[],midi:[67,60,65,72]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[72,65,67,72]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:5,midi:[72,67,72,77]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[77,72,77,79]}]},{key:"F",suffix:"sus4",positions:[{frets:[3,0,1,1],fingers:[3,0,1,1],barres:[1],baseFret:1,midi:[70,60,65,70]},{frets:[3,0,1,3],fingers:[2,0,1,3],baseFret:1,barres:[],midi:[70,60,65,72]},{frets:[1,3,4,1],fingers:[1,2,3,1],barres:[1],capo:!0,baseFret:3,midi:[70,65,70,72]},{frets:[3,3,4,1],fingers:[2,3,4,1],baseFret:3,barres:[],midi:[72,65,70,72]}]},{key:"F",suffix:"7sus4",positions:[{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,65,72]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:5,midi:[72,65,70,75]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,77]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,75,82]}]},{key:"F",suffix:"alt",positions:[{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:2,midi:[69,65,69,71]},{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:7,barres:[],midi:[77,69,71,77]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:10,barres:[],midi:[77,71,77,81]}]},{key:"F",suffix:"aug",positions:[{frets:[2,1,1,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[69,61,65,69]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,73]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:2,barres:[],midi:[69,65,69,73]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,77]}]},{key:"F",suffix:"6",positions:[{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,72]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,74]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,69,72,77]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,74,81]}]},{key:"F",suffix:"69",positions:[{frets:[2,2,3,3],fingers:[1,1,2,2],barres:[2,3],capo:!0,baseFret:1,midi:[69,62,67,72]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,74]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,72,79]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[79,72,74,81]}]},{key:"F",suffix:"7",positions:[{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,63,65,72]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,75]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,77]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,75,81]}]},{key:"F",suffix:"7b5",positions:[{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,63,65,71]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,75]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,69,71,77]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,81]}]},{key:"F",suffix:"aug7",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,63,65,73]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,75]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:8,midi:[75,69,73,77]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:10,barres:[],midi:[77,73,75,81]}]},{key:"F",suffix:"9",positions:[{frets:[2,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,72]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,75]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,79]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,72,75,81]}]},{key:"F",suffix:"9b5",positions:[{frets:[2,3,3,2],fingers:[1,2,2,1],barres:[2,3],capo:!0,baseFret:1,midi:[69,63,67,71]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,67,69,75]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,69,71,79]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:11,midi:[79,71,75,81]}]},{key:"F",suffix:"aug9",positions:[{frets:[2,3,3,4],fingers:[1,2,2,3],barres:[3],baseFret:1,midi:[69,63,67,73]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,67,69,75]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,79]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:11,barres:[],midi:[79,73,75,81]}]},{key:"F",suffix:"7b9",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"F",suffix:"7b9#5",positions:[{frets:[2,3,2,4],fingers:[1,2,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,73]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,75]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,78]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,81]}]},{key:"F",suffix:"7#9",positions:[{frets:[2,3,4,3],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[69,63,68,72]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,75]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,80]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:11,barres:[],midi:[80,72,75,81]}]},{key:"F",suffix:"11",positions:[{frets:[1,2,2,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[68,62,66,69]}]},{key:"F",suffix:"9#11",positions:[{frets:[2,3,3,2],fingers:[1,2,2,1],barres:[2,3],capo:!0,baseFret:1,midi:[69,63,67,71]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,67,69,75]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,69,71,79]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:11,midi:[79,71,75,81]}]},{key:"F",suffix:"13",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,63,67,74]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:5,barres:[],midi:[74,67,69,75]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,67,69,74]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,74,79]}]},{key:"F",suffix:"13b9",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,63,66,74]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,66,69,74]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:8,barres:[],midi:[75,69,74,78]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,74,75,81]}]},{key:"F",suffix:"13b5b9",positions:[{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:2,barres:[],midi:[71,63,66,74]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:5,barres:[],midi:[75,66,71,74]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:6,barres:[],midi:[74,66,71,75]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:8,barres:[],midi:[75,71,74,78]}]},{key:"F",suffix:"b13b9",positions:[{frets:[2,3,2,4],fingers:[1,2,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,73]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,75]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,78]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,81]}]},{key:"F",suffix:"b13#9",positions:[{frets:[2,3,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,68,73]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,75]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,80]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[81,73,75,80]}]},{key:"F",suffix:"maj7",positions:[{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,72]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,76]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:7,barres:[],midi:[77,69,72,76]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[76,69,72,77]}]},{key:"F",suffix:"maj7b5",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,71]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,76]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,69,71,76]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:7,barres:[],midi:[76,69,71,77]}]},{key:"F",suffix:"maj7#5",positions:[{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,64,65,73]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,76]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:7,barres:[],midi:[77,69,73,76]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:8,barres:[],midi:[76,69,73,77]}]},{key:"F",suffix:"maj9",positions:[{frets:[0,0,0,0],fingers:[0,0,0,0],baseFret:1,barres:[],midi:[67,60,64,69]},{frets:[2,4,3,3],fingers:[1,3,2,2],barres:[3],baseFret:1,midi:[69,64,67,72]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,69,76]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:8,midi:[76,69,72,79]}]},{key:"F",suffix:"maj11",positions:[{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:1,barres:[],midi:[69,64,67,70]},{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:10,barres:[],midi:[79,70,76,81]}]},{key:"F",suffix:"maj13",positions:[{frets:[0,2,0,0],fingers:[0,2,0,0],baseFret:1,barres:[],midi:[67,62,64,69]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:2,barres:[],midi:[69,64,67,74]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[74,67,69,76]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:9,midi:[76,69,74,79]}]},{key:"F",suffix:"m6",positions:[{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,72]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,74]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,77]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,80]}]},{key:"F",suffix:"m7",positions:[{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,65,72]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:4,midi:[72,65,68,75]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,77]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:10,midi:[77,72,75,80]}]},{key:"F",suffix:"m7b5",positions:[{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,71]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,75]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,77]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,80]}]},{key:"F",suffix:"m9",positions:[{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,63,67,72]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,75]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,79]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:10,barres:[],midi:[80,72,75,79]}]},{key:"F",suffix:"m69",positions:[{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,67,72]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,74]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,79]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:10,barres:[],midi:[79,72,74,80]}]},{key:"F",suffix:"m9b5",positions:[{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,63,67,71]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,75]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:7,midi:[75,68,71,79]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:10,midi:[80,71,75,79]}]},{key:"F",suffix:"m11",positions:[{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,67,70]},{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:10,midi:[79,70,75,80]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:10,midi:[80,70,75,79]}]},{key:"F",suffix:"mmaj7",positions:[{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,72]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:4,midi:[72,65,68,76]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:7,midi:[77,68,72,76]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,77]}]},{key:"F",suffix:"mmaj7b5",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,71]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,76]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:7,barres:[],midi:[76,68,71,77]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,68,71,76]}]},{key:"F",suffix:"mmaj9",positions:[{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,64,67,72]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,67,68,76]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,79]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:10,barres:[],midi:[80,72,76,79]}]},{key:"F",suffix:"mmaj11",positions:[{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:1,midi:[68,64,67,70]},{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:10,barres:[],midi:[79,70,76,80]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:10,midi:[80,70,76,79]}]},{key:"F",suffix:"add9",positions:[{frets:[0,0,1,0],fingers:[0,0,1,0],baseFret:1,barres:[],midi:[67,60,65,69]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:2,midi:[69,65,67,72]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,77]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:8,barres:[],midi:[77,69,72,79]}]},{key:"F",suffix:"madd9",positions:[{frets:[0,3,2,1],fingers:[0,3,2,1],baseFret:3,barres:[],midi:[67,65,68,72]},{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[77,68,72,79]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:10,barres:[],midi:[80,72,77,79]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:11,midi:[79,72,77,80]}]}],"F#":[{key:"F#",suffix:"major",positions:[{frets:[3,1,2,1],fingers:[3,1,2,1],barres:[1],capo:!0,baseFret:1,midi:[70,61,66,70]},{frets:[3,1,2,4],fingers:[3,1,2,4],baseFret:1,barres:[],midi:[70,61,66,73]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,78]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[78,70,73,78]}]},{key:"F#",suffix:"minor",positions:[{frets:[2,1,2,0],fingers:[2,1,3,0],baseFret:1,barres:[],midi:[69,61,66,69]},{frets:[2,1,2,4],fingers:[2,1,3,4],baseFret:1,barres:[],midi:[69,61,66,73]},{frets:[3,3,2,1],fingers:[3,4,2,1],baseFret:4,barres:[],midi:[73,66,69,73]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[78,69,73,78]}]},{key:"F#",suffix:"dim",positions:[{frets:[2,0,2,0],fingers:[2,0,3,0],baseFret:1,barres:[],midi:[69,60,66,69]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:3,barres:[],midi:[72,66,69,72]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:8,barres:[],midi:[78,69,72,78]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:11,barres:[],midi:[78,72,78,81]}]},{key:"F#",suffix:"dim7",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"F#",suffix:"sus2",positions:[{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:1,midi:[68,61,66,73]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[73,66,68,73]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:6,midi:[73,68,73,78]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[78,73,78,80]}]},{key:"F#",suffix:"sus4",positions:[{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:1,barres:[],midi:[71,61,66,73]},{frets:[1,3,4,1],fingers:[1,2,3,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,71,73]},{frets:[3,3,4,1],fingers:[2,3,4,1],baseFret:4,barres:[],midi:[73,66,71,73]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:6,midi:[73,66,71,78]}]},{key:"F#",suffix:"7sus4",positions:[{frets:[4,4,2,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,66,73]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:6,midi:[73,66,71,76]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,78]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,76,83]}]},{key:"F#",suffix:"alt",positions:[{frets:[3,0,2,1],fingers:[3,0,2,1],baseFret:1,barres:[],midi:[70,60,66,70]},{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[70,66,70,72]},{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:8,barres:[],midi:[78,70,72,78]}]},{key:"F#",suffix:"aug",positions:[{frets:[3,2,2,1],fingers:[3,2,2,1],barres:[2],baseFret:1,midi:[70,62,66,70]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[70,62,66,74]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,66,70,74]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,78]}]},{key:"F#",suffix:"6",positions:[{frets:[3,3,2,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,73]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,75]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,70,73,78]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,75,82]}]},{key:"F#",suffix:"69",positions:[{frets:[3,3,4,4],fingers:[1,1,2,2],barres:[3,4],capo:!0,baseFret:1,midi:[70,63,68,73]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,75]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,73,80]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[80,73,75,82]}]},{key:"F#",suffix:"7",positions:[{frets:[3,4,2,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,64,66,73]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,76]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,78]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,76,82]}]},{key:"F#",suffix:"7b5",positions:[{frets:[3,4,2,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[70,64,66,72]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,76]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,70,72,78]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,82]}]},{key:"F#",suffix:"aug7",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:2,barres:[],midi:[70,64,66,74]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,76]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:9,midi:[76,70,74,78]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:11,barres:[],midi:[78,74,76,82]}]},{key:"F#",suffix:"9",positions:[{frets:[1,1,0,1],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,70]},{frets:[3,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[70,64,68,73]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,76]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,80]}]},{key:"F#",suffix:"9b5",positions:[{frets:[1,0,0,1],fingers:[1,0,0,2],baseFret:1,barres:[],midi:[68,60,64,70]},{frets:[3,4,4,3],fingers:[1,2,2,1],barres:[3,4],capo:!0,baseFret:1,midi:[70,64,68,72]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,68,70,76]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,70,72,80]}]},{key:"F#",suffix:"aug9",positions:[{frets:[1,2,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,62,64,70]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:3,midi:[70,64,68,74]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,68,70,76]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,80]}]},{key:"F#",suffix:"7b9",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"F#",suffix:"7b9#5",positions:[{frets:[0,2,0,1],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,62,64,70]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,74]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,76]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,79]}]},{key:"F#",suffix:"7#9",positions:[{frets:[2,1,0,1],fingers:[3,1,0,2],baseFret:1,barres:[],midi:[69,61,64,70]},{frets:[3,1,0,0],fingers:[3,1,0,0],baseFret:1,barres:[],midi:[70,61,64,69]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,64,69,73]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,69,70,76]}]},{key:"F#",suffix:"11",positions:[{frets:[3,4,4,2],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[70,64,68,71]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[71,64,68,70]}]},{key:"F#",suffix:"9#11",positions:[{frets:[1,0,0,1],fingers:[1,0,0,2],baseFret:1,barres:[],midi:[68,60,64,70]},{frets:[3,4,4,3],fingers:[1,2,2,1],barres:[3,4],capo:!0,baseFret:1,midi:[70,64,68,72]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,68,70,76]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,70,72,80]}]},{key:"F#",suffix:"13",positions:[{frets:[1,3,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,70]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,75]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:6,barres:[],midi:[75,68,70,76]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,68,70,75]}]},{key:"F#",suffix:"13b9",positions:[{frets:[0,3,0,1],fingers:[0,3,0,1],baseFret:1,barres:[],midi:[67,63,64,70]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,75]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,67,70,75]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:9,barres:[],midi:[76,70,75,79]}]},{key:"F#",suffix:"13b5b9",positions:[{frets:[0,3,0,3],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,63,64,72]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:3,barres:[],midi:[72,64,67,75]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:6,barres:[],midi:[76,67,72,75]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:7,barres:[],midi:[75,67,72,76]}]},{key:"F#",suffix:"b13b9",positions:[{frets:[0,2,0,1],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,62,64,70]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,74]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,76]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,79]}]},{key:"F#",suffix:"b13#9",positions:[{frets:[3,2,0,0],fingers:[3,2,0,0],baseFret:1,barres:[],midi:[70,62,64,69]},{frets:[2,2,0,1],fingers:[2,3,0,1],baseFret:1,barres:[],midi:[69,62,64,70]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,69,74]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,76]}]},{key:"F#",suffix:"maj7",positions:[{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,73]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,77]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:8,barres:[],midi:[78,70,73,77]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[77,70,73,78]}]},{key:"F#",suffix:"maj7b5",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,72]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,77]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,70,72,77]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:8,barres:[],midi:[77,70,72,78]}]},{key:"F#",suffix:"maj7#5",positions:[{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:2,barres:[],midi:[70,65,66,74]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,77]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:8,barres:[],midi:[78,70,74,77]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:9,barres:[],midi:[77,70,74,78]}]},{key:"F#",suffix:"maj9",positions:[{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,70]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:3,midi:[70,65,68,73]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,70,77]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:9,midi:[77,70,73,80]}]},{key:"F#",suffix:"maj11",positions:[{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:2,barres:[],midi:[70,65,68,71]},{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:11,barres:[],midi:[80,71,77,82]}]},{key:"F#",suffix:"maj13",positions:[{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,70]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,68,75]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[75,68,70,77]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:10,midi:[77,70,75,80]}]},{key:"F#",suffix:"m6",positions:[{frets:[2,3,2,4],fingers:[1,2,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,73]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,75]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,78]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,81]}]},{key:"F#",suffix:"m7",positions:[{frets:[2,4,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,64,66,73]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:5,midi:[73,66,69,76]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,78]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:11,midi:[78,73,76,81]}]},{key:"F#",suffix:"m7b5",positions:[{frets:[2,4,2,3],fingers:[1,3,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,72]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,76]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,69,72,78]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,81]}]},{key:"F#",suffix:"m9",positions:[{frets:[1,1,0,0],fingers:[1,2,0,0],baseFret:1,barres:[],midi:[68,61,64,69]},{frets:[2,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,64,68,73]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,76]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,80]}]},{key:"F#",suffix:"m69",positions:[{frets:[2,3,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,68,73]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,75]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,80]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:11,barres:[],midi:[80,73,75,81]}]},{key:"F#",suffix:"m9b5",positions:[{frets:[1,0,0,0],fingers:[1,0,0,0],baseFret:1,barres:[],midi:[68,60,64,69]},{frets:[2,4,4,3],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[69,64,68,72]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,76]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:8,midi:[76,69,72,80]}]},{key:"F#",suffix:"m11",positions:[{frets:[2,4,4,2],fingers:[1,3,4,1],barres:[2],capo:!0,baseFret:1,midi:[69,64,68,71]},{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:11,midi:[80,71,76,81]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],baseFret:11,midi:[81,71,76,80]}]},{key:"F#",suffix:"mmaj7",positions:[{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,73]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:5,midi:[73,66,69,77]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:8,midi:[78,69,73,77]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,78]}]},{key:"F#",suffix:"mmaj7b5",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,72]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,77]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:8,barres:[],midi:[77,69,72,78]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,69,72,77]}]},{key:"F#",suffix:"mmaj9",positions:[{frets:[1,1,1,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[68,61,65,69]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:2,barres:[],midi:[69,65,68,73]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,68,69,77]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,80]}]},{key:"F#",suffix:"mmaj11",positions:[{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:2,midi:[69,65,68,71]},{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:11,barres:[],midi:[80,71,77,81]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],baseFret:11,midi:[81,71,77,80]}]},{key:"F#",suffix:"add9",positions:[{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:1,midi:[68,61,66,70]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:3,midi:[70,66,68,73]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,78]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:9,barres:[],midi:[78,70,73,80]}]},{key:"F#",suffix:"madd9",positions:[{frets:[1,1,2,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[68,61,66,69]},{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],baseFret:9,midi:[78,69,73,80]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:11,barres:[],midi:[81,73,78,80]}]}],G:[{key:"G",suffix:"major",positions:[{frets:[0,2,3,2],fingers:[0,1,3,2],baseFret:1,barres:[],midi:[67,62,67,71]},{frets:[4,2,3,2],fingers:[3,1,2,1],barres:[2],capo:!0,baseFret:1,midi:[71,62,67,71]},{frets:[3,1,2,4],fingers:[3,1,2,4],baseFret:2,barres:[],midi:[71,62,67,74]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,79]}]},{key:"G",suffix:"minor",positions:[{frets:[0,2,3,1],fingers:[0,2,3,1],baseFret:1,barres:[],midi:[67,62,67,70]},{frets:[3,2,3,1],fingers:[3,2,4,1],baseFret:1,barres:[],midi:[70,62,67,70]},{frets:[2,1,2,4],fingers:[2,1,3,4],baseFret:2,barres:[],midi:[70,62,67,74]},{frets:[3,3,2,1],fingers:[3,4,2,1],baseFret:5,barres:[],midi:[74,67,70,74]}]},{key:"G",suffix:"dim",positions:[{frets:[0,1,3,1],fingers:[0,1,3,2],baseFret:1,barres:[],midi:[67,61,67,70]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:1,midi:[70,61,67,70]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:4,barres:[],midi:[73,67,70,73]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:9,barres:[],midi:[79,70,73,79]}]},{key:"G",suffix:"dim7",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"G",suffix:"sus2",positions:[{frets:[0,2,3,0],fingers:[0,2,3,0],baseFret:1,barres:[],midi:[67,62,67,69]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:2,midi:[69,62,67,74]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[74,67,69,74]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:7,midi:[74,69,74,79]}]},{key:"G",suffix:"sus4",positions:[{frets:[0,2,3,3],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,62,67,72]},{frets:[4,1,2,2],fingers:[4,1,2,2],barres:[2],baseFret:2,midi:[72,62,67,72]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:2,barres:[],midi:[72,62,67,74]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,72,74]}]},{key:"G",suffix:"7sus4",positions:[{frets:[0,2,1,3],fingers:[0,2,1,3],baseFret:1,barres:[],midi:[67,62,65,72]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[72,65,67,74]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,1],capo:!0,baseFret:7,midi:[74,67,72,77]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,79]}]},{key:"G",suffix:"alt",positions:[{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:1,barres:[],midi:[71,61,67,71]},{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[71,67,71,73]},{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:9,barres:[],midi:[79,71,73,79]}]},{key:"G",suffix:"aug",positions:[{frets:[0,3,3,2],fingers:[0,2,3,1],baseFret:1,barres:[],midi:[67,63,67,71]},{frets:[4,3,3,2],fingers:[3,2,2,1],barres:[3],baseFret:1,midi:[71,63,67,71]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[71,63,67,75]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,67,71,75]}]},{key:"G",suffix:"6",positions:[{frets:[0,2,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,62,64,71]},{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,64,67,74]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,76]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:9,barres:[],midi:[76,71,74,79]}]},{key:"G",suffix:"69",positions:[{frets:[2,2,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[69,62,64,71]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:4,midi:[71,64,69,74]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,76]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,74,81]}]},{key:"G",suffix:"7",positions:[{frets:[0,2,1,2],fingers:[0,2,1,3],baseFret:1,barres:[],midi:[67,62,65,71]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,65,67,74]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,77]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,79]}]},{key:"G",suffix:"7b5",positions:[{frets:[0,1,1,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,71]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,65,67,73]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,77]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:9,barres:[],midi:[77,71,73,79]}]},{key:"G",suffix:"aug7",positions:[{frets:[0,3,1,2],fingers:[0,3,1,2],baseFret:1,barres:[],midi:[67,63,65,71]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,65,67,75]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,77]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:10,midi:[77,71,75,79]}]},{key:"G",suffix:"9",positions:[{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,71]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,74]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,77]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,81]}]},{key:"G",suffix:"9b5",positions:[{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],baseFret:1,midi:[69,61,65,71]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:4,midi:[71,65,69,73]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,69,71,77]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,71,73,81]}]},{key:"G",suffix:"aug9",positions:[{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,63,65,71]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:4,midi:[71,65,69,75]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,69,71,77]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,81]}]},{key:"G",suffix:"7b9",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"G",suffix:"7b9#5",positions:[{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,71]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,75]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,77]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,80]}]},{key:"G",suffix:"7#9",positions:[{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[70,62,65,71]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,62,65,70]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,65,70,74]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,70,71,77]}]},{key:"G",suffix:"11",positions:[{frets:[2,0,1,2],fingers:[2,0,1,3],baseFret:1,barres:[],midi:[69,60,65,71]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:2,barres:[],midi:[72,65,69,71]},{frets:[2,3,3,1],fingers:[2,3,4,1],baseFret:3,barres:[],midi:[71,65,69,72]}]},{key:"G",suffix:"9#11",positions:[{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,71]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:4,midi:[71,65,69,73]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,69,71,77]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,71,73,81]}]},{key:"G",suffix:"13",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,71]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,76]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:7,barres:[],midi:[76,69,71,77]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,69,71,76]}]},{key:"G",suffix:"13b9",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,71]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,76]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,68,71,76]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:10,barres:[],midi:[77,71,76,80]}]},{key:"G",suffix:"13b5b9",positions:[{frets:[1,4,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,73]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:4,barres:[],midi:[73,65,68,76]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:7,barres:[],midi:[77,68,73,76]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:8,barres:[],midi:[76,68,73,77]}]},{key:"G",suffix:"b13b9",positions:[{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,71]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,75]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,77]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,80]}]},{key:"G",suffix:"b13#9",positions:[{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,63,65,70]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[70,63,65,71]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,70,75]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,77]}]},{key:"G",suffix:"maj7",positions:[{frets:[0,2,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,62,66,71]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,74]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,78]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:9,barres:[],midi:[79,71,74,78]}]},{key:"G",suffix:"maj7b5",positions:[{frets:[0,1,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,66,71]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,73]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,78]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[79,71,73,78]}]},{key:"G",suffix:"maj7#5",positions:[{frets:[0,3,2,2],fingers:[0,2,1,1],barres:[2],baseFret:1,midi:[67,63,66,71]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,66,67,75]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,78]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:9,barres:[],midi:[79,71,75,78]}]},{key:"G",suffix:"maj9",positions:[{frets:[2,2,2,2],fingers:[1,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,71]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:4,midi:[71,66,69,74]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,71,78]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:10,midi:[78,71,74,81]}]},{key:"G",suffix:"maj11",positions:[{frets:[2,0,2,2],fingers:[1,0,2,3],baseFret:1,barres:[],midi:[69,60,66,71]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:3,barres:[],midi:[71,66,69,72]}]},{key:"G",suffix:"maj13",positions:[{frets:[2,4,2,2],fingers:[1,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,71]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,69,76]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[76,69,71,78]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:11,midi:[78,71,76,81]}]},{key:"G",suffix:"m6",positions:[{frets:[0,2,0,1],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,62,64,70]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,74]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,76]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,79]}]},{key:"G",suffix:"m7",positions:[{frets:[0,2,1,1],fingers:[0,2,1,1],barres:[1],baseFret:1,midi:[67,62,65,70]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,67,74]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:6,midi:[74,67,70,77]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,70,74,79]}]},{key:"G",suffix:"m7b5",positions:[{frets:[0,1,1,1],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,70]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,73]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,77]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,70,73,79]}]},{key:"G",suffix:"m9",positions:[{frets:[3,2,1,0],fingers:[3,2,1,0],baseFret:1,barres:[],midi:[70,62,65,69]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:1,midi:[69,62,65,70]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,65,69,74]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,77]}]},{key:"G",suffix:"m69",positions:[{frets:[2,2,0,1],fingers:[2,3,0,1],baseFret:1,barres:[],midi:[69,62,64,70]},{frets:[3,2,0,0],fingers:[3,2,0,0],baseFret:1,barres:[],midi:[70,62,64,69]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,69,74]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,76]}]},{key:"G",suffix:"m9b5",positions:[{frets:[3,1,1,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[70,61,65,69]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,70]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,65,69,73]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],baseFret:6,midi:[73,69,70,77]}]},{key:"G",suffix:"m11",positions:[{frets:[2,0,1,1],fingers:[3,0,1,1],barres:[1],baseFret:1,midi:[69,60,65,70]},{frets:[3,0,1,0],fingers:[3,0,1,0],baseFret:1,barres:[],midi:[70,60,65,69]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[70,65,69,72]},{frets:[1,1,2,0],fingers:[1,2,3,0],baseFret:5,barres:[],midi:[72,65,70,69]}]},{key:"G",suffix:"mmaj7",positions:[{frets:[0,2,2,1],fingers:[0,2,3,1],baseFret:1,barres:[],midi:[67,62,66,70]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,74]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:6,midi:[74,67,70,78]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:9,midi:[79,70,74,78]}]},{key:"G",suffix:"mmaj7b5",positions:[{frets:[0,1,2,1],fingers:[0,1,3,2],baseFret:1,barres:[],midi:[67,61,66,70]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,73]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,78]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:9,barres:[],midi:[78,70,73,79]}]},{key:"G",suffix:"mmaj9",positions:[{frets:[3,2,2,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[70,62,66,69]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[69,62,66,70]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,66,69,74]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,69,70,78]}]},{key:"G",suffix:"mmaj11",positions:[{frets:[2,0,2,1],fingers:[2,0,3,1],baseFret:1,barres:[],midi:[69,60,66,70]},{frets:[3,0,2,0],fingers:[3,0,2,0],baseFret:1,barres:[],midi:[70,60,66,69]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:3,midi:[70,66,69,72]},{frets:[1,2,2,0],fingers:[1,2,3,0],baseFret:5,barres:[],midi:[72,66,70,69]}]},{key:"G",suffix:"add9",positions:[{frets:[2,2,3,2],fingers:[1,1,2,1],barres:[2],capo:!0,baseFret:1,midi:[69,62,67,71]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:4,midi:[71,67,69,74]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,79]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:10,barres:[],midi:[79,71,74,81]}]},{key:"G",suffix:"madd9",positions:[{frets:[3,2,3,0],fingers:[2,1,3,0],baseFret:1,barres:[],midi:[70,62,67,69]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:1,midi:[69,62,67,70]},{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[79,70,74,81]}]}],"G#":[{key:"G#",suffix:"major",positions:[{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[68,63,68,72]},{frets:[3,1,2,1],fingers:[3,1,2,1],barres:[1],capo:!0,baseFret:3,midi:[72,63,68,72]},{frets:[3,1,2,4],fingers:[3,1,2,4],baseFret:3,barres:[],midi:[72,63,68,75]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,80]}]},{key:"G#",suffix:"minor",positions:[{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,63,68,71]},{frets:[4,3,4,2],fingers:[3,2,4,1],baseFret:1,barres:[],midi:[71,63,68,71]},{frets:[2,1,2,4],fingers:[2,1,3,4],baseFret:3,barres:[],midi:[71,63,68,75]},{frets:[3,3,2,1],fingers:[3,4,2,1],baseFret:6,barres:[],midi:[75,68,71,75]}]},{key:"G#",suffix:"dim",positions:[{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[68,62,68,71]},{frets:[4,2,4,2],fingers:[3,1,4,1],barres:[2],capo:!0,baseFret:1,midi:[71,62,68,71]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:5,barres:[],midi:[74,68,71,74]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:10,barres:[],midi:[80,71,74,80]}]},{key:"G#",suffix:"dim7",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"G#",suffix:"sus2",positions:[{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,68,70]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:3,midi:[70,63,68,75]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[75,68,70,75]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:8,midi:[75,70,75,80]}]},{key:"G#",suffix:"sus4",positions:[{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,63,68,73]},{frets:[4,1,2,2],fingers:[4,1,2,2],barres:[2],baseFret:3,midi:[73,63,68,73]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:3,barres:[],midi:[73,63,68,75]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,73,75]}]},{key:"G#",suffix:"7sus4",positions:[{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,66,73]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[73,66,68,75]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:8,midi:[75,68,73,78]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,80]}]},{key:"G#",suffix:"alt",positions:[{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:2,barres:[],midi:[72,62,68,72]},{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[72,68,72,74]}]},{key:"G#",suffix:"aug",positions:[{frets:[1,0,0,3],fingers:[1,0,0,3],baseFret:1,barres:[],midi:[68,60,64,72]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,64,68,72]},{frets:[3,2,2,1],fingers:[3,2,2,1],barres:[2],baseFret:3,midi:[72,64,68,72]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,76]}]},{key:"G#",suffix:"6",positions:[{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,65,72]},{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,75]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,77]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:10,barres:[],midi:[77,72,75,80]}]},{key:"G#",suffix:"69",positions:[{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,65,72]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:5,midi:[72,65,70,75]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,77]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,75,82]}]},{key:"G#",suffix:"7",positions:[{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,66,72]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,66,68,75]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,78]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,80]}]},{key:"G#",suffix:"7b5",positions:[{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,72]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,66,68,74]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,78]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:10,barres:[],midi:[78,72,74,80]}]},{key:"G#",suffix:"aug7",positions:[{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,64,66,72]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,66,68,76]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,78]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:11,midi:[78,72,76,80]}]},{key:"G#",suffix:"9",positions:[{frets:[3,3,2,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,72]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,75]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,78]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,82]}]},{key:"G#",suffix:"9b5",positions:[{frets:[3,2,2,3],fingers:[2,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,72]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:5,midi:[72,66,70,74]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,70,72,78]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,72,74,82]}]},{key:"G#",suffix:"aug9",positions:[{frets:[3,4,2,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[70,64,66,72]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:5,midi:[72,66,70,76]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,70,72,78]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,82]}]},{key:"G#",suffix:"7b9",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"G#",suffix:"7b9#5",positions:[{frets:[2,4,2,3],fingers:[1,3,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,72]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,76]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,69,72,78]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,81]}]},{key:"G#",suffix:"7#9",positions:[{frets:[4,3,2,3],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[71,63,66,72]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,63,66,71]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,66,71,75]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,71,72,78]}]},{key:"G#",suffix:"11",positions:[{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:1,barres:[],midi:[70,61,66,72]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:3,barres:[],midi:[73,66,70,72]},{frets:[2,3,3,1],fingers:[2,3,4,1],baseFret:4,barres:[],midi:[72,66,70,73]}]},{key:"G#",suffix:"9#11",positions:[{frets:[3,2,2,3],fingers:[2,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,72]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:5,midi:[72,66,70,74]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,70,72,78]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,72,74,82]}]},{key:"G#",suffix:"13",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,72]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,77]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:8,barres:[],midi:[77,70,72,78]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,70,72,77]}]},{key:"G#",suffix:"13b9",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,72]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,77]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,69,72,77]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:11,barres:[],midi:[78,72,77,81]}]},{key:"G#",suffix:"13b5b9",positions:[{frets:[1,4,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,74]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:5,barres:[],midi:[74,66,69,77]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:8,barres:[],midi:[78,69,74,77]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:9,barres:[],midi:[77,69,74,78]}]},{key:"G#",suffix:"b13b9",positions:[{frets:[2,4,2,3],fingers:[1,3,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,72]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,76]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,69,72,78]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,81]}]},{key:"G#",suffix:"b13#9",positions:[{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,64,66,71]},{frets:[4,4,2,3],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[71,64,66,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,71,76]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,71,72,78]}]},{key:"G#",suffix:"maj7",positions:[{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,63,67,72]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,75]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,79]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:10,barres:[],midi:[80,72,75,79]}]},{key:"G#",suffix:"maj7b5",positions:[{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,67,72]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,74]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,79]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[80,72,74,79]}]},{key:"G#",suffix:"maj7#5",positions:[{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,64,67,72]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,67,68,76]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,79]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:10,barres:[],midi:[80,72,76,79]}]},{key:"G#",suffix:"maj9",positions:[{frets:[3,3,3,3],fingers:[1,1,1,1],barres:[3],capo:!0,baseFret:1,midi:[70,63,67,72]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:5,midi:[72,67,70,75]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,72,79]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:11,midi:[79,72,75,82]}]},{key:"G#",suffix:"maj11",positions:[{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:1,barres:[],midi:[70,61,67,72]},{frets:[2,4,3,1],fingers:[2,1,3,4],baseFret:4,barres:[],midi:[72,67,70,73]}]},{key:"G#",suffix:"maj13",positions:[{frets:[0,0,1,1],fingers:[0,0,1,2],baseFret:1,barres:[],midi:[67,60,65,70]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,72]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,70,77]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[77,70,72,79]}]},{key:"G#",suffix:"m6",positions:[{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,71]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,75]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,77]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,80]}]},{key:"G#",suffix:"m7",positions:[{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:1,midi:[68,63,66,71]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,68,75]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:7,midi:[75,68,71,78]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,71,75,80]}]},{key:"G#",suffix:"m7b5",positions:[{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,71]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,74]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,78]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,71,74,80]}]},{key:"G#",suffix:"m9",positions:[{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:1,barres:[],midi:[71,63,66,70]},{frets:[3,3,2,2],fingers:[2,2,1,1],barres:[2,3],capo:!0,baseFret:1,midi:[70,63,66,71]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,66,70,75]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,78]}]},{key:"G#",suffix:"m69",positions:[{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[70,63,65,71]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,63,65,70]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,70,75]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,77]}]},{key:"G#",suffix:"m9b5",positions:[{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:1,midi:[71,62,66,70]},{frets:[3,2,2,2],fingers:[2,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,71]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,66,70,74]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,70,71,78]}]},{key:"G#",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:1,midi:[70,61,66,71]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:1,midi:[71,61,66,70]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,70,73]}]},{key:"G#",suffix:"mmaj7",positions:[{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,63,67,71]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,75]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:7,midi:[75,68,71,79]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:10,midi:[80,71,75,79]}]},{key:"G#",suffix:"mmaj7b5",positions:[{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[68,62,67,71]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,74]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,79]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:10,barres:[],midi:[79,71,74,80]}]},{key:"G#",suffix:"mmaj9",positions:[{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:1,barres:[],midi:[71,63,67,70]},{frets:[3,3,3,2],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[70,63,67,71]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,67,70,75]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,70,71,79]}]},{key:"G#",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:1,barres:[],midi:[70,61,67,71]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:1,midi:[71,61,67,70]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:4,midi:[71,67,70,73]}]},{key:"G#",suffix:"add9",positions:[{frets:[3,3,4,3],fingers:[1,1,2,1],barres:[3],capo:!0,baseFret:1,midi:[70,63,68,72]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:5,midi:[72,68,70,75]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,80]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:11,barres:[],midi:[80,72,75,82]}]},{key:"G#",suffix:"madd9",positions:[{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:1,barres:[],midi:[71,63,68,70]},{frets:[3,3,4,2],fingers:[2,2,3,1],barres:[3],baseFret:1,midi:[70,63,68,71]},{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[80,71,75,82]}]}],A:[{key:"A",suffix:"major",positions:[{frets:[2,1,0,0],fingers:[2,1,0,0],baseFret:1,barres:[],midi:[69,61,64,69]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:2,barres:[],midi:[69,64,69,73]},{frets:[3,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:4,midi:[73,64,69,73]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,81]}]},{key:"A",suffix:"minor",positions:[{frets:[2,0,0,0],fingers:[2,0,0,0],baseFret:1,barres:[],midi:[69,60,64,69]},{frets:[2,0,0,3],fingers:[2,0,0,3],baseFret:1,barres:[],midi:[69,60,64,72]},{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:2,barres:[],midi:[69,64,69,72]},{frets:[3,2,3,1],fingers:[3,2,4,1],baseFret:3,barres:[],midi:[72,64,69,72]}]},{key:"A",suffix:"dim",positions:[{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:2,barres:[],midi:[69,63,69,72]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[72,63,69,72]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:6,barres:[],midi:[75,69,72,75]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:11,barres:[],midi:[81,72,75,81]}]},{key:"A",suffix:"dim7",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"A",suffix:"sus2",positions:[{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:2,midi:[69,64,69,71]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:4,midi:[71,64,69,76]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[76,69,71,76]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:9,midi:[76,71,76,81]}]},{key:"A",suffix:"sus4",positions:[{frets:[2,2,0,0],fingers:[2,3,0,0],baseFret:1,barres:[],midi:[69,62,64,69]},{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,64,69,74]},{frets:[4,1,2,2],fingers:[4,1,2,2],barres:[2],baseFret:4,midi:[74,64,69,74]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:4,barres:[],midi:[74,64,69,76]}]},{key:"A",suffix:"7sus4",positions:[{frets:[0,2,0,0],fingers:[0,2,0,0],baseFret:1,barres:[],midi:[67,62,64,69]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:2,barres:[],midi:[69,64,67,74]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[74,67,69,76]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:9,midi:[76,69,74,79]}]},{key:"A",suffix:"alt",positions:[{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:2,barres:[],midi:[69,63,69,73]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:3,barres:[],midi:[73,63,69,73]},{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[73,69,73,75]}]},{key:"A",suffix:"aug",positions:[{frets:[2,1,1,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[69,61,65,69]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,73]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:2,barres:[],midi:[69,65,69,73]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,77]}]},{key:"A",suffix:"6",positions:[{frets:[2,4,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,64,66,73]},{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,76]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,78]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:11,barres:[],midi:[78,73,76,81]}]},{key:"A",suffix:"69",positions:[{frets:[4,4,2,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,66,73]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:6,midi:[73,66,71,76]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,78]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,76,83]}]},{key:"A",suffix:"7",positions:[{frets:[0,1,0,0],fingers:[0,1,0,0],baseFret:1,barres:[],midi:[67,61,64,69]},{frets:[2,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,64,67,73]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,67,69,76]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,79]}]},{key:"A",suffix:"7b5",positions:[{frets:[2,3,3,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,73]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,67,69,75]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,79]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:11,barres:[],midi:[79,73,75,81]}]},{key:"A",suffix:"aug7",positions:[{frets:[0,1,1,0],fingers:[0,1,2,0],baseFret:1,barres:[],midi:[67,61,65,69]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:2,barres:[],midi:[69,65,67,73]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,67,69,77]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,79]}]},{key:"A",suffix:"9",positions:[{frets:[0,1,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,71]},{frets:[4,4,3,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,67,73]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,76]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,79]}]},{key:"A",suffix:"9b5",positions:[{frets:[4,3,3,4],fingers:[2,1,1,3],barres:[3],capo:!0,baseFret:1,midi:[71,63,67,73]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:6,midi:[73,67,71,75]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,71,73,79]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,73,75,83]}]},{key:"A",suffix:"aug9",positions:[{frets:[0,1,1,2],fingers:[0,1,1,2],barres:[1],baseFret:1,midi:[67,61,65,71]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,65,67,73]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:6,midi:[73,67,71,77]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:9,barres:[],midi:[77,71,73,79]}]},{key:"A",suffix:"7b9",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"A",suffix:"7b9#5",positions:[{frets:[0,1,1,1],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,70]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,73]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,77]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,70,73,79]}]},{key:"A",suffix:"7#9",positions:[{frets:[0,1,0,3],fingers:[0,1,0,3],baseFret:1,barres:[],midi:[67,61,64,72]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:3,barres:[],midi:[72,64,67,73]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,64,67,72]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:6,barres:[],midi:[73,67,72,76]}]},{key:"A",suffix:"11",positions:[{frets:[4,2,3,4],fingers:[3,1,2,4],baseFret:1,barres:[],midi:[71,62,67,73]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:4,barres:[],midi:[74,67,71,73]},{frets:[2,3,3,1],fingers:[2,3,4,1],baseFret:5,barres:[],midi:[73,67,71,74]}]},{key:"A",suffix:"9#11",positions:[{frets:[4,3,3,4],fingers:[2,1,1,3],barres:[3],capo:!0,baseFret:1,midi:[71,63,67,73]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:6,midi:[73,67,71,75]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,71,73,79]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,73,75,83]}]},{key:"A",suffix:"13",positions:[{frets:[0,1,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,66,71]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,73]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,78]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:9,barres:[],midi:[78,71,73,79]}]},{key:"A",suffix:"13b9",positions:[{frets:[0,1,2,1],fingers:[0,1,3,2],baseFret:1,barres:[],midi:[67,61,66,70]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,73]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,78]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[79,70,73,78]}]},{key:"A",suffix:"13b5b9",positions:[{frets:[1,4,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,75]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:6,barres:[],midi:[75,67,70,78]},{frets:[0,2,3,1],fingers:[0,2,3,1],baseFret:9,barres:[],midi:[67,70,75,78]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:10,barres:[],midi:[78,70,75,79]}]},{key:"A",suffix:"b13b9",positions:[{frets:[0,1,1,1],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,70]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,73]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,77]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,70,73,79]}]},{key:"A",suffix:"b13#9",positions:[{frets:[0,1,1,3],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,72]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:3,barres:[],midi:[72,65,67,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,65,67,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,72,77]}]},{key:"A",suffix:"maj7",positions:[{frets:[1,1,0,0],fingers:[1,2,0,0],baseFret:1,barres:[],midi:[68,61,64,69]},{frets:[2,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,64,68,73]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,76]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,80]}]},{key:"A",suffix:"maj7b5",positions:[{frets:[2,3,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,68,73]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,75]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,80]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[81,73,75,80]}]},{key:"A",suffix:"maj7#5",positions:[{frets:[1,1,1,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[68,61,65,69]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:2,barres:[],midi:[69,65,68,73]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,68,69,77]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,80]}]},{key:"A",suffix:"maj9",positions:[{frets:[1,1,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,71]},{frets:[4,4,4,4],fingers:[1,1,1,1],barres:[4],capo:!0,baseFret:1,midi:[71,64,68,73]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:6,midi:[73,68,71,76]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,73,80]}]},{key:"A",suffix:"maj11",positions:[{frets:[4,2,4,4],fingers:[2,1,3,4],baseFret:1,barres:[],midi:[71,62,68,73]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:5,barres:[],midi:[73,68,71,74]}]},{key:"A",suffix:"maj13",positions:[{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:1,midi:[68,61,66,71]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,73]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,71,78]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[78,71,73,80]}]},{key:"A",suffix:"m6",positions:[{frets:[2,4,2,3],fingers:[1,3,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,72]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,76]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,69,72,78]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,81]}]},{key:"A",suffix:"m7",positions:[{frets:[0,0,0,0],fingers:[0,0,0,0],baseFret:1,barres:[],midi:[67,60,64,69]},{frets:[2,4,3,3],fingers:[1,3,2,2],barres:[3],baseFret:1,midi:[69,64,67,72]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,69,76]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:8,midi:[76,69,72,79]}]},{key:"A",suffix:"m7b5",positions:[{frets:[2,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,72]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,75]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,79]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,72,75,81]}]},{key:"A",suffix:"m9",positions:[{frets:[0,0,0,2],fingers:[0,0,0,2],baseFret:1,barres:[],midi:[67,60,64,71]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:2,barres:[],midi:[72,64,67,71]},{frets:[4,4,3,3],fingers:[2,2,1,1],barres:[3,4],capo:!0,baseFret:1,midi:[71,64,67,72]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,67,71,76]}]},{key:"A",suffix:"m69",positions:[{frets:[4,4,2,3],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[71,64,66,72]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,64,66,71]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,71,76]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,71,72,78]}]},{key:"A",suffix:"m9b5",positions:[{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:2,midi:[72,63,67,71]},{frets:[4,3,3,3],fingers:[2,1,1,1],barres:[3],capo:!0,baseFret:1,midi:[71,63,67,72]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:5,barres:[],midi:[72,67,71,75]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,71,72,79]}]},{key:"A",suffix:"m11",positions:[{frets:[4,2,3,3],fingers:[3,1,2,2],barres:[3],baseFret:1,midi:[71,62,67,72]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:2,midi:[72,62,67,71]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,71,74]}]},{key:"A",suffix:"mmaj7",positions:[{frets:[1,0,0,0],fingers:[1,0,0,0],baseFret:1,barres:[],midi:[68,60,64,69]},{frets:[2,4,4,3],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[69,64,68,72]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,76]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:8,midi:[76,69,72,80]}]},{key:"A",suffix:"mmaj7b5",positions:[{frets:[2,3,4,3],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[69,63,68,72]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,75]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,80]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:11,barres:[],midi:[80,72,75,81]}]},{key:"A",suffix:"mmaj9",positions:[{frets:[1,0,0,2],fingers:[1,0,0,2],baseFret:1,barres:[],midi:[68,60,64,71]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:2,barres:[],midi:[72,64,68,71]},{frets:[4,4,4,3],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[71,64,68,72]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,68,71,76]}]},{key:"A",suffix:"mmaj11",positions:[{frets:[4,2,4,3],fingers:[3,1,4,2],baseFret:1,barres:[],midi:[71,62,68,72]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:2,midi:[72,62,68,71]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:5,midi:[72,68,71,74]}]},{key:"A",suffix:"add9",positions:[{frets:[2,1,0,2],fingers:[2,1,0,3],baseFret:1,barres:[],midi:[69,61,64,71]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:4,midi:[71,64,69,73]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:6,midi:[73,69,71,76]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,81]}]},{key:"A",suffix:"madd9",positions:[{frets:[2,0,0,2],fingers:[2,0,0,3],baseFret:1,barres:[],midi:[69,60,64,71]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:2,barres:[],midi:[72,64,69,71]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:3,midi:[71,64,69,72]}]}],"A#":[{key:"A#",suffix:"major",positions:[{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[70,62,65,70]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,65,70,74]},{frets:[3,1,2,1],fingers:[3,1,2,1],barres:[1],capo:!0,baseFret:5,midi:[74,65,70,74]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[77,70,74,82]}]},{key:"A#",suffix:"minor",positions:[{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[70,61,65,70]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[70,61,65,73]},{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,65,70,73]},{frets:[3,2,3,1],fingers:[3,2,4,1],baseFret:4,barres:[],midi:[73,65,70,73]}]},{key:"A#",suffix:"dim",positions:[{frets:[3,1,0,1],fingers:[3,1,0,2],baseFret:1,barres:[],midi:[70,61,64,70]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,64,70,73]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[73,64,70,73]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:7,barres:[],midi:[76,70,73,76]}]},{key:"A#",suffix:"dim7",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"A#",suffix:"sus2",positions:[{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],baseFret:3,midi:[70,65,70,72]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],baseFret:5,midi:[72,65,70,77]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],baseFret:8,midi:[77,70,72,77]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:10,midi:[77,72,77,82]}]},{key:"A#",suffix:"sus4",positions:[{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[70,63,65,70]},{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,65,70,75]},{frets:[4,1,2,2],fingers:[4,1,2,2],barres:[2],baseFret:5,midi:[75,65,70,75]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:5,barres:[],midi:[75,65,70,77]}]},{key:"A#",suffix:"7sus4",positions:[{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,70]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,68,75]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[75,68,70,77]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:10,midi:[77,70,75,80]}]},{key:"A#",suffix:"alt",positions:[{frets:[3,2,0,1],fingers:[3,2,0,1],baseFret:1,barres:[],midi:[70,62,64,70]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,64,70,74]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:4,barres:[],midi:[74,64,70,74]},{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[74,70,74,76]}]},{key:"A#",suffix:"aug",positions:[{frets:[3,2,2,1],fingers:[3,2,2,1],barres:[2],baseFret:1,midi:[70,62,66,70]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[70,62,66,74]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,66,70,74]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,78]}]},{key:"A#",suffix:"6",positions:[{frets:[0,2,1,1],fingers:[0,2,1,1],barres:[1],baseFret:1,midi:[67,62,65,70]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,67,74]},{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,77]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,70,74,79]}]},{key:"A#",suffix:"69",positions:[{frets:[0,2,1,3],fingers:[0,2,1,3],baseFret:1,barres:[],midi:[67,62,65,72]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[72,65,67,74]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:7,midi:[74,67,72,77]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,79]}]},{key:"A#",suffix:"7",positions:[{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,70]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,68,74]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,68,70,77]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,70,74,80]}]},{key:"A#",suffix:"7b5",positions:[{frets:[1,2,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,62,64,70]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,74]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,68,70,76]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,80]}]},{key:"A#",suffix:"aug7",positions:[{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:1,midi:[68,62,66,70]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,66,68,74]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,68,70,78]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:10,midi:[78,70,74,80]}]},{key:"A#",suffix:"9",positions:[{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,72]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,74]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,77]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,80]}]},{key:"A#",suffix:"9b5",positions:[{frets:[1,2,0,3],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,62,64,72]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],baseFret:4,midi:[72,64,68,74]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],baseFret:7,midi:[74,68,72,76]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:9,barres:[],midi:[76,72,74,80]}]},{key:"A#",suffix:"aug9",positions:[{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:1,midi:[68,62,66,72]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,66,68,74]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:7,midi:[74,68,72,78]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:10,barres:[],midi:[78,72,74,80]}]},{key:"A#",suffix:"7b9",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"A#",suffix:"7b9#5",positions:[{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,71]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,74]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,78]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,71,74,80]}]},{key:"A#",suffix:"7#9",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,73]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:4,barres:[],midi:[73,65,68,74]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,65,68,73]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:7,barres:[],midi:[74,68,73,77]}]},{key:"A#",suffix:"11",positions:[{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:3,barres:[],midi:[72,63,68,74]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:5,barres:[],midi:[75,68,72,74]},{frets:[2,3,3,1],fingers:[2,3,4,1],baseFret:6,barres:[],midi:[74,68,72,75]}]},{key:"A#",suffix:"9#11",positions:[{frets:[1,2,0,3],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,62,64,72]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,74]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:7,midi:[74,68,72,76]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:9,barres:[],midi:[76,72,74,80]}]},{key:"A#",suffix:"13",positions:[{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,67,72]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,74]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,79]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:10,barres:[],midi:[79,72,74,80]}]},{key:"A#",suffix:"13b9",positions:[{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[68,62,67,71]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,74]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,79]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[80,71,74,79]}]},{key:"A#",suffix:"13b5b9",positions:[{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:1,barres:[],midi:[68,64,67,71]},{frets:[1,4,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,76]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:7,barres:[],midi:[76,68,71,79]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:10,barres:[],midi:[80,71,76,79]}]},{key:"A#",suffix:"b13b9",positions:[{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,71]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,74]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,78]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,71,74,80]}]},{key:"A#",suffix:"b13#9",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,66,68,73]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:4,barres:[],midi:[73,66,68,74]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,73,78]}]},{key:"A#",suffix:"maj7",positions:[{frets:[3,2,1,0],fingers:[3,2,1,0],baseFret:1,barres:[],midi:[70,62,65,69]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[69,62,65,70]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,65,69,74]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,77]}]},{key:"A#",suffix:"maj7b5",positions:[{frets:[3,2,0,0],fingers:[3,2,0,0],baseFret:1,barres:[],midi:[70,62,64,69]},{frets:[2,2,0,1],fingers:[2,3,0,1],baseFret:1,barres:[],midi:[69,62,64,70]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,69,74]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,76]}]},{key:"A#",suffix:"maj7#5",positions:[{frets:[3,2,2,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[70,62,66,69]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[69,62,66,70]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,66,69,74]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,69,70,78]}]},{key:"A#",suffix:"maj9",positions:[{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:1,midi:[69,62,65,72]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,74]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:7,midi:[74,69,72,77]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,74,81]}]},{key:"A#",suffix:"maj11",positions:[{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:3,barres:[],midi:[72,63,69,74]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:6,barres:[],midi:[74,69,72,75]}]},{key:"A#",suffix:"maj13",positions:[{frets:[2,2,3,3],fingers:[1,1,2,2],barres:[2,3],capo:!0,baseFret:1,midi:[69,62,67,72]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,74]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,72,79]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[79,72,74,81]}]},{key:"A#",suffix:"m6",positions:[{frets:[0,1,1,1],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,70]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,73]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,77]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,70,73,79]}]},{key:"A#",suffix:"m7",positions:[{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,70]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:3,midi:[70,65,68,73]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,70,77]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:9,midi:[77,70,73,80]}]},{key:"A#",suffix:"m7b5",positions:[{frets:[1,1,0,1],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,70]},{frets:[3,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[70,64,68,73]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,76]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,80]}]},{key:"A#",suffix:"m9",positions:[{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,72]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:4,midi:[72,65,68,73]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:3,barres:[],midi:[73,65,68,72]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,68,72,77]}]},{key:"A#",suffix:"m69",positions:[{frets:[0,1,1,3],fingers:[0,2,1,4],baseFret:1,barres:[],midi:[67,61,65,72]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:3,barres:[],midi:[72,65,67,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,65,67,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,72,77]}]},{key:"A#",suffix:"m9b5",positions:[{frets:[1,1,0,3],fingers:[1,2,0,4],baseFret:1,barres:[],midi:[68,61,64,72]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,73]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:3,midi:[73,64,68,72]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:6,barres:[],midi:[73,68,72,76]}]},{key:"A#",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:3,midi:[72,63,68,73]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:3,midi:[73,63,68,72]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,72,75]}]},{key:"A#",suffix:"mmaj7",positions:[{frets:[3,1,1,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[70,61,65,69]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,70]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,65,69,73]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,69,70,77]}]},{key:"A#",suffix:"mmaj7b5",positions:[{frets:[2,1,0,1],fingers:[3,1,0,2],baseFret:1,barres:[],midi:[69,61,64,70]},{frets:[3,1,0,0],fingers:[3,1,0,0],baseFret:1,barres:[],midi:[70,61,64,69]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,64,69,73]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,69,70,76]}]},{key:"A#",suffix:"mmaj9",positions:[{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,72]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:4,barres:[],midi:[72,65,69,73]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:3,barres:[],midi:[73,65,69,72]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,69,72,77]}]},{key:"A#",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:3,barres:[],midi:[72,63,69,73]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:3,midi:[73,63,69,72]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:6,midi:[73,69,72,75]}]},{key:"A#",suffix:"add9",positions:[{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:1,barres:[],midi:[70,62,65,72]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:5,midi:[72,65,70,74]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:7,midi:[74,70,72,77]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,82]}]},{key:"A#",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[70,61,65,72]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:3,barres:[],midi:[73,65,70,72]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:4,midi:[72,65,70,73]}]}],B:[{key:"B",suffix:"major",positions:[{frets:[4,3,2,2],fingers:[3,2,1,1],barres:[2],capo:!0,baseFret:1,midi:[71,63,66,71]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,66,71,75]},{frets:[3,1,2,1],fingers:[3,1,2,1],barres:[1],capo:!0,baseFret:6,midi:[75,66,71,75]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[78,71,75,83]}]},{key:"B",suffix:"minor",positions:[{frets:[4,2,2,2],fingers:[3,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[71,62,66,71]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[71,62,66,74]},{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,66,71,74]},{frets:[3,2,3,1],fingers:[3,2,4,1],baseFret:5,barres:[],midi:[74,66,71,74]}]},{key:"B",suffix:"dim",positions:[{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[71,62,65,71]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,65,71,74]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[74,65,71,74]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:8,barres:[],midi:[77,71,74,77]}]},{key:"B",suffix:"dim7",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"B",suffix:"sus2",positions:[{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,71,73]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:6,midi:[73,66,71,78]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[78,71,73,78]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:11,midi:[78,73,78,83]}]},{key:"B",suffix:"sus4",positions:[{frets:[4,4,2,2],fingers:[3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[71,64,66,71]},{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,66,71,76]},{frets:[4,1,2,2],fingers:[4,1,2,2],barres:[2],baseFret:6,midi:[76,66,71,76]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:6,barres:[],midi:[76,66,71,78]}]},{key:"B",suffix:"7sus4",positions:[{frets:[2,4,2,2],fingers:[1,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,71]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,69,76]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[76,69,71,78]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],baseFret:11,midi:[78,71,76,81]}]},{key:"B",suffix:"alt",positions:[{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:1,barres:[],midi:[71,63,65,71]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,65,71,75]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:5,barres:[],midi:[75,65,71,75]}]},{key:"B",suffix:"aug",positions:[{frets:[0,3,3,2],fingers:[0,2,3,1],baseFret:1,barres:[],midi:[67,63,67,71]},{frets:[4,3,3,2],fingers:[3,2,2,1],barres:[3],baseFret:1,midi:[71,63,67,71]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[71,63,67,75]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,67,71,75]}]},{key:"B",suffix:"6",positions:[{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,63,66,71]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,68,75]},{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,78]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,71,75,80]}]},{key:"B",suffix:"69",positions:[{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,66,73]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[73,66,68,75]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:8,midi:[75,68,73,78]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,80]}]},{key:"B",suffix:"7",positions:[{frets:[2,3,2,2],fingers:[1,2,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,71]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,69,75]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,69,71,78]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,71,75,81]}]},{key:"B",suffix:"7b5",positions:[{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,63,65,71]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,75]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,69,71,77]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,81]}]},{key:"B",suffix:"aug7",positions:[{frets:[2,3,3,2],fingers:[1,2,2,1],barres:[2,3],capo:!0,baseFret:1,midi:[69,63,67,71]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,67,69,75]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,69,71,79]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:11,midi:[79,71,75,81]}]},{key:"B",suffix:"9",positions:[{frets:[2,3,2,4],fingers:[1,2,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,73]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,75]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,78]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,81]}]},{key:"B",suffix:"9b5",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,63,65,73]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,75]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:8,midi:[75,69,73,77]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:10,barres:[],midi:[77,73,75,81]}]},{key:"B",suffix:"aug9",positions:[{frets:[2,3,3,4],fingers:[1,2,2,3],barres:[3],baseFret:1,midi:[69,63,67,73]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,67,69,75]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:8,midi:[75,69,73,79]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:11,barres:[],midi:[79,73,75,81]}]},{key:"B",suffix:"7b9",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"B",suffix:"7b9#5",positions:[{frets:[2,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,72]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,75]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],baseFret:8,midi:[75,69,72,79]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,72,75,81]}]},{key:"B",suffix:"7#9",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,63,66,74]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:5,barres:[],midi:[74,66,69,75]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,66,69,74]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:8,barres:[],midi:[75,69,74,78]}]},{key:"B",suffix:"11",positions:[{frets:[2,3,0,4],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[69,63,64,73]},{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:4,barres:[],midi:[73,64,69,75]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:6,barres:[],midi:[76,69,73,75]},{frets:[2,3,3,1],fingers:[2,3,4,1],baseFret:7,barres:[],midi:[75,69,73,76]}]},{key:"B",suffix:"9#11",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,63,65,73]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],baseFret:5,midi:[73,65,69,75]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:8,midi:[75,69,73,77]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:10,barres:[],midi:[77,73,75,81]}]},{key:"B",suffix:"13",positions:[{frets:[2,3,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,68,73]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,75]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,80]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:11,barres:[],midi:[80,73,75,81]}]},{key:"B",suffix:"13b9",positions:[{frets:[2,3,4,3],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[69,63,68,72]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,75]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,80]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[81,72,75,80]}]},{key:"B",suffix:"13b5b9",positions:[{frets:[1,0,1,0],fingers:[1,0,2,0],baseFret:1,barres:[],midi:[68,60,65,69]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:2,barres:[],midi:[69,65,68,72]},{frets:[1,4,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,77]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:8,barres:[],midi:[77,69,72,80]}]},{key:"B",suffix:"b13b9",positions:[{frets:[2,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,72]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,75]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,79]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,72,75,81]}]},{key:"B",suffix:"b13#9",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,63,67,74]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,67,69,74]},{frets:[3,3,1,2],fingers:[4,3,1,2],baseFret:5,barres:[],midi:[74,67,69,75]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,74,79]}]},{key:"B",suffix:"maj7",positions:[{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:1,barres:[],midi:[71,63,66,70]},{frets:[3,3,2,2],fingers:[2,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[70,63,66,71]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,66,70,75]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,78]}]},{key:"B",suffix:"maj7b5",positions:[{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,63,65,70]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[70,63,65,71]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,70,75]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,77]}]},{key:"B",suffix:"maj7#5",positions:[{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:1,barres:[],midi:[71,63,67,70]},{frets:[3,3,3,2],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[70,63,67,71]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,67,70,75]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,70,71,79]}]},{key:"B",suffix:"maj9",positions:[{frets:[3,3,2,4],fingers:[2,2,1,3],barres:[3],baseFret:1,midi:[70,63,66,73]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,75]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:8,midi:[75,70,73,78]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,75,82]}]},{key:"B",suffix:"maj11",positions:[{frets:[3,3,0,4],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[70,63,64,73]},{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:4,barres:[],midi:[73,64,70,75]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:7,barres:[],midi:[75,70,73,76]}]},{key:"B",suffix:"maj13",positions:[{frets:[3,3,4,4],fingers:[1,1,2,2],barres:[3,4],capo:!0,baseFret:1,midi:[70,63,68,73]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,75]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,73,80]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[80,73,75,82]}]},{key:"B",suffix:"m6",positions:[{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,71]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,74]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,78]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,71,74,80]}]},{key:"B",suffix:"m7",positions:[{frets:[2,2,2,2],fingers:[1,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,71]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:4,midi:[71,66,69,74]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,71,78]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:10,midi:[78,71,74,81]}]},{key:"B",suffix:"m7b5",positions:[{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,71]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,74]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,77]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,81]}]},{key:"B",suffix:"m9",positions:[{frets:[2,2,2,4],fingers:[1,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,73]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:4,barres:[],midi:[74,66,69,73]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:5,midi:[73,66,69,74]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,69,73,78]}]},{key:"B",suffix:"m69",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,73]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:4,barres:[],midi:[73,66,68,74]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,66,68,73]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,73,78]}]},{key:"B",suffix:"m9b5",positions:[{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:1,midi:[69,62,65,73]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:4,midi:[74,65,69,73]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,74]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:7,barres:[],midi:[74,69,73,77]}]},{key:"B",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:4,midi:[73,64,69,74]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:4,midi:[74,64,69,73]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],baseFret:7,midi:[74,69,73,76]}]},{key:"B",suffix:"mmaj7",positions:[{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:1,midi:[71,62,66,70]},{frets:[3,2,2,2],fingers:[2,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,71]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,66,70,74]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,70,71,78]}]},{key:"B",suffix:"mmaj7b5",positions:[{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[70,62,65,71]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,62,65,70]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,65,70,74]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,70,71,77]}]},{key:"B",suffix:"mmaj9",positions:[{frets:[3,2,2,4],fingers:[2,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,73]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:4,barres:[],midi:[74,66,70,73]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:5,barres:[],midi:[73,66,70,74]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,70,73,78]}]},{key:"B",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:4,barres:[],midi:[73,64,70,74]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:4,midi:[74,64,70,73]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:7,midi:[74,70,73,76]}]},{key:"B",suffix:"add9",positions:[{frets:[4,3,2,4],fingers:[3,2,1,4],baseFret:1,barres:[],midi:[71,63,66,73]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],baseFret:6,midi:[73,66,71,75]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:8,midi:[75,71,73,78]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,83]}]},{key:"B",suffix:"madd9",positions:[{frets:[2,0,0,2],fingers:[2,0,0,3],baseFret:1,barres:[],midi:[69,60,64,71]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:2,barres:[],midi:[72,64,69,71]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:3,midi:[71,64,69,72]}]}]}},de={main:{strings:6,fretsOnChord:4,name:"guitar",numberOfChords:2159},tunings:{standard:["E2","A2","D3","G3","B3","E4"]},keys:["A","A#","B","C","C#","D","D#","E","F","F#","G","G#"],suffixes:["major","minor","dim","dim7","sus2","sus4","sus2sus4","7sus4","7/G","alt","aug","5","6","69","7","7b5","aug7","9","9b5","aug9","7b9","7#9","11","9#11","13","maj7","maj7b5","maj7#5","maj9","maj11","maj13","m6","m69","m7","m7b5","m9","m11","mmaj7","mmaj7b5","mmaj9","mmaj11","add9","madd9"],chords:{C:[{key:"C",suffix:"major",positions:[{frets:[-1,3,2,0,1,0],fingers:[0,3,2,0,1,0],baseFret:1,barres:[],midi:[-1,48,52,55,60,64]},{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,48,55,60,64,67]},{frets:[-1,-1,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],baseFret:5,midi:[-1,-1,55,60,64,72]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,60,64,67,72]}]},{key:"C",suffix:"minor",positions:[{frets:[-1,3,1,0,1,3],fingers:[0,3,2,0,1,4],baseFret:1,barres:[],midi:[-1,48,51,55,60,67]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,60,63,67]},{frets:[4,2,1,1,-1,-1],fingers:[4,2,1,1,0,0],barres:[1],baseFret:5,midi:[48,51,55,60,-1,-1]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,60,63,67,72]}]},{key:"C",suffix:"dim",positions:[{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:1,barres:[],midi:[-1,48,51,-1,60,66]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:3,barres:[],midi:[-1,48,54,60,63,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:6,barres:[],midi:[48,51,-1,63,66,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:10,barres:[],midi:[-1,-1,60,66,-1,75]}]},{key:"C",suffix:"dim7",positions:[{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,51,57,60,66]},{frets:[-1,3,4,2,4,2],fingers:[0,2,3,1,4,1],barres:[2],capo:!0,baseFret:1,midi:[-1,48,54,57,63,66]},{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],baseFret:7,midi:[48,-1,57,63,66,-1]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,1,4],barres:[1],baseFret:10,midi:[-1,-1,60,66,69,75]}]},{key:"C",suffix:"sus2",positions:[{frets:[-1,3,0,0,1,3],fingers:[0,3,0,0,1,4],baseFret:1,barres:[],midi:[-1,48,50,55,60,67]},{frets:[-1,3,0,0,3,3],fingers:[0,1,0,0,2,3],baseFret:1,barres:[],midi:[-1,48,50,55,62,67]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,60,62,67]},{frets:[2,-1,0,1,2,2],fingers:[2,0,0,1,3,4],baseFret:7,barres:[],midi:[48,-1,50,62,67,72]}]},{key:"C",suffix:"sus4",positions:[{frets:[-1,3,3,0,1,1],fingers:[0,3,4,0,1,1],barres:[1],baseFret:1,midi:[-1,48,53,55,60,65]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,60,65,67]},{frets:[3,3,-1,0,1,3],fingers:[2,3,0,0,1,4],baseFret:6,barres:[],midi:[48,53,-1,55,65,72]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,60,65,67,72]}]},{key:"C",suffix:"sus2sus4",positions:[{frets:[-1,3,3,0,3,3],fingers:[0,1,2,0,3,4],baseFret:1,barres:[],midi:[-1,48,53,55,62,67]},{frets:[-1,3,0,0,1,1],fingers:[0,3,0,0,1,1],barres:[1],baseFret:1,midi:[-1,48,50,55,60,65]},{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,60,62,67]}]},{key:"C",suffix:"7sus4",positions:[{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,48,53,58,60,65]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,58,65,67]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,55,60,65,70]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,65,67,72]}]},{key:"C",suffix:"alt",positions:[{frets:[-1,2,1,4,4,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:2,midi:[-1,48,52,60,64,66]},{frets:[-1,1,2,3,3,0],fingers:[0,1,2,3,4,0],baseFret:3,barres:[],midi:[-1,48,54,60,64,64]},{frets:[-1,-1,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:7,barres:[],midi:[-1,-1,60,64,66,72]},{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:10,barres:[],midi:[-1,-1,60,66,72,76]}]},{key:"C",suffix:"aug",positions:[{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],baseFret:1,midi:[-1,48,52,56,60,-1]},{frets:[-1,1,4,3,3,-1],fingers:[0,1,4,2,3,0],baseFret:3,barres:[],midi:[-1,48,56,60,64,-1]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],baseFret:5,midi:[48,52,56,60,64,-1]},{frets:[-1,-1,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:8,barres:[],midi:[-1,-1,60,64,68,72]}]},{key:"C",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:8,barres:[],midi:[48,55,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:3,barres:[],midi:[-1,48,55,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:8,barres:[],midi:[48,55,60,-1,-1,-1]}]},{key:"C",suffix:"6",positions:[{frets:[-1,3,2,2,1,0],fingers:[0,4,2,3,1,0],baseFret:1,barres:[],midi:[-1,48,52,57,60,64]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,4],barres:[3],baseFret:3,midi:[-1,48,55,60,64,69]},{frets:[2,-1,1,3,2,-1],fingers:[2,0,1,4,3,0],baseFret:7,barres:[],midi:[48,-1,57,64,67,-1]},{frets:[1,-1,3,2,3,1],fingers:[1,0,3,2,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,-1,60,64,69,72]}]},{key:"C",suffix:"69",positions:[{frets:[-1,3,2,2,3,3],fingers:[0,3,1,1,3,4],barres:[2],capo:!0,baseFret:1,midi:[-1,48,52,57,62,67]},{frets:[-1,1,0,0,3,3],fingers:[0,1,0,0,3,4],baseFret:3,barres:[],midi:[-1,48,50,55,64,69]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:7,midi:[48,52,57,62,67,72]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],baseFret:9,midi:[-1,55,60,64,69,74]}]},{key:"C",suffix:"7",positions:[{frets:[-1,3,2,3,1,0],fingers:[0,3,2,4,1,0],baseFret:1,barres:[],midi:[-1,48,52,58,60,64]},{frets:[-1,1,3,1,3,1],fingers:[0,1,3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,48,55,58,64,67]},{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,55,60,64,70]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,64,67,72]}]},{key:"C",suffix:"7b5",positions:[{frets:[-1,-1,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:1,barres:[],midi:[-1,-1,52,58,60,66]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],baseFret:3,midi:[-1,48,54,58,64,-1]},{frets:[2,-1,2,3,1,0],fingers:[2,0,3,4,1,0],baseFret:7,barres:[],midi:[48,-1,58,64,66,64]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:10,barres:[],midi:[-1,-1,60,66,70,76]}]},{key:"C",suffix:"7/G",positions:[{frets:[3,3,2,3,-1,-1],fingers:[2,3,1,4,0,0],baseFret:1,barres:[],midi:[43,48,52,58,-1,-1]},{frets:[3,1,2,0,1,0],fingers:[4,2,3,0,1,0],baseFret:1,barres:[],midi:[43,46,52,55,60,64]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],baseFret:3,midi:[43,48,55,58,64,67]}]},{key:"C",suffix:"aug7",positions:[{frets:[-1,3,2,3,-1,4],fingers:[0,2,1,3,0,4],baseFret:1,barres:[],midi:[-1,48,52,58,-1,68]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:3,midi:[-1,48,56,58,64,68]},{frets:[1,-1,1,2,2,0],fingers:[1,0,2,3,4,0],baseFret:8,barres:[],midi:[48,-1,58,64,68,64]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:10,barres:[],midi:[-1,-1,60,68,70,76]}]},{key:"C",suffix:"9",positions:[{frets:[0,3,2,0,3,0],fingers:[0,2,3,0,4,0],baseFret:1,barres:[],midi:[40,48,52,55,62,64]},{frets:[3,3,2,3,3,3],fingers:[2,2,1,3,3,4],barres:[3],baseFret:1,midi:[43,48,52,58,62,67]},{frets:[2,1,2,1,2,2],fingers:[2,1,3,1,4,4],barres:[1],capo:!0,baseFret:7,midi:[48,52,58,62,67,72]},{frets:[2,4,2,1,2,4],fingers:[1,3,1,2,1,4],barres:[2],capo:!0,baseFret:7,midi:[48,55,58,62,67,74]},{frets:[-1,-1,2,1,3,2],fingers:[0,0,2,1,4,3],baseFret:9,barres:[],midi:[-1,-1,60,64,70,74]}]},{key:"C",suffix:"9b5",positions:[{frets:[-1,3,2,3,3,2],fingers:[0,2,1,3,4,1],barres:[2],capo:!0,baseFret:1,midi:[-1,48,52,58,62,66]},{frets:[-1,3,4,3,3,0],fingers:[0,1,4,2,3,0],baseFret:1,barres:[],midi:[-1,48,54,58,62,64]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[48,52,58,62,66,72]},{frets:[1,2,1,2,-1,3],fingers:[1,2,1,3,0,4],barres:[1],baseFret:8,midi:[48,54,58,64,-1,74]}]},{key:"C",suffix:"aug9",positions:[{frets:[-1,3,2,3,3,4],fingers:[0,2,1,3,3,4],barres:[3],baseFret:1,midi:[-1,48,52,58,62,68]},{frets:[-1,1,0,1,3,2],fingers:[0,1,0,2,4,3],baseFret:3,barres:[],midi:[-1,48,50,58,64,68]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[46,50,56,60,64,70]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:7,midi:[48,52,58,62,68,-1]}]},{key:"C",suffix:"7b9",positions:[{frets:[-1,3,2,3,2,3],fingers:[0,2,1,3,1,4],barres:[2],capo:!0,baseFret:1,midi:[-1,48,52,58,61,67]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:6,barres:[],midi:[48,52,58,61,-1,-1]},{frets:[1,-1,1,2,1,2],fingers:[1,0,1,2,1,3],barres:[1],capo:!0,baseFret:8,midi:[48,-1,58,64,67,73]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,3,1,4,2],baseFret:9,barres:[],midi:[-1,-1,60,64,70,73]}]},{key:"C",suffix:"7#9",positions:[{frets:[-1,3,2,3,4,-1],fingers:[0,2,1,3,4,0],baseFret:1,barres:[],midi:[-1,48,52,58,63,-1]},{frets:[-1,1,3,1,2,0],fingers:[0,1,3,1,2,0],barres:[1],baseFret:3,midi:[-1,48,55,58,63,64]},{frets:[1,3,1,2,1,4],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,64,67,75]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,2,1,3,4],baseFret:9,barres:[],midi:[-1,-1,60,64,70,75]}]},{key:"C",suffix:"11",positions:[{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,48,52,58,60,65]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,58,64,67]},{frets:[3,2,0,0,1,1],fingers:[3,2,0,0,1,1],barres:[1],baseFret:6,midi:[48,52,50,55,65,70]},{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,64,67,72]}]},{key:"C",suffix:"9#11",positions:[{frets:[-1,3,2,3,3,2],fingers:[0,2,1,3,4,1],barres:[2],capo:!0,baseFret:1,midi:[-1,48,52,58,62,66]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:3,midi:[-1,48,54,58,64,67]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[48,52,58,62,66,72]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:10,barres:[],midi:[-1,-1,60,66,70,76]}]},{key:"C",suffix:"13",positions:[{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:2,midi:[-1,48,52,58,64,69]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:3,midi:[43,48,53,58,64,69]},{frets:[3,2,2,2,3,1],fingers:[3,2,2,2,4,1],barres:[2],baseFret:6,midi:[48,52,57,62,67,70]},{frets:[1,3,1,2,3,1],fingers:[1,3,1,2,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,64,69,72]}]},{key:"C",suffix:"maj7",positions:[{frets:[3,3,2,0,0,0],fingers:[2,3,1,0,0,0],baseFret:1,barres:[],midi:[43,48,52,55,59,64]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,59,64,67]},{frets:[-1,-1,1,1,1,3],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,55,60,64,71]},{frets:[-1,-1,1,3,3,3],fingers:[0,0,1,3,3,3],barres:[3],baseFret:10,midi:[-1,-1,60,67,71,76]}]},{key:"C",suffix:"maj7b5",positions:[{frets:[-1,3,2,4,0,2],fingers:[0,3,1,4,0,2],baseFret:1,barres:[],midi:[-1,48,52,59,59,66]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:3,barres:[],midi:[-1,48,54,59,64,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[48,52,59,64,66,71]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:10,barres:[],midi:[-1,-1,60,66,71,76]}]},{key:"C",suffix:"maj7#5",positions:[{frets:[-1,3,2,1,0,0],fingers:[0,3,2,1,0,0],baseFret:1,barres:[],midi:[-1,48,52,56,59,64]},{frets:[-1,1,4,2,3,0],fingers:[0,1,4,2,3,0],baseFret:3,barres:[],midi:[-1,48,56,59,64,64]},{frets:[4,3,2,1,0,0],fingers:[4,3,2,1,0,0],baseFret:5,barres:[],midi:[48,52,56,60,59,64]},{frets:[1,4,3,2,0,0],fingers:[1,4,3,2,0,0],baseFret:8,barres:[],midi:[48,56,60,64,59,64]}]},{key:"C",suffix:"maj9",positions:[{frets:[-1,3,0,0,0,0],fingers:[0,3,0,0,0,0],baseFret:1,barres:[],midi:[-1,48,50,55,59,64]},{frets:[3,3,2,4,3,-1],fingers:[2,2,1,4,3,0],barres:[3],baseFret:1,midi:[43,48,52,59,62,-1]},{frets:[0,1,1,1,1,3],fingers:[0,1,1,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[40,50,55,60,64,71]},{frets:[1,-1,2,2,1,3],fingers:[1,0,2,3,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,-1,59,64,67,74]}]},{key:"C",suffix:"maj11",positions:[{frets:[-1,3,2,0,0,1],fingers:[0,3,2,0,0,1],baseFret:1,barres:[],midi:[-1,48,52,55,59,65]},{frets:[-1,3,3,0,0,0],fingers:[0,1,1,0,0,0],barres:[3],baseFret:1,midi:[-1,48,53,55,59,64]},{frets:[3,2,4,0,1,0],fingers:[3,2,4,0,1,0],baseFret:6,barres:[],midi:[48,52,59,55,65,64]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,59,64,67,72]}]},{key:"C",suffix:"maj13",positions:[{frets:[-1,3,2,2,0,1],fingers:[0,4,2,3,0,1],baseFret:1,barres:[],midi:[-1,48,52,57,59,65]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],baseFret:3,midi:[-1,48,53,59,64,69]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:7,midi:[48,52,57,62,67,71]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,59,64,69,72]}]},{key:"C",suffix:"m6",positions:[{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[-1,48,51,57,60,67]},{frets:[-1,1,3,-1,2,3],fingers:[0,1,3,0,2,4],baseFret:3,barres:[],midi:[-1,48,55,-1,63,69]},{frets:[2,-1,1,2,2,2],fingers:[2,0,1,3,3,4],barres:[2],baseFret:7,midi:[48,-1,57,63,67,72]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,60,63,69,72]}]},{key:"C",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:8,barres:[],midi:[48,-1,58,63,67,-1]},{frets:[-1,3,1,3,4,-1],fingers:[0,2,1,3,4,0],baseFret:1,barres:[],midi:[-1,48,51,58,63,-1]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,58,63,67]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:4,barres:[],midi:[-1,-1,55,60,63,70]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,63,67,72]}]},{key:"C",suffix:"m7b5",positions:[{frets:[-1,3,4,3,4,-1],fingers:[0,1,3,2,4,0],baseFret:1,barres:[],midi:[-1,48,54,58,63,-1]},{frets:[-1,-1,1,2,1,3],fingers:[0,0,1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,60,63,70]},{frets:[1,2,3,1,4,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,54,60,63,70,72]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,3,3,3],barres:[2],baseFret:10,midi:[-1,-1,60,66,70,75]}]},{key:"C",suffix:"m9",positions:[{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:1,midi:[-1,48,51,58,62,67]},{frets:[-1,3,0,3,4,3],fingers:[0,1,0,2,4,3],baseFret:1,barres:[],midi:[-1,48,50,58,63,67]},{frets:[-1,1,3,2,3,3],fingers:[0,1,3,2,4,4],barres:[3],baseFret:6,midi:[-1,51,58,62,67,72]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,63,67,74]}]},{key:"C",suffix:"m69",positions:[{frets:[-1,3,1,2,3,3],fingers:[0,3,1,2,4,4],barres:[3],baseFret:1,midi:[-1,48,51,57,62,67]},{frets:[-1,1,0,0,2,3],fingers:[0,1,0,0,2,4],baseFret:3,barres:[],midi:[-1,48,50,55,63,69]},{frets:[3,1,2,2,-1,-1],fingers:[4,1,2,3,0,0],baseFret:6,barres:[],midi:[48,51,57,62,-1,-1]},{frets:[-1,3,3,1,3,3],fingers:[0,2,2,1,3,4],barres:[3],baseFret:8,midi:[-1,55,60,63,69,74]}]},{key:"C",suffix:"m11",positions:[{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,48,51,58,62,65]},{frets:[-1,3,3,3,4,3],fingers:[0,1,1,1,2,1],barres:[3],capo:!0,baseFret:1,midi:[-1,48,53,58,63,67]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[48,51,58,62,65,70]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,63,67,74]}]},{key:"C",suffix:"mmaj7",positions:[{frets:[-1,3,1,0,0,-1],fingers:[0,3,1,0,0,0],baseFret:1,barres:[],midi:[-1,48,51,55,59,-1]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,59,63,67]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,59,63,67,72]},{frets:[-1,-1,1,3,3,2],fingers:[0,0,1,3,4,2],baseFret:10,barres:[],midi:[-1,-1,60,67,71,75]}]},{key:"C",suffix:"mmaj7b5",positions:[{frets:[-1,3,-1,4,4,2],fingers:[0,2,0,3,4,1],baseFret:1,barres:[],midi:[-1,48,-1,59,63,66]},{frets:[-1,3,4,4,4,-1],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,48,54,59,63,-1]},{frets:[1,2,2,1,-1,1],fingers:[1,2,3,1,0,1],barres:[1],capo:!0,baseFret:8,midi:[48,54,59,63,-1,72]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:10,barres:[],midi:[-1,-1,60,66,71,75]}]},{key:"C",suffix:"mmaj9",positions:[{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:1,barres:[],midi:[-1,48,51,59,62,-1]},{frets:[-1,3,0,4,4,3],fingers:[0,1,0,3,4,2],baseFret:1,barres:[],midi:[-1,48,50,59,63,67]},{frets:[3,1,-1,2,0,3],fingers:[3,1,0,2,0,4],baseFret:6,barres:[],midi:[48,51,-1,62,59,72]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,55,59,63,67,74]}]},{key:"C",suffix:"mmaj11",positions:[{frets:[-1,3,1,0,0,1],fingers:[0,3,1,0,0,2],baseFret:1,barres:[],midi:[-1,48,51,55,59,65]},{frets:[3,3,3,4,4,3],fingers:[1,1,1,2,3,1],barres:[3],capo:!0,baseFret:1,midi:[43,48,53,59,63,67]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,53,59,63,67,74]},{frets:[-1,-1,1,1,3,2],fingers:[0,0,1,1,3,2],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,65,71,75]}]},{key:"C",suffix:"add9",positions:[{frets:[-1,3,2,0,3,0],fingers:[0,2,1,0,3,0],baseFret:1,barres:[],midi:[-1,48,52,55,62,64]},{frets:[-1,3,0,0,3,0],fingers:[0,1,0,0,3,0],baseFret:1,barres:[],midi:[-1,48,50,55,62,64]},{frets:[2,1,0,0,2,0],fingers:[2,1,0,0,3,0],baseFret:7,barres:[],midi:[48,52,50,55,67,64]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:8,barres:[],midi:[-1,-1,60,64,67,74]}]},{key:"C",suffix:"madd9",positions:[{frets:[-1,3,1,0,3,3],fingers:[0,2,1,0,3,4],baseFret:1,barres:[],midi:[-1,48,51,55,62,67]},{frets:[-1,1,0,3,2,1],fingers:[0,1,0,4,3,2],baseFret:3,barres:[],midi:[-1,48,50,60,63,67]},{frets:[3,1,0,2,3,3],fingers:[3,1,0,2,4,4],barres:[3],baseFret:6,midi:[48,51,50,62,67,72]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,60,63,67,74]}]},{key:"C",suffix:"/E",positions:[{frets:[0,3,2,0,1,0],fingers:[0,3,2,0,1,0],baseFret:1,barres:[],midi:[40,48,52,55,60,64]},{frets:[0,3,2,0,1,3],fingers:[0,3,2,0,1,4],baseFret:1,barres:[],midi:[40,48,52,55,60,67]},{frets:[-1,3,1,1,4,4],fingers:[0,3,1,1,4,4],barres:[1],baseFret:5,midi:[-1,52,55,60,67,72]}]},{key:"C",suffix:"/F",positions:[{frets:[-1,-1,3,0,1,0],fingers:[0,0,3,0,1,0],baseFret:1,barres:[],midi:[-1,-1,53,55,60,64]},{frets:[1,3,2,0,1,0],fingers:[1,4,3,0,2,0],baseFret:1,barres:[],midi:[41,48,52,55,60,64]},{frets:[-1,-1,1,3,3,1],fingers:[0,0,1,3,4,2],baseFret:3,barres:[],midi:[-1,-1,53,60,64,67]}]},{key:"C",suffix:"/G",positions:[{frets:[3,3,2,0,1,0],fingers:[3,4,2,0,1,0],baseFret:1,barres:[],midi:[43,48,52,55,60,64]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],baseFret:3,midi:[43,48,55,60,64,67]},{frets:[2,2,1,4,4,-1],fingers:[2,3,1,4,4,0],barres:[4],baseFret:2,midi:[43,48,52,60,64,-1]}]}],"C#":[{key:"C#",suffix:"major",positions:[{frets:[-1,4,3,1,2,1],fingers:[0,4,3,1,2,1],barres:[1],baseFret:1,midi:[-1,49,53,56,61,65]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,61,65,68]},{frets:[4,3,1,1,1,4],fingers:[3,2,1,1,1,4],barres:[1],baseFret:6,midi:[49,53,56,61,65,73]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,61,65,68,73]}]},{key:"C#",suffix:"minor",positions:[{frets:[-1,4,2,1,2,-1],fingers:[0,4,2,1,3,0],baseFret:1,barres:[],midi:[-1,49,52,56,61,-1]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,61,64,68]},{frets:[4,2,1,1,-1,4],fingers:[3,2,1,1,0,4],barres:[1],baseFret:6,midi:[49,52,56,61,-1,73]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,61,64,68,73]}]},{key:"C#",suffix:"dim",positions:[{frets:[-1,4,2,-1,2,3],fingers:[0,4,1,0,2,3],baseFret:1,barres:[],midi:[-1,49,52,-1,61,67]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:4,barres:[],midi:[-1,49,55,61,64,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:7,barres:[],midi:[49,52,-1,64,67,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:11,barres:[],midi:[-1,-1,61,67,-1,76]}]},{key:"C#",suffix:"dim7",positions:[{frets:[-1,-1,2,3,2,3],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,52,58,61,67]},{frets:[-1,2,3,1,3,1],fingers:[0,2,3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,49,55,58,64,67]},{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],baseFret:8,midi:[49,-1,58,64,67,-1]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:11,barres:[],midi:[-1,-1,61,67,70,76]}]},{key:"C#",suffix:"sus2",positions:[{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,61,63,68]},{frets:[4,1,1,3,4,-1],fingers:[0,1,0,0,2,3],barres:[1],capo:!0,baseFret:6,midi:[49,51,56,63,68,-1]},{frets:[1,3,3,-1,1,3],fingers:[1,2,3,0,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,56,61,-1,68,75]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,68,73,75]}]},{key:"C#",suffix:"sus4",positions:[{frets:[-1,4,4,1,2,-1],fingers:[0,3,4,1,2,0],baseFret:1,barres:[],midi:[-1,49,54,56,61,-1]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,61,66,68]},{frets:[4,-1,1,1,2,4],fingers:[2,3,0,0,1,4],baseFret:6,barres:[],midi:[49,-1,56,61,66,73]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,61,66,68,73]}]},{key:"C#",suffix:"sus2sus4",positions:[{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,63,68]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,66,68,75]}]},{key:"C#",suffix:"7sus4",positions:[{frets:[-1,4,4,4,2,2],fingers:[0,2,3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[-1,49,54,59,61,66]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,59,66,68]},{frets:[-1,-1,-1,1,2,2],fingers:[0,0,0,1,2,3],baseFret:6,barres:[],midi:[-1,-1,-1,61,66,71]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,66,68,73]}]},{key:"C#",suffix:"alt",positions:[{frets:[-1,4,3,0,2,1],fingers:[0,4,3,0,2,1],baseFret:1,barres:[],midi:[-1,49,53,55,61,65]},{frets:[-1,2,3,0,4,1],fingers:[0,2,3,0,4,1],baseFret:3,barres:[],midi:[-1,49,55,55,65,67]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:4,barres:[],midi:[-1,49,55,61,65,-1]},{frets:[-1,-1,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:8,barres:[],midi:[-1,-1,61,65,67,73]}]},{key:"C#",suffix:"aug",positions:[{frets:[-1,4,4,4,2,2],fingers:[0,2,3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[-1,49,54,59,61,66]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,59,66,68]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:6,midi:[49,53,57,61,65,-1]},{frets:[1,-1,3,2,2,1],fingers:[1,0,4,2,3,1],barres:[1],capo:!0,baseFret:9,midi:[49,-1,61,65,69,73]}]},{key:"C#",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:9,barres:[],midi:[49,56,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:4,barres:[],midi:[-1,49,56,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:9,barres:[],midi:[49,56,61,-1,-1,-1]}]},{key:"C#",suffix:"6",positions:[{frets:[-1,4,3,3,2,-1],fingers:[0,4,2,3,1,0],baseFret:1,barres:[],midi:[-1,49,53,58,61,-1]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,3],barres:[3],baseFret:4,midi:[-1,49,56,61,65,70]},{frets:[4,3,3,1,1,1],fingers:[4,2,3,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[49,53,58,61,65,70]},{frets:[1,-1,3,2,3,1],fingers:[1,0,3,2,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,-1,61,65,70,73]}]},{key:"C#",suffix:"69",positions:[{frets:[-1,4,1,3,2,1],fingers:[0,4,1,3,2,1],barres:[1],capo:!0,baseFret:1,midi:[-1,49,51,58,61,65]},{frets:[-1,4,3,3,4,4],fingers:[0,2,1,1,3,4],barres:[3],capo:!0,baseFret:1,midi:[-1,49,53,58,63,68]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:8,midi:[49,53,58,63,68,73]},{frets:[-1,-1,2,1,2,2],fingers:[0,0,2,1,3,4],baseFret:10,barres:[],midi:[-1,-1,61,65,70,75]}]},{key:"C#",suffix:"7",positions:[{frets:[-1,4,3,4,2,-1],fingers:[0,3,2,4,1,0],baseFret:1,barres:[],midi:[-1,49,53,59,61,-1]},{frets:[-1,1,3,1,3,1],fingers:[0,1,3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,49,56,59,65,68]},{frets:[4,3,1,1,1,2],fingers:[4,3,1,1,1,2],barres:[1],capo:!0,baseFret:6,midi:[49,53,56,61,65,71]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,65,68,73]}]},{key:"C#",suffix:"7b5",positions:[{frets:[-1,4,3,0,0,1],fingers:[0,4,3,0,0,1],baseFret:1,barres:[],midi:[-1,49,53,55,59,65]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:4,midi:[-1,49,55,59,65,-1]},{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:8,barres:[],midi:[49,-1,59,65,67,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:12,barres:[],midi:[-1,-1,62,68,72,78]}]},{key:"C#",suffix:"aug7",positions:[{frets:[-1,4,3,2,0,1],fingers:[0,4,3,2,0,1],baseFret:1,barres:[],midi:[-1,49,53,57,59,65]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:4,midi:[-1,49,57,59,65,69]},{frets:[3,2,1,-1,0,1],fingers:[4,3,1,0,0,2],baseFret:7,barres:[],midi:[49,53,57,-1,59,71]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:9,barres:[],midi:[49,-1,59,65,69,-1]}]},{key:"C#",suffix:"9",positions:[{frets:[4,4,3,4,4,4],fingers:[2,2,1,3,3,4],barres:[4],baseFret:1,midi:[44,49,53,59,63,68]},{frets:[2,1,2,1,-1,-1],fingers:[3,1,4,2,0,0],baseFret:8,barres:[],midi:[49,53,59,63,-1,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,65,68,75]},{frets:[-1,-1,2,1,3,2],fingers:[0,0,2,1,4,3],baseFret:10,barres:[],midi:[-1,-1,61,65,71,75]}]},{key:"C#",suffix:"9b5",positions:[{frets:[-1,4,3,4,4,3],fingers:[0,2,1,3,4,1],barres:[3],capo:!0,baseFret:1,midi:[-1,49,53,59,63,67]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[49,53,59,63,67,73]},{frets:[1,2,-1,2,0,3],fingers:[1,2,0,3,0,4],baseFret:9,barres:[],midi:[49,55,-1,65,59,75]}]},{key:"C#",suffix:"aug9",positions:[{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:3,midi:[-1,49,53,59,63,69]},{frets:[3,2,1,2,0,-1],fingers:[4,2,1,3,0,0],baseFret:7,barres:[],midi:[49,53,57,63,59,-1]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:8,midi:[49,53,59,63,69,-1]},{frets:[1,4,1,2,0,3],fingers:[1,4,1,2,0,3],barres:[1],capo:!0,baseFret:9,midi:[49,57,59,65,59,75]}]},{key:"C#",suffix:"7b9",positions:[{frets:[-1,4,3,4,3,4],fingers:[0,2,1,3,1,4],barres:[3],capo:!0,baseFret:1,midi:[-1,49,53,59,62,68]},{frets:[-1,1,0,1,3,4],fingers:[0,1,0,2,3,4],baseFret:4,barres:[],midi:[-1,49,50,59,65,71]},{frets:[3,2,3,1,0,-1],fingers:[3,2,4,1,0,0],baseFret:7,barres:[],midi:[49,53,59,62,59,-1]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:9,barres:[],midi:[-1,-1,59,65,68,74]}]},{key:"C#",suffix:"7#9",positions:[{frets:[-1,4,3,4,2,0],fingers:[0,3,2,4,1,0],baseFret:1,barres:[],midi:[-1,49,53,59,61,64]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:3,barres:[],midi:[-1,49,53,59,64,-1]},{frets:[-1,1,2,2,2,2],fingers:[0,1,2,2,3,4],barres:[2],baseFret:8,midi:[-1,53,59,64,68,73]},{frets:[1,3,1,2,1,4],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,65,68,76]}]},{key:"C#",suffix:"11",positions:[{frets:[-1,4,3,0,0,4],fingers:[0,2,1,0,0,3],baseFret:1,barres:[],midi:[-1,49,53,55,59,68]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:4,midi:[-1,49,55,59,65,68]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[49,53,59,63,67,73]},{frets:[1,2,1,2,1,1],fingers:[1,2,1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,55,59,65,68,73]}]},{key:"C#",suffix:"9#11",positions:[{frets:[-1,3,2,0,0,3],fingers:[0,2,1,0,0,3],baseFret:1,barres:[],midi:[-1,48,52,55,59,67]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:4,midi:[-1,49,55,59,65,68]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[49,53,59,63,67,73]},{frets:[1,2,1,2,1,1],fingers:[1,2,1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,55,59,65,68,73]}]},{key:"C#",suffix:"13",positions:[{frets:[-1,4,3,3,0,2],fingers:[0,4,2,3,0,1],baseFret:1,barres:[],midi:[-1,49,53,58,59,66]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,59,65,70]},{frets:[3,2,2,2,3,1],fingers:[3,2,2,2,4,1],barres:[2],baseFret:7,midi:[49,53,58,63,68,71]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,65,70,75]}]},{key:"C#",suffix:"maj7",positions:[{frets:[-1,4,3,1,1,1],fingers:[0,4,3,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,49,53,56,60,65]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,60,65,68]},{frets:[-1,-1,-1,1,1,3],fingers:[0,0,0,1,1,3],barres:[1],baseFret:6,midi:[-1,-1,-1,61,65,72]},{frets:[1,-1,2,2,1,-1],fingers:[1,0,3,4,2,0],baseFret:9,barres:[],midi:[49,-1,60,65,68,-1]}]},{key:"C#",suffix:"maj7b5",positions:[{frets:[-1,2,1,3,4,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,49,53,60,65,67]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:4,barres:[],midi:[-1,49,55,60,65,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[49,53,60,65,67,72]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:11,barres:[],midi:[-1,-1,61,67,72,77]}]},{key:"C#",suffix:"maj7#5",positions:[{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,49,53,57,60,65]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:4,barres:[],midi:[-1,49,57,60,65,-1]},{frets:[-1,-1,4,3,3,1],fingers:[0,0,4,2,3,1],baseFret:8,barres:[],midi:[-1,-1,61,65,69,72]},{frets:[-1,-1,1,4,3,3],fingers:[0,0,1,4,2,3],baseFret:11,barres:[],midi:[-1,-1,61,69,72,77]}]},{key:"C#",suffix:"maj9",positions:[{frets:[-1,4,1,1,1,1],fingers:[0,4,1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,49,51,56,60,65]},{frets:[-1,2,1,3,2,-1],fingers:[0,2,1,4,3,0],baseFret:3,barres:[],midi:[-1,49,53,60,63,-1]},{frets:[2,1,3,1,2,1],fingers:[2,1,4,1,3,1],barres:[1],capo:!0,baseFret:8,midi:[49,53,60,63,68,72]},{frets:[-1,-1,2,1,4,2],fingers:[0,0,2,1,4,3],baseFret:10,barres:[],midi:[-1,-1,61,65,72,75]}]},{key:"C#",suffix:"maj11",positions:[{frets:[-1,3,2,4,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:2,midi:[-1,49,53,60,61,66]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,60,65,68]},{frets:[3,2,-1,-1,1,2],fingers:[4,2,0,0,1,3],baseFret:7,barres:[],midi:[49,53,-1,-1,66,72]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,60,65,68,73]}]},{key:"C#",suffix:"maj13",positions:[{frets:[-1,4,1,3,1,1],fingers:[0,4,2,3,0,1],baseFret:1,barres:[],midi:[-1,49,51,58,60,65]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,60,65,70]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:8,midi:[49,53,58,63,68,72]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,60,65,70,73]}]},{key:"C#",suffix:"m6",positions:[{frets:[-1,4,2,3,2,4],fingers:[0,3,1,2,1,4],barres:[2],capo:!0,baseFret:1,midi:[-1,49,52,58,61,68]},{frets:[-1,-1,2,2,1,2],fingers:[0,0,2,3,1,4],baseFret:5,barres:[],midi:[-1,-1,56,61,64,70]},{frets:[2,-1,1,2,2,-1],fingers:[2,0,1,3,4,0],baseFret:8,barres:[],midi:[49,-1,58,64,68,-1]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,61,64,70,73]}]},{key:"C#",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:9,barres:[],midi:[49,-1,59,64,68,-1]},{frets:[-1,1,3,1,2,1],fingers:[0,1,3,1,2,1],barres:[1],capo:!0,baseFret:4,midi:[-1,49,56,59,64,68]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:5,barres:[],midi:[-1,-1,56,61,64,71]},{frets:[1,3,1,1,1,1],fingers:[1,4,1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,64,68,73]},{frets:[-1,-1,1,3,2,2],fingers:[0,0,1,4,2,3],baseFret:11,barres:[],midi:[-1,-1,61,68,71,76]}]},{key:"C#",suffix:"m7b5",positions:[{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:4,barres:[],midi:[-1,49,55,59,64,-1]},{frets:[-1,-1,1,2,1,3],fingers:[0,0,1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,55,61,64,71]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:8,barres:[],midi:[49,-1,59,64,67,-1]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:11,midi:[-1,-1,61,67,71,76]}]},{key:"C#",suffix:"m9",positions:[{frets:[-1,4,2,4,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:1,midi:[-1,49,52,59,63,68]},{frets:[-1,2,2,2,1,3],fingers:[0,2,2,3,1,4],barres:[2],baseFret:5,midi:[-1,51,56,61,64,71]},{frets:[-1,1,3,2,3,3],fingers:[0,1,3,2,4,4],barres:[3],baseFret:7,midi:[-1,52,59,63,68,73]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,64,68,75]}]},{key:"C#",suffix:"m69",positions:[{frets:[-1,4,1,3,2,0],fingers:[0,4,1,3,2,0],baseFret:1,barres:[],midi:[-1,49,51,58,61,64]},{frets:[-1,4,2,3,4,-1],fingers:[0,3,1,2,4,0],baseFret:1,barres:[],midi:[-1,49,52,58,63,-1]},{frets:[3,1,2,2,-1,0],fingers:[4,1,2,3,0,0],baseFret:7,barres:[],midi:[49,52,58,63,-1,64]},{frets:[-1,3,3,1,3,3],fingers:[0,2,2,1,3,4],barres:[3],baseFret:9,midi:[-1,56,61,64,70,75]}]},{key:"C#",suffix:"m11",positions:[{frets:[-1,4,2,4,2,2],fingers:[0,2,1,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[-1,49,52,59,61,66]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[49,52,59,63,66,71]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,64,68,75]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],baseFret:11,midi:[-1,-1,61,66,71,76]}]},{key:"C#",suffix:"mmaj7",positions:[{frets:[-1,4,2,1,1,-1],fingers:[0,4,2,1,1,0],barres:[1],baseFret:1,midi:[-1,49,52,56,60,-1]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,60,64,68]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,60,64,68,73]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:11,midi:[-1,56,61,68,72,76]}]},{key:"C#",suffix:"mmaj7b5",positions:[{frets:[-1,4,2,0,1,0],fingers:[0,4,2,0,1,0],baseFret:1,barres:[],midi:[-1,49,52,55,60,64]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:4,barres:[],midi:[-1,49,55,60,64,-1]},{frets:[1,2,2,1,-1,1],fingers:[1,2,2,1,0,1],barres:[1],capo:!0,baseFret:9,midi:[49,55,60,64,-1,73]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:11,barres:[],midi:[-1,-1,61,67,72,76]}]},{key:"C#",suffix:"mmaj9",positions:[{frets:[-1,4,1,1,1,0],fingers:[0,4,1,1,1,0],barres:[1],capo:!0,baseFret:1,midi:[-1,49,51,56,60,64]},{frets:[-1,3,1,4,3,0],fingers:[0,2,1,4,3,0],baseFret:2,barres:[],midi:[-1,49,52,60,63,64]},{frets:[1,1,3,2,1,0],fingers:[1,1,4,3,2,0],barres:[1],baseFret:4,midi:[44,49,56,60,63,64]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,56,60,64,68,75]}]},{key:"C#",suffix:"mmaj11",positions:[{frets:[-1,3,1,4,3,1],fingers:[0,3,1,4,3,1],barres:[1],capo:!0,baseFret:2,midi:[-1,49,52,60,63,66]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,60,64,68]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,54,60,64,68,75]},{frets:[-1,-1,1,1,3,2],fingers:[0,0,1,1,3,2],barres:[1],capo:!0,baseFret:11,midi:[-1,-1,61,66,72,76]}]},{key:"C#",suffix:"add9",positions:[{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,49,53,56,63,65]},{frets:[-1,4,3,-1,4,4],fingers:[0,2,1,0,3,4],baseFret:1,barres:[],midi:[-1,49,53,-1,63,68]},{frets:[2,1,-1,1,2,-1],fingers:[3,1,0,2,4,0],baseFret:8,barres:[],midi:[49,53,-1,63,68,-1]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:9,barres:[],midi:[-1,-1,61,65,68,75]}]},{key:"C#",suffix:"madd9",positions:[{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:1,barres:[],midi:[-1,49,52,56,63,-1]},{frets:[-1,1,3,3,1,0],fingers:[0,1,3,4,2,0],baseFret:4,barres:[],midi:[-1,49,56,61,63,64]},{frets:[3,1,-1,2,3,0],fingers:[3,1,0,2,4,0],baseFret:7,barres:[],midi:[49,52,-1,63,68,64]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,61,64,68,75]}]}],D:[{key:"D",suffix:"major",positions:[{frets:[-1,-1,0,2,3,2],fingers:[0,0,0,1,3,2],baseFret:1,barres:[],midi:[-1,-1,50,57,62,66]},{frets:[-1,4,3,1,2,1],fingers:[0,4,3,1,2,1],barres:[1],capo:!0,baseFret:2,midi:[-1,50,54,57,62,66]},{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,50,57,62,66,69]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,62,66,69,74]}]},{key:"D",suffix:"minor",positions:[{frets:[-1,-1,0,2,3,1],fingers:[0,0,0,2,3,1],baseFret:1,barres:[],midi:[-1,-1,50,57,62,65]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,62,65,69]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:6,barres:[],midi:[-1,53,57,62,65,-1]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,62,65,69,74]}]},{key:"D",suffix:"dim",positions:[{frets:[-1,-1,0,1,-1,1],fingers:[0,0,0,1,0,2],baseFret:1,barres:[],midi:[-1,-1,50,56,-1,65]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:3,barres:[],midi:[-1,50,53,-1,62,68]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:5,barres:[],midi:[-1,50,56,62,65,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:8,barres:[],midi:[50,53,-1,65,68,-1]}]},{key:"D",suffix:"dim7",positions:[{frets:[-1,-1,0,1,0,1],fingers:[0,0,0,2,0,3],baseFret:1,barres:[],midi:[-1,-1,50,56,59,65]},{frets:[-1,2,3,1,3,1],fingers:[0,2,3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,50,56,59,65,68]},{frets:[-1,2,0,4,3,1],fingers:[0,2,0,4,3,1],baseFret:7,barres:[],midi:[-1,53,50,65,68,71]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[50,56,62,65,71,74]}]},{key:"D",suffix:"sus2",positions:[{frets:[-1,-1,0,2,3,0],fingers:[0,0,0,2,3,0],baseFret:1,barres:[],midi:[-1,-1,50,57,62,64]},{frets:[-1,-1,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],baseFret:2,midi:[-1,-1,52,57,62,69]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,62,64,69]},{frets:[-1,1,1,1,4,4],fingers:[0,1,1,1,4,4],barres:[1,4],capo:!0,baseFret:7,midi:[-1,52,57,62,69,74]}]},{key:"D",suffix:"sus4",positions:[{frets:[-1,-1,0,2,3,3],fingers:[0,0,0,1,2,3],baseFret:1,barres:[],midi:[-1,-1,50,57,62,67]},{frets:[-1,3,0,0,1,3],fingers:[0,3,0,0,1,4],baseFret:3,barres:[],midi:[-1,50,50,55,62,69]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,62,67,69]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,62,67,69,74]}]},{key:"D",suffix:"sus2sus4",positions:[{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,64,69]},{frets:[-1,4,1,1,2,2],fingers:[0,4,1,1,2,2],barres:[1,2],baseFret:2,midi:[-1,50,52,57,62,67]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,67,69,76]}]},{key:"D",suffix:"7sus4",positions:[{frets:[-1,-1,0,2,1,3],fingers:[0,0,0,2,1,4],baseFret:1,barres:[],midi:[-1,-1,50,57,60,67]},{frets:[-1,3,3,3,1,-1],fingers:[0,2,3,4,1,0],baseFret:3,barres:[],midi:[-1,50,55,60,62,-1]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,60,67,69]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,67,69,74]}]},{key:"D",suffix:"alt",positions:[{frets:[-1,-1,0,1,3,2],fingers:[0,0,0,1,3,2],baseFret:1,barres:[],midi:[-1,-1,50,56,62,66]},{frets:[-1,3,2,-1,1,2],fingers:[0,4,2,0,1,3],baseFret:3,barres:[],midi:[-1,50,54,-1,62,68]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:5,barres:[],midi:[-1,50,56,62,66,-1]},{frets:[-1,3,0,3,1,2],fingers:[0,3,0,4,1,2],baseFret:9,barres:[],midi:[-1,56,50,66,68,74]}]},{key:"D",suffix:"aug",positions:[{frets:[-1,-1,0,3,3,2],fingers:[0,0,0,2,3,1],baseFret:1,barres:[],midi:[-1,-1,50,58,62,66]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],baseFret:3,midi:[-1,50,54,58,62,-1]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],baseFret:7,midi:[50,54,58,62,66,-1]},{frets:[1,-1,3,2,2,-1],fingers:[1,0,4,2,3,0],baseFret:10,barres:[],midi:[50,-1,62,66,70,-1]}]},{key:"D",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:10,barres:[],midi:[50,57,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:5,barres:[],midi:[-1,50,57,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:10,barres:[],midi:[50,57,62,-1,-1,-1]}]},{key:"D",suffix:"6",positions:[{frets:[-1,-1,0,2,0,2],fingers:[0,0,0,2,0,3],baseFret:1,barres:[],midi:[-1,-1,50,57,59,66]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:3,barres:[],midi:[-1,50,54,59,62,-1]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,4],barres:[3],baseFret:5,midi:[-1,50,57,62,66,71]},{frets:[1,3,1,1,4,1],fingers:[1,3,1,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,62,69,71]}]},{key:"D",suffix:"69",positions:[{frets:[-1,4,3,1,0,0],fingers:[0,4,3,1,0,0],baseFret:2,barres:[],midi:[-1,50,54,57,59,64]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],baseFret:4,midi:[-1,50,54,59,64,69]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:9,midi:[50,54,59,64,69,74]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],baseFret:11,midi:[-1,57,62,66,71,76]}]},{key:"D",suffix:"7",positions:[{frets:[-1,-1,0,2,1,2],fingers:[0,0,0,2,1,3],baseFret:1,barres:[],midi:[-1,-1,50,57,60,66]},{frets:[-1,3,2,3,1,-1],fingers:[0,3,2,4,1,0],baseFret:3,barres:[],midi:[-1,50,54,60,62,-1]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,60,66,69]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,66,69,74]}]},{key:"D",suffix:"7b5",positions:[{frets:[-1,-1,0,1,1,2],fingers:[0,0,0,1,1,2],barres:[1],baseFret:1,midi:[-1,-1,50,56,60,66]},{frets:[-1,-1,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:3,barres:[],midi:[-1,-1,54,60,62,68]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],baseFret:5,midi:[-1,50,56,60,66,-1]},{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:9,barres:[],midi:[50,-1,60,66,68,-1]}]},{key:"D",suffix:"aug7",positions:[{frets:[-1,-1,0,3,1,2],fingers:[0,0,0,4,1,2],baseFret:1,barres:[],midi:[-1,-1,50,58,60,66]},{frets:[-1,2,1,2,-1,3],fingers:[0,2,1,3,0,4],baseFret:4,barres:[],midi:[-1,50,54,60,-1,70]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:5,midi:[-1,50,58,60,66,70]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:10,barres:[],midi:[50,-1,60,66,70,-1]}]},{key:"D",suffix:"9",positions:[{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:4,midi:[45,50,54,60,64,69]},{frets:[-1,1,0,1,1,2],fingers:[0,1,0,2,3,4],baseFret:7,barres:[],midi:[-1,52,50,62,66,72]},{frets:[2,1,2,1,2,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:9,midi:[50,54,60,64,69,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,66,69,76]}]},{key:"D",suffix:"9b5",positions:[{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,50,54,60,64,68]},{frets:[-1,1,2,1,3,0],fingers:[0,1,3,2,4,0],baseFret:5,barres:[],midi:[-1,50,56,60,66,64]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[50,54,60,64,68,74]},{frets:[1,2,1,2,-1,3],fingers:[1,2,1,3,0,4],barres:[1],baseFret:10,midi:[50,56,60,66,-1,76]}]},{key:"D",suffix:"aug9",positions:[{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:4,midi:[-1,50,54,60,64,70]},{frets:[-1,3,0,1,3,2],fingers:[0,3,0,1,4,2],baseFret:5,barres:[],midi:[-1,52,50,60,66,70]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:9,midi:[50,54,60,64,70,-1]},{frets:[1,-1,1,2,2,0],fingers:[1,0,2,3,4,0],baseFret:10,barres:[],midi:[50,-1,60,66,70,64]}]},{key:"D",suffix:"7b9",positions:[{frets:[-1,-1,0,4,3,1],fingers:[0,0,0,4,3,1],baseFret:2,barres:[],midi:[-1,-1,50,60,63,66]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,50,54,60,63,69]},{frets:[-1,2,0,1,3,1],fingers:[0,2,0,1,4,1],barres:[1],baseFret:5,midi:[-1,51,50,60,66,69]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:8,barres:[],midi:[50,54,60,63,-1,-1]}]},{key:"D",suffix:"7#9",positions:[{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:4,barres:[],midi:[-1,50,54,60,65,-1]},{frets:[0,0,0,4,1,2],fingers:[0,0,0,4,1,2],baseFret:7,barres:[],midi:[40,45,50,65,66,72]},{frets:[-1,2,1,1,1,2],fingers:[0,2,1,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[-1,53,57,62,66,72]},{frets:[1,3,1,2,1,4],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,66,69,77]}]},{key:"D",suffix:"11",positions:[{frets:[-1,-1,0,0,1,2],fingers:[0,0,0,0,1,2],baseFret:1,barres:[],midi:[-1,-1,50,55,60,66]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[-1,50,54,60,62,67]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,60,66,69]},{frets:[-1,3,1,1,2,2],fingers:[1,1,1,2,1,1],barres:[2],capo:!0,baseFret:7,midi:[-1,54,57,62,67,72]}]},{key:"D",suffix:"9#11",positions:[{frets:[-1,-1,0,1,1,2],fingers:[0,0,0,1,2,3],baseFret:1,barres:[],midi:[-1,-1,50,56,60,66]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,50,54,60,64,68]},{frets:[-1,3,0,1,3,2],fingers:[0,3,0,1,4,2],baseFret:7,barres:[],midi:[-1,54,50,62,68,72]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[50,54,60,64,68,74]}]},{key:"D",suffix:"13",positions:[{frets:[-1,-1,0,4,1,2],fingers:[0,0,0,4,1,2],baseFret:1,barres:[],midi:[-1,-1,50,59,60,66]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,60,66,71]},{frets:[3,2,0,2,0,1],fingers:[4,2,0,3,0,1],baseFret:8,barres:[],midi:[50,54,50,64,59,72]},{frets:[1,-1,1,2,3,-1],fingers:[1,0,2,3,4,0],baseFret:10,barres:[],midi:[50,-1,60,66,71,-1]}]},{key:"D",suffix:"maj7",positions:[{frets:[-1,-1,0,2,2,2],fingers:[0,0,0,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[-1,-1,50,57,61,66]},{frets:[-1,4,3,1,1,1],fingers:[0,4,3,1,1,1],barres:[1],capo:!0,baseFret:2,midi:[-1,50,54,57,61,66]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,61,66,69]},{frets:[-1,-1,1,1,1,3],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[-1,-1,57,62,66,73]}]},{key:"D",suffix:"maj7b5",positions:[{frets:[-1,-1,0,1,2,2],fingers:[0,0,0,1,2,3],baseFret:1,barres:[],midi:[-1,-1,50,56,61,66]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:5,barres:[],midi:[-1,50,56,61,66,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[50,54,61,66,68,73]},{frets:[1,2,2,2,-1,1],fingers:[1,2,3,4,0,1],barres:[1],capo:!0,baseFret:10,midi:[50,56,61,66,-1,74]}]},{key:"D",suffix:"maj7#5",positions:[{frets:[-1,-1,0,3,2,2],fingers:[0,0,0,4,2,3],baseFret:1,barres:[],midi:[-1,-1,50,58,61,66]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:2,midi:[42,50,54,58,61,66]},{frets:[-1,1,0,2,3,2],fingers:[0,1,0,2,4,3],baseFret:5,barres:[],midi:[-1,50,50,61,66,70]},{frets:[-1,-1,0,3,3,1],fingers:[0,0,0,2,3,1],baseFret:9,barres:[],midi:[-1,-1,50,66,70,73]}]},{key:"D",suffix:"maj9",positions:[{frets:[-1,4,1,1,1,1],fingers:[0,4,1,1,1,1],barres:[1],capo:!0,baseFret:2,midi:[-1,50,52,57,61,66]},{frets:[-1,2,1,3,1,-1],fingers:[0,2,1,4,3,0],baseFret:4,barres:[],midi:[-1,50,54,61,63,-1]},{frets:[-1,3,0,3,1,3],fingers:[0,2,0,3,1,4],baseFret:7,barres:[],midi:[-1,54,50,64,66,73]},{frets:[1,-1,2,2,1,3],fingers:[1,0,2,3,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,-1,61,66,69,76]}]},{key:"D",suffix:"maj11",positions:[{frets:[-1,-1,0,0,2,2],fingers:[0,0,0,0,1,1],barres:[2],baseFret:1,midi:[-1,-1,50,55,61,66]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,61,66,69]},{frets:[-1,3,0,1,2,3],fingers:[0,3,0,1,2,4],baseFret:7,barres:[],midi:[-1,54,50,62,67,73]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,61,66,69,74]}]},{key:"D",suffix:"maj13",positions:[{frets:[-1,-1,0,4,2,2],fingers:[0,0,0,3,1,1],barres:[2],baseFret:1,midi:[-1,-1,50,59,61,66]},{frets:[-1,4,3,3,1,0],fingers:[0,4,2,3,1,0],baseFret:2,barres:[],midi:[-1,50,54,59,61,64]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],baseFret:5,midi:[-1,50,55,61,66,71]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:9,midi:[50,54,59,64,69,73]}]},{key:"D",suffix:"m6",positions:[{frets:[-1,-1,0,2,0,1],fingers:[0,0,0,2,0,1],baseFret:1,barres:[],midi:[-1,-1,50,57,59,65]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:3,midi:[-1,50,53,59,62,69]},{frets:[-1,1,3,-1,2,3],fingers:[0,1,3,0,2,4],baseFret:5,barres:[],midi:[-1,50,57,-1,65,71]},{frets:[2,-1,1,2,2,2],fingers:[2,0,1,3,3,3],barres:[2],baseFret:9,midi:[50,-1,59,65,69,74]}]},{key:"D",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:10,barres:[],midi:[50,-1,60,65,69,-1]},{frets:[-1,-1,0,2,1,1],fingers:[0,0,0,3,1,2],baseFret:1,barres:[],midi:[-1,-1,50,57,60,65]},{frets:[-1,1,3,1,2,1],fingers:[0,1,3,1,2,1],barres:[1],baseFret:5,midi:[-1,50,57,60,65,69]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:6,barres:[],midi:[-1,-1,57,62,65,72]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,65,69,74]}]},{key:"D",suffix:"m7b5",positions:[{frets:[-1,-1,0,1,1,1],fingers:[0,0,0,1,1,1],barres:[1],baseFret:1,midi:[-1,-1,50,56,60,65]},{frets:[-1,3,1,3,1,2],fingers:[0,3,1,4,1,2],barres:[1],baseFret:3,midi:[-1,50,53,60,62,68]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:5,barres:[],midi:[-1,50,56,60,65,-1]},{frets:[-1,1,0,3,2,1],fingers:[0,1,0,4,3,2],baseFret:8,barres:[],midi:[-1,53,50,65,68,72]}]},{key:"D",suffix:"m9",positions:[{frets:[1,0,0,2,1,0],fingers:[1,0,0,3,2,0],baseFret:1,barres:[],midi:[41,45,50,57,60,64]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:3,midi:[-1,50,53,60,64,69]},{frets:[-1,1,3,1,2,0],fingers:[0,1,4,2,3,0],baseFret:5,barres:[],midi:[-1,50,57,60,65,64]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,65,69,76]}]},{key:"D",suffix:"m69",positions:[{frets:[-1,4,2,1,0,0],fingers:[0,4,2,1,0,0],baseFret:2,barres:[],midi:[-1,50,53,57,59,64]},{frets:[-1,3,1,2,3,0],fingers:[0,3,1,2,4,0],baseFret:3,barres:[],midi:[-1,50,53,59,64,64]},{frets:[-1,2,0,2,1,2],fingers:[0,2,0,3,1,4],baseFret:6,barres:[],midi:[-1,52,50,62,65,71]},{frets:[-1,3,3,1,3,3],fingers:[0,2,2,1,3,4],barres:[3],baseFret:10,midi:[-1,57,62,65,71,76]}]},{key:"D",suffix:"m11",positions:[{frets:[-1,-1,0,0,1,1],fingers:[0,0,0,0,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,50,55,60,65]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,50,53,60,64,67]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[50,53,60,64,67,72]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,55,60,65,69,76]}]},{key:"D",suffix:"mmaj7",positions:[{frets:[-1,-1,0,2,2,1],fingers:[0,0,0,2,3,1],baseFret:1,barres:[],midi:[-1,-1,50,57,61,65]},{frets:[-1,4,2,1,1,0],fingers:[0,4,2,1,1,0],barres:[1],baseFret:2,midi:[-1,50,53,57,61,64]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,61,65,69]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,61,65,69,74]}]},{key:"D",suffix:"mmaj7b5",positions:[{frets:[-1,-1,0,1,2,1],fingers:[0,0,0,1,3,2],baseFret:1,barres:[],midi:[-1,-1,50,56,61,65]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:4,midi:[44,50,56,61,65,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:5,barres:[],midi:[-1,50,56,61,65,-1]},{frets:[1,2,2,1,-1,1],fingers:[1,2,2,1,0,1],barres:[1],capo:!0,baseFret:10,midi:[50,56,61,65,-1,74]}]},{key:"D",suffix:"mmaj9",positions:[{frets:[-1,3,1,4,3,0],fingers:[0,2,1,4,3,0],baseFret:3,barres:[],midi:[-1,50,53,61,64,64]},{frets:[-1,3,0,2,2,1],fingers:[0,4,0,2,3,1],baseFret:5,barres:[],midi:[-1,52,50,61,65,69]},{frets:[-1,1,0,2,3,2],fingers:[0,1,0,2,4,3],baseFret:8,barres:[],midi:[-1,53,50,64,69,73]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,57,61,65,69,76]}]},{key:"D",suffix:"mmaj11",positions:[{frets:[-1,-1,0,0,2,1],fingers:[0,0,0,0,2,1],baseFret:1,barres:[],midi:[-1,-1,50,55,61,65]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:3,midi:[-1,50,53,61,64,67]},{frets:[1,1,1,3,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,62,66,69]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,55,61,65,69,76]}]},{key:"D",suffix:"add9",positions:[{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],baseFret:2,midi:[-1,50,54,57,64,66]},{frets:[-1,1,3,3,3,0],fingers:[0,1,2,3,4,0],baseFret:5,barres:[],midi:[-1,50,57,62,66,64]},{frets:[-1,-1,0,3,1,4],fingers:[0,0,0,3,1,4],baseFret:7,barres:[],midi:[-1,-1,50,64,66,74]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:10,barres:[],midi:[-1,-1,62,66,69,76]}]},{key:"D",suffix:"madd9",positions:[{frets:[-1,4,2,1,2,0],fingers:[0,4,2,1,3,0],baseFret:2,barres:[],midi:[-1,50,53,57,62,64]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:2,barres:[],midi:[-1,50,53,57,64,-1]},{frets:[-1,1,3,3,2,0],fingers:[0,1,3,4,2,0],baseFret:5,barres:[],midi:[-1,50,57,62,65,64]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,62,65,69,76]}]},{key:"D",suffix:"/F#",positions:[{frets:[2,0,0,2,3,2],fingers:[1,0,0,2,4,3],baseFret:1,barres:[],midi:[42,45,50,57,62,66]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],baseFret:2,midi:[42,50,54,57,62,66]},{frets:[-1,-1,3,1,2,4],fingers:[0,0,3,1,2,4],baseFret:2,barres:[],midi:[-1,-1,54,57,62,69]}]},{key:"D",suffix:"/A",positions:[{frets:[-1,0,0,2,3,2],fingers:[0,0,0,1,3,2],baseFret:1,barres:[],midi:[-1,45,50,57,62,66]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],baseFret:5,midi:[45,50,57,62,66,69]},{frets:[2,2,1,4,4,-1],fingers:[2,3,1,4,4,0],barres:[4],baseFret:4,midi:[45,50,54,62,66,-1]}]},{key:"D",suffix:"/Bb",positions:[{frets:[-1,1,0,2,3,2],fingers:[0,1,0,2,4,3],baseFret:1,barres:[],midi:[-1,46,50,57,62,66]},{frets:[-1,1,4,2,3,2],fingers:[0,1,4,2,3,2],barres:[2],baseFret:1,midi:[-1,46,54,57,62,66]},{frets:[2,1,3,3,3,-1],fingers:[2,1,3,3,3,0],barres:[3],baseFret:5,midi:[46,50,57,62,66,-1]}]},{key:"D",suffix:"/B",positions:[{frets:[-1,2,0,2,3,2],fingers:[0,1,0,2,4,3],baseFret:1,barres:[],midi:[-1,47,50,57,62,66]},{frets:[-1,2,4,2,3,2],fingers:[0,1,3,1,2,1],barres:[2],baseFret:1,midi:[-1,47,54,57,62,66]},{frets:[-1,1,3,1,2,4],fingers:[0,1,3,1,2,4],barres:[1],baseFret:2,midi:[-1,47,54,57,62,69]}]},{key:"D",suffix:"/C",positions:[{frets:[-1,3,0,2,3,2],fingers:[0,3,0,1,4,2],baseFret:1,barres:[],midi:[-1,48,50,57,62,66]},{frets:[-1,3,4,2,3,2],fingers:[0,2,4,1,3,1],barres:[2],baseFret:1,midi:[-1,48,54,57,62,66]},{frets:[4,1,3,3,3,-1],fingers:[4,1,3,3,3,0],barres:[3],baseFret:5,midi:[48,50,57,62,66,-1]}]}],"D#":[{key:"D#",suffix:"major",positions:[{frets:[-1,-1,1,3,4,3],fingers:[0,0,1,2,4,3],baseFret:1,barres:[],midi:[-1,-1,51,58,63,67]},{frets:[-1,4,3,1,2,1],fingers:[0,4,3,1,2,1],barres:[1],baseFret:3,midi:[-1,51,55,58,63,67]},{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,51,58,63,67,70]},{frets:[-1,-1,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,58,63,67,75]}]},{key:"D#",suffix:"minor",positions:[{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:1,barres:[],midi:[-1,-1,51,58,63,66]},{frets:[-1,-1,4,3,4,2],fingers:[0,0,3,2,4,1],baseFret:1,barres:[],midi:[-1,-1,54,58,63,66]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,63,66,70]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,63,66,70,75]}]},{key:"D#",suffix:"dim",positions:[{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:1,barres:[],midi:[-1,-1,51,57,-1,66]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:4,barres:[],midi:[-1,51,54,-1,63,69]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:6,barres:[],midi:[-1,51,57,63,66,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:9,barres:[],midi:[51,54,-1,66,69,-1]}]},{key:"D#",suffix:"dim7",positions:[{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,51,57,60,66]},{frets:[-1,2,3,1,3,1],fingers:[0,2,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,51,57,60,66,69]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:7,barres:[],midi:[-1,-1,57,63,66,72]},{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],baseFret:10,midi:[51,-1,60,66,69,-1]}]},{key:"D#",suffix:"sus2",positions:[{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[41,46,51,58,63,65]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,63,65,70]},{frets:[4,1,1,3,4,-1],fingers:[3,1,1,2,4,0],barres:[1],capo:!0,baseFret:8,midi:[51,53,58,65,70,-1]},{frets:[1,3,3,-1,1,3],fingers:[1,2,3,0,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,58,63,-1,70,77]}]},{key:"D#",suffix:"sus4",positions:[{frets:[-1,-1,1,3,4,4],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,51,58,63,68]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,63,68,70]},{frets:[-1,-1,1,1,2,-1],fingers:[0,0,1,1,2,0],barres:[1],baseFret:8,midi:[-1,-1,58,63,68,-1]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,63,68,70,75]}]},{key:"D#",suffix:"sus2sus4",positions:[{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,65,70]},{frets:[-1,4,1,1,2,2],fingers:[0,4,1,1,2,2],barres:[1,2],baseFret:3,midi:[-1,51,53,58,63,68]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,68,70,77]}]},{key:"D#",suffix:"7sus4",positions:[{frets:[-1,-1,1,3,2,4],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,51,58,61,68]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[-1,51,56,61,63,68]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,61,68,70]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,61,68,70,75]}]},{key:"D#",suffix:"alt",positions:[{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:1,barres:[],midi:[-1,-1,51,57,63,67]},{frets:[-1,3,2,0,1,2],fingers:[0,4,2,0,1,3],baseFret:4,barres:[],midi:[-1,51,55,55,63,69]},{frets:[-1,1,2,0,3,-1],fingers:[0,1,2,0,3,0],baseFret:6,barres:[],midi:[-1,51,57,55,67,-1]},{frets:[2,1,-1,3,1,2],fingers:[2,1,0,4,1,3],barres:[1],capo:!0,baseFret:10,midi:[51,55,-1,67,69,75]}]},{key:"D#",suffix:"aug",positions:[{frets:[-1,-1,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:3,barres:[],midi:[-1,-1,55,59,63,67]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:4,midi:[-1,51,55,59,63,-1]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:8,midi:[51,55,59,63,67,-1]},{frets:[1,-1,3,2,2,-1],fingers:[1,0,4,2,3,0],baseFret:11,barres:[],midi:[51,-1,63,67,71,-1]}]},{key:"D#",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:11,barres:[],midi:[51,58,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:6,barres:[],midi:[-1,51,58,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:11,barres:[],midi:[51,58,63,-1,-1,-1]}]},{key:"D#",suffix:"6",positions:[{frets:[-1,-1,1,3,1,3],fingers:[0,0,1,3,1,4],barres:[1],baseFret:1,midi:[-1,-1,51,58,60,67]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:4,barres:[],midi:[-1,51,55,60,63,-1]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,3],barres:[3],baseFret:6,midi:[-1,51,58,63,67,72]},{frets:[2,-1,1,3,2,-1],fingers:[2,0,1,4,3,0],baseFret:10,barres:[],midi:[51,-1,60,67,70,-1]}]},{key:"D#",suffix:"69",positions:[{frets:[-1,-1,1,0,1,1],fingers:[0,0,2,0,3,4],baseFret:1,barres:[],midi:[-1,-1,51,55,60,65]},{frets:[-1,3,3,3,4,3],fingers:[0,1,1,1,2,1],barres:[3],capo:!0,baseFret:1,midi:[-1,48,53,58,63,67]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:5,midi:[-1,51,55,60,65,70]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:10,midi:[51,55,60,65,70,75]}]},{key:"D#",suffix:"7",positions:[{frets:[-1,-1,1,3,2,3],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,51,58,61,67]},{frets:[-1,1,3,1,3,1],fingers:[0,1,3,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,51,58,61,67,70]},{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,58,63,67,73]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,61,67,70,75]}]},{key:"D#",suffix:"7b5",positions:[{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,51,57,61,67]},{frets:[-1,-1,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:4,barres:[],midi:[-1,-1,55,61,63,69]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:6,midi:[-1,51,57,61,67,70]},{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:10,barres:[],midi:[51,-1,61,67,69,-1]}]},{key:"D#",suffix:"aug7",positions:[{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:1,barres:[],midi:[-1,-1,51,59,61,67]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:6,midi:[-1,51,59,61,67,71]},{frets:[3,2,3,0,0,1],fingers:[3,2,4,0,0,1],baseFret:9,barres:[],midi:[51,55,61,55,59,73]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:11,barres:[],midi:[51,-1,61,67,71,-1]}]},{key:"D#",suffix:"9",positions:[{frets:[-1,-1,1,0,2,1],fingers:[0,0,1,0,3,2],baseFret:1,barres:[],midi:[-1,-1,51,55,61,65]},{frets:[-1,2,1,2,2,2],fingers:[0,2,1,3,3,4],barres:[2],baseFret:5,midi:[-1,51,55,61,65,70]},{frets:[2,1,2,1,-1,-1],fingers:[3,1,4,2,0,0],baseFret:10,barres:[],midi:[51,55,61,65,-1,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,58,61,67,70,77]}]},{key:"D#",suffix:"9b5",positions:[{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,51,55,61,65,69]},{frets:[-1,1,2,0,1,4],fingers:[0,1,3,0,2,4],baseFret:6,barres:[],midi:[-1,51,57,55,65,73]},{frets:[2,1,2,1,1,2],fingers:[1,2,0,3,0,4],barres:[1],capo:!0,baseFret:10,midi:[51,55,61,65,69,75]},{frets:[1,2,1,2,-1,3],fingers:[1,2,1,3,0,4],barres:[1],capo:!0,baseFret:11,midi:[51,57,61,67,-1,77]}]},{key:"D#",suffix:"aug9",positions:[{frets:[3,4,3,4,4,3],fingers:[1,2,1,3,4,1],barres:[3],capo:!0,baseFret:1,midi:[43,49,53,59,63,67]},{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:5,midi:[-1,51,55,61,65,71]},{frets:[3,2,-1,2,0,1],fingers:[4,2,0,3,0,1],baseFret:9,barres:[],midi:[51,55,-1,65,59,73]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],baseFret:10,midi:[51,55,61,65,71,-1]}]},{key:"D#",suffix:"7b9",positions:[{frets:[-1,-1,1,0,2,0],fingers:[0,0,2,0,4,0],baseFret:1,barres:[],midi:[-1,-1,51,55,61,64]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,51,55,61,64,70]},{frets:[-1,1,3,1,3,0],fingers:[0,1,3,1,4,0],barres:[1],baseFret:6,midi:[-1,51,58,61,67,64]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:9,barres:[],midi:[51,55,61,64,-1,-1]}]},{key:"D#",suffix:"7#9",positions:[{frets:[-1,-1,1,0,2,2],fingers:[0,0,2,0,3,4],baseFret:1,barres:[],midi:[-1,-1,51,55,61,66]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:5,barres:[],midi:[-1,51,55,61,66,-1]},{frets:[-1,2,1,1,1,2],fingers:[0,2,1,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,63,67,73]},{frets:[2,1,2,2,-1,-1],fingers:[2,1,3,4,0,0],baseFret:10,barres:[],midi:[51,55,61,66,-1,-1]}]},{key:"D#",suffix:"11",positions:[{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:1,midi:[41,46,51,56,61,67]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[-1,51,55,61,63,68]},{frets:[0,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:6,midi:[40,51,56,61,67,70]},{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,67,70,75]}]},{key:"D#",suffix:"9#11",positions:[{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,51,57,61,67]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,51,55,61,65,69]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:6,midi:[-1,51,57,61,67,-1]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[51,55,61,65,69,75]}]},{key:"D#",suffix:"13",positions:[{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:5,midi:[-1,51,55,61,67,72]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,61,67,72]},{frets:[3,2,2,0,1,1],fingers:[4,2,3,0,1,1],barres:[1],baseFret:9,midi:[51,55,60,55,68,73]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,67,72,77]}]},{key:"D#",suffix:"maj7",positions:[{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1,3],capo:!0,baseFret:1,midi:[-1,46,51,58,62,67]},{frets:[-1,4,3,1,1,1],fingers:[0,4,3,1,1,1],barres:[1],baseFret:3,midi:[-1,51,55,58,62,67]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,62,67,70]},{frets:[-1,-1,1,1,1,3],fingers:[0,0,1,1,1,4],barres:[1],baseFret:8,midi:[-1,-1,58,63,67,74]}]},{key:"D#",suffix:"maj7b5",positions:[{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,51,57,62,67]},{frets:[-1,1,2,2,3,1],fingers:[0,1,2,2,4,0],barres:[1],capo:!0,baseFret:6,midi:[-1,51,57,62,67,70]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[51,55,62,67,69,74]},{frets:[1,2,2,2,-1,1],fingers:[1,2,2,2,0,1],barres:[1,2],capo:!0,baseFret:11,midi:[51,57,62,67,-1,75]}]},{key:"D#",suffix:"maj7#5",positions:[{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],baseFret:3,midi:[43,51,55,59,62,67]},{frets:[-1,2,1,3,-1,3],fingers:[0,2,1,3,0,4],baseFret:5,barres:[],midi:[-1,51,55,62,-1,71]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:6,barres:[],midi:[-1,51,59,62,67,-1]},{frets:[1,-1,2,2,2,1],fingers:[1,0,2,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,-1,62,67,71,75]}]},{key:"D#",suffix:"maj9",positions:[{frets:[-1,4,1,1,1,1],fingers:[0,4,1,1,1,1],barres:[1],baseFret:3,midi:[-1,51,53,58,62,67]},{frets:[-1,2,1,3,2,-1],fingers:[0,2,1,4,3,0],baseFret:5,barres:[],midi:[-1,51,55,62,65,-1]},{frets:[-1,1,1,1,1,3],fingers:[0,1,1,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,63,67,74]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:11,barres:[],midi:[-1,-1,62,67,70,77]}]},{key:"D#",suffix:"maj11",positions:[{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],baseFret:1,midi:[-1,-1,51,56,62,67]},{frets:[-1,3,2,4,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[-1,51,55,62,63,68]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,62,67,70]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,62,67,70,75]}]},{key:"D#",suffix:"maj13",positions:[{frets:[-1,3,1,0,3,-1],fingers:[0,3,1,0,4,0],baseFret:1,barres:[],midi:[-1,48,51,55,62,-1]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],baseFret:3,midi:[-1,51,55,60,62,67]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,62,67,72]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:10,midi:[51,55,60,65,70,74]}]},{key:"D#",suffix:"m6",positions:[{frets:[-1,1,1,3,1,2],fingers:[0,1,1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,58,60,66]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,51,54,60,63,70]},{frets:[-1,-1,2,2,1,2],fingers:[0,0,2,3,1,4],baseFret:7,barres:[],midi:[-1,-1,58,63,66,72]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,63,66,72,75]}]},{key:"D#",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:11,barres:[],midi:[51,-1,61,66,70,-1]},{frets:[-1,-1,1,3,2,2],fingers:[0,0,1,4,2,3],baseFret:1,barres:[],midi:[-1,-1,51,58,61,66]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,61,66,70]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:7,barres:[],midi:[-1,-1,58,63,66,73]},{frets:[1,3,1,1,1,1],fingers:[1,4,1,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,61,66,70,75]}]},{key:"D#",suffix:"m7b5",positions:[{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:1,midi:[-1,-1,51,57,61,66]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:6,barres:[],midi:[-1,51,57,61,66,-1]},{frets:[-1,-1,1,2,1,3],fingers:[0,0,1,2,1,4],barres:[1],baseFret:7,midi:[-1,-1,57,63,66,73]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:10,barres:[],midi:[51,-1,61,66,69,-1]}]},{key:"D#",suffix:"m9",positions:[{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:4,midi:[-1,51,54,61,65,70]},{frets:[-1,-1,2,4,1,3],fingers:[0,0,2,4,1,3],baseFret:7,barres:[],midi:[-1,-1,58,65,66,73]},{frets:[-1,1,3,2,3,3],fingers:[0,1,3,2,4,4],barres:[3],baseFret:9,midi:[-1,54,61,65,70,75]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,58,61,66,70,77]}]},{key:"D#",suffix:"m69",positions:[{frets:[2,-1,1,3,1,1],fingers:[2,0,1,3,1,1],barres:[1],baseFret:1,midi:[42,-1,51,58,60,65]},{frets:[-1,3,1,2,3,-1],fingers:[0,3,1,2,4,0],baseFret:4,barres:[],midi:[-1,51,54,60,65,-1]},{frets:[3,1,2,2,1,1],fingers:[4,1,2,3,0,0],barres:[1],capo:!0,baseFret:9,midi:[51,54,60,65,68,73]},{frets:[-1,-1,3,1,3,3],fingers:[0,0,2,1,3,4],baseFret:11,barres:[],midi:[-1,-1,63,66,72,77]}]},{key:"D#",suffix:"m11",positions:[{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,51,56,61,66]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,51,54,61,65,68]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[51,54,61,65,68,73]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,66,70,77]}]},{key:"D#",suffix:"mmaj7",positions:[{frets:[-1,-1,1,3,3,2],fingers:[0,0,1,3,4,2],baseFret:1,barres:[],midi:[-1,-1,51,58,62,66]},{frets:[-1,4,2,1,1,-1],fingers:[0,4,3,1,2,0],baseFret:3,barres:[],midi:[-1,51,54,58,62,-1]},{frets:[-1,1,3,2,2,1],fingers:[0,1,4,2,3,1],barres:[1],capo:!0,baseFret:6,midi:[-1,51,58,62,66,70]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,62,66,70,75]}]},{key:"D#",suffix:"mmaj7b5",positions:[{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:1,barres:[],midi:[-1,-1,51,57,62,66]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:5,midi:[45,51,57,62,66,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:6,barres:[],midi:[-1,51,57,62,66,-1]},{frets:[1,2,2,1,-1,1],fingers:[1,2,2,1,0,1],barres:[1,2],capo:!0,baseFret:11,midi:[51,57,62,66,-1,75]}]},{key:"D#",suffix:"mmaj9",positions:[{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:4,barres:[],midi:[-1,51,54,62,65,-1]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,54,58,62,65,70]},{frets:[3,1,4,2,-1,-1],fingers:[3,1,4,2,0,0],baseFret:9,barres:[],midi:[51,54,62,65,-1,-1]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,58,62,66,70,77]}]},{key:"D#",suffix:"mmaj11",positions:[{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,56,62,66]},{frets:[-1,3,1,4,3,1],fingers:[0,3,1,4,3,1],barres:[1],capo:!0,baseFret:4,midi:[-1,51,54,62,65,68]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,62,66,70]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,56,62,66,70,77]}]},{key:"D#",suffix:"add9",positions:[{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,51,55,58,65,67]},{frets:[-1,2,1,0,2,2],fingers:[0,2,1,0,3,4],baseFret:5,barres:[],midi:[-1,51,55,55,65,70]},{frets:[2,1,-1,1,2,-1],fingers:[3,1,0,2,4,0],baseFret:10,barres:[],midi:[51,55,-1,65,70,-1]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:11,barres:[],midi:[-1,-1,63,67,70,77]}]},{key:"D#",suffix:"madd9",positions:[{frets:[-1,-1,4,3,4,1],fingers:[0,0,3,2,4,1],baseFret:1,barres:[],midi:[-1,-1,54,58,63,65]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:3,barres:[],midi:[-1,51,54,58,65,-1]},{frets:[-1,3,1,-1,3,3],fingers:[0,2,1,0,3,4],baseFret:4,barres:[],midi:[-1,51,54,-1,65,70]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[-1,-1,63,66,70,77]}]}],E:[{key:"E",suffix:"major",positions:[{frets:[0,2,2,1,0,0],fingers:[0,2,3,1,0,0],baseFret:1,barres:[],midi:[40,47,52,56,59,64]},{frets:[-1,-1,1,3,4,3],fingers:[0,0,1,2,4,3],baseFret:2,barres:[],midi:[-1,-1,52,59,64,68]},{frets:[-1,4,3,1,2,1],fingers:[0,4,3,1,2,1],barres:[1],capo:!0,baseFret:4,midi:[-1,52,56,59,64,68]},{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[-1,52,59,64,68,71]}]},{key:"E",suffix:"minor",positions:[{frets:[0,2,2,0,0,0],fingers:[0,2,3,0,0,0],baseFret:1,barres:[],midi:[40,47,52,55,59,64]},{frets:[0,1,1,3,4,2],fingers:[0,1,1,3,4,2],barres:[1],baseFret:2,midi:[40,47,52,59,64,67]},{frets:[-1,1,3,3,2,1],fingers:[0,1,3,4,2,1],barres:[1],capo:!0,baseFret:7,midi:[-1,52,59,64,67,71]},{frets:[4,2,1,1,-1,-1],fingers:[4,3,1,2,0,0],baseFret:9,barres:[],midi:[52,55,59,64,-1,-1]}]},{key:"E",suffix:"dim",positions:[{frets:[-1,-1,2,3,-1,3],fingers:[0,0,1,2,0,3],baseFret:1,barres:[],midi:[-1,-1,52,58,-1,67]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:5,barres:[],midi:[-1,52,55,-1,64,70]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:7,barres:[],midi:[-1,52,58,64,67,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:10,barres:[],midi:[52,55,-1,67,70,-1]}]},{key:"E",suffix:"dim7",positions:[{frets:[0,1,2,0,2,0],fingers:[0,1,2,0,3,0],baseFret:1,barres:[],midi:[40,46,52,55,61,64]},{frets:[-1,-1,2,3,2,3],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,52,58,61,67]},{frets:[-1,2,3,1,3,-1],fingers:[0,2,3,1,4,0],baseFret:6,barres:[],midi:[-1,52,58,61,67,-1]},{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],capo:!0,baseFret:11,midi:[52,-1,61,67,70,-1]}]},{key:"E",suffix:"sus2",positions:[{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:2,midi:[42,47,52,59,64,66]},{frets:[0,1,3,3,1,1],fingers:[0,1,3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[40,52,59,64,66,71]},{frets:[0,1,1,1,0,0],fingers:[0,1,2,3,0,0],baseFret:9,barres:[],midi:[40,54,59,64,59,64]},{frets:[1,3,3,-1,1,3],fingers:[1,3,4,0,1,4],barres:[1],capo:!0,baseFret:12,midi:[52,59,64,-1,71,78]}]},{key:"E",suffix:"sus4",positions:[{frets:[0,2,2,2,0,0],fingers:[0,2,3,4,0,0],baseFret:1,barres:[],midi:[40,47,52,57,59,64]},{frets:[0,1,1,3,4,4],fingers:[0,1,1,2,3,4],barres:[1],baseFret:2,midi:[40,47,52,59,64,69]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,64,69,71]},{frets:[-1,-1,1,1,2,0],fingers:[0,0,1,1,2,0],barres:[1],baseFret:9,midi:[-1,-1,59,64,69,64]}]},{key:"E",suffix:"sus2sus4",positions:[{frets:[0,0,2,2,0,2],fingers:[0,0,1,2,0,3],baseFret:1,barres:[],midi:[40,45,52,57,59,66]},{frets:[0,2,2,2,0,2],fingers:[0,1,2,3,0,4],baseFret:1,barres:[],midi:[40,47,52,57,59,66]},{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,64,66,71]},{frets:[-1,4,1,1,2,2],fingers:[0,4,1,1,2,2],barres:[1,2],baseFret:4,midi:[-1,52,54,59,64,69]}]},{key:"E",suffix:"7sus4",positions:[{frets:[0,2,0,2,0,0],fingers:[0,2,0,3,0,0],baseFret:1,barres:[],midi:[40,47,50,57,59,64]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[-1,52,57,62,64,69]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,62,69,71]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,59,64,69,74]}]},{key:"E",suffix:"alt",positions:[{frets:[0,1,2,1,-1,-1],fingers:[0,1,3,2,0,0],baseFret:1,barres:[],midi:[40,46,52,56,-1,-1]},{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:2,barres:[],midi:[-1,-1,52,58,64,68]},{frets:[0,3,2,-1,1,2],fingers:[0,4,2,0,1,3],baseFret:5,barres:[],midi:[40,52,56,-1,64,70]},{frets:[0,1,2,3,3,0],fingers:[0,1,2,3,4,0],baseFret:7,barres:[],midi:[40,52,58,64,68,64]}]},{key:"E",suffix:"aug",positions:[{frets:[0,3,2,1,1,0],fingers:[0,4,3,1,2,0],baseFret:1,barres:[],midi:[40,48,52,56,60,64]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:5,midi:[-1,52,56,60,64,-1]},{frets:[-1,1,4,3,3,-1],fingers:[4,3,2,1,1,0],baseFret:7,barres:[],midi:[-1,52,60,64,68,-1]},{frets:[4,3,2,1,1,0],fingers:[4,3,2,1,1,0],barres:[1],baseFret:9,midi:[52,56,60,64,68,64]}]},{key:"E",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:12,barres:[],midi:[52,59,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:7,barres:[],midi:[-1,52,59,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:12,barres:[],midi:[52,59,64,-1,-1,-1]},{frets:[0,2,2,-1,-1,-1],fingers:[0,2,3,0,0,0],baseFret:1,barres:[],midi:[40,47,52,-1,-1,-1]}]},{key:"E",suffix:"6",positions:[{frets:[0,2,2,1,2,0],fingers:[0,2,3,1,4,0],baseFret:1,barres:[],midi:[40,47,52,56,61,64]},{frets:[0,2,2,4,2,4],fingers:[0,1,1,3,1,4],barres:[2],capo:!0,baseFret:1,midi:[40,47,52,59,61,68]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:5,barres:[],midi:[-1,52,56,61,64,-1]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,3],barres:[3],baseFret:7,midi:[-1,52,59,64,68,73]}]},{key:"E",suffix:"69",positions:[{frets:[0,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],baseFret:1,midi:[40,47,52,56,61,66]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:6,midi:[-1,52,56,61,66,71]},{frets:[-1,1,1,1,1,1],fingers:[0,1,1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,64,68,73]},{frets:[0,1,1,1,2,2],fingers:[0,1,1,1,3,4],barres:[1],baseFret:11,midi:[40,56,61,66,71,76]}]},{key:"E",suffix:"7",positions:[{frets:[0,2,0,1,0,0],fingers:[0,2,0,1,0,0],baseFret:1,barres:[],midi:[40,47,50,56,59,64]},{frets:[-1,3,2,3,1,-1],fingers:[0,3,2,4,1,0],baseFret:5,barres:[],midi:[-1,52,56,62,64,-1]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,62,68,71]},{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,59,64,68,74]}]},{key:"E",suffix:"7b5",positions:[{frets:[0,1,0,1,3,0],fingers:[0,1,0,2,4,0],baseFret:1,barres:[],midi:[40,46,50,56,62,64]},{frets:[-1,-1,2,3,3,4],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,52,58,62,68]},{frets:[-1,-1,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:5,barres:[],midi:[-1,-1,56,62,64,70]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:7,midi:[-1,52,58,62,68,-1]}]},{key:"E",suffix:"aug7",positions:[{frets:[0,3,0,1,1,0],fingers:[0,4,0,1,2,0],baseFret:1,barres:[],midi:[40,48,50,56,60,64]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:2,barres:[],midi:[-1,-1,52,60,62,68]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:7,midi:[-1,52,60,62,68,72]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:12,barres:[],midi:[52,-1,62,68,72,-1]}]},{key:"E",suffix:"9",positions:[{frets:[0,2,0,1,0,2],fingers:[0,2,0,1,0,3],baseFret:1,barres:[],midi:[40,47,50,56,59,66]},{frets:[4,-1,2,4,3,2],fingers:[3,0,1,4,2,1],barres:[2],baseFret:1,midi:[44,-1,52,59,62,66]},{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:6,midi:[47,52,56,62,66,71]},{frets:[0,1,1,1,1,2],fingers:[0,1,1,1,1,2],barres:[1],baseFret:9,midi:[40,54,59,64,68,74]}]},{key:"E",suffix:"9b5",positions:[{frets:[0,1,2,1,3,2],fingers:[0,1,2,1,4,3],barres:[1],baseFret:1,midi:[40,46,52,56,62,66]},{frets:[0,3,2,1,1,2],fingers:[0,4,2,1,1,3],barres:[1],baseFret:3,midi:[40,50,54,58,62,68]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,52,56,62,66,70]},{frets:[0,3,2,1,3,0],fingers:[0,3,2,1,4,0],baseFret:7,barres:[],midi:[40,54,58,62,68,64]}]},{key:"E",suffix:"aug9",positions:[{frets:[0,3,0,1,3,2],fingers:[0,3,0,1,4,2],baseFret:1,barres:[],midi:[40,48,50,56,62,66]},{frets:[0,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],baseFret:4,midi:[40,50,54,60,64,68]},{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:6,midi:[-1,52,56,62,66,72]},{frets:[0,1,2,1,1,2],fingers:[0,1,2,1,1,3],barres:[1],baseFret:9,midi:[40,54,60,64,68,74]}]},{key:"E",suffix:"7b9",positions:[{frets:[0,2,0,1,0,1],fingers:[0,3,0,1,0,2],baseFret:1,barres:[],midi:[40,47,50,56,59,65]},{frets:[0,2,0,1,3,1],fingers:[0,3,0,1,4,1],barres:[1],baseFret:4,midi:[40,50,50,59,65,68]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:6,midi:[-1,52,56,62,65,71]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:10,barres:[],midi:[52,56,62,65,-1,-1]}]},{key:"E",suffix:"7#9",positions:[{frets:[0,2,0,1,0,3],fingers:[0,2,0,1,0,4],baseFret:1,barres:[],midi:[40,47,50,56,59,67]},{frets:[0,3,0,0,1,2],fingers:[0,3,0,0,1,2],baseFret:3,barres:[],midi:[40,50,50,55,62,68]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:6,barres:[],midi:[-1,52,56,62,67,-1]},{frets:[0,2,1,1,1,2],fingers:[0,2,1,1,1,3],barres:[1],baseFret:9,midi:[40,55,59,64,68,74]}]},{key:"E",suffix:"11",positions:[{frets:[0,0,0,1,0,0],fingers:[0,0,0,1,0,0],baseFret:1,barres:[],midi:[40,45,50,56,59,64]},{frets:[0,0,4,4,3,4],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[40,45,54,59,62,68]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[-1,52,56,62,64,69]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,62,68,71]}]},{key:"E",suffix:"9#11",positions:[{frets:[0,1,0,1,0,0],fingers:[0,1,0,2,0,0],baseFret:1,barres:[],midi:[40,46,50,56,59,64]},{frets:[0,3,0,1,3,2],fingers:[0,3,0,1,4,2],baseFret:3,barres:[],midi:[40,50,50,58,64,68]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,52,56,62,66,70]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[52,56,62,66,70,76]}]},{key:"E",suffix:"13",positions:[{frets:[0,2,0,1,2,0],fingers:[0,2,0,1,3,0],baseFret:1,barres:[],midi:[40,47,50,56,61,64]},{frets:[0,0,0,1,2,2],fingers:[0,0,0,1,2,3],baseFret:1,barres:[],midi:[40,45,50,56,61,66]},{frets:[0,1,2,2,1,0],fingers:[0,1,3,4,2,0],baseFret:5,barres:[],midi:[40,50,56,61,64,64]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,62,68,73]}]},{key:"E",suffix:"maj7",positions:[{frets:[0,2,1,1,0,0],fingers:[0,3,1,2,0,0],baseFret:1,barres:[],midi:[40,47,51,56,59,64]},{frets:[-1,-1,2,4,4,4],fingers:[0,0,1,3,3,3],barres:[4],baseFret:1,midi:[-1,-1,52,59,63,68]},{frets:[-1,4,3,1,1,1],fingers:[0,4,3,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[-1,52,56,59,63,68]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,63,68,71]}]},{key:"E",suffix:"maj7b5",positions:[{frets:[0,1,1,1,4,0],fingers:[0,1,1,1,4,0],barres:[1],baseFret:1,midi:[40,46,51,56,63,64]},{frets:[-1,-1,2,3,4,4],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,52,58,63,68]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:7,barres:[],midi:[-1,52,58,63,68,-1]},{frets:[0,1,3,3,1,1],fingers:[0,1,3,4,1,1],barres:[1],baseFret:11,midi:[40,56,63,68,70,75]}]},{key:"E",suffix:"maj7#5",positions:[{frets:[0,3,2,1,4,4],fingers:[0,3,2,1,4,4],barres:[4],baseFret:1,midi:[40,48,52,56,63,68]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,52,56,60,63,68]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:7,barres:[],midi:[-1,52,60,63,68,-1]},{frets:[0,3,2,1,1,3],fingers:[0,3,2,1,1,4],barres:[1],baseFret:9,midi:[40,56,60,64,68,75]}]},{key:"E",suffix:"maj9",positions:[{frets:[0,2,1,1,0,2],fingers:[0,3,1,2,0,4],baseFret:1,barres:[],midi:[40,47,51,56,59,66]},{frets:[4,2,2,4,4,2],fingers:[2,1,1,3,4,1],barres:[2],capo:!0,baseFret:1,midi:[44,47,52,59,63,66]},{frets:[-1,2,1,3,2,-1],fingers:[0,2,1,4,3,0],baseFret:6,barres:[],midi:[-1,52,56,63,66,-1]},{frets:[-1,-1,1,3,1,3],fingers:[0,0,1,3,1,4],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,59,66,68,75]}]},{key:"E",suffix:"maj11",positions:[{frets:[0,0,1,1,0,0],fingers:[0,0,1,2,0,0],baseFret:1,barres:[],midi:[40,45,51,56,59,64]},{frets:[0,0,3,1,1,2],fingers:[0,0,3,1,1,2],barres:[1],baseFret:4,midi:[40,45,56,59,63,69]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,63,68,71]},{frets:[0,3,1,1,2,3],fingers:[0,3,1,1,2,4],barres:[1],baseFret:9,midi:[40,56,59,64,69,75]}]},{key:"E",suffix:"maj13",positions:[{frets:[0,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],baseFret:1,midi:[40,47,51,56,61,66]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],baseFret:4,midi:[-1,52,56,61,63,68]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,63,68,73]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:11,midi:[52,56,61,66,71,75]}]},{key:"E",suffix:"m6",positions:[{frets:[0,2,2,0,2,0],fingers:[0,1,2,0,3,0],baseFret:1,barres:[],midi:[40,47,52,55,61,64]},{frets:[0,2,2,4,2,3],fingers:[0,1,1,3,1,2],barres:[2],baseFret:1,midi:[40,47,52,59,61,67]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,52,55,61,64,71]},{frets:[-1,-1,2,2,1,2],fingers:[0,0,2,3,1,4],baseFret:8,barres:[],midi:[-1,-1,59,64,67,73]}]},{key:"E",suffix:"m7",positions:[{frets:[0,-1,0,0,0,-1],fingers:[2,0,3,3,3,0],baseFret:1,barres:[],midi:[40,-1,50,55,59,-1]},{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:12,barres:[],midi:[52,-1,62,67,71,-1]},{frets:[0,2,2,0,3,0],fingers:[0,2,3,0,4,0],baseFret:1,barres:[],midi:[40,47,52,55,62,64]},{frets:[0,2,0,0,0,0],fingers:[0,2,0,0,0,0],baseFret:1,barres:[],midi:[40,47,50,55,59,64]},{frets:[0,2,2,4,3,3],fingers:[0,1,1,4,2,3],barres:[2],baseFret:1,midi:[40,47,52,59,62,67]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,62,67,71]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:8,barres:[],midi:[-1,-1,59,64,67,74]}]},{key:"E",suffix:"m7b5",positions:[{frets:[0,1,2,3,3,3],fingers:[0,1,2,3,3,3],barres:[3],baseFret:1,midi:[40,46,52,58,62,67]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:7,barres:[],midi:[-1,52,58,62,67,-1]},{frets:[-1,-1,1,2,1,3],fingers:[0,0,1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,58,64,67,74]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:11,barres:[],midi:[52,-1,62,67,70,-1]}]},{key:"E",suffix:"m9",positions:[{frets:[0,2,0,0,0,2],fingers:[0,2,0,0,0,4],baseFret:1,barres:[],midi:[40,47,50,55,59,66]},{frets:[0,2,2,0,3,2],fingers:[0,1,2,0,4,3],baseFret:1,barres:[],midi:[40,47,52,55,62,66]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:5,midi:[-1,52,55,62,66,71]},{frets:[0,1,3,2,3,1],fingers:[0,1,3,2,4,1],barres:[1],baseFret:10,midi:[40,55,62,66,71,74]}]},{key:"E",suffix:"m69",positions:[{frets:[0,2,2,0,2,2],fingers:[0,1,1,0,2,3],barres:[2],baseFret:1,midi:[40,47,52,55,61,66]},{frets:[3,-1,2,4,2,2],fingers:[2,0,1,3,1,1],barres:[2],baseFret:1,midi:[43,-1,52,59,61,66]},{frets:[-1,3,1,2,3,3],fingers:[0,3,1,2,4,4],barres:[3],baseFret:5,midi:[-1,52,55,61,66,71]},{frets:[0,1,2,2,3,0],fingers:[0,1,2,3,4,0],baseFret:10,barres:[],midi:[40,55,61,66,71,64]}]},{key:"E",suffix:"m11",positions:[{frets:[0,0,0,0,0,2],fingers:[0,0,0,0,0,1],baseFret:1,barres:[],midi:[40,45,50,55,59,66]},{frets:[0,0,3,2,1,0],fingers:[0,0,3,2,1,0],baseFret:3,barres:[],midi:[40,45,55,59,62,64]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,52,55,62,66,69]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[52,55,62,66,69,74]}]},{key:"E",suffix:"mmaj7",positions:[{frets:[0,2,1,0,0,0],fingers:[0,2,1,0,0,0],baseFret:1,barres:[],midi:[40,47,51,55,59,64]},{frets:[0,2,2,4,4,3],fingers:[0,1,1,3,4,2],barres:[2],baseFret:1,midi:[40,47,52,59,63,67]},{frets:[-1,4,2,1,1,-1],fingers:[0,4,2,1,1,0],barres:[1],capo:!0,baseFret:4,midi:[-1,52,55,59,63,-1]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,63,67,71]}]},{key:"E",suffix:"mmaj7b5",positions:[{frets:[0,1,1,0,-1,0],fingers:[0,1,2,0,0,0],baseFret:1,barres:[],midi:[40,46,51,55,-1,64]},{frets:[-1,-1,2,3,4,3],fingers:[0,0,1,2,4,3],baseFret:1,barres:[],midi:[-1,-1,52,58,63,67]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:6,midi:[46,52,58,63,67,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:7,barres:[],midi:[-1,52,58,63,67,-1]}]},{key:"E",suffix:"mmaj9",positions:[{frets:[0,2,1,0,0,2],fingers:[0,2,1,0,0,3],baseFret:1,barres:[],midi:[40,47,51,55,59,66]},{frets:[0,-1,4,4,4,3],fingers:[0,0,2,2,4,1],barres:[4],baseFret:1,midi:[40,-1,54,59,63,67]},{frets:[0,4,3,2,1,0],fingers:[0,4,3,2,1,0],baseFret:7,barres:[],midi:[40,55,59,63,66,64]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:12,midi:[52,59,63,67,71,78]}]},{key:"E",suffix:"mmaj11",positions:[{frets:[0,0,1,0,0,2],fingers:[0,0,1,0,0,3],baseFret:1,barres:[],midi:[40,45,51,55,59,66]},{frets:[-1,2,2,2,4,3],fingers:[0,1,1,1,3,2],barres:[2],capo:!0,baseFret:1,midi:[-1,47,52,57,63,67]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:5,midi:[-1,52,55,63,66,69]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,63,67,71]}]},{key:"E",suffix:"add9",positions:[{frets:[0,2,2,1,0,2],fingers:[0,2,3,1,0,4],baseFret:1,barres:[],midi:[40,47,52,56,59,66]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,52,56,59,66,68]},{frets:[-1,2,1,-1,2,2],fingers:[0,2,1,0,3,4],baseFret:6,barres:[],midi:[-1,52,56,-1,66,71]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:12,barres:[],midi:[-1,-1,64,68,71,78]}]},{key:"E",suffix:"madd9",positions:[{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,53,56,60,67]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:5,barres:[],midi:[-1,53,56,60,67,-1]},{frets:[-1,3,1,0,1,3],fingers:[0,3,1,0,2,4],baseFret:6,barres:[],midi:[-1,53,56,55,65,72]},{frets:[-1,1,3,0,2,1],fingers:[0,1,4,0,3,2],baseFret:8,barres:[],midi:[-1,53,60,55,68,72]}]},{key:"E",suffix:"/B",positions:[{frets:[-1,2,2,1,0,0],fingers:[0,2,3,1,0,0],baseFret:1,barres:[],midi:[-1,47,52,56,59,64]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,3,4,3],barres:[1],baseFret:2,midi:[-1,47,52,59,64,68]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],baseFret:7,midi:[47,52,59,64,68,71]}]},{key:"E",suffix:"m/B",positions:[{frets:[-1,2,2,0,0,0],fingers:[0,1,2,0,0,0],baseFret:1,barres:[],midi:[-1,47,52,55,59,64]},{frets:[-1,2,2,0,0,3],fingers:[0,1,2,0,0,3],baseFret:1,barres:[],midi:[-1,47,52,55,59,67]},{frets:[-1,1,1,3,4,2],fingers:[0,1,1,3,4,2],baseFret:2,barres:[],midi:[-1,47,52,59,64,67]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,64,67,71]}]},{key:"E",suffix:"/C#",positions:[{frets:[-1,1,3,1,2,1],fingers:[0,1,3,1,2,1],barres:[1],baseFret:4,midi:[-1,49,56,59,64,68]},{frets:[-1,1,3,1,2,4],fingers:[0,1,3,1,2,4],barres:[1],baseFret:4,midi:[-1,49,56,59,64,71]},{frets:[1,3,1,1,4,4],fingers:[1,3,1,1,4,4],barres:[1],baseFret:9,midi:[49,56,59,64,71,76]}]},{key:"E",suffix:"m/C#",positions:[{frets:[-1,4,2,0,0,0],fingers:[0,3,1,0,0,0],baseFret:1,barres:[],midi:[-1,49,52,55,59,64]},{frets:[-1,1,2,1,2,4],fingers:[0,1,2,1,3,4],baseFret:4,barres:[],midi:[-1,49,55,59,64,71]},{frets:[1,2,1,4,4,4],fingers:[1,2,1,4,4,4],barres:[1],baseFret:9,midi:[49,55,59,67,71,76]}]},{key:"E",suffix:"/D",positions:[{frets:[-1,-1,0,1,0,0],fingers:[0,0,0,1,0,0],baseFret:1,barres:[],midi:[-1,-1,50,56,59,64]},{frets:[-1,2,3,1,2,1],fingers:[0,2,4,1,3,1],barres:[1],baseFret:4,midi:[-1,50,56,59,64,68]},{frets:[-1,4,1,3,4,3],fingers:[0,3,1,2,4,2],barres:[3],baseFret:2,midi:[-1,50,52,59,64,68]}]},{key:"E",suffix:"m/D",positions:[{frets:[-1,-1,0,0,0,0],fingers:[0,0,0,0,0,0],baseFret:1,barres:[],midi:[-1,-1,50,55,59,64]},{frets:[-1,2,2,1,2,-1],fingers:[0,2,3,1,4,0],baseFret:4,barres:[],midi:[-1,50,55,59,64,-1]},{frets:[-1,-1,1,1,1,1],fingers:[0,0,1,1,1,1],barres:[1],baseFret:12,midi:[-1,-1,62,67,71,76]}]},{key:"E",suffix:"/D#",positions:[{frets:[-1,-1,1,1,0,0],fingers:[0,0,1,2,0,0],baseFret:1,barres:[],midi:[-1,-1,51,56,59,64]},{frets:[-1,3,3,1,2,1],fingers:[0,3,4,1,2,1],barres:[1],baseFret:4,midi:[-1,51,56,59,64,68]},{frets:[3,3,1,1,4,4],fingers:[2,3,1,1,4,4],barres:[1],baseFret:9,midi:[51,56,59,64,71,76]}]},{key:"E",suffix:"m/D#",positions:[{frets:[-1,-1,1,0,0,0],fingers:[0,0,1,0,0,0],baseFret:1,barres:[],midi:[-1,-1,51,55,59,64]},{frets:[-1,3,2,1,2,-1],fingers:[0,4,2,1,3,0],baseFret:4,barres:[],midi:[-1,51,55,59,64,-1]},{frets:[-1,1,4,4,3,-1],fingers:[0,1,3,4,2,0],baseFret:6,barres:[],midi:[-1,51,59,64,67,-1]}]},{key:"E",suffix:"/F",positions:[{frets:[1,2,2,1,0,0],fingers:[1,3,4,2,0,0],baseFret:1,barres:[],midi:[41,47,52,56,59,64]},{frets:[-1,-1,3,1,0,0],fingers:[0,0,3,1,0,0],baseFret:1,barres:[],midi:[-1,-1,53,56,59,64]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:3,barres:[],midi:[-1,-1,53,59,64,68]}]},{key:"E",suffix:"/F#",positions:[{frets:[2,2,2,1,0,0],fingers:[2,3,4,1,0,0],baseFret:1,barres:[],midi:[42,47,52,56,59,64]},{frets:[-1,-1,1,1,2,1],fingers:[0,0,1,1,2,1],barres:[1],baseFret:4,midi:[-1,-1,54,59,64,68]},{frets:[1,1,1,3,4,3],fingers:[1,1,1,3,4,3],barres:[1],baseFret:2,midi:[42,47,52,59,64,68]}]},{key:"E",suffix:"/G",positions:[{frets:[3,2,2,1,0,0],fingers:[4,2,3,1,0,0],baseFret:1,barres:[],midi:[43,47,52,56,59,64]},{frets:[2,1,1,3,4,3],fingers:[2,1,1,3,4,3],barres:[1],baseFret:2,midi:[43,47,52,59,64,68]},{frets:[-1,-1,2,1,2,1],fingers:[0,0,3,1,4,2],baseFret:4,barres:[],midi:[-1,-1,55,59,64,68]}]},{key:"E",suffix:"/G#",positions:[{frets:[-1,-1,-1,1,0,0],fingers:[0,0,0,1,0,0],baseFret:1,barres:[],midi:[-1,-1,-1,56,59,64]},{frets:[4,2,2,1,0,0],fingers:[4,2,3,1,0,0],baseFret:1,barres:[],midi:[44,47,52,56,59,64]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],baseFret:4,midi:[44,52,56,59,64,68]},{frets:[3,1,1,3,4,-1],fingers:[2,1,1,3,4,0],barres:[1],baseFret:2,midi:[44,47,52,59,64,-1]}]},{key:"E",suffix:"m/F",positions:[{frets:[-1,-1,3,0,0,0],fingers:[0,0,1,0,0,0],baseFret:1,barres:[],midi:[-1,-1,53,55,59,64]},{frets:[1,2,2,0,0,0],fingers:[1,2,3,0,0,0],baseFret:1,barres:[],midi:[41,47,52,55,59,64]},{frets:[1,2,2,0,0,3],fingers:[1,2,3,0,0,4],baseFret:1,barres:[],midi:[41,47,52,55,59,67]}]},{key:"E",suffix:"m/F#",positions:[{frets:[2,2,2,0,0,0],fingers:[1,2,3,0,0,0],baseFret:1,barres:[],midi:[42,47,52,55,59,64]},{frets:[2,2,2,0,0,3],fingers:[1,2,3,0,0,4],baseFret:1,barres:[],midi:[42,47,52,55,59,67]},{frets:[1,1,1,3,4,2],fingers:[1,1,1,3,4,2],barres:[1],baseFret:2,midi:[42,47,52,59,64,67]}]},{key:"E",suffix:"m/G",positions:[{frets:[3,2,2,0,0,0],fingers:[3,1,2,0,0,0],baseFret:1,barres:[],midi:[43,47,52,55,59,64]},{frets:[3,2,2,0,0,3],fingers:[3,1,2,0,0,4],baseFret:1,barres:[],midi:[43,47,52,55,59,67]},{frets:[2,1,1,3,4,0],fingers:[2,1,1,3,4,0],barres:[1],baseFret:2,midi:[43,47,52,59,64,64]}]},{key:"E",suffix:"m/G#",positions:[{frets:[4,2,2,0,0,0],fingers:[4,1,2,0,0,0],baseFret:1,barres:[],midi:[44,47,52,55,59,64]},{frets:[1,4,2,1,2,-1],fingers:[1,4,2,1,3,0],barres:[1],baseFret:4,midi:[44,52,55,59,64,-1]},{frets:[-1,-1,4,2,3,1],fingers:[0,0,4,2,3,1],baseFret:3,barres:[],midi:[-1,-1,56,59,64,67]}]}],F:[{key:"F",suffix:"major",positions:[{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,53,57,60,65]},{frets:[-1,-1,3,2,1,1],fingers:[-1,-1,3,2,1,1],barres:[1],baseFret:1,midi:[-1,-1,53,57,60,65]},{frets:[-1,-1,1,3,4,3],fingers:[0,0,1,2,4,3],baseFret:3,barres:[],midi:[-1,-1,53,60,65,69]},{frets:[-1,4,3,1,2,1],fingers:[0,4,3,1,2,1],barres:[1],capo:!0,baseFret:5,midi:[-1,53,57,60,65,69]},{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,53,60,65,69,72]}]},{key:"F",suffix:"minor",positions:[{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,53,56,60,65]},{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:3,barres:[],midi:[-1,-1,53,60,65,68]},{frets:[-1,1,3,3,2,1],fingers:[0,1,3,4,2,1],barres:[1],capo:!0,baseFret:8,midi:[-1,53,60,65,68,72]},{frets:[4,2,1,1,-1,-1],fingers:[4,2,1,1,0,0],barres:[1],capo:!0,baseFret:10,midi:[53,56,60,65,-1,-1]}]},{key:"F",suffix:"dim",positions:[{frets:[-1,-1,3,4,-1,4],fingers:[0,0,1,2,0,3],baseFret:1,barres:[],midi:[-1,-1,53,59,-1,68]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:6,barres:[],midi:[-1,53,56,-1,65,71]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:8,barres:[],midi:[-1,53,59,65,68,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:11,barres:[],midi:[53,56,-1,68,71,-1]}]},{key:"F",suffix:"dim7",positions:[{frets:[1,-1,0,1,0,1],fingers:[1,0,0,2,0,3],baseFret:1,barres:[],midi:[41,-1,50,56,59,65]},{frets:[-1,-1,3,4,3,4],fingers:[0,0,1,3,1,4],barres:[3],capo:!0,baseFret:1,midi:[-1,-1,53,59,62,68]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,53,59,62,68,71]},{frets:[2,-1,1,2,1,-1],fingers:[3,0,1,4,2,0],baseFret:12,barres:[],midi:[53,-1,62,68,71,-1]}]},{key:"F",suffix:"sus2",positions:[{frets:[1,3,3,-1,1,3],fingers:[1,2,3,0,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,48,53,-1,60,67]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,53,60,65,67]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,65,67,72]},{frets:[4,1,1,3,4,-1],fingers:[3,1,1,2,4,0],barres:[1],capo:!0,baseFret:10,midi:[53,55,60,67,72,-1]}]},{key:"F",suffix:"sus4",positions:[{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,53,58,60,65]},{frets:[-1,-1,1,3,4,4],fingers:[0,0,1,2,3,4],baseFret:3,barres:[],midi:[-1,-1,53,60,65,70]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,65,70,72]},{frets:[-1,-1,1,1,2,-1],fingers:[0,0,1,1,2,0],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,65,70,-1]}]},{key:"F",suffix:"sus2sus4",positions:[{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],baseFret:1,midi:[41,46,53,58,60,67]},{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],baseFret:8,midi:[-1,53,58,65,67,72]},{frets:[-1,4,1,1,2,2],fingers:[0,4,1,1,2,2],barres:[1,2],baseFret:5,midi:[-1,53,55,60,65,70]}]},{key:"F",suffix:"7sus4",positions:[{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,58,60,65]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,58,63,65,70]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,63,70,72]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,65,70,75]}]},{key:"F",suffix:"alt",positions:[{frets:[1,2,3,2,0,-1],fingers:[1,2,4,3,0,0],baseFret:1,barres:[],midi:[41,47,53,57,59,-1]},{frets:[-1,-1,1,2,0,3],fingers:[0,0,1,2,0,3],baseFret:3,barres:[],midi:[-1,-1,53,59,59,69]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:8,barres:[],midi:[-1,53,59,65,69,-1]},{frets:[2,1,-1,3,1,2],fingers:[2,1,0,4,1,3],barres:[1],capo:!0,baseFret:12,midi:[53,57,-1,69,71,77]}]},{key:"F",suffix:"aug",positions:[{frets:[-1,-1,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:1,barres:[],midi:[-1,-1,53,57,61,65]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:6,midi:[-1,53,57,61,65,-1]},{frets:[-1,1,-1,3,3,2],fingers:[0,1,0,3,4,2],baseFret:8,barres:[],midi:[-1,53,-1,65,69,73]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],baseFret:10,midi:[53,57,61,65,69,-1]}]},{key:"F",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:1,barres:[],midi:[41,48,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:8,barres:[],midi:[-1,53,60,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:1,barres:[],midi:[41,48,53,-1,-1,-1]}]},{key:"F",suffix:"6",positions:[{frets:[1,-1,3,2,3,1],fingers:[1,0,3,2,4,1],barres:[1],capo:!0,baseFret:1,midi:[41,-1,53,57,62,65]},{frets:[-1,1,1,3,1,3],fingers:[0,1,1,3,1,4],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,60,62,69]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:6,barres:[],midi:[-1,53,57,62,65,-1]},{frets:[1,1,3,3,3,3],fingers:[1,1,3,3,3,3],barres:[1,3],baseFret:8,midi:[48,53,60,65,69,74]}]},{key:"F",suffix:"69",positions:[{frets:[1,0,0,0,1,1],fingers:[1,0,0,0,2,3],baseFret:1,barres:[],midi:[41,45,50,55,60,65]},{frets:[-1,-1,3,2,3,3],fingers:[0,0,2,1,3,4],baseFret:1,barres:[],midi:[-1,-1,53,57,62,67]},{frets:[-1,1,1,1,2,1],fingers:[0,1,1,1,2,1],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,60,65,69]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:7,midi:[-1,53,57,62,67,72]}]},{key:"F",suffix:"7",positions:[{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,57,60,65]},{frets:[-1,1,1,3,2,3],fingers:[0,1,1,3,2,4],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,60,63,69]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,63,69,72]},{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,65,69,75]}]},{key:"F",suffix:"7b5",positions:[{frets:[1,0,1,2,0,1],fingers:[1,0,2,4,0,3],baseFret:1,barres:[],midi:[41,45,51,57,59,65]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:3,barres:[],midi:[-1,-1,53,59,63,69]},{frets:[-1,-1,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:6,barres:[],midi:[-1,-1,57,63,65,71]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:8,midi:[-1,53,59,63,69,-1]}]},{key:"F",suffix:"aug7",positions:[{frets:[1,0,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[41,45,51,57,61,-1]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:3,barres:[],midi:[-1,-1,53,61,63,69]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:8,midi:[-1,53,61,63,69,73]},{frets:[2,1,2,-1,3,-1],fingers:[2,1,3,0,4,0],baseFret:12,barres:[],midi:[53,57,63,-1,73,-1]}]},{key:"F",suffix:"9",positions:[{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,57,60,67]},{frets:[-1,-1,3,2,4,3],fingers:[0,0,2,1,4,3],baseFret:1,barres:[],midi:[-1,-1,53,57,63,67]},{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:7,midi:[48,53,57,63,67,72]},{frets:[-1,1,1,1,1,2],fingers:[0,1,1,1,1,2],barres:[1],baseFret:10,midi:[-1,55,60,65,69,75]}]},{key:"F",suffix:"9b5",positions:[{frets:[1,0,1,0,0,1],fingers:[1,0,2,0,0,3],baseFret:1,barres:[],midi:[41,45,51,55,59,65]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[-1,53,57,63,67,71]},{frets:[-1,1,2,0,3,4],fingers:[0,1,2,0,3,4],baseFret:8,barres:[],midi:[-1,53,59,55,69,75]},{frets:[2,1,2,0,0,2],fingers:[2,1,2,0,0,3],barres:[2],baseFret:12,midi:[53,57,63,55,59,77]}]},{key:"F",suffix:"aug9",positions:[{frets:[1,0,1,0,2,1],fingers:[1,0,2,0,4,3],baseFret:1,barres:[],midi:[41,45,51,55,61,65]},{frets:[1,2,1,2,2,1],fingers:[1,2,1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,51,55,61,65,69]},{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:7,midi:[-1,53,57,63,67,73]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:12,midi:[53,57,63,67,73,-1]}]},{key:"F",suffix:"7b9",positions:[{frets:[1,3,1,2,1,2],fingers:[1,4,1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,57,60,66]},{frets:[-1,-1,3,2,4,2],fingers:[0,0,2,1,3,1],barres:[2],capo:!0,baseFret:1,midi:[-1,-1,53,57,63,66]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:7,midi:[-1,53,57,63,66,72]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:11,barres:[],midi:[53,57,63,66,-1,-1]}]},{key:"F",suffix:"7#9",positions:[{frets:[1,3,1,2,1,4],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,57,60,68]},{frets:[-1,-1,3,2,4,4],fingers:[0,0,2,1,3,4],baseFret:1,barres:[],midi:[-1,-1,53,57,63,68]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:7,barres:[],midi:[-1,53,57,63,68,-1]},{frets:[-1,2,1,1,1,2],fingers:[0,2,1,1,1,3],barres:[1],capo:!0,baseFret:10,midi:[-1,56,60,65,69,75]}]},{key:"F",suffix:"11",positions:[{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,46,51,57,60,65]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:3,midi:[43,48,53,58,63,69]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[-1,53,57,63,65,70]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,63,69,72]}]},{key:"F",suffix:"9#11",positions:[{frets:[1,0,1,0,0,1],fingers:[1,0,2,0,0,3],baseFret:1,barres:[],midi:[41,45,51,55,59,65]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:3,barres:[],midi:[-1,-1,53,59,63,69]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[-1,53,57,63,67,71]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:8,midi:[-1,53,59,63,69,72]}]},{key:"F",suffix:"13",positions:[{frets:[1,3,1,2,3,1],fingers:[1,3,1,2,4,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,57,62,65]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:1,midi:[41,46,51,57,62,67]},{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:7,midi:[-1,53,57,63,69,74]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,63,69,74]}]},{key:"F",suffix:"maj7",positions:[{frets:[-1,-1,3,2,1,0],fingers:[0,0,3,2,1,0],baseFret:1,barres:[],midi:[-1,-1,53,57,60,64]},{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,52,57,60,65]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,60,64,69]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,64,69,72]}]},{key:"F",suffix:"maj7b5",positions:[{frets:[1,0,2,2,0,0],fingers:[1,0,2,3,0,0],baseFret:1,barres:[],midi:[41,45,52,57,59,64]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:3,barres:[],midi:[-1,-1,53,59,64,69]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:8,barres:[],midi:[-1,53,59,64,69,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:12,midi:[53,57,64,69,71,76]}]},{key:"F",suffix:"maj7#5",positions:[{frets:[1,0,2,2,2,0],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[41,45,52,57,61,64]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,53,57,61,64,69]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:8,barres:[],midi:[-1,53,61,64,69,-1]},{frets:[-1,-1,4,3,3,1],fingers:[0,0,4,2,3,1],baseFret:12,barres:[],midi:[-1,-1,65,69,73,76]}]},{key:"F",suffix:"maj9",positions:[{frets:[1,0,2,0,1,0],fingers:[1,0,3,0,2,0],baseFret:1,barres:[],midi:[41,45,52,55,60,64]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[-1,-1,52,57,60,67]},{frets:[-1,2,1,3,2,-1],fingers:[0,2,1,4,3,0],baseFret:7,barres:[],midi:[-1,53,57,64,67,-1]},{frets:[-1,-1,1,3,1,3],fingers:[0,0,1,3,1,4],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,67,69,76]}]},{key:"F",suffix:"maj11",positions:[{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,46,52,57,60,65]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,53,58,64,69]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,64,69,72]},{frets:[3,2,4,0,1,0],fingers:[3,2,4,0,1,0],baseFret:11,barres:[],midi:[53,57,64,55,70,64]}]},{key:"F",suffix:"maj13",positions:[{frets:[1,0,0,0,1,0],fingers:[1,0,0,0,2,0],baseFret:1,barres:[],midi:[41,45,50,55,60,64]},{frets:[-1,-1,3,2,3,0],fingers:[0,0,2,1,3,0],baseFret:1,barres:[],midi:[-1,-1,53,57,62,64]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],baseFret:5,midi:[-1,53,57,62,64,69]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,64,69,74]}]},{key:"F",suffix:"m6",positions:[{frets:[1,-1,0,1,1,1],fingers:[1,0,0,2,3,4],baseFret:1,barres:[],midi:[41,-1,50,56,60,65]},{frets:[-1,-1,1,3,1,2],fingers:[0,0,1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,53,60,62,68]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:6,midi:[-1,53,56,62,65,72]},{frets:[-1,-1,2,2,1,2],fingers:[0,0,2,3,1,4],baseFret:9,barres:[],midi:[-1,-1,60,65,68,74]}]},{key:"F",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:1,barres:[],midi:[41,-1,51,56,60,-1]},{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:13,barres:[],midi:[53,-1,63,68,72,-1]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,56,60,65]},{frets:[-1,-1,1,3,2,2],fingers:[0,0,1,4,2,3],baseFret:3,barres:[],midi:[-1,-1,53,60,63,68]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,63,68,72]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:9,barres:[],midi:[-1,-1,60,65,68,75]}]},{key:"F",suffix:"m7b5",positions:[{frets:[1,-1,1,1,0,-1],fingers:[1,0,2,3,0,0],baseFret:1,barres:[],midi:[41,-1,51,56,59,-1]},{frets:[-1,-1,3,4,4,4],fingers:[0,0,1,2,2,2],barres:[4],baseFret:1,midi:[-1,-1,53,59,63,68]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:8,barres:[],midi:[-1,53,59,63,68,-1]},{frets:[3,1,3,3,0,-1],fingers:[2,1,3,4,0,0],baseFret:11,barres:[],midi:[53,56,63,68,59,-1]}]},{key:"F",suffix:"m9",positions:[{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,56,60,67]},{frets:[-1,3,3,0,4,4],fingers:[0,1,2,0,3,4],baseFret:1,barres:[],midi:[-1,48,53,55,63,68]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:6,midi:[-1,53,56,63,67,72]},{frets:[3,1,3,0,3,3],fingers:[2,1,3,0,4,4],barres:[3],baseFret:11,midi:[53,56,63,55,72,77]}]},{key:"F",suffix:"m69",positions:[{frets:[1,3,3,1,3,3],fingers:[1,2,2,1,3,4],barres:[1,3],capo:!0,baseFret:1,midi:[41,48,53,56,62,67]},{frets:[2,-1,1,3,1,1],fingers:[2,0,1,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[44,-1,53,60,62,67]},{frets:[-1,3,1,2,3,-1],fingers:[0,3,1,2,4,0],baseFret:6,barres:[],midi:[-1,53,56,62,67,-1]},{frets:[3,1,2,0,3,-1],fingers:[3,1,2,0,4,0],baseFret:11,barres:[],midi:[53,56,62,55,72,-1]}]},{key:"F",suffix:"m11",positions:[{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,46,51,56,60,67]},{frets:[-1,-1,3,3,4,4],fingers:[0,0,1,1,2,3],barres:[3],capo:!0,baseFret:1,midi:[-1,-1,53,58,63,68]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,53,56,63,67,70]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[53,56,63,67,70,75]}]},{key:"F",suffix:"mmaj7",positions:[{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,52,56,60,65]},{frets:[-1,-1,1,3,3,2],fingers:[0,0,1,3,4,2],baseFret:3,barres:[],midi:[-1,-1,53,60,64,68]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,64,68,72]},{frets:[-1,-1,4,2,2,1],fingers:[0,0,4,2,3,1],baseFret:12,barres:[],midi:[-1,-1,65,68,72,76]}]},{key:"F",suffix:"mmaj7b5",positions:[{frets:[1,2,2,1,0,0],fingers:[1,2,3,1,0,0],barres:[1],baseFret:1,midi:[41,47,52,56,59,64]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:3,barres:[],midi:[-1,-1,53,59,64,68]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:7,midi:[47,53,59,64,68,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:8,barres:[],midi:[-1,53,59,64,68,-1]}]},{key:"F",suffix:"mmaj9",positions:[{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,48,52,56,60,67]},{frets:[-1,-1,1,0,3,2],fingers:[0,0,1,0,4,2],baseFret:3,barres:[],midi:[-1,-1,53,55,64,68]},{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:6,barres:[],midi:[-1,53,56,64,67,-1]},{frets:[3,1,-1,2,3,0],fingers:[3,1,0,2,4,0],baseFret:11,barres:[],midi:[53,56,-1,67,72,64]}]},{key:"F",suffix:"mmaj11",positions:[{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,46,52,56,60,67]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,58,64,68]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:6,midi:[-1,53,56,64,67,70]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,64,68,72]}]},{key:"F",suffix:"add9",positions:[{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:1,barres:[],midi:[-1,-1,53,57,60,67]},{frets:[-1,-1,1,0,4,3],fingers:[0,0,1,0,4,3],baseFret:3,barres:[],midi:[-1,-1,53,55,65,69]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,53,57,60,67,69]},{frets:[-1,2,1,0,2,2],fingers:[0,2,1,0,3,4],baseFret:7,barres:[],midi:[-1,53,57,55,67,72]}]},{key:"F",suffix:"madd9",positions:[{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,53,56,60,67]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:5,barres:[],midi:[-1,53,56,60,67,-1]},{frets:[-1,3,1,0,1,3],fingers:[0,3,1,0,2,4],baseFret:6,barres:[],midi:[-1,53,56,55,65,72]},{frets:[-1,1,3,0,2,1],fingers:[0,1,4,0,3,2],baseFret:8,barres:[],midi:[-1,53,60,55,68,72]}]},{key:"F",suffix:"/C",positions:[{frets:[-1,3,3,2,1,1],fingers:[0,3,4,2,1,1],barres:[1],baseFret:1,midi:[-1,48,53,57,60,65]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,3,4,3],barres:[1],baseFret:3,midi:[-1,48,53,60,65,69]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],baseFret:8,midi:[48,53,60,65,69,72]}]},{key:"F",suffix:"/D",positions:[{frets:[-1,1,3,1,2,1],fingers:[0,1,3,1,2,1],barres:[1],baseFret:5,midi:[-1,50,57,60,65,69]},{frets:[-1,1,3,1,2,4],fingers:[0,1,3,1,2,4],baseFret:5,barres:[],midi:[-1,50,57,60,65,72]}]},{key:"F",suffix:"/D#",positions:[{frets:[-1,-1,1,2,1,1],fingers:[0,0,1,2,1,1],barres:[1],baseFret:1,midi:[-1,-1,51,57,60,65]},{frets:[-1,2,3,1,2,1],fingers:[0,2,4,1,3,1],barres:[1],baseFret:5,midi:[-1,51,57,60,65,69]},{frets:[-1,4,1,3,4,3],fingers:[0,3,1,2,4,2],barres:[3],baseFret:3,midi:[-1,51,53,60,65,69]}]},{key:"F",suffix:"/E",positions:[{frets:[0,0,3,2,1,1],fingers:[0,0,3,2,1,1],barres:[1],baseFret:1,midi:[40,45,53,57,60,65]},{frets:[-1,-1,2,2,1,1],fingers:[0,0,2,3,1,1],barres:[1],baseFret:1,midi:[-1,-1,52,57,60,65]},{frets:[0,3,3,2,1,1],fingers:[0,3,4,2,1,1],barres:[1],baseFret:1,midi:[40,48,53,57,60,65]}]},{key:"F",suffix:"/G",positions:[{frets:[3,0,3,2,1,1],fingers:[3,0,4,2,1,1],barres:[1],baseFret:1,midi:[43,45,53,57,60,65]},{frets:[3,3,3,2,-1,-1],fingers:[2,3,4,1,0,0],baseFret:1,barres:[],midi:[43,48,53,57,-1,-1]},{frets:[1,1,1,3,4,3],fingers:[1,1,1,3,4,3],barres:[1],baseFret:3,midi:[43,48,53,60,65,69]}]},{key:"F",suffix:"/A",positions:[{frets:[-1,0,3,2,1,1],fingers:[0,0,3,2,1,1],barres:[1],baseFret:1,midi:[-1,45,53,57,60,65]},{frets:[4,2,2,1,-1,-1],fingers:[4,2,3,1,0,0],baseFret:2,barres:[],midi:[45,48,53,57,-1,-1]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],baseFret:5,midi:[45,53,57,60,65,69]},{frets:[3,1,1,3,4,0],fingers:[2,1,1,3,4,0],barres:[1],baseFret:3,midi:[45,48,53,60,65,64]}]},{key:"F",suffix:"m/C",positions:[{frets:[-1,3,3,1,1,1],fingers:[0,3,4,1,1,1],barres:[1],baseFret:1,midi:[-1,48,53,56,60,65]},{frets:[-1,3,3,1,1,4],fingers:[0,2,3,1,1,4],barres:[1],baseFret:1,midi:[-1,48,53,56,60,68]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],baseFret:8,midi:[48,53,60,65,68,72]}]}],"F#":[{key:"F#",suffix:"major",positions:[{frets:[2,4,4,3,2,2],fingers:[1,3,4,2,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,54,58,61,66]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,2,4,3],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,66,70]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],capo:!0,baseFret:6,midi:[46,54,58,61,66,70]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,66,70,73]}]},{key:"F#",suffix:"minor",positions:[{frets:[2,4,4,2,2,2],fingers:[1,3,4,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,54,57,61,66]},{frets:[-1,1,1,3,4,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,66,69]},{frets:[-1,-1,3,2,3,1],fingers:[0,0,3,2,4,1],baseFret:5,barres:[],midi:[-1,-1,57,61,66,69]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,66,69,73]}]},{key:"F#",suffix:"dim",positions:[{frets:[2,0,-1,2,1,-1],fingers:[2,0,0,3,1,0],baseFret:1,barres:[],midi:[42,45,-1,57,60,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:4,barres:[],midi:[-1,-1,54,60,-1,69]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:7,barres:[],midi:[-1,54,57,-1,66,72]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:9,barres:[],midi:[-1,54,60,66,69,-1]}]},{key:"F#",suffix:"dim7",positions:[{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],capo:!0,baseFret:1,midi:[42,-1,51,57,60,-1]},{frets:[2,3,4,2,4,2],fingers:[1,2,3,1,4,1],barres:[2],capo:!0,baseFret:1,midi:[42,48,54,57,63,66]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:4,barres:[],midi:[-1,-1,54,60,63,69]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,54,60,63,69,72]}]},{key:"F#",suffix:"sus2",positions:[{frets:[2,-1,-1,1,2,2],fingers:[2,0,0,1,3,4],baseFret:1,barres:[],midi:[42,-1,-1,56,61,66]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,61,66,68]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,66,68,73]},{frets:[4,1,1,3,4,-1],fingers:[3,1,1,2,4,0],barres:[1],capo:!0,baseFret:11,midi:[54,56,61,68,73,-1]}]},{key:"F#",suffix:"sus4",positions:[{frets:[2,4,4,4,2,2],fingers:[1,2,3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,54,59,61,66]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,66,71]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,66,71,73]},{frets:[-1,-1,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],capo:!0,baseFret:11,midi:[-1,-1,61,66,71,78]}]},{key:"F#",suffix:"sus2sus4",positions:[{frets:[2,2,4,4,2,4],fingers:[1,1,2,3,1,4],barres:[2],baseFret:1,midi:[42,47,54,59,61,68]},{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],baseFret:9,midi:[-1,54,59,66,68,73]},{frets:[-1,4,1,1,2,2],fingers:[0,4,1,1,2,2],barres:[1,2],baseFret:6,midi:[-1,54,56,61,66,71]}]},{key:"F#",suffix:"7sus4",positions:[{frets:[2,4,2,4,2,2],fingers:[1,3,1,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,52,59,61,66]},{frets:[-1,-1,1,3,2,4],fingers:[0,0,1,3,2,4],baseFret:4,barres:[],midi:[-1,-1,54,61,64,71]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[-1,54,59,64,66,71]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,64,71,73]}]},{key:"F#",suffix:"alt",positions:[{frets:[-1,-1,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:1,barres:[],midi:[-1,-1,54,58,60,66]},{frets:[2,3,4,3,-1,2],fingers:[1,2,4,3,0,1],barres:[2],capo:!0,baseFret:1,midi:[42,48,54,58,-1,66]},{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:4,barres:[],midi:[-1,-1,54,60,66,70]},{frets:[-1,1,2,3,3,1],fingers:[0,1,2,3,4,0],barres:[1],capo:!0,baseFret:9,midi:[-1,54,60,66,70,73]}]},{key:"F#",suffix:"aug",positions:[{frets:[-1,-1,4,3,3,2],fingers:[0,0,4,2,3,1],baseFret:1,barres:[],midi:[-1,-1,54,58,62,66]},{frets:[-1,-1,4,3,3,-1],fingers:[0,0,2,1,1,0],barres:[3],capo:!0,baseFret:1,midi:[-1,-1,54,58,62,-1]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:7,midi:[-1,54,58,62,66,-1]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:11,midi:[54,58,62,66,70,-1]}]},{key:"F#",suffix:"5",positions:[{frets:[2,4,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:1,barres:[],midi:[42,49,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:9,barres:[],midi:[-1,54,61,-1,-1,-1]},{frets:[2,4,4,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:1,barres:[],midi:[42,49,54,-1,-1,-1]}]},{key:"F#",suffix:"6",positions:[{frets:[2,-1,1,3,2,-1],fingers:[2,0,1,4,3,0],baseFret:1,barres:[],midi:[42,-1,51,58,61,-1]},{frets:[2,-1,4,3,4,2],fingers:[1,0,3,2,4,1],barres:[2],capo:!0,baseFret:1,midi:[42,-1,54,58,63,66]},{frets:[-1,1,1,3,1,3],fingers:[0,1,1,3,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,63,70]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,3],barres:[3],baseFret:9,midi:[-1,54,61,66,70,75]}]},{key:"F#",suffix:"69",positions:[{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:1,midi:[42,46,51,56,61,66]},{frets:[-1,-1,4,3,4,4],fingers:[0,0,2,1,3,4],baseFret:1,barres:[],midi:[-1,-1,54,58,63,68]},{frets:[-1,1,1,1,2,1],fingers:[0,1,1,1,2,1],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,61,66,70]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,63,68,73]}]},{key:"F#",suffix:"7",positions:[{frets:[2,4,2,3,2,2],fingers:[1,3,1,2,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,52,58,61,66]},{frets:[-1,1,1,3,2,3],fingers:[0,1,1,3,2,4],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,64,70]},{frets:[-1,3,2,3,1,-1],fingers:[0,3,2,4,1,0],baseFret:7,barres:[],midi:[-1,54,58,64,66,-1]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,64,70,73]}]},{key:"F#",suffix:"7b5",positions:[{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[42,-1,52,58,60,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:4,barres:[],midi:[-1,-1,54,60,64,70]},{frets:[-1,1,2,3,1,2],fingers:[0,1,2,4,1,3],barres:[1],capo:!0,baseFret:7,midi:[-1,52,58,64,66,72]},{frets:[-1,1,2,1,3,0],fingers:[0,1,2,1,3,0],barres:[1],baseFret:9,midi:[-1,54,60,64,70,64]}]},{key:"F#",suffix:"aug7",positions:[{frets:[2,-1,2,3,3,-1],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[42,-1,52,58,62,-1]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:4,barres:[],midi:[-1,-1,54,62,64,70]},{frets:[-1,3,2,1,1,0],fingers:[0,4,3,1,2,0],baseFret:7,barres:[],midi:[-1,54,58,62,66,64]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:9,midi:[-1,54,62,64,70,74]}]},{key:"F#",suffix:"9",positions:[{frets:[2,4,2,3,2,4],fingers:[1,3,1,2,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,49,52,58,61,68]},{frets:[-1,-1,2,1,3,2],fingers:[0,0,2,1,4,3],baseFret:3,barres:[],midi:[-1,-1,54,58,64,68]},{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:8,midi:[49,54,58,64,68,73]},{frets:[-1,1,1,1,1,2],fingers:[0,1,1,1,1,2],barres:[1],capo:!0,baseFret:11,midi:[-1,56,61,66,70,76]}]},{key:"F#",suffix:"9b5",positions:[{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[42,46,52,56,60,66]},{frets:[2,1,2,1,1,0],fingers:[2,1,3,1,1,0],barres:[1],baseFret:1,midi:[42,46,52,56,60,64]},{frets:[-1,1,2,1,3,2],fingers:[0,1,2,1,4,3],barres:[1],capo:!0,baseFret:3,midi:[-1,48,54,58,64,68]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,64,68,72]}]},{key:"F#",suffix:"aug9",positions:[{frets:[2,1,2,1,3,0],fingers:[2,1,3,1,4,0],barres:[1],baseFret:1,midi:[42,46,52,56,62,64]},{frets:[-1,3,2,1,3,0],fingers:[0,3,2,1,4,0],baseFret:7,barres:[],midi:[-1,54,58,62,68,64]},{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:8,midi:[-1,54,58,64,68,74]},{frets:[4,-1,2,3,1,0],fingers:[4,0,2,3,1,0],baseFret:11,barres:[],midi:[54,-1,62,68,70,64]}]},{key:"F#",suffix:"7b9",positions:[{frets:[2,1,2,0,2,0],fingers:[2,1,3,0,4,0],baseFret:1,barres:[],midi:[42,46,52,55,61,64]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,2,1,3,1],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,54,58,64,67]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,64,67,73]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:12,barres:[],midi:[54,58,64,67,-1,-1]}]},{key:"F#",suffix:"7#9",positions:[{frets:[2,1,2,2,2,2],fingers:[2,1,3,3,3,4],barres:[2],baseFret:1,midi:[42,46,52,57,61,66]},{frets:[1,3,1,2,1,4],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:2,midi:[42,49,52,58,61,69]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,2,1,3,4],baseFret:3,barres:[],midi:[-1,-1,54,58,64,69]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:8,barres:[],midi:[-1,54,58,64,69,-1]}]},{key:"F#",suffix:"11",positions:[{frets:[2,1,2,1,0,0],fingers:[3,1,4,2,0,0],baseFret:1,barres:[],midi:[42,46,52,56,59,64]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,59,64,70]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[-1,54,58,64,66,71]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,64,70,73]}]},{key:"F#",suffix:"9#11",positions:[{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[42,46,52,56,60,66]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:4,barres:[],midi:[-1,-1,54,60,64,70]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,64,68,72]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:9,midi:[-1,54,60,64,70,73]}]},{key:"F#",suffix:"13",positions:[{frets:[2,2,1,3,0,0],fingers:[2,3,1,4,0,0],baseFret:1,barres:[],midi:[42,47,51,58,59,64]},{frets:[2,2,2,3,4,4],fingers:[1,1,1,2,3,4],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,58,63,68]},{frets:[-1,3,2,2,1,0],fingers:[0,4,2,3,1,0],baseFret:7,barres:[],midi:[-1,54,58,63,66,64]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,64,70,75]}]},{key:"F#",suffix:"maj7",positions:[{frets:[2,4,3,3,2,2],fingers:[1,4,2,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,53,58,61,66]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,65,70]},{frets:[-1,4,3,1,1,1],fingers:[0,4,3,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[-1,54,58,61,65,70]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,65,70,73]}]},{key:"F#",suffix:"maj7b5",positions:[{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[42,46,53,58,60,65]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:4,barres:[],midi:[-1,-1,54,60,65,70]},{frets:[-1,2,1,3,4,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,65,70,72]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:9,barres:[],midi:[-1,54,60,65,70,-1]}]},{key:"F#",suffix:"maj7#5",positions:[{frets:[2,-1,3,3,3,-1],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[42,-1,53,58,62,-1]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,54,58,62,65,70]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:9,barres:[],midi:[-1,54,62,65,70,-1]},{frets:[-1,-1,2,1,1,3],fingers:[0,0,2,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[-1,-1,62,66,70,77]}]},{key:"F#",suffix:"maj9",positions:[{frets:[2,1,3,1,2,1],fingers:[2,1,4,1,3,1],barres:[1],capo:!0,baseFret:1,midi:[42,46,53,56,61,65]},{frets:[2,-1,3,3,2,4],fingers:[1,0,2,3,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,-1,53,58,61,68]},{frets:[-1,-1,2,1,4,2],fingers:[0,0,2,1,4,3],baseFret:3,barres:[],midi:[-1,-1,54,58,65,68]},{frets:[2,2,1,3,2,-1],fingers:[2,2,1,4,3,0],barres:[2],baseFret:8,midi:[49,54,58,65,68,-1]}]},{key:"F#",suffix:"maj11",positions:[{frets:[2,2,3,3,2,2],fingers:[1,1,2,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,53,58,61,66]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,65,70]},{frets:[-1,2,1,3,0,2],fingers:[0,2,1,4,0,3],baseFret:8,barres:[],midi:[-1,54,58,65,59,73]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,65,70,73]}]},{key:"F#",suffix:"maj13",positions:[{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:1,midi:[42,46,51,56,61,65]},{frets:[-1,3,1,1,3,3],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:4,midi:[-1,51,54,59,65,70]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],baseFret:6,midi:[-1,54,58,63,65,70]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,65,70,75]}]},{key:"F#",suffix:"m6",positions:[{frets:[2,-1,1,2,2,2],fingers:[2,0,1,3,3,4],barres:[2],baseFret:1,midi:[42,-1,51,57,61,66]},{frets:[-1,1,1,3,1,2],fingers:[0,1,1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,63,69]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:7,midi:[-1,54,57,63,66,73]},{frets:[-1,2,4,1,3,-1],fingers:[0,2,4,1,3,0],baseFret:8,barres:[],midi:[-1,54,61,63,69,-1]}]},{key:"F#",suffix:"m7",positions:[{frets:[2,-1,2,2,2,-1],fingers:[2,0,3,3,3,0],baseFret:1,barres:[],midi:[42,-1,52,57,61,-1]},{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:14,barres:[],midi:[54,-1,64,69,73,-1]},{frets:[2,4,2,2,2,2],fingers:[1,3,1,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,52,57,61,66]},{frets:[-1,-1,1,3,2,2],fingers:[0,0,1,4,2,3],baseFret:4,barres:[],midi:[-1,-1,54,61,64,69]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,64,69,73]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:10,barres:[],midi:[-1,-1,61,66,69,76]}]},{key:"F#",suffix:"m7b5",positions:[{frets:[2,0,2,2,1,0],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[42,45,52,57,60,64]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:4,midi:[-1,-1,54,60,64,69]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:9,barres:[],midi:[-1,54,60,64,69,-1]},{frets:[-1,-1,1,2,1,3],fingers:[0,0,1,2,1,4],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,66,69,76]}]},{key:"F#",suffix:"m9",positions:[{frets:[2,0,2,1,2,0],fingers:[2,0,3,1,4,0],baseFret:1,barres:[],midi:[42,45,52,56,61,64]},{frets:[2,4,2,2,2,4],fingers:[1,2,1,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[42,49,52,57,61,68]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:7,midi:[-1,54,57,64,68,73]},{frets:[-1,-1,2,4,1,3],fingers:[0,0,2,4,1,3],baseFret:10,barres:[],midi:[-1,-1,61,68,69,76]}]},{key:"F#",suffix:"m69",positions:[{frets:[2,0,1,1,2,2],fingers:[2,0,1,1,3,4],barres:[1],baseFret:1,midi:[42,45,51,56,61,66]},{frets:[2,4,4,2,4,4],fingers:[1,2,2,1,3,4],barres:[4],baseFret:1,midi:[42,49,54,57,63,68]},{frets:[2,1,1,3,1,1],fingers:[2,1,1,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[45,49,54,61,63,68]},{frets:[-1,3,1,2,3,-1],fingers:[0,3,1,2,4,0],baseFret:7,barres:[],midi:[-1,54,57,63,68,-1]}]},{key:"F#",suffix:"m11",positions:[{frets:[2,0,2,1,0,0],fingers:[2,0,3,1,0,0],baseFret:1,barres:[],midi:[42,45,52,56,59,64]},{frets:[2,2,2,2,2,4],fingers:[1,1,1,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,57,61,68]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,64,69]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[-1,54,57,64,68,71]}]},{key:"F#",suffix:"mmaj7",positions:[{frets:[2,4,3,2,2,2],fingers:[1,3,2,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,53,57,61,66]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,65,69]},{frets:[-1,4,2,1,1,-1],fingers:[0,4,2,1,1,0],barres:[1],capo:!0,baseFret:6,midi:[-1,54,57,61,65,-1]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,65,69,73]}]},{key:"F#",suffix:"mmaj7b5",positions:[{frets:[2,3,3,2,-1,2],fingers:[1,2,3,1,0,1],barres:[2],capo:!0,baseFret:1,midi:[42,48,53,57,-1,66]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:4,barres:[],midi:[-1,-1,54,60,65,69]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:8,midi:[48,54,60,65,69,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:9,barres:[],midi:[-1,54,60,65,69,-1]}]},{key:"F#",suffix:"mmaj9",positions:[{frets:[2,0,3,1,2,1],fingers:[2,0,4,1,3,1],barres:[1],baseFret:1,midi:[42,45,53,56,61,65]},{frets:[2,0,3,1,2,-1],fingers:[2,0,4,1,3,0],baseFret:1,barres:[],midi:[42,45,53,56,61,-1]},{frets:[2,4,3,2,2,4],fingers:[1,3,2,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,49,53,57,61,68]},{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:7,barres:[],midi:[-1,54,57,65,68,-1]}]},{key:"F#",suffix:"mmaj11",positions:[{frets:[2,2,3,2,2,4],fingers:[1,1,2,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,47,53,57,61,68]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,59,65,69]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:7,midi:[-1,54,57,65,68,71]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,65,69,73]}]},{key:"F#",suffix:"add9",positions:[{frets:[2,1,-1,1,2,2],fingers:[3,1,0,2,4,4],barres:[2],baseFret:1,midi:[42,46,-1,56,61,66]},{frets:[-1,-1,4,3,2,4],fingers:[0,0,3,2,1,4],baseFret:1,barres:[],midi:[-1,-1,54,58,61,68]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,54,58,61,68,70]},{frets:[-1,2,1,-1,2,2],fingers:[0,2,1,0,3,4],baseFret:8,barres:[],midi:[-1,54,58,-1,68,73]}]},{key:"F#",suffix:"madd9",positions:[{frets:[-1,-1,4,2,2,4],fingers:[0,0,3,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[-1,-1,54,57,61,68]},{frets:[2,4,4,2,2,4],fingers:[1,2,3,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,49,54,57,61,68]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:6,barres:[],midi:[-1,54,57,61,68,-1]},{frets:[-1,3,1,-1,3,3],fingers:[0,2,1,0,3,4],baseFret:7,barres:[],midi:[-1,54,57,-1,68,73]}]}],G:[{key:"G",suffix:"major",positions:[{frets:[3,2,0,0,0,3],fingers:[2,1,0,0,0,3],baseFret:1,barres:[],midi:[43,47,50,55,59,67]},{frets:[3,2,0,0,0,3],fingers:[3,2,0,0,0,4],baseFret:1,barres:[],midi:[43,47,50,55,59,67]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,55,59,62,67]},{frets:[-1,-1,1,3,4,3],fingers:[0,0,1,2,4,3],baseFret:5,barres:[],midi:[-1,-1,55,62,67,71]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],capo:!0,baseFret:7,midi:[47,55,59,62,67,71]}]},{key:"G",suffix:"minor",positions:[{frets:[3,1,0,0,3,3],fingers:[2,1,0,0,3,4],baseFret:1,barres:[],midi:[43,46,50,55,62,67]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,55,58,62,67]},{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:5,barres:[],midi:[-1,-1,55,62,67,70]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,67,70,74]}]},{key:"G",suffix:"dim",positions:[{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:1,barres:[],midi:[43,46,-1,58,61,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:5,barres:[],midi:[-1,-1,55,61,-1,70]},{frets:[-1,3,1,-1,1,2],fingers:[0,1,2,4,3,0],baseFret:8,barres:[],midi:[-1,55,58,-1,67,73]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:10,barres:[],midi:[-1,55,61,67,70,-1]}]},{key:"G",suffix:"dim7",positions:[{frets:[3,1,-1,3,2,0],fingers:[3,1,0,4,2,0],baseFret:1,barres:[],midi:[43,46,-1,58,61,64]},{frets:[3,-1,2,3,2,0],fingers:[3,0,1,4,2,0],baseFret:1,barres:[],midi:[43,-1,52,58,61,64]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,49,55,58,64,67]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:5,barres:[],midi:[-1,-1,55,61,64,70]}]},{key:"G",suffix:"sus2",positions:[{frets:[3,0,0,0,3,3],fingers:[1,0,0,0,2,3],baseFret:1,barres:[],midi:[43,45,50,55,62,67]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,62,67,69]},{frets:[-1,4,1,1,2,4],fingers:[0,3,1,1,2,4],barres:[1],capo:!0,baseFret:7,midi:[-1,55,57,62,67,74]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,67,69,74]}]},{key:"G",suffix:"sus4",positions:[{frets:[3,3,0,0,1,3],fingers:[2,3,0,0,1,4],baseFret:1,barres:[],midi:[43,48,50,55,60,67]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,55,60,62,67]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,3,4,4],barres:[1,4],capo:!0,baseFret:5,midi:[-1,50,55,62,67,72]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,67,72,74]}]},{key:"G",suffix:"sus2sus4",positions:[{frets:[3,3,0,2,1,-1],fingers:[3,4,0,2,1,0],baseFret:1,barres:[],midi:[43,48,50,57,60,-1]},{frets:[3,3,0,2,3,-1],fingers:[2,3,0,1,4,0],baseFret:1,barres:[],midi:[43,48,50,57,62,-1]},{frets:[3,0,0,2,1,3],fingers:[3,0,0,2,1,4],baseFret:1,barres:[],midi:[43,45,50,57,60,67]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],baseFret:3,midi:[43,48,55,60,62,69]},{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],baseFret:10,midi:[-1,55,60,67,69,74]}]},{key:"G",suffix:"7sus4",positions:[{frets:[3,3,0,0,1,1],fingers:[2,3,0,0,1,1],barres:[1],capo:!0,baseFret:1,midi:[43,48,50,55,60,65]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,60,62,67]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[-1,55,60,65,67,72]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,65,72,74]}]},{key:"G",suffix:"alt",positions:[{frets:[3,2,-1,0,2,3],fingers:[3,1,0,0,2,4],baseFret:1,barres:[],midi:[43,47,-1,55,61,67]},{frets:[-1,-1,1,2,0,3],fingers:[0,0,1,2,0,3],baseFret:5,barres:[],midi:[-1,-1,55,61,59,71]},{frets:[-1,2,1,0,0,1],fingers:[0,3,1,0,0,2],baseFret:9,barres:[],midi:[-1,55,59,55,59,73]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:10,barres:[],midi:[-1,55,61,67,71,-1]}]},{key:"G",suffix:"aug",positions:[{frets:[3,2,1,0,0,-1],fingers:[3,2,1,0,0,0],baseFret:1,barres:[],midi:[43,47,51,55,59,-1]},{frets:[1,-1,3,2,2,-1],fingers:[1,0,4,2,3,0],baseFret:3,barres:[],midi:[43,-1,55,59,63,-1]},{frets:[-1,-1,2,1,1,-1],fingers:[0,0,2,1,1,0],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,55,59,63,-1]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:8,midi:[-1,55,59,63,67,-1]}]},{key:"G",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:3,barres:[],midi:[43,50,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:10,barres:[],midi:[-1,55,62,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:3,barres:[],midi:[43,50,55,-1,-1,-1]}]},{key:"G",suffix:"6",positions:[{frets:[3,2,0,0,0,0],fingers:[2,1,0,0,0,0],baseFret:1,barres:[],midi:[43,47,50,55,59,64]},{frets:[3,-1,2,4,3,-1],fingers:[2,0,1,4,3,0],baseFret:1,barres:[],midi:[43,-1,52,59,62,-1]},{frets:[-1,1,1,3,1,3],fingers:[0,1,1,3,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,64,71]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,4],barres:[3],baseFret:10,midi:[-1,55,62,67,71,76]}]},{key:"G",suffix:"69",positions:[{frets:[3,0,0,0,0,0],fingers:[1,0,0,0,0,0],baseFret:1,barres:[],midi:[43,45,50,55,59,64]},{frets:[3,2,2,2,3,3],fingers:[2,1,1,1,3,4],barres:[2],capo:!0,baseFret:1,midi:[43,47,52,57,62,67]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],capo:!0,baseFret:4,midi:[-1,50,55,59,64,69]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:9,midi:[-1,55,59,64,69,74]}]},{key:"G",suffix:"7",positions:[{frets:[3,2,0,0,0,1],fingers:[3,2,0,0,0,1],baseFret:1,barres:[],midi:[43,47,50,55,59,65]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,59,62,67]},{frets:[-1,1,1,3,2,3],fingers:[0,1,1,3,2,4],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,65,71]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,65,71,74]}]},{key:"G",suffix:"7b5",positions:[{frets:[3,-1,3,4,2,-1],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[43,-1,53,59,61,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:5,barres:[],midi:[-1,-1,55,61,65,71]},{frets:[-1,2,1,2,0,1],fingers:[0,3,1,4,0,2],baseFret:9,barres:[],midi:[-1,55,59,65,59,73]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:10,midi:[-1,55,61,65,71,-1]}]},{key:"G",suffix:"aug7",positions:[{frets:[3,2,1,0,0,1],fingers:[4,3,1,0,0,2],baseFret:1,barres:[],midi:[43,47,51,55,59,65]},{frets:[3,-1,3,4,4,-1],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[43,-1,53,59,63,-1]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:5,barres:[],midi:[-1,-1,55,63,65,71]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:10,midi:[-1,55,63,65,71,75]}]},{key:"G",suffix:"9",positions:[{frets:[3,0,0,0,0,1],fingers:[3,0,0,0,0,1],baseFret:1,barres:[],midi:[43,45,50,55,59,65]},{frets:[3,2,3,2,3,-1],fingers:[2,1,3,1,4,0],barres:[2],capo:!0,baseFret:1,midi:[43,47,53,57,62,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,59,62,69]},{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:9,midi:[50,55,59,65,69,74]}]},{key:"G",suffix:"9b5",positions:[{frets:[3,2,3,2,2,3],fingers:[2,1,3,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[43,47,53,57,61,67]},{frets:[1,2,1,2,0,3],fingers:[1,2,1,3,0,4],barres:[1],baseFret:3,midi:[43,49,53,59,59,69]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[-1,55,59,65,69,73]},{frets:[-1,2,1,0,0,3],fingers:[0,2,1,0,0,3],baseFret:11,barres:[],midi:[-1,57,61,55,59,77]}]},{key:"G",suffix:"aug9",positions:[{frets:[3,0,1,0,0,1],fingers:[3,0,2,0,0,1],baseFret:1,barres:[],midi:[43,45,51,55,59,65]},{frets:[3,2,3,2,4,-1],fingers:[2,1,3,1,4,0],baseFret:1,barres:[],midi:[43,47,53,57,63,-1]},{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:9,midi:[-1,55,59,65,69,75]},{frets:[-1,1,2,0,1,2],fingers:[0,1,3,0,2,4],baseFret:12,barres:[],midi:[-1,57,63,55,71,77]}]},{key:"G",suffix:"7b9",positions:[{frets:[3,2,0,1,3,1],fingers:[3,2,0,1,4,1],barres:[1],baseFret:1,midi:[43,47,50,56,62,65]},{frets:[3,-1,3,4,3,4],fingers:[1,0,1,2,1,3],barres:[3],capo:!0,baseFret:1,midi:[43,-1,53,59,62,68]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,2,1,3,1],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,55,59,65,68]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:9,midi:[-1,55,59,65,68,74]}]},{key:"G",suffix:"7#9",positions:[{frets:[3,2,0,3,0,1],fingers:[3,2,0,4,0,1],baseFret:1,barres:[],midi:[43,47,50,58,59,65]},{frets:[1,3,1,2,4,4],fingers:[1,3,1,2,4,4],barres:[1,4],capo:!0,baseFret:3,midi:[43,50,53,59,65,70]},{frets:[-1,2,2,1,3,3],fingers:[0,2,3,1,4,4],barres:[3],baseFret:4,midi:[-1,50,55,59,65,70]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:9,barres:[],midi:[-1,55,59,65,70,-1]}]},{key:"G",suffix:"11",positions:[{frets:[3,2,0,0,1,1],fingers:[3,2,0,0,1,1],barres:[1],baseFret:1,midi:[43,47,50,55,60,65]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,60,65,71]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[-1,55,59,65,67,72]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:10,midi:[-1,55,60,65,71,74]}]},{key:"G",suffix:"9#11",positions:[{frets:[3,2,3,2,2,3],fingers:[2,1,3,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[43,47,53,57,61,67]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:5,barres:[],midi:[-1,-1,55,61,65,71]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[-1,55,59,65,69,73]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:10,midi:[-1,55,61,65,71,74]}]},{key:"G",suffix:"13",positions:[{frets:[3,0,2,0,0,1],fingers:[3,0,2,0,0,1],baseFret:1,barres:[],midi:[43,45,52,55,59,65]},{frets:[1,-1,1,2,3,3],fingers:[1,0,1,2,3,4],barres:[1],capo:!0,baseFret:3,midi:[43,-1,53,59,64,69]},{frets:[1,3,1,2,3,1],fingers:[1,3,1,2,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,59,64,67]},{frets:[-1,2,1,2,2,4],fingers:[0,2,1,3,3,4],barres:[2],baseFret:9,midi:[-1,55,59,65,69,76]}]},{key:"G",suffix:"maj7",positions:[{frets:[3,2,0,0,0,2],fingers:[3,2,0,0,0,1],baseFret:1,barres:[],midi:[43,47,50,55,59,66]},{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,54,59,62,67]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1,3],capo:!0,baseFret:5,midi:[-1,50,55,62,66,71]},{frets:[-1,1,3,2,3,1],fingers:[0,1,3,2,4,1],barres:[1],capo:!0,baseFret:10,midi:[-1,55,62,66,71,74]}]},{key:"G",suffix:"maj7b5",positions:[{frets:[3,2,4,4,2,2],fingers:[2,1,3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[43,47,54,59,61,66]},{frets:[3,4,4,4,-1,-1],fingers:[1,2,3,4,0,0],baseFret:1,barres:[],midi:[43,49,54,59,-1,-1]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:5,barres:[],midi:[-1,-1,55,61,66,71]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:10,barres:[],midi:[-1,55,61,66,71,-1]}]},{key:"G",suffix:"maj7#5",positions:[{frets:[-1,-1,1,0,0,2],fingers:[0,0,1,0,0,3],baseFret:1,barres:[],midi:[-1,-1,51,55,59,66]},{frets:[3,-1,4,4,4,-1],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[43,-1,54,59,63,-1]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,55,59,63,66,71]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:10,barres:[],midi:[-1,55,63,66,71,-1]}]},{key:"G",suffix:"maj9",positions:[{frets:[3,0,0,0,0,2],fingers:[2,0,0,0,0,1],baseFret:1,barres:[],midi:[43,45,50,55,59,66]},{frets:[3,2,4,2,3,2],fingers:[2,1,4,1,3,1],barres:[2],capo:!0,baseFret:1,midi:[43,47,54,57,62,66]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:3,barres:[],midi:[-1,-1,54,59,62,69]},{frets:[-1,2,1,3,2,-1],fingers:[0,2,1,4,3,0],baseFret:9,barres:[],midi:[-1,55,59,66,69,-1]}]},{key:"G",suffix:"maj11",positions:[{frets:[3,2,0,0,1,2],fingers:[4,2,0,0,1,3],baseFret:1,barres:[],midi:[43,47,50,55,60,66]},{frets:[3,3,4,4,3,3],fingers:[1,1,2,3,1,1],barres:[3],capo:!0,baseFret:1,midi:[43,48,54,59,62,67]},{frets:[-1,-1,3,0,1,2],fingers:[0,0,3,0,1,2],baseFret:7,barres:[],midi:[-1,-1,59,55,66,72]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,60,66,71,74]}]},{key:"G",suffix:"maj13",positions:[{frets:[3,2,2,2,3,2],fingers:[3,1,1,1,3,1],barres:[2,3],capo:!0,baseFret:1,midi:[43,47,52,57,62,66]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,54,59,64,67]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],baseFret:7,midi:[-1,55,59,64,66,71]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:10,midi:[-1,55,60,66,71,76]}]},{key:"G",suffix:"m6",positions:[{frets:[3,-1,2,3,3,3],fingers:[2,0,1,3,4,4],barres:[3],baseFret:1,midi:[43,-1,52,58,62,67]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,55,58,64,67]},{frets:[-1,1,1,3,1,2],fingers:[0,1,1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,64,70]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,55,58,64,67,74]}]},{key:"G",suffix:"m7",positions:[{frets:[3,-1,3,3,3,-1],fingers:[2,0,3,3,3,0],baseFret:1,barres:[],midi:[43,-1,53,58,62,-1]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,58,62,67]},{frets:[-1,1,1,3,2,2],fingers:[0,1,1,4,2,3],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,65,70]},{frets:[-1,3,1,3,1,3],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,55,58,65,67,74]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,65,70,74]}]},{key:"G",suffix:"m7b5",positions:[{frets:[3,-1,-1,3,2,1],fingers:[3,0,0,4,2,1],baseFret:1,barres:[],midi:[43,-1,-1,58,61,65]},{frets:[3,-1,3,3,2,-1],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[43,-1,53,58,61,-1]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:5,midi:[-1,-1,55,61,65,70]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:10,barres:[],midi:[-1,55,61,65,70,-1]}]},{key:"G",suffix:"m9",positions:[{frets:[3,0,0,3,3,1],fingers:[2,0,0,3,4,1],baseFret:1,barres:[],midi:[43,45,50,58,62,65]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,58,62,69]},{frets:[-1,-1,2,0,1,1],fingers:[0,0,2,0,1,1],barres:[1],baseFret:6,midi:[-1,-1,57,55,65,70]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:8,midi:[-1,55,58,65,69,74]}]},{key:"G",suffix:"m69",positions:[{frets:[3,1,0,2,3,0],fingers:[3,1,0,2,4,0],baseFret:1,barres:[],midi:[43,46,50,57,62,64]},{frets:[-1,3,3,1,3,3],fingers:[0,2,2,1,3,4],barres:[3],baseFret:3,midi:[-1,50,55,58,64,69]},{frets:[2,1,1,3,1,1],fingers:[2,1,1,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[46,50,55,62,64,69]},{frets:[-1,3,1,2,3,3],fingers:[0,3,1,2,4,4],barres:[3],baseFret:8,midi:[-1,55,58,64,69,74]}]},{key:"G",suffix:"m11",positions:[{frets:[3,-1,3,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[43,-1,53,58,60,-1]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[43,48,53,58,62,69]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,55,60,66,71]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,55,58,65,69,72]}]},{key:"G",suffix:"mmaj7",positions:[{frets:[3,1,0,0,3,2],fingers:[3,1,0,0,4,2],baseFret:1,barres:[],midi:[43,46,50,55,62,66]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,54,58,62,67]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,66,70]},{frets:[-1,1,3,2,2,1],fingers:[0,1,4,2,3,1],barres:[1],capo:!0,baseFret:10,midi:[-1,55,62,66,70,74]}]},{key:"G",suffix:"mmaj7b5",positions:[{frets:[3,4,4,3,-1,3],fingers:[1,2,3,1,0,1],barres:[3],capo:!0,baseFret:1,midi:[43,49,54,58,-1,67]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:5,barres:[],midi:[-1,-1,55,61,66,70]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:9,midi:[49,55,61,66,70,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:10,barres:[],midi:[-1,55,61,66,70,-1]}]},{key:"G",suffix:"mmaj9",positions:[{frets:[3,0,0,3,3,2],fingers:[2,0,0,3,4,1],baseFret:1,barres:[],midi:[43,45,50,58,62,66]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[43,50,54,58,62,69]},{frets:[-1,-1,2,0,2,1],fingers:[0,0,2,0,3,1],baseFret:6,barres:[],midi:[-1,-1,57,55,66,70]},{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:8,barres:[],midi:[-1,55,58,66,69,-1]}]},{key:"G",suffix:"mmaj11",positions:[{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[43,48,54,58,62,69]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,60,66,70]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:8,midi:[-1,55,58,66,69,72]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,60,66,70,74]}]},{key:"G",suffix:"add9",positions:[{frets:[3,0,0,2,0,3],fingers:[2,0,0,1,0,3],baseFret:1,barres:[],midi:[43,45,50,57,59,67]},{frets:[-1,-1,3,2,1,4],fingers:[0,0,3,2,1,4],baseFret:1,barres:[],midi:[-1,-1,53,57,60,68]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[-1,55,59,62,69,71]},{frets:[-1,2,1,0,2,2],fingers:[0,2,1,0,3,4],baseFret:9,barres:[],midi:[-1,55,59,55,69,74]}]},{key:"G",suffix:"madd9",positions:[{frets:[3,1,0,2,3,3],fingers:[3,1,0,2,4,4],barres:[3],baseFret:1,midi:[43,46,50,57,62,67]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,55,58,62,69]},{frets:[-1,-1,2,0,3,1],fingers:[0,0,2,0,3,1],baseFret:6,barres:[],midi:[-1,-1,57,55,67,70]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:7,barres:[],midi:[-1,55,58,62,69,-1]}]},{key:"G",suffix:"/F#",positions:[{frets:[2,2,0,0,0,3],fingers:[1,2,0,0,0,3],baseFret:1,barres:[],midi:[42,47,50,55,59,67]},{frets:[2,2,0,0,3,3],fingers:[1,2,0,0,3,4],baseFret:1,barres:[],midi:[42,47,50,55,62,67]},{frets:[-1,-1,4,4,3,3],fingers:[0,0,2,3,1,1],barres:[3],baseFret:1,midi:[-1,-1,54,59,62,67]}]},{key:"G",suffix:"/B",positions:[{frets:[-1,2,0,0,3,3],fingers:[0,1,0,0,2,3],baseFret:1,barres:[],midi:[-1,47,50,55,62,67]},{frets:[-1,2,0,0,0,3],fingers:[0,1,0,0,0,2],baseFret:1,barres:[],midi:[-1,47,50,55,59,67]},{frets:[-1,1,4,3,2,2],fingers:[0,1,4,3,2,2],barres:[2],baseFret:2,midi:[-1,47,55,59,62,67]}]},{key:"G",suffix:"/D",positions:[{frets:[-1,-1,0,0,0,3],fingers:[0,0,0,0,0,1],baseFret:1,barres:[],midi:[-1,-1,50,55,59,67]},{frets:[-1,3,3,2,1,1],fingers:[0,3,4,2,1,1],barres:[1],baseFret:3,midi:[-1,50,55,59,62,67]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,3,4,3],barres:[1],baseFret:5,midi:[-1,50,55,62,67,71]}]},{key:"G",suffix:"/E",positions:[{frets:[0,2,0,0,3,3],fingers:[0,1,0,0,2,3],baseFret:1,barres:[],midi:[40,47,50,55,62,67]},{frets:[0,2,0,0,0,3],fingers:[0,1,0,0,0,2],baseFret:1,barres:[],midi:[40,47,50,55,59,67]},{frets:[-1,-1,2,4,3,3],fingers:[0,0,1,4,2,3],baseFret:1,barres:[],midi:[-1,-1,52,59,62,67]}]},{key:"G",suffix:"/F",positions:[{frets:[1,2,0,0,3,3],fingers:[1,2,0,0,3,4],baseFret:1,barres:[],midi:[41,47,50,55,62,67]},{frets:[1,2,0,0,0,3],fingers:[1,2,0,0,0,3],baseFret:1,barres:[],midi:[41,47,50,55,59,67]},{frets:[-1,-1,3,4,3,3],fingers:[0,0,1,2,1,1],baseFret:1,barres:[],midi:[-1,-1,53,59,62,67]}]}],"G#":[{key:"G#",suffix:"major",positions:[{frets:[4,3,1,1,1,-1],fingers:[3,2,1,1,1,0],barres:[1],capo:!0,baseFret:1,midi:[44,48,51,56,60,-1]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,60,63,68]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,2,4,3],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,68,72]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],capo:!0,baseFret:8,midi:[48,56,60,63,68,72]}]},{key:"G#",suffix:"minor",positions:[{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,59,63,68]},{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:6,barres:[],midi:[-1,-1,56,63,68,71]},{frets:[-1,-1,3,2,3,1],fingers:[0,0,3,2,4,1],baseFret:7,barres:[],midi:[-1,-1,59,63,68,71]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,68,71,75]}]},{key:"G#",suffix:"dim",positions:[{frets:[4,2,-1,4,3,-1],fingers:[3,1,0,4,2,0],baseFret:1,barres:[],midi:[44,47,-1,59,62,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:6,barres:[],midi:[-1,-1,56,62,-1,71]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:9,barres:[],midi:[-1,56,59,-1,68,74]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:11,barres:[],midi:[-1,56,62,68,71,-1]}]},{key:"G#",suffix:"dim7",positions:[{frets:[-1,-1,0,1,0,1],fingers:[0,0,0,1,0,2],baseFret:1,barres:[],midi:[-1,-1,50,56,59,65]},{frets:[4,-1,3,4,3,4],fingers:[2,0,1,3,1,4],barres:[3],capo:!0,baseFret:1,midi:[44,-1,53,59,62,68]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:6,barres:[],midi:[-1,-1,56,62,65,71]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[50,56,62,65,71,74]}]},{key:"G#",suffix:"sus2",positions:[{frets:[4,-1,-1,3,4,4],fingers:[2,0,0,1,3,4],baseFret:1,barres:[],midi:[44,-1,-1,58,63,68]},{frets:[1,3,3,-1,1,3],fingers:[1,2,3,0,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,-1,63,70]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,63,68,70]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,68,70,75]}]},{key:"G#",suffix:"sus4",positions:[{frets:[-1,-1,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,51,56,61,68]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,61,63,68]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,68,73]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,68,73,75]}]},{key:"G#",suffix:"7sus4",positions:[{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,2],barres:[1,2],capo:!0,baseFret:1,midi:[-1,-1,51,56,61,66]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,61,63,68]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[-1,56,61,66,68,73]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,66,73,75]}]},{key:"G#",suffix:"alt",positions:[{frets:[-1,-1,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:3,barres:[],midi:[-1,-1,56,60,62,68]},{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:6,barres:[],midi:[-1,-1,56,62,68,72]},{frets:[-1,2,1,4,4,1],fingers:[0,2,1,4,4,1],barres:[1,4],capo:!0,baseFret:10,midi:[-1,56,60,68,72,74]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:11,barres:[],midi:[-1,56,62,68,72,-1]}]},{key:"G#",suffix:"aug",positions:[{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:1,midi:[44,48,52,56,60,-1]},{frets:[1,-1,3,2,2,-1],fingers:[1,0,4,2,3,0],baseFret:4,barres:[],midi:[44,-1,56,60,64,-1]},{frets:[-1,-1,2,1,1,-1],fingers:[0,0,2,1,1,0],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,56,60,64,-1]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:9,midi:[-1,56,60,64,68,-1]}]},{key:"G#",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:4,barres:[],midi:[44,51,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:11,barres:[],midi:[-1,56,63,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:4,barres:[],midi:[44,51,56,-1,-1,-1]}]},{key:"G#",suffix:"6",positions:[{frets:[-1,3,1,1,1,1],fingers:[0,3,1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,48,51,56,60,65]},{frets:[2,-1,1,3,2,-1],fingers:[2,0,1,4,3,0],baseFret:3,barres:[],midi:[44,-1,53,60,63,-1]},{frets:[-1,1,1,3,1,3],fingers:[0,1,1,3,1,4],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,65,72]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:9,barres:[],midi:[-1,56,60,65,68,-1]}]},{key:"G#",suffix:"69",positions:[{frets:[-1,1,1,1,1,1],fingers:[0,1,1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,56,60,65]},{frets:[4,3,3,3,4,4],fingers:[2,1,1,1,3,4],barres:[3],capo:!0,baseFret:1,midi:[44,48,53,58,63,68]},{frets:[-1,-1,2,1,2,2],fingers:[0,0,2,1,3,4],baseFret:5,barres:[],midi:[-1,-1,56,60,65,70]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:10,midi:[-1,56,60,65,70,75]}]},{key:"G#",suffix:"7",positions:[{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,51,56,60,66]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,60,63,68]},{frets:[-1,1,1,3,2,3],fingers:[0,1,1,3,2,4],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,66,72]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,66,72,75]}]},{key:"G#",suffix:"7b5",positions:[{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:3,barres:[],midi:[44,-1,54,60,62,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:6,barres:[],midi:[-1,-1,56,62,66,72]},{frets:[-1,1,2,3,1,2],fingers:[0,1,2,4,1,3],barres:[1],capo:!0,baseFret:9,midi:[-1,54,60,66,68,74]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:11,midi:[-1,56,62,66,72,-1]}]},{key:"G#",suffix:"aug7",positions:[{frets:[1,-1,1,2,2,0],fingers:[1,0,2,3,4,0],baseFret:4,barres:[],midi:[44,-1,54,60,64,64]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:6,barres:[],midi:[-1,-1,56,64,66,72]},{frets:[-1,3,2,3,1,0],fingers:[0,3,2,4,1,0],baseFret:9,barres:[],midi:[-1,56,60,66,68,64]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:11,midi:[-1,56,64,66,72,76]}]},{key:"G#",suffix:"9",positions:[{frets:[4,3,4,3,4,-1],fingers:[2,1,3,1,4,0],barres:[3],capo:!0,baseFret:1,midi:[44,48,54,58,63,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,60,63,70]},{frets:[-1,-1,2,1,3,2],fingers:[0,0,2,1,4,3],baseFret:5,barres:[],midi:[-1,-1,56,60,66,70]},{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:10,midi:[51,56,60,66,70,75]}]},{key:"G#",suffix:"9b5",positions:[{frets:[4,3,0,3,-1,2],fingers:[4,2,0,3,0,1],baseFret:1,barres:[],midi:[44,48,50,58,-1,66]},{frets:[4,3,4,3,3,4],fingers:[2,1,3,1,1,4],barres:[3],capo:!0,baseFret:1,midi:[44,48,54,58,62,68]},{frets:[1,2,1,2,-1,3],fingers:[1,2,1,3,0,4],barres:[1],capo:!0,baseFret:4,midi:[44,50,54,60,-1,70]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[-1,56,60,66,70,74]}]},{key:"G#",suffix:"aug9",positions:[{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[42,46,52,56,60,66]},{frets:[2,1,2,1,3,0],fingers:[2,1,3,1,4,0],barres:[1],baseFret:3,midi:[44,48,54,58,64,64]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:4,barres:[],midi:[-1,-1,54,60,64,70]},{frets:[-1,2,1,2,2,0],fingers:[0,2,1,3,4,0],baseFret:10,barres:[],midi:[-1,56,60,66,70,64]}]},{key:"G#",suffix:"7b9",positions:[{frets:[-1,0,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],baseFret:1,midi:[-1,45,51,56,60,66]},{frets:[-1,-1,1,2,1,2],fingers:[1,0,1,2,1,3],barres:[1],baseFret:4,midi:[-1,-1,54,60,63,69]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,2,1,3,1],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,56,60,66,69]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:10,midi:[-1,56,60,66,69,75]}]},{key:"G#",suffix:"7#9",positions:[{frets:[4,3,4,4,4,4],fingers:[2,1,3,3,3,4],barres:[4],baseFret:1,midi:[44,48,54,59,63,68]},{frets:[1,3,1,2,4,4],fingers:[1,3,1,2,4,4],barres:[1,4],capo:!0,baseFret:4,midi:[44,51,54,60,66,71]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,3,1,4,4],barres:[3],baseFret:5,midi:[-1,-1,56,60,66,71]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:10,barres:[],midi:[-1,56,60,66,71,-1]}]},{key:"G#",suffix:"11",positions:[{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,60,63,68]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,61,66,72]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[-1,56,60,66,68,73]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:11,midi:[-1,56,61,66,72,75]}]},{key:"G#",suffix:"9#11",positions:[{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:3,barres:[],midi:[44,-1,54,60,62,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:6,barres:[],midi:[-1,-1,56,62,66,72]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[-1,56,60,66,70,74]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:11,midi:[-1,56,62,66,72,75]}]},{key:"G#",suffix:"13",positions:[{frets:[4,1,3,1,1,2],fingers:[4,1,3,1,1,2],barres:[1],capo:!0,baseFret:1,midi:[44,46,53,56,60,66]},{frets:[1,3,1,2,3,1],fingers:[1,3,1,2,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,60,65,68]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,60,65,70]},{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:10,midi:[-1,56,60,66,72,77]}]},{key:"G#",suffix:"maj7",positions:[{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,55,60,63,68]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,67,72]},{frets:[-1,3,2,4,1,-1],fingers:[0,3,2,4,1,0],baseFret:9,barres:[],midi:[-1,56,60,67,68,-1]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,67,72,75]}]},{key:"G#",suffix:"maj7b5",positions:[{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[44,48,55,60,62,67]},{frets:[1,2,2,2,-1,-1],fingers:[1,2,3,4,0,0],baseFret:4,barres:[],midi:[44,50,55,60,-1,-1]},{frets:[0,0,1,2,3,3],fingers:[0,0,1,2,3,4],barres:[3],capo:!0,baseFret:6,midi:[40,45,56,62,67,72]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,2,4,0],barres:[2],baseFret:11,midi:[-1,56,62,67,72,-1]}]},{key:"G#",suffix:"maj7#5",positions:[{frets:[4,3,2,0,1,0],fingers:[4,3,2,0,1,0],baseFret:1,barres:[],midi:[44,48,52,55,60,64]},{frets:[2,1,3,0,3,0],fingers:[2,1,3,0,4,0],baseFret:3,barres:[],midi:[44,48,55,55,64,64]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,56,60,64,67,72]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:11,barres:[],midi:[-1,56,64,67,72,-1]}]},{key:"G#",suffix:"maj9",positions:[{frets:[-1,1,1,1,1,3],fingers:[0,1,1,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,56,60,67]},{frets:[2,1,3,1,2,1],fingers:[2,1,4,1,3,1],barres:[1],capo:!0,baseFret:3,midi:[44,48,55,58,63,67]},{frets:[1,3,2,2,1,3],fingers:[1,3,2,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,55,60,63,70]},{frets:[2,2,1,3,2,-1],fingers:[2,2,1,4,3,0],barres:[2],baseFret:10,midi:[51,56,60,67,70,-1]}]},{key:"G#",suffix:"maj11",positions:[{frets:[4,3,1,0,2,-1],fingers:[4,3,1,0,2,0],baseFret:1,barres:[],midi:[44,48,51,55,61,-1]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,55,60,63,68]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:6,midi:[-1,-1,56,61,67,72]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,67,72,75]}]},{key:"G#",suffix:"maj13",positions:[{frets:[4,3,3,3,4,3],fingers:[2,1,1,1,3,1],barres:[3],capo:!0,baseFret:1,midi:[44,48,53,58,63,67]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,55,60,65,68]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[-1,56,60,65,67,72]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:11,midi:[-1,56,61,67,72,77]}]},{key:"G#",suffix:"m6",positions:[{frets:[4,-1,3,4,4,-1],fingers:[2,0,1,3,4,0],baseFret:1,barres:[],midi:[44,-1,53,59,63,-1]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,59,65,68]},{frets:[-1,1,1,3,1,2],fingers:[0,1,1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,65,71]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:9,midi:[-1,56,59,65,68,75]}]},{key:"G#",suffix:"m7",positions:[{frets:[4,-1,4,4,4,-1],fingers:[2,0,3,3,3,0],baseFret:1,barres:[],midi:[44,-1,54,59,63,-1]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,59,63,68]},{frets:[-1,1,1,3,2,2],fingers:[0,1,1,4,2,3],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,66,71]},{frets:[-1,3,1,3,1,-1],fingers:[0,2,1,3,1,0],barres:[1],capo:!0,baseFret:9,midi:[-1,56,59,66,68,-1]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,66,71,75]}]},{key:"G#",suffix:"m7b5",positions:[{frets:[-1,-1,0,1,0,2],fingers:[0,0,0,1,0,3],baseFret:1,barres:[],midi:[-1,-1,50,56,59,66]},{frets:[4,-1,4,4,3,-1],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[44,-1,54,59,62,-1]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:6,midi:[-1,-1,56,62,66,71]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:11,barres:[],midi:[-1,56,62,66,71,-1]}]},{key:"G#",suffix:"m9",positions:[{frets:[4,1,1,1,0,2],fingers:[4,1,1,2,0,3],barres:[1],baseFret:1,midi:[44,46,51,56,59,66]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,59,63,70]},{frets:[1,3,2,2,3,1],fingers:[1,3,2,2,4,1],barres:[2],baseFret:7,midi:[47,54,58,63,68,71]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:9,midi:[-1,56,59,66,70,75]}]},{key:"G#",suffix:"m69",positions:[{frets:[2,-1,1,2,2,4],fingers:[2,0,1,3,3,4],barres:[2],baseFret:3,midi:[44,-1,53,59,63,70]},{frets:[1,3,3,1,3,3],fingers:[1,2,2,1,3,4],barres:[1,3],capo:!0,baseFret:4,midi:[44,51,56,59,65,70]},{frets:[2,1,1,3,1,1],fingers:[2,1,1,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[47,51,56,63,65,70]},{frets:[-1,3,1,2,3,3],fingers:[0,3,1,2,4,4],barres:[3],baseFret:9,midi:[-1,56,59,65,70,75]}]},{key:"G#",suffix:"m11",positions:[{frets:[4,2,4,3,2,2],fingers:[3,1,4,2,1,1],barres:[2],capo:!0,baseFret:1,midi:[44,47,54,58,61,66]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,59,63,70]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:6,midi:[-1,-1,56,61,66,71]},{frets:[-1,3,1,3,3,1],fingers:[0,3,1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[-1,56,59,66,70,73]}]},{key:"G#",suffix:"mmaj7",positions:[{frets:[-1,2,1,1,4,3],fingers:[0,2,1,1,4,3],barres:[1],capo:!0,baseFret:1,midi:[-1,47,51,56,63,67]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,55,59,63,68]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,67,71]},{frets:[-1,1,3,2,2,1],fingers:[0,1,4,2,3,1],barres:[1],capo:!0,baseFret:11,midi:[-1,56,63,67,71,75]}]},{key:"G#",suffix:"mmaj7b5",positions:[{frets:[1,2,2,1,-1,1],fingers:[1,2,3,1,0,1],barres:[1],capo:!0,baseFret:4,midi:[44,50,55,59,-1,68]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:6,barres:[],midi:[-1,-1,56,62,67,71]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:10,midi:[50,56,62,67,71,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:11,barres:[],midi:[-1,56,62,67,71,-1]}]},{key:"G#",suffix:"mmaj9",positions:[{frets:[2,-1,3,1,0,2],fingers:[2,0,4,1,0,3],baseFret:3,barres:[],midi:[44,-1,55,58,59,68]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,55,59,63,70]},{frets:[1,1,1,3,3,2],fingers:[1,1,1,3,4,2],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,63,67,71]},{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:9,barres:[],midi:[-1,56,59,67,70,-1]}]},{key:"G#",suffix:"mmaj11",positions:[{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,49,55,59,63,70]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,61,67,71]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:9,midi:[-1,56,59,67,70,73]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,67,71,75]}]},{key:"G#",suffix:"add9",positions:[{frets:[4,3,-1,3,4,-1],fingers:[3,1,0,2,4,0],baseFret:1,barres:[],midi:[44,48,-1,58,63,-1]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:4,barres:[],midi:[-1,-1,56,60,63,70]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,56,60,63,70,72]},{frets:[-1,2,1,-1,2,2],fingers:[0,2,1,0,3,4],baseFret:10,barres:[],midi:[-1,56,60,-1,70,75]}]},{key:"G#",suffix:"madd9",positions:[{frets:[4,2,-1,3,4,-1],fingers:[3,1,0,2,4,0],baseFret:1,barres:[],midi:[44,47,-1,58,63,-1]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,56,59,63,70]},{frets:[1,3,3,1,1,3],fingers:[1,2,3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,59,63,70]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:8,barres:[],midi:[-1,56,59,63,70,-1]}]}],A:[{key:"A",suffix:"major",positions:[{frets:[-1,0,2,2,2,0],fingers:[0,0,1,2,3,0],baseFret:1,barres:[],midi:[-1,45,52,57,61,64]},{frets:[-1,0,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[-1,45,52,57,61,69]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,57,61,64,69]},{frets:[-1,0,1,3,4,3],fingers:[0,0,1,2,4,3],baseFret:7,barres:[],midi:[-1,45,57,64,69,73]}]},{key:"A",suffix:"minor",positions:[{frets:[-1,0,2,2,1,0],fingers:[0,0,2,3,1,0],baseFret:1,barres:[],midi:[-1,45,52,57,60,64]},{frets:[-1,0,1,4,4,4],fingers:[0,0,1,4,4,4],barres:[4],capo:!0,baseFret:2,midi:[-1,45,52,60,64,69]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,57,60,64,69]},{frets:[-1,0,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:7,barres:[],midi:[-1,45,57,64,69,72]}]},{key:"A",suffix:"dim",positions:[{frets:[-1,0,1,2,1,-1],fingers:[0,0,1,3,2,0],baseFret:1,barres:[],midi:[-1,45,51,57,60,-1]},{frets:[3,1,-1,2,1,-1],fingers:[3,1,0,4,2,0],baseFret:3,barres:[],midi:[45,48,-1,59,62,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:7,barres:[],midi:[-1,-1,57,63,-1,72]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:10,barres:[],midi:[-1,57,60,-1,69,75]}]},{key:"A",suffix:"dim7",positions:[{frets:[-1,0,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,45,51,57,60,66]},{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],capo:!0,baseFret:4,midi:[45,-1,54,60,63,-1]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,51,57,60,66,69]},{frets:[-1,0,1,2,1,2],fingers:[0,0,1,3,2,4],barres:[1],baseFret:7,midi:[-1,45,57,63,66,72]}]},{key:"A",suffix:"sus2",positions:[{frets:[-1,0,2,2,0,0],fingers:[0,0,2,3,0,0],baseFret:1,barres:[],midi:[-1,45,52,57,59,64]},{frets:[-1,0,2,4,0,0],fingers:[0,0,1,4,0,0],baseFret:1,barres:[],midi:[-1,45,52,59,59,64]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,64,69,71]},{frets:[-1,0,1,1,0,0],fingers:[0,0,1,2,0,0],baseFret:9,barres:[],midi:[-1,45,59,64,59,64]}]},{key:"A",suffix:"sus4",positions:[{frets:[-1,0,2,2,3,0],fingers:[0,0,1,2,3,0],baseFret:1,barres:[],midi:[-1,45,52,57,62,64]},{frets:[-1,0,0,-1,3,0],fingers:[0,0,0,0,1,0],baseFret:1,barres:[],midi:[-1,45,50,-1,62,64]},{frets:[1,3,3,3,1,1],fingers:[1,3,3,4,1,1],barres:[1,3],capo:!0,baseFret:5,midi:[45,52,57,62,64,69]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,64,69,74]}]},{key:"A",suffix:"sus2sus4",positions:[{frets:[-1,0,0,2,0,0],fingers:[0,0,0,1,0,0],baseFret:1,barres:[],midi:[-1,45,50,57,59,64]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,62,64,71]},{frets:[4,4,1,3,-1,-1],fingers:[3,4,1,2,0,0],baseFret:2,barres:[],midi:[45,50,52,59,-1,-1]}]},{key:"A",suffix:"7sus4",positions:[{frets:[-1,0,2,0,3,0],fingers:[0,0,2,0,3,0],baseFret:1,barres:[],midi:[-1,45,52,55,62,64]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,62,64,69]},{frets:[-1,0,1,3,2,4],fingers:[0,0,1,3,2,4],baseFret:7,barres:[],midi:[-1,45,57,64,67,74]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[-1,57,62,67,69,74]}]},{key:"A",suffix:"alt",positions:[{frets:[-1,0,1,2,2,-1],fingers:[0,0,1,2,3,0],baseFret:1,barres:[],midi:[-1,45,51,57,61,-1]},{frets:[-1,0,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:4,barres:[],midi:[-1,45,57,61,63,69]},{frets:[-1,0,4,1,3,2],fingers:[0,0,4,1,3,2],baseFret:8,barres:[],midi:[-1,45,61,63,69,73]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:12,barres:[],midi:[-1,57,63,69,73,-1]}]},{key:"A",suffix:"aug",positions:[{frets:[-1,0,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:1,barres:[],midi:[-1,45,53,57,61,65]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:2,midi:[45,49,53,57,61,-1]},{frets:[1,-1,3,2,2,1],fingers:[1,0,4,2,3,1],barres:[1],capo:!0,baseFret:5,midi:[45,-1,57,61,65,69]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:10,midi:[-1,57,61,65,69,-1]}]},{key:"A",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:5,barres:[],midi:[45,52,-1,-1,-1,-1]},{frets:[-1,0,2,-1,-1,-1],fingers:[0,0,1,0,0,0],baseFret:1,barres:[],midi:[-1,45,52,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:5,barres:[],midi:[45,52,57,-1,-1,-1]}]},{key:"A",suffix:"6",positions:[{frets:[-1,0,2,2,2,2],fingers:[0,0,1,1,1,1],barres:[2],baseFret:1,midi:[-1,45,52,57,61,66]},{frets:[2,-1,1,3,2,-1],fingers:[2,0,1,4,3,0],baseFret:4,barres:[],midi:[45,-1,54,61,64,-1]},{frets:[1,3,-1,2,3,1],fingers:[1,3,0,2,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,-1,61,66,69]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:10,barres:[],midi:[-1,57,61,66,69,-1]}]},{key:"A",suffix:"69",positions:[{frets:[-1,0,4,4,2,2],fingers:[0,0,3,4,1,1],barres:[2],baseFret:1,midi:[-1,45,54,59,61,66]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:4,midi:[45,49,54,59,64,69]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],capo:!0,baseFret:6,midi:[-1,52,57,61,66,71]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:11,midi:[-1,57,61,66,71,76]}]},{key:"A",suffix:"7",positions:[{frets:[-1,0,2,0,2,0],fingers:[0,0,2,0,3,0],baseFret:1,barres:[],midi:[-1,45,52,55,61,64]},{frets:[-1,0,2,2,2,3],fingers:[0,0,1,1,1,2],barres:[2],capo:!0,baseFret:1,midi:[-1,45,52,57,61,67]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,61,64,69]},{frets:[-1,0,1,3,2,3],fingers:[0,0,1,3,2,4],baseFret:7,barres:[],midi:[-1,45,57,64,67,73]}]},{key:"A",suffix:"7b5",positions:[{frets:[-1,0,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,45,51,57,61,67]},{frets:[-1,0,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:4,barres:[],midi:[-1,45,55,61,63,69]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:7,barres:[],midi:[-1,-1,57,63,67,73]},{frets:[-1,1,2,3,1,2],fingers:[0,1,2,4,1,3],barres:[1],capo:!0,baseFret:10,midi:[-1,55,61,67,69,75]}]},{key:"A",suffix:"aug7",positions:[{frets:[-1,0,3,0,2,1],fingers:[0,0,3,0,2,1],baseFret:1,barres:[],midi:[-1,45,53,55,61,65]},{frets:[-1,0,3,2,2,3],fingers:[0,0,2,1,1,3],barres:[2],baseFret:1,midi:[-1,45,53,57,61,67]},{frets:[-1,0,1,2,2,1],fingers:[0,0,1,2,3,1],barres:[1],capo:!0,baseFret:5,midi:[-1,45,55,61,65,69]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:7,barres:[],midi:[-1,-1,57,65,67,73]}]},{key:"A",suffix:"9",positions:[{frets:[4,3,1,0,0,0],fingers:[4,3,1,0,0,0],baseFret:2,barres:[],midi:[45,49,52,55,59,64]},{frets:[-1,0,2,4,2,3],fingers:[0,0,1,3,1,2],barres:[2],baseFret:1,midi:[-1,45,52,59,61,67]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,61,64,71]},{frets:[-1,2,1,2,2,2],fingers:[0,2,1,3,3,3],barres:[2],baseFret:11,midi:[-1,57,61,67,71,76]}]},{key:"A",suffix:"9b5",positions:[{frets:[-1,0,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:1,barres:[],midi:[-1,45,51,59,61,67]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[45,49,55,59,63,69]},{frets:[-1,0,2,1,1,2],fingers:[0,0,2,1,1,3],barres:[1],baseFret:8,midi:[-1,45,59,63,67,73]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[-1,57,61,67,71,75]}]},{key:"A",suffix:"aug9",positions:[{frets:[-1,0,3,4,2,3],fingers:[0,0,2,4,1,3],baseFret:1,barres:[],midi:[-1,45,53,59,61,67]},{frets:[3,2,1,0,0,3],fingers:[3,2,1,0,0,4],baseFret:3,barres:[],midi:[45,49,53,55,59,69]},{frets:[-1,0,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:5,barres:[],midi:[-1,45,55,61,65,71]},{frets:[-1,2,1,2,0,3],fingers:[0,2,1,3,0,4],baseFret:11,barres:[],midi:[-1,57,61,67,59,77]}]},{key:"A",suffix:"7b9",positions:[{frets:[-1,0,2,3,2,3],fingers:[0,0,1,2,1,3],barres:[2],baseFret:1,midi:[-1,45,52,58,61,67]},{frets:[1,3,1,2,1,2],fingers:[1,4,1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,61,64,70]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,2,1,3,1],barres:[1],capo:!0,baseFret:6,midi:[-1,-1,57,61,67,70]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:11,midi:[-1,57,61,67,70,76]}]},{key:"A",suffix:"7#9",positions:[{frets:[1,3,1,2,4,4],fingers:[1,3,1,2,4,4],barres:[1,4],capo:!0,baseFret:5,midi:[45,52,55,61,67,72]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,2,1,3,4],baseFret:6,barres:[],midi:[-1,-1,57,61,67,72]},{frets:[-1,0,3,2,1,2],fingers:[0,0,4,2,1,3],baseFret:8,barres:[],midi:[-1,45,60,64,67,73]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:11,barres:[],midi:[-1,57,61,67,72,-1]}]},{key:"A",suffix:"11",positions:[{frets:[-1,0,0,0,2,0],fingers:[0,0,0,0,2,0],baseFret:1,barres:[],midi:[-1,45,50,55,61,64]},{frets:[3,2,0,0,0,1],fingers:[3,2,0,0,0,1],baseFret:3,barres:[],midi:[45,49,50,55,59,67]},{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,61,64,69]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,62,67,73]}]},{key:"A",suffix:"9#11",positions:[{frets:[-1,0,1,0,2,0],fingers:[0,0,1,0,3,0],baseFret:1,barres:[],midi:[-1,45,51,55,61,64]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[45,49,55,59,63,69]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:7,barres:[],midi:[-1,-1,57,63,67,73]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[-1,57,61,67,71,75]}]},{key:"A",suffix:"13",positions:[{frets:[-1,0,2,0,2,2],fingers:[0,0,1,0,2,3],baseFret:1,barres:[],midi:[-1,45,52,55,61,66]},{frets:[3,2,2,0,1,0],fingers:[4,2,3,0,1,0],baseFret:3,barres:[],midi:[45,49,54,55,62,64]},{frets:[1,3,1,2,3,1],fingers:[1,3,1,2,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,61,66,69]},{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:11,midi:[-1,57,61,67,73,78]}]},{key:"A",suffix:"maj7",positions:[{frets:[-1,0,2,1,2,0],fingers:[0,0,2,1,3,0],baseFret:1,barres:[],midi:[-1,45,52,56,61,64]},{frets:[-1,0,2,2,2,4],fingers:[0,0,1,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[-1,45,52,57,61,68]},{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,56,61,64,69]},{frets:[-1,0,1,3,3,3],fingers:[0,0,1,3,3,3],barres:[3],baseFret:7,midi:[-1,45,57,64,68,73]}]},{key:"A",suffix:"maj7b5",positions:[{frets:[-1,0,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],baseFret:1,midi:[-1,45,51,56,61,68]},{frets:[-1,0,1,2,2,4],fingers:[0,0,1,2,2,4],barres:[2],baseFret:1,midi:[-1,45,51,57,61,68]},{frets:[1,2,2,2,-1,-1],fingers:[1,2,3,4,0,0],baseFret:5,barres:[],midi:[45,51,56,61,-1,-1]},{frets:[-1,0,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:7,barres:[],midi:[-1,45,57,63,68,73]}]},{key:"A",suffix:"maj7#5",positions:[{frets:[-1,0,3,1,2,1],fingers:[0,0,3,1,2,1],barres:[1],baseFret:1,midi:[-1,45,53,56,61,65]},{frets:[-1,0,3,2,2,4],fingers:[0,0,2,1,1,3],barres:[2],baseFret:1,midi:[-1,45,53,57,61,68]},{frets:[-1,0,2,2,2,1],fingers:[0,0,2,3,4,1],baseFret:5,barres:[],midi:[-1,45,56,61,65,69]},{frets:[1,4,3,2,1,1],fingers:[0,4,3,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,57,61,65,68,73]}]},{key:"A",suffix:"maj9",positions:[{frets:[-1,0,2,4,2,4],fingers:[0,0,1,3,1,4],barres:[2],baseFret:1,midi:[-1,45,52,59,61,68]},{frets:[2,1,3,1,2,0],fingers:[2,1,4,1,3,0],barres:[1],baseFret:4,midi:[45,49,56,59,64,64]},{frets:[-1,0,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:5,barres:[],midi:[-1,45,56,61,64,71]},{frets:[2,2,1,3,2,-1],fingers:[2,2,1,4,3,0],barres:[2],baseFret:11,midi:[52,57,61,68,71,-1]}]},{key:"A",suffix:"maj11",positions:[{frets:[-1,0,0,1,2,0],fingers:[0,0,0,1,2,0],baseFret:1,barres:[],midi:[-1,45,50,56,61,64]},{frets:[-1,0,0,2,2,4],fingers:[0,0,0,1,1,4],barres:[2],baseFret:1,midi:[-1,45,50,57,61,68]},{frets:[1,1,2,2,1,3],fingers:[1,1,2,3,1,4],barres:[1],baseFret:5,midi:[45,50,56,61,64,71]},{frets:[2,0,1,1,1,1],fingers:[2,0,1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[50,45,59,64,68,73]}]},{key:"A",suffix:"maj13",positions:[{frets:[-1,0,2,1,2,2],fingers:[0,0,2,1,3,4],baseFret:1,barres:[],midi:[-1,45,52,56,61,66]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:4,midi:[45,49,54,59,64,68]},{frets:[-1,0,1,1,2,2],fingers:[0,0,1,1,3,4],barres:[1],baseFret:6,midi:[-1,45,56,61,66,71]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[-1,57,61,66,68,73]}]},{key:"A",suffix:"m6",positions:[{frets:[-1,0,2,2,1,2],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[-1,45,52,57,60,66]},{frets:[2,-1,1,2,2,2],fingers:[2,0,1,3,3,4],barres:[2],baseFret:4,midi:[45,-1,54,60,64,69]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,57,60,66,69]},{frets:[-1,1,1,3,1,2],fingers:[0,1,1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,64,66,72]}]},{key:"A",suffix:"m7",positions:[{frets:[-1,0,2,0,1,0],fingers:[0,0,2,0,1,0],baseFret:1,barres:[],midi:[-1,45,52,55,60,64]},{frets:[-1,0,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[-1,45,52,57,60,67]},{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:5,barres:[],midi:[45,-1,55,60,64,-1]},{frets:[-1,0,1,1,1,1],fingers:[0,0,1,1,1,1],barres:[1],baseFret:5,midi:[-1,45,55,60,64,69]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,60,64,69]},{frets:[-1,1,1,3,2,2],fingers:[0,1,1,4,2,3],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,64,67,72]}]},{key:"A",suffix:"m7b5",positions:[{frets:[-1,0,1,0,1,-1],fingers:[0,0,2,0,3,0],baseFret:1,barres:[],midi:[-1,45,51,55,60,-1]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:4,barres:[],midi:[45,-1,55,60,63,-1]},{frets:[1,2,3,1,4,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,51,57,60,67,69]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:7,midi:[-1,-1,57,63,67,72]}]},{key:"A",suffix:"m9",positions:[{frets:[-1,0,2,4,1,3],fingers:[0,0,2,4,1,3],baseFret:1,barres:[],midi:[-1,45,52,59,60,67]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,60,64,71]},{frets:[1,0,2,0,1,0],fingers:[1,0,3,0,2,0],baseFret:8,barres:[],midi:[48,45,59,55,67,64]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:10,midi:[-1,57,60,67,71,76]}]},{key:"A",suffix:"m69",positions:[{frets:[-1,0,1,2,0,0],fingers:[0,0,2,4,0,0],baseFret:4,barres:[],midi:[-1,45,54,60,59,64]},{frets:[1,3,3,1,3,3],fingers:[1,2,2,1,3,4],barres:[1,3],capo:!0,baseFret:5,midi:[45,52,57,60,66,71]},{frets:[2,0,1,3,1,1],fingers:[2,0,1,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[48,45,57,64,66,71]},{frets:[-1,3,1,2,3,3],fingers:[0,3,1,2,4,4],barres:[3],baseFret:10,midi:[-1,57,60,66,71,76]}]},{key:"A",suffix:"m11",positions:[{frets:[-1,0,0,0,1,0],fingers:[0,0,0,0,1,0],baseFret:1,barres:[],midi:[-1,45,50,55,60,64]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[45,48,55,59,62,67]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,60,64,71]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[-1,57,60,67,71,74]}]},{key:"A",suffix:"mmaj7",positions:[{frets:[-1,0,2,1,1,0],fingers:[0,0,3,1,2,0],baseFret:1,barres:[],midi:[-1,45,52,56,60,64]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,56,60,64,69]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,64,68,72]},{frets:[-1,4,2,1,1,-1],fingers:[0,4,2,1,1,0],barres:[1],capo:!0,baseFret:9,midi:[-1,57,60,64,68,-1]}]},{key:"A",suffix:"mmaj7b5",positions:[{frets:[-1,0,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],baseFret:1,midi:[-1,45,51,56,60,68]},{frets:[1,2,2,1,-1,1],fingers:[1,2,3,1,0,1],barres:[1],capo:!0,baseFret:5,midi:[45,51,56,60,-1,69]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:7,barres:[],midi:[-1,-1,57,63,68,72]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:11,midi:[51,57,63,68,72,-1]}]},{key:"A",suffix:"mmaj9",positions:[{frets:[3,1,4,2,0,0],fingers:[3,1,4,2,0,0],baseFret:3,barres:[],midi:[45,48,56,59,59,64]},{frets:[-1,0,3,2,0,1],fingers:[0,0,3,2,0,1],baseFret:4,barres:[],midi:[-1,45,56,60,59,68]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,52,56,60,64,71]},{frets:[-1,0,2,2,2,1],fingers:[0,0,2,3,4,1],baseFret:8,barres:[],midi:[-1,45,59,64,68,72]}]},{key:"A",suffix:"mmaj11",positions:[{frets:[-1,0,0,1,1,0],fingers:[0,0,0,1,2,0],baseFret:1,barres:[],midi:[-1,45,50,56,60,64]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,50,56,60,64,71]},{frets:[-1,0,1,1,3,2],fingers:[0,0,1,1,3,2],barres:[1],baseFret:7,midi:[-1,45,57,62,68,72]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:10,midi:[-1,57,60,68,71,74]}]},{key:"A",suffix:"add9",positions:[{frets:[-1,0,2,4,2,0],fingers:[0,0,1,3,2,0],baseFret:1,barres:[],midi:[-1,45,52,59,61,64]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:5,barres:[],midi:[-1,-1,57,61,64,71]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:9,midi:[-1,57,61,64,71,73]},{frets:[-1,2,1,-1,2,2],fingers:[0,2,1,0,3,4],baseFret:11,barres:[],midi:[-1,57,61,-1,71,76]}]},{key:"A",suffix:"madd9",positions:[{frets:[-1,0,2,4,1,0],fingers:[0,0,2,4,1,0],baseFret:1,barres:[],midi:[-1,45,52,59,60,64]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,57,60,64,71]},{frets:[-1,-1,1,3,0,2],fingers:[0,0,1,3,0,2],baseFret:7,barres:[],midi:[-1,-1,57,64,59,72]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:9,barres:[],midi:[-1,57,60,64,71,-1]}]},{key:"A",suffix:"/C#",positions:[{frets:[-1,3,1,1,4,4],fingers:[0,3,1,1,4,4],barres:[1],baseFret:2,midi:[-1,49,52,57,64,69]},{frets:[-1,3,1,1,1,4],fingers:[0,3,1,1,1,4],barres:[1],baseFret:2,midi:[-1,49,52,57,61,69]},{frets:[-1,1,4,3,2,2],fingers:[0,1,4,3,2,2],barres:[2],baseFret:4,midi:[-1,49,57,61,64,69]}]},{key:"A",suffix:"/E",positions:[{frets:[0,0,2,2,2,0],fingers:[0,0,1,2,3,0],baseFret:1,barres:[],midi:[40,45,52,57,61,64]},{frets:[-1,3,3,2,1,1],fingers:[0,3,4,2,1,1],barres:[1],baseFret:5,midi:[-1,52,57,61,64,69]},{frets:[-1,-1,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],baseFret:2,midi:[-1,-1,52,57,61,69]}]},{key:"A",suffix:"/F",positions:[{frets:[1,0,2,2,2,0],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[41,45,52,57,61,64]},{frets:[-1,-1,3,2,2,0],fingers:[0,0,3,1,2,0],baseFret:1,barres:[],midi:[-1,-1,53,57,61,64]},{frets:[1,4,2,2,2,-1],fingers:[1,4,2,2,2,0],barres:[2],baseFret:1,midi:[41,49,52,57,61,-1]}]},{key:"A",suffix:"/F#",positions:[{frets:[2,0,2,2,2,0],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[42,45,52,57,61,64]},{frets:[1,3,1,1,4,4],fingers:[1,3,1,1,4,4],barres:[1],baseFret:2,midi:[42,49,52,57,64,69]},{frets:[1,3,1,1,1,4],fingers:[1,3,1,1,1,4],barres:[1],baseFret:2,midi:[42,49,52,57,61,69]}]},{key:"A",suffix:"/G",positions:[{frets:[3,0,2,2,2,0],fingers:[4,0,1,2,3,0],baseFret:1,barres:[],midi:[43,45,52,57,61,64]},{frets:[-1,-1,1,2,1,1],fingers:[0,0,1,2,1,1],barres:[1],baseFret:5,midi:[-1,-1,55,61,64,69]},{frets:[2,3,1,1,4,4],fingers:[2,3,1,1,4,4],baseFret:2,barres:[],midi:[43,49,52,57,64,69]}]},{key:"A",suffix:"/G#",positions:[{frets:[3,3,1,1,4,4],fingers:[2,3,1,1,4,4],barres:[1],baseFret:2,midi:[44,49,52,57,64,69]},{frets:[3,3,1,1,1,4],fingers:[2,3,1,1,1,4],barres:[1],baseFret:2,midi:[44,49,52,57,61,69]},{frets:[-1,-1,2,2,1,1],fingers:[0,0,2,3,1,1],barres:[1],baseFret:5,midi:[-1,-1,56,61,64,69]}]},{key:"A",suffix:"m/C",positions:[{frets:[-1,3,2,2,1,0],fingers:[0,4,2,3,1,0],baseFret:1,barres:[],midi:[-1,48,52,57,60,64]},{frets:[-1,2,1,4,4,4],fingers:[0,2,1,4,4,4],barres:[4],baseFret:2,midi:[-1,48,52,60,64,69]},{frets:[-1,2,1,1,4,4],fingers:[0,2,1,1,4,4],barres:[1],baseFret:2,midi:[-1,48,52,57,64,69]}]},{key:"A",suffix:"m/E",positions:[{frets:[0,0,2,2,1,0],fingers:[0,0,2,3,1,0],baseFret:1,barres:[],midi:[40,45,52,57,60,64]},{frets:[0,3,2,2,1,0],fingers:[0,4,2,3,1,0],baseFret:1,barres:[],midi:[40,48,52,57,60,64]},{frets:[-1,3,3,1,1,1],fingers:[0,3,4,1,1,1],barres:[1],baseFret:5,midi:[-1,52,57,60,64,69]}]},{key:"A",suffix:"m/F",positions:[{frets:[1,0,2,2,1,0],fingers:[1,0,3,4,2,0],baseFret:1,barres:[],midi:[41,45,52,57,60,64]},{frets:[-1,-1,3,2,1,0],fingers:[0,0,3,2,1,0],baseFret:1,barres:[],midi:[-1,-1,53,57,60,64]},{frets:[1,3,2,2,1,-1],fingers:[1,4,2,3,1,0],barres:[1],baseFret:1,midi:[41,48,52,57,60,-1]}]},{key:"A",suffix:"m/F#",positions:[{frets:[2,0,2,2,1,0],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[42,45,52,57,60,64]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,3,4],baseFret:4,barres:[],midi:[-1,-1,54,60,64,69]},{frets:[1,2,1,4,4,4],fingers:[1,2,1,4,4,4],barres:[1],baseFret:2,midi:[42,48,52,60,64,69]}]},{key:"A",suffix:"m/G",positions:[{frets:[-1,-1,1,1,1,1],fingers:[0,0,1,1,1,1],barres:[1],baseFret:5,midi:[-1,-1,55,60,64,69]},{frets:[3,0,2,2,1,0],fingers:[4,0,2,3,1,0],baseFret:1,barres:[],midi:[43,45,52,57,60,64]},{frets:[2,2,1,4,4,4],fingers:[2,3,1,4,4,4],barres:[4],baseFret:2,midi:[43,48,52,60,64,69]}]},{key:"A",suffix:"m/G#",positions:[{frets:[3,2,1,4,4,4],fingers:[3,2,1,4,4,4],barres:[4],baseFret:2,midi:[44,48,52,60,64,69]},{frets:[3,2,1,1,4,4],fingers:[3,2,1,1,4,4],barres:[1],baseFret:2,midi:[44,48,52,57,64,69]}]}],"A#":[{key:"A#",suffix:"major",positions:[{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,58,62,65]},{frets:[4,3,1,1,1,-1],fingers:[4,3,1,1,1,0],barres:[1],capo:!0,baseFret:3,midi:[46,50,53,58,62,-1]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,58,62,65,70]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,2,4,3],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,65,70,74]}]},{key:"A#",suffix:"minor",positions:[{frets:[-1,1,3,3,2,1],fingers:[0,1,3,4,2,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,58,61,65]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,58,61,65,70]},{frets:[-1,-1,3,1,1,1],fingers:[0,0,3,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[-1,-1,58,61,65,70]},{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:8,barres:[],midi:[-1,-1,58,65,70,73]}]},{key:"A#",suffix:"dim",positions:[{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:1,barres:[],midi:[-1,46,52,58,61,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:4,barres:[],midi:[46,49,-1,61,64,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:8,barres:[],midi:[-1,-1,58,64,-1,73]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:11,barres:[],midi:[-1,58,61,-1,70,76]}]},{key:"A#",suffix:"dim7",positions:[{frets:[-1,1,2,0,2,0],fingers:[0,1,2,0,3,0],baseFret:1,barres:[],midi:[-1,46,52,55,61,64]},{frets:[-1,-1,2,3,2,3],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,52,58,61,67]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,52,58,61,67,70]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:8,barres:[],midi:[-1,-1,58,64,67,73]}]},{key:"A#",suffix:"sus2",positions:[{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,46,53,58,60,65]},{frets:[4,1,1,3,4,-1],fingers:[3,1,1,2,4,0],barres:[1],capo:!0,baseFret:3,midi:[46,48,53,60,65,-1]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,65,70,72]},{frets:[-1,4,1,1,2,4],fingers:[0,3,1,1,2,4],barres:[1],capo:!0,baseFret:10,midi:[-1,58,60,65,70,77]}]},{key:"A#",suffix:"sus4",positions:[{frets:[-1,1,3,3,4,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,58,63,65]},{frets:[-1,-1,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,53,58,63,70]},{frets:[1,3,3,3,1,1],fingers:[1,3,3,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,58,63,65,70]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,65,70,75]}]},{key:"A#",suffix:"sus2sus4",positions:[{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,58,60,65]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,63,65,72]},{frets:[4,4,1,3,-1,-1],fingers:[3,4,1,2,0,0],baseFret:3,barres:[],midi:[46,51,53,60,-1,-1]}]},{key:"A#",suffix:"7sus4",positions:[{frets:[-1,1,3,1,4,1],fingers:[0,1,3,1,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,56,63,65]},{frets:[-1,-1,3,3,4,4],fingers:[0,0,1,1,2,2],barres:[3,4],capo:!0,baseFret:1,midi:[-1,-1,53,58,63,68]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,56,63,65,70]},{frets:[-1,-1,1,3,2,4],fingers:[0,0,1,3,2,4],baseFret:8,barres:[],midi:[-1,-1,58,65,68,75]}]},{key:"A#",suffix:"alt",positions:[{frets:[-1,1,2,3,3,0],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,46,52,58,62,64]},{frets:[2,3,0,3,1,0],fingers:[2,3,0,4,1,0],baseFret:5,barres:[],midi:[46,52,50,62,64,64]},{frets:[1,2,0,2,-1,1],fingers:[1,3,0,4,0,2],baseFret:6,barres:[],midi:[46,52,50,62,-1,70]},{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:8,barres:[],midi:[-1,-1,58,64,70,74]}]},{key:"A#",suffix:"aug",positions:[{frets:[-1,1,4,3,3,-1],fingers:[0,1,4,2,3,0],baseFret:1,barres:[],midi:[-1,46,54,58,62,-1]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:3,midi:[46,50,54,58,62,-1]},{frets:[-1,-1,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:6,barres:[],midi:[-1,-1,58,62,66,70]},{frets:[-1,-1,2,1,1,-1],fingers:[0,0,2,1,1,0],barres:[1],capo:!0,baseFret:7,midi:[-1,-1,58,62,66,-1]}]},{key:"A#",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:6,barres:[],midi:[46,53,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:1,barres:[],midi:[-1,46,53,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:6,barres:[],midi:[46,53,58,-1,-1,-1]}]},{key:"A#",suffix:"6",positions:[{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,3],barres:[3],baseFret:1,midi:[-1,46,53,58,62,67]},{frets:[2,1,0,0,2,2],fingers:[2,1,0,0,3,4],baseFret:5,barres:[],midi:[46,50,50,55,65,70]},{frets:[1,3,-1,2,3,1],fingers:[1,3,0,2,4,0],barres:[1],capo:!0,baseFret:6,midi:[46,53,-1,62,67,70]},{frets:[-1,4,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:10,barres:[],midi:[-1,58,61,66,69,-1]}]},{key:"A#",suffix:"69",positions:[{frets:[-1,1,0,0,1,1],fingers:[0,1,0,0,2,3],baseFret:1,barres:[],midi:[-1,46,50,55,60,65]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:5,midi:[46,50,55,60,65,70]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],baseFret:7,midi:[-1,53,58,62,67,72]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:12,midi:[-1,58,62,67,72,77]}]},{key:"A#",suffix:"7",positions:[{frets:[-1,1,3,1,3,1],fingers:[0,1,3,1,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,56,62,65]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,56,62,65,70]},{frets:[-1,1,1,3,2,3],fingers:[0,1,1,3,2,4],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,65,68,74]},{frets:[-1,3,2,3,1,-1],fingers:[0,3,2,4,1,0],baseFret:11,barres:[],midi:[-1,58,62,68,70,-1]}]},{key:"A#",suffix:"7b5",positions:[{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:1,midi:[-1,46,52,56,62,-1]},{frets:[2,-1,2,3,1,0],fingers:[2,0,3,4,1,0],baseFret:5,barres:[],midi:[46,-1,56,62,64,64]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:8,barres:[],midi:[-1,-1,58,64,68,74]},{frets:[-1,3,2,3,1,0],fingers:[0,3,2,4,1,0],baseFret:11,barres:[],midi:[-1,58,62,68,70,64]}]},{key:"A#",suffix:"aug7",positions:[{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:1,midi:[-1,46,54,56,62,66]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:6,barres:[],midi:[46,-1,56,62,66,-1]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:8,barres:[],midi:[-1,-1,58,66,68,74]},{frets:[-1,2,1,2,-1,3],fingers:[0,2,1,3,0,4],baseFret:12,barres:[],midi:[-1,58,62,68,-1,78]}]},{key:"A#",suffix:"9",positions:[{frets:[-1,1,0,1,1,1],fingers:[0,1,0,2,3,4],baseFret:1,barres:[],midi:[-1,46,50,56,60,65]},{frets:[2,1,2,1,2,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:5,midi:[46,50,56,60,65,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,53,56,62,65,72]},{frets:[-1,2,1,2,2,2],fingers:[0,2,1,3,3,3],barres:[2],baseFret:12,midi:[-1,58,62,68,72,77]}]},{key:"A#",suffix:"9b5",positions:[{frets:[-1,1,0,1,1,0],fingers:[0,1,0,2,3,0],baseFret:1,barres:[],midi:[-1,46,50,56,60,64]},{frets:[3,-1,0,2,2,1],fingers:[4,0,0,2,3,1],baseFret:4,barres:[],midi:[46,-1,50,60,64,68]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[46,50,56,60,64,70]},{frets:[-1,2,1,2,2,0],fingers:[0,2,1,3,4,0],baseFret:12,barres:[],midi:[-1,58,62,68,72,64]}]},{key:"A#",suffix:"aug9",positions:[{frets:[-1,1,0,1,1,2],fingers:[0,1,0,2,3,4],baseFret:1,barres:[],midi:[-1,46,50,56,60,66]},{frets:[4,3,4,3,3,4],fingers:[2,1,3,1,1,4],barres:[3],capo:!0,baseFret:1,midi:[44,48,54,58,62,68]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:5,midi:[46,50,56,60,66,-1]},{frets:[1,-1,1,2,2,3],fingers:[1,0,1,2,3,4],barres:[1],capo:!0,baseFret:6,midi:[46,-1,56,62,66,72]}]},{key:"A#",suffix:"7b9",positions:[{frets:[-1,1,0,1,0,1],fingers:[0,1,0,2,0,3],baseFret:1,barres:[],midi:[-1,46,50,56,59,65]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:4,barres:[],midi:[46,50,56,59,-1,-1]},{frets:[1,-1,1,2,1,2],fingers:[1,0,1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[46,-1,56,62,65,71]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:12,midi:[-1,58,62,68,71,77]}]},{key:"A#",suffix:"7#9",positions:[{frets:[-1,1,0,1,2,-1],fingers:[0,1,0,2,3,0],baseFret:1,barres:[],midi:[-1,46,50,56,61,-1]},{frets:[1,3,1,2,4,4],fingers:[1,3,1,2,4,4],barres:[1,4],capo:!0,baseFret:6,midi:[46,53,56,62,68,73]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,2,1,3,4],baseFret:7,barres:[],midi:[-1,-1,58,62,68,73]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:12,barres:[],midi:[-1,58,62,68,73,-1]}]},{key:"A#",suffix:"11",positions:[{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,56,62,65]},{frets:[3,2,0,2,1,1],fingers:[4,2,0,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[46,50,50,60,63,68]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,63,68,74]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:11,midi:[-1,58,62,68,70,75]}]},{key:"A#",suffix:"9#11",positions:[{frets:[-1,1,0,1,1,0],fingers:[0,1,0,2,3,0],baseFret:1,barres:[],midi:[-1,46,50,56,60,64]},{frets:[2,1,2,1,1,-1],fingers:[2,1,3,1,1,0],barres:[1],capo:!0,baseFret:5,midi:[46,50,56,60,64,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:8,barres:[],midi:[-1,-1,58,64,68,74]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:12,midi:[-1,58,62,68,72,76]}]},{key:"A#",suffix:"13",positions:[{frets:[-1,1,0,1,3,3],fingers:[0,1,0,2,4,4],barres:[3],baseFret:1,midi:[-1,46,50,56,62,67]},{frets:[3,2,0,0,1,1],fingers:[3,2,0,0,1,1],barres:[1],baseFret:4,midi:[46,50,50,55,63,68]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,62,67,72]},{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:12,midi:[-1,58,62,68,74,79]}]},{key:"A#",suffix:"maj7",positions:[{frets:[-1,1,3,2,3,1],fingers:[0,1,3,2,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,57,62,65]},{frets:[-1,-1,1,1,1,3],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,53,58,62,69]},{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,57,62,65,70]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1,3],capo:!0,baseFret:8,midi:[-1,53,58,65,69,74]}]},{key:"A#",suffix:"maj7b5",positions:[{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,46,52,57,62,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[46,50,57,62,64,69]},{frets:[1,2,2,2,-1,0],fingers:[1,2,3,4,0,0],baseFret:6,barres:[],midi:[46,52,57,62,-1,64]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:8,barres:[],midi:[-1,-1,58,64,69,74]}]},{key:"A#",suffix:"maj7#5",positions:[{frets:[-1,1,0,2,3,2],fingers:[0,1,0,2,4,3],baseFret:1,barres:[],midi:[-1,46,50,57,62,66]},{frets:[-1,-1,2,1,1,3],fingers:[0,0,2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,54,58,62,69]},{frets:[1,-1,2,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:6,barres:[],midi:[46,-1,57,62,66,-1]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,58,62,66,69,74]}]},{key:"A#",suffix:"maj9",positions:[{frets:[1,1,0,2,1,-1],fingers:[1,1,0,3,2,0],barres:[1],baseFret:1,midi:[41,46,50,57,60,-1]},{frets:[4,1,1,1,1,3],fingers:[4,1,1,1,1,3],barres:[1],capo:!0,baseFret:3,midi:[46,48,53,58,62,69]},{frets:[2,1,3,1,2,-1],fingers:[2,1,4,1,3,0],barres:[1],capo:!0,baseFret:5,midi:[46,50,57,60,65,-1]},{frets:[1,3,2,2,1,3],fingers:[1,3,2,2,1,4],barres:[1,2],capo:!0,baseFret:6,midi:[46,53,57,62,65,72]}]},{key:"A#",suffix:"maj11",positions:[{frets:[-1,1,1,2,3,1],fingers:[0,1,1,2,3,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,57,62,65]},{frets:[3,-1,0,2,1,2],fingers:[4,0,0,2,1,3],baseFret:4,barres:[],midi:[46,-1,50,60,63,69]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,57,62,65,70]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,58,63,69,74]}]},{key:"A#",suffix:"maj13",positions:[{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,57,62,67]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:5,midi:[46,50,55,60,65,69]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,57,62,67,70]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[-1,58,62,67,69,74]}]},{key:"A#",suffix:"m6",positions:[{frets:[-1,1,3,-1,2,3],fingers:[0,1,3,0,2,4],baseFret:1,barres:[],midi:[-1,46,53,-1,61,67]},{frets:[-1,2,3,1,4,-1],fingers:[0,2,3,1,4,0],baseFret:3,barres:[],midi:[-1,49,55,58,65,-1]},{frets:[2,-1,1,2,2,2],fingers:[2,0,1,3,3,4],barres:[2],baseFret:5,midi:[46,-1,55,61,65,70]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,58,61,67,70]}]},{key:"A#",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:5,barres:[],midi:[45,-1,55,60,64,-1]},{frets:[-1,1,3,1,2,1],fingers:[0,1,3,1,2,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,56,61,65]},{frets:[-1,-1,3,3,2,4],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[-1,-1,53,58,61,68]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,56,61,65,70]},{frets:[-1,1,1,3,2,2],fingers:[0,1,1,4,2,3],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,65,68,73]}]},{key:"A#",suffix:"m7b5",positions:[{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:1,barres:[],midi:[-1,46,52,56,61,-1]},{frets:[-1,-1,2,3,2,4],fingers:[0,0,1,2,1,4],barres:[2],capo:!0,baseFret:1,midi:[-1,-1,52,58,61,68]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:5,barres:[],midi:[46,-1,56,61,64,-1]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:8,midi:[-1,-1,58,64,68,73]}]},{key:"A#",suffix:"m9",positions:[{frets:[-1,-1,2,4,1,3],fingers:[0,0,2,4,1,3],baseFret:2,barres:[],midi:[-1,-1,53,60,61,68]},{frets:[3,1,-1,2,3,1],fingers:[3,1,0,2,4,1],barres:[1],capo:!0,baseFret:4,midi:[46,49,-1,60,65,68]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,53,56,61,65,72]},{frets:[-1,3,1,3,3,-1],fingers:[0,2,1,3,4,0],baseFret:11,barres:[],midi:[-1,58,61,68,72,-1]}]},{key:"A#",suffix:"m69",positions:[{frets:[2,-1,1,2,2,4],fingers:[2,0,1,3,3,4],barres:[2],baseFret:5,midi:[46,-1,55,61,65,72]},{frets:[1,-1,3,1,3,3],fingers:[1,0,2,1,3,4],barres:[1],capo:!0,baseFret:6,midi:[46,-1,58,61,67,72]},{frets:[2,-1,1,3,1,1],fingers:[2,0,1,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[49,-1,58,65,67,72]},{frets:[-1,3,1,2,3,-1],fingers:[0,3,1,2,4,0],baseFret:11,barres:[],midi:[-1,58,61,67,72,-1]}]},{key:"A#",suffix:"m11",positions:[{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[46,49,56,60,63,68]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,61,65,72]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,58,63,68,73]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[-1,58,61,68,72,75]}]},{key:"A#",suffix:"mmaj7",positions:[{frets:[-1,1,3,2,2,1],fingers:[0,1,4,2,3,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,57,61,65]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,57,61,65,70]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,65,69,73]},{frets:[-1,4,2,1,1,-1],fingers:[0,4,2,1,1,0],barres:[1],capo:!0,baseFret:10,midi:[-1,58,61,65,69,-1]}]},{key:"A#",suffix:"mmaj7b5",positions:[{frets:[-1,1,2,2,2,0],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,46,52,57,61,64]},{frets:[2,3,-1,2,1,1],fingers:[2,4,0,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[46,52,-1,61,64,69]},{frets:[1,2,2,1,-1,1],fingers:[1,2,3,1,0,1],barres:[1],capo:!0,baseFret:6,midi:[46,52,57,61,-1,70]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:8,barres:[],midi:[-1,-1,58,64,69,73]}]},{key:"A#",suffix:"mmaj9",positions:[{frets:[3,1,-1,2,3,2],fingers:[3,1,0,2,4,2],barres:[2],baseFret:4,midi:[46,49,-1,60,65,69]},{frets:[3,1,4,2,-1,-1],fingers:[3,1,4,2,0,0],baseFret:4,barres:[],midi:[46,49,57,60,-1,-1]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,53,57,61,65,72]},{frets:[1,1,1,3,3,2],fingers:[1,1,1,3,4,2],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,65,69,73]}]},{key:"A#",suffix:"mmaj11",positions:[{frets:[-1,1,1,2,2,1],fingers:[0,1,1,2,3,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,57,61,65]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,51,57,61,65,72]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,63,69,73]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:11,midi:[-1,58,61,69,72,75]}]},{key:"A#",suffix:"add9",positions:[{frets:[-1,1,0,3,1,1],fingers:[0,1,0,4,2,3],baseFret:1,barres:[],midi:[-1,46,50,58,60,65]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:6,barres:[],midi:[-1,-1,58,62,65,72]},{frets:[-1,-1,2,1,-1,2],fingers:[0,0,2,1,0,3],baseFret:7,barres:[],midi:[-1,-1,58,62,-1,72]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[-1,58,62,65,72,74]}]},{key:"A#",suffix:"madd9",positions:[{frets:[-1,4,3,3,1,-1],fingers:[0,4,2,3,1,0],baseFret:1,barres:[],midi:[-1,49,53,58,60,-1]},{frets:[3,1,-1,2,3,-1],fingers:[3,1,0,2,4,0],baseFret:4,barres:[],midi:[46,49,-1,60,65,-1]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[-1,-1,58,61,65,72]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:10,barres:[],midi:[-1,58,61,65,72,-1]}]}],B:[{key:"B",suffix:"major",positions:[{frets:[2,2,4,4,4,2],fingers:[1,1,2,3,4,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,59,63,66]},{frets:[-1,-1,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,63,71]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,59,63,66,71]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,2,4,3],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,66,71,75]}]},{key:"B",suffix:"minor",positions:[{frets:[2,2,4,4,3,2],fingers:[1,1,3,4,2,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,59,62,66]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,59,62,66,71]},{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:9,barres:[],midi:[-1,-1,59,66,71,74]},{frets:[-1,-1,3,2,3,1],fingers:[0,0,3,2,4,1],baseFret:10,barres:[],midi:[-1,-1,62,66,71,74]}]},{key:"B",suffix:"dim",positions:[{frets:[-1,2,0,-1,0,1],fingers:[0,3,0,0,0,2],baseFret:1,barres:[],midi:[-1,47,50,-1,59,65]},{frets:[-1,2,3,4,3,-1],fingers:[0,1,2,4,3,0],baseFret:1,barres:[],midi:[-1,47,53,59,62,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:5,barres:[],midi:[47,50,-1,62,65,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:9,barres:[],midi:[-1,-1,59,65,-1,74]}]},{key:"B",suffix:"dim7",positions:[{frets:[-1,2,3,1,3,1],fingers:[0,2,3,1,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,47,53,56,62,65]},{frets:[-1,-1,3,4,3,4],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,53,59,62,68]},{frets:[2,-1,1,2,1,-1],fingers:[3,0,1,4,2,0],baseFret:6,barres:[],midi:[47,-1,56,62,65,-1]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,53,59,62,68,71]}]},{key:"B",suffix:"sus2",positions:[{frets:[2,2,4,4,2,2],fingers:[1,1,3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,59,61,66]},{frets:[2,-1,-1,1,2,2],fingers:[2,0,0,1,3,4],baseFret:6,barres:[],midi:[47,-1,-1,61,66,71]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,66,71,73]},{frets:[-1,4,1,1,2,4],fingers:[0,3,1,1,2,4],barres:[1],capo:!0,baseFret:11,midi:[-1,59,61,66,71,78]}]},{key:"B",suffix:"sus4",positions:[{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:2,midi:[42,47,54,59,64,66]},{frets:[-1,-1,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,64,71]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,59,64,66,71]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,3,4,4],barres:[1,4],capo:!0,baseFret:9,midi:[-1,54,59,66,71,76]}]},{key:"B",suffix:"sus2sus4",positions:[{frets:[-1,2,2,4,2,2],fingers:[0,1,1,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[-1,47,52,59,61,66]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,64,66,73]},{frets:[4,4,1,3,-1,-1],fingers:[3,4,1,2,0,0],baseFret:4,barres:[],midi:[47,52,54,61,-1,-1]}]},{key:"B",suffix:"7sus4",positions:[{frets:[-1,2,2,2,0,0],fingers:[0,1,2,3,0,0],baseFret:1,barres:[],midi:[-1,47,52,57,59,64]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:2,midi:[42,47,54,57,64,66]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,2],barres:[1,2],capo:!0,baseFret:4,midi:[-1,-1,54,59,64,69]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,64,66,71]}]},{key:"B",suffix:"alt",positions:[{frets:[-1,2,3,4,4,-1],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,47,53,59,63,-1]},{frets:[-1,-1,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:6,barres:[],midi:[-1,-1,59,63,65,71]},{frets:[1,2,3,2,0,-1],fingers:[1,2,4,3,0,0],baseFret:7,barres:[],midi:[47,53,59,63,59,-1]},{frets:[-1,-1,1,2,0,3],fingers:[0,0,1,2,0,3],baseFret:9,barres:[],midi:[-1,-1,59,65,59,75]}]},{key:"B",suffix:"aug",positions:[{frets:[-1,2,1,0,0,-1],fingers:[0,2,1,0,0,0],baseFret:1,barres:[],midi:[-1,47,51,55,59,-1]},{frets:[-1,-1,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:3,barres:[],midi:[-1,-1,55,59,63,67]},{frets:[1,-1,3,2,2,-1],fingers:[1,0,4,2,3,0],baseFret:7,barres:[],midi:[47,-1,59,63,67,-1]},{frets:[-1,3,2,1,1,0],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:12,midi:[-1,59,63,67,71,64]}]},{key:"B",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:7,barres:[],midi:[47,54,-1,-1,-1,-1]},{frets:[-1,2,4,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:1,barres:[],midi:[-1,47,54,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:7,barres:[],midi:[47,54,59,-1,-1,-1]}]},{key:"B",suffix:"6",positions:[{frets:[-1,2,1,1,0,-1],fingers:[0,3,1,2,0,0],baseFret:1,barres:[],midi:[-1,47,51,56,59,-1]},{frets:[-1,2,4,4,4,4],fingers:[0,1,3,3,3,3],barres:[4],baseFret:1,midi:[-1,47,54,59,63,68]},{frets:[1,-1,3,2,3,-1],fingers:[1,0,3,2,4,0],baseFret:7,barres:[],midi:[47,-1,59,63,68,-1]},{frets:[-1,-1,1,3,1,3],fingers:[0,0,1,3,1,4],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,59,66,68,75]}]},{key:"B",suffix:"69",positions:[{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:1,midi:[-1,47,51,56,61,66]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:6,midi:[47,51,56,61,66,71]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],baseFret:8,midi:[-1,54,59,63,68,73]},{frets:[-1,4,1,3,2,1],fingers:[0,4,1,3,2,1],barres:[1],capo:!0,baseFret:11,midi:[-1,59,61,68,71,75]}]},{key:"B",suffix:"7",positions:[{frets:[-1,2,1,2,0,2],fingers:[0,2,1,3,0,4],baseFret:1,barres:[],midi:[-1,47,51,57,59,66]},{frets:[2,2,4,2,4,2],fingers:[1,1,3,1,4,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,57,63,66]},{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,63,69]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,63,66,71]}]},{key:"B",suffix:"7b5",positions:[{frets:[-1,2,1,2,0,1],fingers:[0,3,1,4,0,2],baseFret:1,barres:[],midi:[-1,47,51,57,59,65]},{frets:[-1,2,3,2,4,-1],fingers:[0,1,2,1,3,0],baseFret:1,barres:[],midi:[-1,47,53,57,63,-1]},{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:6,barres:[],midi:[47,-1,57,63,65,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:9,barres:[],midi:[-1,-1,59,65,69,75]}]},{key:"B",suffix:"aug7",positions:[{frets:[-1,2,1,2,0,3],fingers:[0,2,1,3,0,4],baseFret:1,barres:[],midi:[-1,47,51,57,59,67]},{frets:[-1,1,4,1,3,2],fingers:[0,0,2,1,1,3],barres:[1],capo:!0,baseFret:2,midi:[-1,47,55,57,63,67]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:7,barres:[],midi:[47,-1,57,63,67,-1]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:9,barres:[],midi:[-1,-1,59,67,69,75]}]},{key:"B",suffix:"9",positions:[{frets:[-1,2,1,2,2,2],fingers:[0,2,1,3,3,4],barres:[2],baseFret:1,midi:[-1,47,51,57,61,66]},{frets:[4,1,1,3,1,2],fingers:[4,1,1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[47,49,54,61,63,69]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,63,66,73]},{frets:[-1,-1,2,1,3,2],fingers:[0,0,2,1,4,3],baseFret:8,barres:[],midi:[-1,-1,59,63,69,73]}]},{key:"B",suffix:"9b5",positions:[{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,47,51,57,61,65]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[47,51,57,61,65,71]},{frets:[1,2,1,2,-1,3],fingers:[1,2,1,3,0,4],barres:[1],capo:!0,baseFret:7,midi:[47,53,57,63,-1,73]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:13,midi:[-1,59,63,69,73,77]}]},{key:"B",suffix:"aug9",positions:[{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:1,midi:[-1,47,51,57,61,67]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[45,49,55,59,63,69]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:6,midi:[47,51,57,61,67,-1]},{frets:[1,2,1,2,2,1],fingers:[1,2,1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,57,61,67,71,75]}]},{key:"B",suffix:"7b9",positions:[{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:1,midi:[-1,47,51,57,60,66]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:5,barres:[],midi:[47,51,57,60,-1,-1]},{frets:[1,-1,1,2,1,2],fingers:[1,0,1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[47,-1,57,63,66,72]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,2,1,3,1],barres:[1],baseFret:8,midi:[-1,-1,59,63,69,72]}]},{key:"B",suffix:"7#9",positions:[{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:1,barres:[],midi:[-1,47,51,57,62,-1]},{frets:[3,2,0,3,0,1],fingers:[3,2,0,4,0,1],baseFret:5,barres:[],midi:[47,51,50,62,59,69]},{frets:[1,3,1,2,4,4],fingers:[1,3,1,2,4,4],barres:[1,4],capo:!0,baseFret:7,midi:[47,54,57,63,69,74]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,2,1,3,4],baseFret:8,barres:[],midi:[-1,-1,59,63,69,74]}]},{key:"B",suffix:"11",positions:[{frets:[-1,2,1,2,0,0],fingers:[0,2,1,3,0,0],baseFret:1,barres:[],midi:[-1,47,51,57,59,64]},{frets:[2,2,2,2,4,2],fingers:[1,1,1,1,3,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,57,63,66]},{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,63,66,71]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,64,69,75]}]},{key:"B",suffix:"9#11",positions:[{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,47,51,57,61,65]},{frets:[-1,2,3,2,4,2],fingers:[0,1,2,1,3,1],barres:[2],capo:!0,baseFret:1,midi:[-1,47,53,57,63,66]},{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:6,barres:[],midi:[47,-1,57,63,65,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:9,barres:[],midi:[-1,-1,59,65,69,75]}]},{key:"B",suffix:"13",positions:[{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:1,midi:[-1,47,51,57,63,68]},{frets:[2,2,2,2,4,4],fingers:[1,1,1,1,3,4],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,57,63,68]},{frets:[4,1,3,1,1,2],fingers:[4,1,3,1,1,2],barres:[1],capo:!0,baseFret:4,midi:[47,49,56,59,63,69]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,63,68,73]}]},{key:"B",suffix:"maj7",positions:[{frets:[2,2,4,3,4,2],fingers:[1,1,3,2,4,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,58,63,66]},{frets:[-1,-1,1,1,1,3],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,63,70]},{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,58,63,66,71]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1,3],capo:!0,baseFret:9,midi:[-1,54,59,66,70,75]}]},{key:"B",suffix:"maj7b5",positions:[{frets:[-1,2,3,3,4,-1],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,47,53,58,63,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[47,51,58,63,65,70]},{frets:[1,2,2,2,0,-1],fingers:[1,2,3,4,0,0],baseFret:7,barres:[],midi:[47,53,58,63,59,-1]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:9,barres:[],midi:[-1,-1,59,65,70,75]}]},{key:"B",suffix:"maj7#5",positions:[{frets:[-1,2,1,3,0,3],fingers:[0,2,1,3,0,4],baseFret:1,barres:[],midi:[-1,47,51,58,59,67]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:2,barres:[],midi:[-1,47,55,58,63,-1]},{frets:[2,1,3,0,3,-1],fingers:[2,1,3,0,3,0],baseFret:6,barres:[],midi:[47,51,58,55,67,-1]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,59,63,67,70,75]}]},{key:"B",suffix:"maj9",positions:[{frets:[2,2,1,3,2,-1],fingers:[2,2,1,4,3,0],barres:[2],baseFret:1,midi:[42,47,51,58,61,-1]},{frets:[-1,-1,1,3,1,3],fingers:[0,0,1,3,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,61,63,70]},{frets:[2,1,3,1,2,-1],fingers:[2,1,4,1,3,0],barres:[1],baseFret:6,midi:[47,51,58,61,66,-1]},{frets:[-1,-1,2,1,4,2],fingers:[0,0,2,1,4,3],baseFret:8,barres:[],midi:[-1,-1,59,63,70,73]}]},{key:"B",suffix:"maj11",positions:[{frets:[-1,2,1,3,0,0],fingers:[0,2,1,3,0,0],baseFret:1,barres:[],midi:[-1,47,51,58,59,64]},{frets:[2,2,2,3,4,2],fingers:[1,1,1,2,3,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,58,63,66]},{frets:[1,1,2,2,1,3],fingers:[1,1,2,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[47,52,58,63,66,73]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,59,64,70,75]}]},{key:"B",suffix:"maj13",positions:[{frets:[-1,2,2,3,4,4],fingers:[0,1,1,2,3,4],barres:[2],capo:!0,baseFret:1,midi:[-1,47,52,58,63,68]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:6,midi:[47,51,56,61,66,70]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,58,63,68,71]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[-1,59,63,68,70,75]}]},{key:"B",suffix:"m6",positions:[{frets:[2,2,0,1,0,2],fingers:[2,3,0,1,0,4],baseFret:1,barres:[],midi:[42,47,50,56,59,66]},{frets:[-1,-1,4,4,3,4],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[-1,-1,54,59,62,68]},{frets:[2,-1,1,2,2,-1],fingers:[2,0,1,3,4,0],baseFret:6,barres:[],midi:[47,-1,56,62,66,-1]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,59,62,68,71]}]},{key:"B",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:7,barres:[],midi:[47,-1,57,62,66,-1]},{frets:[2,2,4,2,3,2],fingers:[1,1,3,1,2,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,57,62,66]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:3,barres:[],midi:[-1,-1,54,59,62,69]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,62,66,71]},{frets:[-1,1,1,3,2,2],fingers:[0,1,1,4,2,3],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,66,69,74]}]},{key:"B",suffix:"m7b5",positions:[{frets:[-1,2,3,2,3,-1],fingers:[0,1,3,2,4,0],baseFret:1,barres:[],midi:[-1,47,53,57,62,-1]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:6,barres:[],midi:[47,-1,57,62,65,-1]},{frets:[1,2,3,1,4,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,53,59,62,69,71]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:9,midi:[-1,-1,59,65,69,74]}]},{key:"B",suffix:"m9",positions:[{frets:[-1,2,0,2,2,2],fingers:[0,1,0,2,3,4],baseFret:1,barres:[],midi:[-1,47,50,57,61,66]},{frets:[-1,2,2,2,1,3],fingers:[0,2,3,3,1,4],barres:[2],baseFret:3,midi:[-1,49,54,59,62,69]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,62,66,73]},{frets:[1,3,2,2,3,1],fingers:[1,3,2,2,4,1],barres:[1,2],capo:!0,baseFret:10,midi:[50,57,61,66,71,74]}]},{key:"B",suffix:"m69",positions:[{frets:[-1,2,0,1,2,2],fingers:[0,2,0,1,3,4],baseFret:1,barres:[],midi:[-1,47,50,56,61,66]},{frets:[-1,1,2,2,3,3],fingers:[0,1,2,2,3,3],barres:[2,3],baseFret:5,midi:[-1,50,56,61,66,71]},{frets:[1,3,3,1,3,3],fingers:[1,2,2,1,3,4],barres:[1,3],capo:!0,baseFret:7,midi:[47,54,59,62,68,73]},{frets:[2,-1,1,3,1,1],fingers:[2,0,1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[50,-1,59,66,68,73]}]},{key:"B",suffix:"m11",positions:[{frets:[-1,2,0,2,2,0],fingers:[0,1,0,2,3,0],baseFret:1,barres:[],midi:[-1,47,50,57,61,64]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[47,50,57,61,64,69]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,62,66,73]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1,2],capo:!0,baseFret:9,midi:[-1,-1,59,64,69,74]}]},{key:"B",suffix:"mmaj7",positions:[{frets:[-1,2,0,3,0,2],fingers:[0,1,0,3,0,2],baseFret:1,barres:[],midi:[-1,47,50,58,59,66]},{frets:[2,2,4,3,3,2],fingers:[1,1,4,2,3,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,58,62,66]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,58,62,66,71]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,66,70,74]}]},{key:"B",suffix:"mmaj7b5",positions:[{frets:[-1,2,3,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,47,53,58,62,-1]},{frets:[2,3,-1,2,1,1],fingers:[2,4,0,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[47,53,-1,62,65,70]},{frets:[1,2,2,1,-1,1],fingers:[1,2,3,1,0,1],barres:[1],capo:!0,baseFret:7,midi:[47,53,58,62,-1,71]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:9,barres:[],midi:[-1,-1,59,65,70,74]}]},{key:"B",suffix:"mmaj9",positions:[{frets:[-1,2,0,3,2,2],fingers:[0,1,0,4,2,3],baseFret:1,barres:[],midi:[-1,47,50,58,61,66]},{frets:[3,1,4,2,0,-1],fingers:[3,1,4,2,0,0],baseFret:5,barres:[],midi:[47,50,58,61,59,-1]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,54,58,62,66,73]},{frets:[-1,3,1,4,3,-1],fingers:[0,3,1,4,3,0],baseFret:12,barres:[],midi:[-1,59,62,70,73,-1]}]},{key:"B",suffix:"mmaj11",positions:[{frets:[-1,2,0,3,2,0],fingers:[0,1,0,3,2,0],baseFret:1,barres:[],midi:[-1,47,50,58,61,64]},{frets:[2,2,2,3,3,2],fingers:[1,1,1,2,3,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,58,62,66]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,52,58,62,66,73]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,64,70,74]}]},{key:"B",suffix:"add9",positions:[{frets:[-1,2,1,-1,2,2],fingers:[0,2,1,0,3,4],baseFret:1,barres:[],midi:[-1,47,51,-1,61,66]},{frets:[2,1,-1,1,2,2],fingers:[3,1,0,2,4,4],barres:[2],baseFret:6,midi:[47,51,-1,61,66,71]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:7,barres:[],midi:[-1,-1,59,63,66,73]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:11,midi:[-1,59,63,66,73,75]}]},{key:"B",suffix:"madd9",positions:[{frets:[-1,4,3,3,1,-1],fingers:[0,4,2,3,1,0],baseFret:2,barres:[],midi:[-1,50,54,59,61,-1]},{frets:[3,1,0,2,3,-1],fingers:[3,1,0,2,4,0],baseFret:5,barres:[],midi:[47,50,50,61,66,-1]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[-1,-1,59,62,66,73]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:11,barres:[],midi:[-1,59,62,66,73,-1]}]}]}},Fe={class:"flex flex-wrap items-start p-2 gap-2"},ge={class:"flex-1 flex flex-wrap gap-2 overflow-y-scroll overscroll-none max-h-95svh",style:{flex:"1 0 140px"}},oe={class:"flex flex-wrap gap-1 p-2",style:{flex:"1 1 300px"}},ue={class:"text-lg font-bold p-1 rounded text-white"},pe=["onPointerdown","onPointerup","onPointerleave","onPointercancel"],ce={class:"is-group flex flex-col items-center overflow-y-scroll overscroll-none max-h-95svh",style:{flex:"1 1 200px"}},xe={class:"flex flex bg-light-300 rounded-md dark-bg-dark-300 sticky top-0 z-5 dark-bg-dark-200 w-full"},ye=["onClick"],ke={class:"p-2 font-bold my-2"},je={class:"flex flex-wrap justify-center w-full"},le={class:"is-group flex flex-col p-2",style:{flex:"1 1 40px"}},Ce={__name:"ChordTabs",setup(d){const{isDark:A}=M(),e={ukulele:W,guitar:de},o=h("string-instrument","ukulele"),s=v({instrument:F(()=>e[o.value]),key:F(()=>s.instrument.keys[s.pitch]),pitch:h("chord-pitch",3),suffix:h("chord-suffix",W.suffixes[0]),chordType:h("chord-type","Triad"),tabs:F(()=>{var r;let a=(r=s.instrument.chords)==null?void 0:r[s.key];return a?a.find(i=>i.suffix==s.suffix):{}}),chords:F(()=>{var a;return(a=s.instrument)==null?void 0:a.suffixes.map(r=>({...H(s.key+r),suffix:r}))}),allChords:F(()=>N(u,P.tonic).map(r=>{var G;return(G=s.instrument)==null?void 0:G.suffixes.map(k=>({...H(r+k),suffix:k})).filter(k=>!k.empty).filter(k=>k.notes.reduce((D,g)=>D&&P.isIn(g),!0))}).filter(r=>r.length>0)),byNotes:{Triads:F(()=>s.chords.filter(a=>a.notes.length==3)),Tetrads:F(()=>s.chords.filter(a=>a.notes.length==4)),Pentads:F(()=>s.chords.filter(a=>a.notes.length==5)),More:F(()=>s.chords.filter(a=>a.notes.length!=3&&a.notes.length!=4&&a.notes.length!=5))}});return(a,r)=>{var D;const i=X,G=me,k=Y;return t(),f("div",Fe,[n("div",ge,[_(i,{class:"sticky top-0 z-6 w-full"}),n("div",oe,[(t(!0),f(y,null,l(s.allChords,(g,c)=>{var E;return t(),f(y,{key:c},[n("div",{class:"flex-1 px-1 inline-flex flex-wrap items-center gap-1 rounded-lg p-1",style:I({backgroundColor:b(w)(b(u).findIndex(m=>m==g[0].tonic),1)})},[n("div",ue,p(c+1)+": "+p((E=g[0])==null?void 0:E.tonic),1)],4),(t(!0),f(y,null,l(g,(m,Ae)=>(t(),f("button",{class:z(["flex-1 text-black dark-text-light-200 px-1 bg-light-200 bg-opacity-80 dark-bg-dark-200 dark-bg-opacity-40",{active:s.suffix==m.suffix&&s.pitch==b(u).findIndex(C=>C==g[0].tonic)}]),style:I([{margin:"0"},{backgroundColor:b(T)(m.chroma,b(u).findIndex(C=>C==m.tonic),.5,b(A)?2:8).lch}]),key:m.setNum,onPointerdown:C=>{b(O)(m.chroma,b(u).findIndex(x=>x==m.tonic)),s.suffix=m.suffix,s.pitch=b(u).findIndex(x=>x==g[0].tonic)},onPointerup:C=>{b(B)(m.chroma,b(u).findIndex(x=>x==m.tonic))},onPointerleave:C=>{b(B)(m.chroma,b(u).findIndex(x=>x==m.tonic))},onPointercancel:C=>{b(B)(m.chroma,b(u).findIndex(x=>x==m.tonic))}},p(m.symbol||m.suffix),47,pe))),128))],64)}),128))])]),n("div",ce,[n("div",xe,[(t(),f(y,null,l(e,(g,c)=>n("button",{class:z(["p-1 capitalize",{active:s.instrument.main.name==c}]),key:c,onClick:E=>o.value=c},p(c),11,ye)),64)),n("div",ke,p(s.key)+" "+p(s.suffix),1)]),n("div",je,[(t(!0),f(y,null,l((D=s.tabs)==null?void 0:D.positions,(g,c)=>(t(),f("div",{class:"tab",key:g},[_(G,L({style:{flex:"1 1 40px"},id:s.key+s.suffix+c,name:s.key+s.suffix,pitch:s.pitch,ref_for:!0},g),null,16,["id","name","pitch"])]))),128))])]),n("div",le,[_(k,{class:"my-8 h-80svh",instrument:b(o),onNote:r[0]||(r[0]=g=>b(S)(g)),"chord-notes":b(V).get(s.key+s.suffix).notes},null,8,["instrument","chord-notes"])])])}}},he=q(Ce,[["__scopeId","data-v-349cfcd2"]]);export{he as default}; diff --git a/assets/chunks/ChordTabs.b49OjQ8P.js b/assets/chunks/ChordTabs.b49OjQ8P.js deleted file mode 100644 index c6b4f1defa..0000000000 --- a/assets/chunks/ChordTabs.b49OjQ8P.js +++ /dev/null @@ -1 +0,0 @@ -import{w as $,c as w,n as u,j as H,r as W,g as P,d as T,p as O,s as B,e as S,aM as M,au as V,aN as X}from"./theme.ClagsQLu.js";import{b as v,c as F,x as t,y as f,G as p,I as j,A as n,F as y,B as l,E as b,q as Y,v as q,u as h,P as _,H as I,z,a1 as L}from"./framework.BR0mAPCP.js";const J=["viewBox"],K=["fill","x"],Q=["y1","y2","x1","x2","stroke-width"],R=["x","y"],U=["x2","y1","y2"],Z=["cx","cy"],ee=["x1","x2","y2","stroke"],re=["cx","cy","fill"],se=["x","y"],ie={class:"barres"},te=["x2","y1","y2"],fe=["cx","stroke"],ae=["transform"],be=["cx","cy","fill"],ne=["x","y"],me={__name:"ChordTabsTab",props:{frets:{type:Array,default:()=>[]},fingers:{type:Array,default:()=>[]},baseFret:{type:Number,default:0},barres:{type:Array,default:()=>[]},midi:{type:Array,default:()=>[]},name:{type:String,default:""},pitch:{type:Number,default:0}},setup(d){const A=d,e=v({stringWidth:40,fretHeight:60,width:F(()=>(A.frets.length-1)*e.stringWidth),height:F(()=>4*e.fretHeight),padX:30,padY:40,dots:[3,5,7,10]}),o=v({chordColor:F(()=>$(w(A.pitch,3)).toHex()),list:F(()=>A.midi.map(s=>(s+3)%12)),colors:F(()=>o.list.map(s=>$(w(s,3)).toHex()))});return(s,a)=>(t(),f("svg",{class:"max-h-360px min-h-50",version:"1.1",baseProfile:"full",viewBox:`${-e.padX} ${-e.padY} ${e.width+2*e.padX} ${e.height+2*e.padY}`,xmlns:"http://www.w3.org/2000/svg","font-family":"Commissioner, sans-serif","font-size":"20px","text-anchor":"middle","dominant-baseline":"middle"},[d.name?(t(),f("text",{key:0,"font-weight":"bold",fill:o.chordColor,"font-size":"22px",x:(e==null?void 0:e.width)/2,y:-30},p(d.name),9,K)):j("",!0),n("line",{class:"top",y1:d.baseFret==1?4:0,y2:d.baseFret==1?4:0,x1:d.baseFret==1?2:0,x2:d.baseFret==1?e.width-2:e.width,stroke:"currentColor","stroke-linecap":"square","stroke-width":d.baseFret==1?8:2},null,8,Q),(t(),f(y,null,l(4,r=>n("g",{class:"frets",key:r},[n("text",{x:e.width+10,y:r*e.fretHeight-e.fretHeight/2,"font-size":"18px",fill:"currentColor"},p(r+d.baseFret-1),9,R),n("line",{class:"fret",x1:"0",x2:e.width,y1:r*e.fretHeight,y2:r*e.fretHeight,stroke:"currentColor"},null,8,U),e.dots.find(i=>i==r+d.baseFret-1)?(t(),f("circle",{key:0,cx:e.width/2,cy:r*e.fretHeight-e.fretHeight/2,r:"10",fill:"gray"},null,8,Z)):j("",!0)])),64)),(t(!0),f(y,null,l(d.frets,(r,i)=>(t(),f("g",{class:"strings",key:i},[n("line",{x1:i*e.stringWidth,x2:i*e.stringWidth,y1:0,y2:e.height,stroke:r>=0?o.colors[i]:"gray","stroke-width":"4px"},null,8,ee),r>=0?(t(),f("circle",{key:0,cx:i*e.stringWidth,cy:e.height+10,r:"10",fill:o.colors[i]},null,8,re)):j("",!0),r>=0?(t(),f("text",{key:1,fill:"white",x:i*e.stringWidth,y:e.height+14,"font-size":"12px","font-weight":"bold"},p(b(u)[o.list[i]]),9,se)):j("",!0)]))),128)),n("g",ie,[(t(!0),f(y,null,l(d.barres,r=>(t(),f("line",{key:r,x1:"0",x2:e.width,y1:r*e.fretHeight-e.fretHeight/2,y2:r*e.fretHeight-e.fretHeight/2,"stroke-width":"48px","stroke-linecap":"round",stroke:"gray",opacity:"0.5"},null,8,te))),128))]),(t(!0),f(y,null,l(d.frets,(r,i)=>(t(),f("g",{class:"notes",key:i},[r==0?(t(),f("circle",{key:0,cx:i*e.stringWidth,cy:"-15",r:"8",fill:"none","stroke-width":"6px",stroke:o.colors[i]},null,8,fe)):j("",!0),r==-1?(t(),f("g",{key:1,class:"x","stroke-width":"4px",transform:`translate(${i*e.stringWidth}, -15)`},a[0]||(a[0]=[n("line",{x1:"-10",x2:"10",y1:"-10",y2:"10",stroke:"currentColor"},null,-1),n("line",{x1:"-10",x2:"10",y1:"10",y2:"-10",stroke:"currentColor"},null,-1)]),8,ae)):j("",!0),r>0?(t(),f("circle",{key:2,cx:i*e.stringWidth,cy:r*e.fretHeight-e.fretHeight/2,r:20,fill:o.colors[i]},null,8,be)):j("",!0),r>0?(t(),f("text",{key:3,fill:"white","font-weight":"bold",x:i*e.stringWidth,y:r*e.fretHeight-e.fretHeight/2+5},p(d.fingers[i]),9,ne)):j("",!0)]))),128))],8,J))}},N={main:{strings:4,fretsOnChord:4,name:"ukulele",numberOfChords:2114},tunings:{standard:["G4","C4","E4","A4"]},keys:["A","A#","B","C","C#","D","D#","E","F","F#","G","G#"],suffixes:["major","minor","dim","dim7","sus2","sus4","7sus4","alt","aug","6","69","7","7b5","aug7","9","9b5","aug9","7b9","7b9#5","7#9","11","9#11","13","13b9","13b5b9","b13b9","b13#9","maj7","maj7b5","maj7#5","maj9","maj11","maj13","m6","m7","m7b5","m9","m69","m9b5","m11","mmaj7","mmaj7b5","mmaj9","mmaj11","add9","madd9"],chords:{C:[{key:"C",suffix:"major",positions:[{frets:[0,0,0,3],fingers:[0,0,0,3],baseFret:1,barres:[],midi:[67,60,64,72]},{frets:[0,4,3,3],fingers:[0,2,1,1],barres:[3],baseFret:1,midi:[67,64,67,72]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[72,64,67,72]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,67,72,76]}]},{key:"C",suffix:"minor",positions:[{frets:[0,3,3,3],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,63,67,72]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:3,midi:[72,63,67,72]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[72,63,67,75]},{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:5,barres:[],midi:[72,67,72,75]}]},{key:"C",suffix:"dim",positions:[{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:2,barres:[],midi:[72,63,66,72]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,66,72,75]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[75,66,72,75]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:9,barres:[],midi:[78,72,75,78]}]},{key:"C",suffix:"dim7",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"C",suffix:"sus2",positions:[{frets:[0,2,3,3],fingers:[0,1,2,2],barres:[3],baseFret:1,midi:[67,62,67,72]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,72,74]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:7,midi:[74,67,72,79]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[79,72,74,79]}]},{key:"C",suffix:"sus4",positions:[{frets:[0,0,1,3],fingers:[0,0,1,3],baseFret:1,barres:[],midi:[67,60,65,72]},{frets:[3,3,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[72,65,67,72]},{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,67,72,77]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:7,barres:[],midi:[77,67,72,79]}]},{key:"C",suffix:"7sus4",positions:[{frets:[0,0,1,1],fingers:[0,0,1,2],baseFret:1,barres:[],midi:[67,60,65,70]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,72]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,70,77]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[77,70,72,79]}]},{key:"C",suffix:"alt",positions:[{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:2,barres:[],midi:[72,64,66,72]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,66,72,76]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:6,barres:[],midi:[76,66,72,76]}]},{key:"C",suffix:"aug",positions:[{frets:[1,0,0,3],fingers:[1,0,0,4],baseFret:1,barres:[],midi:[68,60,64,72]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,64,68,72]},{frets:[3,2,2,1],fingers:[4,2,3,1],baseFret:3,barres:[],midi:[72,64,68,72]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,76]}]},{key:"C",suffix:"6",positions:[{frets:[0,0,0,0],fingers:[0,0,0,0],baseFret:1,barres:[],midi:[67,60,64,69]},{frets:[2,4,3,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[69,64,67,72]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,69,76]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:8,midi:[76,69,72,79]}]},{key:"C",suffix:"69",positions:[{frets:[0,2,0,0],fingers:[0,2,0,0],baseFret:1,barres:[],midi:[67,62,64,69]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:2,barres:[],midi:[69,64,67,74]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[74,67,69,76]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:9,midi:[76,69,74,79]}]},{key:"C",suffix:"7",positions:[{frets:[0,0,0,1],fingers:[0,0,0,1],baseFret:1,barres:[],midi:[67,60,64,70]},{frets:[3,4,3,3],fingers:[1,2,1,1],barres:[3],capo:!0,baseFret:1,midi:[70,64,67,72]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,70,76]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,70,72,79]}]},{key:"C",suffix:"7b5",positions:[{frets:[3,4,2,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[70,64,66,72]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:5,midi:[72,66,70,76]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,70,72,78]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,82]}]},{key:"C",suffix:"aug7",positions:[{frets:[1,0,0,1],fingers:[1,0,0,2],baseFret:1,barres:[],midi:[68,60,64,70]},{frets:[3,4,4,3],fingers:[1,4,3,2],baseFret:1,barres:[],midi:[70,64,68,72]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,68,70,76]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,70,72,80]}]},{key:"C",suffix:"9",positions:[{frets:[0,2,0,1],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,62,64,70]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,74]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,76]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,79]}]},{key:"C",suffix:"9b5",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:2,barres:[],midi:[70,64,66,74]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,76]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:9,midi:[76,70,74,78]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:11,barres:[],midi:[78,74,76,82]}]},{key:"C",suffix:"aug9",positions:[{frets:[1,2,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,62,64,70]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,74]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,68,70,76]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,80]}]},{key:"C",suffix:"7b9",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"C",suffix:"7b9#5",positions:[{frets:[1,1,0,1],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,70]},{frets:[3,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[70,64,68,73]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,76]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,80]}]},{key:"C",suffix:"7#9",positions:[{frets:[0,3,0,1],fingers:[0,3,0,1],baseFret:1,barres:[],midi:[67,63,64,70]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,75]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:6,barres:[],midi:[75,67,70,76]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,67,70,75]}]},{key:"C",suffix:"11",positions:[{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:5,barres:[],midi:[74,65,70,76]}]},{key:"C",suffix:"9#11",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:2,barres:[],midi:[70,64,66,74]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,76]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:9,midi:[76,70,74,78]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:11,barres:[],midi:[78,74,76,82]}]},{key:"C",suffix:"13",positions:[{frets:[2,2,0,1],fingers:[2,3,0,1],baseFret:1,barres:[],midi:[69,62,64,70]},{frets:[3,2,0,0],fingers:[3,2,0,0],baseFret:1,barres:[],midi:[70,62,64,69]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,69,74]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,76]}]},{key:"C",suffix:"13b9",positions:[{frets:[2,1,0,1],fingers:[3,1,0,2],baseFret:1,barres:[],midi:[69,61,64,70]},{frets:[3,1,0,0],fingers:[3,1,0,0],baseFret:1,barres:[],midi:[70,61,64,69]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,64,69,73]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,69,70,76]}]},{key:"C",suffix:"13b5b9",positions:[{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:1,barres:[],midi:[69,61,66,70]},{frets:[3,1,2,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[70,61,66,69]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:3,barres:[],midi:[70,66,69,73]}]},{key:"C",suffix:"b13b9",positions:[{frets:[1,1,0,1],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,70]},{frets:[3,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[70,64,68,73]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,76]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,80]}]},{key:"C",suffix:"b13#9",positions:[{frets:[1,3,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,70]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,75]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,68,70,75]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:6,barres:[],midi:[75,68,70,76]}]},{key:"C",suffix:"maj7",positions:[{frets:[0,0,0,2],fingers:[0,0,0,2],baseFret:1,barres:[],midi:[67,60,64,71]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:2,barres:[],midi:[72,64,67,71]},{frets:[4,4,3,3],fingers:[2,3,1,1],barres:[3],capo:!0,baseFret:1,midi:[71,64,67,72]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,67,71,76]}]},{key:"C",suffix:"maj7b5",positions:[{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,64,66,71]},{frets:[4,4,2,3],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[71,64,66,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,71,76]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,71,72,78]}]},{key:"C",suffix:"maj7#5",positions:[{frets:[1,0,0,2],fingers:[1,0,0,2],baseFret:1,barres:[],midi:[68,60,64,71]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:2,barres:[],midi:[72,64,68,71]},{frets:[4,4,4,3],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[71,64,68,72]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,68,71,76]}]},{key:"C",suffix:"maj9",positions:[{frets:[0,2,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,62,64,71]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:3,midi:[71,64,67,74]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,76]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:9,midi:[76,71,74,79]}]},{key:"C",suffix:"maj11",positions:[{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:5,barres:[],midi:[74,65,71,76]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:8,barres:[],midi:[76,71,74,77]}]},{key:"C",suffix:"maj13",positions:[{frets:[2,2,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[69,62,64,71]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:4,midi:[71,64,69,74]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,76]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,74,81]}]},{key:"C",suffix:"m6",positions:[{frets:[2,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,72]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,75]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,79]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,72,75,81]}]},{key:"C",suffix:"m7",positions:[{frets:[3,3,3,3],fingers:[1,1,1,1],barres:[3],capo:!0,baseFret:1,midi:[70,63,67,72]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:5,midi:[72,67,70,75]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,72,79]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:11,midi:[79,72,75,82]}]},{key:"C",suffix:"m7b5",positions:[{frets:[3,3,2,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,72]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,75]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,78]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,82]}]},{key:"C",suffix:"m9",positions:[{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],baseFret:3,midi:[70,63,67,74]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:5,barres:[],midi:[75,67,70,74]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:6,midi:[74,67,70,75]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,70,74,79]}]},{key:"C",suffix:"m69",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,63,67,74]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:5,barres:[],midi:[74,67,69,75]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,67,69,74]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,74,79]}]},{key:"C",suffix:"m9b5",positions:[{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:2,midi:[70,63,66,74]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:5,midi:[75,66,70,74]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,75]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:8,barres:[],midi:[75,70,74,78]}]},{key:"C",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:5,midi:[74,65,70,75]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:5,midi:[75,65,70,74]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[75,70,74,77]}]},{key:"C",suffix:"mmaj7",positions:[{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:2,midi:[72,63,67,71]},{frets:[4,3,3,3],fingers:[2,1,1,1],barres:[3],capo:!0,baseFret:1,midi:[71,63,67,72]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:5,barres:[],midi:[72,67,71,75]},{frets:[1,4,1,3],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,71,72,79]}]},{key:"C",suffix:"mmaj7b5",positions:[{frets:[4,3,2,3],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[71,63,66,72]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,63,66,71]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,66,71,75]}]},{key:"C",suffix:"mmaj9",positions:[{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:3,midi:[71,63,67,74]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:5,barres:[],midi:[75,67,71,74]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:6,barres:[],midi:[74,67,71,75]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,71,74,79]}]},{key:"C",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:5,barres:[],midi:[74,65,71,75]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:5,midi:[75,65,71,74]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:8,midi:[75,71,74,77]}]},{key:"C",suffix:"add9",positions:[{frets:[0,2,0,3],fingers:[0,2,0,3],baseFret:1,barres:[],midi:[67,62,64,72]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:3,barres:[],midi:[72,64,67,74]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:7,midi:[74,67,72,76]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:9,midi:[76,72,74,79]}]},{key:"C",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[72,63,67,74]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:5,barres:[],midi:[75,67,72,74]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:6,midi:[74,67,72,75]}]}],"C#":[{key:"C#",suffix:"major",positions:[{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,73]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[73,65,68,73]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:6,barres:[],midi:[73,68,73,77]},{frets:[3,1,2,1],fingers:[3,1,2,1],barres:[1],capo:!0,baseFret:8,midi:[77,68,73,77]}]},{key:"C#",suffix:"minor",positions:[{frets:[1,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,64,68,73]},{frets:[3,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[73,64,68,73]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[73,64,68,76]},{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:6,barres:[],midi:[73,68,73,76]}]},{key:"C#",suffix:"dim",positions:[{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:3,barres:[],midi:[73,64,67,73]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:6,barres:[],midi:[73,67,73,76]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[76,67,73,76]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:10,barres:[],midi:[79,73,76,79]}]},{key:"C#",suffix:"dim7",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"C#",suffix:"sus2",positions:[{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:1,midi:[68,63,68,73]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,73,75]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:8,midi:[75,68,73,80]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:11,midi:[80,73,75,80]}]},{key:"C#",suffix:"sus4",positions:[{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:1,midi:[68,61,66,73]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[73,66,68,73]},{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,68,73,78]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:8,barres:[],midi:[78,68,73,80]}]},{key:"C#",suffix:"7sus4",positions:[{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:1,midi:[68,61,66,71]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,73]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,71,78]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[78,71,73,80]}]},{key:"C#",suffix:"alt",positions:[{frets:[0,1,1,4],fingers:[0,1,1,4],barres:[1],baseFret:1,midi:[67,61,65,73]},{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:3,barres:[],midi:[73,65,67,73]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:6,barres:[],midi:[73,67,73,77]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:7,barres:[],midi:[77,67,73,77]}]},{key:"C#",suffix:"aug",positions:[{frets:[2,1,1,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[69,61,65,69]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,73]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:2,barres:[],midi:[69,65,69,73]},{frets:[3,2,2,1],fingers:[4,2,3,1],baseFret:4,barres:[],midi:[73,65,69,73]}]},{key:"C#",suffix:"6",positions:[{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,70]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,65,68,73]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,70,77]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:9,midi:[77,70,73,80]}]},{key:"C#",suffix:"69",positions:[{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,70]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,68,75]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[75,68,70,77]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:10,midi:[77,70,75,80]}]},{key:"C#",suffix:"7",positions:[{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,71]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,73]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,71,77]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,71,73,80]}]},{key:"C#",suffix:"7b5",positions:[{frets:[0,1,1,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,71]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,65,67,73]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,77]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:9,barres:[],midi:[77,71,73,79]}]},{key:"C#",suffix:"aug7",positions:[{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,71]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:4,midi:[71,65,69,73]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,69,71,77]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,71,73,81]}]},{key:"C#",suffix:"9",positions:[{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,71]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,75]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,77]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,80]}]},{key:"C#",suffix:"9b5",positions:[{frets:[0,3,1,2],fingers:[0,3,1,2],baseFret:1,barres:[],midi:[67,63,65,71]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,65,67,75]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,77]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:10,midi:[77,71,75,79]}]},{key:"C#",suffix:"aug9",positions:[{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,63,65,71]},{frets:[4,3,1,0],fingers:[3,2,1,0],baseFret:1,barres:[],midi:[71,63,65,69]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,75]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,69,71,77]}]},{key:"C#",suffix:"7b9",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"C#",suffix:"7b9#5",positions:[{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,71]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,74]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,77]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,81]}]},{key:"C#",suffix:"7#9",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,71]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,76]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:7,barres:[],midi:[76,68,71,77]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,68,71,76]}]},{key:"C#",suffix:"11",positions:[{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:6,barres:[],midi:[75,66,71,77]}]},{key:"C#",suffix:"9#11",positions:[{frets:[0,3,1,2],fingers:[0,3,1,2],baseFret:1,barres:[],midi:[67,63,65,71]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,65,67,75]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,77]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:10,midi:[77,71,75,79]}]},{key:"C#",suffix:"13",positions:[{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[70,63,65,71]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,63,65,70]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,70,75]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,77]}]},{key:"C#",suffix:"13b9",positions:[{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,62,65,70]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[70,62,65,71]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,65,70,74]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,70,71,77]}]},{key:"C#",suffix:"13b5b9",positions:[{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:1,barres:[],midi:[71,62,67,70]},{frets:[3,2,3,2],fingers:[3,1,4,2],baseFret:1,barres:[],midi:[70,62,67,71]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:4,barres:[],midi:[71,67,70,74]}]},{key:"C#",suffix:"b13b9",positions:[{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,71]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,74]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,77]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,81]}]},{key:"C#",suffix:"b13#9",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,71]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,76]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,69,71,76]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:7,barres:[],midi:[76,69,71,77]}]},{key:"C#",suffix:"maj7",positions:[{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,72]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[72,65,68,73]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:3,barres:[],midi:[73,65,68,72]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,68,72,77]}]},{key:"C#",suffix:"maj7b5",positions:[{frets:[0,1,1,3],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,72]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:3,barres:[],midi:[72,65,67,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,65,67,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,72,77]}]},{key:"C#",suffix:"maj7#5",positions:[{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,72]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:4,barres:[],midi:[72,65,69,73]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:3,barres:[],midi:[73,65,69,72]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,69,72,77]}]},{key:"C#",suffix:"maj9",positions:[{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,65,72]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:4,midi:[72,65,68,75]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,77]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:10,midi:[77,72,75,80]}]},{key:"C#",suffix:"maj11",positions:[{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:6,barres:[],midi:[75,66,72,77]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:9,barres:[],midi:[77,72,75,78]}]},{key:"C#",suffix:"maj13",positions:[{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,65,72]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:5,midi:[72,65,70,75]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,77]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,75,82]}]},{key:"C#",suffix:"m6",positions:[{frets:[1,1,0,1],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,70]},{frets:[3,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[70,64,68,73]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,76]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,80]}]},{key:"C#",suffix:"m7",positions:[{frets:[1,1,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,71]},{frets:[4,4,4,4],fingers:[1,1,1,1],barres:[4],capo:!0,baseFret:1,midi:[71,64,68,73]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:6,midi:[73,68,71,76]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,73,80]}]},{key:"C#",suffix:"m7b5",positions:[{frets:[0,1,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,71]},{frets:[4,4,3,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,67,73]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,76]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,79]}]},{key:"C#",suffix:"m9",positions:[{frets:[1,3,0,2],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,71]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,64,68,75]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:6,barres:[],midi:[76,68,71,75]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:7,midi:[75,68,71,76]}]},{key:"C#",suffix:"m69",positions:[{frets:[1,3,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,70]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,75]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:6,barres:[],midi:[75,68,70,76]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,68,70,75]}]},{key:"C#",suffix:"m9b5",positions:[{frets:[0,3,0,2],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,63,64,71]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:3,midi:[71,64,67,75]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:6,midi:[76,67,71,75]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,76]}]},{key:"C#",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:6,midi:[75,66,71,76]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:6,midi:[76,66,71,75]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[76,71,75,78]}]},{key:"C#",suffix:"mmaj7",positions:[{frets:[1,1,0,3],fingers:[1,2,0,4],baseFret:1,barres:[],midi:[68,61,64,72]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,73]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:3,midi:[73,64,68,72]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:6,barres:[],midi:[73,68,72,76]}]},{key:"C#",suffix:"mmaj7b5",positions:[{frets:[0,1,0,3],fingers:[0,1,0,3],baseFret:1,barres:[],midi:[67,61,64,72]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:3,barres:[],midi:[72,64,67,73]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,64,67,72]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:6,barres:[],midi:[73,67,72,76]}]},{key:"C#",suffix:"mmaj9",positions:[{frets:[1,3,0,3],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,63,64,72]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,75]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:6,barres:[],midi:[76,68,72,75]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:7,barres:[],midi:[75,68,72,76]}]},{key:"C#",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:6,barres:[],midi:[75,66,72,76]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:6,midi:[76,66,72,75]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:9,midi:[76,72,75,78]}]},{key:"C#",suffix:"add9",positions:[{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],baseFret:1,midi:[68,63,65,73]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:4,barres:[],midi:[73,65,68,75]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],baseFret:8,midi:[75,68,73,77]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:10,midi:[77,73,75,80]}]},{key:"C#",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[73,64,68,75]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:6,barres:[],midi:[76,68,73,75]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:7,midi:[75,68,73,76]}]}],D:[{key:"D",suffix:"major",positions:[{frets:[2,2,2,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[69,62,66,69]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,62,66,74]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[74,66,69,74]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:7,barres:[],midi:[74,69,74,78]}]},{key:"D",suffix:"minor",positions:[{frets:[2,2,1,0],fingers:[2,3,1,0],baseFret:1,barres:[],midi:[69,62,65,69]},{frets:[1,4,4,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,65,69,74]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[74,65,69,74]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[74,65,69,77]}]},{key:"D",suffix:"dim",positions:[{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:4,barres:[],midi:[74,65,68,74]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:7,barres:[],midi:[74,68,74,77]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[77,68,74,77]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:11,barres:[],midi:[80,74,77,80]}]},{key:"D",suffix:"dim7",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"D",suffix:"sus2",positions:[{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:2,midi:[69,64,69,74]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[74,69,74,76]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:9,midi:[76,69,74,81]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:12,midi:[81,74,76,81]}]},{key:"D",suffix:"sus4",positions:[{frets:[0,2,3,0],fingers:[0,2,3,0],baseFret:1,barres:[],midi:[67,62,67,69]},{frets:[2,2,3,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[69,62,67,69]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:2,midi:[69,62,67,74]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[74,67,69,74]}]},{key:"D",suffix:"7sus4",positions:[{frets:[2,2,3,3],fingers:[1,1,2,2],barres:[2,3],capo:!0,baseFret:1,midi:[69,62,67,72]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,74]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,72,79]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[79,72,74,81]}]},{key:"D",suffix:"alt",positions:[{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:4,barres:[],midi:[74,66,68,74]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:7,barres:[],midi:[74,68,74,78]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:8,barres:[],midi:[78,68,74,78]}]},{key:"D",suffix:"aug",positions:[{frets:[3,2,2,1],fingers:[3,2,2,1],barres:[2],baseFret:1,midi:[70,62,66,70]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[70,62,66,74]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,66,70,74]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,78]}]},{key:"D",suffix:"6",positions:[{frets:[2,2,2,2],fingers:[1,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,71]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,66,69,74]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,71,78]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:10,midi:[78,71,74,81]}]},{key:"D",suffix:"69",positions:[{frets:[2,4,2,2],fingers:[1,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,71]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,69,76]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[76,69,71,78]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:11,midi:[78,71,76,81]}]},{key:"D",suffix:"7",positions:[{frets:[2,2,2,3],fingers:[1,1,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,72]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,74]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,72,78]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,72,74,81]}]},{key:"D",suffix:"7b5",positions:[{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,72]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,66,68,74]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,78]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:10,barres:[],midi:[78,72,74,80]}]},{key:"D",suffix:"aug7",positions:[{frets:[3,2,2,3],fingers:[2,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,72]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:5,midi:[72,66,70,74]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,70,72,78]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,72,74,82]}]},{key:"D",suffix:"9",positions:[{frets:[2,4,2,3],fingers:[1,3,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,72]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,76]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,69,72,78]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,81]}]},{key:"D",suffix:"9b5",positions:[{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,64,66,72]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,66,68,76]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,78]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:11,midi:[78,72,76,80]}]},{key:"D",suffix:"aug9",positions:[{frets:[3,4,2,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[70,64,66,72]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,76]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,70,72,78]}]},{key:"D",suffix:"7b9",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"D",suffix:"7b9#5",positions:[{frets:[3,3,2,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,72]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,75]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,78]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,82]}]},{key:"D",suffix:"7#9",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,72]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,77]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:8,barres:[],midi:[77,69,72,78]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,69,72,77]}]},{key:"D",suffix:"11",positions:[{frets:[0,4,2,3],fingers:[0,3,1,2],baseFret:1,barres:[],midi:[67,64,66,72]},{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:7,barres:[],midi:[76,67,72,78]}]},{key:"D",suffix:"9#11",positions:[{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,64,66,72]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,66,68,76]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,78]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:11,midi:[78,72,76,80]}]},{key:"D",suffix:"13",positions:[{frets:[4,4,2,3],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[71,64,66,72]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,64,66,71]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,71,76]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,71,72,78]}]},{key:"D",suffix:"13b9",positions:[{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,63,66,71]},{frets:[4,3,2,3],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[71,63,66,72]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,66,71,75]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,71,72,78]}]},{key:"D",suffix:"13b5b9",positions:[{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:2,barres:[],midi:[72,63,68,71]},{frets:[4,3,4,3],fingers:[3,1,4,2],baseFret:1,barres:[],midi:[71,63,68,72]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:5,barres:[],midi:[72,68,71,75]}]},{key:"D",suffix:"b13b9",positions:[{frets:[3,3,2,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,72]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,75]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,78]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,82]}]},{key:"D",suffix:"b13#9",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,72]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,77]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,70,72,77]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:8,barres:[],midi:[77,70,72,78]}]},{key:"D",suffix:"maj7",positions:[{frets:[2,2,2,4],fingers:[1,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,73]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:4,barres:[],midi:[74,66,69,73]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[73,66,69,74]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,69,73,78]}]},{key:"D",suffix:"maj7b5",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,66,68,73]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:4,barres:[],midi:[73,66,68,74]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,73,78]}]},{key:"D",suffix:"maj7#5",positions:[{frets:[3,2,2,4],fingers:[2,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,73]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:4,barres:[],midi:[74,66,70,73]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:5,barres:[],midi:[73,66,70,74]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,70,73,78]}]},{key:"D",suffix:"maj9",positions:[{frets:[2,4,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,64,66,73]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:5,midi:[73,66,69,76]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,78]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:11,midi:[78,73,76,81]}]},{key:"D",suffix:"maj11",positions:[{frets:[0,4,2,4],fingers:[0,2,1,3],baseFret:1,barres:[],midi:[67,64,66,73]},{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:7,barres:[],midi:[76,67,73,78]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:10,barres:[],midi:[78,73,76,79]}]},{key:"D",suffix:"maj13",positions:[{frets:[4,4,2,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,66,73]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:6,midi:[73,66,71,76]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,78]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,76,83]}]},{key:"D",suffix:"m6",positions:[{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,71]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,74]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,77]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,81]}]},{key:"D",suffix:"m7",positions:[{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:1,midi:[69,62,65,72]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,74]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:7,midi:[74,69,72,77]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,74,81]}]},{key:"D",suffix:"m7b5",positions:[{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,72]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,74]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,77]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,80]}]},{key:"D",suffix:"m9",positions:[{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,72]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,76]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:7,barres:[],midi:[77,69,72,76]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:8,midi:[76,69,72,77]}]},{key:"D",suffix:"m69",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,71]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,76]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:7,barres:[],midi:[76,69,71,77]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,69,71,76]}]},{key:"D",suffix:"m9b5",positions:[{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,72]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:4,midi:[72,65,68,76]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:7,midi:[77,68,72,76]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,77]}]},{key:"D",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:7,midi:[76,67,72,77]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:7,midi:[77,67,72,76]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[77,72,76,79]}]},{key:"D",suffix:"mmaj7",positions:[{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:1,midi:[69,62,65,73]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:4,midi:[74,65,69,73]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,74]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:7,barres:[],midi:[74,69,73,77]}]},{key:"D",suffix:"mmaj7b5",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,73]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:4,barres:[],midi:[73,65,68,74]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,65,68,73]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:7,barres:[],midi:[74,68,73,77]}]},{key:"D",suffix:"mmaj9",positions:[{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,64,65,73]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,76]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:7,barres:[],midi:[77,69,73,76]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:8,barres:[],midi:[76,69,73,77]}]},{key:"D",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:7,barres:[],midi:[76,67,73,77]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:7,midi:[77,67,73,76]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:10,midi:[77,73,76,79]}]},{key:"D",suffix:"add9",positions:[{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,64,66,74]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:5,barres:[],midi:[74,66,69,76]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:9,midi:[76,69,74,78]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:11,midi:[78,74,76,81]}]},{key:"D",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[74,65,69,76]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:7,barres:[],midi:[77,69,74,76]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:8,midi:[76,69,74,77]}]}],"D#":[{key:"D#",suffix:"major",positions:[{frets:[0,3,3,1],fingers:[0,3,4,1],baseFret:1,barres:[],midi:[67,63,67,70]},{frets:[3,3,3,1],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[70,63,67,70]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,63,67,75]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[75,67,70,75]}]},{key:"D#",suffix:"minor",positions:[{frets:[3,3,2,1],fingers:[3,4,2,1],baseFret:1,barres:[],midi:[70,63,66,70]},{frets:[1,4,4,4],fingers:[1,3,3,3],barres:[4],baseFret:3,midi:[70,66,70,75]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[75,66,70,75]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[75,66,70,78]}]},{key:"D#",suffix:"dim",positions:[{frets:[2,3,2,0],fingers:[1,3,2,0],baseFret:1,barres:[],midi:[69,63,66,69]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:5,barres:[],midi:[75,66,69,75]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:8,barres:[],midi:[75,69,75,78]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:9,midi:[78,69,75,78]}]},{key:"D#",suffix:"dim7",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"D#",suffix:"sus2",positions:[{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[70,63,65,70]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:3,midi:[70,65,70,75]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[75,70,75,77]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:10,midi:[77,70,75,82]}]},{key:"D#",suffix:"sus4",positions:[{frets:[1,3,4,1],fingers:[1,2,3,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,68,70]},{frets:[3,3,4,1],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[70,63,68,70]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:3,midi:[70,63,68,75]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[75,68,70,75]}]},{key:"D#",suffix:"7sus4",positions:[{frets:[3,3,4,4],fingers:[1,1,2,2],barres:[3,3],capo:!0,baseFret:1,midi:[70,63,68,73]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,75]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,73,80]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[80,73,75,82]}]},{key:"D#",suffix:"alt",positions:[{frets:[4,3,1,2],fingers:[3,4,1,2],baseFret:5,barres:[],midi:[75,67,69,75]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:8,barres:[],midi:[75,69,75,79]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:9,barres:[],midi:[79,69,75,79]}]},{key:"D#",suffix:"aug",positions:[{frets:[0,3,3,2],fingers:[0,3,2,1],baseFret:1,barres:[],midi:[67,63,67,71]},{frets:[4,3,3,2],fingers:[3,2,2,1],barres:[3],baseFret:1,midi:[71,63,67,71]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[71,63,67,75]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,67,71,75]}]},{key:"D#",suffix:"6",positions:[{frets:[3,3,3,3],fingers:[1,1,1,1],barres:[3],capo:!0,baseFret:1,midi:[70,63,67,72]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,67,70,75]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,72,79]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:11,midi:[79,72,75,82]}]},{key:"D#",suffix:"69",positions:[{frets:[0,0,1,1],fingers:[0,0,1,2],baseFret:1,barres:[],midi:[67,60,65,70]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,72]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,70,77]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[77,70,72,79]}]},{key:"D#",suffix:"7",positions:[{frets:[3,3,3,4],fingers:[1,1,1,2],barres:[3],capo:!0,baseFret:1,midi:[70,63,67,73]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,75]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,73,79]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,73,75,82]}]},{key:"D#",suffix:"7b5",positions:[{frets:[2,3,3,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,73]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,67,69,75]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,79]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:11,barres:[],midi:[79,73,75,81]}]},{key:"D#",suffix:"aug7",positions:[{frets:[4,3,3,4],fingers:[2,1,1,3],barres:[3],capo:!0,baseFret:1,midi:[71,63,67,73]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:6,midi:[73,67,71,75]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,71,73,79]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,73,75,83]}]},{key:"D#",suffix:"9",positions:[{frets:[0,1,1,1],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,70]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,73]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,77]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,70,73,79]}]},{key:"D#",suffix:"9b5",positions:[{frets:[0,1,1,0],fingers:[0,1,2,0],baseFret:1,barres:[],midi:[67,61,65,69]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:2,barres:[],midi:[69,65,67,73]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,67,69,77]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,79]}]},{key:"D#",suffix:"aug9",positions:[{frets:[0,1,1,2],fingers:[0,1,1,2],barres:[1],baseFret:1,midi:[67,61,65,71]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,65,67,73]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,77]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:9,barres:[],midi:[77,71,73,79]}]},{key:"D#",suffix:"7b9",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"D#",suffix:"7b9#5",positions:[{frets:[0,1,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,71]},{frets:[4,4,3,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,67,73]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,76]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,79]}]},{key:"D#",suffix:"7#9",positions:[{frets:[0,1,2,1],fingers:[0,1,3,2],baseFret:1,barres:[],midi:[67,61,66,70]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,73]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,78]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:9,barres:[],midi:[78,70,73,79]}]},{key:"D#",suffix:"11",positions:[{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:8,barres:[],midi:[77,68,73,79]}]},{key:"D#",suffix:"9#11",positions:[{frets:[0,1,1,0],fingers:[0,1,2,0],baseFret:1,barres:[],midi:[67,61,65,69]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:2,barres:[],midi:[69,65,67,73]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,67,69,77]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,79]}]},{key:"D#",suffix:"13",positions:[{frets:[0,1,1,3],fingers:[0,1,2,4],baseFret:1,barres:[],midi:[67,61,65,72]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:3,barres:[],midi:[72,65,67,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,65,67,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,72,77]}]},{key:"D#",suffix:"13b9",positions:[{frets:[0,1,0,3],fingers:[0,1,0,3],baseFret:1,barres:[],midi:[67,61,64,72]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:3,barres:[],midi:[72,64,67,73]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,64,67,72]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,72,73,79]}]},{key:"D#",suffix:"13b5b9",positions:[{frets:[2,1,0,3],fingers:[2,1,0,3],baseFret:1,barres:[],midi:[69,61,64,72]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:4,barres:[],midi:[72,64,69,73]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:3,barres:[],midi:[73,64,69,72]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:6,barres:[],midi:[73,69,72,76]}]},{key:"D#",suffix:"b13b9",positions:[{frets:[0,1,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,71]},{frets:[4,4,3,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,67,73]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,76]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,79]}]},{key:"D#",suffix:"b13#9",positions:[{frets:[0,1,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,66,71]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,73]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,78]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[79,71,73,78]}]},{key:"D#",suffix:"maj7",positions:[{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,63,67,74]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:5,barres:[],midi:[75,67,70,74]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[74,67,70,75]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,70,74,79]}]},{key:"D#",suffix:"maj7b5",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,63,67,74]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,67,69,74]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:5,barres:[],midi:[74,67,69,75]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,74,79]}]},{key:"D#",suffix:"maj7#5",positions:[{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:3,midi:[71,63,67,74]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:5,barres:[],midi:[75,67,71,74]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:6,barres:[],midi:[74,67,71,75]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,71,74,79]}]},{key:"D#",suffix:"maj9",positions:[{frets:[0,2,1,1],fingers:[0,2,1,1],barres:[1],baseFret:1,midi:[67,62,65,70]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,67,74]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:6,midi:[74,67,70,77]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,70,74,79]}]},{key:"D#",suffix:"maj11",positions:[{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:8,barres:[],midi:[77,68,74,79]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:11,barres:[],midi:[79,74,77,80]}]},{key:"D#",suffix:"maj13",positions:[{frets:[0,2,1,3],fingers:[0,2,1,3],baseFret:1,barres:[],midi:[67,62,65,72]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[72,65,67,74]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:7,midi:[74,67,72,77]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,79]}]},{key:"D#",suffix:"m6",positions:[{frets:[3,3,2,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,72]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,75]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,78]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,82]}]},{key:"D#",suffix:"m7",positions:[{frets:[3,3,2,4],fingers:[2,2,1,3],barres:[3],baseFret:1,midi:[70,63,66,73]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,75]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:8,midi:[75,70,73,78]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,75,82]}]},{key:"D#",suffix:"m7b5",positions:[{frets:[2,3,2,4],fingers:[1,2,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,73]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,75]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,78]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,81]}]},{key:"D#",suffix:"m9",positions:[{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,73]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,77]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:8,barres:[],midi:[78,70,73,77]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:9,midi:[77,70,73,78]}]},{key:"D#",suffix:"m69",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,72]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,77]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:8,barres:[],midi:[77,70,72,78]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,70,72,77]}]},{key:"D#",suffix:"m9b5",positions:[{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,73]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:5,midi:[73,66,69,77]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:8,midi:[78,69,73,77]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,78]}]},{key:"D#",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:8,midi:[77,68,73,78]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:8,midi:[78,68,73,77]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[78,73,77,80]}]},{key:"D#",suffix:"mmaj7",positions:[{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:2,midi:[70,63,66,74]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:5,midi:[75,66,70,74]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,75]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:8,barres:[],midi:[75,70,74,78]}]},{key:"D#",suffix:"mmaj7b5",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,63,66,74]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:5,barres:[],midi:[74,66,69,75]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,66,69,74]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:8,barres:[],midi:[75,69,74,78]}]},{key:"D#",suffix:"mmaj9",positions:[{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:2,barres:[],midi:[70,65,66,74]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,77]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:8,barres:[],midi:[78,70,74,77]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:9,barres:[],midi:[77,70,74,78]}]},{key:"D#",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:8,barres:[],midi:[77,68,74,78]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:8,midi:[78,68,74,77]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:11,midi:[78,74,77,80]}]},{key:"D#",suffix:"add9",positions:[{frets:[0,3,1,1],fingers:[0,3,1,1],barres:[1],baseFret:1,midi:[67,63,65,70]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,75]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:6,barres:[],midi:[75,67,70,77]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:10,midi:[77,70,75,79]}]},{key:"D#",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[75,66,70,77]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:8,barres:[],midi:[78,70,75,77]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:9,midi:[77,70,75,78]}]}],E:[{key:"E",suffix:"major",positions:[{frets:[1,4,0,2],fingers:[1,4,0,2],baseFret:1,barres:[],midi:[68,64,64,71]},{frets:[4,4,4,2],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[71,64,68,71]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,64,68,76]},{frets:[3,2,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[76,68,71,76]}]},{key:"E",suffix:"minor",positions:[{frets:[0,4,3,2],fingers:[0,3,2,1],baseFret:1,barres:[],midi:[67,64,67,71]},{frets:[4,4,3,2],fingers:[3,4,2,1],baseFret:1,barres:[],midi:[71,64,67,71]},{frets:[1,4,4,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,67,71,76]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[76,67,71,76]}]},{key:"E",suffix:"dim",positions:[{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:1,barres:[],midi:[70,64,67,70]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:6,barres:[],midi:[76,67,70,76]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:9,barres:[],midi:[76,70,76,79]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[79,70,76,79]}]},{key:"E",suffix:"dim7",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"E",suffix:"sus2",positions:[{frets:[4,4,2,2],fingers:[3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[71,64,66,71]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:4,midi:[71,66,71,76]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[76,71,76,78]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:11,midi:[78,71,76,83]}]},{key:"E",suffix:"sus4",positions:[{frets:[1,3,4,1],fingers:[1,2,3,1],barres:[1],capo:!0,baseFret:2,midi:[69,64,69,71]},{frets:[3,3,4,1],fingers:[2,3,4,1],baseFret:2,barres:[],midi:[71,64,69,71]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:4,midi:[71,64,69,76]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[76,69,71,76]}]},{key:"E",suffix:"7sus4",positions:[{frets:[2,2,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[69,62,64,71]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:4,midi:[71,64,69,74]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,76]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,74,81]}]},{key:"E",suffix:"alt",positions:[{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:6,barres:[],midi:[76,68,70,76]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:9,barres:[],midi:[76,70,76,80]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:10,barres:[],midi:[80,70,76,80]}]},{key:"E",suffix:"aug",positions:[{frets:[1,0,0,3],fingers:[1,0,0,3],baseFret:1,barres:[],midi:[68,60,64,72]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,64,68,72]},{frets:[3,2,2,1],fingers:[3,2,2,1],barres:[2],baseFret:3,midi:[72,64,68,72]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,76]}]},{key:"E",suffix:"6",positions:[{frets:[1,1,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,71]},{frets:[4,4,4,4],fingers:[1,1,1,1],barres:[4],capo:!0,baseFret:1,midi:[71,64,68,73]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,68,71,76]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,73,80]}]},{key:"E",suffix:"69",positions:[{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:1,midi:[68,61,66,71]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,73]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,71,78]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[78,71,73,80]}]},{key:"E",suffix:"7",positions:[{frets:[1,2,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,62,64,71]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,64,68,74]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,76]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,74,80]}]},{key:"E",suffix:"7b5",positions:[{frets:[1,2,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,62,64,70]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,74]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,68,70,76]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,80]}]},{key:"E",suffix:"aug7",positions:[{frets:[1,2,0,3],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,62,64,72]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],baseFret:4,midi:[72,64,68,74]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],baseFret:7,midi:[74,68,72,76]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:9,barres:[],midi:[76,72,74,80]}]},{key:"E",suffix:"9",positions:[{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,71]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,74]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,78]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,71,74,80]}]},{key:"E",suffix:"9b5",positions:[{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:1,midi:[68,62,66,70]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,66,68,74]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,68,70,78]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:10,midi:[78,70,74,80]}]},{key:"E",suffix:"aug9",positions:[{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:1,midi:[68,62,66,72]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,66,68,74]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,78]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:10,barres:[],midi:[78,72,74,80]}]},{key:"E",suffix:"7b9",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"E",suffix:"7b9#5",positions:[{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,72]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,74]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,77]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,80]}]},{key:"E",suffix:"7#9",positions:[{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[68,62,67,71]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,74]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,79]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:10,barres:[],midi:[79,71,74,80]}]},{key:"E",suffix:"11",positions:[{frets:[1,2,2,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[68,62,66,69]}]},{key:"E",suffix:"9#11",positions:[{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:1,midi:[68,62,66,70]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,66,68,74]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,68,70,78]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:10,midi:[78,70,74,80]}]},{key:"E",suffix:"13",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,73]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:4,barres:[],midi:[73,66,68,74]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,66,68,73]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,73,78]}]},{key:"E",suffix:"13b9",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,73]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,65,68,73]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:4,barres:[],midi:[73,65,68,74]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,73,74,80]}]},{key:"E",suffix:"13b5b9",positions:[{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:1,barres:[],midi:[70,62,65,73]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:4,barres:[],midi:[74,65,70,73]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:5,barres:[],midi:[73,65,70,74]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:7,barres:[],midi:[74,70,73,77]}]},{key:"E",suffix:"b13b9",positions:[{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,72]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,74]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,77]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,80]}]},{key:"E",suffix:"b13#9",positions:[{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,67,72]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,74]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,79]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[80,72,74,79]}]},{key:"E",suffix:"maj7",positions:[{frets:[1,3,0,2],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,71]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,64,68,75]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:6,barres:[],midi:[76,68,71,75]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[75,68,71,76]}]},{key:"E",suffix:"maj7b5",positions:[{frets:[1,3,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,70]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,75]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,68,70,75]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:6,barres:[],midi:[75,68,70,76]}]},{key:"E",suffix:"maj7#5",positions:[{frets:[1,3,0,3],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,63,64,72]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,75]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:6,barres:[],midi:[76,68,72,75]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:7,barres:[],midi:[75,68,72,76]}]},{key:"E",suffix:"maj9",positions:[{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:1,midi:[68,63,66,71]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,68,75]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:7,midi:[75,68,71,78]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,71,75,80]}]},{key:"E",suffix:"maj11",positions:[{frets:[1,3,2,0],fingers:[1,3,2,0],baseFret:1,barres:[],midi:[68,63,66,69]},{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:9,barres:[],midi:[78,69,75,80]}]},{key:"E",suffix:"maj13",positions:[{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,66,73]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[73,66,68,75]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:8,midi:[75,68,73,78]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,80]}]},{key:"E",suffix:"m6",positions:[{frets:[0,1,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,71]},{frets:[4,4,3,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,67,73]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,76]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,79]}]},{key:"E",suffix:"m7",positions:[{frets:[0,2,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,62,64,71]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:3,midi:[71,64,67,74]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,76]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:9,midi:[76,71,74,79]}]},{key:"E",suffix:"m7b5",positions:[{frets:[0,2,0,1],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,62,64,70]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,74]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,76]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,79]}]},{key:"E",suffix:"m9",positions:[{frets:[0,2,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,62,66,71]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,74]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,78]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:9,barres:[],midi:[79,71,74,78]}]},{key:"E",suffix:"m69",positions:[{frets:[0,1,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,66,71]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,73]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,78]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:9,barres:[],midi:[78,71,73,79]}]},{key:"E",suffix:"m9b5",positions:[{frets:[0,2,2,1],fingers:[0,2,3,1],baseFret:1,barres:[],midi:[67,62,66,70]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,74]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:6,midi:[74,67,70,78]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:9,midi:[79,70,74,78]}]},{key:"E",suffix:"m11",positions:[{frets:[0,2,2,0],fingers:[0,2,3,0],baseFret:1,barres:[],midi:[67,62,66,69]},{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:9,midi:[78,69,74,79]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:9,midi:[79,69,74,78]}]},{key:"E",suffix:"mmaj7",positions:[{frets:[0,3,0,2],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,63,64,71]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:3,midi:[71,64,67,75]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:6,midi:[76,67,71,75]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,76]}]},{key:"E",suffix:"mmaj7b5",positions:[{frets:[0,3,0,1],fingers:[0,3,0,1],baseFret:1,barres:[],midi:[67,63,64,70]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,75]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:6,barres:[],midi:[75,67,70,76]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,67,70,75]}]},{key:"E",suffix:"mmaj9",positions:[{frets:[0,3,2,2],fingers:[0,3,1,2],baseFret:1,barres:[],midi:[67,63,66,71]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,66,67,75]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,78]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:9,barres:[],midi:[79,71,75,78]}]},{key:"E",suffix:"mmaj11",positions:[{frets:[0,3,2,0],fingers:[0,3,2,0],baseFret:1,barres:[],midi:[67,63,66,69]},{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:9,barres:[],midi:[78,69,75,79]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:9,midi:[79,69,75,78]}]},{key:"E",suffix:"add9",positions:[{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:1,midi:[68,64,66,71]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,76]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:7,barres:[],midi:[76,68,71,78]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:11,midi:[78,71,76,80]}]},{key:"E",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[76,67,71,78]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:9,barres:[],midi:[79,71,76,78]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:10,midi:[78,71,76,79]}]}],F:[{key:"F",suffix:"major",positions:[{frets:[2,0,1,0],fingers:[2,0,1,0],baseFret:1,barres:[],midi:[69,60,65,69]},{frets:[2,0,1,3],fingers:[2,0,1,3],baseFret:1,barres:[],midi:[69,60,65,72]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,77]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[77,69,72,77]}]},{key:"F",suffix:"minor",positions:[{frets:[1,0,1,3],fingers:[1,0,2,4],baseFret:1,barres:[],midi:[68,60,65,72]},{frets:[3,3,2,1],fingers:[3,4,2,1],baseFret:3,barres:[],midi:[72,65,68,72]},{frets:[1,4,4,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,68,72,77]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[77,68,72,77]}]},{key:"F",suffix:"dim",positions:[{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:2,barres:[],midi:[71,65,68,71]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:7,barres:[],midi:[77,68,71,77]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:10,barres:[],midi:[77,71,77,80]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:11,midi:[80,71,77,80]}]},{key:"F",suffix:"dim7",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"F",suffix:"sus2",positions:[{frets:[0,0,1,3],fingers:[0,0,1,3],baseFret:1,barres:[],midi:[67,60,65,72]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[72,65,67,72]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:5,midi:[72,67,72,77]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[77,72,77,79]}]},{key:"F",suffix:"sus4",positions:[{frets:[3,0,1,1],fingers:[3,0,1,1],barres:[1],baseFret:1,midi:[70,60,65,70]},{frets:[3,0,1,3],fingers:[2,0,1,3],baseFret:1,barres:[],midi:[70,60,65,72]},{frets:[1,3,4,1],fingers:[1,2,3,1],barres:[1],capo:!0,baseFret:3,midi:[70,65,70,72]},{frets:[3,3,4,1],fingers:[2,3,4,1],baseFret:3,barres:[],midi:[72,65,70,72]}]},{key:"F",suffix:"7sus4",positions:[{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,65,72]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:5,midi:[72,65,70,75]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,77]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,75,82]}]},{key:"F",suffix:"alt",positions:[{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:2,midi:[69,65,69,71]},{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:7,barres:[],midi:[77,69,71,77]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:10,barres:[],midi:[77,71,77,81]}]},{key:"F",suffix:"aug",positions:[{frets:[2,1,1,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[69,61,65,69]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,73]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:2,barres:[],midi:[69,65,69,73]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,77]}]},{key:"F",suffix:"6",positions:[{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,72]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,74]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,69,72,77]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,74,81]}]},{key:"F",suffix:"69",positions:[{frets:[2,2,3,3],fingers:[1,1,2,2],barres:[2,3],capo:!0,baseFret:1,midi:[69,62,67,72]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,74]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,72,79]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[79,72,74,81]}]},{key:"F",suffix:"7",positions:[{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,63,65,72]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,75]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,77]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,75,81]}]},{key:"F",suffix:"7b5",positions:[{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,63,65,71]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,75]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,69,71,77]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,81]}]},{key:"F",suffix:"aug7",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,63,65,73]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,75]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:8,midi:[75,69,73,77]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:10,barres:[],midi:[77,73,75,81]}]},{key:"F",suffix:"9",positions:[{frets:[2,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,72]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,75]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,79]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,72,75,81]}]},{key:"F",suffix:"9b5",positions:[{frets:[2,3,3,2],fingers:[1,2,2,1],barres:[2,3],capo:!0,baseFret:1,midi:[69,63,67,71]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,67,69,75]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,69,71,79]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:11,midi:[79,71,75,81]}]},{key:"F",suffix:"aug9",positions:[{frets:[2,3,3,4],fingers:[1,2,2,3],barres:[3],baseFret:1,midi:[69,63,67,73]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,67,69,75]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,79]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:11,barres:[],midi:[79,73,75,81]}]},{key:"F",suffix:"7b9",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"F",suffix:"7b9#5",positions:[{frets:[2,3,2,4],fingers:[1,2,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,73]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,75]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,78]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,81]}]},{key:"F",suffix:"7#9",positions:[{frets:[2,3,4,3],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[69,63,68,72]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,75]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,80]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:11,barres:[],midi:[80,72,75,81]}]},{key:"F",suffix:"11",positions:[{frets:[1,2,2,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[68,62,66,69]}]},{key:"F",suffix:"9#11",positions:[{frets:[2,3,3,2],fingers:[1,2,2,1],barres:[2,3],capo:!0,baseFret:1,midi:[69,63,67,71]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,67,69,75]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,69,71,79]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:11,midi:[79,71,75,81]}]},{key:"F",suffix:"13",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,63,67,74]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:5,barres:[],midi:[74,67,69,75]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,67,69,74]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,74,79]}]},{key:"F",suffix:"13b9",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,63,66,74]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,66,69,74]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:8,barres:[],midi:[75,69,74,78]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,74,75,81]}]},{key:"F",suffix:"13b5b9",positions:[{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:2,barres:[],midi:[71,63,66,74]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:5,barres:[],midi:[75,66,71,74]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:6,barres:[],midi:[74,66,71,75]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:8,barres:[],midi:[75,71,74,78]}]},{key:"F",suffix:"b13b9",positions:[{frets:[2,3,2,4],fingers:[1,2,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,73]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,75]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,78]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,81]}]},{key:"F",suffix:"b13#9",positions:[{frets:[2,3,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,68,73]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,75]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,80]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[81,73,75,80]}]},{key:"F",suffix:"maj7",positions:[{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,72]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,76]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:7,barres:[],midi:[77,69,72,76]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[76,69,72,77]}]},{key:"F",suffix:"maj7b5",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,71]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,76]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,69,71,76]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:7,barres:[],midi:[76,69,71,77]}]},{key:"F",suffix:"maj7#5",positions:[{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,64,65,73]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,76]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:7,barres:[],midi:[77,69,73,76]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:8,barres:[],midi:[76,69,73,77]}]},{key:"F",suffix:"maj9",positions:[{frets:[0,0,0,0],fingers:[0,0,0,0],baseFret:1,barres:[],midi:[67,60,64,69]},{frets:[2,4,3,3],fingers:[1,3,2,2],barres:[3],baseFret:1,midi:[69,64,67,72]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,69,76]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:8,midi:[76,69,72,79]}]},{key:"F",suffix:"maj11",positions:[{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:1,barres:[],midi:[69,64,67,70]},{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:10,barres:[],midi:[79,70,76,81]}]},{key:"F",suffix:"maj13",positions:[{frets:[0,2,0,0],fingers:[0,2,0,0],baseFret:1,barres:[],midi:[67,62,64,69]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:2,barres:[],midi:[69,64,67,74]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[74,67,69,76]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:9,midi:[76,69,74,79]}]},{key:"F",suffix:"m6",positions:[{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,72]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,74]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,77]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,80]}]},{key:"F",suffix:"m7",positions:[{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,65,72]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:4,midi:[72,65,68,75]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,77]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:10,midi:[77,72,75,80]}]},{key:"F",suffix:"m7b5",positions:[{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,71]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,75]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,77]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,80]}]},{key:"F",suffix:"m9",positions:[{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,63,67,72]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,75]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,79]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:10,barres:[],midi:[80,72,75,79]}]},{key:"F",suffix:"m69",positions:[{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,67,72]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,74]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,79]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:10,barres:[],midi:[79,72,74,80]}]},{key:"F",suffix:"m9b5",positions:[{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,63,67,71]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,75]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:7,midi:[75,68,71,79]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:10,midi:[80,71,75,79]}]},{key:"F",suffix:"m11",positions:[{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,67,70]},{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:10,midi:[79,70,75,80]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:10,midi:[80,70,75,79]}]},{key:"F",suffix:"mmaj7",positions:[{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,72]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:4,midi:[72,65,68,76]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:7,midi:[77,68,72,76]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,77]}]},{key:"F",suffix:"mmaj7b5",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,71]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,76]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:7,barres:[],midi:[76,68,71,77]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,68,71,76]}]},{key:"F",suffix:"mmaj9",positions:[{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,64,67,72]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,67,68,76]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,79]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:10,barres:[],midi:[80,72,76,79]}]},{key:"F",suffix:"mmaj11",positions:[{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:1,midi:[68,64,67,70]},{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:10,barres:[],midi:[79,70,76,80]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:10,midi:[80,70,76,79]}]},{key:"F",suffix:"add9",positions:[{frets:[0,0,1,0],fingers:[0,0,1,0],baseFret:1,barres:[],midi:[67,60,65,69]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:2,midi:[69,65,67,72]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,77]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:8,barres:[],midi:[77,69,72,79]}]},{key:"F",suffix:"madd9",positions:[{frets:[0,3,2,1],fingers:[0,3,2,1],baseFret:3,barres:[],midi:[67,65,68,72]},{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[77,68,72,79]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:10,barres:[],midi:[80,72,77,79]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:11,midi:[79,72,77,80]}]}],"F#":[{key:"F#",suffix:"major",positions:[{frets:[3,1,2,1],fingers:[3,1,2,1],barres:[1],capo:!0,baseFret:1,midi:[70,61,66,70]},{frets:[3,1,2,4],fingers:[3,1,2,4],baseFret:1,barres:[],midi:[70,61,66,73]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,78]},{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[78,70,73,78]}]},{key:"F#",suffix:"minor",positions:[{frets:[2,1,2,0],fingers:[2,1,3,0],baseFret:1,barres:[],midi:[69,61,66,69]},{frets:[2,1,2,4],fingers:[2,1,3,4],baseFret:1,barres:[],midi:[69,61,66,73]},{frets:[3,3,2,1],fingers:[3,4,2,1],baseFret:4,barres:[],midi:[73,66,69,73]},{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[78,69,73,78]}]},{key:"F#",suffix:"dim",positions:[{frets:[2,0,2,0],fingers:[2,0,3,0],baseFret:1,barres:[],midi:[69,60,66,69]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:3,barres:[],midi:[72,66,69,72]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:8,barres:[],midi:[78,69,72,78]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:11,barres:[],midi:[78,72,78,81]}]},{key:"F#",suffix:"dim7",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"F#",suffix:"sus2",positions:[{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:1,midi:[68,61,66,73]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[73,66,68,73]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:6,midi:[73,68,73,78]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[78,73,78,80]}]},{key:"F#",suffix:"sus4",positions:[{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:1,barres:[],midi:[71,61,66,73]},{frets:[1,3,4,1],fingers:[1,2,3,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,71,73]},{frets:[3,3,4,1],fingers:[2,3,4,1],baseFret:4,barres:[],midi:[73,66,71,73]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:6,midi:[73,66,71,78]}]},{key:"F#",suffix:"7sus4",positions:[{frets:[4,4,2,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,66,73]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:6,midi:[73,66,71,76]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,78]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,76,83]}]},{key:"F#",suffix:"alt",positions:[{frets:[3,0,2,1],fingers:[3,0,2,1],baseFret:1,barres:[],midi:[70,60,66,70]},{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[70,66,70,72]},{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:8,barres:[],midi:[78,70,72,78]}]},{key:"F#",suffix:"aug",positions:[{frets:[3,2,2,1],fingers:[3,2,2,1],barres:[2],baseFret:1,midi:[70,62,66,70]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[70,62,66,74]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,66,70,74]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,78]}]},{key:"F#",suffix:"6",positions:[{frets:[3,3,2,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,73]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,75]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,70,73,78]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,75,82]}]},{key:"F#",suffix:"69",positions:[{frets:[3,3,4,4],fingers:[1,1,2,2],barres:[3,4],capo:!0,baseFret:1,midi:[70,63,68,73]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,75]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,73,80]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[80,73,75,82]}]},{key:"F#",suffix:"7",positions:[{frets:[3,4,2,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,64,66,73]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,76]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,78]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,76,82]}]},{key:"F#",suffix:"7b5",positions:[{frets:[3,4,2,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[70,64,66,72]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,76]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,70,72,78]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,82]}]},{key:"F#",suffix:"aug7",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:2,barres:[],midi:[70,64,66,74]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,76]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:9,midi:[76,70,74,78]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:11,barres:[],midi:[78,74,76,82]}]},{key:"F#",suffix:"9",positions:[{frets:[1,1,0,1],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,70]},{frets:[3,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[70,64,68,73]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,76]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,80]}]},{key:"F#",suffix:"9b5",positions:[{frets:[1,0,0,1],fingers:[1,0,0,2],baseFret:1,barres:[],midi:[68,60,64,70]},{frets:[3,4,4,3],fingers:[1,2,2,1],barres:[3,4],capo:!0,baseFret:1,midi:[70,64,68,72]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,68,70,76]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,70,72,80]}]},{key:"F#",suffix:"aug9",positions:[{frets:[1,2,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,62,64,70]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:3,midi:[70,64,68,74]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,68,70,76]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,80]}]},{key:"F#",suffix:"7b9",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"F#",suffix:"7b9#5",positions:[{frets:[0,2,0,1],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,62,64,70]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,74]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,76]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,79]}]},{key:"F#",suffix:"7#9",positions:[{frets:[2,1,0,1],fingers:[3,1,0,2],baseFret:1,barres:[],midi:[69,61,64,70]},{frets:[3,1,0,0],fingers:[3,1,0,0],baseFret:1,barres:[],midi:[70,61,64,69]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,64,69,73]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,69,70,76]}]},{key:"F#",suffix:"11",positions:[{frets:[3,4,4,2],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[70,64,68,71]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[71,64,68,70]}]},{key:"F#",suffix:"9#11",positions:[{frets:[1,0,0,1],fingers:[1,0,0,2],baseFret:1,barres:[],midi:[68,60,64,70]},{frets:[3,4,4,3],fingers:[1,2,2,1],barres:[3,4],capo:!0,baseFret:1,midi:[70,64,68,72]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,68,70,76]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,70,72,80]}]},{key:"F#",suffix:"13",positions:[{frets:[1,3,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,63,64,70]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,75]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:6,barres:[],midi:[75,68,70,76]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,68,70,75]}]},{key:"F#",suffix:"13b9",positions:[{frets:[0,3,0,1],fingers:[0,3,0,1],baseFret:1,barres:[],midi:[67,63,64,70]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,75]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[76,67,70,75]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:9,barres:[],midi:[76,70,75,79]}]},{key:"F#",suffix:"13b5b9",positions:[{frets:[0,3,0,3],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,63,64,72]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:3,barres:[],midi:[72,64,67,75]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:6,barres:[],midi:[76,67,72,75]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:7,barres:[],midi:[75,67,72,76]}]},{key:"F#",suffix:"b13b9",positions:[{frets:[0,2,0,1],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,62,64,70]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,74]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,76]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,79]}]},{key:"F#",suffix:"b13#9",positions:[{frets:[3,2,0,0],fingers:[3,2,0,0],baseFret:1,barres:[],midi:[70,62,64,69]},{frets:[2,2,0,1],fingers:[2,3,0,1],baseFret:1,barres:[],midi:[69,62,64,70]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,69,74]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,76]}]},{key:"F#",suffix:"maj7",positions:[{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,73]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,77]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:8,barres:[],midi:[78,70,73,77]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[77,70,73,78]}]},{key:"F#",suffix:"maj7b5",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,72]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,77]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,70,72,77]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:8,barres:[],midi:[77,70,72,78]}]},{key:"F#",suffix:"maj7#5",positions:[{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:2,barres:[],midi:[70,65,66,74]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,77]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:8,barres:[],midi:[78,70,74,77]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:9,barres:[],midi:[77,70,74,78]}]},{key:"F#",suffix:"maj9",positions:[{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,70]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:3,midi:[70,65,68,73]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,70,77]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:9,midi:[77,70,73,80]}]},{key:"F#",suffix:"maj11",positions:[{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:2,barres:[],midi:[70,65,68,71]},{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:11,barres:[],midi:[80,71,77,82]}]},{key:"F#",suffix:"maj13",positions:[{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,70]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,68,75]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[75,68,70,77]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:10,midi:[77,70,75,80]}]},{key:"F#",suffix:"m6",positions:[{frets:[2,3,2,4],fingers:[1,2,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,73]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,75]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,78]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,81]}]},{key:"F#",suffix:"m7",positions:[{frets:[2,4,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,64,66,73]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:5,midi:[73,66,69,76]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,78]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:11,midi:[78,73,76,81]}]},{key:"F#",suffix:"m7b5",positions:[{frets:[2,4,2,3],fingers:[1,3,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,72]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,76]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,69,72,78]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,81]}]},{key:"F#",suffix:"m9",positions:[{frets:[1,1,0,0],fingers:[1,2,0,0],baseFret:1,barres:[],midi:[68,61,64,69]},{frets:[2,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,64,68,73]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,76]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,80]}]},{key:"F#",suffix:"m69",positions:[{frets:[2,3,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,68,73]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,75]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,80]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:11,barres:[],midi:[80,73,75,81]}]},{key:"F#",suffix:"m9b5",positions:[{frets:[1,0,0,0],fingers:[1,0,0,0],baseFret:1,barres:[],midi:[68,60,64,69]},{frets:[2,4,4,3],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[69,64,68,72]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,76]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:8,midi:[76,69,72,80]}]},{key:"F#",suffix:"m11",positions:[{frets:[2,4,4,2],fingers:[1,3,4,1],barres:[2],capo:!0,baseFret:1,midi:[69,64,68,71]},{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:11,midi:[80,71,76,81]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],baseFret:11,midi:[81,71,76,80]}]},{key:"F#",suffix:"mmaj7",positions:[{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,73]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:5,midi:[73,66,69,77]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:8,midi:[78,69,73,77]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,78]}]},{key:"F#",suffix:"mmaj7b5",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,72]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,77]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:8,barres:[],midi:[77,69,72,78]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,69,72,77]}]},{key:"F#",suffix:"mmaj9",positions:[{frets:[1,1,1,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[68,61,65,69]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:2,barres:[],midi:[69,65,68,73]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,68,69,77]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,80]}]},{key:"F#",suffix:"mmaj11",positions:[{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:2,midi:[69,65,68,71]},{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:11,barres:[],midi:[80,71,77,81]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],baseFret:11,midi:[81,71,77,80]}]},{key:"F#",suffix:"add9",positions:[{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:1,midi:[68,61,66,70]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:3,midi:[70,66,68,73]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,78]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:9,barres:[],midi:[78,70,73,80]}]},{key:"F#",suffix:"madd9",positions:[{frets:[1,1,2,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[68,61,66,69]},{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],baseFret:9,midi:[78,69,73,80]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:11,barres:[],midi:[81,73,78,80]}]}],G:[{key:"G",suffix:"major",positions:[{frets:[0,2,3,2],fingers:[0,1,3,2],baseFret:1,barres:[],midi:[67,62,67,71]},{frets:[4,2,3,2],fingers:[3,1,2,1],barres:[2],capo:!0,baseFret:1,midi:[71,62,67,71]},{frets:[3,1,2,4],fingers:[3,1,2,4],baseFret:2,barres:[],midi:[71,62,67,74]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,79]}]},{key:"G",suffix:"minor",positions:[{frets:[0,2,3,1],fingers:[0,2,3,1],baseFret:1,barres:[],midi:[67,62,67,70]},{frets:[3,2,3,1],fingers:[3,2,4,1],baseFret:1,barres:[],midi:[70,62,67,70]},{frets:[2,1,2,4],fingers:[2,1,3,4],baseFret:2,barres:[],midi:[70,62,67,74]},{frets:[3,3,2,1],fingers:[3,4,2,1],baseFret:5,barres:[],midi:[74,67,70,74]}]},{key:"G",suffix:"dim",positions:[{frets:[0,1,3,1],fingers:[0,1,3,2],baseFret:1,barres:[],midi:[67,61,67,70]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:1,midi:[70,61,67,70]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:4,barres:[],midi:[73,67,70,73]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:9,barres:[],midi:[79,70,73,79]}]},{key:"G",suffix:"dim7",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"G",suffix:"sus2",positions:[{frets:[0,2,3,0],fingers:[0,2,3,0],baseFret:1,barres:[],midi:[67,62,67,69]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:2,midi:[69,62,67,74]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[74,67,69,74]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:7,midi:[74,69,74,79]}]},{key:"G",suffix:"sus4",positions:[{frets:[0,2,3,3],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,62,67,72]},{frets:[4,1,2,2],fingers:[4,1,2,2],barres:[2],baseFret:2,midi:[72,62,67,72]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:2,barres:[],midi:[72,62,67,74]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,72,74]}]},{key:"G",suffix:"7sus4",positions:[{frets:[0,2,1,3],fingers:[0,2,1,3],baseFret:1,barres:[],midi:[67,62,65,72]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[72,65,67,74]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,1],capo:!0,baseFret:7,midi:[74,67,72,77]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,79]}]},{key:"G",suffix:"alt",positions:[{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:1,barres:[],midi:[71,61,67,71]},{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[71,67,71,73]},{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:9,barres:[],midi:[79,71,73,79]}]},{key:"G",suffix:"aug",positions:[{frets:[0,3,3,2],fingers:[0,2,3,1],baseFret:1,barres:[],midi:[67,63,67,71]},{frets:[4,3,3,2],fingers:[3,2,2,1],barres:[3],baseFret:1,midi:[71,63,67,71]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[71,63,67,75]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,67,71,75]}]},{key:"G",suffix:"6",positions:[{frets:[0,2,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,62,64,71]},{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,64,67,74]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,76]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:9,barres:[],midi:[76,71,74,79]}]},{key:"G",suffix:"69",positions:[{frets:[2,2,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[69,62,64,71]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:4,midi:[71,64,69,74]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,76]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,74,81]}]},{key:"G",suffix:"7",positions:[{frets:[0,2,1,2],fingers:[0,2,1,3],baseFret:1,barres:[],midi:[67,62,65,71]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,65,67,74]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,77]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,79]}]},{key:"G",suffix:"7b5",positions:[{frets:[0,1,1,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,71]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,65,67,73]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,77]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:9,barres:[],midi:[77,71,73,79]}]},{key:"G",suffix:"aug7",positions:[{frets:[0,3,1,2],fingers:[0,3,1,2],baseFret:1,barres:[],midi:[67,63,65,71]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,65,67,75]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,77]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:10,midi:[77,71,75,79]}]},{key:"G",suffix:"9",positions:[{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,71]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,74]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,77]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,81]}]},{key:"G",suffix:"9b5",positions:[{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],baseFret:1,midi:[69,61,65,71]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:4,midi:[71,65,69,73]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,69,71,77]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,71,73,81]}]},{key:"G",suffix:"aug9",positions:[{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,63,65,71]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:4,midi:[71,65,69,75]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,69,71,77]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,81]}]},{key:"G",suffix:"7b9",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"G",suffix:"7b9#5",positions:[{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,71]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,75]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,77]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,80]}]},{key:"G",suffix:"7#9",positions:[{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[70,62,65,71]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,62,65,70]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,65,70,74]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,70,71,77]}]},{key:"G",suffix:"11",positions:[{frets:[2,0,1,2],fingers:[2,0,1,3],baseFret:1,barres:[],midi:[69,60,65,71]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:2,barres:[],midi:[72,65,69,71]},{frets:[2,3,3,1],fingers:[2,3,4,1],baseFret:3,barres:[],midi:[71,65,69,72]}]},{key:"G",suffix:"9#11",positions:[{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,71]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:4,midi:[71,65,69,73]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,69,71,77]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,71,73,81]}]},{key:"G",suffix:"13",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,64,65,71]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,76]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:7,barres:[],midi:[76,69,71,77]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,69,71,76]}]},{key:"G",suffix:"13b9",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,71]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,76]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[77,68,71,76]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:10,barres:[],midi:[77,71,76,80]}]},{key:"G",suffix:"13b5b9",positions:[{frets:[1,4,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:1,midi:[68,64,65,73]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:4,barres:[],midi:[73,65,68,76]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:7,barres:[],midi:[77,68,73,76]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:8,barres:[],midi:[76,68,73,77]}]},{key:"G",suffix:"b13b9",positions:[{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,71]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,75]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,77]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,80]}]},{key:"G",suffix:"b13#9",positions:[{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,63,65,70]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[70,63,65,71]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,70,75]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,77]}]},{key:"G",suffix:"maj7",positions:[{frets:[0,2,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,62,66,71]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,74]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,67,71,78]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:9,barres:[],midi:[79,71,74,78]}]},{key:"G",suffix:"maj7b5",positions:[{frets:[0,1,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,66,71]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,73]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,78]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[79,71,73,78]}]},{key:"G",suffix:"maj7#5",positions:[{frets:[0,3,2,2],fingers:[0,2,1,1],barres:[2],baseFret:1,midi:[67,63,66,71]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[71,66,67,75]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[75,67,71,78]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:9,barres:[],midi:[79,71,75,78]}]},{key:"G",suffix:"maj9",positions:[{frets:[2,2,2,2],fingers:[1,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,71]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:4,midi:[71,66,69,74]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,71,78]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:10,midi:[78,71,74,81]}]},{key:"G",suffix:"maj11",positions:[{frets:[2,0,2,2],fingers:[1,0,2,3],baseFret:1,barres:[],midi:[69,60,66,71]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:3,barres:[],midi:[71,66,69,72]}]},{key:"G",suffix:"maj13",positions:[{frets:[2,4,2,2],fingers:[1,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,71]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,69,76]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[76,69,71,78]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:11,midi:[78,71,76,81]}]},{key:"G",suffix:"m6",positions:[{frets:[0,2,0,1],fingers:[0,2,0,1],baseFret:1,barres:[],midi:[67,62,64,70]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,64,67,74]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,76]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,79]}]},{key:"G",suffix:"m7",positions:[{frets:[0,2,1,1],fingers:[0,2,1,1],barres:[1],baseFret:1,midi:[67,62,65,70]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,67,74]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:6,midi:[74,67,70,77]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,70,74,79]}]},{key:"G",suffix:"m7b5",positions:[{frets:[0,1,1,1],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,70]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,73]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,77]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,70,73,79]}]},{key:"G",suffix:"m9",positions:[{frets:[3,2,1,0],fingers:[3,2,1,0],baseFret:1,barres:[],midi:[70,62,65,69]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:1,midi:[69,62,65,70]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,65,69,74]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,77]}]},{key:"G",suffix:"m69",positions:[{frets:[2,2,0,1],fingers:[2,3,0,1],baseFret:1,barres:[],midi:[69,62,64,70]},{frets:[3,2,0,0],fingers:[3,2,0,0],baseFret:1,barres:[],midi:[70,62,64,69]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,69,74]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,76]}]},{key:"G",suffix:"m9b5",positions:[{frets:[3,1,1,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[70,61,65,69]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,70]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,65,69,73]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],baseFret:6,midi:[73,69,70,77]}]},{key:"G",suffix:"m11",positions:[{frets:[2,0,1,1],fingers:[3,0,1,1],barres:[1],baseFret:1,midi:[69,60,65,70]},{frets:[3,0,1,0],fingers:[3,0,1,0],baseFret:1,barres:[],midi:[70,60,65,69]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[70,65,69,72]},{frets:[1,1,2,0],fingers:[1,2,3,0],baseFret:5,barres:[],midi:[72,65,70,69]}]},{key:"G",suffix:"mmaj7",positions:[{frets:[0,2,2,1],fingers:[0,2,3,1],baseFret:1,barres:[],midi:[67,62,66,70]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,74]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:6,midi:[74,67,70,78]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:9,midi:[79,70,74,78]}]},{key:"G",suffix:"mmaj7b5",positions:[{frets:[0,1,2,1],fingers:[0,1,3,2],baseFret:1,barres:[],midi:[67,61,66,70]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,73]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,78]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:9,barres:[],midi:[78,70,73,79]}]},{key:"G",suffix:"mmaj9",positions:[{frets:[3,2,2,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[70,62,66,69]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[69,62,66,70]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,66,69,74]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,69,70,78]}]},{key:"G",suffix:"mmaj11",positions:[{frets:[2,0,2,1],fingers:[2,0,3,1],baseFret:1,barres:[],midi:[69,60,66,70]},{frets:[3,0,2,0],fingers:[3,0,2,0],baseFret:1,barres:[],midi:[70,60,66,69]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:3,midi:[70,66,69,72]},{frets:[1,2,2,0],fingers:[1,2,3,0],baseFret:5,barres:[],midi:[72,66,70,69]}]},{key:"G",suffix:"add9",positions:[{frets:[2,2,3,2],fingers:[1,1,2,1],barres:[2],capo:!0,baseFret:1,midi:[69,62,67,71]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:4,midi:[71,67,69,74]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,79]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:10,barres:[],midi:[79,71,74,81]}]},{key:"G",suffix:"madd9",positions:[{frets:[3,2,3,0],fingers:[2,1,3,0],baseFret:1,barres:[],midi:[70,62,67,69]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:1,midi:[69,62,67,70]},{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[79,70,74,81]}]}],"G#":[{key:"G#",suffix:"major",positions:[{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[68,63,68,72]},{frets:[3,1,2,1],fingers:[3,1,2,1],barres:[1],capo:!0,baseFret:3,midi:[72,63,68,72]},{frets:[3,1,2,4],fingers:[3,1,2,4],baseFret:3,barres:[],midi:[72,63,68,75]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,80]}]},{key:"G#",suffix:"minor",positions:[{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,63,68,71]},{frets:[4,3,4,2],fingers:[3,2,4,1],baseFret:1,barres:[],midi:[71,63,68,71]},{frets:[2,1,2,4],fingers:[2,1,3,4],baseFret:3,barres:[],midi:[71,63,68,75]},{frets:[3,3,2,1],fingers:[3,4,2,1],baseFret:6,barres:[],midi:[75,68,71,75]}]},{key:"G#",suffix:"dim",positions:[{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[68,62,68,71]},{frets:[4,2,4,2],fingers:[3,1,4,1],barres:[2],capo:!0,baseFret:1,midi:[71,62,68,71]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:5,barres:[],midi:[74,68,71,74]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:10,barres:[],midi:[80,71,74,80]}]},{key:"G#",suffix:"dim7",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"G#",suffix:"sus2",positions:[{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,68,70]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:3,midi:[70,63,68,75]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[75,68,70,75]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:8,midi:[75,70,75,80]}]},{key:"G#",suffix:"sus4",positions:[{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,63,68,73]},{frets:[4,1,2,2],fingers:[4,1,2,2],barres:[2],baseFret:3,midi:[73,63,68,73]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:3,barres:[],midi:[73,63,68,75]},{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,73,75]}]},{key:"G#",suffix:"7sus4",positions:[{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,66,73]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[73,66,68,75]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:8,midi:[75,68,73,78]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,80]}]},{key:"G#",suffix:"alt",positions:[{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:2,barres:[],midi:[72,62,68,72]},{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[72,68,72,74]}]},{key:"G#",suffix:"aug",positions:[{frets:[1,0,0,3],fingers:[1,0,0,3],baseFret:1,barres:[],midi:[68,60,64,72]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,64,68,72]},{frets:[3,2,2,1],fingers:[3,2,2,1],barres:[2],baseFret:3,midi:[72,64,68,72]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,76]}]},{key:"G#",suffix:"6",positions:[{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,65,72]},{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,75]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,77]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:10,barres:[],midi:[77,72,75,80]}]},{key:"G#",suffix:"69",positions:[{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,65,72]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:5,midi:[72,65,70,75]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,77]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,75,82]}]},{key:"G#",suffix:"7",positions:[{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,66,72]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,66,68,75]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,78]},{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,80]}]},{key:"G#",suffix:"7b5",positions:[{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,72]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,66,68,74]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,78]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:10,barres:[],midi:[78,72,74,80]}]},{key:"G#",suffix:"aug7",positions:[{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,64,66,72]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,66,68,76]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,78]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:11,midi:[78,72,76,80]}]},{key:"G#",suffix:"9",positions:[{frets:[3,3,2,3],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[70,63,66,72]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,75]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,78]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:11,midi:[78,72,75,82]}]},{key:"G#",suffix:"9b5",positions:[{frets:[3,2,2,3],fingers:[2,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,72]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:5,midi:[72,66,70,74]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,70,72,78]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,72,74,82]}]},{key:"G#",suffix:"aug9",positions:[{frets:[3,4,2,3],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[70,64,66,72]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:5,midi:[72,66,70,76]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,70,72,78]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,82]}]},{key:"G#",suffix:"7b9",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"G#",suffix:"7b9#5",positions:[{frets:[2,4,2,3],fingers:[1,3,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,72]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,76]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,69,72,78]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,81]}]},{key:"G#",suffix:"7#9",positions:[{frets:[4,3,2,3],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[71,63,66,72]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,63,66,71]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:5,barres:[],midi:[72,66,71,75]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:8,midi:[75,71,72,78]}]},{key:"G#",suffix:"11",positions:[{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:1,barres:[],midi:[70,61,66,72]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:3,barres:[],midi:[73,66,70,72]},{frets:[2,3,3,1],fingers:[2,3,4,1],baseFret:4,barres:[],midi:[72,66,70,73]}]},{key:"G#",suffix:"9#11",positions:[{frets:[3,2,2,3],fingers:[2,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,72]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:5,midi:[72,66,70,74]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,70,72,78]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,72,74,82]}]},{key:"G#",suffix:"13",positions:[{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:2,barres:[],midi:[70,65,66,72]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,70,77]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:8,barres:[],midi:[77,70,72,78]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,70,72,77]}]},{key:"G#",suffix:"13b9",positions:[{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,72]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,77]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[78,69,72,77]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:11,barres:[],midi:[78,72,77,81]}]},{key:"G#",suffix:"13b5b9",positions:[{frets:[1,4,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,65,66,74]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:5,barres:[],midi:[74,66,69,77]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:8,barres:[],midi:[78,69,74,77]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:9,barres:[],midi:[77,69,74,78]}]},{key:"G#",suffix:"b13b9",positions:[{frets:[2,4,2,3],fingers:[1,3,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,72]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,76]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,69,72,78]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,81]}]},{key:"G#",suffix:"b13#9",positions:[{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,64,66,71]},{frets:[4,4,2,3],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[71,64,66,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,71,76]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,71,72,78]}]},{key:"G#",suffix:"maj7",positions:[{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,63,67,72]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,75]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,68,72,79]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:10,barres:[],midi:[80,72,75,79]}]},{key:"G#",suffix:"maj7b5",positions:[{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,67,72]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,74]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,79]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[80,72,74,79]}]},{key:"G#",suffix:"maj7#5",positions:[{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,64,67,72]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,67,68,76]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[76,68,72,79]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:10,barres:[],midi:[80,72,76,79]}]},{key:"G#",suffix:"maj9",positions:[{frets:[3,3,3,3],fingers:[1,1,1,1],barres:[3],capo:!0,baseFret:1,midi:[70,63,67,72]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:5,midi:[72,67,70,75]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,72,79]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:11,midi:[79,72,75,82]}]},{key:"G#",suffix:"maj11",positions:[{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:1,barres:[],midi:[70,61,67,72]},{frets:[2,4,3,1],fingers:[2,1,3,4],baseFret:4,barres:[],midi:[72,67,70,73]}]},{key:"G#",suffix:"maj13",positions:[{frets:[0,0,1,1],fingers:[0,0,1,2],baseFret:1,barres:[],midi:[67,60,65,70]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,72]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,70,77]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[77,70,72,79]}]},{key:"G#",suffix:"m6",positions:[{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,71]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,65,68,75]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,77]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,80]}]},{key:"G#",suffix:"m7",positions:[{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:1,midi:[68,63,66,71]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,68,75]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:7,midi:[75,68,71,78]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,71,75,80]}]},{key:"G#",suffix:"m7b5",positions:[{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,71]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,74]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,78]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,71,74,80]}]},{key:"G#",suffix:"m9",positions:[{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:1,barres:[],midi:[71,63,66,70]},{frets:[3,3,2,2],fingers:[2,2,1,1],barres:[2,3],capo:!0,baseFret:1,midi:[70,63,66,71]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,66,70,75]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,78]}]},{key:"G#",suffix:"m69",positions:[{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[70,63,65,71]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,63,65,70]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,70,75]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,77]}]},{key:"G#",suffix:"m9b5",positions:[{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:1,midi:[71,62,66,70]},{frets:[3,2,2,2],fingers:[2,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,71]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,66,70,74]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,70,71,78]}]},{key:"G#",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:1,midi:[70,61,66,71]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:1,midi:[71,61,66,70]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,70,73]}]},{key:"G#",suffix:"mmaj7",positions:[{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[68,63,67,71]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,75]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:7,midi:[75,68,71,79]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:10,midi:[80,71,75,79]}]},{key:"G#",suffix:"mmaj7b5",positions:[{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[68,62,67,71]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,74]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,79]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:10,barres:[],midi:[79,71,74,80]}]},{key:"G#",suffix:"mmaj9",positions:[{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:1,barres:[],midi:[71,63,67,70]},{frets:[3,3,3,2],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[70,63,67,71]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,67,70,75]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,70,71,79]}]},{key:"G#",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:1,barres:[],midi:[70,61,67,71]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:1,midi:[71,61,67,70]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:4,midi:[71,67,70,73]}]},{key:"G#",suffix:"add9",positions:[{frets:[3,3,4,3],fingers:[1,1,2,1],barres:[3],capo:!0,baseFret:1,midi:[70,63,68,72]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:5,midi:[72,68,70,75]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:8,midi:[75,70,72,80]},{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:11,barres:[],midi:[80,72,75,82]}]},{key:"G#",suffix:"madd9",positions:[{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:1,barres:[],midi:[71,63,68,70]},{frets:[3,3,4,2],fingers:[2,2,3,1],barres:[3],baseFret:1,midi:[70,63,68,71]},{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[80,71,75,82]}]}],A:[{key:"A",suffix:"major",positions:[{frets:[2,1,0,0],fingers:[2,1,0,0],baseFret:1,barres:[],midi:[69,61,64,69]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:2,barres:[],midi:[69,64,69,73]},{frets:[3,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:4,midi:[73,64,69,73]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,81]}]},{key:"A",suffix:"minor",positions:[{frets:[2,0,0,0],fingers:[2,0,0,0],baseFret:1,barres:[],midi:[69,60,64,69]},{frets:[2,0,0,3],fingers:[2,0,0,3],baseFret:1,barres:[],midi:[69,60,64,72]},{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:2,barres:[],midi:[69,64,69,72]},{frets:[3,2,3,1],fingers:[3,2,4,1],baseFret:3,barres:[],midi:[72,64,69,72]}]},{key:"A",suffix:"dim",positions:[{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:2,barres:[],midi:[69,63,69,72]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[72,63,69,72]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:6,barres:[],midi:[75,69,72,75]},{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:11,barres:[],midi:[81,72,75,81]}]},{key:"A",suffix:"dim7",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"A",suffix:"sus2",positions:[{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:2,midi:[69,64,69,71]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:4,midi:[71,64,69,76]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[76,69,71,76]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:9,midi:[76,71,76,81]}]},{key:"A",suffix:"sus4",positions:[{frets:[2,2,0,0],fingers:[2,3,0,0],baseFret:1,barres:[],midi:[69,62,64,69]},{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,64,69,74]},{frets:[4,1,2,2],fingers:[4,1,2,2],barres:[2],baseFret:4,midi:[74,64,69,74]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:4,barres:[],midi:[74,64,69,76]}]},{key:"A",suffix:"7sus4",positions:[{frets:[0,2,0,0],fingers:[0,2,0,0],baseFret:1,barres:[],midi:[67,62,64,69]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:2,barres:[],midi:[69,64,67,74]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[74,67,69,76]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:9,midi:[76,69,74,79]}]},{key:"A",suffix:"alt",positions:[{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:2,barres:[],midi:[69,63,69,73]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:3,barres:[],midi:[73,63,69,73]},{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[73,69,73,75]}]},{key:"A",suffix:"aug",positions:[{frets:[2,1,1,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[69,61,65,69]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,73]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:2,barres:[],midi:[69,65,69,73]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,77]}]},{key:"A",suffix:"6",positions:[{frets:[2,4,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,64,66,73]},{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,76]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,78]},{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:11,barres:[],midi:[78,73,76,81]}]},{key:"A",suffix:"69",positions:[{frets:[4,4,2,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,66,73]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:6,midi:[73,66,71,76]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,78]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,76,83]}]},{key:"A",suffix:"7",positions:[{frets:[0,1,0,0],fingers:[0,1,0,0],baseFret:1,barres:[],midi:[67,61,64,69]},{frets:[2,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,64,67,73]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,67,69,76]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,79]}]},{key:"A",suffix:"7b5",positions:[{frets:[2,3,3,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,73]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,67,69,75]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,79]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:11,barres:[],midi:[79,73,75,81]}]},{key:"A",suffix:"aug7",positions:[{frets:[0,1,1,0],fingers:[0,1,2,0],baseFret:1,barres:[],midi:[67,61,65,69]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:2,barres:[],midi:[69,65,67,73]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,67,69,77]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,79]}]},{key:"A",suffix:"9",positions:[{frets:[0,1,0,2],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,71]},{frets:[4,4,3,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[71,64,67,73]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,76]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,79]}]},{key:"A",suffix:"9b5",positions:[{frets:[4,3,3,4],fingers:[2,1,1,3],barres:[3],capo:!0,baseFret:1,midi:[71,63,67,73]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:6,midi:[73,67,71,75]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,71,73,79]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,73,75,83]}]},{key:"A",suffix:"aug9",positions:[{frets:[0,1,1,2],fingers:[0,1,1,2],barres:[1],baseFret:1,midi:[67,61,65,71]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,65,67,73]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:6,midi:[73,67,71,77]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:9,barres:[],midi:[77,71,73,79]}]},{key:"A",suffix:"7b9",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"A",suffix:"7b9#5",positions:[{frets:[0,1,1,1],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,70]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,73]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,77]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,70,73,79]}]},{key:"A",suffix:"7#9",positions:[{frets:[0,1,0,3],fingers:[0,1,0,3],baseFret:1,barres:[],midi:[67,61,64,72]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:3,barres:[],midi:[72,64,67,73]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,64,67,72]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:6,barres:[],midi:[73,67,72,76]}]},{key:"A",suffix:"11",positions:[{frets:[4,2,3,4],fingers:[3,1,2,4],baseFret:1,barres:[],midi:[71,62,67,73]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:4,barres:[],midi:[74,67,71,73]},{frets:[2,3,3,1],fingers:[2,3,4,1],baseFret:5,barres:[],midi:[73,67,71,74]}]},{key:"A",suffix:"9#11",positions:[{frets:[4,3,3,4],fingers:[2,1,1,3],barres:[3],capo:!0,baseFret:1,midi:[71,63,67,73]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:6,midi:[73,67,71,75]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:8,barres:[],midi:[75,71,73,79]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,73,75,83]}]},{key:"A",suffix:"13",positions:[{frets:[0,1,2,2],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,66,71]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:3,barres:[],midi:[71,66,67,73]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,71,78]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:9,barres:[],midi:[78,71,73,79]}]},{key:"A",suffix:"13b9",positions:[{frets:[0,1,2,1],fingers:[0,1,3,2],baseFret:1,barres:[],midi:[67,61,66,70]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,73]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,78]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[79,70,73,78]}]},{key:"A",suffix:"13b5b9",positions:[{frets:[1,4,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:3,midi:[70,66,67,75]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:6,barres:[],midi:[75,67,70,78]},{frets:[0,2,3,1],fingers:[0,2,3,1],baseFret:9,barres:[],midi:[67,70,75,78]},{frets:[2,1,2,1],fingers:[3,1,4,2],baseFret:10,barres:[],midi:[78,70,75,79]}]},{key:"A",suffix:"b13b9",positions:[{frets:[0,1,1,1],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,70]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,73]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,77]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,70,73,79]}]},{key:"A",suffix:"b13#9",positions:[{frets:[0,1,1,3],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,72]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:3,barres:[],midi:[72,65,67,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,65,67,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,72,77]}]},{key:"A",suffix:"maj7",positions:[{frets:[1,1,0,0],fingers:[1,2,0,0],baseFret:1,barres:[],midi:[68,61,64,69]},{frets:[2,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,64,68,73]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,76]},{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,69,73,80]}]},{key:"A",suffix:"maj7b5",positions:[{frets:[2,3,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,68,73]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,75]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,80]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[81,73,75,80]}]},{key:"A",suffix:"maj7#5",positions:[{frets:[1,1,1,0],fingers:[1,2,3,0],baseFret:1,barres:[],midi:[68,61,65,69]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:2,barres:[],midi:[69,65,68,73]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,68,69,77]},{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:9,midi:[77,69,73,80]}]},{key:"A",suffix:"maj9",positions:[{frets:[1,1,0,2],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,71]},{frets:[4,4,4,4],fingers:[1,1,1,1],barres:[4],capo:!0,baseFret:1,midi:[71,64,68,73]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:6,midi:[73,68,71,76]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,71,73,80]}]},{key:"A",suffix:"maj11",positions:[{frets:[4,2,4,4],fingers:[2,1,3,4],baseFret:1,barres:[],midi:[71,62,68,73]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:5,barres:[],midi:[73,68,71,74]}]},{key:"A",suffix:"maj13",positions:[{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:1,midi:[68,61,66,71]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,73]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,71,78]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[78,71,73,80]}]},{key:"A",suffix:"m6",positions:[{frets:[2,4,2,3],fingers:[1,3,1,2],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,72]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,66,69,76]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:8,barres:[],midi:[76,69,72,78]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:11,barres:[],midi:[78,72,76,81]}]},{key:"A",suffix:"m7",positions:[{frets:[0,0,0,0],fingers:[0,0,0,0],baseFret:1,barres:[],midi:[67,60,64,69]},{frets:[2,4,3,3],fingers:[1,3,2,2],barres:[3],baseFret:1,midi:[69,64,67,72]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,67,69,76]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:8,midi:[76,69,72,79]}]},{key:"A",suffix:"m7b5",positions:[{frets:[2,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,72]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,75]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,79]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,72,75,81]}]},{key:"A",suffix:"m9",positions:[{frets:[0,0,0,2],fingers:[0,0,0,2],baseFret:1,barres:[],midi:[67,60,64,71]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:2,barres:[],midi:[72,64,67,71]},{frets:[4,4,3,3],fingers:[2,2,1,1],barres:[3,4],capo:!0,baseFret:1,midi:[71,64,67,72]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,67,71,76]}]},{key:"A",suffix:"m69",positions:[{frets:[4,4,2,3],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[71,64,66,72]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:2,midi:[72,64,66,71]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:5,barres:[],midi:[72,66,71,76]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:8,barres:[],midi:[76,71,72,78]}]},{key:"A",suffix:"m9b5",positions:[{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:2,midi:[72,63,67,71]},{frets:[4,3,3,3],fingers:[2,1,1,1],barres:[3],capo:!0,baseFret:1,midi:[71,63,67,72]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:5,barres:[],midi:[72,67,71,75]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,71,72,79]}]},{key:"A",suffix:"m11",positions:[{frets:[4,2,3,3],fingers:[3,1,2,2],barres:[3],baseFret:1,midi:[71,62,67,72]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:2,midi:[72,62,67,71]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,71,74]}]},{key:"A",suffix:"mmaj7",positions:[{frets:[1,0,0,0],fingers:[1,0,0,0],baseFret:1,barres:[],midi:[68,60,64,69]},{frets:[2,4,4,3],fingers:[1,3,4,2],baseFret:1,barres:[],midi:[69,64,68,72]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,76]},{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:8,midi:[76,69,72,80]}]},{key:"A",suffix:"mmaj7b5",positions:[{frets:[2,3,4,3],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[69,63,68,72]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,75]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,80]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:11,barres:[],midi:[80,72,75,81]}]},{key:"A",suffix:"mmaj9",positions:[{frets:[1,0,0,2],fingers:[1,0,0,2],baseFret:1,barres:[],midi:[68,60,64,71]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:2,barres:[],midi:[72,64,68,71]},{frets:[4,4,4,3],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[71,64,68,72]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:5,barres:[],midi:[72,68,71,76]}]},{key:"A",suffix:"mmaj11",positions:[{frets:[4,2,4,3],fingers:[3,1,4,2],baseFret:1,barres:[],midi:[71,62,68,72]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:2,midi:[72,62,68,71]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:5,midi:[72,68,71,74]}]},{key:"A",suffix:"add9",positions:[{frets:[2,1,0,2],fingers:[2,1,0,3],baseFret:1,barres:[],midi:[69,61,64,71]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:4,midi:[71,64,69,73]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:6,midi:[73,69,71,76]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:9,midi:[76,71,73,81]}]},{key:"A",suffix:"madd9",positions:[{frets:[2,0,0,2],fingers:[2,0,0,3],baseFret:1,barres:[],midi:[69,60,64,71]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:2,barres:[],midi:[72,64,69,71]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:3,midi:[71,64,69,72]}]}],"A#":[{key:"A#",suffix:"major",positions:[{frets:[3,2,1,1],fingers:[3,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[70,62,65,70]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,65,70,74]},{frets:[3,1,2,1],fingers:[3,1,2,1],barres:[1],capo:!0,baseFret:5,midi:[74,65,70,74]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[77,70,74,82]}]},{key:"A#",suffix:"minor",positions:[{frets:[3,1,1,1],fingers:[3,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[70,61,65,70]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[70,61,65,73]},{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,65,70,73]},{frets:[3,2,3,1],fingers:[3,2,4,1],baseFret:4,barres:[],midi:[73,65,70,73]}]},{key:"A#",suffix:"dim",positions:[{frets:[3,1,0,1],fingers:[3,1,0,2],baseFret:1,barres:[],midi:[70,61,64,70]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,64,70,73]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[73,64,70,73]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:7,barres:[],midi:[76,70,73,76]}]},{key:"A#",suffix:"dim7",positions:[{frets:[0,1,0,1],fingers:[0,1,0,2],baseFret:1,barres:[],midi:[67,61,64,70]},{frets:[3,4,3,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[70,64,67,73]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,67,70,76]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:9,barres:[],midi:[76,70,73,79]}]},{key:"A#",suffix:"sus2",positions:[{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],baseFret:3,midi:[70,65,70,72]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],baseFret:5,midi:[72,65,70,77]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],baseFret:8,midi:[77,70,72,77]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:10,midi:[77,72,77,82]}]},{key:"A#",suffix:"sus4",positions:[{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[70,63,65,70]},{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,65,70,75]},{frets:[4,1,2,2],fingers:[4,1,2,2],barres:[2],baseFret:5,midi:[75,65,70,75]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:5,barres:[],midi:[75,65,70,77]}]},{key:"A#",suffix:"7sus4",positions:[{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,63,65,70]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,68,75]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[75,68,70,77]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:10,midi:[77,70,75,80]}]},{key:"A#",suffix:"alt",positions:[{frets:[3,2,0,1],fingers:[3,2,0,1],baseFret:1,barres:[],midi:[70,62,64,70]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,64,70,74]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:4,barres:[],midi:[74,64,70,74]},{frets:[1,4,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[74,70,74,76]}]},{key:"A#",suffix:"aug",positions:[{frets:[3,2,2,1],fingers:[3,2,2,1],barres:[2],baseFret:1,midi:[70,62,66,70]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[70,62,66,74]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,66,70,74]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[74,66,70,78]}]},{key:"A#",suffix:"6",positions:[{frets:[0,2,1,1],fingers:[0,2,1,1],barres:[1],baseFret:1,midi:[67,62,65,70]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,67,74]},{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,67,70,77]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,70,74,79]}]},{key:"A#",suffix:"69",positions:[{frets:[0,2,1,3],fingers:[0,2,1,3],baseFret:1,barres:[],midi:[67,62,65,72]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:3,barres:[],midi:[72,65,67,74]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:7,midi:[74,67,72,77]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,79]}]},{key:"A#",suffix:"7",positions:[{frets:[1,2,1,1],fingers:[1,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,70]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:3,barres:[],midi:[70,65,68,74]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,68,70,77]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,70,74,80]}]},{key:"A#",suffix:"7b5",positions:[{frets:[1,2,0,1],fingers:[1,3,0,2],baseFret:1,barres:[],midi:[68,62,64,70]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,68,74]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,68,70,76]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:9,barres:[],midi:[76,70,74,80]}]},{key:"A#",suffix:"aug7",positions:[{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:1,midi:[68,62,66,70]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,66,68,74]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,68,70,78]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:10,midi:[78,70,74,80]}]},{key:"A#",suffix:"9",positions:[{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,72]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[72,65,68,74]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,77]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,80]}]},{key:"A#",suffix:"9b5",positions:[{frets:[1,2,0,3],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,62,64,72]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],baseFret:4,midi:[72,64,68,74]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],baseFret:7,midi:[74,68,72,76]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:9,barres:[],midi:[76,72,74,80]}]},{key:"A#",suffix:"aug9",positions:[{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:1,midi:[68,62,66,72]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,66,68,74]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:7,midi:[74,68,72,78]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:10,barres:[],midi:[78,72,74,80]}]},{key:"A#",suffix:"7b9",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"A#",suffix:"7b9#5",positions:[{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,71]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,74]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,78]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,71,74,80]}]},{key:"A#",suffix:"7#9",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[68,62,65,73]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:4,barres:[],midi:[73,65,68,74]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,65,68,73]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:7,barres:[],midi:[74,68,73,77]}]},{key:"A#",suffix:"11",positions:[{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:3,barres:[],midi:[72,63,68,74]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:5,barres:[],midi:[75,68,72,74]},{frets:[2,3,3,1],fingers:[2,3,4,1],baseFret:6,barres:[],midi:[74,68,72,75]}]},{key:"A#",suffix:"9#11",positions:[{frets:[1,2,0,3],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,62,64,72]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,74]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:7,midi:[74,68,72,76]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:9,barres:[],midi:[76,72,74,80]}]},{key:"A#",suffix:"13",positions:[{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,67,72]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:4,barres:[],midi:[72,67,68,74]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,72,79]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:10,barres:[],midi:[79,72,74,80]}]},{key:"A#",suffix:"13b9",positions:[{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[68,62,67,71]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,74]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,79]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[80,71,74,79]}]},{key:"A#",suffix:"13b5b9",positions:[{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:1,barres:[],midi:[68,64,67,71]},{frets:[1,4,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:4,midi:[71,67,68,76]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:7,barres:[],midi:[76,68,71,79]},{frets:[4,2,3,1],fingers:[4,2,3,1],baseFret:10,barres:[],midi:[80,71,76,79]}]},{key:"A#",suffix:"b13b9",positions:[{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,71]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,74]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,78]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,71,74,80]}]},{key:"A#",suffix:"b13#9",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,66,68,73]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:4,barres:[],midi:[73,66,68,74]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,73,78]}]},{key:"A#",suffix:"maj7",positions:[{frets:[3,2,1,0],fingers:[3,2,1,0],baseFret:1,barres:[],midi:[70,62,65,69]},{frets:[2,2,1,1],fingers:[2,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[69,62,65,70]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,65,69,74]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,77]}]},{key:"A#",suffix:"maj7b5",positions:[{frets:[3,2,0,0],fingers:[3,2,0,0],baseFret:1,barres:[],midi:[70,62,64,69]},{frets:[2,2,0,1],fingers:[2,3,0,1],baseFret:1,barres:[],midi:[69,62,64,70]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:3,barres:[],midi:[70,64,69,74]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:6,barres:[],midi:[74,69,70,76]}]},{key:"A#",suffix:"maj7#5",positions:[{frets:[3,2,2,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[70,62,66,69]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[69,62,66,70]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:3,barres:[],midi:[70,66,69,74]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:6,barres:[],midi:[74,69,70,78]}]},{key:"A#",suffix:"maj9",positions:[{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:1,midi:[69,62,65,72]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,65,69,74]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:7,midi:[74,69,72,77]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,72,74,81]}]},{key:"A#",suffix:"maj11",positions:[{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:3,barres:[],midi:[72,63,69,74]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:6,barres:[],midi:[74,69,72,75]}]},{key:"A#",suffix:"maj13",positions:[{frets:[2,2,3,3],fingers:[1,1,2,2],barres:[2,3],capo:!0,baseFret:1,midi:[69,62,67,72]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,74]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,72,79]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[79,72,74,81]}]},{key:"A#",suffix:"m6",positions:[{frets:[0,1,1,1],fingers:[0,1,2,3],baseFret:1,barres:[],midi:[67,61,65,70]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[70,65,67,73]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,67,70,77]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:9,barres:[],midi:[77,70,73,79]}]},{key:"A#",suffix:"m7",positions:[{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,70]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:3,midi:[70,65,68,73]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:6,barres:[],midi:[73,68,70,77]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:9,midi:[77,70,73,80]}]},{key:"A#",suffix:"m7b5",positions:[{frets:[1,1,0,1],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[68,61,64,70]},{frets:[3,4,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[70,64,68,73]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,76]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:9,midi:[76,70,73,80]}]},{key:"A#",suffix:"m9",positions:[{frets:[1,1,1,3],fingers:[1,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[68,61,65,72]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:4,midi:[72,65,68,73]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:3,barres:[],midi:[73,65,68,72]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,68,72,77]}]},{key:"A#",suffix:"m69",positions:[{frets:[0,1,1,3],fingers:[0,2,1,4],baseFret:1,barres:[],midi:[67,61,65,72]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:3,barres:[],midi:[72,65,67,73]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[73,65,67,72]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:6,barres:[],midi:[73,67,72,77]}]},{key:"A#",suffix:"m9b5",positions:[{frets:[1,1,0,3],fingers:[1,2,0,4],baseFret:1,barres:[],midi:[68,61,64,72]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[72,64,68,73]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:3,midi:[73,64,68,72]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:6,barres:[],midi:[73,68,72,76]}]},{key:"A#",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:3,midi:[72,63,68,73]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:3,midi:[73,63,68,72]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,72,75]}]},{key:"A#",suffix:"mmaj7",positions:[{frets:[3,1,1,0],fingers:[3,1,2,0],baseFret:1,barres:[],midi:[70,61,65,69]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,70]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:3,barres:[],midi:[70,65,69,73]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:6,midi:[73,69,70,77]}]},{key:"A#",suffix:"mmaj7b5",positions:[{frets:[2,1,0,1],fingers:[3,1,0,2],baseFret:1,barres:[],midi:[69,61,64,70]},{frets:[3,1,0,0],fingers:[3,1,0,0],baseFret:1,barres:[],midi:[70,61,64,69]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:3,barres:[],midi:[70,64,69,73]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:6,midi:[73,69,70,76]}]},{key:"A#",suffix:"mmaj9",positions:[{frets:[2,1,1,3],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:1,midi:[69,61,65,72]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:4,barres:[],midi:[72,65,69,73]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:3,barres:[],midi:[73,65,69,72]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:6,barres:[],midi:[73,69,72,77]}]},{key:"A#",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:3,barres:[],midi:[72,63,69,73]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:3,midi:[73,63,69,72]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:6,midi:[73,69,72,75]}]},{key:"A#",suffix:"add9",positions:[{frets:[3,2,1,3],fingers:[3,2,1,4],baseFret:1,barres:[],midi:[70,62,65,72]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],capo:!0,baseFret:5,midi:[72,65,70,74]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:7,midi:[74,70,72,77]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:10,midi:[77,72,74,82]}]},{key:"A#",suffix:"madd9",positions:[{frets:[3,1,1,3],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[70,61,65,72]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:3,barres:[],midi:[73,65,70,72]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:4,midi:[72,65,70,73]}]}],B:[{key:"B",suffix:"major",positions:[{frets:[4,3,2,2],fingers:[3,2,1,1],barres:[2],capo:!0,baseFret:1,midi:[71,63,66,71]},{frets:[1,3,4,3],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,66,71,75]},{frets:[3,1,2,1],fingers:[3,1,2,1],barres:[1],capo:!0,baseFret:6,midi:[75,66,71,75]},{frets:[1,1,1,4],fingers:[1,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[78,71,75,83]}]},{key:"B",suffix:"minor",positions:[{frets:[4,2,2,2],fingers:[3,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[71,62,66,71]},{frets:[3,1,1,4],fingers:[3,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[71,62,66,74]},{frets:[1,3,4,2],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,66,71,74]},{frets:[3,2,3,1],fingers:[3,2,4,1],baseFret:5,barres:[],midi:[74,66,71,74]}]},{key:"B",suffix:"dim",positions:[{frets:[4,2,1,2],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[71,62,65,71]},{frets:[1,2,4,2],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,65,71,74]},{frets:[3,1,3,1],fingers:[3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[74,65,71,74]},{frets:[3,4,3,1],fingers:[2,4,3,1],baseFret:8,barres:[],midi:[77,71,74,77]}]},{key:"B",suffix:"dim7",positions:[{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,62,65,71]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,65,68,74]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,68,71,77]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:10,barres:[],midi:[77,71,74,80]}]},{key:"B",suffix:"sus2",positions:[{frets:[1,3,4,1],fingers:[1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[71,66,71,73]},{frets:[1,1,2,4],fingers:[1,1,2,4],barres:[1],capo:!0,baseFret:6,midi:[73,66,71,78]},{frets:[3,3,1,1],fingers:[3,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[78,71,73,78]},{frets:[1,3,4,4],fingers:[1,2,3,3],barres:[4],baseFret:11,midi:[78,73,78,83]}]},{key:"B",suffix:"sus4",positions:[{frets:[4,4,2,2],fingers:[3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[71,64,66,71]},{frets:[1,3,4,4],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,66,71,76]},{frets:[4,1,2,2],fingers:[4,1,2,2],barres:[2],baseFret:6,midi:[76,66,71,76]},{frets:[4,1,2,4],fingers:[3,1,2,4],baseFret:6,barres:[],midi:[76,66,71,78]}]},{key:"B",suffix:"7sus4",positions:[{frets:[2,4,2,2],fingers:[1,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,64,66,71]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,69,76]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[76,69,71,78]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],baseFret:11,midi:[78,71,76,81]}]},{key:"B",suffix:"alt",positions:[{frets:[4,3,1,2],fingers:[4,3,1,2],baseFret:1,barres:[],midi:[71,63,65,71]},{frets:[1,2,4,3],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,65,71,75]},{frets:[4,1,3,2],fingers:[4,1,3,2],baseFret:5,barres:[],midi:[75,65,71,75]}]},{key:"B",suffix:"aug",positions:[{frets:[0,3,3,2],fingers:[0,2,3,1],baseFret:1,barres:[],midi:[67,63,67,71]},{frets:[4,3,3,2],fingers:[3,2,2,1],barres:[3],baseFret:1,midi:[71,63,67,71]},{frets:[2,1,1,4],fingers:[2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[71,63,67,75]},{frets:[1,4,4,3],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,67,71,75]}]},{key:"B",suffix:"6",positions:[{frets:[1,3,2,2],fingers:[1,4,2,3],baseFret:1,barres:[],midi:[68,63,66,71]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,68,75]},{frets:[2,2,1,3],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,68,71,78]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,71,75,80]}]},{key:"B",suffix:"69",positions:[{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[68,63,66,73]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:4,barres:[],midi:[73,66,68,75]},{frets:[1,1,2,2],fingers:[1,1,2,2],barres:[1,2],capo:!0,baseFret:8,midi:[75,68,73,78]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,80]}]},{key:"B",suffix:"7",positions:[{frets:[2,3,2,2],fingers:[1,2,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,71]},{frets:[1,3,2,3],fingers:[1,3,2,4],baseFret:4,barres:[],midi:[71,66,69,75]},{frets:[2,3,1,3],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,69,71,78]},{frets:[1,1,1,2],fingers:[1,1,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,71,75,81]}]},{key:"B",suffix:"7b5",positions:[{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:1,barres:[],midi:[69,63,65,71]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,75]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,69,71,77]},{frets:[1,2,2,3],fingers:[1,2,3,4],baseFret:10,barres:[],midi:[77,71,75,81]}]},{key:"B",suffix:"aug7",positions:[{frets:[2,3,3,2],fingers:[1,2,2,1],barres:[2,3],capo:!0,baseFret:1,midi:[69,63,67,71]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,67,69,75]},{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,69,71,79]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:11,midi:[79,71,75,81]}]},{key:"B",suffix:"9",positions:[{frets:[2,3,2,4],fingers:[1,2,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,63,66,73]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:5,barres:[],midi:[73,66,69,75]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,78]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,81]}]},{key:"B",suffix:"9b5",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,63,65,73]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,75]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:8,midi:[75,69,73,77]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:10,barres:[],midi:[77,73,75,81]}]},{key:"B",suffix:"aug9",positions:[{frets:[2,3,3,4],fingers:[1,2,2,3],barres:[3],baseFret:1,midi:[69,63,67,73]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,67,69,75]},{frets:[1,2,2,3],fingers:[1,2,2,3],barres:[2],baseFret:8,midi:[75,69,73,79]},{frets:[2,3,1,2],fingers:[2,4,1,3],baseFret:11,barres:[],midi:[79,73,75,81]}]},{key:"B",suffix:"7b9",positions:[{frets:[2,3,2,3],fingers:[1,3,2,4],baseFret:1,barres:[],midi:[69,63,66,72]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:5,barres:[],midi:[72,66,69,75]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,69,72,78]},{frets:[1,2,1,2],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,72,75,81]}]},{key:"B",suffix:"7b9#5",positions:[{frets:[2,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,72]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,75]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],baseFret:8,midi:[75,69,72,79]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,72,75,81]}]},{key:"B",suffix:"7#9",positions:[{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:2,midi:[69,63,66,74]},{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:5,barres:[],midi:[74,66,69,75]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,66,69,74]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:8,barres:[],midi:[75,69,74,78]}]},{key:"B",suffix:"11",positions:[{frets:[2,3,0,4],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[69,63,64,73]},{frets:[3,1,2,3],fingers:[3,1,2,4],baseFret:4,barres:[],midi:[73,64,69,75]},{frets:[4,4,4,1],fingers:[2,3,4,1],baseFret:6,barres:[],midi:[76,69,73,75]},{frets:[2,3,3,1],fingers:[2,3,4,1],baseFret:7,barres:[],midi:[75,69,73,76]}]},{key:"B",suffix:"9#11",positions:[{frets:[2,3,1,4],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,63,65,73]},{frets:[2,1,1,2],fingers:[2,1,1,3],barres:[1],baseFret:5,midi:[73,65,69,75]},{frets:[1,2,2,1],fingers:[1,2,2,1],barres:[1,2],capo:!0,baseFret:8,midi:[75,69,73,77]},{frets:[1,4,2,3],fingers:[1,4,2,3],baseFret:10,barres:[],midi:[77,73,75,81]}]},{key:"B",suffix:"13",positions:[{frets:[2,3,4,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,68,73]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:5,barres:[],midi:[73,68,69,75]},{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,73,80]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:11,barres:[],midi:[80,73,75,81]}]},{key:"B",suffix:"13b9",positions:[{frets:[2,3,4,3],fingers:[1,2,4,3],baseFret:1,barres:[],midi:[69,63,68,72]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,75]},{frets:[1,2,1,4],fingers:[1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,80]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[81,72,75,80]}]},{key:"B",suffix:"13b5b9",positions:[{frets:[1,0,1,0],fingers:[1,0,2,0],baseFret:1,barres:[],midi:[68,60,65,69]},{frets:[1,4,3,2],fingers:[1,4,3,2],baseFret:2,barres:[],midi:[69,65,68,72]},{frets:[1,4,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:5,midi:[72,68,69,77]},{frets:[3,2,1,4],fingers:[3,2,1,4],baseFret:8,barres:[],midi:[77,69,72,80]}]},{key:"B",suffix:"b13b9",positions:[{frets:[2,3,3,3],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[69,63,67,72]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[72,67,69,75]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:8,midi:[75,69,72,79]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[79,72,75,81]}]},{key:"B",suffix:"b13#9",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:2,barres:[],midi:[69,63,67,74]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[75,67,69,74]},{frets:[3,3,1,2],fingers:[4,3,1,2],baseFret:5,barres:[],midi:[74,67,69,75]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:8,barres:[],midi:[75,69,74,79]}]},{key:"B",suffix:"maj7",positions:[{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:1,barres:[],midi:[71,63,66,70]},{frets:[3,3,2,2],fingers:[2,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[70,63,66,71]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,66,70,75]},{frets:[2,4,1,3],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,78]}]},{key:"B",suffix:"maj7b5",positions:[{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,63,65,70]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:1,barres:[],midi:[70,63,65,71]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,70,75]},{frets:[2,4,1,2],fingers:[2,4,1,3],baseFret:7,barres:[],midi:[75,70,71,77]}]},{key:"B",suffix:"maj7#5",positions:[{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:1,barres:[],midi:[71,63,67,70]},{frets:[3,3,3,2],fingers:[2,3,4,1],baseFret:1,barres:[],midi:[70,63,67,71]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:4,barres:[],midi:[71,67,70,75]},{frets:[2,4,1,4],fingers:[2,3,1,4],baseFret:7,barres:[],midi:[75,70,71,79]}]},{key:"B",suffix:"maj9",positions:[{frets:[3,3,2,4],fingers:[2,2,1,3],barres:[3],baseFret:1,midi:[70,63,66,73]},{frets:[1,1,1,1],fingers:[1,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,66,70,75]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:8,midi:[75,70,73,78]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:11,barres:[],midi:[78,73,75,82]}]},{key:"B",suffix:"maj11",positions:[{frets:[3,3,0,4],fingers:[1,2,0,3],baseFret:1,barres:[],midi:[70,63,64,73]},{frets:[3,1,3,3],fingers:[2,1,3,4],baseFret:4,barres:[],midi:[73,64,70,75]},{frets:[2,4,3,1],fingers:[2,4,3,1],baseFret:7,barres:[],midi:[75,70,73,76]}]},{key:"B",suffix:"maj13",positions:[{frets:[3,3,4,4],fingers:[1,1,2,2],barres:[3,4],capo:!0,baseFret:1,midi:[70,63,68,73]},{frets:[1,3,1,1],fingers:[1,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[73,68,70,75]},{frets:[1,3,2,4],fingers:[1,3,2,4],baseFret:8,barres:[],midi:[75,70,73,80]},{frets:[3,3,1,3],fingers:[2,3,1,4],baseFret:11,barres:[],midi:[80,73,75,82]}]},{key:"B",suffix:"m6",positions:[{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,71]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[71,66,68,74]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,68,71,78]},{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:10,barres:[],midi:[78,71,74,80]}]},{key:"B",suffix:"m7",positions:[{frets:[2,2,2,2],fingers:[1,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,71]},{frets:[1,3,2,2],fingers:[1,3,2,2],barres:[2],baseFret:4,midi:[71,66,69,74]},{frets:[1,3,1,3],fingers:[1,3,2,4],baseFret:7,barres:[],midi:[74,69,71,78]},{frets:[2,2,1,3],fingers:[2,2,1,3],barres:[2],baseFret:10,midi:[78,71,74,81]}]},{key:"B",suffix:"m7b5",positions:[{frets:[2,2,1,2],fingers:[2,3,1,4],baseFret:1,barres:[],midi:[69,62,65,71]},{frets:[1,2,2,2],fingers:[1,2,3,4],baseFret:4,barres:[],midi:[71,65,69,74]},{frets:[1,3,1,2],fingers:[1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,69,71,77]},{frets:[1,2,1,3],fingers:[1,2,1,3],barres:[1],capo:!0,baseFret:10,midi:[77,71,74,81]}]},{key:"B",suffix:"m9",positions:[{frets:[2,2,2,4],fingers:[1,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[69,62,66,73]},{frets:[4,3,2,1],fingers:[4,3,2,1],baseFret:4,barres:[],midi:[74,66,69,73]},{frets:[2,2,1,1],fingers:[2,2,1,1],barres:[1,2],capo:!0,baseFret:5,midi:[73,66,69,74]},{frets:[1,3,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,69,73,78]}]},{key:"B",suffix:"m69",positions:[{frets:[1,2,2,4],fingers:[1,2,3,4],baseFret:1,barres:[],midi:[68,62,66,73]},{frets:[3,3,1,2],fingers:[3,4,1,2],baseFret:4,barres:[],midi:[73,66,68,74]},{frets:[4,3,1,1],fingers:[4,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[74,66,68,73]},{frets:[1,2,3,3],fingers:[1,2,3,4],baseFret:7,barres:[],midi:[74,68,73,78]}]},{key:"B",suffix:"m9b5",positions:[{frets:[2,2,1,4],fingers:[2,2,1,4],barres:[2],baseFret:1,midi:[69,62,65,73]},{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:4,midi:[74,65,69,73]},{frets:[2,1,1,1],fingers:[2,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[73,65,69,74]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:7,barres:[],midi:[74,69,73,77]}]},{key:"B",suffix:"m11",positions:[{frets:[3,1,2,2],fingers:[3,1,2,2],barres:[2],baseFret:4,midi:[73,64,69,74]},{frets:[4,1,2,1],fingers:[4,1,2,1],barres:[1],capo:!0,baseFret:4,midi:[74,64,69,73]},{frets:[1,3,3,1],fingers:[1,3,4,1],barres:[1],baseFret:7,midi:[74,69,73,76]}]},{key:"B",suffix:"mmaj7",positions:[{frets:[4,2,2,1],fingers:[4,2,2,1],barres:[2],baseFret:1,midi:[71,62,66,70]},{frets:[3,2,2,2],fingers:[2,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,71]},{frets:[1,3,3,2],fingers:[1,3,4,2],baseFret:4,barres:[],midi:[71,66,70,74]},{frets:[1,4,1,3],fingers:[1,4,1,3],barres:[1],capo:!0,baseFret:7,midi:[74,70,71,78]}]},{key:"B",suffix:"mmaj7b5",positions:[{frets:[3,2,1,2],fingers:[4,2,1,3],baseFret:1,barres:[],midi:[70,62,65,71]},{frets:[4,2,1,1],fingers:[4,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[71,62,65,70]},{frets:[1,2,3,2],fingers:[1,2,4,3],baseFret:4,barres:[],midi:[71,65,70,74]},{frets:[1,4,1,2],fingers:[1,4,1,2],barres:[1],capo:!0,baseFret:7,midi:[74,70,71,77]}]},{key:"B",suffix:"mmaj9",positions:[{frets:[3,2,2,4],fingers:[2,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[70,62,66,73]},{frets:[4,3,3,1],fingers:[4,2,3,1],baseFret:4,barres:[],midi:[74,66,70,73]},{frets:[2,2,2,1],fingers:[2,3,4,1],baseFret:5,barres:[],midi:[73,66,70,74]},{frets:[1,4,3,3],fingers:[1,4,2,3],baseFret:7,barres:[],midi:[74,70,73,78]}]},{key:"B",suffix:"mmaj11",positions:[{frets:[3,1,3,2],fingers:[3,1,4,2],baseFret:4,barres:[],midi:[73,64,70,74]},{frets:[4,1,3,1],fingers:[4,1,3,1],barres:[1],capo:!0,baseFret:4,midi:[74,64,70,73]},{frets:[1,4,3,1],fingers:[1,4,3,1],barres:[1],capo:!0,baseFret:7,midi:[74,70,73,76]}]},{key:"B",suffix:"add9",positions:[{frets:[4,3,2,4],fingers:[3,2,1,4],baseFret:1,barres:[],midi:[71,63,66,73]},{frets:[1,1,2,1],fingers:[1,1,2,1],barres:[1],baseFret:6,midi:[73,66,71,75]},{frets:[1,4,2,2],fingers:[1,4,2,2],barres:[2],baseFret:8,midi:[75,71,73,78]},{frets:[1,3,1,4],fingers:[1,3,1,4],barres:[1],capo:!0,baseFret:11,midi:[78,73,75,83]}]},{key:"B",suffix:"madd9",positions:[{frets:[2,0,0,2],fingers:[2,0,0,3],baseFret:1,barres:[],midi:[69,60,64,71]},{frets:[4,3,4,1],fingers:[3,2,4,1],baseFret:2,barres:[],midi:[72,64,69,71]},{frets:[2,2,3,1],fingers:[2,2,3,1],barres:[2],baseFret:3,midi:[71,64,69,72]}]}]}},de={main:{strings:6,fretsOnChord:4,name:"guitar",numberOfChords:2159},tunings:{standard:["E2","A2","D3","G3","B3","E4"]},keys:["A","A#","B","C","C#","D","D#","E","F","F#","G","G#"],suffixes:["major","minor","dim","dim7","sus2","sus4","sus2sus4","7sus4","7/G","alt","aug","5","6","69","7","7b5","aug7","9","9b5","aug9","7b9","7#9","11","9#11","13","maj7","maj7b5","maj7#5","maj9","maj11","maj13","m6","m69","m7","m7b5","m9","m11","mmaj7","mmaj7b5","mmaj9","mmaj11","add9","madd9"],chords:{C:[{key:"C",suffix:"major",positions:[{frets:[-1,3,2,0,1,0],fingers:[0,3,2,0,1,0],baseFret:1,barres:[],midi:[-1,48,52,55,60,64]},{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,48,55,60,64,67]},{frets:[-1,-1,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],baseFret:5,midi:[-1,-1,55,60,64,72]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,60,64,67,72]}]},{key:"C",suffix:"minor",positions:[{frets:[-1,3,1,0,1,3],fingers:[0,3,2,0,1,4],baseFret:1,barres:[],midi:[-1,48,51,55,60,67]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,60,63,67]},{frets:[4,2,1,1,-1,-1],fingers:[4,2,1,1,0,0],barres:[1],baseFret:5,midi:[48,51,55,60,-1,-1]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,60,63,67,72]}]},{key:"C",suffix:"dim",positions:[{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:1,barres:[],midi:[-1,48,51,-1,60,66]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:3,barres:[],midi:[-1,48,54,60,63,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:6,barres:[],midi:[48,51,-1,63,66,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:10,barres:[],midi:[-1,-1,60,66,-1,75]}]},{key:"C",suffix:"dim7",positions:[{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,51,57,60,66]},{frets:[-1,3,4,2,4,2],fingers:[0,2,3,1,4,1],barres:[2],capo:!0,baseFret:1,midi:[-1,48,54,57,63,66]},{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],baseFret:7,midi:[48,-1,57,63,66,-1]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,1,4],barres:[1],baseFret:10,midi:[-1,-1,60,66,69,75]}]},{key:"C",suffix:"sus2",positions:[{frets:[-1,3,0,0,1,3],fingers:[0,3,0,0,1,4],baseFret:1,barres:[],midi:[-1,48,50,55,60,67]},{frets:[-1,3,0,0,3,3],fingers:[0,1,0,0,2,3],baseFret:1,barres:[],midi:[-1,48,50,55,62,67]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,60,62,67]},{frets:[2,-1,0,1,2,2],fingers:[2,0,0,1,3,4],baseFret:7,barres:[],midi:[48,-1,50,62,67,72]}]},{key:"C",suffix:"sus4",positions:[{frets:[-1,3,3,0,1,1],fingers:[0,3,4,0,1,1],barres:[1],baseFret:1,midi:[-1,48,53,55,60,65]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,60,65,67]},{frets:[3,3,-1,0,1,3],fingers:[2,3,0,0,1,4],baseFret:6,barres:[],midi:[48,53,-1,55,65,72]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,60,65,67,72]}]},{key:"C",suffix:"sus2sus4",positions:[{frets:[-1,3,3,0,3,3],fingers:[0,1,2,0,3,4],baseFret:1,barres:[],midi:[-1,48,53,55,62,67]},{frets:[-1,3,0,0,1,1],fingers:[0,3,0,0,1,1],barres:[1],baseFret:1,midi:[-1,48,50,55,60,65]},{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,60,62,67]}]},{key:"C",suffix:"7sus4",positions:[{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,48,53,58,60,65]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,58,65,67]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,55,60,65,70]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,65,67,72]}]},{key:"C",suffix:"alt",positions:[{frets:[-1,2,1,4,4,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:2,midi:[-1,48,52,60,64,66]},{frets:[-1,1,2,3,3,0],fingers:[0,1,2,3,4,0],baseFret:3,barres:[],midi:[-1,48,54,60,64,64]},{frets:[-1,-1,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:7,barres:[],midi:[-1,-1,60,64,66,72]},{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:10,barres:[],midi:[-1,-1,60,66,72,76]}]},{key:"C",suffix:"aug",positions:[{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],baseFret:1,midi:[-1,48,52,56,60,-1]},{frets:[-1,1,4,3,3,-1],fingers:[0,1,4,2,3,0],baseFret:3,barres:[],midi:[-1,48,56,60,64,-1]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],baseFret:5,midi:[48,52,56,60,64,-1]},{frets:[-1,-1,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:8,barres:[],midi:[-1,-1,60,64,68,72]}]},{key:"C",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:8,barres:[],midi:[48,55,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:3,barres:[],midi:[-1,48,55,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:8,barres:[],midi:[48,55,60,-1,-1,-1]}]},{key:"C",suffix:"6",positions:[{frets:[-1,3,2,2,1,0],fingers:[0,4,2,3,1,0],baseFret:1,barres:[],midi:[-1,48,52,57,60,64]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,4],barres:[3],baseFret:3,midi:[-1,48,55,60,64,69]},{frets:[2,-1,1,3,2,-1],fingers:[2,0,1,4,3,0],baseFret:7,barres:[],midi:[48,-1,57,64,67,-1]},{frets:[1,-1,3,2,3,1],fingers:[1,0,3,2,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,-1,60,64,69,72]}]},{key:"C",suffix:"69",positions:[{frets:[-1,3,2,2,3,3],fingers:[0,3,1,1,3,4],barres:[2],capo:!0,baseFret:1,midi:[-1,48,52,57,62,67]},{frets:[-1,1,0,0,3,3],fingers:[0,1,0,0,3,4],baseFret:3,barres:[],midi:[-1,48,50,55,64,69]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:7,midi:[48,52,57,62,67,72]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],baseFret:9,midi:[-1,55,60,64,69,74]}]},{key:"C",suffix:"7",positions:[{frets:[-1,3,2,3,1,0],fingers:[0,3,2,4,1,0],baseFret:1,barres:[],midi:[-1,48,52,58,60,64]},{frets:[-1,1,3,1,3,1],fingers:[0,1,3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,48,55,58,64,67]},{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,55,60,64,70]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,64,67,72]}]},{key:"C",suffix:"7b5",positions:[{frets:[-1,-1,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:1,barres:[],midi:[-1,-1,52,58,60,66]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],baseFret:3,midi:[-1,48,54,58,64,-1]},{frets:[2,-1,2,3,1,0],fingers:[2,0,3,4,1,0],baseFret:7,barres:[],midi:[48,-1,58,64,66,64]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:10,barres:[],midi:[-1,-1,60,66,70,76]}]},{key:"C",suffix:"7/G",positions:[{frets:[3,3,2,3,-1,-1],fingers:[2,3,1,4,0,0],baseFret:1,barres:[],midi:[43,48,52,58,-1,-1]},{frets:[3,1,2,0,1,0],fingers:[4,2,3,0,1,0],baseFret:1,barres:[],midi:[43,46,52,55,60,64]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],baseFret:3,midi:[43,48,55,58,64,67]}]},{key:"C",suffix:"aug7",positions:[{frets:[-1,3,2,3,-1,4],fingers:[0,2,1,3,0,4],baseFret:1,barres:[],midi:[-1,48,52,58,-1,68]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:3,midi:[-1,48,56,58,64,68]},{frets:[1,-1,1,2,2,0],fingers:[1,0,2,3,4,0],baseFret:8,barres:[],midi:[48,-1,58,64,68,64]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:10,barres:[],midi:[-1,-1,60,68,70,76]}]},{key:"C",suffix:"9",positions:[{frets:[0,3,2,0,3,0],fingers:[0,2,3,0,4,0],baseFret:1,barres:[],midi:[40,48,52,55,62,64]},{frets:[3,3,2,3,3,3],fingers:[2,2,1,3,3,4],barres:[3],baseFret:1,midi:[43,48,52,58,62,67]},{frets:[2,1,2,1,2,2],fingers:[2,1,3,1,4,4],barres:[1],capo:!0,baseFret:7,midi:[48,52,58,62,67,72]},{frets:[2,4,2,1,2,4],fingers:[1,3,1,2,1,4],barres:[2],capo:!0,baseFret:7,midi:[48,55,58,62,67,74]},{frets:[-1,-1,2,1,3,2],fingers:[0,0,2,1,4,3],baseFret:9,barres:[],midi:[-1,-1,60,64,70,74]}]},{key:"C",suffix:"9b5",positions:[{frets:[-1,3,2,3,3,2],fingers:[0,2,1,3,4,1],barres:[2],capo:!0,baseFret:1,midi:[-1,48,52,58,62,66]},{frets:[-1,3,4,3,3,0],fingers:[0,1,4,2,3,0],baseFret:1,barres:[],midi:[-1,48,54,58,62,64]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[48,52,58,62,66,72]},{frets:[1,2,1,2,-1,3],fingers:[1,2,1,3,0,4],barres:[1],baseFret:8,midi:[48,54,58,64,-1,74]}]},{key:"C",suffix:"aug9",positions:[{frets:[-1,3,2,3,3,4],fingers:[0,2,1,3,3,4],barres:[3],baseFret:1,midi:[-1,48,52,58,62,68]},{frets:[-1,1,0,1,3,2],fingers:[0,1,0,2,4,3],baseFret:3,barres:[],midi:[-1,48,50,58,64,68]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[46,50,56,60,64,70]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:7,midi:[48,52,58,62,68,-1]}]},{key:"C",suffix:"7b9",positions:[{frets:[-1,3,2,3,2,3],fingers:[0,2,1,3,1,4],barres:[2],capo:!0,baseFret:1,midi:[-1,48,52,58,61,67]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:6,barres:[],midi:[48,52,58,61,-1,-1]},{frets:[1,-1,1,2,1,2],fingers:[1,0,1,2,1,3],barres:[1],capo:!0,baseFret:8,midi:[48,-1,58,64,67,73]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,3,1,4,2],baseFret:9,barres:[],midi:[-1,-1,60,64,70,73]}]},{key:"C",suffix:"7#9",positions:[{frets:[-1,3,2,3,4,-1],fingers:[0,2,1,3,4,0],baseFret:1,barres:[],midi:[-1,48,52,58,63,-1]},{frets:[-1,1,3,1,2,0],fingers:[0,1,3,1,2,0],barres:[1],baseFret:3,midi:[-1,48,55,58,63,64]},{frets:[1,3,1,2,1,4],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,64,67,75]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,2,1,3,4],baseFret:9,barres:[],midi:[-1,-1,60,64,70,75]}]},{key:"C",suffix:"11",positions:[{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,48,52,58,60,65]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,58,64,67]},{frets:[3,2,0,0,1,1],fingers:[3,2,0,0,1,1],barres:[1],baseFret:6,midi:[48,52,50,55,65,70]},{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,64,67,72]}]},{key:"C",suffix:"9#11",positions:[{frets:[-1,3,2,3,3,2],fingers:[0,2,1,3,4,1],barres:[2],capo:!0,baseFret:1,midi:[-1,48,52,58,62,66]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:3,midi:[-1,48,54,58,64,67]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[48,52,58,62,66,72]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:10,barres:[],midi:[-1,-1,60,66,70,76]}]},{key:"C",suffix:"13",positions:[{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:2,midi:[-1,48,52,58,64,69]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:3,midi:[43,48,53,58,64,69]},{frets:[3,2,2,2,3,1],fingers:[3,2,2,2,4,1],barres:[2],baseFret:6,midi:[48,52,57,62,67,70]},{frets:[1,3,1,2,3,1],fingers:[1,3,1,2,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,64,69,72]}]},{key:"C",suffix:"maj7",positions:[{frets:[3,3,2,0,0,0],fingers:[2,3,1,0,0,0],baseFret:1,barres:[],midi:[43,48,52,55,59,64]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,59,64,67]},{frets:[-1,-1,1,1,1,3],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,55,60,64,71]},{frets:[-1,-1,1,3,3,3],fingers:[0,0,1,3,3,3],barres:[3],baseFret:10,midi:[-1,-1,60,67,71,76]}]},{key:"C",suffix:"maj7b5",positions:[{frets:[-1,3,2,4,0,2],fingers:[0,3,1,4,0,2],baseFret:1,barres:[],midi:[-1,48,52,59,59,66]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:3,barres:[],midi:[-1,48,54,59,64,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[48,52,59,64,66,71]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:10,barres:[],midi:[-1,-1,60,66,71,76]}]},{key:"C",suffix:"maj7#5",positions:[{frets:[-1,3,2,1,0,0],fingers:[0,3,2,1,0,0],baseFret:1,barres:[],midi:[-1,48,52,56,59,64]},{frets:[-1,1,4,2,3,0],fingers:[0,1,4,2,3,0],baseFret:3,barres:[],midi:[-1,48,56,59,64,64]},{frets:[4,3,2,1,0,0],fingers:[4,3,2,1,0,0],baseFret:5,barres:[],midi:[48,52,56,60,59,64]},{frets:[1,4,3,2,0,0],fingers:[1,4,3,2,0,0],baseFret:8,barres:[],midi:[48,56,60,64,59,64]}]},{key:"C",suffix:"maj9",positions:[{frets:[-1,3,0,0,0,0],fingers:[0,3,0,0,0,0],baseFret:1,barres:[],midi:[-1,48,50,55,59,64]},{frets:[3,3,2,4,3,-1],fingers:[2,2,1,4,3,0],barres:[3],baseFret:1,midi:[43,48,52,59,62,-1]},{frets:[0,1,1,1,1,3],fingers:[0,1,1,1,1,3],barres:[1],capo:!0,baseFret:5,midi:[40,50,55,60,64,71]},{frets:[1,-1,2,2,1,3],fingers:[1,0,2,3,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,-1,59,64,67,74]}]},{key:"C",suffix:"maj11",positions:[{frets:[-1,3,2,0,0,1],fingers:[0,3,2,0,0,1],baseFret:1,barres:[],midi:[-1,48,52,55,59,65]},{frets:[-1,3,3,0,0,0],fingers:[0,1,1,0,0,0],barres:[3],baseFret:1,midi:[-1,48,53,55,59,64]},{frets:[3,2,4,0,1,0],fingers:[3,2,4,0,1,0],baseFret:6,barres:[],midi:[48,52,59,55,65,64]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,59,64,67,72]}]},{key:"C",suffix:"maj13",positions:[{frets:[-1,3,2,2,0,1],fingers:[0,4,2,3,0,1],baseFret:1,barres:[],midi:[-1,48,52,57,59,65]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],baseFret:3,midi:[-1,48,53,59,64,69]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:7,midi:[48,52,57,62,67,71]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,59,64,69,72]}]},{key:"C",suffix:"m6",positions:[{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[-1,48,51,57,60,67]},{frets:[-1,1,3,-1,2,3],fingers:[0,1,3,0,2,4],baseFret:3,barres:[],midi:[-1,48,55,-1,63,69]},{frets:[2,-1,1,2,2,2],fingers:[2,0,1,3,3,4],barres:[2],baseFret:7,midi:[48,-1,57,63,67,72]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,60,63,69,72]}]},{key:"C",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:8,barres:[],midi:[48,-1,58,63,67,-1]},{frets:[-1,3,1,3,4,-1],fingers:[0,2,1,3,4,0],baseFret:1,barres:[],midi:[-1,48,51,58,63,-1]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,58,63,67]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:4,barres:[],midi:[-1,-1,55,60,63,70]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,63,67,72]}]},{key:"C",suffix:"m7b5",positions:[{frets:[-1,3,4,3,4,-1],fingers:[0,1,3,2,4,0],baseFret:1,barres:[],midi:[-1,48,54,58,63,-1]},{frets:[-1,-1,1,2,1,3],fingers:[0,0,1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,60,63,70]},{frets:[1,2,3,1,4,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,54,60,63,70,72]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,3,3,3],barres:[2],baseFret:10,midi:[-1,-1,60,66,70,75]}]},{key:"C",suffix:"m9",positions:[{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:1,midi:[-1,48,51,58,62,67]},{frets:[-1,3,0,3,4,3],fingers:[0,1,0,2,4,3],baseFret:1,barres:[],midi:[-1,48,50,58,63,67]},{frets:[-1,1,3,2,3,3],fingers:[0,1,3,2,4,4],barres:[3],baseFret:6,midi:[-1,51,58,62,67,72]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,55,58,63,67,74]}]},{key:"C",suffix:"m69",positions:[{frets:[-1,3,1,2,3,3],fingers:[0,3,1,2,4,4],barres:[3],baseFret:1,midi:[-1,48,51,57,62,67]},{frets:[-1,1,0,0,2,3],fingers:[0,1,0,0,2,4],baseFret:3,barres:[],midi:[-1,48,50,55,63,69]},{frets:[3,1,2,2,-1,-1],fingers:[4,1,2,3,0,0],baseFret:6,barres:[],midi:[48,51,57,62,-1,-1]},{frets:[-1,3,3,1,3,3],fingers:[0,2,2,1,3,4],barres:[3],baseFret:8,midi:[-1,55,60,63,69,74]}]},{key:"C",suffix:"m11",positions:[{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,48,51,58,62,65]},{frets:[-1,3,3,3,4,3],fingers:[0,1,1,1,2,1],barres:[3],capo:!0,baseFret:1,midi:[-1,48,53,58,63,67]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[48,51,58,62,65,70]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,63,67,74]}]},{key:"C",suffix:"mmaj7",positions:[{frets:[-1,3,1,0,0,-1],fingers:[0,3,1,0,0,0],baseFret:1,barres:[],midi:[-1,48,51,55,59,-1]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,55,59,63,67]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,55,59,63,67,72]},{frets:[-1,-1,1,3,3,2],fingers:[0,0,1,3,4,2],baseFret:10,barres:[],midi:[-1,-1,60,67,71,75]}]},{key:"C",suffix:"mmaj7b5",positions:[{frets:[-1,3,-1,4,4,2],fingers:[0,2,0,3,4,1],baseFret:1,barres:[],midi:[-1,48,-1,59,63,66]},{frets:[-1,3,4,4,4,-1],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,48,54,59,63,-1]},{frets:[1,2,2,1,-1,1],fingers:[1,2,3,1,0,1],barres:[1],capo:!0,baseFret:8,midi:[48,54,59,63,-1,72]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:10,barres:[],midi:[-1,-1,60,66,71,75]}]},{key:"C",suffix:"mmaj9",positions:[{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:1,barres:[],midi:[-1,48,51,59,62,-1]},{frets:[-1,3,0,4,4,3],fingers:[0,1,0,3,4,2],baseFret:1,barres:[],midi:[-1,48,50,59,63,67]},{frets:[3,1,-1,2,0,3],fingers:[3,1,0,2,0,4],baseFret:6,barres:[],midi:[48,51,-1,62,59,72]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,55,59,63,67,74]}]},{key:"C",suffix:"mmaj11",positions:[{frets:[-1,3,1,0,0,1],fingers:[0,3,1,0,0,2],baseFret:1,barres:[],midi:[-1,48,51,55,59,65]},{frets:[3,3,3,4,4,3],fingers:[1,1,1,2,3,1],barres:[3],capo:!0,baseFret:1,midi:[43,48,53,59,63,67]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[48,53,59,63,67,74]},{frets:[-1,-1,1,1,3,2],fingers:[0,0,1,1,3,2],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,65,71,75]}]},{key:"C",suffix:"add9",positions:[{frets:[-1,3,2,0,3,0],fingers:[0,2,1,0,3,0],baseFret:1,barres:[],midi:[-1,48,52,55,62,64]},{frets:[-1,3,0,0,3,0],fingers:[0,1,0,0,3,0],baseFret:1,barres:[],midi:[-1,48,50,55,62,64]},{frets:[2,1,0,0,2,0],fingers:[2,1,0,0,3,0],baseFret:7,barres:[],midi:[48,52,50,55,67,64]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:8,barres:[],midi:[-1,-1,60,64,67,74]}]},{key:"C",suffix:"madd9",positions:[{frets:[-1,3,1,0,3,3],fingers:[0,2,1,0,3,4],baseFret:1,barres:[],midi:[-1,48,51,55,62,67]},{frets:[-1,1,0,3,2,1],fingers:[0,1,0,4,3,2],baseFret:3,barres:[],midi:[-1,48,50,60,63,67]},{frets:[3,1,0,2,3,3],fingers:[3,1,0,2,4,4],barres:[3],baseFret:6,midi:[48,51,50,62,67,72]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,60,63,67,74]}]},{key:"C",suffix:"/E",positions:[{frets:[0,3,2,0,1,0],fingers:[0,3,2,0,1,0],baseFret:1,barres:[],midi:[40,48,52,55,60,64]},{frets:[0,3,2,0,1,3],fingers:[0,3,2,0,1,4],baseFret:1,barres:[],midi:[40,48,52,55,60,67]},{frets:[-1,3,1,1,4,4],fingers:[0,3,1,1,4,4],barres:[1],baseFret:5,midi:[-1,52,55,60,67,72]}]},{key:"C",suffix:"/F",positions:[{frets:[-1,-1,3,0,1,0],fingers:[0,0,3,0,1,0],baseFret:1,barres:[],midi:[-1,-1,53,55,60,64]},{frets:[1,3,2,0,1,0],fingers:[1,4,3,0,2,0],baseFret:1,barres:[],midi:[41,48,52,55,60,64]},{frets:[-1,-1,1,3,3,1],fingers:[0,0,1,3,4,2],baseFret:3,barres:[],midi:[-1,-1,53,60,64,67]}]},{key:"C",suffix:"/G",positions:[{frets:[3,3,2,0,1,0],fingers:[3,4,2,0,1,0],baseFret:1,barres:[],midi:[43,48,52,55,60,64]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],baseFret:3,midi:[43,48,55,60,64,67]},{frets:[2,2,1,4,4,-1],fingers:[2,3,1,4,4,0],barres:[4],baseFret:2,midi:[43,48,52,60,64,-1]}]}],"C#":[{key:"C#",suffix:"major",positions:[{frets:[-1,4,3,1,2,1],fingers:[0,4,3,1,2,1],barres:[1],baseFret:1,midi:[-1,49,53,56,61,65]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,61,65,68]},{frets:[4,3,1,1,1,4],fingers:[3,2,1,1,1,4],barres:[1],baseFret:6,midi:[49,53,56,61,65,73]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,61,65,68,73]}]},{key:"C#",suffix:"minor",positions:[{frets:[-1,4,2,1,2,-1],fingers:[0,4,2,1,3,0],baseFret:1,barres:[],midi:[-1,49,52,56,61,-1]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,61,64,68]},{frets:[4,2,1,1,-1,4],fingers:[3,2,1,1,0,4],barres:[1],baseFret:6,midi:[49,52,56,61,-1,73]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,61,64,68,73]}]},{key:"C#",suffix:"dim",positions:[{frets:[-1,4,2,-1,2,3],fingers:[0,4,1,0,2,3],baseFret:1,barres:[],midi:[-1,49,52,-1,61,67]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:4,barres:[],midi:[-1,49,55,61,64,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:7,barres:[],midi:[49,52,-1,64,67,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:11,barres:[],midi:[-1,-1,61,67,-1,76]}]},{key:"C#",suffix:"dim7",positions:[{frets:[-1,-1,2,3,2,3],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,52,58,61,67]},{frets:[-1,2,3,1,3,1],fingers:[0,2,3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,49,55,58,64,67]},{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],baseFret:8,midi:[49,-1,58,64,67,-1]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:11,barres:[],midi:[-1,-1,61,67,70,76]}]},{key:"C#",suffix:"sus2",positions:[{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,61,63,68]},{frets:[4,1,1,3,4,-1],fingers:[0,1,0,0,2,3],barres:[1],capo:!0,baseFret:6,midi:[49,51,56,63,68,-1]},{frets:[1,3,3,-1,1,3],fingers:[1,2,3,0,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,56,61,-1,68,75]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,68,73,75]}]},{key:"C#",suffix:"sus4",positions:[{frets:[-1,4,4,1,2,-1],fingers:[0,3,4,1,2,0],baseFret:1,barres:[],midi:[-1,49,54,56,61,-1]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,61,66,68]},{frets:[4,-1,1,1,2,4],fingers:[2,3,0,0,1,4],baseFret:6,barres:[],midi:[49,-1,56,61,66,73]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,61,66,68,73]}]},{key:"C#",suffix:"sus2sus4",positions:[{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,63,68]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,66,68,75]}]},{key:"C#",suffix:"7sus4",positions:[{frets:[-1,4,4,4,2,2],fingers:[0,2,3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[-1,49,54,59,61,66]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,59,66,68]},{frets:[-1,-1,-1,1,2,2],fingers:[0,0,0,1,2,3],baseFret:6,barres:[],midi:[-1,-1,-1,61,66,71]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,66,68,73]}]},{key:"C#",suffix:"alt",positions:[{frets:[-1,4,3,0,2,1],fingers:[0,4,3,0,2,1],baseFret:1,barres:[],midi:[-1,49,53,55,61,65]},{frets:[-1,2,3,0,4,1],fingers:[0,2,3,0,4,1],baseFret:3,barres:[],midi:[-1,49,55,55,65,67]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:4,barres:[],midi:[-1,49,55,61,65,-1]},{frets:[-1,-1,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:8,barres:[],midi:[-1,-1,61,65,67,73]}]},{key:"C#",suffix:"aug",positions:[{frets:[-1,4,4,4,2,2],fingers:[0,2,3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[-1,49,54,59,61,66]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,59,66,68]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:6,midi:[49,53,57,61,65,-1]},{frets:[1,-1,3,2,2,1],fingers:[1,0,4,2,3,1],barres:[1],capo:!0,baseFret:9,midi:[49,-1,61,65,69,73]}]},{key:"C#",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:9,barres:[],midi:[49,56,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:4,barres:[],midi:[-1,49,56,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:9,barres:[],midi:[49,56,61,-1,-1,-1]}]},{key:"C#",suffix:"6",positions:[{frets:[-1,4,3,3,2,-1],fingers:[0,4,2,3,1,0],baseFret:1,barres:[],midi:[-1,49,53,58,61,-1]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,3],barres:[3],baseFret:4,midi:[-1,49,56,61,65,70]},{frets:[4,3,3,1,1,1],fingers:[4,2,3,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[49,53,58,61,65,70]},{frets:[1,-1,3,2,3,1],fingers:[1,0,3,2,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,-1,61,65,70,73]}]},{key:"C#",suffix:"69",positions:[{frets:[-1,4,1,3,2,1],fingers:[0,4,1,3,2,1],barres:[1],capo:!0,baseFret:1,midi:[-1,49,51,58,61,65]},{frets:[-1,4,3,3,4,4],fingers:[0,2,1,1,3,4],barres:[3],capo:!0,baseFret:1,midi:[-1,49,53,58,63,68]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:8,midi:[49,53,58,63,68,73]},{frets:[-1,-1,2,1,2,2],fingers:[0,0,2,1,3,4],baseFret:10,barres:[],midi:[-1,-1,61,65,70,75]}]},{key:"C#",suffix:"7",positions:[{frets:[-1,4,3,4,2,-1],fingers:[0,3,2,4,1,0],baseFret:1,barres:[],midi:[-1,49,53,59,61,-1]},{frets:[-1,1,3,1,3,1],fingers:[0,1,3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,49,56,59,65,68]},{frets:[4,3,1,1,1,2],fingers:[4,3,1,1,1,2],barres:[1],capo:!0,baseFret:6,midi:[49,53,56,61,65,71]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,65,68,73]}]},{key:"C#",suffix:"7b5",positions:[{frets:[-1,4,3,0,0,1],fingers:[0,4,3,0,0,1],baseFret:1,barres:[],midi:[-1,49,53,55,59,65]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:4,midi:[-1,49,55,59,65,-1]},{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:8,barres:[],midi:[49,-1,59,65,67,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:12,barres:[],midi:[-1,-1,62,68,72,78]}]},{key:"C#",suffix:"aug7",positions:[{frets:[-1,4,3,2,0,1],fingers:[0,4,3,2,0,1],baseFret:1,barres:[],midi:[-1,49,53,57,59,65]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:4,midi:[-1,49,57,59,65,69]},{frets:[3,2,1,-1,0,1],fingers:[4,3,1,0,0,2],baseFret:7,barres:[],midi:[49,53,57,-1,59,71]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:9,barres:[],midi:[49,-1,59,65,69,-1]}]},{key:"C#",suffix:"9",positions:[{frets:[4,4,3,4,4,4],fingers:[2,2,1,3,3,4],barres:[4],baseFret:1,midi:[44,49,53,59,63,68]},{frets:[2,1,2,1,-1,-1],fingers:[3,1,4,2,0,0],baseFret:8,barres:[],midi:[49,53,59,63,-1,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,65,68,75]},{frets:[-1,-1,2,1,3,2],fingers:[0,0,2,1,4,3],baseFret:10,barres:[],midi:[-1,-1,61,65,71,75]}]},{key:"C#",suffix:"9b5",positions:[{frets:[-1,4,3,4,4,3],fingers:[0,2,1,3,4,1],barres:[3],capo:!0,baseFret:1,midi:[-1,49,53,59,63,67]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[49,53,59,63,67,73]},{frets:[1,2,-1,2,0,3],fingers:[1,2,0,3,0,4],baseFret:9,barres:[],midi:[49,55,-1,65,59,75]}]},{key:"C#",suffix:"aug9",positions:[{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:3,midi:[-1,49,53,59,63,69]},{frets:[3,2,1,2,0,-1],fingers:[4,2,1,3,0,0],baseFret:7,barres:[],midi:[49,53,57,63,59,-1]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:8,midi:[49,53,59,63,69,-1]},{frets:[1,4,1,2,0,3],fingers:[1,4,1,2,0,3],barres:[1],capo:!0,baseFret:9,midi:[49,57,59,65,59,75]}]},{key:"C#",suffix:"7b9",positions:[{frets:[-1,4,3,4,3,4],fingers:[0,2,1,3,1,4],barres:[3],capo:!0,baseFret:1,midi:[-1,49,53,59,62,68]},{frets:[-1,1,0,1,3,4],fingers:[0,1,0,2,3,4],baseFret:4,barres:[],midi:[-1,49,50,59,65,71]},{frets:[3,2,3,1,0,-1],fingers:[3,2,4,1,0,0],baseFret:7,barres:[],midi:[49,53,59,62,59,-1]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:9,barres:[],midi:[-1,-1,59,65,68,74]}]},{key:"C#",suffix:"7#9",positions:[{frets:[-1,4,3,4,2,0],fingers:[0,3,2,4,1,0],baseFret:1,barres:[],midi:[-1,49,53,59,61,64]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:3,barres:[],midi:[-1,49,53,59,64,-1]},{frets:[-1,1,2,2,2,2],fingers:[0,1,2,2,3,4],barres:[2],baseFret:8,midi:[-1,53,59,64,68,73]},{frets:[1,3,1,2,1,4],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,65,68,76]}]},{key:"C#",suffix:"11",positions:[{frets:[-1,4,3,0,0,4],fingers:[0,2,1,0,0,3],baseFret:1,barres:[],midi:[-1,49,53,55,59,68]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:4,midi:[-1,49,55,59,65,68]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[49,53,59,63,67,73]},{frets:[1,2,1,2,1,1],fingers:[1,2,1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,55,59,65,68,73]}]},{key:"C#",suffix:"9#11",positions:[{frets:[-1,3,2,0,0,3],fingers:[0,2,1,0,0,3],baseFret:1,barres:[],midi:[-1,48,52,55,59,67]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:4,midi:[-1,49,55,59,65,68]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[49,53,59,63,67,73]},{frets:[1,2,1,2,1,1],fingers:[1,2,1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,55,59,65,68,73]}]},{key:"C#",suffix:"13",positions:[{frets:[-1,4,3,3,0,2],fingers:[0,4,2,3,0,1],baseFret:1,barres:[],midi:[-1,49,53,58,59,66]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,59,65,70]},{frets:[3,2,2,2,3,1],fingers:[3,2,2,2,4,1],barres:[2],baseFret:7,midi:[49,53,58,63,68,71]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,65,70,75]}]},{key:"C#",suffix:"maj7",positions:[{frets:[-1,4,3,1,1,1],fingers:[0,4,3,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,49,53,56,60,65]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,60,65,68]},{frets:[-1,-1,-1,1,1,3],fingers:[0,0,0,1,1,3],barres:[1],baseFret:6,midi:[-1,-1,-1,61,65,72]},{frets:[1,-1,2,2,1,-1],fingers:[1,0,3,4,2,0],baseFret:9,barres:[],midi:[49,-1,60,65,68,-1]}]},{key:"C#",suffix:"maj7b5",positions:[{frets:[-1,2,1,3,4,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,49,53,60,65,67]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:4,barres:[],midi:[-1,49,55,60,65,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[49,53,60,65,67,72]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:11,barres:[],midi:[-1,-1,61,67,72,77]}]},{key:"C#",suffix:"maj7#5",positions:[{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,49,53,57,60,65]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:4,barres:[],midi:[-1,49,57,60,65,-1]},{frets:[-1,-1,4,3,3,1],fingers:[0,0,4,2,3,1],baseFret:8,barres:[],midi:[-1,-1,61,65,69,72]},{frets:[-1,-1,1,4,3,3],fingers:[0,0,1,4,2,3],baseFret:11,barres:[],midi:[-1,-1,61,69,72,77]}]},{key:"C#",suffix:"maj9",positions:[{frets:[-1,4,1,1,1,1],fingers:[0,4,1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,49,51,56,60,65]},{frets:[-1,2,1,3,2,-1],fingers:[0,2,1,4,3,0],baseFret:3,barres:[],midi:[-1,49,53,60,63,-1]},{frets:[2,1,3,1,2,1],fingers:[2,1,4,1,3,1],barres:[1],capo:!0,baseFret:8,midi:[49,53,60,63,68,72]},{frets:[-1,-1,2,1,4,2],fingers:[0,0,2,1,4,3],baseFret:10,barres:[],midi:[-1,-1,61,65,72,75]}]},{key:"C#",suffix:"maj11",positions:[{frets:[-1,3,2,4,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:2,midi:[-1,49,53,60,61,66]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,60,65,68]},{frets:[3,2,-1,-1,1,2],fingers:[4,2,0,0,1,3],baseFret:7,barres:[],midi:[49,53,-1,-1,66,72]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,60,65,68,73]}]},{key:"C#",suffix:"maj13",positions:[{frets:[-1,4,1,3,1,1],fingers:[0,4,2,3,0,1],baseFret:1,barres:[],midi:[-1,49,51,58,60,65]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,60,65,70]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:8,midi:[49,53,58,63,68,72]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,60,65,70,73]}]},{key:"C#",suffix:"m6",positions:[{frets:[-1,4,2,3,2,4],fingers:[0,3,1,2,1,4],barres:[2],capo:!0,baseFret:1,midi:[-1,49,52,58,61,68]},{frets:[-1,-1,2,2,1,2],fingers:[0,0,2,3,1,4],baseFret:5,barres:[],midi:[-1,-1,56,61,64,70]},{frets:[2,-1,1,2,2,-1],fingers:[2,0,1,3,4,0],baseFret:8,barres:[],midi:[49,-1,58,64,68,-1]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,61,64,70,73]}]},{key:"C#",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:9,barres:[],midi:[49,-1,59,64,68,-1]},{frets:[-1,1,3,1,2,1],fingers:[0,1,3,1,2,1],barres:[1],capo:!0,baseFret:4,midi:[-1,49,56,59,64,68]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:5,barres:[],midi:[-1,-1,56,61,64,71]},{frets:[1,3,1,1,1,1],fingers:[1,4,1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,64,68,73]},{frets:[-1,-1,1,3,2,2],fingers:[0,0,1,4,2,3],baseFret:11,barres:[],midi:[-1,-1,61,68,71,76]}]},{key:"C#",suffix:"m7b5",positions:[{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:4,barres:[],midi:[-1,49,55,59,64,-1]},{frets:[-1,-1,1,2,1,3],fingers:[0,0,1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,55,61,64,71]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:8,barres:[],midi:[49,-1,59,64,67,-1]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:11,midi:[-1,-1,61,67,71,76]}]},{key:"C#",suffix:"m9",positions:[{frets:[-1,4,2,4,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:1,midi:[-1,49,52,59,63,68]},{frets:[-1,2,2,2,1,3],fingers:[0,2,2,3,1,4],barres:[2],baseFret:5,midi:[-1,51,56,61,64,71]},{frets:[-1,1,3,2,3,3],fingers:[0,1,3,2,4,4],barres:[3],baseFret:7,midi:[-1,52,59,63,68,73]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,56,59,64,68,75]}]},{key:"C#",suffix:"m69",positions:[{frets:[-1,4,1,3,2,0],fingers:[0,4,1,3,2,0],baseFret:1,barres:[],midi:[-1,49,51,58,61,64]},{frets:[-1,4,2,3,4,-1],fingers:[0,3,1,2,4,0],baseFret:1,barres:[],midi:[-1,49,52,58,63,-1]},{frets:[3,1,2,2,-1,0],fingers:[4,1,2,3,0,0],baseFret:7,barres:[],midi:[49,52,58,63,-1,64]},{frets:[-1,3,3,1,3,3],fingers:[0,2,2,1,3,4],barres:[3],baseFret:9,midi:[-1,56,61,64,70,75]}]},{key:"C#",suffix:"m11",positions:[{frets:[-1,4,2,4,2,2],fingers:[0,2,1,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[-1,49,52,59,61,66]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[49,52,59,63,66,71]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,64,68,75]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],baseFret:11,midi:[-1,-1,61,66,71,76]}]},{key:"C#",suffix:"mmaj7",positions:[{frets:[-1,4,2,1,1,-1],fingers:[0,4,2,1,1,0],barres:[1],baseFret:1,midi:[-1,49,52,56,60,-1]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,56,60,64,68]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,56,60,64,68,73]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:11,midi:[-1,56,61,68,72,76]}]},{key:"C#",suffix:"mmaj7b5",positions:[{frets:[-1,4,2,0,1,0],fingers:[0,4,2,0,1,0],baseFret:1,barres:[],midi:[-1,49,52,55,60,64]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:4,barres:[],midi:[-1,49,55,60,64,-1]},{frets:[1,2,2,1,-1,1],fingers:[1,2,2,1,0,1],barres:[1],capo:!0,baseFret:9,midi:[49,55,60,64,-1,73]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:11,barres:[],midi:[-1,-1,61,67,72,76]}]},{key:"C#",suffix:"mmaj9",positions:[{frets:[-1,4,1,1,1,0],fingers:[0,4,1,1,1,0],barres:[1],capo:!0,baseFret:1,midi:[-1,49,51,56,60,64]},{frets:[-1,3,1,4,3,0],fingers:[0,2,1,4,3,0],baseFret:2,barres:[],midi:[-1,49,52,60,63,64]},{frets:[1,1,3,2,1,0],fingers:[1,1,4,3,2,0],barres:[1],baseFret:4,midi:[44,49,56,60,63,64]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,56,60,64,68,75]}]},{key:"C#",suffix:"mmaj11",positions:[{frets:[-1,3,1,4,3,1],fingers:[0,3,1,4,3,1],barres:[1],capo:!0,baseFret:2,midi:[-1,49,52,60,63,66]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,60,64,68]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[49,54,60,64,68,75]},{frets:[-1,-1,1,1,3,2],fingers:[0,0,1,1,3,2],barres:[1],capo:!0,baseFret:11,midi:[-1,-1,61,66,72,76]}]},{key:"C#",suffix:"add9",positions:[{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,49,53,56,63,65]},{frets:[-1,4,3,-1,4,4],fingers:[0,2,1,0,3,4],baseFret:1,barres:[],midi:[-1,49,53,-1,63,68]},{frets:[2,1,-1,1,2,-1],fingers:[3,1,0,2,4,0],baseFret:8,barres:[],midi:[49,53,-1,63,68,-1]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:9,barres:[],midi:[-1,-1,61,65,68,75]}]},{key:"C#",suffix:"madd9",positions:[{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:1,barres:[],midi:[-1,49,52,56,63,-1]},{frets:[-1,1,3,3,1,0],fingers:[0,1,3,4,2,0],baseFret:4,barres:[],midi:[-1,49,56,61,63,64]},{frets:[3,1,-1,2,3,0],fingers:[3,1,0,2,4,0],baseFret:7,barres:[],midi:[49,52,-1,63,68,64]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,61,64,68,75]}]}],D:[{key:"D",suffix:"major",positions:[{frets:[-1,-1,0,2,3,2],fingers:[0,0,0,1,3,2],baseFret:1,barres:[],midi:[-1,-1,50,57,62,66]},{frets:[-1,4,3,1,2,1],fingers:[0,4,3,1,2,1],barres:[1],capo:!0,baseFret:2,midi:[-1,50,54,57,62,66]},{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,50,57,62,66,69]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,62,66,69,74]}]},{key:"D",suffix:"minor",positions:[{frets:[-1,-1,0,2,3,1],fingers:[0,0,0,2,3,1],baseFret:1,barres:[],midi:[-1,-1,50,57,62,65]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,62,65,69]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:6,barres:[],midi:[-1,53,57,62,65,-1]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,62,65,69,74]}]},{key:"D",suffix:"dim",positions:[{frets:[-1,-1,0,1,-1,1],fingers:[0,0,0,1,0,2],baseFret:1,barres:[],midi:[-1,-1,50,56,-1,65]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:3,barres:[],midi:[-1,50,53,-1,62,68]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:5,barres:[],midi:[-1,50,56,62,65,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:8,barres:[],midi:[50,53,-1,65,68,-1]}]},{key:"D",suffix:"dim7",positions:[{frets:[-1,-1,0,1,0,1],fingers:[0,0,0,2,0,3],baseFret:1,barres:[],midi:[-1,-1,50,56,59,65]},{frets:[-1,2,3,1,3,1],fingers:[0,2,3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,50,56,59,65,68]},{frets:[-1,2,0,4,3,1],fingers:[0,2,0,4,3,1],baseFret:7,barres:[],midi:[-1,53,50,65,68,71]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[50,56,62,65,71,74]}]},{key:"D",suffix:"sus2",positions:[{frets:[-1,-1,0,2,3,0],fingers:[0,0,0,2,3,0],baseFret:1,barres:[],midi:[-1,-1,50,57,62,64]},{frets:[-1,-1,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],baseFret:2,midi:[-1,-1,52,57,62,69]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,62,64,69]},{frets:[-1,1,1,1,4,4],fingers:[0,1,1,1,4,4],barres:[1,4],capo:!0,baseFret:7,midi:[-1,52,57,62,69,74]}]},{key:"D",suffix:"sus4",positions:[{frets:[-1,-1,0,2,3,3],fingers:[0,0,0,1,2,3],baseFret:1,barres:[],midi:[-1,-1,50,57,62,67]},{frets:[-1,3,0,0,1,3],fingers:[0,3,0,0,1,4],baseFret:3,barres:[],midi:[-1,50,50,55,62,69]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,62,67,69]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,62,67,69,74]}]},{key:"D",suffix:"sus2sus4",positions:[{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,64,69]},{frets:[-1,4,1,1,2,2],fingers:[0,4,1,1,2,2],barres:[1,2],baseFret:2,midi:[-1,50,52,57,62,67]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,67,69,76]}]},{key:"D",suffix:"7sus4",positions:[{frets:[-1,-1,0,2,1,3],fingers:[0,0,0,2,1,4],baseFret:1,barres:[],midi:[-1,-1,50,57,60,67]},{frets:[-1,3,3,3,1,-1],fingers:[0,2,3,4,1,0],baseFret:3,barres:[],midi:[-1,50,55,60,62,-1]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,60,67,69]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,67,69,74]}]},{key:"D",suffix:"alt",positions:[{frets:[-1,-1,0,1,3,2],fingers:[0,0,0,1,3,2],baseFret:1,barres:[],midi:[-1,-1,50,56,62,66]},{frets:[-1,3,2,-1,1,2],fingers:[0,4,2,0,1,3],baseFret:3,barres:[],midi:[-1,50,54,-1,62,68]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:5,barres:[],midi:[-1,50,56,62,66,-1]},{frets:[-1,3,0,3,1,2],fingers:[0,3,0,4,1,2],baseFret:9,barres:[],midi:[-1,56,50,66,68,74]}]},{key:"D",suffix:"aug",positions:[{frets:[-1,-1,0,3,3,2],fingers:[0,0,0,2,3,1],baseFret:1,barres:[],midi:[-1,-1,50,58,62,66]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],baseFret:3,midi:[-1,50,54,58,62,-1]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],baseFret:7,midi:[50,54,58,62,66,-1]},{frets:[1,-1,3,2,2,-1],fingers:[1,0,4,2,3,0],baseFret:10,barres:[],midi:[50,-1,62,66,70,-1]}]},{key:"D",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:10,barres:[],midi:[50,57,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:5,barres:[],midi:[-1,50,57,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:10,barres:[],midi:[50,57,62,-1,-1,-1]}]},{key:"D",suffix:"6",positions:[{frets:[-1,-1,0,2,0,2],fingers:[0,0,0,2,0,3],baseFret:1,barres:[],midi:[-1,-1,50,57,59,66]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:3,barres:[],midi:[-1,50,54,59,62,-1]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,4],barres:[3],baseFret:5,midi:[-1,50,57,62,66,71]},{frets:[1,3,1,1,4,1],fingers:[1,3,1,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,62,69,71]}]},{key:"D",suffix:"69",positions:[{frets:[-1,4,3,1,0,0],fingers:[0,4,3,1,0,0],baseFret:2,barres:[],midi:[-1,50,54,57,59,64]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],baseFret:4,midi:[-1,50,54,59,64,69]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:9,midi:[50,54,59,64,69,74]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],baseFret:11,midi:[-1,57,62,66,71,76]}]},{key:"D",suffix:"7",positions:[{frets:[-1,-1,0,2,1,2],fingers:[0,0,0,2,1,3],baseFret:1,barres:[],midi:[-1,-1,50,57,60,66]},{frets:[-1,3,2,3,1,-1],fingers:[0,3,2,4,1,0],baseFret:3,barres:[],midi:[-1,50,54,60,62,-1]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,60,66,69]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,66,69,74]}]},{key:"D",suffix:"7b5",positions:[{frets:[-1,-1,0,1,1,2],fingers:[0,0,0,1,1,2],barres:[1],baseFret:1,midi:[-1,-1,50,56,60,66]},{frets:[-1,-1,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:3,barres:[],midi:[-1,-1,54,60,62,68]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],baseFret:5,midi:[-1,50,56,60,66,-1]},{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:9,barres:[],midi:[50,-1,60,66,68,-1]}]},{key:"D",suffix:"aug7",positions:[{frets:[-1,-1,0,3,1,2],fingers:[0,0,0,4,1,2],baseFret:1,barres:[],midi:[-1,-1,50,58,60,66]},{frets:[-1,2,1,2,-1,3],fingers:[0,2,1,3,0,4],baseFret:4,barres:[],midi:[-1,50,54,60,-1,70]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:5,midi:[-1,50,58,60,66,70]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:10,barres:[],midi:[50,-1,60,66,70,-1]}]},{key:"D",suffix:"9",positions:[{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:4,midi:[45,50,54,60,64,69]},{frets:[-1,1,0,1,1,2],fingers:[0,1,0,2,3,4],baseFret:7,barres:[],midi:[-1,52,50,62,66,72]},{frets:[2,1,2,1,2,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:9,midi:[50,54,60,64,69,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,66,69,76]}]},{key:"D",suffix:"9b5",positions:[{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,50,54,60,64,68]},{frets:[-1,1,2,1,3,0],fingers:[0,1,3,2,4,0],baseFret:5,barres:[],midi:[-1,50,56,60,66,64]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[50,54,60,64,68,74]},{frets:[1,2,1,2,-1,3],fingers:[1,2,1,3,0,4],barres:[1],baseFret:10,midi:[50,56,60,66,-1,76]}]},{key:"D",suffix:"aug9",positions:[{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:4,midi:[-1,50,54,60,64,70]},{frets:[-1,3,0,1,3,2],fingers:[0,3,0,1,4,2],baseFret:5,barres:[],midi:[-1,52,50,60,66,70]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:9,midi:[50,54,60,64,70,-1]},{frets:[1,-1,1,2,2,0],fingers:[1,0,2,3,4,0],baseFret:10,barres:[],midi:[50,-1,60,66,70,64]}]},{key:"D",suffix:"7b9",positions:[{frets:[-1,-1,0,4,3,1],fingers:[0,0,0,4,3,1],baseFret:2,barres:[],midi:[-1,-1,50,60,63,66]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,50,54,60,63,69]},{frets:[-1,2,0,1,3,1],fingers:[0,2,0,1,4,1],barres:[1],baseFret:5,midi:[-1,51,50,60,66,69]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:8,barres:[],midi:[50,54,60,63,-1,-1]}]},{key:"D",suffix:"7#9",positions:[{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:4,barres:[],midi:[-1,50,54,60,65,-1]},{frets:[0,0,0,4,1,2],fingers:[0,0,0,4,1,2],baseFret:7,barres:[],midi:[40,45,50,65,66,72]},{frets:[-1,2,1,1,1,2],fingers:[0,2,1,1,1,3],barres:[1],capo:!0,baseFret:7,midi:[-1,53,57,62,66,72]},{frets:[1,3,1,2,1,4],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,66,69,77]}]},{key:"D",suffix:"11",positions:[{frets:[-1,-1,0,0,1,2],fingers:[0,0,0,0,1,2],baseFret:1,barres:[],midi:[-1,-1,50,55,60,66]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[-1,50,54,60,62,67]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,60,66,69]},{frets:[-1,3,1,1,2,2],fingers:[1,1,1,2,1,1],barres:[2],capo:!0,baseFret:7,midi:[-1,54,57,62,67,72]}]},{key:"D",suffix:"9#11",positions:[{frets:[-1,-1,0,1,1,2],fingers:[0,0,0,1,2,3],baseFret:1,barres:[],midi:[-1,-1,50,56,60,66]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,50,54,60,64,68]},{frets:[-1,3,0,1,3,2],fingers:[0,3,0,1,4,2],baseFret:7,barres:[],midi:[-1,54,50,62,68,72]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:9,midi:[50,54,60,64,68,74]}]},{key:"D",suffix:"13",positions:[{frets:[-1,-1,0,4,1,2],fingers:[0,0,0,4,1,2],baseFret:1,barres:[],midi:[-1,-1,50,59,60,66]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,60,66,71]},{frets:[3,2,0,2,0,1],fingers:[4,2,0,3,0,1],baseFret:8,barres:[],midi:[50,54,50,64,59,72]},{frets:[1,-1,1,2,3,-1],fingers:[1,0,2,3,4,0],baseFret:10,barres:[],midi:[50,-1,60,66,71,-1]}]},{key:"D",suffix:"maj7",positions:[{frets:[-1,-1,0,2,2,2],fingers:[0,0,0,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[-1,-1,50,57,61,66]},{frets:[-1,4,3,1,1,1],fingers:[0,4,3,1,1,1],barres:[1],capo:!0,baseFret:2,midi:[-1,50,54,57,61,66]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,61,66,69]},{frets:[-1,-1,1,1,1,3],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[-1,-1,57,62,66,73]}]},{key:"D",suffix:"maj7b5",positions:[{frets:[-1,-1,0,1,2,2],fingers:[0,0,0,1,2,3],baseFret:1,barres:[],midi:[-1,-1,50,56,61,66]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:5,barres:[],midi:[-1,50,56,61,66,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[50,54,61,66,68,73]},{frets:[1,2,2,2,-1,1],fingers:[1,2,3,4,0,1],barres:[1],capo:!0,baseFret:10,midi:[50,56,61,66,-1,74]}]},{key:"D",suffix:"maj7#5",positions:[{frets:[-1,-1,0,3,2,2],fingers:[0,0,0,4,2,3],baseFret:1,barres:[],midi:[-1,-1,50,58,61,66]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:2,midi:[42,50,54,58,61,66]},{frets:[-1,1,0,2,3,2],fingers:[0,1,0,2,4,3],baseFret:5,barres:[],midi:[-1,50,50,61,66,70]},{frets:[-1,-1,0,3,3,1],fingers:[0,0,0,2,3,1],baseFret:9,barres:[],midi:[-1,-1,50,66,70,73]}]},{key:"D",suffix:"maj9",positions:[{frets:[-1,4,1,1,1,1],fingers:[0,4,1,1,1,1],barres:[1],capo:!0,baseFret:2,midi:[-1,50,52,57,61,66]},{frets:[-1,2,1,3,1,-1],fingers:[0,2,1,4,3,0],baseFret:4,barres:[],midi:[-1,50,54,61,63,-1]},{frets:[-1,3,0,3,1,3],fingers:[0,2,0,3,1,4],baseFret:7,barres:[],midi:[-1,54,50,64,66,73]},{frets:[1,-1,2,2,1,3],fingers:[1,0,2,3,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,-1,61,66,69,76]}]},{key:"D",suffix:"maj11",positions:[{frets:[-1,-1,0,0,2,2],fingers:[0,0,0,0,1,1],barres:[2],baseFret:1,midi:[-1,-1,50,55,61,66]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,61,66,69]},{frets:[-1,3,0,1,2,3],fingers:[0,3,0,1,2,4],baseFret:7,barres:[],midi:[-1,54,50,62,67,73]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,61,66,69,74]}]},{key:"D",suffix:"maj13",positions:[{frets:[-1,-1,0,4,2,2],fingers:[0,0,0,3,1,1],barres:[2],baseFret:1,midi:[-1,-1,50,59,61,66]},{frets:[-1,4,3,3,1,0],fingers:[0,4,2,3,1,0],baseFret:2,barres:[],midi:[-1,50,54,59,61,64]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],baseFret:5,midi:[-1,50,55,61,66,71]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:9,midi:[50,54,59,64,69,73]}]},{key:"D",suffix:"m6",positions:[{frets:[-1,-1,0,2,0,1],fingers:[0,0,0,2,0,1],baseFret:1,barres:[],midi:[-1,-1,50,57,59,65]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:3,midi:[-1,50,53,59,62,69]},{frets:[-1,1,3,-1,2,3],fingers:[0,1,3,0,2,4],baseFret:5,barres:[],midi:[-1,50,57,-1,65,71]},{frets:[2,-1,1,2,2,2],fingers:[2,0,1,3,3,3],barres:[2],baseFret:9,midi:[50,-1,59,65,69,74]}]},{key:"D",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:10,barres:[],midi:[50,-1,60,65,69,-1]},{frets:[-1,-1,0,2,1,1],fingers:[0,0,0,3,1,2],baseFret:1,barres:[],midi:[-1,-1,50,57,60,65]},{frets:[-1,1,3,1,2,1],fingers:[0,1,3,1,2,1],barres:[1],baseFret:5,midi:[-1,50,57,60,65,69]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:6,barres:[],midi:[-1,-1,57,62,65,72]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,65,69,74]}]},{key:"D",suffix:"m7b5",positions:[{frets:[-1,-1,0,1,1,1],fingers:[0,0,0,1,1,1],barres:[1],baseFret:1,midi:[-1,-1,50,56,60,65]},{frets:[-1,3,1,3,1,2],fingers:[0,3,1,4,1,2],barres:[1],baseFret:3,midi:[-1,50,53,60,62,68]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:5,barres:[],midi:[-1,50,56,60,65,-1]},{frets:[-1,1,0,3,2,1],fingers:[0,1,0,4,3,2],baseFret:8,barres:[],midi:[-1,53,50,65,68,72]}]},{key:"D",suffix:"m9",positions:[{frets:[1,0,0,2,1,0],fingers:[1,0,0,3,2,0],baseFret:1,barres:[],midi:[41,45,50,57,60,64]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:3,midi:[-1,50,53,60,64,69]},{frets:[-1,1,3,1,2,0],fingers:[0,1,4,2,3,0],baseFret:5,barres:[],midi:[-1,50,57,60,65,64]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,57,60,65,69,76]}]},{key:"D",suffix:"m69",positions:[{frets:[-1,4,2,1,0,0],fingers:[0,4,2,1,0,0],baseFret:2,barres:[],midi:[-1,50,53,57,59,64]},{frets:[-1,3,1,2,3,0],fingers:[0,3,1,2,4,0],baseFret:3,barres:[],midi:[-1,50,53,59,64,64]},{frets:[-1,2,0,2,1,2],fingers:[0,2,0,3,1,4],baseFret:6,barres:[],midi:[-1,52,50,62,65,71]},{frets:[-1,3,3,1,3,3],fingers:[0,2,2,1,3,4],barres:[3],baseFret:10,midi:[-1,57,62,65,71,76]}]},{key:"D",suffix:"m11",positions:[{frets:[-1,-1,0,0,1,1],fingers:[0,0,0,0,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,50,55,60,65]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,50,53,60,64,67]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[50,53,60,64,67,72]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,55,60,65,69,76]}]},{key:"D",suffix:"mmaj7",positions:[{frets:[-1,-1,0,2,2,1],fingers:[0,0,0,2,3,1],baseFret:1,barres:[],midi:[-1,-1,50,57,61,65]},{frets:[-1,4,2,1,1,0],fingers:[0,4,2,1,1,0],barres:[1],baseFret:2,midi:[-1,50,53,57,61,64]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,61,65,69]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,57,61,65,69,74]}]},{key:"D",suffix:"mmaj7b5",positions:[{frets:[-1,-1,0,1,2,1],fingers:[0,0,0,1,3,2],baseFret:1,barres:[],midi:[-1,-1,50,56,61,65]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:4,midi:[44,50,56,61,65,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:5,barres:[],midi:[-1,50,56,61,65,-1]},{frets:[1,2,2,1,-1,1],fingers:[1,2,2,1,0,1],barres:[1],capo:!0,baseFret:10,midi:[50,56,61,65,-1,74]}]},{key:"D",suffix:"mmaj9",positions:[{frets:[-1,3,1,4,3,0],fingers:[0,2,1,4,3,0],baseFret:3,barres:[],midi:[-1,50,53,61,64,64]},{frets:[-1,3,0,2,2,1],fingers:[0,4,0,2,3,1],baseFret:5,barres:[],midi:[-1,52,50,61,65,69]},{frets:[-1,1,0,2,3,2],fingers:[0,1,0,2,4,3],baseFret:8,barres:[],midi:[-1,53,50,64,69,73]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,57,61,65,69,76]}]},{key:"D",suffix:"mmaj11",positions:[{frets:[-1,-1,0,0,2,1],fingers:[0,0,0,0,2,1],baseFret:1,barres:[],midi:[-1,-1,50,55,61,65]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:3,midi:[-1,50,53,61,64,67]},{frets:[1,1,1,3,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,62,66,69]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[50,55,61,65,69,76]}]},{key:"D",suffix:"add9",positions:[{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],baseFret:2,midi:[-1,50,54,57,64,66]},{frets:[-1,1,3,3,3,0],fingers:[0,1,2,3,4,0],baseFret:5,barres:[],midi:[-1,50,57,62,66,64]},{frets:[-1,-1,0,3,1,4],fingers:[0,0,0,3,1,4],baseFret:7,barres:[],midi:[-1,-1,50,64,66,74]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:10,barres:[],midi:[-1,-1,62,66,69,76]}]},{key:"D",suffix:"madd9",positions:[{frets:[-1,4,2,1,2,0],fingers:[0,4,2,1,3,0],baseFret:2,barres:[],midi:[-1,50,53,57,62,64]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:2,barres:[],midi:[-1,50,53,57,64,-1]},{frets:[-1,1,3,3,2,0],fingers:[0,1,3,4,2,0],baseFret:5,barres:[],midi:[-1,50,57,62,65,64]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,62,65,69,76]}]},{key:"D",suffix:"/F#",positions:[{frets:[2,0,0,2,3,2],fingers:[1,0,0,2,4,3],baseFret:1,barres:[],midi:[42,45,50,57,62,66]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],baseFret:2,midi:[42,50,54,57,62,66]},{frets:[-1,-1,3,1,2,4],fingers:[0,0,3,1,2,4],baseFret:2,barres:[],midi:[-1,-1,54,57,62,69]}]},{key:"D",suffix:"/A",positions:[{frets:[-1,0,0,2,3,2],fingers:[0,0,0,1,3,2],baseFret:1,barres:[],midi:[-1,45,50,57,62,66]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],baseFret:5,midi:[45,50,57,62,66,69]},{frets:[2,2,1,4,4,-1],fingers:[2,3,1,4,4,0],barres:[4],baseFret:4,midi:[45,50,54,62,66,-1]}]},{key:"D",suffix:"/Bb",positions:[{frets:[-1,1,0,2,3,2],fingers:[0,1,0,2,4,3],baseFret:1,barres:[],midi:[-1,46,50,57,62,66]},{frets:[-1,1,4,2,3,2],fingers:[0,1,4,2,3,2],barres:[2],baseFret:1,midi:[-1,46,54,57,62,66]},{frets:[2,1,3,3,3,-1],fingers:[2,1,3,3,3,0],barres:[3],baseFret:5,midi:[46,50,57,62,66,-1]}]},{key:"D",suffix:"/B",positions:[{frets:[-1,2,0,2,3,2],fingers:[0,1,0,2,4,3],baseFret:1,barres:[],midi:[-1,47,50,57,62,66]},{frets:[-1,2,4,2,3,2],fingers:[0,1,3,1,2,1],barres:[2],baseFret:1,midi:[-1,47,54,57,62,66]},{frets:[-1,1,3,1,2,4],fingers:[0,1,3,1,2,4],barres:[1],baseFret:2,midi:[-1,47,54,57,62,69]}]},{key:"D",suffix:"/C",positions:[{frets:[-1,3,0,2,3,2],fingers:[0,3,0,1,4,2],baseFret:1,barres:[],midi:[-1,48,50,57,62,66]},{frets:[-1,3,4,2,3,2],fingers:[0,2,4,1,3,1],barres:[2],baseFret:1,midi:[-1,48,54,57,62,66]},{frets:[4,1,3,3,3,-1],fingers:[4,1,3,3,3,0],barres:[3],baseFret:5,midi:[48,50,57,62,66,-1]}]}],"D#":[{key:"D#",suffix:"major",positions:[{frets:[-1,-1,1,3,4,3],fingers:[0,0,1,2,4,3],baseFret:1,barres:[],midi:[-1,-1,51,58,63,67]},{frets:[-1,4,3,1,2,1],fingers:[0,4,3,1,2,1],barres:[1],baseFret:3,midi:[-1,51,55,58,63,67]},{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,51,58,63,67,70]},{frets:[-1,-1,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,58,63,67,75]}]},{key:"D#",suffix:"minor",positions:[{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:1,barres:[],midi:[-1,-1,51,58,63,66]},{frets:[-1,-1,4,3,4,2],fingers:[0,0,3,2,4,1],baseFret:1,barres:[],midi:[-1,-1,54,58,63,66]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,63,66,70]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,63,66,70,75]}]},{key:"D#",suffix:"dim",positions:[{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:1,barres:[],midi:[-1,-1,51,57,-1,66]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:4,barres:[],midi:[-1,51,54,-1,63,69]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:6,barres:[],midi:[-1,51,57,63,66,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:9,barres:[],midi:[51,54,-1,66,69,-1]}]},{key:"D#",suffix:"dim7",positions:[{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,51,57,60,66]},{frets:[-1,2,3,1,3,1],fingers:[0,2,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,51,57,60,66,69]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:7,barres:[],midi:[-1,-1,57,63,66,72]},{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],baseFret:10,midi:[51,-1,60,66,69,-1]}]},{key:"D#",suffix:"sus2",positions:[{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[41,46,51,58,63,65]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,63,65,70]},{frets:[4,1,1,3,4,-1],fingers:[3,1,1,2,4,0],barres:[1],capo:!0,baseFret:8,midi:[51,53,58,65,70,-1]},{frets:[1,3,3,-1,1,3],fingers:[1,2,3,0,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,58,63,-1,70,77]}]},{key:"D#",suffix:"sus4",positions:[{frets:[-1,-1,1,3,4,4],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,51,58,63,68]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,63,68,70]},{frets:[-1,-1,1,1,2,-1],fingers:[0,0,1,1,2,0],barres:[1],baseFret:8,midi:[-1,-1,58,63,68,-1]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,63,68,70,75]}]},{key:"D#",suffix:"sus2sus4",positions:[{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,65,70]},{frets:[-1,4,1,1,2,2],fingers:[0,4,1,1,2,2],barres:[1,2],baseFret:3,midi:[-1,51,53,58,63,68]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,68,70,77]}]},{key:"D#",suffix:"7sus4",positions:[{frets:[-1,-1,1,3,2,4],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,51,58,61,68]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[-1,51,56,61,63,68]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,61,68,70]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,61,68,70,75]}]},{key:"D#",suffix:"alt",positions:[{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:1,barres:[],midi:[-1,-1,51,57,63,67]},{frets:[-1,3,2,0,1,2],fingers:[0,4,2,0,1,3],baseFret:4,barres:[],midi:[-1,51,55,55,63,69]},{frets:[-1,1,2,0,3,-1],fingers:[0,1,2,0,3,0],baseFret:6,barres:[],midi:[-1,51,57,55,67,-1]},{frets:[2,1,-1,3,1,2],fingers:[2,1,0,4,1,3],barres:[1],capo:!0,baseFret:10,midi:[51,55,-1,67,69,75]}]},{key:"D#",suffix:"aug",positions:[{frets:[-1,-1,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:3,barres:[],midi:[-1,-1,55,59,63,67]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:4,midi:[-1,51,55,59,63,-1]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:8,midi:[51,55,59,63,67,-1]},{frets:[1,-1,3,2,2,-1],fingers:[1,0,4,2,3,0],baseFret:11,barres:[],midi:[51,-1,63,67,71,-1]}]},{key:"D#",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:11,barres:[],midi:[51,58,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:6,barres:[],midi:[-1,51,58,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:11,barres:[],midi:[51,58,63,-1,-1,-1]}]},{key:"D#",suffix:"6",positions:[{frets:[-1,-1,1,3,1,3],fingers:[0,0,1,3,1,4],barres:[1],baseFret:1,midi:[-1,-1,51,58,60,67]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:4,barres:[],midi:[-1,51,55,60,63,-1]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,3],barres:[3],baseFret:6,midi:[-1,51,58,63,67,72]},{frets:[2,-1,1,3,2,-1],fingers:[2,0,1,4,3,0],baseFret:10,barres:[],midi:[51,-1,60,67,70,-1]}]},{key:"D#",suffix:"69",positions:[{frets:[-1,-1,1,0,1,1],fingers:[0,0,2,0,3,4],baseFret:1,barres:[],midi:[-1,-1,51,55,60,65]},{frets:[-1,3,3,3,4,3],fingers:[0,1,1,1,2,1],barres:[3],capo:!0,baseFret:1,midi:[-1,48,53,58,63,67]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:5,midi:[-1,51,55,60,65,70]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:10,midi:[51,55,60,65,70,75]}]},{key:"D#",suffix:"7",positions:[{frets:[-1,-1,1,3,2,3],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,51,58,61,67]},{frets:[-1,1,3,1,3,1],fingers:[0,1,3,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,51,58,61,67,70]},{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,58,63,67,73]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,61,67,70,75]}]},{key:"D#",suffix:"7b5",positions:[{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,51,57,61,67]},{frets:[-1,-1,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:4,barres:[],midi:[-1,-1,55,61,63,69]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:6,midi:[-1,51,57,61,67,70]},{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:10,barres:[],midi:[51,-1,61,67,69,-1]}]},{key:"D#",suffix:"aug7",positions:[{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:1,barres:[],midi:[-1,-1,51,59,61,67]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:6,midi:[-1,51,59,61,67,71]},{frets:[3,2,3,0,0,1],fingers:[3,2,4,0,0,1],baseFret:9,barres:[],midi:[51,55,61,55,59,73]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:11,barres:[],midi:[51,-1,61,67,71,-1]}]},{key:"D#",suffix:"9",positions:[{frets:[-1,-1,1,0,2,1],fingers:[0,0,1,0,3,2],baseFret:1,barres:[],midi:[-1,-1,51,55,61,65]},{frets:[-1,2,1,2,2,2],fingers:[0,2,1,3,3,4],barres:[2],baseFret:5,midi:[-1,51,55,61,65,70]},{frets:[2,1,2,1,-1,-1],fingers:[3,1,4,2,0,0],baseFret:10,barres:[],midi:[51,55,61,65,-1,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,58,61,67,70,77]}]},{key:"D#",suffix:"9b5",positions:[{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,51,55,61,65,69]},{frets:[-1,1,2,0,1,4],fingers:[0,1,3,0,2,4],baseFret:6,barres:[],midi:[-1,51,57,55,65,73]},{frets:[2,1,2,1,1,2],fingers:[1,2,0,3,0,4],barres:[1],capo:!0,baseFret:10,midi:[51,55,61,65,69,75]},{frets:[1,2,1,2,-1,3],fingers:[1,2,1,3,0,4],barres:[1],capo:!0,baseFret:11,midi:[51,57,61,67,-1,77]}]},{key:"D#",suffix:"aug9",positions:[{frets:[3,4,3,4,4,3],fingers:[1,2,1,3,4,1],barres:[3],capo:!0,baseFret:1,midi:[43,49,53,59,63,67]},{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:5,midi:[-1,51,55,61,65,71]},{frets:[3,2,-1,2,0,1],fingers:[4,2,0,3,0,1],baseFret:9,barres:[],midi:[51,55,-1,65,59,73]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],baseFret:10,midi:[51,55,61,65,71,-1]}]},{key:"D#",suffix:"7b9",positions:[{frets:[-1,-1,1,0,2,0],fingers:[0,0,2,0,4,0],baseFret:1,barres:[],midi:[-1,-1,51,55,61,64]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,51,55,61,64,70]},{frets:[-1,1,3,1,3,0],fingers:[0,1,3,1,4,0],barres:[1],baseFret:6,midi:[-1,51,58,61,67,64]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:9,barres:[],midi:[51,55,61,64,-1,-1]}]},{key:"D#",suffix:"7#9",positions:[{frets:[-1,-1,1,0,2,2],fingers:[0,0,2,0,3,4],baseFret:1,barres:[],midi:[-1,-1,51,55,61,66]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:5,barres:[],midi:[-1,51,55,61,66,-1]},{frets:[-1,2,1,1,1,2],fingers:[0,2,1,1,1,3],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,63,67,73]},{frets:[2,1,2,2,-1,-1],fingers:[2,1,3,4,0,0],baseFret:10,barres:[],midi:[51,55,61,66,-1,-1]}]},{key:"D#",suffix:"11",positions:[{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:1,midi:[41,46,51,56,61,67]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[-1,51,55,61,63,68]},{frets:[0,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:6,midi:[40,51,56,61,67,70]},{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,67,70,75]}]},{key:"D#",suffix:"9#11",positions:[{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,51,57,61,67]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,51,55,61,65,69]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:6,midi:[-1,51,57,61,67,-1]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:10,midi:[51,55,61,65,69,75]}]},{key:"D#",suffix:"13",positions:[{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:5,midi:[-1,51,55,61,67,72]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,61,67,72]},{frets:[3,2,2,0,1,1],fingers:[4,2,3,0,1,1],barres:[1],baseFret:9,midi:[51,55,60,55,68,73]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,67,72,77]}]},{key:"D#",suffix:"maj7",positions:[{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1,3],capo:!0,baseFret:1,midi:[-1,46,51,58,62,67]},{frets:[-1,4,3,1,1,1],fingers:[0,4,3,1,1,1],barres:[1],baseFret:3,midi:[-1,51,55,58,62,67]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,62,67,70]},{frets:[-1,-1,1,1,1,3],fingers:[0,0,1,1,1,4],barres:[1],baseFret:8,midi:[-1,-1,58,63,67,74]}]},{key:"D#",suffix:"maj7b5",positions:[{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,51,57,62,67]},{frets:[-1,1,2,2,3,1],fingers:[0,1,2,2,4,0],barres:[1],capo:!0,baseFret:6,midi:[-1,51,57,62,67,70]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[51,55,62,67,69,74]},{frets:[1,2,2,2,-1,1],fingers:[1,2,2,2,0,1],barres:[1,2],capo:!0,baseFret:11,midi:[51,57,62,67,-1,75]}]},{key:"D#",suffix:"maj7#5",positions:[{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],baseFret:3,midi:[43,51,55,59,62,67]},{frets:[-1,2,1,3,-1,3],fingers:[0,2,1,3,0,4],baseFret:5,barres:[],midi:[-1,51,55,62,-1,71]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:6,barres:[],midi:[-1,51,59,62,67,-1]},{frets:[1,-1,2,2,2,1],fingers:[1,0,2,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,-1,62,67,71,75]}]},{key:"D#",suffix:"maj9",positions:[{frets:[-1,4,1,1,1,1],fingers:[0,4,1,1,1,1],barres:[1],baseFret:3,midi:[-1,51,53,58,62,67]},{frets:[-1,2,1,3,2,-1],fingers:[0,2,1,4,3,0],baseFret:5,barres:[],midi:[-1,51,55,62,65,-1]},{frets:[-1,1,1,1,1,3],fingers:[0,1,1,1,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,63,67,74]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:11,barres:[],midi:[-1,-1,62,67,70,77]}]},{key:"D#",suffix:"maj11",positions:[{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],baseFret:1,midi:[-1,-1,51,56,62,67]},{frets:[-1,3,2,4,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[-1,51,55,62,63,68]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,62,67,70]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,62,67,70,75]}]},{key:"D#",suffix:"maj13",positions:[{frets:[-1,3,1,0,3,-1],fingers:[0,3,1,0,4,0],baseFret:1,barres:[],midi:[-1,48,51,55,62,-1]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],baseFret:3,midi:[-1,51,55,60,62,67]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,62,67,72]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:10,midi:[51,55,60,65,70,74]}]},{key:"D#",suffix:"m6",positions:[{frets:[-1,1,1,3,1,2],fingers:[0,1,1,3,1,2],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,58,60,66]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,51,54,60,63,70]},{frets:[-1,-1,2,2,1,2],fingers:[0,0,2,3,1,4],baseFret:7,barres:[],midi:[-1,-1,58,63,66,72]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,63,66,72,75]}]},{key:"D#",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:11,barres:[],midi:[51,-1,61,66,70,-1]},{frets:[-1,-1,1,3,2,2],fingers:[0,0,1,4,2,3],baseFret:1,barres:[],midi:[-1,-1,51,58,61,66]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,61,66,70]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:7,barres:[],midi:[-1,-1,58,63,66,73]},{frets:[1,3,1,1,1,1],fingers:[1,4,1,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,61,66,70,75]}]},{key:"D#",suffix:"m7b5",positions:[{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:1,midi:[-1,-1,51,57,61,66]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:6,barres:[],midi:[-1,51,57,61,66,-1]},{frets:[-1,-1,1,2,1,3],fingers:[0,0,1,2,1,4],barres:[1],baseFret:7,midi:[-1,-1,57,63,66,73]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:10,barres:[],midi:[51,-1,61,66,69,-1]}]},{key:"D#",suffix:"m9",positions:[{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:4,midi:[-1,51,54,61,65,70]},{frets:[-1,-1,2,4,1,3],fingers:[0,0,2,4,1,3],baseFret:7,barres:[],midi:[-1,-1,58,65,66,73]},{frets:[-1,1,3,2,3,3],fingers:[0,1,3,2,4,4],barres:[3],baseFret:9,midi:[-1,54,61,65,70,75]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,58,61,66,70,77]}]},{key:"D#",suffix:"m69",positions:[{frets:[2,-1,1,3,1,1],fingers:[2,0,1,3,1,1],barres:[1],baseFret:1,midi:[42,-1,51,58,60,65]},{frets:[-1,3,1,2,3,-1],fingers:[0,3,1,2,4,0],baseFret:4,barres:[],midi:[-1,51,54,60,65,-1]},{frets:[3,1,2,2,1,1],fingers:[4,1,2,3,0,0],barres:[1],capo:!0,baseFret:9,midi:[51,54,60,65,68,73]},{frets:[-1,-1,3,1,3,3],fingers:[0,0,2,1,3,4],baseFret:11,barres:[],midi:[-1,-1,63,66,72,77]}]},{key:"D#",suffix:"m11",positions:[{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,51,56,61,66]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,51,54,61,65,68]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[51,54,61,65,68,73]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,66,70,77]}]},{key:"D#",suffix:"mmaj7",positions:[{frets:[-1,-1,1,3,3,2],fingers:[0,0,1,3,4,2],baseFret:1,barres:[],midi:[-1,-1,51,58,62,66]},{frets:[-1,4,2,1,1,-1],fingers:[0,4,3,1,2,0],baseFret:3,barres:[],midi:[-1,51,54,58,62,-1]},{frets:[-1,1,3,2,2,1],fingers:[0,1,4,2,3,1],barres:[1],capo:!0,baseFret:6,midi:[-1,51,58,62,66,70]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,58,62,66,70,75]}]},{key:"D#",suffix:"mmaj7b5",positions:[{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:1,barres:[],midi:[-1,-1,51,57,62,66]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:5,midi:[45,51,57,62,66,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:6,barres:[],midi:[-1,51,57,62,66,-1]},{frets:[1,2,2,1,-1,1],fingers:[1,2,2,1,0,1],barres:[1,2],capo:!0,baseFret:11,midi:[51,57,62,66,-1,75]}]},{key:"D#",suffix:"mmaj9",positions:[{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:4,barres:[],midi:[-1,51,54,62,65,-1]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,54,58,62,65,70]},{frets:[3,1,4,2,-1,-1],fingers:[3,1,4,2,0,0],baseFret:9,barres:[],midi:[51,54,62,65,-1,-1]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,58,62,66,70,77]}]},{key:"D#",suffix:"mmaj11",positions:[{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,56,62,66]},{frets:[-1,3,1,4,3,1],fingers:[0,3,1,4,3,1],barres:[1],capo:!0,baseFret:4,midi:[-1,51,54,62,65,68]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,62,66,70]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[51,56,62,66,70,77]}]},{key:"D#",suffix:"add9",positions:[{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[-1,51,55,58,65,67]},{frets:[-1,2,1,0,2,2],fingers:[0,2,1,0,3,4],baseFret:5,barres:[],midi:[-1,51,55,55,65,70]},{frets:[2,1,-1,1,2,-1],fingers:[3,1,0,2,4,0],baseFret:10,barres:[],midi:[51,55,-1,65,70,-1]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:11,barres:[],midi:[-1,-1,63,67,70,77]}]},{key:"D#",suffix:"madd9",positions:[{frets:[-1,-1,4,3,4,1],fingers:[0,0,3,2,4,1],baseFret:1,barres:[],midi:[-1,-1,54,58,63,65]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:3,barres:[],midi:[-1,51,54,58,65,-1]},{frets:[-1,3,1,-1,3,3],fingers:[0,2,1,0,3,4],baseFret:4,barres:[],midi:[-1,51,54,-1,65,70]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[-1,-1,63,66,70,77]}]}],E:[{key:"E",suffix:"major",positions:[{frets:[0,2,2,1,0,0],fingers:[0,2,3,1,0,0],baseFret:1,barres:[],midi:[40,47,52,56,59,64]},{frets:[-1,-1,1,3,4,3],fingers:[0,0,1,2,4,3],baseFret:2,barres:[],midi:[-1,-1,52,59,64,68]},{frets:[-1,4,3,1,2,1],fingers:[0,4,3,1,2,1],barres:[1],capo:!0,baseFret:4,midi:[-1,52,56,59,64,68]},{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[-1,52,59,64,68,71]}]},{key:"E",suffix:"minor",positions:[{frets:[0,2,2,0,0,0],fingers:[0,2,3,0,0,0],baseFret:1,barres:[],midi:[40,47,52,55,59,64]},{frets:[0,1,1,3,4,2],fingers:[0,1,1,3,4,2],barres:[1],baseFret:2,midi:[40,47,52,59,64,67]},{frets:[-1,1,3,3,2,1],fingers:[0,1,3,4,2,1],barres:[1],capo:!0,baseFret:7,midi:[-1,52,59,64,67,71]},{frets:[4,2,1,1,-1,-1],fingers:[4,3,1,2,0,0],baseFret:9,barres:[],midi:[52,55,59,64,-1,-1]}]},{key:"E",suffix:"dim",positions:[{frets:[-1,-1,2,3,-1,3],fingers:[0,0,1,2,0,3],baseFret:1,barres:[],midi:[-1,-1,52,58,-1,67]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:5,barres:[],midi:[-1,52,55,-1,64,70]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:7,barres:[],midi:[-1,52,58,64,67,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:10,barres:[],midi:[52,55,-1,67,70,-1]}]},{key:"E",suffix:"dim7",positions:[{frets:[0,1,2,0,2,0],fingers:[0,1,2,0,3,0],baseFret:1,barres:[],midi:[40,46,52,55,61,64]},{frets:[-1,-1,2,3,2,3],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,52,58,61,67]},{frets:[-1,2,3,1,3,-1],fingers:[0,2,3,1,4,0],baseFret:6,barres:[],midi:[-1,52,58,61,67,-1]},{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],capo:!0,baseFret:11,midi:[52,-1,61,67,70,-1]}]},{key:"E",suffix:"sus2",positions:[{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:2,midi:[42,47,52,59,64,66]},{frets:[0,1,3,3,1,1],fingers:[0,1,3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[40,52,59,64,66,71]},{frets:[0,1,1,1,0,0],fingers:[0,1,2,3,0,0],baseFret:9,barres:[],midi:[40,54,59,64,59,64]},{frets:[1,3,3,-1,1,3],fingers:[1,3,4,0,1,4],barres:[1],capo:!0,baseFret:12,midi:[52,59,64,-1,71,78]}]},{key:"E",suffix:"sus4",positions:[{frets:[0,2,2,2,0,0],fingers:[0,2,3,4,0,0],baseFret:1,barres:[],midi:[40,47,52,57,59,64]},{frets:[0,1,1,3,4,4],fingers:[0,1,1,2,3,4],barres:[1],baseFret:2,midi:[40,47,52,59,64,69]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,64,69,71]},{frets:[-1,-1,1,1,2,0],fingers:[0,0,1,1,2,0],barres:[1],baseFret:9,midi:[-1,-1,59,64,69,64]}]},{key:"E",suffix:"sus2sus4",positions:[{frets:[0,0,2,2,0,2],fingers:[0,0,1,2,0,3],baseFret:1,barres:[],midi:[40,45,52,57,59,66]},{frets:[0,2,2,2,0,2],fingers:[0,1,2,3,0,4],baseFret:1,barres:[],midi:[40,47,52,57,59,66]},{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,64,66,71]},{frets:[-1,4,1,1,2,2],fingers:[0,4,1,1,2,2],barres:[1,2],baseFret:4,midi:[-1,52,54,59,64,69]}]},{key:"E",suffix:"7sus4",positions:[{frets:[0,2,0,2,0,0],fingers:[0,2,0,3,0,0],baseFret:1,barres:[],midi:[40,47,50,57,59,64]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[-1,52,57,62,64,69]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,62,69,71]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,59,64,69,74]}]},{key:"E",suffix:"alt",positions:[{frets:[0,1,2,1,-1,-1],fingers:[0,1,3,2,0,0],baseFret:1,barres:[],midi:[40,46,52,56,-1,-1]},{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:2,barres:[],midi:[-1,-1,52,58,64,68]},{frets:[0,3,2,-1,1,2],fingers:[0,4,2,0,1,3],baseFret:5,barres:[],midi:[40,52,56,-1,64,70]},{frets:[0,1,2,3,3,0],fingers:[0,1,2,3,4,0],baseFret:7,barres:[],midi:[40,52,58,64,68,64]}]},{key:"E",suffix:"aug",positions:[{frets:[0,3,2,1,1,0],fingers:[0,4,3,1,2,0],baseFret:1,barres:[],midi:[40,48,52,56,60,64]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:5,midi:[-1,52,56,60,64,-1]},{frets:[-1,1,4,3,3,-1],fingers:[4,3,2,1,1,0],baseFret:7,barres:[],midi:[-1,52,60,64,68,-1]},{frets:[4,3,2,1,1,0],fingers:[4,3,2,1,1,0],barres:[1],baseFret:9,midi:[52,56,60,64,68,64]}]},{key:"E",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:12,barres:[],midi:[52,59,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:7,barres:[],midi:[-1,52,59,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:12,barres:[],midi:[52,59,64,-1,-1,-1]},{frets:[0,2,2,-1,-1,-1],fingers:[0,2,3,0,0,0],baseFret:1,barres:[],midi:[40,47,52,-1,-1,-1]}]},{key:"E",suffix:"6",positions:[{frets:[0,2,2,1,2,0],fingers:[0,2,3,1,4,0],baseFret:1,barres:[],midi:[40,47,52,56,61,64]},{frets:[0,2,2,4,2,4],fingers:[0,1,1,3,1,4],barres:[2],capo:!0,baseFret:1,midi:[40,47,52,59,61,68]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:5,barres:[],midi:[-1,52,56,61,64,-1]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,3],barres:[3],baseFret:7,midi:[-1,52,59,64,68,73]}]},{key:"E",suffix:"69",positions:[{frets:[0,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],baseFret:1,midi:[40,47,52,56,61,66]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:6,midi:[-1,52,56,61,66,71]},{frets:[-1,1,1,1,1,1],fingers:[0,1,1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,64,68,73]},{frets:[0,1,1,1,2,2],fingers:[0,1,1,1,3,4],barres:[1],baseFret:11,midi:[40,56,61,66,71,76]}]},{key:"E",suffix:"7",positions:[{frets:[0,2,0,1,0,0],fingers:[0,2,0,1,0,0],baseFret:1,barres:[],midi:[40,47,50,56,59,64]},{frets:[-1,3,2,3,1,-1],fingers:[0,3,2,4,1,0],baseFret:5,barres:[],midi:[-1,52,56,62,64,-1]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,62,68,71]},{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,59,64,68,74]}]},{key:"E",suffix:"7b5",positions:[{frets:[0,1,0,1,3,0],fingers:[0,1,0,2,4,0],baseFret:1,barres:[],midi:[40,46,50,56,62,64]},{frets:[-1,-1,2,3,3,4],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,52,58,62,68]},{frets:[-1,-1,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:5,barres:[],midi:[-1,-1,56,62,64,70]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:7,midi:[-1,52,58,62,68,-1]}]},{key:"E",suffix:"aug7",positions:[{frets:[0,3,0,1,1,0],fingers:[0,4,0,1,2,0],baseFret:1,barres:[],midi:[40,48,50,56,60,64]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:2,barres:[],midi:[-1,-1,52,60,62,68]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:7,midi:[-1,52,60,62,68,72]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:12,barres:[],midi:[52,-1,62,68,72,-1]}]},{key:"E",suffix:"9",positions:[{frets:[0,2,0,1,0,2],fingers:[0,2,0,1,0,3],baseFret:1,barres:[],midi:[40,47,50,56,59,66]},{frets:[4,-1,2,4,3,2],fingers:[3,0,1,4,2,1],barres:[2],baseFret:1,midi:[44,-1,52,59,62,66]},{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:6,midi:[47,52,56,62,66,71]},{frets:[0,1,1,1,1,2],fingers:[0,1,1,1,1,2],barres:[1],baseFret:9,midi:[40,54,59,64,68,74]}]},{key:"E",suffix:"9b5",positions:[{frets:[0,1,2,1,3,2],fingers:[0,1,2,1,4,3],barres:[1],baseFret:1,midi:[40,46,52,56,62,66]},{frets:[0,3,2,1,1,2],fingers:[0,4,2,1,1,3],barres:[1],baseFret:3,midi:[40,50,54,58,62,68]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,52,56,62,66,70]},{frets:[0,3,2,1,3,0],fingers:[0,3,2,1,4,0],baseFret:7,barres:[],midi:[40,54,58,62,68,64]}]},{key:"E",suffix:"aug9",positions:[{frets:[0,3,0,1,3,2],fingers:[0,3,0,1,4,2],baseFret:1,barres:[],midi:[40,48,50,56,62,66]},{frets:[0,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],baseFret:4,midi:[40,50,54,60,64,68]},{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:6,midi:[-1,52,56,62,66,72]},{frets:[0,1,2,1,1,2],fingers:[0,1,2,1,1,3],barres:[1],baseFret:9,midi:[40,54,60,64,68,74]}]},{key:"E",suffix:"7b9",positions:[{frets:[0,2,0,1,0,1],fingers:[0,3,0,1,0,2],baseFret:1,barres:[],midi:[40,47,50,56,59,65]},{frets:[0,2,0,1,3,1],fingers:[0,3,0,1,4,1],barres:[1],baseFret:4,midi:[40,50,50,59,65,68]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:6,midi:[-1,52,56,62,65,71]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:10,barres:[],midi:[52,56,62,65,-1,-1]}]},{key:"E",suffix:"7#9",positions:[{frets:[0,2,0,1,0,3],fingers:[0,2,0,1,0,4],baseFret:1,barres:[],midi:[40,47,50,56,59,67]},{frets:[0,3,0,0,1,2],fingers:[0,3,0,0,1,2],baseFret:3,barres:[],midi:[40,50,50,55,62,68]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:6,barres:[],midi:[-1,52,56,62,67,-1]},{frets:[0,2,1,1,1,2],fingers:[0,2,1,1,1,3],barres:[1],baseFret:9,midi:[40,55,59,64,68,74]}]},{key:"E",suffix:"11",positions:[{frets:[0,0,0,1,0,0],fingers:[0,0,0,1,0,0],baseFret:1,barres:[],midi:[40,45,50,56,59,64]},{frets:[0,0,4,4,3,4],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[40,45,54,59,62,68]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[-1,52,56,62,64,69]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,62,68,71]}]},{key:"E",suffix:"9#11",positions:[{frets:[0,1,0,1,0,0],fingers:[0,1,0,2,0,0],baseFret:1,barres:[],midi:[40,46,50,56,59,64]},{frets:[0,3,0,1,3,2],fingers:[0,3,0,1,4,2],baseFret:3,barres:[],midi:[40,50,50,58,64,68]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,52,56,62,66,70]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[52,56,62,66,70,76]}]},{key:"E",suffix:"13",positions:[{frets:[0,2,0,1,2,0],fingers:[0,2,0,1,3,0],baseFret:1,barres:[],midi:[40,47,50,56,61,64]},{frets:[0,0,0,1,2,2],fingers:[0,0,0,1,2,3],baseFret:1,barres:[],midi:[40,45,50,56,61,66]},{frets:[0,1,2,2,1,0],fingers:[0,1,3,4,2,0],baseFret:5,barres:[],midi:[40,50,56,61,64,64]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,62,68,73]}]},{key:"E",suffix:"maj7",positions:[{frets:[0,2,1,1,0,0],fingers:[0,3,1,2,0,0],baseFret:1,barres:[],midi:[40,47,51,56,59,64]},{frets:[-1,-1,2,4,4,4],fingers:[0,0,1,3,3,3],barres:[4],baseFret:1,midi:[-1,-1,52,59,63,68]},{frets:[-1,4,3,1,1,1],fingers:[0,4,3,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[-1,52,56,59,63,68]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,63,68,71]}]},{key:"E",suffix:"maj7b5",positions:[{frets:[0,1,1,1,4,0],fingers:[0,1,1,1,4,0],barres:[1],baseFret:1,midi:[40,46,51,56,63,64]},{frets:[-1,-1,2,3,4,4],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,-1,52,58,63,68]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:7,barres:[],midi:[-1,52,58,63,68,-1]},{frets:[0,1,3,3,1,1],fingers:[0,1,3,4,1,1],barres:[1],baseFret:11,midi:[40,56,63,68,70,75]}]},{key:"E",suffix:"maj7#5",positions:[{frets:[0,3,2,1,4,4],fingers:[0,3,2,1,4,4],barres:[4],baseFret:1,midi:[40,48,52,56,63,68]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,52,56,60,63,68]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:7,barres:[],midi:[-1,52,60,63,68,-1]},{frets:[0,3,2,1,1,3],fingers:[0,3,2,1,1,4],barres:[1],baseFret:9,midi:[40,56,60,64,68,75]}]},{key:"E",suffix:"maj9",positions:[{frets:[0,2,1,1,0,2],fingers:[0,3,1,2,0,4],baseFret:1,barres:[],midi:[40,47,51,56,59,66]},{frets:[4,2,2,4,4,2],fingers:[2,1,1,3,4,1],barres:[2],capo:!0,baseFret:1,midi:[44,47,52,59,63,66]},{frets:[-1,2,1,3,2,-1],fingers:[0,2,1,4,3,0],baseFret:6,barres:[],midi:[-1,52,56,63,66,-1]},{frets:[-1,-1,1,3,1,3],fingers:[0,0,1,3,1,4],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,59,66,68,75]}]},{key:"E",suffix:"maj11",positions:[{frets:[0,0,1,1,0,0],fingers:[0,0,1,2,0,0],baseFret:1,barres:[],midi:[40,45,51,56,59,64]},{frets:[0,0,3,1,1,2],fingers:[0,0,3,1,1,2],barres:[1],baseFret:4,midi:[40,45,56,59,63,69]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,63,68,71]},{frets:[0,3,1,1,2,3],fingers:[0,3,1,1,2,4],barres:[1],baseFret:9,midi:[40,56,59,64,69,75]}]},{key:"E",suffix:"maj13",positions:[{frets:[0,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],baseFret:1,midi:[40,47,51,56,61,66]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],baseFret:4,midi:[-1,52,56,61,63,68]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,63,68,73]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:11,midi:[52,56,61,66,71,75]}]},{key:"E",suffix:"m6",positions:[{frets:[0,2,2,0,2,0],fingers:[0,1,2,0,3,0],baseFret:1,barres:[],midi:[40,47,52,55,61,64]},{frets:[0,2,2,4,2,3],fingers:[0,1,1,3,1,2],barres:[2],baseFret:1,midi:[40,47,52,59,61,67]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,52,55,61,64,71]},{frets:[-1,-1,2,2,1,2],fingers:[0,0,2,3,1,4],baseFret:8,barres:[],midi:[-1,-1,59,64,67,73]}]},{key:"E",suffix:"m7",positions:[{frets:[0,-1,0,0,0,-1],fingers:[2,0,3,3,3,0],baseFret:1,barres:[],midi:[40,-1,50,55,59,-1]},{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:12,barres:[],midi:[52,-1,62,67,71,-1]},{frets:[0,2,2,0,3,0],fingers:[0,2,3,0,4,0],baseFret:1,barres:[],midi:[40,47,52,55,62,64]},{frets:[0,2,0,0,0,0],fingers:[0,2,0,0,0,0],baseFret:1,barres:[],midi:[40,47,50,55,59,64]},{frets:[0,2,2,4,3,3],fingers:[0,1,1,4,2,3],barres:[2],baseFret:1,midi:[40,47,52,59,62,67]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,62,67,71]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:8,barres:[],midi:[-1,-1,59,64,67,74]}]},{key:"E",suffix:"m7b5",positions:[{frets:[0,1,2,3,3,3],fingers:[0,1,2,3,3,3],barres:[3],baseFret:1,midi:[40,46,52,58,62,67]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:7,barres:[],midi:[-1,52,58,62,67,-1]},{frets:[-1,-1,1,2,1,3],fingers:[0,0,1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,58,64,67,74]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:11,barres:[],midi:[52,-1,62,67,70,-1]}]},{key:"E",suffix:"m9",positions:[{frets:[0,2,0,0,0,2],fingers:[0,2,0,0,0,4],baseFret:1,barres:[],midi:[40,47,50,55,59,66]},{frets:[0,2,2,0,3,2],fingers:[0,1,2,0,4,3],baseFret:1,barres:[],midi:[40,47,52,55,62,66]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:5,midi:[-1,52,55,62,66,71]},{frets:[0,1,3,2,3,1],fingers:[0,1,3,2,4,1],barres:[1],baseFret:10,midi:[40,55,62,66,71,74]}]},{key:"E",suffix:"m69",positions:[{frets:[0,2,2,0,2,2],fingers:[0,1,1,0,2,3],barres:[2],baseFret:1,midi:[40,47,52,55,61,66]},{frets:[3,-1,2,4,2,2],fingers:[2,0,1,3,1,1],barres:[2],baseFret:1,midi:[43,-1,52,59,61,66]},{frets:[-1,3,1,2,3,3],fingers:[0,3,1,2,4,4],barres:[3],baseFret:5,midi:[-1,52,55,61,66,71]},{frets:[0,1,2,2,3,0],fingers:[0,1,2,3,4,0],baseFret:10,barres:[],midi:[40,55,61,66,71,64]}]},{key:"E",suffix:"m11",positions:[{frets:[0,0,0,0,0,2],fingers:[0,0,0,0,0,1],baseFret:1,barres:[],midi:[40,45,50,55,59,66]},{frets:[0,0,3,2,1,0],fingers:[0,0,3,2,1,0],baseFret:3,barres:[],midi:[40,45,55,59,62,64]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,52,55,62,66,69]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[52,55,62,66,69,74]}]},{key:"E",suffix:"mmaj7",positions:[{frets:[0,2,1,0,0,0],fingers:[0,2,1,0,0,0],baseFret:1,barres:[],midi:[40,47,51,55,59,64]},{frets:[0,2,2,4,4,3],fingers:[0,1,1,3,4,2],barres:[2],baseFret:1,midi:[40,47,52,59,63,67]},{frets:[-1,4,2,1,1,-1],fingers:[0,4,2,1,1,0],barres:[1],capo:!0,baseFret:4,midi:[-1,52,55,59,63,-1]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,63,67,71]}]},{key:"E",suffix:"mmaj7b5",positions:[{frets:[0,1,1,0,-1,0],fingers:[0,1,2,0,0,0],baseFret:1,barres:[],midi:[40,46,51,55,-1,64]},{frets:[-1,-1,2,3,4,3],fingers:[0,0,1,2,4,3],baseFret:1,barres:[],midi:[-1,-1,52,58,63,67]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:6,midi:[46,52,58,63,67,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:7,barres:[],midi:[-1,52,58,63,67,-1]}]},{key:"E",suffix:"mmaj9",positions:[{frets:[0,2,1,0,0,2],fingers:[0,2,1,0,0,3],baseFret:1,barres:[],midi:[40,47,51,55,59,66]},{frets:[0,-1,4,4,4,3],fingers:[0,0,2,2,4,1],barres:[4],baseFret:1,midi:[40,-1,54,59,63,67]},{frets:[0,4,3,2,1,0],fingers:[0,4,3,2,1,0],baseFret:7,barres:[],midi:[40,55,59,63,66,64]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:12,midi:[52,59,63,67,71,78]}]},{key:"E",suffix:"mmaj11",positions:[{frets:[0,0,1,0,0,2],fingers:[0,0,1,0,0,3],baseFret:1,barres:[],midi:[40,45,51,55,59,66]},{frets:[-1,2,2,2,4,3],fingers:[0,1,1,1,3,2],barres:[2],capo:!0,baseFret:1,midi:[-1,47,52,57,63,67]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:5,midi:[-1,52,55,63,66,69]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,63,67,71]}]},{key:"E",suffix:"add9",positions:[{frets:[0,2,2,1,0,2],fingers:[0,2,3,1,0,4],baseFret:1,barres:[],midi:[40,47,52,56,59,66]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[-1,52,56,59,66,68]},{frets:[-1,2,1,-1,2,2],fingers:[0,2,1,0,3,4],baseFret:6,barres:[],midi:[-1,52,56,-1,66,71]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:12,barres:[],midi:[-1,-1,64,68,71,78]}]},{key:"E",suffix:"madd9",positions:[{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,53,56,60,67]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:5,barres:[],midi:[-1,53,56,60,67,-1]},{frets:[-1,3,1,0,1,3],fingers:[0,3,1,0,2,4],baseFret:6,barres:[],midi:[-1,53,56,55,65,72]},{frets:[-1,1,3,0,2,1],fingers:[0,1,4,0,3,2],baseFret:8,barres:[],midi:[-1,53,60,55,68,72]}]},{key:"E",suffix:"/B",positions:[{frets:[-1,2,2,1,0,0],fingers:[0,2,3,1,0,0],baseFret:1,barres:[],midi:[-1,47,52,56,59,64]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,3,4,3],barres:[1],baseFret:2,midi:[-1,47,52,59,64,68]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],baseFret:7,midi:[47,52,59,64,68,71]}]},{key:"E",suffix:"m/B",positions:[{frets:[-1,2,2,0,0,0],fingers:[0,1,2,0,0,0],baseFret:1,barres:[],midi:[-1,47,52,55,59,64]},{frets:[-1,2,2,0,0,3],fingers:[0,1,2,0,0,3],baseFret:1,barres:[],midi:[-1,47,52,55,59,67]},{frets:[-1,1,1,3,4,2],fingers:[0,1,1,3,4,2],baseFret:2,barres:[],midi:[-1,47,52,59,64,67]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,64,67,71]}]},{key:"E",suffix:"/C#",positions:[{frets:[-1,1,3,1,2,1],fingers:[0,1,3,1,2,1],barres:[1],baseFret:4,midi:[-1,49,56,59,64,68]},{frets:[-1,1,3,1,2,4],fingers:[0,1,3,1,2,4],barres:[1],baseFret:4,midi:[-1,49,56,59,64,71]},{frets:[1,3,1,1,4,4],fingers:[1,3,1,1,4,4],barres:[1],baseFret:9,midi:[49,56,59,64,71,76]}]},{key:"E",suffix:"m/C#",positions:[{frets:[-1,4,2,0,0,0],fingers:[0,3,1,0,0,0],baseFret:1,barres:[],midi:[-1,49,52,55,59,64]},{frets:[-1,1,2,1,2,4],fingers:[0,1,2,1,3,4],baseFret:4,barres:[],midi:[-1,49,55,59,64,71]},{frets:[1,2,1,4,4,4],fingers:[1,2,1,4,4,4],barres:[1],baseFret:9,midi:[49,55,59,67,71,76]}]},{key:"E",suffix:"/D",positions:[{frets:[-1,-1,0,1,0,0],fingers:[0,0,0,1,0,0],baseFret:1,barres:[],midi:[-1,-1,50,56,59,64]},{frets:[-1,2,3,1,2,1],fingers:[0,2,4,1,3,1],barres:[1],baseFret:4,midi:[-1,50,56,59,64,68]},{frets:[-1,4,1,3,4,3],fingers:[0,3,1,2,4,2],barres:[3],baseFret:2,midi:[-1,50,52,59,64,68]}]},{key:"E",suffix:"m/D",positions:[{frets:[-1,-1,0,0,0,0],fingers:[0,0,0,0,0,0],baseFret:1,barres:[],midi:[-1,-1,50,55,59,64]},{frets:[-1,2,2,1,2,-1],fingers:[0,2,3,1,4,0],baseFret:4,barres:[],midi:[-1,50,55,59,64,-1]},{frets:[-1,-1,1,1,1,1],fingers:[0,0,1,1,1,1],barres:[1],baseFret:12,midi:[-1,-1,62,67,71,76]}]},{key:"E",suffix:"/D#",positions:[{frets:[-1,-1,1,1,0,0],fingers:[0,0,1,2,0,0],baseFret:1,barres:[],midi:[-1,-1,51,56,59,64]},{frets:[-1,3,3,1,2,1],fingers:[0,3,4,1,2,1],barres:[1],baseFret:4,midi:[-1,51,56,59,64,68]},{frets:[3,3,1,1,4,4],fingers:[2,3,1,1,4,4],barres:[1],baseFret:9,midi:[51,56,59,64,71,76]}]},{key:"E",suffix:"m/D#",positions:[{frets:[-1,-1,1,0,0,0],fingers:[0,0,1,0,0,0],baseFret:1,barres:[],midi:[-1,-1,51,55,59,64]},{frets:[-1,3,2,1,2,-1],fingers:[0,4,2,1,3,0],baseFret:4,barres:[],midi:[-1,51,55,59,64,-1]},{frets:[-1,1,4,4,3,-1],fingers:[0,1,3,4,2,0],baseFret:6,barres:[],midi:[-1,51,59,64,67,-1]}]},{key:"E",suffix:"/F",positions:[{frets:[1,2,2,1,0,0],fingers:[1,3,4,2,0,0],baseFret:1,barres:[],midi:[41,47,52,56,59,64]},{frets:[-1,-1,3,1,0,0],fingers:[0,0,3,1,0,0],baseFret:1,barres:[],midi:[-1,-1,53,56,59,64]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:3,barres:[],midi:[-1,-1,53,59,64,68]}]},{key:"E",suffix:"/F#",positions:[{frets:[2,2,2,1,0,0],fingers:[2,3,4,1,0,0],baseFret:1,barres:[],midi:[42,47,52,56,59,64]},{frets:[-1,-1,1,1,2,1],fingers:[0,0,1,1,2,1],barres:[1],baseFret:4,midi:[-1,-1,54,59,64,68]},{frets:[1,1,1,3,4,3],fingers:[1,1,1,3,4,3],barres:[1],baseFret:2,midi:[42,47,52,59,64,68]}]},{key:"E",suffix:"/G",positions:[{frets:[3,2,2,1,0,0],fingers:[4,2,3,1,0,0],baseFret:1,barres:[],midi:[43,47,52,56,59,64]},{frets:[2,1,1,3,4,3],fingers:[2,1,1,3,4,3],barres:[1],baseFret:2,midi:[43,47,52,59,64,68]},{frets:[-1,-1,2,1,2,1],fingers:[0,0,3,1,4,2],baseFret:4,barres:[],midi:[-1,-1,55,59,64,68]}]},{key:"E",suffix:"/G#",positions:[{frets:[-1,-1,-1,1,0,0],fingers:[0,0,0,1,0,0],baseFret:1,barres:[],midi:[-1,-1,-1,56,59,64]},{frets:[4,2,2,1,0,0],fingers:[4,2,3,1,0,0],baseFret:1,barres:[],midi:[44,47,52,56,59,64]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],baseFret:4,midi:[44,52,56,59,64,68]},{frets:[3,1,1,3,4,-1],fingers:[2,1,1,3,4,0],barres:[1],baseFret:2,midi:[44,47,52,59,64,-1]}]},{key:"E",suffix:"m/F",positions:[{frets:[-1,-1,3,0,0,0],fingers:[0,0,1,0,0,0],baseFret:1,barres:[],midi:[-1,-1,53,55,59,64]},{frets:[1,2,2,0,0,0],fingers:[1,2,3,0,0,0],baseFret:1,barres:[],midi:[41,47,52,55,59,64]},{frets:[1,2,2,0,0,3],fingers:[1,2,3,0,0,4],baseFret:1,barres:[],midi:[41,47,52,55,59,67]}]},{key:"E",suffix:"m/F#",positions:[{frets:[2,2,2,0,0,0],fingers:[1,2,3,0,0,0],baseFret:1,barres:[],midi:[42,47,52,55,59,64]},{frets:[2,2,2,0,0,3],fingers:[1,2,3,0,0,4],baseFret:1,barres:[],midi:[42,47,52,55,59,67]},{frets:[1,1,1,3,4,2],fingers:[1,1,1,3,4,2],barres:[1],baseFret:2,midi:[42,47,52,59,64,67]}]},{key:"E",suffix:"m/G",positions:[{frets:[3,2,2,0,0,0],fingers:[3,1,2,0,0,0],baseFret:1,barres:[],midi:[43,47,52,55,59,64]},{frets:[3,2,2,0,0,3],fingers:[3,1,2,0,0,4],baseFret:1,barres:[],midi:[43,47,52,55,59,67]},{frets:[2,1,1,3,4,0],fingers:[2,1,1,3,4,0],barres:[1],baseFret:2,midi:[43,47,52,59,64,64]}]},{key:"E",suffix:"m/G#",positions:[{frets:[4,2,2,0,0,0],fingers:[4,1,2,0,0,0],baseFret:1,barres:[],midi:[44,47,52,55,59,64]},{frets:[1,4,2,1,2,-1],fingers:[1,4,2,1,3,0],barres:[1],baseFret:4,midi:[44,52,55,59,64,-1]},{frets:[-1,-1,4,2,3,1],fingers:[0,0,4,2,3,1],baseFret:3,barres:[],midi:[-1,-1,56,59,64,67]}]}],F:[{key:"F",suffix:"major",positions:[{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,53,57,60,65]},{frets:[-1,-1,3,2,1,1],fingers:[-1,-1,3,2,1,1],barres:[1],baseFret:1,midi:[-1,-1,53,57,60,65]},{frets:[-1,-1,1,3,4,3],fingers:[0,0,1,2,4,3],baseFret:3,barres:[],midi:[-1,-1,53,60,65,69]},{frets:[-1,4,3,1,2,1],fingers:[0,4,3,1,2,1],barres:[1],capo:!0,baseFret:5,midi:[-1,53,57,60,65,69]},{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,53,60,65,69,72]}]},{key:"F",suffix:"minor",positions:[{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,53,56,60,65]},{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:3,barres:[],midi:[-1,-1,53,60,65,68]},{frets:[-1,1,3,3,2,1],fingers:[0,1,3,4,2,1],barres:[1],capo:!0,baseFret:8,midi:[-1,53,60,65,68,72]},{frets:[4,2,1,1,-1,-1],fingers:[4,2,1,1,0,0],barres:[1],capo:!0,baseFret:10,midi:[53,56,60,65,-1,-1]}]},{key:"F",suffix:"dim",positions:[{frets:[-1,-1,3,4,-1,4],fingers:[0,0,1,2,0,3],baseFret:1,barres:[],midi:[-1,-1,53,59,-1,68]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:6,barres:[],midi:[-1,53,56,-1,65,71]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:8,barres:[],midi:[-1,53,59,65,68,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:11,barres:[],midi:[53,56,-1,68,71,-1]}]},{key:"F",suffix:"dim7",positions:[{frets:[1,-1,0,1,0,1],fingers:[1,0,0,2,0,3],baseFret:1,barres:[],midi:[41,-1,50,56,59,65]},{frets:[-1,-1,3,4,3,4],fingers:[0,0,1,3,1,4],barres:[3],capo:!0,baseFret:1,midi:[-1,-1,53,59,62,68]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,53,59,62,68,71]},{frets:[2,-1,1,2,1,-1],fingers:[3,0,1,4,2,0],baseFret:12,barres:[],midi:[53,-1,62,68,71,-1]}]},{key:"F",suffix:"sus2",positions:[{frets:[1,3,3,-1,1,3],fingers:[1,2,3,0,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,48,53,-1,60,67]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,53,60,65,67]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,65,67,72]},{frets:[4,1,1,3,4,-1],fingers:[3,1,1,2,4,0],barres:[1],capo:!0,baseFret:10,midi:[53,55,60,67,72,-1]}]},{key:"F",suffix:"sus4",positions:[{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,53,58,60,65]},{frets:[-1,-1,1,3,4,4],fingers:[0,0,1,2,3,4],baseFret:3,barres:[],midi:[-1,-1,53,60,65,70]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,65,70,72]},{frets:[-1,-1,1,1,2,-1],fingers:[0,0,1,1,2,0],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,65,70,-1]}]},{key:"F",suffix:"sus2sus4",positions:[{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],baseFret:1,midi:[41,46,53,58,60,67]},{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],baseFret:8,midi:[-1,53,58,65,67,72]},{frets:[-1,4,1,1,2,2],fingers:[0,4,1,1,2,2],barres:[1,2],baseFret:5,midi:[-1,53,55,60,65,70]}]},{key:"F",suffix:"7sus4",positions:[{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,58,60,65]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,58,63,65,70]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,63,70,72]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,65,70,75]}]},{key:"F",suffix:"alt",positions:[{frets:[1,2,3,2,0,-1],fingers:[1,2,4,3,0,0],baseFret:1,barres:[],midi:[41,47,53,57,59,-1]},{frets:[-1,-1,1,2,0,3],fingers:[0,0,1,2,0,3],baseFret:3,barres:[],midi:[-1,-1,53,59,59,69]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:8,barres:[],midi:[-1,53,59,65,69,-1]},{frets:[2,1,-1,3,1,2],fingers:[2,1,0,4,1,3],barres:[1],capo:!0,baseFret:12,midi:[53,57,-1,69,71,77]}]},{key:"F",suffix:"aug",positions:[{frets:[-1,-1,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:1,barres:[],midi:[-1,-1,53,57,61,65]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:6,midi:[-1,53,57,61,65,-1]},{frets:[-1,1,-1,3,3,2],fingers:[0,1,0,3,4,2],baseFret:8,barres:[],midi:[-1,53,-1,65,69,73]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],baseFret:10,midi:[53,57,61,65,69,-1]}]},{key:"F",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:1,barres:[],midi:[41,48,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:8,barres:[],midi:[-1,53,60,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:1,barres:[],midi:[41,48,53,-1,-1,-1]}]},{key:"F",suffix:"6",positions:[{frets:[1,-1,3,2,3,1],fingers:[1,0,3,2,4,1],barres:[1],capo:!0,baseFret:1,midi:[41,-1,53,57,62,65]},{frets:[-1,1,1,3,1,3],fingers:[0,1,1,3,1,4],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,60,62,69]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:6,barres:[],midi:[-1,53,57,62,65,-1]},{frets:[1,1,3,3,3,3],fingers:[1,1,3,3,3,3],barres:[1,3],baseFret:8,midi:[48,53,60,65,69,74]}]},{key:"F",suffix:"69",positions:[{frets:[1,0,0,0,1,1],fingers:[1,0,0,0,2,3],baseFret:1,barres:[],midi:[41,45,50,55,60,65]},{frets:[-1,-1,3,2,3,3],fingers:[0,0,2,1,3,4],baseFret:1,barres:[],midi:[-1,-1,53,57,62,67]},{frets:[-1,1,1,1,2,1],fingers:[0,1,1,1,2,1],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,60,65,69]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:7,midi:[-1,53,57,62,67,72]}]},{key:"F",suffix:"7",positions:[{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,57,60,65]},{frets:[-1,1,1,3,2,3],fingers:[0,1,1,3,2,4],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,60,63,69]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,63,69,72]},{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,65,69,75]}]},{key:"F",suffix:"7b5",positions:[{frets:[1,0,1,2,0,1],fingers:[1,0,2,4,0,3],baseFret:1,barres:[],midi:[41,45,51,57,59,65]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:3,barres:[],midi:[-1,-1,53,59,63,69]},{frets:[-1,-1,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:6,barres:[],midi:[-1,-1,57,63,65,71]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:8,midi:[-1,53,59,63,69,-1]}]},{key:"F",suffix:"aug7",positions:[{frets:[1,0,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[41,45,51,57,61,-1]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:3,barres:[],midi:[-1,-1,53,61,63,69]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:8,midi:[-1,53,61,63,69,73]},{frets:[2,1,2,-1,3,-1],fingers:[2,1,3,0,4,0],baseFret:12,barres:[],midi:[53,57,63,-1,73,-1]}]},{key:"F",suffix:"9",positions:[{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,57,60,67]},{frets:[-1,-1,3,2,4,3],fingers:[0,0,2,1,4,3],baseFret:1,barres:[],midi:[-1,-1,53,57,63,67]},{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:7,midi:[48,53,57,63,67,72]},{frets:[-1,1,1,1,1,2],fingers:[0,1,1,1,1,2],barres:[1],baseFret:10,midi:[-1,55,60,65,69,75]}]},{key:"F",suffix:"9b5",positions:[{frets:[1,0,1,0,0,1],fingers:[1,0,2,0,0,3],baseFret:1,barres:[],midi:[41,45,51,55,59,65]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[-1,53,57,63,67,71]},{frets:[-1,1,2,0,3,4],fingers:[0,1,2,0,3,4],baseFret:8,barres:[],midi:[-1,53,59,55,69,75]},{frets:[2,1,2,0,0,2],fingers:[2,1,2,0,0,3],barres:[2],baseFret:12,midi:[53,57,63,55,59,77]}]},{key:"F",suffix:"aug9",positions:[{frets:[1,0,1,0,2,1],fingers:[1,0,2,0,4,3],baseFret:1,barres:[],midi:[41,45,51,55,61,65]},{frets:[1,2,1,2,2,1],fingers:[1,2,1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,51,55,61,65,69]},{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:7,midi:[-1,53,57,63,67,73]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:12,midi:[53,57,63,67,73,-1]}]},{key:"F",suffix:"7b9",positions:[{frets:[1,3,1,2,1,2],fingers:[1,4,1,2,1,3],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,57,60,66]},{frets:[-1,-1,3,2,4,2],fingers:[0,0,2,1,3,1],barres:[2],capo:!0,baseFret:1,midi:[-1,-1,53,57,63,66]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:7,midi:[-1,53,57,63,66,72]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:11,barres:[],midi:[53,57,63,66,-1,-1]}]},{key:"F",suffix:"7#9",positions:[{frets:[1,3,1,2,1,4],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,57,60,68]},{frets:[-1,-1,3,2,4,4],fingers:[0,0,2,1,3,4],baseFret:1,barres:[],midi:[-1,-1,53,57,63,68]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:7,barres:[],midi:[-1,53,57,63,68,-1]},{frets:[-1,2,1,1,1,2],fingers:[0,2,1,1,1,3],barres:[1],capo:!0,baseFret:10,midi:[-1,56,60,65,69,75]}]},{key:"F",suffix:"11",positions:[{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,46,51,57,60,65]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:3,midi:[43,48,53,58,63,69]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[-1,53,57,63,65,70]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,63,69,72]}]},{key:"F",suffix:"9#11",positions:[{frets:[1,0,1,0,0,1],fingers:[1,0,2,0,0,3],baseFret:1,barres:[],midi:[41,45,51,55,59,65]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:3,barres:[],midi:[-1,-1,53,59,63,69]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[-1,53,57,63,67,71]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:8,midi:[-1,53,59,63,69,72]}]},{key:"F",suffix:"13",positions:[{frets:[1,3,1,2,3,1],fingers:[1,3,1,2,4,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,57,62,65]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:1,midi:[41,46,51,57,62,67]},{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:7,midi:[-1,53,57,63,69,74]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,63,69,74]}]},{key:"F",suffix:"maj7",positions:[{frets:[-1,-1,3,2,1,0],fingers:[0,0,3,2,1,0],baseFret:1,barres:[],midi:[-1,-1,53,57,60,64]},{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,52,57,60,65]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,60,64,69]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,64,69,72]}]},{key:"F",suffix:"maj7b5",positions:[{frets:[1,0,2,2,0,0],fingers:[1,0,2,3,0,0],baseFret:1,barres:[],midi:[41,45,52,57,59,64]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:3,barres:[],midi:[-1,-1,53,59,64,69]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:8,barres:[],midi:[-1,53,59,64,69,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:12,midi:[53,57,64,69,71,76]}]},{key:"F",suffix:"maj7#5",positions:[{frets:[1,0,2,2,2,0],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[41,45,52,57,61,64]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,53,57,61,64,69]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:8,barres:[],midi:[-1,53,61,64,69,-1]},{frets:[-1,-1,4,3,3,1],fingers:[0,0,4,2,3,1],baseFret:12,barres:[],midi:[-1,-1,65,69,73,76]}]},{key:"F",suffix:"maj9",positions:[{frets:[1,0,2,0,1,0],fingers:[1,0,3,0,2,0],baseFret:1,barres:[],midi:[41,45,52,55,60,64]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[-1,-1,52,57,60,67]},{frets:[-1,2,1,3,2,-1],fingers:[0,2,1,4,3,0],baseFret:7,barres:[],midi:[-1,53,57,64,67,-1]},{frets:[-1,-1,1,3,1,3],fingers:[0,0,1,3,1,4],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,67,69,76]}]},{key:"F",suffix:"maj11",positions:[{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,46,52,57,60,65]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,53,58,64,69]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,64,69,72]},{frets:[3,2,4,0,1,0],fingers:[3,2,4,0,1,0],baseFret:11,barres:[],midi:[53,57,64,55,70,64]}]},{key:"F",suffix:"maj13",positions:[{frets:[1,0,0,0,1,0],fingers:[1,0,0,0,2,0],baseFret:1,barres:[],midi:[41,45,50,55,60,64]},{frets:[-1,-1,3,2,3,0],fingers:[0,0,2,1,3,0],baseFret:1,barres:[],midi:[-1,-1,53,57,62,64]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],baseFret:5,midi:[-1,53,57,62,64,69]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,64,69,74]}]},{key:"F",suffix:"m6",positions:[{frets:[1,-1,0,1,1,1],fingers:[1,0,0,2,3,4],baseFret:1,barres:[],midi:[41,-1,50,56,60,65]},{frets:[-1,-1,1,3,1,2],fingers:[0,0,1,3,1,2],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,53,60,62,68]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:6,midi:[-1,53,56,62,65,72]},{frets:[-1,-1,2,2,1,2],fingers:[0,0,2,3,1,4],baseFret:9,barres:[],midi:[-1,-1,60,65,68,74]}]},{key:"F",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:1,barres:[],midi:[41,-1,51,56,60,-1]},{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:13,barres:[],midi:[53,-1,63,68,72,-1]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,56,60,65]},{frets:[-1,-1,1,3,2,2],fingers:[0,0,1,4,2,3],baseFret:3,barres:[],midi:[-1,-1,53,60,63,68]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,63,68,72]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:9,barres:[],midi:[-1,-1,60,65,68,75]}]},{key:"F",suffix:"m7b5",positions:[{frets:[1,-1,1,1,0,-1],fingers:[1,0,2,3,0,0],baseFret:1,barres:[],midi:[41,-1,51,56,59,-1]},{frets:[-1,-1,3,4,4,4],fingers:[0,0,1,2,2,2],barres:[4],baseFret:1,midi:[-1,-1,53,59,63,68]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:8,barres:[],midi:[-1,53,59,63,68,-1]},{frets:[3,1,3,3,0,-1],fingers:[2,1,3,4,0,0],baseFret:11,barres:[],midi:[53,56,63,68,59,-1]}]},{key:"F",suffix:"m9",positions:[{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,48,51,56,60,67]},{frets:[-1,3,3,0,4,4],fingers:[0,1,2,0,3,4],baseFret:1,barres:[],midi:[-1,48,53,55,63,68]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:6,midi:[-1,53,56,63,67,72]},{frets:[3,1,3,0,3,3],fingers:[2,1,3,0,4,4],barres:[3],baseFret:11,midi:[53,56,63,55,72,77]}]},{key:"F",suffix:"m69",positions:[{frets:[1,3,3,1,3,3],fingers:[1,2,2,1,3,4],barres:[1,3],capo:!0,baseFret:1,midi:[41,48,53,56,62,67]},{frets:[2,-1,1,3,1,1],fingers:[2,0,1,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[44,-1,53,60,62,67]},{frets:[-1,3,1,2,3,-1],fingers:[0,3,1,2,4,0],baseFret:6,barres:[],midi:[-1,53,56,62,67,-1]},{frets:[3,1,2,0,3,-1],fingers:[3,1,2,0,4,0],baseFret:11,barres:[],midi:[53,56,62,55,72,-1]}]},{key:"F",suffix:"m11",positions:[{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,46,51,56,60,67]},{frets:[-1,-1,3,3,4,4],fingers:[0,0,1,1,2,3],barres:[3],capo:!0,baseFret:1,midi:[-1,-1,53,58,63,68]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,53,56,63,67,70]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[53,56,63,67,70,75]}]},{key:"F",suffix:"mmaj7",positions:[{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,48,52,56,60,65]},{frets:[-1,-1,1,3,3,2],fingers:[0,0,1,3,4,2],baseFret:3,barres:[],midi:[-1,-1,53,60,64,68]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,60,64,68,72]},{frets:[-1,-1,4,2,2,1],fingers:[0,0,4,2,3,1],baseFret:12,barres:[],midi:[-1,-1,65,68,72,76]}]},{key:"F",suffix:"mmaj7b5",positions:[{frets:[1,2,2,1,0,0],fingers:[1,2,3,1,0,0],barres:[1],baseFret:1,midi:[41,47,52,56,59,64]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:3,barres:[],midi:[-1,-1,53,59,64,68]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:7,midi:[47,53,59,64,68,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:8,barres:[],midi:[-1,53,59,64,68,-1]}]},{key:"F",suffix:"mmaj9",positions:[{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,48,52,56,60,67]},{frets:[-1,-1,1,0,3,2],fingers:[0,0,1,0,4,2],baseFret:3,barres:[],midi:[-1,-1,53,55,64,68]},{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:6,barres:[],midi:[-1,53,56,64,67,-1]},{frets:[3,1,-1,2,3,0],fingers:[3,1,0,2,4,0],baseFret:11,barres:[],midi:[53,56,-1,67,72,64]}]},{key:"F",suffix:"mmaj11",positions:[{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[41,46,52,56,60,67]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:3,midi:[-1,48,53,58,64,68]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:6,midi:[-1,53,56,64,67,70]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,64,68,72]}]},{key:"F",suffix:"add9",positions:[{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:1,barres:[],midi:[-1,-1,53,57,60,67]},{frets:[-1,-1,1,0,4,3],fingers:[0,0,1,0,4,3],baseFret:3,barres:[],midi:[-1,-1,53,55,65,69]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[-1,53,57,60,67,69]},{frets:[-1,2,1,0,2,2],fingers:[0,2,1,0,3,4],baseFret:7,barres:[],midi:[-1,53,57,55,67,72]}]},{key:"F",suffix:"madd9",positions:[{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,53,56,60,67]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:5,barres:[],midi:[-1,53,56,60,67,-1]},{frets:[-1,3,1,0,1,3],fingers:[0,3,1,0,2,4],baseFret:6,barres:[],midi:[-1,53,56,55,65,72]},{frets:[-1,1,3,0,2,1],fingers:[0,1,4,0,3,2],baseFret:8,barres:[],midi:[-1,53,60,55,68,72]}]},{key:"F",suffix:"/C",positions:[{frets:[-1,3,3,2,1,1],fingers:[0,3,4,2,1,1],barres:[1],baseFret:1,midi:[-1,48,53,57,60,65]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,3,4,3],barres:[1],baseFret:3,midi:[-1,48,53,60,65,69]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],baseFret:8,midi:[48,53,60,65,69,72]}]},{key:"F",suffix:"/D",positions:[{frets:[-1,1,3,1,2,1],fingers:[0,1,3,1,2,1],barres:[1],baseFret:5,midi:[-1,50,57,60,65,69]},{frets:[-1,1,3,1,2,4],fingers:[0,1,3,1,2,4],baseFret:5,barres:[],midi:[-1,50,57,60,65,72]}]},{key:"F",suffix:"/D#",positions:[{frets:[-1,-1,1,2,1,1],fingers:[0,0,1,2,1,1],barres:[1],baseFret:1,midi:[-1,-1,51,57,60,65]},{frets:[-1,2,3,1,2,1],fingers:[0,2,4,1,3,1],barres:[1],baseFret:5,midi:[-1,51,57,60,65,69]},{frets:[-1,4,1,3,4,3],fingers:[0,3,1,2,4,2],barres:[3],baseFret:3,midi:[-1,51,53,60,65,69]}]},{key:"F",suffix:"/E",positions:[{frets:[0,0,3,2,1,1],fingers:[0,0,3,2,1,1],barres:[1],baseFret:1,midi:[40,45,53,57,60,65]},{frets:[-1,-1,2,2,1,1],fingers:[0,0,2,3,1,1],barres:[1],baseFret:1,midi:[-1,-1,52,57,60,65]},{frets:[0,3,3,2,1,1],fingers:[0,3,4,2,1,1],barres:[1],baseFret:1,midi:[40,48,53,57,60,65]}]},{key:"F",suffix:"/G",positions:[{frets:[3,0,3,2,1,1],fingers:[3,0,4,2,1,1],barres:[1],baseFret:1,midi:[43,45,53,57,60,65]},{frets:[3,3,3,2,-1,-1],fingers:[2,3,4,1,0,0],baseFret:1,barres:[],midi:[43,48,53,57,-1,-1]},{frets:[1,1,1,3,4,3],fingers:[1,1,1,3,4,3],barres:[1],baseFret:3,midi:[43,48,53,60,65,69]}]},{key:"F",suffix:"/A",positions:[{frets:[-1,0,3,2,1,1],fingers:[0,0,3,2,1,1],barres:[1],baseFret:1,midi:[-1,45,53,57,60,65]},{frets:[4,2,2,1,-1,-1],fingers:[4,2,3,1,0,0],baseFret:2,barres:[],midi:[45,48,53,57,-1,-1]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],baseFret:5,midi:[45,53,57,60,65,69]},{frets:[3,1,1,3,4,0],fingers:[2,1,1,3,4,0],barres:[1],baseFret:3,midi:[45,48,53,60,65,64]}]},{key:"F",suffix:"m/C",positions:[{frets:[-1,3,3,1,1,1],fingers:[0,3,4,1,1,1],barres:[1],baseFret:1,midi:[-1,48,53,56,60,65]},{frets:[-1,3,3,1,1,4],fingers:[0,2,3,1,1,4],barres:[1],baseFret:1,midi:[-1,48,53,56,60,68]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],baseFret:8,midi:[48,53,60,65,68,72]}]}],"F#":[{key:"F#",suffix:"major",positions:[{frets:[2,4,4,3,2,2],fingers:[1,3,4,2,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,54,58,61,66]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,2,4,3],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,66,70]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],capo:!0,baseFret:6,midi:[46,54,58,61,66,70]},{frets:[1,1,3,3,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,66,70,73]}]},{key:"F#",suffix:"minor",positions:[{frets:[2,4,4,2,2,2],fingers:[1,3,4,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,54,57,61,66]},{frets:[-1,1,1,3,4,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,66,69]},{frets:[-1,-1,3,2,3,1],fingers:[0,0,3,2,4,1],baseFret:5,barres:[],midi:[-1,-1,57,61,66,69]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,66,69,73]}]},{key:"F#",suffix:"dim",positions:[{frets:[2,0,-1,2,1,-1],fingers:[2,0,0,3,1,0],baseFret:1,barres:[],midi:[42,45,-1,57,60,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:4,barres:[],midi:[-1,-1,54,60,-1,69]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:7,barres:[],midi:[-1,54,57,-1,66,72]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:9,barres:[],midi:[-1,54,60,66,69,-1]}]},{key:"F#",suffix:"dim7",positions:[{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],capo:!0,baseFret:1,midi:[42,-1,51,57,60,-1]},{frets:[2,3,4,2,4,2],fingers:[1,2,3,1,4,1],barres:[2],capo:!0,baseFret:1,midi:[42,48,54,57,63,66]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:4,barres:[],midi:[-1,-1,54,60,63,69]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,54,60,63,69,72]}]},{key:"F#",suffix:"sus2",positions:[{frets:[2,-1,-1,1,2,2],fingers:[2,0,0,1,3,4],baseFret:1,barres:[],midi:[42,-1,-1,56,61,66]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,61,66,68]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,66,68,73]},{frets:[4,1,1,3,4,-1],fingers:[3,1,1,2,4,0],barres:[1],capo:!0,baseFret:11,midi:[54,56,61,68,73,-1]}]},{key:"F#",suffix:"sus4",positions:[{frets:[2,4,4,4,2,2],fingers:[1,2,3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,54,59,61,66]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,66,71]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,66,71,73]},{frets:[-1,-1,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],capo:!0,baseFret:11,midi:[-1,-1,61,66,71,78]}]},{key:"F#",suffix:"sus2sus4",positions:[{frets:[2,2,4,4,2,4],fingers:[1,1,2,3,1,4],barres:[2],baseFret:1,midi:[42,47,54,59,61,68]},{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],baseFret:9,midi:[-1,54,59,66,68,73]},{frets:[-1,4,1,1,2,2],fingers:[0,4,1,1,2,2],barres:[1,2],baseFret:6,midi:[-1,54,56,61,66,71]}]},{key:"F#",suffix:"7sus4",positions:[{frets:[2,4,2,4,2,2],fingers:[1,3,1,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,52,59,61,66]},{frets:[-1,-1,1,3,2,4],fingers:[0,0,1,3,2,4],baseFret:4,barres:[],midi:[-1,-1,54,61,64,71]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[-1,54,59,64,66,71]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,64,71,73]}]},{key:"F#",suffix:"alt",positions:[{frets:[-1,-1,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:1,barres:[],midi:[-1,-1,54,58,60,66]},{frets:[2,3,4,3,-1,2],fingers:[1,2,4,3,0,1],barres:[2],capo:!0,baseFret:1,midi:[42,48,54,58,-1,66]},{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:4,barres:[],midi:[-1,-1,54,60,66,70]},{frets:[-1,1,2,3,3,1],fingers:[0,1,2,3,4,0],barres:[1],capo:!0,baseFret:9,midi:[-1,54,60,66,70,73]}]},{key:"F#",suffix:"aug",positions:[{frets:[-1,-1,4,3,3,2],fingers:[0,0,4,2,3,1],baseFret:1,barres:[],midi:[-1,-1,54,58,62,66]},{frets:[-1,-1,4,3,3,-1],fingers:[0,0,2,1,1,0],barres:[3],capo:!0,baseFret:1,midi:[-1,-1,54,58,62,-1]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:7,midi:[-1,54,58,62,66,-1]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:11,midi:[54,58,62,66,70,-1]}]},{key:"F#",suffix:"5",positions:[{frets:[2,4,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:1,barres:[],midi:[42,49,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:9,barres:[],midi:[-1,54,61,-1,-1,-1]},{frets:[2,4,4,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:1,barres:[],midi:[42,49,54,-1,-1,-1]}]},{key:"F#",suffix:"6",positions:[{frets:[2,-1,1,3,2,-1],fingers:[2,0,1,4,3,0],baseFret:1,barres:[],midi:[42,-1,51,58,61,-1]},{frets:[2,-1,4,3,4,2],fingers:[1,0,3,2,4,1],barres:[2],capo:!0,baseFret:1,midi:[42,-1,54,58,63,66]},{frets:[-1,1,1,3,1,3],fingers:[0,1,1,3,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,63,70]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,3],barres:[3],baseFret:9,midi:[-1,54,61,66,70,75]}]},{key:"F#",suffix:"69",positions:[{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:1,midi:[42,46,51,56,61,66]},{frets:[-1,-1,4,3,4,4],fingers:[0,0,2,1,3,4],baseFret:1,barres:[],midi:[-1,-1,54,58,63,68]},{frets:[-1,1,1,1,2,1],fingers:[0,1,1,1,2,1],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,61,66,70]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,63,68,73]}]},{key:"F#",suffix:"7",positions:[{frets:[2,4,2,3,2,2],fingers:[1,3,1,2,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,52,58,61,66]},{frets:[-1,1,1,3,2,3],fingers:[0,1,1,3,2,4],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,64,70]},{frets:[-1,3,2,3,1,-1],fingers:[0,3,2,4,1,0],baseFret:7,barres:[],midi:[-1,54,58,64,66,-1]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,64,70,73]}]},{key:"F#",suffix:"7b5",positions:[{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[42,-1,52,58,60,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:4,barres:[],midi:[-1,-1,54,60,64,70]},{frets:[-1,1,2,3,1,2],fingers:[0,1,2,4,1,3],barres:[1],capo:!0,baseFret:7,midi:[-1,52,58,64,66,72]},{frets:[-1,1,2,1,3,0],fingers:[0,1,2,1,3,0],barres:[1],baseFret:9,midi:[-1,54,60,64,70,64]}]},{key:"F#",suffix:"aug7",positions:[{frets:[2,-1,2,3,3,-1],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[42,-1,52,58,62,-1]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:4,barres:[],midi:[-1,-1,54,62,64,70]},{frets:[-1,3,2,1,1,0],fingers:[0,4,3,1,2,0],baseFret:7,barres:[],midi:[-1,54,58,62,66,64]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:9,midi:[-1,54,62,64,70,74]}]},{key:"F#",suffix:"9",positions:[{frets:[2,4,2,3,2,4],fingers:[1,3,1,2,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,49,52,58,61,68]},{frets:[-1,-1,2,1,3,2],fingers:[0,0,2,1,4,3],baseFret:3,barres:[],midi:[-1,-1,54,58,64,68]},{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:8,midi:[49,54,58,64,68,73]},{frets:[-1,1,1,1,1,2],fingers:[0,1,1,1,1,2],barres:[1],capo:!0,baseFret:11,midi:[-1,56,61,66,70,76]}]},{key:"F#",suffix:"9b5",positions:[{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[42,46,52,56,60,66]},{frets:[2,1,2,1,1,0],fingers:[2,1,3,1,1,0],barres:[1],baseFret:1,midi:[42,46,52,56,60,64]},{frets:[-1,1,2,1,3,2],fingers:[0,1,2,1,4,3],barres:[1],capo:!0,baseFret:3,midi:[-1,48,54,58,64,68]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,64,68,72]}]},{key:"F#",suffix:"aug9",positions:[{frets:[2,1,2,1,3,0],fingers:[2,1,3,1,4,0],barres:[1],baseFret:1,midi:[42,46,52,56,62,64]},{frets:[-1,3,2,1,3,0],fingers:[0,3,2,1,4,0],baseFret:7,barres:[],midi:[-1,54,58,62,68,64]},{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:8,midi:[-1,54,58,64,68,74]},{frets:[4,-1,2,3,1,0],fingers:[4,0,2,3,1,0],baseFret:11,barres:[],midi:[54,-1,62,68,70,64]}]},{key:"F#",suffix:"7b9",positions:[{frets:[2,1,2,0,2,0],fingers:[2,1,3,0,4,0],baseFret:1,barres:[],midi:[42,46,52,55,61,64]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,2,1,3,1],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,54,58,64,67]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,64,67,73]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:12,barres:[],midi:[54,58,64,67,-1,-1]}]},{key:"F#",suffix:"7#9",positions:[{frets:[2,1,2,2,2,2],fingers:[2,1,3,3,3,4],barres:[2],baseFret:1,midi:[42,46,52,57,61,66]},{frets:[1,3,1,2,1,4],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:2,midi:[42,49,52,58,61,69]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,2,1,3,4],baseFret:3,barres:[],midi:[-1,-1,54,58,64,69]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:8,barres:[],midi:[-1,54,58,64,69,-1]}]},{key:"F#",suffix:"11",positions:[{frets:[2,1,2,1,0,0],fingers:[3,1,4,2,0,0],baseFret:1,barres:[],midi:[42,46,52,56,59,64]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,59,64,70]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[-1,54,58,64,66,71]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,64,70,73]}]},{key:"F#",suffix:"9#11",positions:[{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[42,46,52,56,60,66]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:4,barres:[],midi:[-1,-1,54,60,64,70]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,64,68,72]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:9,midi:[-1,54,60,64,70,73]}]},{key:"F#",suffix:"13",positions:[{frets:[2,2,1,3,0,0],fingers:[2,3,1,4,0,0],baseFret:1,barres:[],midi:[42,47,51,58,59,64]},{frets:[2,2,2,3,4,4],fingers:[1,1,1,2,3,4],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,58,63,68]},{frets:[-1,3,2,2,1,0],fingers:[0,4,2,3,1,0],baseFret:7,barres:[],midi:[-1,54,58,63,66,64]},{frets:[1,1,1,1,3,3],fingers:[1,1,1,1,3,4],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,64,70,75]}]},{key:"F#",suffix:"maj7",positions:[{frets:[2,4,3,3,2,2],fingers:[1,4,2,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,53,58,61,66]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,65,70]},{frets:[-1,4,3,1,1,1],fingers:[0,4,3,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[-1,54,58,61,65,70]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,65,70,73]}]},{key:"F#",suffix:"maj7b5",positions:[{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[42,46,53,58,60,65]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:4,barres:[],midi:[-1,-1,54,60,65,70]},{frets:[-1,2,1,3,4,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,54,58,65,70,72]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:9,barres:[],midi:[-1,54,60,65,70,-1]}]},{key:"F#",suffix:"maj7#5",positions:[{frets:[2,-1,3,3,3,-1],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[42,-1,53,58,62,-1]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,54,58,62,65,70]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:9,barres:[],midi:[-1,54,62,65,70,-1]},{frets:[-1,-1,2,1,1,3],fingers:[0,0,2,1,1,4],barres:[1],capo:!0,baseFret:11,midi:[-1,-1,62,66,70,77]}]},{key:"F#",suffix:"maj9",positions:[{frets:[2,1,3,1,2,1],fingers:[2,1,4,1,3,1],barres:[1],capo:!0,baseFret:1,midi:[42,46,53,56,61,65]},{frets:[2,-1,3,3,2,4],fingers:[1,0,2,3,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,-1,53,58,61,68]},{frets:[-1,-1,2,1,4,2],fingers:[0,0,2,1,4,3],baseFret:3,barres:[],midi:[-1,-1,54,58,65,68]},{frets:[2,2,1,3,2,-1],fingers:[2,2,1,4,3,0],barres:[2],baseFret:8,midi:[49,54,58,65,68,-1]}]},{key:"F#",suffix:"maj11",positions:[{frets:[2,2,3,3,2,2],fingers:[1,1,2,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,53,58,61,66]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,65,70]},{frets:[-1,2,1,3,0,2],fingers:[0,2,1,4,0,3],baseFret:8,barres:[],midi:[-1,54,58,65,59,73]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,65,70,73]}]},{key:"F#",suffix:"maj13",positions:[{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:1,midi:[42,46,51,56,61,65]},{frets:[-1,3,1,1,3,3],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:4,midi:[-1,51,54,59,65,70]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],baseFret:6,midi:[-1,54,58,63,65,70]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,65,70,75]}]},{key:"F#",suffix:"m6",positions:[{frets:[2,-1,1,2,2,2],fingers:[2,0,1,3,3,4],barres:[2],baseFret:1,midi:[42,-1,51,57,61,66]},{frets:[-1,1,1,3,1,2],fingers:[0,1,1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,63,69]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:7,midi:[-1,54,57,63,66,73]},{frets:[-1,2,4,1,3,-1],fingers:[0,2,4,1,3,0],baseFret:8,barres:[],midi:[-1,54,61,63,69,-1]}]},{key:"F#",suffix:"m7",positions:[{frets:[2,-1,2,2,2,-1],fingers:[2,0,3,3,3,0],baseFret:1,barres:[],midi:[42,-1,52,57,61,-1]},{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:14,barres:[],midi:[54,-1,64,69,73,-1]},{frets:[2,4,2,2,2,2],fingers:[1,3,1,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,52,57,61,66]},{frets:[-1,-1,1,3,2,2],fingers:[0,0,1,4,2,3],baseFret:4,barres:[],midi:[-1,-1,54,61,64,69]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,64,69,73]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:10,barres:[],midi:[-1,-1,61,66,69,76]}]},{key:"F#",suffix:"m7b5",positions:[{frets:[2,0,2,2,1,0],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[42,45,52,57,60,64]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:4,midi:[-1,-1,54,60,64,69]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:9,barres:[],midi:[-1,54,60,64,69,-1]},{frets:[-1,-1,1,2,1,3],fingers:[0,0,1,2,1,4],barres:[1],capo:!0,baseFret:10,midi:[-1,-1,60,66,69,76]}]},{key:"F#",suffix:"m9",positions:[{frets:[2,0,2,1,2,0],fingers:[2,0,3,1,4,0],baseFret:1,barres:[],midi:[42,45,52,56,61,64]},{frets:[2,4,2,2,2,4],fingers:[1,2,1,1,1,3],barres:[2],capo:!0,baseFret:1,midi:[42,49,52,57,61,68]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:7,midi:[-1,54,57,64,68,73]},{frets:[-1,-1,2,4,1,3],fingers:[0,0,2,4,1,3],baseFret:10,barres:[],midi:[-1,-1,61,68,69,76]}]},{key:"F#",suffix:"m69",positions:[{frets:[2,0,1,1,2,2],fingers:[2,0,1,1,3,4],barres:[1],baseFret:1,midi:[42,45,51,56,61,66]},{frets:[2,4,4,2,4,4],fingers:[1,2,2,1,3,4],barres:[4],baseFret:1,midi:[42,49,54,57,63,68]},{frets:[2,1,1,3,1,1],fingers:[2,1,1,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[45,49,54,61,63,68]},{frets:[-1,3,1,2,3,-1],fingers:[0,3,1,2,4,0],baseFret:7,barres:[],midi:[-1,54,57,63,68,-1]}]},{key:"F#",suffix:"m11",positions:[{frets:[2,0,2,1,0,0],fingers:[2,0,3,1,0,0],baseFret:1,barres:[],midi:[42,45,52,56,59,64]},{frets:[2,2,2,2,2,4],fingers:[1,1,1,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,57,61,68]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,64,69]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[-1,54,57,64,68,71]}]},{key:"F#",suffix:"mmaj7",positions:[{frets:[2,4,3,2,2,2],fingers:[1,3,2,1,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,49,53,57,61,66]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,61,65,69]},{frets:[-1,4,2,1,1,-1],fingers:[0,4,2,1,1,0],barres:[1],capo:!0,baseFret:6,midi:[-1,54,57,61,65,-1]},{frets:[1,1,3,2,2,1],fingers:[1,1,4,2,3,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,61,65,69,73]}]},{key:"F#",suffix:"mmaj7b5",positions:[{frets:[2,3,3,2,-1,2],fingers:[1,2,3,1,0,1],barres:[2],capo:!0,baseFret:1,midi:[42,48,53,57,-1,66]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:4,barres:[],midi:[-1,-1,54,60,65,69]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:8,midi:[48,54,60,65,69,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:9,barres:[],midi:[-1,54,60,65,69,-1]}]},{key:"F#",suffix:"mmaj9",positions:[{frets:[2,0,3,1,2,1],fingers:[2,0,4,1,3,1],barres:[1],baseFret:1,midi:[42,45,53,56,61,65]},{frets:[2,0,3,1,2,-1],fingers:[2,0,4,1,3,0],baseFret:1,barres:[],midi:[42,45,53,56,61,-1]},{frets:[2,4,3,2,2,4],fingers:[1,3,2,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,49,53,57,61,68]},{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:7,barres:[],midi:[-1,54,57,65,68,-1]}]},{key:"F#",suffix:"mmaj11",positions:[{frets:[2,2,3,2,2,4],fingers:[1,1,2,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,47,53,57,61,68]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:4,midi:[-1,49,54,59,65,69]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:7,midi:[-1,54,57,65,68,71]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,65,69,73]}]},{key:"F#",suffix:"add9",positions:[{frets:[2,1,-1,1,2,2],fingers:[3,1,0,2,4,4],barres:[2],baseFret:1,midi:[42,46,-1,56,61,66]},{frets:[-1,-1,4,3,2,4],fingers:[0,0,3,2,1,4],baseFret:1,barres:[],midi:[-1,-1,54,58,61,68]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[-1,54,58,61,68,70]},{frets:[-1,2,1,-1,2,2],fingers:[0,2,1,0,3,4],baseFret:8,barres:[],midi:[-1,54,58,-1,68,73]}]},{key:"F#",suffix:"madd9",positions:[{frets:[-1,-1,4,2,2,4],fingers:[0,0,3,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[-1,-1,54,57,61,68]},{frets:[2,4,4,2,2,4],fingers:[1,2,3,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[42,49,54,57,61,68]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:6,barres:[],midi:[-1,54,57,61,68,-1]},{frets:[-1,3,1,-1,3,3],fingers:[0,2,1,0,3,4],baseFret:7,barres:[],midi:[-1,54,57,-1,68,73]}]}],G:[{key:"G",suffix:"major",positions:[{frets:[3,2,0,0,0,3],fingers:[2,1,0,0,0,3],baseFret:1,barres:[],midi:[43,47,50,55,59,67]},{frets:[3,2,0,0,0,3],fingers:[3,2,0,0,0,4],baseFret:1,barres:[],midi:[43,47,50,55,59,67]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,55,59,62,67]},{frets:[-1,-1,1,3,4,3],fingers:[0,0,1,2,4,3],baseFret:5,barres:[],midi:[-1,-1,55,62,67,71]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],capo:!0,baseFret:7,midi:[47,55,59,62,67,71]}]},{key:"G",suffix:"minor",positions:[{frets:[3,1,0,0,3,3],fingers:[2,1,0,0,3,4],baseFret:1,barres:[],midi:[43,46,50,55,62,67]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,55,58,62,67]},{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:5,barres:[],midi:[-1,-1,55,62,67,70]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,67,70,74]}]},{key:"G",suffix:"dim",positions:[{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:1,barres:[],midi:[43,46,-1,58,61,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:5,barres:[],midi:[-1,-1,55,61,-1,70]},{frets:[-1,3,1,-1,1,2],fingers:[0,1,2,4,3,0],baseFret:8,barres:[],midi:[-1,55,58,-1,67,73]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:10,barres:[],midi:[-1,55,61,67,70,-1]}]},{key:"G",suffix:"dim7",positions:[{frets:[3,1,-1,3,2,0],fingers:[3,1,0,4,2,0],baseFret:1,barres:[],midi:[43,46,-1,58,61,64]},{frets:[3,-1,2,3,2,0],fingers:[3,0,1,4,2,0],baseFret:1,barres:[],midi:[43,-1,52,58,61,64]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,49,55,58,64,67]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:5,barres:[],midi:[-1,-1,55,61,64,70]}]},{key:"G",suffix:"sus2",positions:[{frets:[3,0,0,0,3,3],fingers:[1,0,0,0,2,3],baseFret:1,barres:[],midi:[43,45,50,55,62,67]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,62,67,69]},{frets:[-1,4,1,1,2,4],fingers:[0,3,1,1,2,4],barres:[1],capo:!0,baseFret:7,midi:[-1,55,57,62,67,74]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,67,69,74]}]},{key:"G",suffix:"sus4",positions:[{frets:[3,3,0,0,1,3],fingers:[2,3,0,0,1,4],baseFret:1,barres:[],midi:[43,48,50,55,60,67]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,55,60,62,67]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,3,4,4],barres:[1,4],capo:!0,baseFret:5,midi:[-1,50,55,62,67,72]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,67,72,74]}]},{key:"G",suffix:"sus2sus4",positions:[{frets:[3,3,0,2,1,-1],fingers:[3,4,0,2,1,0],baseFret:1,barres:[],midi:[43,48,50,57,60,-1]},{frets:[3,3,0,2,3,-1],fingers:[2,3,0,1,4,0],baseFret:1,barres:[],midi:[43,48,50,57,62,-1]},{frets:[3,0,0,2,1,3],fingers:[3,0,0,2,1,4],baseFret:1,barres:[],midi:[43,45,50,57,60,67]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],baseFret:3,midi:[43,48,55,60,62,69]},{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],baseFret:10,midi:[-1,55,60,67,69,74]}]},{key:"G",suffix:"7sus4",positions:[{frets:[3,3,0,0,1,1],fingers:[2,3,0,0,1,1],barres:[1],capo:!0,baseFret:1,midi:[43,48,50,55,60,65]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,60,62,67]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[-1,55,60,65,67,72]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,65,72,74]}]},{key:"G",suffix:"alt",positions:[{frets:[3,2,-1,0,2,3],fingers:[3,1,0,0,2,4],baseFret:1,barres:[],midi:[43,47,-1,55,61,67]},{frets:[-1,-1,1,2,0,3],fingers:[0,0,1,2,0,3],baseFret:5,barres:[],midi:[-1,-1,55,61,59,71]},{frets:[-1,2,1,0,0,1],fingers:[0,3,1,0,0,2],baseFret:9,barres:[],midi:[-1,55,59,55,59,73]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:10,barres:[],midi:[-1,55,61,67,71,-1]}]},{key:"G",suffix:"aug",positions:[{frets:[3,2,1,0,0,-1],fingers:[3,2,1,0,0,0],baseFret:1,barres:[],midi:[43,47,51,55,59,-1]},{frets:[1,-1,3,2,2,-1],fingers:[1,0,4,2,3,0],baseFret:3,barres:[],midi:[43,-1,55,59,63,-1]},{frets:[-1,-1,2,1,1,-1],fingers:[0,0,2,1,1,0],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,55,59,63,-1]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:8,midi:[-1,55,59,63,67,-1]}]},{key:"G",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:3,barres:[],midi:[43,50,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:10,barres:[],midi:[-1,55,62,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:3,barres:[],midi:[43,50,55,-1,-1,-1]}]},{key:"G",suffix:"6",positions:[{frets:[3,2,0,0,0,0],fingers:[2,1,0,0,0,0],baseFret:1,barres:[],midi:[43,47,50,55,59,64]},{frets:[3,-1,2,4,3,-1],fingers:[2,0,1,4,3,0],baseFret:1,barres:[],midi:[43,-1,52,59,62,-1]},{frets:[-1,1,1,3,1,3],fingers:[0,1,1,3,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,64,71]},{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,4],barres:[3],baseFret:10,midi:[-1,55,62,67,71,76]}]},{key:"G",suffix:"69",positions:[{frets:[3,0,0,0,0,0],fingers:[1,0,0,0,0,0],baseFret:1,barres:[],midi:[43,45,50,55,59,64]},{frets:[3,2,2,2,3,3],fingers:[2,1,1,1,3,4],barres:[2],capo:!0,baseFret:1,midi:[43,47,52,57,62,67]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],capo:!0,baseFret:4,midi:[-1,50,55,59,64,69]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:9,midi:[-1,55,59,64,69,74]}]},{key:"G",suffix:"7",positions:[{frets:[3,2,0,0,0,1],fingers:[3,2,0,0,0,1],baseFret:1,barres:[],midi:[43,47,50,55,59,65]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,59,62,67]},{frets:[-1,1,1,3,2,3],fingers:[0,1,1,3,2,4],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,65,71]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,65,71,74]}]},{key:"G",suffix:"7b5",positions:[{frets:[3,-1,3,4,2,-1],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[43,-1,53,59,61,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:5,barres:[],midi:[-1,-1,55,61,65,71]},{frets:[-1,2,1,2,0,1],fingers:[0,3,1,4,0,2],baseFret:9,barres:[],midi:[-1,55,59,65,59,73]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:10,midi:[-1,55,61,65,71,-1]}]},{key:"G",suffix:"aug7",positions:[{frets:[3,2,1,0,0,1],fingers:[4,3,1,0,0,2],baseFret:1,barres:[],midi:[43,47,51,55,59,65]},{frets:[3,-1,3,4,4,-1],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[43,-1,53,59,63,-1]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:5,barres:[],midi:[-1,-1,55,63,65,71]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:10,midi:[-1,55,63,65,71,75]}]},{key:"G",suffix:"9",positions:[{frets:[3,0,0,0,0,1],fingers:[3,0,0,0,0,1],baseFret:1,barres:[],midi:[43,45,50,55,59,65]},{frets:[3,2,3,2,3,-1],fingers:[2,1,3,1,4,0],barres:[2],capo:!0,baseFret:1,midi:[43,47,53,57,62,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,59,62,69]},{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:9,midi:[50,55,59,65,69,74]}]},{key:"G",suffix:"9b5",positions:[{frets:[3,2,3,2,2,3],fingers:[2,1,3,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[43,47,53,57,61,67]},{frets:[1,2,1,2,0,3],fingers:[1,2,1,3,0,4],barres:[1],baseFret:3,midi:[43,49,53,59,59,69]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[-1,55,59,65,69,73]},{frets:[-1,2,1,0,0,3],fingers:[0,2,1,0,0,3],baseFret:11,barres:[],midi:[-1,57,61,55,59,77]}]},{key:"G",suffix:"aug9",positions:[{frets:[3,0,1,0,0,1],fingers:[3,0,2,0,0,1],baseFret:1,barres:[],midi:[43,45,51,55,59,65]},{frets:[3,2,3,2,4,-1],fingers:[2,1,3,1,4,0],baseFret:1,barres:[],midi:[43,47,53,57,63,-1]},{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:9,midi:[-1,55,59,65,69,75]},{frets:[-1,1,2,0,1,2],fingers:[0,1,3,0,2,4],baseFret:12,barres:[],midi:[-1,57,63,55,71,77]}]},{key:"G",suffix:"7b9",positions:[{frets:[3,2,0,1,3,1],fingers:[3,2,0,1,4,1],barres:[1],baseFret:1,midi:[43,47,50,56,62,65]},{frets:[3,-1,3,4,3,4],fingers:[1,0,1,2,1,3],barres:[3],capo:!0,baseFret:1,midi:[43,-1,53,59,62,68]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,2,1,3,1],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,55,59,65,68]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:9,midi:[-1,55,59,65,68,74]}]},{key:"G",suffix:"7#9",positions:[{frets:[3,2,0,3,0,1],fingers:[3,2,0,4,0,1],baseFret:1,barres:[],midi:[43,47,50,58,59,65]},{frets:[1,3,1,2,4,4],fingers:[1,3,1,2,4,4],barres:[1,4],capo:!0,baseFret:3,midi:[43,50,53,59,65,70]},{frets:[-1,2,2,1,3,3],fingers:[0,2,3,1,4,4],barres:[3],baseFret:4,midi:[-1,50,55,59,65,70]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:9,barres:[],midi:[-1,55,59,65,70,-1]}]},{key:"G",suffix:"11",positions:[{frets:[3,2,0,0,1,1],fingers:[3,2,0,0,1,1],barres:[1],baseFret:1,midi:[43,47,50,55,60,65]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,60,65,71]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[-1,55,59,65,67,72]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:10,midi:[-1,55,60,65,71,74]}]},{key:"G",suffix:"9#11",positions:[{frets:[3,2,3,2,2,3],fingers:[2,1,3,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[43,47,53,57,61,67]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:5,barres:[],midi:[-1,-1,55,61,65,71]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[-1,55,59,65,69,73]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:10,midi:[-1,55,61,65,71,74]}]},{key:"G",suffix:"13",positions:[{frets:[3,0,2,0,0,1],fingers:[3,0,2,0,0,1],baseFret:1,barres:[],midi:[43,45,52,55,59,65]},{frets:[1,-1,1,2,3,3],fingers:[1,0,1,2,3,4],barres:[1],capo:!0,baseFret:3,midi:[43,-1,53,59,64,69]},{frets:[1,3,1,2,3,1],fingers:[1,3,1,2,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,59,64,67]},{frets:[-1,2,1,2,2,4],fingers:[0,2,1,3,3,4],barres:[2],baseFret:9,midi:[-1,55,59,65,69,76]}]},{key:"G",suffix:"maj7",positions:[{frets:[3,2,0,0,0,2],fingers:[3,2,0,0,0,1],baseFret:1,barres:[],midi:[43,47,50,55,59,66]},{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,54,59,62,67]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1,3],capo:!0,baseFret:5,midi:[-1,50,55,62,66,71]},{frets:[-1,1,3,2,3,1],fingers:[0,1,3,2,4,1],barres:[1],capo:!0,baseFret:10,midi:[-1,55,62,66,71,74]}]},{key:"G",suffix:"maj7b5",positions:[{frets:[3,2,4,4,2,2],fingers:[2,1,3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[43,47,54,59,61,66]},{frets:[3,4,4,4,-1,-1],fingers:[1,2,3,4,0,0],baseFret:1,barres:[],midi:[43,49,54,59,-1,-1]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:5,barres:[],midi:[-1,-1,55,61,66,71]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:10,barres:[],midi:[-1,55,61,66,71,-1]}]},{key:"G",suffix:"maj7#5",positions:[{frets:[-1,-1,1,0,0,2],fingers:[0,0,1,0,0,3],baseFret:1,barres:[],midi:[-1,-1,51,55,59,66]},{frets:[3,-1,4,4,4,-1],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[43,-1,54,59,63,-1]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,55,59,63,66,71]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:10,barres:[],midi:[-1,55,63,66,71,-1]}]},{key:"G",suffix:"maj9",positions:[{frets:[3,0,0,0,0,2],fingers:[2,0,0,0,0,1],baseFret:1,barres:[],midi:[43,45,50,55,59,66]},{frets:[3,2,4,2,3,2],fingers:[2,1,4,1,3,1],barres:[2],capo:!0,baseFret:1,midi:[43,47,54,57,62,66]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:3,barres:[],midi:[-1,-1,54,59,62,69]},{frets:[-1,2,1,3,2,-1],fingers:[0,2,1,4,3,0],baseFret:9,barres:[],midi:[-1,55,59,66,69,-1]}]},{key:"G",suffix:"maj11",positions:[{frets:[3,2,0,0,1,2],fingers:[4,2,0,0,1,3],baseFret:1,barres:[],midi:[43,47,50,55,60,66]},{frets:[3,3,4,4,3,3],fingers:[1,1,2,3,1,1],barres:[3],capo:!0,baseFret:1,midi:[43,48,54,59,62,67]},{frets:[-1,-1,3,0,1,2],fingers:[0,0,3,0,1,2],baseFret:7,barres:[],midi:[-1,-1,59,55,66,72]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,60,66,71,74]}]},{key:"G",suffix:"maj13",positions:[{frets:[3,2,2,2,3,2],fingers:[3,1,1,1,3,1],barres:[2,3],capo:!0,baseFret:1,midi:[43,47,52,57,62,66]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,48,54,59,64,67]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],baseFret:7,midi:[-1,55,59,64,66,71]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:10,midi:[-1,55,60,66,71,76]}]},{key:"G",suffix:"m6",positions:[{frets:[3,-1,2,3,3,3],fingers:[2,0,1,3,4,4],barres:[3],baseFret:1,midi:[43,-1,52,58,62,67]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,55,58,64,67]},{frets:[-1,1,1,3,1,2],fingers:[0,1,1,3,1,2],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,64,70]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,55,58,64,67,74]}]},{key:"G",suffix:"m7",positions:[{frets:[3,-1,3,3,3,-1],fingers:[2,0,3,3,3,0],baseFret:1,barres:[],midi:[43,-1,53,58,62,-1]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,58,62,67]},{frets:[-1,1,1,3,2,2],fingers:[0,1,1,4,2,3],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,65,70]},{frets:[-1,3,1,3,1,3],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:8,midi:[-1,55,58,65,67,74]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,62,65,70,74]}]},{key:"G",suffix:"m7b5",positions:[{frets:[3,-1,-1,3,2,1],fingers:[3,0,0,4,2,1],baseFret:1,barres:[],midi:[43,-1,-1,58,61,65]},{frets:[3,-1,3,3,2,-1],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[43,-1,53,58,61,-1]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:5,midi:[-1,-1,55,61,65,70]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:10,barres:[],midi:[-1,55,61,65,70,-1]}]},{key:"G",suffix:"m9",positions:[{frets:[3,0,0,3,3,1],fingers:[2,0,0,3,4,1],baseFret:1,barres:[],midi:[43,45,50,58,62,65]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[43,50,53,58,62,69]},{frets:[-1,-1,2,0,1,1],fingers:[0,0,2,0,1,1],barres:[1],baseFret:6,midi:[-1,-1,57,55,65,70]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:8,midi:[-1,55,58,65,69,74]}]},{key:"G",suffix:"m69",positions:[{frets:[3,1,0,2,3,0],fingers:[3,1,0,2,4,0],baseFret:1,barres:[],midi:[43,46,50,57,62,64]},{frets:[-1,3,3,1,3,3],fingers:[0,2,2,1,3,4],barres:[3],baseFret:3,midi:[-1,50,55,58,64,69]},{frets:[2,1,1,3,1,1],fingers:[2,1,1,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[46,50,55,62,64,69]},{frets:[-1,3,1,2,3,3],fingers:[0,3,1,2,4,4],barres:[3],baseFret:8,midi:[-1,55,58,64,69,74]}]},{key:"G",suffix:"m11",positions:[{frets:[3,-1,3,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[43,-1,53,58,60,-1]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[43,48,53,58,62,69]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,55,60,66,71]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,55,58,65,69,72]}]},{key:"G",suffix:"mmaj7",positions:[{frets:[3,1,0,0,3,2],fingers:[3,1,0,0,4,2],baseFret:1,barres:[],midi:[43,46,50,55,62,66]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:3,midi:[43,50,54,58,62,67]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,62,66,70]},{frets:[-1,1,3,2,2,1],fingers:[0,1,4,2,3,1],barres:[1],capo:!0,baseFret:10,midi:[-1,55,62,66,70,74]}]},{key:"G",suffix:"mmaj7b5",positions:[{frets:[3,4,4,3,-1,3],fingers:[1,2,3,1,0,1],barres:[3],capo:!0,baseFret:1,midi:[43,49,54,58,-1,67]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:5,barres:[],midi:[-1,-1,55,61,66,70]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:9,midi:[49,55,61,66,70,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:10,barres:[],midi:[-1,55,61,66,70,-1]}]},{key:"G",suffix:"mmaj9",positions:[{frets:[3,0,0,3,3,2],fingers:[2,0,0,3,4,1],baseFret:1,barres:[],midi:[43,45,50,58,62,66]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[43,50,54,58,62,69]},{frets:[-1,-1,2,0,2,1],fingers:[0,0,2,0,3,1],baseFret:6,barres:[],midi:[-1,-1,57,55,66,70]},{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:8,barres:[],midi:[-1,55,58,66,69,-1]}]},{key:"G",suffix:"mmaj11",positions:[{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[43,48,54,58,62,69]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:5,midi:[-1,50,55,60,66,70]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:8,midi:[-1,55,58,66,69,72]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:10,midi:[50,55,60,66,70,74]}]},{key:"G",suffix:"add9",positions:[{frets:[3,0,0,2,0,3],fingers:[2,0,0,1,0,3],baseFret:1,barres:[],midi:[43,45,50,57,59,67]},{frets:[-1,-1,3,2,1,4],fingers:[0,0,3,2,1,4],baseFret:1,barres:[],midi:[-1,-1,53,57,60,68]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[-1,55,59,62,69,71]},{frets:[-1,2,1,0,2,2],fingers:[0,2,1,0,3,4],baseFret:9,barres:[],midi:[-1,55,59,55,69,74]}]},{key:"G",suffix:"madd9",positions:[{frets:[3,1,0,2,3,3],fingers:[3,1,0,2,4,4],barres:[3],baseFret:1,midi:[43,46,50,57,62,67]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,55,58,62,69]},{frets:[-1,-1,2,0,3,1],fingers:[0,0,2,0,3,1],baseFret:6,barres:[],midi:[-1,-1,57,55,67,70]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:7,barres:[],midi:[-1,55,58,62,69,-1]}]},{key:"G",suffix:"/F#",positions:[{frets:[2,2,0,0,0,3],fingers:[1,2,0,0,0,3],baseFret:1,barres:[],midi:[42,47,50,55,59,67]},{frets:[2,2,0,0,3,3],fingers:[1,2,0,0,3,4],baseFret:1,barres:[],midi:[42,47,50,55,62,67]},{frets:[-1,-1,4,4,3,3],fingers:[0,0,2,3,1,1],barres:[3],baseFret:1,midi:[-1,-1,54,59,62,67]}]},{key:"G",suffix:"/B",positions:[{frets:[-1,2,0,0,3,3],fingers:[0,1,0,0,2,3],baseFret:1,barres:[],midi:[-1,47,50,55,62,67]},{frets:[-1,2,0,0,0,3],fingers:[0,1,0,0,0,2],baseFret:1,barres:[],midi:[-1,47,50,55,59,67]},{frets:[-1,1,4,3,2,2],fingers:[0,1,4,3,2,2],barres:[2],baseFret:2,midi:[-1,47,55,59,62,67]}]},{key:"G",suffix:"/D",positions:[{frets:[-1,-1,0,0,0,3],fingers:[0,0,0,0,0,1],baseFret:1,barres:[],midi:[-1,-1,50,55,59,67]},{frets:[-1,3,3,2,1,1],fingers:[0,3,4,2,1,1],barres:[1],baseFret:3,midi:[-1,50,55,59,62,67]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,3,4,3],barres:[1],baseFret:5,midi:[-1,50,55,62,67,71]}]},{key:"G",suffix:"/E",positions:[{frets:[0,2,0,0,3,3],fingers:[0,1,0,0,2,3],baseFret:1,barres:[],midi:[40,47,50,55,62,67]},{frets:[0,2,0,0,0,3],fingers:[0,1,0,0,0,2],baseFret:1,barres:[],midi:[40,47,50,55,59,67]},{frets:[-1,-1,2,4,3,3],fingers:[0,0,1,4,2,3],baseFret:1,barres:[],midi:[-1,-1,52,59,62,67]}]},{key:"G",suffix:"/F",positions:[{frets:[1,2,0,0,3,3],fingers:[1,2,0,0,3,4],baseFret:1,barres:[],midi:[41,47,50,55,62,67]},{frets:[1,2,0,0,0,3],fingers:[1,2,0,0,0,3],baseFret:1,barres:[],midi:[41,47,50,55,59,67]},{frets:[-1,-1,3,4,3,3],fingers:[0,0,1,2,1,1],baseFret:1,barres:[],midi:[-1,-1,53,59,62,67]}]}],"G#":[{key:"G#",suffix:"major",positions:[{frets:[4,3,1,1,1,-1],fingers:[3,2,1,1,1,0],barres:[1],capo:!0,baseFret:1,midi:[44,48,51,56,60,-1]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,60,63,68]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,2,4,3],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,68,72]},{frets:[1,4,3,1,2,1],fingers:[1,4,3,1,2,1],barres:[1],capo:!0,baseFret:8,midi:[48,56,60,63,68,72]}]},{key:"G#",suffix:"minor",positions:[{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,59,63,68]},{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:6,barres:[],midi:[-1,-1,56,63,68,71]},{frets:[-1,-1,3,2,3,1],fingers:[0,0,3,2,4,1],baseFret:7,barres:[],midi:[-1,-1,59,63,68,71]},{frets:[1,1,3,3,2,1],fingers:[1,1,3,4,2,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,68,71,75]}]},{key:"G#",suffix:"dim",positions:[{frets:[4,2,-1,4,3,-1],fingers:[3,1,0,4,2,0],baseFret:1,barres:[],midi:[44,47,-1,59,62,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:6,barres:[],midi:[-1,-1,56,62,-1,71]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:9,barres:[],midi:[-1,56,59,-1,68,74]},{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:11,barres:[],midi:[-1,56,62,68,71,-1]}]},{key:"G#",suffix:"dim7",positions:[{frets:[-1,-1,0,1,0,1],fingers:[0,0,0,1,0,2],baseFret:1,barres:[],midi:[-1,-1,50,56,59,65]},{frets:[4,-1,3,4,3,4],fingers:[2,0,1,3,1,4],barres:[3],capo:!0,baseFret:1,midi:[44,-1,53,59,62,68]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:6,barres:[],midi:[-1,-1,56,62,65,71]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[50,56,62,65,71,74]}]},{key:"G#",suffix:"sus2",positions:[{frets:[4,-1,-1,3,4,4],fingers:[2,0,0,1,3,4],baseFret:1,barres:[],midi:[44,-1,-1,58,63,68]},{frets:[1,3,3,-1,1,3],fingers:[1,2,3,0,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,-1,63,70]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,63,68,70]},{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,68,70,75]}]},{key:"G#",suffix:"sus4",positions:[{frets:[-1,-1,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,51,56,61,68]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,61,63,68]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,68,73]},{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,68,73,75]}]},{key:"G#",suffix:"7sus4",positions:[{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,2],barres:[1,2],capo:!0,baseFret:1,midi:[-1,-1,51,56,61,66]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,61,63,68]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[-1,56,61,66,68,73]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,66,73,75]}]},{key:"G#",suffix:"alt",positions:[{frets:[-1,-1,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:3,barres:[],midi:[-1,-1,56,60,62,68]},{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:6,barres:[],midi:[-1,-1,56,62,68,72]},{frets:[-1,2,1,4,4,1],fingers:[0,2,1,4,4,1],barres:[1,4],capo:!0,baseFret:10,midi:[-1,56,60,68,72,74]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:11,barres:[],midi:[-1,56,62,68,72,-1]}]},{key:"G#",suffix:"aug",positions:[{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:1,midi:[44,48,52,56,60,-1]},{frets:[1,-1,3,2,2,-1],fingers:[1,0,4,2,3,0],baseFret:4,barres:[],midi:[44,-1,56,60,64,-1]},{frets:[-1,-1,2,1,1,-1],fingers:[0,0,2,1,1,0],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,56,60,64,-1]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:9,midi:[-1,56,60,64,68,-1]}]},{key:"G#",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:4,barres:[],midi:[44,51,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:11,barres:[],midi:[-1,56,63,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:4,barres:[],midi:[44,51,56,-1,-1,-1]}]},{key:"G#",suffix:"6",positions:[{frets:[-1,3,1,1,1,1],fingers:[0,3,1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,48,51,56,60,65]},{frets:[2,-1,1,3,2,-1],fingers:[2,0,1,4,3,0],baseFret:3,barres:[],midi:[44,-1,53,60,63,-1]},{frets:[-1,1,1,3,1,3],fingers:[0,1,1,3,1,4],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,65,72]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:9,barres:[],midi:[-1,56,60,65,68,-1]}]},{key:"G#",suffix:"69",positions:[{frets:[-1,1,1,1,1,1],fingers:[0,1,1,1,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,56,60,65]},{frets:[4,3,3,3,4,4],fingers:[2,1,1,1,3,4],barres:[3],capo:!0,baseFret:1,midi:[44,48,53,58,63,68]},{frets:[-1,-1,2,1,2,2],fingers:[0,0,2,1,3,4],baseFret:5,barres:[],midi:[-1,-1,56,60,65,70]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:10,midi:[-1,56,60,65,70,75]}]},{key:"G#",suffix:"7",positions:[{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:1,midi:[-1,-1,51,56,60,66]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,60,63,68]},{frets:[-1,1,1,3,2,3],fingers:[0,1,1,3,2,4],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,66,72]},{frets:[1,1,3,1,3,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,66,72,75]}]},{key:"G#",suffix:"7b5",positions:[{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:3,barres:[],midi:[44,-1,54,60,62,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:6,barres:[],midi:[-1,-1,56,62,66,72]},{frets:[-1,1,2,3,1,2],fingers:[0,1,2,4,1,3],barres:[1],capo:!0,baseFret:9,midi:[-1,54,60,66,68,74]},{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:11,midi:[-1,56,62,66,72,-1]}]},{key:"G#",suffix:"aug7",positions:[{frets:[1,-1,1,2,2,0],fingers:[1,0,2,3,4,0],baseFret:4,barres:[],midi:[44,-1,54,60,64,64]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:6,barres:[],midi:[-1,-1,56,64,66,72]},{frets:[-1,3,2,3,1,0],fingers:[0,3,2,4,1,0],baseFret:9,barres:[],midi:[-1,56,60,66,68,64]},{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:11,midi:[-1,56,64,66,72,76]}]},{key:"G#",suffix:"9",positions:[{frets:[4,3,4,3,4,-1],fingers:[2,1,3,1,4,0],barres:[3],capo:!0,baseFret:1,midi:[44,48,54,58,63,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,60,63,70]},{frets:[-1,-1,2,1,3,2],fingers:[0,0,2,1,4,3],baseFret:5,barres:[],midi:[-1,-1,56,60,66,70]},{frets:[2,2,1,2,2,2],fingers:[2,2,1,3,3,4],barres:[2],baseFret:10,midi:[51,56,60,66,70,75]}]},{key:"G#",suffix:"9b5",positions:[{frets:[4,3,0,3,-1,2],fingers:[4,2,0,3,0,1],baseFret:1,barres:[],midi:[44,48,50,58,-1,66]},{frets:[4,3,4,3,3,4],fingers:[2,1,3,1,1,4],barres:[3],capo:!0,baseFret:1,midi:[44,48,54,58,62,68]},{frets:[1,2,1,2,-1,3],fingers:[1,2,1,3,0,4],barres:[1],capo:!0,baseFret:4,midi:[44,50,54,60,-1,70]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[-1,56,60,66,70,74]}]},{key:"G#",suffix:"aug9",positions:[{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[42,46,52,56,60,66]},{frets:[2,1,2,1,3,0],fingers:[2,1,3,1,4,0],barres:[1],baseFret:3,midi:[44,48,54,58,64,64]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:4,barres:[],midi:[-1,-1,54,60,64,70]},{frets:[-1,2,1,2,2,0],fingers:[0,2,1,3,4,0],baseFret:10,barres:[],midi:[-1,56,60,66,70,64]}]},{key:"G#",suffix:"7b9",positions:[{frets:[-1,0,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],baseFret:1,midi:[-1,45,51,56,60,66]},{frets:[-1,-1,1,2,1,2],fingers:[1,0,1,2,1,3],barres:[1],baseFret:4,midi:[-1,-1,54,60,63,69]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,2,1,3,1],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,56,60,66,69]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:10,midi:[-1,56,60,66,69,75]}]},{key:"G#",suffix:"7#9",positions:[{frets:[4,3,4,4,4,4],fingers:[2,1,3,3,3,4],barres:[4],baseFret:1,midi:[44,48,54,59,63,68]},{frets:[1,3,1,2,4,4],fingers:[1,3,1,2,4,4],barres:[1,4],capo:!0,baseFret:4,midi:[44,51,54,60,66,71]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,3,1,4,4],barres:[3],baseFret:5,midi:[-1,-1,56,60,66,71]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:10,barres:[],midi:[-1,56,60,66,71,-1]}]},{key:"G#",suffix:"11",positions:[{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,60,63,68]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,61,66,72]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:9,midi:[-1,56,60,66,68,73]},{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:11,midi:[-1,56,61,66,72,75]}]},{key:"G#",suffix:"9#11",positions:[{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:3,barres:[],midi:[44,-1,54,60,62,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:6,barres:[],midi:[-1,-1,56,62,66,72]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[-1,56,60,66,70,74]},{frets:[-1,1,2,1,3,1],fingers:[0,1,2,1,3,1],barres:[1],capo:!0,baseFret:11,midi:[-1,56,62,66,72,75]}]},{key:"G#",suffix:"13",positions:[{frets:[4,1,3,1,1,2],fingers:[4,1,3,1,1,2],barres:[1],capo:!0,baseFret:1,midi:[44,46,53,56,60,66]},{frets:[1,3,1,2,3,1],fingers:[1,3,1,2,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,60,65,68]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,60,65,70]},{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:10,midi:[-1,56,60,66,72,77]}]},{key:"G#",suffix:"maj7",positions:[{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,55,60,63,68]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,67,72]},{frets:[-1,3,2,4,1,-1],fingers:[0,3,2,4,1,0],baseFret:9,barres:[],midi:[-1,56,60,67,68,-1]},{frets:[1,1,3,2,3,1],fingers:[1,1,3,2,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,67,72,75]}]},{key:"G#",suffix:"maj7b5",positions:[{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:3,midi:[44,48,55,60,62,67]},{frets:[1,2,2,2,-1,-1],fingers:[1,2,3,4,0,0],baseFret:4,barres:[],midi:[44,50,55,60,-1,-1]},{frets:[0,0,1,2,3,3],fingers:[0,0,1,2,3,4],barres:[3],capo:!0,baseFret:6,midi:[40,45,56,62,67,72]},{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,2,4,0],barres:[2],baseFret:11,midi:[-1,56,62,67,72,-1]}]},{key:"G#",suffix:"maj7#5",positions:[{frets:[4,3,2,0,1,0],fingers:[4,3,2,0,1,0],baseFret:1,barres:[],midi:[44,48,52,55,60,64]},{frets:[2,1,3,0,3,0],fingers:[2,1,3,0,4,0],baseFret:3,barres:[],midi:[44,48,55,55,64,64]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:8,midi:[48,56,60,64,67,72]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:11,barres:[],midi:[-1,56,64,67,72,-1]}]},{key:"G#",suffix:"maj9",positions:[{frets:[-1,1,1,1,1,3],fingers:[0,1,1,1,1,4],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,56,60,67]},{frets:[2,1,3,1,2,1],fingers:[2,1,4,1,3,1],barres:[1],capo:!0,baseFret:3,midi:[44,48,55,58,63,67]},{frets:[1,3,2,2,1,3],fingers:[1,3,2,2,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,55,60,63,70]},{frets:[2,2,1,3,2,-1],fingers:[2,2,1,4,3,0],barres:[2],baseFret:10,midi:[51,56,60,67,70,-1]}]},{key:"G#",suffix:"maj11",positions:[{frets:[4,3,1,0,2,-1],fingers:[4,3,1,0,2,0],baseFret:1,barres:[],midi:[44,48,51,55,61,-1]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,55,60,63,68]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:6,midi:[-1,-1,56,61,67,72]},{frets:[1,1,1,2,3,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,67,72,75]}]},{key:"G#",suffix:"maj13",positions:[{frets:[4,3,3,3,4,3],fingers:[2,1,1,1,3,1],barres:[3],capo:!0,baseFret:1,midi:[44,48,53,58,63,67]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,49,55,60,65,68]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],capo:!0,baseFret:8,midi:[-1,56,60,65,67,72]},{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:11,midi:[-1,56,61,67,72,77]}]},{key:"G#",suffix:"m6",positions:[{frets:[4,-1,3,4,4,-1],fingers:[2,0,1,3,4,0],baseFret:1,barres:[],midi:[44,-1,53,59,63,-1]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,59,65,68]},{frets:[-1,1,1,3,1,2],fingers:[0,1,1,3,1,2],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,65,71]},{frets:[-1,3,1,2,1,3],fingers:[0,3,1,2,1,4],barres:[1],capo:!0,baseFret:9,midi:[-1,56,59,65,68,75]}]},{key:"G#",suffix:"m7",positions:[{frets:[4,-1,4,4,4,-1],fingers:[2,0,3,3,3,0],baseFret:1,barres:[],midi:[44,-1,54,59,63,-1]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,59,63,68]},{frets:[-1,1,1,3,2,2],fingers:[0,1,1,4,2,3],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,66,71]},{frets:[-1,3,1,3,1,-1],fingers:[0,2,1,3,1,0],barres:[1],capo:!0,baseFret:9,midi:[-1,56,59,66,68,-1]},{frets:[1,1,3,1,2,1],fingers:[1,1,3,1,2,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,63,66,71,75]}]},{key:"G#",suffix:"m7b5",positions:[{frets:[-1,-1,0,1,0,2],fingers:[0,0,0,1,0,3],baseFret:1,barres:[],midi:[-1,-1,50,56,59,66]},{frets:[4,-1,4,4,3,-1],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[44,-1,54,59,62,-1]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:6,midi:[-1,-1,56,62,66,71]},{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:11,barres:[],midi:[-1,56,62,66,71,-1]}]},{key:"G#",suffix:"m9",positions:[{frets:[4,1,1,1,0,2],fingers:[4,1,1,2,0,3],barres:[1],baseFret:1,midi:[44,46,51,56,59,66]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,54,59,63,70]},{frets:[1,3,2,2,3,1],fingers:[1,3,2,2,4,1],barres:[2],baseFret:7,midi:[47,54,58,63,68,71]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:9,midi:[-1,56,59,66,70,75]}]},{key:"G#",suffix:"m69",positions:[{frets:[2,-1,1,2,2,4],fingers:[2,0,1,3,3,4],barres:[2],baseFret:3,midi:[44,-1,53,59,63,70]},{frets:[1,3,3,1,3,3],fingers:[1,2,2,1,3,4],barres:[1,3],capo:!0,baseFret:4,midi:[44,51,56,59,65,70]},{frets:[2,1,1,3,1,1],fingers:[2,1,1,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[47,51,56,63,65,70]},{frets:[-1,3,1,2,3,3],fingers:[0,3,1,2,4,4],barres:[3],baseFret:9,midi:[-1,56,59,65,70,75]}]},{key:"G#",suffix:"m11",positions:[{frets:[4,2,4,3,2,2],fingers:[3,1,4,2,1,1],barres:[2],capo:!0,baseFret:1,midi:[44,47,54,58,61,66]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,49,54,59,63,70]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:6,midi:[-1,-1,56,61,66,71]},{frets:[-1,3,1,3,3,1],fingers:[0,3,1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[-1,56,59,66,70,73]}]},{key:"G#",suffix:"mmaj7",positions:[{frets:[-1,2,1,1,4,3],fingers:[0,2,1,1,4,3],barres:[1],capo:!0,baseFret:1,midi:[-1,47,51,56,63,67]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:4,midi:[44,51,55,59,63,68]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,63,67,71]},{frets:[-1,1,3,2,2,1],fingers:[0,1,4,2,3,1],barres:[1],capo:!0,baseFret:11,midi:[-1,56,63,67,71,75]}]},{key:"G#",suffix:"mmaj7b5",positions:[{frets:[1,2,2,1,-1,1],fingers:[1,2,3,1,0,1],barres:[1],capo:!0,baseFret:4,midi:[44,50,55,59,-1,68]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:6,barres:[],midi:[-1,-1,56,62,67,71]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:10,midi:[50,56,62,67,71,-1]},{frets:[-1,1,2,2,2,-1],fingers:[0,1,2,3,4,0],baseFret:11,barres:[],midi:[-1,56,62,67,71,-1]}]},{key:"G#",suffix:"mmaj9",positions:[{frets:[2,-1,3,1,0,2],fingers:[2,0,4,1,0,3],baseFret:3,barres:[],midi:[44,-1,55,58,59,68]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,55,59,63,70]},{frets:[1,1,1,3,3,2],fingers:[1,1,1,3,4,2],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,63,67,71]},{frets:[-1,3,1,4,3,-1],fingers:[0,2,1,4,3,0],baseFret:9,barres:[],midi:[-1,56,59,67,70,-1]}]},{key:"G#",suffix:"mmaj11",positions:[{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,49,55,59,63,70]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:6,midi:[-1,51,56,61,67,71]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:9,midi:[-1,56,59,67,70,73]},{frets:[1,1,1,2,2,1],fingers:[1,1,1,2,3,1],barres:[1],capo:!0,baseFret:11,midi:[51,56,61,67,71,75]}]},{key:"G#",suffix:"add9",positions:[{frets:[4,3,-1,3,4,-1],fingers:[3,1,0,2,4,0],baseFret:1,barres:[],midi:[44,48,-1,58,63,-1]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:4,barres:[],midi:[-1,-1,56,60,63,70]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:8,midi:[-1,56,60,63,70,72]},{frets:[-1,2,1,-1,2,2],fingers:[0,2,1,0,3,4],baseFret:10,barres:[],midi:[-1,56,60,-1,70,75]}]},{key:"G#",suffix:"madd9",positions:[{frets:[4,2,-1,3,4,-1],fingers:[3,1,0,2,4,0],baseFret:1,barres:[],midi:[44,47,-1,58,63,-1]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,56,59,63,70]},{frets:[1,3,3,1,1,3],fingers:[1,2,3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[44,51,56,59,63,70]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:8,barres:[],midi:[-1,56,59,63,70,-1]}]}],A:[{key:"A",suffix:"major",positions:[{frets:[-1,0,2,2,2,0],fingers:[0,0,1,2,3,0],baseFret:1,barres:[],midi:[-1,45,52,57,61,64]},{frets:[-1,0,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:2,midi:[-1,45,52,57,61,69]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,57,61,64,69]},{frets:[-1,0,1,3,4,3],fingers:[0,0,1,2,4,3],baseFret:7,barres:[],midi:[-1,45,57,64,69,73]}]},{key:"A",suffix:"minor",positions:[{frets:[-1,0,2,2,1,0],fingers:[0,0,2,3,1,0],baseFret:1,barres:[],midi:[-1,45,52,57,60,64]},{frets:[-1,0,1,4,4,4],fingers:[0,0,1,4,4,4],barres:[4],capo:!0,baseFret:2,midi:[-1,45,52,60,64,69]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,57,60,64,69]},{frets:[-1,0,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:7,barres:[],midi:[-1,45,57,64,69,72]}]},{key:"A",suffix:"dim",positions:[{frets:[-1,0,1,2,1,-1],fingers:[0,0,1,3,2,0],baseFret:1,barres:[],midi:[-1,45,51,57,60,-1]},{frets:[3,1,-1,2,1,-1],fingers:[3,1,0,4,2,0],baseFret:3,barres:[],midi:[45,48,-1,59,62,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:7,barres:[],midi:[-1,-1,57,63,-1,72]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:10,barres:[],midi:[-1,57,60,-1,69,75]}]},{key:"A",suffix:"dim7",positions:[{frets:[-1,0,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,45,51,57,60,66]},{frets:[2,-1,1,2,1,-1],fingers:[2,0,1,3,1,0],barres:[1],capo:!0,baseFret:4,midi:[45,-1,54,60,63,-1]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,51,57,60,66,69]},{frets:[-1,0,1,2,1,2],fingers:[0,0,1,3,2,4],barres:[1],baseFret:7,midi:[-1,45,57,63,66,72]}]},{key:"A",suffix:"sus2",positions:[{frets:[-1,0,2,2,0,0],fingers:[0,0,2,3,0,0],baseFret:1,barres:[],midi:[-1,45,52,57,59,64]},{frets:[-1,0,2,4,0,0],fingers:[0,0,1,4,0,0],baseFret:1,barres:[],midi:[-1,45,52,59,59,64]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,64,69,71]},{frets:[-1,0,1,1,0,0],fingers:[0,0,1,2,0,0],baseFret:9,barres:[],midi:[-1,45,59,64,59,64]}]},{key:"A",suffix:"sus4",positions:[{frets:[-1,0,2,2,3,0],fingers:[0,0,1,2,3,0],baseFret:1,barres:[],midi:[-1,45,52,57,62,64]},{frets:[-1,0,0,-1,3,0],fingers:[0,0,0,0,1,0],baseFret:1,barres:[],midi:[-1,45,50,-1,62,64]},{frets:[1,3,3,3,1,1],fingers:[1,3,3,4,1,1],barres:[1,3],capo:!0,baseFret:5,midi:[45,52,57,62,64,69]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,64,69,74]}]},{key:"A",suffix:"sus2sus4",positions:[{frets:[-1,0,0,2,0,0],fingers:[0,0,0,1,0,0],baseFret:1,barres:[],midi:[-1,45,50,57,59,64]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,50,57,62,64,71]},{frets:[4,4,1,3,-1,-1],fingers:[3,4,1,2,0,0],baseFret:2,barres:[],midi:[45,50,52,59,-1,-1]}]},{key:"A",suffix:"7sus4",positions:[{frets:[-1,0,2,0,3,0],fingers:[0,0,2,0,3,0],baseFret:1,barres:[],midi:[-1,45,52,55,62,64]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,62,64,69]},{frets:[-1,0,1,3,2,4],fingers:[0,0,1,3,2,4],baseFret:7,barres:[],midi:[-1,45,57,64,67,74]},{frets:[-1,3,3,3,1,1],fingers:[0,2,3,4,1,1],barres:[1],capo:!0,baseFret:10,midi:[-1,57,62,67,69,74]}]},{key:"A",suffix:"alt",positions:[{frets:[-1,0,1,2,2,-1],fingers:[0,0,1,2,3,0],baseFret:1,barres:[],midi:[-1,45,51,57,61,-1]},{frets:[-1,0,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:4,barres:[],midi:[-1,45,57,61,63,69]},{frets:[-1,0,4,1,3,2],fingers:[0,0,4,1,3,2],baseFret:8,barres:[],midi:[-1,45,61,63,69,73]},{frets:[-1,1,2,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:12,barres:[],midi:[-1,57,63,69,73,-1]}]},{key:"A",suffix:"aug",positions:[{frets:[-1,0,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:1,barres:[],midi:[-1,45,53,57,61,65]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:2,midi:[45,49,53,57,61,-1]},{frets:[1,-1,3,2,2,1],fingers:[1,0,4,2,3,1],barres:[1],capo:!0,baseFret:5,midi:[45,-1,57,61,65,69]},{frets:[-1,3,2,1,1,-1],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:10,midi:[-1,57,61,65,69,-1]}]},{key:"A",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:5,barres:[],midi:[45,52,-1,-1,-1,-1]},{frets:[-1,0,2,-1,-1,-1],fingers:[0,0,1,0,0,0],baseFret:1,barres:[],midi:[-1,45,52,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:5,barres:[],midi:[45,52,57,-1,-1,-1]}]},{key:"A",suffix:"6",positions:[{frets:[-1,0,2,2,2,2],fingers:[0,0,1,1,1,1],barres:[2],baseFret:1,midi:[-1,45,52,57,61,66]},{frets:[2,-1,1,3,2,-1],fingers:[2,0,1,4,3,0],baseFret:4,barres:[],midi:[45,-1,54,61,64,-1]},{frets:[1,3,-1,2,3,1],fingers:[1,3,0,2,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,-1,61,66,69]},{frets:[-1,3,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:10,barres:[],midi:[-1,57,61,66,69,-1]}]},{key:"A",suffix:"69",positions:[{frets:[-1,0,4,4,2,2],fingers:[0,0,3,4,1,1],barres:[2],baseFret:1,midi:[-1,45,54,59,61,66]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:4,midi:[45,49,54,59,64,69]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],capo:!0,baseFret:6,midi:[-1,52,57,61,66,71]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:11,midi:[-1,57,61,66,71,76]}]},{key:"A",suffix:"7",positions:[{frets:[-1,0,2,0,2,0],fingers:[0,0,2,0,3,0],baseFret:1,barres:[],midi:[-1,45,52,55,61,64]},{frets:[-1,0,2,2,2,3],fingers:[0,0,1,1,1,2],barres:[2],capo:!0,baseFret:1,midi:[-1,45,52,57,61,67]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,61,64,69]},{frets:[-1,0,1,3,2,3],fingers:[0,0,1,3,2,4],baseFret:7,barres:[],midi:[-1,45,57,64,67,73]}]},{key:"A",suffix:"7b5",positions:[{frets:[-1,0,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:1,barres:[],midi:[-1,45,51,57,61,67]},{frets:[-1,0,2,3,1,2],fingers:[0,0,2,4,1,3],baseFret:4,barres:[],midi:[-1,45,55,61,63,69]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:7,barres:[],midi:[-1,-1,57,63,67,73]},{frets:[-1,1,2,3,1,2],fingers:[0,1,2,4,1,3],barres:[1],capo:!0,baseFret:10,midi:[-1,55,61,67,69,75]}]},{key:"A",suffix:"aug7",positions:[{frets:[-1,0,3,0,2,1],fingers:[0,0,3,0,2,1],baseFret:1,barres:[],midi:[-1,45,53,55,61,65]},{frets:[-1,0,3,2,2,3],fingers:[0,0,2,1,1,3],barres:[2],baseFret:1,midi:[-1,45,53,57,61,67]},{frets:[-1,0,1,2,2,1],fingers:[0,0,1,2,3,1],barres:[1],capo:!0,baseFret:5,midi:[-1,45,55,61,65,69]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:7,barres:[],midi:[-1,-1,57,65,67,73]}]},{key:"A",suffix:"9",positions:[{frets:[4,3,1,0,0,0],fingers:[4,3,1,0,0,0],baseFret:2,barres:[],midi:[45,49,52,55,59,64]},{frets:[-1,0,2,4,2,3],fingers:[0,0,1,3,1,2],barres:[2],baseFret:1,midi:[-1,45,52,59,61,67]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,61,64,71]},{frets:[-1,2,1,2,2,2],fingers:[0,2,1,3,3,3],barres:[2],baseFret:11,midi:[-1,57,61,67,71,76]}]},{key:"A",suffix:"9b5",positions:[{frets:[-1,0,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:1,barres:[],midi:[-1,45,51,59,61,67]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[45,49,55,59,63,69]},{frets:[-1,0,2,1,1,2],fingers:[0,0,2,1,1,3],barres:[1],baseFret:8,midi:[-1,45,59,63,67,73]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[-1,57,61,67,71,75]}]},{key:"A",suffix:"aug9",positions:[{frets:[-1,0,3,4,2,3],fingers:[0,0,2,4,1,3],baseFret:1,barres:[],midi:[-1,45,53,59,61,67]},{frets:[3,2,1,0,0,3],fingers:[3,2,1,0,0,4],baseFret:3,barres:[],midi:[45,49,53,55,59,69]},{frets:[-1,0,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:5,barres:[],midi:[-1,45,55,61,65,71]},{frets:[-1,2,1,2,0,3],fingers:[0,2,1,3,0,4],baseFret:11,barres:[],midi:[-1,57,61,67,59,77]}]},{key:"A",suffix:"7b9",positions:[{frets:[-1,0,2,3,2,3],fingers:[0,0,1,2,1,3],barres:[2],baseFret:1,midi:[-1,45,52,58,61,67]},{frets:[1,3,1,2,1,2],fingers:[1,4,1,2,1,3],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,61,64,70]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,2,1,3,1],barres:[1],capo:!0,baseFret:6,midi:[-1,-1,57,61,67,70]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:11,midi:[-1,57,61,67,70,76]}]},{key:"A",suffix:"7#9",positions:[{frets:[1,3,1,2,4,4],fingers:[1,3,1,2,4,4],barres:[1,4],capo:!0,baseFret:5,midi:[45,52,55,61,67,72]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,2,1,3,4],baseFret:6,barres:[],midi:[-1,-1,57,61,67,72]},{frets:[-1,0,3,2,1,2],fingers:[0,0,4,2,1,3],baseFret:8,barres:[],midi:[-1,45,60,64,67,73]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:11,barres:[],midi:[-1,57,61,67,72,-1]}]},{key:"A",suffix:"11",positions:[{frets:[-1,0,0,0,2,0],fingers:[0,0,0,0,2,0],baseFret:1,barres:[],midi:[-1,45,50,55,61,64]},{frets:[3,2,0,0,0,1],fingers:[3,2,0,0,0,1],baseFret:3,barres:[],midi:[45,49,50,55,59,67]},{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,61,64,69]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,62,67,73]}]},{key:"A",suffix:"9#11",positions:[{frets:[-1,0,1,0,2,0],fingers:[0,0,1,0,3,0],baseFret:1,barres:[],midi:[-1,45,51,55,61,64]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[45,49,55,59,63,69]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:7,barres:[],midi:[-1,-1,57,63,67,73]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[-1,57,61,67,71,75]}]},{key:"A",suffix:"13",positions:[{frets:[-1,0,2,0,2,2],fingers:[0,0,1,0,2,3],baseFret:1,barres:[],midi:[-1,45,52,55,61,66]},{frets:[3,2,2,0,1,0],fingers:[4,2,3,0,1,0],baseFret:3,barres:[],midi:[45,49,54,55,62,64]},{frets:[1,3,1,2,3,1],fingers:[1,3,1,2,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,61,66,69]},{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:11,midi:[-1,57,61,67,73,78]}]},{key:"A",suffix:"maj7",positions:[{frets:[-1,0,2,1,2,0],fingers:[0,0,2,1,3,0],baseFret:1,barres:[],midi:[-1,45,52,56,61,64]},{frets:[-1,0,2,2,2,4],fingers:[0,0,1,1,1,4],barres:[2],capo:!0,baseFret:1,midi:[-1,45,52,57,61,68]},{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,56,61,64,69]},{frets:[-1,0,1,3,3,3],fingers:[0,0,1,3,3,3],barres:[3],baseFret:7,midi:[-1,45,57,64,68,73]}]},{key:"A",suffix:"maj7b5",positions:[{frets:[-1,0,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],baseFret:1,midi:[-1,45,51,56,61,68]},{frets:[-1,0,1,2,2,4],fingers:[0,0,1,2,2,4],barres:[2],baseFret:1,midi:[-1,45,51,57,61,68]},{frets:[1,2,2,2,-1,-1],fingers:[1,2,3,4,0,0],baseFret:5,barres:[],midi:[45,51,56,61,-1,-1]},{frets:[-1,0,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:7,barres:[],midi:[-1,45,57,63,68,73]}]},{key:"A",suffix:"maj7#5",positions:[{frets:[-1,0,3,1,2,1],fingers:[0,0,3,1,2,1],barres:[1],baseFret:1,midi:[-1,45,53,56,61,65]},{frets:[-1,0,3,2,2,4],fingers:[0,0,2,1,1,3],barres:[2],baseFret:1,midi:[-1,45,53,57,61,68]},{frets:[-1,0,2,2,2,1],fingers:[0,0,2,3,4,1],baseFret:5,barres:[],midi:[-1,45,56,61,65,69]},{frets:[1,4,3,2,1,1],fingers:[0,4,3,2,1,1],barres:[1],capo:!0,baseFret:9,midi:[49,57,61,65,68,73]}]},{key:"A",suffix:"maj9",positions:[{frets:[-1,0,2,4,2,4],fingers:[0,0,1,3,1,4],barres:[2],baseFret:1,midi:[-1,45,52,59,61,68]},{frets:[2,1,3,1,2,0],fingers:[2,1,4,1,3,0],barres:[1],baseFret:4,midi:[45,49,56,59,64,64]},{frets:[-1,0,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:5,barres:[],midi:[-1,45,56,61,64,71]},{frets:[2,2,1,3,2,-1],fingers:[2,2,1,4,3,0],barres:[2],baseFret:11,midi:[52,57,61,68,71,-1]}]},{key:"A",suffix:"maj11",positions:[{frets:[-1,0,0,1,2,0],fingers:[0,0,0,1,2,0],baseFret:1,barres:[],midi:[-1,45,50,56,61,64]},{frets:[-1,0,0,2,2,4],fingers:[0,0,0,1,1,4],barres:[2],baseFret:1,midi:[-1,45,50,57,61,68]},{frets:[1,1,2,2,1,3],fingers:[1,1,2,3,1,4],barres:[1],baseFret:5,midi:[45,50,56,61,64,71]},{frets:[2,0,1,1,1,1],fingers:[2,0,1,1,1,1],barres:[1],capo:!0,baseFret:9,midi:[50,45,59,64,68,73]}]},{key:"A",suffix:"maj13",positions:[{frets:[-1,0,2,1,2,2],fingers:[0,0,2,1,3,4],baseFret:1,barres:[],midi:[-1,45,52,56,61,66]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:4,midi:[45,49,54,59,64,68]},{frets:[-1,0,1,1,2,2],fingers:[0,0,1,1,3,4],barres:[1],baseFret:6,midi:[-1,45,56,61,66,71]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[-1,57,61,66,68,73]}]},{key:"A",suffix:"m6",positions:[{frets:[-1,0,2,2,1,2],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[-1,45,52,57,60,66]},{frets:[2,-1,1,2,2,2],fingers:[2,0,1,3,3,4],barres:[2],baseFret:4,midi:[45,-1,54,60,64,69]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,57,60,66,69]},{frets:[-1,1,1,3,1,2],fingers:[0,1,1,3,1,2],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,64,66,72]}]},{key:"A",suffix:"m7",positions:[{frets:[-1,0,2,0,1,0],fingers:[0,0,2,0,1,0],baseFret:1,barres:[],midi:[-1,45,52,55,60,64]},{frets:[-1,0,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[-1,45,52,57,60,67]},{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:5,barres:[],midi:[45,-1,55,60,64,-1]},{frets:[-1,0,1,1,1,1],fingers:[0,0,1,1,1,1],barres:[1],baseFret:5,midi:[-1,45,55,60,64,69]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,60,64,69]},{frets:[-1,1,1,3,2,2],fingers:[0,1,1,4,2,3],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,64,67,72]}]},{key:"A",suffix:"m7b5",positions:[{frets:[-1,0,1,0,1,-1],fingers:[0,0,2,0,3,0],baseFret:1,barres:[],midi:[-1,45,51,55,60,-1]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:4,barres:[],midi:[45,-1,55,60,63,-1]},{frets:[1,2,3,1,4,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:5,midi:[45,51,57,60,67,69]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:7,midi:[-1,-1,57,63,67,72]}]},{key:"A",suffix:"m9",positions:[{frets:[-1,0,2,4,1,3],fingers:[0,0,2,4,1,3],baseFret:1,barres:[],midi:[-1,45,52,59,60,67]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,52,55,60,64,71]},{frets:[1,0,2,0,1,0],fingers:[1,0,3,0,2,0],baseFret:8,barres:[],midi:[48,45,59,55,67,64]},{frets:[-1,3,1,3,3,3],fingers:[0,2,1,3,4,4],barres:[3],baseFret:10,midi:[-1,57,60,67,71,76]}]},{key:"A",suffix:"m69",positions:[{frets:[-1,0,1,2,0,0],fingers:[0,0,2,4,0,0],baseFret:4,barres:[],midi:[-1,45,54,60,59,64]},{frets:[1,3,3,1,3,3],fingers:[1,2,2,1,3,4],barres:[1,3],capo:!0,baseFret:5,midi:[45,52,57,60,66,71]},{frets:[2,0,1,3,1,1],fingers:[2,0,1,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[48,45,57,64,66,71]},{frets:[-1,3,1,2,3,3],fingers:[0,3,1,2,4,4],barres:[3],baseFret:10,midi:[-1,57,60,66,71,76]}]},{key:"A",suffix:"m11",positions:[{frets:[-1,0,0,0,1,0],fingers:[0,0,0,0,1,0],baseFret:1,barres:[],midi:[-1,45,50,55,60,64]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:3,midi:[45,48,55,59,62,67]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,50,55,60,64,71]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:10,midi:[-1,57,60,67,71,74]}]},{key:"A",suffix:"mmaj7",positions:[{frets:[-1,0,2,1,1,0],fingers:[0,0,3,1,2,0],baseFret:1,barres:[],midi:[-1,45,52,56,60,64]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:5,midi:[45,52,56,60,64,69]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:7,midi:[-1,52,57,64,68,72]},{frets:[-1,4,2,1,1,-1],fingers:[0,4,2,1,1,0],barres:[1],capo:!0,baseFret:9,midi:[-1,57,60,64,68,-1]}]},{key:"A",suffix:"mmaj7b5",positions:[{frets:[-1,0,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],baseFret:1,midi:[-1,45,51,56,60,68]},{frets:[1,2,2,1,-1,1],fingers:[1,2,3,1,0,1],barres:[1],capo:!0,baseFret:5,midi:[45,51,56,60,-1,69]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:7,barres:[],midi:[-1,-1,57,63,68,72]},{frets:[1,2,3,3,3,-1],fingers:[1,2,3,3,3,0],barres:[3],baseFret:11,midi:[51,57,63,68,72,-1]}]},{key:"A",suffix:"mmaj9",positions:[{frets:[3,1,4,2,0,0],fingers:[3,1,4,2,0,0],baseFret:3,barres:[],midi:[45,48,56,59,59,64]},{frets:[-1,0,3,2,0,1],fingers:[0,0,3,2,0,1],baseFret:4,barres:[],midi:[-1,45,56,60,59,68]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,52,56,60,64,71]},{frets:[-1,0,2,2,2,1],fingers:[0,0,2,3,4,1],baseFret:8,barres:[],midi:[-1,45,59,64,68,72]}]},{key:"A",suffix:"mmaj11",positions:[{frets:[-1,0,0,1,1,0],fingers:[0,0,0,1,2,0],baseFret:1,barres:[],midi:[-1,45,50,56,60,64]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[45,50,56,60,64,71]},{frets:[-1,0,1,1,3,2],fingers:[0,0,1,1,3,2],barres:[1],baseFret:7,midi:[-1,45,57,62,68,72]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:10,midi:[-1,57,60,68,71,74]}]},{key:"A",suffix:"add9",positions:[{frets:[-1,0,2,4,2,0],fingers:[0,0,1,3,2,0],baseFret:1,barres:[],midi:[-1,45,52,59,61,64]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:5,barres:[],midi:[-1,-1,57,61,64,71]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:9,midi:[-1,57,61,64,71,73]},{frets:[-1,2,1,-1,2,2],fingers:[0,2,1,0,3,4],baseFret:11,barres:[],midi:[-1,57,61,-1,71,76]}]},{key:"A",suffix:"madd9",positions:[{frets:[-1,0,2,4,1,0],fingers:[0,0,2,4,1,0],baseFret:1,barres:[],midi:[-1,45,52,59,60,64]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[-1,-1,57,60,64,71]},{frets:[-1,-1,1,3,0,2],fingers:[0,0,1,3,0,2],baseFret:7,barres:[],midi:[-1,-1,57,64,59,72]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:9,barres:[],midi:[-1,57,60,64,71,-1]}]},{key:"A",suffix:"/C#",positions:[{frets:[-1,3,1,1,4,4],fingers:[0,3,1,1,4,4],barres:[1],baseFret:2,midi:[-1,49,52,57,64,69]},{frets:[-1,3,1,1,1,4],fingers:[0,3,1,1,1,4],barres:[1],baseFret:2,midi:[-1,49,52,57,61,69]},{frets:[-1,1,4,3,2,2],fingers:[0,1,4,3,2,2],barres:[2],baseFret:4,midi:[-1,49,57,61,64,69]}]},{key:"A",suffix:"/E",positions:[{frets:[0,0,2,2,2,0],fingers:[0,0,1,2,3,0],baseFret:1,barres:[],midi:[40,45,52,57,61,64]},{frets:[-1,3,3,2,1,1],fingers:[0,3,4,2,1,1],barres:[1],baseFret:5,midi:[-1,52,57,61,64,69]},{frets:[-1,-1,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],baseFret:2,midi:[-1,-1,52,57,61,69]}]},{key:"A",suffix:"/F",positions:[{frets:[1,0,2,2,2,0],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[41,45,52,57,61,64]},{frets:[-1,-1,3,2,2,0],fingers:[0,0,3,1,2,0],baseFret:1,barres:[],midi:[-1,-1,53,57,61,64]},{frets:[1,4,2,2,2,-1],fingers:[1,4,2,2,2,0],barres:[2],baseFret:1,midi:[41,49,52,57,61,-1]}]},{key:"A",suffix:"/F#",positions:[{frets:[2,0,2,2,2,0],fingers:[1,0,2,3,4,0],baseFret:1,barres:[],midi:[42,45,52,57,61,64]},{frets:[1,3,1,1,4,4],fingers:[1,3,1,1,4,4],barres:[1],baseFret:2,midi:[42,49,52,57,64,69]},{frets:[1,3,1,1,1,4],fingers:[1,3,1,1,1,4],barres:[1],baseFret:2,midi:[42,49,52,57,61,69]}]},{key:"A",suffix:"/G",positions:[{frets:[3,0,2,2,2,0],fingers:[4,0,1,2,3,0],baseFret:1,barres:[],midi:[43,45,52,57,61,64]},{frets:[-1,-1,1,2,1,1],fingers:[0,0,1,2,1,1],barres:[1],baseFret:5,midi:[-1,-1,55,61,64,69]},{frets:[2,3,1,1,4,4],fingers:[2,3,1,1,4,4],baseFret:2,barres:[],midi:[43,49,52,57,64,69]}]},{key:"A",suffix:"/G#",positions:[{frets:[3,3,1,1,4,4],fingers:[2,3,1,1,4,4],barres:[1],baseFret:2,midi:[44,49,52,57,64,69]},{frets:[3,3,1,1,1,4],fingers:[2,3,1,1,1,4],barres:[1],baseFret:2,midi:[44,49,52,57,61,69]},{frets:[-1,-1,2,2,1,1],fingers:[0,0,2,3,1,1],barres:[1],baseFret:5,midi:[-1,-1,56,61,64,69]}]},{key:"A",suffix:"m/C",positions:[{frets:[-1,3,2,2,1,0],fingers:[0,4,2,3,1,0],baseFret:1,barres:[],midi:[-1,48,52,57,60,64]},{frets:[-1,2,1,4,4,4],fingers:[0,2,1,4,4,4],barres:[4],baseFret:2,midi:[-1,48,52,60,64,69]},{frets:[-1,2,1,1,4,4],fingers:[0,2,1,1,4,4],barres:[1],baseFret:2,midi:[-1,48,52,57,64,69]}]},{key:"A",suffix:"m/E",positions:[{frets:[0,0,2,2,1,0],fingers:[0,0,2,3,1,0],baseFret:1,barres:[],midi:[40,45,52,57,60,64]},{frets:[0,3,2,2,1,0],fingers:[0,4,2,3,1,0],baseFret:1,barres:[],midi:[40,48,52,57,60,64]},{frets:[-1,3,3,1,1,1],fingers:[0,3,4,1,1,1],barres:[1],baseFret:5,midi:[-1,52,57,60,64,69]}]},{key:"A",suffix:"m/F",positions:[{frets:[1,0,2,2,1,0],fingers:[1,0,3,4,2,0],baseFret:1,barres:[],midi:[41,45,52,57,60,64]},{frets:[-1,-1,3,2,1,0],fingers:[0,0,3,2,1,0],baseFret:1,barres:[],midi:[-1,-1,53,57,60,64]},{frets:[1,3,2,2,1,-1],fingers:[1,4,2,3,1,0],barres:[1],baseFret:1,midi:[41,48,52,57,60,-1]}]},{key:"A",suffix:"m/F#",positions:[{frets:[2,0,2,2,1,0],fingers:[2,0,3,4,1,0],baseFret:1,barres:[],midi:[42,45,52,57,60,64]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,3,4],baseFret:4,barres:[],midi:[-1,-1,54,60,64,69]},{frets:[1,2,1,4,4,4],fingers:[1,2,1,4,4,4],barres:[1],baseFret:2,midi:[42,48,52,60,64,69]}]},{key:"A",suffix:"m/G",positions:[{frets:[-1,-1,1,1,1,1],fingers:[0,0,1,1,1,1],barres:[1],baseFret:5,midi:[-1,-1,55,60,64,69]},{frets:[3,0,2,2,1,0],fingers:[4,0,2,3,1,0],baseFret:1,barres:[],midi:[43,45,52,57,60,64]},{frets:[2,2,1,4,4,4],fingers:[2,3,1,4,4,4],barres:[4],baseFret:2,midi:[43,48,52,60,64,69]}]},{key:"A",suffix:"m/G#",positions:[{frets:[3,2,1,4,4,4],fingers:[3,2,1,4,4,4],barres:[4],baseFret:2,midi:[44,48,52,60,64,69]},{frets:[3,2,1,1,4,4],fingers:[3,2,1,1,4,4],barres:[1],baseFret:2,midi:[44,48,52,57,64,69]}]}],"A#":[{key:"A#",suffix:"major",positions:[{frets:[-1,1,3,3,3,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,58,62,65]},{frets:[4,3,1,1,1,-1],fingers:[4,3,1,1,1,0],barres:[1],capo:!0,baseFret:3,midi:[46,50,53,58,62,-1]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,58,62,65,70]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,2,4,3],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,65,70,74]}]},{key:"A#",suffix:"minor",positions:[{frets:[-1,1,3,3,2,1],fingers:[0,1,3,4,2,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,58,61,65]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,58,61,65,70]},{frets:[-1,-1,3,1,1,1],fingers:[0,0,3,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[-1,-1,58,61,65,70]},{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:8,barres:[],midi:[-1,-1,58,65,70,73]}]},{key:"A#",suffix:"dim",positions:[{frets:[-1,1,2,3,2,-1],fingers:[0,1,2,4,3,0],baseFret:1,barres:[],midi:[-1,46,52,58,61,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:4,barres:[],midi:[46,49,-1,61,64,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:8,barres:[],midi:[-1,-1,58,64,-1,73]},{frets:[-1,3,1,-1,1,2],fingers:[0,4,1,0,2,3],baseFret:11,barres:[],midi:[-1,58,61,-1,70,76]}]},{key:"A#",suffix:"dim7",positions:[{frets:[-1,1,2,0,2,0],fingers:[0,1,2,0,3,0],baseFret:1,barres:[],midi:[-1,46,52,55,61,64]},{frets:[-1,-1,2,3,2,3],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,52,58,61,67]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,52,58,61,67,70]},{frets:[-1,-1,1,2,1,2],fingers:[0,0,1,3,2,4],baseFret:8,barres:[],midi:[-1,-1,58,64,67,73]}]},{key:"A#",suffix:"sus2",positions:[{frets:[1,1,3,3,1,1],fingers:[1,1,3,4,1,1],barres:[1],capo:!0,baseFret:1,midi:[41,46,53,58,60,65]},{frets:[4,1,1,3,4,-1],fingers:[3,1,1,2,4,0],barres:[1],capo:!0,baseFret:3,midi:[46,48,53,60,65,-1]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,65,70,72]},{frets:[-1,4,1,1,2,4],fingers:[0,3,1,1,2,4],barres:[1],capo:!0,baseFret:10,midi:[-1,58,60,65,70,77]}]},{key:"A#",suffix:"sus4",positions:[{frets:[-1,1,3,3,4,1],fingers:[0,1,2,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,58,63,65]},{frets:[-1,-1,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,53,58,63,70]},{frets:[1,3,3,3,1,1],fingers:[1,3,3,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,58,63,65,70]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,65,70,75]}]},{key:"A#",suffix:"sus2sus4",positions:[{frets:[-1,1,1,3,1,1],fingers:[0,1,1,3,1,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,58,60,65]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,51,58,63,65,72]},{frets:[4,4,1,3,-1,-1],fingers:[3,4,1,2,0,0],baseFret:3,barres:[],midi:[46,51,53,60,-1,-1]}]},{key:"A#",suffix:"7sus4",positions:[{frets:[-1,1,3,1,4,1],fingers:[0,1,3,1,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,56,63,65]},{frets:[-1,-1,3,3,4,4],fingers:[0,0,1,1,2,2],barres:[3,4],capo:!0,baseFret:1,midi:[-1,-1,53,58,63,68]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,56,63,65,70]},{frets:[-1,-1,1,3,2,4],fingers:[0,0,1,3,2,4],baseFret:8,barres:[],midi:[-1,-1,58,65,68,75]}]},{key:"A#",suffix:"alt",positions:[{frets:[-1,1,2,3,3,0],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,46,52,58,62,64]},{frets:[2,3,0,3,1,0],fingers:[2,3,0,4,1,0],baseFret:5,barres:[],midi:[46,52,50,62,64,64]},{frets:[1,2,0,2,-1,1],fingers:[1,3,0,4,0,2],baseFret:6,barres:[],midi:[46,52,50,62,-1,70]},{frets:[-1,-1,1,2,4,3],fingers:[0,0,1,2,4,3],baseFret:8,barres:[],midi:[-1,-1,58,64,70,74]}]},{key:"A#",suffix:"aug",positions:[{frets:[-1,1,4,3,3,-1],fingers:[0,1,4,2,3,0],baseFret:1,barres:[],midi:[-1,46,54,58,62,-1]},{frets:[4,3,2,1,1,-1],fingers:[4,3,2,1,1,0],barres:[1],capo:!0,baseFret:3,midi:[46,50,54,58,62,-1]},{frets:[-1,-1,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:6,barres:[],midi:[-1,-1,58,62,66,70]},{frets:[-1,-1,2,1,1,-1],fingers:[0,0,2,1,1,0],barres:[1],capo:!0,baseFret:7,midi:[-1,-1,58,62,66,-1]}]},{key:"A#",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:6,barres:[],midi:[46,53,-1,-1,-1,-1]},{frets:[-1,1,3,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:1,barres:[],midi:[-1,46,53,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:6,barres:[],midi:[46,53,58,-1,-1,-1]}]},{key:"A#",suffix:"6",positions:[{frets:[-1,1,3,3,3,3],fingers:[0,1,3,3,3,3],barres:[3],baseFret:1,midi:[-1,46,53,58,62,67]},{frets:[2,1,0,0,2,2],fingers:[2,1,0,0,3,4],baseFret:5,barres:[],midi:[46,50,50,55,65,70]},{frets:[1,3,-1,2,3,1],fingers:[1,3,0,2,4,0],barres:[1],capo:!0,baseFret:6,midi:[46,53,-1,62,67,70]},{frets:[-1,4,2,2,1,-1],fingers:[0,4,2,3,1,0],baseFret:10,barres:[],midi:[-1,58,61,66,69,-1]}]},{key:"A#",suffix:"69",positions:[{frets:[-1,1,0,0,1,1],fingers:[0,1,0,0,2,3],baseFret:1,barres:[],midi:[-1,46,50,55,60,65]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:5,midi:[46,50,55,60,65,70]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],baseFret:7,midi:[-1,53,58,62,67,72]},{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:12,midi:[-1,58,62,67,72,77]}]},{key:"A#",suffix:"7",positions:[{frets:[-1,1,3,1,3,1],fingers:[0,1,3,1,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,56,62,65]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,56,62,65,70]},{frets:[-1,1,1,3,2,3],fingers:[0,1,1,3,2,4],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,65,68,74]},{frets:[-1,3,2,3,1,-1],fingers:[0,3,2,4,1,0],baseFret:11,barres:[],midi:[-1,58,62,68,70,-1]}]},{key:"A#",suffix:"7b5",positions:[{frets:[-1,1,2,1,3,-1],fingers:[0,1,2,1,3,0],barres:[1],capo:!0,baseFret:1,midi:[-1,46,52,56,62,-1]},{frets:[2,-1,2,3,1,0],fingers:[2,0,3,4,1,0],baseFret:5,barres:[],midi:[46,-1,56,62,64,64]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:8,barres:[],midi:[-1,-1,58,64,68,74]},{frets:[-1,3,2,3,1,0],fingers:[0,3,2,4,1,0],baseFret:11,barres:[],midi:[-1,58,62,68,70,64]}]},{key:"A#",suffix:"aug7",positions:[{frets:[-1,1,4,1,3,2],fingers:[0,1,4,1,3,2],barres:[1],capo:!0,baseFret:1,midi:[-1,46,54,56,62,66]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:6,barres:[],midi:[46,-1,56,62,66,-1]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:8,barres:[],midi:[-1,-1,58,66,68,74]},{frets:[-1,2,1,2,-1,3],fingers:[0,2,1,3,0,4],baseFret:12,barres:[],midi:[-1,58,62,68,-1,78]}]},{key:"A#",suffix:"9",positions:[{frets:[-1,1,0,1,1,1],fingers:[0,1,0,2,3,4],baseFret:1,barres:[],midi:[-1,46,50,56,60,65]},{frets:[2,1,2,1,2,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:5,midi:[46,50,56,60,65,-1]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,53,56,62,65,72]},{frets:[-1,2,1,2,2,2],fingers:[0,2,1,3,3,3],barres:[2],baseFret:12,midi:[-1,58,62,68,72,77]}]},{key:"A#",suffix:"9b5",positions:[{frets:[-1,1,0,1,1,0],fingers:[0,1,0,2,3,0],baseFret:1,barres:[],midi:[-1,46,50,56,60,64]},{frets:[3,-1,0,2,2,1],fingers:[4,0,0,2,3,1],baseFret:4,barres:[],midi:[46,-1,50,60,64,68]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:5,midi:[46,50,56,60,64,70]},{frets:[-1,2,1,2,2,0],fingers:[0,2,1,3,4,0],baseFret:12,barres:[],midi:[-1,58,62,68,72,64]}]},{key:"A#",suffix:"aug9",positions:[{frets:[-1,1,0,1,1,2],fingers:[0,1,0,2,3,4],baseFret:1,barres:[],midi:[-1,46,50,56,60,66]},{frets:[4,3,4,3,3,4],fingers:[2,1,3,1,1,4],barres:[3],capo:!0,baseFret:1,midi:[44,48,54,58,62,68]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:5,midi:[46,50,56,60,66,-1]},{frets:[1,-1,1,2,2,3],fingers:[1,0,1,2,3,4],barres:[1],capo:!0,baseFret:6,midi:[46,-1,56,62,66,72]}]},{key:"A#",suffix:"7b9",positions:[{frets:[-1,1,0,1,0,1],fingers:[0,1,0,2,0,3],baseFret:1,barres:[],midi:[-1,46,50,56,59,65]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:4,barres:[],midi:[46,50,56,59,-1,-1]},{frets:[1,-1,1,2,1,2],fingers:[1,0,1,2,1,3],barres:[1],capo:!0,baseFret:6,midi:[46,-1,56,62,65,71]},{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:12,midi:[-1,58,62,68,71,77]}]},{key:"A#",suffix:"7#9",positions:[{frets:[-1,1,0,1,2,-1],fingers:[0,1,0,2,3,0],baseFret:1,barres:[],midi:[-1,46,50,56,61,-1]},{frets:[1,3,1,2,4,4],fingers:[1,3,1,2,4,4],barres:[1,4],capo:!0,baseFret:6,midi:[46,53,56,62,68,73]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,2,1,3,4],baseFret:7,barres:[],midi:[-1,-1,58,62,68,73]},{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:12,barres:[],midi:[-1,58,62,68,73,-1]}]},{key:"A#",suffix:"11",positions:[{frets:[-1,1,1,1,3,1],fingers:[0,1,1,1,3,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,56,62,65]},{frets:[3,2,0,2,1,1],fingers:[4,2,0,3,1,1],barres:[1],capo:!0,baseFret:4,midi:[46,50,50,60,63,68]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,63,68,74]},{frets:[-1,3,2,3,1,1],fingers:[0,3,2,4,1,1],barres:[1],capo:!0,baseFret:11,midi:[-1,58,62,68,70,75]}]},{key:"A#",suffix:"9#11",positions:[{frets:[-1,1,0,1,1,0],fingers:[0,1,0,2,3,0],baseFret:1,barres:[],midi:[-1,46,50,56,60,64]},{frets:[2,1,2,1,1,-1],fingers:[2,1,3,1,1,0],barres:[1],capo:!0,baseFret:5,midi:[46,50,56,60,64,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:8,barres:[],midi:[-1,-1,58,64,68,74]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:12,midi:[-1,58,62,68,72,76]}]},{key:"A#",suffix:"13",positions:[{frets:[-1,1,0,1,3,3],fingers:[0,1,0,2,4,4],barres:[3],baseFret:1,midi:[-1,46,50,56,62,67]},{frets:[3,2,0,0,1,1],fingers:[3,2,0,0,1,1],barres:[1],baseFret:4,midi:[46,50,50,55,63,68]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,62,67,72]},{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:12,midi:[-1,58,62,68,74,79]}]},{key:"A#",suffix:"maj7",positions:[{frets:[-1,1,3,2,3,1],fingers:[0,1,3,2,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,57,62,65]},{frets:[-1,-1,1,1,1,3],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,53,58,62,69]},{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,57,62,65,70]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1,3],capo:!0,baseFret:8,midi:[-1,53,58,65,69,74]}]},{key:"A#",suffix:"maj7b5",positions:[{frets:[-1,1,2,2,3,-1],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,46,52,57,62,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:5,midi:[46,50,57,62,64,69]},{frets:[1,2,2,2,-1,0],fingers:[1,2,3,4,0,0],baseFret:6,barres:[],midi:[46,52,57,62,-1,64]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:8,barres:[],midi:[-1,-1,58,64,69,74]}]},{key:"A#",suffix:"maj7#5",positions:[{frets:[-1,1,0,2,3,2],fingers:[0,1,0,2,4,3],baseFret:1,barres:[],midi:[-1,46,50,57,62,66]},{frets:[-1,-1,2,1,1,3],fingers:[0,0,2,1,1,4],barres:[1],capo:!0,baseFret:3,midi:[-1,-1,54,58,62,69]},{frets:[1,-1,2,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:6,barres:[],midi:[46,-1,57,62,66,-1]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:10,midi:[50,58,62,66,69,74]}]},{key:"A#",suffix:"maj9",positions:[{frets:[1,1,0,2,1,-1],fingers:[1,1,0,3,2,0],barres:[1],baseFret:1,midi:[41,46,50,57,60,-1]},{frets:[4,1,1,1,1,3],fingers:[4,1,1,1,1,3],barres:[1],capo:!0,baseFret:3,midi:[46,48,53,58,62,69]},{frets:[2,1,3,1,2,-1],fingers:[2,1,4,1,3,0],barres:[1],capo:!0,baseFret:5,midi:[46,50,57,60,65,-1]},{frets:[1,3,2,2,1,3],fingers:[1,3,2,2,1,4],barres:[1,2],capo:!0,baseFret:6,midi:[46,53,57,62,65,72]}]},{key:"A#",suffix:"maj11",positions:[{frets:[-1,1,1,2,3,1],fingers:[0,1,1,2,3,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,57,62,65]},{frets:[3,-1,0,2,1,2],fingers:[4,0,0,2,1,3],baseFret:4,barres:[],midi:[46,-1,50,60,63,69]},{frets:[1,1,2,2,1,1],fingers:[1,1,2,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,57,62,65,70]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,58,63,69,74]}]},{key:"A#",suffix:"maj13",positions:[{frets:[-1,1,1,2,3,3],fingers:[0,1,1,2,3,4],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,57,62,67]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:5,midi:[46,50,55,60,65,69]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,51,57,62,67,70]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],capo:!0,baseFret:10,midi:[-1,58,62,67,69,74]}]},{key:"A#",suffix:"m6",positions:[{frets:[-1,1,3,-1,2,3],fingers:[0,1,3,0,2,4],baseFret:1,barres:[],midi:[-1,46,53,-1,61,67]},{frets:[-1,2,3,1,4,-1],fingers:[0,2,3,1,4,0],baseFret:3,barres:[],midi:[-1,49,55,58,65,-1]},{frets:[2,-1,1,2,2,2],fingers:[2,0,1,3,3,4],barres:[2],baseFret:5,midi:[46,-1,55,61,65,70]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,58,61,67,70]}]},{key:"A#",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:5,barres:[],midi:[45,-1,55,60,64,-1]},{frets:[-1,1,3,1,2,1],fingers:[0,1,3,1,2,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,56,61,65]},{frets:[-1,-1,3,3,2,4],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[-1,-1,53,58,61,68]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,56,61,65,70]},{frets:[-1,1,1,3,2,2],fingers:[0,1,1,4,2,3],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,65,68,73]}]},{key:"A#",suffix:"m7b5",positions:[{frets:[-1,1,2,1,2,-1],fingers:[0,1,3,2,4,0],baseFret:1,barres:[],midi:[-1,46,52,56,61,-1]},{frets:[-1,-1,2,3,2,4],fingers:[0,0,1,2,1,4],barres:[2],capo:!0,baseFret:1,midi:[-1,-1,52,58,61,68]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:5,barres:[],midi:[46,-1,56,61,64,-1]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:8,midi:[-1,-1,58,64,68,73]}]},{key:"A#",suffix:"m9",positions:[{frets:[-1,-1,2,4,1,3],fingers:[0,0,2,4,1,3],baseFret:2,barres:[],midi:[-1,-1,53,60,61,68]},{frets:[3,1,-1,2,3,1],fingers:[3,1,0,2,4,1],barres:[1],capo:!0,baseFret:4,midi:[46,49,-1,60,65,68]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,53,56,61,65,72]},{frets:[-1,3,1,3,3,-1],fingers:[0,2,1,3,4,0],baseFret:11,barres:[],midi:[-1,58,61,68,72,-1]}]},{key:"A#",suffix:"m69",positions:[{frets:[2,-1,1,2,2,4],fingers:[2,0,1,3,3,4],barres:[2],baseFret:5,midi:[46,-1,55,61,65,72]},{frets:[1,-1,3,1,3,3],fingers:[1,0,2,1,3,4],barres:[1],capo:!0,baseFret:6,midi:[46,-1,58,61,67,72]},{frets:[2,-1,1,3,1,1],fingers:[2,0,1,4,1,1],barres:[1],capo:!0,baseFret:8,midi:[49,-1,58,65,67,72]},{frets:[-1,3,1,2,3,-1],fingers:[0,3,1,2,4,0],baseFret:11,barres:[],midi:[-1,58,61,67,72,-1]}]},{key:"A#",suffix:"m11",positions:[{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:4,midi:[46,49,56,60,63,68]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,51,56,61,65,72]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1],capo:!0,baseFret:8,midi:[-1,-1,58,63,68,73]},{frets:[-1,3,1,3,3,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[-1,58,61,68,72,75]}]},{key:"A#",suffix:"mmaj7",positions:[{frets:[-1,1,3,2,2,1],fingers:[0,1,4,2,3,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,53,57,61,65]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:6,midi:[46,53,57,61,65,70]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,65,69,73]},{frets:[-1,4,2,1,1,-1],fingers:[0,4,2,1,1,0],barres:[1],capo:!0,baseFret:10,midi:[-1,58,61,65,69,-1]}]},{key:"A#",suffix:"mmaj7b5",positions:[{frets:[-1,1,2,2,2,0],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,46,52,57,61,64]},{frets:[2,3,-1,2,1,1],fingers:[2,4,0,3,1,1],barres:[1],capo:!0,baseFret:5,midi:[46,52,-1,61,64,69]},{frets:[1,2,2,1,-1,1],fingers:[1,2,3,1,0,1],barres:[1],capo:!0,baseFret:6,midi:[46,52,57,61,-1,70]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:8,barres:[],midi:[-1,-1,58,64,69,73]}]},{key:"A#",suffix:"mmaj9",positions:[{frets:[3,1,-1,2,3,2],fingers:[3,1,0,2,4,2],barres:[2],baseFret:4,midi:[46,49,-1,60,65,69]},{frets:[3,1,4,2,-1,-1],fingers:[3,1,4,2,0,0],baseFret:4,barres:[],midi:[46,49,57,60,-1,-1]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,53,57,61,65,72]},{frets:[1,1,1,3,3,2],fingers:[1,1,1,3,4,2],barres:[1],capo:!0,baseFret:8,midi:[48,53,58,65,69,73]}]},{key:"A#",suffix:"mmaj11",positions:[{frets:[-1,1,1,2,2,1],fingers:[0,1,1,2,3,1],barres:[1],capo:!0,baseFret:1,midi:[-1,46,51,57,61,65]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[46,51,57,61,65,72]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:8,midi:[-1,53,58,63,69,73]},{frets:[-1,3,1,4,3,1],fingers:[0,2,1,4,3,1],barres:[1],capo:!0,baseFret:11,midi:[-1,58,61,69,72,75]}]},{key:"A#",suffix:"add9",positions:[{frets:[-1,1,0,3,1,1],fingers:[0,1,0,4,2,3],baseFret:1,barres:[],midi:[-1,46,50,58,60,65]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:6,barres:[],midi:[-1,-1,58,62,65,72]},{frets:[-1,-1,2,1,-1,2],fingers:[0,0,2,1,0,3],baseFret:7,barres:[],midi:[-1,-1,58,62,-1,72]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:10,midi:[-1,58,62,65,72,74]}]},{key:"A#",suffix:"madd9",positions:[{frets:[-1,4,3,3,1,-1],fingers:[0,4,2,3,1,0],baseFret:1,barres:[],midi:[-1,49,53,58,60,-1]},{frets:[3,1,-1,2,3,-1],fingers:[3,1,0,2,4,0],baseFret:4,barres:[],midi:[46,49,-1,60,65,-1]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[-1,-1,58,61,65,72]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:10,barres:[],midi:[-1,58,61,65,72,-1]}]}],B:[{key:"B",suffix:"major",positions:[{frets:[2,2,4,4,4,2],fingers:[1,1,2,3,4,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,59,63,66]},{frets:[-1,-1,1,1,1,4],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,63,71]},{frets:[1,3,3,2,1,1],fingers:[1,3,4,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,59,63,66,71]},{frets:[-1,1,1,3,4,3],fingers:[0,1,1,2,4,3],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,66,71,75]}]},{key:"B",suffix:"minor",positions:[{frets:[2,2,4,4,3,2],fingers:[1,1,3,4,2,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,59,62,66]},{frets:[1,3,3,1,1,1],fingers:[1,3,4,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,59,62,66,71]},{frets:[-1,-1,1,3,4,2],fingers:[0,0,1,3,4,2],baseFret:9,barres:[],midi:[-1,-1,59,66,71,74]},{frets:[-1,-1,3,2,3,1],fingers:[0,0,3,2,4,1],baseFret:10,barres:[],midi:[-1,-1,62,66,71,74]}]},{key:"B",suffix:"dim",positions:[{frets:[-1,2,0,-1,0,1],fingers:[0,3,0,0,0,2],baseFret:1,barres:[],midi:[-1,47,50,-1,59,65]},{frets:[-1,2,3,4,3,-1],fingers:[0,1,2,4,3,0],baseFret:1,barres:[],midi:[-1,47,53,59,62,-1]},{frets:[3,1,-1,3,2,-1],fingers:[3,1,0,4,2,0],baseFret:5,barres:[],midi:[47,50,-1,62,65,-1]},{frets:[-1,-1,1,2,-1,2],fingers:[0,0,1,2,0,3],baseFret:9,barres:[],midi:[-1,-1,59,65,-1,74]}]},{key:"B",suffix:"dim7",positions:[{frets:[-1,2,3,1,3,1],fingers:[0,2,3,1,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,47,53,56,62,65]},{frets:[-1,-1,3,4,3,4],fingers:[0,0,1,3,2,4],baseFret:1,barres:[],midi:[-1,-1,53,59,62,68]},{frets:[2,-1,1,2,1,-1],fingers:[3,0,1,4,2,0],baseFret:6,barres:[],midi:[47,-1,56,62,65,-1]},{frets:[1,2,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,53,59,62,68,71]}]},{key:"B",suffix:"sus2",positions:[{frets:[2,2,4,4,2,2],fingers:[1,1,3,4,1,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,59,61,66]},{frets:[2,-1,-1,1,2,2],fingers:[2,0,0,1,3,4],baseFret:6,barres:[],midi:[47,-1,-1,61,66,71]},{frets:[1,1,1,3,4,1],fingers:[1,1,1,3,4,1],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,66,71,73]},{frets:[-1,4,1,1,2,4],fingers:[0,3,1,1,2,4],barres:[1],capo:!0,baseFret:11,midi:[-1,59,61,66,71,78]}]},{key:"B",suffix:"sus4",positions:[{frets:[1,1,3,3,4,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:2,midi:[42,47,54,59,64,66]},{frets:[-1,-1,1,1,2,4],fingers:[0,0,1,1,2,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,64,71]},{frets:[1,3,3,3,1,1],fingers:[1,2,3,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,59,64,66,71]},{frets:[-1,1,1,3,4,4],fingers:[0,1,1,3,4,4],barres:[1,4],capo:!0,baseFret:9,midi:[-1,54,59,66,71,76]}]},{key:"B",suffix:"sus2sus4",positions:[{frets:[-1,2,2,4,2,2],fingers:[0,1,1,3,1,1],barres:[2],capo:!0,baseFret:1,midi:[-1,47,52,59,61,66]},{frets:[1,1,3,3,1,3],fingers:[1,1,2,3,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,52,59,64,66,73]},{frets:[4,4,1,3,-1,-1],fingers:[3,4,1,2,0,0],baseFret:4,barres:[],midi:[47,52,54,61,-1,-1]}]},{key:"B",suffix:"7sus4",positions:[{frets:[-1,2,2,2,0,0],fingers:[0,1,2,3,0,0],baseFret:1,barres:[],midi:[-1,47,52,57,59,64]},{frets:[1,1,3,1,4,1],fingers:[1,1,3,1,4,1],barres:[1],capo:!0,baseFret:2,midi:[42,47,54,57,64,66]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,2],barres:[1,2],capo:!0,baseFret:4,midi:[-1,-1,54,59,64,69]},{frets:[1,3,1,3,1,1],fingers:[1,3,1,4,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,64,66,71]}]},{key:"B",suffix:"alt",positions:[{frets:[-1,2,3,4,4,-1],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,47,53,59,63,-1]},{frets:[-1,-1,4,3,1,2],fingers:[0,0,4,3,1,2],baseFret:6,barres:[],midi:[-1,-1,59,63,65,71]},{frets:[1,2,3,2,0,-1],fingers:[1,2,4,3,0,0],baseFret:7,barres:[],midi:[47,53,59,63,59,-1]},{frets:[-1,-1,1,2,0,3],fingers:[0,0,1,2,0,3],baseFret:9,barres:[],midi:[-1,-1,59,65,59,75]}]},{key:"B",suffix:"aug",positions:[{frets:[-1,2,1,0,0,-1],fingers:[0,2,1,0,0,0],baseFret:1,barres:[],midi:[-1,47,51,55,59,-1]},{frets:[-1,-1,3,2,2,1],fingers:[0,0,4,2,3,1],baseFret:3,barres:[],midi:[-1,-1,55,59,63,67]},{frets:[1,-1,3,2,2,-1],fingers:[1,0,4,2,3,0],baseFret:7,barres:[],midi:[47,-1,59,63,67,-1]},{frets:[-1,3,2,1,1,0],fingers:[0,3,2,1,1,0],barres:[1],capo:!0,baseFret:12,midi:[-1,59,63,67,71,64]}]},{key:"B",suffix:"5",positions:[{frets:[1,3,-1,-1,-1,-1],fingers:[1,3,0,0,0,0],baseFret:7,barres:[],midi:[47,54,-1,-1,-1,-1]},{frets:[-1,2,4,-1,-1,-1],fingers:[0,1,3,0,0,0],baseFret:1,barres:[],midi:[-1,47,54,-1,-1,-1]},{frets:[1,3,3,-1,-1,-1],fingers:[1,3,4,0,0,0],baseFret:7,barres:[],midi:[47,54,59,-1,-1,-1]}]},{key:"B",suffix:"6",positions:[{frets:[-1,2,1,1,0,-1],fingers:[0,3,1,2,0,0],baseFret:1,barres:[],midi:[-1,47,51,56,59,-1]},{frets:[-1,2,4,4,4,4],fingers:[0,1,3,3,3,3],barres:[4],baseFret:1,midi:[-1,47,54,59,63,68]},{frets:[1,-1,3,2,3,-1],fingers:[1,0,3,2,4,0],baseFret:7,barres:[],midi:[47,-1,59,63,68,-1]},{frets:[-1,-1,1,3,1,3],fingers:[0,0,1,3,1,4],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,59,66,68,75]}]},{key:"B",suffix:"69",positions:[{frets:[-1,2,1,1,2,2],fingers:[0,2,1,1,3,4],barres:[1],capo:!0,baseFret:1,midi:[-1,47,51,56,61,66]},{frets:[2,1,1,1,2,2],fingers:[2,1,1,1,3,4],barres:[1],capo:!0,baseFret:6,midi:[47,51,56,61,66,71]},{frets:[-1,2,2,1,2,2],fingers:[0,2,2,1,3,4],barres:[2],baseFret:8,midi:[-1,54,59,63,68,73]},{frets:[-1,4,1,3,2,1],fingers:[0,4,1,3,2,1],barres:[1],capo:!0,baseFret:11,midi:[-1,59,61,68,71,75]}]},{key:"B",suffix:"7",positions:[{frets:[-1,2,1,2,0,2],fingers:[0,2,1,3,0,4],baseFret:1,barres:[],midi:[-1,47,51,57,59,66]},{frets:[2,2,4,2,4,2],fingers:[1,1,3,1,4,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,57,63,66]},{frets:[-1,-1,1,1,1,2],fingers:[0,0,1,1,1,2],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,63,69]},{frets:[1,3,1,2,1,1],fingers:[1,3,1,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,63,66,71]}]},{key:"B",suffix:"7b5",positions:[{frets:[-1,2,1,2,0,1],fingers:[0,3,1,4,0,2],baseFret:1,barres:[],midi:[-1,47,51,57,59,65]},{frets:[-1,2,3,2,4,-1],fingers:[0,1,2,1,3,0],baseFret:1,barres:[],midi:[-1,47,53,57,63,-1]},{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:6,barres:[],midi:[47,-1,57,63,65,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:9,barres:[],midi:[-1,-1,59,65,69,75]}]},{key:"B",suffix:"aug7",positions:[{frets:[-1,2,1,2,0,3],fingers:[0,2,1,3,0,4],baseFret:1,barres:[],midi:[-1,47,51,57,59,67]},{frets:[-1,1,4,1,3,2],fingers:[0,0,2,1,1,3],barres:[1],capo:!0,baseFret:2,midi:[-1,47,55,57,63,67]},{frets:[1,-1,1,2,2,-1],fingers:[1,0,2,3,4,0],baseFret:7,barres:[],midi:[47,-1,57,63,67,-1]},{frets:[-1,-1,1,4,2,3],fingers:[0,0,1,4,2,3],baseFret:9,barres:[],midi:[-1,-1,59,67,69,75]}]},{key:"B",suffix:"9",positions:[{frets:[-1,2,1,2,2,2],fingers:[0,2,1,3,3,4],barres:[2],baseFret:1,midi:[-1,47,51,57,61,66]},{frets:[4,1,1,3,1,2],fingers:[4,1,1,3,1,2],barres:[1],capo:!0,baseFret:4,midi:[47,49,54,61,63,69]},{frets:[1,3,1,2,1,3],fingers:[1,3,1,2,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,63,66,73]},{frets:[-1,-1,2,1,3,2],fingers:[0,0,2,1,4,3],baseFret:8,barres:[],midi:[-1,-1,59,63,69,73]}]},{key:"B",suffix:"9b5",positions:[{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,47,51,57,61,65]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:6,midi:[47,51,57,61,65,71]},{frets:[1,2,1,2,-1,3],fingers:[1,2,1,3,0,4],barres:[1],capo:!0,baseFret:7,midi:[47,53,57,63,-1,73]},{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:13,midi:[-1,59,63,69,73,77]}]},{key:"B",suffix:"aug9",positions:[{frets:[-1,2,1,2,2,3],fingers:[0,2,1,3,3,4],barres:[2],baseFret:1,midi:[-1,47,51,57,61,67]},{frets:[2,1,2,1,1,2],fingers:[2,1,3,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[45,49,55,59,63,69]},{frets:[2,1,2,1,3,-1],fingers:[2,1,3,1,4,0],barres:[1],capo:!0,baseFret:6,midi:[47,51,57,61,67,-1]},{frets:[1,2,1,2,2,1],fingers:[1,2,1,3,4,1],barres:[1],capo:!0,baseFret:11,midi:[51,57,61,67,71,75]}]},{key:"B",suffix:"7b9",positions:[{frets:[-1,2,1,2,1,2],fingers:[0,2,1,3,1,4],barres:[1],capo:!0,baseFret:1,midi:[-1,47,51,57,60,66]},{frets:[3,2,3,1,-1,-1],fingers:[3,2,4,1,0,0],baseFret:5,barres:[],midi:[47,51,57,60,-1,-1]},{frets:[1,-1,1,2,1,2],fingers:[1,0,1,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[47,-1,57,63,66,72]},{frets:[-1,-1,2,1,3,1],fingers:[0,0,2,1,3,1],barres:[1],baseFret:8,midi:[-1,-1,59,63,69,72]}]},{key:"B",suffix:"7#9",positions:[{frets:[-1,2,1,2,3,-1],fingers:[0,2,1,3,4,0],baseFret:1,barres:[],midi:[-1,47,51,57,62,-1]},{frets:[3,2,0,3,0,1],fingers:[3,2,0,4,0,1],baseFret:5,barres:[],midi:[47,51,50,62,59,69]},{frets:[1,3,1,2,4,4],fingers:[1,3,1,2,4,4],barres:[1,4],capo:!0,baseFret:7,midi:[47,54,57,63,69,74]},{frets:[-1,-1,2,1,3,3],fingers:[0,0,2,1,3,4],baseFret:8,barres:[],midi:[-1,-1,59,63,69,74]}]},{key:"B",suffix:"11",positions:[{frets:[-1,2,1,2,0,0],fingers:[0,2,1,3,0,0],baseFret:1,barres:[],midi:[-1,47,51,57,59,64]},{frets:[2,2,2,2,4,2],fingers:[1,1,1,1,3,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,57,63,66]},{frets:[1,1,1,2,1,1],fingers:[1,1,1,2,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,63,66,71]},{frets:[1,1,1,1,2,3],fingers:[1,1,1,1,2,3],barres:[1],capo:!0,baseFret:9,midi:[49,54,59,64,69,75]}]},{key:"B",suffix:"9#11",positions:[{frets:[-1,2,1,2,2,1],fingers:[0,2,1,3,4,1],barres:[1],capo:!0,baseFret:1,midi:[-1,47,51,57,61,65]},{frets:[-1,2,3,2,4,2],fingers:[0,1,2,1,3,1],barres:[2],capo:!0,baseFret:1,midi:[-1,47,53,57,63,66]},{frets:[2,-1,2,3,1,-1],fingers:[2,0,3,4,1,0],baseFret:6,barres:[],midi:[47,-1,57,63,65,-1]},{frets:[-1,-1,1,2,2,3],fingers:[0,0,1,2,3,4],baseFret:9,barres:[],midi:[-1,-1,59,65,69,75]}]},{key:"B",suffix:"13",positions:[{frets:[-1,2,1,2,4,4],fingers:[0,2,1,3,4,4],barres:[4],baseFret:1,midi:[-1,47,51,57,63,68]},{frets:[2,2,2,2,4,4],fingers:[1,1,1,1,3,4],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,57,63,68]},{frets:[4,1,3,1,1,2],fingers:[4,1,3,1,1,2],barres:[1],capo:!0,baseFret:4,midi:[47,49,56,59,63,69]},{frets:[1,1,1,2,3,3],fingers:[1,1,1,2,3,4],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,63,68,73]}]},{key:"B",suffix:"maj7",positions:[{frets:[2,2,4,3,4,2],fingers:[1,1,3,2,4,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,58,63,66]},{frets:[-1,-1,1,1,1,3],fingers:[0,0,1,1,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,59,63,70]},{frets:[1,3,2,2,1,1],fingers:[1,4,2,3,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,58,63,66,71]},{frets:[-1,1,1,3,3,3],fingers:[0,1,1,3,3,3],barres:[1,3],capo:!0,baseFret:9,midi:[-1,54,59,66,70,75]}]},{key:"B",suffix:"maj7b5",positions:[{frets:[-1,2,3,3,4,-1],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,47,53,58,63,-1]},{frets:[2,1,3,3,1,1],fingers:[2,1,3,4,1,1],barres:[1],capo:!0,baseFret:6,midi:[47,51,58,63,65,70]},{frets:[1,2,2,2,0,-1],fingers:[1,2,3,4,0,0],baseFret:7,barres:[],midi:[47,53,58,63,59,-1]},{frets:[-1,-1,1,2,3,3],fingers:[0,0,1,2,3,4],baseFret:9,barres:[],midi:[-1,-1,59,65,70,75]}]},{key:"B",suffix:"maj7#5",positions:[{frets:[-1,2,1,3,0,3],fingers:[0,2,1,3,0,4],baseFret:1,barres:[],midi:[-1,47,51,58,59,67]},{frets:[-1,1,4,2,3,-1],fingers:[0,1,4,2,3,0],baseFret:2,barres:[],midi:[-1,47,55,58,63,-1]},{frets:[2,1,3,0,3,-1],fingers:[2,1,3,0,3,0],baseFret:6,barres:[],midi:[47,51,58,55,67,-1]},{frets:[1,4,3,2,1,1],fingers:[1,4,3,2,1,1],barres:[1],capo:!0,baseFret:11,midi:[51,59,63,67,70,75]}]},{key:"B",suffix:"maj9",positions:[{frets:[2,2,1,3,2,-1],fingers:[2,2,1,4,3,0],barres:[2],baseFret:1,midi:[42,47,51,58,61,-1]},{frets:[-1,-1,1,3,1,3],fingers:[0,0,1,3,1,4],barres:[1],capo:!0,baseFret:4,midi:[-1,-1,54,61,63,70]},{frets:[2,1,3,1,2,-1],fingers:[2,1,4,1,3,0],barres:[1],baseFret:6,midi:[47,51,58,61,66,-1]},{frets:[-1,-1,2,1,4,2],fingers:[0,0,2,1,4,3],baseFret:8,barres:[],midi:[-1,-1,59,63,70,73]}]},{key:"B",suffix:"maj11",positions:[{frets:[-1,2,1,3,0,0],fingers:[0,2,1,3,0,0],baseFret:1,barres:[],midi:[-1,47,51,58,59,64]},{frets:[2,2,2,3,4,2],fingers:[1,1,1,2,3,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,58,63,66]},{frets:[1,1,2,2,1,3],fingers:[1,1,2,2,1,3],barres:[1],capo:!0,baseFret:7,midi:[47,52,58,63,66,73]},{frets:[-1,-1,1,1,3,3],fingers:[0,0,1,1,3,4],barres:[1],capo:!0,baseFret:9,midi:[-1,-1,59,64,70,75]}]},{key:"B",suffix:"maj13",positions:[{frets:[-1,2,2,3,4,4],fingers:[0,1,1,2,3,4],barres:[2],capo:!0,baseFret:1,midi:[-1,47,52,58,63,68]},{frets:[2,1,1,1,2,1],fingers:[2,1,1,1,3,1],barres:[1],capo:!0,baseFret:6,midi:[47,51,56,61,66,70]},{frets:[1,1,2,2,3,1],fingers:[1,1,2,3,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,52,58,63,68,71]},{frets:[-1,4,3,3,1,1],fingers:[0,4,2,3,1,1],barres:[1],capo:!0,baseFret:11,midi:[-1,59,63,68,70,75]}]},{key:"B",suffix:"m6",positions:[{frets:[2,2,0,1,0,2],fingers:[2,3,0,1,0,4],baseFret:1,barres:[],midi:[42,47,50,56,59,66]},{frets:[-1,-1,4,4,3,4],fingers:[0,0,2,3,1,4],baseFret:1,barres:[],midi:[-1,-1,54,59,62,68]},{frets:[2,-1,1,2,2,-1],fingers:[2,0,1,3,4,0],baseFret:6,barres:[],midi:[47,-1,56,62,66,-1]},{frets:[1,3,3,1,3,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,59,62,68,71]}]},{key:"B",suffix:"m7",positions:[{frets:[1,-1,1,1,1,-1],fingers:[2,0,3,3,3,0],baseFret:7,barres:[],midi:[47,-1,57,62,66,-1]},{frets:[2,2,4,2,3,2],fingers:[1,1,3,1,2,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,57,62,66]},{frets:[-1,-1,2,2,1,3],fingers:[0,0,2,3,1,4],baseFret:3,barres:[],midi:[-1,-1,54,59,62,69]},{frets:[1,3,1,1,1,1],fingers:[1,3,1,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,62,66,71]},{frets:[-1,1,1,3,2,2],fingers:[0,1,1,4,2,3],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,66,69,74]}]},{key:"B",suffix:"m7b5",positions:[{frets:[-1,2,3,2,3,-1],fingers:[0,1,3,2,4,0],baseFret:1,barres:[],midi:[-1,47,53,57,62,-1]},{frets:[2,-1,2,2,1,-1],fingers:[2,0,3,4,1,0],baseFret:6,barres:[],midi:[47,-1,57,62,65,-1]},{frets:[1,2,3,1,4,1],fingers:[1,2,3,1,4,1],barres:[1],capo:!0,baseFret:7,midi:[47,53,59,62,69,71]},{frets:[-1,-1,1,2,2,2],fingers:[0,0,1,2,2,2],barres:[2],baseFret:9,midi:[-1,-1,59,65,69,74]}]},{key:"B",suffix:"m9",positions:[{frets:[-1,2,0,2,2,2],fingers:[0,1,0,2,3,4],baseFret:1,barres:[],midi:[-1,47,50,57,61,66]},{frets:[-1,2,2,2,1,3],fingers:[0,2,3,3,1,4],barres:[2],baseFret:3,midi:[-1,49,54,59,62,69]},{frets:[1,3,1,1,1,3],fingers:[1,3,1,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,54,57,62,66,73]},{frets:[1,3,2,2,3,1],fingers:[1,3,2,2,4,1],barres:[1,2],capo:!0,baseFret:10,midi:[50,57,61,66,71,74]}]},{key:"B",suffix:"m69",positions:[{frets:[-1,2,0,1,2,2],fingers:[0,2,0,1,3,4],baseFret:1,barres:[],midi:[-1,47,50,56,61,66]},{frets:[-1,1,2,2,3,3],fingers:[0,1,2,2,3,3],barres:[2,3],baseFret:5,midi:[-1,50,56,61,66,71]},{frets:[1,3,3,1,3,3],fingers:[1,2,2,1,3,4],barres:[1,3],capo:!0,baseFret:7,midi:[47,54,59,62,68,73]},{frets:[2,-1,1,3,1,1],fingers:[2,0,1,3,1,1],barres:[1],capo:!0,baseFret:9,midi:[50,-1,59,66,68,73]}]},{key:"B",suffix:"m11",positions:[{frets:[-1,2,0,2,2,0],fingers:[0,1,0,2,3,0],baseFret:1,barres:[],midi:[-1,47,50,57,61,64]},{frets:[3,1,3,2,1,1],fingers:[3,1,4,2,1,1],barres:[1],capo:!0,baseFret:5,midi:[47,50,57,61,64,69]},{frets:[1,1,1,1,1,3],fingers:[1,1,1,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,52,57,62,66,73]},{frets:[-1,-1,1,1,2,2],fingers:[0,0,1,1,2,3],barres:[1,2],capo:!0,baseFret:9,midi:[-1,-1,59,64,69,74]}]},{key:"B",suffix:"mmaj7",positions:[{frets:[-1,2,0,3,0,2],fingers:[0,1,0,3,0,2],baseFret:1,barres:[],midi:[-1,47,50,58,59,66]},{frets:[2,2,4,3,3,2],fingers:[1,1,4,2,3,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,54,58,62,66]},{frets:[1,3,2,1,1,1],fingers:[1,3,2,1,1,1],barres:[1],capo:!0,baseFret:7,midi:[47,54,58,62,66,71]},{frets:[-1,1,1,3,3,2],fingers:[0,1,1,3,4,2],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,66,70,74]}]},{key:"B",suffix:"mmaj7b5",positions:[{frets:[-1,2,3,3,3,-1],fingers:[0,1,2,3,4,0],baseFret:1,barres:[],midi:[-1,47,53,58,62,-1]},{frets:[2,3,-1,2,1,1],fingers:[2,4,0,3,1,1],barres:[1],capo:!0,baseFret:6,midi:[47,53,-1,62,65,70]},{frets:[1,2,2,1,-1,1],fingers:[1,2,3,1,0,1],barres:[1],capo:!0,baseFret:7,midi:[47,53,58,62,-1,71]},{frets:[-1,-1,1,2,3,2],fingers:[0,0,1,2,4,3],baseFret:9,barres:[],midi:[-1,-1,59,65,70,74]}]},{key:"B",suffix:"mmaj9",positions:[{frets:[-1,2,0,3,2,2],fingers:[0,1,0,4,2,3],baseFret:1,barres:[],midi:[-1,47,50,58,61,66]},{frets:[3,1,4,2,0,-1],fingers:[3,1,4,2,0,0],baseFret:5,barres:[],midi:[47,50,58,61,59,-1]},{frets:[1,3,2,1,1,3],fingers:[1,3,2,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,54,58,62,66,73]},{frets:[-1,3,1,4,3,-1],fingers:[0,3,1,4,3,0],baseFret:12,barres:[],midi:[-1,59,62,70,73,-1]}]},{key:"B",suffix:"mmaj11",positions:[{frets:[-1,2,0,3,2,0],fingers:[0,1,0,3,2,0],baseFret:1,barres:[],midi:[-1,47,50,58,61,64]},{frets:[2,2,2,3,3,2],fingers:[1,1,1,2,3,1],barres:[2],capo:!0,baseFret:1,midi:[42,47,52,58,62,66]},{frets:[1,1,2,1,1,3],fingers:[1,1,2,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[47,52,58,62,66,73]},{frets:[-1,1,1,1,3,2],fingers:[0,1,1,1,3,2],barres:[1],capo:!0,baseFret:9,midi:[-1,54,59,64,70,74]}]},{key:"B",suffix:"add9",positions:[{frets:[-1,2,1,-1,2,2],fingers:[0,2,1,0,3,4],baseFret:1,barres:[],midi:[-1,47,51,-1,61,66]},{frets:[2,1,-1,1,2,2],fingers:[3,1,0,2,4,4],barres:[2],baseFret:6,midi:[47,51,-1,61,66,71]},{frets:[-1,-1,3,2,1,3],fingers:[0,0,3,2,1,4],baseFret:7,barres:[],midi:[-1,-1,59,63,66,73]},{frets:[-1,4,3,1,4,1],fingers:[0,3,2,1,4,1],barres:[1],capo:!0,baseFret:11,midi:[-1,59,63,66,73,75]}]},{key:"B",suffix:"madd9",positions:[{frets:[-1,4,3,3,1,-1],fingers:[0,4,2,3,1,0],baseFret:2,barres:[],midi:[-1,50,54,59,61,-1]},{frets:[3,1,0,2,3,-1],fingers:[3,1,0,2,4,0],baseFret:5,barres:[],midi:[47,50,50,61,66,-1]},{frets:[-1,-1,3,1,1,3],fingers:[0,0,3,1,1,4],barres:[1],capo:!0,baseFret:7,midi:[-1,-1,59,62,66,73]},{frets:[-1,4,2,1,4,-1],fingers:[0,3,2,1,4,0],baseFret:11,barres:[],midi:[-1,59,62,66,73,-1]}]}]}},Fe={class:"flex flex-wrap items-start p-2 gap-2"},ge={class:"flex-1 flex flex-wrap gap-2 overflow-y-scroll overscroll-none max-h-95svh",style:{flex:"1 0 140px"}},oe={class:"flex flex-wrap gap-1 p-2",style:{flex:"1 1 300px"}},ue={class:"text-lg font-bold p-1 rounded text-white"},pe=["onPointerdown","onPointerup","onPointerleave","onPointercancel"],ce={class:"is-group flex flex-col items-center overflow-y-scroll overscroll-none max-h-95svh",style:{flex:"1 1 200px"}},xe={class:"flex flex bg-light-300 rounded-md dark-bg-dark-300 sticky top-0 z-5 dark-bg-dark-200 w-full"},ye=["onClick"],ke={class:"p-2 font-bold my-2"},je={class:"flex flex-wrap justify-center w-full"},le={class:"is-group flex flex-col p-2",style:{flex:"1 1 40px"}},Ce={__name:"ChordTabs",setup(d){const{isDark:A}=q(),e={ukulele:N,guitar:de},o=h("string-instrument","ukulele"),s=v({instrument:F(()=>e[o.value]),key:F(()=>s.instrument.keys[s.pitch]),pitch:h("chord-pitch",3),suffix:h("chord-suffix",N.suffixes[0]),chordType:h("chord-type","Triad"),tabs:F(()=>{var r;let a=(r=s.instrument.chords)==null?void 0:r[s.key];return a?a.find(i=>i.suffix==s.suffix):{}}),chords:F(()=>{var a;return(a=s.instrument)==null?void 0:a.suffixes.map(r=>({...H(s.key+r),suffix:r}))}),allChords:F(()=>W(u,P.tonic).map(r=>{var G;return(G=s.instrument)==null?void 0:G.suffixes.map(k=>({...H(r+k),suffix:k})).filter(k=>!k.empty).filter(k=>k.notes.reduce((D,g)=>D&&P.isIn(g),!0))}).filter(r=>r.length>0)),byNotes:{Triads:F(()=>s.chords.filter(a=>a.notes.length==3)),Tetrads:F(()=>s.chords.filter(a=>a.notes.length==4)),Pentads:F(()=>s.chords.filter(a=>a.notes.length==5)),More:F(()=>s.chords.filter(a=>a.notes.length!=3&&a.notes.length!=4&&a.notes.length!=5))}});return(a,r)=>{var D;const i=V,G=me,k=X;return t(),f("div",Fe,[n("div",ge,[_(i,{class:"sticky top-0 z-6 w-full"}),n("div",oe,[(t(!0),f(y,null,l(s.allChords,(g,c)=>{var E;return t(),f(y,{key:c},[n("div",{class:"flex-1 px-1 inline-flex flex-wrap items-center gap-1 rounded-lg p-1",style:I({backgroundColor:b(w)(b(u).findIndex(m=>m==g[0].tonic),1)})},[n("div",ue,p(c+1)+": "+p((E=g[0])==null?void 0:E.tonic),1)],4),(t(!0),f(y,null,l(g,(m,Ae)=>(t(),f("button",{class:z(["flex-1 text-black dark-text-light-200 px-1 bg-light-200 bg-opacity-80 dark-bg-dark-200 dark-bg-opacity-40",{active:s.suffix==m.suffix&&s.pitch==b(u).findIndex(C=>C==g[0].tonic)}]),style:I([{margin:"0"},{backgroundColor:b(T)(m.chroma,b(u).findIndex(C=>C==m.tonic),.5,b(A)?2:8).lch}]),key:m.setNum,onPointerdown:C=>{b(O)(m.chroma,b(u).findIndex(x=>x==m.tonic)),s.suffix=m.suffix,s.pitch=b(u).findIndex(x=>x==g[0].tonic)},onPointerup:C=>{b(B)(m.chroma,b(u).findIndex(x=>x==m.tonic))},onPointerleave:C=>{b(B)(m.chroma,b(u).findIndex(x=>x==m.tonic))},onPointercancel:C=>{b(B)(m.chroma,b(u).findIndex(x=>x==m.tonic))}},p(m.symbol||m.suffix),47,pe))),128))],64)}),128))])]),n("div",ce,[n("div",xe,[(t(),f(y,null,l(e,(g,c)=>n("button",{class:z(["p-1 capitalize",{active:s.instrument.main.name==c}]),key:c,onClick:E=>o.value=c},p(c),11,ye)),64)),n("div",ke,p(s.key)+" "+p(s.suffix),1)]),n("div",je,[(t(!0),f(y,null,l((D=s.tabs)==null?void 0:D.positions,(g,c)=>(t(),f("div",{class:"tab",key:g},[_(G,L({style:{flex:"1 1 40px"},id:s.key+s.suffix+c,name:s.key+s.suffix,pitch:s.pitch,ref_for:!0},g),null,16,["id","name","pitch"])]))),128))])]),n("div",le,[_(k,{class:"my-8 h-80svh",instrument:b(o),onNote:r[0]||(r[0]=g=>b(S)(g)),"chord-notes":b(M).get(s.key+s.suffix).notes},null,8,["instrument","chord-notes"])])])}}},he=Y(Ce,[["__scopeId","data-v-349cfcd2"]]);export{he as default}; diff --git a/assets/chunks/ChromaCircle.Ba65J0Ej.js b/assets/chunks/ChromaCircle.Cdi5XgF7.js similarity index 95% rename from assets/chunks/ChromaCircle.Ba65J0Ej.js rename to assets/chunks/ChromaCircle.Cdi5XgF7.js index 810979dff0..9a38dc202c 100644 --- a/assets/chunks/ChromaCircle.Ba65J0Ej.js +++ b/assets/chunks/ChromaCircle.Cdi5XgF7.js @@ -1 +1 @@ -import{q as z,r as B,c as h,x as r,y as i,A as u,E as e,F as w,B as k,I as C,G as d,z as S,S as D}from"./framework.BR0mAPCP.js";import{g as b,r as T,a as q,b as A,d as E,m as v,w as m,c as f,n as x,p as $,s as y,e as F}from"./theme.ClagsQLu.js";const H={class:"select-none",version:"1.1",baseProfile:"full",viewBox:"-10 -10 20 20",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},"font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle"},I=["fill"],P=["x1","y1","stroke"],V=["transform","onMousedown"],G=["r","fill"],L=["fill"],O=["fill"],j=["fill"],J=["fill"],K={__name:"ChromaCircle",props:{pitch:{type:Number,default:null},chroma:{type:String,default:"1001000100101"},type:{type:String,default:""},tonic:{type:Number,default:0}},setup(t){const n=B(!1),c=t,o=h(()=>c.pitch===0||c.pitch?c.pitch:b.tonic),g=h(()=>T(c.chroma.split(""),-o.value)),M=h(()=>q(c.chroma));h(()=>A(c.chroma).name);function N(p){F(69+p,.5,200),b.tonic=p}return(p,a)=>(r(),i("svg",H,[u("circle",{cx:"0",cy:"0",r:"8",opacity:"0.5",fill:e(E)(t.chroma,o.value).hsl},null,8,I),(r(!0),i(w,null,k(g.value,(s,l)=>(r(),i("g",{key:l},[s=="1"?(r(),i("line",{key:0,x1:e(v)(l,12,6.5,0).x,y1:e(v)(l,12,6.5,0).y,x2:"0",y2:"0","stroke-linecap":"square","stroke-width":"3.92",stroke:s=="1"?e(m)(e(f)(l,3)).toHex():"none"},null,8,P)):C("",!0)]))),128)),(r(!0),i(w,null,k(g.value,(s,l)=>(r(),i("g",{class:"cursor-pointer",key:l,transform:`translate(${e(v)(l,12,8,0).x}, ${e(v)(l,12,8,0).y})`,onMousedown:Q=>N(l)},[u("circle",{x:"0",y:"0",r:s=="1"?2:1,fill:e(m)(s=="1"?e(f)(l):e(x)[l].length!=2?"hsl(0,0%,85%)":"hsl(0,0%,60%)").toHex()},null,8,G),s=="1"?(r(),i("text",{key:0,y:"0.3","font-size":"2px","font-weight":"bold",fill:e(m)(e(f)(l)).isDark()?"white":"black"},d(e(x)[l]),9,L)):C("",!0)],40,V))),128)),u("g",{class:S(["center cursor-pointer",{pressed:n.value}]),onMousedown:a[0]||(a[0]=s=>{e($)(t.chroma,o.value),n.value=!0}),onTouchstart:a[1]||(a[1]=D(s=>{e($)(t.chroma,o.value),n.value=!0},["prevent","stop"])),onTouchend:a[2]||(a[2]=s=>{e(y)(t.chroma,o.value),n.value=!1}),onTouchcancel:a[3]||(a[3]=s=>{e(y)(t.chroma,o.value),n.value=!1}),onMouseup:a[4]||(a[4]=s=>{e(y)(t.chroma,o.value),n.value=!1}),onMouseleave:a[5]||(a[5]=s=>{e(y)(t.chroma,o.value),n.value=!1})},[u("circle",{cx:"0",cy:"0",r:"5",fill:t.pitch===!1?"none":e(f)(o.value,3)},null,8,O),u("text",{y:"0.3","font-size":"2px","font-weight":"bold",fill:e(m)(e(f)(o.value)).isDark()?"white":"black"},d(t.pitch===!1?"":typeof t.pitch=="string"?t.pitch:e(x)[o.value])+d(M.value.aliases[0]),9,j),u("text",{y:"3","font-size":"1.8px","font-weight":"normal",fill:e(m)(e(f)(o.value)).isDark()?"white":"black"},d(t.type),9,J)],34)]))}},W=z(K,[["__scopeId","data-v-22fd4cd5"]]);export{W as _}; +import{q as z,r as B,c as h,x as r,y as i,A as u,E as e,F as w,B as k,I as C,G as d,z as S,S as D}from"./framework.CQBrk0Ry.js";import{g as b,r as T,a as q,b as A,d as E,m as v,w as m,c as f,n as x,p as $,s as y,e as F}from"./theme.Dd_Fb62b.js";const H={class:"select-none",version:"1.1",baseProfile:"full",viewBox:"-10 -10 20 20",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},"font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle"},I=["fill"],P=["x1","y1","stroke"],V=["transform","onMousedown"],G=["r","fill"],L=["fill"],O=["fill"],j=["fill"],J=["fill"],K={__name:"ChromaCircle",props:{pitch:{type:Number,default:null},chroma:{type:String,default:"1001000100101"},type:{type:String,default:""},tonic:{type:Number,default:0}},setup(t){const n=B(!1),c=t,o=h(()=>c.pitch===0||c.pitch?c.pitch:b.tonic),g=h(()=>T(c.chroma.split(""),-o.value)),M=h(()=>q(c.chroma));h(()=>A(c.chroma).name);function N(p){F(69+p,.5,200),b.tonic=p}return(p,a)=>(r(),i("svg",H,[u("circle",{cx:"0",cy:"0",r:"8",opacity:"0.5",fill:e(E)(t.chroma,o.value).hsl},null,8,I),(r(!0),i(w,null,k(g.value,(s,l)=>(r(),i("g",{key:l},[s=="1"?(r(),i("line",{key:0,x1:e(v)(l,12,6.5,0).x,y1:e(v)(l,12,6.5,0).y,x2:"0",y2:"0","stroke-linecap":"square","stroke-width":"3.92",stroke:s=="1"?e(m)(e(f)(l,3)).toHex():"none"},null,8,P)):C("",!0)]))),128)),(r(!0),i(w,null,k(g.value,(s,l)=>(r(),i("g",{class:"cursor-pointer",key:l,transform:`translate(${e(v)(l,12,8,0).x}, ${e(v)(l,12,8,0).y})`,onMousedown:Q=>N(l)},[u("circle",{x:"0",y:"0",r:s=="1"?2:1,fill:e(m)(s=="1"?e(f)(l):e(x)[l].length!=2?"hsl(0,0%,85%)":"hsl(0,0%,60%)").toHex()},null,8,G),s=="1"?(r(),i("text",{key:0,y:"0.3","font-size":"2px","font-weight":"bold",fill:e(m)(e(f)(l)).isDark()?"white":"black"},d(e(x)[l]),9,L)):C("",!0)],40,V))),128)),u("g",{class:S(["center cursor-pointer",{pressed:n.value}]),onMousedown:a[0]||(a[0]=s=>{e($)(t.chroma,o.value),n.value=!0}),onTouchstart:a[1]||(a[1]=D(s=>{e($)(t.chroma,o.value),n.value=!0},["prevent","stop"])),onTouchend:a[2]||(a[2]=s=>{e(y)(t.chroma,o.value),n.value=!1}),onTouchcancel:a[3]||(a[3]=s=>{e(y)(t.chroma,o.value),n.value=!1}),onMouseup:a[4]||(a[4]=s=>{e(y)(t.chroma,o.value),n.value=!1}),onMouseleave:a[5]||(a[5]=s=>{e(y)(t.chroma,o.value),n.value=!1})},[u("circle",{cx:"0",cy:"0",r:"5",fill:t.pitch===!1?"none":e(f)(o.value,3)},null,8,O),u("text",{y:"0.3","font-size":"2px","font-weight":"bold",fill:e(m)(e(f)(o.value)).isDark()?"white":"black"},d(t.pitch===!1?"":typeof t.pitch=="string"?t.pitch:e(x)[o.value])+d(M.value.aliases[0]),9,j),u("text",{y:"3","font-size":"1.8px","font-weight":"normal",fill:e(m)(e(f)(o.value)).isDark()?"white":"black"},d(t.type),9,J)],34)]))}},W=z(K,[["__scopeId","data-v-22fd4cd5"]]);export{W as _}; diff --git a/assets/chunks/ChromaCode.CCQBWIK8.js b/assets/chunks/ChromaCode.DOABZX-2.js similarity index 92% rename from assets/chunks/ChromaCode.CCQBWIK8.js rename to assets/chunks/ChromaCode.DOABZX-2.js index 5fbe856a29..99fdd88216 100644 --- a/assets/chunks/ChromaCode.CCQBWIK8.js +++ b/assets/chunks/ChromaCode.DOABZX-2.js @@ -1 +1 @@ -import{c as f,i as x,n as _,g as b,e as C}from"./theme.ClagsQLu.js";import{c as a,M as k,C as N,x as c,y as i,au as A,G as B,H as S,F as v,B as h,T as q}from"./framework.BR0mAPCP.js";const w={__name:"ChromaCodeCell",props:{index:{type:Number,required:!0},tonic:{type:Number,required:!0},isActive:{type:Boolean,required:!0}},emits:["toggle"],setup(s,{emit:d}){const e=s,n=a(()=>e.isActive?f((e.tonic+e.index)%12):"101101011010"[e.index]==="1"?"hsla(0,0%,100%,0.5)":"hsla(0,0%,10%,0.5)"),l=a(()=>e.isActive?1:.4),u=a(()=>x[e.index%12]),m=a(()=>_[(e.tonic+e.index)%12]);return(t,o)=>{const r=k("tooltip");return N((c(),i("div",{class:"flex flex-col items-center justify-center rounded text-md p-1 select-none cursor-pointer",onPointerdown:o[0]||(o[0]=p=>t.$emit("toggle",s.index)),style:S({flex:"1 1 50px",backgroundColor:n.value,opacity:l.value})},[A(B(u.value),1)],36)),[[r,m.value]])}}},D={class:"flex flex-col gap-1 bg-dark-200 bg-opacity-30 dark-bg-light-900 dark-bg-opacity-40 p-2 rounded-lg"},F={__name:"ChromaCode",props:{chroma:{type:String,default:"101101011010"},pitch:{type:Number,default:null},cols:{type:Number,default:4}},emits:["update:chroma"],setup(s,{emit:d}){const e=s,n=d,l=a(()=>e.pitch??b.tonic),u=a(()=>{const t=e.chroma.split("").map(Number);return Array.from({length:Math.ceil(12/e.cols)},(o,r)=>t.slice(r*e.cols,(r+1)*e.cols))}),m=t=>{C(t+l.value+57);const o=e.chroma.slice(0,t)+(e.chroma[t]==="1"?"0":"1")+e.chroma.slice(t+1);n("update:chroma",o)};return(t,o)=>(c(),i("div",D,[(c(!0),i(v,null,h(u.value,(r,p)=>(c(),i("div",{class:"flex gap-1",key:p},[(c(!0),i(v,null,h(r,(y,g)=>(c(),q(w,{key:g,index:p*s.cols+g,tonic:l.value,isActive:y===1,onToggle:m},null,8,["index","tonic","isActive"]))),128))]))),128))]))}};export{F as _}; +import{c as f,i as x,n as _,g as b,e as C}from"./theme.Dd_Fb62b.js";import{c as a,M as k,C as N,x as c,y as i,au as A,G as B,H as S,F as v,B as h,T as q}from"./framework.CQBrk0Ry.js";const w={__name:"ChromaCodeCell",props:{index:{type:Number,required:!0},tonic:{type:Number,required:!0},isActive:{type:Boolean,required:!0}},emits:["toggle"],setup(s,{emit:d}){const e=s,n=a(()=>e.isActive?f((e.tonic+e.index)%12):"101101011010"[e.index]==="1"?"hsla(0,0%,100%,0.5)":"hsla(0,0%,10%,0.5)"),l=a(()=>e.isActive?1:.4),u=a(()=>x[e.index%12]),m=a(()=>_[(e.tonic+e.index)%12]);return(t,o)=>{const r=k("tooltip");return N((c(),i("div",{class:"flex flex-col items-center justify-center rounded text-md p-1 select-none cursor-pointer",onPointerdown:o[0]||(o[0]=p=>t.$emit("toggle",s.index)),style:S({flex:"1 1 50px",backgroundColor:n.value,opacity:l.value})},[A(B(u.value),1)],36)),[[r,m.value]])}}},D={class:"flex flex-col gap-1 bg-dark-200 bg-opacity-30 dark-bg-light-900 dark-bg-opacity-40 p-2 rounded-lg"},F={__name:"ChromaCode",props:{chroma:{type:String,default:"101101011010"},pitch:{type:Number,default:null},cols:{type:Number,default:4}},emits:["update:chroma"],setup(s,{emit:d}){const e=s,n=d,l=a(()=>e.pitch??b.tonic),u=a(()=>{const t=e.chroma.split("").map(Number);return Array.from({length:Math.ceil(12/e.cols)},(o,r)=>t.slice(r*e.cols,(r+1)*e.cols))}),m=t=>{C(t+l.value+57);const o=e.chroma.slice(0,t)+(e.chroma[t]==="1"?"0":"1")+e.chroma.slice(t+1);n("update:chroma",o)};return(t,o)=>(c(),i("div",D,[(c(!0),i(v,null,h(u.value,(r,p)=>(c(),i("div",{class:"flex gap-1",key:p},[(c(!0),i(v,null,h(r,(y,g)=>(c(),q(w,{key:g,index:p*s.cols+g,tonic:l.value,isActive:y===1,onToggle:m},null,8,["index","tonic","isActive"]))),128))]))),128))]))}};export{F as _}; diff --git a/assets/chunks/ChromaForm.BHod8fD4.js b/assets/chunks/ChromaForm.BVKcgZJw.js similarity index 76% rename from assets/chunks/ChromaForm.BHod8fD4.js rename to assets/chunks/ChromaForm.BVKcgZJw.js index 0d4a2d9d51..4c4b088b72 100644 --- a/assets/chunks/ChromaForm.BHod8fD4.js +++ b/assets/chunks/ChromaForm.BVKcgZJw.js @@ -1 +1 @@ -import{u as P,aR as O,D as b,d as q,c as k,n as A}from"./theme.ClagsQLu.js";import{q as I,f as L,u as p,d as X,h as G,r as H,w as K,c as d,M as R,x as a,y as i,A as o,F as $,B as D,z as T,E as s,H as V,G as y,C as W}from"./framework.BR0mAPCP.js";const Z={class:"flex flex-col items-center fullscreen-container rounded-3xl",id:"screen"},J={class:"flex flex-wrap mt-6"},Q=["onClick"],U={class:"p-4 flex flex-wrap items-center"},Y={class:"is-group flex"},ee={key:0,class:"i-la-pause"},te={key:1,class:"i-la-play"},oe={key:0,class:"i-la-volume-up"},se={key:1,class:"i-la-volume-off"},le={id:"chord-form",version:"1.1",baseProfile:"full",viewBox:"0 0 1260 800",xmlns:"http://www.w3.org/2000/svg"},ne={class:"zoom"},re={y:"760",fill:"currentColor",x:"12"},ae=["y1"],ie={class:"speed"},ue={y:"780",x:"12",fill:"currentColor"},ce=["x1"],de=["stroke","points"],fe=["transform","fill"],ve=["stroke","points"],me=["transform","fill"],_e=1200,f=600,pe={__name:"ChromaForm",setup(he){const x=[];for(let e=0;e<13;e++)x[e]=Math.pow(2,e/12);const w=_e/f,{timestamp:z,pause:M,resume:N}=L({controls:!0,offset:Date.now(),immediate:!1}),u=p("chord-moving",!0);X(u,e=>{e?N():M()}),G(" ",e=>{e.preventDefault(),u.value=!u.value});const l=p("chord-notes-obj",{}),v=H(!1);K(()=>{if(v.value)for(let e in l.value)P(e+57);else O()});const m=b(p("chord-zoom",400),75,1e3),_=b(p("chord-speed",100),10,400);function S(e){l.value[e]?delete l.value[e]:l.value[e]=!0}function j(e){e.tap&&(u.value=!u.value),_.value+=e.delta[0],m.value-=e.delta[1]}function h(e,t){return Math.sin((t+z.value*_.value/1e3)*(Math.PI*2*x[e])/m.value)}const B=d(()=>{let e="000000000000",t=e.split("");for(let n in l.value)t[Number(n)]="1";return e=t.join(""),e}),E=d(()=>{let e={};for(let t in l.value){e[t]=[];for(let n=0;n{let e=[];for(let t=0;tC.value.map((e,t)=>`${t*w},${e*100+400}`).join(" ")),g=d(()=>q(B.value,Object.keys(l.value)[0]));return(e,t)=>{const n=R("drag");return a(),i("div",Z,[o("div",J,[(a(!0),i($,null,D(s(A),(c,r)=>(a(),i("div",{class:T(["note",{active:s(l)[r]}]),key:c,style:V({backgroundColor:s(l)[r]?s(k)(r):c.length==2?"#333":"#aaa"}),onClick:ke=>S(r)},y(c),15,Q))),128))]),o("div",U,[o("div",Y,[o("button",{onClick:t[0]||(t[0]=c=>u.value=!s(u))},[s(u)?(a(),i("div",ee)):(a(),i("div",te))]),o("button",{onClick:t[1]||(t[1]=c=>v.value=!v.value)},[v.value?(a(),i("div",se)):(a(),i("div",oe))])])]),W((a(),i("svg",le,[o("g",ne,[o("text",re,"ZOOM X"+y(s(m)/100),1),o("line",{y1:800-s(m)/1e3*800,y2:"800",transform:"translate(4 0)","stroke-linecap":"round",stroke:"currentColor","stroke-opacity":"0.5","stroke-width":"8"},null,8,ae)]),o("g",ie,[o("text",ue,"SPEED X"+y(s(_)/100),1),o("line",{x1:s(_)/400*1260,x2:"0",transform:"translate(0 795)","stroke-linecap":"round",stroke:"currentColor","stroke-opacity":"0.5","stroke-width":"12"},null,8,ce)]),t[2]||(t[2]=o("line",{x1:"0",x2:"1200",y1:"400",y2:"400",stroke:"gray","stroke-width":"1"},null,-1)),(a(!0),i($,null,D(s(l),(c,r)=>(a(),i("g",{key:r},[o("polyline",{stroke:s(k)(r),points:E.value[r],"stroke-width":"2",fill:"none"},null,8,de),o("circle",{cx:1200,cy:400,transform:`translate(0,${h(r,f-1)*100})`,r:"6",fill:s(k)(r)},null,8,fe)]))),128)),o("polyline",{stroke:g.value.hsl,points:F.value,"stroke-width":"12",fill:"none"},null,8,ve),o("circle",{cx:1200,cy:400,transform:`translate(0,${C.value[f-1]*100})`,r:"12",fill:g.value.hsl},null,8,me)])),[[n,j]])])}}},we=I(pe,[["__scopeId","data-v-1f3b623e"]]);export{we as default}; +import{u as P,aT as O,D as b,d as q,c as k,n as A}from"./theme.Dd_Fb62b.js";import{q as I,f as L,u as p,d as T,h as X,r as G,w as H,c as d,M as K,x as a,y as i,A as o,F as $,B as D,z as V,E as s,H as W,G as y,C as Z}from"./framework.CQBrk0Ry.js";const J={class:"flex flex-col items-center fullscreen-container rounded-3xl",id:"screen"},Q={class:"flex flex-wrap mt-6"},R=["onClick"],U={class:"p-4 flex flex-wrap items-center"},Y={class:"is-group flex"},ee={key:0,class:"i-la-pause"},te={key:1,class:"i-la-play"},oe={key:0,class:"i-la-volume-up"},se={key:1,class:"i-la-volume-off"},le={id:"chord-form",version:"1.1",baseProfile:"full",viewBox:"0 0 1260 800",xmlns:"http://www.w3.org/2000/svg"},ne={class:"zoom"},re={y:"760",fill:"currentColor",x:"12"},ae=["y1"],ie={class:"speed"},ue={y:"780",x:"12",fill:"currentColor"},ce=["x1"],de=["stroke","points"],fe=["transform","fill"],ve=["stroke","points"],me=["transform","fill"],_e=1200,f=600,pe={__name:"ChromaForm",setup(he){const x=[];for(let e=0;e<13;e++)x[e]=Math.pow(2,e/12);const w=_e/f,{timestamp:z,pause:M,resume:N}=L({controls:!0,offset:Date.now(),immediate:!1}),u=p("chord-moving",!0);T(u,e=>{e?N():M()}),X(" ",e=>{e.preventDefault(),u.value=!u.value});const l=p("chord-notes-obj",{}),v=G(!1);H(()=>{if(v.value)for(let e in l.value)P(e+57);else O()});const m=b(p("chord-zoom",400),75,1e3),_=b(p("chord-speed",100),10,400);function S(e){l.value[e]?delete l.value[e]:l.value[e]=!0}function j(e){e.tap&&(u.value=!u.value),_.value+=e.delta[0],m.value-=e.delta[1]}function h(e,t){return Math.sin((t+z.value*_.value/1e3)*(Math.PI*2*x[e])/m.value)}const B=d(()=>{let e="000000000000",t=e.split("");for(let n in l.value)t[Number(n)]="1";return e=t.join(""),e}),E=d(()=>{let e={};for(let t in l.value){e[t]=[];for(let n=0;n{let e=[];for(let t=0;tC.value.map((e,t)=>`${t*w},${e*100+400}`).join(" ")),g=d(()=>q(B.value,Object.keys(l.value)[0]));return(e,t)=>{const n=K("drag");return a(),i("div",J,[o("div",Q,[(a(!0),i($,null,D(s(A),(c,r)=>(a(),i("div",{class:V(["note",{active:s(l)[r]}]),key:c,style:W({backgroundColor:s(l)[r]?s(k)(r):c.length==2?"#333":"#aaa"}),onClick:ke=>S(r)},y(c),15,R))),128))]),o("div",U,[o("div",Y,[o("button",{onClick:t[0]||(t[0]=c=>u.value=!s(u))},[s(u)?(a(),i("div",ee)):(a(),i("div",te))]),o("button",{onClick:t[1]||(t[1]=c=>v.value=!v.value)},[v.value?(a(),i("div",se)):(a(),i("div",oe))])])]),Z((a(),i("svg",le,[o("g",ne,[o("text",re,"ZOOM X"+y(s(m)/100),1),o("line",{y1:800-s(m)/1e3*800,y2:"800",transform:"translate(4 0)","stroke-linecap":"round",stroke:"currentColor","stroke-opacity":"0.5","stroke-width":"8"},null,8,ae)]),o("g",ie,[o("text",ue,"SPEED X"+y(s(_)/100),1),o("line",{x1:s(_)/400*1260,x2:"0",transform:"translate(0 795)","stroke-linecap":"round",stroke:"currentColor","stroke-opacity":"0.5","stroke-width":"12"},null,8,ce)]),t[2]||(t[2]=o("line",{x1:"0",x2:"1200",y1:"400",y2:"400",stroke:"gray","stroke-width":"1"},null,-1)),(a(!0),i($,null,D(s(l),(c,r)=>(a(),i("g",{key:r},[o("polyline",{stroke:s(k)(r),points:E.value[r],"stroke-width":"2",fill:"none"},null,8,de),o("circle",{cx:1200,cy:400,transform:`translate(0,${h(r,f-1)*100})`,r:"6",fill:s(k)(r)},null,8,fe)]))),128)),o("polyline",{stroke:g.value.hsl,points:F.value,"stroke-width":"12",fill:"none"},null,8,ve),o("circle",{cx:1200,cy:400,transform:`translate(0,${C.value[f-1]*100})`,r:"12",fill:g.value.hsl},null,8,me)])),[[n,j]])])}}},we=I(pe,[["__scopeId","data-v-1f3b623e"]]);export{we as default}; diff --git a/assets/chunks/ChromaGram.Cv_ojaA8.js b/assets/chunks/ChromaGram.DLptASiU.js similarity index 69% rename from assets/chunks/ChromaGram.Cv_ojaA8.js rename to assets/chunks/ChromaGram.DLptASiU.js index 7aabd7eee4..f88fdcf436 100644 --- a/assets/chunks/ChromaGram.Cv_ojaA8.js +++ b/assets/chunks/ChromaGram.DLptASiU.js @@ -1 +1 @@ -import{aO as I,r as T,D as B,al as D}from"./theme.ClagsQLu.js";import{_ as M}from"./ControlStart.BWsORrv6.js";import{an as N,b as F,c as _,u,o as O,d as U,M as z,x as f,y as p,A as s,T as A,U as G,au as P,I as g,G as W,C as j,E as v,P as y,g as H}from"./framework.BR0mAPCP.js";const q={class:"flex flex-col items-center w-full relative"},J={class:"flex flex-col justify-center items-center relative bg-light-600 dark-bg-dark-700",id:"screen"},K={key:0,class:"i-la-arrow-up"},L={key:1,class:"i-la-arrow-left"},Q={class:"absolute top-4 left-4 text-xl text-white"},X=["width","height"],Y={class:"flex items-center gap-2 p-2 flex-wrap absolute bottom-4 right-4"},Z={class:"is-group flex flex-wrap gap-2"},at={__name:"ChromaGram",setup(tt){const{width:d,height:c}=N(),{init:C,tuner:b}=I();let h,o,i,m;const t=F({initiated:!1,width:d,height:c,speed:_(()=>Math.floor(t.speedCount/100)),direction:u("chromagram-direction",0),notes:_(()=>T(b.chroma,-3)),speedCount:B(u("chromagram-speed",100),100,1200),pow:u("chromagram-pow",3),offset:u("chromagram-offset",0)});O(()=>{h=document.getElementById("spectrogram"),o=h.getContext("2d"),i=document.createElement("canvas"),m=i.getContext("2d"),i.width=t.width,i.height=t.height,o.fillStyle="#333",o.fillRect(0,0,t.width,t.height)}),U([d,c],()=>{i&&(i.width=d.value,i.height=c.value)});function S(a){t.speedCount+=a.delta[0]-a.delta[1]}function V(){t.initiated||(t.initiated=!0,C(),H(k))}function k(){t.direction==1?R():$()}function R(){m.drawImage(h,0,0,t.width,t.height),o.fillStyle="#33333399",o.fillRect(0,0,t.width,t.speed),o.translate(0,-t.speed),o.drawImage(i,0,0,t.width,t.height),t.notes.forEach((a,e)=>{let l=e*t.width/12;o.fillStyle=w(e,a,.5),o.fillRect(l,t.height-t.speed,t.width/12,t.speed)}),o.setTransform(1,0,0,1,0,0)}function $(){m.drawImage(h,0,0,t.width,t.height),o.fillStyle="#33333399",o.fillRect(t.width-t.speed,0,t.speed,t.height),t.notes.forEach((a,e)=>{let l=(e+1)*t.height/12;o.fillStyle=w(e,a,.5),o.fillRect(t.width-t.speed,t.height-l,t.width,t.height/12)}),o.translate(-t.speed,0),o.drawImage(i,0,0,t.width,t.height),o.setTransform(1,0,0,1,0,0)}function w(a=0,e=1,l=1){let r=Math.pow(e+t.offset,t.pow);return`hsla(${a*30}, ${r*100}%, ${r*60}%, ${l})`}function x(){o.fillStyle="#333",o.fillRect(0,0,t.width,t.height)}return(a,e)=>{const l=M,r=D,E=z("drag");return f(),p("div",q,[s("div",J,[t.initiated?g("",!0):(f(),A(l,{key:0,class:"absolute",onClick:e[0]||(e[0]=n=>V())},{default:G(()=>e[5]||(e[5]=[P("Start")])),_:1})),s("button",{class:"absolute bottom-4 left-4 text-xl text-white",onClick:e[1]||(e[1]=n=>{t.direction?t.direction=0:t.direction=1,x()})},[t.direction==1?(f(),p("div",K)):g("",!0),t.direction==0?(f(),p("div",L)):g("",!0)]),s("button",{class:"absolute top-4 right-4 text-xl select-none cursor-pointer",onMousedown:e[2]||(e[2]=n=>x())},e[6]||(e[6]=[s("div",{class:"i-la-trash-alt"},null,-1)]),32),s("div",Q,"x"+W(t.speed),1),j(s("canvas",{class:"w-full cursor-pointer",id:"spectrogram",width:v(d),height:v(c)},null,8,X),[[E,S]])]),s("div",Y,[s("div",Z,[y(r,{modelValue:t.pow,"onUpdate:modelValue":e[3]||(e[3]=n=>t.pow=n),min:1,max:10,step:1,fixed:0,param:"POW"},null,8,["modelValue"]),y(r,{modelValue:t.offset,"onUpdate:modelValue":e[4]||(e[4]=n=>t.offset=n),min:-.25,max:.25,step:1e-4,param:"OFFSET",fixed:2},null,8,["modelValue"])])])])}}};export{at as default}; +import{aQ as I,r as T,D as B,an as D}from"./theme.Dd_Fb62b.js";import{_ as M}from"./ControlStart.BGN7YlXy.js";import{an as N,b as F,c as _,u,o as U,d as z,M as A,x as f,y as p,A as s,T as G,U as O,au as P,I as g,G as W,C as j,E as v,P as y,g as H}from"./framework.CQBrk0Ry.js";const Q={class:"flex flex-col items-center w-full relative"},q={class:"flex flex-col justify-center items-center relative bg-light-600 dark-bg-dark-700",id:"screen"},J={key:0,class:"i-la-arrow-up"},K={key:1,class:"i-la-arrow-left"},L={class:"absolute top-4 left-4 text-xl text-white"},X=["width","height"],Y={class:"flex items-center gap-2 p-2 flex-wrap absolute bottom-4 right-4"},Z={class:"is-group flex flex-wrap gap-2"},at={__name:"ChromaGram",setup(tt){const{width:d,height:c}=N(),{init:C,tuner:b}=I();let h,o,i,m;const t=F({initiated:!1,width:d,height:c,speed:_(()=>Math.floor(t.speedCount/100)),direction:u("chromagram-direction",0),notes:_(()=>T(b.chroma,-3)),speedCount:B(u("chromagram-speed",100),100,1200),pow:u("chromagram-pow",3),offset:u("chromagram-offset",0)});U(()=>{h=document.getElementById("spectrogram"),o=h.getContext("2d"),i=document.createElement("canvas"),m=i.getContext("2d"),i.width=t.width,i.height=t.height,o.fillStyle="#333",o.fillRect(0,0,t.width,t.height)}),z([d,c],()=>{i&&(i.width=d.value,i.height=c.value)});function S(a){t.speedCount+=a.delta[0]-a.delta[1]}function V(){t.initiated||(t.initiated=!0,C(),H(k))}function k(){t.direction==1?R():$()}function R(){m.drawImage(h,0,0,t.width,t.height),o.fillStyle="#33333399",o.fillRect(0,0,t.width,t.speed),o.translate(0,-t.speed),o.drawImage(i,0,0,t.width,t.height),t.notes.forEach((a,e)=>{let l=e*t.width/12;o.fillStyle=w(e,a,.5),o.fillRect(l,t.height-t.speed,t.width/12,t.speed)}),o.setTransform(1,0,0,1,0,0)}function $(){m.drawImage(h,0,0,t.width,t.height),o.fillStyle="#33333399",o.fillRect(t.width-t.speed,0,t.speed,t.height),t.notes.forEach((a,e)=>{let l=(e+1)*t.height/12;o.fillStyle=w(e,a,.5),o.fillRect(t.width-t.speed,t.height-l,t.width,t.height/12)}),o.translate(-t.speed,0),o.drawImage(i,0,0,t.width,t.height),o.setTransform(1,0,0,1,0,0)}function w(a=0,e=1,l=1){let r=Math.pow(e+t.offset,t.pow);return`hsla(${a*30}, ${r*100}%, ${r*60}%, ${l})`}function x(){o.fillStyle="#333",o.fillRect(0,0,t.width,t.height)}return(a,e)=>{const l=M,r=D,E=A("drag");return f(),p("div",Q,[s("div",q,[t.initiated?g("",!0):(f(),G(l,{key:0,class:"absolute",onClick:e[0]||(e[0]=n=>V())},{default:O(()=>e[5]||(e[5]=[P("Start")])),_:1})),s("button",{class:"absolute bottom-4 left-4 text-xl text-white",onClick:e[1]||(e[1]=n=>{t.direction?t.direction=0:t.direction=1,x()})},[t.direction==1?(f(),p("div",J)):g("",!0),t.direction==0?(f(),p("div",K)):g("",!0)]),s("button",{class:"absolute top-4 right-4 text-xl select-none cursor-pointer",onMousedown:e[2]||(e[2]=n=>x())},e[6]||(e[6]=[s("div",{class:"i-la-trash-alt"},null,-1)]),32),s("div",L,"x"+W(t.speed),1),j(s("canvas",{class:"w-full cursor-pointer",id:"spectrogram",width:v(d),height:v(c)},null,8,X),[[E,S]])]),s("div",Y,[s("div",Z,[y(r,{modelValue:t.pow,"onUpdate:modelValue":e[3]||(e[3]=n=>t.pow=n),min:1,max:10,step:1,fixed:0,param:"POW"},null,8,["modelValue"]),y(r,{modelValue:t.offset,"onUpdate:modelValue":e[4]||(e[4]=n=>t.offset=n),min:-.25,max:.25,step:1e-4,param:"OFFSET",fixed:2},null,8,["modelValue"])])])])}}};export{at as default}; diff --git a/assets/chunks/ChromaGrids.oVpe2PO5.js b/assets/chunks/ChromaGrids.BN3KHZau.js similarity index 82% rename from assets/chunks/ChromaGrids.oVpe2PO5.js rename to assets/chunks/ChromaGrids.BN3KHZau.js index e41dbea069..62ac5388b0 100644 --- a/assets/chunks/ChromaGrids.oVpe2PO5.js +++ b/assets/chunks/ChromaGrids.BN3KHZau.js @@ -1 +1 @@ -import{q as U,b as I,c as D,w as T,M as E,C as B,x as c,y as g,A as e,H as V,J as j,G as C,d as q,F as y,B as $,E as t,D as A,P as b,U as M,T as L,v as H,u as F,z,ah as O}from"./framework.BR0mAPCP.js";import{D as J,g as N,c as S,I as K,ab as W,b0 as Y,n as Q,aD as G,b1 as R}from"./theme.ClagsQLu.js";const X={class:"knob","drag-options":{preventWindowScrollY:!0}},Z={class:"flex items-center"},_={class:"text-lg font-bold"},tt={__name:"ControlChange",props:{max:{type:Number,default:100},min:{type:Number,default:0},modelValue:{type:Number,default:50},step:{type:Number,default:1},param:{type:String,default:"param"},unit:{type:String,default:""},fixed:{type:Number,default:0},ratio:{type:Number,default:1}},emits:["update:modelValue"],setup(l,{emit:w}){const n=l,s=w,a=I({active:!1,internal:0,initial:0,external:D(()=>h(a.internal))});function o(d){const{delta:[r,f],dragging:v,shiftKey:p}=d;a.active=v;let k=n.ratio;a.internal-=f/k,a.internal+=r/k,a.internal>100&&(a.internal=100),a.internal<0&&(a.internal=0),s("update:modelValue",a.external)}function u(d=1){let r=n.step/(n.max-n.min);a.internal+=100*r*d,a.internal>100&&(a.internal=100),a.internal<0&&(a.internal=0),s("update:modelValue",a.external)}T(()=>{a.internal=m(n.modelValue)});function i(){a.internal=a.initial,s("update:modelValue",a.external)}function m(d){return x(d,n.min,n.max,0,100,n.step)}function h(d){return x(d,0,100,n.min,n.max,n.step)}function x(d,r=0,f=100,v=0,p=100,k=1){p=parseFloat(p),v=parseFloat(v),f=parseFloat(f),r=parseFloat(r);let P=(d-r)*(p-v)/(f-r)+v;return Math.round(P/k)*k}return(d,r)=>{const f=E("drag");return B((c(),g("div",X,[e("div",{class:"level",style:V({width:a.internal+"%"})},null,4),e("div",Z,[e("div",{class:"pl-1 absolute",onMousedown:r[0]||(r[0]=v=>u(-1))},r[3]||(r[3]=[e("div",{class:"i-la-minus"},null,-1)]),32),e("div",{class:"px-1 flex-1 text-center",onDblclick:r[1]||(r[1]=v=>i())},[j(d.$slots,"default",{},()=>[e("div",_,C(l.modelValue.toFixed(l.fixed))+C(l.unit),1)],!0)],32),e("div",{class:"pr-1 absolute right-0",onMousedown:r[2]||(r[2]=v=>u(1))},r[4]||(r[4]=[e("div",{class:"i-la-plus"},null,-1)]),32)])])),[[f,o]])}}},et=U(tt,[["__scopeId","data-v-81a66231"]]),lt=["transform"],ot=["transform"],st=["x","width","height","fill","onMousedown"],nt=["x1","x2","stroke-width","stroke"],it=["transform"],at=["width","height"],rt=["transform"],dt=["data-pos","height","width"],ut=["x","font-size"],mt={__name:"ChromaGridsColumn",props:{step:{type:Array,default:()=>{}},pos:{type:Number,default:0},width:{type:Number,default:100},height:{type:Number,default:500},footer:{type:Number,default:60},color:{type:String,default:"gray"},active:{type:Boolean,default:!1}},emits:["subdivide"],setup(l,{emit:w}){const n=l,s=w,a=J(0,20,160),o=D(()=>Math.floor(a.value/20));q(o,(h,x)=>{if(h==x)return;let d=[...n.step];if(h({...r,sub:h})))});function u(h){a.value+=h.delta[0]-h.delta[1]}const i=D(()=>(N.set.chroma+N.set.chroma+1).split(""));function m(h){let x=Object.entries(h).map(d=>{if(d[0]!="sub"&&d[1])return K(Number(d[0])+N.tonic+69,"midi").toNote()}).filter(d=>d!=null);return W(x)[0]||x[0]}return(h,x)=>{const d=E("drag");return c(),g("g",{class:"col",transform:`translate(${l.pos*l.width} 0)`},[(c(),g(y,null,$(25,(r,f)=>e("g",{class:"cell",key:f,transform:`translate(0 ${l.height-r*l.height/25})`},[(c(!0),g(y,null,$(l.step,(v,p)=>(c(),g("g",{class:"sub",key:v},[e("rect",{class:"transition-all duration-200 ease-out","stroke-width":"0",x:p*l.width/l.step.length+1,width:l.width/l.step.length-2,height:l.height/25-2,rx:"4",fill:t(S)(r+t(N).tonic-1,3,i.value[f]==1?1:.1,v[f]?1:.1),onMousedown:k=>v[f]=!v[f]},null,40,st),e("line",{class:"line pointer-events-none transition-all duration-200 ease-out",x1:p*l.width/l.step.length,x2:(p+1)*l.width/l.step.length,y1:10,y2:10,"stroke-width":v[f]?4:6,"stroke-opacity":"0.1",stroke:v[f]?"black":t(S)(r+t(N).tonic-1,3,i.value[f]==1?1:.1,v[f]?1:.5)},null,8,nt)]))),128))],8,ot)),64)),B(e("g",{class:"subs",transform:`translate(0 ${l.height})`},[B(e("rect",{width:l.width,height:l.footer,fill:"transparent"},null,8,at),[[d,u]]),(c(!0),g(y,null,$(l.step,(r,f)=>(c(),g("g",{class:"pointer-events-none",key:r,transform:`translate(${f*l.width/l.step.length} 0)`},[e("rect",{"data-pos":l.pos,height:l.footer,stroke:"currentColor",fill:"#5552",width:l.width/l.step.length},null,8,dt),e("text",{class:"font-bold",x:l.width/l.step.length/2,y:40,"font-size":20*(1-.15*(l.step.length-1)),fill:"currentColor","text-anchor":"middle","dominant-baseline":"cental"},C(m(r)),9,ut)],8,rt))),128))],8,it),[[A,l.active]])],8,lt)}}},ft=U(mt,[["__scopeId","data-v-e64dff66"]]),ct={class:"is-group flex p-1 mx-1 items-center"},ht={class:"is-group flex p-1 m-1"},vt={class:"is-group p-1 flex mx-1"},gt=["viewBox","opacity"],xt={id:"grid-mask"},pt=["width","height"],wt={class:"all","clip-path":"url(#grid-mask)"},bt={class:"grid"},yt=["stroke","width","height"],$t=["y2","stroke-width","stroke","transform"],kt=["transform","stroke"],Vt=["transform"],Ct=["y2","stroke"],Nt={__name:"ChromaGridsGrid",props:{order:{type:Number,default:0},color:{type:String,default:"currentColor"},active:{type:Boolean,default:!0}},emits:["del"],setup(l){const w=l,n=I({width:1e3,height:720,footer:60}),s=Y(w.order);return(a,o)=>{const u=et;return c(),g("div",{class:"flex flex-col shadow-xl rounded-3xl overflow-hidden border-4",style:V({zIndex:l.active?100:1,opacity:l.active?1:.25,borderColor:l.color})},[e("div",{class:"flex flex-wrap p-2",style:V({opacity:l.active?1:0,backgroundColor:l.color,pointerEvents:l.active?"auto":"none"})},[e("div",ct,[b(u,{class:"w-5em",modelValue:t(s).metre.over,"onUpdate:modelValue":o[0]||(o[0]=i=>t(s).metre.over=i),step:1,min:1,max:48,param:""},null,8,["modelValue"]),o[11]||(o[11]=e("div",{class:"p-2 text-xl"},"/",-1)),b(u,{class:"w-5em",modelValue:t(s).metre.under,"onUpdate:modelValue":o[1]||(o[1]=i=>t(s).metre.under=i),step:1,min:1,max:16,param:""},null,8,["modelValue"])]),e("div",ht,[e("button",{class:"text-button",onClick:o[2]||(o[2]=i=>t(s).rotate(-1))},o[12]||(o[12]=[e("div",{class:"i-la-angle-left"},null,-1)])),e("button",{class:"text-button",onClick:o[3]||(o[3]=i=>t(s).rotate())},o[13]||(o[13]=[e("div",{class:"i-la-angle-right"},null,-1)]))]),e("div",{class:"is-group p-1 flex mx-1 transition-all duration-300 ease",style:V({borderColor:t(S)(t(s).pitch,t(s).octave)})},[b(u,{class:"w-5em",modelValue:t(s).octave,"onUpdate:modelValue":o[4]||(o[4]=i=>t(s).octave=i),step:1,min:0,max:7,ratio:4},{default:M(()=>[e("div",{class:"font-bold transition-all duration-300 ease",style:V({color:t(S)(t(s).pitch,t(s).octave)})},C(t(Q)[t(s).pitch])+C(t(s).octave),5)]),_:1},8,["modelValue"])],4),e("div",vt,[b(u,{class:"w-5em",modelValue:t(s).probability,"onUpdate:modelValue":o[5]||(o[5]=i=>t(s).probability=i),step:.01,min:0,max:1,fixed:2},{default:M(()=>o[14]||(o[14]=[e("div",{class:"i-la-dice text-xl"},null,-1)])),_:1},8,["modelValue"]),b(u,{class:"w-4em",modelValue:t(s).pan,"onUpdate:modelValue":o[6]||(o[6]=i=>t(s).pan=i),step:.01,min:-1,max:1,fixed:1,ratio:2},{default:M(()=>o[15]||(o[15]=[e("div",{class:"i-mdi-pan-horizontal"},null,-1)])),_:1},8,["modelValue"]),b(u,{class:"w-4em",modelValue:t(s).volume,"onUpdate:modelValue":o[7]||(o[7]=i=>t(s).volume=i),step:.01,min:0,max:1,fixed:1,ratio:2,onDblclick:o[8]||(o[8]=i=>t(s).volume>0?t(s).volume=0:t(s).volume=.75)},{default:M(()=>o[16]||(o[16]=[e("div",{class:"i-la-volume-up"},null,-1)])),_:1},8,["modelValue"])]),o[19]||(o[19]=e("div",{class:"flex-1"},null,-1)),e("button",{class:"text-button",onMousedown:o[9]||(o[9]=i=>t(s).clear())},o[17]||(o[17]=[e("div",{class:"i-la-trash-alt"},null,-1)]),32),e("button",{class:"text-button",onMousedown:o[10]||(o[10]=i=>a.$emit("del"))},o[18]||(o[18]=[e("div",{class:"i-la-times"},null,-1)]),32)],4),(c(),g("svg",{class:"w-full cursor-pointer",ref:"svg",version:"1.1",baseProfile:"full",viewBox:`0 0 ${n.width} ${n.height+n.footer}`,xmlns:"http://www.w3.org/2000/svg",style:{"user-select":"none","touch-action":"none"},opacity:t(s).volume},[e("clipPath",xt,[e("rect",{x:0,y:-10,width:n.width,height:n.height+n.footer+10,rx:10},null,8,pt)]),e("g",wt,[e("g",bt,[e("rect",{ref:"area",stroke:l.color,"stroke-width":10,fill:"transparent",rx:"10",width:n.width,height:n.height},null,8,yt),(c(!0),g(y,null,$(t(s).metre.over,i=>(c(),g("line",{key:i,y2:n.height,"stroke-width":i%t(s).metre.under==0?8:i%4==0?4:l.active?1:0,stroke:l.color,transform:`translate(${i*n.width/t(s).metre.over} 0)`},null,8,$t))),128)),e("line",{x2:"1000",transform:`translate(0 ${n.height/2})`,"stroke-width":"4",stroke:t(S)(t(s).pitch)},null,8,kt)]),(c(!0),g(y,null,$(t(s).steps,(i,m)=>(c(),L(ft,{key:m,step:i,pos:m,color:l.color,width:n.width/t(s).steps.length,height:n.height,footer:n.footer,active:l.active,onSubdivide:h=>t(s).steps[m]=h},null,8,["step","pos","color","width","height","footer","active","onSubdivide"]))),128)),e("g",{class:"progress",transform:`translate(${n.width*t(s).progress} 0)`},[e("line",{y1:"0",y2:n.height,"stroke-width":"4",stroke:l.color},null,8,Ct)],8,Vt)])],8,gt))],4)}}},Mt={class:"flex flex-col items-center rounded-3xl fullscreen-container p-2",id:"screen"},St={class:"flex flex-wrap mt-4 w-full justify-start px-6"},Dt=["onMousedown"],Bt={class:"px-4 py-2"},Ft={class:"flex flex-col mb-4 mx-4 w-full relative"},Ut={__name:"ChromaGrids",setup(l){const{isDark:w}=H(),n=F("pitch-bars",[1]);function s(){n.value.push(Math.ceil(Math.random()*100)),a.value=n.value.length-1}const a=F("pitch-bars-active",0);return(o,u)=>(c(),g("div",Mt,[e("div",St,[(c(!0),g(y,null,$(t(n),(i,m)=>(c(),g("button",{class:z(["px-2 rounded-t-xl mx-2px transition-all duration-300 ease flex items-center",{active:t(a)==m}]),key:i,style:V({backgroundColor:t(G)(m,t(n).length,t(a)==m?1:.3)}),onMousedown:h=>a.value=m},[e("div",Bt,C(m),1)],46,Dt))),128)),e("button",{class:"text-button",onClick:u[0]||(u[0]=i=>s())},u[2]||(u[2]=[e("div",{class:"i-la-plus"},null,-1)])),u[4]||(u[4]=e("div",{class:"flex-1"},null,-1)),e("button",{class:"text-button flex items-center",onClick:u[1]||(u[1]=i=>t(R)())},u[3]||(u[3]=[e("div",{class:"i-la-file-download"},null,-1)]))]),e("div",Ft,[b(O,{name:"fade"},{default:M(()=>[(c(!0),g(y,null,$(t(n),(i,m)=>(c(),L(Nt,{class:z(["w-full",{absolute:m>0}]),key:i,order:m,active:t(a)==m,color:t(G)(m,t(n).length,t(w)?.3:1),onDel:h=>{t(n).splice(m,1),a.value=t(n).length-1}},null,8,["class","order","active","color","onDel"]))),128))]),_:1})])]))}};export{Ut as default}; +import{q as U,b as I,c as D,w as T,M as E,C as F,x as c,y as g,A as e,H as V,J as j,G as C,d as q,F as b,B as $,E as t,D as A,P as y,U as M,T as L,v as H,u as B,z,ah as O}from"./framework.CQBrk0Ry.js";import{D as J,g as N,c as S,I as K,ad as W,b0 as Y,n as Q,aF as G,b1 as R}from"./theme.Dd_Fb62b.js";const X={class:"knob","drag-options":{preventWindowScrollY:!0}},Z={class:"flex items-center"},_={class:"text-lg font-bold"},tt={__name:"ControlChange",props:{max:{type:Number,default:100},min:{type:Number,default:0},modelValue:{type:Number,default:50},step:{type:Number,default:1},param:{type:String,default:"param"},unit:{type:String,default:""},fixed:{type:Number,default:0},ratio:{type:Number,default:1}},emits:["update:modelValue"],setup(l,{emit:w}){const n=l,s=w,a=I({active:!1,internal:0,initial:0,external:D(()=>h(a.internal))});function o(d){const{delta:[r,f],dragging:v,shiftKey:p}=d;a.active=v;let k=n.ratio;a.internal-=f/k,a.internal+=r/k,a.internal>100&&(a.internal=100),a.internal<0&&(a.internal=0),s("update:modelValue",a.external)}function u(d=1){let r=n.step/(n.max-n.min);a.internal+=100*r*d,a.internal>100&&(a.internal=100),a.internal<0&&(a.internal=0),s("update:modelValue",a.external)}T(()=>{a.internal=m(n.modelValue)});function i(){a.internal=a.initial,s("update:modelValue",a.external)}function m(d){return x(d,n.min,n.max,0,100,n.step)}function h(d){return x(d,0,100,n.min,n.max,n.step)}function x(d,r=0,f=100,v=0,p=100,k=1){p=parseFloat(p),v=parseFloat(v),f=parseFloat(f),r=parseFloat(r);let P=(d-r)*(p-v)/(f-r)+v;return Math.round(P/k)*k}return(d,r)=>{const f=E("drag");return F((c(),g("div",X,[e("div",{class:"level",style:V({width:a.internal+"%"})},null,4),e("div",Z,[e("div",{class:"pl-1 absolute",onMousedown:r[0]||(r[0]=v=>u(-1))},r[3]||(r[3]=[e("div",{class:"i-la-minus"},null,-1)]),32),e("div",{class:"px-1 flex-1 text-center",onDblclick:r[1]||(r[1]=v=>i())},[j(d.$slots,"default",{},()=>[e("div",_,C(l.modelValue.toFixed(l.fixed))+C(l.unit),1)],!0)],32),e("div",{class:"pr-1 absolute right-0",onMousedown:r[2]||(r[2]=v=>u(1))},r[4]||(r[4]=[e("div",{class:"i-la-plus"},null,-1)]),32)])])),[[f,o]])}}},et=U(tt,[["__scopeId","data-v-81a66231"]]),lt=["transform"],ot=["transform"],st=["x","width","height","fill","onMousedown"],nt=["x1","x2","stroke-width","stroke"],it=["transform"],at=["width","height"],rt=["transform"],dt=["data-pos","height","width"],ut=["x","font-size"],mt={__name:"ChromaGridsColumn",props:{step:{type:Array,default:()=>{}},pos:{type:Number,default:0},width:{type:Number,default:100},height:{type:Number,default:500},footer:{type:Number,default:60},color:{type:String,default:"gray"},active:{type:Boolean,default:!1}},emits:["subdivide"],setup(l,{emit:w}){const n=l,s=w,a=J(0,20,160),o=D(()=>Math.floor(a.value/20));q(o,(h,x)=>{if(h==x)return;let d=[...n.step];if(h({...r,sub:h})))});function u(h){a.value+=h.delta[0]-h.delta[1]}const i=D(()=>(N.set.chroma+N.set.chroma+1).split(""));function m(h){let x=Object.entries(h).map(d=>{if(d[0]!="sub"&&d[1])return K(Number(d[0])+N.tonic+69,"midi").toNote()}).filter(d=>d!=null);return W(x)[0]||x[0]}return(h,x)=>{const d=E("drag");return c(),g("g",{class:"col",transform:`translate(${l.pos*l.width} 0)`},[(c(),g(b,null,$(25,(r,f)=>e("g",{class:"cell",key:f,transform:`translate(0 ${l.height-r*l.height/25})`},[(c(!0),g(b,null,$(l.step,(v,p)=>(c(),g("g",{class:"sub",key:v},[e("rect",{class:"transition-all duration-200 ease-out","stroke-width":"0",x:p*l.width/l.step.length+1,width:l.width/l.step.length-2,height:l.height/25-2,rx:"4",fill:t(S)(r+t(N).tonic-1,3,i.value[f]==1?1:.1,v[f]?1:.1),onMousedown:k=>v[f]=!v[f]},null,40,st),e("line",{class:"line pointer-events-none transition-all duration-200 ease-out",x1:p*l.width/l.step.length,x2:(p+1)*l.width/l.step.length,y1:10,y2:10,"stroke-width":v[f]?4:6,"stroke-opacity":"0.1",stroke:v[f]?"black":t(S)(r+t(N).tonic-1,3,i.value[f]==1?1:.1,v[f]?1:.5)},null,8,nt)]))),128))],8,ot)),64)),F(e("g",{class:"subs",transform:`translate(0 ${l.height})`},[F(e("rect",{width:l.width,height:l.footer,fill:"transparent"},null,8,at),[[d,u]]),(c(!0),g(b,null,$(l.step,(r,f)=>(c(),g("g",{class:"pointer-events-none",key:r,transform:`translate(${f*l.width/l.step.length} 0)`},[e("rect",{"data-pos":l.pos,height:l.footer,stroke:"currentColor",fill:"#5552",width:l.width/l.step.length},null,8,dt),e("text",{class:"font-bold",x:l.width/l.step.length/2,y:40,"font-size":20*(1-.15*(l.step.length-1)),fill:"currentColor","text-anchor":"middle","dominant-baseline":"cental"},C(m(r)),9,ut)],8,rt))),128))],8,it),[[A,l.active]])],8,lt)}}},ft=U(mt,[["__scopeId","data-v-e64dff66"]]),ct={class:"is-group flex p-1 mx-1 items-center"},ht={class:"is-group flex p-1 m-1"},vt={class:"is-group p-1 flex mx-1"},gt=["viewBox","opacity"],xt={id:"grid-mask"},pt=["width","height"],wt={class:"all","clip-path":"url(#grid-mask)"},yt={class:"grid"},bt=["stroke","width","height"],$t=["y2","stroke-width","stroke","transform"],kt=["transform","stroke"],Vt=["transform"],Ct=["y2","stroke"],Nt={__name:"ChromaGridsGrid",props:{order:{type:Number,default:0},color:{type:String,default:"currentColor"},active:{type:Boolean,default:!0}},emits:["del"],setup(l){const w=l,n=I({width:1e3,height:720,footer:60}),s=Y(w.order);return(a,o)=>{const u=et;return c(),g("div",{class:"flex flex-col shadow-xl rounded-3xl overflow-hidden border-4",style:V({zIndex:l.active?100:1,opacity:l.active?1:.25,borderColor:l.color})},[e("div",{class:"flex flex-wrap p-2",style:V({opacity:l.active?1:0,backgroundColor:l.color,pointerEvents:l.active?"auto":"none"})},[e("div",ct,[y(u,{class:"w-5em",modelValue:t(s).metre.over,"onUpdate:modelValue":o[0]||(o[0]=i=>t(s).metre.over=i),step:1,min:1,max:48,param:""},null,8,["modelValue"]),o[11]||(o[11]=e("div",{class:"p-2 text-xl"},"/",-1)),y(u,{class:"w-5em",modelValue:t(s).metre.under,"onUpdate:modelValue":o[1]||(o[1]=i=>t(s).metre.under=i),step:1,min:1,max:16,param:""},null,8,["modelValue"])]),e("div",ht,[e("button",{class:"text-button",onClick:o[2]||(o[2]=i=>t(s).rotate(-1))},o[12]||(o[12]=[e("div",{class:"i-la-angle-left"},null,-1)])),e("button",{class:"text-button",onClick:o[3]||(o[3]=i=>t(s).rotate())},o[13]||(o[13]=[e("div",{class:"i-la-angle-right"},null,-1)]))]),e("div",{class:"is-group p-1 flex mx-1 transition-all duration-300 ease",style:V({borderColor:t(S)(t(s).pitch,t(s).octave)})},[y(u,{class:"w-5em",modelValue:t(s).octave,"onUpdate:modelValue":o[4]||(o[4]=i=>t(s).octave=i),step:1,min:0,max:7,ratio:4},{default:M(()=>[e("div",{class:"font-bold transition-all duration-300 ease",style:V({color:t(S)(t(s).pitch,t(s).octave)})},C(t(Q)[t(s).pitch])+C(t(s).octave),5)]),_:1},8,["modelValue"])],4),e("div",vt,[y(u,{class:"w-5em",modelValue:t(s).probability,"onUpdate:modelValue":o[5]||(o[5]=i=>t(s).probability=i),step:.01,min:0,max:1,fixed:2},{default:M(()=>o[14]||(o[14]=[e("div",{class:"i-la-dice text-xl"},null,-1)])),_:1},8,["modelValue"]),y(u,{class:"w-4em",modelValue:t(s).pan,"onUpdate:modelValue":o[6]||(o[6]=i=>t(s).pan=i),step:.01,min:-1,max:1,fixed:1,ratio:2},{default:M(()=>o[15]||(o[15]=[e("div",{class:"i-mdi-pan-horizontal"},null,-1)])),_:1},8,["modelValue"]),y(u,{class:"w-4em",modelValue:t(s).volume,"onUpdate:modelValue":o[7]||(o[7]=i=>t(s).volume=i),step:.01,min:0,max:1,fixed:1,ratio:2,onDblclick:o[8]||(o[8]=i=>t(s).volume>0?t(s).volume=0:t(s).volume=.75)},{default:M(()=>o[16]||(o[16]=[e("div",{class:"i-la-volume-up"},null,-1)])),_:1},8,["modelValue"])]),o[19]||(o[19]=e("div",{class:"flex-1"},null,-1)),e("button",{class:"text-button",onMousedown:o[9]||(o[9]=i=>t(s).clear())},o[17]||(o[17]=[e("div",{class:"i-la-trash-alt"},null,-1)]),32),e("button",{class:"text-button",onMousedown:o[10]||(o[10]=i=>a.$emit("del"))},o[18]||(o[18]=[e("div",{class:"i-la-times"},null,-1)]),32)],4),(c(),g("svg",{class:"w-full cursor-pointer",ref:"svg",version:"1.1",baseProfile:"full",viewBox:`0 0 ${n.width} ${n.height+n.footer}`,xmlns:"http://www.w3.org/2000/svg",style:{"user-select":"none","touch-action":"none"},opacity:t(s).volume},[e("clipPath",xt,[e("rect",{x:0,y:-10,width:n.width,height:n.height+n.footer+10,rx:10},null,8,pt)]),e("g",wt,[e("g",yt,[e("rect",{ref:"area",stroke:l.color,"stroke-width":10,fill:"transparent",rx:"10",width:n.width,height:n.height},null,8,bt),(c(!0),g(b,null,$(t(s).metre.over,i=>(c(),g("line",{key:i,y2:n.height,"stroke-width":i%t(s).metre.under==0?8:i%4==0?4:l.active?1:0,stroke:l.color,transform:`translate(${i*n.width/t(s).metre.over} 0)`},null,8,$t))),128)),e("line",{x2:"1000",transform:`translate(0 ${n.height/2})`,"stroke-width":"4",stroke:t(S)(t(s).pitch)},null,8,kt)]),(c(!0),g(b,null,$(t(s).steps,(i,m)=>(c(),L(ft,{key:m,step:i,pos:m,color:l.color,width:n.width/t(s).steps.length,height:n.height,footer:n.footer,active:l.active,onSubdivide:h=>t(s).steps[m]=h},null,8,["step","pos","color","width","height","footer","active","onSubdivide"]))),128)),e("g",{class:"progress",transform:`translate(${n.width*t(s).progress} 0)`},[e("line",{y1:"0",y2:n.height,"stroke-width":"4",stroke:l.color},null,8,Ct)],8,Vt)])],8,gt))],4)}}},Mt={class:"flex flex-col items-center rounded-3xl fullscreen-container p-2",id:"screen"},St={class:"flex flex-wrap mt-4 w-full justify-start px-6"},Dt=["onMousedown"],Ft={class:"px-4 py-2"},Bt={class:"flex flex-col mb-4 mx-4 w-full relative"},Ut={__name:"ChromaGrids",setup(l){const{isDark:w}=H(),n=B("pitch-bars",[1]);function s(){n.value.push(Math.ceil(Math.random()*100)),a.value=n.value.length-1}const a=B("pitch-bars-active",0);return(o,u)=>(c(),g("div",Mt,[e("div",St,[(c(!0),g(b,null,$(t(n),(i,m)=>(c(),g("button",{class:z(["px-2 rounded-t-xl mx-2px transition-all duration-300 ease flex items-center",{active:t(a)==m}]),key:i,style:V({backgroundColor:t(G)(m,t(n).length,t(a)==m?1:.3)}),onMousedown:h=>a.value=m},[e("div",Ft,C(m),1)],46,Dt))),128)),e("button",{class:"text-button",onClick:u[0]||(u[0]=i=>s())},u[2]||(u[2]=[e("div",{class:"i-la-plus"},null,-1)])),u[4]||(u[4]=e("div",{class:"flex-1"},null,-1)),e("button",{class:"text-button flex items-center",onClick:u[1]||(u[1]=i=>t(R)())},u[3]||(u[3]=[e("div",{class:"i-la-file-download"},null,-1)]))]),e("div",Bt,[y(O,{name:"fade"},{default:M(()=>[(c(!0),g(b,null,$(t(n),(i,m)=>(c(),L(Nt,{class:z(["w-full",{absolute:m>0}]),key:i,order:m,active:t(a)==m,color:t(G)(m,t(n).length,t(w)?.3:1),onDel:h=>{t(n).splice(m,1),a.value=t(n).length-1}},null,8,["class","order","active","color","onDel"]))),128))]),_:1})])]))}};export{Ut as default}; diff --git a/assets/chunks/ChromaHand.BeOvEdje.js b/assets/chunks/ChromaHand.CzMMvQFg.js similarity index 68% rename from assets/chunks/ChromaHand.BeOvEdje.js rename to assets/chunks/ChromaHand.CzMMvQFg.js index 0a9857edab..e131e5b696 100644 --- a/assets/chunks/ChromaHand.BeOvEdje.js +++ b/assets/chunks/ChromaHand.CzMMvQFg.js @@ -1 +1 @@ -import{r as _,g as c,n as m,aP as n,c as v,i as k,aQ as C}from"./theme.ClagsQLu.js";import{q as b,v as $,c as B,r as N,x as o,y as r,A as a,E as e,F as y,B as g,G as x,I as D}from"./framework.BR0mAPCP.js";const z=["viewBox"],S={id:"shadow"},A=["flood-color"],E={class:"hand opacity-50",filter:"url(#shadow)"},F=["x1","x2","y2","stroke"],H=["fill"],I={class:"points"},L=["onClick","opacity","transform"],P=["alt","r","fill"],V=["opacity","transform"],q={class:"chord cursor-pointer",transform:"translate(200 700)"},G={key:0,y:"6","font-size":"80",fill:"currentColor"},M={__name:"ChromaHand",props:{size:{type:Number,default:1e3},height:{type:Number,default:900},width:{type:Number,default:500},pad:{type:Number,default:50},right:{type:Boolean,default:!1}},setup(s){const{isDark:d}=$(),h=s,p=[[20,220],[120,500],[220,580],[320,505],[420,340]],u=[[120,100],[120,240],[120,400],[220,360],[320,410],[420,480],[420,370],[420,260],[320,95],[220,20],[220,200],[320,250]],w=B(()=>_(m,h.right?-c.tonic:0).map((f,i)=>({note:f,pitch:(i+(h.right?c.tonic:0))%12,x:u[i][0],y:u[i][1],r:40})));return N(),(f,i)=>(o(),r("svg",{class:"h-90 mr-auto ml-4",version:"1.1",baseProfile:"full",viewBox:`${-s.pad} ${-s.pad} ${s.width+2*s.pad} ${s.height+2*s.pad}`,xmlns:"http://www.w3.org/2000/svg","text-anchor":"middle","dominant-baseline":"middle"},[a("defs",null,[a("filter",S,[a("feDropShadow",{dx:"0",dy:"0",stdDeviation:"8","flood-opacity":"0.5","flood-color":e(d)?"white":"black"},null,8,A)])]),a("g",E,[(o(),r(y,null,g(p,(t,l)=>a("line",{class:"finger",key:t,x1:t[0],x2:t[0],y1:700,y2:600-t[1],stroke:e(d)?"white":"gray","stroke-width":"90","stroke-linecap":"round"},null,8,F)),64)),a("circle",{class:"palm",fill:e(d)?"white":"gray",cx:220,cy:700,r:244},null,8,H)]),a("g",I,[(o(!0),r(y,null,g(w.value,(t,l)=>(o(),r("g",{class:"point",onClick:Q=>s.right?null:e(c).tonic=l,opacity:e(n)[t.pitch]?1:.7,transform:`translate(${t.x} ${t.y})`},[a("circle",{style:{transition:"all 100ms ease-out"},alt:t.pitch,r:t.pitch==e(c).tonic?60:t.r,fill:e(v)(t.pitch,e(n)[t.pitch]?4:3,e(n)[t.pitch]?1:.6)},null,8,P),a("text",{class:"pointer-events-none","font-family":"Commissioner","font-weight":"bold","font-size":"40",fill:"white",opacity:e(n)[t.pitch]?1:0,transform:`scale(${s.right?-1:1} 1)`},x(s.right?e(k)[l]:e(m)[l]),9,V)],8,L))),256)),a("g",q,[s.right?D("",!0):(o(),r("text",G,x(e(C)[0]),1))])])],8,z))}},K=b(M,[["__scopeId","data-v-da242c65"]]);export{K as default}; +import{r as _,g as c,n as m,aR as n,c as v,i as k,aS as C}from"./theme.Dd_Fb62b.js";import{q as b,v as $,c as B,r as N,x as o,y as r,A as a,E as e,F as y,B as g,G as x,I as D}from"./framework.CQBrk0Ry.js";const S=["viewBox"],z={id:"shadow"},A=["flood-color"],E={class:"hand opacity-50",filter:"url(#shadow)"},F=["x1","x2","y2","stroke"],H=["fill"],I={class:"points"},L=["onClick","opacity","transform"],V=["alt","r","fill"],q=["opacity","transform"],G={class:"chord cursor-pointer",transform:"translate(200 700)"},M={key:0,y:"6","font-size":"80",fill:"currentColor"},P={__name:"ChromaHand",props:{size:{type:Number,default:1e3},height:{type:Number,default:900},width:{type:Number,default:500},pad:{type:Number,default:50},right:{type:Boolean,default:!1}},setup(s){const{isDark:d}=$(),h=s,p=[[20,220],[120,500],[220,580],[320,505],[420,340]],u=[[120,100],[120,240],[120,400],[220,360],[320,410],[420,480],[420,370],[420,260],[320,95],[220,20],[220,200],[320,250]],w=B(()=>_(m,h.right?-c.tonic:0).map((f,i)=>({note:f,pitch:(i+(h.right?c.tonic:0))%12,x:u[i][0],y:u[i][1],r:40})));return N(),(f,i)=>(o(),r("svg",{class:"h-90 mr-auto ml-4",version:"1.1",baseProfile:"full",viewBox:`${-s.pad} ${-s.pad} ${s.width+2*s.pad} ${s.height+2*s.pad}`,xmlns:"http://www.w3.org/2000/svg","text-anchor":"middle","dominant-baseline":"middle"},[a("defs",null,[a("filter",z,[a("feDropShadow",{dx:"0",dy:"0",stdDeviation:"8","flood-opacity":"0.5","flood-color":e(d)?"white":"black"},null,8,A)])]),a("g",E,[(o(),r(y,null,g(p,(t,l)=>a("line",{class:"finger",key:t,x1:t[0],x2:t[0],y1:700,y2:600-t[1],stroke:e(d)?"white":"gray","stroke-width":"90","stroke-linecap":"round"},null,8,F)),64)),a("circle",{class:"palm",fill:e(d)?"white":"gray",cx:220,cy:700,r:244},null,8,H)]),a("g",I,[(o(!0),r(y,null,g(w.value,(t,l)=>(o(),r("g",{class:"point",onClick:R=>s.right?null:e(c).tonic=l,opacity:e(n)[t.pitch]?1:.7,transform:`translate(${t.x} ${t.y})`},[a("circle",{style:{transition:"all 100ms ease-out"},alt:t.pitch,r:t.pitch==e(c).tonic?60:t.r,fill:e(v)(t.pitch,e(n)[t.pitch]?4:3,e(n)[t.pitch]?1:.6)},null,8,V),a("text",{class:"pointer-events-none","font-family":"Commissioner","font-weight":"bold","font-size":"40",fill:"white",opacity:e(n)[t.pitch]?1:0,transform:`scale(${s.right?-1:1} 1)`},x(s.right?e(k)[l]:e(m)[l]),9,q)],8,L))),256)),a("g",G,[s.right?D("",!0):(o(),r("text",M,x(e(C)[0]),1))])])],8,S))}},K=b(P,[["__scopeId","data-v-da242c65"]]);export{K as default}; diff --git a/assets/chunks/ChromaPalette.BB7Mu0gf.js b/assets/chunks/ChromaPalette.DrgUB_ba.js similarity index 95% rename from assets/chunks/ChromaPalette.BB7Mu0gf.js rename to assets/chunks/ChromaPalette.DrgUB_ba.js index 9aaefd899f..8a07dd15b6 100644 --- a/assets/chunks/ChromaPalette.BB7Mu0gf.js +++ b/assets/chunks/ChromaPalette.DrgUB_ba.js @@ -1,4 +1,4 @@ -import{an as O,r as m,c as a,av as F,aP as j,aQ as M,$ as i,M as N,x as s,y as g,C as P,E as h,A as B,I as E,T as K,U as v,P as t}from"./framework.BR0mAPCP.js";import{aO as W,N as q}from"./theme.ClagsQLu.js";const R=`// precision highp float; +import{an as F,r as m,c as a,av as O,aP as j,aQ as M,$ as i,M as N,x as s,y as g,C as P,E as h,A as B,I as E,T as K,U as v,P as t}from"./framework.CQBrk0Ry.js";import{aQ as W,N as q}from"./theme.Dd_Fb62b.js";const R=`// precision highp float; vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1., 2. / 3., 1. / 3., 3.); @@ -138,7 +138,7 @@ void mainImage(out vec4 fragColor, in vec2 fragCoord) { // trianglesLayer = blendScreen(trianglesLayer, triangleColor * triangleAlpha, triangleAlpha); // } -}`,U={class:"relative rounded-lg overflow-hidden pointer-events-auto touch-revert h-screen",id:"screen"},G={__name:"ChromaPalette",setup(V){const{tuner:c,init:y}=W(),{width:b,height:_}=O(),p=m(0),d=m(!1),{activeNotes:u}=q(),x=a(()=>R),C=a(()=>{let n=new Array(12).fill(0);for(let e in u.value){const o=(Number(e)-9)%12;n[o]+=u.value[e]}return n.map((e,o)=>{let r=Math.pow(c.aChroma[o],2),l=r>c.chromaAvg&&!c.note.silent?r:0;return e+l})}),w=F(C,{duration:200,transition:j.easeOutExpo}),D=a(()=>{const n=Array(16).fill(0);return w.value.forEach((e,o)=>n[o]=e),n});function L(n){p.value=(Math.sin(n.iTime)+1)/2}const S=a(()=>b.value||_.value?Math.random():0),T=M(S,100),z=a(()=>` +}`,U={class:"relative rounded-lg overflow-hidden pointer-events-auto touch-revert h-screen",id:"screen"},G={__name:"ChromaPalette",setup(V){const{tuner:c,init:y}=W(),{width:b,height:_}=F(),p=m(0),d=m(!1),{activeNotes:u}=q(),x=a(()=>R),C=a(()=>{let n=new Array(12).fill(0);for(let e in u.value){const o=(Number(e)-9)%12;n[o]+=u.value[e]}return n.map((e,o)=>{let r=Math.pow(c.aChroma[o],2),l=r>c.chromaAvg&&!c.note.silent?r:0;return e+l})}),w=O(C,{duration:200,transition:j.easeOutExpo}),D=a(()=>{const n=Array(16).fill(0);return w.value.forEach((e,o)=>n[o]=e),n});function L(n){p.value=(Math.sin(n.iTime)+1)/2}const S=a(()=>b.value||_.value?Math.random():0),T=M(S,100),z=a(()=>` // uniform sampler2D u_mainOutput; void main() { diff --git a/assets/chunks/ChromaPaletteFeedback.BLQ3n-Ya.js b/assets/chunks/ChromaPaletteFeedback._m14K69Y.js similarity index 97% rename from assets/chunks/ChromaPaletteFeedback.BLQ3n-Ya.js rename to assets/chunks/ChromaPaletteFeedback._m14K69Y.js index d8eb23e598..cf12b53101 100644 --- a/assets/chunks/ChromaPaletteFeedback.BLQ3n-Ya.js +++ b/assets/chunks/ChromaPaletteFeedback._m14K69Y.js @@ -1,4 +1,4 @@ -import{an as z,r as g,c as r,av as O,aP as j,aQ as M,$ as l,M as B,x as d,y,C as N,E as b,A as E,I as K,T as P,U as c,P as n}from"./framework.BR0mAPCP.js";import{aO as W,N as q}from"./theme.ClagsQLu.js";const R=`// precision highp float; +import{an as z,r as g,c as r,av as O,aP as j,aQ as M,$ as l,M as B,x as d,y,C as N,E as b,A as E,I as K,T as P,U as c,P as n}from"./framework.CQBrk0Ry.js";import{aQ as W,N as q}from"./theme.Dd_Fb62b.js";const R=`// precision highp float; vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1., 2. / 3., 1. / 3., 3.); @@ -153,7 +153,7 @@ void mainImage(out vec4 fragColor, in vec2 fragCoord) { // trianglesLayer = blendScreen(trianglesLayer, triangleColor * triangleAlpha, triangleAlpha); // } -}`,U={class:"relative rounded-lg overflow-hidden pointer-events-auto touch-revert",id:"screen"},Q={__name:"ChromaPaletteFeedback",setup(V){const{tuner:s,init:_}=W(),{width:x,height:C}=z(),u=g(0),p=g(!1),{activeNotes:f}=q(),m=r(()=>R),w=r(()=>{let t=new Array(12).fill(0);for(let e in f.value){const o=(Number(e)-9)%12;t[o]+=f.value[e]}return t.map((e,o)=>{let a=Math.pow(s.aChroma[o],2),i=a>Math.pow(s.chromaAvg,2)&&!s.note.silent?a:0;return e+i})}),D=O(w,{duration:200,transition:j.easeOutExpo}),h=r(()=>{const t=Array(16).fill(0);return D.value.forEach((e,o)=>t[o]=e),t});function S(t){u.value=(Math.sin(t.iTime)+1)/2}const L=r(()=>x.value||C.value?Math.random():0),T=M(L,100),A=r(()=>` +}`,U={class:"relative rounded-lg overflow-hidden pointer-events-auto touch-revert",id:"screen"},G={__name:"ChromaPaletteFeedback",setup(V){const{tuner:s,init:_}=W(),{width:x,height:C}=z(),u=g(0),p=g(!1),{activeNotes:f}=q(),m=r(()=>R),w=r(()=>{let t=new Array(12).fill(0);for(let e in f.value){const o=(Number(e)-9)%12;t[o]+=f.value[e]}return t.map((e,o)=>{let a=Math.pow(s.aChroma[o],2),i=a>Math.pow(s.chromaAvg,2)&&!s.note.silent?a:0;return e+i})}),D=O(w,{duration:200,transition:j.easeOutExpo}),h=r(()=>{const t=Array(16).fill(0);return D.value.forEach((e,o)=>t[o]=e),t});function S(t){u.value=(Math.sin(t.iTime)+1)/2}const L=r(()=>x.value||C.value?Math.random():0),T=M(L,100),A=r(()=>` // uniform sampler2D u_mainOutput; void main() { @@ -164,4 +164,4 @@ void mainImage(out vec4 fragColor, in vec2 fragCoord) { gl_FragColor = mainOutput; } -`);return(t,e)=>{const o=l("gl-float"),a=l("gl-mat4"),i=l("gl-image"),v=l("gl-program"),F=l("gl-canvas"),k=B("tooltip");return d(),y("div",U,[p.value?K("",!0):N((d(),y("button",{key:0,class:"absolute z-200 text-2xl top-2 right-2 opacity-30 hover-opacity-100 transition",onClick:e[0]||(e[0]=I=>{b(_)(),p.value=!0})},e[1]||(e[1]=[E("div",{class:"i-la-microphone"},null,-1)]))),[[k,"Enable audio input"]]),(d(),P(F,{onUpdate:S,key:b(T)},{default:c(()=>[n(v,{name:"buffer0",code:m.value},{default:c(()=>[n(o,{name:"u_light",value:u.value},null,8,["value"]),n(a,{name:"u_notes",value:h.value},null,8,["value"]),n(i,{name:"u_mainOutput",value:"buffer1"})]),_:1},8,["code"]),n(v,{name:"buffer1",code:m.value},{default:c(()=>[n(o,{name:"u_light",value:u.value},null,8,["value"]),n(a,{name:"u_notes",value:h.value},null,8,["value"]),n(i,{name:"u_mainOutput",value:"buffer0"})]),_:1},8,["code"]),n(v,{name:"main",code:A.value},{default:c(()=>[n(i,{name:"u_mainOutput",value:"buffer1"})]),_:1},8,["code"])]),_:1}))])}}};export{Q as default}; +`);return(t,e)=>{const o=l("gl-float"),a=l("gl-mat4"),i=l("gl-image"),v=l("gl-program"),F=l("gl-canvas"),k=B("tooltip");return d(),y("div",U,[p.value?K("",!0):N((d(),y("button",{key:0,class:"absolute z-200 text-2xl top-2 right-2 opacity-30 hover-opacity-100 transition",onClick:e[0]||(e[0]=I=>{b(_)(),p.value=!0})},e[1]||(e[1]=[E("div",{class:"i-la-microphone"},null,-1)]))),[[k,"Enable audio input"]]),(d(),P(F,{onUpdate:S,key:b(T)},{default:c(()=>[n(v,{name:"buffer0",code:m.value},{default:c(()=>[n(o,{name:"u_light",value:u.value},null,8,["value"]),n(a,{name:"u_notes",value:h.value},null,8,["value"]),n(i,{name:"u_mainOutput",value:"buffer1"})]),_:1},8,["code"]),n(v,{name:"buffer1",code:m.value},{default:c(()=>[n(o,{name:"u_light",value:u.value},null,8,["value"]),n(a,{name:"u_notes",value:h.value},null,8,["value"]),n(i,{name:"u_mainOutput",value:"buffer0"})]),_:1},8,["code"]),n(v,{name:"main",code:A.value},{default:c(()=>[n(i,{name:"u_mainOutput",value:"buffer1"})]),_:1},8,["code"])]),_:1}))])}}};export{G as default}; diff --git a/assets/chunks/ChromaProfile.BNRIVsHl.js b/assets/chunks/ChromaProfile.B3WHzKXI.js similarity index 93% rename from assets/chunks/ChromaProfile.BNRIVsHl.js rename to assets/chunks/ChromaProfile.B3WHzKXI.js index 56994e2a4f..c22f94edae 100644 --- a/assets/chunks/ChromaProfile.BNRIVsHl.js +++ b/assets/chunks/ChromaProfile.B3WHzKXI.js @@ -1 +1 @@ -import{_ as J}from"./ChromaRow.7nFmbOny.js";import{_ as K}from"./ChromaCode.CCQBWIK8.js";import{D as Q,E as X,r as Y,g as y,d as L,p as j,s as S,c as Z,a as A,b as V,F as ee,G as q,n as te,_ as oe}from"./theme.ClagsQLu.js";import{_ as ae}from"./ChromaCircle.Ba65J0Ej.js";import{_ as ne}from"./AbcRender.CnjXi_kI.js";import{q as R,v as se,r as $,u as G,av as le,g as re,w as ie,c as i,x as h,y as w,E as s,S as ce,A as f,G as k,F as ue,B as me,b as fe,P as b,I as T,T as de,H as he}from"./framework.BR0mAPCP.js";const ve=["viewBox"],pe=["transform"],ge=["fill"],ye={class:"select-none",opacity:"0.7","font-size":"80",y:"25",x:"50",fill:"currentColor"},we=["stroke","points"],$e=["stroke","points"],z=4e3,F=300,E=2e3,xe={__name:"ChromaProfileWaveform",props:{chroma:{type:String,default:"100010001000"},mix:{type:Boolean,default:!1}},setup(o){const{isDark:B}=se(),c=[];for(let t=0;t<13;t++)c[t]=Math.pow(2,t/12);const C=o,x=z/E,r=$(!1),v=$(0),p=$(0),l=$(2e3),a=$(),u=$(1e3),m=Q(G("waveform-speed",1e3),0,l);X(t=>{const e=t.delta[0]-t.delta[1];m.value+=e},{domTarget:a});const M=le(p,{duration:u,transition:[.87,-.04,.69,1.13],onFinished:()=>{p.value==0&&D()}}),{resume:N,pause:D}=re(()=>{v.value+=M.value},{immediate:!1});ie(()=>{r.value?(N(),p.value>0&&(u.value=10),p.value=m.value):(p.value=0,u.value=1e3)});const _=i(()=>{let t=[],e=Y(C.chroma.split(""),-y.tonic);for(let n=0;n<12;n++)e[n]==1?t[n]=!0:delete t[n];return t}),g=G("chord-zoom",400);function I(t,e){return Math.sin((e+v.value)*(Math.PI*2*c[t])/g.value)}const W=i(()=>{let t={};for(let e in _.value){t[e]=[];for(let n=0;n{let t=[];for(let e=0;eH.value.map((t,e)=>`${e*x},${t*30+F/2}`).join(" ")),U=i(()=>L(C.chroma,y.tonic));return(t,e)=>{var n;return h(),w("div",{class:"waveform",ref_key:"waveContainer",ref:a},[(h(),w("svg",{class:"min-h-4em w-full cursor-pointer",version:"1.1",baseProfile:"full",viewBox:`0 0 ${z} ${F}`,xmlns:"http://www.w3.org/2000/svg",onMousedown:e[0]||(e[0]=d=>{s(j)(o.chroma),r.value=!0}),onTouchstart:e[1]||(e[1]=ce(d=>{s(j)(o.chroma),r.value=!0},["prevent","stop"])),onTouchend:e[2]||(e[2]=d=>{s(S)(o.chroma),r.value=!1}),onTouchcancel:e[3]||(e[3]=d=>{s(S)(o.chroma),r.value=!1}),onMouseup:e[4]||(e[4]=d=>{s(S)(o.chroma),r.value=!1}),onMouseleave:e[5]||(e[5]=d=>{s(S)(o.chroma),r.value=!1})},[f("g",{transform:`translate(${s(m)/l.value*z} 10)`},[f("circle",{r:"40",fill:U.value.hsl},null,8,ge),f("text",ye,k(s(m)*60)+" px/sec",1)],8,pe),e[6]||(e[6]=f("line",{x1:"0",x2:"1200",y1:"400",y2:"400",stroke:"gray","stroke-width":"1"},null,-1)),(h(!0),w(ue,null,me(_.value,(d,P)=>(h(),w("g",{key:P},[f("polyline",{stroke:s(Z)(P,s(B)?8:2),points:W.value[P],"stroke-width":"4",fill:"none",opacity:"0.9"},null,8,we)]))),128)),f("polyline",{stroke:(n=U.value)==null?void 0:n.hsl,points:O.value,"stroke-width":"24",fill:"none"},null,8,$e)],40,ve))],512)}}},_e=R(xe,[["__scopeId","data-v-b7d07ef8"]]),be={class:"flex w-full relative px-4"},ke=["href"],Ce={class:"text-2xl font-bold capitalize mb-2"},Se={class:"flex items-center mx-2 w-full gap-4 flex-wrap"},Be={key:1,class:"p-4"},Me={__name:"ChromaProfile",props:{title:{type:String,default:null},chroma:{type:String,default:"1001000100000"},abc:{type:String,default:null},link:{type:String,default:null},description:{type:String,default:""},editable:{type:Boolean,default:!1}},emits:["update:chroma"],setup(o,{emit:B}){const c=o,C=B;fe({chord:i(()=>A(c.chroma)),scale:i(()=>V(c.chroma))});const x=i(()=>A(c.chroma)),r=i(()=>V(c.chroma)),v=i(()=>ee(c.chroma));i(()=>{let l=[];if(!v.value)return[];for(let a=1;a{const u=_e,m=ne,M=ae,N=oe,D=K,_=J;return h(),w("div",{class:"profile",style:he({borderColor:s(L)(o.chroma,s(y).tonic).hsl})},[b(u,{chroma:o.chroma},null,8,["chroma"]),f("div",be,[o.link?(h(),w("a",{key:0,class:"p-2 absolute top-8px right-2em",href:o.link,target:"_blank"},a[3]||(a[3]=[f("div",{class:"i-la-wikipedia-w"},null,-1)]),8,ke)):T("",!0),f("div",Ce,k(s(te)[s(y).tonic])+" "+k(x.value.aliases[0]||x.value.name||r.value.name||o.title)+" "+k(r.value.aliases[0]?`(${r.value.aliases[0]})`:""),1)]),o.abc?(h(),de(m,{key:0,abc:o.abc},null,8,["abc"])):T("",!0),f("div",Se,[b(M,{style:{flex:"1 0 120px"},chroma:o.chroma},null,8,["chroma"]),b(N,{style:{flex:"1 0 200px"},chroma:o.chroma,"onUpdate:chroma":a[0]||(a[0]=g=>l.$emit("update:chroma",g)),pitch:s(y).tonic,title:!1,"onUpdate:pitch":p,playAll:!0},null,8,["chroma","pitch"]),b(D,{style:{flex:"1 0 120px"},chroma:o.chroma,"onUpdate:chroma":a[1]||(a[1]=g=>l.$emit("update:chroma",g))},null,8,["chroma"])]),b(_,{class:"mx-2 mb-2",chroma:o.chroma,"onUpdate:chroma":a[2]||(a[2]=g=>l.$emit("update:chroma",g)),editable:o.editable},null,8,["chroma","editable"]),o.description?(h(),w("div",Be,k(o.description),1)):T("",!0)],4)}}},Ee=R(Me,[["__scopeId","data-v-2f5ff41a"]]);export{Ee as _}; +import{_ as J}from"./ChromaRow.BRQuQvqH.js";import{_ as K}from"./ChromaCode.DOABZX-2.js";import{D as Q,E as X,r as Y,g as y,d as L,p as j,s as S,c as Z,a as A,b as V,F as ee,G as q,n as te,_ as oe}from"./theme.Dd_Fb62b.js";import{_ as ae}from"./ChromaCircle.Cdi5XgF7.js";import{_ as ne}from"./AbcRender.KY8ykMKq.js";import{q as R,v as se,r as $,u as G,av as le,g as re,w as ie,c as i,x as h,y as w,E as s,S as ce,A as f,G as k,F as ue,B as me,b as fe,P as b,I as T,T as de,H as he}from"./framework.CQBrk0Ry.js";const ve=["viewBox"],pe=["transform"],ge=["fill"],ye={class:"select-none",opacity:"0.7","font-size":"80",y:"25",x:"50",fill:"currentColor"},we=["stroke","points"],$e=["stroke","points"],z=4e3,F=300,E=2e3,xe={__name:"ChromaProfileWaveform",props:{chroma:{type:String,default:"100010001000"},mix:{type:Boolean,default:!1}},setup(o){const{isDark:B}=se(),c=[];for(let t=0;t<13;t++)c[t]=Math.pow(2,t/12);const C=o,x=z/E,r=$(!1),v=$(0),p=$(0),l=$(2e3),a=$(),u=$(1e3),m=Q(G("waveform-speed",1e3),0,l);X(t=>{const e=t.delta[0]-t.delta[1];m.value+=e},{domTarget:a});const M=le(p,{duration:u,transition:[.87,-.04,.69,1.13],onFinished:()=>{p.value==0&&D()}}),{resume:N,pause:D}=re(()=>{v.value+=M.value},{immediate:!1});ie(()=>{r.value?(N(),p.value>0&&(u.value=10),p.value=m.value):(p.value=0,u.value=1e3)});const _=i(()=>{let t=[],e=Y(C.chroma.split(""),-y.tonic);for(let n=0;n<12;n++)e[n]==1?t[n]=!0:delete t[n];return t}),g=G("chord-zoom",400);function I(t,e){return Math.sin((e+v.value)*(Math.PI*2*c[t])/g.value)}const W=i(()=>{let t={};for(let e in _.value){t[e]=[];for(let n=0;n{let t=[];for(let e=0;eH.value.map((t,e)=>`${e*x},${t*30+F/2}`).join(" ")),U=i(()=>L(C.chroma,y.tonic));return(t,e)=>{var n;return h(),w("div",{class:"waveform",ref_key:"waveContainer",ref:a},[(h(),w("svg",{class:"min-h-4em w-full cursor-pointer",version:"1.1",baseProfile:"full",viewBox:`0 0 ${z} ${F}`,xmlns:"http://www.w3.org/2000/svg",onMousedown:e[0]||(e[0]=d=>{s(j)(o.chroma),r.value=!0}),onTouchstart:e[1]||(e[1]=ce(d=>{s(j)(o.chroma),r.value=!0},["prevent","stop"])),onTouchend:e[2]||(e[2]=d=>{s(S)(o.chroma),r.value=!1}),onTouchcancel:e[3]||(e[3]=d=>{s(S)(o.chroma),r.value=!1}),onMouseup:e[4]||(e[4]=d=>{s(S)(o.chroma),r.value=!1}),onMouseleave:e[5]||(e[5]=d=>{s(S)(o.chroma),r.value=!1})},[f("g",{transform:`translate(${s(m)/l.value*z} 10)`},[f("circle",{r:"40",fill:U.value.hsl},null,8,ge),f("text",ye,k(s(m)*60)+" px/sec",1)],8,pe),e[6]||(e[6]=f("line",{x1:"0",x2:"1200",y1:"400",y2:"400",stroke:"gray","stroke-width":"1"},null,-1)),(h(!0),w(ue,null,me(_.value,(d,P)=>(h(),w("g",{key:P},[f("polyline",{stroke:s(Z)(P,s(B)?8:2),points:W.value[P],"stroke-width":"4",fill:"none",opacity:"0.9"},null,8,we)]))),128)),f("polyline",{stroke:(n=U.value)==null?void 0:n.hsl,points:O.value,"stroke-width":"24",fill:"none"},null,8,$e)],40,ve))],512)}}},_e=R(xe,[["__scopeId","data-v-b7d07ef8"]]),be={class:"flex w-full relative px-4"},ke=["href"],Ce={class:"text-2xl font-bold capitalize mb-2"},Se={class:"flex items-center mx-2 w-full gap-4 flex-wrap"},Be={key:1,class:"p-4"},Me={__name:"ChromaProfile",props:{title:{type:String,default:null},chroma:{type:String,default:"1001000100000"},abc:{type:String,default:null},link:{type:String,default:null},description:{type:String,default:""},editable:{type:Boolean,default:!1}},emits:["update:chroma"],setup(o,{emit:B}){const c=o,C=B;fe({chord:i(()=>A(c.chroma)),scale:i(()=>V(c.chroma))});const x=i(()=>A(c.chroma)),r=i(()=>V(c.chroma)),v=i(()=>ee(c.chroma));i(()=>{let l=[];if(!v.value)return[];for(let a=1;a{const u=_e,m=ne,M=ae,N=oe,D=K,_=J;return h(),w("div",{class:"profile",style:he({borderColor:s(L)(o.chroma,s(y).tonic).hsl})},[b(u,{chroma:o.chroma},null,8,["chroma"]),f("div",be,[o.link?(h(),w("a",{key:0,class:"p-2 absolute top-8px right-2em",href:o.link,target:"_blank"},a[3]||(a[3]=[f("div",{class:"i-la-wikipedia-w"},null,-1)]),8,ke)):T("",!0),f("div",Ce,k(s(te)[s(y).tonic])+" "+k(x.value.aliases[0]||x.value.name||r.value.name||o.title)+" "+k(r.value.aliases[0]?`(${r.value.aliases[0]})`:""),1)]),o.abc?(h(),de(m,{key:0,abc:o.abc},null,8,["abc"])):T("",!0),f("div",Se,[b(M,{style:{flex:"1 0 120px"},chroma:o.chroma},null,8,["chroma"]),b(N,{style:{flex:"1 0 200px"},chroma:o.chroma,"onUpdate:chroma":a[0]||(a[0]=g=>l.$emit("update:chroma",g)),pitch:s(y).tonic,title:!1,"onUpdate:pitch":p,playAll:!0},null,8,["chroma","pitch"]),b(D,{style:{flex:"1 0 120px"},chroma:o.chroma,"onUpdate:chroma":a[1]||(a[1]=g=>l.$emit("update:chroma",g))},null,8,["chroma"])]),b(_,{class:"mx-2 mb-2",chroma:o.chroma,"onUpdate:chroma":a[2]||(a[2]=g=>l.$emit("update:chroma",g)),editable:o.editable},null,8,["chroma","editable"]),o.description?(h(),w("div",Be,k(o.description),1)):T("",!0)],4)}}},Ee=R(Me,[["__scopeId","data-v-2f5ff41a"]]);export{Ee as _}; diff --git a/assets/chunks/ChromaProfileCollection.CnDP7uNm.js b/assets/chunks/ChromaProfileCollection.DkxAUP4C.js similarity index 81% rename from assets/chunks/ChromaProfileCollection.CnDP7uNm.js rename to assets/chunks/ChromaProfileCollection.DkxAUP4C.js index b3883528e7..52548fea01 100644 --- a/assets/chunks/ChromaProfileCollection.CnDP7uNm.js +++ b/assets/chunks/ChromaProfileCollection.DkxAUP4C.js @@ -1 +1 @@ -import{_ as n}from"./ChromaProfile.BNRIVsHl.js";import{r,x as o,y as s,A as i,F as m,B as u,z as _,G as p,P as x,a1 as f}from"./framework.BR0mAPCP.js";const d={class:"flex flex-wrap flex-col max-w-150 mx-2 sm-mx-4 embed"},v={class:"flex flex-wrap"},k=["onClick"],w={__name:"ChromaProfileCollection",props:{collection:{type:Object,required:!0}},setup(e){const t=r(Object.keys(e.collection)[0]);return(b,h)=>{const c=n;return o(),s("div",d,[i("div",v,[(o(!0),s(m,null,u(e.collection,(l,a)=>(o(),s("button",{class:_(["text-button",{active:t.value==a}]),onClick:C=>t.value=a,key:l},p(l.title),11,k))),128))]),x(c,f({class:"my-4"},e.collection[t.value]),null,16)])}}};export{w as _}; +import{_ as n}from"./ChromaProfile.B3WHzKXI.js";import{r,x as o,y as s,A as i,F as m,B as u,z as _,G as p,P as x,a1 as f}from"./framework.CQBrk0Ry.js";const d={class:"flex flex-wrap flex-col max-w-150 mx-2 sm-mx-4 embed"},v={class:"flex flex-wrap"},k=["onClick"],w={__name:"ChromaProfileCollection",props:{collection:{type:Object,required:!0}},setup(e){const t=r(Object.keys(e.collection)[0]);return(b,h)=>{const c=n;return o(),s("div",d,[i("div",v,[(o(!0),s(m,null,u(e.collection,(l,a)=>(o(),s("button",{class:_(["text-button",{active:t.value==a}]),onClick:C=>t.value=a,key:l},p(l.title),11,k))),128))]),x(c,f({class:"my-4"},e.collection[t.value]),null,16)])}}};export{w as _}; diff --git a/assets/chunks/ChromaRow.7nFmbOny.js b/assets/chunks/ChromaRow.BRQuQvqH.js similarity index 97% rename from assets/chunks/ChromaRow.7nFmbOny.js rename to assets/chunks/ChromaRow.BRQuQvqH.js index 36d9d69db7..c6c2351e2c 100644 --- a/assets/chunks/ChromaRow.7nFmbOny.js +++ b/assets/chunks/ChromaRow.BRQuQvqH.js @@ -1 +1 @@ -import{q as L,b as R,c as x,x as u,y as f,A as s,H as p,E as t,G as c,F as k,B as C,z as M,S as V,J as D,I as z}from"./framework.BR0mAPCP.js";import{a as K,b as Q,H as U,F as W,G as E,n as H,r as O,g as r,I as X,l as Y,d as w,p as Z,s as $,J as _,w as ee,e as T,K as te}from"./theme.ClagsQLu.js";const se={class:"flex w-full rounded-xl overflow-hidden"},oe={class:"flex flex-wrap items-center justify-stretch w-full text-sm px-2 bg-dark-800 bg-opacity-10"},le={class:"p-2px"},ae={class:"flex font-bold",title:"Intervals"},ne={class:"flex",title:"Steps"},re={class:"p-1",title:"Pcset number"},ie={class:"mr-1"},ce={class:"flex-1"},me={class:"font-bold -mt-2px"},de={class:"flex justify-stretch mx-auto w-full p-2"},ue=["onMouseenter","onTouchstart","onClick"],fe={__name:"ChromaRow",props:{chroma:{type:String,default:""},twoRow:{type:Boolean,default:!0},editable:{type:Boolean,default:!1}},emits:["update:chroma"],setup(i,{emit:q}){const A=q,h=i,a=R({minor:"101101011010",chord:x(()=>K(h.chroma)),scale:x(()=>Q(h.chroma)),num:x(()=>U(h.chroma)),intervals:x(()=>W(h.chroma)),semitones:x(()=>{let o=[];if(!a.intervals)return[];for(let e=1;e({name:o,pitch:e})),S=x(()=>{var d,v;let o=O(h.chroma.split(""),-((d=r)==null?void 0:d.tonic)),m=O(J,-((v=r)==null?void 0:v.tonic)).map((y,g)=>{var b;return X(y.pitch+((b=r)==null?void 0:b.tonic)+57,"midi").toNote()}).filter((y,g)=>{if(o[g]=="1")return!0});return Y(m)});function B(o=!1){var m;let e=[...S.value];if(o){e.push(((m=r)==null?void 0:m.tonic)+57+12);let d=[...S.value].reverse();e=[...e,...d]}e.forEach((d,v)=>{setTimeout(()=>{T(d)},v*1e3/(2*te.bpm/60))})}return(o,e)=>{var m,d,v,y,g,b,P,j;return u(),f("div",se,[s("div",{class:"w-3 flex flex-col items-center text-white text-opacity-90",style:p({backgroundColor:t(w)(i.chroma,(m=t(r))==null?void 0:m.tonic).hsl})},null,4),s("div",{class:"flex flex-col items-start w-full relative shadow-lg",style:p({backgroundColor:t(ee)(t(w)(i.chroma,(d=t(r))==null?void 0:d.tonic).hsl).alpha(.1).toHex()})},[s("div",oe,[s("div",le,c(i.chroma),1),e[6]||(e[6]=s("div",{class:"flex-1"},null,-1)),s("div",ae,[(u(!0),f(k,null,C(a.intervals,l=>(u(),f("div",{class:"p-2px",key:l},c(l),1))),128))]),e[7]||(e[7]=s("div",{class:"flex-1"},null,-1)),s("div",ne,[(u(!0),f(k,null,C(a.semitones,(l,n)=>(u(),f("span",{key:n},c(n!=0?"-":"")+c(l),1))),128))]),e[8]||(e[8]=s("div",{class:"flex-1"},null,-1)),s("div",re,"# "+c(a.num),1)]),s("div",{class:M(["flex flex-wrap items-center justify-between p-2 gap-2",{"w-full":!0}])},[s("button",{class:"text-button text-white font-bold text-md flex gap-1",style:p({backgroundColor:t(w)(i.chroma,(v=t(r))==null?void 0:v.tonic).hsl}),onPointerdown:e[0]||(e[0]=V(l=>t(Z)(i.chroma),["prevent","stop"])),onPointerout:e[1]||(e[1]=l=>t($)(i.chroma)),onPointerup:e[2]||(e[2]=l=>t($)(i.chroma)),onPointerleave:e[3]||(e[3]=l=>t($)(i.chroma))},[s("span",ie,c((y=t(r))==null?void 0:y.note.name)+c(a.chord.aliases[0]||" "+a.scale.name),1)],36),s("div",ce,[D(o.$slots,"default",{},void 0,!0)]),a.chord.name||a.chord.aliases[0]?(u(),f("button",{key:0,class:"text-sm flex items-center gap-1 border-2 p-2 rounded-xl",style:p({borderColor:t(w)(i.chroma,(g=t(r))==null?void 0:g.tonic).hsl}),onClick:e[4]||(e[4]=l=>B())},[e[9]||(e[9]=s("div",{class:"i-la-play"},null,-1)),s("div",me,c((b=t(r))==null?void 0:b.note.name)+" "+c(a.chord.name||a.chord.aliases[0]),1)],4)):z("",!0),a.scale.name?(u(),f("button",{key:1,class:"text-button text-sm flex items-center",style:p({borderColor:t(w)(i.chroma,(P=t(r))==null?void 0:P.tonic).hsl}),onClick:e[5]||(e[5]=l=>B(!0))},[e[10]||(e[10]=s("div",{class:"i-la-play -mt-1 mr-1"},null,-1)),s("span",null,c((j=t(r))==null?void 0:j.note.name)+" "+c(a.scale.name)+" scale",1)],4)):z("",!0)]),s("div",de,[(u(!0),f(k,null,C(i.chroma,(l,n)=>{var F;return u(),f("div",{class:M(["chroma-key text-xs",{active:l==1}]),onMouseenter:I=>N(n,l),onTouchstart:I=>N(n,l),key:n,onClick:I=>G(n),style:p({backgroundColor:t(_)(n,l),marginLeft:n==1||n==3||n==5||n==7||n==8||n==10?"12px":"2px"})},c(l==1?t(H)[(n+((F=t(r))==null?void 0:F.tonic))%12]:""),47,ue)}),128))])],4)])}}},xe=L(fe,[["__scopeId","data-v-f971559e"]]);export{xe as _}; +import{q as L,b as R,c as x,x as u,y as f,A as s,H as p,E as t,G as c,F as k,B as C,z as M,S as V,J as D,I as z}from"./framework.CQBrk0Ry.js";import{a as K,b as Q,H as U,F as W,G as E,n as H,r as O,g as r,I as X,l as Y,d as w,p as Z,s as $,J as _,w as ee,e as T,K as te}from"./theme.Dd_Fb62b.js";const se={class:"flex w-full rounded-xl overflow-hidden"},oe={class:"flex flex-wrap items-center justify-stretch w-full text-sm px-2 bg-dark-800 bg-opacity-10"},le={class:"p-2px"},ae={class:"flex font-bold",title:"Intervals"},ne={class:"flex",title:"Steps"},re={class:"p-1",title:"Pcset number"},ie={class:"mr-1"},ce={class:"flex-1"},me={class:"font-bold -mt-2px"},de={class:"flex justify-stretch mx-auto w-full p-2"},ue=["onMouseenter","onTouchstart","onClick"],fe={__name:"ChromaRow",props:{chroma:{type:String,default:""},twoRow:{type:Boolean,default:!0},editable:{type:Boolean,default:!1}},emits:["update:chroma"],setup(i,{emit:q}){const A=q,h=i,a=R({minor:"101101011010",chord:x(()=>K(h.chroma)),scale:x(()=>Q(h.chroma)),num:x(()=>U(h.chroma)),intervals:x(()=>W(h.chroma)),semitones:x(()=>{let o=[];if(!a.intervals)return[];for(let e=1;e({name:o,pitch:e})),S=x(()=>{var d,v;let o=O(h.chroma.split(""),-((d=r)==null?void 0:d.tonic)),m=O(J,-((v=r)==null?void 0:v.tonic)).map((y,g)=>{var b;return X(y.pitch+((b=r)==null?void 0:b.tonic)+57,"midi").toNote()}).filter((y,g)=>{if(o[g]=="1")return!0});return Y(m)});function B(o=!1){var m;let e=[...S.value];if(o){e.push(((m=r)==null?void 0:m.tonic)+57+12);let d=[...S.value].reverse();e=[...e,...d]}e.forEach((d,v)=>{setTimeout(()=>{T(d)},v*1e3/(2*te.bpm/60))})}return(o,e)=>{var m,d,v,y,g,b,P,j;return u(),f("div",se,[s("div",{class:"w-3 flex flex-col items-center text-white text-opacity-90",style:p({backgroundColor:t(w)(i.chroma,(m=t(r))==null?void 0:m.tonic).hsl})},null,4),s("div",{class:"flex flex-col items-start w-full relative shadow-lg",style:p({backgroundColor:t(ee)(t(w)(i.chroma,(d=t(r))==null?void 0:d.tonic).hsl).alpha(.1).toHex()})},[s("div",oe,[s("div",le,c(i.chroma),1),e[6]||(e[6]=s("div",{class:"flex-1"},null,-1)),s("div",ae,[(u(!0),f(k,null,C(a.intervals,l=>(u(),f("div",{class:"p-2px",key:l},c(l),1))),128))]),e[7]||(e[7]=s("div",{class:"flex-1"},null,-1)),s("div",ne,[(u(!0),f(k,null,C(a.semitones,(l,n)=>(u(),f("span",{key:n},c(n!=0?"-":"")+c(l),1))),128))]),e[8]||(e[8]=s("div",{class:"flex-1"},null,-1)),s("div",re,"# "+c(a.num),1)]),s("div",{class:M(["flex flex-wrap items-center justify-between p-2 gap-2",{"w-full":!0}])},[s("button",{class:"text-button text-white font-bold text-md flex gap-1",style:p({backgroundColor:t(w)(i.chroma,(v=t(r))==null?void 0:v.tonic).hsl}),onPointerdown:e[0]||(e[0]=V(l=>t(Z)(i.chroma),["prevent","stop"])),onPointerout:e[1]||(e[1]=l=>t($)(i.chroma)),onPointerup:e[2]||(e[2]=l=>t($)(i.chroma)),onPointerleave:e[3]||(e[3]=l=>t($)(i.chroma))},[s("span",ie,c((y=t(r))==null?void 0:y.note.name)+c(a.chord.aliases[0]||" "+a.scale.name),1)],36),s("div",ce,[D(o.$slots,"default",{},void 0,!0)]),a.chord.name||a.chord.aliases[0]?(u(),f("button",{key:0,class:"text-sm flex items-center gap-1 border-2 p-2 rounded-xl",style:p({borderColor:t(w)(i.chroma,(g=t(r))==null?void 0:g.tonic).hsl}),onClick:e[4]||(e[4]=l=>B())},[e[9]||(e[9]=s("div",{class:"i-la-play"},null,-1)),s("div",me,c((b=t(r))==null?void 0:b.note.name)+" "+c(a.chord.name||a.chord.aliases[0]),1)],4)):z("",!0),a.scale.name?(u(),f("button",{key:1,class:"text-button text-sm flex items-center",style:p({borderColor:t(w)(i.chroma,(P=t(r))==null?void 0:P.tonic).hsl}),onClick:e[5]||(e[5]=l=>B(!0))},[e[10]||(e[10]=s("div",{class:"i-la-play -mt-1 mr-1"},null,-1)),s("span",null,c((j=t(r))==null?void 0:j.note.name)+" "+c(a.scale.name)+" scale",1)],4)):z("",!0)]),s("div",de,[(u(!0),f(k,null,C(i.chroma,(l,n)=>{var F;return u(),f("div",{class:M(["chroma-key text-xs",{active:l==1}]),onMouseenter:I=>N(n,l),onTouchstart:I=>N(n,l),key:n,onClick:I=>G(n),style:p({backgroundColor:t(_)(n,l),marginLeft:n==1||n==3||n==5||n==7||n==8||n==10?"12px":"2px"})},c(l==1?t(H)[(n+((F=t(r))==null?void 0:F.tonic))%12]:""),47,ue)}),128))])],4)])}}},xe=L(fe,[["__scopeId","data-v-f971559e"]]);export{xe as _}; diff --git a/assets/chunks/ChromaSee.CzjSZQ-C.js b/assets/chunks/ChromaSee.nDjQi-jw.js similarity index 85% rename from assets/chunks/ChromaSee.CzjSZQ-C.js rename to assets/chunks/ChromaSee.nDjQi-jw.js index 84c2900f9d..a93e17d24e 100644 --- a/assets/chunks/ChromaSee.CzjSZQ-C.js +++ b/assets/chunks/ChromaSee.nDjQi-jw.js @@ -1 +1 @@ -import{_ as b}from"./ControlStart.BWsORrv6.js";import{aO as w,D as h,E as C,m as p,c as B,n as x}from"./theme.ClagsQLu.js";import{r as k,x as l,y as a,E as e,T as D,U as S,au as G,I as $,A as t,H as y,G as g,F as T,B as z}from"./framework.BR0mAPCP.js";const A={class:"fullscreen-container",id:"screen"},E={id:"blur",x:"-1",y:"-1",width:"3",height:"3"},N=["stdDeviation"],V={id:"blur-more",x:"-1",y:"-1",width:"3",height:"3"},F=["stdDeviation"],H=["fill"],I=["opacity"],L=["transform"],O=["r","fill"],P=["fill","opacity"],K={__name:"ChromaSee",setup(U){const m=k(),{init:v,tuner:s}=w(),c=h(0,0,1),d=h(2,.5,3);C(r=>{const{delta:[n,f]}=r;c.value+=n/100,d.value-=f/100},{domTarget:m});function u(r){return r>s.chromaAvg?s.note.silent?0:r:0}return(r,n)=>{var _;const f=b;return l(),a("div",A,[e(s).initiated?$("",!0):(l(),D(f,{key:0,class:"absolute",onClick:n[0]||(n[0]=i=>e(v)())},{default:S(()=>n[1]||(n[1]=[G("Start")])),_:1})),(l(),a("svg",{class:"min-h-80svh max-h-100svh w-full w-full cursor-pointer touch-none",id:"screen",ref_key:"stage",ref:m,version:"1.1",baseProfile:"full",viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},[t("defs",null,[t("filter",E,[t("feGaussianBlur",{i:"",n:"SourceGraphic",stdDeviation:e(c)/2},null,8,N)]),t("filter",V,[t("feGaussianBlur",{in:"SourceGraphic",stdDeviation:e(c)*4},null,8,F)])]),t("g",null,[t("circle",{class:"note",style:y([{transition:"all 500ms ease-in-out","transform-box":"fill-box","transform-origin":"center center"},{transform:`scale(${.5+20*e(s).rms})`}]),cx:50,cy:50,r:10,fill:e(s).note.silent?"#555":(_=e(s))==null?void 0:_.note.color,filter:"url(#blur-more)"},null,12,H),t("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"white","font-family":"Commissioner, sans-serif","font-size":"3px","text-anchor":"middle","dominant-baseline":"middle",x:50,y:50,opacity:e(s).note.silent?0:1},g(e(s).note.name),9,I),(l(!0),a(T,null,z(e(s).aChroma,(i,o)=>(l(),a("g",{class:"around",key:o,transform:`translate(${e(p)(o).x},${e(p)(o).y})`,style:{cursor:"pointer"}},[t("circle",{class:"note",style:y([{transition:"all 400ms ease-in-out","transform-box":"fill-box","transform-origin":"center center"},{transform:`scale(${.5+10*u(i)})`}]),r:e(d),fill:e(B)(o,3,u(i)),filter:"url(#blur)"},null,12,O),t("text",{style:{"user-select":"none",transition:"all 500ms ease"},fill:e(x)[o].length==2?"hsla(0,0%,0%,0.8)":"hsla(0,0%,100%,0.9)","font-family":"Commissioner, sans-serif","font-size":"3px","text-anchor":"middle","dominant-baseline":"middle",opacity:u(i)},g(e(x)[o]),9,P)],8,L))),128))])],512))])}}};export{K as default}; +import{_ as b}from"./ControlStart.BGN7YlXy.js";import{aQ as w,D as h,E as C,m as p,c as B,n as x}from"./theme.Dd_Fb62b.js";import{r as k,x as l,y as a,E as e,T as D,U as S,au as G,I as $,A as t,H as y,G as g,F as T,B as z}from"./framework.CQBrk0Ry.js";const A={class:"fullscreen-container",id:"screen"},E={id:"blur",x:"-1",y:"-1",width:"3",height:"3"},N=["stdDeviation"],V={id:"blur-more",x:"-1",y:"-1",width:"3",height:"3"},F=["stdDeviation"],H=["fill"],I=["opacity"],L=["transform"],P=["r","fill"],Q=["fill","opacity"],K={__name:"ChromaSee",setup(U){const m=k(),{init:v,tuner:s}=w(),c=h(0,0,1),d=h(2,.5,3);C(r=>{const{delta:[n,f]}=r;c.value+=n/100,d.value-=f/100},{domTarget:m});function u(r){return r>s.chromaAvg?s.note.silent?0:r:0}return(r,n)=>{var _;const f=b;return l(),a("div",A,[e(s).initiated?$("",!0):(l(),D(f,{key:0,class:"absolute",onClick:n[0]||(n[0]=i=>e(v)())},{default:S(()=>n[1]||(n[1]=[G("Start")])),_:1})),(l(),a("svg",{class:"min-h-80svh max-h-100svh w-full w-full cursor-pointer touch-none",id:"screen",ref_key:"stage",ref:m,version:"1.1",baseProfile:"full",viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},[t("defs",null,[t("filter",E,[t("feGaussianBlur",{i:"",n:"SourceGraphic",stdDeviation:e(c)/2},null,8,N)]),t("filter",V,[t("feGaussianBlur",{in:"SourceGraphic",stdDeviation:e(c)*4},null,8,F)])]),t("g",null,[t("circle",{class:"note",style:y([{transition:"all 500ms ease-in-out","transform-box":"fill-box","transform-origin":"center center"},{transform:`scale(${.5+20*e(s).rms})`}]),cx:50,cy:50,r:10,fill:e(s).note.silent?"#555":(_=e(s))==null?void 0:_.note.color,filter:"url(#blur-more)"},null,12,H),t("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"white","font-family":"Commissioner, sans-serif","font-size":"3px","text-anchor":"middle","dominant-baseline":"middle",x:50,y:50,opacity:e(s).note.silent?0:1},g(e(s).note.name),9,I),(l(!0),a(T,null,z(e(s).aChroma,(i,o)=>(l(),a("g",{class:"around",key:o,transform:`translate(${e(p)(o).x},${e(p)(o).y})`,style:{cursor:"pointer"}},[t("circle",{class:"note",style:y([{transition:"all 400ms ease-in-out","transform-box":"fill-box","transform-origin":"center center"},{transform:`scale(${.5+10*u(i)})`}]),r:e(d),fill:e(B)(o,3,u(i)),filter:"url(#blur)"},null,12,P),t("text",{style:{"user-select":"none",transition:"all 500ms ease"},fill:e(x)[o].length==2?"hsla(0,0%,0%,0.8)":"hsla(0,0%,100%,0.9)","font-family":"Commissioner, sans-serif","font-size":"3px","text-anchor":"middle","dominant-baseline":"middle",opacity:u(i)},g(e(x)[o]),9,Q)],8,L))),128))])],512))])}}};export{K as default}; diff --git a/assets/chunks/ChromaTouch.BkeAbPn3.js b/assets/chunks/ChromaTouch.CHIk3n0X.js similarity index 70% rename from assets/chunks/ChromaTouch.BkeAbPn3.js rename to assets/chunks/ChromaTouch.CHIk3n0X.js index 226e521365..a6eb858797 100644 --- a/assets/chunks/ChromaTouch.BkeAbPn3.js +++ b/assets/chunks/ChromaTouch.CHIk3n0X.js @@ -1 +1 @@ -import{r as z,g as v,c as I,aw as O,u as V,x as D,n as A,aQ as E}from"./theme.ClagsQLu.js";import{x as u,y as f,P as B,U as F,H as G,E as s,G as P,I as q,q as H,v as K,r as M,b as L,c as Q,d as R,K as U,A as d,F as T,B as p}from"./framework.BR0mAPCP.js";import{_ as W}from"./SvgRing.0H20IYi1.js";const j={class:"sector"},J={__name:"ChromaTouchSector",props:{pressed:{type:Boolean,default:!1},octave:{type:Number,default:0},octaves:{type:Number,default:4},startOctave:{type:Number,default:1},size:{type:Number,default:50},n:{type:Number,default:0},note:{type:String,default:""}},setup(e){return(N,y)=>{const x=W;return u(),f("g",j,[B(x,{cx:0,cy:0,radius:e.size-e.octave*(e.size/e.octaves),thickness:e.size/e.octaves,from:e.n*30-15,to:(e.n+1)*30-15,fill:s(I)(e.n,e.octave+e.startOctave,s(z)(s(v).chroma,-s(v).tonic)[e.n]==1?1:.1,s(O)[e.n+(e.octave+e.startOctave+2)*12+9]?1:.6)},{default:F(()=>[e.octave==0?(u(),f("text",{key:0,class:"fill-black text-4px",style:G({fontWeight:s(z)(s(v).chroma,-s(v).tonic)[e.n]==1?"bold":"normal",fontSize:s(v).tonic==e.n?"8px":"4px"}),y:"1"},P(e.note),5)):q("",!0)]),_:1},8,["radius","thickness","from","to","fill"])])}}},X=["viewBox"],Y={class:"octaves"},Z={class:"touches"},ee=["stroke","x2","y2"],te=["transform"],oe=["fill"],ae={class:"fill-black text-6px"},ne={__name:"ChromaTouch",setup(e){const{isDark:N}=K(),y=M(4),x=M(1),i={pad:2,r:50},b=M(),r=L({}),_=Q(()=>{const t={};for(let o in r){const{angle:c,distance:a}=r[o],n=Math.ceil((c-15)/30)%12,m=Math.floor((1-a)*y.value+x.value-2),l=(m+4)*12+n-3;t[o]={pitch:n,octave:m,num:l}}return t});function w({clientX:t,clientY:o}){const c=b.value.createSVGPoint();c.x=t,c.y=o;let{x:a,y:n}=c.matrixTransform(b.value.getScreenCTM().inverse());return{x:a,y:n,angle:180*(Math.PI-Math.atan2(a,n))/Math.PI,distance:Math.hypot(a,n)/i.r}}function h(t){t.type=="mousedown"?r.mouse=w(t):["mouseup","mouseleave","mouseout"].includes(t.type)?delete r.mouse:r.mouse&&t.type=="mousemove"&&(r.mouse=w(t))}function g(t){for(let o of t.changedTouches)["touchend","touchcancel"].includes(t.type)?delete r[o.identifier]:r[o.identifier]=w(o)}return R(_,(t,o)=>{var c,a,n,m;for(let l in t)((c=t[l])==null?void 0:c.num)!=((a=o[l])==null?void 0:a.num)&&V(((n=t[l])==null?void 0:n.pitch)+57+((m=t[l])==null?void 0:m.octave)*12);U(()=>{var l,$,C,S;for(let k in o)((l=o[k])==null?void 0:l.num)!=(($=t[k])==null?void 0:$.num)&&D(((C=o[k])==null?void 0:C.pitch)+57+((S=o[k])==null?void 0:S.octave)*12)})}),(t,o)=>{var c;return u(),f("svg",{class:"select-none touch-action-none max-h-full",ref_key:"svg",ref:b,version:"1.1",baseProfile:"full",viewBox:`${-i.r-i.pad} ${-i.r-i.pad} ${i.r*2+2*i.pad} ${i.r*2+2*i.pad}`,xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none","-webkit-user-select":"none !important","-webkit-touch-callout":"none"},"font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle",onTouchstart:g,onTouchmove:g,onTouchend:g,onTouchcancel:g,onMouseenter:h,onMousemove:h,onMousedown:h,onMouseup:h,onMouseleave:h},[d("g",Y,[(u(!0),f(T,null,p(y.value,(a,n)=>(u(),f("g",{class:"octave op-90",key:n},[(u(!0),f(T,null,p(s(A),(m,l)=>(u(),f("g",{key:m},[B(J,{n:l,note:m,octave:n,octaves:y.value,"start-octave":x.value,size:i.r},null,8,["n","note","octave","octaves","start-octave","size"])]))),128))]))),128)),d("g",Z,[(u(!0),f(T,null,p(r,(a,n)=>(u(),f("g",{class:"touch",key:n},[d("line",{"stroke-linecap":"round",stroke:`hsl(${a.angle}deg, 50%,50%)`,x2:a.x,y2:a.y},null,8,ee),d("g",{transform:`translate(${a.x} ${a.y})`},[d("circle",{r:"2",fill:s(N)?"#fff3":"#3333"},null,8,oe)],8,te)]))),128))])]),d("text",ae,P((c=s(E))==null?void 0:c[0]),1)],40,X)}}},ie=H(ne,[["__scopeId","data-v-df0b979c"]]);export{ie as default}; +import{r as z,g as v,c as I,ay as O,u as V,x as D,n as A,aS as E}from"./theme.Dd_Fb62b.js";import{x as u,y as f,P as B,U as F,H as G,E as s,G as P,I as q,q as H,v as K,r as w,b as L,c as R,d as U,K as W,A as d,F as T,B as p}from"./framework.CQBrk0Ry.js";import{_ as j}from"./SvgRing.CpiEvEsl.js";const J={class:"sector"},Q={__name:"ChromaTouchSector",props:{pressed:{type:Boolean,default:!1},octave:{type:Number,default:0},octaves:{type:Number,default:4},startOctave:{type:Number,default:1},size:{type:Number,default:50},n:{type:Number,default:0},note:{type:String,default:""}},setup(e){return(N,y)=>{const x=j;return u(),f("g",J,[B(x,{cx:0,cy:0,radius:e.size-e.octave*(e.size/e.octaves),thickness:e.size/e.octaves,from:e.n*30-15,to:(e.n+1)*30-15,fill:s(I)(e.n,e.octave+e.startOctave,s(z)(s(v).chroma,-s(v).tonic)[e.n]==1?1:.1,s(O)[e.n+(e.octave+e.startOctave+2)*12+9]?1:.6)},{default:F(()=>[e.octave==0?(u(),f("text",{key:0,class:"fill-black text-4px",style:G({fontWeight:s(z)(s(v).chroma,-s(v).tonic)[e.n]==1?"bold":"normal",fontSize:s(v).tonic==e.n?"8px":"4px"}),y:"1"},P(e.note),5)):q("",!0)]),_:1},8,["radius","thickness","from","to","fill"])])}}},X=["viewBox"],Y={class:"octaves"},Z={class:"touches"},ee=["stroke","x2","y2"],te=["transform"],oe=["fill"],ae={class:"fill-black text-6px"},ne={__name:"ChromaTouch",setup(e){const{isDark:N}=K(),y=w(4),x=w(1),i={pad:2,r:50},b=w(),r=L({}),_=R(()=>{const t={};for(let o in r){const{angle:c,distance:a}=r[o],n=Math.ceil((c-15)/30)%12,m=Math.floor((1-a)*y.value+x.value-2),l=(m+4)*12+n-3;t[o]={pitch:n,octave:m,num:l}}return t});function M({clientX:t,clientY:o}){const c=b.value.createSVGPoint();c.x=t,c.y=o;let{x:a,y:n}=c.matrixTransform(b.value.getScreenCTM().inverse());return{x:a,y:n,angle:180*(Math.PI-Math.atan2(a,n))/Math.PI,distance:Math.hypot(a,n)/i.r}}function h(t){t.type=="mousedown"?r.mouse=M(t):["mouseup","mouseleave","mouseout"].includes(t.type)?delete r.mouse:r.mouse&&t.type=="mousemove"&&(r.mouse=M(t))}function g(t){for(let o of t.changedTouches)["touchend","touchcancel"].includes(t.type)?delete r[o.identifier]:r[o.identifier]=M(o)}return U(_,(t,o)=>{var c,a,n,m;for(let l in t)((c=t[l])==null?void 0:c.num)!=((a=o[l])==null?void 0:a.num)&&V(((n=t[l])==null?void 0:n.pitch)+57+((m=t[l])==null?void 0:m.octave)*12);W(()=>{var l,S,$,C;for(let k in o)((l=o[k])==null?void 0:l.num)!=((S=t[k])==null?void 0:S.num)&&D((($=o[k])==null?void 0:$.pitch)+57+((C=o[k])==null?void 0:C.octave)*12)})}),(t,o)=>{var c;return u(),f("svg",{class:"select-none touch-action-none max-h-full",ref_key:"svg",ref:b,version:"1.1",baseProfile:"full",viewBox:`${-i.r-i.pad} ${-i.r-i.pad} ${i.r*2+2*i.pad} ${i.r*2+2*i.pad}`,xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none","-webkit-user-select":"none !important","-webkit-touch-callout":"none"},"font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle",onTouchstart:g,onTouchmove:g,onTouchend:g,onTouchcancel:g,onMouseenter:h,onMousemove:h,onMousedown:h,onMouseup:h,onMouseleave:h},[d("g",Y,[(u(!0),f(T,null,p(y.value,(a,n)=>(u(),f("g",{class:"octave op-90",key:n},[(u(!0),f(T,null,p(s(A),(m,l)=>(u(),f("g",{key:m},[B(Q,{n:l,note:m,octave:n,octaves:y.value,"start-octave":x.value,size:i.r},null,8,["n","note","octave","octaves","start-octave","size"])]))),128))]))),128)),d("g",Z,[(u(!0),f(T,null,p(r,(a,n)=>(u(),f("g",{class:"touch",key:n},[d("line",{"stroke-linecap":"round",stroke:`hsl(${a.angle}deg, 50%,50%)`,x2:a.x,y2:a.y},null,8,ee),d("g",{transform:`translate(${a.x} ${a.y})`},[d("circle",{r:"2",fill:s(N)?"#fff3":"#3333"},null,8,oe)],8,te)]))),128))])]),d("text",ae,P((c=s(E))==null?void 0:c[0]),1)],40,X)}}},ie=H(ne,[["__scopeId","data-v-df0b979c"]]);export{ie as default}; diff --git a/assets/chunks/ColorCmyk.B8wbTGR5.js b/assets/chunks/ColorCmyk.6zJswo3j.js similarity index 94% rename from assets/chunks/ColorCmyk.B8wbTGR5.js rename to assets/chunks/ColorCmyk.6zJswo3j.js index 8308c89460..ea638e5693 100644 --- a/assets/chunks/ColorCmyk.B8wbTGR5.js +++ b/assets/chunks/ColorCmyk.6zJswo3j.js @@ -1 +1 @@ -import{_}from"./ColorSvgInfo.BFWu7aKt.js";import{b as g,c as n,u as o,r as a,x as k,y as x,N as h,A as l,P as b,H as w}from"./framework.BR0mAPCP.js";import{D as c,w as $,L as v}from"./theme.ClagsQLu.js";const C={class:"min-h-80svh max-h-100svh w-full",version:"1.1",baseProfile:"full",viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg","stroke-width":"2px","text-anchor":"middle","font-family":"Commissioner, sans-serif",style:{"touch-action":"none"}},N={class:"cursor-pointer",id:"circles","stroke-linecap":"round"},M=["r","stroke-dashoffset","stroke-dasharray","fill"],D=["r","stroke-dashoffset","stroke-dasharray","fill"],P=["r","stroke-dashoffset","stroke-dasharray","fill"],B=["stroke-dashoffset","stroke-dasharray","fill"],Y={__name:"ColorCmyk",setup(I){const e=g({radius:30,len:n(()=>e.radius*Math.PI*2),max:100,c:c(o("cyan",50),0,100),m:c(o("magenta",50),0,100),y:c(o("yellow",50),0,100),k:c(o("black",10),0,100),cmyk:n(()=>`device-cmyk(${e.c}% ${e.m}% ${e.y}% ${e.k}% / 100%)`),hex:n(()=>$(e.cmyk).toHex())});function i(r){return t=>{e[r]=Number(e[r])+(Number(t[0])-Number(t[1]))}}const f=a(),m=a(),d=a(),y=a(),u={c:f,m,y:d,k:y};for(let r in u)v({onDrag(t){var s;(s=t==null?void 0:t.event)==null||s.preventDefault(),i(r)(t.delta)},onWheel(t){var s;(s=t==null?void 0:t.event)==null||s.preventDefault(),i(r)(t.velocities.map(p=>-p))}},{domTarget:u[r],eventOptions:{passive:!1}});return(r,t)=>{const s=_;return k(),x("div",{class:"fullscreen-container p-4 transition-all duration-800 ease-out w-full",id:"screen",style:w({backgroundColor:e.hex})},[(k(),x("svg",C,[t[0]||(t[0]=h('',2)),l("g",N,[l("circle",{class:"mix-blend-multiply cursor-pointer",id:"c",r:e.radius,ref_key:"controlC",ref:f,stroke:"cyan","stroke-dashoffset":e.len-e.len*(e.c/e.max),"stroke-dasharray":e.len,transform:"translate(50,33) rotate(-90)",fill:`hsla(180,100%,50%,${e.c/100})`},null,8,M),l("circle",{class:"mix-blend-multiply cursor-pointer",id:"m",r:e.radius,ref_key:"controlM",ref:m,stroke:"magenta","stroke-dashoffset":e.len-e.len*(e.m/e.max),"stroke-dasharray":e.len,transform:"translate(65,58) rotate(30)",fill:`hsla(300,100%,50%,${e.m/100})`},null,8,D),l("circle",{class:"mix-blend-multiply cursor-pointer",id:"y",r:e.radius,ref_key:"controlY",ref:d,stroke:"yellow","stroke-dashoffset":e.len-e.len*(e.y/e.max),"stroke-dasharray":e.len,transform:"translate(35,58) rotate(150)",fill:`hsla(60,100%,50%,${e.y/100})`},null,8,P),l("circle",{class:"mix-blend-multiply",id:"k",ref_key:"controlK",ref:y,r:"18",stroke:"black",transform:"translate(50,50) rotate(90)","stroke-dashoffset":18*Math.PI*2*(1-e.k/e.max),"stroke-dasharray":18*Math.PI*2,fill:`hsla(60,0%,0%,${e.k/100})`},null,8,B)]),t[1]||(t[1]=h('CYMK',1)),b(s,{class:"select-none",y:42,transform:"scale(0.8) translate(12,4)",color:{c:e.c,m:e.m,y:e.y,k:e.k,a:1}},null,8,["color"])]))],4)}}};export{Y as _}; +import{_}from"./ColorSvgInfo.DpJZE_IJ.js";import{b as g,c as n,u as o,r as a,x as k,y as x,N as h,A as l,P as b,H as w}from"./framework.CQBrk0Ry.js";import{D as c,w as $,L as v}from"./theme.Dd_Fb62b.js";const C={class:"min-h-80svh max-h-100svh w-full",version:"1.1",baseProfile:"full",viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg","stroke-width":"2px","text-anchor":"middle","font-family":"Commissioner, sans-serif",style:{"touch-action":"none"}},N={class:"cursor-pointer",id:"circles","stroke-linecap":"round"},M=["r","stroke-dashoffset","stroke-dasharray","fill"],D=["r","stroke-dashoffset","stroke-dasharray","fill"],P=["r","stroke-dashoffset","stroke-dasharray","fill"],B=["stroke-dashoffset","stroke-dasharray","fill"],Y={__name:"ColorCmyk",setup(I){const e=g({radius:30,len:n(()=>e.radius*Math.PI*2),max:100,c:c(o("cyan",50),0,100),m:c(o("magenta",50),0,100),y:c(o("yellow",50),0,100),k:c(o("black",10),0,100),cmyk:n(()=>`device-cmyk(${e.c}% ${e.m}% ${e.y}% ${e.k}% / 100%)`),hex:n(()=>$(e.cmyk).toHex())});function i(r){return t=>{e[r]=Number(e[r])+(Number(t[0])-Number(t[1]))}}const f=a(),m=a(),d=a(),y=a(),u={c:f,m,y:d,k:y};for(let r in u)v({onDrag(t){var s;(s=t==null?void 0:t.event)==null||s.preventDefault(),i(r)(t.delta)},onWheel(t){var s;(s=t==null?void 0:t.event)==null||s.preventDefault(),i(r)(t.velocities.map(p=>-p))}},{domTarget:u[r],eventOptions:{passive:!1}});return(r,t)=>{const s=_;return k(),x("div",{class:"fullscreen-container p-4 transition-all duration-800 ease-out w-full",id:"screen",style:w({backgroundColor:e.hex})},[(k(),x("svg",C,[t[0]||(t[0]=h('',2)),l("g",N,[l("circle",{class:"mix-blend-multiply cursor-pointer",id:"c",r:e.radius,ref_key:"controlC",ref:f,stroke:"cyan","stroke-dashoffset":e.len-e.len*(e.c/e.max),"stroke-dasharray":e.len,transform:"translate(50,33) rotate(-90)",fill:`hsla(180,100%,50%,${e.c/100})`},null,8,M),l("circle",{class:"mix-blend-multiply cursor-pointer",id:"m",r:e.radius,ref_key:"controlM",ref:m,stroke:"magenta","stroke-dashoffset":e.len-e.len*(e.m/e.max),"stroke-dasharray":e.len,transform:"translate(65,58) rotate(30)",fill:`hsla(300,100%,50%,${e.m/100})`},null,8,D),l("circle",{class:"mix-blend-multiply cursor-pointer",id:"y",r:e.radius,ref_key:"controlY",ref:d,stroke:"yellow","stroke-dashoffset":e.len-e.len*(e.y/e.max),"stroke-dasharray":e.len,transform:"translate(35,58) rotate(150)",fill:`hsla(60,100%,50%,${e.y/100})`},null,8,P),l("circle",{class:"mix-blend-multiply",id:"k",ref_key:"controlK",ref:y,r:"18",stroke:"black",transform:"translate(50,50) rotate(90)","stroke-dashoffset":18*Math.PI*2*(1-e.k/e.max),"stroke-dasharray":18*Math.PI*2,fill:`hsla(60,0%,0%,${e.k/100})`},null,8,B)]),t[1]||(t[1]=h('CYMK',1)),b(s,{class:"select-none",y:42,transform:"scale(0.8) translate(12,4)",color:{c:e.c,m:e.m,y:e.y,k:e.k,a:1}},null,8,["color"])]))],4)}}};export{Y as _}; diff --git a/assets/chunks/ColorHsl.DhFf0KlX.js b/assets/chunks/ColorHsl.wyofLDEJ.js similarity index 95% rename from assets/chunks/ColorHsl.DhFf0KlX.js rename to assets/chunks/ColorHsl.wyofLDEJ.js index 692d0eff41..ebc5b5d336 100644 --- a/assets/chunks/ColorHsl.DhFf0KlX.js +++ b/assets/chunks/ColorHsl.wyofLDEJ.js @@ -1 +1 @@ -import{_ as F}from"./ColorSvgInfo.BFWu7aKt.js";import{_ as T}from"./SvgRing.0H20IYi1.js";import{M as W,D as C,w as g,L as x}from"./theme.ClagsQLu.js";import{q as A,b as E,c as _,u as d,r as y,x as l,y as a,H as m,A as s,F as f,B as h,G as i,P as D,E as G,z as O}from"./framework.BR0mAPCP.js";import{u as v}from"./index.D4HuxphN.js";const M={id:"sat",x1:"0",x2:"0",y1:"0",y2:"1"},N=["stop-color","offset"],P={id:"light",x1:"0",x2:"0",y1:"0",y2:"1"},j=["stop-color","offset"],q={id:"spaces"},I=["transform","onClick"],V=["fill"],U=["font-weight"],J=["width"],K={class:"uppercase"},Q=["data-from","data-to"],R=["stroke"],X=["r"],Y=["transform"],Z=["y1","transform"],tt=["cy","fill"],et={id:"current"},ot=["fill"],st={x:"50",y:"64","font-size":"4",fill:"currentColor"},nt={class:"cursor-pointer",id:"l-range"},rt=["transform"],lt={"font-weight":"bold","font-size":"3px",x:"105",y:"-3",fill:"currentColor"},at={class:"cursor-pointer",id:"s-range"},it=["transform"],ct={fill:"currentColor","font-weight":"bold","font-size":"3px",x:"-5",y:"-3"},ut=["onClick"],dt={class:"p-0"},ft={class:"flex flex-wrap justify-center gap-1"},ht={__name:"ColorHsl",setup(pt){const k={monochromatic:[0],diad:[0,60],complementary:[0,180],analogous:[330,0,30],"split-complementary":[0,150,210],triad:[0,120,240],"double complementary":[0,30,180,210],"rectangular tetrad":[0,60,180,240],"square tetrad":[0,90,180,270],pentagon:[0,60,150,210,300]},t=E({harmony:"monochromatic",current:_(()=>p(t.hue).toHex()),info:_(()=>W(t.current)),space:d("color-space","Lch"),ring:d("color-rings","tints"),hueCount:C(d("hueCount",12),2,60),toneCount:d("toneCount",6),hue:d("hue",50),sat:C(d("saturation",50),0,100),light:C(d("lightness",50),0,100),hsl:_(()=>`hsla(${t.hue},${t.sat}%,${t.light}%,1)`),hueSteps:_(()=>[...Array(t.hueCount)].map((e,o)=>360*o/t.hueCount)),hueArcs:_(()=>t.hueSteps.map((e,o,c)=>({from:e,to:c[o+1]||359.9}))),dark:_(()=>g(t.current).isDark())}),L=["HSL","Lch","HWB"],S={HSL:["Hue","S","L"],Lch:["Hue","C","L"],HWB:["Hue","B","W"]},z=v(t);function p(e=t.hue,o=t.sat,c=t.light){return t.space=="Lch"?g(`lch(${c}% ${o} ${e} / 1)`):t.space=="HSL"?g(`hsl(${e}, ${o}%, ${c}%)`):g({h:e,w:c,b:o,a:1})}const w=y();x({onDrag(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.hueCount+=e.delta[0]},onWheel(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.hueCount-=e.delta[0]}},{domTarget:w,eventOptions:{passive:!1}});const $=y();x({onDrag(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.light-=e.delta[1]/8},onWheel(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.light+=e.delta[1]/8}},{domTarget:$,eventOptions:{passive:!1}});const b=y();x({onDrag(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.sat-=e.delta[1]/8},onWheel(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.sat+=e.delta[1]/8}},{domTarget:b,eventOptions:{passive:!1}});const H=y();return x({onDrag(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.hue+=e.delta[0]/8,t.sat-=e.delta[1]/8},onWheel(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.hue-=e.delta[0]/8,t.sat+=e.delta[1]/8}},{domTarget:H,eventOptions:{passive:!1}}),(e,o)=>{const c=T,B=F;return l(),a("div",{class:"fullscreen-container p-4 transition-all duration-800 ease-out",id:"screen",style:m({backgroundColor:t.current})},[(l(),a("svg",{class:"max-h-3xl w-full",version:"1.1",baseProfile:"full",viewBox:"-15 -5 130 115",xmlns:"http://www.w3.org/2000/svg","stroke-width":"2px","font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle",style:m([{"touch-action":"none","user-select":"none"},{color:t.dark?"white":"black"}])},[s("defs",null,[s("linearGradient",M,[(l(),a(f,null,h(10,(n,r)=>s("stop",{key:n,"stop-color":p(t.hue,100-r*10).toHex(),offset:r*10+"%"},null,8,N)),64))]),s("linearGradient",P,[(l(),a(f,null,h(10,(n,r)=>s("stop",{key:n,"stop-color":p(t.hue,t.sat,100-r*10).toHex(),offset:r*10+"%"},null,8,j)),64))])]),s("g",q,[(l(),a(f,null,h(L,(n,r)=>s("g",{class:"cursor-pointer",key:n,"font-size":"3",transform:`translate(${12*(r-1)+50}, 0)`,onClick:u=>t.space=n},[s("rect",{rx:"1",x:"-5",y:"-3",width:"10",height:"5",fill:n==t.space?"#aaa":"#ccc",stroke:"currentColor","stroke-width":"0.2"},null,8,V),s("text",{"font-weight":n==t.space?"bold":"normal"},i(n),9,U)],8,I)),64))]),s("g",{class:"cursor-pointer",id:"count",transform:"translate(50, 102)","font-size":"2",ref_key:"stepsControl",ref:w},[o[0]||(o[0]=s("rect",{x:"-20",y:"-2.5",width:"40",height:"4",fill:"#ccc",stroke:"currentColor","stroke-width":"0.2"},null,-1)),s("rect",{x:"-20",y:"-2.5",width:40*(t.hueCount/60),height:"4",fill:"#aaa",stroke:"currentColor","stroke-width":"0.2"},null,8,J),s("text",K,i(t.hueCount)+" HUE STEPS ",1)],512),s("g",{class:"cursor-pointer",id:"circle",ref_key:"centerControl",ref:H},[(l(!0),a(f,null,h(t.hueArcs,(n,r)=>(l(),a("g",{class:"arc",key:n,"data-from":n.from,"data-to":n.to},[D(c,{class:"sector",cx:50,cy:50,radius:45,thickness:27,from:n.from,to:n.to,fill:p(n.from).toHex(),onMousedown:u=>t.hue=n.from,onTouchstart:u=>t.hue=n.from},null,8,["from","to","fill","onMousedown","onTouchstart"])],8,Q))),128))],512),s("g",{class:"pointer-events-none",id:"coords",stroke:t.info.dark?"white":"black"},[s("circle",{cx:50,cy:50,r:t.sat*.27+18,fill:"none","stroke-width":"0.2"},null,8,X),s("g",{id:"lines",transform:`translate(50,50) rotate(${G(z).hue-180+180/t.hueCount})`,"stroke-width":"0.4"},[o[1]||(o[1]=s("line",{x1:"0",x2:"0",y1:"45",y2:"0","stroke-width":"0.6"},null,-1)),(l(!0),a(f,null,h(k[t.harmony],n=>(l(),a("line",{key:n,y1:t.sat*.27+18,transform:`rotate(${n})`},null,8,Z))),128)),s("circle",{cy:t.sat*.27+18,r:"3",fill:t.current},null,8,tt)],8,Y)],8,R),s("g",et,[s("circle",{fill:t.current,cx:"50",cy:"50",r:"18"},null,8,ot),D(B,{transform:"scale(0.8) translate(12,5)",color:t.current,y:40},null,8,["color"]),s("text",st,i(t.hue.toFixed(0))+"°",1)]),s("g",nt,[s("rect",{id:"light",x:"100",y:"0",width:"10",height:"100",fill:"url(#light)",ref_key:"lightControl",ref:$},null,512),s("g",{class:"pointer-events-none",transform:`translate(0,${100-t.light})`},[o[2]||(o[2]=s("line",{x1:"100",x2:"110",stroke:"currentColor","stroke-linecap":"round"},null,-1)),s("text",lt,"L "+i(t.light.toFixed(1)),1)],8,rt)]),s("g",at,[s("rect",{id:"sat",x:"-10",y:"0",width:"10",height:"100",fill:"url(#sat)",ref_key:"satControl",ref:b},null,512),s("g",{class:"pointer-events-none",transform:`translate(0,${100-t.sat})`},[o[3]||(o[3]=s("line",{x1:"-10",x2:"0",stroke:"currentColor","stroke-linecap":"round"},null,-1)),s("text",ct,i(S[t.space][1])+" "+i(t.sat.toFixed(1)),1)],8,it)])],4)),s("div",{class:"flex flex-wrap items-center justify-center",style:m({color:t.info.dark?"#FFF":"#000"})},[(l(),a(f,null,h(k,(n,r)=>s("button",{class:O(["p-1 capitalize border-2 shadow-md m-2 rounded-lg border-dark-300",{active:r==t.harmony}]),style:m([{flex:"1 1 180px"},{backgroundColor:t.info.dark?"#333e":"#eeee"}]),key:r,onClick:u=>t.harmony=r},[s("div",dt,i(r),1),s("div",ft,[(l(!0),a(f,null,h(k[r],u=>(l(),a("div",{class:"p-4 flex-1 rounded text-sm font-mono uppercase",key:u,style:m({backgroundColor:p(t.hue+u).toHex()})},i(p(t.hue+u).toHex()),5))),128))])],14,ut)),64))],4)],4)}}},kt=A(ht,[["__scopeId","data-v-0bf3dee7"]]);export{kt as _}; +import{_ as F}from"./ColorSvgInfo.DpJZE_IJ.js";import{_ as T}from"./SvgRing.CpiEvEsl.js";import{M as W,D as C,w as g,L as x}from"./theme.Dd_Fb62b.js";import{q as A,b as E,c as _,u as d,r as y,x as l,y as a,H as m,A as s,F as f,B as h,G as i,P as D,E as G,z as O}from"./framework.CQBrk0Ry.js";import{u as v}from"./index.D7bsbTcf.js";const M={id:"sat",x1:"0",x2:"0",y1:"0",y2:"1"},N=["stop-color","offset"],P={id:"light",x1:"0",x2:"0",y1:"0",y2:"1"},j=["stop-color","offset"],q={id:"spaces"},I=["transform","onClick"],V=["fill"],U=["font-weight"],J=["width"],K={class:"uppercase"},Q=["data-from","data-to"],R=["stroke"],X=["r"],Y=["transform"],Z=["y1","transform"],tt=["cy","fill"],et={id:"current"},ot=["fill"],st={x:"50",y:"64","font-size":"4",fill:"currentColor"},nt={class:"cursor-pointer",id:"l-range"},rt=["transform"],lt={"font-weight":"bold","font-size":"3px",x:"105",y:"-3",fill:"currentColor"},at={class:"cursor-pointer",id:"s-range"},it=["transform"],ct={fill:"currentColor","font-weight":"bold","font-size":"3px",x:"-5",y:"-3"},ut=["onClick"],dt={class:"p-0"},ft={class:"flex flex-wrap justify-center gap-1"},ht={__name:"ColorHsl",setup(pt){const k={monochromatic:[0],diad:[0,60],complementary:[0,180],analogous:[330,0,30],"split-complementary":[0,150,210],triad:[0,120,240],"double complementary":[0,30,180,210],"rectangular tetrad":[0,60,180,240],"square tetrad":[0,90,180,270],pentagon:[0,60,150,210,300]},t=E({harmony:"monochromatic",current:_(()=>p(t.hue).toHex()),info:_(()=>W(t.current)),space:d("color-space","Lch"),ring:d("color-rings","tints"),hueCount:C(d("hueCount",12),2,60),toneCount:d("toneCount",6),hue:d("hue",50),sat:C(d("saturation",50),0,100),light:C(d("lightness",50),0,100),hsl:_(()=>`hsla(${t.hue},${t.sat}%,${t.light}%,1)`),hueSteps:_(()=>[...Array(t.hueCount)].map((e,o)=>360*o/t.hueCount)),hueArcs:_(()=>t.hueSteps.map((e,o,c)=>({from:e,to:c[o+1]||359.9}))),dark:_(()=>g(t.current).isDark())}),L=["HSL","Lch","HWB"],S={HSL:["Hue","S","L"],Lch:["Hue","C","L"],HWB:["Hue","B","W"]},z=v(t);function p(e=t.hue,o=t.sat,c=t.light){return t.space=="Lch"?g(`lch(${c}% ${o} ${e} / 1)`):t.space=="HSL"?g(`hsl(${e}, ${o}%, ${c}%)`):g({h:e,w:c,b:o,a:1})}const w=y();x({onDrag(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.hueCount+=e.delta[0]},onWheel(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.hueCount-=e.delta[0]}},{domTarget:w,eventOptions:{passive:!1}});const $=y();x({onDrag(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.light-=e.delta[1]/8},onWheel(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.light+=e.delta[1]/8}},{domTarget:$,eventOptions:{passive:!1}});const b=y();x({onDrag(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.sat-=e.delta[1]/8},onWheel(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.sat+=e.delta[1]/8}},{domTarget:b,eventOptions:{passive:!1}});const H=y();return x({onDrag(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.hue+=e.delta[0]/8,t.sat-=e.delta[1]/8},onWheel(e){var o;(o=e==null?void 0:e.event)==null||o.preventDefault(),t.hue-=e.delta[0]/8,t.sat+=e.delta[1]/8}},{domTarget:H,eventOptions:{passive:!1}}),(e,o)=>{const c=T,B=F;return l(),a("div",{class:"fullscreen-container p-4 transition-all duration-800 ease-out",id:"screen",style:m({backgroundColor:t.current})},[(l(),a("svg",{class:"max-h-3xl w-full",version:"1.1",baseProfile:"full",viewBox:"-15 -5 130 115",xmlns:"http://www.w3.org/2000/svg","stroke-width":"2px","font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle",style:m([{"touch-action":"none","user-select":"none"},{color:t.dark?"white":"black"}])},[s("defs",null,[s("linearGradient",M,[(l(),a(f,null,h(10,(n,r)=>s("stop",{key:n,"stop-color":p(t.hue,100-r*10).toHex(),offset:r*10+"%"},null,8,N)),64))]),s("linearGradient",P,[(l(),a(f,null,h(10,(n,r)=>s("stop",{key:n,"stop-color":p(t.hue,t.sat,100-r*10).toHex(),offset:r*10+"%"},null,8,j)),64))])]),s("g",q,[(l(),a(f,null,h(L,(n,r)=>s("g",{class:"cursor-pointer",key:n,"font-size":"3",transform:`translate(${12*(r-1)+50}, 0)`,onClick:u=>t.space=n},[s("rect",{rx:"1",x:"-5",y:"-3",width:"10",height:"5",fill:n==t.space?"#aaa":"#ccc",stroke:"currentColor","stroke-width":"0.2"},null,8,V),s("text",{"font-weight":n==t.space?"bold":"normal"},i(n),9,U)],8,I)),64))]),s("g",{class:"cursor-pointer",id:"count",transform:"translate(50, 102)","font-size":"2",ref_key:"stepsControl",ref:w},[o[0]||(o[0]=s("rect",{x:"-20",y:"-2.5",width:"40",height:"4",fill:"#ccc",stroke:"currentColor","stroke-width":"0.2"},null,-1)),s("rect",{x:"-20",y:"-2.5",width:40*(t.hueCount/60),height:"4",fill:"#aaa",stroke:"currentColor","stroke-width":"0.2"},null,8,J),s("text",K,i(t.hueCount)+" HUE STEPS ",1)],512),s("g",{class:"cursor-pointer",id:"circle",ref_key:"centerControl",ref:H},[(l(!0),a(f,null,h(t.hueArcs,(n,r)=>(l(),a("g",{class:"arc",key:n,"data-from":n.from,"data-to":n.to},[D(c,{class:"sector",cx:50,cy:50,radius:45,thickness:27,from:n.from,to:n.to,fill:p(n.from).toHex(),onMousedown:u=>t.hue=n.from,onTouchstart:u=>t.hue=n.from},null,8,["from","to","fill","onMousedown","onTouchstart"])],8,Q))),128))],512),s("g",{class:"pointer-events-none",id:"coords",stroke:t.info.dark?"white":"black"},[s("circle",{cx:50,cy:50,r:t.sat*.27+18,fill:"none","stroke-width":"0.2"},null,8,X),s("g",{id:"lines",transform:`translate(50,50) rotate(${G(z).hue-180+180/t.hueCount})`,"stroke-width":"0.4"},[o[1]||(o[1]=s("line",{x1:"0",x2:"0",y1:"45",y2:"0","stroke-width":"0.6"},null,-1)),(l(!0),a(f,null,h(k[t.harmony],n=>(l(),a("line",{key:n,y1:t.sat*.27+18,transform:`rotate(${n})`},null,8,Z))),128)),s("circle",{cy:t.sat*.27+18,r:"3",fill:t.current},null,8,tt)],8,Y)],8,R),s("g",et,[s("circle",{fill:t.current,cx:"50",cy:"50",r:"18"},null,8,ot),D(B,{transform:"scale(0.8) translate(12,5)",color:t.current,y:40},null,8,["color"]),s("text",st,i(t.hue.toFixed(0))+"°",1)]),s("g",nt,[s("rect",{id:"light",x:"100",y:"0",width:"10",height:"100",fill:"url(#light)",ref_key:"lightControl",ref:$},null,512),s("g",{class:"pointer-events-none",transform:`translate(0,${100-t.light})`},[o[2]||(o[2]=s("line",{x1:"100",x2:"110",stroke:"currentColor","stroke-linecap":"round"},null,-1)),s("text",lt,"L "+i(t.light.toFixed(1)),1)],8,rt)]),s("g",at,[s("rect",{id:"sat",x:"-10",y:"0",width:"10",height:"100",fill:"url(#sat)",ref_key:"satControl",ref:b},null,512),s("g",{class:"pointer-events-none",transform:`translate(0,${100-t.sat})`},[o[3]||(o[3]=s("line",{x1:"-10",x2:"0",stroke:"currentColor","stroke-linecap":"round"},null,-1)),s("text",ct,i(S[t.space][1])+" "+i(t.sat.toFixed(1)),1)],8,it)])],4)),s("div",{class:"flex flex-wrap items-center justify-center",style:m({color:t.info.dark?"#FFF":"#000"})},[(l(),a(f,null,h(k,(n,r)=>s("button",{class:O(["p-1 capitalize border-2 shadow-md m-2 rounded-lg border-dark-300",{active:r==t.harmony}]),style:m([{flex:"1 1 180px"},{backgroundColor:t.info.dark?"#333e":"#eeee"}]),key:r,onClick:u=>t.harmony=r},[s("div",dt,i(r),1),s("div",ft,[(l(!0),a(f,null,h(k[r],u=>(l(),a("div",{class:"p-4 flex-1 rounded text-sm font-mono uppercase",key:u,style:m({backgroundColor:p(t.hue+u).toHex()})},i(p(t.hue+u).toHex()),5))),128))])],14,ut)),64))],4)],4)}}},kt=A(ht,[["__scopeId","data-v-0bf3dee7"]]);export{kt as _}; diff --git a/assets/chunks/ColorLab.QsXE9KVr.js b/assets/chunks/ColorLab.B8JtCUyz.js similarity index 97% rename from assets/chunks/ColorLab.QsXE9KVr.js rename to assets/chunks/ColorLab.B8JtCUyz.js index 120ac122cf..c9c23371cd 100644 --- a/assets/chunks/ColorLab.QsXE9KVr.js +++ b/assets/chunks/ColorLab.B8JtCUyz.js @@ -1 +1 @@ -import{_ as W}from"./ColorSvgInfo.BFWu7aKt.js";import{u as h,c as d,b as E,r as p,w as F,x as i,y as c,H as A,A as r,F as y,B as m,E as l,z as S,P as G,U as $,aj as N,G as g}from"./framework.BR0mAPCP.js";import{D as v,w as x,L as _}from"./theme.ClagsQLu.js";const M={id:"gray",x1:"0",x2:"0",y1:"0",y2:"1"},P=["stop-color","offset"],U={id:"green-red",x1:"0",x2:"1",y1:"0",y2:"0"},V=["stop-color","offset"],j={id:"blue-yellow",x1:"0",x2:"0",y1:"0",y2:"1"},q=["stop-color","offset"],I=["x","y","rx","width","height","onMousedown","fill","stroke"],J={class:"cursor-pointer",id:"current"},K=["fill"],Q={class:"cursor-pointer",id:"b-range"},X=["transform"],Y={fill:"currentColor","font-size":"3px",x:"-10",y:"-4","font-weight":"bold"},Z={class:"cursor-pointer",id:"l-range"},ee=["transform"],te={fill:"currentColor","font-size":"3px",x:"110",y:"-3","font-weight":"bold"},re={class:"cursor-pointer",id:"a-range"},oe=["transform"],ne={fill:"currentColor","font-size":"3px",x:"7",y:"-9.5","font-weight":"bold"},le=["width"],se={class:"uppercase"},ae=["width"],ie={class:"uppercase"},pe={__name:"ColorLab",setup(ce){const n=v(h("lab-range",100),100,300),k=d(()=>-n.value/2),b=d(()=>n.value/2),e=E({current:h("color-current","#fffff"),max:{l:100,res:36},l:v(h("color-l",50),0,100),a:v(h("color-a",20),k,b),b:v(h("color-b",20),k,b),lab:d(()=>({l:e.l,a:e.a,b:e.b,alpha:1})),hex:d(()=>x(e.lab).toHex()),width:100,height:100,res:v(h("lab-res",10),10,36),steps:{a:d(()=>C(e.res)),b:d(()=>C(e.res))},dark:d(()=>x(e.lab).isDark())});function w(t,o,u){return x({l:t,a:o*n.value,b:-u*n.value,alpha:1}).toHex()}function C(t){return[...Array(t)].map((o,u)=>(u-t/2)/t)}const D=p();_({onDrag(t){t.event.preventDefault(),e.b-=t.delta[1]/4,e.a+=t.delta[0]/4},onWheel(t){t.event.preventDefault(),e.b+=t.delta[1]/4,e.a-=t.delta[0]/4}},{domTarget:D,eventOptions:{passive:!1}});const B=p();_({onDrag(t){t.event.preventDefault(),e.res+=t.delta[0]},onWheel(t){t.event.preventDefault(),e.res-=t.delta[0]}},{domTarget:B,eventOptions:{passive:!1}});const z=p();_({onDrag(t){t.event.preventDefault(),n.value+=t.delta[0]},onWheel(t){t.event.preventDefault(),n.value-=t.delta[0]}},{domTarget:z,eventOptions:{passive:!1}});const H=p();_({onDrag(t){t.event.preventDefault(),e.l-=t.delta[1]/8},onWheel(t){t.event.preventDefault(),e.l+=t.delta[1]/8}},{domTarget:H,eventOptions:{passive:!1}});const L=p();_({onDrag(t){t.event.preventDefault(),e.a+=t.delta[0]/4},onWheel(t){t.event.preventDefault(),e.a-=t.delta[0]/4}},{domTarget:L,eventOptions:{passive:!1}});const O=p();_({onDrag(t){t.event.preventDefault(),e.b-=t.delta[1]/4},onWheel(t){t.event.preventDefault(),e.b+=t.delta[1]/4}},{domTarget:O,eventOptions:{passive:!1}});function R(t,o,u){e.a=o*n.value,e.b=-u*n.value,e.current=e.hex}return F(()=>{e.current=e.hex}),(t,o)=>{const u=W;return i(),c("div",{class:"fullscreen-container p-4 transition-all duration-400 ease-in-out",id:"screen",style:A({backgroundColor:e.hex})},[(i(),c("svg",{class:"min-h-80svh max-h-100svh w-full select-none",version:"1.1",baseProfile:"full",viewBox:"-20 -20 140 130",xmlns:"http://www.w3.org/2000/svg","stroke-width":"2px","font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle",style:A([{"touch-action":"none","user-select":"none"},{color:e.dark?"white":"black"}])},[r("defs",null,[r("linearGradient",M,[(i(),c(y,null,m(10,(s,a)=>r("stop",{key:s,"stop-color":l(x)({l:100-10*a,a:e.a,b:e.b,alpha:1}).toHex(),offset:a*10+"%"},null,8,P)),64))]),r("linearGradient",U,[(i(),c(y,null,m(10,(s,a)=>r("stop",{key:s,"stop-color":l(x)({l:e.l,a:a*l(n)/10-l(n)/2,b:e.b,alpha:1}).toHex(),offset:a*10+"%"},null,8,V)),64))]),r("linearGradient",j,[(i(),c(y,null,m(10,(s,a)=>r("stop",{key:s,"stop-color":l(x)({l:e.l,a:e.a,b:(10-a)*l(n)/10-l(n)/2,alpha:1}).toHex(),offset:a*10+"%"},null,8,q)),64))])]),r("g",{id:"square",ref_key:"controlCenter",ref:D},[(i(!0),c(y,null,m(e.steps.a,(s,a)=>(i(),c("g",{class:"row",key:s+a},[(i(!0),c(y,null,m(e.steps.b,(f,T)=>(i(),c("rect",{class:S(["cursor-pointer",{current:e.current==w(e.l,s,f)}]),key:f+T,x:a*e.width/e.res,y:T*e.height/e.res,rx:e.current==w(e.l,s,f)?10:0,width:e.width/e.res,height:e.height/e.res,onMousedown:ue=>R(e.l,s,f),fill:w(e.l,s,f),stroke:w(e.l,s,f),"stroke-width":"0.1px"},null,42,I))),128))]))),128))],512),G(N,{name:"fade"},{default:$(()=>[r("g",J,[r("rect",{x:30,y:30,width:40,height:40,fill:e.hex},null,8,K),G(u,{color:e.lab,y:36},null,8,["color"])])]),_:1}),r("g",Q,[r("rect",{id:"b",x:"-15",y:"0",width:"10",height:"100",fill:"url(#blue-yellow)",ref_key:"controlB",ref:O},null,512),r("g",{class:"pointer-events-none",transform:`translate(0,${100*(-e.b+l(n)/2)/l(n)})`},[o[0]||(o[0]=r("line",{x1:"-15",x2:"-5",stroke:"currentColor","stroke-linecap":"round"},null,-1)),o[1]||(o[1]=r("line",{x1:"-15",x2:"100",stroke:"currentColor","stroke-linecap":"round","stroke-width":"0.1px"},null,-1)),r("text",Y,"B "+g(e.b.toFixed(1)),1)],8,X)]),r("g",Z,[r("rect",{id:"l",x:"105",y:"0",width:"10",height:"100",fill:"url(#gray)",ref_key:"controlLight",ref:H},null,512),r("g",{class:"pointer-events-none",transform:`translate(0,${100-e.l})`},[o[2]||(o[2]=r("line",{x1:"105",x2:"115",stroke:"currentColor","stroke-linecap":"round"},null,-1)),r("text",te,"L "+g(e.l.toFixed(1)),1)],8,ee)]),r("g",re,[r("rect",{id:"a",x:"0",y:"-15",width:"100",height:"10",fill:"url(#green-red)",ref_key:"controlA",ref:L},null,512),r("g",{class:"pointer-events-none",transform:`translate(${100*(e.a+l(n)/2)/l(n)},0)`},[o[3]||(o[3]=r("line",{y1:"-15",y2:"-5",stroke:"currentColor","stroke-linecap":"round"},null,-1)),o[4]||(o[4]=r("line",{y1:"-15",y2:"100",stroke:"currentColor","stroke-linecap":"round","stroke-width":"0.1px"},null,-1)),r("text",ne,"A "+g(e.a.toFixed(1)),1)],8,oe)]),r("g",{class:"cursor-pointer",id:"res",transform:"translate(20, 105)","font-size":"2",ref_key:"controlRes",ref:B},[o[5]||(o[5]=r("rect",{x:"-20",y:"-2.5",width:"40",height:"4",fill:"#ccc",stroke:"currentColor","stroke-width":"0.2"},null,-1)),r("rect",{x:"-20",y:"-2.5",width:40*(e.res/36),height:"4",fill:"#aaa",stroke:"currentColor","stroke-width":"0.2"},null,8,le),r("text",se,"RESOLUTION "+g(e.res)+"x"+g(e.res),1)],512),r("g",{class:"cursor-pointer",id:"range",transform:"translate(80, 105)","font-size":"2",ref_key:"controlRange",ref:z},[o[6]||(o[6]=r("rect",{x:"-20",y:"-2.5",width:"40",height:"4",fill:"#ccc",stroke:"currentColor","stroke-width":"0.2"},null,-1)),r("rect",{x:"-20",y:"-2.5",width:40*(l(n)/300),height:"4",fill:"#aaa",stroke:"currentColor","stroke-width":"0.2"},null,8,ae),r("text",ie,"AB RANGE "+g(l(n)),1)],512)],4))],4)}}};export{pe as _}; +import{_ as W}from"./ColorSvgInfo.DpJZE_IJ.js";import{u as h,c as d,b as E,r as p,w as F,x as i,y as c,H as A,A as r,F as y,B as m,E as l,z as S,P as G,U as $,aj as N,G as g}from"./framework.CQBrk0Ry.js";import{D as v,w as x,L as _}from"./theme.Dd_Fb62b.js";const M={id:"gray",x1:"0",x2:"0",y1:"0",y2:"1"},P=["stop-color","offset"],U={id:"green-red",x1:"0",x2:"1",y1:"0",y2:"0"},V=["stop-color","offset"],j={id:"blue-yellow",x1:"0",x2:"0",y1:"0",y2:"1"},q=["stop-color","offset"],I=["x","y","rx","width","height","onMousedown","fill","stroke"],J={class:"cursor-pointer",id:"current"},K=["fill"],Q={class:"cursor-pointer",id:"b-range"},X=["transform"],Y={fill:"currentColor","font-size":"3px",x:"-10",y:"-4","font-weight":"bold"},Z={class:"cursor-pointer",id:"l-range"},ee=["transform"],te={fill:"currentColor","font-size":"3px",x:"110",y:"-3","font-weight":"bold"},re={class:"cursor-pointer",id:"a-range"},oe=["transform"],ne={fill:"currentColor","font-size":"3px",x:"7",y:"-9.5","font-weight":"bold"},le=["width"],se={class:"uppercase"},ae=["width"],ie={class:"uppercase"},pe={__name:"ColorLab",setup(ce){const n=v(h("lab-range",100),100,300),k=d(()=>-n.value/2),b=d(()=>n.value/2),e=E({current:h("color-current","#fffff"),max:{l:100,res:36},l:v(h("color-l",50),0,100),a:v(h("color-a",20),k,b),b:v(h("color-b",20),k,b),lab:d(()=>({l:e.l,a:e.a,b:e.b,alpha:1})),hex:d(()=>x(e.lab).toHex()),width:100,height:100,res:v(h("lab-res",10),10,36),steps:{a:d(()=>C(e.res)),b:d(()=>C(e.res))},dark:d(()=>x(e.lab).isDark())});function w(t,o,u){return x({l:t,a:o*n.value,b:-u*n.value,alpha:1}).toHex()}function C(t){return[...Array(t)].map((o,u)=>(u-t/2)/t)}const D=p();_({onDrag(t){t.event.preventDefault(),e.b-=t.delta[1]/4,e.a+=t.delta[0]/4},onWheel(t){t.event.preventDefault(),e.b+=t.delta[1]/4,e.a-=t.delta[0]/4}},{domTarget:D,eventOptions:{passive:!1}});const B=p();_({onDrag(t){t.event.preventDefault(),e.res+=t.delta[0]},onWheel(t){t.event.preventDefault(),e.res-=t.delta[0]}},{domTarget:B,eventOptions:{passive:!1}});const z=p();_({onDrag(t){t.event.preventDefault(),n.value+=t.delta[0]},onWheel(t){t.event.preventDefault(),n.value-=t.delta[0]}},{domTarget:z,eventOptions:{passive:!1}});const H=p();_({onDrag(t){t.event.preventDefault(),e.l-=t.delta[1]/8},onWheel(t){t.event.preventDefault(),e.l+=t.delta[1]/8}},{domTarget:H,eventOptions:{passive:!1}});const L=p();_({onDrag(t){t.event.preventDefault(),e.a+=t.delta[0]/4},onWheel(t){t.event.preventDefault(),e.a-=t.delta[0]/4}},{domTarget:L,eventOptions:{passive:!1}});const O=p();_({onDrag(t){t.event.preventDefault(),e.b-=t.delta[1]/4},onWheel(t){t.event.preventDefault(),e.b+=t.delta[1]/4}},{domTarget:O,eventOptions:{passive:!1}});function R(t,o,u){e.a=o*n.value,e.b=-u*n.value,e.current=e.hex}return F(()=>{e.current=e.hex}),(t,o)=>{const u=W;return i(),c("div",{class:"fullscreen-container p-4 transition-all duration-400 ease-in-out",id:"screen",style:A({backgroundColor:e.hex})},[(i(),c("svg",{class:"min-h-80svh max-h-100svh w-full select-none",version:"1.1",baseProfile:"full",viewBox:"-20 -20 140 130",xmlns:"http://www.w3.org/2000/svg","stroke-width":"2px","font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle",style:A([{"touch-action":"none","user-select":"none"},{color:e.dark?"white":"black"}])},[r("defs",null,[r("linearGradient",M,[(i(),c(y,null,m(10,(s,a)=>r("stop",{key:s,"stop-color":l(x)({l:100-10*a,a:e.a,b:e.b,alpha:1}).toHex(),offset:a*10+"%"},null,8,P)),64))]),r("linearGradient",U,[(i(),c(y,null,m(10,(s,a)=>r("stop",{key:s,"stop-color":l(x)({l:e.l,a:a*l(n)/10-l(n)/2,b:e.b,alpha:1}).toHex(),offset:a*10+"%"},null,8,V)),64))]),r("linearGradient",j,[(i(),c(y,null,m(10,(s,a)=>r("stop",{key:s,"stop-color":l(x)({l:e.l,a:e.a,b:(10-a)*l(n)/10-l(n)/2,alpha:1}).toHex(),offset:a*10+"%"},null,8,q)),64))])]),r("g",{id:"square",ref_key:"controlCenter",ref:D},[(i(!0),c(y,null,m(e.steps.a,(s,a)=>(i(),c("g",{class:"row",key:s+a},[(i(!0),c(y,null,m(e.steps.b,(f,T)=>(i(),c("rect",{class:S(["cursor-pointer",{current:e.current==w(e.l,s,f)}]),key:f+T,x:a*e.width/e.res,y:T*e.height/e.res,rx:e.current==w(e.l,s,f)?10:0,width:e.width/e.res,height:e.height/e.res,onMousedown:ue=>R(e.l,s,f),fill:w(e.l,s,f),stroke:w(e.l,s,f),"stroke-width":"0.1px"},null,42,I))),128))]))),128))],512),G(N,{name:"fade"},{default:$(()=>[r("g",J,[r("rect",{x:30,y:30,width:40,height:40,fill:e.hex},null,8,K),G(u,{color:e.lab,y:36},null,8,["color"])])]),_:1}),r("g",Q,[r("rect",{id:"b",x:"-15",y:"0",width:"10",height:"100",fill:"url(#blue-yellow)",ref_key:"controlB",ref:O},null,512),r("g",{class:"pointer-events-none",transform:`translate(0,${100*(-e.b+l(n)/2)/l(n)})`},[o[0]||(o[0]=r("line",{x1:"-15",x2:"-5",stroke:"currentColor","stroke-linecap":"round"},null,-1)),o[1]||(o[1]=r("line",{x1:"-15",x2:"100",stroke:"currentColor","stroke-linecap":"round","stroke-width":"0.1px"},null,-1)),r("text",Y,"B "+g(e.b.toFixed(1)),1)],8,X)]),r("g",Z,[r("rect",{id:"l",x:"105",y:"0",width:"10",height:"100",fill:"url(#gray)",ref_key:"controlLight",ref:H},null,512),r("g",{class:"pointer-events-none",transform:`translate(0,${100-e.l})`},[o[2]||(o[2]=r("line",{x1:"105",x2:"115",stroke:"currentColor","stroke-linecap":"round"},null,-1)),r("text",te,"L "+g(e.l.toFixed(1)),1)],8,ee)]),r("g",re,[r("rect",{id:"a",x:"0",y:"-15",width:"100",height:"10",fill:"url(#green-red)",ref_key:"controlA",ref:L},null,512),r("g",{class:"pointer-events-none",transform:`translate(${100*(e.a+l(n)/2)/l(n)},0)`},[o[3]||(o[3]=r("line",{y1:"-15",y2:"-5",stroke:"currentColor","stroke-linecap":"round"},null,-1)),o[4]||(o[4]=r("line",{y1:"-15",y2:"100",stroke:"currentColor","stroke-linecap":"round","stroke-width":"0.1px"},null,-1)),r("text",ne,"A "+g(e.a.toFixed(1)),1)],8,oe)]),r("g",{class:"cursor-pointer",id:"res",transform:"translate(20, 105)","font-size":"2",ref_key:"controlRes",ref:B},[o[5]||(o[5]=r("rect",{x:"-20",y:"-2.5",width:"40",height:"4",fill:"#ccc",stroke:"currentColor","stroke-width":"0.2"},null,-1)),r("rect",{x:"-20",y:"-2.5",width:40*(e.res/36),height:"4",fill:"#aaa",stroke:"currentColor","stroke-width":"0.2"},null,8,le),r("text",se,"RESOLUTION "+g(e.res)+"x"+g(e.res),1)],512),r("g",{class:"cursor-pointer",id:"range",transform:"translate(80, 105)","font-size":"2",ref_key:"controlRange",ref:z},[o[6]||(o[6]=r("rect",{x:"-20",y:"-2.5",width:"40",height:"4",fill:"#ccc",stroke:"currentColor","stroke-width":"0.2"},null,-1)),r("rect",{x:"-20",y:"-2.5",width:40*(l(n)/300),height:"4",fill:"#aaa",stroke:"currentColor","stroke-width":"0.2"},null,8,ae),r("text",ie,"AB RANGE "+g(l(n)),1)],512)],4))],4)}}};export{pe as _}; diff --git a/assets/chunks/ColorMix.DL25yOWg.js b/assets/chunks/ColorMix.DmYOGZ8N.js similarity index 75% rename from assets/chunks/ColorMix.DL25yOWg.js rename to assets/chunks/ColorMix.DmYOGZ8N.js index 9c6b1632f9..cbb853bef5 100644 --- a/assets/chunks/ColorMix.DL25yOWg.js +++ b/assets/chunks/ColorMix.DmYOGZ8N.js @@ -1 +1 @@ -import{_ as w}from"./SaveSvg.DARtreR9.js";import{r as c,c as m,aR as b,x as e,y as t,A as l,P as x,U as k,I as C,aj as B,F as d,B as p,H as y,E as u}from"./framework.BR0mAPCP.js";import{aw as F,c as H,w as h,n as N,af as $}from"./theme.ClagsQLu.js";const V={class:"h-98svh w-full transition flex flex-col relative",id:"screen",style:{backgroundColor:""}},j={key:0,class:"absolute top-30 text-xl max-w-120 p-8 font-bold"},E={class:"flex flex-1"},M={class:"relative hidden"},O=["width","height"],P=["transform"],z=["fill"],A=["fill"],T={__name:"ColorMix",setup(I){const _=c(300),f=c(300),r=m(()=>{var o;return(o=Object.entries(F.value))==null?void 0:o.map(([n,s])=>H(+n+3,-2,s.toFixed(2),s.toFixed(2)))}),g=m(()=>{var o;return(o=r.value)==null?void 0:o.reduce((n,s)=>n.mix(s),h(r.value[0]))}),v=c(!1);return b(()=>$.note,()=>v.value=!0),(o,n)=>{const s=w;return e(),t(d,null,[l("div",V,[x(B,{name:"fade"},{default:k(()=>[v.value?C("",!0):(e(),t("div",j,"Play any notes on your keyboard to see their colors and how they mix together"))]),_:1}),l("div",E,[(e(!0),t(d,null,p(r.value,(i,a)=>(e(),t("div",{class:"flex-1 transition py-16",key:a,style:y({backgroundColor:i})},null,4))),128))]),l("div",{class:"flex-1 transition",style:y({backgroundColor:g.value.toHex()})},null,4)]),l("div",M,[x(s,{svg:"brain"}),(e(),t("svg",{class:"w-full",id:"brain",width:_.value*3+30,height:f.value*4+40,viewbox:"-10 -10 1300 1000"},[(e(!0),t(d,null,p(u(N),(i,a)=>(e(),t("g",{key:i,transform:`translate(${a%3*(_.value+10)} ${Math.floor(a/3)*(f.value+10)})`},[l("rect",{x:"0",y:"0",width:"300",height:"150",fill:u(h)(`hsl(${a*30},100%,50%)`).toHex()},null,8,z),l("rect",{x:"0",y:"150",width:"300",height:"150",fill:u(h)(`hsl(${a*30},100%,35%)`).toHex()},null,8,A)],8,P))),128))],8,O))])],64)}}};export{T as default}; +import{_ as w}from"./SaveSvg.BMrQsyrm.js";import{r as c,c as m,aR as b,x as e,y as t,A as l,P as x,U as k,I as C,aj as B,F as d,B as y,H as p,E as u}from"./framework.CQBrk0Ry.js";import{ay as F,c as H,w as h,n as N,ah as $}from"./theme.Dd_Fb62b.js";const V={class:"h-98svh w-full transition flex flex-col relative",id:"screen",style:{backgroundColor:""}},j={key:0,class:"absolute top-30 text-xl max-w-120 p-8 font-bold"},E={class:"flex flex-1"},M={class:"relative hidden"},O=["width","height"],P=["transform"],z=["fill"],A=["fill"],T={__name:"ColorMix",setup(I){const _=c(300),f=c(300),r=m(()=>{var o;return(o=Object.entries(F.value))==null?void 0:o.map(([n,s])=>H(+n+3,-2,s.toFixed(2),s.toFixed(2)))}),g=m(()=>{var o;return(o=r.value)==null?void 0:o.reduce((n,s)=>n.mix(s),h(r.value[0]))}),v=c(!1);return b(()=>$.note,()=>v.value=!0),(o,n)=>{const s=w;return e(),t(d,null,[l("div",V,[x(B,{name:"fade"},{default:k(()=>[v.value?C("",!0):(e(),t("div",j,"Play any notes on your keyboard to see their colors and how they mix together"))]),_:1}),l("div",E,[(e(!0),t(d,null,y(r.value,(i,a)=>(e(),t("div",{class:"flex-1 transition py-16",key:a,style:p({backgroundColor:i})},null,4))),128))]),l("div",{class:"flex-1 transition",style:p({backgroundColor:g.value.toHex()})},null,4)]),l("div",M,[x(s,{svg:"brain"}),(e(),t("svg",{class:"w-full",id:"brain",width:_.value*3+30,height:f.value*4+40,viewbox:"-10 -10 1300 1000"},[(e(!0),t(d,null,y(u(N),(i,a)=>(e(),t("g",{key:i,transform:`translate(${a%3*(_.value+10)} ${Math.floor(a/3)*(f.value+10)})`},[l("rect",{x:"0",y:"0",width:"300",height:"150",fill:u(h)(`hsl(${a*30},100%,50%)`).toHex()},null,8,z),l("rect",{x:"0",y:"150",width:"300",height:"150",fill:u(h)(`hsl(${a*30},100%,35%)`).toHex()},null,8,A)],8,P))),128))],8,O))])],64)}}};export{T as default}; diff --git a/assets/chunks/ColorRgb.qXzGnQvH.js b/assets/chunks/ColorRgb.DSFEIniM.js similarity index 93% rename from assets/chunks/ColorRgb.qXzGnQvH.js rename to assets/chunks/ColorRgb.DSFEIniM.js index 0e2f7cad0c..21a7e20eaf 100644 --- a/assets/chunks/ColorRgb.qXzGnQvH.js +++ b/assets/chunks/ColorRgb.DSFEIniM.js @@ -1 +1 @@ -import{_ as x}from"./ColorSvgInfo.BFWu7aKt.js";import{b as h,c as u,u as n,r as a,x as g,y as p,N as b,A as s,P as _,H as k}from"./framework.BR0mAPCP.js";import{D as i,L as c}from"./theme.ClagsQLu.js";const y={class:"min-h-80svh max-h-100svh w-full",version:"1.1",baseProfile:"full",viewBox:"-5 -5 110 110",xmlns:"http://www.w3.org/2000/svg","stroke-width":"2px",style:{"touch-action":"none"},"font-family":"Commissioner, sans-serif"},D=["stroke-dasharray"],w=["r","fill","stroke-dashoffset"],B=["r","fill","stroke-dashoffset"],N=["r","fill","stroke-dashoffset"],O={__name:"ColorRgb",setup($){const t=h({radius:30,len:u(()=>t.radius*Math.PI*2),max:255,r:i(n("red",190),0,255),g:i(n("gree",190),0,255),b:i(n("blue",190),0,255),rgb:u(()=>`rgb(${t.r},${t.g},${t.b})`)});function l(e){return r=>{t[e]=Number(t[e])+(Number(r[0])-Number(r[1]))}}const f=a(),d=a(),m=a();return c({onDrag(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("r")(e.delta)},onWheel(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("r")(e.velocities.map(o=>-o))}},{domTarget:f,eventOptions:{passive:!1}}),c({onDrag(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("g")(e.delta)},onWheel(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("g")(e.velocities.map(o=>-o))}},{domTarget:d,eventOptions:{passive:!1}}),c({onDrag(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("b")(e.delta)},onWheel(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("b")(e.velocities.map(o=>-o))}},{domTarget:m,eventOptions:{passive:!1}}),(e,r)=>{const o=x;return g(),p("div",{class:"fullscreen-container mb-8 p-4 transition-all duration-800 ease-out",id:"screen",style:k({backgroundColor:t.rgb})},[(g(),p("svg",y,[r[0]||(r[0]=b('',2)),s("g",{class:"cursor-pointer",id:"circles","stroke-linecap":"round","stroke-dasharray":t.len},[s("circle",{class:"mix-blend-lighten",id:"r",r:t.radius,ref_key:"controlR",ref:f,fill:`rgb(${t.r},0,0)`,stroke:"#ff0000","stroke-dashoffset":t.len-t.len*(t.r/t.max),transform:"translate(35,40) rotate(-150)"},null,8,w),s("circle",{class:"mix-blend-lighten",id:"g",r:t.radius,ref_key:"controlG",ref:d,fill:`rgb(0,${t.g},0)`,stroke:"#00ff00","stroke-dashoffset":t.len-t.len*(t.g/t.max),transform:"translate(65,40) rotate(-30)"},null,8,B),s("circle",{class:"mix-blend-lighten",id:"b",r:t.radius,ref_key:"controlB",ref:m,fill:`rgb(0,0,${t.b})`,stroke:"#0000ff","stroke-dashoffset":t.len-t.len*(t.b/t.max),transform:"translate(50,68) rotate(90)"},null,8,N)],8,D),r[1]||(r[1]=s("g",{class:"font-bold text-xs select-none pointer-events-none",id:"text"},[s("text",{x:"15",y:"33","text-anchor":"middle",fill:"white"},"R"),s("text",{x:"50",y:"95","text-anchor":"middle",fill:"white"},"B"),s("text",{x:"85",y:"33","text-anchor":"middle",fill:"white"},"G")],-1)),_(o,{transform:"scale(0.7) translate(21,12)",color:t.rgb,y:46},null,8,["color"])]))],4)}}};export{O as _}; +import{_ as x}from"./ColorSvgInfo.DpJZE_IJ.js";import{b as h,c as u,u as n,r as a,x as g,y as p,N as b,A as s,P as _,H as k}from"./framework.CQBrk0Ry.js";import{D as i,L as c}from"./theme.Dd_Fb62b.js";const y={class:"min-h-80svh max-h-100svh w-full",version:"1.1",baseProfile:"full",viewBox:"-5 -5 110 110",xmlns:"http://www.w3.org/2000/svg","stroke-width":"2px",style:{"touch-action":"none"},"font-family":"Commissioner, sans-serif"},D=["stroke-dasharray"],w=["r","fill","stroke-dashoffset"],B=["r","fill","stroke-dashoffset"],N=["r","fill","stroke-dashoffset"],O={__name:"ColorRgb",setup($){const t=h({radius:30,len:u(()=>t.radius*Math.PI*2),max:255,r:i(n("red",190),0,255),g:i(n("gree",190),0,255),b:i(n("blue",190),0,255),rgb:u(()=>`rgb(${t.r},${t.g},${t.b})`)});function l(e){return r=>{t[e]=Number(t[e])+(Number(r[0])-Number(r[1]))}}const f=a(),d=a(),m=a();return c({onDrag(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("r")(e.delta)},onWheel(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("r")(e.velocities.map(o=>-o))}},{domTarget:f,eventOptions:{passive:!1}}),c({onDrag(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("g")(e.delta)},onWheel(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("g")(e.velocities.map(o=>-o))}},{domTarget:d,eventOptions:{passive:!1}}),c({onDrag(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("b")(e.delta)},onWheel(e){var r;(r=e==null?void 0:e.event)==null||r.preventDefault(),l("b")(e.velocities.map(o=>-o))}},{domTarget:m,eventOptions:{passive:!1}}),(e,r)=>{const o=x;return g(),p("div",{class:"fullscreen-container mb-8 p-4 transition-all duration-800 ease-out",id:"screen",style:k({backgroundColor:t.rgb})},[(g(),p("svg",y,[r[0]||(r[0]=b('',2)),s("g",{class:"cursor-pointer",id:"circles","stroke-linecap":"round","stroke-dasharray":t.len},[s("circle",{class:"mix-blend-lighten",id:"r",r:t.radius,ref_key:"controlR",ref:f,fill:`rgb(${t.r},0,0)`,stroke:"#ff0000","stroke-dashoffset":t.len-t.len*(t.r/t.max),transform:"translate(35,40) rotate(-150)"},null,8,w),s("circle",{class:"mix-blend-lighten",id:"g",r:t.radius,ref_key:"controlG",ref:d,fill:`rgb(0,${t.g},0)`,stroke:"#00ff00","stroke-dashoffset":t.len-t.len*(t.g/t.max),transform:"translate(65,40) rotate(-30)"},null,8,B),s("circle",{class:"mix-blend-lighten",id:"b",r:t.radius,ref_key:"controlB",ref:m,fill:`rgb(0,0,${t.b})`,stroke:"#0000ff","stroke-dashoffset":t.len-t.len*(t.b/t.max),transform:"translate(50,68) rotate(90)"},null,8,N)],8,D),r[1]||(r[1]=s("g",{class:"font-bold text-xs select-none pointer-events-none",id:"text"},[s("text",{x:"15",y:"33","text-anchor":"middle",fill:"white"},"R"),s("text",{x:"50",y:"95","text-anchor":"middle",fill:"white"},"B"),s("text",{x:"85",y:"33","text-anchor":"middle",fill:"white"},"G")],-1)),_(o,{transform:"scale(0.7) translate(21,12)",color:t.rgb,y:46},null,8,["color"])]))],4)}}};export{O as _}; diff --git a/assets/chunks/ColorSvgInfo.BFWu7aKt.js b/assets/chunks/ColorSvgInfo.DpJZE_IJ.js similarity index 89% rename from assets/chunks/ColorSvgInfo.BFWu7aKt.js rename to assets/chunks/ColorSvgInfo.DpJZE_IJ.js index 571c63c24c..046cd4d91e 100644 --- a/assets/chunks/ColorSvgInfo.BFWu7aKt.js +++ b/assets/chunks/ColorSvgInfo.DpJZE_IJ.js @@ -1 +1 @@ -import{c as i,ae as y,x as r,y as x,G as u,E as c,z as m,P as l,A as f,I as v}from"./framework.BR0mAPCP.js";import{M as b}from"./theme.ClagsQLu.js";const _={__name:"ColorCopy",props:{text:String},setup(e){const n=e,t=i(()=>n.text),{copy:d,copied:s}=y({source:t});return(o,p)=>(r(),x("tspan",{class:m(["font-mono cursor-pointer",{active:c(s)}]),onMousedown:p[0]||(p[0]=h=>c(d)())},u(e.text)+" "+u(c(s)?"copied!":""),35))}},g=["x","y","fill"],C={class:"font-bold text-4px",x:"50",dy:"5"},a=4.8,$={__name:"ColorSvgInfo",props:{color:{type:[String,Object]},x:{type:Number,default:36},y:{type:Number,default:48}},setup(e){const n=e,t=i(()=>b(n.color));return(d,s)=>{const o=_;return r(),x("g",null,[t.value?(r(),x("text",{key:0,x:e.x,y:e.y,"font-size":"2.6","text-anchor":"middle",fill:t.value.dark?"#FFF":"#000"},[l(o,{class:"font-bold text-3px",x:"51",dy:"1",text:t.value.hex},null,8,["text"]),f("tspan",C,u(t.value.name),1),l(o,{x:"51",dy:a+3,text:t.value.rgb},null,8,["dy","text"]),l(o,{x:"51",dy:a,text:t.value.hsl},null,8,["text"]),l(o,{x:"51",dy:a,text:` lab(${t.value.lab.l}, ${t.value.lab.a}, ${t.value.lab.b})`},null,8,["text"]),l(o,{x:"51",dy:a,text:t.value.cmyk.slice(7)},null,8,["text"])],8,g)):v("",!0)])}}};export{$ as _}; +import{c as i,ae as y,x as r,y as x,G as u,E as c,z as m,P as l,A as f,I as v}from"./framework.CQBrk0Ry.js";import{M as b}from"./theme.Dd_Fb62b.js";const _={__name:"ColorCopy",props:{text:String},setup(e){const n=e,t=i(()=>n.text),{copy:d,copied:s}=y({source:t});return(o,p)=>(r(),x("tspan",{class:m(["font-mono cursor-pointer",{active:c(s)}]),onMousedown:p[0]||(p[0]=h=>c(d)())},u(e.text)+" "+u(c(s)?"copied!":""),35))}},g=["x","y","fill"],C={class:"font-bold text-4px",x:"50",dy:"5"},a=4.8,$={__name:"ColorSvgInfo",props:{color:{type:[String,Object]},x:{type:Number,default:36},y:{type:Number,default:48}},setup(e){const n=e,t=i(()=>b(n.color));return(d,s)=>{const o=_;return r(),x("g",null,[t.value?(r(),x("text",{key:0,x:e.x,y:e.y,"font-size":"2.6","text-anchor":"middle",fill:t.value.dark?"#FFF":"#000"},[l(o,{class:"font-bold text-3px",x:"51",dy:"1",text:t.value.hex},null,8,["text"]),f("tspan",C,u(t.value.name),1),l(o,{x:"51",dy:a+3,text:t.value.rgb},null,8,["dy","text"]),l(o,{x:"51",dy:a,text:t.value.hsl},null,8,["text"]),l(o,{x:"51",dy:a,text:` lab(${t.value.lab.l}, ${t.value.lab.a}, ${t.value.lab.b})`},null,8,["text"]),l(o,{x:"51",dy:a,text:t.value.cmyk.slice(7)},null,8,["text"])],8,g)):v("",!0)])}}};export{$ as _}; diff --git a/assets/chunks/ControlChoose.DP3MWJaC.js b/assets/chunks/ControlChoose.BsTgxhCE.js similarity index 88% rename from assets/chunks/ControlChoose.DP3MWJaC.js rename to assets/chunks/ControlChoose.BsTgxhCE.js index 71181ebf2b..d446f2c473 100644 --- a/assets/chunks/ControlChoose.DP3MWJaC.js +++ b/assets/chunks/ControlChoose.BsTgxhCE.js @@ -1 +1 @@ -import{q as i,x as t,y as s,F as m,B as u,z as _,G as d}from"./framework.BR0mAPCP.js";const p={class:"flex flex-wrap m-1"},f=["onClick"],x={__name:"ControlChoose",props:{modelValue:{type:[String,Number]},variants:{type:Object,default:{one:"1",two:"2"}}},emits:["update:modelValue"],setup(o,{emit:n}){const l=n;function c(a){l("update:modelValue",a)}return(a,k)=>(t(),s("div",p,[(t(!0),s(m,null,u(o.variants,(r,e)=>(t(),s("div",{class:_(["btn",{active:o.modelValue==e}]),key:e,onClick:v=>c(e)},d(r),11,f))),128))]))}},C=i(x,[["__scopeId","data-v-9f866b89"]]);export{C as _}; +import{q as i,x as t,y as s,F as m,B as u,z as _,G as d}from"./framework.CQBrk0Ry.js";const p={class:"flex flex-wrap m-1"},f=["onClick"],x={__name:"ControlChoose",props:{modelValue:{type:[String,Number]},variants:{type:Object,default:{one:"1",two:"2"}}},emits:["update:modelValue"],setup(o,{emit:n}){const l=n;function c(a){l("update:modelValue",a)}return(a,k)=>(t(),s("div",p,[(t(!0),s(m,null,u(o.variants,(r,e)=>(t(),s("div",{class:_(["btn",{active:o.modelValue==e}]),key:e,onClick:v=>c(e)},d(r),11,f))),128))]))}},C=i(x,[["__scopeId","data-v-9f866b89"]]);export{C as _}; diff --git a/assets/chunks/ControlStart.BWsORrv6.js b/assets/chunks/ControlStart.BGN7YlXy.js similarity index 54% rename from assets/chunks/ControlStart.BWsORrv6.js rename to assets/chunks/ControlStart.BGN7YlXy.js index e5e694cea6..141f71aca1 100644 --- a/assets/chunks/ControlStart.BWsORrv6.js +++ b/assets/chunks/ControlStart.BGN7YlXy.js @@ -1 +1 @@ -import{x as o,y as n,J as s,au as r,q as a}from"./framework.BR0mAPCP.js";const _={class:"button"};function c(e,t){return o(),n("button",_,[s(e.$slots,"default",{},()=>[t[0]||(t[0]=r("Start"))],!0)])}const d={},l=a(d,[["render",c],["__scopeId","data-v-fb351d24"]]);export{l as _}; +import{x as o,y as n,J as s,au as r,q as a}from"./framework.CQBrk0Ry.js";const _={class:"button"};function c(e,t){return o(),n("button",_,[s(e.$slots,"default",{},()=>[t[0]||(t[0]=r("Start"))],!0)])}const d={},l=a(d,[["render",c],["__scopeId","data-v-fb351d24"]]);export{l as _}; diff --git a/assets/chunks/ElemPlayground.CCHAJRGB.js b/assets/chunks/ElemPlayground.XTYnHOnI.js similarity index 55% rename from assets/chunks/ElemPlayground.CCHAJRGB.js rename to assets/chunks/ElemPlayground.XTYnHOnI.js index 6a4442a7d9..02d23f6c1a 100644 --- a/assets/chunks/ElemPlayground.CCHAJRGB.js +++ b/assets/chunks/ElemPlayground.XTYnHOnI.js @@ -1 +1 @@ -import{ar as a,as as m}from"./theme.ClagsQLu.js";import{r as d,x as v,y as w,A as x,G as y}from"./framework.BR0mAPCP.js";const b={class:"flex items-center justify-center h-screen"},C={__name:"ElemPlayground",setup(A){const r=d(!1),i=d(!1);let n,s;async function c(){if(r.value)return;n=new(window.AudioContext||window.webkitAudioContext),s=new m,(await s.initialize(n,{numberOfInputs:1,numberOfOutputs:1,outputChannelCount:[2]})).connect(n.destination),r.value=!0}let t;async function f(){r.value||await c(),n.state==="suspended"&&await n.resume();const[u,e]=s.createRef("const",{value:0},[]);t=e;const o=a.mul(a.smooth(a.tau2pole(.01),u),a.cycle(220));s.render(o,o),i.value=!0}function p(){i.value||f(),t==null||t({value:.2})}function l(){t==null||t({value:0})}return(u,e)=>(v(),w("div",b,[x("button",{class:"text-2xl p-4 cursor-pointer",onPointerdown:e[0]||(e[0]=o=>p()),onPointerup:e[1]||(e[1]=o=>l()),onPointerleave:e[2]||(e[2]=o=>l())},y(i.value?"Press to play sound":"Start"),33)]))}};export{C as default}; +import{at as s,au as m}from"./theme.Dd_Fb62b.js";import{r as d,x as v,y as w,A as x,G as y}from"./framework.CQBrk0Ry.js";const b={class:"flex items-center justify-center h-screen"},C={__name:"ElemPlayground",setup(A){const r=d(!1),i=d(!1);let n,a;async function c(){if(r.value)return;n=new(window.AudioContext||window.webkitAudioContext),a=new m,(await a.initialize(n,{numberOfInputs:1,numberOfOutputs:1,outputChannelCount:[2]})).connect(n.destination),r.value=!0}let t;async function f(){r.value||await c(),n.state==="suspended"&&await n.resume();const[u,e]=a.createRef("const",{value:0},[]);t=e;const o=s.mul(s.smooth(s.tau2pole(.01),u),s.cycle(220));a.render(o,o),i.value=!0}function p(){i.value||f(),t==null||t({value:.2})}function l(){t==null||t({value:0})}return(u,e)=>(v(),w("div",b,[x("button",{class:"text-2xl p-4 cursor-pointer",onPointerdown:e[0]||(e[0]=o=>p()),onPointerup:e[1]||(e[1]=o=>l()),onPointerleave:e[2]||(e[2]=o=>l())},y(i.value?"Press to play sound":"Start"),33)]))}};export{C as default}; diff --git a/assets/chunks/ExtractColors.DIWIshGv.js b/assets/chunks/ExtractColors.C0JFqtvh.js similarity index 98% rename from assets/chunks/ExtractColors.DIWIshGv.js rename to assets/chunks/ExtractColors.C0JFqtvh.js index 5b6c05102c..51c6423342 100644 --- a/assets/chunks/ExtractColors.DIWIshGv.js +++ b/assets/chunks/ExtractColors.C0JFqtvh.js @@ -1 +1 @@ -import{al as gt}from"./theme.ClagsQLu.js";import{ae as mt,x as p,y as b,A as l,P as ft,E as m,V as pt,I as U,F as G,B as O,H as z,G as V,r as A,u as J,aS as bt,c as vt,d as xt,ad as wt,aT as yt}from"./framework.BR0mAPCP.js";const Ct=64e3,Dt=.22,Et=1/12,Mt=1/5,Lt=1/5,F=({pixels:e=Ct,distance:t=Dt,colorValidator:s=(h,u,_,f)=>(f??255)>250,hueDistance:n=Et,saturationDistance:o=Lt,lightnessDistance:a=Mt,crossOrigin:r="",requestMode:i="cors"}={})=>[Math.max(e,1),Math.min(Math.max(t,0),1),s,Math.min(Math.max(n,0),1),Math.min(Math.max(o,0),1),Math.min(Math.max(a,0),1),r,i];class S{constructor(t,s,n,o=t<<16|s<<8|n){this._count=1,this.__saturation=-1,this.__hue=-1,this.__lightness=-1,this.__intensity=-1,this._red=t,this._green=s,this._blue=n,this._hex=o}static distance(t,s){return(Math.abs(s._red-t._red)+Math.abs(s._green-t._green)+Math.abs(s._blue-t._blue))/(3*255)}clone(){const t=new S(this._red,this._green,this._blue,this._hex);return t._count=this._count,t}updateHSL(){const t=this._red/255,s=this._green/255,n=this._blue/255,o=Math.max(t,s,n),a=Math.min(t,s,n);if(this.__lightness=(o+a)/2,o===a)this.__hue=0,this.__saturation=0,this.__intensity=0;else{const r=o-a;switch(this.__saturation=this.__lightness>.5?r/(2-o-a):r/(o+a),this.__intensity=this.__saturation*((.5-Math.abs(.5-this.__lightness))*2),o){case t:this.__hue=((s-n)/r+(sthis._children[t])}createMainColor(){const n=this.getList().reduce((o,a)=>o._count>=a._count?o:a).clone();return n._count=this._count,n}}class kt{constructor(){this._count=0,this._children={}}getList(){return Object.keys(this._children).map(t=>this._children[t])}addColor(t,s,n){const o=t<<16|s<<8|n,a=(t>>4&15)<<8|(s>>4&15)<<4|n>>4&15;return this._count++,this.getLeafGroup(a).addColor(o,t,s,n)}getLeafGroup(t){return this._children[t]||(this._children[t]=new It),this._children[t]}getColors(t){const s=this.getList().map(o=>o.createMainColor());s.sort((o,a)=>a._count-o._count);const n=[];for(;s.length;){const o=s.shift();s.filter(a=>S.distance(o,a){o._count+=a._count;const r=s.findIndex(i=>i===a);s.splice(r,1)}),n.push(o)}return n}}const N=({data:e,width:t,height:s},n,o,a)=>{const r=new kt,i=t&&s&&Math.floor(t*s/n)||1;let h=0;for(let u=0;uMath.abs(e-t),St=(e,t)=>Math.min(R(e,t),R((e+.5)%1,(t+.5)%1));class Ut{constructor(){this.colors=[],this._average=null}addColor(t){this.colors.push(t),this._average=null}isSamePalette(t,s,n,o){for(const a of this.colors)if(!(St(a._hue,t._hue)(a.r+=r._red,a.g+=r._green,a.b+=r._blue,a),{r:0,g:0,b:0}),o=this.colors.reduce((a,r)=>a+r._count,0);this._average=new S(Math.round(t/this.colors.length),Math.round(s/this.colors.length),Math.round(n/this.colors.length)),this._average._count=o}return this._average}}class At{constructor(t,s,n){this._groups=[],this._hue=t,this._saturation=s,this._lightness=n}addColor(t){const s=this._groups.find(n=>n.isSamePalette(t,this._hue,this._saturation,this._lightness));if(s)s.addColor(t);else{const n=new Ut;n.addColor(t),this._groups.push(n)}}getGroups(){return this._groups.map(t=>t.average)}}const Rt=(e,t,s,n,o)=>{const a=new At(s,n,o);e.forEach(i=>a.addColor(i));const r=a.getGroups();return r.sort((i,h)=>{const u=(h._intensity+.1)*(.9-h._count/t),_=(i._intensity+.1)*(.9-i._count/t);return u-_}),r},Ft=(e,t)=>({hex:`#${"0".repeat(6-e._hex.toString(16).length)}${e._hex.toString(16)}`,red:e._red,green:e._green,blue:e._blue,area:e._count/t,hue:e._hue,saturation:e._saturation,lightness:e._lightness,intensity:e._intensity}),Pt=()=>typeof window<"u"&&typeof window.document<"u",B=()=>typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",P=()=>typeof window>"u"&&typeof process<"u"&&process.versions!=null&&process.versions.node!=null,X=(e,t,s,n,o)=>Rt(e,t,s,n,o).map(r=>Ft(r,t)),K=(e,t)=>{const s=e.width*e.height,n=s{if(B())return new OffscreenCanvas(i,h);const u=document.createElement("canvas");return u.width=i,u.height=h,u})(n,o).getContext("2d");return r.drawImage(e,0,0,e.width,e.height,0,0,n,o),r.getImageData(0,0,n,o)},H=(e,t={})=>{const[s,n,o,a,r,i]=F(t),{colors:h,count:u}=N(e,s,n,o);return X(h,u,a,r,i)},Q=async(e,t={})=>{if(P())return[];const[s,n,o,a,r,i,h]=F(t);return e.crossOrigin=h,new Promise(u=>{const _=f=>{const L=K(f,s),{colors:v,count:T}=N(L,s,n,o);u(X(v,T,a,r,i))};if(e.complete)_(e);else{const f=()=>{e.removeEventListener("load",f),_(e)};e.addEventListener("load",f)}})},Tt=async(e,t={})=>{if(P())return[];const[s,n,o,a,r,i]=F(t),h=K(e,s),{colors:u,count:_}=N(h,s,n,o);return X(u,_,a,r,i)},j=async(e,t={})=>{if(P())return[];if(B()){const n=F(t),a=await(await fetch(e,{mode:n[7]})).blob(),r=await createImageBitmap(a),i=await Tt(r,t);return r.close(),i}const s=new Image;return s.src=e,Q(s,t)},Gt=(e,t)=>{if(Pt()){if(e instanceof Image)return Q(e,t);if(e instanceof ImageData||e instanceof Object&&e.data)return new Promise(s=>{s(H(e,t))});if(typeof e=="string")return j(e,t)}if(B()){if(e instanceof ImageData||e instanceof Object&&e.data)return new Promise(s=>{s(H(e,t))});if(typeof e=="string")return j(e,t);if(e.src)return j(e.src,t)}if(P())return new Promise(s=>{s(H(e,t))});throw new Error("Can not analyse picture")},Ot={class:"container mx-auto p-4"},Vt={class:"mb-4 flex items-center flex-wrap gap-4"},Ht={key:0,class:"mt-4"},jt=["src"],Nt={key:1,class:"mt-4"},Bt={key:2,class:"mt-4"},Xt={class:"flex flex-wrap gap-4"},$t={class:"absolute inset-0 flex items-center justify-center bg-black bg-opacity-50 opacity-0 group-hover-opacity-100 transition-opacity"},qt=["onClick"],Wt={class:"bg-white bg-opacity-75 p-1 text-xs"},zt={class:"mt-8"},Jt={class:"flex gap-2 mb-4"},Kt=["disabled"],Qt=["disabled"],Yt={class:"flex flex-wrap"},Zt={class:"flex items-center gap-4 h-32"},te=["src"],ee={class:"flex flex-wrap gap-1 z-10"},se={class:"text-sm text-gray-500"},re={__name:"ExtractColors",setup(e){const t=(g=7)=>{const c=A(null),D=A([]),d=A([]),x=A(!1),y=J("color-extracts",g),E=J("color-palettes",[]),{history:nt,undo:ot,redo:at,canUndo:rt,canRedo:it}=bt(E,{deep:!0,debounce:1e3}),ct=async(w,C=32)=>new Promise(k=>{const q=new FileReader;q.onload=dt=>{const M=new Image;M.onload=()=>{const I=document.createElement("canvas"),_t=I.getContext("2d"),W=C/Math.max(M.width,M.height);I.width=Math.min(C,M.width*W),I.height=Math.min(C,M.height*W),_t.drawImage(M,0,0,I.width,I.height),k(I.toDataURL("image/jpeg",.7))},M.src=dt.target.result},q.readAsDataURL(w)}),lt=async w=>{if(!w)return;x.value=!0,c.value=URL.createObjectURL(w);const C=await ct(w);try{d.value=await Gt(c.value,{pixels:64e3,distance:.12,saturationDistance:.2,lightnessDistance:.2,hueDistance:.1}),$();const k={colors:D.value,timestamp:Date.now(),amount:y.value,thumbnail:C};E.value.unshift(k)}catch(k){console.error("Error extracting colors:",k)}finally{x.value=!1}},$=()=>{D.value=d.value.slice(0,y.value)},ut=yt(()=>{var C;$();const w={colors:D.value,timestamp:Date.now(),amount:y.value,thumbnail:(C=E.value[0])==null?void 0:C.thumbnail};E.value.unshift(w)},300),ht=vt(()=>D.value.map(w=>({backgroundColor:w.hex})));return xt(y,()=>{d.value.length>0&&ut()}),{imageUrl:c,colors:D,isLoading:x,extractColorsFromImage:lt,colorStyles:ht,storedPalettes:E,history:nt,undo:ot,redo:at,canUndo:rt,canRedo:it,amount:y}},{imageUrl:s,colors:n,isLoading:o,extractColorsFromImage:a,colorStyles:r,storedPalettes:i,history:h,undo:u,redo:_,canUndo:f,canRedo:L,amount:v}=t(),T=g=>{const c=g.target.files[0];c&&a(c)};function Y(){i.value=[]}const{copy:Z,copied:ne}=mt(),tt=g=>wt(g).value,et=()=>{if(u(),i.value.length>0){const g=i.value[0];n.value=g.colors,v.value=g.amount}},st=()=>{if(_(),i.value.length>0){const g=i.value[0];n.value=g.colors,v.value=g.amount}};return(g,c)=>{const D=gt;return p(),b("div",Ot,[l("div",Vt,[c[1]||(c[1]=l("label",{class:"block mb-2",for:"imageUpload"},"Upload an image",-1)),l("input",{class:"hidden",id:"imageUpload",type:"file",accept:"image/*",onChange:T},null,32),c[2]||(c[2]=l("label",{class:"bg-blue-500 hover-bg-blue-600 text-white font-bold py-2 px-4 rounded cursor-pointer",for:"imageUpload"},"Select Image",-1)),c[3]||(c[3]=l("div",{class:"mt-4 space-y-4"},null,-1)),ft(D,{modelValue:m(v),"onUpdate:modelValue":c[0]||(c[0]=d=>pt(v)?v.value=d:null),min:2,max:12,step:1,param:"COLORS",fixed:0},null,8,["modelValue"])]),m(s)?(p(),b("div",Ht,[l("img",{class:"max-w-100 h-auto rounded shadow-lg",src:m(s),alt:"Uploaded image"},null,8,jt)])):U("",!0),m(o)?(p(),b("div",Nt,c[4]||(c[4]=[l("p",{class:"text-gray-600"},"Extracting colors...",-1)]))):U("",!0),m(n).length?(p(),b("div",Bt,[c[5]||(c[5]=l("h2",{class:"text-xl font-bold mb-2"},"Extracted Colors",-1)),l("div",Xt,[(p(!0),b(G,null,O(m(r),(d,x)=>(p(),b("div",{class:"w-24 h-24 rounded shadow-md relative group",key:x,style:z(d)},[l("div",$t,[l("button",{class:"text-white bg-gray-800 px-2 py-1 rounded",onClick:y=>m(Z)(m(n)[x].hex)},"Copy HEX",8,qt)]),l("div",Wt,V(m(n)[x].hex),1)],4))),128))])])):U("",!0),l("div",zt,[c[6]||(c[6]=l("h2",{class:"text-xl font-bold mb-2"},"Color Palette History",-1)),l("div",Jt,[l("button",{class:"bg-blue-500 hover-bg-blue-600 text-white font-bold py-1 px-3 rounded",disabled:!m(f),onClick:et},"Undo",8,Kt),l("button",{class:"bg-blue-500 hover-bg-blue-600 text-white font-bold py-1 px-3 rounded",disabled:!m(L),onClick:st},"Redo",8,Qt),l("button",{class:"bg-red-500 hover-bg-blue-600 text-white font-bold py-1 px-3 rounded",onClick:Y},"Clear")]),l("div",Yt,[(p(!0),b(G,null,O(m(i),(d,x)=>(p(),b("div",{class:"flex flex-col gap-2",key:x},[l("div",Zt,[d.thumbnail?(p(),b("img",{key:0,class:"max-w-16 max-h-16 blur-2px object-cover rounded",src:d.thumbnail,alt:"Palette thumbnail"},null,8,te)):U("",!0),l("div",ee,[(p(!0),b(G,null,O(d.colors,(y,E)=>(p(),b("div",{class:"p-4 rounded shadow-sm",key:E,style:z({backgroundColor:y.hex})},null,4))),128))])]),l("div",se,V(tt(d.timestamp))+" - Amount: "+V(d.amount),1)]))),128))])])])}}};export{re as default}; +import{an as gt}from"./theme.Dd_Fb62b.js";import{ae as mt,x as p,y as b,A as l,P as ft,E as m,V as pt,I as U,F as G,B as O,H as z,G as V,r as A,u as J,aS as bt,c as vt,d as xt,ad as wt,aT as yt}from"./framework.CQBrk0Ry.js";const Ct=64e3,Dt=.22,Et=1/12,Mt=1/5,Lt=1/5,F=({pixels:e=Ct,distance:t=Dt,colorValidator:s=(h,u,_,f)=>(f??255)>250,hueDistance:n=Et,saturationDistance:o=Lt,lightnessDistance:a=Mt,crossOrigin:r="",requestMode:i="cors"}={})=>[Math.max(e,1),Math.min(Math.max(t,0),1),s,Math.min(Math.max(n,0),1),Math.min(Math.max(o,0),1),Math.min(Math.max(a,0),1),r,i];class S{constructor(t,s,n,o=t<<16|s<<8|n){this._count=1,this.__saturation=-1,this.__hue=-1,this.__lightness=-1,this.__intensity=-1,this._red=t,this._green=s,this._blue=n,this._hex=o}static distance(t,s){return(Math.abs(s._red-t._red)+Math.abs(s._green-t._green)+Math.abs(s._blue-t._blue))/(3*255)}clone(){const t=new S(this._red,this._green,this._blue,this._hex);return t._count=this._count,t}updateHSL(){const t=this._red/255,s=this._green/255,n=this._blue/255,o=Math.max(t,s,n),a=Math.min(t,s,n);if(this.__lightness=(o+a)/2,o===a)this.__hue=0,this.__saturation=0,this.__intensity=0;else{const r=o-a;switch(this.__saturation=this.__lightness>.5?r/(2-o-a):r/(o+a),this.__intensity=this.__saturation*((.5-Math.abs(.5-this.__lightness))*2),o){case t:this.__hue=((s-n)/r+(sthis._children[t])}createMainColor(){const n=this.getList().reduce((o,a)=>o._count>=a._count?o:a).clone();return n._count=this._count,n}}class kt{constructor(){this._count=0,this._children={}}getList(){return Object.keys(this._children).map(t=>this._children[t])}addColor(t,s,n){const o=t<<16|s<<8|n,a=(t>>4&15)<<8|(s>>4&15)<<4|n>>4&15;return this._count++,this.getLeafGroup(a).addColor(o,t,s,n)}getLeafGroup(t){return this._children[t]||(this._children[t]=new It),this._children[t]}getColors(t){const s=this.getList().map(o=>o.createMainColor());s.sort((o,a)=>a._count-o._count);const n=[];for(;s.length;){const o=s.shift();s.filter(a=>S.distance(o,a){o._count+=a._count;const r=s.findIndex(i=>i===a);s.splice(r,1)}),n.push(o)}return n}}const N=({data:e,width:t,height:s},n,o,a)=>{const r=new kt,i=t&&s&&Math.floor(t*s/n)||1;let h=0;for(let u=0;uMath.abs(e-t),St=(e,t)=>Math.min(R(e,t),R((e+.5)%1,(t+.5)%1));class Ut{constructor(){this.colors=[],this._average=null}addColor(t){this.colors.push(t),this._average=null}isSamePalette(t,s,n,o){for(const a of this.colors)if(!(St(a._hue,t._hue)(a.r+=r._red,a.g+=r._green,a.b+=r._blue,a),{r:0,g:0,b:0}),o=this.colors.reduce((a,r)=>a+r._count,0);this._average=new S(Math.round(t/this.colors.length),Math.round(s/this.colors.length),Math.round(n/this.colors.length)),this._average._count=o}return this._average}}class At{constructor(t,s,n){this._groups=[],this._hue=t,this._saturation=s,this._lightness=n}addColor(t){const s=this._groups.find(n=>n.isSamePalette(t,this._hue,this._saturation,this._lightness));if(s)s.addColor(t);else{const n=new Ut;n.addColor(t),this._groups.push(n)}}getGroups(){return this._groups.map(t=>t.average)}}const Rt=(e,t,s,n,o)=>{const a=new At(s,n,o);e.forEach(i=>a.addColor(i));const r=a.getGroups();return r.sort((i,h)=>{const u=(h._intensity+.1)*(.9-h._count/t),_=(i._intensity+.1)*(.9-i._count/t);return u-_}),r},Ft=(e,t)=>({hex:`#${"0".repeat(6-e._hex.toString(16).length)}${e._hex.toString(16)}`,red:e._red,green:e._green,blue:e._blue,area:e._count/t,hue:e._hue,saturation:e._saturation,lightness:e._lightness,intensity:e._intensity}),Pt=()=>typeof window<"u"&&typeof window.document<"u",B=()=>typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",P=()=>typeof window>"u"&&typeof process<"u"&&process.versions!=null&&process.versions.node!=null,X=(e,t,s,n,o)=>Rt(e,t,s,n,o).map(r=>Ft(r,t)),K=(e,t)=>{const s=e.width*e.height,n=s{if(B())return new OffscreenCanvas(i,h);const u=document.createElement("canvas");return u.width=i,u.height=h,u})(n,o).getContext("2d");return r.drawImage(e,0,0,e.width,e.height,0,0,n,o),r.getImageData(0,0,n,o)},H=(e,t={})=>{const[s,n,o,a,r,i]=F(t),{colors:h,count:u}=N(e,s,n,o);return X(h,u,a,r,i)},Q=async(e,t={})=>{if(P())return[];const[s,n,o,a,r,i,h]=F(t);return e.crossOrigin=h,new Promise(u=>{const _=f=>{const L=K(f,s),{colors:v,count:T}=N(L,s,n,o);u(X(v,T,a,r,i))};if(e.complete)_(e);else{const f=()=>{e.removeEventListener("load",f),_(e)};e.addEventListener("load",f)}})},Tt=async(e,t={})=>{if(P())return[];const[s,n,o,a,r,i]=F(t),h=K(e,s),{colors:u,count:_}=N(h,s,n,o);return X(u,_,a,r,i)},j=async(e,t={})=>{if(P())return[];if(B()){const n=F(t),a=await(await fetch(e,{mode:n[7]})).blob(),r=await createImageBitmap(a),i=await Tt(r,t);return r.close(),i}const s=new Image;return s.src=e,Q(s,t)},Gt=(e,t)=>{if(Pt()){if(e instanceof Image)return Q(e,t);if(e instanceof ImageData||e instanceof Object&&e.data)return new Promise(s=>{s(H(e,t))});if(typeof e=="string")return j(e,t)}if(B()){if(e instanceof ImageData||e instanceof Object&&e.data)return new Promise(s=>{s(H(e,t))});if(typeof e=="string")return j(e,t);if(e.src)return j(e.src,t)}if(P())return new Promise(s=>{s(H(e,t))});throw new Error("Can not analyse picture")},Ot={class:"container mx-auto p-4"},Vt={class:"mb-4 flex items-center flex-wrap gap-4"},Ht={key:0,class:"mt-4"},jt=["src"],Nt={key:1,class:"mt-4"},Bt={key:2,class:"mt-4"},Xt={class:"flex flex-wrap gap-4"},$t={class:"absolute inset-0 flex items-center justify-center bg-black bg-opacity-50 opacity-0 group-hover-opacity-100 transition-opacity"},qt=["onClick"],Wt={class:"bg-white bg-opacity-75 p-1 text-xs"},zt={class:"mt-8"},Jt={class:"flex gap-2 mb-4"},Kt=["disabled"],Qt=["disabled"],Yt={class:"flex flex-wrap"},Zt={class:"flex items-center gap-4 h-32"},te=["src"],ee={class:"flex flex-wrap gap-1 z-10"},se={class:"text-sm text-gray-500"},re={__name:"ExtractColors",setup(e){const t=(g=7)=>{const c=A(null),D=A([]),d=A([]),x=A(!1),y=J("color-extracts",g),E=J("color-palettes",[]),{history:nt,undo:ot,redo:at,canUndo:rt,canRedo:it}=bt(E,{deep:!0,debounce:1e3}),ct=async(w,C=32)=>new Promise(k=>{const q=new FileReader;q.onload=dt=>{const M=new Image;M.onload=()=>{const I=document.createElement("canvas"),_t=I.getContext("2d"),W=C/Math.max(M.width,M.height);I.width=Math.min(C,M.width*W),I.height=Math.min(C,M.height*W),_t.drawImage(M,0,0,I.width,I.height),k(I.toDataURL("image/jpeg",.7))},M.src=dt.target.result},q.readAsDataURL(w)}),lt=async w=>{if(!w)return;x.value=!0,c.value=URL.createObjectURL(w);const C=await ct(w);try{d.value=await Gt(c.value,{pixels:64e3,distance:.12,saturationDistance:.2,lightnessDistance:.2,hueDistance:.1}),$();const k={colors:D.value,timestamp:Date.now(),amount:y.value,thumbnail:C};E.value.unshift(k)}catch(k){console.error("Error extracting colors:",k)}finally{x.value=!1}},$=()=>{D.value=d.value.slice(0,y.value)},ut=yt(()=>{var C;$();const w={colors:D.value,timestamp:Date.now(),amount:y.value,thumbnail:(C=E.value[0])==null?void 0:C.thumbnail};E.value.unshift(w)},300),ht=vt(()=>D.value.map(w=>({backgroundColor:w.hex})));return xt(y,()=>{d.value.length>0&&ut()}),{imageUrl:c,colors:D,isLoading:x,extractColorsFromImage:lt,colorStyles:ht,storedPalettes:E,history:nt,undo:ot,redo:at,canUndo:rt,canRedo:it,amount:y}},{imageUrl:s,colors:n,isLoading:o,extractColorsFromImage:a,colorStyles:r,storedPalettes:i,history:h,undo:u,redo:_,canUndo:f,canRedo:L,amount:v}=t(),T=g=>{const c=g.target.files[0];c&&a(c)};function Y(){i.value=[]}const{copy:Z,copied:ne}=mt(),tt=g=>wt(g).value,et=()=>{if(u(),i.value.length>0){const g=i.value[0];n.value=g.colors,v.value=g.amount}},st=()=>{if(_(),i.value.length>0){const g=i.value[0];n.value=g.colors,v.value=g.amount}};return(g,c)=>{const D=gt;return p(),b("div",Ot,[l("div",Vt,[c[1]||(c[1]=l("label",{class:"block mb-2",for:"imageUpload"},"Upload an image",-1)),l("input",{class:"hidden",id:"imageUpload",type:"file",accept:"image/*",onChange:T},null,32),c[2]||(c[2]=l("label",{class:"bg-blue-500 hover-bg-blue-600 text-white font-bold py-2 px-4 rounded cursor-pointer",for:"imageUpload"},"Select Image",-1)),c[3]||(c[3]=l("div",{class:"mt-4 space-y-4"},null,-1)),ft(D,{modelValue:m(v),"onUpdate:modelValue":c[0]||(c[0]=d=>pt(v)?v.value=d:null),min:2,max:12,step:1,param:"COLORS",fixed:0},null,8,["modelValue"])]),m(s)?(p(),b("div",Ht,[l("img",{class:"max-w-100 h-auto rounded shadow-lg",src:m(s),alt:"Uploaded image"},null,8,jt)])):U("",!0),m(o)?(p(),b("div",Nt,c[4]||(c[4]=[l("p",{class:"text-gray-600"},"Extracting colors...",-1)]))):U("",!0),m(n).length?(p(),b("div",Bt,[c[5]||(c[5]=l("h2",{class:"text-xl font-bold mb-2"},"Extracted Colors",-1)),l("div",Xt,[(p(!0),b(G,null,O(m(r),(d,x)=>(p(),b("div",{class:"w-24 h-24 rounded shadow-md relative group",key:x,style:z(d)},[l("div",$t,[l("button",{class:"text-white bg-gray-800 px-2 py-1 rounded",onClick:y=>m(Z)(m(n)[x].hex)},"Copy HEX",8,qt)]),l("div",Wt,V(m(n)[x].hex),1)],4))),128))])])):U("",!0),l("div",zt,[c[6]||(c[6]=l("h2",{class:"text-xl font-bold mb-2"},"Color Palette History",-1)),l("div",Jt,[l("button",{class:"bg-blue-500 hover-bg-blue-600 text-white font-bold py-1 px-3 rounded",disabled:!m(f),onClick:et},"Undo",8,Kt),l("button",{class:"bg-blue-500 hover-bg-blue-600 text-white font-bold py-1 px-3 rounded",disabled:!m(L),onClick:st},"Redo",8,Qt),l("button",{class:"bg-red-500 hover-bg-blue-600 text-white font-bold py-1 px-3 rounded",onClick:Y},"Clear")]),l("div",Yt,[(p(!0),b(G,null,O(m(i),(d,x)=>(p(),b("div",{class:"flex flex-col gap-2",key:x},[l("div",Zt,[d.thumbnail?(p(),b("img",{key:0,class:"max-w-16 max-h-16 blur-2px object-cover rounded",src:d.thumbnail,alt:"Palette thumbnail"},null,8,te)):U("",!0),l("div",ee,[(p(!0),b(G,null,O(d.colors,(y,E)=>(p(),b("div",{class:"p-4 rounded shadow-sm",key:E,style:z({backgroundColor:y.hex})},null,4))),128))])]),l("div",se,V(tt(d.timestamp))+" - Amount: "+V(d.amount),1)]))),128))])])])}}};export{re as default}; diff --git a/assets/chunks/FretboardTool.DwDU2glM.js b/assets/chunks/FretboardTool.CsxV3vww.js similarity index 86% rename from assets/chunks/FretboardTool.DwDU2glM.js rename to assets/chunks/FretboardTool.CsxV3vww.js index acf50a93af..05f4887db0 100644 --- a/assets/chunks/FretboardTool.DwDU2glM.js +++ b/assets/chunks/FretboardTool.CsxV3vww.js @@ -1 +1 @@ -import{q as B,u as S,b as I,d as M,c as p,x as o,y as r,A as s,C as y,O as N,E as l,F as c,B as d,G as m,ag as _}from"./framework.BR0mAPCP.js";import{aX as w,aY as C,e as U,c as V,I as $}from"./theme.ClagsQLu.js";const E={class:"flex flex-col"},O={class:"flex flex-wrap items-center m-auto"},T={class:"flex items-center px-4"},q=["value"],A={class:"flex items-center px-4"},D={class:"flex items-center px-4"},G={class:"flex flex-wrap"},j=["viewBox"],L=["x"],P=["x1","x2"],X=["y1","y2","x2"],Y=["x"],H=["cx","cy"],J=["cx","cy"],K=["cx","cy"],Q=["y1","y2","x2"],R=["y"],W=["x","y"],Z=["onClick"],ee=["cx","fill"],te=["x"],ne=["onClick"],se=["cy","cx","fill"],le=["x","y"],oe={__name:"FretboardTool",props:{instruments:{type:Object,default:()=>{}}},setup(v){const k=v,t=S("instrument-calc",{l:430,frets:27,title:"Ukulele",tuning:["C4","G4","E4","A4"]}),b=I([]);function h(a,n,e){U(a),b[e]=a}M(()=>t.value.title,a=>{const n=k.instruments[a];t.value.l=n.l,t.value.frets=n.frets,t.value.tuning=n.tuning});const F=p(()=>[3,5,7,9,12,15,17,19,21].filter(a=>a[12,24].filter(a=>a{let a=[];for(let n=1;n(o(),r("div",E,[s("div",O,[s("div",T,[n[3]||(n[3]=s("div",{class:"text-xl"},"Instrument",-1)),y(s("select",{class:"bg-transparent text-xl w-10rem m-2 p-2","onUpdate:modelValue":n[0]||(n[0]=e=>l(t).title=e)},[(o(!0),r(c,null,d(v.instruments,(e,i)=>(o(),r("option",{key:i,value:i},m(i),9,q))),128))],512),[[N,l(t).title]])]),s("div",A,[n[4]||(n[4]=s("div",{class:"text-xl"},"Scale length",-1)),y(s("input",{class:"bg-transparent text-2xl w-5rem m-2 p-2","onUpdate:modelValue":n[1]||(n[1]=e=>l(t).l=e),type:"number",inputmode:"numeric",pattern:"[0-9]*"},null,512),[[_,l(t).l]]),n[5]||(n[5]=s("div",{class:"text-xl"},"mm",-1))]),s("div",D,[n[6]||(n[6]=s("div",{class:"text-xl"},"Frets",-1)),y(s("input",{class:"bg-transparent text-2xl w-4rem m-2 p-2","onUpdate:modelValue":n[2]||(n[2]=e=>l(t).frets=e),type:"number",inputmode:"numeric",pattern:"[0-9]*"},null,512),[[_,l(t).frets]])])]),s("div",G,[(o(),r("svg",{class:"flex-1 max-h-3xl w-full strings",id:"fretboard",version:"1.1",baseProfile:"full",viewBox:`0 -60 ${l(t).tuning.length*40+100} 1100`,xmlns:"http://www.w3.org/2000/svg"},[s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"16px","font-weight":"bold","text-anchor":"middle","dominant-baseline":"middle",x:(l(t).tuning.length*40+65)/2,y:-40},m(l(t).title),9,L),(o(!0),r(c,null,d(l(t).tuning,(e,i)=>(o(),r("line",{class:"string",key:e,stroke:"currentColor","stroke-width":"1","stroke-linecap":"round",y1:0,x1:40*i+50,y2:1e3,x2:40*i+50},null,8,P))),128)),(o(),r(c,null,d([0,1e3],e=>s("line",{class:"end",key:e,stroke:"currentColor","stroke-width":"2","stroke-linecap":"round",y1:e,x1:10,y2:e,x2:l(t).tuning.length*40+55},null,8,X)),64)),s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"10px","font-weight":"normal","text-anchor":"left","dominant-baseline":"middle",x:l(t).tuning.length*40+20,y:990},m(l(t).l)+" mm",9,Y),(o(!0),r(c,null,d(F.value,e=>(o(),r("circle",{class:"inlay",key:e,fill:"currentColor",cx:(l(t).tuning.length*40+60)/2,cy:u.value[e-1]*1e3-(u.value[e-1]*1e3-u.value[e-2]*1e3)/2,r:4},null,8,H))),128)),(o(!0),r(c,null,d(z.value,e=>(o(),r("g",{key:e},[s("circle",{class:"inlay",fill:"currentColor",cx:(l(t).tuning.length*40+60)/2-5,cy:u.value[e-1]*1e3-(u.value[e-1]*1e3-u.value[e-2]*1e3)/2,r:4},null,8,J),s("circle",{class:"inlay",fill:"currentColor",cx:(l(t).tuning.length*40+60)/2+5,cy:u.value[e-1]*1e3-(u.value[e-1]*1e3-u.value[e-2]*1e3)/2,r:4},null,8,K)]))),128)),(o(!0),r(c,null,d(u.value,(e,i)=>(o(),r("g",{class:"fret",key:e},[s("line",{stroke:"gray","stroke-width":"1","stroke-linecap":"round",y1:e*1e3,x1:20,y2:e*1e3,x2:l(t).tuning.length*40+40},null,8,Q),s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"10px","font-weight":"normal","text-anchor":"middle","dominant-baseline":"middle",x:24,y:e*1e3-8},m(i+1),9,R),s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"10px","font-weight":"normal","text-anchor":"left","dominant-baseline":"middle",x:l(t).tuning.length*40+30,y:e*1e3-8},m((e*l(t).l).toFixed(2))+" mm",9,W)]))),128)),(o(!0),r(c,null,d(l(t).tuning,(e,i)=>(o(),r("g",{class:"note",key:e},[s("g",{onClick:x=>h(e,0,i)},[s("circle",{cy:-12,cx:i*40+50,r:12,fill:g(e,0)},null,8,ee),s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"white","font-family":"Commissioner, sans-serif","font-size":"10px","font-weight":"bold","text-anchor":"middle","dominant-baseline":"middle",x:i*40+50,y:-11},m(e),9,te)],8,Z),(o(!0),r(c,null,d(u.value,(x,f)=>(o(),r("g",{class:"note",key:x,onClick:re=>h(l(w).transpose(e,l(C).fromSemitones(f+1)),f,i)},[s("circle",{cy:x*1e3-12,cx:i*40+50,r:12,fill:g(e,f+1)},null,8,se),s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"white","font-family":"Commissioner, sans-serif","font-size":"10px","font-weight":"bold","text-anchor":"middle","dominant-baseline":"middle",x:i*40+50,y:x*1e3-11},m(l(w).transpose(e,l(C).fromSemitones(f+1))),9,le)],8,ne))),128))]))),128))],8,j))])]))}},ue=B(oe,[["__scopeId","data-v-2e844589"]]);export{ue as default}; +import{q as B,u as S,b as I,d as M,c as p,x as o,y as r,A as s,C as y,O as N,E as l,F as c,B as d,G as m,ag as _}from"./framework.CQBrk0Ry.js";import{a9 as w,aa as C,e as U,c as V,I as $}from"./theme.Dd_Fb62b.js";const E={class:"flex flex-col"},O={class:"flex flex-wrap items-center m-auto"},T={class:"flex items-center px-4"},q=["value"],A={class:"flex items-center px-4"},D={class:"flex items-center px-4"},G={class:"flex flex-wrap"},j=["viewBox"],L=["x"],P=["x1","x2"],H=["y1","y2","x2"],J=["x"],K=["cx","cy"],Q=["cx","cy"],R=["cx","cy"],W=["y1","y2","x2"],X=["y"],Y=["x","y"],Z=["onClick"],ee=["cx","fill"],te=["x"],ne=["onClick"],se=["cy","cx","fill"],le=["x","y"],oe={__name:"FretboardTool",props:{instruments:{type:Object,default:()=>{}}},setup(v){const k=v,t=S("instrument-calc",{l:430,frets:27,title:"Ukulele",tuning:["C4","G4","E4","A4"]}),b=I([]);function h(a,n,e){U(a),b[e]=a}M(()=>t.value.title,a=>{const n=k.instruments[a];t.value.l=n.l,t.value.frets=n.frets,t.value.tuning=n.tuning});const F=p(()=>[3,5,7,9,12,15,17,19,21].filter(a=>a[12,24].filter(a=>a{let a=[];for(let n=1;n(o(),r("div",E,[s("div",O,[s("div",T,[n[3]||(n[3]=s("div",{class:"text-xl"},"Instrument",-1)),y(s("select",{class:"bg-transparent text-xl w-10rem m-2 p-2","onUpdate:modelValue":n[0]||(n[0]=e=>l(t).title=e)},[(o(!0),r(c,null,d(v.instruments,(e,i)=>(o(),r("option",{key:i,value:i},m(i),9,q))),128))],512),[[N,l(t).title]])]),s("div",A,[n[4]||(n[4]=s("div",{class:"text-xl"},"Scale length",-1)),y(s("input",{class:"bg-transparent text-2xl w-5rem m-2 p-2","onUpdate:modelValue":n[1]||(n[1]=e=>l(t).l=e),type:"number",inputmode:"numeric",pattern:"[0-9]*"},null,512),[[_,l(t).l]]),n[5]||(n[5]=s("div",{class:"text-xl"},"mm",-1))]),s("div",D,[n[6]||(n[6]=s("div",{class:"text-xl"},"Frets",-1)),y(s("input",{class:"bg-transparent text-2xl w-4rem m-2 p-2","onUpdate:modelValue":n[2]||(n[2]=e=>l(t).frets=e),type:"number",inputmode:"numeric",pattern:"[0-9]*"},null,512),[[_,l(t).frets]])])]),s("div",G,[(o(),r("svg",{class:"flex-1 max-h-3xl w-full strings",id:"fretboard",version:"1.1",baseProfile:"full",viewBox:`0 -60 ${l(t).tuning.length*40+100} 1100`,xmlns:"http://www.w3.org/2000/svg"},[s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"16px","font-weight":"bold","text-anchor":"middle","dominant-baseline":"middle",x:(l(t).tuning.length*40+65)/2,y:-40},m(l(t).title),9,L),(o(!0),r(c,null,d(l(t).tuning,(e,i)=>(o(),r("line",{class:"string",key:e,stroke:"currentColor","stroke-width":"1","stroke-linecap":"round",y1:0,x1:40*i+50,y2:1e3,x2:40*i+50},null,8,P))),128)),(o(),r(c,null,d([0,1e3],e=>s("line",{class:"end",key:e,stroke:"currentColor","stroke-width":"2","stroke-linecap":"round",y1:e,x1:10,y2:e,x2:l(t).tuning.length*40+55},null,8,H)),64)),s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"10px","font-weight":"normal","text-anchor":"left","dominant-baseline":"middle",x:l(t).tuning.length*40+20,y:990},m(l(t).l)+" mm",9,J),(o(!0),r(c,null,d(F.value,e=>(o(),r("circle",{class:"inlay",key:e,fill:"currentColor",cx:(l(t).tuning.length*40+60)/2,cy:u.value[e-1]*1e3-(u.value[e-1]*1e3-u.value[e-2]*1e3)/2,r:4},null,8,K))),128)),(o(!0),r(c,null,d(z.value,e=>(o(),r("g",{key:e},[s("circle",{class:"inlay",fill:"currentColor",cx:(l(t).tuning.length*40+60)/2-5,cy:u.value[e-1]*1e3-(u.value[e-1]*1e3-u.value[e-2]*1e3)/2,r:4},null,8,Q),s("circle",{class:"inlay",fill:"currentColor",cx:(l(t).tuning.length*40+60)/2+5,cy:u.value[e-1]*1e3-(u.value[e-1]*1e3-u.value[e-2]*1e3)/2,r:4},null,8,R)]))),128)),(o(!0),r(c,null,d(u.value,(e,i)=>(o(),r("g",{class:"fret",key:e},[s("line",{stroke:"gray","stroke-width":"1","stroke-linecap":"round",y1:e*1e3,x1:20,y2:e*1e3,x2:l(t).tuning.length*40+40},null,8,W),s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"10px","font-weight":"normal","text-anchor":"middle","dominant-baseline":"middle",x:24,y:e*1e3-8},m(i+1),9,X),s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"10px","font-weight":"normal","text-anchor":"left","dominant-baseline":"middle",x:l(t).tuning.length*40+30,y:e*1e3-8},m((e*l(t).l).toFixed(2))+" mm",9,Y)]))),128)),(o(!0),r(c,null,d(l(t).tuning,(e,i)=>(o(),r("g",{class:"note",key:e},[s("g",{onClick:x=>h(e,0,i)},[s("circle",{cy:-12,cx:i*40+50,r:12,fill:g(e,0)},null,8,ee),s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"white","font-family":"Commissioner, sans-serif","font-size":"10px","font-weight":"bold","text-anchor":"middle","dominant-baseline":"middle",x:i*40+50,y:-11},m(e),9,te)],8,Z),(o(!0),r(c,null,d(u.value,(x,f)=>(o(),r("g",{class:"note",key:x,onClick:re=>h(l(w).transpose(e,l(C).fromSemitones(f+1)),f,i)},[s("circle",{cy:x*1e3-12,cx:i*40+50,r:12,fill:g(e,f+1)},null,8,se),s("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"white","font-family":"Commissioner, sans-serif","font-size":"10px","font-weight":"bold","text-anchor":"middle","dominant-baseline":"middle",x:i*40+50,y:x*1e3-11},m(l(w).transpose(e,l(C).fromSemitones(f+1))),9,le)],8,ne))),128))]))),128))],8,j))])]))}},ue=B(oe,[["__scopeId","data-v-2e844589"]]);export{ue as default}; diff --git a/assets/chunks/GunP2p.CxWNISCC.js b/assets/chunks/GunP2p.DcBtCpVl.js similarity index 99% rename from assets/chunks/GunP2p.CxWNISCC.js rename to assets/chunks/GunP2p.DcBtCpVl.js index 29890b1c81..5cd8b0b3d1 100644 --- a/assets/chunks/GunP2p.CxWNISCC.js +++ b/assets/chunks/GunP2p.DcBtCpVl.js @@ -1,4 +1,4 @@ -import{r as ot,b as Gt,d as lt,o as Ut,k as Jt,x as X,y as Z,A as L,E as K,C as Pt,ag as Rt,G as it,H as pt,P as It,U as Mt,F as Ht,B as Lt,ah as Kt}from"./framework.BR0mAPCP.js";import{af as z,e as ht,n as dt,av as gt}from"./theme.ClagsQLu.js";var yt={},tt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof yt<"u"?yt:typeof self<"u"?self:{};function _t(E){return E&&E.__esModule&&Object.prototype.hasOwnProperty.call(E,"default")?E.default:E}var vt;function At(){return vt||(vt={"/gun.js":Y})}function st(E){function m(O){var g=mt(O,E);if(g!==null)return At()[g]();throw new Error('Could not dynamically require "'+O+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}return m.resolve=function(O){var g=mt(O,E);return g!==null?g:require.resolve(O)},m}function mt(E,m){var O=Wt(E);E=rt(E);var g;E[0]==="/"&&(m="");for(var i=At(),o=["",".js",".json"];O?g=rt(m+"/node_modules/"+E):g=rt(m+"/"+E),!g.endsWith("/..");){for(var u=0;u0&&m[g-1]!==".."&&m[g-1]!=="."&&(m.splice(--g,2),g--);return E=m.join("/"),O&&E[0]!=="/"?E="/"+E:E.length===0&&(E="."),E}var wt={exports:{}},bt;function Y(){return bt||(bt=1,function(E){(function(){function m(g,i){return i?st("/")(g):g.slice?m[o(g)]:function(u,h){g(u={exports:{}}),m[o(h)]=u.exports};function o(u){return u.split("/").slice(-1).toString().replace(".js","")}}var O=E;m(function(g){String.random=function(o,u){var h="";for(o=o||24,u=u||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";o-- >0;)h+=u.charAt(Math.floor(Math.random()*u.length));return h},String.match=function(o,u){var h,d;return typeof o!="string"?!1:(typeof u=="string"&&(u={"=":u}),u=u||{},h=u["="]||u["*"]||u[">"]||u["<"],o===h?!0:d!==u["="]?!1:(h=u["*"]||u[">"],o.slice(0,(h||"").length)===h?!0:d!==u["*"]?!1:d!==u[">"]&&d!==u["<"]?o>=u[">"]&&o<=u["<"]:d!==u[">"]&&o>=u[">"]||d!==u["<"]&&o<=u["<"]))},String.hash=function(o,u){if(typeof o=="string"){if(u=u||0,!o.length)return u;for(var h=0,d=o.length,t;h=c.now()-h&&d++<3333){s();return}t(function(){h=c.now(),s()},d=0)}}(),function(){var o=setTimeout,u=o.turn=o.turn||function(r){h.push(r)==1&&d(s)},h=u.s=[],d=o.poll,t=0,c,s=function(){(c=h[t++])&&c(),(t==h.length||t==99)&&(h=u.s=h.slice(t),t=0),h.length&&d(s)}}(),function(){var o,u=setTimeout,h=u.turn;(u.each=u.each||function(d,t,c,s){s=s||9,function r(k,a,y){if(a=(k=(d||[]).splice(0,s)).length){for(var v=0;v"]||r;if(k)return typeof(k=k[s])=="number"?k:o},i.ify=function(c,s,r,k,a){(c=c||{})._=c._||{},a&&(c._["#"]=a);var y=c._[">"]||(c._[">"]={});return t!==s&&s!=="_"&&(typeof r=="number"&&(y[s]=r),t!==k&&(c[s]=k)),c},g.exports=i})(m,"./state"),m(function(g){m("./shim");function i(o){var u={s:{}},h=u.s;o=o||{max:999,age:1e3*9},u.check=function(t){return h[t]?d(t):!1};var d=u.track=function(t){var c=h[t]||(h[t]={});return c.was=u.now=+new Date,u.to||(u.to=setTimeout(u.drop,o.age+9)),d.ed&&d.ed(t),c};return u.drop=function(t){u.to=null,u.now=+new Date;var c=Object.keys(h);console.STAT&&console.STAT(u.now,+new Date-u.now,"dup drop keys"),setTimeout.each(c,function(s){var r=h[s];r&&(t||o.age)>u.now-r.was||delete h[s]},0,99)},u}g.exports=i})(m,"./dup"),m(function(g){m("./onto"),g.exports=function(o,u){if(this.on){var h=(this.opt||{}).lack||9e3;if(typeof o!="function"){if(!o)return;var t=o["#"]||o,d=(this.tag||"")[t];return d?(u&&(d=this.on(t,u),clearTimeout(d.err),d.err=setTimeout(function(){d.off()},h)),!0):void 0}var t=u&&u["#"]||i(9);if(!o)return t;var c=this.on(t,o,u);return c.err=c.err||setTimeout(function(){c.off(),c.next({err:"Error: No ACK yet.",lack:!0})},h),t}};var i=String.random||function(){return Math.random().toString(36).slice(2)}})(m,"./ask"),m(function(g){function i(a){return a instanceof i?(this._={$:this}).$:this instanceof i?i.create(this._={$:this,opt:a}):new i(a)}i.is=function(a){return a instanceof i||a&&a._&&a===a._.$||!1},i.version=.202,i.chain=i.prototype,i.chain.toJSON=function(){},m("./shim"),i.valid=m("./valid"),i.state=m("./state"),i.on=m("./onto"),i.dup=m("./dup"),i.ask=m("./ask"),function(){i.create=function(l){l.root=l.root||l,l.graph=l.graph||{},l.on=l.on||i.on,l.ask=l.ask||i.ask,l.dup=l.dup||i.dup();var S=l.$.opt(l.opt);return l.once||(l.on("in",a,l),l.on("out",a,l),l.on("put",w,l),i.on("create",l),l.on("create",l)),l.once=1,S};function a(l){if(l){if(l.out===a){this.to.next(l);return}var S=this,j=S.as,$=j.at||j,B=$.$,N=$.dup,G,U=l.DBG;if((G=l["#"])||(G=l["#"]=u(9)),!N.check(G)){if(N.track(G),G=l._,l._=typeof G=="function"?G:function(){},l.$&&l.$===(l.$._||"").$||(l.$=B),l["@"]&&!l.put&&n(l),!$.ask(l["@"],l))if(U&&(U.u=+new Date),l.put){y(l);return}else l.get&&i.on.get(l,B);U&&(U.uc=+new Date),S.to.next(l),U&&(U.ua=+new Date),!(l.nts||l.NTS)&&(l.out=a,$.on("out",l),U&&(U.ue=+new Date))}}}function y(l){if(l){var S=l._||"",j=S.root=((S.$=l.$||"")._||"").root;if(l["@"]&&S.faith&&!S.miss){l.out=a,j.on("out",l);return}S.latch=j.hatch,S.match=j.hatch=[];var $=l.put,B=S.DBG=l.DBG,N=+new Date;if(A=A||N,!($["#"]&&$["."])){B&&(B.p=N),S["#"]=l["#"],S.msg=l,S.all=0,S.stun=1;var G=Object.keys($);console.STAT&&console.STAT(N,((B||S).pk=+new Date)-N,"put sort");var U=0,J,P,R,I,M,H,Q;(function W(et){if(J!=U){if(J=U,!(R=G[U])){console.STAT&&console.STAT(N,((B||S).pd=+new Date)-N,"put"),e(S);return}(I=$[R])?(Q=I._)?R!==Q["#"]?H=p+x(R)+"soul not same.":(M=Q[">"])||(H=p+x(R)+"no state."):H=p+x(R)+"no meta.":H=p+x(R)+"no node.",P=Object.keys(I||{})}if(H){l.err=S.err=H,e(S);return}var ct=0,F;for(et=et||0;et++<9&&(F=P[ct++]);)if(F!=="_"){var nt=I[F],ft=M[F];if(s===ft){H=p+x(F)+"on"+x(R)+"no state.";break}if(!d(nt)){H=p+x(F)+"on"+x(R)+"bad "+typeof nt+x(nt);break}v(nt,F,R,ft,l),++C}if((P=P.slice(ct)).length){h(W);return}++U,P=null,W(et)})()}}}i.on.put=y;function v(l,S,j,$,B){var N=B._||"",G=N.root,U=G.graph,J,P=U[j]||r,R=t(P,S,1),I=P[S],M=N.DBG;(J=console.STAT)&&(!U[j]||!I)&&(J.has=(J.has||0)+1);var H=D();if($>H){setTimeout(function(){v(l,S,j,$,B)},(J=$-H)>T?T:J),console.STAT&&console.STAT((M||N).Hf=+new Date,J,"future");return}if(!($":$},ok:B.ok,_:N})}}function w(l){var S;(S=(l._||"").DBG)&&(S.pa=+new Date,S.pm=S.pm||+new Date);var j=this,$=j.as,B=$.graph,N=l._,G=l.put,U=G["#"],J=G["."],P=G[":"],R=G[">"];l["#"];var I;(I=N.msg)&&(I=I.put)&&(I=I[U])&&c(I,J,R,P,U),B[U]=c(B[U],J,R,P,U),(I=($.next||"")[U])&&I.on("in",l),e(N),j.to.next(l)}function e(l,S){var j;if(!l.stop&&!(!l.err&&0<--l.stun)&&(l.stop=1,!!(j=l.root))){var $=l.match;$.end=1,$===j.hatch&&(!($=l.latch)||$.end?delete j.hatch:j.hatch=$),l.hatch&&l.hatch(),setTimeout.each(l.match,function(B){B&&B()}),!(!(S=l.msg)||l.err||S.err)&&(S.out=a,l.root.on("out",S),_())}}function n(l){var S=l["@"]||"",j;if(!(j=S._)){var $=($=l.$)&&($=$._)&&($=$.root)&&($=$.dup);if(!($=$.check(S)))return;l["@"]=$["#"]||l["@"];return}j.acks=(j.acks||0)+1,(j.err=l.err)&&(l["@"]=j["#"],e(j)),j.ok=l.ok||j.ok,!j.stop&&!j.crack&&(j.crack=j.match&&j.match.push(function(){f(j)})),f(j)}function f(l){!l||!l.root||l.stun||l.acks!==l.all||l.root.on("in",{"@":l["#"],err:l.err,ok:l.err?s:l.ok||{"":1}})}var p="Error: Invalid graph!",x=function(l){return" '"+(""+l).slice(0,9)+"...' "},b=JSON.stringify,T=2147483647,D=i.state,C=0,A,_=function(){C>999&&C/-(A-(A=+new Date))>1&&(i.window&&console.log("Warning: You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."),_=function(){C=0})}}(),function(){i.on.get=function(y,v){var w=v._,e=y.get,n=e["#"],f=w.graph[n],p=e["."],x=w.next||(w.next={}),b=x[n],T=y._||{},D=T.DBG=y.DBG;if(D&&(D.g=+new Date),!f)return w.on("get",y);if(p){if((typeof p!="string"||s===f[p])&&!((b||"").next||"")[p]){w.on("get",y);return}f=c({},p,t(f,p),f[p],n)}f&&a(y,f),w.on("get",y)};function a(y,v){var w=+new Date,e=y._||{},n=e.DBG=y.DBG,f=y["#"],p=u(9),x=Object.keys(v||"").sort(),b=((v||"")._||"")["#"];x.length;var T=y.$._.root,D=v===T.graph[b];console.STAT&&console.STAT(w,((n||e).gk=+new Date)-w,"got keys"),v&&function C(){w=+new Date;for(var A=0,_,l={},S;A<9&&(_=x[A++]);)c(l,_,t(v,_),v[_],b);x=x.slice(A),(S={})[b]=l,l=S;var j;D&&(j=function(){},j.ram=j.faith=!0),S=x.length,console.STAT&&console.STAT(w,-(w-(w=+new Date)),"got copied some"),n&&(n.ga=+new Date),T.on("in",{"@":f,"#":p,put:l,"%":S?p=u(9):s,$:T.$,_:j,DBG:n,FOO:1}),console.STAT&&console.STAT(w,+new Date-w,"got in"),S&&setTimeout.turn(C)}(),v||T.on("in",{"@":y["#"]})}i.on.get.ack=a}(),function(){i.chain.opt=function(a){a=a||{};var y=this,v=y._,w=a.peers||a;return Object.plain(a)||(a={}),Object.plain(v.opt)||(v.opt=a),typeof w=="string"&&(w=[w]),Object.plain(v.opt.peers)||(v.opt.peers={}),w instanceof Array&&(a.peers={},w.forEach(function(e){var n={};n.id=n.url=e,a.peers[e]=v.opt.peers[e]=v.opt.peers[e]||n})),o(a,function e(n){var f=this[n];if(this&&this.hasOwnProperty(n)||typeof f=="string"||Object.empty(f)){this[n]=f;return}f&&f.constructor!==Object&&!(f instanceof Array)||o(f,e)}),v.opt.from=a,i.on("opt",v),v.opt.uuid=v.opt.uuid||function(e){return i.state().toString(36).replace(".","")+String.random(e||12)},y}}();var o=function(a,y){Object.keys(a).forEach(y,a)},u=String.random,h=setTimeout.turn,d=i.valid,t=i.state.is,c=i.state.ify,s,r={},k;i.log=function(){return!i.log.off&&k.log.apply(k,arguments),[].slice.call(arguments).join(" ")},i.log.once=function(a,y,v){return(v=i.log.once)[a]=v[a]||0,v[a]++||i.log(y)},typeof window<"u"&&((window.GUN=window.Gun=i).window=window);try{typeof O<"u"&&(O.exports=i)}catch{}g.exports=i,(i.window||{}).console=(i.window||{}).console||{log:function(){}},(k=console).only=function(a,y){return k.only.i&&a===k.only.i&&k.only.i++&&(k.log.apply(k,arguments)||y)},i.log.once("welcome","Hello wonderful person! :) Thanks for using GUN, please ask for help on http://chat.gun.eco if anything takes you longer than 5min to figure out!")})(m,"./root"),m(function(g){var i=m("./root");i.chain.back=function(h,d){var t;if(h=h||1,h===-1||h===1/0)return this._.root.$;if(h===1)return(this._.back||this._).$;var c=this,s=c._;if(typeof h=="string"&&(h=h.split(".")),h instanceof Array){var r=0,k=h.length,t=s;for(r;r":v(x.graph[p.soul],n)}}),b))return}else{if(b=p.ask&&p.ask[""],(p.ask||(p.ask={}))[""]=p,s!==p.put&&(p.on("in",p),b))return;e.$=p.$}return x.ask(t,e),x.on("in",e)}if(n["."])return f.get?(e={get:{".":f.get},$:f.$},(p.ask||(p.ask={}))[f.get]=e.$._,p.on("out",e)):(e={get:f.lex?e.get:{},$:f.$},p.on("out",e));if((f.ask||(f.ask={}))[""]=f,f.get)return n["."]=f.get,(p.ask||(p.ask={}))[f.get]=e.$._,p.on("out",e)}return p.on("out",e)}i.on.out=o;function u(e,n){n=n||this.as;var f=n.root,p=e.$||(e.$=n.$),x=(p||"")._||c,b=e.put||"",T=b["#"],D=b["."],C=s!==b["="]?b["="]:b[":"],A=b[">"]||-1/0,_;if(s!==e.put&&(s===b["#"]||s===b["."]||s===b[":"]&&s===b["="]||s===b[">"])){if(!k(b)){if(!(T=((b||"")._||"")["#"])){console.log("chain not yet supported for",b,"...",e,n);return}return p=n.root.$.get(T),setTimeout.each(Object.keys(b).sort(),function(l){l=="_"||s===(A=v(b,l))||n.on("in",{$:p,put:{"#":T,".":l,"=":b[l],">":A},VIA:e})})}n.on("in",{$:x.back.$,put:{"#":T=x.back.soul,".":D=x.has||x.get,"=":b,">":v(x.back.put,D)},via:e});return}(e.seen||"")[n.id]||((e.seen||(e.seen=function(){}))[n.id]=n,n!==x&&(Object.keys(e).forEach(function(l){b[l]=e[l]},b={}),b.get=n.get||b.get,!n.soul&&!n.has?b.$$$=b.$$$||n.$:x.soul&&(b.$=n.$,b.$$=b.$$||x.$),e=b),d(e,n),(n.soul||e.$$)&&A>=v(f.graph[T],D)&&((b=f.$.get(T)._).put=w(b.put,D,A,C,T)),!x.soul&&A>=v(f.graph[T],D)&&(_=(f.$.get(T)._.next||"")[D])&&(_.put=C,typeof(b=k(C))=="string"&&(_.put=f.$.get(b)._.put||C)),this.to&&this.to.next(e),n.any&&setTimeout.each(Object.keys(n.any),function(l){(l=n.any[l])&&l(e)},0,99),n.echo&&setTimeout.each(Object.keys(n.echo),function(l){(l=n.echo[l])&&l.on("in",e)},0,99),((e.$$||"")._||x).soul&&(_=n.next)&&(_=_[D])&&(b={},Object.keys(e).forEach(function(l){b[l]=e[l]}),b.$=(e.$$||e.$).get(b.get=D),delete b.$$,delete b.$$$,_.on("in",b)),h(e,n))}i.on.in=u;function h(e,n){if(n=n||this.as||e.$._,!(e.$$&&this!==i.on)&&!(!e.put||n.soul)){var f=e.put||"",p=f["="]||f[":"],x,b=n.root,T=b.$.get(f["#"]).get(f["."])._;if(typeof(p=k(p))!="string"){this===i.on&&((T.echo||(T.echo={}))[n.id]=n);return}if(!((T.echo||(T.echo={}))[n.id]&&!(b.pass||"")[n.id])){if(x=b.pass){if(x[p+n.id])return;x[p+n.id]=1}(T.echo||(T.echo={}))[n.id]=n,n.has&&(n.link=p);var D=b.$.get(T.link=p)._;(D.echo||(D.echo={}))[T.id]=T;var x=n.ask||"";(x[""]||n.lex)&&D.on("out",{get:{"#":p}}),setTimeout.each(Object.keys(x),function(A,_){!A||!(_=x[A])||_.on("out",{get:{"#":p,".":A}})},0,99)}}}i.on.link=h;function d(e,n){var f=e.put||"",p=s!==f["="]?f["="]:f[":"],x=n.root,b,T;if(s===p){if(n.soul&&s!==n.put||(T=(e.$$||e.$||"")._||"",e["@"]&&(s!==T.put||s!==n.put)))return;(b=n.link||e.linked)&&delete(x.$.get(b)._.echo||"")[n.id],n.has&&(n.link=null),n.put=s,setTimeout.each(Object.keys(n.next||""),function(D,C){(C=n.next[D])&&(b&&delete(x.$.get(b).get(D)._.echo||"")[C.id],C.on("in",{get:D,put:s,$:C.$}))},0,99);return}n.soul||e.$$||(b=k(p),T=e.$._||"",!((b===T.link||n.has&&!T.link)&&!((x.pass||"")[n.id]&&typeof b!="string"))&&(delete(T.echo||"")[n.id],d({get:n.get,put:s,$:e.$,linked:e.linked=e.linked||T.link},n)))}i.on.unlink=d;function t(e,n){var f=this.as,p=f.$._;p.root;var x=f.get||"",b=(e.put||"")[x["#"]]||"";if(!e.put||typeof x["."]=="string"&&s===b[x["."]]){if(s!==p.put||!p.soul&&!p.has)return;p.ack=(p.ack||0)+1,p.on("in",{get:p.get,put:p.put=s,$:p.$,"@":e["@"]});return}(e._||{}).miss=1,i.on.put(e)}var c={},s,r=String.random,k=i.valid,a=function(e,n){return e&&Object.prototype.hasOwnProperty.call(e,n)},y=i.state,v=y.is,w=y.ify})(m,"./chain"),m(function(g){var i=m("./root");i.chain.get=function(s,r,k){var a,y;if(typeof s=="string"){if(s.length==0)return(a=this.chain())._.err={err:i.log("0 length key!",s)},r&&r.call(a,a._.err),a;var v=this,w=v._,e=w.next||d;(a=e[s])||(a=s&&o(s,v)),a=a&&a.$}else if(typeof s=="function"){let b=function(D,C,A){if(!b.stun&&!((B=f.pass)&&!B[p])){var _=D.$._,l=(D.$$||"")._,S=(l||_).put,j=!_.has&&!_.soul,$={},B;if((j||c===S)&&(S=c===((B=D.put)||"")["="]?c===(B||"")[":"]?B:B[":"]:B["="]),typeof(B=i.valid(S))=="string"&&(S=c===(B=f.$.get(B)._.put)?n.not?c:S:B),!(n.not&&c===S)){if(c===n.stun){if((B=f.stun)&&B.on&&(w.$.back(function(N){if(B.on(""+N.id,$={}),($.run||0)$.run&&((!$.stun||$.stun.end)&&($.stun=B.on("stun"),$.stun=$.stun&&$.stun.last),$.stun&&!$.stun.end))){($.stun.add||($.stun.add={}))[p]=function(){b(D,C,1)};return}if(c===S&&(A=0),(B=f.hatch)&&!B.end&&c===n.hatch&&!A){if(x[_.$._.id])return;x[_.$._.id]=1,B.push(function(){b(D,C,1)});return}x={}}if(f.pass){if(f.pass[p+_.id])return;f.pass[p+_.id]=1}if(n.on){n.ok.call(_.$,S,_.get,D,C||b);return}if(n.v2020){n.ok(D,C||b);return}Object.keys(D).forEach(function(N){B[N]=D[N]},B={}),D=B,D.put=S,n.ok.call(n.as,D,C||b)}}};if(r===!0)return u(this,s,r,k),this;a=this;var w=a._,n=r||{},f=w.root,p;n.at=w,n.ok=s;var x={};return b.at=w,(w.any||(w.any={}))[p=String.random(7)]=b,b.off=function(){b.stun=1,w.any&&delete w.any[p]},b.rid=h,b.id=n.run||++f.once,y=f.pass,(f.pass={})[p]=1,n.out=n.out||{get:{}},w.on("out",n.out),f.pass=y,a}else{if(typeof s=="number")return this.get(""+s,r,k);if(typeof(y=t(s))=="string")return this.get(y,r,k);(y=this.get.next)&&(a=y(this,s))}return a?(r&&typeof r=="function"&&a.get(r,k),a):((a=this.chain())._.err={err:i.log("Invalid get request!",s)},r&&r.call(a,a._.err),a)};function o(s,r){var k=r._,a=k.next,y=r.chain(),v=y._;return a||(a=k.next={}),a[v.get=s]=v,r===k.root.$?v.soul=s:(k.soul||k.has)&&(v.has=s),v}function u(s,r,k,a){var y=s._,v=0,w;return(w=y.soul||y.link)?r(w,a,y):y.jam?y.jam.push([r,a]):(y.jam=[[r,a]],s.get(function(e,n){if(!(c===e.put&&!y.root.opt.super&&(w=Object.keys(y.root.opt.peers).length)&&++v<=w)){n.rid(e);var f=(f=e.$)&&f._||{},p=0,x;for(w=y.jam,delete y.jam;x=w[p++];){var b=x[0];x=x[1],b&&b(f.link||f.soul||i.valid(e.put)||((e.put||{})._||{})["#"],x,e,n)}}},{out:{get:{".":!0}}}),s)}function h(s){var r=this.at||this.on;if(!s||r.soul||r.has)return this.off();if(s=(s=(s=s.$||s)._||s).id){r.map;var k;if((k=this.seen||(this.seen={}))[s])return!0;k[s]=!0}}var d={},t=i.valid,c})(m,"./get"),m(function(g){var i=m("./root");i.chain.put=function(a,y,v){var w=this,e=w._,n=e.root;v=v||{},v.root=e.root,v.run||(v.run=n.once),o(v,e.id),v.ack=v.ack||y,v.via=v.via||w,v.data=v.data||a,v.soul||(v.soul=e.soul||typeof y=="string"&&y);var f=v.state=v.state||i.state();return typeof a=="function"?(a(function(p){v.data=p,w.put(t,t,v)}),w):v.soul?(v.$=n.$.get(v.soul),v.todo=[{it:v.data,ref:v.$}],v.turn=v.turn||s,v.ran=v.ran||u,function p(){var x=v.todo,b=x.pop(),T=b.it;b.ref&&b.ref._.id;var D,C,A,_,l;if(o(v,b.ref),(_=b.todo)&&(C=_.pop(),T=T[C],_.length&&x.push(b)),C&&(x.path||(x.path=[])).push(C),!(D=r(T))&&!(l=i.is(T))){if(!Object.plain(T)){u.err(v,"Invalid data: "+d(T)+" at "+(v.via.back(function(B){B.get&&_.push(B.get)},_=[])||_.join("."))+"."+(x.path||[]).join("."));return}for(var S=v.seen||(v.seen=[]),j=S.length;j--;)if(T===(_=S[j]).it){D=T=_.link;break}}if(C&&D)b.node=k(b.node,C,f,T);else{let B=function(N,G){var U=A.link["#"];G&&(G.off(),G.rid(N));var J=U||N.soul||(_=(N.$$||N.$)._||"").soul||_.link||((_=_.put||"")._||"")["#"]||_["#"]||((_=N.put||"")&&N.$$?_["#"]:(_["="]||_[":"]||"")["#"]);if(!U&&o(v,N.$),!J&&!b.link["#"]){(b.wait||(b.wait=[])).push(function(){B(N,G)});return}J||(J=[],(N.$$||N.$).back(function(P){if(_=P.soul||P.link)return J.push(_);J.push(P.get)}),J=J.reverse().join("/")),A.link["#"]=J,!l&&(((v.graph||(v.graph={}))[J]=A.node||(A.node={_:{}}))._["#"]=J),delete v.wait[$],A.wait&&setTimeout.each(A.wait,function(P){P&&P()}),v.ran(v)};if(!v.seen){u.err(v,"Data at root of graph must be a node (an object).");return}v.seen.push(A={it:T,link:{},todo:l?[]:Object.keys(T).sort().reverse(),path:(x.path||[]).slice(),up:b}),b.node=k(b.node,C,f,A.link),!l&&A.todo.length&&x.push(A);var $=v.seen.length;(v.wait||(v.wait={}))[$]="",_=(A.ref=l?T:C?b.ref.get(C):b.ref)._,(_=T&&(T._||"")["#"]||_.soul||_.link)?B({soul:_}):A.ref.get(B,{run:v.run,v2020:1,out:{get:{".":" "}}})}if(!x.length)return v.ran(v);v.turn(p)}(),w):(h(v),w)};function o(a,y){if(y){y=(y._||"").id||y;var v=a.root.stun||(a.root.stun={on:i.on}),w={},e;a.stun||(a.stun=v.on("stun",function(){})),(e=v.on(""+y))&&e.the.last.next(w),!(w.run>=a.run)&&v.on(""+y,function(n){if(a.stun.end){this.off(),this.to.next(n);return}n.run=n.run||a.run,n.stun=n.stun||a.stun})}}function u(a){if(a.err){u.end(a.stun,a.root);return}if(!(a.todo.length||a.end||!Object.empty(a.wait))){a.end=1;var y=a.$.back(-1)._,v=y.root,w=y.ask(function(p){v.on("ack",p),p.err&&!p.lack&&i.log(p),++e>(a.acks||0)&&this.off(),a.ack&&a.ack(p,this)},a.opt),e=0,n=a.stun,f;(f=function(){n&&(u.end(n,v),setTimeout.each(Object.keys(n=n.add||""),function(p){(p=n[p])&&p()}))}).hatch=f,a.ack&&!a.ok&&(a.ok=a.acks||9),a.via._.on("out",{put:a.out=a.graph,ok:a.ok&&{"@":a.ok+1},opt:a.opt,"#":w,_:f})}}u.end=function(a,y){a.end=c,a.the.to===a&&a===a.the.last&&delete y.stun,a.off()},u.err=function(a,y){(a.ack||c).call(a,a.out={err:a.err=i.log(y)}),a.ran(a)};function h(a){var y=a.via._,v;a.via=a.via.back(function(w){if(w.soul||!w.get)return w.$;v=a.data,(a.data={})[w.get]=v}),(!a.via||!a.via._.soul)&&(a.via=y.root.$.get(((a.data||"")._||"")["#"]||y.$.back("opt.uuid")())),a.via.put(a.data,a.ack,a)}function d(a,y){return a&&(y=a.constructor)&&y.name||typeof a}var t,c=function(){},s=setTimeout.turn,r=i.valid,k=i.state.ify})(m,"./put"),m(function(g){var i=m("./root");m("./chain"),m("./back"),m("./put"),m("./get"),g.exports=i})(m,"./index"),m(function(g){var i=m("./index");i.chain.on=function(h,d,t,c){var s=this,r=s._;r.root;var k;if(typeof h=="string")return d?(k=r.on(h,d,t||r,c),t&&t.$&&(t.subs||(t.subs=[])).push(k),s):r.on(h);var a=d;return(a=a===!0?{change:!0}:a||{}).not=1,a.on=1,s.get(h,a),s},i.chain.once=function(h,d){if(d=d||{},!h)return o(this);var t=this,c=t._,s=c.root;c.put;var r=String.random(7),k;return t.get(function(a,y,v,w){var e=this,n=e._,f=n.one||(n.one={});if(w.stun||f[r]==="")return;if((k=i.valid(a))===!0){p();return}if(typeof k=="string")return;clearTimeout((c.one||"")[r]),clearTimeout(f[r]),f[r]=setTimeout(p,d.wait||99);function p(x){if(!n.has&&!n.soul&&(n={put:a,get:y}),u===(k=n.put)&&(k=((v.$$||"")._||"").put),typeof i.valid(k)=="string"&&(k=s.$.get(k)._.put,k===u&&!x)){f[r]=setTimeout(function(){p(1)},d.wait||99);return}w.stun||f[r]!==""&&(f[r]="",(c.soul||c.has)&&w.off(),h.call(e,k,n.get),clearTimeout(f[r]))}},{on:1}),t};function o(h,d,t){return i.log.once("valonce","Chainable val is experimental, its behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),(t=h.chain())._.nix=h.once(function(c,s){t._.on("in",this._)}),t._.lex=h._.lex,t}i.chain.off=function(){var h=this,d=h._,t,c=d.back;if(c)return d.ack=0,(t=c.next)&&t[d.get]&&delete t[d.get],(t=c.any)&&(delete c.any,c.any={}),(t=c.ask)&&delete t[d.get],(t=c.put)&&delete t[d.get],(t=d.soul)&&delete c.root.graph[t],(t=d.map)&&Object.keys(t).forEach(function(s,r){r=t[s],r.link&&c.root.$.get(r.link).off()}),(t=d.next)&&Object.keys(t).forEach(function(s,r){r=t[s],r.$.off()}),d.on("off",{}),h};var u})(m,"./on"),m(function(g){var i=m("./index"),o=i.chain.get.next;i.chain.get.next=function(t,c){var s;return Object.plain(c)?(s=((s=c["#"])||"")["="]||s)?t.get(s):((s=t.chain()._).lex=c,t.on("in",function(r){String.match(r.get||(r.put||"")["."],c["."]||c["#"]||c)&&s.on("in",r),this.to.next(r)}),s.$):(o||h)(t,c)},i.chain.map=function(t,c,s){var r=this,k=r._,a,y;return Object.plain(t)&&(a=t["."]?t:{".":t},t=d),t?(i.log.once("mapfn","Map functions are experimental, their behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),y=r.chain(),r.map().on(function(v,w,e,n){var f=(t||h).call(this,v,w,e,n);if(d!==f){if(v===f)return y._.on("in",e);if(i.is(f))return y._.on("in",f._);var p={};Object.keys(e.put).forEach(function(x){p[x]=e.put[x]},p),p["="]=f,y._.on("in",{get:w,put:p})}}),y):((y=k.each)||((k.each=y=r.chain())._.lex=a||y._.lex||k.lex,y._.nix=r.back("nix"),r.on("in",u,y._)),y)};function u(t){this.to.next(t);var c=this.as,s=t.$,r=s._,k=t.put,a;!r.soul&&!t.$$||(a=c.lex)&&!String.match(t.get||(k||"")["."],a["."]||a["#"]||a)||i.on.link(t,c)}var h=function(){},d})(m,"./map"),m(function(g){var i=m("./index");i.chain.set=function(o,u,h){var d=this,t=d.back(-1),c,s;return u=u||function(){},h=h||{},h.item=h.item||o,(c=((o||"")._||"")["#"])&&((o={})["#"]=c),typeof(s=i.valid(o))=="string"?d.get(c=s).put(o,u,h):i.is(o)?(d.put(function(r){o.get(function(k,a,y){if(!k)return u.call(d,{err:i.log('Only a node can be linked! Not "'+y.put+'"!')});(s={})[k]={"#":k},r(s)},!0)}),o):(Object.plain(o)&&(o=t.get(c=d.back("opt.uuid")()).put(o)),d.get(c||t.back("opt.uuid")(7)).put(o,u,h))}})(m,"./set"),m(function(g){m("./shim");var i=function(){},o=JSON.parseAsync||function(t,c,s){var r,k=+new Date;try{c(r,JSON.parse(t,s),u.sucks(+new Date-k))}catch(a){c(a)}},u=JSON.stringifyAsync||function(t,c,s,r){var k,a=+new Date;try{c(k,JSON.stringify(t,s,r),u.sucks(+new Date-a))}catch(y){c(y)}};u.sucks=function(t){t>99&&(console.log("Warning: JSON blocking CPU detected. Add `gun/lib/yson.js` to fix."),u.sucks=i)};function h(t){var c=function(){},s=t.opt||{};s.log=s.log||console.log,s.gap=s.gap||s.wait||0,s.max=s.max||(s.memory?s.memory*999*999:3e8)*.3,s.pack=s.pack||s.max*.01*.01,s.puff=s.puff||9;var r=setTimeout.turn||setTimeout,k=t.dup,a=k.check,y=k.track,v=c.hear=function(n,f){if(n){if(s.max<=n.length)return c.say({dam:"!",err:"Message too big!"},f);c===this&&(v.d+=n.length||0,++v.c);var p=f.SH=+new Date,x=n[0],b;if(x==="["){o(n,function(T,D){if(T||!D)return c.say({dam:"!",err:"DAM JSON parse error."},f);console.STAT&&console.STAT(+new Date,D.length,"# on hear batch");var C=s.puff;(function A(){for(var _=+new Date,l=0,S;l<"])&&typeof T=="string"&&T.slice(0,99).split(",").forEach(function(_){this[_]=1},n._.yo={}),T=n.dam){(T=c.hear[T])&&T(n,f,t),y(x);return}(T=n.ok)&&(n._.near=T["/"]);var p=+new Date;C&&(C.is=p),f.SI=x,y.ed=function(_){x===_&&(y.ed=0,(_=k.s[x])&&(_.via=f,n.get&&(_.it=n)))},t.on("in",c.last=n),C&&(C.hd=+new Date),console.STAT&&console.STAT(p,+new Date-p,n.get?"msg get":n.put?"msg put":"msg"),y(x),D&&y(D),c.leap=c.last=null}},v.c=v.d=0,function(){var n=0,f;c.hash=function(b,T){var D,C,A,_=+new Date;u(b.put,function l(S,j){var $=(C||(C=A=j||"")).slice(0,32768);if(D=String.hash($,D),C=C.slice(32768),C){r(l,0);return}console.STAT&&console.STAT(_,+new Date-_,"say json+hash"),b._.$put=A,b["##"]=D,c.say(b,T),delete b._.$put},p)};function p(b,T){var D;return T instanceof Object?(Object.keys(T).sort().forEach(x,{to:D={},on:T}),D):T}function x(b){this.to[b]=this.on[b]}c.say=function(b,T){var D;if((D=this)&&(D=D.to)&&D.next&&D.next(b),!b)return!1;var C,A,_,l=b["@"],S=b._||(b._=function(){}),j=b.DBG,$=+new Date;if(S.y=S.y||$,T||j&&(j.y=$),(C=b["#"])||(C=b["#"]=String.random(9)),!f&&y(C),!(A=b["##"])&&d!==b.put&&!S.via&&l){c.hash(b,T);return}if(!T&&l&&(T=(D=k.s[l])&&(D.via||(D=D.it)&&(D=D._)&&D.via)||(D=c.last)&&l===D["#"]&&c.leap),!T&&l)return k.s[l]?void 0:(console.STAT&&console.STAT(+new Date,++n,"total no peer to ack to"),!1);if(l&&!b.put&&!A&&((k.s[l]||"").it||"")["##"])return!1;if(!T&&c.way)return c.way(b);if(j&&(j.yh=+new Date),!(_=S.raw)){c.raw(b,T);return}if(j&&(j.yr=+new Date),!T||!T.id){if(!Object.plain(T||s.peers))return!1;var $=+new Date;s.puff;var B=s.peers,N=Object.keys(T||s.peers||{});console.STAT&&console.STAT($,+new Date-$,"peer keys"),function J(){var P=+new Date;f=1;var R=S.raw;S.raw=_;for(var I=0,M;I<9&&(M=(N||"")[I++]);)(M=B[M]||(T||"")[M])&&c.say(b,M);S.raw=R,f=0,N=N.slice(I),console.STAT&&console.STAT(P,+new Date-P,"say loop"),N.length&&(r(J,0),l&&y(l))}();return}if(!T.wire&&c.wire&&c.wire(T),C!==T.last){if(T.last=C,T===S.via||(D=S.yo)&&(D[T.url]||D[T.pid]||D[T.id]))return!1;if(console.STAT&&console.STAT($,((j||S).yp=+new Date)-(S.y||$),"say prep"),!f&&l&&y(l),T.batch){if(T.tail=(D=T.tail||0)+_.length,T.tail<=s.pack){T.batch+=(D?",":"")+_;return}w(T)}T.batch="[";var G=+new Date;setTimeout(function(){console.STAT&&console.STAT(G,+new Date-G,"0ms TO"),w(T)},s.gap),e(_,T),console.STAT&&l===T.SI&&console.STAT($,+new Date-T.SH,"say ack")}},c.say.c=c.say.d=0,c.raw=function(b,T){if(!b)return"";var D=b._||{},C,A;if(A=D.raw)return A;if(typeof b=="string")return b;var _=b["##"],l=b["@"];if(_&&l){if(!D.via&&a(l+_))return!1;if(A=(k.s[l]||"").it){if(_===A["##"])return!1;A["##"]||(A["##"]=_)}}if(!b.dam&&!b["@"]){var S=0,j=[];A=s.peers;for(var $ in A){var B=A[$];if(j.push(B.url||B.pid||B.id),++S>6)break}S>1&&(b["><"]=j.join())}if(b.put&&(A=b.ok)&&(b.ok={"@":(A["@"]||1)-1,"/":A["/"]==b._.near?c.near:A["/"]}),C=D.$put){A={},Object.keys(b).forEach(function(G){A[G]=b[G]}),A.put=":])([:",u(A,function(G,U){if(!G){var J=+new Date;A=U.indexOf('"put":":])([:"'),N(d,U=U.slice(0,A+6)+C+U.slice(A+14)),console.STAT&&console.STAT(J,+new Date-J,"say slice")}});return}u(b,N);function N(G,U){G||(D.raw=U,c.say(b,T))}}}();function w(n){var f=n.batch,p=typeof f=="string";if(p&&(f+="]"),n.batch=n.tail=null,!!f&&!(p?3>f.length:!f.length)){if(!p)try{f=f.length===1?f[0]:JSON.stringify(f)}catch(x){return s.log("DAM JSON stringify error",x)}f&&e(f,n)}}function e(n,f){try{var p=f.wire;f.say?f.say(n):p.send&&p.send(n),c.say.d+=n.length||0,++c.say.c}catch{(f.queue=f.queue||[]).push(n)}}return c.near=0,c.hi=function(n){var f=n.wire,p;if(!f){c.wire(n.length&&{url:n,id:n}||n);return}n.id?s.peers[n.url||n.id]=n:(p=n.id=n.id||n.url||String.random(9),c.say({dam:"?",pid:t.opt.pid},s.peers[p]=n),delete k.s[n.last]),n.met||(c.near++,n.met=+new Date,t.on("hi",n)),p=n.queue,n.queue=[],setTimeout.each(p||[],function(x){e(x,n)},0,9)},c.bye=function(n){n.met&&--c.near,delete n.met,t.on("bye",n);var f=+new Date;f=f-(n.met||f),c.bye.time=((c.bye.time||f)+f)/2},c.hear["!"]=function(n,f){s.log("Error:",n.err)},c.hear["?"]=function(n,f){n.pid&&(f.pid||(f.pid=n.pid),n["@"])||(c.say({dam:"?",pid:s.pid,"@":n["#"]},f),delete k.s[f.last])},c.hear.mob=function(n,f){if(n.peers){var p=Object.keys(n.peers),x=p[Math.random()*p.length>>0];x&&(c.bye(f),c.hi(x))}},t.on("create",function(n){n.opt.pid=n.opt.pid||String.random(9),this.to.next(n),n.on("out",c.say)}),t.on("bye",function(n,f){n=s.peers[n.id||n]||n,this.to.next(n),n.bye?n.bye():(f=n.wire)&&f.close&&f.close(),delete s.peers[n.id],n.wire=null}),t.on("bye",function(n,f){this.to.next(n),(f=console.STAT)&&(f.peers=c.near),(f=n.url)&&setTimeout(function(){},s.lack||9e3)}),t.on("hi",function(n,f){if(this.to.next(n),(f=console.STAT)&&(f.peers=c.near),!s.super){var p=Object.keys(t.next||"");p.length>9999&&!console.SUBS&&console.log(console.SUBS="Warning: You have more than 10K live GETs, which might use more bandwidth than your screen can show - consider `.off()`."),setTimeout.each(p,function(x){var b=t.next[x];if(s.super||(b.ask||"")[""]){c.say({get:{"#":x}},n);return}setTimeout.each(Object.keys(b.ask||""),function(T){T&&c.say({"##":String.hash((t.graph[x]||"")[T]),get:{"#":x,".":T}},n)})})}}),c}var d;try{g.exports=h}catch{}})(m,"./mesh"),m(function(g){var i=m("./index");i.Mesh=m("./mesh"),i.on("opt",function(u){if(this.to.next(u),u.once)return;var h=u.opt;if(h.WebSocket===!1)return;var d=i.window||{},t=h.WebSocket||d.WebSocket||d.webkitWebSocket||d.mozWebSocket;if(!t)return;h.WebSocket=t;var c=h.mesh=h.mesh||i.Mesh(u);c.wire||h.wire,c.wire=h.wire=s;function s(y){try{if(!y||!y.url)return w&&w(y);var v=y.url.replace(/^http/,"ws"),w=y.wire=new h.WebSocket(v);return w.onclose=function(){k(y),h.mesh.bye(y)},w.onerror=function(e){k(y)},w.onopen=function(){h.mesh.hi(y)},w.onmessage=function(e){e&&h.mesh.hear(e.data||e,y)},w}catch{h.mesh.bye(y)}}setTimeout(function(){!h.super&&u.on("out",{dam:"hi"})},1);var r=2*999;function k(y){clearTimeout(y.defer),h.peers[y.url]&&(a&&y.retry<=0||(y.retry=(y.retry||h.retry+1||60)-(-y.tried+(y.tried=+new Date)"u")){var i=function(){},o;try{o=(Gun.window||i).localStorage}catch{}o||(Gun.log("Warning: No localStorage exists to persist data to!"),o={setItem:function(h,d){this[h]=d},removeItem:function(h){delete this[h]},getItem:function(h){return this[h]}});var u=JSON.stringifyAsync||function(h,d,t,c){var s;try{d(s,JSON.stringify(h,t,c))}catch(r){d(r)}};Gun.on("create",function h(d){this.to.next(d);var t=d.opt;d.graph;var c=[],s,r,k,a;if(t.localStorage===!1)return;t.prefix=t.file||"gun/";try{s=h[t.prefix]=h[t.prefix]||JSON.parse(k=o.getItem(t.prefix))||{}}catch{s=h[t.prefix]={}}k=(k||"").length,d.on("get",function(v){this.to.next(v);var w=v.get,e,n,f,p;!w||!(e=w["#"])||(n=s[e]||p,n&&(f=w["."])&&!Object.plain(f)&&(n=Gun.state.ify({},f,Gun.state.is(n,f),n[f],e)),Gun.on.get.ack(v,n))}),d.on("put",function(v){this.to.next(v);var w=v.put,e=w["#"],n=w["."],f=v["#"],p=v.ok||"";if(s[e]=Gun.state.ify(s[e],n,w[">"],w[":"],e),a&&k>4999880){d.on("in",{"@":f,err:"localStorage max!"});return}!v["@"]&&(!v._.via||Math.random()=0||l===1/0||l===-1/0)}},g.text=g.text||{is:function(l){return O("text"),typeof l=="string"}},g.text.ify=g.text.ify||function(l){return O("text.ify"),g.text.is(l)?l:typeof JSON<"u"?JSON.stringify(l):l&&l.toString?l.toString():l},g.text.random=g.text.random||function(l,S){O("text.random");var j="";for(l=l||24,S=S||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";l>0;)j+=S.charAt(Math.floor(Math.random()*S.length)),l--;return j},g.text.match=g.text.match||function(l,S){var j,$;return O("text.match"),typeof l!="string"?!1:(typeof S=="string"&&(S={"=":S}),S=S||{},j=S["="]||S["*"]||S[">"]||S["<"],l===j?!0:$!==S["="]?!1:(j=S["*"]||S[">"]||S["<"],l.slice(0,(j||"").length)===j?!0:$!==S["*"]?!1:$!==S[">"]&&$!==S["<"]?l>=S[">"]&&l<=S["<"]:$!==S[">"]&&l>=S[">"]||$!==S["<"]&&l<=S["<"]))},g.text.hash=g.text.hash||function(l,S){if(O("text.hash"),typeof l=="string"){if(S=S||0,!l.length)return S;for(var j=0,$=l.length,B;j<$;++j)B=l.charCodeAt(j),S=(S<<5)-S+B,S|=0;return S}},g.list=g.list||{is:function(l){return O("list"),l instanceof Array}},g.list.slit=g.list.slit||Array.prototype.slice,g.list.sort=g.list.sort||function(l){return O("list.sort"),function(S,j){return!S||!j?0:(S=S[l],j=j[l],Sj?1:0)}},g.list.map=g.list.map||function(l,S,j){return O("list.map"),C(l,S,j)},g.list.index=1,g.obj=g.boj||{is:function(l){return O("obj"),l?l instanceof Object&&l.constructor===Object||Object.prototype.toString.call(l).match(/^\[object (\w+)\]$/)[1]==="Object":!1}},g.obj.put=g.obj.put||function(l,S,j){return O("obj.put"),(l||{})[S]=j,l},g.obj.has=g.obj.has||function(l,S){return O("obj.has"),l&&Object.prototype.hasOwnProperty.call(l,S)},g.obj.del=g.obj.del||function(l,S){if(O("obj.del"),!!l)return l[S]=null,delete l[S],l},g.obj.as=g.obj.as||function(l,S,j,$){return O("obj.as"),l[S]=l[S]||($===j?{}:j)},g.obj.ify=g.obj.ify||function(l){if(O("obj.ify"),p(l))return l;try{l=JSON.parse(l)}catch{l={}}return l},function(){var l;function S(j,$){b(this,$)&&l!==this[$]||(this[$]=j)}g.obj.to=g.obj.to||function(j,$){return O("obj.to"),$=$||{},C(j,S,$),$}}(),g.obj.copy=g.obj.copy||function(l){return O("obj.copy"),l&&JSON.parse(JSON.stringify(l))},function(){function l(S,j){var $=this.n,B;if(!($&&(j===$||p($)&&b($,j)))&&B!==j)return!0}g.obj.empty=g.obj.empty||function(S,j){return O("obj.empty"),S?!C(S,l,{n:j}):!0}}(),function(){function l($,B){if(arguments.length===2){l.r=l.r||{},l.r[$]=B;return}l.r=l.r||[],l.r.push($)}var S=Object.keys,j;Object.keys=Object.keys||function($){return j($,function(B,N,G){G(N)})},g.obj.map=j=g.obj.map||function($,B,N){O("obj.map");var G,U=0,J,P,R,I,M=typeof B=="function";if(l.r=G,S&&p($)&&(R=S($),I=!0),N=N||{},i($)||R)for(J=(R||$).length;U{m.once(function(o,u){g(o,u)})});return E?O.then(E):O};var kt={exports:{}},xt;function ut(){return xt||(xt=1,function(){function E(){var o=function(u,h,d){if(o.unit=0,!d&&g!==h&&(o.last=""+u0&&m[g-1]!==".."&&m[g-1]!=="."&&(m.splice(--g,2),g--);return E=m.join("/"),O&&E[0]!=="/"?E="/"+E:E.length===0&&(E="."),E}var wt={exports:{}},bt;function Y(){return bt||(bt=1,function(E){(function(){function m(g,i){return i?st("/")(g):g.slice?m[o(g)]:function(u,h){g(u={exports:{}}),m[o(h)]=u.exports};function o(u){return u.split("/").slice(-1).toString().replace(".js","")}}var O=E;m(function(g){String.random=function(o,u){var h="";for(o=o||24,u=u||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";o-- >0;)h+=u.charAt(Math.floor(Math.random()*u.length));return h},String.match=function(o,u){var h,d;return typeof o!="string"?!1:(typeof u=="string"&&(u={"=":u}),u=u||{},h=u["="]||u["*"]||u[">"]||u["<"],o===h?!0:d!==u["="]?!1:(h=u["*"]||u[">"],o.slice(0,(h||"").length)===h?!0:d!==u["*"]?!1:d!==u[">"]&&d!==u["<"]?o>=u[">"]&&o<=u["<"]:d!==u[">"]&&o>=u[">"]||d!==u["<"]&&o<=u["<"]))},String.hash=function(o,u){if(typeof o=="string"){if(u=u||0,!o.length)return u;for(var h=0,d=o.length,t;h=c.now()-h&&d++<3333){s();return}t(function(){h=c.now(),s()},d=0)}}(),function(){var o=setTimeout,u=o.turn=o.turn||function(r){h.push(r)==1&&d(s)},h=u.s=[],d=o.poll,t=0,c,s=function(){(c=h[t++])&&c(),(t==h.length||t==99)&&(h=u.s=h.slice(t),t=0),h.length&&d(s)}}(),function(){var o,u=setTimeout,h=u.turn;(u.each=u.each||function(d,t,c,s){s=s||9,function r(k,a,y){if(a=(k=(d||[]).splice(0,s)).length){for(var v=0;v"]||r;if(k)return typeof(k=k[s])=="number"?k:o},i.ify=function(c,s,r,k,a){(c=c||{})._=c._||{},a&&(c._["#"]=a);var y=c._[">"]||(c._[">"]={});return t!==s&&s!=="_"&&(typeof r=="number"&&(y[s]=r),t!==k&&(c[s]=k)),c},g.exports=i})(m,"./state"),m(function(g){m("./shim");function i(o){var u={s:{}},h=u.s;o=o||{max:999,age:1e3*9},u.check=function(t){return h[t]?d(t):!1};var d=u.track=function(t){var c=h[t]||(h[t]={});return c.was=u.now=+new Date,u.to||(u.to=setTimeout(u.drop,o.age+9)),d.ed&&d.ed(t),c};return u.drop=function(t){u.to=null,u.now=+new Date;var c=Object.keys(h);console.STAT&&console.STAT(u.now,+new Date-u.now,"dup drop keys"),setTimeout.each(c,function(s){var r=h[s];r&&(t||o.age)>u.now-r.was||delete h[s]},0,99)},u}g.exports=i})(m,"./dup"),m(function(g){m("./onto"),g.exports=function(o,u){if(this.on){var h=(this.opt||{}).lack||9e3;if(typeof o!="function"){if(!o)return;var t=o["#"]||o,d=(this.tag||"")[t];return d?(u&&(d=this.on(t,u),clearTimeout(d.err),d.err=setTimeout(function(){d.off()},h)),!0):void 0}var t=u&&u["#"]||i(9);if(!o)return t;var c=this.on(t,o,u);return c.err=c.err||setTimeout(function(){c.off(),c.next({err:"Error: No ACK yet.",lack:!0})},h),t}};var i=String.random||function(){return Math.random().toString(36).slice(2)}})(m,"./ask"),m(function(g){function i(a){return a instanceof i?(this._={$:this}).$:this instanceof i?i.create(this._={$:this,opt:a}):new i(a)}i.is=function(a){return a instanceof i||a&&a._&&a===a._.$||!1},i.version=.202,i.chain=i.prototype,i.chain.toJSON=function(){},m("./shim"),i.valid=m("./valid"),i.state=m("./state"),i.on=m("./onto"),i.dup=m("./dup"),i.ask=m("./ask"),function(){i.create=function(l){l.root=l.root||l,l.graph=l.graph||{},l.on=l.on||i.on,l.ask=l.ask||i.ask,l.dup=l.dup||i.dup();var S=l.$.opt(l.opt);return l.once||(l.on("in",a,l),l.on("out",a,l),l.on("put",w,l),i.on("create",l),l.on("create",l)),l.once=1,S};function a(l){if(l){if(l.out===a){this.to.next(l);return}var S=this,j=S.as,$=j.at||j,B=$.$,N=$.dup,G,U=l.DBG;if((G=l["#"])||(G=l["#"]=u(9)),!N.check(G)){if(N.track(G),G=l._,l._=typeof G=="function"?G:function(){},l.$&&l.$===(l.$._||"").$||(l.$=B),l["@"]&&!l.put&&n(l),!$.ask(l["@"],l))if(U&&(U.u=+new Date),l.put){y(l);return}else l.get&&i.on.get(l,B);U&&(U.uc=+new Date),S.to.next(l),U&&(U.ua=+new Date),!(l.nts||l.NTS)&&(l.out=a,$.on("out",l),U&&(U.ue=+new Date))}}}function y(l){if(l){var S=l._||"",j=S.root=((S.$=l.$||"")._||"").root;if(l["@"]&&S.faith&&!S.miss){l.out=a,j.on("out",l);return}S.latch=j.hatch,S.match=j.hatch=[];var $=l.put,B=S.DBG=l.DBG,N=+new Date;if(A=A||N,!($["#"]&&$["."])){B&&(B.p=N),S["#"]=l["#"],S.msg=l,S.all=0,S.stun=1;var G=Object.keys($);console.STAT&&console.STAT(N,((B||S).pk=+new Date)-N,"put sort");var U=0,J,P,R,I,M,H,Q;(function W(et){if(J!=U){if(J=U,!(R=G[U])){console.STAT&&console.STAT(N,((B||S).pd=+new Date)-N,"put"),e(S);return}(I=$[R])?(Q=I._)?R!==Q["#"]?H=p+x(R)+"soul not same.":(M=Q[">"])||(H=p+x(R)+"no state."):H=p+x(R)+"no meta.":H=p+x(R)+"no node.",P=Object.keys(I||{})}if(H){l.err=S.err=H,e(S);return}var ct=0,F;for(et=et||0;et++<9&&(F=P[ct++]);)if(F!=="_"){var nt=I[F],ft=M[F];if(s===ft){H=p+x(F)+"on"+x(R)+"no state.";break}if(!d(nt)){H=p+x(F)+"on"+x(R)+"bad "+typeof nt+x(nt);break}v(nt,F,R,ft,l),++C}if((P=P.slice(ct)).length){h(W);return}++U,P=null,W(et)})()}}}i.on.put=y;function v(l,S,j,$,B){var N=B._||"",G=N.root,U=G.graph,J,P=U[j]||r,R=t(P,S,1),I=P[S],M=N.DBG;(J=console.STAT)&&(!U[j]||!I)&&(J.has=(J.has||0)+1);var H=D();if($>H){setTimeout(function(){v(l,S,j,$,B)},(J=$-H)>T?T:J),console.STAT&&console.STAT((M||N).Hf=+new Date,J,"future");return}if(!($":$},ok:B.ok,_:N})}}function w(l){var S;(S=(l._||"").DBG)&&(S.pa=+new Date,S.pm=S.pm||+new Date);var j=this,$=j.as,B=$.graph,N=l._,G=l.put,U=G["#"],J=G["."],P=G[":"],R=G[">"];l["#"];var I;(I=N.msg)&&(I=I.put)&&(I=I[U])&&c(I,J,R,P,U),B[U]=c(B[U],J,R,P,U),(I=($.next||"")[U])&&I.on("in",l),e(N),j.to.next(l)}function e(l,S){var j;if(!l.stop&&!(!l.err&&0<--l.stun)&&(l.stop=1,!!(j=l.root))){var $=l.match;$.end=1,$===j.hatch&&(!($=l.latch)||$.end?delete j.hatch:j.hatch=$),l.hatch&&l.hatch(),setTimeout.each(l.match,function(B){B&&B()}),!(!(S=l.msg)||l.err||S.err)&&(S.out=a,l.root.on("out",S),_())}}function n(l){var S=l["@"]||"",j;if(!(j=S._)){var $=($=l.$)&&($=$._)&&($=$.root)&&($=$.dup);if(!($=$.check(S)))return;l["@"]=$["#"]||l["@"];return}j.acks=(j.acks||0)+1,(j.err=l.err)&&(l["@"]=j["#"],e(j)),j.ok=l.ok||j.ok,!j.stop&&!j.crack&&(j.crack=j.match&&j.match.push(function(){f(j)})),f(j)}function f(l){!l||!l.root||l.stun||l.acks!==l.all||l.root.on("in",{"@":l["#"],err:l.err,ok:l.err?s:l.ok||{"":1}})}var p="Error: Invalid graph!",x=function(l){return" '"+(""+l).slice(0,9)+"...' "},b=JSON.stringify,T=2147483647,D=i.state,C=0,A,_=function(){C>999&&C/-(A-(A=+new Date))>1&&(i.window&&console.log("Warning: You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."),_=function(){C=0})}}(),function(){i.on.get=function(y,v){var w=v._,e=y.get,n=e["#"],f=w.graph[n],p=e["."],x=w.next||(w.next={}),b=x[n],T=y._||{},D=T.DBG=y.DBG;if(D&&(D.g=+new Date),!f)return w.on("get",y);if(p){if((typeof p!="string"||s===f[p])&&!((b||"").next||"")[p]){w.on("get",y);return}f=c({},p,t(f,p),f[p],n)}f&&a(y,f),w.on("get",y)};function a(y,v){var w=+new Date,e=y._||{},n=e.DBG=y.DBG,f=y["#"],p=u(9),x=Object.keys(v||"").sort(),b=((v||"")._||"")["#"];x.length;var T=y.$._.root,D=v===T.graph[b];console.STAT&&console.STAT(w,((n||e).gk=+new Date)-w,"got keys"),v&&function C(){w=+new Date;for(var A=0,_,l={},S;A<9&&(_=x[A++]);)c(l,_,t(v,_),v[_],b);x=x.slice(A),(S={})[b]=l,l=S;var j;D&&(j=function(){},j.ram=j.faith=!0),S=x.length,console.STAT&&console.STAT(w,-(w-(w=+new Date)),"got copied some"),n&&(n.ga=+new Date),T.on("in",{"@":f,"#":p,put:l,"%":S?p=u(9):s,$:T.$,_:j,DBG:n,FOO:1}),console.STAT&&console.STAT(w,+new Date-w,"got in"),S&&setTimeout.turn(C)}(),v||T.on("in",{"@":y["#"]})}i.on.get.ack=a}(),function(){i.chain.opt=function(a){a=a||{};var y=this,v=y._,w=a.peers||a;return Object.plain(a)||(a={}),Object.plain(v.opt)||(v.opt=a),typeof w=="string"&&(w=[w]),Object.plain(v.opt.peers)||(v.opt.peers={}),w instanceof Array&&(a.peers={},w.forEach(function(e){var n={};n.id=n.url=e,a.peers[e]=v.opt.peers[e]=v.opt.peers[e]||n})),o(a,function e(n){var f=this[n];if(this&&this.hasOwnProperty(n)||typeof f=="string"||Object.empty(f)){this[n]=f;return}f&&f.constructor!==Object&&!(f instanceof Array)||o(f,e)}),v.opt.from=a,i.on("opt",v),v.opt.uuid=v.opt.uuid||function(e){return i.state().toString(36).replace(".","")+String.random(e||12)},y}}();var o=function(a,y){Object.keys(a).forEach(y,a)},u=String.random,h=setTimeout.turn,d=i.valid,t=i.state.is,c=i.state.ify,s,r={},k;i.log=function(){return!i.log.off&&k.log.apply(k,arguments),[].slice.call(arguments).join(" ")},i.log.once=function(a,y,v){return(v=i.log.once)[a]=v[a]||0,v[a]++||i.log(y)},typeof window<"u"&&((window.GUN=window.Gun=i).window=window);try{typeof O<"u"&&(O.exports=i)}catch{}g.exports=i,(i.window||{}).console=(i.window||{}).console||{log:function(){}},(k=console).only=function(a,y){return k.only.i&&a===k.only.i&&k.only.i++&&(k.log.apply(k,arguments)||y)},i.log.once("welcome","Hello wonderful person! :) Thanks for using GUN, please ask for help on http://chat.gun.eco if anything takes you longer than 5min to figure out!")})(m,"./root"),m(function(g){var i=m("./root");i.chain.back=function(h,d){var t;if(h=h||1,h===-1||h===1/0)return this._.root.$;if(h===1)return(this._.back||this._).$;var c=this,s=c._;if(typeof h=="string"&&(h=h.split(".")),h instanceof Array){var r=0,k=h.length,t=s;for(r;r":v(x.graph[p.soul],n)}}),b))return}else{if(b=p.ask&&p.ask[""],(p.ask||(p.ask={}))[""]=p,s!==p.put&&(p.on("in",p),b))return;e.$=p.$}return x.ask(t,e),x.on("in",e)}if(n["."])return f.get?(e={get:{".":f.get},$:f.$},(p.ask||(p.ask={}))[f.get]=e.$._,p.on("out",e)):(e={get:f.lex?e.get:{},$:f.$},p.on("out",e));if((f.ask||(f.ask={}))[""]=f,f.get)return n["."]=f.get,(p.ask||(p.ask={}))[f.get]=e.$._,p.on("out",e)}return p.on("out",e)}i.on.out=o;function u(e,n){n=n||this.as;var f=n.root,p=e.$||(e.$=n.$),x=(p||"")._||c,b=e.put||"",T=b["#"],D=b["."],C=s!==b["="]?b["="]:b[":"],A=b[">"]||-1/0,_;if(s!==e.put&&(s===b["#"]||s===b["."]||s===b[":"]&&s===b["="]||s===b[">"])){if(!k(b)){if(!(T=((b||"")._||"")["#"])){console.log("chain not yet supported for",b,"...",e,n);return}return p=n.root.$.get(T),setTimeout.each(Object.keys(b).sort(),function(l){l=="_"||s===(A=v(b,l))||n.on("in",{$:p,put:{"#":T,".":l,"=":b[l],">":A},VIA:e})})}n.on("in",{$:x.back.$,put:{"#":T=x.back.soul,".":D=x.has||x.get,"=":b,">":v(x.back.put,D)},via:e});return}(e.seen||"")[n.id]||((e.seen||(e.seen=function(){}))[n.id]=n,n!==x&&(Object.keys(e).forEach(function(l){b[l]=e[l]},b={}),b.get=n.get||b.get,!n.soul&&!n.has?b.$$$=b.$$$||n.$:x.soul&&(b.$=n.$,b.$$=b.$$||x.$),e=b),d(e,n),(n.soul||e.$$)&&A>=v(f.graph[T],D)&&((b=f.$.get(T)._).put=w(b.put,D,A,C,T)),!x.soul&&A>=v(f.graph[T],D)&&(_=(f.$.get(T)._.next||"")[D])&&(_.put=C,typeof(b=k(C))=="string"&&(_.put=f.$.get(b)._.put||C)),this.to&&this.to.next(e),n.any&&setTimeout.each(Object.keys(n.any),function(l){(l=n.any[l])&&l(e)},0,99),n.echo&&setTimeout.each(Object.keys(n.echo),function(l){(l=n.echo[l])&&l.on("in",e)},0,99),((e.$$||"")._||x).soul&&(_=n.next)&&(_=_[D])&&(b={},Object.keys(e).forEach(function(l){b[l]=e[l]}),b.$=(e.$$||e.$).get(b.get=D),delete b.$$,delete b.$$$,_.on("in",b)),h(e,n))}i.on.in=u;function h(e,n){if(n=n||this.as||e.$._,!(e.$$&&this!==i.on)&&!(!e.put||n.soul)){var f=e.put||"",p=f["="]||f[":"],x,b=n.root,T=b.$.get(f["#"]).get(f["."])._;if(typeof(p=k(p))!="string"){this===i.on&&((T.echo||(T.echo={}))[n.id]=n);return}if(!((T.echo||(T.echo={}))[n.id]&&!(b.pass||"")[n.id])){if(x=b.pass){if(x[p+n.id])return;x[p+n.id]=1}(T.echo||(T.echo={}))[n.id]=n,n.has&&(n.link=p);var D=b.$.get(T.link=p)._;(D.echo||(D.echo={}))[T.id]=T;var x=n.ask||"";(x[""]||n.lex)&&D.on("out",{get:{"#":p}}),setTimeout.each(Object.keys(x),function(A,_){!A||!(_=x[A])||_.on("out",{get:{"#":p,".":A}})},0,99)}}}i.on.link=h;function d(e,n){var f=e.put||"",p=s!==f["="]?f["="]:f[":"],x=n.root,b,T;if(s===p){if(n.soul&&s!==n.put||(T=(e.$$||e.$||"")._||"",e["@"]&&(s!==T.put||s!==n.put)))return;(b=n.link||e.linked)&&delete(x.$.get(b)._.echo||"")[n.id],n.has&&(n.link=null),n.put=s,setTimeout.each(Object.keys(n.next||""),function(D,C){(C=n.next[D])&&(b&&delete(x.$.get(b).get(D)._.echo||"")[C.id],C.on("in",{get:D,put:s,$:C.$}))},0,99);return}n.soul||e.$$||(b=k(p),T=e.$._||"",!((b===T.link||n.has&&!T.link)&&!((x.pass||"")[n.id]&&typeof b!="string"))&&(delete(T.echo||"")[n.id],d({get:n.get,put:s,$:e.$,linked:e.linked=e.linked||T.link},n)))}i.on.unlink=d;function t(e,n){var f=this.as,p=f.$._;p.root;var x=f.get||"",b=(e.put||"")[x["#"]]||"";if(!e.put||typeof x["."]=="string"&&s===b[x["."]]){if(s!==p.put||!p.soul&&!p.has)return;p.ack=(p.ack||0)+1,p.on("in",{get:p.get,put:p.put=s,$:p.$,"@":e["@"]});return}(e._||{}).miss=1,i.on.put(e)}var c={},s,r=String.random,k=i.valid,a=function(e,n){return e&&Object.prototype.hasOwnProperty.call(e,n)},y=i.state,v=y.is,w=y.ify})(m,"./chain"),m(function(g){var i=m("./root");i.chain.get=function(s,r,k){var a,y;if(typeof s=="string"){if(s.length==0)return(a=this.chain())._.err={err:i.log("0 length key!",s)},r&&r.call(a,a._.err),a;var v=this,w=v._,e=w.next||d;(a=e[s])||(a=s&&o(s,v)),a=a&&a.$}else if(typeof s=="function"){let b=function(D,C,A){if(!b.stun&&!((B=f.pass)&&!B[p])){var _=D.$._,l=(D.$$||"")._,S=(l||_).put,j=!_.has&&!_.soul,$={},B;if((j||c===S)&&(S=c===((B=D.put)||"")["="]?c===(B||"")[":"]?B:B[":"]:B["="]),typeof(B=i.valid(S))=="string"&&(S=c===(B=f.$.get(B)._.put)?n.not?c:S:B),!(n.not&&c===S)){if(c===n.stun){if((B=f.stun)&&B.on&&(w.$.back(function(N){if(B.on(""+N.id,$={}),($.run||0)$.run&&((!$.stun||$.stun.end)&&($.stun=B.on("stun"),$.stun=$.stun&&$.stun.last),$.stun&&!$.stun.end))){($.stun.add||($.stun.add={}))[p]=function(){b(D,C,1)};return}if(c===S&&(A=0),(B=f.hatch)&&!B.end&&c===n.hatch&&!A){if(x[_.$._.id])return;x[_.$._.id]=1,B.push(function(){b(D,C,1)});return}x={}}if(f.pass){if(f.pass[p+_.id])return;f.pass[p+_.id]=1}if(n.on){n.ok.call(_.$,S,_.get,D,C||b);return}if(n.v2020){n.ok(D,C||b);return}Object.keys(D).forEach(function(N){B[N]=D[N]},B={}),D=B,D.put=S,n.ok.call(n.as,D,C||b)}}};if(r===!0)return u(this,s,r,k),this;a=this;var w=a._,n=r||{},f=w.root,p;n.at=w,n.ok=s;var x={};return b.at=w,(w.any||(w.any={}))[p=String.random(7)]=b,b.off=function(){b.stun=1,w.any&&delete w.any[p]},b.rid=h,b.id=n.run||++f.once,y=f.pass,(f.pass={})[p]=1,n.out=n.out||{get:{}},w.on("out",n.out),f.pass=y,a}else{if(typeof s=="number")return this.get(""+s,r,k);if(typeof(y=t(s))=="string")return this.get(y,r,k);(y=this.get.next)&&(a=y(this,s))}return a?(r&&typeof r=="function"&&a.get(r,k),a):((a=this.chain())._.err={err:i.log("Invalid get request!",s)},r&&r.call(a,a._.err),a)};function o(s,r){var k=r._,a=k.next,y=r.chain(),v=y._;return a||(a=k.next={}),a[v.get=s]=v,r===k.root.$?v.soul=s:(k.soul||k.has)&&(v.has=s),v}function u(s,r,k,a){var y=s._,v=0,w;return(w=y.soul||y.link)?r(w,a,y):y.jam?y.jam.push([r,a]):(y.jam=[[r,a]],s.get(function(e,n){if(!(c===e.put&&!y.root.opt.super&&(w=Object.keys(y.root.opt.peers).length)&&++v<=w)){n.rid(e);var f=(f=e.$)&&f._||{},p=0,x;for(w=y.jam,delete y.jam;x=w[p++];){var b=x[0];x=x[1],b&&b(f.link||f.soul||i.valid(e.put)||((e.put||{})._||{})["#"],x,e,n)}}},{out:{get:{".":!0}}}),s)}function h(s){var r=this.at||this.on;if(!s||r.soul||r.has)return this.off();if(s=(s=(s=s.$||s)._||s).id){r.map;var k;if((k=this.seen||(this.seen={}))[s])return!0;k[s]=!0}}var d={},t=i.valid,c})(m,"./get"),m(function(g){var i=m("./root");i.chain.put=function(a,y,v){var w=this,e=w._,n=e.root;v=v||{},v.root=e.root,v.run||(v.run=n.once),o(v,e.id),v.ack=v.ack||y,v.via=v.via||w,v.data=v.data||a,v.soul||(v.soul=e.soul||typeof y=="string"&&y);var f=v.state=v.state||i.state();return typeof a=="function"?(a(function(p){v.data=p,w.put(t,t,v)}),w):v.soul?(v.$=n.$.get(v.soul),v.todo=[{it:v.data,ref:v.$}],v.turn=v.turn||s,v.ran=v.ran||u,function p(){var x=v.todo,b=x.pop(),T=b.it;b.ref&&b.ref._.id;var D,C,A,_,l;if(o(v,b.ref),(_=b.todo)&&(C=_.pop(),T=T[C],_.length&&x.push(b)),C&&(x.path||(x.path=[])).push(C),!(D=r(T))&&!(l=i.is(T))){if(!Object.plain(T)){u.err(v,"Invalid data: "+d(T)+" at "+(v.via.back(function(B){B.get&&_.push(B.get)},_=[])||_.join("."))+"."+(x.path||[]).join("."));return}for(var S=v.seen||(v.seen=[]),j=S.length;j--;)if(T===(_=S[j]).it){D=T=_.link;break}}if(C&&D)b.node=k(b.node,C,f,T);else{let B=function(N,G){var U=A.link["#"];G&&(G.off(),G.rid(N));var J=U||N.soul||(_=(N.$$||N.$)._||"").soul||_.link||((_=_.put||"")._||"")["#"]||_["#"]||((_=N.put||"")&&N.$$?_["#"]:(_["="]||_[":"]||"")["#"]);if(!U&&o(v,N.$),!J&&!b.link["#"]){(b.wait||(b.wait=[])).push(function(){B(N,G)});return}J||(J=[],(N.$$||N.$).back(function(P){if(_=P.soul||P.link)return J.push(_);J.push(P.get)}),J=J.reverse().join("/")),A.link["#"]=J,!l&&(((v.graph||(v.graph={}))[J]=A.node||(A.node={_:{}}))._["#"]=J),delete v.wait[$],A.wait&&setTimeout.each(A.wait,function(P){P&&P()}),v.ran(v)};if(!v.seen){u.err(v,"Data at root of graph must be a node (an object).");return}v.seen.push(A={it:T,link:{},todo:l?[]:Object.keys(T).sort().reverse(),path:(x.path||[]).slice(),up:b}),b.node=k(b.node,C,f,A.link),!l&&A.todo.length&&x.push(A);var $=v.seen.length;(v.wait||(v.wait={}))[$]="",_=(A.ref=l?T:C?b.ref.get(C):b.ref)._,(_=T&&(T._||"")["#"]||_.soul||_.link)?B({soul:_}):A.ref.get(B,{run:v.run,v2020:1,out:{get:{".":" "}}})}if(!x.length)return v.ran(v);v.turn(p)}(),w):(h(v),w)};function o(a,y){if(y){y=(y._||"").id||y;var v=a.root.stun||(a.root.stun={on:i.on}),w={},e;a.stun||(a.stun=v.on("stun",function(){})),(e=v.on(""+y))&&e.the.last.next(w),!(w.run>=a.run)&&v.on(""+y,function(n){if(a.stun.end){this.off(),this.to.next(n);return}n.run=n.run||a.run,n.stun=n.stun||a.stun})}}function u(a){if(a.err){u.end(a.stun,a.root);return}if(!(a.todo.length||a.end||!Object.empty(a.wait))){a.end=1;var y=a.$.back(-1)._,v=y.root,w=y.ask(function(p){v.on("ack",p),p.err&&!p.lack&&i.log(p),++e>(a.acks||0)&&this.off(),a.ack&&a.ack(p,this)},a.opt),e=0,n=a.stun,f;(f=function(){n&&(u.end(n,v),setTimeout.each(Object.keys(n=n.add||""),function(p){(p=n[p])&&p()}))}).hatch=f,a.ack&&!a.ok&&(a.ok=a.acks||9),a.via._.on("out",{put:a.out=a.graph,ok:a.ok&&{"@":a.ok+1},opt:a.opt,"#":w,_:f})}}u.end=function(a,y){a.end=c,a.the.to===a&&a===a.the.last&&delete y.stun,a.off()},u.err=function(a,y){(a.ack||c).call(a,a.out={err:a.err=i.log(y)}),a.ran(a)};function h(a){var y=a.via._,v;a.via=a.via.back(function(w){if(w.soul||!w.get)return w.$;v=a.data,(a.data={})[w.get]=v}),(!a.via||!a.via._.soul)&&(a.via=y.root.$.get(((a.data||"")._||"")["#"]||y.$.back("opt.uuid")())),a.via.put(a.data,a.ack,a)}function d(a,y){return a&&(y=a.constructor)&&y.name||typeof a}var t,c=function(){},s=setTimeout.turn,r=i.valid,k=i.state.ify})(m,"./put"),m(function(g){var i=m("./root");m("./chain"),m("./back"),m("./put"),m("./get"),g.exports=i})(m,"./index"),m(function(g){var i=m("./index");i.chain.on=function(h,d,t,c){var s=this,r=s._;r.root;var k;if(typeof h=="string")return d?(k=r.on(h,d,t||r,c),t&&t.$&&(t.subs||(t.subs=[])).push(k),s):r.on(h);var a=d;return(a=a===!0?{change:!0}:a||{}).not=1,a.on=1,s.get(h,a),s},i.chain.once=function(h,d){if(d=d||{},!h)return o(this);var t=this,c=t._,s=c.root;c.put;var r=String.random(7),k;return t.get(function(a,y,v,w){var e=this,n=e._,f=n.one||(n.one={});if(w.stun||f[r]==="")return;if((k=i.valid(a))===!0){p();return}if(typeof k=="string")return;clearTimeout((c.one||"")[r]),clearTimeout(f[r]),f[r]=setTimeout(p,d.wait||99);function p(x){if(!n.has&&!n.soul&&(n={put:a,get:y}),u===(k=n.put)&&(k=((v.$$||"")._||"").put),typeof i.valid(k)=="string"&&(k=s.$.get(k)._.put,k===u&&!x)){f[r]=setTimeout(function(){p(1)},d.wait||99);return}w.stun||f[r]!==""&&(f[r]="",(c.soul||c.has)&&w.off(),h.call(e,k,n.get),clearTimeout(f[r]))}},{on:1}),t};function o(h,d,t){return i.log.once("valonce","Chainable val is experimental, its behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),(t=h.chain())._.nix=h.once(function(c,s){t._.on("in",this._)}),t._.lex=h._.lex,t}i.chain.off=function(){var h=this,d=h._,t,c=d.back;if(c)return d.ack=0,(t=c.next)&&t[d.get]&&delete t[d.get],(t=c.any)&&(delete c.any,c.any={}),(t=c.ask)&&delete t[d.get],(t=c.put)&&delete t[d.get],(t=d.soul)&&delete c.root.graph[t],(t=d.map)&&Object.keys(t).forEach(function(s,r){r=t[s],r.link&&c.root.$.get(r.link).off()}),(t=d.next)&&Object.keys(t).forEach(function(s,r){r=t[s],r.$.off()}),d.on("off",{}),h};var u})(m,"./on"),m(function(g){var i=m("./index"),o=i.chain.get.next;i.chain.get.next=function(t,c){var s;return Object.plain(c)?(s=((s=c["#"])||"")["="]||s)?t.get(s):((s=t.chain()._).lex=c,t.on("in",function(r){String.match(r.get||(r.put||"")["."],c["."]||c["#"]||c)&&s.on("in",r),this.to.next(r)}),s.$):(o||h)(t,c)},i.chain.map=function(t,c,s){var r=this,k=r._,a,y;return Object.plain(t)&&(a=t["."]?t:{".":t},t=d),t?(i.log.once("mapfn","Map functions are experimental, their behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),y=r.chain(),r.map().on(function(v,w,e,n){var f=(t||h).call(this,v,w,e,n);if(d!==f){if(v===f)return y._.on("in",e);if(i.is(f))return y._.on("in",f._);var p={};Object.keys(e.put).forEach(function(x){p[x]=e.put[x]},p),p["="]=f,y._.on("in",{get:w,put:p})}}),y):((y=k.each)||((k.each=y=r.chain())._.lex=a||y._.lex||k.lex,y._.nix=r.back("nix"),r.on("in",u,y._)),y)};function u(t){this.to.next(t);var c=this.as,s=t.$,r=s._,k=t.put,a;!r.soul&&!t.$$||(a=c.lex)&&!String.match(t.get||(k||"")["."],a["."]||a["#"]||a)||i.on.link(t,c)}var h=function(){},d})(m,"./map"),m(function(g){var i=m("./index");i.chain.set=function(o,u,h){var d=this,t=d.back(-1),c,s;return u=u||function(){},h=h||{},h.item=h.item||o,(c=((o||"")._||"")["#"])&&((o={})["#"]=c),typeof(s=i.valid(o))=="string"?d.get(c=s).put(o,u,h):i.is(o)?(d.put(function(r){o.get(function(k,a,y){if(!k)return u.call(d,{err:i.log('Only a node can be linked! Not "'+y.put+'"!')});(s={})[k]={"#":k},r(s)},!0)}),o):(Object.plain(o)&&(o=t.get(c=d.back("opt.uuid")()).put(o)),d.get(c||t.back("opt.uuid")(7)).put(o,u,h))}})(m,"./set"),m(function(g){m("./shim");var i=function(){},o=JSON.parseAsync||function(t,c,s){var r,k=+new Date;try{c(r,JSON.parse(t,s),u.sucks(+new Date-k))}catch(a){c(a)}},u=JSON.stringifyAsync||function(t,c,s,r){var k,a=+new Date;try{c(k,JSON.stringify(t,s,r),u.sucks(+new Date-a))}catch(y){c(y)}};u.sucks=function(t){t>99&&(console.log("Warning: JSON blocking CPU detected. Add `gun/lib/yson.js` to fix."),u.sucks=i)};function h(t){var c=function(){},s=t.opt||{};s.log=s.log||console.log,s.gap=s.gap||s.wait||0,s.max=s.max||(s.memory?s.memory*999*999:3e8)*.3,s.pack=s.pack||s.max*.01*.01,s.puff=s.puff||9;var r=setTimeout.turn||setTimeout,k=t.dup,a=k.check,y=k.track,v=c.hear=function(n,f){if(n){if(s.max<=n.length)return c.say({dam:"!",err:"Message too big!"},f);c===this&&(v.d+=n.length||0,++v.c);var p=f.SH=+new Date,x=n[0],b;if(x==="["){o(n,function(T,D){if(T||!D)return c.say({dam:"!",err:"DAM JSON parse error."},f);console.STAT&&console.STAT(+new Date,D.length,"# on hear batch");var C=s.puff;(function A(){for(var _=+new Date,l=0,S;l<"])&&typeof T=="string"&&T.slice(0,99).split(",").forEach(function(_){this[_]=1},n._.yo={}),T=n.dam){(T=c.hear[T])&&T(n,f,t),y(x);return}(T=n.ok)&&(n._.near=T["/"]);var p=+new Date;C&&(C.is=p),f.SI=x,y.ed=function(_){x===_&&(y.ed=0,(_=k.s[x])&&(_.via=f,n.get&&(_.it=n)))},t.on("in",c.last=n),C&&(C.hd=+new Date),console.STAT&&console.STAT(p,+new Date-p,n.get?"msg get":n.put?"msg put":"msg"),y(x),D&&y(D),c.leap=c.last=null}},v.c=v.d=0,function(){var n=0,f;c.hash=function(b,T){var D,C,A,_=+new Date;u(b.put,function l(S,j){var $=(C||(C=A=j||"")).slice(0,32768);if(D=String.hash($,D),C=C.slice(32768),C){r(l,0);return}console.STAT&&console.STAT(_,+new Date-_,"say json+hash"),b._.$put=A,b["##"]=D,c.say(b,T),delete b._.$put},p)};function p(b,T){var D;return T instanceof Object?(Object.keys(T).sort().forEach(x,{to:D={},on:T}),D):T}function x(b){this.to[b]=this.on[b]}c.say=function(b,T){var D;if((D=this)&&(D=D.to)&&D.next&&D.next(b),!b)return!1;var C,A,_,l=b["@"],S=b._||(b._=function(){}),j=b.DBG,$=+new Date;if(S.y=S.y||$,T||j&&(j.y=$),(C=b["#"])||(C=b["#"]=String.random(9)),!f&&y(C),!(A=b["##"])&&d!==b.put&&!S.via&&l){c.hash(b,T);return}if(!T&&l&&(T=(D=k.s[l])&&(D.via||(D=D.it)&&(D=D._)&&D.via)||(D=c.last)&&l===D["#"]&&c.leap),!T&&l)return k.s[l]?void 0:(console.STAT&&console.STAT(+new Date,++n,"total no peer to ack to"),!1);if(l&&!b.put&&!A&&((k.s[l]||"").it||"")["##"])return!1;if(!T&&c.way)return c.way(b);if(j&&(j.yh=+new Date),!(_=S.raw)){c.raw(b,T);return}if(j&&(j.yr=+new Date),!T||!T.id){if(!Object.plain(T||s.peers))return!1;var $=+new Date;s.puff;var B=s.peers,N=Object.keys(T||s.peers||{});console.STAT&&console.STAT($,+new Date-$,"peer keys"),function J(){var P=+new Date;f=1;var R=S.raw;S.raw=_;for(var I=0,M;I<9&&(M=(N||"")[I++]);)(M=B[M]||(T||"")[M])&&c.say(b,M);S.raw=R,f=0,N=N.slice(I),console.STAT&&console.STAT(P,+new Date-P,"say loop"),N.length&&(r(J,0),l&&y(l))}();return}if(!T.wire&&c.wire&&c.wire(T),C!==T.last){if(T.last=C,T===S.via||(D=S.yo)&&(D[T.url]||D[T.pid]||D[T.id]))return!1;if(console.STAT&&console.STAT($,((j||S).yp=+new Date)-(S.y||$),"say prep"),!f&&l&&y(l),T.batch){if(T.tail=(D=T.tail||0)+_.length,T.tail<=s.pack){T.batch+=(D?",":"")+_;return}w(T)}T.batch="[";var G=+new Date;setTimeout(function(){console.STAT&&console.STAT(G,+new Date-G,"0ms TO"),w(T)},s.gap),e(_,T),console.STAT&&l===T.SI&&console.STAT($,+new Date-T.SH,"say ack")}},c.say.c=c.say.d=0,c.raw=function(b,T){if(!b)return"";var D=b._||{},C,A;if(A=D.raw)return A;if(typeof b=="string")return b;var _=b["##"],l=b["@"];if(_&&l){if(!D.via&&a(l+_))return!1;if(A=(k.s[l]||"").it){if(_===A["##"])return!1;A["##"]||(A["##"]=_)}}if(!b.dam&&!b["@"]){var S=0,j=[];A=s.peers;for(var $ in A){var B=A[$];if(j.push(B.url||B.pid||B.id),++S>6)break}S>1&&(b["><"]=j.join())}if(b.put&&(A=b.ok)&&(b.ok={"@":(A["@"]||1)-1,"/":A["/"]==b._.near?c.near:A["/"]}),C=D.$put){A={},Object.keys(b).forEach(function(G){A[G]=b[G]}),A.put=":])([:",u(A,function(G,U){if(!G){var J=+new Date;A=U.indexOf('"put":":])([:"'),N(d,U=U.slice(0,A+6)+C+U.slice(A+14)),console.STAT&&console.STAT(J,+new Date-J,"say slice")}});return}u(b,N);function N(G,U){G||(D.raw=U,c.say(b,T))}}}();function w(n){var f=n.batch,p=typeof f=="string";if(p&&(f+="]"),n.batch=n.tail=null,!!f&&!(p?3>f.length:!f.length)){if(!p)try{f=f.length===1?f[0]:JSON.stringify(f)}catch(x){return s.log("DAM JSON stringify error",x)}f&&e(f,n)}}function e(n,f){try{var p=f.wire;f.say?f.say(n):p.send&&p.send(n),c.say.d+=n.length||0,++c.say.c}catch{(f.queue=f.queue||[]).push(n)}}return c.near=0,c.hi=function(n){var f=n.wire,p;if(!f){c.wire(n.length&&{url:n,id:n}||n);return}n.id?s.peers[n.url||n.id]=n:(p=n.id=n.id||n.url||String.random(9),c.say({dam:"?",pid:t.opt.pid},s.peers[p]=n),delete k.s[n.last]),n.met||(c.near++,n.met=+new Date,t.on("hi",n)),p=n.queue,n.queue=[],setTimeout.each(p||[],function(x){e(x,n)},0,9)},c.bye=function(n){n.met&&--c.near,delete n.met,t.on("bye",n);var f=+new Date;f=f-(n.met||f),c.bye.time=((c.bye.time||f)+f)/2},c.hear["!"]=function(n,f){s.log("Error:",n.err)},c.hear["?"]=function(n,f){n.pid&&(f.pid||(f.pid=n.pid),n["@"])||(c.say({dam:"?",pid:s.pid,"@":n["#"]},f),delete k.s[f.last])},c.hear.mob=function(n,f){if(n.peers){var p=Object.keys(n.peers),x=p[Math.random()*p.length>>0];x&&(c.bye(f),c.hi(x))}},t.on("create",function(n){n.opt.pid=n.opt.pid||String.random(9),this.to.next(n),n.on("out",c.say)}),t.on("bye",function(n,f){n=s.peers[n.id||n]||n,this.to.next(n),n.bye?n.bye():(f=n.wire)&&f.close&&f.close(),delete s.peers[n.id],n.wire=null}),t.on("bye",function(n,f){this.to.next(n),(f=console.STAT)&&(f.peers=c.near),(f=n.url)&&setTimeout(function(){},s.lack||9e3)}),t.on("hi",function(n,f){if(this.to.next(n),(f=console.STAT)&&(f.peers=c.near),!s.super){var p=Object.keys(t.next||"");p.length>9999&&!console.SUBS&&console.log(console.SUBS="Warning: You have more than 10K live GETs, which might use more bandwidth than your screen can show - consider `.off()`."),setTimeout.each(p,function(x){var b=t.next[x];if(s.super||(b.ask||"")[""]){c.say({get:{"#":x}},n);return}setTimeout.each(Object.keys(b.ask||""),function(T){T&&c.say({"##":String.hash((t.graph[x]||"")[T]),get:{"#":x,".":T}},n)})})}}),c}var d;try{g.exports=h}catch{}})(m,"./mesh"),m(function(g){var i=m("./index");i.Mesh=m("./mesh"),i.on("opt",function(u){if(this.to.next(u),u.once)return;var h=u.opt;if(h.WebSocket===!1)return;var d=i.window||{},t=h.WebSocket||d.WebSocket||d.webkitWebSocket||d.mozWebSocket;if(!t)return;h.WebSocket=t;var c=h.mesh=h.mesh||i.Mesh(u);c.wire||h.wire,c.wire=h.wire=s;function s(y){try{if(!y||!y.url)return w&&w(y);var v=y.url.replace(/^http/,"ws"),w=y.wire=new h.WebSocket(v);return w.onclose=function(){k(y),h.mesh.bye(y)},w.onerror=function(e){k(y)},w.onopen=function(){h.mesh.hi(y)},w.onmessage=function(e){e&&h.mesh.hear(e.data||e,y)},w}catch{h.mesh.bye(y)}}setTimeout(function(){!h.super&&u.on("out",{dam:"hi"})},1);var r=2*999;function k(y){clearTimeout(y.defer),h.peers[y.url]&&(a&&y.retry<=0||(y.retry=(y.retry||h.retry+1||60)-(-y.tried+(y.tried=+new Date)"u")){var i=function(){},o;try{o=(Gun.window||i).localStorage}catch{}o||(Gun.log("Warning: No localStorage exists to persist data to!"),o={setItem:function(h,d){this[h]=d},removeItem:function(h){delete this[h]},getItem:function(h){return this[h]}});var u=JSON.stringifyAsync||function(h,d,t,c){var s;try{d(s,JSON.stringify(h,t,c))}catch(r){d(r)}};Gun.on("create",function h(d){this.to.next(d);var t=d.opt;d.graph;var c=[],s,r,k,a;if(t.localStorage===!1)return;t.prefix=t.file||"gun/";try{s=h[t.prefix]=h[t.prefix]||JSON.parse(k=o.getItem(t.prefix))||{}}catch{s=h[t.prefix]={}}k=(k||"").length,d.on("get",function(v){this.to.next(v);var w=v.get,e,n,f,p;!w||!(e=w["#"])||(n=s[e]||p,n&&(f=w["."])&&!Object.plain(f)&&(n=Gun.state.ify({},f,Gun.state.is(n,f),n[f],e)),Gun.on.get.ack(v,n))}),d.on("put",function(v){this.to.next(v);var w=v.put,e=w["#"],n=w["."],f=v["#"],p=v.ok||"";if(s[e]=Gun.state.ify(s[e],n,w[">"],w[":"],e),a&&k>4999880){d.on("in",{"@":f,err:"localStorage max!"});return}!v["@"]&&(!v._.via||Math.random()=0||l===1/0||l===-1/0)}},g.text=g.text||{is:function(l){return O("text"),typeof l=="string"}},g.text.ify=g.text.ify||function(l){return O("text.ify"),g.text.is(l)?l:typeof JSON<"u"?JSON.stringify(l):l&&l.toString?l.toString():l},g.text.random=g.text.random||function(l,S){O("text.random");var j="";for(l=l||24,S=S||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";l>0;)j+=S.charAt(Math.floor(Math.random()*S.length)),l--;return j},g.text.match=g.text.match||function(l,S){var j,$;return O("text.match"),typeof l!="string"?!1:(typeof S=="string"&&(S={"=":S}),S=S||{},j=S["="]||S["*"]||S[">"]||S["<"],l===j?!0:$!==S["="]?!1:(j=S["*"]||S[">"]||S["<"],l.slice(0,(j||"").length)===j?!0:$!==S["*"]?!1:$!==S[">"]&&$!==S["<"]?l>=S[">"]&&l<=S["<"]:$!==S[">"]&&l>=S[">"]||$!==S["<"]&&l<=S["<"]))},g.text.hash=g.text.hash||function(l,S){if(O("text.hash"),typeof l=="string"){if(S=S||0,!l.length)return S;for(var j=0,$=l.length,B;j<$;++j)B=l.charCodeAt(j),S=(S<<5)-S+B,S|=0;return S}},g.list=g.list||{is:function(l){return O("list"),l instanceof Array}},g.list.slit=g.list.slit||Array.prototype.slice,g.list.sort=g.list.sort||function(l){return O("list.sort"),function(S,j){return!S||!j?0:(S=S[l],j=j[l],Sj?1:0)}},g.list.map=g.list.map||function(l,S,j){return O("list.map"),C(l,S,j)},g.list.index=1,g.obj=g.boj||{is:function(l){return O("obj"),l?l instanceof Object&&l.constructor===Object||Object.prototype.toString.call(l).match(/^\[object (\w+)\]$/)[1]==="Object":!1}},g.obj.put=g.obj.put||function(l,S,j){return O("obj.put"),(l||{})[S]=j,l},g.obj.has=g.obj.has||function(l,S){return O("obj.has"),l&&Object.prototype.hasOwnProperty.call(l,S)},g.obj.del=g.obj.del||function(l,S){if(O("obj.del"),!!l)return l[S]=null,delete l[S],l},g.obj.as=g.obj.as||function(l,S,j,$){return O("obj.as"),l[S]=l[S]||($===j?{}:j)},g.obj.ify=g.obj.ify||function(l){if(O("obj.ify"),p(l))return l;try{l=JSON.parse(l)}catch{l={}}return l},function(){var l;function S(j,$){b(this,$)&&l!==this[$]||(this[$]=j)}g.obj.to=g.obj.to||function(j,$){return O("obj.to"),$=$||{},C(j,S,$),$}}(),g.obj.copy=g.obj.copy||function(l){return O("obj.copy"),l&&JSON.parse(JSON.stringify(l))},function(){function l(S,j){var $=this.n,B;if(!($&&(j===$||p($)&&b($,j)))&&B!==j)return!0}g.obj.empty=g.obj.empty||function(S,j){return O("obj.empty"),S?!C(S,l,{n:j}):!0}}(),function(){function l($,B){if(arguments.length===2){l.r=l.r||{},l.r[$]=B;return}l.r=l.r||[],l.r.push($)}var S=Object.keys,j;Object.keys=Object.keys||function($){return j($,function(B,N,G){G(N)})},g.obj.map=j=g.obj.map||function($,B,N){O("obj.map");var G,U=0,J,P,R,I,M=typeof B=="function";if(l.r=G,S&&p($)&&(R=S($),I=!0),N=N||{},i($)||R)for(J=(R||$).length;U{m.once(function(o,u){g(o,u)})});return E?O.then(E):O};var kt={exports:{}},xt;function ut(){return xt||(xt=1,function(){function E(){var o=function(u,h,d){if(o.unit=0,!d&&g!==h&&(o.last=""+u(a||y)&&(b=0),b&&(f=h(f,x,e,t),g!==f))return f}else if(d.branch&&(f=h(g,x,e,t),g!==f))return f;if(t=p,!r&&(f=o(n,h,d,t),g!==f))return f;t.pop()}}}catch(T){console.error(T)}},typeof window<"u")window.Radix=E;else try{kt.exports=E}catch{}var m=E.object=function(o,u,h){for(var d in o)if(o.hasOwnProperty(d)&&(h=u(o[d],d))!==g)return h},O={},g,i=""}()),kt.exports}ut();var qt={exports:{}},Tt={exports:{}},St;function Yt(){return St||(St=1,function(E){(function(){var m={},O,g=setTimeout.turn||typeof setImmediate!=""+O&&setImmediate||setTimeout;m.parseAsync=function(o,u,h,d){if(typeof o!="string"){try{u(O,JSON.parse(o))}catch(s){u(s)}return}var t={i:0,text:o,done:u,l:o.length,up:[]};d=d||1024*32,c();function c(){for(var s=t.text,r=t.i,k=t.l,a=0,y=t.w,v,w;a++k){t.end=!0;break}if(y){for(r=s.indexOf('"',r-1),e=s[r],w=0;s[r-++w]=="\\";);w=!(w%2),v=v||w,e=='"'&&!w&&(y=O,w=t.s,t.a?(w=s.slice(t.sl,r),(v||1+w.indexOf("\\"))&&(w=JSON.parse('"'+w+'"')),t.at instanceof Array?t.at.push(t.s=w):(t.at||(t.end=a=d,w=O),(t.at||{})[t.s]=t.s=w),t.s=O):(t.s=s.slice(t.sl,r),(v||1+t.s.indexOf("\\"))&&(t.s=JSON.parse('"'+t.s+'"'))),t.a=v=O),++r}else switch(e){case'"':t.sl=r,y=!0;break;case":":t.ai=r,t.a=!0;break;case",":(t.a||t.at instanceof Array)&&(w=s.slice(t.ai,r-1))&&O!==(w=i(w))&&(t.at instanceof Array?t.at.push(w):t.at[t.s]=w),t.a=O,t.at instanceof Array&&(t.a=!0,t.ai=r);break;case"{":t.up.push(t.at||(t.at={})),t.at instanceof Array?t.at.push(t.at={}):O!==(w=t.s)&&(t.at[w]=t.at={}),t.a=O;break;case"}":t.a&&(w=s.slice(t.ai,r-1))&&O!==(w=i(w))&&(t.at instanceof Array?t.at.push(w):(t.at||(t.end=a=d,w=O),(t.at||{})[t.s]=w)),t.a=O,t.at=t.up.pop();break;case"[":O!==(w=t.s)?(t.up.push(t.at),t.at[w]=t.at=[]):t.at||t.up.push(t.at=[]),t.a=!0,t.ai=r;break;case"]":t.a&&(w=s.slice(t.ai,r-1))&&O!==(w=i(w))&&(t.at instanceof Array?t.at.push(w):t.at[t.s]=w),t.a=O,t.at=t.up.pop();break}}if(t.s=O,t.i=r,t.w=y,t.end){if(w=t.at,O===w)try{w=JSON.parse(o)}catch(n){return t.done(n)}t.done(O,w)}else g(c)}};function i(o){var u=parseFloat(o);if(!isNaN(u))return u;if(o=o.trim(),o=="true")return!0;if(o=="false")return!1;if(o=="null")return null}m.stringifyAsync=function(o,u,h,d,t){t=t||{},t.text=t.text||"",t.up=[t.at={d:o}],t.done=u,t.i=0;var c=0;s();function s(){var r=t.at,k=r.d,a="",y;switch(r.i&&r.i-r.j>0&&(a+=","),O!==(y=r.k)&&(a+=JSON.stringify(y)+":"),typeof k){case"boolean":a+=""+k;break;case"string":a+=JSON.stringify(k);break;case"number":a+=isNaN(k)?"null":k;break;case"object":if(!k){a+="null";break}if(k instanceof Array){a+="[",r={i:-1,as:k,up:r,j:0},r.l=k.length,t.up.push(t.at=r);break}if(typeof(k||"").toJSON!="function"){a+="{",r={i:-1,ok:Object.keys(k).sort(),as:k,up:r,j:0},r.l=r.ok.length,t.up.push(t.at=r);break}if(y=k.toJSON()){a+=y;break}case"function":if(r.as instanceof Array){a+="null";break}default:a="",r.j++}for(t.text+=a;1+r.i>=r.l;)t.text+=r.ok?"}":"]",r=t.at=r.up;if(++r.i{},this.init(),this.pingPongIndex=0,this.fbos=Array(2).fill().map(()=>this.regl.framebuffer({color:this.regl.texture({mag:"nearest",width:g,height:C,format:"rgba"}),depthStencil:!1}))};Ut.prototype.resize=function(u,f){this.fbos.forEach(m=>{m.resize(u,f)})};Ut.prototype.getCurrent=function(){return this.fbos[this.pingPongIndex]};Ut.prototype.getTexture=function(){var u=this.pingPongIndex?0:1;return this.fbos[u]};Ut.prototype.init=function(){return this.transformIndex=0,this.fragHeader=` +import{r as ys,o as fc,x as uc,y as cc,A as na,E as lc,C as dc,ag as hc,F as mc}from"./framework.CQBrk0Ry.js";import{A as bs,z as vc}from"./theme.Dd_Fb62b.js";import{r as pc}from"./index.Bl92Yfyi.js";import{M as yc}from"./meyda.min.CSbsK9Pb.js";var Ut=function({regl:u,precision:f,label:m="",width:g,height:C}){this.regl=u,this.precision=f,this.label=m,this.positionBuffer=this.regl.buffer([[-2,0],[0,-2],[2,2]]),this.draw=()=>{},this.init(),this.pingPongIndex=0,this.fbos=Array(2).fill().map(()=>this.regl.framebuffer({color:this.regl.texture({mag:"nearest",width:g,height:C,format:"rgba"}),depthStencil:!1}))};Ut.prototype.resize=function(u,f){this.fbos.forEach(m=>{m.resize(u,f)})};Ut.prototype.getCurrent=function(){return this.fbos[this.pingPongIndex]};Ut.prototype.getTexture=function(){var u=this.pingPongIndex?0:1;return this.fbos[u]};Ut.prototype.init=function(){return this.transformIndex=0,this.fragHeader=` precision ${this.precision} float; uniform float time; diff --git a/assets/chunks/JamDate.DlntF5CC.js b/assets/chunks/JamDate.BQoTgKZo.js similarity index 95% rename from assets/chunks/JamDate.DlntF5CC.js rename to assets/chunks/JamDate.BQoTgKZo.js index 5d1c690e3e..b80df41c70 100644 --- a/assets/chunks/JamDate.DlntF5CC.js +++ b/assets/chunks/JamDate.BQoTgKZo.js @@ -1 +1 @@ -import{b0 as B,r as d,u as y,c as a,az as _,x as D,y as k,A as t,G as i,E as m,H as M}from"./framework.BR0mAPCP.js";import{D as P,E as $}from"./theme.ClagsQLu.js";const E={class:"flex flex-col w-full"},S={class:"w-full",viewBox:"0 0 1000 100","font-size":"22"},j={class:"start"},N={class:"pointer-events-none","font-weight":"bold",x:"10",y:"25",fill:"currentColor"},A=["width"],F={class:"pointer-events-none","text-anchor":"start",x:"10",y:"90",fill:"currentColor"},G={class:"finish"},J={class:"pointer-events-none","text-anchor":"end","font-weight":"bold",x:"990",y:"25",fill:"currentColor"},V=["width","x"],q={class:"pointer-events-none","text-anchor":"end",x:"990",y:"90",fill:"currentColor"},I={class:"now pointer-events-none"},K=["width"],L=["text-anchor","x"],U={__name:"JamDate",setup(O){const c=B(),u=d(y("jam-start",Date.now()-1e3*60*60)),h=P(y("jam-finish",Date.now()+1e3*60*60),c,Date.now()+1e3*60*60*365),l=a(()=>c.value-u.value),f=a(()=>h.value-c.value),r=a(()=>l.value/(l.value+f.value)),C=a(()=>p(l.value)),b=a(()=>p(f.value)),x=d("HH:mm"),H=_(u,x),T=_(h,x),z=_(c,"HH:mm:ss"),w=d(),g=d();$(({delta:n,shiftKey:e})=>{const o=n[0]-n[1],s=e?1e5:1e4;h.value+=o*s},{domTarget:g}),$(({delta:n,shiftKey:e})=>{const o=n[0]-n[1],s=e?1e5:1e4;u.value+=o*s},{domTarget:w});function p(n){const e=Math.floor(n/1e3),o=Math.floor(e/60),s=Math.floor(o/60),v=Math.floor(s/24);return v>0?`${v}d ${s-v*24}hr`:s>0?`${s}hr ${o-s*60}min`:o>0?`${o}min ${e-o*60}s`:`${e}s`}return(n,e)=>(D(),k("div",E,[(D(),k("svg",S,[e[3]||(e[3]=t("g",null,[t("rect",{stroke:"currentColor",x:"0",y:"0",fill:"transparent",width:"1000",height:"100"})],-1)),t("g",j,[t("rect",{class:"cursor-move",ref_key:"startPad",ref:w,onDblclick:e[0]||(e[0]=o=>u.value=Date.now()),width:"150",height:"100",fill:"#6663"},null,544),t("text",N,i(m(H)),1),t("rect",{width:1e3*r.value,x:0,height:"30",y:"70",fill:"#9996"},null,8,A),t("text",F,i(C.value)+" elapsed",1)]),t("g",G,[t("rect",{class:"cursor-move",ref_key:"finishPad",ref:g,onDblclick:e[1]||(e[1]=o=>h.value=Date.now()+1e3*60*20),x:"850",width:150,height:"100",fill:"#9993"},null,544),t("text",J,i(m(T)),1),t("rect",{width:1e3*(1-r.value),x:1e3-1e3*(1-r.value),height:"30",y:"70",fill:"#9996"},null,8,V),t("text",q,i(b.value)+" left",1)]),t("g",I,[t("rect",{width:r.value*1e3,height:"100",fill:"#2224"},null,8,K),t("g",{style:M({transform:`translate(${r.value*1e3}px)`})},[e[2]||(e[2]=t("line",{y2:100,stroke:"currentColor","stroke-width":"4"},null,-1)),t("text",{"text-anchor":f.valuec.value-u.value),f=a(()=>h.value-c.value),r=a(()=>l.value/(l.value+f.value)),C=a(()=>p(l.value)),b=a(()=>p(f.value)),x=d("HH:mm"),H=_(u,x),T=_(h,x),z=_(c,"HH:mm:ss"),w=d(),g=d();$(({delta:n,shiftKey:e})=>{const o=n[0]-n[1],s=e?1e5:1e4;h.value+=o*s},{domTarget:g}),$(({delta:n,shiftKey:e})=>{const o=n[0]-n[1],s=e?1e5:1e4;u.value+=o*s},{domTarget:w});function p(n){const e=Math.floor(n/1e3),o=Math.floor(e/60),s=Math.floor(o/60),v=Math.floor(s/24);return v>0?`${v}d ${s-v*24}hr`:s>0?`${s}hr ${o-s*60}min`:o>0?`${o}min ${e-o*60}s`:`${e}s`}return(n,e)=>(D(),k("div",E,[(D(),k("svg",S,[e[3]||(e[3]=t("g",null,[t("rect",{stroke:"currentColor",x:"0",y:"0",fill:"transparent",width:"1000",height:"100"})],-1)),t("g",j,[t("rect",{class:"cursor-move",ref_key:"startPad",ref:w,onDblclick:e[0]||(e[0]=o=>u.value=Date.now()),width:"150",height:"100",fill:"#6663"},null,544),t("text",N,i(m(H)),1),t("rect",{width:1e3*r.value,x:0,height:"30",y:"70",fill:"#9996"},null,8,A),t("text",F,i(C.value)+" elapsed",1)]),t("g",G,[t("rect",{class:"cursor-move",ref_key:"finishPad",ref:g,onDblclick:e[1]||(e[1]=o=>h.value=Date.now()+1e3*60*20),x:"850",width:150,height:"100",fill:"#9993"},null,544),t("text",J,i(m(T)),1),t("rect",{width:1e3*(1-r.value),x:1e3-1e3*(1-r.value),height:"30",y:"70",fill:"#9996"},null,8,V),t("text",q,i(b.value)+" left",1)]),t("g",I,[t("rect",{width:r.value*1e3,height:"100",fill:"#2224"},null,8,K),t("g",{style:M({transform:`translate(${r.value*1e3}px)`})},[e[2]||(e[2]=t("line",{y2:100,stroke:"currentColor","stroke-width":"4"},null,-1)),t("text",{"text-anchor":f.valuen.bpm,{duration:1e3,transition:K.easeInOutCubic}),x=D(!1),b=D(Date.now()),y=q(256,64,1024);function z(){x.value||(n.stopped=!0,x.value=!0,n.bpm=Math.round(F(j,A)),i.chroma=Math.random()>.7?"101011010101":"101101011010",i.tonic=Math.round(Math.random()*12),setTimeout(()=>{x.value=!1,n.playing=!0,b.value=Date.now()},1e3))}const u=s(()=>{var e;return(e=n.position)==null?void 0:e.split(":").map(Number)}),N=s(()=>{var e;return((e=u.value)==null?void 0:e[0])/y.value}),r=s(()=>M(n.color).lighten(B.value?0:.3).desaturate(.2).toHex()),T=s(()=>M(E(i.tonic)).lighten(B.value?0:.3).desaturate(.2).toHex()),k=s(()=>M(r.value).mix(T.value).toHex()),P=e=>[Math.floor(e),Math.round((e-Math.floor(e))*60)],S=e=>Math.round(e*60*1e3);s(()=>P(y.value*4/n.bpm));const I=s(()=>S(y.value*4/n.bpm)),w=s(()=>b.value+I.value),p=L(),J=s(()=>[Math.floor((p.value-b.value)/(1e3*60)),Math.round((p.value-b.value)%(1e3*60)/1e3)]),R=s(()=>[Math.floor((w.value-p.value)/(1e3*60)),Math.round((w.value-p.value)%(1e3*60)/1e3)]);return Q(p,e=>{e>w.value&&z()}),D(!1),(e,a)=>{var g,_;const C=O;return c(),d("div",X,[t("div",{class:"flex flex-col gap-4 p-4 justify-between relative items-stretch min-h-100vh transition duration-1000",style:o({backgroundColor:v(M)(k.value).alpha(.3).toHex()})},[a[2]||(a[2]=t("div",{class:"text-4xl text-center"},"RANDOM JAM ",-1)),t("div",Y,[t("div",{class:"text-center text-2xl sm-text-4xl tabular-nums rounded-full px-4 py-2 shadow",style:o([{flex:"1 1 140px"},{backgroundColor:r.value}])},m(v(H).toFixed())+" BPM",5),t("button",{class:"transition duration-1000 text-4xl bg-dark-400 p-4 rounded-full shadow-xl",onClick:a[0]||(a[0]=l=>z()),style:o({backgroundColor:k.value})},[t("div",{class:U(["p-0",{"animate-spin":x.value}])},a[1]||(a[1]=[t("div",{class:"i-system-uicons-reset -scale-y-100"},null,-1)]),2)],4),t("div",{class:"text-2xl sm-text-4xl text-center rounded-full px-4 py-2 shadow",style:o([{flex:"1 1 140px"},{backgroundColor:T.value}])},m(v(i).note.name)+" "+m((_=(g=v(i))==null?void 0:g.set)==null?void 0:_.name),5)]),t("div",Z,[t("div",tt,m(J.value.filter(Boolean).join(" m "))+" s",1),t("div",et,"-"+m(R.value.filter(Boolean).join(" m "))+" s",1),t("div",{class:"bg-dark-400 transition duration-300 top-0 bottom-0 left-0 absolute flex items-center",style:o({backgroundColor:k.value,width:`${N.value*100}%`})},null,4)]),t("div",at,[t("div",lt,[t("div",st,[t("div",ot,[(c(),d(f,null,h(4,l=>t("div",{class:"p-1 bit",style:o({backgroundColor:l-1==u.value[1]?r.value:"transparent"})},null,4)),64))]),t("div",nt,[(c(),d(f,null,h(4,l=>t("div",{class:"p-2 bit",style:o({backgroundColor:l-1==u.value[0]%4?r.value:"transparent"})},null,4)),64))]),t("div",rt,[(c(),d(f,null,h(4,l=>t("div",{class:"p-3 bit",style:o({backgroundColor:l-1==Math.floor(u.value[0]/4)%4?r.value:"transparent"})},null,4)),64))]),t("div",it,[(c(),d(f,null,h(4,l=>t("div",{class:"p-4 bit",style:o({backgroundColor:l-1==Math.floor(u.value[0]/4/4)%4?r.value:"transparent"})},null,4)),64))]),t("div",ut,[(c(),d(f,null,h(4,l=>t("div",{class:"p-5 bit",style:o({backgroundColor:l-1==Math.floor(u.value[0]/4/4/4)%4?r.value:"transparent"})},null,4)),64))])])])]),W(C,{class:"max-h-35vh",title:!1,chroma:v(i).chroma,pitch:v(i).tonic},null,8,["chroma","pitch"]),a[3]||(a[3]=t("div",{class:"flex-0"},null,-1))],4)])}}},mt=V(ct,[["__scopeId","data-v-49e053a4"]]);export{mt as default}; +import{K as n,D as q,w as M,c as E,g as i,_ as O}from"./theme.Dd_Fb62b.js";import{q as V,v as $,av as G,aP as K,r as D,c as s,f as L,d as Q,x as c,y as d,A as t,H as o,G as m,E as v,z as U,F as f,B as h,P as W}from"./framework.CQBrk0Ry.js";const X={class:"bg-light-900 dark-bg-dark-800",id:"screen"},Y={class:"flex items-center justify-between gap-2"},Z={class:"overflow-clip rounded-lg flex items-center border-1 relative border-dark-200 border-op-30 dark-border-light-200 dark-border-op-40 py-6"},tt={class:"absolute left-2 z-10"},et={class:"absolute right-2 z-10"},at={class:"flex flex-wrap gap-4 text-center relative items-center justify-stretch mb-8"},lt={class:"flex flex-col gap-2 w-full max-h-30vh"},st={class:"flex flex-col gap-2 w-full"},ot={class:"flex gap-2 w-full"},nt={class:"flex gap-2 w-full"},rt={class:"flex gap-2 w-full"},it={class:"flex gap-2 w-full"},ut={class:"flex gap-2 w-full"},ct={__name:"JamRandom",setup(dt){const{isDark:B}=$();var j=102,A=20;function F(e,a){let C=1-Math.random(),g=1-Math.random();var _=Math.sqrt(-2*Math.log(C))*Math.cos(2*Math.PI*g);return e+a*_}const H=G(()=>n.bpm,{duration:1e3,transition:K.easeInOutCubic}),x=D(!1),b=D(Date.now()),y=q(256,64,1024);function z(){x.value||(n.stopped=!0,x.value=!0,n.bpm=Math.round(F(j,A)),i.chroma=Math.random()>.7?"101011010101":"101101011010",i.tonic=Math.round(Math.random()*12),setTimeout(()=>{x.value=!1,n.playing=!0,b.value=Date.now()},1e3))}const u=s(()=>{var e;return(e=n.position)==null?void 0:e.split(":").map(Number)}),N=s(()=>{var e;return((e=u.value)==null?void 0:e[0])/y.value}),r=s(()=>M(n.color).lighten(B.value?0:.3).desaturate(.2).toHex()),T=s(()=>M(E(i.tonic)).lighten(B.value?0:.3).desaturate(.2).toHex()),k=s(()=>M(r.value).mix(T.value).toHex()),P=e=>[Math.floor(e),Math.round((e-Math.floor(e))*60)],S=e=>Math.round(e*60*1e3);s(()=>P(y.value*4/n.bpm));const I=s(()=>S(y.value*4/n.bpm)),w=s(()=>b.value+I.value),p=L(),J=s(()=>[Math.floor((p.value-b.value)/(1e3*60)),Math.round((p.value-b.value)%(1e3*60)/1e3)]),R=s(()=>[Math.floor((w.value-p.value)/(1e3*60)),Math.round((w.value-p.value)%(1e3*60)/1e3)]);return Q(p,e=>{e>w.value&&z()}),D(!1),(e,a)=>{var g,_;const C=O;return c(),d("div",X,[t("div",{class:"flex flex-col gap-4 p-4 justify-between relative items-stretch min-h-100vh transition duration-1000",style:o({backgroundColor:v(M)(k.value).alpha(.3).toHex()})},[a[2]||(a[2]=t("div",{class:"text-4xl text-center"},"RANDOM JAM ",-1)),t("div",Y,[t("div",{class:"text-center text-2xl sm-text-4xl tabular-nums rounded-full px-4 py-2 shadow",style:o([{flex:"1 1 140px"},{backgroundColor:r.value}])},m(v(H).toFixed())+" BPM",5),t("button",{class:"transition duration-1000 text-4xl bg-dark-400 p-4 rounded-full shadow-xl",onClick:a[0]||(a[0]=l=>z()),style:o({backgroundColor:k.value})},[t("div",{class:U(["p-0",{"animate-spin":x.value}])},a[1]||(a[1]=[t("div",{class:"i-system-uicons-reset -scale-y-100"},null,-1)]),2)],4),t("div",{class:"text-2xl sm-text-4xl text-center rounded-full px-4 py-2 shadow",style:o([{flex:"1 1 140px"},{backgroundColor:T.value}])},m(v(i).note.name)+" "+m((_=(g=v(i))==null?void 0:g.set)==null?void 0:_.name),5)]),t("div",Z,[t("div",tt,m(J.value.filter(Boolean).join(" m "))+" s",1),t("div",et,"-"+m(R.value.filter(Boolean).join(" m "))+" s",1),t("div",{class:"bg-dark-400 transition duration-300 top-0 bottom-0 left-0 absolute flex items-center",style:o({backgroundColor:k.value,width:`${N.value*100}%`})},null,4)]),t("div",at,[t("div",lt,[t("div",st,[t("div",ot,[(c(),d(f,null,h(4,l=>t("div",{class:"p-1 bit",style:o({backgroundColor:l-1==u.value[1]?r.value:"transparent"})},null,4)),64))]),t("div",nt,[(c(),d(f,null,h(4,l=>t("div",{class:"p-2 bit",style:o({backgroundColor:l-1==u.value[0]%4?r.value:"transparent"})},null,4)),64))]),t("div",rt,[(c(),d(f,null,h(4,l=>t("div",{class:"p-3 bit",style:o({backgroundColor:l-1==Math.floor(u.value[0]/4)%4?r.value:"transparent"})},null,4)),64))]),t("div",it,[(c(),d(f,null,h(4,l=>t("div",{class:"p-4 bit",style:o({backgroundColor:l-1==Math.floor(u.value[0]/4/4)%4?r.value:"transparent"})},null,4)),64))]),t("div",ut,[(c(),d(f,null,h(4,l=>t("div",{class:"p-5 bit",style:o({backgroundColor:l-1==Math.floor(u.value[0]/4/4/4)%4?r.value:"transparent"})},null,4)),64))])])])]),W(C,{class:"max-h-35vh",title:!1,chroma:v(i).chroma,pitch:v(i).tonic},null,8,["chroma","pitch"]),a[3]||(a[3]=t("div",{class:"flex-0"},null,-1))],4)])}}},mt=V(ct,[["__scopeId","data-v-f4f9c41e"]]);export{mt as default}; diff --git a/assets/chunks/JamSession.DO7x3U8j.js b/assets/chunks/JamSession.DO7x3U8j.js new file mode 100644 index 0000000000..7758c49cde --- /dev/null +++ b/assets/chunks/JamSession.DO7x3U8j.js @@ -0,0 +1,6 @@ +import{_ as Ge}from"./JamDate.BQoTgKZo.js";import{g as Ut,i as We,_ as ze,aw as Le,aP as je}from"./theme.Dd_Fb62b.js";import{_ as $e}from"./ScaleChords.DnUo8DaG.js";import{_ as Ue}from"./ChordTab.DvdaPJNy.js";import{aY as Ve,aZ as qe,a_ as Ke,a$ as Ze,V as Je,t as pe,K as Qe,r as Vt,u as tn,x as qt,y as Kt,A as H,F as en,B as nn,P as ut,E as rt,G as on,U as rn,C as an,O as ln,H as sn}from"./framework.CQBrk0Ry.js";/**! + * Sortable 1.15.3 + * @author RubaXa + * @author owenm + * @license MIT + */function me(o,t){var n=Object.keys(o);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(o);t&&(e=e.filter(function(i){return Object.getOwnPropertyDescriptor(o,i).enumerable})),n.push.apply(n,e)}return n}function j(o){for(var t=1;t=0)&&(n[i]=o[i]);return n}function fn(o,t){if(o==null)return{};var n=cn(o,t),e,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(o,e)&&(n[e]=o[e])}return n}var dn="1.15.3";function V(o){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(o)}var K=V(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),It=V(/Edge/i),ge=V(/firefox/i),Dt=V(/safari/i)&&!V(/chrome/i)&&!V(/android/i),De=V(/iP(ad|od|hone)/i),Te=V(/chrome/i)&&V(/android/i),Ce={capture:!1,passive:!1};function w(o,t,n){o.addEventListener(t,n,!K&&Ce)}function _(o,t,n){o.removeEventListener(t,n,!K&&Ce)}function Gt(o,t){if(t){if(t[0]===">"&&(t=t.substring(1)),o)try{if(o.matches)return o.matches(t);if(o.msMatchesSelector)return o.msMatchesSelector(t);if(o.webkitMatchesSelector)return o.webkitMatchesSelector(t)}catch{return!1}return!1}}function Oe(o){return o.host&&o!==document&&o.host.nodeType?o.host:o.parentNode}function W(o,t,n,e){if(o){n=n||document;do{if(t!=null&&(t[0]===">"?o.parentNode===n&&Gt(o,t):Gt(o,t))||e&&o===n)return o;if(o===n)break}while(o=Oe(o))}return null}var ve=/\s+/g;function k(o,t,n){if(o&&t)if(o.classList)o.classList[n?"add":"remove"](t);else{var e=(" "+o.className+" ").replace(ve," ").replace(" "+t+" "," ");o.className=(e+(n?" "+t:"")).replace(ve," ")}}function h(o,t,n){var e=o&&o.style;if(e){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(o,""):o.currentStyle&&(n=o.currentStyle),t===void 0?n:n[t];!(t in e)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),e[t]=n+(typeof n=="string"?"":"px")}}function pt(o,t){var n="";if(typeof o=="string")n=o;else do{var e=h(o,"transform");e&&e!=="none"&&(n=e+" "+n)}while(!t&&(o=o.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function xe(o,t,n){if(o){var e=o.getElementsByTagName(t),i=0,r=e.length;if(n)for(;i=r,!a)return e;if(e===L())break;e=et(e,!1)}return!1}function mt(o,t,n,e){for(var i=0,r=0,a=o.children;r2&&arguments[2]!==void 0?arguments[2]:{},i=e.evt,r=fn(e,yn);At.pluginEvent.bind(p)(t,n,j({dragEl:c,parentEl:D,ghostEl:m,rootEl:E,nextEl:st,lastDownEl:Yt,cloneEl:S,cloneHidden:tt,dragStarted:wt,putSortable:O,activeSortable:p.active,originalEvent:i,oldIndex:ht,oldDraggableIndex:Ct,newIndex:R,newDraggableIndex:Q,hideGhostForTarget:Re,unhideGhostForTarget:Ye,cloneNowHidden:function(){tt=!0},cloneNowShown:function(){tt=!1},dispatchSortableEvent:function(l){A({sortable:n,name:l,originalEvent:i})}},r))};function A(o){_n(j({putSortable:O,cloneEl:S,targetEl:c,rootEl:E,oldIndex:ht,oldDraggableIndex:Ct,newIndex:R,newDraggableIndex:Q},o))}var c,D,m,E,st,Yt,S,tt,ht,R,Ct,Q,Nt,O,dt=!1,Wt=!1,zt=[],at,G,Qt,te,ye,we,wt,ft,Ot,xt=!1,Mt=!1,Xt,x,ee=[],ae=!1,Lt=[],$t=typeof document<"u",Ft=De,Ee=It||K?"cssFloat":"float",wn=$t&&!Te&&!De&&"draggable"in document.createElement("div"),Me=function(){if($t){if(K)return!1;var o=document.createElement("x");return o.style.cssText="pointer-events:auto",o.style.pointerEvents==="auto"}}(),Fe=function(t,n){var e=h(t),i=parseInt(e.width)-parseInt(e.paddingLeft)-parseInt(e.paddingRight)-parseInt(e.borderLeftWidth)-parseInt(e.borderRightWidth),r=mt(t,0,n),a=mt(t,1,n),l=r&&h(r),s=a&&h(a),u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+C(r).width,f=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+C(a).width;if(e.display==="flex")return e.flexDirection==="column"||e.flexDirection==="column-reverse"?"vertical":"horizontal";if(e.display==="grid")return e.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(r&&l.float&&l.float!=="none"){var d=l.float==="left"?"left":"right";return a&&(s.clear==="both"||s.clear===d)?"vertical":"horizontal"}return r&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||u>=i&&e[Ee]==="none"||a&&e[Ee]==="none"&&u+f>i)?"vertical":"horizontal"},En=function(t,n,e){var i=e?t.left:t.top,r=e?t.right:t.bottom,a=e?t.width:t.height,l=e?n.left:n.top,s=e?n.right:n.bottom,u=e?n.width:n.height;return i===l||r===s||i+a/2===l+u/2},Sn=function(t,n){var e;return zt.some(function(i){var r=i[N].options.emptyInsertThreshold;if(!(!r||ce(i))){var a=C(i),l=t>=a.left-r&&t<=a.right+r,s=n>=a.top-r&&n<=a.bottom+r;if(l&&s)return e=i}}),e},ke=function(t){function n(r,a){return function(l,s,u,f){var d=l.options.group.name&&s.options.group.name&&l.options.group.name===s.options.group.name;if(r==null&&(a||d))return!0;if(r==null||r===!1)return!1;if(a&&r==="clone")return r;if(typeof r=="function")return n(r(l,s,u,f),a)(l,s,u,f);var v=(a?l:s).options.group.name;return r===!0||typeof r=="string"&&r===v||r.join&&r.indexOf(v)>-1}}var e={},i=t.group;(!i||Rt(i)!="object")&&(i={name:i}),e.name=i.name,e.checkPull=n(i.pull,!0),e.checkPut=n(i.put),e.revertClone=i.revertClone,t.group=e},Re=function(){!Me&&m&&h(m,"display","none")},Ye=function(){!Me&&m&&h(m,"display","")};$t&&!Te&&document.addEventListener("click",function(o){if(Wt)return o.preventDefault(),o.stopPropagation&&o.stopPropagation(),o.stopImmediatePropagation&&o.stopImmediatePropagation(),Wt=!1,!1},!0);var lt=function(t){if(c){t=t.touches?t.touches[0]:t;var n=Sn(t.clientX,t.clientY);if(n){var e={};for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);e.target=e.rootEl=n,e.preventDefault=void 0,e.stopPropagation=void 0,n[N]._onDragOver(e)}}},Dn=function(t){c&&c.parentNode[N]._isOutsideThisEl(t.target)};function p(o,t){if(!(o&&o.nodeType&&o.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(o));this.el=o,this.options=t=q({},t),o[N]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(o.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Fe(o,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,l){a.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:p.supportPointer!==!1&&"PointerEvent"in window&&!Dt,emptyInsertThreshold:5};At.initializePlugins(this,o,n);for(var e in n)!(e in t)&&(t[e]=n[e]);ke(t);for(var i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=t.forceFallback?!1:wn,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?w(o,"pointerdown",this._onTapStart):(w(o,"mousedown",this._onTapStart),w(o,"touchstart",this._onTapStart)),this.nativeDraggable&&(w(o,"dragover",this),w(o,"dragenter",this)),zt.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),q(this,gn())}p.prototype={constructor:p,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(ft=null)},_getDirection:function(t,n){return typeof this.options.direction=="function"?this.options.direction.call(this,t,n,c):this.options.direction},_onTapStart:function(t){if(t.cancelable){var n=this,e=this.el,i=this.options,r=i.preventOnFilter,a=t.type,l=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,s=(l||t).target,u=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||s,f=i.filter;if(Nn(e),!c&&!(/mousedown|pointerdown/.test(a)&&t.button!==0||i.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&Dt&&s&&s.tagName.toUpperCase()==="SELECT")&&(s=W(s,i.draggable,e,!1),!(s&&s.animated)&&Yt!==s)){if(ht=Y(s),Ct=Y(s,i.draggable),typeof f=="function"){if(f.call(this,t,s,this)){A({sortable:n,rootEl:u,name:"filter",targetEl:s,toEl:e,fromEl:e}),P("filter",n,{evt:t}),r&&t.cancelable&&t.preventDefault();return}}else if(f&&(f=f.split(",").some(function(d){if(d=W(u,d.trim(),e,!1),d)return A({sortable:n,rootEl:d,name:"filter",targetEl:s,fromEl:e,toEl:e}),P("filter",n,{evt:t}),!0}),f)){r&&t.cancelable&&t.preventDefault();return}i.handle&&!W(u,i.handle,e,!1)||this._prepareDragStart(t,l,s)}}},_prepareDragStart:function(t,n,e){var i=this,r=i.el,a=i.options,l=r.ownerDocument,s;if(e&&!c&&e.parentNode===r){var u=C(e);if(E=r,c=e,D=c.parentNode,st=c.nextSibling,Yt=e,Nt=a.group,p.dragged=c,at={target:c,clientX:(n||t).clientX,clientY:(n||t).clientY},ye=at.clientX-u.left,we=at.clientY-u.top,this._lastX=(n||t).clientX,this._lastY=(n||t).clientY,c.style["will-change"]="all",s=function(){if(P("delayEnded",i,{evt:t}),p.eventCanceled){i._onDrop();return}i._disableDelayedDragEvents(),!ge&&i.nativeDraggable&&(c.draggable=!0),i._triggerDragStart(t,n),A({sortable:i,name:"choose",originalEvent:t}),k(c,a.chosenClass,!0)},a.ignore.split(",").forEach(function(f){xe(c,f.trim(),ne)}),w(l,"dragover",lt),w(l,"mousemove",lt),w(l,"touchmove",lt),w(l,"mouseup",i._onDrop),w(l,"touchend",i._onDrop),w(l,"touchcancel",i._onDrop),ge&&this.nativeDraggable&&(this.options.touchStartThreshold=4,c.draggable=!0),P("delayStart",this,{evt:t}),a.delay&&(!a.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(It||K))){if(p.eventCanceled){this._onDrop();return}w(l,"mouseup",i._disableDelayedDrag),w(l,"touchend",i._disableDelayedDrag),w(l,"touchcancel",i._disableDelayedDrag),w(l,"mousemove",i._delayedDragTouchMoveHandler),w(l,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&w(l,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(s,a.delay)}else s()}},_delayedDragTouchMoveHandler:function(t){var n=t.touches?t.touches[0]:t;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){c&&ne(c),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;_(t,"mouseup",this._disableDelayedDrag),_(t,"touchend",this._disableDelayedDrag),_(t,"touchcancel",this._disableDelayedDrag),_(t,"mousemove",this._delayedDragTouchMoveHandler),_(t,"touchmove",this._delayedDragTouchMoveHandler),_(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,n){n=n||t.pointerType=="touch"&&t,!this.nativeDraggable||n?this.options.supportPointer?w(document,"pointermove",this._onTouchMove):n?w(document,"touchmove",this._onTouchMove):w(document,"mousemove",this._onTouchMove):(w(c,"dragend",this),w(E,"dragstart",this._onDragStart));try{document.selection?Bt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,n){if(dt=!1,E&&c){P("dragStarted",this,{evt:n}),this.nativeDraggable&&w(document,"dragover",Dn);var e=this.options;!t&&k(c,e.dragClass,!1),k(c,e.ghostClass,!0),p.active=this,t&&this._appendGhost(),A({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(G){this._lastX=G.clientX,this._lastY=G.clientY,Re();for(var t=document.elementFromPoint(G.clientX,G.clientY),n=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(G.clientX,G.clientY),t!==n);)n=t;if(c.parentNode[N]._isOutsideThisEl(t),n)do{if(n[N]){var e=void 0;if(e=n[N]._onDragOver({clientX:G.clientX,clientY:G.clientY,target:t,rootEl:n}),e&&!this.options.dragoverBubble)break}t=n}while(n=Oe(n));Ye()}},_onTouchMove:function(t){if(at){var n=this.options,e=n.fallbackTolerance,i=n.fallbackOffset,r=t.touches?t.touches[0]:t,a=m&&pt(m,!0),l=m&&a&&a.a,s=m&&a&&a.d,u=Ft&&x&&_e(x),f=(r.clientX-at.clientX+i.x)/(l||1)+(u?u[0]-ee[0]:0)/(l||1),d=(r.clientY-at.clientY+i.y)/(s||1)+(u?u[1]-ee[1]:0)/(s||1);if(!p.active&&!dt){if(e&&Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))=0&&(A({rootEl:D,name:"add",toEl:D,fromEl:E,originalEvent:t}),A({sortable:this,name:"remove",toEl:D,originalEvent:t}),A({rootEl:D,name:"sort",toEl:D,fromEl:E,originalEvent:t}),A({sortable:this,name:"sort",toEl:D,originalEvent:t})),O&&O.save()):R!==ht&&R>=0&&(A({sortable:this,name:"update",toEl:D,originalEvent:t}),A({sortable:this,name:"sort",toEl:D,originalEvent:t})),p.active&&((R==null||R===-1)&&(R=ht,Q=Ct),A({sortable:this,name:"end",toEl:D,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){P("nulling",this),E=c=D=m=st=S=Yt=tt=at=G=wt=R=Q=ht=Ct=ft=Ot=O=Nt=p.dragged=p.ghost=p.clone=p.active=null,Lt.forEach(function(t){t.checked=!0}),Lt.length=Qt=te=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":c&&(this._onDragOver(t),Tn(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],n,e=this.el.children,i=0,r=e.length,a=this.options;ii.right+r||o.clientY>e.bottom&&o.clientX>e.left:o.clientY>i.bottom+r||o.clientX>e.right&&o.clientY>e.top}function In(o,t,n,e,i,r,a,l){var s=e?o.clientY:o.clientX,u=e?n.height:n.width,f=e?n.top:n.left,d=e?n.bottom:n.right,v=!1;if(!a){if(l&&Xtf+u*r/2:sd-Xt)return-Ot}else if(s>f+u*(1-i)/2&&sd-u*r/2)?s>f+u/2?1:-1:0}function An(o){return Y(c){Yn(t,f.oldIndex,f.newIndex,f)}},l=()=>{const f=typeof o=="string"?i==null?void 0:i.querySelector(o):qe(o);!f||e!==void 0||(e=new p(f,{...a,...r}))},s=()=>{e==null||e.destroy(),e=void 0},u=(f,d)=>{if(d!==void 0)e==null||e.option(f,d);else return e==null?void 0:e.option(f)};return Ve(l),Ze(s),{stop:s,start:l,option:u}}function kn(o,t,n){const e=o.children[n];o.insertBefore(t,e)}function Rn(o){o.parentNode&&o.parentNode.removeChild(o)}function Yn(o,t,n,e=null){e!=null&&(Rn(e.item),kn(e.from,e.item,t));const i=Je(o),r=i?[...pe(o)]:pe(o);if(n>=0&&n{r.splice(n,0,a),i&&(o.value=r)})}}const Xn={class:"bg-light-900 dark-bg-dark-800",id:"screen"},Bn={class:"relative"},Hn={class:"flex items-center z-20 absolute bottom-2 left-2 text-xl"},Gn=["onClick"],Wn={class:"flex gap-4 items-center flex-col w-full",style:{flex:"1 1 200px"}},zn={class:"p",style:{flex:"1 1 200px"}},Ln=200,Zn={__name:"JamSession",setup(o){const t=Vt(),n=tn("jam-progression",[]);Vt(!1);const{option:e}=Fn(t,n);e("animation",Ln);const i=Vt("guitar");return(r,a)=>{const l=ze,s=Ue,u=Le,f=$e,d=je,v=Ge;return qt(),Kt("div",Xn,[H("div",{class:"flex gap-6 p-4 justify-between relative items-stretch flex-wrap",style:sn({backgroundColor:`hsla(${30*rt(Ut).tonic}, 80%, 50%, 0.1)`})},[H("div",{class:"flex flex-wrap items-center border-1 rounded-xl p-4 gap-4",ref_key:"list",ref:t},[(qt(!0),Kt(en,null,nn(rt(n),(g,b)=>(qt(),Kt("div",{class:"p-0 relative flex flex-col gap-4",style:{flex:"1 1 100px"},key:g},[H("div",Bn,[ut(l,{class:"max-h-30",chroma:g.chroma,playAll:!0,pitch:(rt(Ut).tonic+g.degree)%12},null,8,["chroma","pitch"]),H("div",Hn,on(rt(We)[g.degree]),1),H("button",{class:"flex items-center z-20 absolute bottom-2 right-2 text-xl",onClick:y=>rt(n).splice(b,1)},a[3]||(a[3]=[H("div",{class:"i-la-trash"},null,-1)]),8,Gn)]),ut(s,{class:"max-h-60",chroma:g.chroma,pitch:(rt(Ut).tonic+g.degree)%12,instrument:i.value,"onUpdate:instrument":a[0]||(a[0]=y=>i.value=y)},null,8,["chroma","pitch","instrument"])]))),128))],512),H("div",Wn,[ut(u,null,{default:rn(()=>[an(H("select",{class:"p-2 m-2 rounded-lg font-bold dark-bg-dark-300","onUpdate:modelValue":a[1]||(a[1]=g=>i.value=g)},a[4]||(a[4]=[H("option",{value:"guitar"},"Guitar",-1),H("option",{value:"ukulele"},"Ukulele",-1)]),512),[[ln,i.value]])]),_:1}),ut(f,{class:"overflow-scroll z-1000 max-w-80vw",onChord:a[2]||(a[2]=g=>rt(n).push(g))})]),H("div",zn,[ut(d,{style:{flex:"4 1 100px"},instrument:i.value},null,8,["instrument"])]),ut(v)],4)])}}};export{Zn as default}; diff --git a/assets/chunks/JamSession.n1IIoOuW.js b/assets/chunks/JamSession.n1IIoOuW.js deleted file mode 100644 index 66e5ed4229..0000000000 --- a/assets/chunks/JamSession.n1IIoOuW.js +++ /dev/null @@ -1,6 +0,0 @@ -import{_ as Ge}from"./JamDate.DlntF5CC.js";import{g as Ut,i as We,_ as ze,au as Le,aN as je}from"./theme.ClagsQLu.js";import{_ as $e}from"./ScaleChords.CvMtsCP8.js";import{_ as Ue}from"./ChordTab.s9wWLKZa.js";import{aY as Ve,aZ as qe,a_ as Ke,a$ as Ze,V as Je,t as pe,K as Qe,r as Vt,u as tn,x as qt,y as Kt,A as H,F as en,B as nn,P as ut,E as rt,G as on,U as rn,C as an,O as ln,H as sn}from"./framework.BR0mAPCP.js";/**! - * Sortable 1.15.3 - * @author RubaXa - * @author owenm - * @license MIT - */function ge(o,t){var n=Object.keys(o);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(o);t&&(e=e.filter(function(i){return Object.getOwnPropertyDescriptor(o,i).enumerable})),n.push.apply(n,e)}return n}function j(o){for(var t=1;t=0)&&(n[i]=o[i]);return n}function fn(o,t){if(o==null)return{};var n=cn(o,t),e,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(o,e)&&(n[e]=o[e])}return n}var dn="1.15.3";function V(o){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(o)}var K=V(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),It=V(/Edge/i),me=V(/firefox/i),Dt=V(/safari/i)&&!V(/chrome/i)&&!V(/android/i),De=V(/iP(ad|od|hone)/i),Te=V(/chrome/i)&&V(/android/i),Ce={capture:!1,passive:!1};function w(o,t,n){o.addEventListener(t,n,!K&&Ce)}function _(o,t,n){o.removeEventListener(t,n,!K&&Ce)}function Gt(o,t){if(t){if(t[0]===">"&&(t=t.substring(1)),o)try{if(o.matches)return o.matches(t);if(o.msMatchesSelector)return o.msMatchesSelector(t);if(o.webkitMatchesSelector)return o.webkitMatchesSelector(t)}catch{return!1}return!1}}function Oe(o){return o.host&&o!==document&&o.host.nodeType?o.host:o.parentNode}function W(o,t,n,e){if(o){n=n||document;do{if(t!=null&&(t[0]===">"?o.parentNode===n&&Gt(o,t):Gt(o,t))||e&&o===n)return o;if(o===n)break}while(o=Oe(o))}return null}var ve=/\s+/g;function k(o,t,n){if(o&&t)if(o.classList)o.classList[n?"add":"remove"](t);else{var e=(" "+o.className+" ").replace(ve," ").replace(" "+t+" "," ");o.className=(e+(n?" "+t:"")).replace(ve," ")}}function h(o,t,n){var e=o&&o.style;if(e){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(o,""):o.currentStyle&&(n=o.currentStyle),t===void 0?n:n[t];!(t in e)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),e[t]=n+(typeof n=="string"?"":"px")}}function pt(o,t){var n="";if(typeof o=="string")n=o;else do{var e=h(o,"transform");e&&e!=="none"&&(n=e+" "+n)}while(!t&&(o=o.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function xe(o,t,n){if(o){var e=o.getElementsByTagName(t),i=0,r=e.length;if(n)for(;i=r,!a)return e;if(e===L())break;e=et(e,!1)}return!1}function gt(o,t,n,e){for(var i=0,r=0,a=o.children;r2&&arguments[2]!==void 0?arguments[2]:{},i=e.evt,r=fn(e,yn);At.pluginEvent.bind(p)(t,n,j({dragEl:c,parentEl:D,ghostEl:g,rootEl:E,nextEl:st,lastDownEl:Yt,cloneEl:S,cloneHidden:tt,dragStarted:wt,putSortable:O,activeSortable:p.active,originalEvent:i,oldIndex:ht,oldDraggableIndex:Ct,newIndex:R,newDraggableIndex:Q,hideGhostForTarget:Re,unhideGhostForTarget:Ye,cloneNowHidden:function(){tt=!0},cloneNowShown:function(){tt=!1},dispatchSortableEvent:function(l){A({sortable:n,name:l,originalEvent:i})}},r))};function A(o){_n(j({putSortable:O,cloneEl:S,targetEl:c,rootEl:E,oldIndex:ht,oldDraggableIndex:Ct,newIndex:R,newDraggableIndex:Q},o))}var c,D,g,E,st,Yt,S,tt,ht,R,Ct,Q,Nt,O,dt=!1,Wt=!1,zt=[],at,G,Qt,te,ye,we,wt,ft,Ot,xt=!1,Mt=!1,Xt,x,ee=[],ae=!1,Lt=[],$t=typeof document<"u",Ft=De,Ee=It||K?"cssFloat":"float",wn=$t&&!Te&&!De&&"draggable"in document.createElement("div"),Me=function(){if($t){if(K)return!1;var o=document.createElement("x");return o.style.cssText="pointer-events:auto",o.style.pointerEvents==="auto"}}(),Fe=function(t,n){var e=h(t),i=parseInt(e.width)-parseInt(e.paddingLeft)-parseInt(e.paddingRight)-parseInt(e.borderLeftWidth)-parseInt(e.borderRightWidth),r=gt(t,0,n),a=gt(t,1,n),l=r&&h(r),s=a&&h(a),u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+C(r).width,d=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+C(a).width;if(e.display==="flex")return e.flexDirection==="column"||e.flexDirection==="column-reverse"?"vertical":"horizontal";if(e.display==="grid")return e.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(r&&l.float&&l.float!=="none"){var f=l.float==="left"?"left":"right";return a&&(s.clear==="both"||s.clear===f)?"vertical":"horizontal"}return r&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||u>=i&&e[Ee]==="none"||a&&e[Ee]==="none"&&u+d>i)?"vertical":"horizontal"},En=function(t,n,e){var i=e?t.left:t.top,r=e?t.right:t.bottom,a=e?t.width:t.height,l=e?n.left:n.top,s=e?n.right:n.bottom,u=e?n.width:n.height;return i===l||r===s||i+a/2===l+u/2},Sn=function(t,n){var e;return zt.some(function(i){var r=i[N].options.emptyInsertThreshold;if(!(!r||ce(i))){var a=C(i),l=t>=a.left-r&&t<=a.right+r,s=n>=a.top-r&&n<=a.bottom+r;if(l&&s)return e=i}}),e},ke=function(t){function n(r,a){return function(l,s,u,d){var f=l.options.group.name&&s.options.group.name&&l.options.group.name===s.options.group.name;if(r==null&&(a||f))return!0;if(r==null||r===!1)return!1;if(a&&r==="clone")return r;if(typeof r=="function")return n(r(l,s,u,d),a)(l,s,u,d);var v=(a?l:s).options.group.name;return r===!0||typeof r=="string"&&r===v||r.join&&r.indexOf(v)>-1}}var e={},i=t.group;(!i||Rt(i)!="object")&&(i={name:i}),e.name=i.name,e.checkPull=n(i.pull,!0),e.checkPut=n(i.put),e.revertClone=i.revertClone,t.group=e},Re=function(){!Me&&g&&h(g,"display","none")},Ye=function(){!Me&&g&&h(g,"display","")};$t&&!Te&&document.addEventListener("click",function(o){if(Wt)return o.preventDefault(),o.stopPropagation&&o.stopPropagation(),o.stopImmediatePropagation&&o.stopImmediatePropagation(),Wt=!1,!1},!0);var lt=function(t){if(c){t=t.touches?t.touches[0]:t;var n=Sn(t.clientX,t.clientY);if(n){var e={};for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);e.target=e.rootEl=n,e.preventDefault=void 0,e.stopPropagation=void 0,n[N]._onDragOver(e)}}},Dn=function(t){c&&c.parentNode[N]._isOutsideThisEl(t.target)};function p(o,t){if(!(o&&o.nodeType&&o.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(o));this.el=o,this.options=t=q({},t),o[N]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(o.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Fe(o,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,l){a.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:p.supportPointer!==!1&&"PointerEvent"in window&&!Dt,emptyInsertThreshold:5};At.initializePlugins(this,o,n);for(var e in n)!(e in t)&&(t[e]=n[e]);ke(t);for(var i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=t.forceFallback?!1:wn,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?w(o,"pointerdown",this._onTapStart):(w(o,"mousedown",this._onTapStart),w(o,"touchstart",this._onTapStart)),this.nativeDraggable&&(w(o,"dragover",this),w(o,"dragenter",this)),zt.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),q(this,mn())}p.prototype={constructor:p,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(ft=null)},_getDirection:function(t,n){return typeof this.options.direction=="function"?this.options.direction.call(this,t,n,c):this.options.direction},_onTapStart:function(t){if(t.cancelable){var n=this,e=this.el,i=this.options,r=i.preventOnFilter,a=t.type,l=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,s=(l||t).target,u=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||s,d=i.filter;if(Nn(e),!c&&!(/mousedown|pointerdown/.test(a)&&t.button!==0||i.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&Dt&&s&&s.tagName.toUpperCase()==="SELECT")&&(s=W(s,i.draggable,e,!1),!(s&&s.animated)&&Yt!==s)){if(ht=Y(s),Ct=Y(s,i.draggable),typeof d=="function"){if(d.call(this,t,s,this)){A({sortable:n,rootEl:u,name:"filter",targetEl:s,toEl:e,fromEl:e}),P("filter",n,{evt:t}),r&&t.cancelable&&t.preventDefault();return}}else if(d&&(d=d.split(",").some(function(f){if(f=W(u,f.trim(),e,!1),f)return A({sortable:n,rootEl:f,name:"filter",targetEl:s,fromEl:e,toEl:e}),P("filter",n,{evt:t}),!0}),d)){r&&t.cancelable&&t.preventDefault();return}i.handle&&!W(u,i.handle,e,!1)||this._prepareDragStart(t,l,s)}}},_prepareDragStart:function(t,n,e){var i=this,r=i.el,a=i.options,l=r.ownerDocument,s;if(e&&!c&&e.parentNode===r){var u=C(e);if(E=r,c=e,D=c.parentNode,st=c.nextSibling,Yt=e,Nt=a.group,p.dragged=c,at={target:c,clientX:(n||t).clientX,clientY:(n||t).clientY},ye=at.clientX-u.left,we=at.clientY-u.top,this._lastX=(n||t).clientX,this._lastY=(n||t).clientY,c.style["will-change"]="all",s=function(){if(P("delayEnded",i,{evt:t}),p.eventCanceled){i._onDrop();return}i._disableDelayedDragEvents(),!me&&i.nativeDraggable&&(c.draggable=!0),i._triggerDragStart(t,n),A({sortable:i,name:"choose",originalEvent:t}),k(c,a.chosenClass,!0)},a.ignore.split(",").forEach(function(d){xe(c,d.trim(),ne)}),w(l,"dragover",lt),w(l,"mousemove",lt),w(l,"touchmove",lt),w(l,"mouseup",i._onDrop),w(l,"touchend",i._onDrop),w(l,"touchcancel",i._onDrop),me&&this.nativeDraggable&&(this.options.touchStartThreshold=4,c.draggable=!0),P("delayStart",this,{evt:t}),a.delay&&(!a.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(It||K))){if(p.eventCanceled){this._onDrop();return}w(l,"mouseup",i._disableDelayedDrag),w(l,"touchend",i._disableDelayedDrag),w(l,"touchcancel",i._disableDelayedDrag),w(l,"mousemove",i._delayedDragTouchMoveHandler),w(l,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&w(l,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(s,a.delay)}else s()}},_delayedDragTouchMoveHandler:function(t){var n=t.touches?t.touches[0]:t;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){c&&ne(c),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;_(t,"mouseup",this._disableDelayedDrag),_(t,"touchend",this._disableDelayedDrag),_(t,"touchcancel",this._disableDelayedDrag),_(t,"mousemove",this._delayedDragTouchMoveHandler),_(t,"touchmove",this._delayedDragTouchMoveHandler),_(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,n){n=n||t.pointerType=="touch"&&t,!this.nativeDraggable||n?this.options.supportPointer?w(document,"pointermove",this._onTouchMove):n?w(document,"touchmove",this._onTouchMove):w(document,"mousemove",this._onTouchMove):(w(c,"dragend",this),w(E,"dragstart",this._onDragStart));try{document.selection?Bt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,n){if(dt=!1,E&&c){P("dragStarted",this,{evt:n}),this.nativeDraggable&&w(document,"dragover",Dn);var e=this.options;!t&&k(c,e.dragClass,!1),k(c,e.ghostClass,!0),p.active=this,t&&this._appendGhost(),A({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(G){this._lastX=G.clientX,this._lastY=G.clientY,Re();for(var t=document.elementFromPoint(G.clientX,G.clientY),n=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(G.clientX,G.clientY),t!==n);)n=t;if(c.parentNode[N]._isOutsideThisEl(t),n)do{if(n[N]){var e=void 0;if(e=n[N]._onDragOver({clientX:G.clientX,clientY:G.clientY,target:t,rootEl:n}),e&&!this.options.dragoverBubble)break}t=n}while(n=Oe(n));Ye()}},_onTouchMove:function(t){if(at){var n=this.options,e=n.fallbackTolerance,i=n.fallbackOffset,r=t.touches?t.touches[0]:t,a=g&&pt(g,!0),l=g&&a&&a.a,s=g&&a&&a.d,u=Ft&&x&&_e(x),d=(r.clientX-at.clientX+i.x)/(l||1)+(u?u[0]-ee[0]:0)/(l||1),f=(r.clientY-at.clientY+i.y)/(s||1)+(u?u[1]-ee[1]:0)/(s||1);if(!p.active&&!dt){if(e&&Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))=0&&(A({rootEl:D,name:"add",toEl:D,fromEl:E,originalEvent:t}),A({sortable:this,name:"remove",toEl:D,originalEvent:t}),A({rootEl:D,name:"sort",toEl:D,fromEl:E,originalEvent:t}),A({sortable:this,name:"sort",toEl:D,originalEvent:t})),O&&O.save()):R!==ht&&R>=0&&(A({sortable:this,name:"update",toEl:D,originalEvent:t}),A({sortable:this,name:"sort",toEl:D,originalEvent:t})),p.active&&((R==null||R===-1)&&(R=ht,Q=Ct),A({sortable:this,name:"end",toEl:D,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){P("nulling",this),E=c=D=g=st=S=Yt=tt=at=G=wt=R=Q=ht=Ct=ft=Ot=O=Nt=p.dragged=p.ghost=p.clone=p.active=null,Lt.forEach(function(t){t.checked=!0}),Lt.length=Qt=te=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":c&&(this._onDragOver(t),Tn(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],n,e=this.el.children,i=0,r=e.length,a=this.options;ii.right+r||o.clientY>e.bottom&&o.clientX>e.left:o.clientY>i.bottom+r||o.clientX>e.right&&o.clientY>e.top}function In(o,t,n,e,i,r,a,l){var s=e?o.clientY:o.clientX,u=e?n.height:n.width,d=e?n.top:n.left,f=e?n.bottom:n.right,v=!1;if(!a){if(l&&Xtd+u*r/2:sf-Xt)return-Ot}else if(s>d+u*(1-i)/2&&sf-u*r/2)?s>d+u/2?1:-1:0}function An(o){return Y(c){kn(t,d.oldIndex,d.newIndex)}},l=()=>{const d=typeof o=="string"?i==null?void 0:i.querySelector(o):qe(o);!d||e!==void 0||(e=new p(d,{...a,...r}))},s=()=>{e==null||e.destroy(),e=void 0},u=(d,f)=>{if(f!==void 0)e==null||e.option(d,f);else return e==null?void 0:e.option(d)};return Ve(l),Ze(s),{stop:s,start:l,option:u}}function kn(o,t,n){const e=Je(o),i=e?[...pe(o)]:pe(o);if(n>=0&&n{i.splice(n,0,r),e&&(o.value=i)})}}const Rn={class:"bg-light-900 dark-bg-dark-800",id:"screen"},Yn={class:"relative"},Xn={class:"flex items-center z-20 absolute bottom-2 left-2 text-xl"},Bn=["onClick"],Hn={class:"flex gap-4 items-center flex-col w-full",style:{flex:"1 1 200px"}},Gn={class:"p",style:{flex:"1 1 200px"}},Wn=200,qn={__name:"JamSession",setup(o){const t=Vt(),n=tn("jam-progression",[]);Vt(!1);const{option:e}=Fn(t,n);e("animation",Wn);const i=Vt("guitar");return(r,a)=>{const l=ze,s=Ue,u=Le,d=$e,f=je,v=Ge;return qt(),Kt("div",Rn,[H("div",{class:"flex gap-6 p-4 justify-between relative items-stretch flex-wrap",style:sn({backgroundColor:`hsla(${30*rt(Ut).tonic}, 80%, 50%, 0.1)`})},[H("div",{class:"flex flex-wrap items-center border-1 rounded-xl p-4 gap-4",ref_key:"list",ref:t},[(qt(!0),Kt(en,null,nn(rt(n),(m,b)=>(qt(),Kt("div",{class:"p-0 relative flex flex-col gap-4",style:{flex:"1 1 100px"},key:m},[H("div",Yn,[ut(l,{class:"max-h-30",chroma:m.chroma,playAll:!0,pitch:(rt(Ut).tonic+m.degree)%12},null,8,["chroma","pitch"]),H("div",Xn,on(rt(We)[m.degree]),1),H("button",{class:"flex items-center z-20 absolute bottom-2 right-2 text-xl",onClick:y=>rt(n).splice(b,1)},a[3]||(a[3]=[H("div",{class:"i-la-trash"},null,-1)]),8,Bn)]),ut(s,{class:"max-h-60",chroma:m.chroma,pitch:(rt(Ut).tonic+m.degree)%12,instrument:i.value,"onUpdate:instrument":a[0]||(a[0]=y=>i.value=y)},null,8,["chroma","pitch","instrument"])]))),128))],512),H("div",Hn,[ut(u,null,{default:rn(()=>[an(H("select",{class:"p-2 m-2 rounded-lg font-bold dark-bg-dark-300","onUpdate:modelValue":a[1]||(a[1]=m=>i.value=m)},a[4]||(a[4]=[H("option",{value:"guitar"},"Guitar",-1),H("option",{value:"ukulele"},"Ukulele",-1)]),512),[[ln,i.value]])]),_:1}),ut(d,{class:"overflow-scroll z-1000 max-w-80vw",onChord:a[2]||(a[2]=m=>rt(n).push(m))})]),H("div",Gn,[ut(f,{style:{flex:"4 1 100px"},instrument:i.value},null,8,["instrument"])]),ut(v)],4)])}}};export{qn as default}; diff --git a/assets/chunks/JamTable.BvQhSVVd.js b/assets/chunks/JamTable.C03C7b_4.js similarity index 65% rename from assets/chunks/JamTable.BvQhSVVd.js rename to assets/chunks/JamTable.C03C7b_4.js index c47c9ca1cd..f47bcadda2 100644 --- a/assets/chunks/JamTable.BvQhSVVd.js +++ b/assets/chunks/JamTable.C03C7b_4.js @@ -1 +1 @@ -import{_ as C}from"./JamDate.DlntF5CC.js";import{w as $,J as x,aP as y,g as t,n as S,i as j,aQ as B,S as D,_ as J,aW as z}from"./theme.ClagsQLu.js";import{v as T,x as c,y as r,F as b,B as w,H as h,E as e,A as s,G as i,z as E,r as k,am as F,J as N,P as a,U as P,C as V,D as W,aj as A,$ as G}from"./framework.BR0mAPCP.js";import{_ as H}from"./ChromaCode.CCQBWIK8.js";const L={class:"flex flex gap-1"},M=["onClick"],O={class:"text-md opacity-80"},Q={__name:"JamChroma",setup(v){return T(),(_,n)=>(c(),r("div",L,[(c(!0),r(b,null,w(e(t).chroma,(l,o)=>(c(),r("div",{class:"flex-1 text-black rounded cursor-pointer relative flex items-center flex-col gap-2 justify-between overflow-hidden",key:o,style:h({color:e($)(e(x)(o,l,"#fff","#000")).isDark()?"white":"black",backgroundColor:e(x)(o,l,"#fffa","#000a"),opacity:e(y)[(o+e(t).tonic)%12]?1:l==1?.9:.3}),onClick:d=>e(t).tonic=(o+e(t).tonic)%12},[s("div",{class:"pt-2 font-bold text-center text-xl",style:h({fontWeight:l==1?"bold":"normal"})},i(e(S)[(o+e(t).tonic)%12]),5),s("div",{class:E(["p-2 mx-auto opacity-0 rounded-full transition",{"opacity-80":e(y)[(o+e(t).tonic)%12]}]),style:{backgroundColor:"currentColor"}},null,2),s("div",O,i(e(j)[o]),1),s("div",{class:"p-6px w-full opacity-80",style:h({backgroundColor:e(x)(o,0,"#fff8","#0008")})},null,4)],12,M))),128))]))}},U={class:"flex gap-4 items-center"},q={class:"p-0 text-2xl font-bold flex items-center gap-4"},I={class:"w-60 text-lg tabular-nums font-mono"},K=["onClick"],R={class:"p-0 text-xl"},X={__name:"JamScale",setup(v){const _=k();F(_,()=>{n.value=!1});const n=k(!1);return(l,o)=>{var p,u,f,g;const d=H;return c(),r("div",U,[s("div",{class:"w-full flex gap-4 cursor-pointer bg-dark-900 bg-opacity-40 p-2 rounded-xl items-center",onClick:o[0]||(o[0]=m=>n.value=!n.value)},[s("div",q,i((u=(p=e(t))==null?void 0:p.note)==null?void 0:u.name)+" "+i((g=(f=e(t))==null?void 0:f.set)==null?void 0:g.name),1),o[1]||(o[1]=s("div",{class:"flex-1"},null,-1)),o[2]||(o[2]=s("div",{class:"text-lg i-la-angle-down"},null,-1))]),s("div",I,i(e(B)[0]),1),N(l.$slots,"default"),a(A,{name:"fade"},{default:P(()=>[V(s("div",{class:"flex flex-col max-h-40vh overflow-scroll absolute bg-light-100 dark-bg-dark-100 rounded-xl overscroll-contain scroll-smooth snap-y snap-proximity z-100",ref_key:"menu",ref:_},[(c(!0),r(b,null,w(e(D).all(),m=>(c(),r("div",{class:"text-md flex-auto flex items-center gap-2 cursor-pointer hover-bg-light-400 hover-bg-opacity-10 p-2",key:m,onClick:oe=>{e(t).chroma=m.chroma,n.value=!1}},[s("div",R,i(m.name),1),o[3]||(o[3]=s("div",{class:"flex-1"},null,-1)),a(d,{chroma:m.chroma,cols:12},null,8,["chroma"])],8,K))),128))],512),[[W,n.value]])]),_:1})])}}},Y={class:"bg-light-900 dark-bg-dark-800",id:"screen"},Z={class:"flex p-4 gap-4 items-center flex-wrap w-full"},ee={class:"flex p-4 gap-4 items-center w-full"},ne={__name:"JamTable",setup(v){return(_,n)=>{const l=G("gpu-shader"),o=J,d=X,p=Q,u=z,f=C;return c(),r("div",Y,[s("div",{class:"flex gap-6 p-4 justify-between relative items-stretch flex-col min-h-full",style:h({backgroundColor:`hsla(${30*e(t).tonic}, 80%, 50%, 0.1)`})},[s("div",Z,[a(l,{class:"w-60 h-60"}),a(o,{class:"flex-1 max-h-60 transform -scale-y-100 -scale-x-100",chroma:e(t).chroma,pitch:e(t).tonic},null,8,["chroma","pitch"])]),a(d),a(p,{class:"flex-auto"}),s("div",ee,[a(o,{class:"flex-1 max-h-60",chroma:e(t).chroma,pitch:e(t).tonic},null,8,["chroma","pitch"]),a(u,{class:"w-60 op-70",letters:!1,chroma:!0})]),a(f)],4)])}}};export{ne as default}; +import{_ as C}from"./JamDate.BQoTgKZo.js";import{w as $,J as x,aR as y,g as t,n as S,i as j,aS as B,S as D,_ as J,aY as z}from"./theme.Dd_Fb62b.js";import{v as T,x as c,y as r,F as b,B as w,H as h,E as e,A as s,G as i,z as E,r as k,am as F,J as N,P as a,U as V,C as A,D as G,aj as H,$ as L}from"./framework.CQBrk0Ry.js";import{_ as M}from"./ChromaCode.DOABZX-2.js";const O={class:"flex flex gap-1"},P=["onClick"],R={class:"text-md opacity-80"},U={__name:"JamChroma",setup(v){return T(),(_,n)=>(c(),r("div",O,[(c(!0),r(b,null,w(e(t).chroma,(l,o)=>(c(),r("div",{class:"flex-1 text-black rounded cursor-pointer relative flex items-center flex-col gap-2 justify-between overflow-hidden",key:o,style:h({color:e($)(e(x)(o,l,"#fff","#000")).isDark()?"white":"black",backgroundColor:e(x)(o,l,"#fffa","#000a"),opacity:e(y)[(o+e(t).tonic)%12]?1:l==1?.9:.3}),onClick:d=>e(t).tonic=(o+e(t).tonic)%12},[s("div",{class:"pt-2 font-bold text-center text-xl",style:h({fontWeight:l==1?"bold":"normal"})},i(e(S)[(o+e(t).tonic)%12]),5),s("div",{class:E(["p-2 mx-auto opacity-0 rounded-full transition",{"opacity-80":e(y)[(o+e(t).tonic)%12]}]),style:{backgroundColor:"currentColor"}},null,2),s("div",R,i(e(j)[o]),1),s("div",{class:"p-6px w-full opacity-80",style:h({backgroundColor:e(x)(o,0,"#fff8","#0008")})},null,4)],12,P))),128))]))}},W={class:"flex gap-4 items-center"},Y={class:"p-0 text-2xl font-bold flex items-center gap-4"},q={class:"w-60 text-lg tabular-nums font-mono"},I=["onClick"],K={class:"p-0 text-xl"},Q={__name:"JamScale",setup(v){const _=k();F(_,()=>{n.value=!1});const n=k(!1);return(l,o)=>{var p,u,f,g;const d=M;return c(),r("div",W,[s("div",{class:"w-full flex gap-4 cursor-pointer bg-dark-900 bg-opacity-40 p-2 rounded-xl items-center",onClick:o[0]||(o[0]=m=>n.value=!n.value)},[s("div",Y,i((u=(p=e(t))==null?void 0:p.note)==null?void 0:u.name)+" "+i((g=(f=e(t))==null?void 0:f.set)==null?void 0:g.name),1),o[1]||(o[1]=s("div",{class:"flex-1"},null,-1)),o[2]||(o[2]=s("div",{class:"text-lg i-la-angle-down"},null,-1))]),s("div",q,i(e(B)[0]),1),N(l.$slots,"default"),a(H,{name:"fade"},{default:V(()=>[A(s("div",{class:"flex flex-col max-h-40vh overflow-scroll absolute bg-light-100 dark-bg-dark-100 rounded-xl overscroll-contain scroll-smooth snap-y snap-proximity z-100",ref_key:"menu",ref:_},[(c(!0),r(b,null,w(e(D).all(),m=>(c(),r("div",{class:"text-md flex-auto flex items-center gap-2 cursor-pointer hover-bg-light-400 hover-bg-opacity-10 p-2",key:m,onClick:oe=>{e(t).chroma=m.chroma,n.value=!1}},[s("div",K,i(m.name),1),o[3]||(o[3]=s("div",{class:"flex-1"},null,-1)),a(d,{chroma:m.chroma,cols:12},null,8,["chroma"])],8,I))),128))],512),[[G,n.value]])]),_:1})])}}},X={class:"bg-light-900 dark-bg-dark-800",id:"screen"},Z={class:"flex p-4 gap-4 items-center flex-wrap w-full"},ee={class:"flex p-4 gap-4 items-center w-full"},ne={__name:"JamTable",setup(v){return(_,n)=>{const l=L("gpu-shader"),o=J,d=Q,p=U,u=z,f=C;return c(),r("div",X,[s("div",{class:"flex gap-6 p-4 justify-between relative items-stretch flex-col min-h-full",style:h({backgroundColor:`hsla(${30*e(t).tonic}, 80%, 50%, 0.1)`})},[s("div",Z,[a(l,{class:"w-60 h-60"}),a(o,{class:"flex-1 max-h-60 transform -scale-y-100 -scale-x-100",chroma:e(t).chroma,pitch:e(t).tonic},null,8,["chroma","pitch"])]),a(d),a(p,{class:"flex-auto"}),s("div",ee,[a(o,{class:"flex-1 max-h-60",chroma:e(t).chroma,pitch:e(t).tonic},null,8,["chroma","pitch"]),a(u,{class:"w-60 op-70",letters:!1,chroma:!0})]),a(f)],4)])}}};export{ne as default}; diff --git a/assets/chunks/MapGlobe.BAv-81qv.js b/assets/chunks/MapGlobe.o1hXVYRQ.js similarity index 99% rename from assets/chunks/MapGlobe.BAv-81qv.js rename to assets/chunks/MapGlobe.o1hXVYRQ.js index 994b9f6b04..a5daa3eb78 100644 --- a/assets/chunks/MapGlobe.BAv-81qv.js +++ b/assets/chunks/MapGlobe.o1hXVYRQ.js @@ -1 +1 @@ -import{r as U,o as j,x as O,y as I}from"./framework.BR0mAPCP.js";var v=["x","y","z"],h=function(t){Object.assign(this,{uniforms:{},geometry:{vertices:[{x:0,y:0,z:0}]},mode:0,modifiers:{},attributes:[],multiplier:1,buffers:[]}),Object.assign(this,t),this.prepareProgram(),this.prepareUniforms(),this.prepareAttributes()};h.prototype.compileShader=function(t,e){var i=this.gl.createShader(t);return this.gl.shaderSource(i,e),this.gl.compileShader(i),i},h.prototype.prepareProgram=function(){var t=this.gl,e=this.vertex,i=this.fragment,s=t.createProgram();t.attachShader(s,this.compileShader(35633,e)),t.attachShader(s,this.compileShader(35632,i)),t.linkProgram(s),t.useProgram(s),this.program=s},h.prototype.prepareUniforms=function(){for(var t=Object.keys(this.uniforms),e=0;e[].concat(...t.map(e=>{let[i,s]=e.location;i=i*d/180,s=s*d/180-d;let f=b(i);return[-f*b(s),y(i),f*y(s),e.size]}),[0,0,0,0]),V=(t,e)=>{let i=(r,a,o)=>({type:r,value:typeof e[a]>"u"?o:e[a]}),s=t.getContext("webgl")?"webgl":"experimental-webgl",f=new p({canvas:t,contextType:s,context:{alpha:!0,stencil:!1,antialias:!0,depth:!1,preserveDrawingBuffer:!1,...e.context},settings:{[g]:e[g]||1,onSetup:r=>{let a=r.RGB,o=r.UNSIGNED_BYTE,n=r.TEXTURE_2D,l=r.createTexture();r.bindTexture(n,l),r.texImage2D(n,0,a,1,1,0,a,o,new Uint8Array([0,0,0,0]));let c=new Image;c.onload=()=>{r.bindTexture(n,l),r.texImage2D(n,0,a,a,o,c),r.generateMipmap(n);let u=r.getParameter(r.CURRENT_PROGRAM),T=r.getUniformLocation(u,"J");r.texParameteri(n,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(n,r.TEXTURE_MAG_FILTER,r.NEAREST),r.uniform1i(T,0)},c.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAACAAQAAAADMzoqnAAAAAXNSR0IArs4c6QAABA5JREFUeNrV179uHEUAx/Hf3JpbF+E2VASBsmVKTBcpKJs3SMEDcDwBiVJAAewYEBUivIHT0uUBIt0YCovKD0CRjUC4QfHYh8hYXu+P25vZ2Zm9c66gMd/GJ/tz82d3bk8GN4SrByYF2366FNTACIAkivVAAazQdnf3MvAlbNUQfOPAdQDvSAimMWhwy4I2g4SU+Kp04ISLpPBAKLxPyic3O/CCi+Y7rUJbiodcpDOFY7CgxCEXmdYD2EYK2s5lApOx5pEDDYCUwM1XdJUwBV11QQMg59kePSCaPAASQMEL2hwo6TJFgxpg+TgC2ymXPbuvc40awr3D1QCFfbH9kcoqAOkZozpQo0aqAGQRKCog/+tjkgbNFEtg2FffBvBGlSxHoAaAa1u6X4PBAwDiR8FFsrQgeUhfJTSALaB9jy5NCybJPn1SVFiWk7ywN+KzhH1aKAuydhGkbEF4lWohLXDXavlyFgHY7LBnLRdlAP6BS5Cc8RfVDXbkwN/oIvmY+6obbNeBP0JwTuMGu9gTzy1Q4RS/cWpfzszeYwd+CAFrtBW/Hur0gLbJGlD+/OjVwe/drfBxkbbg63dndEDfiEBlAd7ac0BPe1D6Jd8dfbLH+RI0OzseFB5s01/M+gMdAeluLOCAuaUA9Lezo/vSgXoCX9rtEiXnp7Q1W/CNyWcd8DXoS6jH/YZ5vAJEWY2dXFQe2TUgaFaNejCzJ98g6HnlVrsE58sDcYqg+9XY75fPqdoh/kRQWiXKg8MWlJQxUFMPjqnyujhFBE7UxIMjyszk0QwQlFsezImsyvUYYYVED2pk6m0Tg8T04Fwjk2kdAwSACqlM6gRRt3vQYAFGX0Ah7Ebx1H+MDRI5ui0QldH4j7FGcm90XdxD2Jg1AOEAVAKhEFXSn4cKUELurIAKwJ3MArypPscQaLhJFICJ0ohjDySAdH8AhDtCiTuMycH8CXzhH9jUACAO5uMhoAwA5i+T6WAKmmAqnLy80wxHqIPFYpqCwxGaYLt4Dyievg5kEoVEUAhs6pqKgFtDQYOuaXypaWKQfIuwwoGSZgfLsu/XAtI8cGN+h7Cc1A5oLOMhwlIPXuhu48AIvsSBkvtV9wsJRKCyYLfq5lTrQMFd1a262oqBck9K1V0YjQg0iEYYgpS1A9GlXQV5cykwm4A7BzVsxQqo7E+zCegO7Ma7yKgsuOcfKbMBwLC8wvVNYDsANYalEpOAa6zpWjTeMKGwEwC1CiQewJc5EKfgy7GmRAZA4vUVGwE2dPM/g0xuAInE/yG5aZ8ISxWGfYigUVbdyBElTHh2uCwGdfCkOLGgQVBh3Ewp+/QK4CDlR5Ws/Zf7yhCf8pH7vinWAvoVCQ6zz0NX5V/6GkAVV+2/5qsJ/gU8bsxpM8IeAQAAAABJRU5ErkJggg=="}}});return f.add("",{vertex:"attribute vec3 aPosition;uniform mat4 uProjectionMatrix;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;void main(){gl_Position=uProjectionMatrix*uModelMatrix*uViewMatrix*vec4(aPosition,1.);}",fragment:"precision highp float;uniform vec2 t,x;uniform vec3 R,S,y;uniform vec4 z[64];uniform float A,B,l,C,D,E,F,G,H,I;uniform sampler2D J;float K=1./l;mat3 L(float a,float b){float c=cos(a),d=cos(b),e=sin(a),f=sin(b);return mat3(d,f*e,-f*c,0.,c,e,f,d*-e,d*c);}vec3 w(vec3 c,out float v){c=c.xzy;float p=max(2.,floor(log2(2.236068*l*3.141593*(1.-c.z*c.z))*.72021));vec2 g=floor(pow(1.618034,p)/2.236068*vec2(1.,1.618034)+.5),d=fract((g+1.)*.618034)*6.283185-3.883222,e=-2.*g,f=vec2(atan(c.y,c.x),c.z-1.),q=floor(vec2(e.y*f.x-d.y*(f.y*l+1.),-e.x*f.x+d.x*(f.y*l+1.))/(d.x*e.y-e.x*d.y));float n=3.141593;vec3 r;for(float h=0.;h<4.;h+=1.){vec2 s=vec2(mod(h,2.),floor(h*.5));float j=dot(g,q+s);if(j>l)continue;float a=j,b=0.;if(a>=524288.)a-=524288.,b+=.803894;if(a>=262144.)a-=262144.,b+=.901947;if(a>=131072.)a-=131072.,b+=.950973;if(a>=65536.)a-=65536.,b+=.475487;if(a>=32768.)a-=32768.,b+=.737743;if(a>=16384.)a-=16384.,b+=.868872;if(a>=8192.)a-=8192.,b+=.934436;if(a>=4096.)a-=4096.,b+=.467218;if(a>=2048.)a-=2048.,b+=.733609;if(a>=1024.)a-=1024.,b+=.866804;if(a>=512.)a-=512.,b+=.433402;if(a>=256.)a-=256.,b+=.216701;if(a>=128.)a-=128.,b+=.108351;if(a>=64.)a-=64.,b+=.554175;if(a>=32.)a-=32.,b+=.777088;if(a>=16.)a-=16.,b+=.888544;if(a>=8.)a-=8.,b+=.944272;if(a>=4.)a-=4.,b+=.472136;if(a>=2.)a-=2.,b+=.236068;if(a>=1.)a-=1.,b+=.618034;float k=fract(b)*6.283185,i=1.-2.*j*K,m=sqrt(1.-i*i);vec3 o=vec3(cos(k)*m,sin(k)*m,i);float u=length(c-o);if(u0?-1.:1.,u.z*=d>0?-1.:1.;vec3 g=f*L(B,A),h=w(g,a);float n=asin(h.y),i=acos(-h.x/cos(n));i=h.z<0.?-i:i;float N=max(texture2D(J,vec2(i*.5/3.141593,-(n/3.141593+.5))).x,I),O=smoothstep(8e-3,0.,a),j=dot(f,u),v=pow(j,F)*E,o=N*O*v,T=mix((1.-o)*pow(j,.4),o,G)+.1;e+=vec4(R*T,1.);int U=int(D);float p=0.;for(int k=0;k<64;k++){if(k>=U)break;vec4 q=z[k];vec3 r=q.xyz,P=r-g;float s=q.w;if(dot(P,P)>s*s*4.)continue;vec3 V=w(r,a);a=length(V-g),a0?-H:H))/2.;}m=pow(dot(normalize(vec3(-b,sqrt(1.-c))),vec3(0.,0.,1.)),4.)*smoothstep(0.,1.,.2/(c-.64));}else{float Q=sqrt(.2/(c-.64));m=smoothstep(.5,1.,Q/(Q+1.));}gl_FragColor=M+vec4(m*y,m);}",uniforms:{t:{type:"vec2",value:[e.width,e.height]},A:i("float",w),B:i("float",z),l:i("float",M),E:i("float",C),I:i("float",Q),R:i("vec3",E),S:i("vec3",R),F:i("float",P),y:i("vec3",B),G:i("float",S),z:{type:"vec4",value:x(e[m])},D:{type:"float",value:e[m].length},x:i("vec2",k,[0,0]),C:i("float",D,1),H:i("float",F,1)},mode:4,geometry:{vertices:[{x:-100,y:100,z:0},{x:-100,y:-100,z:0},{x:100,y:100,z:0},{x:100,y:-100,z:0},{x:-100,y:-100,z:0},{x:100,y:100,z:0}]},onRender:({uniforms:r})=>{let a={};if(e.onRender){a=e.onRender(a)||a;for(let o in A)a[o]!==void 0&&(r[A[o]].value=a[o]);a[m]!==void 0&&(r.z.value=x(a[m]),r.D.value=a[m].length),a.width&&a.height&&(r.t.value=[a.width,a.height])}}}),f};const L={__name:"MapGlobe",props:{dots:{type:Array,default:()=>[]},center:{type:Array,default:()=>[0,70]}},setup(t){const e=t,i=U();let s=0;const f=e.dots.map(r=>({location:r,size:.05}));return j(()=>{V(i.value,{devicePixelRatio:2,width:1e3,height:1e3,phi:0,theta:.28,dark:0,diffuse:1.2,mapSamples:16e3,mapBrightness:9,baseColor:[.8,.8,.8],markerColor:[.3,.9,.7],glowColor:[1,1,1],markers:[{location:e.center,size:0},...f],onRender:r=>{r.phi=s,s+=.0025}})}),(r,a)=>(O(),I("canvas",{class:"-z-4 top-0 right-0 scale-150 opacity-30 absolute max-w-500px h-500px m-auto rounded-2xl",ref_key:"canvas",ref:i},null,512))}};export{L as default}; +import{r as U,o as j,x as O,y as I}from"./framework.CQBrk0Ry.js";var v=["x","y","z"],h=function(t){Object.assign(this,{uniforms:{},geometry:{vertices:[{x:0,y:0,z:0}]},mode:0,modifiers:{},attributes:[],multiplier:1,buffers:[]}),Object.assign(this,t),this.prepareProgram(),this.prepareUniforms(),this.prepareAttributes()};h.prototype.compileShader=function(t,e){var i=this.gl.createShader(t);return this.gl.shaderSource(i,e),this.gl.compileShader(i),i},h.prototype.prepareProgram=function(){var t=this.gl,e=this.vertex,i=this.fragment,s=t.createProgram();t.attachShader(s,this.compileShader(35633,e)),t.attachShader(s,this.compileShader(35632,i)),t.linkProgram(s),t.useProgram(s),this.program=s},h.prototype.prepareUniforms=function(){for(var t=Object.keys(this.uniforms),e=0;e[].concat(...t.map(e=>{let[i,s]=e.location;i=i*d/180,s=s*d/180-d;let f=b(i);return[-f*b(s),y(i),f*y(s),e.size]}),[0,0,0,0]),V=(t,e)=>{let i=(r,a,o)=>({type:r,value:typeof e[a]>"u"?o:e[a]}),s=t.getContext("webgl")?"webgl":"experimental-webgl",f=new p({canvas:t,contextType:s,context:{alpha:!0,stencil:!1,antialias:!0,depth:!1,preserveDrawingBuffer:!1,...e.context},settings:{[g]:e[g]||1,onSetup:r=>{let a=r.RGB,o=r.UNSIGNED_BYTE,n=r.TEXTURE_2D,l=r.createTexture();r.bindTexture(n,l),r.texImage2D(n,0,a,1,1,0,a,o,new Uint8Array([0,0,0,0]));let c=new Image;c.onload=()=>{r.bindTexture(n,l),r.texImage2D(n,0,a,a,o,c),r.generateMipmap(n);let u=r.getParameter(r.CURRENT_PROGRAM),T=r.getUniformLocation(u,"J");r.texParameteri(n,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(n,r.TEXTURE_MAG_FILTER,r.NEAREST),r.uniform1i(T,0)},c.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAACAAQAAAADMzoqnAAAAAXNSR0IArs4c6QAABA5JREFUeNrV179uHEUAx/Hf3JpbF+E2VASBsmVKTBcpKJs3SMEDcDwBiVJAAewYEBUivIHT0uUBIt0YCovKD0CRjUC4QfHYh8hYXu+P25vZ2Zm9c66gMd/GJ/tz82d3bk8GN4SrByYF2366FNTACIAkivVAAazQdnf3MvAlbNUQfOPAdQDvSAimMWhwy4I2g4SU+Kp04ISLpPBAKLxPyic3O/CCi+Y7rUJbiodcpDOFY7CgxCEXmdYD2EYK2s5lApOx5pEDDYCUwM1XdJUwBV11QQMg59kePSCaPAASQMEL2hwo6TJFgxpg+TgC2ymXPbuvc40awr3D1QCFfbH9kcoqAOkZozpQo0aqAGQRKCog/+tjkgbNFEtg2FffBvBGlSxHoAaAa1u6X4PBAwDiR8FFsrQgeUhfJTSALaB9jy5NCybJPn1SVFiWk7ywN+KzhH1aKAuydhGkbEF4lWohLXDXavlyFgHY7LBnLRdlAP6BS5Cc8RfVDXbkwN/oIvmY+6obbNeBP0JwTuMGu9gTzy1Q4RS/cWpfzszeYwd+CAFrtBW/Hur0gLbJGlD+/OjVwe/drfBxkbbg63dndEDfiEBlAd7ac0BPe1D6Jd8dfbLH+RI0OzseFB5s01/M+gMdAeluLOCAuaUA9Lezo/vSgXoCX9rtEiXnp7Q1W/CNyWcd8DXoS6jH/YZ5vAJEWY2dXFQe2TUgaFaNejCzJ98g6HnlVrsE58sDcYqg+9XY75fPqdoh/kRQWiXKg8MWlJQxUFMPjqnyujhFBE7UxIMjyszk0QwQlFsezImsyvUYYYVED2pk6m0Tg8T04Fwjk2kdAwSACqlM6gRRt3vQYAFGX0Ah7Ebx1H+MDRI5ui0QldH4j7FGcm90XdxD2Jg1AOEAVAKhEFXSn4cKUELurIAKwJ3MArypPscQaLhJFICJ0ohjDySAdH8AhDtCiTuMycH8CXzhH9jUACAO5uMhoAwA5i+T6WAKmmAqnLy80wxHqIPFYpqCwxGaYLt4Dyievg5kEoVEUAhs6pqKgFtDQYOuaXypaWKQfIuwwoGSZgfLsu/XAtI8cGN+h7Cc1A5oLOMhwlIPXuhu48AIvsSBkvtV9wsJRKCyYLfq5lTrQMFd1a262oqBck9K1V0YjQg0iEYYgpS1A9GlXQV5cykwm4A7BzVsxQqo7E+zCegO7Ma7yKgsuOcfKbMBwLC8wvVNYDsANYalEpOAa6zpWjTeMKGwEwC1CiQewJc5EKfgy7GmRAZA4vUVGwE2dPM/g0xuAInE/yG5aZ8ISxWGfYigUVbdyBElTHh2uCwGdfCkOLGgQVBh3Ewp+/QK4CDlR5Ws/Zf7yhCf8pH7vinWAvoVCQ6zz0NX5V/6GkAVV+2/5qsJ/gU8bsxpM8IeAQAAAABJRU5ErkJggg=="}}});return f.add("",{vertex:"attribute vec3 aPosition;uniform mat4 uProjectionMatrix;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;void main(){gl_Position=uProjectionMatrix*uModelMatrix*uViewMatrix*vec4(aPosition,1.);}",fragment:"precision highp float;uniform vec2 t,x;uniform vec3 R,S,y;uniform vec4 z[64];uniform float A,B,l,C,D,E,F,G,H,I;uniform sampler2D J;float K=1./l;mat3 L(float a,float b){float c=cos(a),d=cos(b),e=sin(a),f=sin(b);return mat3(d,f*e,-f*c,0.,c,e,f,d*-e,d*c);}vec3 w(vec3 c,out float v){c=c.xzy;float p=max(2.,floor(log2(2.236068*l*3.141593*(1.-c.z*c.z))*.72021));vec2 g=floor(pow(1.618034,p)/2.236068*vec2(1.,1.618034)+.5),d=fract((g+1.)*.618034)*6.283185-3.883222,e=-2.*g,f=vec2(atan(c.y,c.x),c.z-1.),q=floor(vec2(e.y*f.x-d.y*(f.y*l+1.),-e.x*f.x+d.x*(f.y*l+1.))/(d.x*e.y-e.x*d.y));float n=3.141593;vec3 r;for(float h=0.;h<4.;h+=1.){vec2 s=vec2(mod(h,2.),floor(h*.5));float j=dot(g,q+s);if(j>l)continue;float a=j,b=0.;if(a>=524288.)a-=524288.,b+=.803894;if(a>=262144.)a-=262144.,b+=.901947;if(a>=131072.)a-=131072.,b+=.950973;if(a>=65536.)a-=65536.,b+=.475487;if(a>=32768.)a-=32768.,b+=.737743;if(a>=16384.)a-=16384.,b+=.868872;if(a>=8192.)a-=8192.,b+=.934436;if(a>=4096.)a-=4096.,b+=.467218;if(a>=2048.)a-=2048.,b+=.733609;if(a>=1024.)a-=1024.,b+=.866804;if(a>=512.)a-=512.,b+=.433402;if(a>=256.)a-=256.,b+=.216701;if(a>=128.)a-=128.,b+=.108351;if(a>=64.)a-=64.,b+=.554175;if(a>=32.)a-=32.,b+=.777088;if(a>=16.)a-=16.,b+=.888544;if(a>=8.)a-=8.,b+=.944272;if(a>=4.)a-=4.,b+=.472136;if(a>=2.)a-=2.,b+=.236068;if(a>=1.)a-=1.,b+=.618034;float k=fract(b)*6.283185,i=1.-2.*j*K,m=sqrt(1.-i*i);vec3 o=vec3(cos(k)*m,sin(k)*m,i);float u=length(c-o);if(u0?-1.:1.,u.z*=d>0?-1.:1.;vec3 g=f*L(B,A),h=w(g,a);float n=asin(h.y),i=acos(-h.x/cos(n));i=h.z<0.?-i:i;float N=max(texture2D(J,vec2(i*.5/3.141593,-(n/3.141593+.5))).x,I),O=smoothstep(8e-3,0.,a),j=dot(f,u),v=pow(j,F)*E,o=N*O*v,T=mix((1.-o)*pow(j,.4),o,G)+.1;e+=vec4(R*T,1.);int U=int(D);float p=0.;for(int k=0;k<64;k++){if(k>=U)break;vec4 q=z[k];vec3 r=q.xyz,P=r-g;float s=q.w;if(dot(P,P)>s*s*4.)continue;vec3 V=w(r,a);a=length(V-g),a0?-H:H))/2.;}m=pow(dot(normalize(vec3(-b,sqrt(1.-c))),vec3(0.,0.,1.)),4.)*smoothstep(0.,1.,.2/(c-.64));}else{float Q=sqrt(.2/(c-.64));m=smoothstep(.5,1.,Q/(Q+1.));}gl_FragColor=M+vec4(m*y,m);}",uniforms:{t:{type:"vec2",value:[e.width,e.height]},A:i("float",w),B:i("float",z),l:i("float",M),E:i("float",C),I:i("float",Q),R:i("vec3",E),S:i("vec3",R),F:i("float",P),y:i("vec3",B),G:i("float",S),z:{type:"vec4",value:x(e[m])},D:{type:"float",value:e[m].length},x:i("vec2",k,[0,0]),C:i("float",D,1),H:i("float",F,1)},mode:4,geometry:{vertices:[{x:-100,y:100,z:0},{x:-100,y:-100,z:0},{x:100,y:100,z:0},{x:100,y:-100,z:0},{x:-100,y:-100,z:0},{x:100,y:100,z:0}]},onRender:({uniforms:r})=>{let a={};if(e.onRender){a=e.onRender(a)||a;for(let o in A)a[o]!==void 0&&(r[A[o]].value=a[o]);a[m]!==void 0&&(r.z.value=x(a[m]),r.D.value=a[m].length),a.width&&a.height&&(r.t.value=[a.width,a.height])}}}),f};const L={__name:"MapGlobe",props:{dots:{type:Array,default:()=>[]},center:{type:Array,default:()=>[0,70]}},setup(t){const e=t,i=U();let s=0;const f=e.dots.map(r=>({location:r,size:.05}));return j(()=>{V(i.value,{devicePixelRatio:2,width:1e3,height:1e3,phi:0,theta:.28,dark:0,diffuse:1.2,mapSamples:16e3,mapBrightness:9,baseColor:[.8,.8,.8],markerColor:[.3,.9,.7],glowColor:[1,1,1],markers:[{location:e.center,size:0},...f],onRender:r=>{r.phi=s,s+=.0025}})}),(r,a)=>(O(),I("canvas",{class:"-z-4 top-0 right-0 scale-150 opacity-30 absolute max-w-500px h-500px m-auto rounded-2xl",ref_key:"canvas",ref:i},null,512))}};export{L as default}; diff --git a/assets/chunks/Matter.DYLgJVcY.js b/assets/chunks/Matter.CYa-KL7C.js similarity index 99% rename from assets/chunks/Matter.DYLgJVcY.js rename to assets/chunks/Matter.CYa-KL7C.js index 10d9edbc98..b62675f539 100644 --- a/assets/chunks/Matter.DYLgJVcY.js +++ b/assets/chunks/Matter.CYa-KL7C.js @@ -1,4 +1,4 @@ -import{z as ut,g as de,ay as vt,af as Je,e as pt}from"./theme.ClagsQLu.js";import{aq as je,aX as dt,b as Me,d as Fe,r as j,o as qe,k as _e,aW as gt,Y as ht,c as ye,x as Ee,y as Re,A as oe,z as $e,H as be,E as Ie,I as mt,G as xt,P as yt}from"./framework.BR0mAPCP.js";import{u as et}from"./index.D4HuxphN.js";import{c as St}from"./simplex-noise.CZbXB3Em.js";var tt={exports:{}};(function(D,k){var R={};/*! +import{z as ut,g as de,aA as vt,ah as Je,e as pt}from"./theme.Dd_Fb62b.js";import{aq as je,aX as dt,b as Me,d as Fe,r as j,o as qe,k as _e,aW as gt,Y as ht,c as ye,x as Ee,y as Re,A as oe,z as $e,H as be,E as Ie,I as mt,G as xt,P as yt}from"./framework.CQBrk0Ry.js";import{u as et}from"./index.D7bsbTcf.js";import{c as St}from"./simplex-noise.CZbXB3Em.js";var tt={exports:{}};(function(D,k){var R={};/*! * matter-js 0.20.0 by @liabru * http://brm.io/matter-js/ * License MIT diff --git a/assets/chunks/MidiKeys.DiSle55u.js b/assets/chunks/MidiKeys.DiSle55u.js deleted file mode 100644 index 1c9cee0f58..0000000000 --- a/assets/chunks/MidiKeys.DiSle55u.js +++ /dev/null @@ -1 +0,0 @@ -import{r as g,x as f,y as v,A as n,E as e,S as L,I as Q,G as y,u as I,c as C,q as U,an as X,d as Y,J as Z,F as S,B as T,T as p}from"./framework.BR0mAPCP.js";import{N as J,c as $,g as c,n as h,x as W,i as _,u as tt,D as E,O as j,L as M,P as q,S as z}from"./theme.ClagsQLu.js";const et=["transform"],nt=["width","height","fill"],ot={class:"marks pointer-events-none"},lt=["x1","x2","y2","stroke"],st=["r","cx","cy","opacity","fill"],at=["x","y","font-size"],it=["x","y","font-size"],rt=["fill","y","x","font-size","font-weight"],ct={__name:"MidiKeysNote",props:{note:{type:Number,default:0},step:{type:Number,default:0},width:{type:Number,default:1200},height:{type:Number,default:400},pressed:{type:Boolean,default:!1}},setup(t){const{activeNotes:r}=J();function m(u,l=10){return u=Math.max(0,Math.min(1,u)),Math.log(1+l*u)/Math.log(1+l)}function o(u,l){l==null||l.preventDefault();const s=l.target.getBoundingClientRect(),i=l.clientY-s.top,b=s.height,N=i/b,V=.3+m(N)*.7,k=c.isIn(h[(u+3)%12])?1:.5,D=V*k;tt(u,D)}const w=g();return(u,l)=>(f(),v("g",{class:"note",transform:`translate(${t.step*t.width},0)`,"text-anchor":"middle",ref_key:"noteKey",ref:w},[n("rect",{width:t.width,height:t.height,fill:e($)(t.note+3,null,e(r)[t.note]?1:.1,e(c).isIn(e(h)[(t.note+3)%12])?1:.4),onPointerdown:l[0]||(l[0]=L(s=>o(t.note,s),["prevent"])),onPointerenter:l[1]||(l[1]=s=>t.pressed?o(t.note,s):null),onPointerleave:l[2]||(l[2]=s=>e(W)(t.note)),onPointerup:l[3]||(l[3]=L(s=>e(W)(t.note),["prevent"])),onTouchcancel:l[4]||(l[4]=s=>e(W)(t.note))},null,40,nt),n("g",ot,[e(c).tonic==(t.note+3)%12?(f(),v("line",{key:0,x1:t.width/2,x2:t.width/2,y1:0,y2:t.height,"stroke-width":"6",opacity:.9,stroke:e(r)[t.note]?"white":e($)(t.note+3,-1,1,1)},null,8,lt)):Q("",!0),n("circle",{r:e(c).tonic==(t.note+3)%12?t.width/3:t.width/8,cx:t.width/2,cy:t.height-t.width/2,opacity:e(r)[t.note]?1:.3,fill:e(c).isIn(e(h)[(t.note+3)%12])?"white":"black"},null,8,st),n("text",{class:"opacity-75 number",x:t.width/2,y:t.width*1.8,"font-size":t.width*.333},y(e(_)[(t.note+3-e(c).tonic)%12]),9,at),n("text",{class:"opacity-55",x:t.width/2,y:t.width+14,"font-size":t.width*.333},y(t.note),9,it),n("text",{fill:e(c).isIn(e(h)[(t.note+3)%12])?"black":"#777e",y:t.width/2+10,x:t.width/2,"font-size":t.width*.5,"font-weight":e(c).tonic==(t.note+3)%12?"bold":"normal"},y(e(h)[(t.note+3)%12]),9,rt)])],8,et))}};function ut(){const t=E(I("midi-keys-begin",45),0,127),r=E(I("midi-keys-end",83),t,127),m=j(t),o=j(r),w=g(),u=g(),l=C(()=>Array(o.value+1-m.value).fill(0).map((i,b)=>b+m.value));return M({onDrag(s){s.event.preventDefault();let i=t.value+s.delta[0]/5;i+1<=r.value&&(t.value=Math.round(i))},onWheel(s){s.event.preventDefault();let i=t.value-s.velocities[0]/5;i+1<=r.value&&(t.value=Math.round(i))}},{domTarget:w,eventOptions:{passive:!1}}),M({onDrag(s){s.event.preventDefault();let i=r.value+s.delta[0]/5;i>t.value&&(r.value=i)},onWheel(s){s.event.preventDefault();let i=r.value-s.velocities[0]/5;i-1>t.value&&(r.value=i)}},{domTarget:u,eventOptions:{passive:!1}}),{begin:t,end:r,roundBegin:m,roundEnd:o,beginControl:w,endControl:u,keys:l}}const dt=["viewBox"],ft=["transform"],ht=["transform"],vt=["height","width","fill"],gt=["x","y"],yt=["transform","stroke"],mt=["transform"],wt=["transform"],kt=["width","height"],xt=["y"],$t=["transform","opacity"],bt=["transform"],Ot=["transform"],Ct=["cy","fill"],Mt=["transform"],Nt=["height","width","fill"],Dt=["y"],Bt=["transform"],Pt=["height","width","fill"],St=["x","y"],Tt=["transform"],zt=["transform","stroke"],It=["x","width"],Kt=["transform"],Vt=["transform"],Wt={__name:"MidiKeys",props:{width:{type:Number},height:{type:Number},controlOffset:{type:Number,default:100},slotOffset:{type:Number,default:0}},setup(t){const r=t,m=X(),o=C(()=>r.width||m.width.value),w=C(()=>r.height||m.height.value-80),{activeNotes:u}=J(),{roundBegin:l,roundEnd:s,beginControl:i,endControl:b,keys:N}=ut(),K=g(),V=g(),k=g(!1);M({onPointerdown(a){k.value=!0},onPointerleave(a){k.value=!1},onPointercancel(a){k.value=!1},onPointerup(a){k.value=!1}},{domTarget:K});const D=g(),B=g(c.tonic*100);Y(B,a=>{c.tonic=Math.round((a/100%12+12)%12)}),M({onDrag(a){a.event.preventDefault(),B.value+=a.delta[0]},onWheel(a){a.event.preventDefault(),B.value-=a.velocities[0]}},{domTarget:D,eventOptions:{passive:!1}});const F=g(),O=E(I("midikeys-scale",1),1,q().length-1);M({onDrag(a){a.event.preventDefault(),O.value+=a.delta[0]/5},onWheel(a){a.event.preventDefault(),O.value-=a.velocities[0]/5}},{domTarget:F,eventOptions:{passive:!1}});const R=C(()=>{let a=Math.round(O.value);return q()[a]});Y(R,a=>{c.chroma=a.chroma});const P=I("filter-keys",!0),A=C(()=>P.value?N.value.filter(a=>c.isIn(h[(a+3)%12])):N.value);return(a,G)=>{const H=ct;return f(),v("svg",{class:"w-full cursor-pointer fullscreen-container overflow-hidden select-none touch-none",viewBox:`0 -${t.controlOffset+t.slotOffset} ${o.value} ${w.value+t.controlOffset}`,version:"1.1",baseProfile:"full",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},ref_key:"svg",ref:K},[n("g",{class:"slot",transform:`translate(0,${-t.slotOffset-t.controlOffset})`},[Z(a.$slots,"default",{},void 0,!0)],8,ft),n("g",{class:"offset",transform:`translate(0,${-t.controlOffset})`},[n("g",{class:"tonic",ref_key:"tonicControl",ref:D},[n("rect",{height:t.controlOffset,width:o.value/5,fill:e($)(e(c).tonic,2,.8)},null,8,vt),n("text",{class:"font-bold text-5xl",x:o.value/10,"text-anchor":"middle",y:t.controlOffset*.75},y(e(h)[e(c).tonic%12]),9,gt),(f(!0),v(S,null,T(e(h),(x,d)=>(f(),v("line",{transform:`translate(${(d/12+1/24)*o.value/5},0)`,y2:16,"stroke-width":"6","stroke-linecap":"round",stroke:e($)(d,5,.4)},null,8,yt))),256)),n("line",{class:"transition",y2:20,"stroke-width":"8","stroke-linecap":"round",transform:`translate(${(B.value/1200%1+1)%1*o.value/5+o.value/120},0)`,stroke:"white"},null,8,mt)],512),n("g",{class:"scale",ref_key:"scaleControl",ref:F,transform:`translate(${o.value/5},0)`},[n("rect",{width:o.value*2/5,height:t.controlOffset,fill:"#aaa"},null,8,kt),n("text",{class:"text-4xl",x:30,y:t.controlOffset*.75},y(R.value.name),9,xt),(f(!0),v(S,null,T(e(z).all().length,(x,d)=>(f(),v("line",{transform:`translate(${(d/e(z).all().length+1/e(z).all().length)*o.value*2/5},0)`,y2:36,opacity:x==Math.round(e(O))?1:.2,"stroke-width":"2","stroke-linecap":"round",stroke:"currentColor"},null,8,$t))),256)),n("line",{y2:20,"stroke-width":"8","stroke-linecap":"round",transform:`translate(${e(O)/e(z).all().length*o.value*2/5},0)`,stroke:"white"},null,8,bt),n("g",{class:"show",transform:`translate(${o.value*2/5-50},10)`},[n("circle",{onClick:G[0]||(G[0]=x=>P.value=!e(P)),cy:t.controlOffset*.5,r:"20",fill:e(P)?"black":"transparent",stroke:"black","stroke-width":4},null,8,Ct)],8,Ot)],8,wt),n("g",{class:"begin",ref_key:"beginControl",ref:i,transform:`translate(${o.value*3/5},0)`},[n("rect",{height:t.controlOffset,width:o.value/5,fill:e($)(e(l)+3,null,e(u)[e(l)]?1:.1)},null,8,Nt),n("text",{class:"font-bold text-5xl pointer-events-none",x:10,y:t.controlOffset*.75},y(e(h)[(e(l)+3)%12])+y(Math.floor((Math.round(e(l))+3)/12)-1),9,Dt)],8,Mt),n("g",{class:"end",ref_key:"endControl",ref:b,transform:`translate(${o.value*4/5},0)`},[n("rect",{height:t.controlOffset,width:o.value/5,fill:e($)(e(s)+3,null,e(u)[e(s)]?1:.1)},null,8,Pt),n("text",{class:"font-bold text-5xl pointer-events-none",x:o.value/5-20,"text-anchor":"end",y:t.controlOffset*.75},y(e(h)[(e(s)+3)%12])+y(Math.floor((e(s)+3)/12)-1),9,St)],8,Bt),n("g",{class:"range pointer-events-none",transform:`translate(${o.value*3/5},0)`},[(f(),v(S,null,T(127,(x,d)=>n("line",{transform:`translate(${d/127*o.value*2/5},0)`,y2:16,opacity:".3","stroke-width":"2","stroke-linecap":"round",stroke:(d+3)%12==e(c).tonic?e($)((d+3)%12):"white"},null,8,zt)),64)),n("rect",{class:"ranger",x:e(l)/127*o.value*2/5,width:(e(s)-e(l))/127*o.value*2/5,height:"20",fill:"gray",opacity:.8},null,8,It),n("line",{class:"begin",y2:20,"stroke-width":"8","stroke-linecap":"round",transform:`translate(${e(l)/127*o.value*2/5},0)`,stroke:"white"},null,8,Kt),n("line",{class:"end",y2:20,"stroke-width":"8","stroke-linecap":"round",stroke:"white",transform:`translate(${e(s)/127*o.value*2/5},0)`},null,8,Vt)],8,Tt)],8,ht),n("g",{class:"keys",ref_key:"area",ref:V},[(f(!0),v(S,null,T(A.value,(x,d)=>(f(),p(H,{key:x,note:x,step:d,width:o.value/A.value.length,height:w.value,pressed:k.value},null,8,["note","step","width","height","pressed"]))),128))],512)],8,dt)}}},Rt=U(Wt,[["__scopeId","data-v-16130881"]]);export{Rt as _}; diff --git a/assets/chunks/MidiKeys.EfaG9mBq.js b/assets/chunks/MidiKeys.EfaG9mBq.js new file mode 100644 index 0000000000..f1fea33bae --- /dev/null +++ b/assets/chunks/MidiKeys.EfaG9mBq.js @@ -0,0 +1 @@ +import{r as y,x as u,y as v,A as n,E as e,S as F,I as j,G as m,u as I,c as V,q,d as R,J,F as P,B as S,T as H}from"./framework.CQBrk0Ry.js";import{N as L,c as $,g as r,n as w,x as K,i as Q,u as U,D as z,O as A,L as C,P as G,S as T}from"./theme.Dd_Fb62b.js";const X=["transform"],Z=["width","height","fill"],p={class:"marks pointer-events-none"},_=["x1","x2","y2","stroke"],tt=["r","cx","cy","opacity","fill"],et=["x","y","font-size"],nt=["x","y","font-size"],ot=["fill","y","x","font-size","font-weight"],lt={__name:"MidiKeysNote",props:{note:{type:Number,default:0},step:{type:Number,default:0},width:{type:Number,default:1200},height:{type:Number,default:400},pressed:{type:Boolean,default:!1}},setup(t){const{activeNotes:a}=L();function c(h,s=10){return h=Math.max(0,Math.min(1,h)),Math.log(1+s*h)/Math.log(1+s)}function d(h,s){s==null||s.preventDefault();const o=s.target.getBoundingClientRect(),i=s.clientY-o.top,g=o.height,M=i/g,N=.3+c(M)*.7,k=r.isIn(w[(h+3)%12])?1:.5,D=N*k;U(h,D)}const b=y();return(h,s)=>(u(),v("g",{class:"note",transform:`translate(${t.step*t.width},0)`,"text-anchor":"middle",ref_key:"noteKey",ref:b},[n("rect",{width:t.width,height:t.height,fill:e($)(t.note+3,null,e(a)[t.note]?1:.1,e(r).isIn(e(w)[(t.note+3)%12])?1:.4),onPointerdown:s[0]||(s[0]=F(o=>d(t.note,o),["prevent"])),onPointerenter:s[1]||(s[1]=o=>t.pressed?d(t.note,o):null),onPointerleave:s[2]||(s[2]=o=>e(K)(t.note)),onPointerup:s[3]||(s[3]=F(o=>e(K)(t.note),["prevent"])),onTouchcancel:s[4]||(s[4]=o=>e(K)(t.note))},null,40,Z),n("g",p,[e(r).tonic==(t.note+3)%12?(u(),v("line",{key:0,x1:t.width/2,x2:t.width/2,y1:0,y2:t.height,"stroke-width":"6",opacity:.9,stroke:e(a)[t.note]?"white":e($)(t.note+3,-1,1,1)},null,8,_)):j("",!0),n("circle",{r:e(r).tonic==(t.note+3)%12?t.width/3:t.width/8,cx:t.width/2,cy:t.height-t.width/2,opacity:e(a)[t.note]?1:.3,fill:e(r).isIn(e(w)[(t.note+3)%12])?"white":"black"},null,8,tt),n("text",{class:"opacity-75 number",x:t.width/2,y:t.width*1.8,"font-size":t.width*.333},m(e(Q)[(t.note+3-e(r).tonic)%12]),9,et),n("text",{class:"opacity-55",x:t.width/2,y:t.width+14,"font-size":t.width*.333},m(t.note),9,nt),n("text",{fill:e(r).isIn(e(w)[(t.note+3)%12])?"black":"#777e",y:t.width/2+10,x:t.width/2,"font-size":t.width*.5,"font-weight":e(r).tonic==(t.note+3)%12?"bold":"normal"},m(e(w)[(t.note+3)%12]),9,ot)])],8,X))}};function st(){const t=z(I("midi-keys-begin",45),0,127),a=z(I("midi-keys-end",83),t,127),c=A(t),d=A(a),b=y(),h=y(),s=V(()=>Array(d.value+1-c.value).fill(0).map((i,g)=>g+c.value));return C({onDrag(o){o.event.preventDefault();let i=t.value+o.delta[0]/5;i+1<=a.value&&(t.value=Math.round(i))},onWheel(o){o.event.preventDefault();let i=t.value-o.velocities[0]/5;i+1<=a.value&&(t.value=Math.round(i))}},{domTarget:b,eventOptions:{passive:!1}}),C({onDrag(o){o.event.preventDefault();let i=a.value+o.delta[0]/5;i>t.value&&(a.value=i)},onWheel(o){o.event.preventDefault();let i=a.value-o.velocities[0]/5;i-1>t.value&&(a.value=i)}},{domTarget:h,eventOptions:{passive:!1}}),{begin:t,end:a,roundBegin:c,roundEnd:d,beginControl:b,endControl:h,keys:s}}const it=["viewBox"],at=["transform"],rt=["transform"],ct=["height","width","fill"],dt=["x","y"],ht=["transform","stroke"],ft=["transform"],ut=["transform"],wt=["width","height"],gt=["y"],vt=["transform","opacity"],yt=["transform"],mt=["transform"],kt=["cy","fill"],xt=["transform"],$t=["height","width","fill"],bt=["y"],Ot=["transform"],Ct=["height","width","fill"],Mt=["x","y"],Nt=["transform"],Dt=["transform","stroke"],Bt=["x","width"],Pt=["transform"],St=["transform"],Tt={__name:"MidiKeys",props:{width:{type:Number,default:900},height:{type:Number,default:400},controlOffset:{type:Number,default:100},slotOffset:{type:Number,default:0}},setup(t){const{activeNotes:a}=L(),{roundBegin:c,roundEnd:d,beginControl:b,endControl:h,keys:s}=st(),o=y(),i=y(),g=y(!1);C({onPointerdown(l){g.value=!0},onPointerleave(l){g.value=!1},onPointercancel(l){g.value=!1},onPointerup(l){g.value=!1}},{domTarget:o});const M=y(),O=y(r.tonic*100);R(O,l=>{r.tonic=Math.round((l/100%12+12)%12)}),C({onDrag(l){l.event.preventDefault(),O.value+=l.delta[0]},onWheel(l){l.event.preventDefault(),O.value-=l.velocities[0]}},{domTarget:M,eventOptions:{passive:!1}});const N=y(),k=z(I("midikeys-scale",1),1,G().length-1);C({onDrag(l){l.event.preventDefault(),k.value+=l.delta[0]/5},onWheel(l){l.event.preventDefault(),k.value-=l.velocities[0]/5}},{domTarget:N,eventOptions:{passive:!1}});const D=V(()=>{let l=Math.round(k.value);return G()[l]});R(D,l=>{r.chroma=l.chroma});const B=I("filter-keys",!0),E=V(()=>B.value?s.value.filter(l=>r.isIn(w[(l+3)%12])):s.value);return(l,W)=>{const Y=lt;return u(),v("svg",{class:"w-full cursor-pointer fullscreen-container overflow-hidden select-none touch-none",viewBox:`0 -${t.controlOffset+t.slotOffset} ${t.width} ${t.height+t.controlOffset}`,version:"1.1",baseProfile:"full",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},ref_key:"svg",ref:o},[n("g",{class:"slot",transform:`translate(0,${-t.slotOffset-t.controlOffset})`},[J(l.$slots,"default",{},void 0,!0)],8,at),n("g",{class:"offset",transform:`translate(0,${-t.controlOffset})`},[n("g",{class:"tonic",ref_key:"tonicControl",ref:M},[n("rect",{height:t.controlOffset,width:t.width/5,fill:e($)(e(r).tonic,2,.8)},null,8,ct),n("text",{class:"font-bold text-5xl",x:t.width/10,"text-anchor":"middle",y:t.controlOffset*.75},m(e(w)[e(r).tonic%12]),9,dt),(u(!0),v(P,null,S(e(w),(x,f)=>(u(),v("line",{transform:`translate(${(f/12+1/24)*t.width/5},0)`,y2:16,"stroke-width":"6","stroke-linecap":"round",stroke:e($)(f,5,.4)},null,8,ht))),256)),n("line",{class:"transition",y2:20,"stroke-width":"8","stroke-linecap":"round",transform:`translate(${(O.value/1200%1+1)%1*t.width/5+t.width/120},0)`,stroke:"white"},null,8,ft)],512),n("g",{class:"scale",ref_key:"scaleControl",ref:N,transform:`translate(${t.width/5},0)`},[n("rect",{width:t.width*2/5,height:t.controlOffset,fill:"#aaa"},null,8,wt),n("text",{class:"text-4xl",x:30,y:t.controlOffset*.75},m(D.value.name),9,gt),(u(!0),v(P,null,S(e(T).all().length,(x,f)=>(u(),v("line",{transform:`translate(${(f/e(T).all().length+1/e(T).all().length)*t.width*2/5},0)`,y2:36,opacity:x==Math.round(e(k))?1:.2,"stroke-width":"2","stroke-linecap":"round",stroke:"currentColor"},null,8,vt))),256)),n("line",{y2:20,"stroke-width":"8","stroke-linecap":"round",transform:`translate(${e(k)/e(T).all().length*t.width*2/5},0)`,stroke:"white"},null,8,yt),n("g",{class:"show",transform:`translate(${t.width*2/5-50},10)`},[n("circle",{onClick:W[0]||(W[0]=x=>B.value=!e(B)),cy:t.controlOffset*.5,r:"20",fill:e(B)?"black":"transparent",stroke:"black","stroke-width":4},null,8,kt)],8,mt)],8,ut),n("g",{class:"begin",ref_key:"beginControl",ref:b,transform:`translate(${t.width*3/5},0)`},[n("rect",{height:t.controlOffset,width:t.width/5,fill:e($)(e(c)+3,null,e(a)[e(c)]?1:.1)},null,8,$t),n("text",{class:"font-bold text-5xl pointer-events-none",x:10,y:t.controlOffset*.75},m(e(w)[(e(c)+3)%12])+m(Math.floor((Math.round(e(c))+3)/12)-1),9,bt)],8,xt),n("g",{class:"end",ref_key:"endControl",ref:h,transform:`translate(${t.width*4/5},0)`},[n("rect",{height:t.controlOffset,width:t.width/5,fill:e($)(e(d)+3,null,e(a)[e(d)]?1:.1)},null,8,Ct),n("text",{class:"font-bold text-5xl pointer-events-none",x:t.width/5-20,"text-anchor":"end",y:t.controlOffset*.75},m(e(w)[(e(d)+3)%12])+m(Math.floor((e(d)+3)/12)-1),9,Mt)],8,Ot),n("g",{class:"range pointer-events-none",transform:`translate(${t.width*3/5},0)`},[(u(),v(P,null,S(127,(x,f)=>n("line",{transform:`translate(${f/127*t.width*2/5},0)`,y2:16,opacity:".3","stroke-width":"2","stroke-linecap":"round",stroke:(f+3)%12==e(r).tonic?e($)((f+3)%12):"white"},null,8,Dt)),64)),n("rect",{class:"ranger",x:e(c)/127*t.width*2/5,width:(e(d)-e(c))/127*t.width*2/5,height:"20",fill:"gray",opacity:.8},null,8,Bt),n("line",{class:"begin",y2:20,"stroke-width":"8","stroke-linecap":"round",transform:`translate(${e(c)/127*t.width*2/5},0)`,stroke:"white"},null,8,Pt),n("line",{class:"end",y2:20,"stroke-width":"8","stroke-linecap":"round",stroke:"white",transform:`translate(${e(d)/127*t.width*2/5},0)`},null,8,St)],8,Nt)],8,rt),n("g",{class:"keys",ref_key:"area",ref:i},[(u(!0),v(P,null,S(E.value,(x,f)=>(u(),H(Y,{key:x,note:x,step:f,width:t.width/E.value.length,height:t.height,pressed:g.value},null,8,["note","step","width","height","pressed"]))),128))],512)],8,it)}}},Vt=q(Tt,[["__scopeId","data-v-1337b9f0"]]);export{Vt as _}; diff --git a/assets/chunks/MidiRoll.DJDyHjVR.js b/assets/chunks/MidiRoll.DM9Au6BA.js similarity index 94% rename from assets/chunks/MidiRoll.DJDyHjVR.js rename to assets/chunks/MidiRoll.DM9Au6BA.js index 29311fb6bc..e030c1a95d 100644 --- a/assets/chunks/MidiRoll.DJDyHjVR.js +++ b/assets/chunks/MidiRoll.DM9Au6BA.js @@ -1 +1 @@ -import{_ as N}from"./ControlStart.BWsORrv6.js";import{an as V,b as x,c as C,d as S,u as k,o as z,g as A,M as F,x as d,y as c,A as o,T as G,U as H,au as U,I as w,E as r,G as D,C as W}from"./framework.BR0mAPCP.js";import{N as j,D as q,c as $}from"./theme.ClagsQLu.js";const J={class:"flex flex-col items-center w-full touch-none select-none"},K={class:"fullscreen-container",id:"screen"},L={key:0,class:"i-la-arrow-up"},O={key:1,class:"i-la-arrow-left"},P={key:0,class:"i-la-play"},Q={key:1,class:"i-la-pause"},X={class:"absolute bottom-1 left-8 text-white p-2"},Y={class:"text-lg"},Z={class:"absolute top-2 left-2 text-white p-2"},tt={class:"text-lg"},et=["width","height"],lt={__name:"MidiRoll",setup(it){const{midi:l,stopAll:v,channels:m,guessChords:R}=j(),{width:_,height:y}=V(),h=x({notes:C(()=>{let i=[];for(let e in m)for(let a in m[e].notes){let u=m[e].notes[a];u.velocity>0&&i.push(u)}return i}),startTime:Date.now(),endTime:Date.now()});S(()=>l.playing,i=>{var e,a;i?h.startTime=((e=l.note)==null?void 0:e.timestamp)||Date.now():h.endTime=((a=l.note)==null?void 0:a.timestamp)||Date.now()});let p,s,n,g;const t=x({initiated:!1,width:_,height:y,speed:C(()=>Math.round(t.rawSpeed*2)/2),rawSpeed:q(k("midi-roll-speed",1),1,3),direction:k("midi-roll-direction",1)});S([_,y],()=>{n&&(n.width=t.width,n.height=t.height)}),z(()=>{p=document.getElementById("spectrogram"),s=p.getContext("2d"),n=document.createElement("canvas"),g=n.getContext("2d"),n.width=t.width,n.height=t.height,s.fillStyle="#333",s.fillRect(0,0,t.width,t.height),b()});function b(){t.initiated||(t.initiated=!0,A(T))}function T(){t.direction==1?I():E()}function I(){g.drawImage(p,0,0,t.width,t.height),s.fillStyle="#333333",s.fillRect(0,t.height-t.speed,t.width,t.speed);for(let i=0;i<127;i++){let e=i*t.width/127;s.fillStyle=$(i+3,0,.5,.25),s.fillRect(e,t.height-t.speed,1,t.speed)}s.translate(0,-t.speed),s.drawImage(n,0,0,t.width,t.height),h.notes.forEach(i=>{const e=16-i.channel;s.fillStyle=$(i.number-9,0,1),s.fillRect(i.number*t.width/127-e/2,t.height-t.speed,e,t.speed*2)}),s.setTransform(1,0,0,1,0,0)}function E(){g.drawImage(p,0,0,t.width,t.height),s.fillStyle="#333333",s.fillRect(t.width-t.speed,0,t.speed,t.height),h.notes.forEach(i=>{s.fillStyle=B((i.number+3)%12,1),s.fillRect(t.width-t.speed,t.height-i.number*t.height/127,t.speed,12-i.channel/2)}),s.translate(-t.speed,0),s.drawImage(n,0,0,t.width,t.height),s.setTransform(1,0,0,1,0,0)}function B(i=0,e=1,a=1){return`hsla(${i*30}, ${e*100}%, ${e*60}%, ${a})`}function M(i){let e=i.delta[0]-i.delta[1];e!=0?t.rawSpeed+=e/500:i.active&&(l.playing=!l.playing)}return(i,e)=>{const a=N,u=F("drag");return d(),c("div",J,[o("div",K,[t.initiated?w("",!0):(d(),G(a,{key:0,class:"absolute",onClick:e[0]||(e[0]=f=>b())},{default:H(()=>e[5]||(e[5]=[U("Start")])),_:1})),o("button",{class:"p-2 absolute top-2 right-2",onClick:e[1]||(e[1]=f=>t.direction?t.direction=0:t.direction=1)},[t.direction==1?(d(),c("div",L)):w("",!0),t.direction==0?(d(),c("div",O)):w("",!0)]),o("button",{class:"absolute bottom-2 right-2 p-2",onClick:e[2]||(e[2]=f=>r(l).playing=!r(l).playing)},[r(l).playing?(d(),c("div",Q)):(d(),c("div",P))]),o("button",{class:"absolute bottom-2 left-2 p-2",onClick:e[3]||(e[3]=f=>r(v)())},e[6]||(e[6]=[o("div",{class:"i-la-stop"},null,-1)])),o("div",X,[o("div",Y,D(r(R)[0]),1)]),o("div",Z,[o("div",tt,"x"+D(t.speed),1)]),W(o("canvas",{class:"max-h-100vh w-full cursor-pointer",id:"spectrogram",width:t.width,height:t.height,onDblclick:e[4]||(e[4]=f=>r(v)())},null,40,et),[[u,M]])])])}}};export{lt as default}; +import{_ as N}from"./ControlStart.BGN7YlXy.js";import{an as V,b as x,c as C,d as S,u as k,o as z,g as A,M as F,x as d,y as c,A as o,T as G,U as H,au as U,I as w,E as r,G as D,C as W}from"./framework.CQBrk0Ry.js";import{N as j,D as q,c as $}from"./theme.Dd_Fb62b.js";const J={class:"flex flex-col items-center w-full touch-none select-none"},K={class:"fullscreen-container",id:"screen"},L={key:0,class:"i-la-arrow-up"},O={key:1,class:"i-la-arrow-left"},P={key:0,class:"i-la-play"},Q={key:1,class:"i-la-pause"},X={class:"absolute bottom-1 left-8 text-white p-2"},Y={class:"text-lg"},Z={class:"absolute top-2 left-2 text-white p-2"},tt={class:"text-lg"},et=["width","height"],lt={__name:"MidiRoll",setup(it){const{midi:l,stopAll:v,channels:m,guessChords:R}=j(),{width:_,height:y}=V(),h=x({notes:C(()=>{let i=[];for(let e in m)for(let a in m[e].notes){let u=m[e].notes[a];u.velocity>0&&i.push(u)}return i}),startTime:Date.now(),endTime:Date.now()});S(()=>l.playing,i=>{var e,a;i?h.startTime=((e=l.note)==null?void 0:e.timestamp)||Date.now():h.endTime=((a=l.note)==null?void 0:a.timestamp)||Date.now()});let p,s,n,g;const t=x({initiated:!1,width:_,height:y,speed:C(()=>Math.round(t.rawSpeed*2)/2),rawSpeed:q(k("midi-roll-speed",1),1,3),direction:k("midi-roll-direction",1)});S([_,y],()=>{n&&(n.width=t.width,n.height=t.height)}),z(()=>{p=document.getElementById("spectrogram"),s=p.getContext("2d"),n=document.createElement("canvas"),g=n.getContext("2d"),n.width=t.width,n.height=t.height,s.fillStyle="#333",s.fillRect(0,0,t.width,t.height),b()});function b(){t.initiated||(t.initiated=!0,A(T))}function T(){t.direction==1?I():E()}function I(){g.drawImage(p,0,0,t.width,t.height),s.fillStyle="#333333",s.fillRect(0,t.height-t.speed,t.width,t.speed);for(let i=0;i<127;i++){let e=i*t.width/127;s.fillStyle=$(i+3,0,.5,.25),s.fillRect(e,t.height-t.speed,1,t.speed)}s.translate(0,-t.speed),s.drawImage(n,0,0,t.width,t.height),h.notes.forEach(i=>{const e=16-i.channel;s.fillStyle=$(i.number-9,0,1),s.fillRect(i.number*t.width/127-e/2,t.height-t.speed,e,t.speed*2)}),s.setTransform(1,0,0,1,0,0)}function E(){g.drawImage(p,0,0,t.width,t.height),s.fillStyle="#333333",s.fillRect(t.width-t.speed,0,t.speed,t.height),h.notes.forEach(i=>{s.fillStyle=B((i.number+3)%12,1),s.fillRect(t.width-t.speed,t.height-i.number*t.height/127,t.speed,12-i.channel/2)}),s.translate(-t.speed,0),s.drawImage(n,0,0,t.width,t.height),s.setTransform(1,0,0,1,0,0)}function B(i=0,e=1,a=1){return`hsla(${i*30}, ${e*100}%, ${e*60}%, ${a})`}function M(i){let e=i.delta[0]-i.delta[1];e!=0?t.rawSpeed+=e/500:i.active&&(l.playing=!l.playing)}return(i,e)=>{const a=N,u=F("drag");return d(),c("div",J,[o("div",K,[t.initiated?w("",!0):(d(),G(a,{key:0,class:"absolute",onClick:e[0]||(e[0]=f=>b())},{default:H(()=>e[5]||(e[5]=[U("Start")])),_:1})),o("button",{class:"p-2 absolute top-2 right-2",onClick:e[1]||(e[1]=f=>t.direction?t.direction=0:t.direction=1)},[t.direction==1?(d(),c("div",L)):w("",!0),t.direction==0?(d(),c("div",O)):w("",!0)]),o("button",{class:"absolute bottom-2 right-2 p-2",onClick:e[2]||(e[2]=f=>r(l).playing=!r(l).playing)},[r(l).playing?(d(),c("div",Q)):(d(),c("div",P))]),o("button",{class:"absolute bottom-2 left-2 p-2",onClick:e[3]||(e[3]=f=>r(v)())},e[6]||(e[6]=[o("div",{class:"i-la-stop"},null,-1)])),o("div",X,[o("div",Y,D(r(R)[0]),1)]),o("div",Z,[o("div",tt,"x"+D(t.speed),1)]),W(o("canvas",{class:"max-h-100vh w-full cursor-pointer",id:"spectrogram",width:t.width,height:t.height,onDblclick:e[4]||(e[4]=f=>r(v)())},null,40,et),[[u,M]])])])}}};export{lt as default}; diff --git a/assets/chunks/Moire.DNRQgkUC.js b/assets/chunks/Moire.emjjontL.js similarity index 81% rename from assets/chunks/Moire.DNRQgkUC.js rename to assets/chunks/Moire.emjjontL.js index f5e0d6f7e1..25990fa371 100644 --- a/assets/chunks/Moire.DNRQgkUC.js +++ b/assets/chunks/Moire.emjjontL.js @@ -1 +1 @@ -import{p as a,a as i}from"./paper-full.C24SZgIn.js";import{c as _}from"./simplex-noise.CZbXB3Em.js";import{v as w,r as v,o as E,d as C,L as x,x as y,y as D}from"./framework.BR0mAPCP.js";import"./theme.ClagsQLu.js";const R={__name:"Moire",setup(M){const{isDark:m}=w(),l=v(null),p=_();return E(()=>{a.setup(l.value);const t=a.view,s=[];for(let o=1;o<=3;o++){const e=new i.Group;for(let r=1;r<=30;r++)e.addChild(new i.Path.Circle({center:t.center,radius:r*20,strokeColor:"black",strokeWidth:1}));s.push(e)}C(m,o=>s.forEach(e=>e.strokeColor=o?"white":"black"),{immediate:!0}),t.onFrame=o=>{const e=o.time;s.forEach((r,c)=>r.children.forEach((h,u)=>{const n=Math.floor(u/60)+1,f=u%30+1,d=p(f/(50*n+e)+1e4+c*1e3,n*e/40+c*1e3),k=p(f/(30+n+e)+c*1e3,n*e/40+100+c*1e3);h.position=t.center.add(new i.Point(400*d,400*k))}))}}),x(()=>{a.project.clear()}),(t,s)=>(y(),D("canvas",{class:"w-full h-screen",id:"screen",ref_key:"canvasRef",ref:l,resize:"",style:{touchAction:"none",userSelect:"none"}},null,512))}};export{R as default}; +import{p as a,a as i}from"./paper-full.D6jqPzQc.js";import{c as _}from"./simplex-noise.CZbXB3Em.js";import{v as w,r as v,o as E,d as C,L as x,x as y,y as D}from"./framework.CQBrk0Ry.js";import"./theme.Dd_Fb62b.js";const R={__name:"Moire",setup(M){const{isDark:m}=w(),l=v(null),p=_();return E(()=>{a.setup(l.value);const t=a.view,s=[];for(let o=1;o<=3;o++){const e=new i.Group;for(let r=1;r<=30;r++)e.addChild(new i.Path.Circle({center:t.center,radius:r*20,strokeColor:"black",strokeWidth:1}));s.push(e)}C(m,o=>s.forEach(e=>e.strokeColor=o?"white":"black"),{immediate:!0}),t.onFrame=o=>{const e=o.time;s.forEach((r,c)=>r.children.forEach((h,u)=>{const n=Math.floor(u/60)+1,f=u%30+1,d=p(f/(50*n+e)+1e4+c*1e3,n*e/40+c*1e3),k=p(f/(30+n+e)+c*1e3,n*e/40+100+c*1e3);h.position=t.center.add(new i.Point(400*d,400*k))}))}}),x(()=>{a.project.clear()}),(t,s)=>(y(),D("canvas",{class:"w-full h-screen",id:"screen",ref_key:"canvasRef",ref:l,resize:"",style:{touchAction:"none",userSelect:"none"}},null,512))}};export{R as default}; diff --git a/assets/chunks/MonoChord.B4VAbo70.js b/assets/chunks/MonoChord.B4VAbo70.js deleted file mode 100644 index 16ffe71e69..0000000000 --- a/assets/chunks/MonoChord.B4VAbo70.js +++ /dev/null @@ -1 +0,0 @@ -import{D as G,I as Z,b6 as Y,az as I}from"./theme.ClagsQLu.js";import{u as J}from"./index.D4HuxphN.js";import{r as K,b as R,c as z,d as Q,M as V,x as C,y as F,A as f,H as O,E as x,G as w,C as A,F as U,B as tt,z as nt}from"./framework.BR0mAPCP.js";typeof BigInt>"u"&&(BigInt=function(t){if(isNaN(t))throw new Error("");return t});const d=BigInt(0),a=BigInt(1),D=BigInt(2),T=BigInt(5),p=BigInt(10),et=2e3,o={s:a,n:d,d:a};function _(t,n){try{t=BigInt(t)}catch{throw $()}return t*n}function k(t){return typeof t=="bigint"?t:Math.floor(t)}function m(t,n){if(n===d)throw j();const e=Object.create(S.prototype);e.s=t1&&(n[e]=(n[e]||d)+a):n[t]=(n[t]||d)+a,n}const y=function(t,n){let e=d,s=a,u=a;if(t!=null)if(n!==void 0){if(typeof t=="bigint")e=t;else{if(isNaN(t))throw $();if(t%1!==0)throw X();e=BigInt(t)}if(typeof n=="bigint")s=n;else{if(isNaN(n))throw $();if(n%1!==0)throw X();s=BigInt(n)}u=e*s}else if(typeof t=="object"){if("d"in t&&"n"in t)e=BigInt(t.n),s=BigInt(t.d),"s"in t&&(e*=BigInt(t.s));else if(0 in t)e=BigInt(t[0]),1 in t&&(s=BigInt(t[1]));else if(typeof t=="bigint")e=t;else throw $();u=e*s}else if(typeof t=="number"){if(isNaN(t))throw $();if(t<0&&(u=-a,t=-t),t%1===0)e=BigInt(t);else if(t>0){let i=1,c=0,h=1,B=1,b=1,P=1e7;for(t>=1&&(i=10**Math.floor(1+Math.log10(t)),t/=i);h<=P&&b<=P;){let l=(c+B)/(h+b);if(t===l){h+b<=P?(e=c+B,s=h+b):b>h?(e=B,s=b):(e=c,s=h);break}else t>l?(c+=B,h+=b):(B+=c,b+=h),h>P?(e=B,s=b):(e=c,s=h)}e=BigInt(e)*BigInt(i),s=BigInt(s)}}else if(typeof t=="string"){let i=0,c=d,h=d,B=d,b=a,P=a,l=t.replace(/_/g,"").match(/\d+|./g);if(l===null)throw $();if(l[i]==="-"?(u=-a,i++):l[i]==="+"&&i++,l.length===i+1?h=_(l[i++],u):l[i+1]==="."||l[i]==="."?(l[i]!=="."&&(c=_(l[i++],u)),i++,(i+1===l.length||l[i+1]==="("&&l[i+3]===")"||l[i+1]==="'"&&l[i+3]==="'")&&(h=_(l[i],u),b=p**BigInt(l[i].length),i++),(l[i]==="("&&l[i+2]===")"||l[i]==="'"&&l[i+2]==="'")&&(B=_(l[i+1],u),P=p**BigInt(l[i+1].length)-a,i+=3)):l[i+1]==="/"||l[i+1]===":"?(h=_(l[i],u),b=_(l[i+2],a),i+=3):l[i+3]==="/"&&l[i+1]===" "&&(c=_(l[i],u),h=_(l[i+2],u),b=_(l[i+4],a),i+=5),l.length<=i)s=b*P,u=e=B+s*c+P*h;else throw $()}else if(typeof t=="bigint")e=t,u=t,s=a;else throw $();if(s===d)throw j();o.s=ud;t=t*t%e,n>>=a)n&a&&(s=s*t%e);return s}function st(t,n){for(;n%D===d;n/=D);for(;n%T===d;n/=T);if(n===a)return d;let e=p%n,s=1;for(;e!==a;s++)if(e=e*p%n,s>et)return d;return BigInt(s)}function ot(t,n,e){let s=a,u=it(p,e,n);for(let i=0;i<300;i++){if(s===u)return BigInt(i);s=s*p%n,u=u*p%n}return 0}function E(t,n){if(!t)return n;if(!n)return t;for(;;){if(t%=n,!t)return n;if(n%=t,!n)return t}}function S(t,n){if(y(t,n),this instanceof S)t=E(o.d,o.n),this.s=o.s,this.n=o.n/t,this.d=o.d/t;else return m(o.s*o.n,o.d)}var j=function(){return new Error("Division by Zero")},$=function(){return new Error("Invalid argument")},X=function(){return new Error("Parameters must be integer")};S.prototype={s:a,n:d,d:a,abs:function(){return m(this.n,this.d)},neg:function(){return m(-this.s*this.n,this.d)},add:function(t,n){return y(t,n),m(this.s*this.n*o.d+o.s*this.d*o.n,this.d*o.d)},sub:function(t,n){return y(t,n),m(this.s*this.n*o.d-o.s*this.d*o.n,this.d*o.d)},mul:function(t,n){return y(t,n),m(this.s*o.s*this.n*o.n,this.d*o.d)},div:function(t,n){return y(t,n),m(this.s*o.s*this.n*o.d,this.d*o.n)},clone:function(){return m(this.s*this.n,this.d)},mod:function(t,n){if(t===void 0)return m(this.s*this.n%this.d,a);if(y(t,n),d===o.n*this.d)throw j();return m(this.s*(o.d*this.n)%(o.n*this.d),o.d*this.d)},gcd:function(t,n){return y(t,n),m(E(o.n,this.n)*E(o.d,this.d),o.d*this.d)},lcm:function(t,n){return y(t,n),o.n===d&&this.n===d?m(d,a):m(o.n*this.n,E(o.n,this.n)*E(o.d,this.d))},inverse:function(){return m(this.s*this.d,this.n)},pow:function(t,n){if(y(t,n),o.d===a)return o.so.s*o.n*this.d},gte:function(t,n){return y(t,n),this.s*this.n*o.d>=o.s*o.n*this.d},compare:function(t,n){y(t,n);let e=this.s*this.n*o.d-o.s*o.n*this.d;return(dd&&this.s>=d?a:d),t)},floor:function(t){return t=p**BigInt(t||0),m(k(this.s*t*this.n/this.d)-(t*this.n%this.d>d&&this.s=d?a:d)+D*(t*this.n%this.d)>this.d?a:d),t)},roundTo:function(t,n){y(t,n);const e=this.n*o.d,s=this.d*o.n,u=e%s;let i=k(e/s);return u+u>=s&&i++,m(this.s*i*o.n,o.d)},divisible:function(t,n){return y(t,n),!(!(o.n*this.d)||this.n*o.d%(o.n*this.d))},valueOf:function(){return Number(this.s*this.n)/Number(this.d)},toString:function(t){let n=this.n,e=this.d;t=t||15;let s=st(n,e),u=ot(n,e,s),i=this.sd&&(s+=u,s+=" ",n%=e),s+=n,s+="/",s+=e}return s},toLatex:function(t){let n=this.n,e=this.d,s=this.sd&&(s+=u,n%=e),s+="\\frac{",s+=n,s+="}{",s+=e,s+="}"}return s},toContinued:function(){let t=this.n,n=this.d,e=[];do{e.push(k(t/n));let s=t%n;t=n,n=s}while(t!==a);return e},simplify:function(t){t=t||.001;const n=this.abs(),e=n.toContinued();for(let s=1;s=0;i--)u=u.inverse().add(e[i]);if(Math.abs(u.sub(n).valueOf())s(e.ratio)),invFraction:z(()=>s(1-e.ratio))}),s=v=>new S(v).simplify(.001).toFraction(!0),u=J({ratio:e.ratio});Q(()=>e.ratio,v=>u.ratio=v);const i=R([G(220,27.5,3520),z(()=>i[0].value/u.ratio),z(()=>i[0].value/(1-u.ratio))]),h=R(["fundamental","left","right"].map((v,r)=>{const N=z(()=>Z(i[r].value).toNote()),M=z(()=>B(Z(N.value).toFrequency(),i[r].value));return{...Y(v),name:N,cents:M}})),B=(v,r)=>-(1200/Math.log10(2))*Math.log10(v/r)%1200;function b(){n.value||(h.forEach(v=>v.init()),n.value=!0)}const P=v=>69+12*Math.log2(v/440);function l(v=0,r=.5){n.value&&Object.assign(h[v].note,{number:P(i[v].value).toFixed(4),velocity:r})}function H(v){i[0].value+=v.wheeling?-v.delta[0]/32:v.delta[0]/4}function L(v){e.ratio+=v.wheeling?-v.delta[0]/4800:v.delta[0]/1200}return(v,r)=>{const N=V("drag"),M=V("wheel");return C(),F("div",lt,[n.value?(C(),F("svg",ut,[f("g",ft,[f("g",{class:"touch-manipulation",id:"intervalL",onPointerdown:r[1]||(r[1]=g=>{l(0),l(1)}),onPointercancel:r[2]||(r[2]=g=>{l(0,0),l(1,0)}),onPointerup:r[3]||(r[3]=g=>{l(0,0),l(1,0)}),onPointerout:r[4]||(r[4]=g=>{l(0,0),l(1,0)})},[f("defs",null,[f("linearGradient",dt,[f("stop",{offset:"0%",style:O({stopColor:x(I)(i[1].value,void 0,h[1].meter)})},null,4),f("stop",{offset:"100%",style:O({stopColor:x(I)(i[0].value,void 0,h[0].meter)})},null,4)])]),f("rect",{width:100*x(u).ratio-4,height:"8",y:"-4",x:"1",rx:"2",fill:"url(#intL)"},null,8,at),f("text",{class:"pointer-events-none",x:100*x(u).ratio/2-2,"text-anchor":"middle",y:".5"},[f("tspan",{class:"font-bold",fill:x(I)(i[1].value)},w(e.fraction.split("/")[0]),9,ct),r[24]||(r[24]=f("tspan",null,"/",-1)),f("tspan",{class:"font-bold",fill:x(I)(i[0].value)},w(e.fraction.split("/")[1]),9,xt)],8,ht)],32),f("g",{class:"touch-manipulation",id:"intervalR",onPointerdown:r[5]||(r[5]=g=>{l(0),l(2)}),onPointercancel:r[6]||(r[6]=g=>{l(0,0),l(2,0)}),onPointerup:r[7]||(r[7]=g=>{l(0,0),l(2,0)}),onPointerout:r[8]||(r[8]=g=>{l(0,0),l(2,0)})},[f("defs",null,[f("linearGradient",gt,[f("stop",{offset:"0%",style:O({stopColor:x(I)(i[0].value,void 0,h[0].meter)})},null,4),f("stop",{offset:"100%",style:O({stopColor:x(I)(i[2].value,void 0,h[2].meter)})},null,4)])]),f("rect",{width:100*(1-x(u).ratio)-4,height:"8",y:"-4",x:100-100*(1-x(u).ratio)+3,rx:"2",fill:"url(#intR)"},null,8,vt),f("text",{class:"pointer-events-none",x:100*x(u).ratio+100*(1-x(u).ratio)/2+2,"text-anchor":"middle",y:".5"},[f("tspan",{class:"font-bold",fill:x(I)(i[2].value)},w(e.invFraction.split("/")[0]),9,wt),r[25]||(r[25]=f("tspan",null,"/",-1)),f("tspan",{class:"font-bold",fill:x(I)(i[0].value)},w(e.invFraction.split("/")[1]),9,yt)],8,mt)],32)]),A((C(),F("g",{class:"cursor-pointer touch-manipulation",id:"fundamental",onPointerdown:r[9]||(r[9]=g=>l(0)),onPointercancel:r[10]||(r[10]=g=>l(0,0)),onPointerleave:r[11]||(r[11]=g=>l(0,0)),onPointerout:r[12]||(r[12]=g=>l(0,0)),onPointerup:r[13]||(r[13]=g=>l(0,0))},[f("line",{x2:"100","stroke-width":"10",stroke:x(I)(i[0].value,.3+.7*h[0].meter)},null,8,bt),r[26]||(r[26]=f("circle",{r:"2"},null,-1)),r[27]||(r[27]=f("circle",{cx:"100",r:"2"},null,-1)),f("text",pt,[f("tspan",Bt,w(h[0].name),1)]),f("text",It,[f("tspan",kt,w(h[0].cents>0?"+":"")+w(h[0].cents.toFixed())+"% ",1),f("tspan",Pt,w(i[0].value.toFixed(2))+" Hz ",1)])],32)),[[N,H],[M,H]]),A((C(),F("g",_t,[f("g",{id:"right",onPointerdown:r[14]||(r[14]=g=>l(2)),onPointercancel:r[15]||(r[15]=g=>l(2,0)),onPointerleave:r[16]||(r[16]=g=>l(2,0)),onPointerout:r[17]||(r[17]=g=>l(2,0)),onPointerup:r[18]||(r[18]=g=>l(2,0))},[f("line",{stroke:x(I)(i[2].value,.3+.7*h[2].meter),"stroke-width":"10",x1:100*x(u).ratio,x2:"100"},null,8,$t),r[28]||(r[28]=f("circle",{r:"2",cx:"100"},null,-1)),f("g",{transform:`translate(${100*x(u).ratio+5+100*(1-x(u).ratio)/2} 0.5)`},[f("text",Ft,w(h[2].name),1),f("text",Nt,w(h[2].cents>0?"+":"")+w(h[2].cents.toFixed())+"% ",1),f("text",zt,w(i[2].value.toFixed(2))+" Hz ",1)],8,Ct)],32),f("g",{id:"left",onPointerdown:r[19]||(r[19]=g=>l(1)),onPointercancel:r[20]||(r[20]=g=>l(1,0)),onPointerleave:r[21]||(r[21]=g=>l(1,0)),onPointerout:r[22]||(r[22]=g=>l(1,0)),onPointerup:r[23]||(r[23]=g=>l(1,0))},[f("line",{stroke:x(I)(i[1].value,.3+.7*h[1].meter),"stroke-width":"10",x2:100*x(u).ratio},null,8,Et),r[29]||(r[29]=f("circle",{r:"2"},null,-1)),f("circle",{cx:100*x(u).ratio,r:"2"},null,8,Mt),f("g",{transform:`translate(${100*x(u).ratio/2} 0.5)`},[f("text",Lt,w(h[1].name),1),f("text",Ot,w(h[1].cents>0?"+":"")+w(h[1].cents.toFixed())+"% ",1),f("text",St,w(i[1].value.toFixed(2))+" Hz ",1)],8,Dt)],32)])),[[N,L],[M,L]]),f("g",qt,[r[30]||(r[30]=f("line",{y1:"0",y2:"20"},null,-1)),r[31]||(r[31]=f("line",{x1:"100",x2:"100",y1:"0",y2:"20"},null,-1)),f("line",{x1:100*x(u).ratio,x2:100*x(u).ratio,y1:"5",y2:"20"},null,8,Rt),A(f("rect",{class:"cursor-grab",width:"8",height:"8",opacity:"0.3",rx:"2",x:100*x(u).ratio-4,y:"6"},null,8,At),[[M,L],[N,L]])])])):(C(),F("button",{key:0,class:"min-h-80vh p-40 text-2xl font-bold bg-light-900 dark-bg-dark-700 absolute min-h-30 top-0 z-100 right-0 left-0 w-full bg-op-30 dark-bg-op-30 backdrop-blur",onPointerdown:r[0]||(r[0]=g=>b())},"START ",32)),f("div",Tt,[(C(!0),F(U,null,tt(x(rt),(g,q)=>(C(),F("button",{class:nt(["text-button flex-1",{active:q==e.fraction}]),key:q,onClick:Ht=>e.ratio=g},w(q),11,jt))),128))])])}}};export{Wt as default}; diff --git a/assets/chunks/MonoChord.BHBDAmBO.js b/assets/chunks/MonoChord.BHBDAmBO.js new file mode 100644 index 0000000000..b1122d1233 --- /dev/null +++ b/assets/chunks/MonoChord.BHBDAmBO.js @@ -0,0 +1 @@ +import{D as _,I as F,b6 as q,aB as x}from"./theme.Dd_Fb62b.js";import{u as D}from"./index.D7bsbTcf.js";import{F as L}from"./fraction.TqTz4TU4.js";import{r as R,b as $,c,d as S,M as C,x as f,y as v,A as e,H as w,E as n,G as d,C as b,F as H,B as E,z as G}from"./framework.CQBrk0Ry.js";const I={"1/2":1/2,"2/3":2/3,"3/4":3/4,"3/5":3/5,"4/5":4/5,"5/6":5/6,"4/7":4/7,"5/7":5/7,"6/7":6/7,"5/8":5/8,"7/8":7/8,"5/9":5/9,"7/9":7/9,"8/9":8/9,"9/10":9/10,"10/11":10/11,"11/12":11/12,"8/15":8/15,"15/16":15/16,"32/45":32/45},j={class:"flex flex-col fullscreen-container select-none z-100",id:"screen"},A={key:1,class:"my-12 select-none touch-action-none select-none",style:{"-webkit-overflow-scrolling":"touch"},version:"1.1",baseProfile:"full",viewBox:"-10 -5 120 31",xmlns:"http://www.w3.org/2000/svg","font-family":"Commissioner, sans-serif","font-size":"3px","text-anchor":"middle","dominant-baseline":"middle","stroke-linecap":"round",fill:"white"},N={class:"cursor-pointer",id:"ratio",transform:"translate(0 10)","font-size":"4px","stroke-width":"0",fill:"currentColor"},T={id:"intL"},O=["width"],V=["x"],J=["fill"],K=["fill"],Q={id:"intR"},U=["width","x"],W=["x"],X=["fill"],Y=["fill"],Z=["stroke"],tt={class:"pointer-events-none",x:"50",y:".5","font-weight":"bold","text-anchor":"end"},et={class:"text-6px"},ot={class:"pointer-events-none",x:"50.5",y:"-1.5","text-anchor":"start"},nt={class:"text-2px"},st={class:"text-2px",x:"50.75",y:"1.5"},it={class:"cursor-pointer touch-manipulation",id:"divided",transform:"translate(0,20)"},lt=["stroke","x1"],rt=["transform"],at={class:"text-6px",y:"0.3",x:"-1","font-weight":"bold","text-anchor":"end"},dt={class:"text-2px",y:"-1.5","text-anchor":"start"},ut={class:"text-2px",y:"1.5","text-anchor":"start"},xt=["stroke","x2"],ft=["cx"],vt=["transform"],pt={class:"text-6px",y:"0.3",x:"-1","font-weight":"bold","text-anchor":"end"},ct={class:"text-2px",y:"-1.5","text-anchor":"start"},mt={class:"text-2px",y:"1.5","text-anchor":"start"},gt={class:"touch-manipulation",id:"ruler","stroke-width":"0.2",stroke:"currentColor"},yt=["x1","x2"],wt=["x"],ht={class:"flex flex-wrap justify-center p-2"},$t=["onClick"],Bt={__name:"MonoChord",setup(bt){const g=R(!1),u=$({ratio:_(.66,.05,.95),fraction:c(()=>k(u.ratio)),invFraction:c(()=>k(1-u.ratio))}),k=i=>new L(i).simplify(.001).toFraction(!0),r=D({ratio:u.ratio});S(()=>u.ratio,i=>r.ratio=i);const l=$([_(220,27.5,3520),c(()=>l[0].value/r.ratio),c(()=>l[0].value/(1-r.ratio))]),a=$(["fundamental","left","right"].map((i,t)=>{const p=c(()=>F(l[t].value).toNote()),m=c(()=>z(F(p.value).toFrequency(),l[t].value));return{...q(i),name:p,cents:m}})),z=(i,t)=>-(1200/Math.log10(2))*Math.log10(i/t)%1200;function B(){g.value||(a.forEach(i=>i.init()),g.value=!0)}const M=i=>69+12*Math.log2(i/440);function o(i=0,t=.5){g.value&&Object.assign(a[i].note,{number:M(l[i].value).toFixed(4),velocity:t})}function P(i){l[0].value+=i.wheeling?-i.delta[0]/32:i.delta[0]/4}function y(i){u.ratio+=i.wheeling?-i.delta[0]/4800:i.delta[0]/1200}return(i,t)=>{const p=C("drag"),m=C("wheel");return f(),v("div",j,[g.value?(f(),v("svg",A,[e("g",N,[e("g",{class:"touch-manipulation",id:"intervalL",onPointerdown:t[1]||(t[1]=s=>{o(0),o(1)}),onPointercancel:t[2]||(t[2]=s=>{o(0,0),o(1,0)}),onPointerup:t[3]||(t[3]=s=>{o(0,0),o(1,0)}),onPointerout:t[4]||(t[4]=s=>{o(0,0),o(1,0)})},[e("defs",null,[e("linearGradient",T,[e("stop",{offset:"0%",style:w({stopColor:n(x)(l[1].value,void 0,a[1].meter)})},null,4),e("stop",{offset:"100%",style:w({stopColor:n(x)(l[0].value,void 0,a[0].meter)})},null,4)])]),e("rect",{width:100*n(r).ratio-4,height:"8",y:"-4",x:"1",rx:"2",fill:"url(#intL)"},null,8,O),e("text",{class:"pointer-events-none",x:100*n(r).ratio/2-2,"text-anchor":"middle",y:".5"},[e("tspan",{class:"font-bold",fill:n(x)(l[1].value)},d(u.fraction.split("/")[0]),9,J),t[24]||(t[24]=e("tspan",null,"/",-1)),e("tspan",{class:"font-bold",fill:n(x)(l[0].value)},d(u.fraction.split("/")[1]),9,K)],8,V)],32),e("g",{class:"touch-manipulation",id:"intervalR",onPointerdown:t[5]||(t[5]=s=>{o(0),o(2)}),onPointercancel:t[6]||(t[6]=s=>{o(0,0),o(2,0)}),onPointerup:t[7]||(t[7]=s=>{o(0,0),o(2,0)}),onPointerout:t[8]||(t[8]=s=>{o(0,0),o(2,0)})},[e("defs",null,[e("linearGradient",Q,[e("stop",{offset:"0%",style:w({stopColor:n(x)(l[0].value,void 0,a[0].meter)})},null,4),e("stop",{offset:"100%",style:w({stopColor:n(x)(l[2].value,void 0,a[2].meter)})},null,4)])]),e("rect",{width:100*(1-n(r).ratio)-4,height:"8",y:"-4",x:100-100*(1-n(r).ratio)+3,rx:"2",fill:"url(#intR)"},null,8,U),e("text",{class:"pointer-events-none",x:100*n(r).ratio+100*(1-n(r).ratio)/2+2,"text-anchor":"middle",y:".5"},[e("tspan",{class:"font-bold",fill:n(x)(l[2].value)},d(u.invFraction.split("/")[0]),9,X),t[25]||(t[25]=e("tspan",null,"/",-1)),e("tspan",{class:"font-bold",fill:n(x)(l[0].value)},d(u.invFraction.split("/")[1]),9,Y)],8,W)],32)]),b((f(),v("g",{class:"cursor-pointer touch-manipulation",id:"fundamental",onPointerdown:t[9]||(t[9]=s=>o(0)),onPointercancel:t[10]||(t[10]=s=>o(0,0)),onPointerleave:t[11]||(t[11]=s=>o(0,0)),onPointerout:t[12]||(t[12]=s=>o(0,0)),onPointerup:t[13]||(t[13]=s=>o(0,0))},[e("line",{x2:"100","stroke-width":"10",stroke:n(x)(l[0].value,.3+.7*a[0].meter)},null,8,Z),t[26]||(t[26]=e("circle",{r:"2"},null,-1)),t[27]||(t[27]=e("circle",{cx:"100",r:"2"},null,-1)),e("text",tt,[e("tspan",et,d(a[0].name),1)]),e("text",ot,[e("tspan",nt,d(a[0].cents>0?"+":"")+d(a[0].cents.toFixed())+"% ",1),e("tspan",st,d(l[0].value.toFixed(2))+" Hz ",1)])],32)),[[p,P],[m,P]]),b((f(),v("g",it,[e("g",{id:"right",onPointerdown:t[14]||(t[14]=s=>o(2)),onPointercancel:t[15]||(t[15]=s=>o(2,0)),onPointerleave:t[16]||(t[16]=s=>o(2,0)),onPointerout:t[17]||(t[17]=s=>o(2,0)),onPointerup:t[18]||(t[18]=s=>o(2,0))},[e("line",{stroke:n(x)(l[2].value,.3+.7*a[2].meter),"stroke-width":"10",x1:100*n(r).ratio,x2:"100"},null,8,lt),t[28]||(t[28]=e("circle",{r:"2",cx:"100"},null,-1)),e("g",{transform:`translate(${100*n(r).ratio+5+100*(1-n(r).ratio)/2} 0.5)`},[e("text",at,d(a[2].name),1),e("text",dt,d(a[2].cents>0?"+":"")+d(a[2].cents.toFixed())+"% ",1),e("text",ut,d(l[2].value.toFixed(2))+" Hz ",1)],8,rt)],32),e("g",{id:"left",onPointerdown:t[19]||(t[19]=s=>o(1)),onPointercancel:t[20]||(t[20]=s=>o(1,0)),onPointerleave:t[21]||(t[21]=s=>o(1,0)),onPointerout:t[22]||(t[22]=s=>o(1,0)),onPointerup:t[23]||(t[23]=s=>o(1,0))},[e("line",{stroke:n(x)(l[1].value,.3+.7*a[1].meter),"stroke-width":"10",x2:100*n(r).ratio},null,8,xt),t[29]||(t[29]=e("circle",{r:"2"},null,-1)),e("circle",{cx:100*n(r).ratio,r:"2"},null,8,ft),e("g",{transform:`translate(${100*n(r).ratio/2} 0.5)`},[e("text",pt,d(a[1].name),1),e("text",ct,d(a[1].cents>0?"+":"")+d(a[1].cents.toFixed())+"% ",1),e("text",mt,d(l[1].value.toFixed(2))+" Hz ",1)],8,vt)],32)])),[[p,y],[m,y]]),e("g",gt,[t[30]||(t[30]=e("line",{y1:"0",y2:"20"},null,-1)),t[31]||(t[31]=e("line",{x1:"100",x2:"100",y1:"0",y2:"20"},null,-1)),e("line",{x1:100*n(r).ratio,x2:100*n(r).ratio,y1:"5",y2:"20"},null,8,yt),b(e("rect",{class:"cursor-grab",width:"8",height:"8",opacity:"0.3",rx:"2",x:100*n(r).ratio-4,y:"6"},null,8,wt),[[m,y],[p,y]])])])):(f(),v("button",{key:0,class:"min-h-80vh p-40 text-2xl font-bold bg-light-900 dark-bg-dark-700 absolute min-h-30 top-0 z-100 right-0 left-0 w-full bg-op-30 dark-bg-op-30 backdrop-blur",onPointerdown:t[0]||(t[0]=s=>B())},"START ",32)),e("div",ht,[(f(!0),v(H,null,E(n(I),(s,h)=>(f(),v("button",{class:G(["text-button flex-1",{active:h==u.fraction}]),key:h,onClick:Pt=>u.ratio=s},d(h),11,$t))),128))])])}}};export{Bt as default}; diff --git a/assets/chunks/MultiPendulums.DTpiCVAc.js b/assets/chunks/MultiPendulums.DTpiCVAc.js new file mode 100644 index 0000000000..208c5fe9b6 --- /dev/null +++ b/assets/chunks/MultiPendulums.DTpiCVAc.js @@ -0,0 +1,25 @@ +import{r as Ut,b as dt,c as Zt,aW as ku,d as Vt,x as Qe,y as We,A as ke,E as Ze,G as ju,I as ei,F as Ur,B as mt,H as ri}from"./framework.CQBrk0Ry.js";import{g as mr,K as or,e as ti,ah as Ht,C as Jt,k as ni}from"./theme.Dd_Fb62b.js";import{F as ir}from"./fraction.TqTz4TU4.js";function Gr(){return Gr=Object.assign?Object.assign.bind():function(e){for(var r=1;rthis.has(r)).values()}get(r){return ui(this.wrappedObject,r)}set(r,t){return ii(this.wrappedObject,r,t),this}has(r){return Yr(this.wrappedObject,r)&&r in this.wrappedObject}entries(){return li(this.keys(),r=>[r,this.get(r)])}forEach(r){for(var t of this.keys())r(this.get(t),t,this)}delete(r){Yr(this.wrappedObject,r)&&delete this.wrappedObject[r]}clear(){for(var r of this.keys())this.delete(r)}get size(){return Object.keys(this.wrappedObject).length}}function li(e,r){return{next:()=>{var t=e.next();return t.done?t:{value:r(t.value),done:!1}}}}function we(e){return typeof e=="number"}function Ne(e){return!e||typeof e!="object"||typeof e.constructor!="function"?!1:e.isBigNumber===!0&&typeof e.constructor.prototype=="object"&&e.constructor.prototype.isBigNumber===!0||typeof e.constructor.isDecimal=="function"&&e.constructor.isDecimal(e)===!0}function hi(e){return typeof e=="bigint"}function xn(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isComplex===!0||!1}function Nn(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isFraction===!0||!1}function Tn(e){return e&&e.constructor.prototype.isUnit===!0||!1}function nr(e){return typeof e=="string"}var Ae=Array.isArray;function xe(e){return e&&e.constructor.prototype.isMatrix===!0||!1}function Kr(e){return Array.isArray(e)||xe(e)}function zn(e){return e&&e.isDenseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function On(e){return e&&e.isSparseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function vi(e){return e&&e.constructor.prototype.isRange===!0||!1}function Nt(e){return e&&e.constructor.prototype.isIndex===!0||!1}function Di(e){return typeof e=="boolean"}function pi(e){return e&&e.constructor.prototype.isResultSet===!0||!1}function di(e){return e&&e.constructor.prototype.isHelp===!0||!1}function mi(e){return typeof e=="function"}function gi(e){return e instanceof Date}function wi(e){return e instanceof RegExp}function Tt(e){return!!(e&&typeof e=="object"&&e.constructor===Object&&!xn(e)&&!Nn(e))}function Fi(e){return e?e instanceof Map||e instanceof ci||typeof e.set=="function"&&typeof e.get=="function"&&typeof e.keys=="function"&&typeof e.has=="function":!1}function yi(e){return e===null}function Ai(e){return e===void 0}function Ei(e){return e&&e.isAccessorNode===!0&&e.constructor.prototype.isNode===!0||!1}function Ci(e){return e&&e.isArrayNode===!0&&e.constructor.prototype.isNode===!0||!1}function _i(e){return e&&e.isAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function Si(e){return e&&e.isBlockNode===!0&&e.constructor.prototype.isNode===!0||!1}function Bi(e){return e&&e.isConditionalNode===!0&&e.constructor.prototype.isNode===!0||!1}function Mi(e){return e&&e.isConstantNode===!0&&e.constructor.prototype.isNode===!0||!1}function bi(e){return e&&e.isFunctionAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function xi(e){return e&&e.isFunctionNode===!0&&e.constructor.prototype.isNode===!0||!1}function Ni(e){return e&&e.isIndexNode===!0&&e.constructor.prototype.isNode===!0||!1}function Ti(e){return e&&e.isNode===!0&&e.constructor.prototype.isNode===!0||!1}function zi(e){return e&&e.isObjectNode===!0&&e.constructor.prototype.isNode===!0||!1}function Oi(e){return e&&e.isOperatorNode===!0&&e.constructor.prototype.isNode===!0||!1}function Ii(e){return e&&e.isParenthesisNode===!0&&e.constructor.prototype.isNode===!0||!1}function Pi(e){return e&&e.isRangeNode===!0&&e.constructor.prototype.isNode===!0||!1}function $i(e){return e&&e.isRelationalNode===!0&&e.constructor.prototype.isNode===!0||!1}function qi(e){return e&&e.isSymbolNode===!0&&e.constructor.prototype.isNode===!0||!1}function Ri(e){return e&&e.constructor.prototype.isChain===!0||!1}function lr(e){var r=typeof e;return r==="object"?e===null?"null":Ne(e)?"BigNumber":e.constructor&&e.constructor.name?e.constructor.name:"Object":r}function Ee(e){var r=typeof e;if(r==="number"||r==="bigint"||r==="string"||r==="boolean"||e===null||e===void 0)return e;if(typeof e.clone=="function")return e.clone();if(Array.isArray(e))return e.map(function(t){return Ee(t)});if(e instanceof Date)return new Date(e.valueOf());if(Ne(e))return e;if(Tt(e))return Li(e,Ee);if(r==="function")return e;throw new TypeError("Cannot clone: unknown type of value (value: ".concat(e,")"))}function Li(e,r){var t={};for(var u in e)zr(e,u)&&(t[u]=r(e[u]));return t}function Ui(e,r){for(var t in r)zr(r,t)&&(e[t]=r[t]);return e}function hr(e,r){var t,u,n;if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(u=0,n=e.length;u1&&arguments[1]!==void 0?arguments[1]:"any";const N=b?s(b).index:n.length,$=[];for(let R=0;R{const $=u.get(N);return!$.isAny&&$.test(C)});return b.length?b:["any"]}function v(C){return C&&typeof C=="function"&&"_typedFunctionData"in C}function D(C,b,N){if(!v(C))throw new TypeError(Yt);const $=N&&N.exact,U=Array.isArray(b)?b.join(","):b,R=A(U),Y=m(R);if(!$||Y in C.signatures){const pe=C._typedFunctionData.signatureMap.get(Y);if(pe)return pe}const V=R.length;let K;if($){K=[];let pe;for(pe in C.signatures)K.push(C._typedFunctionData.signatureMap.get(pe))}else K=C._typedFunctionData.signatures;for(let pe=0;pe!Ke.has(Xe.name)))continue}Ce.push(Le)}}if(K=Ce,K.length===0)break}let Z;for(Z of K)if(Z.params.length<=V)return Z;throw new TypeError("Signature not found (signature: "+(C.name||"unnamed")+"("+m(R,", ")+"))")}function d(C,b,N){return D(C,b,N).implementation}function l(C,b){const N=s(b);if(N.test(C))return C;const $=N.conversionsTo;if($.length===0)throw new Error("There are no conversions to "+b+" defined.");for(let U=0;U<$.length;U++)if(s($[U].from).test(C))return $[U].convert(C);throw new Error("Cannot convert "+C+" to "+b)}function m(C){let b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return C.map(N=>N.name).join(b)}function g(C){const b=C.indexOf("...")===0,$=(b?C.length>3?C.slice(3):"any":C).split("|").map(V=>s(V.trim()));let U=!1,R=b?"...":"";return{types:$.map(function(V){return U=V.isAny||U,R+=V.name+"|",{name:V.name,typeIndex:V.index,test:V.test,isAny:V.isAny,conversion:null,conversionIndex:-1}}),name:R.slice(0,-1),hasAny:U,hasConversion:!1,restParam:b}}function y(C){const b=C.types.map(Y=>Y.name),N=G(b);let $=C.hasAny,U=C.name;const R=N.map(function(Y){const V=s(Y.from);return $=V.isAny||$,U+="|"+Y.from,{name:Y.from,typeIndex:V.index,test:V.test,isAny:V.isAny,conversion:Y,conversionIndex:Y.index}});return{types:C.types.concat(R),name:U,hasAny:$,hasConversion:R.length>0,restParam:C.restParam}}function w(C){return C.typeSet||(C.typeSet=new Set,C.types.forEach(b=>C.typeSet.add(b.name))),C.typeSet}function A(C){const b=[];if(typeof C!="string")throw new TypeError("Signatures must be strings");const N=C.trim();if(N==="")return b;const $=N.split(",");for(let U=0;U<$.length;++U){const R=g($[U].trim());if(R.restParam&&U!==$.length-1)throw new SyntaxError('Unexpected rest parameter "'+$[U]+'": only allowed for the last parameter');if(R.types.length===0)return null;b.push(R)}return b}function F(C){const b=ie(C);return b?b.restParam:!1}function p(C){if(!C||C.types.length===0)return Gt;if(C.types.length===1)return s(C.types[0].name).test;if(C.types.length===2){const b=s(C.types[0].name).test,N=s(C.types[1].name).test;return function(U){return b(U)||N(U)}}else{const b=C.types.map(function(N){return s(N.name).test});return function($){for(let U=0;U=U+1}}else return C.length===0?function(R){return R.length===0}:C.length===1?(N=p(C[0]),function(R){return N(R[0])&&R.length===1}):C.length===2?(N=p(C[0]),$=p(C[1]),function(R){return N(R[0])&&$(R[1])&&R.length===2}):(b=C.map(p),function(R){for(let Y=0;Y{const U=E($.params,b);let R;for(R of U)N.add(R)}),N.has("any")?["any"]:Array.from(N)}function z(C,b,N){let $,U;const R=C||"unnamed";let Y=N,V;for(V=0;V{const Le=S(Ce.params,V),$e=p(Le);(V0){const Ce=f(b[V]);return $=new TypeError("Unexpected type of argument in function "+R+" (expected: "+U.join(" or ")+", actual: "+Ce.join(" | ")+", index: "+V+")"),$.data={category:"wrongType",fn:R,index:V,actual:Ce,expected:U},$}}else Y=ge}const K=Y.map(function(ge){return F(ge.params)?1/0:ge.params.length});if(b.lengthZ)return $=new TypeError("Too many arguments in function "+R+" (expected: "+Z+", actual: "+b.length+")"),$.data={category:"tooManyArgs",fn:R,index:b.length,expectedLength:Z},$;const pe=[];for(let ge=0;ge0)return 1;const $=O(C)-O(b);return $<0?-1:$>0?1:0}function x(C,b){const N=C.params,$=b.params,U=ie(N),R=ie($),Y=F(N),V=F($);if(Y&&U.hasAny){if(!V||!R.hasAny)return 1}else if(V&&R.hasAny)return-1;let K=0,Z=0,pe;for(pe of N)pe.hasAny&&++K,pe.hasConversion&&++Z;let ge=0,Ce=0;for(pe of $)pe.hasAny&&++ge,pe.hasConversion&&++Ce;if(K!==ge)return K-ge;if(Y&&U.hasConversion){if(!V||!R.hasConversion)return 1}else if(V&&R.hasConversion)return-1;if(Z!==Ce)return Z-Ce;if(Y){if(!V)return 1}else if(V)return-1;const Le=(N.length-$.length)*(Y?-1:1);if(Le!==0)return Le;const $e=[];let Ke=0;for(let Er=0;Er1&&b.sort((U,R)=>U.index-R.index);let N=b[0].conversionsTo;if(C.length===1)return N;N=N.concat([]);const $=new Set(C);for(let U=1;UU.hasConversion)){const U=F(C),R=C.map(T);N=function(){const V=[],K=U?arguments.length-1:arguments.length;for(let Z=0;ZK.name).join("|"),hasAny:V.some(K=>K.isAny),hasConversion:!1,restParam:!0}),Y.push(R)}else Y=R.types.map(function(V){return{types:[V],name:V.name,hasAny:V.isAny,hasConversion:V.conversion,restParam:!1}});return de(Y,function(V){return b(N,$+1,U.concat([V]))})}else return[U]}return b(C,0,[])}function X(C,b){const N=Math.max(C.length,b.length);for(let V=0;V=$:Y?$>=U:$===U}function ue(C){return C.map(b=>ze(b)?_e(b.referToSelf.callback):Re(b)?ce(b.referTo.references,b.referTo.callback):b)}function re(C,b,N){const $=[];let U;for(U of C){let R=N[U];if(typeof R!="number")throw new TypeError('No definition for referenced signature "'+U+'"');if(R=b[R],typeof R!="function")return!1;$.push(R)}return $}function W(C,b,N){const $=ue(C),U=new Array($.length).fill(!1);let R=!0;for(;R;){R=!1;let Y=!0;for(let V=0;V<$.length;++V){if(U[V])continue;const K=$[V];if(ze(K))$[V]=K.referToSelf.callback(N),$[V].referToSelf=K.referToSelf,U[V]=!0,Y=!1;else if(Re(K)){const Z=re(K.referTo.references,$,b);Z?($[V]=K.referTo.callback.apply(this,Z),$[V].referTo=K.referTo,U[V]=!0,Y=!1):R=!0}}if(Y&&R)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return $}function he(C){const b=/\bthis(\(|\.signatures\b)/;Object.keys(C).forEach(N=>{const $=C[N];if(b.test($.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}function oe(C,b){if(a.createCount++,Object.keys(b).length===0)throw new SyntaxError("No signatures provided");a.warnAgainstDeprecatedThis&&he(b);const N=[],$=[],U={},R=[];let Y;for(Y in b){if(!Object.prototype.hasOwnProperty.call(b,Y))continue;const ve=A(Y);if(!ve)continue;N.forEach(function(Tr){if(X(Tr,ve))throw new TypeError('Conflicting signatures "'+m(Tr)+'" and "'+m(ve)+'".')}),N.push(ve);const Ue=$.length;$.push(b[Y]);const Qu=ve.map(y);let Lr;for(Lr of J(Qu)){const Tr=m(Lr);R.push({params:Lr,name:Tr,fn:Ue}),Lr.every(Wu=>!Wu.hasConversion)&&(U[Tr]=Ue)}}R.sort(x);const V=W($,U,Nr);let K;for(K in U)Object.prototype.hasOwnProperty.call(U,K)&&(U[K]=V[U[K]]);const Z=[],pe=new Map;for(K of R)pe.has(K.name)||(K.fn=V[K.fn],Z.push(K),pe.set(K.name,K));const ge=Z[0]&&Z[0].params.length<=2&&!F(Z[0].params),Ce=Z[1]&&Z[1].params.length<=2&&!F(Z[1].params),Le=Z[2]&&Z[2].params.length<=2&&!F(Z[2].params),$e=Z[3]&&Z[3].params.length<=2&&!F(Z[3].params),Ke=Z[4]&&Z[4].params.length<=2&&!F(Z[4].params),Xe=Z[5]&&Z[5].params.length<=2&&!F(Z[5].params),Er=ge&&Ce&&Le&&$e&&Ke&&Xe;for(let ve=0;veve.test),Ku=Z.map(ve=>ve.implementation),Xu=function(){for(let Ue=Ju;Uem(A(N))),b=ie(arguments);if(typeof b!="function")throw new TypeError("Callback function expected as last argument");return ce(C,b)}function ce(C,b){return{referTo:{references:C,callback:b}}}function _e(C){if(typeof C!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:C}}}function Re(C){return C&&typeof C.referTo=="object"&&Array.isArray(C.referTo.references)&&typeof C.referTo.callback=="function"}function ze(C){return C&&typeof C.referToSelf=="object"&&typeof C.referToSelf.callback=="function"}function fe(C,b){if(!C)return b;if(b&&b!==C){const N=new Error("Function names do not match (expected: "+C+", actual: "+b+")");throw N.data={actual:b,expected:C},N}return C}function Oe(C){let b;for(const N in C)Object.prototype.hasOwnProperty.call(C,N)&&(v(C[N])||typeof C[N].signature=="string")&&(b=fe(b,C[N].name));return b}function Ye(C,b){let N;for(N in b)if(Object.prototype.hasOwnProperty.call(b,N)){if(N in C&&b[N]!==C[N]){const $=new Error('Signature "'+N+'" is defined twice');throw $.data={signature:N,sourceFunction:b[N],destFunction:C[N]},$}C[N]=b[N]}}const pt=a;a=function(C){const b=typeof C=="string",N=b?1:0;let $=b?C:"";const U={};for(let R=N;R1&&arguments[1]!==void 0?arguments[1]:{override:!1};xr(C);const N=s(C.to),$=N.conversionsTo.find(U=>U.from===C.from);if($)if(b&&b.override)a.removeConversion({from:$.from,to:C.to,convert:$.convert});else throw new Error('There is already a conversion from "'+C.from+'" to "'+N.name+'"');N.conversionsTo.push({from:C.from,convert:C.convert,index:i++})},a.addConversions=function(C,b){C.forEach(N=>a.addConversion(N,b))},a.removeConversion=function(C){xr(C);const b=s(C.to),N=Fe(b.conversionsTo,U=>U.from===C.from);if(!N)throw new Error("Attempt to remove nonexistent conversion from "+C.from+" to "+C.to);if(N.convert!==C.convert)throw new Error("Conversion to remove does not match existing conversion");const $=b.conversionsTo.indexOf(N);b.conversionsTo.splice($,1)},a.resolve=function(C,b){if(!v(C))throw new TypeError(Yt);const N=C._typedFunctionData.signatures;for(let $=0;$!Gi(i)).every(i=>t[i]!==void 0);if(!u){var n=r.filter(i=>t[i]===void 0);throw new Error('Cannot create function "'.concat(e,'", ')+"some dependencies are missing: ".concat(n.map(i=>'"'.concat(i,'"')).join(", "),"."))}}function Gi(e){return e&&e[0]==="?"}function Yi(e){return e&&e[0]==="?"?e.slice(1):e}function Be(e){return typeof e=="boolean"?!0:isFinite(e)?e===Math.round(e):!1}function gt(e,r,t){var u={2:"0b",8:"0o",16:"0x"},n=u[r],i="";if(t){if(t<1)throw new Error("size must be in greater than 0");if(!Be(t))throw new Error("size must be an integer");if(e>2**(t-1)-1||e<-(2**(t-1)))throw new Error("Value must be in range [-2^".concat(t-1,", 2^").concat(t-1,"-1]"));if(!Be(e))throw new Error("Value must be an integer");e<0&&(e=e+2**t),i="i".concat(t)}var a="";return e<0&&(e=-e,a="-"),"".concat(a).concat(n).concat(e.toString(r)).concat(i)}function At(e,r){if(typeof r=="function")return r(e);if(e===1/0)return"Infinity";if(e===-1/0)return"-Infinity";if(isNaN(e))return"NaN";var{notation:t,precision:u,wordSize:n}=Pn(r);switch(t){case"fixed":return Xi(e,u);case"exponential":return $n(e,u);case"engineering":return Ki(e,u);case"bin":return gt(e,2,n);case"oct":return gt(e,8,n);case"hex":return gt(e,16,n);case"auto":return Qi(e,u,r).replace(/((\.\d*?)(0+))($|e)/,function(){var i=arguments[2],a=arguments[4];return i!=="."?i+a:a});default:throw new Error('Unknown notation "'+t+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Pn(e){var r="auto",t,u;if(e!==void 0)if(we(e))t=e;else if(Ne(e))t=e.toNumber();else if(Tt(e))e.precision!==void 0&&(t=Kt(e.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),e.wordSize!==void 0&&(u=Kt(e.wordSize,()=>{throw new Error('Option "wordSize" must be a number or BigNumber')})),e.notation&&(r=e.notation);else throw new Error("Unsupported type of options, number, BigNumber, or object expected");return{notation:r,precision:t,wordSize:u}}function ut(e){var r=String(e).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!r)throw new SyntaxError("Invalid number "+e);var t=r[1],u=r[2],n=parseFloat(r[4]||"0"),i=u.indexOf(".");n+=i!==-1?i-1:u.length-1;var a=u.replace(".","").replace(/^0*/,function(s){return n-=s.length,""}).replace(/0*$/,"").split("").map(function(s){return parseInt(s)});return a.length===0&&(a.push(0),n++),{sign:t,coefficients:a,exponent:n}}function Ki(e,r){if(isNaN(e)||!isFinite(e))return String(e);var t=ut(e),u=it(t,r),n=u.exponent,i=u.coefficients,a=n%3===0?n:n<0?n-3-n%3:n-n%3;if(we(r))for(;r>i.length||n-a+1>i.length;)i.push(0);else for(var s=Math.abs(n-a)-(i.length-1),c=0;c0;)o++,h--;var f=i.slice(o).join(""),v=we(r)&&f.length||f.match(/[1-9]/)?"."+f:"",D=i.slice(0,o).join("")+v+"e"+(n>=0?"+":"")+a.toString();return u.sign+D}function Xi(e,r){if(isNaN(e)||!isFinite(e))return String(e);var t=ut(e),u=typeof r=="number"?it(t,t.exponent+1+r):t,n=u.coefficients,i=u.exponent+1,a=i+(r||0);return n.length0?"."+n.join(""):"")+"e"+(i>=0?"+":"")+i}function Qi(e,r,t){if(isNaN(e)||!isFinite(e))return String(e);var u=Xt(t==null?void 0:t.lowerExp,-3),n=Xt(t==null?void 0:t.upperExp,5),i=ut(e),a=r?it(i,r):i;if(a.exponent=n)return $n(e,r);var s=a.coefficients,c=a.exponent;s.length0?c:0;return hr){var n=u.splice(r,u.length-r);if(n[0]>=5){var i=r-1;for(u[i]++;u[i]===10;)u.pop(),i===0&&(u.unshift(0),t.exponent++,i++),i--,u[i]++}}return t}function Br(e){for(var r=[],t=0;t2&&arguments[2]!==void 0?arguments[2]:1e-8,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(t<=0)throw new Error("Relative tolerance must be greater than 0");if(u<0)throw new Error("Absolute tolerance must be at least 0");return isNaN(e)||isNaN(r)?!1:!isFinite(e)||!isFinite(r)?e===r:e===r?!0:Math.abs(e-r)<=Math.max(t*Math.max(Math.abs(e),Math.abs(r)),u)}function Kt(e,r){if(we(e))return e;if(Ne(e))return e.toNumber();r()}function Xt(e,r){return we(e)?e:Ne(e)?e.toNumber():r}var qn=function(){return qn=Xr.create,Xr},ki=["?BigNumber","?Complex","?DenseMatrix","?Fraction"],ji=Q("typed",ki,function(r){var{BigNumber:t,Complex:u,DenseMatrix:n,Fraction:i}=r,a=qn();return a.clear(),a.addTypes([{name:"number",test:we},{name:"Complex",test:xn},{name:"BigNumber",test:Ne},{name:"bigint",test:hi},{name:"Fraction",test:Nn},{name:"Unit",test:Tn},{name:"identifier",test:s=>nr&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(s)},{name:"string",test:nr},{name:"Chain",test:Ri},{name:"Array",test:Ae},{name:"Matrix",test:xe},{name:"DenseMatrix",test:zn},{name:"SparseMatrix",test:On},{name:"Range",test:vi},{name:"Index",test:Nt},{name:"boolean",test:Di},{name:"ResultSet",test:pi},{name:"Help",test:di},{name:"function",test:mi},{name:"Date",test:gi},{name:"RegExp",test:wi},{name:"null",test:yi},{name:"undefined",test:Ai},{name:"AccessorNode",test:Ei},{name:"ArrayNode",test:Ci},{name:"AssignmentNode",test:_i},{name:"BlockNode",test:Si},{name:"ConditionalNode",test:Bi},{name:"ConstantNode",test:Mi},{name:"FunctionNode",test:xi},{name:"FunctionAssignmentNode",test:bi},{name:"IndexNode",test:Ni},{name:"Node",test:Ti},{name:"ObjectNode",test:zi},{name:"OperatorNode",test:Oi},{name:"ParenthesisNode",test:Ii},{name:"RangeNode",test:Pi},{name:"RelationalNode",test:$i},{name:"SymbolNode",test:qi},{name:"Map",test:Fi},{name:"Object",test:Tt}]),a.addConversions([{from:"number",to:"BigNumber",convert:function(c){if(t||Zr(c),Wi(c)>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+c+"). Use function bignumber(x) to convert to BigNumber.");return new t(c)}},{from:"number",to:"Complex",convert:function(c){return u||Vr(c),new u(c,0)}},{from:"BigNumber",to:"Complex",convert:function(c){return u||Vr(c),new u(c.toNumber(),0)}},{from:"bigint",to:"number",convert:function(c){if(c>Number.MAX_SAFE_INTEGER)throw new TypeError("Cannot implicitly convert bigint to number: value exceeds the max safe integer value (value: "+c+")");return Number(c)}},{from:"bigint",to:"BigNumber",convert:function(c){return t||Zr(c),new t(c.toString())}},{from:"bigint",to:"Fraction",convert:function(c){return i||Hr(c),new i(c)}},{from:"Fraction",to:"BigNumber",convert:function(c){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(c){return u||Vr(c),new u(c.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(c){i||Hr(c);var h=new i(c);if(h.valueOf()!==c)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+c+"). Use function fraction(x) to convert to Fraction.");return h}},{from:"string",to:"number",convert:function(c){var h=Number(c);if(isNaN(h))throw new Error('Cannot convert "'+c+'" to a number');return h}},{from:"string",to:"BigNumber",convert:function(c){t||Zr(c);try{return new t(c)}catch{throw new Error('Cannot convert "'+c+'" to BigNumber')}}},{from:"string",to:"bigint",convert:function(c){try{return BigInt(c)}catch{throw new Error('Cannot convert "'+c+'" to BigInt')}}},{from:"string",to:"Fraction",convert:function(c){i||Hr(c);try{return new i(c)}catch{throw new Error('Cannot convert "'+c+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(c){u||Vr(c);try{return new u(c)}catch{throw new Error('Cannot convert "'+c+'" to Complex')}}},{from:"boolean",to:"number",convert:function(c){return+c}},{from:"boolean",to:"BigNumber",convert:function(c){return t||Zr(c),new t(+c)}},{from:"boolean",to:"bigint",convert:function(c){return BigInt(+c)}},{from:"boolean",to:"Fraction",convert:function(c){return i||Hr(c),new i(+c)}},{from:"boolean",to:"string",convert:function(c){return String(c)}},{from:"Array",to:"Matrix",convert:function(c){return n||ea(),new n(c)}},{from:"Matrix",to:"Array",convert:function(c){return c.valueOf()}}]),a.onMismatch=(s,c,h)=>{var o=a.createError(s,c,h);if(["wrongType","mismatch"].includes(o.data.category)&&c.length===1&&Kr(c[0])&&h.some(v=>!v.params.includes(","))){var f=new TypeError("Function '".concat(s,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(s,")'."));throw f.data=o.data,f}throw o},a.onMismatch=(s,c,h)=>{var o=a.createError(s,c,h);if(["wrongType","mismatch"].includes(o.data.category)&&c.length===1&&Kr(c[0])&&h.some(v=>!v.params.includes(","))){var f=new TypeError("Function '".concat(s,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(s,")'."));throw f.data=o.data,f}throw o},a});function Zr(e){throw new Error("Cannot convert value ".concat(e," into a BigNumber: no class 'BigNumber' provided"))}function Vr(e){throw new Error("Cannot convert value ".concat(e," into a Complex number: no class 'Complex' provided"))}function ea(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}function Hr(e){throw new Error("Cannot convert value ".concat(e," into a Fraction, no class 'Fraction' provided."))}/*! + * decimal.js v10.4.3 + * An arbitrary-precision Decimal type for JavaScript. + * https://github.com/MikeMcl/decimal.js + * Copyright (c) 2022 Michael Mclaughlin + * MIT Licence + */var Sr=9e15,Dr=1e9,Et="0123456789abcdef",Qr="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Wr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Ct={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Sr,maxE:Sr,crypto:!1},Rn,ar,te=!0,at="[DecimalError] ",vr=at+"Invalid argument: ",Ln=at+"Precision limit exceeded",Un=at+"crypto unavailable",Zn="[object Decimal]",Pe=Math.floor,Se=Math.pow,ra=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ta=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,na=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Vn=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,rr=1e7,ee=7,ua=9007199254740991,ia=Qr.length-1,_t=Wr.length-1,L={toStringTag:Zn};L.absoluteValue=L.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),k(e)};L.ceil=function(){return k(new this.constructor(this),this.e+1,2)};L.clampedTo=L.clamp=function(e,r){var t,u=this,n=u.constructor;if(e=new n(e),r=new n(r),!e.s||!r.s)return new n(NaN);if(e.gt(r))throw Error(vr+r);return t=u.cmp(e),t<0?e:u.cmp(r)>0?r:new n(u)};L.comparedTo=L.cmp=function(e){var r,t,u,n,i=this,a=i.d,s=(e=new i.constructor(e)).d,c=i.s,h=e.s;if(!a||!s)return!c||!h?NaN:c!==h?c:a===s?0:!a^c<0?1:-1;if(!a[0]||!s[0])return a[0]?c:s[0]?-h:0;if(c!==h)return c;if(i.e!==e.e)return i.e>e.e^c<0?1:-1;for(u=a.length,n=s.length,r=0,t=us[r]^c<0?1:-1;return u===n?0:u>n^c<0?1:-1};L.cosine=L.cos=function(){var e,r,t=this,u=t.constructor;return t.d?t.d[0]?(e=u.precision,r=u.rounding,u.precision=e+Math.max(t.e,t.sd())+ee,u.rounding=1,t=aa(u,Kn(u,t)),u.precision=e,u.rounding=r,k(ar==2||ar==3?t.neg():t,e,r,!0)):new u(1):new u(NaN)};L.cubeRoot=L.cbrt=function(){var e,r,t,u,n,i,a,s,c,h,o=this,f=o.constructor;if(!o.isFinite()||o.isZero())return new f(o);for(te=!1,i=o.s*Se(o.s*o,1/3),!i||Math.abs(i)==1/0?(t=Te(o.d),e=o.e,(i=(e-t.length+1)%3)&&(t+=i==1||i==-2?"0":"00"),i=Se(t,1/3),e=Pe((e+1)/3)-(e%3==(e<0?-1:2)),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),u=new f(t),u.s=o.s):u=new f(i.toString()),a=(e=f.precision)+3;;)if(s=u,c=s.times(s).times(s),h=c.plus(o),u=me(h.plus(o).times(s),h.plus(c),a+2,1),Te(s.d).slice(0,a)===(t=Te(u.d)).slice(0,a))if(t=t.slice(a-3,a+1),t=="9999"||!n&&t=="4999"){if(!n&&(k(s,e+1,0),s.times(s).times(s).eq(o))){u=s;break}a+=4,n=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(k(u,e+1,1),r=!u.times(u).times(u).eq(o));break}return te=!0,k(u,e,f.rounding,r)};L.decimalPlaces=L.dp=function(){var e,r=this.d,t=NaN;if(r){if(e=r.length-1,t=(e-Pe(this.e/ee))*ee,e=r[e],e)for(;e%10==0;e/=10)t--;t<0&&(t=0)}return t};L.dividedBy=L.div=function(e){return me(this,new this.constructor(e))};L.dividedToIntegerBy=L.divToInt=function(e){var r=this,t=r.constructor;return k(me(r,new t(e),0,1,1),t.precision,t.rounding)};L.equals=L.eq=function(e){return this.cmp(e)===0};L.floor=function(){return k(new this.constructor(this),this.e+1,3)};L.greaterThan=L.gt=function(e){return this.cmp(e)>0};L.greaterThanOrEqualTo=L.gte=function(e){var r=this.cmp(e);return r==1||r===0};L.hyperbolicCosine=L.cosh=function(){var e,r,t,u,n,i=this,a=i.constructor,s=new a(1);if(!i.isFinite())return new a(i.s?1/0:NaN);if(i.isZero())return s;t=a.precision,u=a.rounding,a.precision=t+Math.max(i.e,i.sd())+4,a.rounding=1,n=i.d.length,n<32?(e=Math.ceil(n/3),r=(1/st(4,e)).toString()):(e=16,r="2.3283064365386962890625e-10"),i=Mr(a,1,i.times(r),new a(1),!0);for(var c,h=e,o=new a(8);h--;)c=i.times(i),i=s.minus(c.times(o.minus(c.times(o))));return k(i,a.precision=t,a.rounding=u,!0)};L.hyperbolicSine=L.sinh=function(){var e,r,t,u,n=this,i=n.constructor;if(!n.isFinite()||n.isZero())return new i(n);if(r=i.precision,t=i.rounding,i.precision=r+Math.max(n.e,n.sd())+4,i.rounding=1,u=n.d.length,u<3)n=Mr(i,2,n,n,!0);else{e=1.4*Math.sqrt(u),e=e>16?16:e|0,n=n.times(1/st(5,e)),n=Mr(i,2,n,n,!0);for(var a,s=new i(5),c=new i(16),h=new i(20);e--;)a=n.times(n),n=n.times(s.plus(a.times(c.times(a).plus(h))))}return i.precision=r,i.rounding=t,k(n,r,t,!0)};L.hyperbolicTangent=L.tanh=function(){var e,r,t=this,u=t.constructor;return t.isFinite()?t.isZero()?new u(t):(e=u.precision,r=u.rounding,u.precision=e+7,u.rounding=1,me(t.sinh(),t.cosh(),u.precision=e,u.rounding=r)):new u(t.s)};L.inverseCosine=L.acos=function(){var e,r=this,t=r.constructor,u=r.abs().cmp(1),n=t.precision,i=t.rounding;return u!==-1?u===0?r.isNeg()?er(t,n,i):new t(0):new t(NaN):r.isZero()?er(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,r=r.asin(),e=er(t,n+4,i).times(.5),t.precision=n,t.rounding=i,e.minus(r))};L.inverseHyperbolicCosine=L.acosh=function(){var e,r,t=this,u=t.constructor;return t.lte(1)?new u(t.eq(1)?0:NaN):t.isFinite()?(e=u.precision,r=u.rounding,u.precision=e+Math.max(Math.abs(t.e),t.sd())+4,u.rounding=1,te=!1,t=t.times(t).minus(1).sqrt().plus(t),te=!0,u.precision=e,u.rounding=r,t.ln()):new u(t)};L.inverseHyperbolicSine=L.asinh=function(){var e,r,t=this,u=t.constructor;return!t.isFinite()||t.isZero()?new u(t):(e=u.precision,r=u.rounding,u.precision=e+2*Math.max(Math.abs(t.e),t.sd())+6,u.rounding=1,te=!1,t=t.times(t).plus(1).sqrt().plus(t),te=!0,u.precision=e,u.rounding=r,t.ln())};L.inverseHyperbolicTangent=L.atanh=function(){var e,r,t,u,n=this,i=n.constructor;return n.isFinite()?n.e>=0?new i(n.abs().eq(1)?n.s/0:n.isZero()?n:NaN):(e=i.precision,r=i.rounding,u=n.sd(),Math.max(u,e)<2*-n.e-1?k(new i(n),e,r,!0):(i.precision=t=u-n.e,n=me(n.plus(1),new i(1).minus(n),t+e,1),i.precision=e+4,i.rounding=1,n=n.ln(),i.precision=e,i.rounding=r,n.times(.5))):new i(NaN)};L.inverseSine=L.asin=function(){var e,r,t,u,n=this,i=n.constructor;return n.isZero()?new i(n):(r=n.abs().cmp(1),t=i.precision,u=i.rounding,r!==-1?r===0?(e=er(i,t+4,u).times(.5),e.s=n.s,e):new i(NaN):(i.precision=t+6,i.rounding=1,n=n.div(new i(1).minus(n.times(n)).sqrt().plus(1)).atan(),i.precision=t,i.rounding=u,n.times(2)))};L.inverseTangent=L.atan=function(){var e,r,t,u,n,i,a,s,c,h=this,o=h.constructor,f=o.precision,v=o.rounding;if(h.isFinite()){if(h.isZero())return new o(h);if(h.abs().eq(1)&&f+4<=_t)return a=er(o,f+4,v).times(.25),a.s=h.s,a}else{if(!h.s)return new o(NaN);if(f+4<=_t)return a=er(o,f+4,v).times(.5),a.s=h.s,a}for(o.precision=s=f+10,o.rounding=1,t=Math.min(28,s/ee+2|0),e=t;e;--e)h=h.div(h.times(h).plus(1).sqrt().plus(1));for(te=!1,r=Math.ceil(s/ee),u=1,c=h.times(h),a=new o(h),n=h;e!==-1;)if(n=n.times(c),i=a.minus(n.div(u+=2)),n=n.times(c),a=i.plus(n.div(u+=2)),a.d[r]!==void 0)for(e=r;a.d[e]===i.d[e]&&e--;);return t&&(a=a.times(2<this.d.length-2};L.isNaN=function(){return!this.s};L.isNegative=L.isNeg=function(){return this.s<0};L.isPositive=L.isPos=function(){return this.s>0};L.isZero=function(){return!!this.d&&this.d[0]===0};L.lessThan=L.lt=function(e){return this.cmp(e)<0};L.lessThanOrEqualTo=L.lte=function(e){return this.cmp(e)<1};L.logarithm=L.log=function(e){var r,t,u,n,i,a,s,c,h=this,o=h.constructor,f=o.precision,v=o.rounding,D=5;if(e==null)e=new o(10),r=!0;else{if(e=new o(e),t=e.d,e.s<0||!t||!t[0]||e.eq(1))return new o(NaN);r=e.eq(10)}if(t=h.d,h.s<0||!t||!t[0]||h.eq(1))return new o(t&&!t[0]?-1/0:h.s!=1?NaN:t?0:1/0);if(r)if(t.length>1)i=!0;else{for(n=t[0];n%10===0;)n/=10;i=n!==1}if(te=!1,s=f+D,a=cr(h,s),u=r?kr(o,s+10):cr(e,s),c=me(a,u,s,1),Or(c.d,n=f,v))do if(s+=10,a=cr(h,s),u=r?kr(o,s+10):cr(e,s),c=me(a,u,s,1),!i){+Te(c.d).slice(n+1,n+15)+1==1e14&&(c=k(c,f+1,0));break}while(Or(c.d,n+=10,v));return te=!0,k(c,f,v)};L.minus=L.sub=function(e){var r,t,u,n,i,a,s,c,h,o,f,v,D=this,d=D.constructor;if(e=new d(e),!D.d||!e.d)return!D.s||!e.s?e=new d(NaN):D.d?e.s=-e.s:e=new d(e.d||D.s!==e.s?D:NaN),e;if(D.s!=e.s)return e.s=-e.s,D.plus(e);if(h=D.d,v=e.d,s=d.precision,c=d.rounding,!h[0]||!v[0]){if(v[0])e.s=-e.s;else if(h[0])e=new d(D);else return new d(c===3?-0:0);return te?k(e,s,c):e}if(t=Pe(e.e/ee),o=Pe(D.e/ee),h=h.slice(),i=o-t,i){for(f=i<0,f?(r=h,i=-i,a=v.length):(r=v,t=o,a=h.length),u=Math.max(Math.ceil(s/ee),a)+2,i>u&&(i=u,r.length=1),r.reverse(),u=i;u--;)r.push(0);r.reverse()}else{for(u=h.length,a=v.length,f=u0;--u)h[a++]=0;for(u=v.length;u>i;){if(h[--u]a?i+1:a+1,n>a&&(n=a,t.length=1),t.reverse();n--;)t.push(0);t.reverse()}for(a=h.length,n=o.length,a-n<0&&(n=a,t=o,o=h,h=t),r=0;n;)r=(h[--n]=h[n]+o[n]+r)/rr|0,h[n]%=rr;for(r&&(h.unshift(r),++u),a=h.length;h[--a]==0;)h.pop();return e.d=h,e.e=ot(h,u),te?k(e,s,c):e};L.precision=L.sd=function(e){var r,t=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(vr+e);return t.d?(r=Hn(t.d),e&&t.e+1>r&&(r=t.e+1)):r=NaN,r};L.round=function(){var e=this,r=e.constructor;return k(new r(e),e.e+1,r.rounding)};L.sine=L.sin=function(){var e,r,t=this,u=t.constructor;return t.isFinite()?t.isZero()?new u(t):(e=u.precision,r=u.rounding,u.precision=e+Math.max(t.e,t.sd())+ee,u.rounding=1,t=sa(u,Kn(u,t)),u.precision=e,u.rounding=r,k(ar>2?t.neg():t,e,r,!0)):new u(NaN)};L.squareRoot=L.sqrt=function(){var e,r,t,u,n,i,a=this,s=a.d,c=a.e,h=a.s,o=a.constructor;if(h!==1||!s||!s[0])return new o(!h||h<0&&(!s||s[0])?NaN:s?a:1/0);for(te=!1,h=Math.sqrt(+a),h==0||h==1/0?(r=Te(s),(r.length+c)%2==0&&(r+="0"),h=Math.sqrt(r),c=Pe((c+1)/2)-(c<0||c%2),h==1/0?r="5e"+c:(r=h.toExponential(),r=r.slice(0,r.indexOf("e")+1)+c),u=new o(r)):u=new o(h.toString()),t=(c=o.precision)+3;;)if(i=u,u=i.plus(me(a,i,t+2,1)).times(.5),Te(i.d).slice(0,t)===(r=Te(u.d)).slice(0,t))if(r=r.slice(t-3,t+1),r=="9999"||!n&&r=="4999"){if(!n&&(k(i,c+1,0),i.times(i).eq(a))){u=i;break}t+=4,n=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(k(u,c+1,1),e=!u.times(u).eq(a));break}return te=!0,k(u,c,o.rounding,e)};L.tangent=L.tan=function(){var e,r,t=this,u=t.constructor;return t.isFinite()?t.isZero()?new u(t):(e=u.precision,r=u.rounding,u.precision=e+10,u.rounding=1,t=t.sin(),t.s=1,t=me(t,new u(1).minus(t.times(t)).sqrt(),e+10,0),u.precision=e,u.rounding=r,k(ar==2||ar==4?t.neg():t,e,r,!0)):new u(NaN)};L.times=L.mul=function(e){var r,t,u,n,i,a,s,c,h,o=this,f=o.constructor,v=o.d,D=(e=new f(e)).d;if(e.s*=o.s,!v||!v[0]||!D||!D[0])return new f(!e.s||v&&!v[0]&&!D||D&&!D[0]&&!v?NaN:!v||!D?e.s/0:e.s*0);for(t=Pe(o.e/ee)+Pe(e.e/ee),c=v.length,h=D.length,c=0;){for(r=0,n=c+u;n>u;)s=i[n]+D[u]*v[n-u-1]+r,i[n--]=s%rr|0,r=s/rr|0;i[n]=(i[n]+r)%rr|0}for(;!i[--a];)i.pop();return r?++t:i.shift(),e.d=i,e.e=ot(i,t),te?k(e,f.precision,f.rounding):e};L.toBinary=function(e,r){return zt(this,2,e,r)};L.toDecimalPlaces=L.toDP=function(e,r){var t=this,u=t.constructor;return t=new u(t),e===void 0?t:(Ve(e,0,Dr),r===void 0?r=u.rounding:Ve(r,0,8),k(t,e+t.e+1,r))};L.toExponential=function(e,r){var t,u=this,n=u.constructor;return e===void 0?t=ur(u,!0):(Ve(e,0,Dr),r===void 0?r=n.rounding:Ve(r,0,8),u=k(new n(u),e+1,r),t=ur(u,!0,e+1)),u.isNeg()&&!u.isZero()?"-"+t:t};L.toFixed=function(e,r){var t,u,n=this,i=n.constructor;return e===void 0?t=ur(n):(Ve(e,0,Dr),r===void 0?r=i.rounding:Ve(r,0,8),u=k(new i(n),e+n.e+1,r),t=ur(u,!1,e+u.e+1)),n.isNeg()&&!n.isZero()?"-"+t:t};L.toFraction=function(e){var r,t,u,n,i,a,s,c,h,o,f,v,D=this,d=D.d,l=D.constructor;if(!d)return new l(D);if(h=t=new l(1),u=c=new l(0),r=new l(u),i=r.e=Hn(d)-D.e-1,a=i%ee,r.d[0]=Se(10,a<0?ee+a:a),e==null)e=i>0?r:h;else{if(s=new l(e),!s.isInt()||s.lt(h))throw Error(vr+s);e=s.gt(r)?i>0?r:h:s}for(te=!1,s=new l(Te(d)),o=l.precision,l.precision=i=d.length*ee*2;f=me(s,r,0,1,1),n=t.plus(f.times(u)),n.cmp(e)!=1;)t=u,u=n,n=h,h=c.plus(f.times(n)),c=n,n=r,r=s.minus(f.times(n)),s=n;return n=me(e.minus(t),u,0,1,1),c=c.plus(n.times(h)),t=t.plus(n.times(u)),c.s=h.s=D.s,v=me(h,u,i,1).minus(D).abs().cmp(me(c,t,i,1).minus(D).abs())<1?[h,u]:[c,t],l.precision=o,te=!0,v};L.toHexadecimal=L.toHex=function(e,r){return zt(this,16,e,r)};L.toNearest=function(e,r){var t=this,u=t.constructor;if(t=new u(t),e==null){if(!t.d)return t;e=new u(1),r=u.rounding}else{if(e=new u(e),r===void 0?r=u.rounding:Ve(r,0,8),!t.d)return e.s?t:e;if(!e.d)return e.s&&(e.s=t.s),e}return e.d[0]?(te=!1,t=me(t,e,0,r,1).times(e),te=!0,k(t)):(e.s=t.s,t=e),t};L.toNumber=function(){return+this};L.toOctal=function(e,r){return zt(this,8,e,r)};L.toPower=L.pow=function(e){var r,t,u,n,i,a,s=this,c=s.constructor,h=+(e=new c(e));if(!s.d||!e.d||!s.d[0]||!e.d[0])return new c(Se(+s,h));if(s=new c(s),s.eq(1))return s;if(u=c.precision,i=c.rounding,e.eq(1))return k(s,u,i);if(r=Pe(e.e/ee),r>=e.d.length-1&&(t=h<0?-h:h)<=ua)return n=Jn(c,s,t,u),e.s<0?new c(1).div(n):k(n,u,i);if(a=s.s,a<0){if(rc.maxE+1||r0?a/0:0):(te=!1,c.rounding=s.s=1,t=Math.min(12,(r+"").length),n=St(e.times(cr(s,u+t)),u),n.d&&(n=k(n,u+5,1),Or(n.d,u,i)&&(r=u+10,n=k(St(e.times(cr(s,r+t)),r),r+5,1),+Te(n.d).slice(u+1,u+15)+1==1e14&&(n=k(n,u+1,0)))),n.s=a,te=!0,c.rounding=i,k(n,u,i))};L.toPrecision=function(e,r){var t,u=this,n=u.constructor;return e===void 0?t=ur(u,u.e<=n.toExpNeg||u.e>=n.toExpPos):(Ve(e,1,Dr),r===void 0?r=n.rounding:Ve(r,0,8),u=k(new n(u),e,r),t=ur(u,e<=u.e||u.e<=n.toExpNeg,e)),u.isNeg()&&!u.isZero()?"-"+t:t};L.toSignificantDigits=L.toSD=function(e,r){var t=this,u=t.constructor;return e===void 0?(e=u.precision,r=u.rounding):(Ve(e,1,Dr),r===void 0?r=u.rounding:Ve(r,0,8)),k(new u(t),e,r)};L.toString=function(){var e=this,r=e.constructor,t=ur(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()&&!e.isZero()?"-"+t:t};L.truncated=L.trunc=function(){return k(new this.constructor(this),this.e+1,1)};L.valueOf=L.toJSON=function(){var e=this,r=e.constructor,t=ur(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()?"-"+t:t};function Te(e){var r,t,u,n=e.length-1,i="",a=e[0];if(n>0){for(i+=a,r=1;rt)throw Error(vr+e)}function Or(e,r,t,u){var n,i,a,s;for(i=e[0];i>=10;i/=10)--r;return--r<0?(r+=ee,n=0):(n=Math.ceil((r+1)/ee),r%=ee),i=Se(10,ee-r),s=e[n]%i|0,u==null?r<3?(r==0?s=s/100|0:r==1&&(s=s/10|0),a=t<4&&s==99999||t>3&&s==49999||s==5e4||s==0):a=(t<4&&s+1==i||t>3&&s+1==i/2)&&(e[n+1]/i/100|0)==Se(10,r-2)-1||(s==i/2||s==0)&&(e[n+1]/i/100|0)==0:r<4?(r==0?s=s/1e3|0:r==1?s=s/100|0:r==2&&(s=s/10|0),a=(u||t<4)&&s==9999||!u&&t>3&&s==4999):a=((u||t<4)&&s+1==i||!u&&t>3&&s+1==i/2)&&(e[n+1]/i/1e3|0)==Se(10,r-3)-1,a}function Jr(e,r,t){for(var u,n=[0],i,a=0,s=e.length;at-1&&(n[u+1]===void 0&&(n[u+1]=0),n[u+1]+=n[u]/t|0,n[u]%=t)}return n.reverse()}function aa(e,r){var t,u,n;if(r.isZero())return r;u=r.d.length,u<32?(t=Math.ceil(u/3),n=(1/st(4,t)).toString()):(t=16,n="2.3283064365386962890625e-10"),e.precision+=t,r=Mr(e,1,r.times(n),new e(1));for(var i=t;i--;){var a=r.times(r);r=a.times(a).minus(a).times(8).plus(1)}return e.precision-=t,r}var me=function(){function e(u,n,i){var a,s=0,c=u.length;for(u=u.slice();c--;)a=u[c]*n+s,u[c]=a%i|0,s=a/i|0;return s&&u.unshift(s),u}function r(u,n,i,a){var s,c;if(i!=a)c=i>a?1:-1;else for(s=c=0;sn[s]?1:-1;break}return c}function t(u,n,i,a){for(var s=0;i--;)u[i]-=s,s=u[i]1;)u.shift()}return function(u,n,i,a,s,c){var h,o,f,v,D,d,l,m,g,y,w,A,F,p,_,S,E,B,M,z,q=u.constructor,O=u.s==n.s?1:-1,P=u.d,x=n.d;if(!P||!P[0]||!x||!x[0])return new q(!u.s||!n.s||(P?x&&P[0]==x[0]:!x)?NaN:P&&P[0]==0||!x?O*0:O/0);for(c?(D=1,o=u.e-n.e):(c=rr,D=ee,o=Pe(u.e/D)-Pe(n.e/D)),M=x.length,E=P.length,g=new q(O),y=g.d=[],f=0;x[f]==(P[f]||0);f++);if(x[f]>(P[f]||0)&&o--,i==null?(p=i=q.precision,a=q.rounding):s?p=i+(u.e-n.e)+1:p=i,p<0)y.push(1),d=!0;else{if(p=p/D+2|0,f=0,M==1){for(v=0,x=x[0],p++;(f1&&(x=e(x,v,c),P=e(P,v,c),M=x.length,E=P.length),S=M,w=P.slice(0,M),A=w.length;A=c/2&&++B;do v=0,h=r(x,w,M,A),h<0?(F=w[0],M!=A&&(F=F*c+(w[1]||0)),v=F/B|0,v>1?(v>=c&&(v=c-1),l=e(x,v,c),m=l.length,A=w.length,h=r(l,w,m,A),h==1&&(v--,t(l,M=10;v/=10)f++;g.e=f+o*D-1,k(g,s?i+g.e+1:i,a,d)}return g}}();function k(e,r,t,u){var n,i,a,s,c,h,o,f,v,D=e.constructor;e:if(r!=null){if(f=e.d,!f)return e;for(n=1,s=f[0];s>=10;s/=10)n++;if(i=r-n,i<0)i+=ee,a=r,o=f[v=0],c=o/Se(10,n-a-1)%10|0;else if(v=Math.ceil((i+1)/ee),s=f.length,v>=s)if(u){for(;s++<=v;)f.push(0);o=c=0,n=1,i%=ee,a=i-ee+1}else break e;else{for(o=s=f[v],n=1;s>=10;s/=10)n++;i%=ee,a=i-ee+n,c=a<0?0:o/Se(10,n-a-1)%10|0}if(u=u||r<0||f[v+1]!==void 0||(a<0?o:o%Se(10,n-a-1)),h=t<4?(c||u)&&(t==0||t==(e.s<0?3:2)):c>5||c==5&&(t==4||u||t==6&&(i>0?a>0?o/Se(10,n-a):0:f[v-1])%10&1||t==(e.s<0?8:7)),r<1||!f[0])return f.length=0,h?(r-=e.e+1,f[0]=Se(10,(ee-r%ee)%ee),e.e=-r||0):f[0]=e.e=0,e;if(i==0?(f.length=v,s=1,v--):(f.length=v+1,s=Se(10,ee-i),f[v]=a>0?(o/Se(10,n-a)%Se(10,a)|0)*s:0),h)for(;;)if(v==0){for(i=1,a=f[0];a>=10;a/=10)i++;for(a=f[0]+=s,s=1;a>=10;a/=10)s++;i!=s&&(e.e++,f[0]==rr&&(f[0]=1));break}else{if(f[v]+=s,f[v]!=rr)break;f[v--]=0,s=1}for(i=f.length;f[--i]===0;)f.pop()}return te&&(e.e>D.maxE?(e.d=null,e.e=NaN):e.e0?i=i.charAt(0)+"."+i.slice(1)+sr(u):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(e.e<0?"e":"e+")+e.e):n<0?(i="0."+sr(-n-1)+i,t&&(u=t-a)>0&&(i+=sr(u))):n>=a?(i+=sr(n+1-a),t&&(u=t-n-1)>0&&(i=i+"."+sr(u))):((u=n+1)0&&(n+1===a&&(i+="."),i+=sr(u))),i}function ot(e,r){var t=e[0];for(r*=ee;t>=10;t/=10)r++;return r}function kr(e,r,t){if(r>ia)throw te=!0,t&&(e.precision=t),Error(Ln);return k(new e(Qr),r,1,!0)}function er(e,r,t){if(r>_t)throw Error(Ln);return k(new e(Wr),r,t,!0)}function Hn(e){var r=e.length-1,t=r*ee+1;if(r=e[r],r){for(;r%10==0;r/=10)t--;for(r=e[0];r>=10;r/=10)t++}return t}function sr(e){for(var r="";e--;)r+="0";return r}function Jn(e,r,t,u){var n,i=new e(1),a=Math.ceil(u/ee+4);for(te=!1;;){if(t%2&&(i=i.times(r),Wt(i.d,a)&&(n=!0)),t=Pe(t/2),t===0){t=i.d.length-1,n&&i.d[t]===0&&++i.d[t];break}r=r.times(r),Wt(r.d,a)}return te=!0,i}function Qt(e){return e.d[e.d.length-1]&1}function Gn(e,r,t){for(var u,n=new e(r[0]),i=0;++i17)return new v(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(r==null?(te=!1,c=d):c=r,s=new v(.03125);e.e>-2;)e=e.times(s),f+=5;for(u=Math.log(Se(2,f))/Math.LN10*2+5|0,c+=u,t=i=a=new v(1),v.precision=c;;){if(i=k(i.times(e),c,1),t=t.times(++o),s=a.plus(me(i,t,c,1)),Te(s.d).slice(0,c)===Te(a.d).slice(0,c)){for(n=f;n--;)a=k(a.times(a),c,1);if(r==null)if(h<3&&Or(a.d,c-u,D,h))v.precision=c+=10,t=i=s=new v(1),o=0,h++;else return k(a,v.precision=d,D,te=!0);else return v.precision=d,a}a=s}}function cr(e,r){var t,u,n,i,a,s,c,h,o,f,v,D=1,d=10,l=e,m=l.d,g=l.constructor,y=g.rounding,w=g.precision;if(l.s<0||!m||!m[0]||!l.e&&m[0]==1&&m.length==1)return new g(m&&!m[0]?-1/0:l.s!=1?NaN:m?0:l);if(r==null?(te=!1,o=w):o=r,g.precision=o+=d,t=Te(m),u=t.charAt(0),Math.abs(i=l.e)<15e14){for(;u<7&&u!=1||u==1&&t.charAt(1)>3;)l=l.times(e),t=Te(l.d),u=t.charAt(0),D++;i=l.e,u>1?(l=new g("0."+t),i++):l=new g(u+"."+t.slice(1))}else return h=kr(g,o+2,w).times(i+""),l=cr(new g(u+"."+t.slice(1)),o-d).plus(h),g.precision=w,r==null?k(l,w,y,te=!0):l;for(f=l,c=a=l=me(l.minus(1),l.plus(1),o,1),v=k(l.times(l),o,1),n=3;;){if(a=k(a.times(v),o,1),h=c.plus(me(a,new g(n),o,1)),Te(h.d).slice(0,o)===Te(c.d).slice(0,o))if(c=c.times(2),i!==0&&(c=c.plus(kr(g,o+2,w).times(i+""))),c=me(c,new g(D),o,1),r==null)if(Or(c.d,o-d,y,s))g.precision=o+=d,h=a=l=me(f.minus(1),f.plus(1),o,1),v=k(l.times(l),o,1),n=s=1;else return k(c,g.precision=w,y,te=!0);else return g.precision=w,c;c=h,n+=2}}function Yn(e){return String(e.s*e.s/0)}function Bt(e,r){var t,u,n;for((t=r.indexOf("."))>-1&&(r=r.replace(".","")),(u=r.search(/e/i))>0?(t<0&&(t=u),t+=+r.slice(u+1),r=r.substring(0,u)):t<0&&(t=r.length),u=0;r.charCodeAt(u)===48;u++);for(n=r.length;r.charCodeAt(n-1)===48;--n);if(r=r.slice(u,n),r){if(n-=u,e.e=t=t-u-1,e.d=[],u=(t+1)%ee,t<0&&(u+=ee),ue.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(r=r.replace(/(\d)_(?=\d)/g,"$1"),Vn.test(r))return Bt(e,r)}else if(r==="Infinity"||r==="NaN")return+r||(e.s=NaN),e.e=NaN,e.d=null,e;if(ta.test(r))t=16,r=r.toLowerCase();else if(ra.test(r))t=2;else if(na.test(r))t=8;else throw Error(vr+r);for(i=r.search(/p/i),i>0?(c=+r.slice(i+1),r=r.substring(2,i)):r=r.slice(2),i=r.indexOf("."),a=i>=0,u=e.constructor,a&&(r=r.replace(".",""),s=r.length,i=s-i,n=Jn(u,new u(t),i,i*2)),h=Jr(r,t,rr),o=h.length-1,i=o;h[i]===0;--i)h.pop();return i<0?new u(e.s*0):(e.e=ot(h,o),e.d=h,te=!1,a&&(e=me(e,n,s*4)),c&&(e=e.times(Math.abs(c)<54?Se(2,c):br.pow(2,c))),te=!0,e)}function sa(e,r){var t,u=r.d.length;if(u<3)return r.isZero()?r:Mr(e,2,r,r);t=1.4*Math.sqrt(u),t=t>16?16:t|0,r=r.times(1/st(5,t)),r=Mr(e,2,r,r);for(var n,i=new e(5),a=new e(16),s=new e(20);t--;)n=r.times(r),r=r.times(i.plus(n.times(a.times(n).minus(s))));return r}function Mr(e,r,t,u,n){var i,a,s,c,h=e.precision,o=Math.ceil(h/ee);for(te=!1,c=t.times(t),s=new e(u);;){if(a=me(s.times(c),new e(r++*r++),h,1),s=n?u.plus(a):u.minus(a),u=me(a.times(c),new e(r++*r++),h,1),a=s.plus(u),a.d[o]!==void 0){for(i=o;a.d[i]===s.d[i]&&i--;);if(i==-1)break}i=s,s=u,u=a,a=i}return te=!0,a.d.length=o+1,a}function st(e,r){for(var t=e;--r;)t*=e;return t}function Kn(e,r){var t,u=r.s<0,n=er(e,e.precision,1),i=n.times(.5);if(r=r.abs(),r.lte(i))return ar=u?4:1,r;if(t=r.divToInt(n),t.isZero())ar=u?3:2;else{if(r=r.minus(t.times(n)),r.lte(i))return ar=Qt(t)?u?2:3:u?4:1,r;ar=Qt(t)?u?1:4:u?3:2}return r.minus(n).abs()}function zt(e,r,t,u){var n,i,a,s,c,h,o,f,v,D=e.constructor,d=t!==void 0;if(d?(Ve(t,1,Dr),u===void 0?u=D.rounding:Ve(u,0,8)):(t=D.precision,u=D.rounding),!e.isFinite())o=Yn(e);else{for(o=ur(e),a=o.indexOf("."),d?(n=2,r==16?t=t*4-3:r==8&&(t=t*3-2)):n=r,a>=0&&(o=o.replace(".",""),v=new D(1),v.e=o.length-a,v.d=Jr(ur(v),10,n),v.e=v.d.length),f=Jr(o,10,n),i=c=f.length;f[--c]==0;)f.pop();if(!f[0])o=d?"0p+0":"0";else{if(a<0?i--:(e=new D(e),e.d=f,e.e=i,e=me(e,v,t,u,0,n),f=e.d,i=e.e,h=Rn),a=f[t],s=n/2,h=h||f[t+1]!==void 0,h=u<4?(a!==void 0||h)&&(u===0||u===(e.s<0?3:2)):a>s||a===s&&(u===4||h||u===6&&f[t-1]&1||u===(e.s<0?8:7)),f.length=t,h)for(;++f[--t]>n-1;)f[t]=0,t||(++i,f.unshift(1));for(c=f.length;!f[c-1];--c);for(a=0,o="";a1)if(r==16||r==8){for(a=r==16?4:3,--c;c%a;c++)o+="0";for(f=Jr(o,n,r),c=f.length;!f[c-1];--c);for(a=1,o="1.";ac)for(i-=c;i--;)o+="0";else ir)return e.length=r,!0}function fa(e){return new this(e).abs()}function ca(e){return new this(e).acos()}function la(e){return new this(e).acosh()}function ha(e,r){return new this(e).plus(r)}function va(e){return new this(e).asin()}function Da(e){return new this(e).asinh()}function pa(e){return new this(e).atan()}function da(e){return new this(e).atanh()}function ma(e,r){e=new this(e),r=new this(r);var t,u=this.precision,n=this.rounding,i=u+4;return!e.s||!r.s?t=new this(NaN):!e.d&&!r.d?(t=er(this,i,1).times(r.s>0?.25:.75),t.s=e.s):!r.d||e.isZero()?(t=r.s<0?er(this,u,n):new this(0),t.s=e.s):!e.d||r.isZero()?(t=er(this,i,1).times(.5),t.s=e.s):r.s<0?(this.precision=i,this.rounding=1,t=this.atan(me(e,r,i,1)),r=er(this,i,1),this.precision=u,this.rounding=n,t=e.s<0?t.minus(r):t.plus(r)):t=this.atan(me(e,r,i,1)),t}function ga(e){return new this(e).cbrt()}function wa(e){return k(e=new this(e),e.e+1,2)}function Fa(e,r,t){return new this(e).clamp(r,t)}function ya(e){if(!e||typeof e!="object")throw Error(at+"Object expected");var r,t,u,n=e.defaults===!0,i=["precision",1,Dr,"rounding",0,8,"toExpNeg",-Sr,0,"toExpPos",0,Sr,"maxE",0,Sr,"minE",-Sr,0,"modulo",0,9];for(r=0;r=i[r+1]&&u<=i[r+2])this[t]=u;else throw Error(vr+t+": "+u);if(t="crypto",n&&(this[t]=Ct[t]),(u=e[t])!==void 0)if(u===!0||u===!1||u===0||u===1)if(u)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(Un);else this[t]=!1;else throw Error(vr+t+": "+u);return this}function Aa(e){return new this(e).cos()}function Ea(e){return new this(e).cosh()}function Xn(e){var r,t,u;function n(i){var a,s,c,h=this;if(!(h instanceof n))return new n(i);if(h.constructor=n,kt(i)){h.s=i.s,te?!i.d||i.e>n.maxE?(h.e=NaN,h.d=null):i.e=10;s/=10)a++;te?a>n.maxE?(h.e=NaN,h.d=null):a=429e7?r[i]=crypto.getRandomValues(new Uint32Array(1))[0]:s[i++]=n%1e7;else if(crypto.randomBytes){for(r=crypto.randomBytes(u*=4);i=214e7?crypto.randomBytes(4).copy(r,i):(s.push(n%1e7),i+=4);i=u/4}else throw Error(Un);else for(;i=10;n/=10)u++;u{var{on:r,config:t}=e,u=br.clone({precision:t.precision,modulo:br.EUCLID});return u.prototype=Object.create(u.prototype),u.prototype.type="BigNumber",u.prototype.isBigNumber=!0,u.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},u.fromJSON=function(n){return new u(n.value)},r&&r("config",function(n,i){n.precision!==i.precision&&u.config({precision:n.precision})}),u},{isClass:!0});const Ie=Math.cosh||function(e){return Math.abs(e)<1e-9?1-e:(Math.exp(e)+Math.exp(-e))*.5},Ge=Math.sinh||function(e){return Math.abs(e)<1e-9?e:(Math.exp(e)-Math.exp(-e))*.5},Wa=function(e){const r=Math.PI/4;if(-r>e||e>r)return Math.cos(e)-1;const t=e*e;return t*(t*(t*(t*(t*(t*(t*(t/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-1/2)},wt=function(e,r){return e=Math.abs(e),r=Math.abs(r),e0&&_r();break;case"number":t.im=0,t.re=e;break;default:_r()}return isNaN(t.re)||isNaN(t.im),t};function I(e,r){if(!(this instanceof I))return new I(e,r);const t=gr(e,r);this.re=t.re,this.im=t.im}I.prototype={re:0,im:0,sign:function(){const e=wt(this.re,this.im);return new I(this.re/e,this.im/e)},add:function(e,r){const t=gr(e,r),u=this.isInfinite(),n=!(isFinite(t.re)&&isFinite(t.im));return u||n?u&&n?I.NAN:I.INFINITY:new I(this.re+t.re,this.im+t.im)},sub:function(e,r){const t=gr(e,r),u=this.isInfinite(),n=!(isFinite(t.re)&&isFinite(t.im));return u||n?u&&n?I.NAN:I.INFINITY:new I(this.re-t.re,this.im-t.im)},mul:function(e,r){const t=gr(e,r),u=this.isInfinite(),n=!(isFinite(t.re)&&isFinite(t.im)),i=this.re===0&&this.im===0,a=t.re===0&&t.im===0;return u&&a||n&&i?I.NAN:u||n?I.INFINITY:t.im===0&&this.im===0?new I(this.re*t.re,0):new I(this.re*t.re-this.im*t.im,this.re*t.im+this.im*t.re)},div:function(e,r){const t=gr(e,r),u=this.isInfinite(),n=!(isFinite(t.re)&&isFinite(t.im)),i=this.re===0&&this.im===0,a=t.re===0&&t.im===0;if(i&&a||u&&n)return I.NAN;if(a||u)return I.INFINITY;if(i||n)return I.ZERO;if(t.im===0)return new I(this.re/t.re,this.im/t.re);if(Math.abs(t.re)0)return new I(Math.pow(this.re,t.re),0);if(this.re===0)switch((t.re%4+4)%4){case 0:return new I(Math.pow(this.im,t.re),0);case 1:return new I(0,Math.pow(this.im,t.re));case 2:return new I(-Math.pow(this.im,t.re),0);case 3:return new I(0,-Math.pow(this.im,t.re))}}if(u&&t.re>0)return I.ZERO;const i=Math.atan2(this.im,this.re),a=Ft(this.re,this.im);let s=Math.exp(t.re*a-t.im*i),c=t.im*a+t.re*i;return new I(s*Math.cos(c),s*Math.sin(c))},sqrt:function(){const e=this.re,r=this.im;if(r===0)return e>=0?new I(Math.sqrt(e),0):new I(0,Math.sqrt(-e));const t=wt(e,r);let u=Math.sqrt(.5*(t+Math.abs(e))),n=Math.abs(r)/(2*u);return e>=0?new I(u,r<0?-n:n):new I(n,r<0?-u:u)},exp:function(){const e=Math.exp(this.re);return this.im===0?new I(e,0):new I(e*Math.cos(this.im),e*Math.sin(this.im))},expm1:function(){const e=this.re,r=this.im;return new I(Math.expm1(e)*Math.cos(r)+Wa(r),Math.exp(e)*Math.sin(r))},log:function(){const e=this.re,r=this.im;return r===0&&e>0?new I(Math.log(e),0):new I(Ft(e,r),Math.atan2(r,e))},abs:function(){return wt(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){const e=this.re,r=this.im;return new I(Math.sin(e)*Ie(r),Math.cos(e)*Ge(r))},cos:function(){const e=this.re,r=this.im;return new I(Math.cos(e)*Ie(r),-Math.sin(e)*Ge(r))},tan:function(){const e=2*this.re,r=2*this.im,t=Math.cos(e)+Ie(r);return new I(Math.sin(e)/t,Ge(r)/t)},cot:function(){const e=2*this.re,r=2*this.im,t=Math.cos(e)-Ie(r);return new I(-Math.sin(e)/t,Ge(r)/t)},sec:function(){const e=this.re,r=this.im,t=.5*Ie(2*r)+.5*Math.cos(2*e);return new I(Math.cos(e)*Ie(r)/t,Math.sin(e)*Ge(r)/t)},csc:function(){const e=this.re,r=this.im,t=.5*Ie(2*r)-.5*Math.cos(2*e);return new I(Math.sin(e)*Ie(r)/t,-Math.cos(e)*Ge(r)/t)},asin:function(){const e=this.re,r=this.im,t=new I(r*r-e*e+1,-2*e*r).sqrt(),u=new I(t.re-r,t.im+e).log();return new I(u.im,-u.re)},acos:function(){const e=this.re,r=this.im,t=new I(r*r-e*e+1,-2*e*r).sqrt(),u=new I(t.re-r,t.im+e).log();return new I(Math.PI/2-u.im,u.re)},atan:function(){const e=this.re,r=this.im;if(e===0){if(r===1)return new I(0,1/0);if(r===-1)return new I(0,-1/0)}const t=e*e+(1-r)*(1-r),u=new I((1-r*r-e*e)/t,-2*e/t).log();return new I(-.5*u.im,.5*u.re)},acot:function(){const e=this.re,r=this.im;if(r===0)return new I(Math.atan2(1,e),0);const t=e*e+r*r;return t!==0?new I(e/t,-r/t).atan():new I(e!==0?e/0:0,r!==0?-r/0:0).atan()},asec:function(){const e=this.re,r=this.im;if(e===0&&r===0)return new I(0,1/0);const t=e*e+r*r;return t!==0?new I(e/t,-r/t).acos():new I(e!==0?e/0:0,r!==0?-r/0:0).acos()},acsc:function(){const e=this.re,r=this.im;if(e===0&&r===0)return new I(Math.PI/2,1/0);const t=e*e+r*r;return t!==0?new I(e/t,-r/t).asin():new I(e!==0?e/0:0,r!==0?-r/0:0).asin()},sinh:function(){const e=this.re,r=this.im;return new I(Ge(e)*Math.cos(r),Ie(e)*Math.sin(r))},cosh:function(){const e=this.re,r=this.im;return new I(Ie(e)*Math.cos(r),Ge(e)*Math.sin(r))},tanh:function(){const e=2*this.re,r=2*this.im,t=Ie(e)+Math.cos(r);return new I(Ge(e)/t,Math.sin(r)/t)},coth:function(){const e=2*this.re,r=2*this.im,t=Ie(e)-Math.cos(r);return new I(Ge(e)/t,-Math.sin(r)/t)},csch:function(){const e=this.re,r=this.im,t=Math.cos(2*r)-Ie(2*e);return new I(-2*Ge(e)*Math.cos(r)/t,2*Ie(e)*Math.sin(r)/t)},sech:function(){const e=this.re,r=this.im,t=Math.cos(2*r)+Ie(2*e);return new I(2*Ie(e)*Math.cos(r)/t,-2*Ge(e)*Math.sin(r)/t)},asinh:function(){let e=this.im;this.im=-this.re,this.re=e;const r=this.asin();return this.re=-this.im,this.im=e,e=r.re,r.re=-r.im,r.im=e,r},acosh:function(){const e=this.acos();if(e.im<=0){const r=e.re;e.re=-e.im,e.im=r}else{const r=e.im;e.im=-e.re,e.re=r}return e},atanh:function(){const e=this.re,r=this.im,t=e>1&&r===0,u=1-e,n=1+e,i=u*u+r*r,a=i!==0?new I((n*u-r*r)/i,(r*u+n*r)/i):new I(e!==-1?e/0:0,r!==0?r/0:0),s=a.re;return a.re=Ft(a.re,a.im)/2,a.im=Math.atan2(a.im,s)/2,t&&(a.im=-a.im),a},acoth:function(){const e=this.re,r=this.im;if(e===0&&r===0)return new I(0,Math.PI/2);const t=e*e+r*r;return t!==0?new I(e/t,-r/t).atanh():new I(e!==0?e/0:0,r!==0?-r/0:0).atanh()},acsch:function(){const e=this.re,r=this.im;if(r===0)return new I(e!==0?Math.log(e+Math.sqrt(e*e+1)):1/0,0);const t=e*e+r*r;return t!==0?new I(e/t,-r/t).asinh():new I(e!==0?e/0:0,r!==0?-r/0:0).asinh()},asech:function(){const e=this.re,r=this.im;if(this.isZero())return I.INFINITY;const t=e*e+r*r;return t!==0?new I(e/t,-r/t).acosh():new I(e!==0?e/0:0,r!==0?-r/0:0).acosh()},inverse:function(){if(this.isZero())return I.INFINITY;if(this.isInfinite())return I.ZERO;const e=this.re,r=this.im,t=e*e+r*r;return new I(e/t,-r/t)},conjugate:function(){return new I(this.re,-this.im)},neg:function(){return new I(-this.re,-this.im)},ceil:function(e){return e=Math.pow(10,e||0),new I(Math.ceil(this.re*e)/e,Math.ceil(this.im*e)/e)},floor:function(e){return e=Math.pow(10,e||0),new I(Math.floor(this.re*e)/e,Math.floor(this.im*e)/e)},round:function(e){return e=Math.pow(10,e||0),new I(Math.round(this.re*e)/e,Math.round(this.im*e)/e)},equals:function(e,r){const t=gr(e,r);return Math.abs(t.re-this.re)<=I.EPSILON&&Math.abs(t.im-this.im)<=I.EPSILON},clone:function(){return new I(this.re,this.im)},toString:function(){let e=this.re,r=this.im,t="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(e)(Object.defineProperty(I,"name",{value:"Complex"}),I.prototype.constructor=I,I.prototype.type="Complex",I.prototype.isComplex=!0,I.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},I.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},I.prototype.format=function(e){var r="",t=this.im,u=this.re,n=At(this.re,e),i=At(this.im,e),a=we(e)?e:e?e.precision:null;if(a!==null){var s=Math.pow(10,-a);Math.abs(u/t)r.re?1:e.rer.im?1:e.im(Object.defineProperty(ir,"name",{value:"Fraction"}),ir.prototype.constructor=ir,ir.prototype.type="Fraction",ir.prototype.isFraction=!0,ir.prototype.toJSON=function(){return{mathjs:"Fraction",n:String(this.s*this.n),d:String(this.d)}},ir.fromJSON=function(e){return new ir(e)},ir),{isClass:!0}),io="Matrix",ao=[],oo=Q(io,ao,()=>{function e(){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator")}return e.prototype.type="Matrix",e.prototype.isMatrix=!0,e.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},e.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},e.prototype.create=function(r,t){throw new Error("Cannot invoke create on a Matrix interface")},e.prototype.subset=function(r,t,u){throw new Error("Cannot invoke subset on a Matrix interface")},e.prototype.get=function(r){throw new Error("Cannot invoke get on a Matrix interface")},e.prototype.set=function(r,t,u){throw new Error("Cannot invoke set on a Matrix interface")},e.prototype.resize=function(r,t){throw new Error("Cannot invoke resize on a Matrix interface")},e.prototype.reshape=function(r,t){throw new Error("Cannot invoke reshape on a Matrix interface")},e.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},e.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},e.prototype.map=function(r,t){throw new Error("Cannot invoke map on a Matrix interface")},e.prototype.forEach=function(r){throw new Error("Cannot invoke forEach on a Matrix interface")},e.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},e.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},e.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},e.prototype.format=function(r){throw new Error("Cannot invoke format on a Matrix interface")},e.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},e},{isClass:!0});function yt(e,r,t){var u=e.constructor,n=new u(2),i="";if(t){if(t<1)throw new Error("size must be in greater than 0");if(!Be(t))throw new Error("size must be an integer");if(e.greaterThan(n.pow(t-1).sub(1))||e.lessThan(n.pow(t-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(t-1,", 2^").concat(t-1,"-1]"));if(!e.isInteger())throw new Error("Value must be an integer");e.lessThan(0)&&(e=e.add(n.pow(t))),i="i".concat(t)}switch(r){case 2:return"".concat(e.toBinary()).concat(i);case 8:return"".concat(e.toOctal()).concat(i);case 16:return"".concat(e.toHexadecimal()).concat(i);default:throw new Error("Base ".concat(r," not supported "))}}function so(e,r){if(typeof r=="function")return r(e);if(!e.isFinite())return e.isNaN()?"NaN":e.gt(0)?"Infinity":"-Infinity";var{notation:t,precision:u,wordSize:n}=Pn(r);switch(t){case"fixed":return co(e,u);case"exponential":return jt(e,u);case"engineering":return fo(e,u);case"bin":return yt(e,2,n);case"oct":return yt(e,8,n);case"hex":return yt(e,16,n);case"auto":{var i=en(r==null?void 0:r.lowerExp,-3),a=en(r==null?void 0:r.upperExp,5);if(e.isZero())return"0";var s,c=e.toSignificantDigits(u),h=c.e;return h>=i&&h=0?"+":"")+u.toString()}function jt(e,r){return r!==void 0?e.toExponential(r-1):e.toExponential()}function co(e,r){return e.toFixed(r)}function en(e,r){return we(e)?e:Ne(e)?e.toNumber():r}function be(e,r){var t=lo(e,r);return r&&typeof r=="object"&&"truncate"in r&&t.length>r.truncate?t.substring(0,r.truncate-3)+"...":t}function lo(e,r){if(typeof e=="number")return At(e,r);if(Ne(e))return so(e,r);if(ho(e))return!r||r.fraction!=="decimal"?"".concat(e.s*e.n,"/").concat(e.d):e.toString();if(Array.isArray(e))return Qn(e,r);if(nr(e))return rn(e);if(typeof e=="function")return e.syntax?String(e.syntax):"function";if(e&&typeof e=="object"){if(typeof e.format=="function")return e.format(r);if(e&&e.toString(r)!=={}.toString())return e.toString(r);var t=Object.keys(e).map(u=>rn(u)+": "+be(e[u],r));return"{"+t.join(", ")+"}"}return String(e)}function rn(e){for(var r=String(e),t="",u=0;u=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}yr.prototype=new RangeError;yr.prototype.constructor=RangeError;yr.prototype.name="IndexError";yr.prototype.isIndexError=!0;function qe(e){for(var r=[];Array.isArray(e);)r.push(e.length),e=e[0];return r}function Wn(e,r,t){var u,n=e.length;if(n!==r[t])throw new le(n,r[t]);if(t")}function nn(e,r){var t=r.length===0;if(t){if(Array.isArray(e))throw new le(e.length,0)}else Wn(e,r,0)}function ye(e,r){if(e!==void 0){if(!we(e)||!Be(e))throw new TypeError("Index must be an integer (value: "+e+")");if(e<0||typeof r=="number"&&e>=r)throw new yr(e,r)}}function un(e,r,t){if(!Array.isArray(r))throw new TypeError("Array expected");if(r.length===0)throw new Error("Resizing to scalar is not supported");r.forEach(function(n){if(!we(n)||!Be(n)||n<0)throw new TypeError("Invalid size, must contain positive integers (size: "+be(r)+")")}),(we(e)||Ne(e))&&(e=[e]);var u=t!==void 0?t:0;return Mt(e,r,0,u),e}function Mt(e,r,t,u){var n,i,a=e.length,s=r[t],c=Math.min(a,s);if(e.length=s,t=0,c=r%t===0;if(s)if(c)u[i]=-r/t;else throw new Error("Could not replace wildcard, since "+r+" is no multiple of "+-t);return u}function jn(e){return e.reduce((r,t)=>r*t,1)}function vo(e,r){for(var t=e,u,n=r.length-1;n>0;n--){var i=r[n];u=[];for(var a=t.length/i,s=0;s1)return e.slice(1).reduce(function(t,u){return tu(t,u,r,0)},e[0]);throw new Error("Wrong number of arguments in function concat")}function uu(){for(var e=arguments.length,r=new Array(e),t=0;tv.length),n=Math.max(...u),i=new Array(n).fill(null),a=0;ai[o]&&(i[o]=s[h])}for(var f=0;f1||e[n]>r[i])throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(e,") not possible to broadcast dimension ").concat(u," with size ").concat(e[n]," to size ").concat(r[i]))}}function bt(e,r){var t=qe(e);if(hr(t,r))return e;iu(t,r);var u=uu(t,r),n=u.length,i=[...Array(n-t.length).fill(1),...t],a=mo(e);t.lengthn[i],e)}function mo(e){return Gr([],e)}function jr(e,r,t){if(Xr.isTypedFunction(e)){var u=(r.isMatrix?r.size():qe(r)).map(()=>0),n=r.isMatrix?r.get(u):au(r,u),i=Object.keys(e.signatures).length===1,a=go(e,n,u,r),s=i?Object.values(e.signatures)[0]:e;return a>=1&&a<=3?function(){for(var c=arguments.length,h=new Array(c),o=0;o0;i--){var a=n.slice(0,i);if(Xr.resolve(e,a)!==null)return i}}function an(e,r,t,u){try{return e(...r)}catch(n){wo(n,r,t,u)}}function wo(e,r,t,u){var n;if(e instanceof TypeError&&((n=e.data)===null||n===void 0?void 0:n.category)==="wrongType"){var i=[];throw i.push("value: ".concat(lr(r[0]))),r.length>=2&&i.push("index: ".concat(lr(r[1]))),r.length>=3&&i.push("array: ".concat(lr(r[2]))),new TypeError("Function ".concat(t," cannot apply callback arguments ")+"".concat(u,"(").concat(i.join(", "),") at index ").concat(JSON.stringify(r[1])))}else throw new TypeError("Function ".concat(t," cannot apply callback arguments ")+"to function ".concat(u,": ").concat(e.message))}var Fo="DenseMatrix",yo=["Matrix"],Ao=Q(Fo,yo,e=>{var{Matrix:r}=e;function t(o,f){if(!(this instanceof t))throw new SyntaxError("Constructor must be called with the new operator");if(f&&!nr(f))throw new Error("Invalid datatype: "+f);if(xe(o))o.type==="DenseMatrix"?(this._data=Ee(o._data),this._size=Ee(o._size),this._datatype=f||o._datatype):(this._data=o.toArray(),this._size=o.size(),this._datatype=f||o._datatype);else if(o&&Ae(o.data)&&Ae(o.size))this._data=o.data,this._size=o.size,nn(this._data,this._size),this._datatype=f||o.datatype;else if(Ae(o))this._data=h(o),this._size=qe(this._data),nn(this._data,this._size),this._datatype=f;else{if(o)throw new TypeError("Unsupported type of data ("+lr(o)+")");this._data=[],this._size=[0],this._datatype=f}}t.prototype=new r,t.prototype.createDenseMatrix=function(o,f){return new t(o,f)},Object.defineProperty(t,"name",{value:"DenseMatrix"}),t.prototype.constructor=t,t.prototype.type="DenseMatrix",t.prototype.isDenseMatrix=!0,t.prototype.getDataType=function(){return It(this._data,lr)},t.prototype.storage=function(){return"dense"},t.prototype.datatype=function(){return this._datatype},t.prototype.create=function(o,f){return new t(o,f)},t.prototype.subset=function(o,f,v){switch(arguments.length){case 1:return u(this,o);case 2:case 3:return i(this,o,f,v);default:throw new SyntaxError("Wrong number of arguments")}},t.prototype.get=function(o){return au(this._data,o)},t.prototype.set=function(o,f,v){if(!Ae(o))throw new TypeError("Array expected");if(o.length");var w=f.max().map(function(p){return p+1});c(o,w,D);var A=d.length,F=0;a(o._data,f,v,A,F)}return o}function a(o,f,v,D,d){var l=d===D-1,m=f.dimension(d);l?m.forEach(function(g,y){ye(g),o[g]=v[y[0]]}):m.forEach(function(g,y){ye(g),a(o[g],f,v[y[0]],D,d+1)})}t.prototype.resize=function(o,f,v){if(!Kr(o))throw new TypeError("Array or Matrix expected");var D=o.valueOf().map(l=>Array.isArray(l)&&l.length===1?l[0]:l),d=v?this.clone():this;return s(d,D,f)};function s(o,f,v){if(f.length===0){for(var D=o._data;Ae(D);)D=D[0];return D}return o._size=f.slice(0),o._data=un(o._data,o._size,v),o}t.prototype.reshape=function(o,f){var v=f?this.clone():this;v._data=kn(v._data,o);var D=v._size.reduce((d,l)=>d*l);return v._size=Ot(o,D),v};function c(o,f,v){for(var D=o._size.slice(0),d=!1;D.lengthD[l]&&(D[l]=f[l],d=!0);d&&s(o,D,v)}t.prototype.clone=function(){var o=new t({data:Ee(this._data),size:Ee(this._size),datatype:this._datatype});return o},t.prototype.size=function(){return this._size.slice(0)},t.prototype._forEach=function(o){var f=this,v=f.size();if(v.length===1){for(var D=0;D=0;y--){if(d[y]++,d[y]===v[y]){d[y]=0;continue}l[y]=y===0?f._data[d[y]]:l[y-1][d[y]];for(var w=y;w[w[g]]);f.push(new t(y,o._datatype))},l=0;l0?o:0,v=o<0?-o:0,D=this._size[0],d=this._size[1],l=Math.min(D-v,d-f),m=[],g=0;g0?v:0,l=v<0?-v:0,m=o[0],g=o[1],y=Math.min(m-l,g-d),w;if(Ae(f)){if(f.length!==y)throw new Error("Invalid value array length");w=function(S){return f[S]}}else if(xe(f)){var A=f.size();if(A.length!==1||A[0]!==y)throw new Error("Invalid matrix length");w=function(S){return f.get([S])}}else w=function(){return f};D||(D=Ne(w(0))?w(0).mul(0):0);var F=[];if(o.length>0){F=un(F,o,D);for(var p=0;p{var{typed:r}=e;return r(on,{number:Be,BigNumber:function(u){return u.isInt()},bigint:function(u){return!0},Fraction:function(u){return u.d===1n},"Array | Matrix":r.referToSelf(t=>u=>pr(u,t))})}),ou="number",Pt="number, number";function su(e){return Math.abs(e)}su.signature=ou;function fu(e,r){return e+r}fu.signature=Pt;function cu(e,r){return e-r}cu.signature=Pt;function lu(e,r){return e*r}lu.signature=Pt;function hu(e){return-e}hu.signature=ou;function ft(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-9,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(t<=0)throw new Error("Relative tolerance must be greater than 0");if(u<0)throw new Error("Absolute tolerance must be at least 0");return e.isNaN()||r.isNaN()?!1:!e.isFinite()||!r.isFinite()?e.eq(r):e.eq(r)?!0:e.minus(r).abs().lte(e.constructor.max(e.constructor.max(e.abs(),r.abs()).mul(t),u))}function _o(e,r,t,u){return wr(e.re,r.re,t,u)&&wr(e.im,r.im,t,u)}var ct=Q("compareUnits",["typed"],e=>{var{typed:r}=e;return{"Unit, Unit":r.referToSelf(t=>(u,n)=>{if(!u.equalBase(n))throw new Error("Cannot compare units with different base");return r.find(t,[u.valueType(),n.valueType()])(u.value,n.value)})}}),et="equalScalar",So=["typed","config"],Bo=Q(et,So,e=>{var{typed:r,config:t}=e,u=ct({typed:r});return r(et,{"boolean, boolean":function(i,a){return i===a},"number, number":function(i,a){return wr(i,a,t.relTol,t.absTol)},"BigNumber, BigNumber":function(i,a){return i.eq(a)||ft(i,a,t.relTol,t.absTol)},"bigint, bigint":function(i,a){return i===a},"Fraction, Fraction":function(i,a){return i.equals(a)},"Complex, Complex":function(i,a){return _o(i,a,t.relTol,t.absTol)}},u)});Q(et,["typed","config"],e=>{var{typed:r,config:t}=e;return r(et,{"number, number":function(n,i){return wr(n,i,t.relTol,t.absTol)}})});var Mo="SparseMatrix",bo=["typed","equalScalar","Matrix"],xo=Q(Mo,bo,e=>{var{typed:r,equalScalar:t,Matrix:u}=e;function n(l,m){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(m&&!nr(m))throw new Error("Invalid datatype: "+m);if(xe(l))i(this,l,m);else if(l&&Ae(l.index)&&Ae(l.ptr)&&Ae(l.size))this._values=l.values,this._index=l.index,this._ptr=l.ptr,this._size=l.size,this._datatype=m||l.datatype;else if(Ae(l))a(this,l,m);else{if(l)throw new TypeError("Unsupported type of data ("+lr(l)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=m}}function i(l,m,g){m.type==="SparseMatrix"?(l._values=m._values?Ee(m._values):void 0,l._index=Ee(m._index),l._ptr=Ee(m._ptr),l._size=Ee(m._size),l._datatype=g||m._datatype):a(l,m.valueOf(),g||m._datatype)}function a(l,m,g){l._values=[],l._index=[],l._ptr=[],l._datatype=g;var y=m.length,w=0,A=t,F=0;if(nr(g)&&(A=r.find(t,[g,g])||t,F=r.convert(0,g)),y>0){var p=0;do{l._ptr.push(l._index.length);for(var _=0;_");if(w.length===1){var S=m.dimension(0);S.forEach(function(M,z){ye(M),l.set([M,0],g[z[0]],y)})}else{var E=m.dimension(0),B=m.dimension(1);E.forEach(function(M,z){ye(M),B.forEach(function(q,O){ye(q),l.set([M,q],g[z[0]][O[0]],y)})})}}return l}n.prototype.get=function(l){if(!Ae(l))throw new TypeError("Array expected");if(l.length!==this._size.length)throw new le(l.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var m=l[0],g=l[1];ye(m,this._size[0]),ye(g,this._size[1]);var y=h(m,this._ptr[g],this._ptr[g+1],this._index);return yA-1||w>F-1)&&(v(this,Math.max(y+1,A),Math.max(w+1,F),g),A=this._size[0],F=this._size[1]),ye(y,A),ye(w,F);var S=h(y,this._ptr[w],this._ptr[w+1],this._index);return SArray.isArray(A)&&A.length===1?A[0]:A);if(y.length!==2)throw new Error("Only two dimensions matrix are supported");y.forEach(function(A){if(!we(A)||!Be(A)||A<0)throw new TypeError("Invalid size, must contain positive integers (size: "+be(y)+")")});var w=g?this.clone():this;return v(w,y[0],y[1],m)};function v(l,m,g,y){var w=y||0,A=t,F=0;nr(l._datatype)&&(A=r.find(t,[l._datatype,l._datatype])||t,F=r.convert(0,l._datatype),w=r.convert(w,l._datatype));var p=!A(w,F),_=l._size[0],S=l._size[1],E,B,M;if(g>S){for(B=S;B_){if(p){var z=0;for(B=0;Bm-1&&(l._values.splice(M,1),l._index.splice(M,1),O++)}l._ptr[B]=l._values.length}return l._size[0]=m,l._size[1]=g,l}n.prototype.reshape=function(l,m){if(!Ae(l))throw new TypeError("Array expected");if(l.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");l.forEach(function(T){if(!we(T)||!Be(T)||T<=-2||T===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+be(l)+")")});var g=this._size[0]*this._size[1];l=Ot(l,g);var y=l[0]*l[1];if(g!==y)throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var w=m?this.clone():this;if(this._size[0]===l[0]&&this._size[1]===l[1])return w;for(var A=[],F=0;F=m&&x<=g&&M(l._values[P],x-m,z-y)}else{for(var G={},H=q;H "+(this._values?be(this._values[_],l):"X")}return w},n.prototype.toString=function(){return be(this.toArray())},n.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},n.prototype.diagonal=function(l){if(l){if(Ne(l)&&(l=l.toNumber()),!we(l)||!Be(l))throw new TypeError("The parameter k must be an integer number")}else l=0;var m=l>0?l:0,g=l<0?-l:0,y=this._size[0],w=this._size[1],A=Math.min(y-g,w-m),F=[],p=[],_=[];_[0]=0;for(var S=m;S0?g:0,_=g<0?-g:0,S=l[0],E=l[1],B=Math.min(S-_,E-p),M;if(Ae(m)){if(m.length!==B)throw new Error("Invalid value array length");M=function(J){return m[J]}}else if(xe(m)){var z=m.size();if(z.length!==1||z[0]!==B)throw new Error("Invalid matrix length");M=function(J){return m.get([J])}}else M=function(){return m};for(var q=[],O=[],P=[],x=0;x=0&&G=_||w[E]!==m)){var M=y?y[S]:void 0;w.splice(E,0,m),y&&y.splice(E,0,M),w.splice(E<=S?S+1:S,1),y&&y.splice(E<=S?S+1:S,1);continue}if(E<_&&w[E]===m&&(S>=_||w[S]!==l)){var z=y?y[E]:void 0;w.splice(S,0,l),y&&y.splice(S,0,z),w.splice(S<=E?E+1:E,1),y&&y.splice(S<=E?E+1:E,1)}}},n},{isClass:!0}),No="number",To=["typed"];function zo(e){var r=e.match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/);if(r){var t={"0b":2,"0o":8,"0x":16}[r[1]],u=r[2],n=r[3];return{input:e,radix:t,integerPart:u,fractionalPart:n}}else return null}function Oo(e){for(var r=parseInt(e.integerPart,e.radix),t=0,u=0;u{var{typed:r}=e,t=r("number",{"":function(){return 0},number:function(n){return n},string:function(n){if(n==="NaN")return NaN;var i=zo(n);if(i)return Oo(i);var a=0,s=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);s&&(a=Number(s[2]),n=s[1]);var c=Number(n);if(isNaN(c))throw new SyntaxError('String "'+n+'" is not a valid number');if(s){if(c>2**a-1)throw new SyntaxError('String "'.concat(n,'" is out of range'));c>=2**(a-1)&&(c=c-2**a)}return c},BigNumber:function(n){return n.toNumber()},bigint:function(n){return Number(n)},Fraction:function(n){return n.valueOf()},Unit:r.referToSelf(u=>n=>{var i=n.clone();return i.value=u(n.value),i}),null:function(n){return 0},"Unit, string | Unit":function(n,i){return n.toNumber(i)},"Array | Matrix":r.referToSelf(u=>n=>pr(n,u))});return t.fromJSON=function(u){return parseFloat(u.value)},t}),Po="bignumber",$o=["typed","BigNumber"],qo=Q(Po,$o,e=>{var{typed:r,BigNumber:t}=e;return r("bignumber",{"":function(){return new t(0)},number:function(n){return new t(n+"")},string:function(n){var i=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(i){var a=i[2],s=t(i[1]),c=new t(2).pow(Number(a));if(s.gt(c.sub(1)))throw new SyntaxError('String "'.concat(n,'" is out of range'));var h=new t(2).pow(Number(a)-1);return s.gte(h)?s.sub(c):s}return new t(n)},BigNumber:function(n){return n},bigint:function(n){return new t(n.toString())},Unit:r.referToSelf(u=>n=>{var i=n.clone();return i.value=u(n.value),i}),Fraction:function(n){return new t(String(n.n)).div(String(n.d)).times(String(n.s))},null:function(n){return new t(0)},"Array | Matrix":r.referToSelf(u=>n=>pr(n,u))})}),Ro="fraction",Lo=["typed","Fraction"],Uo=Q(Ro,Lo,e=>{var{typed:r,Fraction:t}=e;return r("fraction",{number:function(n){if(!isFinite(n)||isNaN(n))throw new Error(n+" cannot be represented as a fraction");return new t(n)},string:function(n){return new t(n)},"number, number":function(n,i){return new t(n,i)},"bigint, bigint":function(n,i){return new t(n,i)},null:function(n){return new t(0)},BigNumber:function(n){return new t(n.toString())},bigint:function(n){return new t(n.toString())},Fraction:function(n){return n},Unit:r.referToSelf(u=>n=>{var i=n.clone();return i.value=u(n.value),i}),Object:function(n){return new t(n)},"Array | Matrix":r.referToSelf(u=>n=>pr(n,u))})}),sn="matrix",Zo=["typed","Matrix","DenseMatrix","SparseMatrix"],Vo=Q(sn,Zo,e=>{var{typed:r,Matrix:t,DenseMatrix:u,SparseMatrix:n}=e;return r(sn,{"":function(){return i([])},string:function(s){return i([],s)},"string, string":function(s,c){return i([],s,c)},Array:function(s){return i(s)},Matrix:function(s){return i(s,s.storage())},"Array | Matrix, string":i,"Array | Matrix, string, string":i});function i(a,s,c){if(s==="dense"||s==="default"||s===void 0)return new u(a,c);if(s==="sparse")return new n(a,c);throw new TypeError("Unknown matrix type "+JSON.stringify(s)+".")}}),fn="unaryMinus",Ho=["typed"],Jo=Q(fn,Ho,e=>{var{typed:r}=e;return r(fn,{number:hu,"Complex | BigNumber | Fraction":t=>t.neg(),bigint:t=>-t,Unit:r.referToSelf(t=>u=>{var n=u.clone();return n.value=r.find(t,n.valueType())(u.value),n}),"Array | Matrix":r.referToSelf(t=>u=>pr(u,t))})}),cn="abs",Go=["typed"],Yo=Q(cn,Go,e=>{var{typed:r}=e;return r(cn,{number:su,"Complex | BigNumber | Fraction | Unit":t=>t.abs(),bigint:t=>t<0n?-t:t,"Array | Matrix":r.referToSelf(t=>u=>pr(u,t))})}),ln="addScalar",Ko=["typed"],Xo=Q(ln,Ko,e=>{var{typed:r}=e;return r(ln,{"number, number":fu,"Complex, Complex":function(u,n){return u.add(n)},"BigNumber, BigNumber":function(u,n){return u.plus(n)},"bigint, bigint":function(u,n){return u+n},"Fraction, Fraction":function(u,n){return u.add(n)},"Unit, Unit":r.referToSelf(t=>(u,n)=>{if(u.value===null||u.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!u.equalBase(n))throw new Error("Units do not match");var i=u.clone();return i.value=r.find(t,[i.valueType(),n.valueType()])(i.value,n.value),i.fixPrefix=!1,i})})}),hn="subtractScalar",Qo=["typed"],Wo=Q(hn,Qo,e=>{var{typed:r}=e;return r(hn,{"number, number":cu,"Complex, Complex":function(u,n){return u.sub(n)},"BigNumber, BigNumber":function(u,n){return u.minus(n)},"bigint, bigint":function(u,n){return u-n},"Fraction, Fraction":function(u,n){return u.sub(n)},"Unit, Unit":r.referToSelf(t=>(u,n)=>{if(u.value===null||u.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!u.equalBase(n))throw new Error("Units do not match");var i=u.clone();return i.value=r.find(t,[i.valueType(),n.valueType()])(i.value,n.value),i.fixPrefix=!1,i})})}),ko="matAlgo11xS0s",jo=["typed","equalScalar"],es=Q(ko,jo,e=>{var{typed:r,equalScalar:t}=e;return function(n,i,a,s){var c=n._values,h=n._index,o=n._ptr,f=n._size,v=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var D=f[0],d=f[1],l,m=t,g=0,y=a;typeof v=="string"&&(l=v,m=r.find(t,[l,l]),g=r.convert(0,l),i=r.convert(i,l),y=r.find(a,[l,l]));for(var w=[],A=[],F=[],p=0;p{var{typed:r,DenseMatrix:t}=e;return function(n,i,a,s){var c=n._values,h=n._index,o=n._ptr,f=n._size,v=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var D=f[0],d=f[1],l,m=a;typeof v=="string"&&(l=v,i=r.convert(i,l),m=r.find(a,[l,l]));for(var g=[],y=[],w=[],A=0;A{var{typed:r}=e;return function(n,i,a,s){var c=n._data,h=n._size,o=n._datatype,f,v=a;typeof o=="string"&&(f=o,i=r.convert(i,f),v=r.find(a,[f,f]));var D=h.length>0?t(v,0,h,h[0],c,i,s):[];return n.createDenseMatrix({data:D,size:Ee(h),datatype:f})};function t(u,n,i,a,s,c,h){var o=[];if(n===i.length-1)for(var f=0;f{var{typed:r}=e;return function(u,n,i,a){var s=u._data,c=u._size,h=u._datatype||u.getDataType(),o=n._values,f=n._index,v=n._ptr,D=n._size,d=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==D.length)throw new le(c.length,D.length);if(c[0]!==D[0]||c[1]!==D[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+D+")");if(!o)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var l=c[0],m=c[1],g,y=0,w=i;typeof h=="string"&&h===d&&h!=="mixed"&&(g=h,y=r.convert(0,g),w=r.find(i,[g,g]));for(var A=[],F=0;F{var{typed:r,equalScalar:t}=e;return function(n,i,a){var s=n._values,c=n._index,h=n._ptr,o=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType(),v=i._values,D=i._index,d=i._ptr,l=i._size,m=i._datatype||i._data===void 0?i._datatype:i.getDataType();if(o.length!==l.length)throw new le(o.length,l.length);if(o[0]!==l[0]||o[1]!==l[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+l+")");var g=o[0],y=o[1],w,A=t,F=0,p=a;typeof f=="string"&&f===m&&f!=="mixed"&&(w=f,A=r.find(t,[w,w]),F=r.convert(0,w),p=r.find(a,[w,w]));var _=s&&v?[]:void 0,S=[],E=[],B=_?[]:void 0,M=_?[]:void 0,z=[],q=[],O,P,x,G;for(P=0;P{var{typed:r}=e;return function(n,i,a){var s=n._data,c=n._size,h=n._datatype,o=i._data,f=i._size,v=i._datatype,D=[];if(c.length!==f.length)throw new le(c.length,f.length);for(var d=0;d0?t(m,0,D,D[0],s,o):[];return n.createDenseMatrix({data:g,size:D,datatype:l})};function t(u,n,i,a,s,c){var h=[];if(n===i.length-1)for(var o=0;ovs(u,t))}function vs(e,r){return hr(e.size(),r)?e:e.create(bt(e.valueOf(),r),e.datatype())}var Ds="matrixAlgorithmSuite",ps=["typed","matrix"],Ir=Q(Ds,ps,e=>{var{typed:r,matrix:t}=e,u=hs({typed:r}),n=vu({typed:r});return function(a){var s=a.elop,c=a.SD||a.DS,h;s?(h={"DenseMatrix, DenseMatrix":(D,d)=>u(...Me(D,d),s),"Array, Array":(D,d)=>u(...Me(t(D),t(d)),s).valueOf(),"Array, DenseMatrix":(D,d)=>u(...Me(t(D),d),s),"DenseMatrix, Array":(D,d)=>u(...Me(D,t(d)),s)},a.SS&&(h["SparseMatrix, SparseMatrix"]=(D,d)=>a.SS(...Me(D,d),s,!1)),a.DS&&(h["DenseMatrix, SparseMatrix"]=(D,d)=>a.DS(...Me(D,d),s,!1),h["Array, SparseMatrix"]=(D,d)=>a.DS(...Me(t(D),d),s,!1)),c&&(h["SparseMatrix, DenseMatrix"]=(D,d)=>c(...Me(d,D),s,!0),h["SparseMatrix, Array"]=(D,d)=>c(...Me(t(d),D),s,!0))):(h={"DenseMatrix, DenseMatrix":r.referToSelf(D=>(d,l)=>u(...Me(d,l),D)),"Array, Array":r.referToSelf(D=>(d,l)=>u(...Me(t(d),t(l)),D).valueOf()),"Array, DenseMatrix":r.referToSelf(D=>(d,l)=>u(...Me(t(d),l),D)),"DenseMatrix, Array":r.referToSelf(D=>(d,l)=>u(...Me(d,t(l)),D))},a.SS&&(h["SparseMatrix, SparseMatrix"]=r.referToSelf(D=>(d,l)=>a.SS(...Me(d,l),D,!1))),a.DS&&(h["DenseMatrix, SparseMatrix"]=r.referToSelf(D=>(d,l)=>a.DS(...Me(d,l),D,!1)),h["Array, SparseMatrix"]=r.referToSelf(D=>(d,l)=>a.DS(...Me(t(d),l),D,!1))),c&&(h["SparseMatrix, DenseMatrix"]=r.referToSelf(D=>(d,l)=>c(...Me(l,d),D,!0)),h["SparseMatrix, Array"]=r.referToSelf(D=>(d,l)=>c(...Me(t(l),d),D,!0))));var o=a.scalar||"any",f=a.Ds||a.Ss;f&&(s?(h["DenseMatrix,"+o]=(D,d)=>n(D,d,s,!1),h[o+", DenseMatrix"]=(D,d)=>n(d,D,s,!0),h["Array,"+o]=(D,d)=>n(t(D),d,s,!1).valueOf(),h[o+", Array"]=(D,d)=>n(t(d),D,s,!0).valueOf()):(h["DenseMatrix,"+o]=r.referToSelf(D=>(d,l)=>n(d,l,D,!1)),h[o+", DenseMatrix"]=r.referToSelf(D=>(d,l)=>n(l,d,D,!0)),h["Array,"+o]=r.referToSelf(D=>(d,l)=>n(t(d),l,D,!1).valueOf()),h[o+", Array"]=r.referToSelf(D=>(d,l)=>n(t(l),d,D,!0).valueOf())));var v=a.sS!==void 0?a.sS:a.Ss;return s?(a.Ss&&(h["SparseMatrix,"+o]=(D,d)=>a.Ss(D,d,s,!1)),v&&(h[o+", SparseMatrix"]=(D,d)=>v(d,D,s,!0))):(a.Ss&&(h["SparseMatrix,"+o]=r.referToSelf(D=>(d,l)=>a.Ss(d,l,D,!1))),v&&(h[o+", SparseMatrix"]=r.referToSelf(D=>(d,l)=>v(l,d,D,!0)))),s&&s.signatures&&Ui(h,s.signatures),h}}),ds="matAlgo01xDSid",ms=["typed"],Du=Q(ds,ms,e=>{var{typed:r}=e;return function(u,n,i,a){var s=u._data,c=u._size,h=u._datatype||u.getDataType(),o=n._values,f=n._index,v=n._ptr,D=n._size,d=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==D.length)throw new le(c.length,D.length);if(c[0]!==D[0]||c[1]!==D[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+D+")");if(!o)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var l=c[0],m=c[1],g=typeof h=="string"&&h!=="mixed"&&h===d?h:void 0,y=g?r.find(i,[g,g]):i,w,A,F=[];for(w=0;w{var{typed:r,equalScalar:t}=e;return function(n,i,a){var s=n._values,c=n._index,h=n._ptr,o=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType(),v=i._values,D=i._index,d=i._ptr,l=i._size,m=i._datatype||i._data===void 0?i._datatype:i.getDataType();if(o.length!==l.length)throw new le(o.length,l.length);if(o[0]!==l[0]||o[1]!==l[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+l+")");var g=o[0],y=o[1],w,A=t,F=0,p=a;typeof f=="string"&&f===m&&f!=="mixed"&&(w=f,A=r.find(t,[w,w]),F=r.convert(0,w),p=r.find(a,[w,w]));var _=s&&v?[]:void 0,S=[],E=[],B=s&&v?[]:void 0,M=s&&v?[]:void 0,z=[],q=[],O,P,x,G,H;for(P=0;P{var{typed:r,DenseMatrix:t}=e;return function(n,i,a,s){var c=n._values,h=n._index,o=n._ptr,f=n._size,v=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var D=f[0],d=f[1],l,m=a;typeof v=="string"&&(l=v,i=r.convert(i,l),m=r.find(a,[l,l]));for(var g=[],y=[],w=[],A=0;A{var{typed:r}=e;return r("multiplyScalar",{"number, number":lu,"Complex, Complex":function(u,n){return u.mul(n)},"BigNumber, BigNumber":function(u,n){return u.times(n)},"bigint, bigint":function(u,n){return u*n},"Fraction, Fraction":function(u,n){return u.mul(n)},"number | Fraction | BigNumber | Complex, Unit":(t,u)=>u.multiply(t),"Unit, number | Fraction | BigNumber | Complex | Unit":(t,u)=>t.multiply(u)})}),vn="multiply",Ss=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],Bs=Q(vn,Ss,e=>{var{typed:r,matrix:t,addScalar:u,multiplyScalar:n,equalScalar:i,dot:a}=e,s=es({typed:r,equalScalar:i}),c=vu({typed:r});function h(F,p){switch(F.length){case 1:switch(p.length){case 1:if(F[0]!==p[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(F[0]!==p[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+F[0]+") must match Matrix rows ("+p[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+p.length+" dimensions)")}break;case 2:switch(p.length){case 1:if(F[1]!==p[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+F[1]+") must match Vector length ("+p[0]+")");break;case 2:if(F[1]!==p[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+F[1]+") must match Matrix B rows ("+p[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+p.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+F.length+" dimensions)")}}function o(F,p,_){if(_===0)throw new Error("Cannot multiply two empty vectors");return a(F,p)}function f(F,p){if(p.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return v(F,p)}function v(F,p){var _=F._data,S=F._size,E=F._datatype||F.getDataType(),B=p._data,M=p._size,z=p._datatype||p.getDataType(),q=S[0],O=M[1],P,x=u,G=n;E&&z&&E===z&&typeof E=="string"&&E!=="mixed"&&(P=E,x=r.find(u,[P,P]),G=r.find(n,[P,P]));for(var H=[],T=0;Tne)for(var ie=0,j=0;j(p,_)=>{h(qe(p),qe(_));var S=F(t(p),t(_));return xe(S)?S.valueOf():S}),"Matrix, Matrix":function(p,_){var S=p.size(),E=_.size();return h(S,E),S.length===1?E.length===1?o(p,_,S[0]):f(p,_):E.length===1?D(p,_):d(p,_)},"Matrix, Array":r.referTo("Matrix,Matrix",F=>(p,_)=>F(p,t(_))),"Array, Matrix":r.referToSelf(F=>(p,_)=>F(t(p,_.storage()),_)),"SparseMatrix, any":function(p,_){return s(p,_,n,!1)},"DenseMatrix, any":function(p,_){return c(p,_,n,!1)},"any, SparseMatrix":function(p,_){return s(_,p,n,!0)},"any, DenseMatrix":function(p,_){return c(_,p,n,!0)},"Array, any":function(p,_){return c(t(p),_,n,!1).valueOf()},"any, Array":function(p,_){return c(t(_),p,n,!0).valueOf()},"any, any":n,"any, any, ...any":r.referToSelf(F=>(p,_,S)=>{for(var E=F(p,_),B=0;B{var{typed:r,matrix:t,equalScalar:u,subtractScalar:n,unaryMinus:i,DenseMatrix:a,concat:s}=e,c=Du({typed:r}),h=ht({typed:r}),o=fs({typed:r,equalScalar:u}),f=pu({typed:r,DenseMatrix:a}),v=lt({typed:r,DenseMatrix:a}),D=Ir({typed:r,matrix:t,concat:s});return r(Dn,{"any, any":n},D({elop:n,SS:o,DS:c,SD:h,Ss:v,sS:f}))}),xs="matAlgo07xSSf",Ns=["typed","SparseMatrix"],$t=Q(xs,Ns,e=>{var{typed:r,SparseMatrix:t}=e;return function(i,a,s){var c=i._size,h=i._datatype||i._data===void 0?i._datatype:i.getDataType(),o=a._size,f=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(c.length!==o.length)throw new le(c.length,o.length);if(c[0]!==o[0]||c[1]!==o[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+o+")");var v=c[0],D=c[1],d,l=0,m=s;typeof h=="string"&&h===f&&h!=="mixed"&&(d=h,l=r.convert(0,d),m=r.find(s,[d,d]));for(var g=[],y=[],w=new Array(D+1).fill(0),A=[],F=[],p=[],_=[],S=0;S{var{typed:r}=e;return r(pn,{"number | BigNumber | Fraction":t=>t,Complex:t=>t.conjugate(),"Array | Matrix":r.referToSelf(t=>u=>pr(u,t))})}),dn="concat",Os=["typed","matrix","isInteger"],Is=Q(dn,Os,e=>{var{typed:r,matrix:t,isInteger:u}=e;return r(dn,{"...Array | Matrix | number | BigNumber":function(i){var a,s=i.length,c=-1,h,o=!1,f=[];for(a=0;a0&&c>h)throw new yr(c,h+1)}else{var D=Ee(v).valueOf(),d=qe(D);if(f[a]=D,h=c,c=d.length-1,a>0&&c!==h)throw new le(h+1,c+1)}}if(f.length===0)throw new SyntaxError("At least one matrix expected");for(var l=f.shift();f.length;)l=nu(l,f.shift(),c);return o?t(l):l},"...string":function(i){return i.join("")}})});function Ps(){throw new Error('No "bignumber" implementation available')}function $s(){throw new Error('No "fraction" implementation available')}function qs(){throw new Error('No "matrix" implementation available')}var mn="size",Rs=["typed","config","?matrix"],Ls=Q(mn,Rs,e=>{var{typed:r,config:t,matrix:u}=e;return r(mn,{Matrix:function(i){return i.create(i.size(),"number")},Array:qe,string:function(i){return t.matrix==="Array"?[i.length]:u([i.length],"dense","number")},"number | Complex | BigNumber | Unit | boolean | null":function(i){return t.matrix==="Array"?[]:u?u([],"dense","number"):qs()}})}),gn="transpose",Us=["typed","matrix"],Zs=Q(gn,Us,e=>{var{typed:r,matrix:t}=e;return r(gn,{Array:a=>u(t(a)).valueOf(),Matrix:u,any:Ee});function u(a){var s=a.size(),c;switch(s.length){case 1:c=a.clone();break;case 2:{var h=s[0],o=s[1];if(o===0)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+be(s)+")");switch(a.storage()){case"dense":c=n(a,h,o);break;case"sparse":c=i(a,h,o);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+be(s)+")")}return c}function n(a,s,c){for(var h=a._data,o=[],f,v=0;v{var{number:r,bignumber:t,fraction:u}=e,n={string:!0,number:!0,BigNumber:!0,Fraction:!0},i={number:a=>r(a),BigNumber:t?a=>t(a):Ps,bigint:a=>BigInt(a),Fraction:u?a=>u(a):$s};return function(s){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number",h=arguments.length>2?arguments[2]:void 0;if(h!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var o=lr(s);if(!(o in n))throw new TypeError("Cannot convert "+s+' of type "'+o+'"; valid input types are '+Object.keys(n).join(", "));if(!(c in i))throw new TypeError("Cannot convert "+s+' to type "'+c+'"; valid output types are '+Object.keys(i).join(", "));return c===o?s:i[c](s)}}),wn="divideScalar",Gs=["typed","numeric"],Ys=Q(wn,Gs,e=>{var{typed:r,numeric:t}=e;return r(wn,{"number, number":function(n,i){return n/i},"Complex, Complex":function(n,i){return n.div(i)},"BigNumber, BigNumber":function(n,i){return n.div(i)},"bigint, bigint":function(n,i){return n/i},"Fraction, Fraction":function(n,i){return n.div(i)},"Unit, number | Complex | Fraction | BigNumber | Unit":(u,n)=>u.divide(n),"number | Fraction | Complex | BigNumber, Unit":(u,n)=>n.divideInto(u)})});function qt(e){var{DenseMatrix:r}=e;return function(u,n,i){var a=u.size();if(a.length!==2)throw new RangeError("Matrix must be two dimensional (size: "+be(a)+")");var s=a[0],c=a[1];if(s!==c)throw new RangeError("Matrix must be square (size: "+be(a)+")");var h=[];if(xe(n)){var o=n.size(),f=n._data;if(o.length===1){if(o[0]!==s)throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");for(var v=0;v{var{typed:r,matrix:t,divideScalar:u,multiplyScalar:n,subtractScalar:i,equalScalar:a,DenseMatrix:s}=e,c=qt({DenseMatrix:s});return r(Fn,{"SparseMatrix, Array | Matrix":function(v,D){return o(v,D)},"DenseMatrix, Array | Matrix":function(v,D){return h(v,D)},"Array, Array | Matrix":function(v,D){var d=t(v),l=h(d,D);return l.valueOf()}});function h(f,v){v=c(f,v,!0);for(var D=v._data,d=f._size[0],l=f._size[1],m=[],g=f._data,y=0;yA&&(_.push(m[M]),S.push(z))}if(a(p,0))throw new Error("Linear system cannot be solved since matrix is singular");for(var q=u(F,p),O=0,P=S.length;O{var{typed:r,matrix:t,divideScalar:u,multiplyScalar:n,subtractScalar:i,equalScalar:a,DenseMatrix:s}=e,c=qt({DenseMatrix:s});return r(yn,{"SparseMatrix, Array | Matrix":function(v,D){return o(v,D)},"DenseMatrix, Array | Matrix":function(v,D){return h(v,D)},"Array, Array | Matrix":function(v,D){var d=t(v),l=h(d,D);return l.valueOf()}});function h(f,v){v=c(f,v,!0);for(var D=v._data,d=f._size[0],l=f._size[1],m=[],g=f._data,y=l-1;y>=0;y--){var w=D[y][0]||0,A=void 0;if(a(w,0))A=0;else{var F=g[y][y];if(a(F,0))throw new Error("Linear system cannot be solved since matrix is singular");A=u(w,F);for(var p=y-1;p>=0;p--)D[p]=[i(D[p][0]||0,n(A,g[p][y]))]}m[y]=[A]}return new s({data:m,size:[d,1]})}function o(f,v){v=c(f,v,!0);for(var D=v._data,d=f._size[0],l=f._size[1],m=f._values,g=f._index,y=f._ptr,w=[],A=l-1;A>=0;A--){var F=D[A][0]||0;if(a(F,0))w[A]=[0];else{for(var p=0,_=[],S=[],E=y[A],B=y[A+1],M=B-1;M>=E;M--){var z=g[M];z===A?p=m[M]:z{var{typed:r,config:t,matrix:u,DenseMatrix:n,concat:i,SparseMatrix:a}=e,s=ht({typed:r}),c=$t({typed:r,SparseMatrix:a}),h=lt({typed:r,DenseMatrix:n}),o=Ir({typed:r,matrix:u,concat:i}),f=ct({typed:r});return r(rt,ef({typed:r,config:t}),{"boolean, boolean":(v,D)=>vvv.compare(D)===-1,"Complex, Complex":function(D,d){throw new TypeError("No ordering relation is defined for complex numbers")}},f,o({SS:c,DS:s,Ss:h}))}),ef=Q(rt,["typed","config"],e=>{var{typed:r,config:t}=e;return r(rt,{"number, number":function(n,i){return n{var{typed:r,config:t,matrix:u,DenseMatrix:n,concat:i,SparseMatrix:a}=e,s=ht({typed:r}),c=$t({typed:r,SparseMatrix:a}),h=lt({typed:r,DenseMatrix:n}),o=Ir({typed:r,matrix:u,concat:i}),f=ct({typed:r});return r(tt,nf({typed:r,config:t}),{"boolean, boolean":(v,D)=>v>D,"BigNumber, BigNumber":function(D,d){return D.gt(d)&&!ft(D,d,t.relTol,t.absTol)},"bigint, bigint":(v,D)=>v>D,"Fraction, Fraction":(v,D)=>v.compare(D)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},f,o({SS:c,DS:s,Ss:h}))}),nf=Q(tt,["typed","config"],e=>{var{typed:r,config:t}=e;return r(tt,{"number, number":function(n,i){return n>i&&!wr(n,i,t.relTol,t.absTol)}})}),nt="largerEq",uf=["typed","config","matrix","DenseMatrix","concat","SparseMatrix"],af=Q(nt,uf,e=>{var{typed:r,config:t,matrix:u,DenseMatrix:n,concat:i,SparseMatrix:a}=e,s=ht({typed:r}),c=$t({typed:r,SparseMatrix:a}),h=lt({typed:r,DenseMatrix:n}),o=Ir({typed:r,matrix:u,concat:i}),f=ct({typed:r});return r(nt,of({typed:r,config:t}),{"boolean, boolean":(v,D)=>v>=D,"BigNumber, BigNumber":function(D,d){return D.gte(d)||ft(D,d,t.relTol,t.absTol)},"bigint, bigint":function(D,d){return D>=d},"Fraction, Fraction":(v,D)=>v.compare(D)!==-1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},f,o({SS:c,DS:s,Ss:h}))}),of=Q(nt,["typed","config"],e=>{var{typed:r,config:t}=e;return r(nt,{"number, number":function(n,i){return n>=i||wr(n,i,t.relTol,t.absTol)}})}),sf="FibonacciHeap",ff=["smaller","larger"],cf=Q(sf,ff,e=>{var{smaller:r,larger:t}=e,u=1/Math.log((1+Math.sqrt(5))/2);function n(){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this._minimum=null,this._size=0}n.prototype.type="FibonacciHeap",n.prototype.isFibonacciHeap=!0,n.prototype.insert=function(o,f){var v={key:o,value:f,degree:0};if(this._minimum){var D=this._minimum;v.left=D,v.right=D.right,D.right=v,v.right.left=v,r(o,D.key)&&(this._minimum=v)}else v.left=v,v.right=v,this._minimum=v;return this._size++,v},n.prototype.size=function(){return this._size},n.prototype.clear=function(){this._minimum=null,this._size=0},n.prototype.isEmpty=function(){return this._size===0},n.prototype.extractMinimum=function(){var o=this._minimum;if(o===null)return o;for(var f=this._minimum,v=o.degree,D=o.child;v>0;){var d=D.right;D.left.right=D.right,D.right.left=D.left,D.left=f,D.right=f.right,f.right=D,D.right.left=D,D.parent=null,D=d,v--}return o.left.right=o.right,o.right.left=o.left,o===o.right?f=null:(f=o.right,f=h(f,this._size)),this._size--,this._minimum=f,o},n.prototype.remove=function(o){this._minimum=i(this._minimum,o,-1),this.extractMinimum()};function i(o,f,v){f.key=v;var D=f.parent;return D&&r(f.key,D.key)&&(a(o,f,D),s(o,D)),r(f.key,o.key)&&(o=f),o}function a(o,f,v){f.left.right=f.right,f.right.left=f.left,v.degree--,v.child===f&&(v.child=f.right),v.degree===0&&(v.child=null),f.left=o,f.right=o.right,o.right=f,f.right.left=f,f.parent=null,f.mark=!1}function s(o,f){var v=f.parent;v&&(f.mark?(a(o,f,v),s(v)):f.mark=!0)}var c=function(f,v){f.left.right=f.right,f.right.left=f.left,f.parent=v,v.child?(f.left=v.child,f.right=v.child.right,v.child.right=f,f.right.left=f):(v.child=f,f.right=f,f.left=f),v.degree++,f.mark=!1};function h(o,f){var v=Math.floor(Math.log(f)*u)+1,D=new Array(v),d=0,l=o;if(l)for(d++,l=l.right;l!==o;)d++,l=l.right;for(var m;d>0;){for(var g=l.degree,y=l.right;m=D[g],!!m;){if(t(l.key,m.key)){var w=m;m=l,l=w}c(m,l),D[g]=null,g++}D[g]=l,l=y,d--}o=null;for(var A=0;A{var{addScalar:r,equalScalar:t,FibonacciHeap:u}=e;function n(){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this._values=[],this._heap=new u}return n.prototype.type="Spa",n.prototype.isSpa=!0,n.prototype.set=function(i,a){if(this._values[i])this._values[i].value=a;else{var s=this._heap.insert(i,a);this._values[i]=s}},n.prototype.get=function(i){var a=this._values[i];return a?a.value:0},n.prototype.accumulate=function(i,a){var s=this._values[i];s?s.value=r(s.value,a):(s=this._heap.insert(i,a),this._values[i]=s)},n.prototype.forEach=function(i,a,s){var c=this._heap,h=this._values,o=[],f=c.extractMinimum();for(f&&o.push(f);f&&f.key<=a;)f.key>=i&&(t(f.value,0)||s(f.key,f.value,this)),f=c.extractMinimum(),f&&o.push(f);for(var v=0;v{var{typed:r,matrix:t,addScalar:u,equalScalar:n,DenseMatrix:i,SparseMatrix:a,concat:s}=e,c=Du({typed:r}),h=Fs({typed:r,equalScalar:n}),o=pu({typed:r,DenseMatrix:i}),f=Ir({typed:r,matrix:t,concat:s});return r(An,{"any, any":u,"any, any, ...any":r.referToSelf(v=>(D,d,l)=>{for(var m=v(D,d),g=0;g{var{typed:r,addScalar:t,multiplyScalar:u,conj:n,size:i}=e;return r(En,{"Array | DenseMatrix, Array | DenseMatrix":s,"SparseMatrix, SparseMatrix":c});function a(o,f){var v=h(o),D=h(f),d,l;if(v.length===1)d=v[0];else if(v.length===2&&v[1]===1)d=v[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+v.join(", ")+")");if(D.length===1)l=D[0];else if(D.length===2&&D[1]===1)l=D[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+D.join(", ")+")");if(d!==l)throw new RangeError("Vectors must have equal length ("+d+" != "+l+")");if(d===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return d}function s(o,f){var v=a(o,f),D=xe(o)?o._data:o,d=xe(o)?o._datatype||o.getDataType():void 0,l=xe(f)?f._data:f,m=xe(f)?f._datatype||f.getDataType():void 0,g=h(o).length===2,y=h(f).length===2,w=t,A=u;if(d&&m&&d===m&&typeof d=="string"&&d!=="mixed"){var F=d;w=r.find(t,[F,F]),A=r.find(u,[F,F])}if(!g&&!y){for(var p=A(n(D[0]),l[0]),_=1;_p){A++;continue}F===p&&(m=g(m,y(D[w],l[A])),w++,A++)}return m}function h(o){return xe(o)?o.size():i(o)}}),Cn="lup",gf=["typed","matrix","abs","addScalar","divideScalar","multiplyScalar","subtractScalar","larger","equalScalar","unaryMinus","DenseMatrix","SparseMatrix","Spa"],wf=Q(Cn,gf,e=>{var{typed:r,matrix:t,abs:u,addScalar:n,divideScalar:i,multiplyScalar:a,subtractScalar:s,larger:c,equalScalar:h,unaryMinus:o,DenseMatrix:f,SparseMatrix:v,Spa:D}=e;return r(Cn,{DenseMatrix:function(g){return d(g)},SparseMatrix:function(g){return l(g)},Array:function(g){var y=t(g),w=d(y);return{L:w.L.valueOf(),U:w.U.valueOf(),p:w.p}}});function d(m){var g=m._size[0],y=m._size[1],w=Math.min(g,y),A=Ee(m._data),F=[],p=[g,w],_=[],S=[w,y],E,B,M,z=[];for(E=0;E0)for(E=0;E0&&re.forEach(0,x-1,function(ie,j){v._forEachRow(ie,_,S,E,function(Fe,de){Fe>ie&&re.accumulate(Fe,o(a(de,j)))})});var oe=x,ne=re.get(x),se=u(ne);re.forEach(x+1,g-1,function(ie,j){var Fe=u(j);c(Fe,se)&&(oe=ie,se=Fe,ne=j)}),x!==oe&&(v._swapRows(x,oe,B[1],_,S,E),v._swapRows(x,oe,O[1],M,z,q),re.swap(x,oe),J(x,oe)),re.forEach(0,g-1,function(ie,j){ie<=x?(M.push(j),z.push(ie)):(j=i(j,ne),h(j,0)||(_.push(j),S.push(ie)))})};for(x=0;x=0;){var c=t[a+s],h=t[u+c];h===-1?(s--,i[r++]=c):(t[u+c]=t[n+h],++s,t[a+s]=h)}return r}function yf(e,r){if(!e)return null;var t=0,u,n=[],i=[],a=0,s=r,c=2*r;for(u=0;u=0;u--)e[u]!==-1&&(i[s+u]=i[a+e[u]],i[a+e[u]]=u);for(u=0;u{var{add:r,multiply:t,transpose:u}=e;return function(o,f){if(!f||o<=0||o>3)return null;var v=f._size,D=v[0],d=v[1],l=0,m=Math.max(16,10*Math.sqrt(d));m=Math.min(d-2,m);var g=n(o,f,D,d,m);Ef(g,c,null);for(var y=g._index,w=g._ptr,A=w[d],F=[],p=[],_=0,S=d+1,E=2*(d+1),B=3*(d+1),M=4*(d+1),z=5*(d+1),q=6*(d+1),O=7*(d+1),P=F,x=i(d,w,p,_,B,P,E,O,S,q,M,z),G=a(d,w,p,z,M,q,m,S,B,P,E),H=0,T,J,X,ue,re,W,he,oe,ne,se,ie,j,Fe,de,ae,ce;G_e?(W=X,he=fe,oe=p[_+X]-_e):(W=y[fe++],he=w[W],oe=p[_+W]),re=1;re<=oe;re++)T=y[he++],!((ne=p[S+T])<=0)&&(ze+=ne,p[S+T]=-ne,y[Ye++]=T,p[E+T]!==-1&&(P[p[E+T]]=P[T]),P[T]!==-1?p[E+P[T]]=p[E+T]:p[B+p[z+T]]=p[E+T]);W!==X&&(w[W]=fr(X),p[q+W]=0)}for(_e!==0&&(A=Ye),p[z+X]=ze,w[X]=Oe,p[_+X]=Ye-Oe,p[M+X]=-2,x=s(x,l,p,q,d),se=Oe;se=x?p[q+W]-=ne:p[q+W]!==0&&(p[q+W]=p[z+W]+pt)}for(se=Oe;se0?(ce+=xr,y[de++]=W,ae+=W):(w[W]=fr(X),p[q+W]=0)}p[M+T]=de-j+1;var C=de,b=j+p[_+T];for(fe=Fe+1;fe=0))for(ae=P[T],T=p[O+ae],p[O+ae]=-1;T!==-1&&p[E+T]!==-1;T=p[E+T],x++){for(oe=p[_+T],ie=p[M+T],fe=w[T]+1;fe<=w[T]+oe-1;fe++)p[q+y[fe]]=x;var $=T;for(J=p[E+T];J!==-1;){var U=p[_+J]===oe&&p[M+J]===ie;for(fe=w[J]+1;U&&fe<=w[J]+oe-1;fe++)p[q+y[fe]]!==x&&(U=0);U?(w[J]=fr(T),p[S+T]+=p[S+J],p[S+J]=0,p[M+J]=-1,J=p[E+J],p[E+$]=J):($=J,J=p[E+J])}}for(fe=Oe,se=Oe;se=0;J--)p[S+J]>0||(p[E+J]=p[B+w[J]],p[B+w[J]]=J);for(W=d;W>=0;W--)p[S+W]<=0||w[W]!==-1&&(p[E+W]=p[B+w[W]],p[B+w[W]]=W);for(X=0,T=0;T<=d;T++)w[T]===-1&&(X=du(T,X,p,B,E,F,q));return F.splice(F.length-1,1),F};function n(h,o,f,v,D){var d=u(o);if(h===1&&v===f)return r(o,d);if(h===2){for(var l=d._index,m=d._ptr,g=0,y=0;yD))for(var A=m[y+1];wl)f[m+F]=0,f[D+F]=-1,A++,o[F]=fr(h),f[m+h]++;else{var _=f[g+p];_!==-1&&(y[_]=F),f[w+F]=f[g+p],f[g+p]=F}}return A}function s(h,o,f,v,D){if(h<2||h+o<0){for(var d=0;d{var{transpose:r}=e;return function(t,u,n,i){if(!t||!u||!n)return null;var a=t._size,s=a[0],c=a[1],h,o,f,v,D,d,l,m=4*c+(i?c+s+1:0),g=[],y=0,w=c,A=2*c,F=3*c,p=4*c,_=5*c+1;for(f=0;f=1&&S[o]++,z.jleaf===2&&S[z.q]--}u[o]!==-1&&(g[y+o]=u[o])}for(o=0;o{var{add:r,multiply:t,transpose:u}=e,n=Sf({add:r,multiply:t,transpose:u}),i=xf({transpose:u});return function(c,h,o){var f=h._ptr,v=h._size,D=v[1],d,l={};if(l.q=n(c,h),c&&!l.q)return null;if(o){var m=c?Ff(h,null,l.q):h;l.parent=Af(m);var g=yf(l.parent,D);if(l.cp=i(m,l.parent,g,1),m&&l.parent&&l.cp&&a(m,l))for(l.unz=0,d=0;d=0;_--)for(E=h[_],B=h[_+1],S=E;S=0;p--)l[p]=-1,_=m[p],_!==-1&&(g[F+_]++===0&&(g[A+_]=p),g[y+p]=g[w+_],g[w+_]=p);for(c.lnz=0,c.m2=v,_=0;_=0;){e=u[v];var D=n?n[e]:e;xt(a,e)||(mu(a,e),u[c+v]=D<0?0:_n(a[D]));var d=1;for(o=u[c+v],f=D<0?0:_n(a[D+1]);o{var{divideScalar:r,multiply:t,subtract:u}=e;return function(i,a,s,c,h,o,f){var v=i._values,D=i._index,d=i._ptr,l=i._size,m=l[1],g=a._values,y=a._index,w=a._ptr,A,F,p,_,S=If(i,a,s,c,o);for(A=S;A{var{abs:r,divideScalar:t,multiply:u,subtract:n,larger:i,largerEq:a,SparseMatrix:s}=e,c=qf({divideScalar:t,multiply:u,subtract:n});return function(o,f,v){if(!o)return null;var D=o._size,d=D[1],l,m=100,g=100;f&&(l=f.q,m=f.lnz||m,g=f.unz||g);var y=[],w=[],A=[],F=new s({values:y,index:w,ptr:A,size:[d,d]}),p=[],_=[],S=[],E=new s({values:p,index:_,ptr:S,size:[d,d]}),B=[],M,z,q=[],O=[];for(M=0;M{var{typed:r,abs:t,add:u,multiply:n,transpose:i,divideScalar:a,subtract:s,larger:c,largerEq:h,SparseMatrix:o}=e,f=zf({add:u,multiply:n,transpose:i}),v=Uf({abs:t,divideScalar:a,multiply:n,subtract:s,larger:c,largerEq:h,SparseMatrix:o});return r(Sn,{"SparseMatrix, number, number":function(d,l,m){if(!Be(l)||l<0||l>3)throw new Error("Symbolic Ordering and Analysis order must be an integer number in the interval [0, 3]");if(m<0||m>1)throw new Error("Partial pivoting threshold must be a number from 0 to 1");var g=f(l,d,!1),y=v(d,g,m);return{L:y.L,U:y.U,p:y.pinv,q:g.q,toString:function(){return"L: "+this.L.toString()+` +U: `+this.U.toString()+` +p: `+this.p.toString()+(this.q?` +q: `+this.q.toString():"")+` +`}}}})});function Bn(e,r){var t,u=r.length,n=[];if(e)for(t=0;t{var{typed:r,matrix:t,lup:u,slu:n,usolve:i,lsolve:a,DenseMatrix:s}=e,c=qt({DenseMatrix:s});return r(Mn,{"Array, Array | Matrix":function(v,D){v=t(v);var d=u(v),l=o(d.L,d.U,d.p,null,D);return l.valueOf()},"DenseMatrix, Array | Matrix":function(v,D){var d=u(v);return o(d.L,d.U,d.p,null,D)},"SparseMatrix, Array | Matrix":function(v,D){var d=u(v);return o(d.L,d.U,d.p,null,D)},"SparseMatrix, Array | Matrix, number, number":function(v,D,d,l){var m=n(v,d,l);return o(m.L,m.U,m.p,m.q,D)},"Object, Array | Matrix":function(v,D){return o(v.L,v.U,v.p,v.q,D)}});function h(f){if(xe(f))return f;if(Ae(f))return t(f);throw new TypeError("Invalid Matrix LU decomposition")}function o(f,v,D,d,l){f=h(f),v=h(v),D&&(l=c(f,l,!0),l._data=Bn(D,l._data));var m=a(f,l),g=i(v,m);return d&&(g._data=Bn(d,g._data)),g}}),gu=Qa({config:Fr}),Gf=ro({}),wu=uo({}),Rt=oo({}),tr=Ao({Matrix:Rt}),De=ji({BigNumber:gu,Complex:Gf,DenseMatrix:tr,Fraction:wu}),Fu=Yo({typed:De}),Pr=Xo({typed:De}),Yf=zs({typed:De}),dr=Bo({config:Fr,typed:De}),Kf=Co({typed:De}),$r=_s({typed:De}),Xf=Io({typed:De}),Ar=xo({Matrix:Rt,equalScalar:dr,typed:De}),vt=Wo({typed:De}),Qf=qo({BigNumber:gu,typed:De}),yu=Jo({typed:De}),Wf=Uo({Fraction:wu,typed:De}),He=Vo({DenseMatrix:tr,Matrix:Rt,SparseMatrix:Ar,typed:De}),kf=Js({bignumber:Qf,fraction:Wf,number:Xf}),jf=Ls({matrix:He,config:Fr,typed:De}),e0=Zs({matrix:He,typed:De}),qr=Is({isInteger:Kf,matrix:He,typed:De}),Dt=Ys({numeric:kf,typed:De}),r0=af({DenseMatrix:tr,SparseMatrix:Ar,concat:qr,config:Fr,matrix:He,typed:De}),t0=Xs({DenseMatrix:tr,divideScalar:Dt,equalScalar:dr,matrix:He,multiplyScalar:$r,subtractScalar:vt,typed:De}),n0=js({DenseMatrix:tr,SparseMatrix:Ar,concat:qr,config:Fr,matrix:He,typed:De}),u0=bs({DenseMatrix:tr,concat:qr,equalScalar:dr,matrix:He,subtractScalar:vt,typed:De,unaryMinus:yu}),i0=Ws({DenseMatrix:tr,divideScalar:Dt,equalScalar:dr,matrix:He,multiplyScalar:$r,subtractScalar:vt,typed:De}),je=pf({DenseMatrix:tr,SparseMatrix:Ar,addScalar:Pr,concat:qr,equalScalar:dr,matrix:He,typed:De}),a0=mf({addScalar:Pr,conj:Yf,multiplyScalar:$r,size:jf,typed:De}),Lt=tf({DenseMatrix:tr,SparseMatrix:Ar,concat:qr,config:Fr,matrix:He,typed:De}),o0=Bs({addScalar:Pr,dot:a0,equalScalar:dr,matrix:He,multiplyScalar:$r,typed:De}),s0=Vf({SparseMatrix:Ar,abs:Fu,add:je,divideScalar:Dt,larger:Lt,largerEq:r0,multiply:o0,subtract:u0,transpose:e0,typed:De}),f0=cf({larger:Lt,smaller:n0}),c0=vf({FibonacciHeap:f0,addScalar:Pr,equalScalar:dr}),l0=wf({DenseMatrix:tr,Spa:c0,SparseMatrix:Ar,abs:Fu,addScalar:Pr,divideScalar:Dt,equalScalar:dr,larger:Lt,matrix:He,multiplyScalar:$r,subtractScalar:vt,typed:De,unaryMinus:yu}),h0=Jf({DenseMatrix:tr,lsolve:t0,lup:l0,matrix:He,slu:s0,typed:De,usolve:i0});class v0{constructor(r=5,t=Array(r).fill(.5*Math.PI),u=Array(r).fill(0),n=-9.8){this.n=r,this.thetas=t,this.thetaDots=u,this.g=n}A(r){let t=[];for(let u=0;ui[0])]}RK4(r,t,u){let n=this.f(t,u),i=this.f(je(t,n[0].map(o=>.5*r*o)),je(u,n[1].map(o=>.5*r*o))),a=this.f(je(t,i[0].map(o=>.5*r*o)),je(u,i[1].map(o=>.5*r*o))),s=this.f(je(t,a[0].map(o=>1*r*o)),je(u,a[1].map(o=>1*r*o))),c=je(n[0],i[0].map(o=>2*o),a[0].map(o=>2*o),s[0]).map(o=>o*r/6),h=je(n[1],i[1].map(o=>2*o),a[1].map(o=>2*o),s[1]).map(o=>o*r/6);return[je(t,c),u=je(u,h)]}tick(r){let t=this.RK4(r,this.thetas,this.thetaDots);this.thetas=t[0],this.thetaDots=t[1]}get coordinates(){let r=0,t=0,u=[];for(let n=0;nmr.pcs.length);ku(r,a=>{t.w=a[0].contentRect.width,t.h=a[0].contentRect.height});const n=dt([]);for(let a=0;a<2;a++)n[a]=i(-a);function i(a=0){const s=dt({}),c=Zt(()=>new v0(mr.pcs.length,Array(mr.pcs.length).fill(1).map((o,f)=>Math.PI+(a!=0?1:-2)*Math.PI*(1-Math.random()/(f+1))/4),Array(mr.pcs.length).fill(1).map(()=>(a!=0?-4:2)*Math.random()+.5))),h=Ut([]);return Vt(()=>or.ticks,(o,f)=>{o{o.forEach((v,D)=>{var d;if(v.x*((d=f==null?void 0:f[D])==null?void 0:d.x)<0){const l=mr.full.notes[D];s[l]=!0,ti(l)}})}),{coords:h,n:u,active:s}}return(a,s)=>(Qe(),We(Ur,null,[ke("div",D0,[ke("button",{class:"p-2 border-1 border-dark-100 dark-border-light-300",onClick:s[0]||(s[0]=c=>Ze(or).stopped=!0)},s[3]||(s[3]=[ke("div",{class:"i-la-stop"},null,-1)])),ke("button",{class:"p-2 border-1 border-dark-100 dark-border-light-300",onClick:s[1]||(s[1]=c=>Ze(or).playing=!Ze(or).playing)},[Ze(or).playing?(Qe(),We("div",d0)):(Qe(),We("div",p0))]),s[4]||(s[4]=ke("div",{class:"flex-1"},null,-1)),ke("div",m0,ju(Ze(or).ticks),1)]),Ze(or).started?ei("",!0):(Qe(),We("div",{key:0,class:"absolute bottom-0 top-0 left-0 right-0 flex items-center justify-center text-2xl z-100",onClick:s[2]||(s[2]=c=>Ze(or).playing=!0)},"Press anywhere")),(Qe(),We("svg",{class:"select-none min-h-100svh min-w-full",id:"metronome",ref_key:"svg",ref:r,version:"1.1",baseProfile:"full",xmlns:"http://www.w3.org/2000/svg",style:{"user-select":"none","touch-action":"none"}},[ke("rect",{width:t.w,height:t.h,stroke:"white",fill:"#2222"},null,8,g0),ke("line",{class:"transition",x1:t.w/2,x2:t.w/2,y1:0,y2:t.h,stroke:Ze(Ht).note.velocity>0?Ze(Jt)(Ze(Ht).note.pitch):"#999"},null,8,w0),ke("circle",{cx:t.w/2,cy:t.h/10,r:8,fill:"currentColor"},null,8,F0),(Qe(!0),We(Ur,null,mt(n,(c,h)=>(Qe(),We("g",{key:c},[(Qe(!0),We(Ur,null,mt(c.coords,(o,f)=>(Qe(),We("g",{key:o},[ke("line",{x1:f===0?t.w/2:t.w/2+c.coords[f-1].x*t.h/(u.value+1),y1:f===0?t.h/10:t.h/10-c.coords[f-1].y*t.h/(u.value+1),x2:t.w/2+o.x*t.h/(u.value+1),y2:t.h/10-o.y*t.h/(u.value+1),"stroke-width":(h*2+1)*2,stroke:"currentColor"},null,8,y0)]))),128)),(Qe(!0),We(Ur,null,mt(c.coords,(o,f)=>(Qe(),We("g",{key:o},[ke("circle",{style:ri([{"transform-origin":"center","transform-box":"fill-box",transition:"transform 1s ease-in-out"},{transform:`scale(${c.active[Ze(mr).full.notes[f]]?2:1})`}]),fill:Ze(Jt)(Ze(ni)[Ze(mr).pcs[f]],4),cx:t.w/2+o.x*t.h/(u.value+1),cy:t.h/10-o.y*t.h/(u.value+1),r:(h+1)*10},null,12,A0)]))),128))]))),128))],512))],64))}};export{S0 as default}; diff --git a/assets/chunks/MultiPendulums.DzJOnZVk.js b/assets/chunks/MultiPendulums.DzJOnZVk.js deleted file mode 100644 index 061d49f8a4..0000000000 --- a/assets/chunks/MultiPendulums.DzJOnZVk.js +++ /dev/null @@ -1,31 +0,0 @@ -import{r as Xt,b as At,c as Kt,aW as au,d as Qt,x as er,y as rr,A as tr,E as Je,G as ou,I as su,F as Jr,B as Et,H as fu}from"./framework.BR0mAPCP.js";import{g as yr,K as lr,e as cu,af as Wt,C as kt,k as lu}from"./theme.ClagsQLu.js";function Wr(){return Wr=Object.assign?Object.assign.bind():function(e){for(var r=1;rthis.has(r)).values()}get(r){return hu(this.wrappedObject,r)}set(r,t){return vu(this.wrappedObject,r,t),this}has(r){return kr(this.wrappedObject,r)&&r in this.wrappedObject}entries(){return wu(this.keys(),r=>[r,this.get(r)])}forEach(r){for(var t of this.keys())r(this.get(t),t,this)}delete(r){kr(this.wrappedObject,r)&&delete this.wrappedObject[r]}clear(){for(var r of this.keys())this.delete(r)}get size(){return Object.keys(this.wrappedObject).length}}function wu(e,r){return{next:()=>{var t=e.next();return t.done?t:{value:r(t.value),done:!1}}}}function Fe(e){return typeof e=="number"}function ze(e){return!e||typeof e!="object"||typeof e.constructor!="function"?!1:e.isBigNumber===!0&&typeof e.constructor.prototype=="object"&&e.constructor.prototype.isBigNumber===!0||typeof e.constructor.isDecimal=="function"&&e.constructor.isDecimal(e)===!0}function Fu(e){return typeof e=="bigint"}function qn(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isComplex===!0||!1}function Rn(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isFraction===!0||!1}function Ln(e){return e&&e.constructor.prototype.isUnit===!0||!1}function or(e){return typeof e=="string"}var Ce=Array.isArray;function Te(e){return e&&e.constructor.prototype.isMatrix===!0||!1}function jr(e){return Array.isArray(e)||Te(e)}function Un(e){return e&&e.isDenseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function Zn(e){return e&&e.isSparseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function yu(e){return e&&e.constructor.prototype.isRange===!0||!1}function $t(e){return e&&e.constructor.prototype.isIndex===!0||!1}function Au(e){return typeof e=="boolean"}function Eu(e){return e&&e.constructor.prototype.isResultSet===!0||!1}function Cu(e){return e&&e.constructor.prototype.isHelp===!0||!1}function _u(e){return typeof e=="function"}function Mu(e){return e instanceof Date}function Bu(e){return e instanceof RegExp}function qt(e){return!!(e&&typeof e=="object"&&e.constructor===Object&&!qn(e)&&!Rn(e))}function Su(e){return e?e instanceof Map||e instanceof gu||typeof e.set=="function"&&typeof e.get=="function"&&typeof e.keys=="function"&&typeof e.has=="function":!1}function bu(e){return e===null}function xu(e){return e===void 0}function Nu(e){return e&&e.isAccessorNode===!0&&e.constructor.prototype.isNode===!0||!1}function Tu(e){return e&&e.isArrayNode===!0&&e.constructor.prototype.isNode===!0||!1}function zu(e){return e&&e.isAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function Ou(e){return e&&e.isBlockNode===!0&&e.constructor.prototype.isNode===!0||!1}function Iu(e){return e&&e.isConditionalNode===!0&&e.constructor.prototype.isNode===!0||!1}function Pu(e){return e&&e.isConstantNode===!0&&e.constructor.prototype.isNode===!0||!1}function $u(e){return e&&e.isFunctionAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function qu(e){return e&&e.isFunctionNode===!0&&e.constructor.prototype.isNode===!0||!1}function Ru(e){return e&&e.isIndexNode===!0&&e.constructor.prototype.isNode===!0||!1}function Lu(e){return e&&e.isNode===!0&&e.constructor.prototype.isNode===!0||!1}function Uu(e){return e&&e.isObjectNode===!0&&e.constructor.prototype.isNode===!0||!1}function Zu(e){return e&&e.isOperatorNode===!0&&e.constructor.prototype.isNode===!0||!1}function Vu(e){return e&&e.isParenthesisNode===!0&&e.constructor.prototype.isNode===!0||!1}function Hu(e){return e&&e.isRangeNode===!0&&e.constructor.prototype.isNode===!0||!1}function Ju(e){return e&&e.isRelationalNode===!0&&e.constructor.prototype.isNode===!0||!1}function Yu(e){return e&&e.isSymbolNode===!0&&e.constructor.prototype.isNode===!0||!1}function Gu(e){return e&&e.constructor.prototype.isChain===!0||!1}function pr(e){var r=typeof e;return r==="object"?e===null?"null":ze(e)?"BigNumber":e.constructor&&e.constructor.name?e.constructor.name:"Object":r}function _e(e){var r=typeof e;if(r==="number"||r==="bigint"||r==="string"||r==="boolean"||e===null||e===void 0)return e;if(typeof e.clone=="function")return e.clone();if(Array.isArray(e))return e.map(function(t){return _e(t)});if(e instanceof Date)return new Date(e.valueOf());if(ze(e))return e;if(qt(e))return Xu(e,_e);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(e,")"))}function Xu(e,r){var t={};for(var i in e)$r(e,i)&&(t[i]=r(e[i]));return t}function Ku(e,r){for(var t in r)$r(r,t)&&(e[t]=r[t]);return e}function dr(e,r){var t,i,n;if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(i=0,n=e.length;i1&&arguments[1]!==void 0?arguments[1]:"any";const N=S?f(S).index:n.length,$=[];for(let q=0;q{const $=i.get(N);return!$.isAny&&$.test(C)});return S.length?S:["any"]}function v(C){return C&&typeof C=="function"&&"_typedFunctionData"in C}function D(C,S,N){if(!v(C))throw new TypeError(en);const $=N&&N.exact,U=Array.isArray(S)?S.join(","):S,q=A(U),G=m(q);if(!$||G in C.signatures){const de=C._typedFunctionData.signatureMap.get(G);if(de)return de}const V=q.length;let X;if($){X=[];let de;for(de in C.signatures)X.push(C._typedFunctionData.signatureMap.get(de))}else X=C._typedFunctionData.signatures;for(let de=0;de!ke.has(je.name)))continue}Me.push(Ve)}}if(X=Me,X.length===0)break}let Z;for(Z of X)if(Z.params.length<=V)return Z;throw new TypeError("Signature not found (signature: "+(C.name||"unnamed")+"("+m(q,", ")+"))")}function d(C,S,N){return D(C,S,N).implementation}function l(C,S){const N=f(S);if(N.test(C))return C;const $=N.conversionsTo;if($.length===0)throw new Error("There are no conversions to "+S+" defined.");for(let U=0;U<$.length;U++)if(f($[U].from).test(C))return $[U].convert(C);throw new Error("Cannot convert "+C+" to "+S)}function m(C){let S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return C.map(N=>N.name).join(S)}function g(C){const S=C.indexOf("...")===0,$=(S?C.length>3?C.slice(3):"any":C).split("|").map(V=>f(V.trim()));let U=!1,q=S?"...":"";return{types:$.map(function(V){return U=V.isAny||U,q+=V.name+"|",{name:V.name,typeIndex:V.index,test:V.test,isAny:V.isAny,conversion:null,conversionIndex:-1}}),name:q.slice(0,-1),hasAny:U,hasConversion:!1,restParam:S}}function y(C){const S=C.types.map(G=>G.name),N=Y(S);let $=C.hasAny,U=C.name;const q=N.map(function(G){const V=f(G.from);return $=V.isAny||$,U+="|"+G.from,{name:G.from,typeIndex:V.index,test:V.test,isAny:V.isAny,conversion:G,conversionIndex:G.index}});return{types:C.types.concat(q),name:U,hasAny:$,hasConversion:q.length>0,restParam:C.restParam}}function w(C){return C.typeSet||(C.typeSet=new Set,C.types.forEach(S=>C.typeSet.add(S.name))),C.typeSet}function A(C){const S=[];if(typeof C!="string")throw new TypeError("Signatures must be strings");const N=C.trim();if(N==="")return S;const $=N.split(",");for(let U=0;U<$.length;++U){const q=g($[U].trim());if(q.restParam&&U!==$.length-1)throw new SyntaxError('Unexpected rest parameter "'+$[U]+'": only allowed for the last parameter');if(q.types.length===0)return null;S.push(q)}return S}function F(C){const S=ae(C);return S?S.restParam:!1}function p(C){if(!C||C.types.length===0)return jt;if(C.types.length===1)return f(C.types[0].name).test;if(C.types.length===2){const S=f(C.types[0].name).test,N=f(C.types[1].name).test;return function(U){return S(U)||N(U)}}else{const S=C.types.map(function(N){return f(N.name).test});return function($){for(let U=0;U=U+1}}else return C.length===0?function(q){return q.length===0}:C.length===1?(N=p(C[0]),function(q){return N(q[0])&&q.length===1}):C.length===2?(N=p(C[0]),$=p(C[1]),function(q){return N(q[0])&&$(q[1])&&q.length===2}):(S=C.map(p),function(q){for(let G=0;G{const U=E($.params,S);let q;for(q of U)N.add(q)}),N.has("any")?["any"]:Array.from(N)}function z(C,S,N){let $,U;const q=C||"unnamed";let G=N,V;for(V=0;V{const Ve=M(Me.params,V),Le=p(Ve);(V0){const Me=s(S[V]);return $=new TypeError("Unexpected type of argument in function "+q+" (expected: "+U.join(" or ")+", actual: "+Me.join(" | ")+", index: "+V+")"),$.data={category:"wrongType",fn:q,index:V,actual:Me,expected:U},$}}else G=we}const X=G.map(function(we){return F(we.params)?1/0:we.params.length});if(S.lengthZ)return $=new TypeError("Too many arguments in function "+q+" (expected: "+Z+", actual: "+S.length+")"),$.data={category:"tooManyArgs",fn:q,index:S.length,expectedLength:Z},$;const de=[];for(let we=0;we0)return 1;const $=P(C)-P(S);return $<0?-1:$>0?1:0}function x(C,S){const N=C.params,$=S.params,U=ae(N),q=ae($),G=F(N),V=F($);if(G&&U.hasAny){if(!V||!q.hasAny)return 1}else if(V&&q.hasAny)return-1;let X=0,Z=0,de;for(de of N)de.hasAny&&++X,de.hasConversion&&++Z;let we=0,Me=0;for(de of $)de.hasAny&&++we,de.hasConversion&&++Me;if(X!==we)return X-we;if(G&&U.hasConversion){if(!V||!q.hasConversion)return 1}else if(V&&q.hasConversion)return-1;if(Z!==Me)return Z-Me;if(G){if(!V)return 1}else if(V)return-1;const Ve=(N.length-$.length)*(G?-1:1);if(Ve!==0)return Ve;const Le=[];let ke=0;for(let Mr=0;Mr1&&S.sort((U,q)=>U.index-q.index);let N=S[0].conversionsTo;if(C.length===1)return N;N=N.concat([]);const $=new Set(C);for(let U=1;UU.hasConversion)){const U=F(C),q=C.map(T);N=function(){const V=[],X=U?arguments.length-1:arguments.length;for(let Z=0;ZX.name).join("|"),hasAny:V.some(X=>X.isAny),hasConversion:!1,restParam:!0}),G.push(q)}else G=q.types.map(function(V){return{types:[V],name:V.name,hasAny:V.isAny,hasConversion:V.conversion,restParam:!1}});return me(G,function(V){return S(N,$+1,U.concat([V]))})}else return[U]}return S(C,0,[])}function K(C,S){const N=Math.max(C.length,S.length);for(let V=0;V=$:G?$>=U:$===U}function ue(C){return C.map(S=>Ie(S)?Be(S.referToSelf.callback):Ze(S)?le(S.referTo.references,S.referTo.callback):S)}function te(C,S,N){const $=[];let U;for(U of C){let q=N[U];if(typeof q!="number")throw new TypeError('No definition for referenced signature "'+U+'"');if(q=S[q],typeof q!="function")return!1;$.push(q)}return $}function k(C,S,N){const $=ue(C),U=new Array($.length).fill(!1);let q=!0;for(;q;){q=!1;let G=!0;for(let V=0;V<$.length;++V){if(U[V])continue;const X=$[V];if(Ie(X))$[V]=X.referToSelf.callback(N),$[V].referToSelf=X.referToSelf,U[V]=!0,G=!1;else if(Ze(X)){const Z=te(X.referTo.references,$,S);Z?($[V]=X.referTo.callback.apply(this,Z),$[V].referTo=X.referTo,U[V]=!0,G=!1):q=!0}}if(G&&q)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return $}function ve(C){const S=/\bthis(\(|\.signatures\b)/;Object.keys(C).forEach(N=>{const $=C[N];if(S.test($.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}function se(C,S){if(o.createCount++,Object.keys(S).length===0)throw new SyntaxError("No signatures provided");o.warnAgainstDeprecatedThis&&ve(S);const N=[],$=[],U={},q=[];let G;for(G in S){if(!Object.prototype.hasOwnProperty.call(S,G))continue;const De=A(G);if(!De)continue;N.forEach(function(Pr){if(K(Pr,De))throw new TypeError('Conflicting signatures "'+m(Pr)+'" and "'+m(De)+'".')}),N.push(De);const He=$.length;$.push(S[G]);const iu=De.map(y);let Hr;for(Hr of J(iu)){const Pr=m(Hr);q.push({params:Hr,name:Pr,fn:He}),Hr.every(uu=>!uu.hasConversion)&&(U[Pr]=He)}}q.sort(x);const V=k($,U,Ir);let X;for(X in U)Object.prototype.hasOwnProperty.call(U,X)&&(U[X]=V[U[X]]);const Z=[],de=new Map;for(X of q)de.has(X.name)||(X.fn=V[X.fn],Z.push(X),de.set(X.name,X));const we=Z[0]&&Z[0].params.length<=2&&!F(Z[0].params),Me=Z[1]&&Z[1].params.length<=2&&!F(Z[1].params),Ve=Z[2]&&Z[2].params.length<=2&&!F(Z[2].params),Le=Z[3]&&Z[3].params.length<=2&&!F(Z[3].params),ke=Z[4]&&Z[4].params.length<=2&&!F(Z[4].params),je=Z[5]&&Z[5].params.length<=2&&!F(Z[5].params),Mr=we&&Me&&Ve&&Le&&ke&&je;for(let De=0;DeDe.test),tu=Z.map(De=>De.implementation),nu=function(){for(let He=ji;Hem(A(N))),S=ae(arguments);if(typeof S!="function")throw new TypeError("Callback function expected as last argument");return le(C,S)}function le(C,S){return{referTo:{references:C,callback:S}}}function Be(C){if(typeof C!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:C}}}function Ze(C){return C&&typeof C.referTo=="object"&&Array.isArray(C.referTo.references)&&typeof C.referTo.callback=="function"}function Ie(C){return C&&typeof C.referToSelf=="object"&&typeof C.referToSelf.callback=="function"}function ce(C,S){if(!C)return S;if(S&&S!==C){const N=new Error("Function names do not match (expected: "+C+", actual: "+S+")");throw N.data={actual:S,expected:C},N}return C}function Pe(C){let S;for(const N in C)Object.prototype.hasOwnProperty.call(C,N)&&(v(C[N])||typeof C[N].signature=="string")&&(S=ce(S,C[N].name));return S}function We(C,S){let N;for(N in S)if(Object.prototype.hasOwnProperty.call(S,N)){if(N in C&&S[N]!==C[N]){const $=new Error('Signature "'+N+'" is defined twice');throw $.data={signature:N,sourceFunction:S[N],destFunction:C[N]},$}C[N]=S[N]}}const yt=o;o=function(C){const S=typeof C=="string",N=S?1:0;let $=S?C:"";const U={};for(let q=N;q1&&arguments[1]!==void 0?arguments[1]:{override:!1};Or(C);const N=f(C.to),$=N.conversionsTo.find(U=>U.from===C.from);if($)if(S&&S.override)o.removeConversion({from:$.from,to:C.to,convert:$.convert});else throw new Error('There is already a conversion from "'+C.from+'" to "'+N.name+'"');N.conversionsTo.push({from:C.from,convert:C.convert,index:u++})},o.addConversions=function(C,S){C.forEach(N=>o.addConversion(N,S))},o.removeConversion=function(C){Or(C);const S=f(C.to),N=Ae(S.conversionsTo,U=>U.from===C.from);if(!N)throw new Error("Attempt to remove nonexistent conversion from "+C.from+" to "+C.to);if(N.convert!==C.convert)throw new Error("Conversion to remove does not match existing conversion");const $=S.conversionsTo.indexOf(N);S.conversionsTo.splice($,1)},o.resolve=function(C,S){if(!v(C))throw new TypeError(en);const N=C._typedFunctionData.signatures;for(let $=0;$!ea(u)).every(u=>t[u]!==void 0);if(!i){var n=r.filter(u=>t[u]===void 0);throw new Error('Cannot create function "'.concat(e,'", ')+"some dependencies are missing: ".concat(n.map(u=>'"'.concat(u,'"')).join(", "),"."))}}function ea(e){return e&&e[0]==="?"}function ra(e){return e&&e[0]==="?"?e.slice(1):e}function be(e){return typeof e=="boolean"?!0:isFinite(e)?e===Math.round(e):!1}function Ct(e,r,t){var i={2:"0b",8:"0o",16:"0x"},n=i[r],u="";if(t){if(t<1)throw new Error("size must be in greater than 0");if(!be(t))throw new Error("size must be an integer");if(e>2**(t-1)-1||e<-(2**(t-1)))throw new Error("Value must be in range [-2^".concat(t-1,", 2^").concat(t-1,"-1]"));if(!be(e))throw new Error("Value must be an integer");e<0&&(e=e+2**t),u="i".concat(t)}var o="";return e<0&&(e=-e,o="-"),"".concat(o).concat(n).concat(e.toString(r)).concat(u)}function St(e,r){if(typeof r=="function")return r(e);if(e===1/0)return"Infinity";if(e===-1/0)return"-Infinity";if(isNaN(e))return"NaN";var{notation:t,precision:i,wordSize:n}=Hn(r);switch(t){case"fixed":return na(e,i);case"exponential":return Jn(e,i);case"engineering":return ta(e,i);case"bin":return Ct(e,2,n);case"oct":return Ct(e,8,n);case"hex":return Ct(e,16,n);case"auto":return ia(e,i,r).replace(/((\.\d*?)(0+))($|e)/,function(){var u=arguments[2],o=arguments[4];return u!=="."?u+o:o});default:throw new Error('Unknown notation "'+t+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Hn(e){var r="auto",t,i;if(e!==void 0)if(Fe(e))t=e;else if(ze(e))t=e.toNumber();else if(qt(e))e.precision!==void 0&&(t=rn(e.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),e.wordSize!==void 0&&(i=rn(e.wordSize,()=>{throw new Error('Option "wordSize" must be a number or BigNumber')})),e.notation&&(r=e.notation);else throw new Error("Unsupported type of options, number, BigNumber, or object expected");return{notation:r,precision:t,wordSize:i}}function ft(e){var r=String(e).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!r)throw new SyntaxError("Invalid number "+e);var t=r[1],i=r[2],n=parseFloat(r[4]||"0"),u=i.indexOf(".");n+=u!==-1?u-1:i.length-1;var o=i.replace(".","").replace(/^0*/,function(f){return n-=f.length,""}).replace(/0*$/,"").split("").map(function(f){return parseInt(f)});return o.length===0&&(o.push(0),n++),{sign:t,coefficients:o,exponent:n}}function ta(e,r){if(isNaN(e)||!isFinite(e))return String(e);var t=ft(e),i=ct(t,r),n=i.exponent,u=i.coefficients,o=n%3===0?n:n<0?n-3-n%3:n-n%3;if(Fe(r))for(;r>u.length||n-o+1>u.length;)u.push(0);else for(var f=Math.abs(n-o)-(u.length-1),c=0;c0;)a++,h--;var s=u.slice(a).join(""),v=Fe(r)&&s.length||s.match(/[1-9]/)?"."+s:"",D=u.slice(0,a).join("")+v+"e"+(n>=0?"+":"")+o.toString();return i.sign+D}function na(e,r){if(isNaN(e)||!isFinite(e))return String(e);var t=ft(e),i=typeof r=="number"?ct(t,t.exponent+1+r):t,n=i.coefficients,u=i.exponent+1,o=u+(r||0);return n.length0?"."+n.join(""):"")+"e"+(u>=0?"+":"")+u}function ia(e,r,t){if(isNaN(e)||!isFinite(e))return String(e);var i=tn(t==null?void 0:t.lowerExp,-3),n=tn(t==null?void 0:t.upperExp,5),u=ft(e),o=r?ct(u,r):u;if(o.exponent=n)return Jn(e,r);var f=o.coefficients,c=o.exponent;f.length0?c:0;return hr){var n=i.splice(r,i.length-r);if(n[0]>=5){var u=r-1;for(i[u]++;i[u]===10;)i.pop(),u===0&&(i.unshift(0),t.exponent++,u++),u--,i[u]++}}return t}function Nr(e){for(var r=[],t=0;t2&&arguments[2]!==void 0?arguments[2]:1e-8,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(t<=0)throw new Error("Relative tolerance must be greater than 0");if(i<0)throw new Error("Absolute tolerance must be at least 0");return isNaN(e)||isNaN(r)?!1:!isFinite(e)||!isFinite(r)?e===r:e===r?!0:Math.abs(e-r)<=Math.max(t*Math.max(Math.abs(e),Math.abs(r)),i)}function rn(e,r){if(Fe(e))return e;if(ze(e))return e.toNumber();r()}function tn(e,r){return Fe(e)?e:ze(e)?e.toNumber():r}var Yn=function(){return Yn=et.create,et},aa=["?BigNumber","?Complex","?DenseMatrix","?Fraction"],oa=W("typed",aa,function(r){var{BigNumber:t,Complex:i,DenseMatrix:n,Fraction:u}=r,o=Yn();return o.clear(),o.addTypes([{name:"number",test:Fe},{name:"Complex",test:qn},{name:"BigNumber",test:ze},{name:"bigint",test:Fu},{name:"Fraction",test:Rn},{name:"Unit",test:Ln},{name:"identifier",test:f=>or&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(f)},{name:"string",test:or},{name:"Chain",test:Gu},{name:"Array",test:Ce},{name:"Matrix",test:Te},{name:"DenseMatrix",test:Un},{name:"SparseMatrix",test:Zn},{name:"Range",test:yu},{name:"Index",test:$t},{name:"boolean",test:Au},{name:"ResultSet",test:Eu},{name:"Help",test:Cu},{name:"function",test:_u},{name:"Date",test:Mu},{name:"RegExp",test:Bu},{name:"null",test:bu},{name:"undefined",test:xu},{name:"AccessorNode",test:Nu},{name:"ArrayNode",test:Tu},{name:"AssignmentNode",test:zu},{name:"BlockNode",test:Ou},{name:"ConditionalNode",test:Iu},{name:"ConstantNode",test:Pu},{name:"FunctionNode",test:qu},{name:"FunctionAssignmentNode",test:$u},{name:"IndexNode",test:Ru},{name:"Node",test:Lu},{name:"ObjectNode",test:Uu},{name:"OperatorNode",test:Zu},{name:"ParenthesisNode",test:Vu},{name:"RangeNode",test:Hu},{name:"RelationalNode",test:Ju},{name:"SymbolNode",test:Yu},{name:"Map",test:Su},{name:"Object",test:qt}]),o.addConversions([{from:"number",to:"BigNumber",convert:function(c){if(t||Yr(c),ua(c)>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+c+"). Use function bignumber(x) to convert to BigNumber.");return new t(c)}},{from:"number",to:"Complex",convert:function(c){return i||Gr(c),new i(c,0)}},{from:"BigNumber",to:"Complex",convert:function(c){return i||Gr(c),new i(c.toNumber(),0)}},{from:"bigint",to:"number",convert:function(c){if(c>Number.MAX_SAFE_INTEGER)throw new TypeError("Cannot implicitly convert bigint to number: value exceeds the max safe integer value (value: "+c+")");return Number(c)}},{from:"bigint",to:"BigNumber",convert:function(c){return t||Yr(c),new t(c.toString())}},{from:"bigint",to:"Fraction",convert:function(c){return u||Xr(c),new u(c.toString())}},{from:"Fraction",to:"BigNumber",convert:function(c){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(c){return i||Gr(c),new i(c.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(c){u||Xr(c);var h=new u(c);if(h.valueOf()!==c)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+c+"). Use function fraction(x) to convert to Fraction.");return h}},{from:"string",to:"number",convert:function(c){var h=Number(c);if(isNaN(h))throw new Error('Cannot convert "'+c+'" to a number');return h}},{from:"string",to:"BigNumber",convert:function(c){t||Yr(c);try{return new t(c)}catch{throw new Error('Cannot convert "'+c+'" to BigNumber')}}},{from:"string",to:"bigint",convert:function(c){try{return BigInt(c)}catch{throw new Error('Cannot convert "'+c+'" to BigInt')}}},{from:"string",to:"Fraction",convert:function(c){u||Xr(c);try{return new u(c)}catch{throw new Error('Cannot convert "'+c+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(c){i||Gr(c);try{return new i(c)}catch{throw new Error('Cannot convert "'+c+'" to Complex')}}},{from:"boolean",to:"number",convert:function(c){return+c}},{from:"boolean",to:"BigNumber",convert:function(c){return t||Yr(c),new t(+c)}},{from:"boolean",to:"bigint",convert:function(c){return BigInt(+c)}},{from:"boolean",to:"Fraction",convert:function(c){return u||Xr(c),new u(+c)}},{from:"boolean",to:"string",convert:function(c){return String(c)}},{from:"Array",to:"Matrix",convert:function(c){return n||sa(),new n(c)}},{from:"Matrix",to:"Array",convert:function(c){return c.valueOf()}}]),o.onMismatch=(f,c,h)=>{var a=o.createError(f,c,h);if(["wrongType","mismatch"].includes(a.data.category)&&c.length===1&&jr(c[0])&&h.some(v=>!v.params.includes(","))){var s=new TypeError("Function '".concat(f,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(f,")'."));throw s.data=a.data,s}throw a},o.onMismatch=(f,c,h)=>{var a=o.createError(f,c,h);if(["wrongType","mismatch"].includes(a.data.category)&&c.length===1&&jr(c[0])&&h.some(v=>!v.params.includes(","))){var s=new TypeError("Function '".concat(f,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(f,")'."));throw s.data=a.data,s}throw a},o});function Yr(e){throw new Error("Cannot convert value ".concat(e," into a BigNumber: no class 'BigNumber' provided"))}function Gr(e){throw new Error("Cannot convert value ".concat(e," into a Complex number: no class 'Complex' provided"))}function sa(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}function Xr(e){throw new Error("Cannot convert value ".concat(e," into a Fraction, no class 'Fraction' provided."))}/*! - * decimal.js v10.4.3 - * An arbitrary-precision Decimal type for JavaScript. - * https://github.com/MikeMcl/decimal.js - * Copyright (c) 2022 Michael Mclaughlin - * MIT Licence - */var br=9e15,gr=1e9,bt="0123456789abcdef",rt="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",tt="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",xt={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-br,maxE:br,crypto:!1},Gn,cr,ne=!0,lt="[DecimalError] ",mr=lt+"Invalid argument: ",Xn=lt+"Precision limit exceeded",Kn=lt+"crypto unavailable",Qn="[object Decimal]",Re=Math.floor,Se=Math.pow,fa=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ca=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,la=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Wn=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ur=1e7,re=7,ha=9007199254740991,va=rt.length-1,Nt=tt.length-1,R={toStringTag:Qn};R.absoluteValue=R.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),j(e)};R.ceil=function(){return j(new this.constructor(this),this.e+1,2)};R.clampedTo=R.clamp=function(e,r){var t,i=this,n=i.constructor;if(e=new n(e),r=new n(r),!e.s||!r.s)return new n(NaN);if(e.gt(r))throw Error(mr+r);return t=i.cmp(e),t<0?e:i.cmp(r)>0?r:new n(i)};R.comparedTo=R.cmp=function(e){var r,t,i,n,u=this,o=u.d,f=(e=new u.constructor(e)).d,c=u.s,h=e.s;if(!o||!f)return!c||!h?NaN:c!==h?c:o===f?0:!o^c<0?1:-1;if(!o[0]||!f[0])return o[0]?c:f[0]?-h:0;if(c!==h)return c;if(u.e!==e.e)return u.e>e.e^c<0?1:-1;for(i=o.length,n=f.length,r=0,t=if[r]^c<0?1:-1;return i===n?0:i>n^c<0?1:-1};R.cosine=R.cos=function(){var e,r,t=this,i=t.constructor;return t.d?t.d[0]?(e=i.precision,r=i.rounding,i.precision=e+Math.max(t.e,t.sd())+re,i.rounding=1,t=Da(i,ti(i,t)),i.precision=e,i.rounding=r,j(cr==2||cr==3?t.neg():t,e,r,!0)):new i(1):new i(NaN)};R.cubeRoot=R.cbrt=function(){var e,r,t,i,n,u,o,f,c,h,a=this,s=a.constructor;if(!a.isFinite()||a.isZero())return new s(a);for(ne=!1,u=a.s*Se(a.s*a,1/3),!u||Math.abs(u)==1/0?(t=Oe(a.d),e=a.e,(u=(e-t.length+1)%3)&&(t+=u==1||u==-2?"0":"00"),u=Se(t,1/3),e=Re((e+1)/3)-(e%3==(e<0?-1:2)),u==1/0?t="5e"+e:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),i=new s(t),i.s=a.s):i=new s(u.toString()),o=(e=s.precision)+3;;)if(f=i,c=f.times(f).times(f),h=c.plus(a),i=ge(h.plus(a).times(f),h.plus(c),o+2,1),Oe(f.d).slice(0,o)===(t=Oe(i.d)).slice(0,o))if(t=t.slice(o-3,o+1),t=="9999"||!n&&t=="4999"){if(!n&&(j(f,e+1,0),f.times(f).times(f).eq(a))){i=f;break}o+=4,n=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(j(i,e+1,1),r=!i.times(i).times(i).eq(a));break}return ne=!0,j(i,e,s.rounding,r)};R.decimalPlaces=R.dp=function(){var e,r=this.d,t=NaN;if(r){if(e=r.length-1,t=(e-Re(this.e/re))*re,e=r[e],e)for(;e%10==0;e/=10)t--;t<0&&(t=0)}return t};R.dividedBy=R.div=function(e){return ge(this,new this.constructor(e))};R.dividedToIntegerBy=R.divToInt=function(e){var r=this,t=r.constructor;return j(ge(r,new t(e),0,1,1),t.precision,t.rounding)};R.equals=R.eq=function(e){return this.cmp(e)===0};R.floor=function(){return j(new this.constructor(this),this.e+1,3)};R.greaterThan=R.gt=function(e){return this.cmp(e)>0};R.greaterThanOrEqualTo=R.gte=function(e){var r=this.cmp(e);return r==1||r===0};R.hyperbolicCosine=R.cosh=function(){var e,r,t,i,n,u=this,o=u.constructor,f=new o(1);if(!u.isFinite())return new o(u.s?1/0:NaN);if(u.isZero())return f;t=o.precision,i=o.rounding,o.precision=t+Math.max(u.e,u.sd())+4,o.rounding=1,n=u.d.length,n<32?(e=Math.ceil(n/3),r=(1/vt(4,e)).toString()):(e=16,r="2.3283064365386962890625e-10"),u=Tr(o,1,u.times(r),new o(1),!0);for(var c,h=e,a=new o(8);h--;)c=u.times(u),u=f.minus(c.times(a.minus(c.times(a))));return j(u,o.precision=t,o.rounding=i,!0)};R.hyperbolicSine=R.sinh=function(){var e,r,t,i,n=this,u=n.constructor;if(!n.isFinite()||n.isZero())return new u(n);if(r=u.precision,t=u.rounding,u.precision=r+Math.max(n.e,n.sd())+4,u.rounding=1,i=n.d.length,i<3)n=Tr(u,2,n,n,!0);else{e=1.4*Math.sqrt(i),e=e>16?16:e|0,n=n.times(1/vt(5,e)),n=Tr(u,2,n,n,!0);for(var o,f=new u(5),c=new u(16),h=new u(20);e--;)o=n.times(n),n=n.times(f.plus(o.times(c.times(o).plus(h))))}return u.precision=r,u.rounding=t,j(n,r,t,!0)};R.hyperbolicTangent=R.tanh=function(){var e,r,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(e=i.precision,r=i.rounding,i.precision=e+7,i.rounding=1,ge(t.sinh(),t.cosh(),i.precision=e,i.rounding=r)):new i(t.s)};R.inverseCosine=R.acos=function(){var e,r=this,t=r.constructor,i=r.abs().cmp(1),n=t.precision,u=t.rounding;return i!==-1?i===0?r.isNeg()?ir(t,n,u):new t(0):new t(NaN):r.isZero()?ir(t,n+4,u).times(.5):(t.precision=n+6,t.rounding=1,r=r.asin(),e=ir(t,n+4,u).times(.5),t.precision=n,t.rounding=u,e.minus(r))};R.inverseHyperbolicCosine=R.acosh=function(){var e,r,t=this,i=t.constructor;return t.lte(1)?new i(t.eq(1)?0:NaN):t.isFinite()?(e=i.precision,r=i.rounding,i.precision=e+Math.max(Math.abs(t.e),t.sd())+4,i.rounding=1,ne=!1,t=t.times(t).minus(1).sqrt().plus(t),ne=!0,i.precision=e,i.rounding=r,t.ln()):new i(t)};R.inverseHyperbolicSine=R.asinh=function(){var e,r,t=this,i=t.constructor;return!t.isFinite()||t.isZero()?new i(t):(e=i.precision,r=i.rounding,i.precision=e+2*Math.max(Math.abs(t.e),t.sd())+6,i.rounding=1,ne=!1,t=t.times(t).plus(1).sqrt().plus(t),ne=!0,i.precision=e,i.rounding=r,t.ln())};R.inverseHyperbolicTangent=R.atanh=function(){var e,r,t,i,n=this,u=n.constructor;return n.isFinite()?n.e>=0?new u(n.abs().eq(1)?n.s/0:n.isZero()?n:NaN):(e=u.precision,r=u.rounding,i=n.sd(),Math.max(i,e)<2*-n.e-1?j(new u(n),e,r,!0):(u.precision=t=i-n.e,n=ge(n.plus(1),new u(1).minus(n),t+e,1),u.precision=e+4,u.rounding=1,n=n.ln(),u.precision=e,u.rounding=r,n.times(.5))):new u(NaN)};R.inverseSine=R.asin=function(){var e,r,t,i,n=this,u=n.constructor;return n.isZero()?new u(n):(r=n.abs().cmp(1),t=u.precision,i=u.rounding,r!==-1?r===0?(e=ir(u,t+4,i).times(.5),e.s=n.s,e):new u(NaN):(u.precision=t+6,u.rounding=1,n=n.div(new u(1).minus(n.times(n)).sqrt().plus(1)).atan(),u.precision=t,u.rounding=i,n.times(2)))};R.inverseTangent=R.atan=function(){var e,r,t,i,n,u,o,f,c,h=this,a=h.constructor,s=a.precision,v=a.rounding;if(h.isFinite()){if(h.isZero())return new a(h);if(h.abs().eq(1)&&s+4<=Nt)return o=ir(a,s+4,v).times(.25),o.s=h.s,o}else{if(!h.s)return new a(NaN);if(s+4<=Nt)return o=ir(a,s+4,v).times(.5),o.s=h.s,o}for(a.precision=f=s+10,a.rounding=1,t=Math.min(28,f/re+2|0),e=t;e;--e)h=h.div(h.times(h).plus(1).sqrt().plus(1));for(ne=!1,r=Math.ceil(f/re),i=1,c=h.times(h),o=new a(h),n=h;e!==-1;)if(n=n.times(c),u=o.minus(n.div(i+=2)),n=n.times(c),o=u.plus(n.div(i+=2)),o.d[r]!==void 0)for(e=r;o.d[e]===u.d[e]&&e--;);return t&&(o=o.times(2<this.d.length-2};R.isNaN=function(){return!this.s};R.isNegative=R.isNeg=function(){return this.s<0};R.isPositive=R.isPos=function(){return this.s>0};R.isZero=function(){return!!this.d&&this.d[0]===0};R.lessThan=R.lt=function(e){return this.cmp(e)<0};R.lessThanOrEqualTo=R.lte=function(e){return this.cmp(e)<1};R.logarithm=R.log=function(e){var r,t,i,n,u,o,f,c,h=this,a=h.constructor,s=a.precision,v=a.rounding,D=5;if(e==null)e=new a(10),r=!0;else{if(e=new a(e),t=e.d,e.s<0||!t||!t[0]||e.eq(1))return new a(NaN);r=e.eq(10)}if(t=h.d,h.s<0||!t||!t[0]||h.eq(1))return new a(t&&!t[0]?-1/0:h.s!=1?NaN:t?0:1/0);if(r)if(t.length>1)u=!0;else{for(n=t[0];n%10===0;)n/=10;u=n!==1}if(ne=!1,f=s+D,o=Dr(h,f),i=r?nt(a,f+10):Dr(e,f),c=ge(o,i,f,1),qr(c.d,n=s,v))do if(f+=10,o=Dr(h,f),i=r?nt(a,f+10):Dr(e,f),c=ge(o,i,f,1),!u){+Oe(c.d).slice(n+1,n+15)+1==1e14&&(c=j(c,s+1,0));break}while(qr(c.d,n+=10,v));return ne=!0,j(c,s,v)};R.minus=R.sub=function(e){var r,t,i,n,u,o,f,c,h,a,s,v,D=this,d=D.constructor;if(e=new d(e),!D.d||!e.d)return!D.s||!e.s?e=new d(NaN):D.d?e.s=-e.s:e=new d(e.d||D.s!==e.s?D:NaN),e;if(D.s!=e.s)return e.s=-e.s,D.plus(e);if(h=D.d,v=e.d,f=d.precision,c=d.rounding,!h[0]||!v[0]){if(v[0])e.s=-e.s;else if(h[0])e=new d(D);else return new d(c===3?-0:0);return ne?j(e,f,c):e}if(t=Re(e.e/re),a=Re(D.e/re),h=h.slice(),u=a-t,u){for(s=u<0,s?(r=h,u=-u,o=v.length):(r=v,t=a,o=h.length),i=Math.max(Math.ceil(f/re),o)+2,u>i&&(u=i,r.length=1),r.reverse(),i=u;i--;)r.push(0);r.reverse()}else{for(i=h.length,o=v.length,s=i0;--i)h[o++]=0;for(i=v.length;i>u;){if(h[--i]o?u+1:o+1,n>o&&(n=o,t.length=1),t.reverse();n--;)t.push(0);t.reverse()}for(o=h.length,n=a.length,o-n<0&&(n=o,t=a,a=h,h=t),r=0;n;)r=(h[--n]=h[n]+a[n]+r)/ur|0,h[n]%=ur;for(r&&(h.unshift(r),++i),o=h.length;h[--o]==0;)h.pop();return e.d=h,e.e=ht(h,i),ne?j(e,f,c):e};R.precision=R.sd=function(e){var r,t=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(mr+e);return t.d?(r=kn(t.d),e&&t.e+1>r&&(r=t.e+1)):r=NaN,r};R.round=function(){var e=this,r=e.constructor;return j(new r(e),e.e+1,r.rounding)};R.sine=R.sin=function(){var e,r,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(e=i.precision,r=i.rounding,i.precision=e+Math.max(t.e,t.sd())+re,i.rounding=1,t=da(i,ti(i,t)),i.precision=e,i.rounding=r,j(cr>2?t.neg():t,e,r,!0)):new i(NaN)};R.squareRoot=R.sqrt=function(){var e,r,t,i,n,u,o=this,f=o.d,c=o.e,h=o.s,a=o.constructor;if(h!==1||!f||!f[0])return new a(!h||h<0&&(!f||f[0])?NaN:f?o:1/0);for(ne=!1,h=Math.sqrt(+o),h==0||h==1/0?(r=Oe(f),(r.length+c)%2==0&&(r+="0"),h=Math.sqrt(r),c=Re((c+1)/2)-(c<0||c%2),h==1/0?r="5e"+c:(r=h.toExponential(),r=r.slice(0,r.indexOf("e")+1)+c),i=new a(r)):i=new a(h.toString()),t=(c=a.precision)+3;;)if(u=i,i=u.plus(ge(o,u,t+2,1)).times(.5),Oe(u.d).slice(0,t)===(r=Oe(i.d)).slice(0,t))if(r=r.slice(t-3,t+1),r=="9999"||!n&&r=="4999"){if(!n&&(j(u,c+1,0),u.times(u).eq(o))){i=u;break}t+=4,n=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(j(i,c+1,1),e=!i.times(i).eq(o));break}return ne=!0,j(i,c,a.rounding,e)};R.tangent=R.tan=function(){var e,r,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(e=i.precision,r=i.rounding,i.precision=e+10,i.rounding=1,t=t.sin(),t.s=1,t=ge(t,new i(1).minus(t.times(t)).sqrt(),e+10,0),i.precision=e,i.rounding=r,j(cr==2||cr==4?t.neg():t,e,r,!0)):new i(NaN)};R.times=R.mul=function(e){var r,t,i,n,u,o,f,c,h,a=this,s=a.constructor,v=a.d,D=(e=new s(e)).d;if(e.s*=a.s,!v||!v[0]||!D||!D[0])return new s(!e.s||v&&!v[0]&&!D||D&&!D[0]&&!v?NaN:!v||!D?e.s/0:e.s*0);for(t=Re(a.e/re)+Re(e.e/re),c=v.length,h=D.length,c=0;){for(r=0,n=c+i;n>i;)f=u[n]+D[i]*v[n-i-1]+r,u[n--]=f%ur|0,r=f/ur|0;u[n]=(u[n]+r)%ur|0}for(;!u[--o];)u.pop();return r?++t:u.shift(),e.d=u,e.e=ht(u,t),ne?j(e,s.precision,s.rounding):e};R.toBinary=function(e,r){return Rt(this,2,e,r)};R.toDecimalPlaces=R.toDP=function(e,r){var t=this,i=t.constructor;return t=new i(t),e===void 0?t:(Ye(e,0,gr),r===void 0?r=i.rounding:Ye(r,0,8),j(t,e+t.e+1,r))};R.toExponential=function(e,r){var t,i=this,n=i.constructor;return e===void 0?t=sr(i,!0):(Ye(e,0,gr),r===void 0?r=n.rounding:Ye(r,0,8),i=j(new n(i),e+1,r),t=sr(i,!0,e+1)),i.isNeg()&&!i.isZero()?"-"+t:t};R.toFixed=function(e,r){var t,i,n=this,u=n.constructor;return e===void 0?t=sr(n):(Ye(e,0,gr),r===void 0?r=u.rounding:Ye(r,0,8),i=j(new u(n),e+n.e+1,r),t=sr(i,!1,e+i.e+1)),n.isNeg()&&!n.isZero()?"-"+t:t};R.toFraction=function(e){var r,t,i,n,u,o,f,c,h,a,s,v,D=this,d=D.d,l=D.constructor;if(!d)return new l(D);if(h=t=new l(1),i=c=new l(0),r=new l(i),u=r.e=kn(d)-D.e-1,o=u%re,r.d[0]=Se(10,o<0?re+o:o),e==null)e=u>0?r:h;else{if(f=new l(e),!f.isInt()||f.lt(h))throw Error(mr+f);e=f.gt(r)?u>0?r:h:f}for(ne=!1,f=new l(Oe(d)),a=l.precision,l.precision=u=d.length*re*2;s=ge(f,r,0,1,1),n=t.plus(s.times(i)),n.cmp(e)!=1;)t=i,i=n,n=h,h=c.plus(s.times(n)),c=n,n=r,r=f.minus(s.times(n)),f=n;return n=ge(e.minus(t),i,0,1,1),c=c.plus(n.times(h)),t=t.plus(n.times(i)),c.s=h.s=D.s,v=ge(h,i,u,1).minus(D).abs().cmp(ge(c,t,u,1).minus(D).abs())<1?[h,i]:[c,t],l.precision=a,ne=!0,v};R.toHexadecimal=R.toHex=function(e,r){return Rt(this,16,e,r)};R.toNearest=function(e,r){var t=this,i=t.constructor;if(t=new i(t),e==null){if(!t.d)return t;e=new i(1),r=i.rounding}else{if(e=new i(e),r===void 0?r=i.rounding:Ye(r,0,8),!t.d)return e.s?t:e;if(!e.d)return e.s&&(e.s=t.s),e}return e.d[0]?(ne=!1,t=ge(t,e,0,r,1).times(e),ne=!0,j(t)):(e.s=t.s,t=e),t};R.toNumber=function(){return+this};R.toOctal=function(e,r){return Rt(this,8,e,r)};R.toPower=R.pow=function(e){var r,t,i,n,u,o,f=this,c=f.constructor,h=+(e=new c(e));if(!f.d||!e.d||!f.d[0]||!e.d[0])return new c(Se(+f,h));if(f=new c(f),f.eq(1))return f;if(i=c.precision,u=c.rounding,e.eq(1))return j(f,i,u);if(r=Re(e.e/re),r>=e.d.length-1&&(t=h<0?-h:h)<=ha)return n=jn(c,f,t,i),e.s<0?new c(1).div(n):j(n,i,u);if(o=f.s,o<0){if(rc.maxE+1||r0?o/0:0):(ne=!1,c.rounding=f.s=1,t=Math.min(12,(r+"").length),n=Tt(e.times(Dr(f,i+t)),i),n.d&&(n=j(n,i+5,1),qr(n.d,i,u)&&(r=i+10,n=j(Tt(e.times(Dr(f,r+t)),r),r+5,1),+Oe(n.d).slice(i+1,i+15)+1==1e14&&(n=j(n,i+1,0)))),n.s=o,ne=!0,c.rounding=u,j(n,i,u))};R.toPrecision=function(e,r){var t,i=this,n=i.constructor;return e===void 0?t=sr(i,i.e<=n.toExpNeg||i.e>=n.toExpPos):(Ye(e,1,gr),r===void 0?r=n.rounding:Ye(r,0,8),i=j(new n(i),e,r),t=sr(i,e<=i.e||i.e<=n.toExpNeg,e)),i.isNeg()&&!i.isZero()?"-"+t:t};R.toSignificantDigits=R.toSD=function(e,r){var t=this,i=t.constructor;return e===void 0?(e=i.precision,r=i.rounding):(Ye(e,1,gr),r===void 0?r=i.rounding:Ye(r,0,8)),j(new i(t),e,r)};R.toString=function(){var e=this,r=e.constructor,t=sr(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()&&!e.isZero()?"-"+t:t};R.truncated=R.trunc=function(){return j(new this.constructor(this),this.e+1,1)};R.valueOf=R.toJSON=function(){var e=this,r=e.constructor,t=sr(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()?"-"+t:t};function Oe(e){var r,t,i,n=e.length-1,u="",o=e[0];if(n>0){for(u+=o,r=1;rt)throw Error(mr+e)}function qr(e,r,t,i){var n,u,o,f;for(u=e[0];u>=10;u/=10)--r;return--r<0?(r+=re,n=0):(n=Math.ceil((r+1)/re),r%=re),u=Se(10,re-r),f=e[n]%u|0,i==null?r<3?(r==0?f=f/100|0:r==1&&(f=f/10|0),o=t<4&&f==99999||t>3&&f==49999||f==5e4||f==0):o=(t<4&&f+1==u||t>3&&f+1==u/2)&&(e[n+1]/u/100|0)==Se(10,r-2)-1||(f==u/2||f==0)&&(e[n+1]/u/100|0)==0:r<4?(r==0?f=f/1e3|0:r==1?f=f/100|0:r==2&&(f=f/10|0),o=(i||t<4)&&f==9999||!i&&t>3&&f==4999):o=((i||t<4)&&f+1==u||!i&&t>3&&f+1==u/2)&&(e[n+1]/u/1e3|0)==Se(10,r-3)-1,o}function Kr(e,r,t){for(var i,n=[0],u,o=0,f=e.length;ot-1&&(n[i+1]===void 0&&(n[i+1]=0),n[i+1]+=n[i]/t|0,n[i]%=t)}return n.reverse()}function Da(e,r){var t,i,n;if(r.isZero())return r;i=r.d.length,i<32?(t=Math.ceil(i/3),n=(1/vt(4,t)).toString()):(t=16,n="2.3283064365386962890625e-10"),e.precision+=t,r=Tr(e,1,r.times(n),new e(1));for(var u=t;u--;){var o=r.times(r);r=o.times(o).minus(o).times(8).plus(1)}return e.precision-=t,r}var ge=function(){function e(i,n,u){var o,f=0,c=i.length;for(i=i.slice();c--;)o=i[c]*n+f,i[c]=o%u|0,f=o/u|0;return f&&i.unshift(f),i}function r(i,n,u,o){var f,c;if(u!=o)c=u>o?1:-1;else for(f=c=0;fn[f]?1:-1;break}return c}function t(i,n,u,o){for(var f=0;u--;)i[u]-=f,f=i[u]1;)i.shift()}return function(i,n,u,o,f,c){var h,a,s,v,D,d,l,m,g,y,w,A,F,p,_,M,E,B,b,z,L=i.constructor,P=i.s==n.s?1:-1,I=i.d,x=n.d;if(!I||!I[0]||!x||!x[0])return new L(!i.s||!n.s||(I?x&&I[0]==x[0]:!x)?NaN:I&&I[0]==0||!x?P*0:P/0);for(c?(D=1,a=i.e-n.e):(c=ur,D=re,a=Re(i.e/D)-Re(n.e/D)),b=x.length,E=I.length,g=new L(P),y=g.d=[],s=0;x[s]==(I[s]||0);s++);if(x[s]>(I[s]||0)&&a--,u==null?(p=u=L.precision,o=L.rounding):f?p=u+(i.e-n.e)+1:p=u,p<0)y.push(1),d=!0;else{if(p=p/D+2|0,s=0,b==1){for(v=0,x=x[0],p++;(s1&&(x=e(x,v,c),I=e(I,v,c),b=x.length,E=I.length),M=b,w=I.slice(0,b),A=w.length;A=c/2&&++B;do v=0,h=r(x,w,b,A),h<0?(F=w[0],b!=A&&(F=F*c+(w[1]||0)),v=F/B|0,v>1?(v>=c&&(v=c-1),l=e(x,v,c),m=l.length,A=w.length,h=r(l,w,m,A),h==1&&(v--,t(l,b=10;v/=10)s++;g.e=s+a*D-1,j(g,f?u+g.e+1:u,o,d)}return g}}();function j(e,r,t,i){var n,u,o,f,c,h,a,s,v,D=e.constructor;e:if(r!=null){if(s=e.d,!s)return e;for(n=1,f=s[0];f>=10;f/=10)n++;if(u=r-n,u<0)u+=re,o=r,a=s[v=0],c=a/Se(10,n-o-1)%10|0;else if(v=Math.ceil((u+1)/re),f=s.length,v>=f)if(i){for(;f++<=v;)s.push(0);a=c=0,n=1,u%=re,o=u-re+1}else break e;else{for(a=f=s[v],n=1;f>=10;f/=10)n++;u%=re,o=u-re+n,c=o<0?0:a/Se(10,n-o-1)%10|0}if(i=i||r<0||s[v+1]!==void 0||(o<0?a:a%Se(10,n-o-1)),h=t<4?(c||i)&&(t==0||t==(e.s<0?3:2)):c>5||c==5&&(t==4||i||t==6&&(u>0?o>0?a/Se(10,n-o):0:s[v-1])%10&1||t==(e.s<0?8:7)),r<1||!s[0])return s.length=0,h?(r-=e.e+1,s[0]=Se(10,(re-r%re)%re),e.e=-r||0):s[0]=e.e=0,e;if(u==0?(s.length=v,f=1,v--):(s.length=v+1,f=Se(10,re-u),s[v]=o>0?(a/Se(10,n-o)%Se(10,o)|0)*f:0),h)for(;;)if(v==0){for(u=1,o=s[0];o>=10;o/=10)u++;for(o=s[0]+=f,f=1;o>=10;o/=10)f++;u!=f&&(e.e++,s[0]==ur&&(s[0]=1));break}else{if(s[v]+=f,s[v]!=ur)break;s[v--]=0,f=1}for(u=s.length;s[--u]===0;)s.pop()}return ne&&(e.e>D.maxE?(e.d=null,e.e=NaN):e.e0?u=u.charAt(0)+"."+u.slice(1)+hr(i):o>1&&(u=u.charAt(0)+"."+u.slice(1)),u=u+(e.e<0?"e":"e+")+e.e):n<0?(u="0."+hr(-n-1)+u,t&&(i=t-o)>0&&(u+=hr(i))):n>=o?(u+=hr(n+1-o),t&&(i=t-n-1)>0&&(u=u+"."+hr(i))):((i=n+1)0&&(n+1===o&&(u+="."),u+=hr(i))),u}function ht(e,r){var t=e[0];for(r*=re;t>=10;t/=10)r++;return r}function nt(e,r,t){if(r>va)throw ne=!0,t&&(e.precision=t),Error(Xn);return j(new e(rt),r,1,!0)}function ir(e,r,t){if(r>Nt)throw Error(Xn);return j(new e(tt),r,t,!0)}function kn(e){var r=e.length-1,t=r*re+1;if(r=e[r],r){for(;r%10==0;r/=10)t--;for(r=e[0];r>=10;r/=10)t++}return t}function hr(e){for(var r="";e--;)r+="0";return r}function jn(e,r,t,i){var n,u=new e(1),o=Math.ceil(i/re+4);for(ne=!1;;){if(t%2&&(u=u.times(r),un(u.d,o)&&(n=!0)),t=Re(t/2),t===0){t=u.d.length-1,n&&u.d[t]===0&&++u.d[t];break}r=r.times(r),un(r.d,o)}return ne=!0,u}function nn(e){return e.d[e.d.length-1]&1}function ei(e,r,t){for(var i,n=new e(r[0]),u=0;++u17)return new v(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(r==null?(ne=!1,c=d):c=r,f=new v(.03125);e.e>-2;)e=e.times(f),s+=5;for(i=Math.log(Se(2,s))/Math.LN10*2+5|0,c+=i,t=u=o=new v(1),v.precision=c;;){if(u=j(u.times(e),c,1),t=t.times(++a),f=o.plus(ge(u,t,c,1)),Oe(f.d).slice(0,c)===Oe(o.d).slice(0,c)){for(n=s;n--;)o=j(o.times(o),c,1);if(r==null)if(h<3&&qr(o.d,c-i,D,h))v.precision=c+=10,t=u=f=new v(1),a=0,h++;else return j(o,v.precision=d,D,ne=!0);else return v.precision=d,o}o=f}}function Dr(e,r){var t,i,n,u,o,f,c,h,a,s,v,D=1,d=10,l=e,m=l.d,g=l.constructor,y=g.rounding,w=g.precision;if(l.s<0||!m||!m[0]||!l.e&&m[0]==1&&m.length==1)return new g(m&&!m[0]?-1/0:l.s!=1?NaN:m?0:l);if(r==null?(ne=!1,a=w):a=r,g.precision=a+=d,t=Oe(m),i=t.charAt(0),Math.abs(u=l.e)<15e14){for(;i<7&&i!=1||i==1&&t.charAt(1)>3;)l=l.times(e),t=Oe(l.d),i=t.charAt(0),D++;u=l.e,i>1?(l=new g("0."+t),u++):l=new g(i+"."+t.slice(1))}else return h=nt(g,a+2,w).times(u+""),l=Dr(new g(i+"."+t.slice(1)),a-d).plus(h),g.precision=w,r==null?j(l,w,y,ne=!0):l;for(s=l,c=o=l=ge(l.minus(1),l.plus(1),a,1),v=j(l.times(l),a,1),n=3;;){if(o=j(o.times(v),a,1),h=c.plus(ge(o,new g(n),a,1)),Oe(h.d).slice(0,a)===Oe(c.d).slice(0,a))if(c=c.times(2),u!==0&&(c=c.plus(nt(g,a+2,w).times(u+""))),c=ge(c,new g(D),a,1),r==null)if(qr(c.d,a-d,y,f))g.precision=a+=d,h=o=l=ge(s.minus(1),s.plus(1),a,1),v=j(l.times(l),a,1),n=f=1;else return j(c,g.precision=w,y,ne=!0);else return g.precision=w,c;c=h,n+=2}}function ri(e){return String(e.s*e.s/0)}function zt(e,r){var t,i,n;for((t=r.indexOf("."))>-1&&(r=r.replace(".","")),(i=r.search(/e/i))>0?(t<0&&(t=i),t+=+r.slice(i+1),r=r.substring(0,i)):t<0&&(t=r.length),i=0;r.charCodeAt(i)===48;i++);for(n=r.length;r.charCodeAt(n-1)===48;--n);if(r=r.slice(i,n),r){if(n-=i,e.e=t=t-i-1,e.d=[],i=(t+1)%re,t<0&&(i+=re),ie.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(r=r.replace(/(\d)_(?=\d)/g,"$1"),Wn.test(r))return zt(e,r)}else if(r==="Infinity"||r==="NaN")return+r||(e.s=NaN),e.e=NaN,e.d=null,e;if(ca.test(r))t=16,r=r.toLowerCase();else if(fa.test(r))t=2;else if(la.test(r))t=8;else throw Error(mr+r);for(u=r.search(/p/i),u>0?(c=+r.slice(u+1),r=r.substring(2,u)):r=r.slice(2),u=r.indexOf("."),o=u>=0,i=e.constructor,o&&(r=r.replace(".",""),f=r.length,u=f-u,n=jn(i,new i(t),u,u*2)),h=Kr(r,t,ur),a=h.length-1,u=a;h[u]===0;--u)h.pop();return u<0?new i(e.s*0):(e.e=ht(h,a),e.d=h,ne=!1,o&&(e=ge(e,n,f*4)),c&&(e=e.times(Math.abs(c)<54?Se(2,c):zr.pow(2,c))),ne=!0,e)}function da(e,r){var t,i=r.d.length;if(i<3)return r.isZero()?r:Tr(e,2,r,r);t=1.4*Math.sqrt(i),t=t>16?16:t|0,r=r.times(1/vt(5,t)),r=Tr(e,2,r,r);for(var n,u=new e(5),o=new e(16),f=new e(20);t--;)n=r.times(r),r=r.times(u.plus(n.times(o.times(n).minus(f))));return r}function Tr(e,r,t,i,n){var u,o,f,c,h=e.precision,a=Math.ceil(h/re);for(ne=!1,c=t.times(t),f=new e(i);;){if(o=ge(f.times(c),new e(r++*r++),h,1),f=n?i.plus(o):i.minus(o),i=ge(o.times(c),new e(r++*r++),h,1),o=f.plus(i),o.d[a]!==void 0){for(u=a;o.d[u]===f.d[u]&&u--;);if(u==-1)break}u=f,f=i,i=o,o=u}return ne=!0,o.d.length=a+1,o}function vt(e,r){for(var t=e;--r;)t*=e;return t}function ti(e,r){var t,i=r.s<0,n=ir(e,e.precision,1),u=n.times(.5);if(r=r.abs(),r.lte(u))return cr=i?4:1,r;if(t=r.divToInt(n),t.isZero())cr=i?3:2;else{if(r=r.minus(t.times(n)),r.lte(u))return cr=nn(t)?i?2:3:i?4:1,r;cr=nn(t)?i?1:4:i?3:2}return r.minus(n).abs()}function Rt(e,r,t,i){var n,u,o,f,c,h,a,s,v,D=e.constructor,d=t!==void 0;if(d?(Ye(t,1,gr),i===void 0?i=D.rounding:Ye(i,0,8)):(t=D.precision,i=D.rounding),!e.isFinite())a=ri(e);else{for(a=sr(e),o=a.indexOf("."),d?(n=2,r==16?t=t*4-3:r==8&&(t=t*3-2)):n=r,o>=0&&(a=a.replace(".",""),v=new D(1),v.e=a.length-o,v.d=Kr(sr(v),10,n),v.e=v.d.length),s=Kr(a,10,n),u=c=s.length;s[--c]==0;)s.pop();if(!s[0])a=d?"0p+0":"0";else{if(o<0?u--:(e=new D(e),e.d=s,e.e=u,e=ge(e,v,t,i,0,n),s=e.d,u=e.e,h=Gn),o=s[t],f=n/2,h=h||s[t+1]!==void 0,h=i<4?(o!==void 0||h)&&(i===0||i===(e.s<0?3:2)):o>f||o===f&&(i===4||h||i===6&&s[t-1]&1||i===(e.s<0?8:7)),s.length=t,h)for(;++s[--t]>n-1;)s[t]=0,t||(++u,s.unshift(1));for(c=s.length;!s[c-1];--c);for(o=0,a="";o1)if(r==16||r==8){for(o=r==16?4:3,--c;c%o;c++)a+="0";for(s=Kr(a,n,r),c=s.length;!s[c-1];--c);for(o=1,a="1.";oc)for(u-=c;u--;)a+="0";else ur)return e.length=r,!0}function ma(e){return new this(e).abs()}function ga(e){return new this(e).acos()}function wa(e){return new this(e).acosh()}function Fa(e,r){return new this(e).plus(r)}function ya(e){return new this(e).asin()}function Aa(e){return new this(e).asinh()}function Ea(e){return new this(e).atan()}function Ca(e){return new this(e).atanh()}function _a(e,r){e=new this(e),r=new this(r);var t,i=this.precision,n=this.rounding,u=i+4;return!e.s||!r.s?t=new this(NaN):!e.d&&!r.d?(t=ir(this,u,1).times(r.s>0?.25:.75),t.s=e.s):!r.d||e.isZero()?(t=r.s<0?ir(this,i,n):new this(0),t.s=e.s):!e.d||r.isZero()?(t=ir(this,u,1).times(.5),t.s=e.s):r.s<0?(this.precision=u,this.rounding=1,t=this.atan(ge(e,r,u,1)),r=ir(this,u,1),this.precision=i,this.rounding=n,t=e.s<0?t.minus(r):t.plus(r)):t=this.atan(ge(e,r,u,1)),t}function Ma(e){return new this(e).cbrt()}function Ba(e){return j(e=new this(e),e.e+1,2)}function Sa(e,r,t){return new this(e).clamp(r,t)}function ba(e){if(!e||typeof e!="object")throw Error(lt+"Object expected");var r,t,i,n=e.defaults===!0,u=["precision",1,gr,"rounding",0,8,"toExpNeg",-br,0,"toExpPos",0,br,"maxE",0,br,"minE",-br,0,"modulo",0,9];for(r=0;r=u[r+1]&&i<=u[r+2])this[t]=i;else throw Error(mr+t+": "+i);if(t="crypto",n&&(this[t]=xt[t]),(i=e[t])!==void 0)if(i===!0||i===!1||i===0||i===1)if(i)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(Kn);else this[t]=!1;else throw Error(mr+t+": "+i);return this}function xa(e){return new this(e).cos()}function Na(e){return new this(e).cosh()}function ni(e){var r,t,i;function n(u){var o,f,c,h=this;if(!(h instanceof n))return new n(u);if(h.constructor=n,an(u)){h.s=u.s,ne?!u.d||u.e>n.maxE?(h.e=NaN,h.d=null):u.e=10;f/=10)o++;ne?o>n.maxE?(h.e=NaN,h.d=null):o=429e7?r[u]=crypto.getRandomValues(new Uint32Array(1))[0]:f[u++]=n%1e7;else if(crypto.randomBytes){for(r=crypto.randomBytes(i*=4);u=214e7?crypto.randomBytes(4).copy(r,u):(f.push(n%1e7),u+=4);u=i/4}else throw Error(Kn);else for(;u=10;n/=10)i++;i{var{on:r,config:t}=e,i=zr.clone({precision:t.precision,modulo:zr.EUCLID});return i.prototype=Object.create(i.prototype),i.prototype.type="BigNumber",i.prototype.isBigNumber=!0,i.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},i.fromJSON=function(n){return new i(n.value)},r&&r("config",function(n,u){n.precision!==u.precision&&i.config({precision:n.precision})}),i},{isClass:!0});const $e=Math.cosh||function(e){return Math.abs(e)<1e-9?1-e:(Math.exp(e)+Math.exp(-e))*.5},Qe=Math.sinh||function(e){return Math.abs(e)<1e-9?e:(Math.exp(e)-Math.exp(-e))*.5},uo=function(e){const r=Math.PI/4;if(-r>e||e>r)return Math.cos(e)-1;const t=e*e;return t*(t*(t*(t*(t*(t*(t*(t/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-1/2)},_t=function(e,r){return e=Math.abs(e),r=Math.abs(r),e0&&Sr();break;case"number":t.im=0,t.re=e;break;default:Sr()}return isNaN(t.re)||isNaN(t.im),t};function O(e,r){if(!(this instanceof O))return new O(e,r);const t=Ar(e,r);this.re=t.re,this.im=t.im}O.prototype={re:0,im:0,sign:function(){const e=_t(this.re,this.im);return new O(this.re/e,this.im/e)},add:function(e,r){const t=Ar(e,r),i=this.isInfinite(),n=!(isFinite(t.re)&&isFinite(t.im));return i||n?i&&n?O.NAN:O.INFINITY:new O(this.re+t.re,this.im+t.im)},sub:function(e,r){const t=Ar(e,r),i=this.isInfinite(),n=!(isFinite(t.re)&&isFinite(t.im));return i||n?i&&n?O.NAN:O.INFINITY:new O(this.re-t.re,this.im-t.im)},mul:function(e,r){const t=Ar(e,r),i=this.isInfinite(),n=!(isFinite(t.re)&&isFinite(t.im)),u=this.re===0&&this.im===0,o=t.re===0&&t.im===0;return i&&o||n&&u?O.NAN:i||n?O.INFINITY:t.im===0&&this.im===0?new O(this.re*t.re,0):new O(this.re*t.re-this.im*t.im,this.re*t.im+this.im*t.re)},div:function(e,r){const t=Ar(e,r),i=this.isInfinite(),n=!(isFinite(t.re)&&isFinite(t.im)),u=this.re===0&&this.im===0,o=t.re===0&&t.im===0;if(u&&o||i&&n)return O.NAN;if(o||i)return O.INFINITY;if(u||n)return O.ZERO;if(t.im===0)return new O(this.re/t.re,this.im/t.re);if(Math.abs(t.re)0)return new O(Math.pow(this.re,t.re),0);if(this.re===0)switch((t.re%4+4)%4){case 0:return new O(Math.pow(this.im,t.re),0);case 1:return new O(0,Math.pow(this.im,t.re));case 2:return new O(-Math.pow(this.im,t.re),0);case 3:return new O(0,-Math.pow(this.im,t.re))}}if(i&&t.re>0)return O.ZERO;const u=Math.atan2(this.im,this.re),o=Mt(this.re,this.im);let f=Math.exp(t.re*o-t.im*u),c=t.im*o+t.re*u;return new O(f*Math.cos(c),f*Math.sin(c))},sqrt:function(){const e=this.re,r=this.im;if(r===0)return e>=0?new O(Math.sqrt(e),0):new O(0,Math.sqrt(-e));const t=_t(e,r);let i=Math.sqrt(.5*(t+Math.abs(e))),n=Math.abs(r)/(2*i);return e>=0?new O(i,r<0?-n:n):new O(n,r<0?-i:i)},exp:function(){const e=Math.exp(this.re);return this.im===0?new O(e,0):new O(e*Math.cos(this.im),e*Math.sin(this.im))},expm1:function(){const e=this.re,r=this.im;return new O(Math.expm1(e)*Math.cos(r)+uo(r),Math.exp(e)*Math.sin(r))},log:function(){const e=this.re,r=this.im;return r===0&&e>0?new O(Math.log(e),0):new O(Mt(e,r),Math.atan2(r,e))},abs:function(){return _t(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){const e=this.re,r=this.im;return new O(Math.sin(e)*$e(r),Math.cos(e)*Qe(r))},cos:function(){const e=this.re,r=this.im;return new O(Math.cos(e)*$e(r),-Math.sin(e)*Qe(r))},tan:function(){const e=2*this.re,r=2*this.im,t=Math.cos(e)+$e(r);return new O(Math.sin(e)/t,Qe(r)/t)},cot:function(){const e=2*this.re,r=2*this.im,t=Math.cos(e)-$e(r);return new O(-Math.sin(e)/t,Qe(r)/t)},sec:function(){const e=this.re,r=this.im,t=.5*$e(2*r)+.5*Math.cos(2*e);return new O(Math.cos(e)*$e(r)/t,Math.sin(e)*Qe(r)/t)},csc:function(){const e=this.re,r=this.im,t=.5*$e(2*r)-.5*Math.cos(2*e);return new O(Math.sin(e)*$e(r)/t,-Math.cos(e)*Qe(r)/t)},asin:function(){const e=this.re,r=this.im,t=new O(r*r-e*e+1,-2*e*r).sqrt(),i=new O(t.re-r,t.im+e).log();return new O(i.im,-i.re)},acos:function(){const e=this.re,r=this.im,t=new O(r*r-e*e+1,-2*e*r).sqrt(),i=new O(t.re-r,t.im+e).log();return new O(Math.PI/2-i.im,i.re)},atan:function(){const e=this.re,r=this.im;if(e===0){if(r===1)return new O(0,1/0);if(r===-1)return new O(0,-1/0)}const t=e*e+(1-r)*(1-r),i=new O((1-r*r-e*e)/t,-2*e/t).log();return new O(-.5*i.im,.5*i.re)},acot:function(){const e=this.re,r=this.im;if(r===0)return new O(Math.atan2(1,e),0);const t=e*e+r*r;return t!==0?new O(e/t,-r/t).atan():new O(e!==0?e/0:0,r!==0?-r/0:0).atan()},asec:function(){const e=this.re,r=this.im;if(e===0&&r===0)return new O(0,1/0);const t=e*e+r*r;return t!==0?new O(e/t,-r/t).acos():new O(e!==0?e/0:0,r!==0?-r/0:0).acos()},acsc:function(){const e=this.re,r=this.im;if(e===0&&r===0)return new O(Math.PI/2,1/0);const t=e*e+r*r;return t!==0?new O(e/t,-r/t).asin():new O(e!==0?e/0:0,r!==0?-r/0:0).asin()},sinh:function(){const e=this.re,r=this.im;return new O(Qe(e)*Math.cos(r),$e(e)*Math.sin(r))},cosh:function(){const e=this.re,r=this.im;return new O($e(e)*Math.cos(r),Qe(e)*Math.sin(r))},tanh:function(){const e=2*this.re,r=2*this.im,t=$e(e)+Math.cos(r);return new O(Qe(e)/t,Math.sin(r)/t)},coth:function(){const e=2*this.re,r=2*this.im,t=$e(e)-Math.cos(r);return new O(Qe(e)/t,-Math.sin(r)/t)},csch:function(){const e=this.re,r=this.im,t=Math.cos(2*r)-$e(2*e);return new O(-2*Qe(e)*Math.cos(r)/t,2*$e(e)*Math.sin(r)/t)},sech:function(){const e=this.re,r=this.im,t=Math.cos(2*r)+$e(2*e);return new O(2*$e(e)*Math.cos(r)/t,-2*Qe(e)*Math.sin(r)/t)},asinh:function(){let e=this.im;this.im=-this.re,this.re=e;const r=this.asin();return this.re=-this.im,this.im=e,e=r.re,r.re=-r.im,r.im=e,r},acosh:function(){const e=this.acos();if(e.im<=0){const r=e.re;e.re=-e.im,e.im=r}else{const r=e.im;e.im=-e.re,e.re=r}return e},atanh:function(){const e=this.re,r=this.im,t=e>1&&r===0,i=1-e,n=1+e,u=i*i+r*r,o=u!==0?new O((n*i-r*r)/u,(r*i+n*r)/u):new O(e!==-1?e/0:0,r!==0?r/0:0),f=o.re;return o.re=Mt(o.re,o.im)/2,o.im=Math.atan2(o.im,f)/2,t&&(o.im=-o.im),o},acoth:function(){const e=this.re,r=this.im;if(e===0&&r===0)return new O(0,Math.PI/2);const t=e*e+r*r;return t!==0?new O(e/t,-r/t).atanh():new O(e!==0?e/0:0,r!==0?-r/0:0).atanh()},acsch:function(){const e=this.re,r=this.im;if(r===0)return new O(e!==0?Math.log(e+Math.sqrt(e*e+1)):1/0,0);const t=e*e+r*r;return t!==0?new O(e/t,-r/t).asinh():new O(e!==0?e/0:0,r!==0?-r/0:0).asinh()},asech:function(){const e=this.re,r=this.im;if(this.isZero())return O.INFINITY;const t=e*e+r*r;return t!==0?new O(e/t,-r/t).acosh():new O(e!==0?e/0:0,r!==0?-r/0:0).acosh()},inverse:function(){if(this.isZero())return O.INFINITY;if(this.isInfinite())return O.ZERO;const e=this.re,r=this.im,t=e*e+r*r;return new O(e/t,-r/t)},conjugate:function(){return new O(this.re,-this.im)},neg:function(){return new O(-this.re,-this.im)},ceil:function(e){return e=Math.pow(10,e||0),new O(Math.ceil(this.re*e)/e,Math.ceil(this.im*e)/e)},floor:function(e){return e=Math.pow(10,e||0),new O(Math.floor(this.re*e)/e,Math.floor(this.im*e)/e)},round:function(e){return e=Math.pow(10,e||0),new O(Math.round(this.re*e)/e,Math.round(this.im*e)/e)},equals:function(e,r){const t=Ar(e,r);return Math.abs(t.re-this.re)<=O.EPSILON&&Math.abs(t.im-this.im)<=O.EPSILON},clone:function(){return new O(this.re,this.im)},toString:function(){let e=this.re,r=this.im,t="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(e)(Object.defineProperty(O,"name",{value:"Complex"}),O.prototype.constructor=O,O.prototype.type="Complex",O.prototype.isComplex=!0,O.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},O.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},O.prototype.format=function(e){var r="",t=this.im,i=this.re,n=St(this.re,e),u=St(this.im,e),o=Fe(e)?e:e?e.precision:null;if(o!==null){var f=Math.pow(10,-o);Math.abs(i/t)r.re?1:e.rer.im?1:e.im1&&(r[t]=(r[t]||0)+1):r[e]=(r[e]||0)+1,r}var Ge=function(e,r){var t=0,i=1,n=1,u=0,o=0,f=0,c=1,h=1,a=0,s=1,v=1,D=1,d=1e7,l;if(e!=null)if(r!==void 0){if(t=e,i=r,n=t*i,t%1!==0||i%1!==0)throw Do()}else switch(typeof e){case"object":{if("d"in e&&"n"in e)t=e.n,i=e.d,"s"in e&&(t*=e.s);else if(0 in e)t=e[0],1 in e&&(i=e[1]);else throw Qr();n=t*i;break}case"number":{if(e<0&&(n=e,e=-e),e%1===0)t=e;else if(e>0){for(e>=1&&(h=Math.pow(10,Math.floor(1+Math.log(e)/Math.LN10)),e/=h);s<=d&&D<=d;)if(l=(a+v)/(s+D),e===l){s+D<=d?(t=a+v,i=s+D):D>s?(t=v,i=D):(t=a,i=s);break}else e>l?(a+=v,s+=D):(v+=a,D+=s),s>d?(t=v,i=D):(t=a,i=s);t*=h}else(isNaN(e)||isNaN(r))&&(i=t=NaN);break}case"string":{if(s=e.match(/\d+|./g),s===null)throw Qr();if(s[a]==="-"?(n=-1,a++):s[a]==="+"&&a++,s.length===a+1?o=fr(s[a++],n):s[a+1]==="."||s[a]==="."?(s[a]!=="."&&(u=fr(s[a++],n)),a++,(a+1===s.length||s[a+1]==="("&&s[a+3]===")"||s[a+1]==="'"&&s[a+3]==="'")&&(o=fr(s[a],n),c=Math.pow(10,s[a].length),a++),(s[a]==="("&&s[a+2]===")"||s[a]==="'"&&s[a+2]==="'")&&(f=fr(s[a+1],n),h=Math.pow(10,s[a+1].length)-1,a+=3)):s[a+1]==="/"||s[a+1]===":"?(o=fr(s[a],n),c=fr(s[a+2],1),a+=3):s[a+3]==="/"&&s[a+1]===" "&&(u=fr(s[a],n),o=fr(s[a+2],n),c=fr(s[a+4],1),a+=5),s.length<=a){i=c*h,n=t=f+i*u+h*o;break}}default:throw Qr()}if(i===0)throw Lt();Q.s=n<0?-1:1,Q.n=Math.abs(t),Q.d=Math.abs(i)};function lo(e,r,t){for(var i=1;r>0;e=e*e%t,r>>=1)r&1&&(i=i*e%t);return i}function ho(e,r){for(;r%2===0;r/=2);for(;r%5===0;r/=5);if(r===1)return 0;for(var t=10%r,i=1;t!==1;i++)if(t=t*10%r,i>co)return 0;return i}function vo(e,r,t){for(var i=1,n=lo(10,t,r),u=0;u<300;u++){if(i===n)return u;i=i*10%r,n=n*10%r}return 0}function xr(e,r){if(!e)return r;if(!r)return e;for(;;){if(e%=r,!e)return r;if(r%=e,!r)return e}}function qe(e,r){if(Ge(e,r),this instanceof qe)e=xr(Q.d,Q.n),this.s=Q.s,this.n=Q.n/e,this.d=Q.d/e;else return ye(Q.s*Q.n,Q.d)}var Lt=function(){return new Error("Division by Zero")},Qr=function(){return new Error("Invalid argument")},Do=function(){return new Error("Parameters must be integer")};qe.prototype={s:1,n:0,d:1,abs:function(){return ye(this.n,this.d)},neg:function(){return ye(-this.s*this.n,this.d)},add:function(e,r){return Ge(e,r),ye(this.s*this.n*Q.d+Q.s*this.d*Q.n,this.d*Q.d)},sub:function(e,r){return Ge(e,r),ye(this.s*this.n*Q.d-Q.s*this.d*Q.n,this.d*Q.d)},mul:function(e,r){return Ge(e,r),ye(this.s*Q.s*this.n*Q.n,this.d*Q.d)},div:function(e,r){return Ge(e,r),ye(this.s*Q.s*this.n*Q.d,this.d*Q.n)},clone:function(){return ye(this.s*this.n,this.d)},mod:function(e,r){if(isNaN(this.n)||isNaN(this.d))return new qe(NaN);if(e===void 0)return ye(this.s*this.n%this.d,1);if(Ge(e,r),Q.n===0&&this.d===0)throw Lt();return ye(this.s*(Q.d*this.n)%(Q.n*this.d),Q.d*this.d)},gcd:function(e,r){return Ge(e,r),ye(xr(Q.n,this.n)*xr(Q.d,this.d),Q.d*this.d)},lcm:function(e,r){return Ge(e,r),Q.n===0&&this.n===0?ye(0,1):ye(Q.n*this.n,xr(Q.n,this.n)*xr(Q.d,this.d))},ceil:function(e){return e=Math.pow(10,e||0),isNaN(this.n)||isNaN(this.d)?new qe(NaN):ye(Math.ceil(e*this.s*this.n/this.d),e)},floor:function(e){return e=Math.pow(10,e||0),isNaN(this.n)||isNaN(this.d)?new qe(NaN):ye(Math.floor(e*this.s*this.n/this.d),e)},round:function(e){return e=Math.pow(10,e||0),isNaN(this.n)||isNaN(this.d)?new qe(NaN):ye(Math.round(e*this.s*this.n/this.d),e)},roundTo:function(e,r){return Ge(e,r),ye(this.s*Math.round(this.n*Q.d/(this.d*Q.n))*Q.n,Q.d)},inverse:function(){return ye(this.s*this.d,this.n)},pow:function(e,r){if(Ge(e,r),Q.d===1)return Q.s<0?ye(Math.pow(this.s*this.d,Q.n),Math.pow(this.n,Q.n)):ye(Math.pow(this.s*this.n,Q.n),Math.pow(this.d,Q.n));if(this.s<0)return null;var t=on(this.n),i=on(this.d),n=1,u=1;for(var o in t)if(o!=="1"){if(o==="0"){n=0;break}if(t[o]*=Q.n,t[o]%Q.d===0)t[o]/=Q.d;else return null;n*=Math.pow(o,t[o])}for(var o in i)if(o!=="1"){if(i[o]*=Q.n,i[o]%Q.d===0)i[o]/=Q.d;else return null;u*=Math.pow(o,i[o])}return Q.s<0?ye(u,n):ye(n,u)},equals:function(e,r){return Ge(e,r),this.s*this.n*Q.d===Q.s*Q.n*this.d},compare:function(e,r){Ge(e,r);var t=this.s*this.n*Q.d-Q.s*Q.n*this.d;return(0=0;u--)n=n.inverse().add(t[u]);if(Math.abs(n.sub(r).valueOf())0&&(t+=r,t+=" ",i%=n),t+=i,t+="/",t+=n),t},toLatex:function(e){var r,t="",i=this.n,n=this.d;return this.s<0&&(t+="-"),n===1?t+=i:(e&&(r=Math.floor(i/n))>0&&(t+=r,i%=n),t+="\\frac{",t+=i,t+="}{",t+=n,t+="}"),t},toContinued:function(){var e,r=this.n,t=this.d,i=[];if(isNaN(r)||isNaN(t))return i;do i.push(Math.floor(r/t)),e=r%t,r=t,t=e;while(r!==1);return i},toString:function(e){var r=this.n,t=this.d;if(isNaN(r)||isNaN(t))return"NaN";e=e||15;var i=ho(r,t),n=vo(r,t,i),u=this.s<0?"-":"";if(u+=r/t|0,r%=t,r*=10,r&&(u+="."),i){for(var o=n;o--;)u+=r/t|0,r%=t,r*=10;u+="(";for(var o=i;o--;)u+=r/t|0,r%=t,r*=10;u+=")"}else for(var o=e;r&&o--;)u+=r/t|0,r%=t,r*=10;return u}};var po="Fraction",mo=[],go=W(po,mo,()=>(Object.defineProperty(qe,"name",{value:"Fraction"}),qe.prototype.constructor=qe,qe.prototype.type="Fraction",qe.prototype.isFraction=!0,qe.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},qe.fromJSON=function(e){return new qe(e)},qe),{isClass:!0}),wo="Matrix",Fo=[],yo=W(wo,Fo,()=>{function e(){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator")}return e.prototype.type="Matrix",e.prototype.isMatrix=!0,e.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},e.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},e.prototype.create=function(r,t){throw new Error("Cannot invoke create on a Matrix interface")},e.prototype.subset=function(r,t,i){throw new Error("Cannot invoke subset on a Matrix interface")},e.prototype.get=function(r){throw new Error("Cannot invoke get on a Matrix interface")},e.prototype.set=function(r,t,i){throw new Error("Cannot invoke set on a Matrix interface")},e.prototype.resize=function(r,t){throw new Error("Cannot invoke resize on a Matrix interface")},e.prototype.reshape=function(r,t){throw new Error("Cannot invoke reshape on a Matrix interface")},e.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},e.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},e.prototype.map=function(r,t){throw new Error("Cannot invoke map on a Matrix interface")},e.prototype.forEach=function(r){throw new Error("Cannot invoke forEach on a Matrix interface")},e.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},e.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},e.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},e.prototype.format=function(r){throw new Error("Cannot invoke format on a Matrix interface")},e.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},e},{isClass:!0});function Bt(e,r,t){var i=e.constructor,n=new i(2),u="";if(t){if(t<1)throw new Error("size must be in greater than 0");if(!be(t))throw new Error("size must be an integer");if(e.greaterThan(n.pow(t-1).sub(1))||e.lessThan(n.pow(t-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(t-1,", 2^").concat(t-1,"-1]"));if(!e.isInteger())throw new Error("Value must be an integer");e.lessThan(0)&&(e=e.add(n.pow(t))),u="i".concat(t)}switch(r){case 2:return"".concat(e.toBinary()).concat(u);case 8:return"".concat(e.toOctal()).concat(u);case 16:return"".concat(e.toHexadecimal()).concat(u);default:throw new Error("Base ".concat(r," not supported "))}}function Ao(e,r){if(typeof r=="function")return r(e);if(!e.isFinite())return e.isNaN()?"NaN":e.gt(0)?"Infinity":"-Infinity";var{notation:t,precision:i,wordSize:n}=Hn(r);switch(t){case"fixed":return Co(e,i);case"exponential":return sn(e,i);case"engineering":return Eo(e,i);case"bin":return Bt(e,2,n);case"oct":return Bt(e,8,n);case"hex":return Bt(e,16,n);case"auto":{var u=fn(r==null?void 0:r.lowerExp,-3),o=fn(r==null?void 0:r.upperExp,5);if(e.isZero())return"0";var f,c=e.toSignificantDigits(i),h=c.e;return h>=u&&h=0?"+":"")+i.toString()}function sn(e,r){return r!==void 0?e.toExponential(r-1):e.toExponential()}function Co(e,r){return e.toFixed(r)}function fn(e,r){return Fe(e)?e:ze(e)?e.toNumber():r}function Ne(e,r){var t=_o(e,r);return r&&typeof r=="object"&&"truncate"in r&&t.length>r.truncate?t.substring(0,r.truncate-3)+"...":t}function _o(e,r){if(typeof e=="number")return St(e,r);if(ze(e))return Ao(e,r);if(Mo(e))return!r||r.fraction!=="decimal"?e.s*e.n+"/"+e.d:e.toString();if(Array.isArray(e))return ii(e,r);if(or(e))return cn(e);if(typeof e=="function")return e.syntax?String(e.syntax):"function";if(e&&typeof e=="object"){if(typeof e.format=="function")return e.format(r);if(e&&e.toString(r)!=={}.toString())return e.toString(r);var t=Object.keys(e).map(i=>cn(i)+": "+Ne(e[i],r));return"{"+t.join(", ")+"}"}return String(e)}function cn(e){for(var r=String(e),t="",i=0;i=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}_r.prototype=new RangeError;_r.prototype.constructor=RangeError;_r.prototype.name="IndexError";_r.prototype.isIndexError=!0;function Ue(e){for(var r=[];Array.isArray(e);)r.push(e.length),e=e[0];return r}function ui(e,r,t){var i,n=e.length;if(n!==r[t])throw new he(n,r[t]);if(t")}function hn(e,r){var t=r.length===0;if(t){if(Array.isArray(e))throw new he(e.length,0)}else ui(e,r,0)}function Ee(e,r){if(e!==void 0){if(!Fe(e)||!be(e))throw new TypeError("Index must be an integer (value: "+e+")");if(e<0||typeof r=="number"&&e>=r)throw new _r(e,r)}}function vn(e,r,t){if(!Array.isArray(r))throw new TypeError("Array expected");if(r.length===0)throw new Error("Resizing to scalar is not supported");r.forEach(function(n){if(!Fe(n)||!be(n)||n<0)throw new TypeError("Invalid size, must contain positive integers (size: "+Ne(r)+")")}),(Fe(e)||ze(e))&&(e=[e]);var i=t!==void 0?t:0;return Ot(e,r,0,i),e}function Ot(e,r,t,i){var n,u,o=e.length,f=r[t],c=Math.min(o,f);if(e.length=f,t=0,c=r%t===0;if(f)if(c)i[u]=-r/t;else throw new Error("Could not replace wildcard, since "+r+" is no multiple of "+-t);return i}function oi(e){return e.reduce((r,t)=>r*t,1)}function Bo(e,r){for(var t=e,i,n=r.length-1;n>0;n--){var u=r[n];i=[];for(var o=t.length/u,f=0;f1)return e.slice(1).reduce(function(t,i){return ci(t,i,r,0)},e[0]);throw new Error("Wrong number of arguments in function concat")}function hi(){for(var e=arguments.length,r=new Array(e),t=0;tv.length),n=Math.max(...i),u=new Array(n).fill(null),o=0;ou[a]&&(u[a]=f[h])}for(var s=0;s1||e[n]>r[u])throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(e,") not possible to broadcast dimension ").concat(i," with size ").concat(e[n]," to size ").concat(r[u]))}}function It(e,r){var t=Ue(e);if(dr(t,r))return e;vi(t,r);var i=hi(t,r),n=i.length,u=[...Array(n-t.length).fill(1),...t],o=xo(e);t.lengthn[u],e)}function xo(e){return Wr([],e)}function it(e,r,t){if(et.isTypedFunction(e)){var i=(r.isMatrix?r.size():Ue(r)).map(()=>0),n=r.isMatrix?r.get(i):Di(r,i),u=Object.keys(e.signatures).length===1,o=No(e,n,i,r),f=u?Object.values(e.signatures)[0]:e;return o>=1&&o<=3?function(){for(var c=arguments.length,h=new Array(c),a=0;a0;u--){var o=n.slice(0,u);if(et.resolve(e,o)!==null)return u}}function Dn(e,r,t,i){try{return e(...r)}catch(n){To(n,r,t,i)}}function To(e,r,t,i){var n;if(e instanceof TypeError&&((n=e.data)===null||n===void 0?void 0:n.category)==="wrongType"){var u=[];throw u.push("value: ".concat(pr(r[0]))),r.length>=2&&u.push("index: ".concat(pr(r[1]))),r.length>=3&&u.push("array: ".concat(pr(r[2]))),new TypeError("Function ".concat(t," cannot apply callback arguments ")+"".concat(i,"(").concat(u.join(", "),") at index ").concat(JSON.stringify(r[1])))}else throw new TypeError("Function ".concat(t," cannot apply callback arguments ")+"to function ".concat(i,": ").concat(e.message))}var zo="DenseMatrix",Oo=["Matrix"],Io=W(zo,Oo,e=>{var{Matrix:r}=e;function t(a,s){if(!(this instanceof t))throw new SyntaxError("Constructor must be called with the new operator");if(s&&!or(s))throw new Error("Invalid datatype: "+s);if(Te(a))a.type==="DenseMatrix"?(this._data=_e(a._data),this._size=_e(a._size),this._datatype=s||a._datatype):(this._data=a.toArray(),this._size=a.size(),this._datatype=s||a._datatype);else if(a&&Ce(a.data)&&Ce(a.size))this._data=a.data,this._size=a.size,hn(this._data,this._size),this._datatype=s||a.datatype;else if(Ce(a))this._data=h(a),this._size=Ue(this._data),hn(this._data,this._size),this._datatype=s;else{if(a)throw new TypeError("Unsupported type of data ("+pr(a)+")");this._data=[],this._size=[0],this._datatype=s}}t.prototype=new r,t.prototype.createDenseMatrix=function(a,s){return new t(a,s)},Object.defineProperty(t,"name",{value:"DenseMatrix"}),t.prototype.constructor=t,t.prototype.type="DenseMatrix",t.prototype.isDenseMatrix=!0,t.prototype.getDataType=function(){return Zt(this._data,pr)},t.prototype.storage=function(){return"dense"},t.prototype.datatype=function(){return this._datatype},t.prototype.create=function(a,s){return new t(a,s)},t.prototype.subset=function(a,s,v){switch(arguments.length){case 1:return i(this,a);case 2:case 3:return u(this,a,s,v);default:throw new SyntaxError("Wrong number of arguments")}},t.prototype.get=function(a){return Di(this._data,a)},t.prototype.set=function(a,s,v){if(!Ce(a))throw new TypeError("Array expected");if(a.length");var w=s.max().map(function(p){return p+1});c(a,w,D);var A=d.length,F=0;o(a._data,s,v,A,F)}return a}function o(a,s,v,D,d){var l=d===D-1,m=s.dimension(d);l?m.forEach(function(g,y){Ee(g),a[g]=v[y[0]]}):m.forEach(function(g,y){Ee(g),o(a[g],s,v[y[0]],D,d+1)})}t.prototype.resize=function(a,s,v){if(!jr(a))throw new TypeError("Array or Matrix expected");var D=a.valueOf().map(l=>Array.isArray(l)&&l.length===1?l[0]:l),d=v?this.clone():this;return f(d,D,s)};function f(a,s,v){if(s.length===0){for(var D=a._data;Ce(D);)D=D[0];return D}return a._size=s.slice(0),a._data=vn(a._data,a._size,v),a}t.prototype.reshape=function(a,s){var v=s?this.clone():this;v._data=ai(v._data,a);var D=v._size.reduce((d,l)=>d*l);return v._size=Ut(a,D),v};function c(a,s,v){for(var D=a._size.slice(0),d=!1;D.lengthD[l]&&(D[l]=s[l],d=!0);d&&f(a,D,v)}t.prototype.clone=function(){var a=new t({data:_e(this._data),size:_e(this._size),datatype:this._datatype});return a},t.prototype.size=function(){return this._size.slice(0)},t.prototype._forEach=function(a){var s=this,v=s.size();if(v.length===1){for(var D=0;D=0;y--){if(d[y]++,d[y]===v[y]){d[y]=0;continue}l[y]=y===0?s._data[d[y]]:l[y-1][d[y]];for(var w=y;w[w[g]]);s.push(new t(y,a._datatype))},l=0;l0?a:0,v=a<0?-a:0,D=this._size[0],d=this._size[1],l=Math.min(D-v,d-s),m=[],g=0;g0?v:0,l=v<0?-v:0,m=a[0],g=a[1],y=Math.min(m-l,g-d),w;if(Ce(s)){if(s.length!==y)throw new Error("Invalid value array length");w=function(M){return s[M]}}else if(Te(s)){var A=s.size();if(A.length!==1||A[0]!==y)throw new Error("Invalid matrix length");w=function(M){return s.get([M])}}else w=function(){return s};D||(D=ze(w(0))?w(0).mul(0):0);var F=[];if(a.length>0){F=vn(F,a,D);for(var p=0;p{var{typed:r}=e;return r(pn,{number:be,BigNumber:function(i){return i.isInt()},bigint:function(i){return!0},Fraction:function(i){return i.d===1&&isFinite(i.n)},"Array | Matrix":r.referToSelf(t=>i=>wr(i,t))})}),pi="number",Vt="number, number";function di(e){return Math.abs(e)}di.signature=pi;function mi(e,r){return e+r}mi.signature=Vt;function gi(e,r){return e-r}gi.signature=Vt;function wi(e,r){return e*r}wi.signature=Vt;function Fi(e){return-e}Fi.signature=pi;function Dt(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-9,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(t<=0)throw new Error("Relative tolerance must be greater than 0");if(i<0)throw new Error("Absolute tolerance must be at least 0");return e.isNaN()||r.isNaN()?!1:!e.isFinite()||!r.isFinite()?e.eq(r):e.eq(r)?!0:e.minus(r).abs().lte(e.constructor.max(e.constructor.max(e.abs(),r.abs()).mul(t),i))}function qo(e,r,t,i){return Er(e.re,r.re,t,i)&&Er(e.im,r.im,t,i)}var pt=W("compareUnits",["typed"],e=>{var{typed:r}=e;return{"Unit, Unit":r.referToSelf(t=>(i,n)=>{if(!i.equalBase(n))throw new Error("Cannot compare units with different base");return r.find(t,[i.valueType(),n.valueType()])(i.value,n.value)})}}),ut="equalScalar",Ro=["typed","config"],Lo=W(ut,Ro,e=>{var{typed:r,config:t}=e,i=pt({typed:r});return r(ut,{"boolean, boolean":function(u,o){return u===o},"number, number":function(u,o){return Er(u,o,t.relTol,t.absTol)},"BigNumber, BigNumber":function(u,o){return u.eq(o)||Dt(u,o,t.relTol,t.absTol)},"bigint, bigint":function(u,o){return u===o},"Fraction, Fraction":function(u,o){return u.equals(o)},"Complex, Complex":function(u,o){return qo(u,o,t.relTol,t.absTol)}},i)});W(ut,["typed","config"],e=>{var{typed:r,config:t}=e;return r(ut,{"number, number":function(n,u){return Er(n,u,t.relTol,t.absTol)}})});var Uo="SparseMatrix",Zo=["typed","equalScalar","Matrix"],Vo=W(Uo,Zo,e=>{var{typed:r,equalScalar:t,Matrix:i}=e;function n(l,m){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(m&&!or(m))throw new Error("Invalid datatype: "+m);if(Te(l))u(this,l,m);else if(l&&Ce(l.index)&&Ce(l.ptr)&&Ce(l.size))this._values=l.values,this._index=l.index,this._ptr=l.ptr,this._size=l.size,this._datatype=m||l.datatype;else if(Ce(l))o(this,l,m);else{if(l)throw new TypeError("Unsupported type of data ("+pr(l)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=m}}function u(l,m,g){m.type==="SparseMatrix"?(l._values=m._values?_e(m._values):void 0,l._index=_e(m._index),l._ptr=_e(m._ptr),l._size=_e(m._size),l._datatype=g||m._datatype):o(l,m.valueOf(),g||m._datatype)}function o(l,m,g){l._values=[],l._index=[],l._ptr=[],l._datatype=g;var y=m.length,w=0,A=t,F=0;if(or(g)&&(A=r.find(t,[g,g])||t,F=r.convert(0,g)),y>0){var p=0;do{l._ptr.push(l._index.length);for(var _=0;_");if(w.length===1){var M=m.dimension(0);M.forEach(function(b,z){Ee(b),l.set([b,0],g[z[0]],y)})}else{var E=m.dimension(0),B=m.dimension(1);E.forEach(function(b,z){Ee(b),B.forEach(function(L,P){Ee(L),l.set([b,L],g[z[0]][P[0]],y)})})}}return l}n.prototype.get=function(l){if(!Ce(l))throw new TypeError("Array expected");if(l.length!==this._size.length)throw new he(l.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var m=l[0],g=l[1];Ee(m,this._size[0]),Ee(g,this._size[1]);var y=h(m,this._ptr[g],this._ptr[g+1],this._index);return yA-1||w>F-1)&&(v(this,Math.max(y+1,A),Math.max(w+1,F),g),A=this._size[0],F=this._size[1]),Ee(y,A),Ee(w,F);var M=h(y,this._ptr[w],this._ptr[w+1],this._index);return MArray.isArray(A)&&A.length===1?A[0]:A);if(y.length!==2)throw new Error("Only two dimensions matrix are supported");y.forEach(function(A){if(!Fe(A)||!be(A)||A<0)throw new TypeError("Invalid size, must contain positive integers (size: "+Ne(y)+")")});var w=g?this.clone():this;return v(w,y[0],y[1],m)};function v(l,m,g,y){var w=y||0,A=t,F=0;or(l._datatype)&&(A=r.find(t,[l._datatype,l._datatype])||t,F=r.convert(0,l._datatype),w=r.convert(w,l._datatype));var p=!A(w,F),_=l._size[0],M=l._size[1],E,B,b;if(g>M){for(B=M;B_){if(p){var z=0;for(B=0;Bm-1&&(l._values.splice(b,1),l._index.splice(b,1),P++)}l._ptr[B]=l._values.length}return l._size[0]=m,l._size[1]=g,l}n.prototype.reshape=function(l,m){if(!Ce(l))throw new TypeError("Array expected");if(l.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");l.forEach(function(T){if(!Fe(T)||!be(T)||T<=-2||T===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+Ne(l)+")")});var g=this._size[0]*this._size[1];l=Ut(l,g);var y=l[0]*l[1];if(g!==y)throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var w=m?this.clone():this;if(this._size[0]===l[0]&&this._size[1]===l[1])return w;for(var A=[],F=0;F=m&&x<=g&&b(l._values[I],x-m,z-y)}else{for(var Y={},H=L;H "+(this._values?Ne(this._values[_],l):"X")}return w},n.prototype.toString=function(){return Ne(this.toArray())},n.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},n.prototype.diagonal=function(l){if(l){if(ze(l)&&(l=l.toNumber()),!Fe(l)||!be(l))throw new TypeError("The parameter k must be an integer number")}else l=0;var m=l>0?l:0,g=l<0?-l:0,y=this._size[0],w=this._size[1],A=Math.min(y-g,w-m),F=[],p=[],_=[];_[0]=0;for(var M=m;M0?g:0,_=g<0?-g:0,M=l[0],E=l[1],B=Math.min(M-_,E-p),b;if(Ce(m)){if(m.length!==B)throw new Error("Invalid value array length");b=function(J){return m[J]}}else if(Te(m)){var z=m.size();if(z.length!==1||z[0]!==B)throw new Error("Invalid matrix length");b=function(J){return m.get([J])}}else b=function(){return m};for(var L=[],P=[],I=[],x=0;x=0&&Y=_||w[E]!==m)){var b=y?y[M]:void 0;w.splice(E,0,m),y&&y.splice(E,0,b),w.splice(E<=M?M+1:M,1),y&&y.splice(E<=M?M+1:M,1);continue}if(E<_&&w[E]===m&&(M>=_||w[M]!==l)){var z=y?y[E]:void 0;w.splice(M,0,l),y&&y.splice(M,0,z),w.splice(M<=E?E+1:E,1),y&&y.splice(M<=E?E+1:E,1)}}},n},{isClass:!0}),Ho="number",Jo=["typed"];function Yo(e){var r=e.match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/);if(r){var t={"0b":2,"0o":8,"0x":16}[r[1]],i=r[2],n=r[3];return{input:e,radix:t,integerPart:i,fractionalPart:n}}else return null}function Go(e){for(var r=parseInt(e.integerPart,e.radix),t=0,i=0;i{var{typed:r}=e,t=r("number",{"":function(){return 0},number:function(n){return n},string:function(n){if(n==="NaN")return NaN;var u=Yo(n);if(u)return Go(u);var o=0,f=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);f&&(o=Number(f[2]),n=f[1]);var c=Number(n);if(isNaN(c))throw new SyntaxError('String "'+n+'" is not a valid number');if(f){if(c>2**o-1)throw new SyntaxError('String "'.concat(n,'" is out of range'));c>=2**(o-1)&&(c=c-2**o)}return c},BigNumber:function(n){return n.toNumber()},bigint:function(n){return Number(n)},Fraction:function(n){return n.valueOf()},Unit:r.referToSelf(i=>n=>{var u=n.clone();return u.value=i(n.value),u}),null:function(n){return 0},"Unit, string | Unit":function(n,u){return n.toNumber(u)},"Array | Matrix":r.referToSelf(i=>n=>wr(n,i))});return t.fromJSON=function(i){return parseFloat(i.value)},t}),Ko="bignumber",Qo=["typed","BigNumber"],Wo=W(Ko,Qo,e=>{var{typed:r,BigNumber:t}=e;return r("bignumber",{"":function(){return new t(0)},number:function(n){return new t(n+"")},string:function(n){var u=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(u){var o=u[2],f=t(u[1]),c=new t(2).pow(Number(o));if(f.gt(c.sub(1)))throw new SyntaxError('String "'.concat(n,'" is out of range'));var h=new t(2).pow(Number(o)-1);return f.gte(h)?f.sub(c):f}return new t(n)},BigNumber:function(n){return n},bigint:function(n){return new t(n.toString())},Unit:r.referToSelf(i=>n=>{var u=n.clone();return u.value=i(n.value),u}),Fraction:function(n){return new t(n.n).div(n.d).times(n.s)},null:function(n){return new t(0)},"Array | Matrix":r.referToSelf(i=>n=>wr(n,i))})}),ko="fraction",jo=["typed","Fraction"],es=W(ko,jo,e=>{var{typed:r,Fraction:t}=e;return r("fraction",{number:function(n){if(!isFinite(n)||isNaN(n))throw new Error(n+" cannot be represented as a fraction");return new t(n)},string:function(n){return new t(n)},"number, number":function(n,u){return new t(n,u)},null:function(n){return new t(0)},BigNumber:function(n){return new t(n.toString())},bigint:function(n){return new t(n.toString())},Fraction:function(n){return n},Unit:r.referToSelf(i=>n=>{var u=n.clone();return u.value=i(n.value),u}),Object:function(n){return new t(n)},"Array | Matrix":r.referToSelf(i=>n=>wr(n,i))})}),dn="matrix",rs=["typed","Matrix","DenseMatrix","SparseMatrix"],ts=W(dn,rs,e=>{var{typed:r,Matrix:t,DenseMatrix:i,SparseMatrix:n}=e;return r(dn,{"":function(){return u([])},string:function(f){return u([],f)},"string, string":function(f,c){return u([],f,c)},Array:function(f){return u(f)},Matrix:function(f){return u(f,f.storage())},"Array | Matrix, string":u,"Array | Matrix, string, string":u});function u(o,f,c){if(f==="dense"||f==="default"||f===void 0)return new i(o,c);if(f==="sparse")return new n(o,c);throw new TypeError("Unknown matrix type "+JSON.stringify(f)+".")}}),mn="unaryMinus",ns=["typed"],is=W(mn,ns,e=>{var{typed:r}=e;return r(mn,{number:Fi,"Complex | BigNumber | Fraction":t=>t.neg(),bigint:t=>-t,Unit:r.referToSelf(t=>i=>{var n=i.clone();return n.value=r.find(t,n.valueType())(i.value),n}),"Array | Matrix":r.referToSelf(t=>i=>wr(i,t))})}),gn="abs",us=["typed"],as=W(gn,us,e=>{var{typed:r}=e;return r(gn,{number:di,"Complex | BigNumber | Fraction | Unit":t=>t.abs(),bigint:t=>t<0n?-t:t,"Array | Matrix":r.referToSelf(t=>i=>wr(i,t))})}),wn="addScalar",os=["typed"],ss=W(wn,os,e=>{var{typed:r}=e;return r(wn,{"number, number":mi,"Complex, Complex":function(i,n){return i.add(n)},"BigNumber, BigNumber":function(i,n){return i.plus(n)},"bigint, bigint":function(i,n){return i+n},"Fraction, Fraction":function(i,n){return i.add(n)},"Unit, Unit":r.referToSelf(t=>(i,n)=>{if(i.value===null||i.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!i.equalBase(n))throw new Error("Units do not match");var u=i.clone();return u.value=r.find(t,[u.valueType(),n.valueType()])(u.value,n.value),u.fixPrefix=!1,u})})}),Fn="subtractScalar",fs=["typed"],cs=W(Fn,fs,e=>{var{typed:r}=e;return r(Fn,{"number, number":gi,"Complex, Complex":function(i,n){return i.sub(n)},"BigNumber, BigNumber":function(i,n){return i.minus(n)},"bigint, bigint":function(i,n){return i-n},"Fraction, Fraction":function(i,n){return i.sub(n)},"Unit, Unit":r.referToSelf(t=>(i,n)=>{if(i.value===null||i.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!i.equalBase(n))throw new Error("Units do not match");var u=i.clone();return u.value=r.find(t,[u.valueType(),n.valueType()])(u.value,n.value),u.fixPrefix=!1,u})})}),ls="matAlgo11xS0s",hs=["typed","equalScalar"],vs=W(ls,hs,e=>{var{typed:r,equalScalar:t}=e;return function(n,u,o,f){var c=n._values,h=n._index,a=n._ptr,s=n._size,v=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var D=s[0],d=s[1],l,m=t,g=0,y=o;typeof v=="string"&&(l=v,m=r.find(t,[l,l]),g=r.convert(0,l),u=r.convert(u,l),y=r.find(o,[l,l]));for(var w=[],A=[],F=[],p=0;p{var{typed:r,DenseMatrix:t}=e;return function(n,u,o,f){var c=n._values,h=n._index,a=n._ptr,s=n._size,v=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var D=s[0],d=s[1],l,m=o;typeof v=="string"&&(l=v,u=r.convert(u,l),m=r.find(o,[l,l]));for(var g=[],y=[],w=[],A=0;A{var{typed:r}=e;return function(n,u,o,f){var c=n._data,h=n._size,a=n._datatype,s,v=o;typeof a=="string"&&(s=a,u=r.convert(u,s),v=r.find(o,[s,s]));var D=h.length>0?t(v,0,h,h[0],c,u,f):[];return n.createDenseMatrix({data:D,size:_e(h),datatype:s})};function t(i,n,u,o,f,c,h){var a=[];if(n===u.length-1)for(var s=0;s{var{typed:r}=e;return function(i,n,u,o){var f=i._data,c=i._size,h=i._datatype||i.getDataType(),a=n._values,s=n._index,v=n._ptr,D=n._size,d=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==D.length)throw new he(c.length,D.length);if(c[0]!==D[0]||c[1]!==D[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+D+")");if(!a)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var l=c[0],m=c[1],g,y=0,w=u;typeof h=="string"&&h===d&&h!=="mixed"&&(g=h,y=r.convert(0,g),w=r.find(u,[g,g]));for(var A=[],F=0;F{var{typed:r,equalScalar:t}=e;return function(n,u,o){var f=n._values,c=n._index,h=n._ptr,a=n._size,s=n._datatype||n._data===void 0?n._datatype:n.getDataType(),v=u._values,D=u._index,d=u._ptr,l=u._size,m=u._datatype||u._data===void 0?u._datatype:u.getDataType();if(a.length!==l.length)throw new he(a.length,l.length);if(a[0]!==l[0]||a[1]!==l[1])throw new RangeError("Dimension mismatch. Matrix A ("+a+") must match Matrix B ("+l+")");var g=a[0],y=a[1],w,A=t,F=0,p=o;typeof s=="string"&&s===m&&s!=="mixed"&&(w=s,A=r.find(t,[w,w]),F=r.convert(0,w),p=r.find(o,[w,w]));var _=f&&v?[]:void 0,M=[],E=[],B=_?[]:void 0,b=_?[]:void 0,z=[],L=[],P,I,x,Y;for(I=0;I{var{typed:r}=e;return function(n,u,o){var f=n._data,c=n._size,h=n._datatype,a=u._data,s=u._size,v=u._datatype,D=[];if(c.length!==s.length)throw new he(c.length,s.length);for(var d=0;d0?t(m,0,D,D[0],f,a):[];return n.createDenseMatrix({data:g,size:D,datatype:l})};function t(i,n,u,o,f,c){var h=[];if(n===u.length-1)for(var a=0;aMs(i,t))}function Ms(e,r){return dr(e.size(),r)?e:e.create(It(e.valueOf(),r),e.datatype())}var Bs="matrixAlgorithmSuite",Ss=["typed","matrix"],Rr=W(Bs,Ss,e=>{var{typed:r,matrix:t}=e,i=_s({typed:r}),n=yi({typed:r});return function(o){var f=o.elop,c=o.SD||o.DS,h;f?(h={"DenseMatrix, DenseMatrix":(D,d)=>i(...xe(D,d),f),"Array, Array":(D,d)=>i(...xe(t(D),t(d)),f).valueOf(),"Array, DenseMatrix":(D,d)=>i(...xe(t(D),d),f),"DenseMatrix, Array":(D,d)=>i(...xe(D,t(d)),f)},o.SS&&(h["SparseMatrix, SparseMatrix"]=(D,d)=>o.SS(...xe(D,d),f,!1)),o.DS&&(h["DenseMatrix, SparseMatrix"]=(D,d)=>o.DS(...xe(D,d),f,!1),h["Array, SparseMatrix"]=(D,d)=>o.DS(...xe(t(D),d),f,!1)),c&&(h["SparseMatrix, DenseMatrix"]=(D,d)=>c(...xe(d,D),f,!0),h["SparseMatrix, Array"]=(D,d)=>c(...xe(t(d),D),f,!0))):(h={"DenseMatrix, DenseMatrix":r.referToSelf(D=>(d,l)=>i(...xe(d,l),D)),"Array, Array":r.referToSelf(D=>(d,l)=>i(...xe(t(d),t(l)),D).valueOf()),"Array, DenseMatrix":r.referToSelf(D=>(d,l)=>i(...xe(t(d),l),D)),"DenseMatrix, Array":r.referToSelf(D=>(d,l)=>i(...xe(d,t(l)),D))},o.SS&&(h["SparseMatrix, SparseMatrix"]=r.referToSelf(D=>(d,l)=>o.SS(...xe(d,l),D,!1))),o.DS&&(h["DenseMatrix, SparseMatrix"]=r.referToSelf(D=>(d,l)=>o.DS(...xe(d,l),D,!1)),h["Array, SparseMatrix"]=r.referToSelf(D=>(d,l)=>o.DS(...xe(t(d),l),D,!1))),c&&(h["SparseMatrix, DenseMatrix"]=r.referToSelf(D=>(d,l)=>c(...xe(l,d),D,!0)),h["SparseMatrix, Array"]=r.referToSelf(D=>(d,l)=>c(...xe(t(l),d),D,!0))));var a=o.scalar||"any",s=o.Ds||o.Ss;s&&(f?(h["DenseMatrix,"+a]=(D,d)=>n(D,d,f,!1),h[a+", DenseMatrix"]=(D,d)=>n(d,D,f,!0),h["Array,"+a]=(D,d)=>n(t(D),d,f,!1).valueOf(),h[a+", Array"]=(D,d)=>n(t(d),D,f,!0).valueOf()):(h["DenseMatrix,"+a]=r.referToSelf(D=>(d,l)=>n(d,l,D,!1)),h[a+", DenseMatrix"]=r.referToSelf(D=>(d,l)=>n(l,d,D,!0)),h["Array,"+a]=r.referToSelf(D=>(d,l)=>n(t(d),l,D,!1).valueOf()),h[a+", Array"]=r.referToSelf(D=>(d,l)=>n(t(l),d,D,!0).valueOf())));var v=o.sS!==void 0?o.sS:o.Ss;return f?(o.Ss&&(h["SparseMatrix,"+a]=(D,d)=>o.Ss(D,d,f,!1)),v&&(h[a+", SparseMatrix"]=(D,d)=>v(d,D,f,!0))):(o.Ss&&(h["SparseMatrix,"+a]=r.referToSelf(D=>(d,l)=>o.Ss(d,l,D,!1))),v&&(h[a+", SparseMatrix"]=r.referToSelf(D=>(d,l)=>v(l,d,D,!0)))),f&&f.signatures&&Ku(h,f.signatures),h}}),bs="matAlgo01xDSid",xs=["typed"],Ai=W(bs,xs,e=>{var{typed:r}=e;return function(i,n,u,o){var f=i._data,c=i._size,h=i._datatype||i.getDataType(),a=n._values,s=n._index,v=n._ptr,D=n._size,d=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(c.length!==D.length)throw new he(c.length,D.length);if(c[0]!==D[0]||c[1]!==D[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+D+")");if(!a)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var l=c[0],m=c[1],g=typeof h=="string"&&h!=="mixed"&&h===d?h:void 0,y=g?r.find(u,[g,g]):u,w,A,F=[];for(w=0;w{var{typed:r,equalScalar:t}=e;return function(n,u,o){var f=n._values,c=n._index,h=n._ptr,a=n._size,s=n._datatype||n._data===void 0?n._datatype:n.getDataType(),v=u._values,D=u._index,d=u._ptr,l=u._size,m=u._datatype||u._data===void 0?u._datatype:u.getDataType();if(a.length!==l.length)throw new he(a.length,l.length);if(a[0]!==l[0]||a[1]!==l[1])throw new RangeError("Dimension mismatch. Matrix A ("+a+") must match Matrix B ("+l+")");var g=a[0],y=a[1],w,A=t,F=0,p=o;typeof s=="string"&&s===m&&s!=="mixed"&&(w=s,A=r.find(t,[w,w]),F=r.convert(0,w),p=r.find(o,[w,w]));var _=f&&v?[]:void 0,M=[],E=[],B=f&&v?[]:void 0,b=f&&v?[]:void 0,z=[],L=[],P,I,x,Y,H;for(I=0;I{var{typed:r,DenseMatrix:t}=e;return function(n,u,o,f){var c=n._values,h=n._index,a=n._ptr,s=n._size,v=n._datatype;if(!c)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var D=s[0],d=s[1],l,m=o;typeof v=="string"&&(l=v,u=r.convert(u,l),m=r.find(o,[l,l]));for(var g=[],y=[],w=[],A=0;A{var{typed:r}=e;return r("multiplyScalar",{"number, number":wi,"Complex, Complex":function(i,n){return i.mul(n)},"BigNumber, BigNumber":function(i,n){return i.times(n)},"bigint, bigint":function(i,n){return i*n},"Fraction, Fraction":function(i,n){return i.mul(n)},"number | Fraction | BigNumber | Complex, Unit":(t,i)=>i.multiply(t),"Unit, number | Fraction | BigNumber | Complex | Unit":(t,i)=>t.multiply(i)})}),yn="multiply",Rs=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],Ls=W(yn,Rs,e=>{var{typed:r,matrix:t,addScalar:i,multiplyScalar:n,equalScalar:u,dot:o}=e,f=vs({typed:r,equalScalar:u}),c=yi({typed:r});function h(F,p){switch(F.length){case 1:switch(p.length){case 1:if(F[0]!==p[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(F[0]!==p[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+F[0]+") must match Matrix rows ("+p[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+p.length+" dimensions)")}break;case 2:switch(p.length){case 1:if(F[1]!==p[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+F[1]+") must match Vector length ("+p[0]+")");break;case 2:if(F[1]!==p[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+F[1]+") must match Matrix B rows ("+p[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+p.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+F.length+" dimensions)")}}function a(F,p,_){if(_===0)throw new Error("Cannot multiply two empty vectors");return o(F,p)}function s(F,p){if(p.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return v(F,p)}function v(F,p){var _=F._data,M=F._size,E=F._datatype||F.getDataType(),B=p._data,b=p._size,z=p._datatype||p.getDataType(),L=M[0],P=b[1],I,x=i,Y=n;E&&z&&E===z&&typeof E=="string"&&E!=="mixed"&&(I=E,x=r.find(i,[I,I]),Y=r.find(n,[I,I]));for(var H=[],T=0;Tie)for(var ae=0,ee=0;ee(p,_)=>{h(Ue(p),Ue(_));var M=F(t(p),t(_));return Te(M)?M.valueOf():M}),"Matrix, Matrix":function(p,_){var M=p.size(),E=_.size();return h(M,E),M.length===1?E.length===1?a(p,_,M[0]):s(p,_):E.length===1?D(p,_):d(p,_)},"Matrix, Array":r.referTo("Matrix,Matrix",F=>(p,_)=>F(p,t(_))),"Array, Matrix":r.referToSelf(F=>(p,_)=>F(t(p,_.storage()),_)),"SparseMatrix, any":function(p,_){return f(p,_,n,!1)},"DenseMatrix, any":function(p,_){return c(p,_,n,!1)},"any, SparseMatrix":function(p,_){return f(_,p,n,!0)},"any, DenseMatrix":function(p,_){return c(_,p,n,!0)},"Array, any":function(p,_){return c(t(p),_,n,!1).valueOf()},"any, Array":function(p,_){return c(t(_),p,n,!0).valueOf()},"any, any":n,"any, any, ...any":r.referToSelf(F=>(p,_,M)=>{for(var E=F(p,_),B=0;B{var{typed:r,matrix:t,equalScalar:i,subtractScalar:n,unaryMinus:u,DenseMatrix:o,concat:f}=e,c=Ai({typed:r}),h=mt({typed:r}),a=As({typed:r,equalScalar:i}),s=Ei({typed:r,DenseMatrix:o}),v=dt({typed:r,DenseMatrix:o}),D=Rr({typed:r,matrix:t,concat:f});return r(An,{"any, any":n},D({elop:n,SS:a,DS:c,SD:h,Ss:v,sS:s}))}),Vs="matAlgo07xSSf",Hs=["typed","DenseMatrix"],Ht=W(Vs,Hs,e=>{var{typed:r,DenseMatrix:t}=e;return function(u,o,f){var c=u._size,h=u._datatype||u._data===void 0?u._datatype:u.getDataType(),a=o._size,s=o._datatype||o._data===void 0?o._datatype:o.getDataType();if(c.length!==a.length)throw new he(c.length,a.length);if(c[0]!==a[0]||c[1]!==a[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+a+")");var v=c[0],D=c[1],d,l=0,m=f;typeof h=="string"&&h===s&&h!=="mixed"&&(d=h,l=r.convert(0,d),m=r.find(f,[d,d]));var g,y,w=[];for(g=0;g{var{typed:r}=e;return r(En,{"number | BigNumber | Fraction":t=>t,Complex:t=>t.conjugate(),"Array | Matrix":r.referToSelf(t=>i=>wr(i,t))})}),Cn="concat",Gs=["typed","matrix","isInteger"],Xs=W(Cn,Gs,e=>{var{typed:r,matrix:t,isInteger:i}=e;return r(Cn,{"...Array | Matrix | number | BigNumber":function(u){var o,f=u.length,c=-1,h,a=!1,s=[];for(o=0;o0&&c>h)throw new _r(c,h+1)}else{var D=_e(v).valueOf(),d=Ue(D);if(s[o]=D,h=c,c=d.length-1,o>0&&c!==h)throw new he(h+1,c+1)}}if(s.length===0)throw new SyntaxError("At least one matrix expected");for(var l=s.shift();s.length;)l=li(l,s.shift(),c);return a?t(l):l},"...string":function(u){return u.join("")}})});function Ks(){throw new Error('No "bignumber" implementation available')}function Qs(){throw new Error('No "fraction" implementation available')}function Ws(){throw new Error('No "matrix" implementation available')}var _n="size",ks=["typed","config","?matrix"],js=W(_n,ks,e=>{var{typed:r,config:t,matrix:i}=e;return r(_n,{Matrix:function(u){return u.create(u.size(),"number")},Array:Ue,string:function(u){return t.matrix==="Array"?[u.length]:i([u.length],"dense","number")},"number | Complex | BigNumber | Unit | boolean | null":function(u){return t.matrix==="Array"?[]:i?i([],"dense","number"):Ws()}})}),Mn="transpose",ef=["typed","matrix"],rf=W(Mn,ef,e=>{var{typed:r,matrix:t}=e;return r(Mn,{Array:o=>i(t(o)).valueOf(),Matrix:i,any:_e});function i(o){var f=o.size(),c;switch(f.length){case 1:c=o.clone();break;case 2:{var h=f[0],a=f[1];if(a===0)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+Ne(f)+")");switch(o.storage()){case"dense":c=n(o,h,a);break;case"sparse":c=u(o,h,a);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+Ne(f)+")")}return c}function n(o,f,c){for(var h=o._data,a=[],s,v=0;v{var{number:r,bignumber:t,fraction:i}=e,n={string:!0,number:!0,BigNumber:!0,Fraction:!0},u={number:o=>r(o),BigNumber:t?o=>t(o):Ks,bigint:o=>BigInt(o),Fraction:i?o=>i(o):Qs};return function(f){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number",h=arguments.length>2?arguments[2]:void 0;if(h!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var a=pr(f);if(!(a in n))throw new TypeError("Cannot convert "+f+' of type "'+a+'"; valid input types are '+Object.keys(n).join(", "));if(!(c in u))throw new TypeError("Cannot convert "+f+' to type "'+c+'"; valid output types are '+Object.keys(u).join(", "));return c===a?f:u[c](f)}}),Bn="divideScalar",af=["typed","numeric"],of=W(Bn,af,e=>{var{typed:r,numeric:t}=e;return r(Bn,{"number, number":function(n,u){return n/u},"Complex, Complex":function(n,u){return n.div(u)},"BigNumber, BigNumber":function(n,u){return n.div(u)},"bigint, bigint":function(n,u){return n/u},"Fraction, Fraction":function(n,u){return n.div(u)},"Unit, number | Complex | Fraction | BigNumber | Unit":(i,n)=>i.divide(n),"number | Fraction | Complex | BigNumber, Unit":(i,n)=>n.divideInto(i)})});function Jt(e){var{DenseMatrix:r}=e;return function(i,n,u){var o=i.size();if(o.length!==2)throw new RangeError("Matrix must be two dimensional (size: "+Ne(o)+")");var f=o[0],c=o[1];if(f!==c)throw new RangeError("Matrix must be square (size: "+Ne(o)+")");var h=[];if(Te(n)){var a=n.size(),s=n._data;if(a.length===1){if(a[0]!==f)throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");for(var v=0;v{var{typed:r,matrix:t,divideScalar:i,multiplyScalar:n,subtractScalar:u,equalScalar:o,DenseMatrix:f}=e,c=Jt({DenseMatrix:f});return r(Sn,{"SparseMatrix, Array | Matrix":function(v,D){return a(v,D)},"DenseMatrix, Array | Matrix":function(v,D){return h(v,D)},"Array, Array | Matrix":function(v,D){var d=t(v),l=h(d,D);return l.valueOf()}});function h(s,v){v=c(s,v,!0);for(var D=v._data,d=s._size[0],l=s._size[1],m=[],g=s._data,y=0;yA&&(_.push(m[b]),M.push(z))}if(o(p,0))throw new Error("Linear system cannot be solved since matrix is singular");for(var L=i(F,p),P=0,I=M.length;P{var{typed:r,matrix:t,divideScalar:i,multiplyScalar:n,subtractScalar:u,equalScalar:o,DenseMatrix:f}=e,c=Jt({DenseMatrix:f});return r(bn,{"SparseMatrix, Array | Matrix":function(v,D){return a(v,D)},"DenseMatrix, Array | Matrix":function(v,D){return h(v,D)},"Array, Array | Matrix":function(v,D){var d=t(v),l=h(d,D);return l.valueOf()}});function h(s,v){v=c(s,v,!0);for(var D=v._data,d=s._size[0],l=s._size[1],m=[],g=s._data,y=l-1;y>=0;y--){var w=D[y][0]||0,A=void 0;if(o(w,0))A=0;else{var F=g[y][y];if(o(F,0))throw new Error("Linear system cannot be solved since matrix is singular");A=i(w,F);for(var p=y-1;p>=0;p--)D[p]=[u(D[p][0]||0,n(A,g[p][y]))]}m[y]=[A]}return new f({data:m,size:[d,1]})}function a(s,v){v=c(s,v,!0);for(var D=v._data,d=s._size[0],l=s._size[1],m=s._values,g=s._index,y=s._ptr,w=[],A=l-1;A>=0;A--){var F=D[A][0]||0;if(o(F,0))w[A]=[0];else{for(var p=0,_=[],M=[],E=y[A],B=y[A+1],b=B-1;b>=E;b--){var z=g[b];z===A?p=m[b]:z{var{typed:r,config:t,matrix:i,DenseMatrix:n,concat:u}=e,o=mt({typed:r}),f=Ht({typed:r,DenseMatrix:n}),c=dt({typed:r,DenseMatrix:n}),h=Rr({typed:r,matrix:i,concat:u}),a=pt({typed:r});return r(at,Df({typed:r,config:t}),{"boolean, boolean":(s,v)=>sss.compare(v)===-1,"Complex, Complex":function(v,D){throw new TypeError("No ordering relation is defined for complex numbers")}},a,h({SS:f,DS:o,Ss:c}))}),Df=W(at,["typed","config"],e=>{var{typed:r,config:t}=e;return r(at,{"number, number":function(n,u){return n{var{typed:r,config:t,matrix:i,DenseMatrix:n,concat:u}=e,o=mt({typed:r}),f=Ht({typed:r,DenseMatrix:n}),c=dt({typed:r,DenseMatrix:n}),h=Rr({typed:r,matrix:i,concat:u}),a=pt({typed:r});return r(ot,mf({typed:r,config:t}),{"boolean, boolean":(s,v)=>s>v,"BigNumber, BigNumber":function(v,D){return v.gt(D)&&!Dt(v,D,t.relTol,t.absTol)},"bigint, bigint":(s,v)=>s>v,"Fraction, Fraction":(s,v)=>s.compare(v)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},a,h({SS:f,DS:o,Ss:c}))}),mf=W(ot,["typed","config"],e=>{var{typed:r,config:t}=e;return r(ot,{"number, number":function(n,u){return n>u&&!Er(n,u,t.relTol,t.absTol)}})}),st="largerEq",gf=["typed","config","matrix","DenseMatrix","concat"],wf=W(st,gf,e=>{var{typed:r,config:t,matrix:i,DenseMatrix:n,concat:u}=e,o=mt({typed:r}),f=Ht({typed:r,DenseMatrix:n}),c=dt({typed:r,DenseMatrix:n}),h=Rr({typed:r,matrix:i,concat:u}),a=pt({typed:r});return r(st,Ff({typed:r,config:t}),{"boolean, boolean":(s,v)=>s>=v,"BigNumber, BigNumber":function(v,D){return v.gte(D)||Dt(v,D,t.relTol,t.absTol)},"bigint, bigint":function(v,D){return v>=D},"Fraction, Fraction":(s,v)=>s.compare(v)!==-1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},a,h({SS:f,DS:o,Ss:c}))}),Ff=W(st,["typed","config"],e=>{var{typed:r,config:t}=e;return r(st,{"number, number":function(n,u){return n>=u||Er(n,u,t.relTol,t.absTol)}})}),yf="FibonacciHeap",Af=["smaller","larger"],Ef=W(yf,Af,e=>{var{smaller:r,larger:t}=e,i=1/Math.log((1+Math.sqrt(5))/2);function n(){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this._minimum=null,this._size=0}n.prototype.type="FibonacciHeap",n.prototype.isFibonacciHeap=!0,n.prototype.insert=function(a,s){var v={key:a,value:s,degree:0};if(this._minimum){var D=this._minimum;v.left=D,v.right=D.right,D.right=v,v.right.left=v,r(a,D.key)&&(this._minimum=v)}else v.left=v,v.right=v,this._minimum=v;return this._size++,v},n.prototype.size=function(){return this._size},n.prototype.clear=function(){this._minimum=null,this._size=0},n.prototype.isEmpty=function(){return this._size===0},n.prototype.extractMinimum=function(){var a=this._minimum;if(a===null)return a;for(var s=this._minimum,v=a.degree,D=a.child;v>0;){var d=D.right;D.left.right=D.right,D.right.left=D.left,D.left=s,D.right=s.right,s.right=D,D.right.left=D,D.parent=null,D=d,v--}return a.left.right=a.right,a.right.left=a.left,a===a.right?s=null:(s=a.right,s=h(s,this._size)),this._size--,this._minimum=s,a},n.prototype.remove=function(a){this._minimum=u(this._minimum,a,-1),this.extractMinimum()};function u(a,s,v){s.key=v;var D=s.parent;return D&&r(s.key,D.key)&&(o(a,s,D),f(a,D)),r(s.key,a.key)&&(a=s),a}function o(a,s,v){s.left.right=s.right,s.right.left=s.left,v.degree--,v.child===s&&(v.child=s.right),v.degree===0&&(v.child=null),s.left=a,s.right=a.right,a.right=s,s.right.left=s,s.parent=null,s.mark=!1}function f(a,s){var v=s.parent;v&&(s.mark?(o(a,s,v),f(v)):s.mark=!0)}var c=function(s,v){s.left.right=s.right,s.right.left=s.left,s.parent=v,v.child?(s.left=v.child,s.right=v.child.right,v.child.right=s,s.right.left=s):(v.child=s,s.right=s,s.left=s),v.degree++,s.mark=!1};function h(a,s){var v=Math.floor(Math.log(s)*i)+1,D=new Array(v),d=0,l=a;if(l)for(d++,l=l.right;l!==a;)d++,l=l.right;for(var m;d>0;){for(var g=l.degree,y=l.right;m=D[g],!!m;){if(t(l.key,m.key)){var w=m;m=l,l=w}c(m,l),D[g]=null,g++}D[g]=l,l=y,d--}a=null;for(var A=0;A{var{addScalar:r,equalScalar:t,FibonacciHeap:i}=e;function n(){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this._values=[],this._heap=new i}return n.prototype.type="Spa",n.prototype.isSpa=!0,n.prototype.set=function(u,o){if(this._values[u])this._values[u].value=o;else{var f=this._heap.insert(u,o);this._values[u]=f}},n.prototype.get=function(u){var o=this._values[u];return o?o.value:0},n.prototype.accumulate=function(u,o){var f=this._values[u];f?f.value=r(f.value,o):(f=this._heap.insert(u,o),this._values[u]=f)},n.prototype.forEach=function(u,o,f){var c=this._heap,h=this._values,a=[],s=c.extractMinimum();for(s&&a.push(s);s&&s.key<=o;)s.key>=u&&(t(s.value,0)||f(s.key,s.value,this)),s=c.extractMinimum(),s&&a.push(s);for(var v=0;v{var{typed:r,matrix:t,addScalar:i,equalScalar:n,DenseMatrix:u,SparseMatrix:o,concat:f}=e,c=Ai({typed:r}),h=zs({typed:r,equalScalar:n}),a=Ei({typed:r,DenseMatrix:u}),s=Rr({typed:r,matrix:t,concat:f});return r(xn,{"any, any":i,"any, any, ...any":r.referToSelf(v=>(D,d,l)=>{for(var m=v(D,d),g=0;g{var{typed:r,addScalar:t,multiplyScalar:i,conj:n,size:u}=e;return r(Nn,{"Array | DenseMatrix, Array | DenseMatrix":f,"SparseMatrix, SparseMatrix":c});function o(a,s){var v=h(a),D=h(s),d,l;if(v.length===1)d=v[0];else if(v.length===2&&v[1]===1)d=v[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+v.join(", ")+")");if(D.length===1)l=D[0];else if(D.length===2&&D[1]===1)l=D[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+D.join(", ")+")");if(d!==l)throw new RangeError("Vectors must have equal length ("+d+" != "+l+")");if(d===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return d}function f(a,s){var v=o(a,s),D=Te(a)?a._data:a,d=Te(a)?a._datatype||a.getDataType():void 0,l=Te(s)?s._data:s,m=Te(s)?s._datatype||s.getDataType():void 0,g=h(a).length===2,y=h(s).length===2,w=t,A=i;if(d&&m&&d===m&&typeof d=="string"&&d!=="mixed"){var F=d;w=r.find(t,[F,F]),A=r.find(i,[F,F])}if(!g&&!y){for(var p=A(n(D[0]),l[0]),_=1;_p){A++;continue}F===p&&(m=g(m,y(D[w],l[A])),w++,A++)}return m}function h(a){return Te(a)?a.size():u(a)}}),Tn="lup",Nf=["typed","matrix","abs","addScalar","divideScalar","multiplyScalar","subtractScalar","larger","equalScalar","unaryMinus","DenseMatrix","SparseMatrix","Spa"],Tf=W(Tn,Nf,e=>{var{typed:r,matrix:t,abs:i,addScalar:n,divideScalar:u,multiplyScalar:o,subtractScalar:f,larger:c,equalScalar:h,unaryMinus:a,DenseMatrix:s,SparseMatrix:v,Spa:D}=e;return r(Tn,{DenseMatrix:function(g){return d(g)},SparseMatrix:function(g){return l(g)},Array:function(g){var y=t(g),w=d(y);return{L:w.L.valueOf(),U:w.U.valueOf(),p:w.p}}});function d(m){var g=m._size[0],y=m._size[1],w=Math.min(g,y),A=_e(m._data),F=[],p=[g,w],_=[],M=[w,y],E,B,b,z=[];for(E=0;E0)for(E=0;E0&&te.forEach(0,x-1,function(ae,ee){v._forEachRow(ae,_,M,E,function(Ae,me){Ae>ae&&te.accumulate(Ae,a(o(me,ee)))})});var se=x,ie=te.get(x),fe=i(ie);te.forEach(x+1,g-1,function(ae,ee){var Ae=i(ee);c(Ae,fe)&&(se=ae,fe=Ae,ie=ee)}),x!==se&&(v._swapRows(x,se,B[1],_,M,E),v._swapRows(x,se,P[1],b,z,L),te.swap(x,se),J(x,se)),te.forEach(0,g-1,function(ae,ee){ae<=x?(b.push(ee),z.push(ae)):(ee=u(ee,ie),h(ee,0)||(_.push(ee),M.push(ae)))})};for(x=0;x=0;){var c=t[o+f],h=t[i+c];h===-1?(f--,u[r++]=c):(t[i+c]=t[n+h],++f,t[o+f]=h)}return r}function Of(e,r){if(!e)return null;var t=0,i,n=[],u=[],o=0,f=r,c=2*r;for(i=0;i=0;i--)e[i]!==-1&&(u[f+i]=u[o+e[i]],u[o+e[i]]=i);for(i=0;i{var{add:r,multiply:t,transpose:i}=e;return function(a,s){if(!s||a<=0||a>3)return null;var v=s._size,D=v[0],d=v[1],l=0,m=Math.max(16,10*Math.sqrt(d));m=Math.min(d-2,m);var g=n(a,s,D,d,m);Pf(g,c,null);for(var y=g._index,w=g._ptr,A=w[d],F=[],p=[],_=0,M=d+1,E=2*(d+1),B=3*(d+1),b=4*(d+1),z=5*(d+1),L=6*(d+1),P=7*(d+1),I=F,x=u(d,w,p,_,B,I,E,P,M,L,b,z),Y=o(d,w,p,z,b,L,m,M,B,I,E),H=0,T,J,K,ue,te,k,ve,se,ie,fe,ae,ee,Ae,me,oe,le;YBe?(k=K,ve=ce,se=p[_+K]-Be):(k=y[ce++],ve=w[k],se=p[_+k]),te=1;te<=se;te++)T=y[ve++],!((ie=p[M+T])<=0)&&(Ie+=ie,p[M+T]=-ie,y[We++]=T,p[E+T]!==-1&&(I[p[E+T]]=I[T]),I[T]!==-1?p[E+I[T]]=p[E+T]:p[B+p[z+T]]=p[E+T]);k!==K&&(w[k]=vr(K),p[L+k]=0)}for(Be!==0&&(A=We),p[z+K]=Ie,w[K]=Pe,p[_+K]=We-Pe,p[b+K]=-2,x=f(x,l,p,L,d),fe=Pe;fe=x?p[L+k]-=ie:p[L+k]!==0&&(p[L+k]=p[z+k]+yt)}for(fe=Pe;fe0?(le+=Or,y[me++]=k,oe+=k):(w[k]=vr(K),p[L+k]=0)}p[b+T]=me-ee+1;var C=me,S=ee+p[_+T];for(ce=Ae+1;ce=0))for(oe=I[T],T=p[P+oe],p[P+oe]=-1;T!==-1&&p[E+T]!==-1;T=p[E+T],x++){for(se=p[_+T],ae=p[b+T],ce=w[T]+1;ce<=w[T]+se-1;ce++)p[L+y[ce]]=x;var $=T;for(J=p[E+T];J!==-1;){var U=p[_+J]===se&&p[b+J]===ae;for(ce=w[J]+1;U&&ce<=w[J]+se-1;ce++)p[L+y[ce]]!==x&&(U=0);U?(w[J]=vr(T),p[M+T]+=p[M+J],p[M+J]=0,p[b+J]=-1,J=p[E+J],p[E+$]=J):($=J,J=p[E+J])}}for(ce=Pe,fe=Pe;fe=0;J--)p[M+J]>0||(p[E+J]=p[B+w[J]],p[B+w[J]]=J);for(k=d;k>=0;k--)p[M+k]<=0||w[k]!==-1&&(p[E+k]=p[B+w[k]],p[B+w[k]]=k);for(K=0,T=0;T<=d;T++)w[T]===-1&&(K=Ci(T,K,p,B,E,F,L));return F.splice(F.length-1,1),F};function n(h,a,s,v,D){var d=i(a);if(h===1&&v===s)return r(a,d);if(h===2){for(var l=d._index,m=d._ptr,g=0,y=0;yD))for(var A=m[y+1];wl)s[m+F]=0,s[D+F]=-1,A++,a[F]=vr(h),s[m+h]++;else{var _=s[g+p];_!==-1&&(y[_]=F),s[w+F]=s[g+p],s[g+p]=F}}return A}function f(h,a,s,v,D){if(h<2||h+a<0){for(var d=0;d{var{transpose:r}=e;return function(t,i,n,u){if(!t||!i||!n)return null;var o=t._size,f=o[0],c=o[1],h,a,s,v,D,d,l,m=4*c+(u?c+f+1:0),g=[],y=0,w=c,A=2*c,F=3*c,p=4*c,_=5*c+1;for(s=0;s=1&&M[a]++,z.jleaf===2&&M[z.q]--}i[a]!==-1&&(g[y+a]=i[a])}for(a=0;a{var{add:r,multiply:t,transpose:i}=e,n=Rf({add:r,multiply:t,transpose:i}),u=Vf({transpose:i});return function(c,h,a){var s=h._ptr,v=h._size,D=v[1],d,l={};if(l.q=n(c,h),c&&!l.q)return null;if(a){var m=c?zf(h,null,l.q):h;l.parent=If(m);var g=Of(l.parent,D);if(l.cp=u(m,l.parent,g,1),m&&l.parent&&l.cp&&o(m,l))for(l.unz=0,d=0;d=0;_--)for(E=h[_],B=h[_+1],M=E;M=0;p--)l[p]=-1,_=m[p],_!==-1&&(g[F+_]++===0&&(g[A+_]=p),g[y+p]=g[w+_],g[w+_]=p);for(c.lnz=0,c.m2=v,_=0;_=0;){e=i[v];var D=n?n[e]:e;Pt(o,e)||(_i(o,e),i[c+v]=D<0?0:zn(o[D]));var d=1;for(a=i[c+v],s=D<0?0:zn(o[D+1]);a{var{divideScalar:r,multiply:t,subtract:i}=e;return function(u,o,f,c,h,a,s){var v=u._values,D=u._index,d=u._ptr,l=u._size,m=l[1],g=o._values,y=o._index,w=o._ptr,A,F,p,_,M=Xf(u,o,f,c,a);for(A=M;A{var{abs:r,divideScalar:t,multiply:i,subtract:n,larger:u,largerEq:o,SparseMatrix:f}=e,c=Wf({divideScalar:t,multiply:i,subtract:n});return function(a,s,v){if(!a)return null;var D=a._size,d=D[1],l,m=100,g=100;s&&(l=s.q,m=s.lnz||m,g=s.unz||g);var y=[],w=[],A=[],F=new f({values:y,index:w,ptr:A,size:[d,d]}),p=[],_=[],M=[],E=new f({values:p,index:_,ptr:M,size:[d,d]}),B=[],b,z,L=[],P=[];for(b=0;b{var{typed:r,abs:t,add:i,multiply:n,transpose:u,divideScalar:o,subtract:f,larger:c,largerEq:h,SparseMatrix:a}=e,s=Yf({add:i,multiply:n,transpose:u}),v=e0({abs:t,divideScalar:o,multiply:n,subtract:f,larger:c,largerEq:h,SparseMatrix:a});return r(On,{"SparseMatrix, number, number":function(d,l,m){if(!be(l)||l<0||l>3)throw new Error("Symbolic Ordering and Analysis order must be an integer number in the interval [0, 3]");if(m<0||m>1)throw new Error("Partial pivoting threshold must be a number from 0 to 1");var g=s(l,d,!1),y=v(d,g,m);return{L:y.L,U:y.U,p:y.pinv,q:g.q,toString:function(){return"L: "+this.L.toString()+` -U: `+this.U.toString()+` -p: `+this.p.toString()+(this.q?` -q: `+this.q.toString():"")+` -`}}}})});function In(e,r){var t,i=r.length,n=[];if(e)for(t=0;t{var{typed:r,matrix:t,lup:i,slu:n,usolve:u,lsolve:o,DenseMatrix:f}=e,c=Jt({DenseMatrix:f});return r(Pn,{"Array, Array | Matrix":function(v,D){v=t(v);var d=i(v),l=a(d.L,d.U,d.p,null,D);return l.valueOf()},"DenseMatrix, Array | Matrix":function(v,D){var d=i(v);return a(d.L,d.U,d.p,null,D)},"SparseMatrix, Array | Matrix":function(v,D){var d=i(v);return a(d.L,d.U,d.p,null,D)},"SparseMatrix, Array | Matrix, number, number":function(v,D,d,l){var m=n(v,d,l);return a(m.L,m.U,m.p,m.q,D)},"Object, Array | Matrix":function(v,D){return a(v.L,v.U,v.p,v.q,D)}});function h(s){if(Te(s))return s;if(Ce(s))return t(s);throw new TypeError("Invalid Matrix LU decomposition")}function a(s,v,D,d,l){s=h(s),v=h(v),D&&(l=c(s,l,!0),l._data=In(D,l._data));var m=o(s,l),g=u(v,m);return d&&(g._data=In(d,g._data)),g}}),Mi=io({config:Cr}),u0=fo({}),Bi=go({}),Yt=yo({}),ar=Io({Matrix:Yt}),pe=oa({BigNumber:Mi,Complex:u0,DenseMatrix:ar,Fraction:Bi}),Si=as({typed:pe}),Lr=ss({typed:pe}),a0=Ys({typed:pe}),Fr=Lo({config:Cr,typed:pe}),o0=$o({typed:pe}),Ur=qs({typed:pe}),s0=Xo({typed:pe}),gt=Vo({Matrix:Yt,equalScalar:Fr,typed:pe}),wt=cs({typed:pe}),f0=Wo({BigNumber:Mi,typed:pe}),bi=is({typed:pe}),c0=es({Fraction:Bi,typed:pe}),Xe=ts({DenseMatrix:ar,Matrix:Yt,SparseMatrix:gt,typed:pe}),l0=uf({bignumber:f0,fraction:c0,number:s0}),h0=js({matrix:Xe,config:Cr,typed:pe}),v0=rf({matrix:Xe,typed:pe}),Zr=Xs({isInteger:o0,matrix:Xe,typed:pe}),Ft=of({numeric:l0,typed:pe}),D0=wf({DenseMatrix:ar,concat:Zr,config:Cr,matrix:Xe,typed:pe}),p0=ff({DenseMatrix:ar,divideScalar:Ft,equalScalar:Fr,matrix:Xe,multiplyScalar:Ur,subtractScalar:wt,typed:pe}),d0=vf({DenseMatrix:ar,concat:Zr,config:Cr,matrix:Xe,typed:pe}),m0=Zs({DenseMatrix:ar,concat:Zr,equalScalar:Fr,matrix:Xe,subtractScalar:wt,typed:pe,unaryMinus:bi}),g0=lf({DenseMatrix:ar,divideScalar:Ft,equalScalar:Fr,matrix:Xe,multiplyScalar:Ur,subtractScalar:wt,typed:pe}),nr=Sf({DenseMatrix:ar,SparseMatrix:gt,addScalar:Lr,concat:Zr,equalScalar:Fr,matrix:Xe,typed:pe}),w0=xf({addScalar:Lr,conj:a0,multiplyScalar:Ur,size:h0,typed:pe}),Gt=df({DenseMatrix:ar,concat:Zr,config:Cr,matrix:Xe,typed:pe}),F0=Ls({addScalar:Lr,dot:w0,equalScalar:Fr,matrix:Xe,multiplyScalar:Ur,typed:pe}),y0=t0({SparseMatrix:gt,abs:Si,add:nr,divideScalar:Ft,larger:Gt,largerEq:D0,multiply:F0,subtract:m0,transpose:v0,typed:pe}),A0=Ef({larger:Gt,smaller:d0}),E0=Mf({FibonacciHeap:A0,addScalar:Lr,equalScalar:Fr}),C0=Tf({DenseMatrix:ar,Spa:E0,SparseMatrix:gt,abs:Si,addScalar:Lr,divideScalar:Ft,equalScalar:Fr,larger:Gt,matrix:Xe,multiplyScalar:Ur,subtractScalar:wt,typed:pe,unaryMinus:bi}),_0=i0({DenseMatrix:ar,lsolve:p0,lup:C0,matrix:Xe,slu:y0,typed:pe,usolve:g0});class M0{constructor(r=5,t=Array(r).fill(.5*Math.PI),i=Array(r).fill(0),n=-9.8){this.n=r,this.thetas=t,this.thetaDots=i,this.g=n}A(r){let t=[];for(let i=0;iu[0])]}RK4(r,t,i){let n=this.f(t,i),u=this.f(nr(t,n[0].map(a=>.5*r*a)),nr(i,n[1].map(a=>.5*r*a))),o=this.f(nr(t,u[0].map(a=>.5*r*a)),nr(i,u[1].map(a=>.5*r*a))),f=this.f(nr(t,o[0].map(a=>1*r*a)),nr(i,o[1].map(a=>1*r*a))),c=nr(n[0],u[0].map(a=>2*a),o[0].map(a=>2*a),f[0]).map(a=>a*r/6),h=nr(n[1],u[1].map(a=>2*a),o[1].map(a=>2*a),f[1]).map(a=>a*r/6);return[nr(t,c),i=nr(i,h)]}tick(r){let t=this.RK4(r,this.thetas,this.thetaDots);this.thetas=t[0],this.thetaDots=t[1]}get coordinates(){let r=0,t=0,i=[];for(let n=0;nyr.pcs.length);au(r,o=>{t.w=o[0].contentRect.width,t.h=o[0].contentRect.height});const n=At([]);for(let o=0;o<2;o++)n[o]=u(-o);function u(o=0){const f=At({}),c=Kt(()=>new M0(yr.pcs.length,Array(yr.pcs.length).fill(1).map((a,s)=>Math.PI+(o!=0?1:-2)*Math.PI*(1-Math.random()/(s+1))/4),Array(yr.pcs.length).fill(1).map(()=>(o!=0?-4:2)*Math.random()+.5))),h=Xt([]);return Qt(()=>lr.ticks,(a,s)=>{a{a.forEach((v,D)=>{var d;if(v.x*((d=s==null?void 0:s[D])==null?void 0:d.x)<0){const l=yr.full.notes[D];f[l]=!0,cu(l)}})}),{coords:h,n:i,active:f}}return(o,f)=>(er(),rr(Jr,null,[tr("div",B0,[tr("button",{class:"p-2 border-1 border-dark-100 dark-border-light-300",onClick:f[0]||(f[0]=c=>Je(lr).stopped=!0)},f[3]||(f[3]=[tr("div",{class:"i-la-stop"},null,-1)])),tr("button",{class:"p-2 border-1 border-dark-100 dark-border-light-300",onClick:f[1]||(f[1]=c=>Je(lr).playing=!Je(lr).playing)},[Je(lr).playing?(er(),rr("div",b0)):(er(),rr("div",S0))]),f[4]||(f[4]=tr("div",{class:"flex-1"},null,-1)),tr("div",x0,ou(Je(lr).ticks),1)]),Je(lr).started?su("",!0):(er(),rr("div",{key:0,class:"absolute bottom-0 top-0 left-0 right-0 flex items-center justify-center text-2xl z-100",onClick:f[2]||(f[2]=c=>Je(lr).playing=!0)},"Press anywhere")),(er(),rr("svg",{class:"select-none min-h-100svh min-w-full",id:"metronome",ref_key:"svg",ref:r,version:"1.1",baseProfile:"full",xmlns:"http://www.w3.org/2000/svg",style:{"user-select":"none","touch-action":"none"}},[tr("rect",{width:t.w,height:t.h,stroke:"white",fill:"#2222"},null,8,N0),tr("line",{class:"transition",x1:t.w/2,x2:t.w/2,y1:0,y2:t.h,stroke:Je(Wt).note.velocity>0?Je(kt)(Je(Wt).note.pitch):"#999"},null,8,T0),tr("circle",{cx:t.w/2,cy:t.h/10,r:8,fill:"currentColor"},null,8,z0),(er(!0),rr(Jr,null,Et(n,(c,h)=>(er(),rr("g",{key:c},[(er(!0),rr(Jr,null,Et(c.coords,(a,s)=>(er(),rr("g",{key:a},[tr("line",{x1:s===0?t.w/2:t.w/2+c.coords[s-1].x*t.h/(i.value+1),y1:s===0?t.h/10:t.h/10-c.coords[s-1].y*t.h/(i.value+1),x2:t.w/2+a.x*t.h/(i.value+1),y2:t.h/10-a.y*t.h/(i.value+1),"stroke-width":(h*2+1)*2,stroke:"currentColor"},null,8,O0)]))),128)),(er(!0),rr(Jr,null,Et(c.coords,(a,s)=>(er(),rr("g",{key:a},[tr("circle",{style:fu([{"transform-origin":"center","transform-box":"fill-box",transition:"transform 1s ease-in-out"},{transform:`scale(${c.active[Je(yr).full.notes[s]]?2:1})`}]),fill:Je(kt)(Je(lu)[Je(yr).pcs[s]],4),cx:t.w/2+a.x*t.h/(i.value+1),cy:t.h/10-a.y*t.h/(i.value+1),r:(h+1)*10},null,12,I0)]))),128))]))),128))],512))],64))}};export{q0 as default}; diff --git a/assets/chunks/Numbers.WffqqVCR.js b/assets/chunks/Numbers.D9t2wNAU.js similarity index 99% rename from assets/chunks/Numbers.WffqqVCR.js rename to assets/chunks/Numbers.D9t2wNAU.js index 98e6f1a0c6..b7f21d6787 100644 --- a/assets/chunks/Numbers.WffqqVCR.js +++ b/assets/chunks/Numbers.D9t2wNAU.js @@ -1 +1 @@ -import{r as fn,c as $,d as Pn,x as V,y as F,A as O,C as e1,O as i1,F as dn,B as vn,G as D,E as r1}from"./framework.BR0mAPCP.js";import{A as f1,g as kn,aU as u1,e as l1}from"./theme.ClagsQLu.js";var Tn="0.9.99";function*s1(){for(const n of[0n,1n,1n,1n,2n,1n,2n,1n,5n,2n,2n,1n,5n,1n,2n,1n,14n,1n,5n,1n,5n,2n,2n,1n,15n,2n,2n,5n,4n,1n,4n,1n,51n,1n,2n,1n,14n,1n,2n,2n,14n,1n,6n,1n,4n,2n,2n,1n,52n,2n,5n,1n,5n,1n,15n,2n,13n,2n,2n,1n,13n,1n,2n,4n,267n,1n,4n,1n,5n,1n,4n,1n,50n,1n,2n,3n,4n,1n,6n,1n,52n,15n,2n,1n,15n,1n,2n,1n,12n,1n,10n,1n,4n,2n,2n,1n,231n,1n,5n,2n,16n,1n,4n,1n,14n,2n,2n,1n,45n,1n,6n,2n,43n,1n,6n,1n,5n,4n,2n,1n,47n,2n,2n,1n,4n,5n,16n,1n,2328n,2n,4n,1n,10n,1n,2n,5n,15n,1n,4n,1n,11n,1n,2n,1n,197n,1n,2n,6n,5n,1n,13n,1n,12n,2n,4n,2n,18n,1n,2n,1n,238n,1n,55n,1n,5n,2n,2n,1n,57n,2n,4n,5n,4n,1n,4n,2n,42n,1n,2n,1n,37n,1n,4n,2n,12n,1n,6n,1n,4n,13n,4n,1n,1543n,1n,2n,2n,12n,1n,10n,1n,52n,2n,2n,2n,12n,2n,2n,2n,51n,1n,12n,1n,5n,1n,2n,1n,177n,1n,2n,2n,15n,1n,6n,1n,197n,6n,2n,1n,15n,1n,4n,2n,14n,1n,16n,1n,4n,2n,4n,1n,208n,1n,5n,67n,5n,2n,4n,1n,12n,1n,15n,1n,46n,2n,2n,1n,56092n,1n,6n,1n,15n,2n,2n,1n,39n,1n,4n,1n,4n,1n,30n,1n,54n,5n,2n,4n,10n,1n,2n,4n,40n,1n,4n,1n,4n,2n,4n,1n,1045n,2n,4n,2n,5n,1n,23n,1n,14n,5n,2n,1n,49n,2n,2n,1n,42n,2n,10n,1n,9n,2n,6n,1n,61n,1n,2n,4n,4n,1n,4n,1n,1640n,1n,4n,1n,176n,2n,2n,2n,15n,1n,12n,1n,4n,5n,2n,1n,228n,1n,5n,1n,15n,1n,18n,5n,12n,1n,2n,1n,12n,1n,10n,14n,195n,1n,4n,2n,5n,2n,2n,1n,162n,2n,2n,3n,11n,1n,6n,1n,42n,2n,4n,1n,15n,1n,4n,7n,12n,1n,60n,1n,11n,2n,2n,1n,20169n,2n,2n,4n,5n,1n,12n,1n,44n,1n,2n,1n,30n,1n,2n,5n,221n,1n,6n,1n,5n,16n,6n,1n,46n,1n,6n,1n,4n,1n,10n,1n,235n,2n,4n,1n,41n,1n,2n,2n,14n,2n,4n,1n,4n,2n,4n,1n,775n,1n,4n,1n,5n,1n,6n,1n,51n,13n,4n,1n,18n,1n,2n,1n,1396n,1n,34n,1n,5n,2n,2n,1n,54n,1n,2n,5n,11n,1n,12n,1n,51n,4n,2n,1n,55n,1n,4n,2n,12n,1n,6n,2n,11n,2n,2n,1n,1213n,1n,2n,2n,12n,1n,261n,1n,14n,2n,10n,1n,12n,1n,4n,4n,42n,2n,4n,1n,56n,1n,2n,1n,202n,2n,6n,6n,4n,1n,8n,1n,10494213n,15n,2n,1n,15n,1n,4n,1n,49n,1n,10n,1n,4n,6n,2n,1n,170n,2n,4n,2n,9n,1n,4n,1n,12n,1n,2n,2n,119n,1n,2n,2n,246n,1n,24n,1n,5n,4n,16n,1n,39n,1n,2n,2n,4n,1n,16n,1n,180n,1n,2n,1n,10n,1n,2n,49n,12n,1n,12n,1n,11n,1n,4n,2n,8681n,1n,5n,2n,15n,1n,6n,1n,15n,4n,2n,1n,66n,1n,4n,1n,51n,1n,30n,1n,5n,2n,4n,1n,205n,1n,6n,4n,4n,7n,4n,1n,195n,3n,6n,1n,36n,1n,2n,2n,35n,1n,6n,1n,15n,5n,2n,1n,260n,15n,2n,2n,5n,1n,32n,1n,12n,2n,2n,1n,12n,2n,4n,2n,21541n,1n,4n,1n,9n,2n,4n,1n,757n,1n,10n,5n,4n,1n,6n,2n,53n,5n,4n,1n,40n,1n,2n,2n,12n,1n,18n,1n,4n,2n,4n,1n,1280n,1n,2n,17n,16n,1n,4n,1n,53n,1n,4n,1n,51n,1n,15n,2n,42n,2n,8n,1n,5n,4n,2n,1n,44n,1n,2n,1n,36n,1n,62n,1n,1387n,1n,2n,1n,10n,1n,6n,4n,15n,1n,12n,2n,4n,1n,2n,1n,840n,1n,5n,2n,5n,2n,13n,1n,40n,504n,4n,1n,18n,1n,2n,6n,195n,2n,10n,1n,15n,5n,4n,1n,54n,1n,2n,2n,11n,1n,39n,1n,42n,1n,4n,2n,189n,1n,2n,2n,39n,1n,6n,1n,4n,2n,2n,1n,1090235n,1n,12n,1n,5n,1n,16n,4n,15n,5n,2n,1n,53n,1n,4n,5n,172n,1n,4n,1n,5n,1n,4n,2n,137n,1n,2n,1n,4n,1n,24n,1n,1211n,2n,2n,1n,15n,1n,4n,1n,14n,1n,113n,1n,16n,2n,4n,1n,205n,1n,2n,11n,20n,1n,4n,1n,12n,5n,4n,1n,30n,1n,4n,2n,1630n,2n,6n,1n,9n,13n,2n,1n,186n,2n,2n,1n,4n,2n,10n,2n,51n,2n,10n,1n,10n,1n,4n,5n,12n,1n,12n,1n,11n,2n,2n,1n,4725n,1n,2n,3n,9n,1n,8n,1n,14n,4n,4n,5n,18n,1n,2n,1n,221n,1n,68n,1n,15n,1n,2n,1n,61n,2n,4n,15n,4n,1n,4n,1n,19349n,2n,2n,1n,150n,1n,4n,7n,15n,2n,6n,1n,4n,2n,8n,1n,222n,1n,2n,4n,5n,1n,30n,1n,39n,2n,2n,1n,34n,2n,2n,4n,235n,1n,18n,2n,5n,1n,2n,2n,222n,1n,4n,2n,11n,1n,6n,1n,42n,13n,4n,1n,15n,1n,10n,1n,42n,1n,10n,2n,4n,1n,2n,1n,11394n,2n,4n,2n,5n,1n,12n,1n,42n,2n,4n,1n,900n,1n,2n,6n,51n,1n,6n,2n,34n,5n,2n,1n,46n,1n,4n,2n,11n,1n,30n,1n,196n,2n,6n,1n,10n,1n,2n,15n,199n,1n,4n,1n,4n,2n,2n,1n,954n,1n,6n,2n,13n,1n,23n,2n,12n,2n,2n,1n,37n,1n,4n,2n,49487367289n,4n,66n,2n,5n,19n,4n,1n,54n,1n,4n,2n,11n,1n,4n,1n,231n,1n,2n,1n,36n,2n,2n,2n,12n,1n,40n,1n,4n,51n,4n,2n,1028n,1n,5n,1n,15n,1n,10n,1n,35n,2n,4n,1n,12n,1n,4n,4n,42n,1n,4n,2n,5n,1n,10n,1n,583n,2n,2n,6n,4n,2n,6n,1n,1681n,6n,4n,1n,77n,1n,2n,2n,15n,1n,16n,1n,51n,2n,4n,1n,170n,1n,4n,5n,5n,1n,12n,1n,12n,2n,2n,1n,46n,1n,4n,2n,1092n,1n,8n,1n,5n,14n,2n,2n,39n,1n,4n,2n,4n,1n,254n,1n,42n,2n,2n,1n,41n,1n,2n,5n,39n,1n,4n,1n,11n,1n,10n,1n,157877n,1n,2n,4n,16n,1n,6n,1n,49n,13n,4n,1n,18n,1n,4n,1n,53n,1n,32n,1n,5n,1n,2n,2n,279n,1n,4n,2n,11n,1n,4n,3n,235n,2n,2n,1n,99n,1n,8n,2n,14n,1n,6n,1n,11n,14n,2n,1n,1040n,1n,2n,1n,13n,2n,16n,1n,12n,5n,27n,1n,12n,1n,2n,69n,1387n,1n,16n,1n,20n,2n,4n,1n,164n,4n,2n,2n,4n,1n,12n,1n,153n,2n,2n,1n,15n,1n,2n,2n,51n,1n,30n,1n,4n,1n,4n,1n,1460n,1n,55n,4n,5n,1n,12n,2n,14n,1n,4n,1n,131n,1n,2n,2n,42n,3n,6n,1n,5n,5n,4n,1n,44n,1n,10n,3n,11n,1n,10n,1n,1116461n,5n,2n,1n,10n,1n,2n,4n,35n,1n,12n,1n,11n,1n,2n,1n,3609n,1n,4n,2n,50n,1n,24n,1n,12n,2n,2n,1n,18n,1n,6n,2n,244n,1n,18n,1n,9n,2n,2n,1n,181n,1n,2n,51n,4n,2n,12n,1n,42n,1n,8n,5n,61n,1n,4n,1n,12n,1n,6n,1n,11n,2n,4n,1n,11720n,1n,2n,1n,5n,1n,112n,1n,52n,1n,2n,2n,12n,1n,4n,4n,245n,1n,4n,1n,9n,5n,2n,1n,211n,2n,4n,2n,38n,1n,6n,15n,195n,15n,6n,2n,29n,1n,2n,1n,14n,1n,32n,1n,4n,2n,4n,1n,198n,1n,4n,8n,5n,1n,4n,1n,153n,1n,2n,1n,227n,2n,4n,5n,19324n,1n,8n,1n,5n,4n,4n,1n,39n,1n,2n,2n,15n,4n,16n,1n,53n,6n,4n,1n,40n,1n,12n,5n,12n,1n,4n,2n,4n,1n,2n,1n,5958n,1n,4n,5n,12n,2n,6n,1n,14n,4n,10n,1n,40n,1n,2n,2n,179n,1n,1798n,1n,15n,2n,4n,1n,61n,1n,2n,5n,4n,1n,46n,1n,1387n,1n,6n,2n,36n,2n,2n,1n,49n,1n,24n,1n,11n,10n,2n,1n,222n,1n,4n,3n,5n,1n,10n,1n,41n,2n,4n,1n,174n,1n,2n,2n,195n,2n,4n,1n,15n,1n,6n,1n,889n,1n,2n,2n,4n,1n,12n,2n,178n,13n,2n,1n,15n,4n,4n,1n,12n,1n,20n,1n,4n,5n,4n,1n,408641062n,1n,2n,60n,36n,1n,4n,1n,15n,2n,2n,1n,46n,1n,16n,1n,54n,1n,24n,2n,5n,2n,4n,1n,221n,1n,4n,1n,11n,1n,30n,1n,928n,2n,4n,1n,10n,2n,2n,13n,14n,1n,4n,1n,11n,2n,6n,1n,697n,1n,4n,3n,5n,1n,8n,1n,12n,5n,2n,2n,64n,1n,4n,2n,10281n,1n,10n,1n,5n,1n,4n,1n,54n,1n,8n,2n,11n,1n,4n,1n,51n,6n,2n,1n,477n,1n,2n,2n,56n,5n,6n,1n,11n,5n,4n,1n,1213n,1n,4n,2n,5n,1n,72n,1n,68n,2n,2n,1n,12n,1n,2n,13n,42n,1n,38n,1n,9n,2n,2n,2n,137n,1n,2n,5n,11n,1n,6n,1n,21507n,5n,10n,1n,15n,1n,4n,1n,34n,2n,60n,2n,4n,5n,2n,1n,1005n,2n,5n,2n,5n,1n,4n,1n,12n,1n,10n,1n,30n,1n,10n,1n,235n,1n,6n,1n,50n,309n,4n,2n,39n,7n,2n,1n,11n,1n,36n,2n,42n,2n,2n,5n,40n,1n,2n,2n,39n,1n,12n,1n,4n,3n,2n,1n,47937n,1n,4n,2n,5n,1n,13n,1n,35n,4n,4n,1n,37n,1n,4n,2n,51n,1n,16n,1n,9n,1n,30n,2n,64n,1n,2n,14n,4n,1n,4n,1n,1285n,1n,2n,1n,228n,1n,2n,5n,53n,1n,8n,2n,4n,2n,2n,4n,260n,1n,6n,1n,15n,1n,110n,1n,12n,2n,4n,1n,12n,1n,4n,5n,1083553n,1n,12n,1n,5n,1n,4n,1n,749n,1n,4n,2n,11n,3n,30n,1n,54n,13n,6n,1n,15n,2n,2n,9n,12n,1n,10n,1n,35n,2n,2n,1n,1264n,2n,4n,6n,5n,1n,18n,1n,14n,2n,4n,1n,117n,1n,2n,2n,178n,1n,6n,1n,5n,4n,4n,1n,162n,2n,10n,1n,4n,1n,16n,1n,1630n,2n,2n,2n,56n,1n,10n,15n,15n,1n,4n,1n,4n,2n,12n,1n,1096n,1n,2n,21n,9n,1n,6n,1n,39n,5n,2n,1n,18n,1n,4n,2n,195n,1n,120n,1n,9n,2n,2n,1n,54n,1n,4n,4n,36n,1n,4n,1n,186n,2n,2n,1n,36n,1n,6n,15n,12n,1n,8n,1n,4n,5n,4n,1n,241004n,1n,5n,1n,15n,4n,10n,1n,15n,2n,4n,1n,34n,1n,2n,4n,167n,1n,12n,1n,15n,1n,2n,1n,3973n,1n,4n,1n,4n,1n,40n,1n,235n,11n,2n,1n,15n,1n,6n,1n,144n,1n,18n,1n,4n,2n,2n,2n,203n,1n,4n,15n,15n,1n,12n,2n,39n,1n,4n,1n,120n,1n,2n,2n,1388n,1n,6n,1n,13n,4n,4n,1n,39n,1n,2n,5n,4n,1n,66n,1n,963n,1n,8n,1n,10n,2n,4n,4n,12n,2n,12n,1n,4n,2n,4n,2n,6538n,1n,2n,2n,20n,1n,6n,2n,46n,63n,2n,1n,88n,1n,12n,1n,42n,1n,10n,2n,5n,5n,2n,1n,175n,2n,2n,2n,11n,1n,12n,1n])yield n}function*Zn(){yield 1n,yield 2n,yield 2n;const n=Zn();n.next(),n.next();let e=!0;for(const l of n){e=!e;for(let y=0n;ye+l,0n)}function p1(n){return String(n).split("").map(BigInt).reduce((e,l)=>e*l,1n)}function P(n){if(n===1n)return!1;for(let e=2n;e*e<=n;e++)if(n%e===0n)return!1;return!0}function G(n,e=!1){if(P(n))return[n];const l=[],y=function*(){for(let h=2n;;h++)P(h)&&(yield h)}();for(;;){const h=y.next().value;let b=!1;for(;n%h===0n;)!e&&b||(l.push(h),b=!0),n/=h;if(n===1n)return l}}function d1(n,e){const l=G(n),y=G(e);for(const h of l)if(y.indexOf(h)!==-1)return!1;return!0}function v1(n){if(n<2n)return n;let e=0n;for(let l=1n;l1n;e--)n*=e;return n}function Dn(n){const e=[];for(;n>0n;)e.unshift(n%2n),n>>=1n;return e.join("")}function*T(){for(let n=2n;;n++)P(n)&&(yield n)}function*h1(){for(const n of T())yield BigInt(0|Math.sqrt(Number(n)))}function*A1(){for(yield 1n;;)yield 0n}function*g1(){for(const n of[1n,1n,2n,2n,3n,4n,5n,6n,7n,8n,11n,12n,15n,16n,19n,22n,25n,28n,31n,34n,40n,43n,49n,52n,58n,64n,70n,76n,82n,88n,98n,104n,114n,120n,130n,140n,150n,160n,170n,180n,195n,205n,220n,230n,245n,260n,275n,290n,305n,320n,341n,356n,377n,392n,413n,434n,455n,476n,497n,518n,546n])yield n}function*m1(){for(const n of[1n,1n,1n,2n,2n,3n,4n,5n,6n,8n,10n,12n,15n,18n,22n,27n,32n,38n,46n,54n,64n,76n,89n,104n,122n,142n,165n,192n,222n,256n,296n,340n,390n,448n,512n,585n,668n,760n,864n,982n,1113n,1260n,1426n,1610n,1816n,2048n,2304n,2590n,2910n,3264n,3658n,4097n,4582n,5120n,5718n,6378n])yield n}function*w1(){for(let n=1n;;n++)yield v1(n)}function*b1(){for(const n of[1n,1n,2n,2n,4n,4n,8n,9n,18n,23n,44n,63n,122n,190n,362n,612n,1162n,2056n,3914n,7155n,13648n,25482n,48734n,92205n,176906n,337594n,649532n,1246863n,2405236n,4636390n,8964800n,17334801n,33588234n,65108062n,126390032n,245492244n,477353376n,928772650n,1808676326n,3524337980n])yield n}function*S1(){for(;;)yield 1n}function*B1(){for(const n of[1n,1n,2n,2n,4n,4n,8n,10n,20n,30n,56n,94n,180n,316n,596n,1096n,2068n,3856n,7316n,13798n,26272n,49940n,95420n,182362n,349716n,671092n,1290872n,2485534n,4794088n,9256396n,17896832n,34636834n,67110932n,130150588n,252648992n,490853416n])yield n}function*I1(){for(const n of[0n,1n,1n,0n,1n,1n,2n,2n,4n,5n,10n,14n,26n,42n,78n,132n,249n,445n,842n,1561n,2988n,5671n,10981n,21209n,41472n,81181n,160176n,316749n,629933n,1256070n,2515169n,5049816n,10172638n,20543579n,41602425n,84440886n,171794492n,350238175n,715497037n,1464407113n])yield n}function*M1(){for(const n of[1n,2n,3n,4n,5n,7n,7n,8n,9n,11n,11n,13n,13n,16n,16n,16n,17n,19n,19n,23n,23n,23n,23n,25n,25n,27n,27n,29n,29n,31n,31n,32n,37n,37n,37n,37n,37n,41n,41n,41n,41n,43n,43n,47n,47n,47n,47n,49n,49n,53n,53n,53n,53n,59n,59n,59n,59n,59n,59n,61n,61n,64n,64n,64n,67n,67n,67n,71n,71n,71n,71n,73n])yield n}function*N1(){for(const n of[1n,1n,1n,2n,2n,4n,6n,10n,16n,30n,52n,94n,172n,316n,586n,1096n,2048n,3856n,7286n,13798n,26216n,49940n,95326n,182362n,349536n,671092n,1290556n,2485534n,4793492n,9256396n,17895736n,34636834n,67108864n,130150588n,252645136n,490853416n])yield n}function*q1(){for(const n of[1n,0n,0n,2n,2n,4n,8n,4n,16n,12n,48n,80n,136n,420n,1240n,2872n,7652n,18104n,50184n])yield n}function*_1(){for(const n of[1n,1n,2n,2n,4n,8n,13n,25n,44n,83n,152n,286n,538n,1020n,1942n,3725n,7145n,13781n,26627n,51572n,100099n,194633n,379037n,739250n,1443573n,2822186n,5522889n,10818417n,21209278n,41613288n,81705516n,160532194n,315604479n,620834222n,1221918604n,2406183020n,4740461247n])yield n}function*E1(){for(const n of[1n,1n,2n,2n,5n,4n,7n,7n,11n,9n,8n,6n,9n,4n,6n,22n,10n,4n,8n,4n,9n,4n,7n,5n,28n,7n,15n,14n,8n,4n,12n,7n,4n,2n,6n,22n,11n,4n,2n,8n,10n,4n,10n,4n,9n,2n,6n,4n,40n,9n,2n,3n,8n,4n,8n,9n,5n,2n,6n,9n,14n,4n,8n,74n,13n,7n,10n,7n,2n,2n,10n,4n,16n,4n,2n,2n,4n,6n,10n,4n,155n,10n,6n,6n,6n,2n,2n,2n,10n,4n,10n,2n])yield n}function*O1(){for(const n of[2n,1n,2n,2n,6n,6n,18n,16n,48n,60n,176n,144n,630n,756n,1800n,2048n,7710n,7776n,27594n,24000n,84672n,120032n,356960n,276480n,1296000n,1719900n,4202496n,4741632n,18407808n,17820000n,69273666n,67108864n,211016256n,336849900n,929275200n,725594112n,3697909056n])yield n}function*P1(){for(const n of[1n,1n,2n,2n,6n,9n,17n,30n,54n,98n,183n,341n,645n,1220n,2327n,4451n,8555n,16489n,31859n,61717n,119779n,232919n,453584n,884544n,1727213n,3376505n,6607371n,12942012n,25371540n,49777187n,97731027n,192010355n,377475336n,742512992n,1461352025n,2877572478n,5668965407n])yield n}function*k1(){for(const n of[0n,1n,0n,1n,1n,2n,2n,6n,9n,20n,37n,86n,181n,422n,943n,2223n,5225n,12613n,30513n,74883n,184484n,458561n,1145406n,2879870n,7274983n,18471060n,47089144n,120528657n,309576725n,797790928n,2062142876n,5345531935n,13893615154n,36201693122n])yield n}function*L1(){for(const n of[1n,-1n,2n,-2n,8n,8n,112n,656n,5504n,49024n,491264n,5401856n,64826368n,842734592n,11798300672n,176974477312n,2831591702528n,48137058811904n,866467058876416n,16462874118127616n,329257482363600896n,6914407129633521664n,152116956851941670912n])yield n}function*x1(){for(const n of[1n,1n,2n,2n,7n,10n,20n,36n,65n,118n,221n,409n,776n,1463n,2788n,5328n,10222n,19714n,38054n,73685n,142944n,277838n,540889n,1054535n,2058537n,4023278n,7871313n,15414638n,30213190n,59266422n,116343776n,228545682n,449240740n,883570480n,1738769611n,3423469891n,6743730746n])yield n}function*T1(){for(const n of[1n,1n,-2n,3n,-3n,3n,-5n,7n,-6n,6n,-10n,12n,-11n,13n,-17n,20n,-21n,21n,-27n,34n,-33n,36n,-46n,51n,-53n,58n,-68n,78n,-82n,89n,-104n,118n,-123n,131n,-154n,171n,-179n,197n,-221n,245n,-262n,279n,-314n,349n,-369n,398n,-446n,486n,-515n,557n,-614n,671n,-715n,767n,-845n,920n,-977n,1046n,-1148n,1244n])yield n}function*Z1(){for(const n of[1n,2n,3n,4n,5n,6n,7n,6n,6n,10n,11n,12n,13n,14n,15n,8n,17n,12n,19n,20n,21n,22n,23n,18n,10n,26n,9n,28n,29n,30n,31n,10n,33n,34n,35n,24n,37n,38n,39n,30n,41n,42n,43n,44n,30n,46n,47n,24n,14n,20n,51n,52n,53n,18n,55n,42n,57n,58n,59n,60n,61n,62n,42n,12n,65n,66n,67n,68n,69n,70n,71n,36n])yield n}function*D1(){for(let n=1n;;n++)yield n}function*J1(){for(const n of[2n,3n,4n,5n,7n,9n,11n,13n,16n,17n,19n,23n,24n,25n,29n,30n,31n,37n,40n,41n,42n,43n,47n,49n,53n,54n,56n,59n,60n,61n,66n,67n,70n,71n,72n,73n,78n,79n,81n,83n,84n,88n,89n,90n,96n,97n,101n,102n,103n,104n,105n,107n,108n,109n,110n,113n,114n,121n,126n,127n,128n,130n,131n,132n,135n,136n,137n])yield n}function*R1(){for(const n of[1n,2n,3n,4n,6n,8n,13n,18n,30n,46n,78n,126n,224n,380n,687n,1224n,2250n,4112n,7685n,14310n,27012n,50964n,96909n,184410n,352698n,675188n,1296858n,2493726n,4806078n,9272780n,17920860n,34669602n,67159050n,130216124n,252745368n,490984488n])yield n}function*U1(){for(let n=0n;;n++){const e=n.toString();e[0]&&(yield BigInt(e[0]))}}function*C1(){for(const n of[1n,2n,3n,4n,6n,8n,14n,20n,36n,60n,108n,188n,352n,632n,1182n,2192n,4116n,7712n,14602n,27596n,52488n,99880n,190746n,364724n,699252n,1342184n,2581428n,4971068n,9587580n,18512792n,35792568n,69273668n,134219796n,260301176n,505294128n,981706832n])yield n}function*Jn(){let n=2n,e=1n;for(yield n,yield e;;){const l=e+n;n=e,e=l,yield e}}function*j1(){for(const n of[0n,2n,3n,4n,40n,210n,1477n,11672n,104256n,1036050n,11338855n,135494844n,1755206648n,24498813794n,366526605705n,5851140525680n,99271367764480n,1783734385752162n,33837677493828171n,675799125332580020n,14173726082929399560n,311462297063636041906n])yield n}function*z1(){for(;;)yield 1n,yield 2n}function*V1(){for(;;)yield 0n,yield 1n}function*F1(){for(const n of[2n,3n,5n,6n,6n,-6n,7n,8n,10n,13n,13n,13n,14n,-17n,17n,17n,18n,-19n,20n,-22n,23n,27n,-29n,-29n,29n,-31n,-32n,-35n,36n,-37n,-40n,-43n,-46n,-48n,-50n,-53n,-55n,-57n,-60n,-60n,-61n,-63n,-66n,-66n,-68n,-71n,-74n,-77n,-79n,-82n,-85n,-88n,-89n,-92n,-95n,-96n,-97n,-97n,-100n])yield n}function*Rn(){for(let n=0n;;n++)yield n**2n}function*G1(){let n=0n;for(const e of Rn()){for(;nn&&(yield l[n],n++)}}function*H1(){yield 1n;const n=Un(),e=[];function l(h){return h in e||(e[h]=n.next().value),e[h]}const y=[1n];for(let h=1;;h++){y[h]=0n;for(let b=1;b<=h;b++)y[h]+=y[h-b]*l(b);y[h]/=BigInt(h),yield y[h]}}function*Q1(){for(let n=1n;;n=10n*n+1n)yield n}function*W1(){for(const n of T())P(BigInt(2**Number(n))-1n)&&(yield n)}function*Y1(){for(const n of[1n,1n,1n,2n,3n,5n,8n,13n,21n,34n,55n,89n,144n,232n,375n,606n,979n,1582n,2556n,4130n,6673n,10782n,17421n,28148n,45480n,73484n,118732n,191841n,309967n,500829n,809214n,1307487n,2112571n,3413385n,5515174n,8911138n,14398164n,23263822n,37588502n,60733592n,98130253n,158553878n,256183302n,413927966n,668803781n,1080619176n,1746009572n,2821113574n,4558212008n])yield n}function*Cn(){let n=0n,e=1n;for(yield n,yield e;;){const l=n+e;n=e,e=l,yield e}}function*$1(){for(const n of[1n,1n,1n,1n,2n,3n,5n,8n,14n,21n,39n,62n,112n,189n,352n,607n,1144n,2055n,3885n,7154n,13602n,25472n,48670n,92204n,176770n,337590n,649341n,1246840n,2404872n,4636389n,8964143n,17334800n,33587072n,65107998n,126387975n,245492232n,477349348n])yield n}function*n0(){for(const n of[1n,2n,3n,5n,8n,15n,26n,48n,87n,161n,299n,563n,1066n,2030n,3885n,7464n,14384n,27779n,53782n,104359n,202838n,394860n,769777n,1502603n,2936519n,5744932n,11249805n,22048769n,43248623n,84894767n,166758141n,327770275n,644627310n,1268491353n,2497412741n])yield n}function*t0(){for(const n of[1n,1n,1n,1n,2n,3n,5n,9n,16n,28n,51n,93n,170n,315n,585n,1091n,2048n,3855n,7280n,13797n,26214n,49929n,95325n,182361n,349520n,671088n,1290555n,2485504n,4793490n,9256395n,17895679n,34636833n,67108864n,130150493n,252645135n,490853403n,954437120n,1857283155n])yield n}function*o0(){for(const n of[0n,0n,2n,3n,5n,9n,16n,29n,53n,98n,181n,341n,640n,1218n,2321n,4449n,8546n,16482n,31845n,61707n,119760n,232865n,453511n,884493n,1727125n,3376376n,6607207n,12941838n,25371086n,49776945n,97730393n,192009517n,377473965n,742511438n,1461351029n,2877568839n,5668961811n])yield n}function*e0(){for(const n of[1n,2n,3n,5n,9n,16n,29n,54n,97n,180n,337n,633n,1197n,2280n,4357n,8363n,16096n,31064n,60108n,116555n,226419n,440616n,858696n,1675603n,3273643n,6402706n,12534812n,24561934n,48168461n,94534626n,185661958n,364869032n,717484560n,1411667114n,2778945873n,5473203125n])yield n}function*i0(){for(let n=0n;;n++)yield BigInt(2**Number(n))+1n}function*r0(){for(const n of[8n,5n,4n,9n,1n,7n,6n,3n,2n,0n,18n,80n,88n,85n,84n,89n,81n,87n,86n,83n,82n,11n,15n,50n,58n,55n,54n,59n,51n,57n,56n,53n,52n,40n,48n,45n,44n,49n,41n,47n,46n,43n,42n,14n,19n,90n,98n,95n,94n,99n,91n,97n,96n,93n,92n,17n,70n,78n,75n,74n,79n,71n,77n,76n,73n,72n])yield n}function*f0(){for(const n of[14n,18n,23n,28n,34n,42n,50n,59n,66n,72n,79n,86n,96n,103n,110n,116n,125n,137n,145n,157n,168n,181n,191n,207n,215n,225n,231n,238n,242n])yield n}function*u0(){for(const n of[4n,14n,23n,34n,42n,50n,59n,72n,81n,86n,96n,103n,110n,116n,125n,135n,145n,155n,163n,168n,175n,181n,190n,200n,207n])yield n}function*l0(){for(const n of[1n,1n,1n,1n,2n,3n,6n,11n,23n,47n,106n,235n,551n,1301n,3159n,7741n,19320n,48629n,123867n,317955n,823065n,2144505n,5623756n,14828074n,39299897n,104636890n,279793450n,751065460n,2023443032n,5469566585n,14830871802n,40330829030n,109972410221n,300628862480n,823779631721n,2262366343746n,6226306037178n])yield n}function*s0(){for(const n of[1n,6n,24n,48n,120n,144n,336n,384n,648n,720n,1320n,1152n,2184n,2016n,2880n,3072n,4896n,3888n,6840n,5760n,8064n,7920n,12144n,9216n,15000n,13104n,17496n,16128n,24360n,17280n,29760n,24576n,31680n,29376n,40320n,31104n,50616n,41040n,52416n,46080n,68880n,48384n,79464n])yield n}function*c0(){for(const n of[2n,3n,7n,23n,43n,67n,83n,103n,127n,163n,167n,223n,227n,283n,367n,383n,443n,463n,467n,487n,503n,523n,547n,587n,607n,643n,647n,683n,727n,787n,823n,827n,863n,883n,887n,907n,947n,983n,1063n,1123n,1163n,1187n,1283n,1303n,1327n,1367n,1423n,1447n,1487n,1543n])yield n}function*a0(){let n=2n;for(yield n;;)n=n**2n-n+1n,yield n}function*y0(){for(let n=1n;;n++)P(BigInt((2*Number(n))**4)+1n)&&(yield n)}function*p0(){for(const n of[1n,2n,3n,10n,27n,98n,350n,1402n,5743n,24742n,108968n,492638n,2266502n,10600510n,50235931n,240882152n,1166732814n,5702046382n,28088787314n,139355139206n,695808554300n,3494391117164n,17641695461662n,89495028762682n,456009893224285n,2332997356507678n,11980753878699716n,61739654456234062n,319188605907760846n])yield n}function*d0(){for(const n of[1n,1n,2n,4n,4n,6n,8n,8n,12n,14n,14n,16n,20n,20n,24n,32n,24n,30n,38n,32n,40n,46n,40n,48n,60n,50n,54n,64n,60n,68n,80n,64n,72n,92n,76n,96n,100n,82n,104n,112n,96n,108n,126n,112n,120n,148n,112n,128n,168n,130n,156n,160n,140n,162n,184n,160n,168n,198n,170n,192n,220n,168n,192n])yield n}function*v0(){for(const n of[1n,2n,4n,5n,6n,8n,9n,11n,12n,13n,15n,16n,18n,19n,20n,22n,23n,25n,26n,27n,29n,30n,32n,33n,34n,36n,37n,38n,40n,41n,43n,44n,45n,47n,48n,50n,51n,52n,54n,55n,57n,58n,59n,61n,62n,64n,65n,66n,68n,69n,71n,72n,73n,75n,76n,77n,79n,80n,82n,83n,84n,86n,87n,89n,90n,91n,93n,94n,96n,97n,98n])yield n}function*h0(){for(const n of[1n,1n,2n,4n,5n,14n,14n,39n,42n,132n,132n,424n,429n,1428n,1430n,4848n,4862n,16796n,16796n,58739n,58786n,208012n,208012n,742768n,742900n,2674426n,2674440n,9694416n,9694845n,35357670n,35357670n,129643318n,129644790n,477638700n,477638700n,1767258328n,1767263190n,6564120288n])yield n}function*A0(){for(const n of[1n,2n,4n,6n,9n,13n,18n,24n,31n,39n,50n,62n,77n,93n,112n,134n,159n,187n,218n,252n,292n,335n,384n,436n,494n,558n,628n,704n,786n,874n,972n,1076n,1190n,1310n,1440n,1580n,1730n,1890n,2060n,2240n,2435n,2640n,2860n,3090n,3335n,3595n,3870n,4160n,4465n,4785n,5126n])yield n}function*g0(){for(const n of[0n,0n,1n,2n,4n,6n,10n,14n,21n,29n,41n,55n,76n,100n,134n,175n,230n,296n,384n,489n,626n,791n,1001n,1254n,1574n,1957n,2435n,3009n,3717n,4564n,5603n,6841n,8348n,10142n,12309n,14882n,17976n,21636n,26014n,31184n,37337n,44582n,53173n,63260n,75174n,89133n,105557n,124753n])yield n}function*m0(){for(const n of[4n,6n,10n,14n,24n,30n,58n,70n,112n,126n])yield n}function*w0(){for(const n of[1n,2n,4n,6n,10n,18n,33n,60n,111n,205n,385n,725n,1374n,2610n,4993n,9578n,18426n,35568n,68806n,133411n,259145n,504222n,982538n,1917190n,3745385n,7324822n,14339072n,28095711n,55095559n,108124461n,212342327n,417283564n,820520378n,1614331755n,3177789615n,6258525127n])yield n}function*b0(){for(let n=1n;;n++)P(BigInt(Number(n)**4)+1n)&&(yield n)}function*S0(){for(let n=0n;;n++)(Dn(n).match(/1/g)||[]).length%2==1&&(yield n)}function*B0(){for(const n of[1n,2n,4n,7n,12n,19n,30n,45n,67n,97n,139n,195n,272n,373n,508n,684n,915n,1212n,1597n,2087n,2714n,3506n,4508n,5763n,7338n,9296n,11732n,14742n,18460n,23025n,28629n,35471n,43820n,53963n,66273n,81156n,99133n,120770n,146785n,177970n,215308n,259891n,313065n,376326n,451501n])yield n}function*I0(){const n=Cn();n.next();for(const e of n)yield e-1n}function*M0(){for(const n of[1n,1n,2n,4n,7n,12n,22n,41n,72n,137n,254n,476n,901n,1716n,3274n,6286n,12090n,23331n,45140n,87511n,169972n,330752n,644499n,1257523n,2456736n,4804666n,9405749n,18429828n,36141339n,70928099n,139295793n,273741700n,538277486n,1059051586n,2084763319n,4105924366n])yield n}function*N0(){let n=0n,e=0n,l=1n;for(yield n,yield e,yield l;;){const y=n+e+l;n=e,e=l,l=y,yield l}}function*q0(){for(const n of[1n,1n,2n,4n,7n,13n,25n,43n,83n,157n,296n,564n,1083n,2077n,4006n,7733n,14968n,29044n,56447n,109864n,214197n,418080n,816907n,1598040n,3129063n,6132106n,12027122n,23606527n,46366165n,91127332n,179207074n,352615528n,694182554n,1367278759n])yield n}function*_0(){for(const n of[0n,1n,2n,4n,7n,14n,23n,42n,76n,139n,258n,482n,907n,1717n,3269n,6257n,12020n,23171n,44762n,86683n,168233n,327053n,636837n,1241723n,2424228n,4738426n,9271299n,18157441n,35591647n,69820626n,137068908n,269270450n,529312241n,1041093048n,2048825748n,4034059456n])yield n}function*E0(){for(const n of[0n,0n,1n,2n,4n,7n,14n,24n,43n,82n,149n,284n,534n,1015n,1937n,3713n,7136n,13759n,26597n,51537n,100045n,194586n,378987n,739161n,1443465n,2821923n,5522689n,10818037n,21208747n,41612533n,81704494n,160531078n,315602635n,620831732n,1221915127n,2406177404n,4740454046n,9343415302n,18423548106n,36342329321n])yield n}function*O0(){for(const n of[1n,1n,2n,4n,8n,13n,24n,42n,76n,140n,257n,483n,907n,1717n,3272n,6261n,12027n,23172n,44769n,86708n,168245n,327073n,636849n,1241720n,2424290n,4738450n,9271396n,18157630n,35591729n,69820804n,137069245n,269270791n,529312776n,1041093937n,2048826229n,4034062310n])yield n}function*P0(){let n=0n,e=0n,l=0n,y=1n;for(yield n,yield e,yield l,yield y;;){const h=n+e+l+y;n=e,e=l,l=y,y=h,yield y}}function*k0(){let n=1n;for(yield n;;)yield n<<=1n}function*L0(){for(const n of[1n,1n,2n,4n,9n,19n,48n,117n,307n,821n,2277n,6437n,18634n,54775n,163703n,495529n,1518706n,4703848n,14714754n,46444979n,147832051n,474229588n,1532565644n])yield n}function*x0(){for(const n of[0n,1n,1n,2n,4n,9n,20n,48n,115n,286n,719n,1842n,4766n,12486n,32973n,87811n,235381n,634847n,1721159n,4688676n,12826228n,35221832n,97055181n,268282855n,743724984n,2067174645n,5759636510n,16083734329n,45007066269n,126186554308n,354426847597n,997171512998n])yield n}function*T0(){for(const n of[1n,6n,12n,24n,30n,72n,56n,96n,108n,180n,132n,288n,182n,336n,360n,384n,306n,648n,380n,720n,672n,792n,552n,1152n,750n,1092n,972n,1344n,870n,2160n,992n,1536n,1584n,1836n,1680n,2592n,1406n,2280n,2184n,2880n,1722n,4032n,1892n,3168n,3240n,3312n,2256n])yield n}function*Z0(){for(const n of[1n,1n,1n,2n,4n,9n,23n,63n,188n,596n,1979n,6804n,24118n,87379n,322652n,1209808n,4596158n,17657037n,68497898n,268006183n,1056597059n,4193905901n,16748682185n,67258011248n,271452424286n,1100632738565n,4481533246014n])yield n}function*D0(){for(const n of[1n,2n,4n,10n,24n,66n,180n,522n,1532n,4624n,14136n,43930n,137908n,437502n,1399068n,4507352n,14611576n,47633486n,156047204n,513477502n,1696305728n,5623993944n,18706733128n,62408176762n,208769240140n,700129713630n,2353386723912n])yield n}function*J0(){let n=1n,e=1n;yield n,yield e;for(let l=1n;;l++){const y=e+n*l;n=e,e=y,yield e}}function*R0(){for(const n of[1n,0n,1n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,4n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n])yield n}function*U0(){for(const n of[2n,1n,2n,4n,10n,37n,138n,628n,2972n,14903n,76994n,409594n,2222628n,12281570n,68864086n,391120036n,2246122574n,13025721601n,76194378042n,449155863868n,2666126033850n,15925105028685n,95664343622234n,577651490729530n])yield n}function*C0(){for(const n of[1n,1n,2n,4n,11n,34n,156n,1044n,12346n,274668n,12005168n,1018997864n,165091172592n,50502031367952n,29054155657235488n,31426485969804308768n,64001015704527557894928n,245935864153532932683719776n,1787577725145611700547878190848n,24637809253125004524383007491432768n])yield n}function*j0(){for(const n of[1n,1n,0n,0n,2n,0n,0n,0n,0n,2n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,2n,2n,0n,0n,2n,0n,0n,0n,0n,2n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,2n,0n,0n,0n,0n,2n,0n,0n,2n,0n,0n,0n,4n,0n,0n,0n,0n,0n,0n,0n,2n,2n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,4n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n])yield n}function*z0(){for(const n of[1n,1n,2n,4n,16n,80n,520n,3640n,29120n,259840n,2598400n,28582400n,343235200n,4462057600n,62468806400n,936987251200n,14991796019200n,254860532326400n,4587501779660800n,87162533813555200n,1743250676271104000n,36608259566534656000n,805381710463762432000n])yield n}function*V0(){for(const n of[1n,2n,2n,2n,0n,4n,2n,2n,0n,0n,0n,4n,2n,4n,0n,2n,0n,0n,2n,0n,4n,0n,0n,4n,0n,4n,0n,4n,0n,0n,2n,2n,0n,0n,0n,0n,2n,4n,4n,0n,0n,8n,2n,0n,0n,0n,0n,4n,2n,0n,0n,4n,0n,0n,0n,4n,4n,0n,0n,0n,2n,4n,0n,2n,0n,0n,2n,0n,0n,0n,0n,0n,2n,4n,0n,4n,0n,8n,2n,0n,0n,0n,0n,8n,0n,4n,0n,0n,0n,0n,4n,0n,4n,0n,0n,4n,2n,4n,0n,0n,0n,0n,2n,4n,0n])yield n}function*F0(){for(const n of[1n,2n,5n,6n,14n,21n,29n,30n,54n,90n,134n,155n,174n,230n,234n,251n,270n,342n,374n,461n,494n,550n,666n,750n,810n,990n,1890n,2070n,2486n,2757n,2966n,3150n,3566n,3630n,4554n,4829n,5670n,5750n,8154n,8382n,8774n,8910n,10350n,10710n,15734n,15750n,16302n,17550n])yield n}function*G0(){for(const n of[0n,1n,2n,5n,8n,11n,14n,18n,22n,27n,31n,36n,41n,46n,52n,58n,64n,70n,76n,82n,89n,96n,103n,110n,117n,125n,132n,140n,148n,156n,164n,172n,181n,189n,198n,207n,216n,225n,234n,243n,252n,262n,272n,281n,291n,301n,311n,322n,332n,343n,353n,364n,374n,385n,396n,407n,419n,430n])yield n}function*K0(){for(const n of[0n,0n,0n,0n,1n,2n,5n,8n,14n,21n,32n,45n,65n,88n,121n,161n,215n,280n,367n,471n,607n,771n,980n,1232n,1551n,1933n,2410n,2983n,3690n,4536n,5574n,6811n,8317n,10110n,12276n,14848n,17941n,21600n,25977n,31146n,37298n,44542n,53132n,63218n,75131n,89089n])yield n}function*X0(){for(const n of[1n,2n,0n,0n,2n,0n,0n,0n,0n,4n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,2n,4n,0n,0n,2n,0n,0n,0n,0n,4n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,4n,0n,0n,2n,0n,0n,0n,0n,4n,0n,0n,2n,0n,0n,0n,4n,0n,0n,0n,0n,0n,0n,0n,2n,4n,0n,0n,0n,0n,0n,0n,0n,4n,0n,0n,4n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n])yield n}function*H0(){for(let n=0n;;n++)yield n*(n+3n)/2n}function*Q0(){for(const n of[1n,2n,5n,9n,17n,28n,47n,73n,114n,170n,253n,365n,525n,738n,1033n,1422n,1948n,2634n,3545n,4721n,6259n,8227n,10767n,13990n,18105n,23286n,29837n,38028n,48297n,61053n,76926n,96524n,120746n,150487n,187019n,231643n,286152n,352413n,432937n,530383n,648245n])yield n}function*W0(){for(const n of[1n,2n,5n,10n,19n,33n,57n,92n,147n,227n,345n,512n,752n,1083n,1545n,2174n,3031n,4179n,5719n,7752n,10438n,13946n,18519n,24428n,32051n,41805n,54265n,70079n,90102n,115318n,147005n,186626n,236064n,297492n,373645n,467707n])yield n}function*Y0(){for(const n of[1n,2n,5n,10n,20n,24n,26n,41n,53n,130n,149n,205n,234n,287n,340n,410n,425n,480n,586n,840n,850n,986n,1680n,1843n,2260n,2591n,3023n,3024n,3400n,3959n,3960n,5182n,5183n,7920n,9796n,11233n,14883n,15119n,15120n,19593n,21600n,21603n,21604n,22177n,28559n,28560n])yield n}function*$0(){for(const n of[0n,0n,0n,1n,2n,5n,11n,23n,47n,94n,185n,360n,694n,1328n,2526n,4781n,9012n,16929n,31709n,59247n,110469n,205606n,382087n,709108n,1314512n,2434364n,4504352n,8328253n,15388362n,28417385n,52451811n,96771787n,178473023n,329042890n,606466009n,1117506500n])yield n}function*n2(){for(const n of[3n,5n,11n,29n,97n,127n,541n,907n,1151n,1361n,9587n,15727n,19661n,31469n,156007n,360749n,370373n,492227n,1349651n,1357333n,2010881n,4652507n,17051887n,20831533n,47326913n,122164969n,189695893n,191913031n,387096383n,436273291n,1294268779n])yield n}function*t2(){for(const n of[0n,0n,0n,0n,1n,2n,5n,12n,27n,59n,127n,269n,563n,1167n,2400n,4903n,9960n,20135n,40534n,81300n,162538n,324020n,644282n,1278152n,2530407n,5000178n,9863763n,19427976n,38211861n,75059535n,147263905n,288609341n,565047233n,1105229439n,2159947998n])yield n}function*o2(){for(const n of[0n,0n,1n,1n,2n,5n,12n,34n,130n,525n,2472n,12400n,65619n,357504n,1992985n,11284042n,64719885n,375126827n,2194439398n,12941995397n,76890024027n,459873914230n,2767364341936n,16747182732792n])yield n}function*e2(){for(const n of[1n,1n,1n,2n,5n,12n,35n,107n,363n,1248n,4460n,16094n,58937n,217117n,805475n,3001127n,11230003n,42161529n,158781106n,599563893n,2269506062n,8609442688n,32725637373n,124621833354n,475368834568n,1816103345752n,6948228104703n,26618671505989n,102102788362303n])yield n}function*i2(){for(const n of[1n,1n,1n,2n,5n,12n,35n,108n,369n,1285n,4655n,17073n,63600n,238591n,901971n,3426576n,13079255n,50107909n,192622052n,742624232n,2870671950n,11123060678n,43191857688n,168047007728n,654999700403n,2557227044764n,9999088822075n,39153010938487n,153511100594603n])yield n}function*r2(){for(const n of[1n,2n,5n,12n,30n,74n,188n,478n,1235n,3214n,8450n,22370n,59676n,160140n,432237n,1172436n,3194870n,8741442n,24007045n,66154654n,182864692n,506909562n,1408854940n,3925075510n,10959698606n,30665337738n,85967279447n,241433975446n,679192039401n,1913681367936n,5399924120339n])yield n}function*f2(){for(const n of[0n,1n,2n,5n,13n,35n,95n,262n,727n,2033n,5714n,16136n,45733n,130046n,370803n,1059838n,3035591n,8710736n,25036934n,72069134n,207727501n,599461094n,1731818878n,5008149658n,14496034714n,41993925955n,121747732406n,353221737526n,1025471857282n,2978995353959n,8658997820084n])yield n}function*jn(){for(let n=0n;;n++)yield x(2n*n)/x(n+1n)/x(n)}function*u2(){for(const n of[1n,1n,1n,2n,5n,14n,50n,233n,1249n,7595n,49566n,339722n,2406841n,17490241n,129664753n,977526957n,7475907149n,57896349553n,453382272049n,3585853662949n,28615703421545n])yield n}function*l2(){const n=[1n];yield n[0];for(let e=1;;e++){let l=n[0];n[0]=n[e-1],yield n[0];for(let y=1;y<=e;y++){const h=l;l=n[y],n[y]=n[y-1]+h}}}function*s2(){for(const n of[1n,1n,1n,2n,5n,16n,61n,272n,1385n,7936n,50521n,353792n,2702765n,22368256n,199360981n,1903757312n,19391512145n,209865342976n,2404879675441n,29088885112832n,370371188237525n,4951498053124096n,69348874393137901n,1015423886506852352n,15514534163557086905n,246921480190207983616n,4087072509293123892361n])yield n}function*c2(){for(const n of[1n,1n,2n,5n,16n,63n,318n,2045n,16999n,183231n,2567284n,46749427n,1104891746n,33823827452n,1338193159771n,68275077901156n,4483130665195087n])yield n}function*a2(){for(const n of[1n,3n,4n,3n,6n,12n,8n,6n,4n,18n,12n,12n,14n,24n,24n,6n,18n,12n,20n,18n,32n,36n,24n,24n,30n,42n,12n,24n,30n,72n,32n,12n,48n,54n,48n,12n,38n,60n,56n,36n,42n,96n,44n,36n,24n,72n,48n,24n,56n,90n,72n,42n,54n,36n,72n,48n,80n,90n,60n,72n,62n,96n,32n,12n,84n,144n,68n])yield n}function*y2(){for(const n of[3n,4n,6n,12n,12n,24n,24n,36n,36n,60n,48n,84n,72n,96n,96n,144n,108n,180n,144n,192n,180n,264n,192n,300n,252n,324n,288n,420n,288n,480n,384n,480n,432n,576n,432n,684n,540n,672n,576n,840n,576n,924n,720n,864n,792n,1104n,768n,1176n,900n,1152n,1008n,1404n,972n,1440n])yield n}function*p2(){for(const n of[1n,1n,2n,2n,3n,4n,5n,6n,7n,8n,10n,11n,13n,14n,16n,18n,20n,22n,24n,26n,29n,31n,34n,36n,39n,42n,45n,48n,51n,54n,58n,61n,65n,68n,72n,76n,80n,84n,88n,92n,97n,101n,106n,110n,115n,120n,125n,130n,135n,140n,146n,151n,157n,162n,168n,174n,180n,186n,192n,198n,205n,211n,218n,224n,231n,238n])yield n}function*d2(){for(const n of[1n,2n,4n,8n,20n,56n,180n,596n,2068n,7316n,26272n,95420n,349716n,1290872n,4794088n,17896832n,67110932n,252648992n,954444608n,3616828364n,13743921632n,52357746896n,199911300472n,764877836468n,2932031358484n,11258999739560n,43303843861744n,166799988689300n])yield n}function*v2(){for(const n of[1n,2n,4n,8n,18n,44n,122n,362n,1162n,3914n,13648n,48734n,176906n,649532n,2405236n,8964800n,33588234n,126390032n,477353376n,1808676326n,6872485104n,26179922024n,99957747388n,382443112538n,1466024067850n,5629516646996n,21651955485304n,83400061453514n])yield n}function*h2(){for(const n of[1n,8n,24n,32n,24n,48n,96n,64n,24n,104n,144n,96n,96n,112n,192n,192n,24n,144n,312n,160n,144n,256n,288n,192n,96n,248n,336n,320n,192n,240n,576n,256n,24n,384n,432n,384n,312n,304n,480n,448n,144n,336n,768n,352n,288n,624n,576n,384n,96n,456n,744n,576n,336n,432n,960n,576n,192n])yield n}function*A2(){for(const n of[1n,1n,1n,2n,1n,2n,2n,1n,3n,2n,2n,3n,1n,3n,3n,2n,4n,2n,3n,3n,1n,4n,3n,3n,5n,2n,4n,4n,2n,5n,3n,3n,4n,1n,4n,4n,3n,6n,3n,5n,5n,2n,6n,4n,4n,6n,2n,5n,5n,3n,6n,3n,4n,4n,1n,5n,4n,4n,7n,3n,6n,6n,3n,8n,5n,5n,7n,2n,6n,6n,4n,8n,4n,6n,6n,2n,7n,5n,5n,8n,3n,6n,6n,3n,7n,4n,4n,5n,1n,5n,5n,4n,8n,4n,7n,7n,3n,9n,6n,6n,9n,3n,8n,8n,5n])yield n}function*g2(){for(const n of[0n,1n,1n,2n,1n,2n,2n,3n,1n,2n,2n,3n,2n,3n,3n,4n,1n,2n,2n,3n,2n,3n,3n,4n,2n,3n,3n,4n,3n,4n,4n,5n,1n,2n,2n,3n,2n,3n,3n,4n,2n,3n,3n,4n,3n,4n,4n,5n,2n,3n,3n,4n,3n,4n,4n,5n,3n,4n,4n,5n,4n,5n,5n,6n,1n,2n,2n,3n,2n,3n,3n,4n,2n,3n,3n,4n,3n,4n,4n,5n,2n,3n,3n,4n,3n,4n,4n,5n,3n,4n,4n,5n,4n,5n,5n,6n,2n,3n,3n,4n,3n,4n,4n,5n,3n])yield n}function*m2(){for(const n of[1n,2n,2n,3n,3n,3n,4n,3n,4n,5n,4n,5n,4n,4n,6n,5n,6n,6n,5n,6n,4n,5n,7n,6n,8n,7n,6n,8n,6n,7n,8n,6n,7n,5n,5n,8n,7n,9n,9n,8n,10n,7n,8n,10n,8n,10n,8n,7n,10n,8n,9n,9n,7n,8n,5n,6n,9n,8n,11n,10n,9n,12n,9n,11n,13n,10n,12n,9n,8n,12n,10n,12n,12n,10n,12n,8n,9n,12n,10n,13n,11n,9n,12n,9n,10n,11n,8n,9n,6n,6n,10n,9n])yield n}function*w2(){for(const n of[1n,2n,0n,0n,2n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n])yield n}function*b2(){for(const n of[1n,2n,4n,6n,10n,14n,20n,26n,36n,46n,60n,74n,94n,114n,140n,166n,202n,238n,284n,330n,390n,450n,524n,598n,692n,786n,900n,1014n,1154n,1294n,1460n,1626n,1828n,2030n,2268n,2506n,2790n,3074n,3404n,3734n,4124n,4514n,4964n,5414n,5938n,6462n,7060n,7658n,8350n,9042n,9828n])yield n}function*S2(){for(const n of[1n,2n,4n,7n,11n,16n,22n,29n,37n,46n,56n,67n,79n,92n,106n,121n,137n,154n,172n,191n,211n,232n,254n,277n,301n,326n,352n,379n,407n,436n,466n,497n,529n,562n,596n,631n,667n,704n,742n,781n,821n,862n,904n,947n,991n,1036n,1082n,1129n,1177n,1226n,1276n,1327n,1379n])yield n}function*B2(){for(const n of[1n,2n,4n,8n,15n,26n,42n,64n,93n,130n,176n,232n,299n,378n,470n,576n,697n,834n,988n,1160n,1351n,1562n,1794n,2048n,2325n,2626n,2952n,3304n,3683n,4090n,4526n,4992n,5489n,6018n,6580n,7176n,7807n,8474n,9178n,9920n,10701n,11522n,12384n,13288n,14235n,15226n])yield n}function*I2(){for(const n of[1n,2n,4n,8n,15n,27n,47n,80n,134n,222n,365n,597n,973n,1582n,2568n,4164n,6747n,10927n,17691n,28636n,46346n,75002n,121369n,196393n,317785n,514202n,832012n,1346240n,2178279n,3524547n,5702855n,9227432n,14930318n,24157782n,39088133n,63245949n])yield n}function*M2(){for(const n of[1n,2n,4n,8n,16n,31n,57n,99n,163n,256n,386n,562n,794n,1093n,1471n,1941n,2517n,3214n,4048n,5036n,6196n,7547n,9109n,10903n,12951n,15276n,17902n,20854n,24158n,27841n,31931n,36457n,41449n,46938n,52956n,59536n,66712n,74519n,82993n,92171n,102091n,112792n,124314n,136698n])yield n}function*N2(){for(const n of[1n,2n,4n,8n,16n,31n,58n,105n,185n,319n,541n,906n,1503n,2476n,4058n,6626n,10790n,17537n,28464n,46155n,74791n,121137n,196139n,317508n,513901n,831686n,1345888n,2177900n,3524140n,5702419n,9226966n,14929821n,24157253n,39087571n,63245353n,102333486n])yield n}function*q2(){for(const n of[0n,1n,2n,5n,12n,29n,70n,169n,408n,985n,2378n,5741n,13860n,33461n,80782n,195025n,470832n,1136689n,2744210n,6625109n,15994428n,38613965n,93222358n,225058681n,543339720n,1311738121n,3166815962n,7645370045n,18457556052n,44560482149n,107578520350n,259717522849n])yield n}function*_2(){for(const n of[0n,0n,1n,2n,5n,20n,115n,790n,6217n,55160n,545135n,5938490n,70686805n,912660508n,12702694075n,189579135710n,3019908731105n,51139445487680n,917345570926087n,17376071107513090n,346563420097249645n,7259714390232227300n,159352909727731210835n,3657569576966074846118n])yield n}function*E2(){for(const n of[2n,5n,21n,61n,214n,669n,2240n,7330n,24695n,83257n,284928n,981079n,3410990n,11937328n,42075242n,149171958n,531866972n,1905842605n,6861162880n,24805692978n,90035940227n,327987890608n,1198853954688n,4395797189206n,16165195705544n,59609156824273n,220373268471398n,816677398144221n])yield n}function*O2(){for(const n of[1n,10n,40n,80n,90n,112n,240n,320n,200n,250n,560n,560n,400n,560n,800n,960n,730n,480n,1240n,1520n,752n,1120n,1840n,1600n,1200n,1210n,2000n,2240n,1600n,1680n,2720n,3200n,1480n,1440n,3680n,3040n,2250n,2800n,3280n,4160n,2800n,1920n,4320n,5040n,2800n,3472n,5920n])yield n}function*P2(){for(const n of[2n,5n,30n,2288n,67172352n,144115192303714304n,1329227995784915891206435945914040320n,226156424291633194186662080095093570364871077725232774230036394136943198208n])yield n}function*k2(){for(const n of[2n,6n,9n,12n,15n,18n,21n,24n,27n,31n,34n,37n,40n,43n,46n,49n,53n,56n,59n,62n,65n,68n,71n,75n,78n,81n,84n,87n,90n,93n,97n,100n,103n,106n,109n,112n,115n,119n,122n,125n,128n,131n,134n,137n,141n,144n,147n,150n,153n,156n,159n,163n,166n,169n,172n,175n,178n,181n,185n,188n])yield n}function*L2(){for(const n of[1n,2n,6n,13n,24n,42n,73n,125n,204n,324n,511n,801n,1228n,1856n,2780n,4135n,6084n,8873n,12847n,18481n,26416n,37473n,52871n,74216n,103596n,143841n,198839n,273654n,374987n,511735n,695559n,941932n,1271139n,1709474n,2291195n,3061385n,4078152n,5416322n])yield n}function*x2(){for(const n of[1n,2n,6n,16n,50n,144n,462n,1392n,4536n,14060n,46310n,146376n,485914n,1557892n,5202690n,16861984n,56579196n,184940388n,622945970n,2050228360n,6927964218n,22930109884n,77692142980n,258360586368n,877395996200n,2929432171328n,9968202968958n,33396290888520n,113837957337750n])yield n}function*T2(){for(const n of[1n,2n,6n,18n,58n,186n,614n,2034n,6818n,22970n,77858n,264970n,905294n,3102434n,10661370n,36722642n,126752218n,438294018n,1518032598n,5265341314n,18286911130n,63586988434n,221342104842n,771235606050n,2689688538646n,9388096331642n])yield n}function*Z2(){for(const n of[1n,1n,2n,6n,18n,90n,540n,3780n,31500n,283500n,2835000n,31185000n,372972600n,4848643800n,67881013200n,1018215198000n,16294848570000n,277012425690000n,4986223662420000n,94738249585980000n,1894745192712372000n])yield n}function*D2(){for(const n of[2n,1n,2n,6n,22n,91n,408n,1938n,9614n,49335n,260130n,1402440n,7702632n,42975796n,243035536n,1390594458n,8038677054n,46892282815n,275750636070n,1633292229030n,9737153323590n,58392041019795n,352044769046880n,2132866978427640n])yield n}function*J2(){for(const n of[1n,1n,2n,6n,22n,101n,573n,3836n,29228n,250749n,2409581n,25598186n,296643390n,3727542188n,50626553988n,738680521142n,11501573822788n,190418421447330n,3344822488498265n,62119523114983224n,1214967840930909302n,24965661442811799655n,538134522243713149122n])yield n}function*R2(){for(const n of[1n,12n,60n,160n,252n,312n,544n,960n,1020n,876n,1560n,2400n,2080n,2040n,3264n,4160n,4092n,3480n,4380n,7200n,6552n,4608n,8160n,10560n,8224n,7812n,10200n,13120n,12480n,10104n,14144n,19200n,16380n,11520n,17400n,24960n,18396n,16440n,24480n,27200n])yield n}function*hn(){let n=1n;for(let e=1n;;e++)yield n,n*=e}function*U2(){for(const n of[1n,16n,112n,448n,1136n,2016n,3136n,5504n,9328n,12112n,14112n,21312n,31808n,35168n,38528n,56448n,74864n,78624n,84784n,109760n,143136n,154112n,149184n,194688n,261184n,252016n,246176n,327040n,390784n,390240n,395136n,476672n,599152n,596736n,550368n,693504n,859952n])yield n}function*C2(){for(const n of[1n,20n,180n,960n,3380n,8424n,16320n,28800n,52020n,88660n,129064n,175680n,262080n,386920n,489600n,600960n,840500n,1137960n,1330420n,1563840n,2050344n,2611200n,2986560n,3358080n,4194240n,5318268n,5878440n,6299520n,7862400n,9619560n])yield n}function*j2(){for(const n of[1n,24n,264n,1760n,7944n,25872n,64416n,133056n,253704n,472760n,825264n,1297056n,1938336n,2963664n,4437312n,6091584n,8118024n,11368368n,15653352n,19822176n,24832944n,32826112n,42517728n,51425088n,61903776n,78146664n,98021616n])yield n}function*z2(){for(const n of[1n,1n,1n,1n,1n,1n,2n,-6n,56n,-528n,6193n,-86579n,1425518n,-27298230n,601580875n,-15116315766n,429614643062n,-13711655205087n,488332318973594n,-19296579341940067n,841693047573682616n,-40338071854059455412n,2115074863808199160561n,-120866265222965259346026n])yield n}function*V2(){for(const n of[0n,0n,0n,0n,0n,1n,2n,7n,14n,32n,58n,110n,187n,322n,519n,839n,1302n,2015n,3032n,4542n,6668n,9738n,14006n,20036n,28324n,39830n,55473n,76875n,105692n,144629n,196585n,266038n,357952n,479664n,639519n,849425n,1123191n,1479972n,1942284n,2540674n,3311415n])yield n}function*F2(){for(const n of[1n,2n,7n,15n,28n,45n,70n,100n,138n,183n,242n,310n,388n,481n,583n,701n,838n,984n,1152n,1337n,1535n,1757n,2001n,2262n,2545n,2855n,3183n,3540n,3926n,4335n,4770n,5233n,5728n,6248n,6801n,7388n,8005n,8658n,9345n,10064n,10824n,11620n,12452n,13324n,14236n])yield n}function*G2(){for(let n=1;;n*=Math.E)yield BigInt(Math.floor(n))}function*K2(){for(const n of[0n,0n,1n,2n,7n,20n,66n,212n,715n,2424n,8398n,29372n,104006n,371384n,1337220n,4847208n,17678835n,64821680n,238819350n,883629164n,3282060210n,12233125112n,45741281820n,171529777432n,644952073662n,2430973096720n,9183676536076n])yield n}function*X2(){for(const n of[1n,2n,7n,26n,107n,458n,2058n,9498n,44947n,216598n,1059952n,5251806n,26297238n,132856766n,676398395n,3466799104n,17873508798n,92630098886n,482292684506n,2521610175006n,13233573019372n,69687684810980n,368114512431638n,1950037285256658n,10357028326495097n,55140508518522726n,294219119815868952n,1573132563600386854n,8427354035116949486n,45226421721391554194n])yield n}function*H2(){for(const n of[1n,32n,480n,4480n,29152n,140736n,525952n,1580800n,3994080n,8945824n,18626112n,36714624n,67978880n,118156480n,197120256n,321692928n,509145568n,772845120n,1143441760n,1681379200n,2428524096n,3392205824n,4658843520n,6411152640n])yield n}function*Q2(){for(const n of[0n,1n,2n,7n,32n,181n,1214n,9403n,82508n,808393n,8743994n,103459471n,1328953592n,18414450877n,273749755382n,4345634192131n,73362643649444n,1312349454922513n,24796092486996338n,493435697986613143n,10315043624498196944n])yield n}function*W2(){for(const n of[1n,1n,2n,7n,35n,228n,1834n,17382n,195866n,2487832n,35499576n,562356672n,9794156448n,186025364016n,3826961710272n,84775065603888n,2011929826983504n])yield n}function*Y2(){for(const n of[0n,1n,2n,7n,44n,361n,3654n,44207n,622552n,10005041n,180713290n,3624270839n,79914671748n,1921576392793n,50040900884366n,1403066801155039n,42142044935535536n,1349948504738292193n,45940391206037470098n])yield n}function*$2(){for(const n of[1n,48n,1104n,16192n,170064n,1362336n,8662720n,44981376n,195082320n,721175536n,2319457632n,6631997376n,17231109824n,41469483552n,93703589760n,200343312768n,407488018512n,793229226336n,1487286966928n,2697825744960n,4744779429216n])yield n}function*n4(){for(const n of[1n,2n,7n,111n,308063n,100126976263592n,131867858014413288241233435594064n,2804519150441879896741320496043335469582478995067528608051651559815168n])yield n}function*t4(){for(const n of[1n,2n,8n,19n,41n,78n,134n,218n,339n,506n,730n,1023n,1397n,1884n,2477n,3218n,4118n,5192n,6486n,8010n,9795n,11888n,14302n,17066n,20256n,23889n,27999n,32637n,37863n,43695n,50218n,57495n,65545n,74431n,84257n,95030n,106840n,119799n,133941n,149311n,166071n])yield n}function*o4(){for(const n of[2n,8n,20n,152n,994n,7888n,70152n,695760n,7603266n,90758872n,1174753372n,16386899368n,245046377410n,3910358788256n,66323124297872n,1191406991067168n,22596344660865282n,451208920617687720n,9461897733571886372n,207894669895136763704n,4776019866458134139042n])yield n}function*e4(){for(const n of[1n,2n,8n,21n,48n,99n,186n,330n,556n,895n,1397n,2107n,3097n,4459n,6264n,8644n,11760n,15742n,20790n,27128n,34993n,44664n,56473n,70784n,87995n,108564n,132970n,161828n,195686n,235274n,281349n,334682n,396202n,466849n,547712n,639935n,744716n,863443n])yield n}function*i4(){for(const n of[1n,1n,1n,0n,1n,1n,0n,0n,1n,1n,1n,0n,0n,1n,0n,0n,1n,1n,1n,0n,1n,0n,0n,0n,0n,2n,1n,0n,0n,1n,0n,0n,1n,0n,1n,0n,1n,1n,0n,0n,1n,1n,0n,0n,0n,1n,0n,0n,0n,1n,2n,0n,1n,1n,0n,0n,0n,0n,1n,0n,0n,1n,0n,0n,1n,2n,0n,0n,1n,0n,0n,0n,1n,1n,1n,0n,0n,0n,0n,0n,1n,1n,1n,0n,0n,2n,0n,0n,0n,1n,1n,0n,0n,0n,0n,0n,0n,1n,1n,0n,2n,1n,0n,0n,1n,0n,1n,0n])yield n}function*r4(){for(const n of[1n,1n,2n,8n,29n,166n,1023n,6922n,48311n,346543n,2522522n,18598427n,138462649n,1039496297n,7859514470n,59795121480n])yield n}function*f4(){for(const n of[2n,8n,34n,136n,538n,2080n,7970n,30224n,113874n,426520n,1590338n,5906640n,21866794n,80725280n,297292610n,1092539736n,4007553922n,14675748416n,53663197698n,195962433328n,714734393378n,2603994002280n,9477643739746n,34463730424720n])yield n}function*u4(){for(const n of[1n,1n,1n,1n,1n,1n,1n,0n,1n,2n,1n,1n,1n,1n,1n,0n,1n,2n,2n,1n,1n,1n,1n,0n,1n,2n,2n,2n,0n,2n,1n,0n,1n,2n,2n,1n,2n,1n,2n,0n,1n,3n,1n,1n,1n,2n,1n,0n,1n,2n,3n,2n,1n,2n,3n,0n,1n,2n,1n,2n,0n,2n,2n,0n,1n,3n,3n,1n,2n,2n,1n,0n,2n,2n,3n,2n,1n,2n,1n,0n,1n,4n,2n,2n,1n,2n,3n,0n,1n,4n,3n,1n,0n,1n,2n,0n,1n,2n,3n,3n,2n,4n,2n,0n,2n])yield n}function*l4(){for(const n of[1n,2n,8n,48n,384n,3840n,46080n,645120n,10321920n,185794560n,3715891200n,81749606400n,1961990553600n,51011754393600n,1428329123020800n,42849873690624000n,1371195958099968000n,46620662575398912000n,1678343852714360832000n,63777066403145711616000n])yield n}function*s4(){for(const n of[1n,0n,1n,2n,9n,44n,265n,1854n,14833n,133496n,1334961n,14684570n,176214841n,2290792932n,32071101049n,481066515734n,7697064251745n,130850092279664n,2355301661033953n,44750731559645106n,895014631192902121n,18795307255050944540n,413496759611120779881n,9510425471055777937262n])yield n}function*c4(){for(const n of[0n,0n,0n,1n,2n,9n,49n,306n,2188n,17810n,162482n,1642635n,18231462n,220420179n,2883693795n,40592133316n,611765693528n,9828843229764n,167702100599524n,3028466654021205n,57708568527002410n,1157199837194069405n])yield n}function*a4(){for(const n of[1n,2n,9n,54n,378n,2916n,24057n,208494n,1876446n,17399772n,165297834n,1602117468n,15792300756n,157923007560n,1598970451545n,16365932856990n,169114639522230n,1762352559231660n,18504701871932430n,195621134074714260n,2080697516976506220n,22254416920705240440n,239234981897581334730n,2583737804493878415084n])yield n}function*y4(){for(const n of[1n,2n,9n,64n,625n,7776n,117649n,2097152n,43046721n,1000000000n,25937424601n,743008370688n,23298085122481n,793714773254144n,29192926025390625n,1152921504606846976n,48661191875666868481n,2185911559738696531968n,104127350297911241532841n,5242880000000000000000000n])yield n}function*p4(){for(const n of[1n,1n,0n,0n,2n,10n,4n,40n,92n,352n,724n,2680n,14200n,73712n,365596n,2279184n,14772512n,95815104n,666090624n,4968057848n,39029188884n,314666222712n,2691008701644n,24233937684440n,227514171973736n,2207893435808352n,22317699616364044n,234907967154122528n])yield n}function*d4(){for(const n of[1n,0n,0n,1n,2n,0n,0n,10n,36n,0n,0n,720n,5600n,0n,0n,703760n,11220000n,0n,0n,9168331776n,293293716992n,0n,0n,1601371799340544n,102484848265030656n,0n,0n,3837878966366932639744n,491247277315343649710080n,0n,0n])yield n}function*v4(){for(const n of[1n,2n,10n,56n,346n,2252n,15184n,104960n,739162n,5280932n,38165260n,278415920n,2046924400n,15148345760n,112738423360n,843126957056n,6332299624282n,47737325577620n,361077477684436n,2739270870994736n,20836827035351596n])yield n}function*h4(){for(const n of[30n,1482n,2418n,24180n,35238n,263820n,395730n,473298n,698130n,763620n,2212026n,2233554n,172459210n,209524210n,341354790n,384121920n,525150234n,530946330n,582129630n,1799281330n,2069510520n,2514290520n,3344596854n,5251502340n])yield n}function*A4(){for(const n of[1n,1n,1n,1n,2n,2n,1n,1n,2n,2n,2n,2n,2n,3n,2n,1n,3n,3n,3n,3n,4n,3n,3n,2n,2n,4n,4n,4n,4n,5n,3n,3n,4n,3n,5n,5n,5n,6n,5n,3n,5n,5n,5n,6n,5n,6n,5n,4n,4n,6n,7n,6n,8n,8n,7n,5n,6n,5n,8n,8n,4n,9n,7n,6n,7n,7n,8n,9n,9n,7n,9n,6n,7n,8n,10n,9n,9n,11n,7n,8n,8n,8n,11n,11n,9n,12n,11n,7n,9n,9n,12n,13n,9n,10n,11n,8n,6n,10n,13n,13n,13n])yield n}function*g4(){for(const n of[1n,1n,2n,11n,38n,946n,4580n,202738n,3786092n,261868876n,1992367192n,2381255244240n,21411255538848n,2902625722978656n,451716954504285504n,319933105641374465472n,3761845343198709705600n])yield n}function*m4(){for(const n of[2n,11n,46n,128n,272n,522n,904n,1408n,2160n,3154n,4306n,5888n,7888n,10012n,12888n,16384n,19680n,24354n,29866n,34816n,41888n,49778n,56744n,66816n,78000n,87358n,100602n,115712n,128112n,145804n,165712n,180224n,203040n,228964n,246932n,276480n])yield n}function*w4(){for(const n of[1n,1n,1n,1n,2n,2n,2n,1n,2n,3n,2n,2n,3n,3n,3n,2n,3n,4n,4n,3n,5n,5n,4n,3n,4n,5n,5n,5n,5n,7n,6n,4n,5n,6n,6n,6n,9n,7n,8n,6n,6n,9n,7n,7n,9n,10n,8n,7n,7n,9n,10n,9n,11n,12n,13n,8n,10n,11n,10n,11n,11n,12n,13n,11n,9n,14n,13n,12n,16n,14n,14n,12n,13n,13n,15n,15n,15n,18n,16n,13n,14n,18n,15n,17n,20n,17n,21n,15n,15n])yield n}function*b4(){for(const n of[1n,1n,2n,12n,288n,34560n,24883200n,125411328000n,5056584744960000n,1834933472251084800000n,6658606584104736522240000000n,265790267296391946810949632000000000n,127313963299399416749559771247411200000000000n,792786697595796795607377086400871488552960000000000000n])yield n}function*S4(){for(const n of[1n,-1n,0n,1n,2n,13n,80n,579n,4738n,43387n,439792n,4890741n,59216642n,775596313n,10927434464n,164806435783n,2649391469058n,45226435601207n,817056406224416n,15574618910994665n,312400218671253762n,6577618644576902053n,145051250421230224304n,3343382818203784146955n,80399425364623070680706n,2013619745874493923699123n])yield n}function*B4(){for(const n of[1n,2n,13n,116n,1393n,20894n,376093n,7897952n,189550849n,5117872922n,153536187661n,5066694192812n,182400990941233n,7113638646708086n,298772823161739613n,13444777042278282584n,645349298029357564033n,32912814199497235765682n])yield n}function*I4(){for(const n of[2n,15n,60n,469n,3660n,32958n,328920n,3614490n,43341822n,563144725n,7880897892n,118177520295n,1890389939000n,32130521850972n,578260307815920n,10985555094348948n,219687969344126490n,4613039009310624795n,101479234383619208204n,2333872309936442446905n])yield n}function*M4(){for(const n of[1n,2n,16n,272n,7936n,353792n,22368256n,1903757312n,209865342976n,29088885112832n,4951498053124096n,1015423886506852352n,246921480190207983616n,70251601603943959887872n,23119184187809597841473536n,8713962757125169296170811392n,3729407703720529571097509625856n])yield n}function*N4(){for(const n of[0n,0n,0n,1n,2n,20n,144n,1265n,12072n,126565n,1445100n,17875140n,238282730n,3407118041n,52034548064n,845569542593n,14570246018686n,265397214435860n,5095853023109484n,102877234050493609n,2178674876680100744n,48296053720501168037n,1118480911876659396600n])yield n}function*q4(){for(const n of[2n,22n,164n,1030n,5868n,31388n,160648n,795846n,3845020n,18211380n,84876152n,390331292n,1775032504n,7995075960n,35715205136n,158401506118n,698102372988n,3059470021316n,13341467466520n,57918065919924n,250419305769512n,1078769490401032n,4631680461623664n,19825379450255900n,84622558822506328n,360270317908904328n,1530148541536781488n,6484511936352543096n,27423786092731382000n,115756362341775227888n])yield n}function*_4(){for(const n of[2n,24n,140n,1232n,11268n,115056n,1284360n,15596208n,204710454n,2888897032n,43625578836n,702025263328n,11993721979336n,216822550325472n,4135337882588880n,82986434235959712n,1747976804189353962n,38559791049947726328n,889047923669760546140n])yield n}function*E4(){for(const n of[1n,0n,0n,2n,24n,552n,21280n,1073760n,70299264n,5792853248n,587159944704n,71822743499520n,10435273503677440n,1776780700509416448n,350461958856515690496n,79284041282622163140608n,20392765404792755583221760n,5917934230798104348783083520n,1924427226324694427836833857536n])yield n}function*O4(){for(const n of[2n,30n,3522n,1066590n,604935042n,551609685150n,737740947722562n,1360427147514751710n,3308161927353377294082n,10256718523496425979562270n,39490468691102039103925777602n,184856411587530526077816051412830n,1033888847501229495999134528615701122n])yield n}function*P4(){for(const n of[1n,1n,1n,2n,1n,1n,1n,2n,3n,1n,1n,2n,1n,1n,1n,4n,1n,3n,1n,2n,1n,1n,1n,2n,5n,1n,3n,2n,1n,1n,1n,4n,1n,1n,1n,6n,1n,1n,1n,2n,1n,1n,1n,2n,3n,1n,1n,4n,7n,5n,1n,2n,1n,3n,1n,2n,1n,1n,1n,2n,1n,1n,3n,8n,1n,1n,1n,2n,1n,1n,1n,6n,1n,1n,5n,2n,1n,1n,1n,4n,9n,1n,1n,2n,1n,1n,1n,2n,1n,3n])yield n}function*k4(){for(const n of[1n,1n,1n,2n,1n,1n,1n,4n,3n,1n,1n,2n,1n,1n,1n,4n,1n,3n,1n,2n,1n,1n,1n,4n,5n,1n,9n,2n,1n,1n,1n,8n,1n,1n,1n,6n,1n,1n,1n,4n,1n,1n,1n,2n,3n,1n,1n,4n,7n,5n,1n,2n,1n,9n,1n,4n,1n,1n,1n,2n,1n,1n,3n,16n,1n,1n,1n,2n,1n,1n,1n,12n,1n,1n,5n,2n,1n,1n,1n,4n,9n,1n,1n,2n,1n,1n,1n,4n,1n,3n])yield n}function*L4(){for(const n of[1n,1n,1n,2n,1n,1n,1n,4n,3n,1n,1n,2n,1n,1n,1n,8n,1n,3n,1n,2n,1n,1n,1n,4n,5n,1n,9n,2n,1n,1n,1n,8n,1n,1n,1n,6n,1n,1n,1n,4n,1n,1n,1n,2n,3n,1n,1n,8n,7n,5n,1n,2n,1n,9n,1n,4n,1n,1n,1n,2n,1n,1n,3n,16n,1n,1n,1n,2n,1n,1n,1n,12n,1n,1n,5n,2n,1n,1n,1n,8n,27n,1n,1n,2n,1n,1n,1n,4n,1n,3n])yield n}function*x4(){for(const n of[2n,46n,3362n,515086n,135274562n,54276473326n,30884386347362n,23657073914466766n,23471059057478981762n,29279357851856595135406n,44855282210826271011257762n,82787899853638102222862479246n,181184428895772987376073015175362n,463938847087789978515380344866258286n])yield n}function*T4(){for(const n of[2n,46n,7970n,3487246n,2849229890n,3741386059246n,7205584123783010n,19133892392367261646n,67000387673723462963330n,299131045427247559446422446n,1658470810032820740402966226850n,11179247066648898992009055586869646n,90035623994788132387893239340761189570n])yield n}function*Z4(){for(let n=1n;;n++)yield BigInt(Math.round(Math.log(Number(n))))}function*D4(){for(const n of[0n,1n,1n,2n,2n,2n,2n,3n,3n,3n,3n,3n,3n,4n,4n,4n,4n,4n,4n,4n,4n,5n,5n,5n,5n,5n,5n,5n,5n,5n,5n,6n,6n,6n,6n,6n,6n,6n,6n,6n,6n,6n,6n,7n,7n,7n,7n,7n,7n,7n,7n,7n,7n,7n,7n,7n,7n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,10n,10n,10n,10n,10n,10n,10n,10n])yield n}function*J4(){for(const n of[0n,0n,1n,1n,1n,1n,1n,2n,2n,2n,2n,2n,2n,2n,2n,2n,2n,2n,2n,2n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n])yield n}function*R4(){for(let n=0n;;n++)yield BigInt(0|Math.sqrt(Number(n)))}function*U4(){const n=hn();let e=0n,l=0n;n.next();for(const y of hn()){for(;en||n%l!==0n)continue n}yield n}}function*u6(){for(let n=0n;;n++)(Dn(n).match(/1/g)||[]).length%2==0&&(yield n)}function*l6(){for(let n=1n;;n++)for(let e=0;en?0n:e===1n||e===n?1n:An(n-1n,e-1n)+An(n-e,e)}function*I6(){for(let n=1n;;n++)for(let e=1n;e<=n;e++)yield An(n,e)}function*M6(){for(let n=1n;;n++)yield P(n)?1n:0n}function*N6(){for(let n=0n;;n++){yield 1n;for(let e=0;ee+l,0n)&&(yield n)}function*k6(){yield 0n;let n=1n;for(let e=1n;;e++){n*=e;for(let l=0n;lNumber(b-M))){if(h>y)break;yield h,l.delete(h)}yield y,n.push(y),e.push(2n),Object.keys(n).forEach(h=>{const b=parseInt(h,10);let M=-1n;for(let N=e[b];M"u"?A[0]:typeof o<"u"?+o==10&&!i?g(t):n1(t,o,i,r):g(t)}function a(t,o){this.value=t,this.sign=o,this.isSmall=!1}a.prototype=Object.create(A.prototype);function v(t){this.value=t,this.sign=t<0,this.isSmall=!0}v.prototype=Object.create(A.prototype);function p(t){this.value=t}p.prototype=Object.create(A.prototype);function q(t){return-b0?Math.floor(t):Math.ceil(t)}function gn(t,o){var i=t.length,r=o.length,u=new Array(i),f=0,s=y,c,d;for(d=0;d=s?1:0,u[d]=c-f*s;for(;d0&&u.push(f),u}function X(t,o){return t.length>=o.length?gn(t,o):gn(o,t)}function tn(t,o){var i=t.length,r=new Array(i),u=y,f,s;for(s=0;s0;)r[s++]=o%u,o=Math.floor(o/u);return r}a.prototype.add=function(t){var o=g(t);if(this.sign!==o.sign)return this.subtract(o.negate());var i=this.value,r=o.value;return o.isSmall?new a(tn(i,Math.abs(r)),this.sign):new a(X(i,r),this.sign)},a.prototype.plus=a.prototype.add,v.prototype.add=function(t){var o=g(t),i=this.value;if(i<0!==o.sign)return this.subtract(o.negate());var r=o.value;if(o.isSmall){if(q(i+r))return new v(i+r);r=I(Math.abs(r))}return new a(tn(r,Math.abs(i)),i<0)},v.prototype.plus=v.prototype.add,p.prototype.add=function(t){return new p(this.value+g(t).value)},p.prototype.plus=p.prototype.add;function H(t,o){var i=t.length,r=o.length,u=new Array(i),f=0,s=y,c,d;for(c=0;c=0?r=H(t,o):(r=H(o,t),i=!i),r=k(r),typeof r=="number"?(i&&(r=-r),new v(r)):new a(r,i)}function on(t,o,i){var r=t.length,u=new Array(r),f=-o,s=y,c,d;for(c=0;c=0)},v.prototype.minus=v.prototype.subtract,p.prototype.subtract=function(t){return new p(this.value-g(t).value)},p.prototype.minus=p.prototype.subtract,a.prototype.negate=function(){return new a(this.value,!this.sign)},v.prototype.negate=function(){var t=this.sign,o=new v(-this.value);return o.sign=!t,o},p.prototype.negate=function(){return new p(-this.value)},a.prototype.abs=function(){return new a(this.value,!1)},v.prototype.abs=function(){return new v(Math.abs(this.value))},p.prototype.abs=function(){return new p(this.value>=0?this.value:-this.value)};function un(t,o){var i=t.length,r=o.length,u=i+r,f=nn(u),s=y,c,d,m,S,w;for(m=0;m0;)r[c++]=f%u,f=Math.floor(f/u);return r}function mn(t,o){for(var i=[];o-- >0;)i.push(0);return i.concat(t)}function en(t,o){var i=Math.max(t.length,o.length);if(i<=30)return un(t,o);i=Math.ceil(i/2);var r=t.slice(i),u=t.slice(0,i),f=o.slice(i),s=o.slice(0,i),c=en(u,s),d=en(r,f),m=en(X(u,r),X(s,f)),S=X(X(c,mn(H(H(m,c),d),i)),mn(d,2*i));return J(S),S}function Xn(t,o){return-.012*t-.012*o+15e-6*t*o>0}a.prototype.multiply=function(t){var o=g(t),i=this.value,r=o.value,u=this.sign!==o.sign,f;if(o.isSmall){if(r===0)return A[0];if(r===1)return this;if(r===-1)return this.negate();if(f=Math.abs(r),f=0;w--){for(S=u-1,d[w+r]!==s&&(S=Math.floor((d[w+r]*u+d[w+r-1])/s)),B=0,E=0,yn=m.length,_=0;_r&&(m=(m+1)*s),c=Math.ceil(m/S);do{if(w=Q(o,c),C(w,f)<=0)break;c--}while(c);u.push(c),f=H(f,w)}return u.reverse(),[k(u),k(f)]}function Sn(t,o){var i=t.length,r=nn(i),u=y,f,s,c,d;for(c=0,f=i-1;f>=0;--f)d=c*u+t[f],s=R(d/o),c=d-s*o,r[f]=s|0;return[r,c|0]}function U(t,o){var i,r=g(o);if(Z)return[new p(t.value/r.value),new p(t.value%r.value)];var u=t.value,f=r.value,s;if(f===0)throw new Error("Cannot divide by zero");if(t.isSmall)return r.isSmall?[new v(R(u/f)),new v(u%f)]:[A[0],t];if(r.isSmall){if(f===1)return[t,A[0]];if(f==-1)return[t.negate(),A[0]];var c=Math.abs(f);if(co.length?1:-1;for(var i=t.length-1;i>=0;i--)if(t[i]!==o[i])return t[i]>o[i]?1:-1;return 0}a.prototype.compareAbs=function(t){var o=g(t),i=this.value,r=o.value;return o.isSmall?1:C(i,r)},v.prototype.compareAbs=function(t){var o=g(t),i=Math.abs(this.value),r=o.value;return o.isSmall?(r=Math.abs(r),i===r?0:i>r?1:-1):-1},p.prototype.compareAbs=function(t){var o=this.value,i=g(t).value;return o=o>=0?o:-o,i=i>=0?i:-i,o===i?0:o>i?1:-1},a.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var o=g(t),i=this.value,r=o.value;return this.sign!==o.sign?o.sign?1:-1:o.isSmall?this.sign?-1:1:C(i,r)*(this.sign?-1:1)},a.prototype.compareTo=a.prototype.compare,v.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var o=g(t),i=this.value,r=o.value;return o.isSmall?i==r?0:i>r?1:-1:i<0!==o.sign?i<0?-1:1:i<0?1:-1},v.prototype.compareTo=v.prototype.compare,p.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var o=this.value,i=g(t).value;return o===i?0:o>i?1:-1},p.prototype.compareTo=p.prototype.compare,a.prototype.equals=function(t){return this.compare(t)===0},p.prototype.eq=p.prototype.equals=v.prototype.eq=v.prototype.equals=a.prototype.eq=a.prototype.equals,a.prototype.notEquals=function(t){return this.compare(t)!==0},p.prototype.neq=p.prototype.notEquals=v.prototype.neq=v.prototype.notEquals=a.prototype.neq=a.prototype.notEquals,a.prototype.greater=function(t){return this.compare(t)>0},p.prototype.gt=p.prototype.greater=v.prototype.gt=v.prototype.greater=a.prototype.gt=a.prototype.greater,a.prototype.lesser=function(t){return this.compare(t)<0},p.prototype.lt=p.prototype.lesser=v.prototype.lt=v.prototype.lesser=a.prototype.lt=a.prototype.lesser,a.prototype.greaterOrEquals=function(t){return this.compare(t)>=0},p.prototype.geq=p.prototype.greaterOrEquals=v.prototype.geq=v.prototype.greaterOrEquals=a.prototype.geq=a.prototype.greaterOrEquals,a.prototype.lesserOrEquals=function(t){return this.compare(t)<=0},p.prototype.leq=p.prototype.lesserOrEquals=v.prototype.leq=v.prototype.lesserOrEquals=a.prototype.leq=a.prototype.lesserOrEquals,a.prototype.isEven=function(){return(this.value[0]&1)===0},v.prototype.isEven=function(){return(this.value&1)===0},p.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},a.prototype.isOdd=function(){return(this.value[0]&1)===1},v.prototype.isOdd=function(){return(this.value&1)===1},p.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},a.prototype.isPositive=function(){return!this.sign},v.prototype.isPositive=function(){return this.value>0},p.prototype.isPositive=v.prototype.isPositive,a.prototype.isNegative=function(){return this.sign},v.prototype.isNegative=function(){return this.value<0},p.prototype.isNegative=v.prototype.isNegative,a.prototype.isUnit=function(){return!1},v.prototype.isUnit=function(){return Math.abs(this.value)===1},p.prototype.isUnit=function(){return this.abs().value===BigInt(1)},a.prototype.isZero=function(){return!1},v.prototype.isZero=function(){return this.value===0},p.prototype.isZero=function(){return this.value===BigInt(0)},a.prototype.isDivisibleBy=function(t){var o=g(t);return o.isZero()?!1:o.isUnit()?!0:o.compareAbs(2)===0?this.isEven():this.mod(o).isZero()},p.prototype.isDivisibleBy=v.prototype.isDivisibleBy=a.prototype.isDivisibleBy;function Bn(t){var o=t.abs();if(o.isUnit())return!1;if(o.equals(2)||o.equals(3)||o.equals(5))return!0;if(o.isEven()||o.isDivisibleBy(3)||o.isDivisibleBy(5))return!1;if(o.lesser(49))return!0}function ln(t,o){for(var i=t.prev(),r=i,u=0,f,s,c;r.isEven();)r=r.divide(2),u++;n:for(s=0;s-b?new v(t-1):new a(M,!0)},p.prototype.prev=function(){return new p(this.value-BigInt(1))};for(var L=[1];2*L[L.length-1]<=y;)L.push(2*L[L.length-1]);var W=L.length,j=L[W-1];function In(t){return Math.abs(t)<=y}a.prototype.shiftLeft=function(t){var o=g(t).toJSNumber();if(!In(o))throw new Error(String(o)+" is too large for shifting.");if(o<0)return this.shiftRight(-o);var i=this;if(i.isZero())return i;for(;o>=W;)i=i.multiply(j),o-=W-1;return i.multiply(L[o])},p.prototype.shiftLeft=v.prototype.shiftLeft=a.prototype.shiftLeft,a.prototype.shiftRight=function(t){var o,i=g(t).toJSNumber();if(!In(i))throw new Error(String(i)+" is too large for shifting.");if(i<0)return this.shiftLeft(-i);for(var r=this;i>=W;){if(r.isZero()||r.isNegative()&&r.isUnit())return r;o=U(r,j),r=o[1].isNegative()?o[0].prev():o[0],i-=W-1}return o=U(r,L[i]),o[1].isNegative()?o[0].prev():o[0]},p.prototype.shiftRight=v.prototype.shiftRight=a.prototype.shiftRight;function sn(t,o,i){o=g(o);for(var r=t.isNegative(),u=o.isNegative(),f=r?t.not():t,s=u?o.not():o,c=0,d=0,m=null,S=null,w=[];!f.isZero()||!s.isZero();)m=U(f,j),c=m[1].toJSNumber(),r&&(c=j-1-c),S=U(s,j),d=S[1].toJSNumber(),u&&(d=j-1-d),f=m[0],s=S[0],w.push(i(c,d));for(var B=i(r?1:0,u?1:0)!==0?e(-1):e(0),E=w.length-1;E>=0;E-=1)B=B.multiply(j).add(e(w[E]));return B}a.prototype.not=function(){return this.negate().prev()},p.prototype.not=v.prototype.not=a.prototype.not,a.prototype.and=function(t){return sn(this,t,function(o,i){return o&i})},p.prototype.and=v.prototype.and=a.prototype.and,a.prototype.or=function(t){return sn(this,t,function(o,i){return o|i})},p.prototype.or=v.prototype.or=a.prototype.or,a.prototype.xor=function(t){return sn(this,t,function(o,i){return o^i})},p.prototype.xor=v.prototype.xor=a.prototype.xor;var cn=1<<30,Wn=(y&-y)*(y&-y)|cn;function rn(t){var o=t.value,i=typeof o=="number"?o|cn:typeof o=="bigint"?o|BigInt(cn):o[0]+o[1]*y|Wn;return i&-i}function Mn(t,o){if(o.compareTo(t)<=0){var i=Mn(t,o.square(o)),r=i.p,u=i.e,f=r.multiply(o);return f.compareTo(t)<=0?{p:f,e:u*2+1}:{p:r,e:u*2}}return{p:e(1),e:0}}a.prototype.bitLength=function(){var t=this;return t.compareTo(e(0))<0&&(t=t.negate().subtract(e(1))),t.compareTo(e(0))===0?e(0):e(Mn(t,e(2)).e).add(e(1))},p.prototype.bitLength=v.prototype.bitLength=a.prototype.bitLength;function Nn(t,o){return t=g(t),o=g(o),t.greater(o)?t:o}function an(t,o){return t=g(t),o=g(o),t.lesser(o)?t:o}function qn(t,o){if(t=g(t).abs(),o=g(o).abs(),t.equals(o))return t;if(t.isZero())return o;if(o.isZero())return t;for(var i=A[1],r,u;t.isEven()&&o.isEven();)r=an(rn(t),rn(o)),t=t.divide(r),o=o.divide(r),i=i.multiply(r);for(;t.isEven();)t=t.divide(rn(t));do{for(;o.isEven();)o=o.divide(rn(o));t.greater(o)&&(u=o,o=t,t=u),o=o.subtract(t)}while(!o.isZero());return i.isUnit()?t:t.multiply(i)}function Yn(t,o){return t=g(t).abs(),o=g(o).abs(),t.divide(qn(t,o)).multiply(o)}function $n(t,o,i){t=g(t),o=g(o);var r=i||Math.random,u=an(t,o),f=Nn(t,o),s=f.subtract(u).add(1);if(s.isSmall)return u.add(Math.floor(r()*s));for(var c=Y(s,y).value,d=[],m=!0,S=0;S=s){if(d==="1"&&s===1)continue;throw new Error(d+" is not a valid digit in base "+o+".")}}o=g(o);var m=[],S=t[0]==="-";for(f=S?1:0;f"&&f=0;f--)r=r.add(t[f].times(u)),u=u.times(o);return i?r.negate():r}function t1(t,o){return o=o||N,t"}function Y(t,o){if(o=e(o),o.isZero()){if(t.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(o.equals(-1)){if(t.isZero())return{value:[0],isNegative:!1};if(t.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-t.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var i=Array.apply(null,Array(t.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return i.unshift([1]),{value:[].concat.apply([],i),isNegative:!1}}var r=!1;if(t.isNegative()&&o.isPositive()&&(r=!0,t=t.abs()),o.isUnit())return t.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(t.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:r};for(var u=[],f=t,s;f.isNegative()||f.compareAbs(o)>=0;){s=f.divmod(o),f=s.quotient;var c=s.remainder;c.isNegative()&&(c=o.minus(c).abs(),f=f.next()),u.push(c.toJSNumber())}return u.push(f.toJSNumber()),{value:u.reverse(),isNegative:r}}function En(t,o,i){var r=Y(t,o);return(r.isNegative?"-":"")+r.value.map(function(u){return t1(u,i)}).join("")}a.prototype.toArray=function(t){return Y(this,t)},v.prototype.toArray=function(t){return Y(this,t)},p.prototype.toArray=function(t){return Y(this,t)},a.prototype.toString=function(t,o){if(t===l&&(t=10),t!==10||o)return En(this,t,o);for(var i=this.value,r=i.length,u=String(i[--r]),f="0000000",s;--r>=0;)s=String(i[r]),u+=f.slice(s.length)+s;var c=this.sign?"-":"";return c+u},v.prototype.toString=function(t,o){return t===l&&(t=10),t!=10||o?En(this,t,o):String(this.value)},p.prototype.toString=v.prototype.toString,p.prototype.toJSON=a.prototype.toJSON=v.prototype.toJSON=function(){return this.toString()},a.prototype.valueOf=function(){return parseInt(this.toString(),10)},a.prototype.toJSNumber=a.prototype.valueOf,v.prototype.valueOf=function(){return this.value},v.prototype.toJSNumber=v.prototype.valueOf,p.prototype.valueOf=p.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function On(t){if(q(+t)){var o=+t;if(o===R(o))return Z?new p(BigInt(o)):new v(o);throw new Error("Invalid integer: "+t)}var i=t[0]==="-";i&&(t=t.slice(1));var r=t.split(/e/i);if(r.length>2)throw new Error("Invalid integer: "+r.join("e"));if(r.length===2){var u=r[1];if(u[0]==="+"&&(u=u.slice(1)),u=+u,u!==R(u)||!q(u))throw new Error("Invalid integer: "+u+" is not a valid exponent.");var f=r[0],s=f.indexOf(".");if(s>=0&&(u-=f.length-s-1,f=f.slice(0,s)+f.slice(s+1)),u<0)throw new Error("Cannot include negative exponent part for integers");f+=new Array(u+1).join("0"),t=f}var c=/^([0-9][0-9]*)$/.test(t);if(!c)throw new Error("Invalid integer: "+t);if(Z)return new p(BigInt(i?"-"+t:t));for(var d=[],m=t.length,S=h,w=m-S;m>0;)d.push(+t.slice(w,m)),w-=S,w<0&&(w=0),m-=S;return J(d),new a(d,i)}function o1(t){if(Z)return new p(BigInt(t));if(q(t)){if(t!==R(t))throw new Error(t+" is not an integer.");return new v(t)}return On(t.toString())}function g(t){return typeof t=="number"?o1(t):typeof t=="string"?On(t):typeof t=="bigint"?new p(t):t}for(var z=0;z<1e3;z++)A[z]=g(z),z>0&&(A[-z]=g(-z));return A.one=A[1],A.zero=A[0],A.minusOne=A[-1],A.max=Nn,A.min=an,A.gcd=qn,A.lcm=Yn,A.isInstance=function(t){return t instanceof a||t instanceof v||t instanceof p},A.randBetween=$n,A.fromArray=function(t,o,i){return _n(t.map(g),g(o||10),i)},A}();n.hasOwnProperty("exports")&&(n.exports=e)})(Gn);var z6=Gn.exports;const V6=f1(z6),F6={class:"flex flex-col gap-4 p-4"},G6={class:"flex flex-wrap gap-4 items-center"},K6=["href"],X6=["disabled"],H6={class:"text-2xl flex gap-2"},Q6={class:"text-xl"},W6={class:"text-xl"},Y6={class:"text-xl"},$6={class:"text-xl"},n5={class:"flex flex-wrap gap-1"},t5=["onClick"],i5={__name:"Numbers",setup(n){const e=Object.keys(xn).filter(p=>p[0]=="A"),l=fn("A000045"),y=fn([]),h=fn(!1),b=fn(0),M=$(()=>xn[l.value]()),N=$(()=>V6(b.value).toArray(kn.pcs.length*2).value),Z=$(()=>b.value.toString(2)),A=$(()=>N.value.map(p=>kn.tonic+45+12+p)),a=$(()=>A.value.map(p=>u1(p)));function v(){const p=M.value.next().value;if(p==null)return h.value=!0;b.value=p,y.value.push(p)}return Pn(A,p=>{p.forEach((q,I)=>{setTimeout(()=>{l1(q)},150*I+2)})}),Pn(l,p=>{h.value=!1,y.value=[],b.value=0}),(p,q)=>(V(),F("div",F6,[O("div",G6,[q[2]||(q[2]=O("div",{class:"text-2xl"},"Number sequence: ",-1)),e1(O("select",{class:"dark-bg-dark-200 rounded-xl p-2","onUpdate:modelValue":q[0]||(q[0]=I=>l.value=I)},[(V(!0),F(dn,null,vn(r1(e),I=>(V(),F("option",{key:I},D(I),1))),128))],512),[[i1,l.value]]),O("a",{href:`https://oeis.org/${l.value}`,target:"_blank"},D(l.value)+" at OEIS",9,K6)]),O("button",{class:"text-button disabled-op-50",onClick:q[1]||(q[1]=I=>v()),disabled:h.value},"Generate next number",8,X6),O("div",H6,[(V(!0),F(dn,null,vn(a.value,(I,k)=>(V(),F("div",{class:"p-0",key:k},D(I),1))),128))]),O("div",Q6,D(A.value),1),O("div",W6,D(N.value),1),O("div",Y6,D(Z.value),1),O("div",$6,D(b.value),1),O("div",n5,[(V(!0),F(dn,null,vn(y.value,I=>(V(),F("button",{class:"text-xs p-1 bg-light-900 dark-bg-dark-900",onClick:k=>b.value=I,key:I},D(I),9,t5))),128))])]))}};export{i5 as default}; +import{r as fn,c as $,d as Pn,x as V,y as F,A as O,C as e1,O as i1,F as dn,B as vn,G as D,E as r1}from"./framework.CQBrk0Ry.js";import{A as f1,g as kn,aW as u1,e as l1}from"./theme.Dd_Fb62b.js";var Tn="0.9.99";function*s1(){for(const n of[0n,1n,1n,1n,2n,1n,2n,1n,5n,2n,2n,1n,5n,1n,2n,1n,14n,1n,5n,1n,5n,2n,2n,1n,15n,2n,2n,5n,4n,1n,4n,1n,51n,1n,2n,1n,14n,1n,2n,2n,14n,1n,6n,1n,4n,2n,2n,1n,52n,2n,5n,1n,5n,1n,15n,2n,13n,2n,2n,1n,13n,1n,2n,4n,267n,1n,4n,1n,5n,1n,4n,1n,50n,1n,2n,3n,4n,1n,6n,1n,52n,15n,2n,1n,15n,1n,2n,1n,12n,1n,10n,1n,4n,2n,2n,1n,231n,1n,5n,2n,16n,1n,4n,1n,14n,2n,2n,1n,45n,1n,6n,2n,43n,1n,6n,1n,5n,4n,2n,1n,47n,2n,2n,1n,4n,5n,16n,1n,2328n,2n,4n,1n,10n,1n,2n,5n,15n,1n,4n,1n,11n,1n,2n,1n,197n,1n,2n,6n,5n,1n,13n,1n,12n,2n,4n,2n,18n,1n,2n,1n,238n,1n,55n,1n,5n,2n,2n,1n,57n,2n,4n,5n,4n,1n,4n,2n,42n,1n,2n,1n,37n,1n,4n,2n,12n,1n,6n,1n,4n,13n,4n,1n,1543n,1n,2n,2n,12n,1n,10n,1n,52n,2n,2n,2n,12n,2n,2n,2n,51n,1n,12n,1n,5n,1n,2n,1n,177n,1n,2n,2n,15n,1n,6n,1n,197n,6n,2n,1n,15n,1n,4n,2n,14n,1n,16n,1n,4n,2n,4n,1n,208n,1n,5n,67n,5n,2n,4n,1n,12n,1n,15n,1n,46n,2n,2n,1n,56092n,1n,6n,1n,15n,2n,2n,1n,39n,1n,4n,1n,4n,1n,30n,1n,54n,5n,2n,4n,10n,1n,2n,4n,40n,1n,4n,1n,4n,2n,4n,1n,1045n,2n,4n,2n,5n,1n,23n,1n,14n,5n,2n,1n,49n,2n,2n,1n,42n,2n,10n,1n,9n,2n,6n,1n,61n,1n,2n,4n,4n,1n,4n,1n,1640n,1n,4n,1n,176n,2n,2n,2n,15n,1n,12n,1n,4n,5n,2n,1n,228n,1n,5n,1n,15n,1n,18n,5n,12n,1n,2n,1n,12n,1n,10n,14n,195n,1n,4n,2n,5n,2n,2n,1n,162n,2n,2n,3n,11n,1n,6n,1n,42n,2n,4n,1n,15n,1n,4n,7n,12n,1n,60n,1n,11n,2n,2n,1n,20169n,2n,2n,4n,5n,1n,12n,1n,44n,1n,2n,1n,30n,1n,2n,5n,221n,1n,6n,1n,5n,16n,6n,1n,46n,1n,6n,1n,4n,1n,10n,1n,235n,2n,4n,1n,41n,1n,2n,2n,14n,2n,4n,1n,4n,2n,4n,1n,775n,1n,4n,1n,5n,1n,6n,1n,51n,13n,4n,1n,18n,1n,2n,1n,1396n,1n,34n,1n,5n,2n,2n,1n,54n,1n,2n,5n,11n,1n,12n,1n,51n,4n,2n,1n,55n,1n,4n,2n,12n,1n,6n,2n,11n,2n,2n,1n,1213n,1n,2n,2n,12n,1n,261n,1n,14n,2n,10n,1n,12n,1n,4n,4n,42n,2n,4n,1n,56n,1n,2n,1n,202n,2n,6n,6n,4n,1n,8n,1n,10494213n,15n,2n,1n,15n,1n,4n,1n,49n,1n,10n,1n,4n,6n,2n,1n,170n,2n,4n,2n,9n,1n,4n,1n,12n,1n,2n,2n,119n,1n,2n,2n,246n,1n,24n,1n,5n,4n,16n,1n,39n,1n,2n,2n,4n,1n,16n,1n,180n,1n,2n,1n,10n,1n,2n,49n,12n,1n,12n,1n,11n,1n,4n,2n,8681n,1n,5n,2n,15n,1n,6n,1n,15n,4n,2n,1n,66n,1n,4n,1n,51n,1n,30n,1n,5n,2n,4n,1n,205n,1n,6n,4n,4n,7n,4n,1n,195n,3n,6n,1n,36n,1n,2n,2n,35n,1n,6n,1n,15n,5n,2n,1n,260n,15n,2n,2n,5n,1n,32n,1n,12n,2n,2n,1n,12n,2n,4n,2n,21541n,1n,4n,1n,9n,2n,4n,1n,757n,1n,10n,5n,4n,1n,6n,2n,53n,5n,4n,1n,40n,1n,2n,2n,12n,1n,18n,1n,4n,2n,4n,1n,1280n,1n,2n,17n,16n,1n,4n,1n,53n,1n,4n,1n,51n,1n,15n,2n,42n,2n,8n,1n,5n,4n,2n,1n,44n,1n,2n,1n,36n,1n,62n,1n,1387n,1n,2n,1n,10n,1n,6n,4n,15n,1n,12n,2n,4n,1n,2n,1n,840n,1n,5n,2n,5n,2n,13n,1n,40n,504n,4n,1n,18n,1n,2n,6n,195n,2n,10n,1n,15n,5n,4n,1n,54n,1n,2n,2n,11n,1n,39n,1n,42n,1n,4n,2n,189n,1n,2n,2n,39n,1n,6n,1n,4n,2n,2n,1n,1090235n,1n,12n,1n,5n,1n,16n,4n,15n,5n,2n,1n,53n,1n,4n,5n,172n,1n,4n,1n,5n,1n,4n,2n,137n,1n,2n,1n,4n,1n,24n,1n,1211n,2n,2n,1n,15n,1n,4n,1n,14n,1n,113n,1n,16n,2n,4n,1n,205n,1n,2n,11n,20n,1n,4n,1n,12n,5n,4n,1n,30n,1n,4n,2n,1630n,2n,6n,1n,9n,13n,2n,1n,186n,2n,2n,1n,4n,2n,10n,2n,51n,2n,10n,1n,10n,1n,4n,5n,12n,1n,12n,1n,11n,2n,2n,1n,4725n,1n,2n,3n,9n,1n,8n,1n,14n,4n,4n,5n,18n,1n,2n,1n,221n,1n,68n,1n,15n,1n,2n,1n,61n,2n,4n,15n,4n,1n,4n,1n,19349n,2n,2n,1n,150n,1n,4n,7n,15n,2n,6n,1n,4n,2n,8n,1n,222n,1n,2n,4n,5n,1n,30n,1n,39n,2n,2n,1n,34n,2n,2n,4n,235n,1n,18n,2n,5n,1n,2n,2n,222n,1n,4n,2n,11n,1n,6n,1n,42n,13n,4n,1n,15n,1n,10n,1n,42n,1n,10n,2n,4n,1n,2n,1n,11394n,2n,4n,2n,5n,1n,12n,1n,42n,2n,4n,1n,900n,1n,2n,6n,51n,1n,6n,2n,34n,5n,2n,1n,46n,1n,4n,2n,11n,1n,30n,1n,196n,2n,6n,1n,10n,1n,2n,15n,199n,1n,4n,1n,4n,2n,2n,1n,954n,1n,6n,2n,13n,1n,23n,2n,12n,2n,2n,1n,37n,1n,4n,2n,49487367289n,4n,66n,2n,5n,19n,4n,1n,54n,1n,4n,2n,11n,1n,4n,1n,231n,1n,2n,1n,36n,2n,2n,2n,12n,1n,40n,1n,4n,51n,4n,2n,1028n,1n,5n,1n,15n,1n,10n,1n,35n,2n,4n,1n,12n,1n,4n,4n,42n,1n,4n,2n,5n,1n,10n,1n,583n,2n,2n,6n,4n,2n,6n,1n,1681n,6n,4n,1n,77n,1n,2n,2n,15n,1n,16n,1n,51n,2n,4n,1n,170n,1n,4n,5n,5n,1n,12n,1n,12n,2n,2n,1n,46n,1n,4n,2n,1092n,1n,8n,1n,5n,14n,2n,2n,39n,1n,4n,2n,4n,1n,254n,1n,42n,2n,2n,1n,41n,1n,2n,5n,39n,1n,4n,1n,11n,1n,10n,1n,157877n,1n,2n,4n,16n,1n,6n,1n,49n,13n,4n,1n,18n,1n,4n,1n,53n,1n,32n,1n,5n,1n,2n,2n,279n,1n,4n,2n,11n,1n,4n,3n,235n,2n,2n,1n,99n,1n,8n,2n,14n,1n,6n,1n,11n,14n,2n,1n,1040n,1n,2n,1n,13n,2n,16n,1n,12n,5n,27n,1n,12n,1n,2n,69n,1387n,1n,16n,1n,20n,2n,4n,1n,164n,4n,2n,2n,4n,1n,12n,1n,153n,2n,2n,1n,15n,1n,2n,2n,51n,1n,30n,1n,4n,1n,4n,1n,1460n,1n,55n,4n,5n,1n,12n,2n,14n,1n,4n,1n,131n,1n,2n,2n,42n,3n,6n,1n,5n,5n,4n,1n,44n,1n,10n,3n,11n,1n,10n,1n,1116461n,5n,2n,1n,10n,1n,2n,4n,35n,1n,12n,1n,11n,1n,2n,1n,3609n,1n,4n,2n,50n,1n,24n,1n,12n,2n,2n,1n,18n,1n,6n,2n,244n,1n,18n,1n,9n,2n,2n,1n,181n,1n,2n,51n,4n,2n,12n,1n,42n,1n,8n,5n,61n,1n,4n,1n,12n,1n,6n,1n,11n,2n,4n,1n,11720n,1n,2n,1n,5n,1n,112n,1n,52n,1n,2n,2n,12n,1n,4n,4n,245n,1n,4n,1n,9n,5n,2n,1n,211n,2n,4n,2n,38n,1n,6n,15n,195n,15n,6n,2n,29n,1n,2n,1n,14n,1n,32n,1n,4n,2n,4n,1n,198n,1n,4n,8n,5n,1n,4n,1n,153n,1n,2n,1n,227n,2n,4n,5n,19324n,1n,8n,1n,5n,4n,4n,1n,39n,1n,2n,2n,15n,4n,16n,1n,53n,6n,4n,1n,40n,1n,12n,5n,12n,1n,4n,2n,4n,1n,2n,1n,5958n,1n,4n,5n,12n,2n,6n,1n,14n,4n,10n,1n,40n,1n,2n,2n,179n,1n,1798n,1n,15n,2n,4n,1n,61n,1n,2n,5n,4n,1n,46n,1n,1387n,1n,6n,2n,36n,2n,2n,1n,49n,1n,24n,1n,11n,10n,2n,1n,222n,1n,4n,3n,5n,1n,10n,1n,41n,2n,4n,1n,174n,1n,2n,2n,195n,2n,4n,1n,15n,1n,6n,1n,889n,1n,2n,2n,4n,1n,12n,2n,178n,13n,2n,1n,15n,4n,4n,1n,12n,1n,20n,1n,4n,5n,4n,1n,408641062n,1n,2n,60n,36n,1n,4n,1n,15n,2n,2n,1n,46n,1n,16n,1n,54n,1n,24n,2n,5n,2n,4n,1n,221n,1n,4n,1n,11n,1n,30n,1n,928n,2n,4n,1n,10n,2n,2n,13n,14n,1n,4n,1n,11n,2n,6n,1n,697n,1n,4n,3n,5n,1n,8n,1n,12n,5n,2n,2n,64n,1n,4n,2n,10281n,1n,10n,1n,5n,1n,4n,1n,54n,1n,8n,2n,11n,1n,4n,1n,51n,6n,2n,1n,477n,1n,2n,2n,56n,5n,6n,1n,11n,5n,4n,1n,1213n,1n,4n,2n,5n,1n,72n,1n,68n,2n,2n,1n,12n,1n,2n,13n,42n,1n,38n,1n,9n,2n,2n,2n,137n,1n,2n,5n,11n,1n,6n,1n,21507n,5n,10n,1n,15n,1n,4n,1n,34n,2n,60n,2n,4n,5n,2n,1n,1005n,2n,5n,2n,5n,1n,4n,1n,12n,1n,10n,1n,30n,1n,10n,1n,235n,1n,6n,1n,50n,309n,4n,2n,39n,7n,2n,1n,11n,1n,36n,2n,42n,2n,2n,5n,40n,1n,2n,2n,39n,1n,12n,1n,4n,3n,2n,1n,47937n,1n,4n,2n,5n,1n,13n,1n,35n,4n,4n,1n,37n,1n,4n,2n,51n,1n,16n,1n,9n,1n,30n,2n,64n,1n,2n,14n,4n,1n,4n,1n,1285n,1n,2n,1n,228n,1n,2n,5n,53n,1n,8n,2n,4n,2n,2n,4n,260n,1n,6n,1n,15n,1n,110n,1n,12n,2n,4n,1n,12n,1n,4n,5n,1083553n,1n,12n,1n,5n,1n,4n,1n,749n,1n,4n,2n,11n,3n,30n,1n,54n,13n,6n,1n,15n,2n,2n,9n,12n,1n,10n,1n,35n,2n,2n,1n,1264n,2n,4n,6n,5n,1n,18n,1n,14n,2n,4n,1n,117n,1n,2n,2n,178n,1n,6n,1n,5n,4n,4n,1n,162n,2n,10n,1n,4n,1n,16n,1n,1630n,2n,2n,2n,56n,1n,10n,15n,15n,1n,4n,1n,4n,2n,12n,1n,1096n,1n,2n,21n,9n,1n,6n,1n,39n,5n,2n,1n,18n,1n,4n,2n,195n,1n,120n,1n,9n,2n,2n,1n,54n,1n,4n,4n,36n,1n,4n,1n,186n,2n,2n,1n,36n,1n,6n,15n,12n,1n,8n,1n,4n,5n,4n,1n,241004n,1n,5n,1n,15n,4n,10n,1n,15n,2n,4n,1n,34n,1n,2n,4n,167n,1n,12n,1n,15n,1n,2n,1n,3973n,1n,4n,1n,4n,1n,40n,1n,235n,11n,2n,1n,15n,1n,6n,1n,144n,1n,18n,1n,4n,2n,2n,2n,203n,1n,4n,15n,15n,1n,12n,2n,39n,1n,4n,1n,120n,1n,2n,2n,1388n,1n,6n,1n,13n,4n,4n,1n,39n,1n,2n,5n,4n,1n,66n,1n,963n,1n,8n,1n,10n,2n,4n,4n,12n,2n,12n,1n,4n,2n,4n,2n,6538n,1n,2n,2n,20n,1n,6n,2n,46n,63n,2n,1n,88n,1n,12n,1n,42n,1n,10n,2n,5n,5n,2n,1n,175n,2n,2n,2n,11n,1n,12n,1n])yield n}function*Zn(){yield 1n,yield 2n,yield 2n;const n=Zn();n.next(),n.next();let e=!0;for(const l of n){e=!e;for(let y=0n;ye+l,0n)}function p1(n){return String(n).split("").map(BigInt).reduce((e,l)=>e*l,1n)}function P(n){if(n===1n)return!1;for(let e=2n;e*e<=n;e++)if(n%e===0n)return!1;return!0}function G(n,e=!1){if(P(n))return[n];const l=[],y=function*(){for(let h=2n;;h++)P(h)&&(yield h)}();for(;;){const h=y.next().value;let b=!1;for(;n%h===0n;)!e&&b||(l.push(h),b=!0),n/=h;if(n===1n)return l}}function d1(n,e){const l=G(n),y=G(e);for(const h of l)if(y.indexOf(h)!==-1)return!1;return!0}function v1(n){if(n<2n)return n;let e=0n;for(let l=1n;l1n;e--)n*=e;return n}function Dn(n){const e=[];for(;n>0n;)e.unshift(n%2n),n>>=1n;return e.join("")}function*T(){for(let n=2n;;n++)P(n)&&(yield n)}function*h1(){for(const n of T())yield BigInt(0|Math.sqrt(Number(n)))}function*A1(){for(yield 1n;;)yield 0n}function*g1(){for(const n of[1n,1n,2n,2n,3n,4n,5n,6n,7n,8n,11n,12n,15n,16n,19n,22n,25n,28n,31n,34n,40n,43n,49n,52n,58n,64n,70n,76n,82n,88n,98n,104n,114n,120n,130n,140n,150n,160n,170n,180n,195n,205n,220n,230n,245n,260n,275n,290n,305n,320n,341n,356n,377n,392n,413n,434n,455n,476n,497n,518n,546n])yield n}function*m1(){for(const n of[1n,1n,1n,2n,2n,3n,4n,5n,6n,8n,10n,12n,15n,18n,22n,27n,32n,38n,46n,54n,64n,76n,89n,104n,122n,142n,165n,192n,222n,256n,296n,340n,390n,448n,512n,585n,668n,760n,864n,982n,1113n,1260n,1426n,1610n,1816n,2048n,2304n,2590n,2910n,3264n,3658n,4097n,4582n,5120n,5718n,6378n])yield n}function*w1(){for(let n=1n;;n++)yield v1(n)}function*b1(){for(const n of[1n,1n,2n,2n,4n,4n,8n,9n,18n,23n,44n,63n,122n,190n,362n,612n,1162n,2056n,3914n,7155n,13648n,25482n,48734n,92205n,176906n,337594n,649532n,1246863n,2405236n,4636390n,8964800n,17334801n,33588234n,65108062n,126390032n,245492244n,477353376n,928772650n,1808676326n,3524337980n])yield n}function*S1(){for(;;)yield 1n}function*B1(){for(const n of[1n,1n,2n,2n,4n,4n,8n,10n,20n,30n,56n,94n,180n,316n,596n,1096n,2068n,3856n,7316n,13798n,26272n,49940n,95420n,182362n,349716n,671092n,1290872n,2485534n,4794088n,9256396n,17896832n,34636834n,67110932n,130150588n,252648992n,490853416n])yield n}function*I1(){for(const n of[0n,1n,1n,0n,1n,1n,2n,2n,4n,5n,10n,14n,26n,42n,78n,132n,249n,445n,842n,1561n,2988n,5671n,10981n,21209n,41472n,81181n,160176n,316749n,629933n,1256070n,2515169n,5049816n,10172638n,20543579n,41602425n,84440886n,171794492n,350238175n,715497037n,1464407113n])yield n}function*M1(){for(const n of[1n,2n,3n,4n,5n,7n,7n,8n,9n,11n,11n,13n,13n,16n,16n,16n,17n,19n,19n,23n,23n,23n,23n,25n,25n,27n,27n,29n,29n,31n,31n,32n,37n,37n,37n,37n,37n,41n,41n,41n,41n,43n,43n,47n,47n,47n,47n,49n,49n,53n,53n,53n,53n,59n,59n,59n,59n,59n,59n,61n,61n,64n,64n,64n,67n,67n,67n,71n,71n,71n,71n,73n])yield n}function*N1(){for(const n of[1n,1n,1n,2n,2n,4n,6n,10n,16n,30n,52n,94n,172n,316n,586n,1096n,2048n,3856n,7286n,13798n,26216n,49940n,95326n,182362n,349536n,671092n,1290556n,2485534n,4793492n,9256396n,17895736n,34636834n,67108864n,130150588n,252645136n,490853416n])yield n}function*q1(){for(const n of[1n,0n,0n,2n,2n,4n,8n,4n,16n,12n,48n,80n,136n,420n,1240n,2872n,7652n,18104n,50184n])yield n}function*_1(){for(const n of[1n,1n,2n,2n,4n,8n,13n,25n,44n,83n,152n,286n,538n,1020n,1942n,3725n,7145n,13781n,26627n,51572n,100099n,194633n,379037n,739250n,1443573n,2822186n,5522889n,10818417n,21209278n,41613288n,81705516n,160532194n,315604479n,620834222n,1221918604n,2406183020n,4740461247n])yield n}function*E1(){for(const n of[1n,1n,2n,2n,5n,4n,7n,7n,11n,9n,8n,6n,9n,4n,6n,22n,10n,4n,8n,4n,9n,4n,7n,5n,28n,7n,15n,14n,8n,4n,12n,7n,4n,2n,6n,22n,11n,4n,2n,8n,10n,4n,10n,4n,9n,2n,6n,4n,40n,9n,2n,3n,8n,4n,8n,9n,5n,2n,6n,9n,14n,4n,8n,74n,13n,7n,10n,7n,2n,2n,10n,4n,16n,4n,2n,2n,4n,6n,10n,4n,155n,10n,6n,6n,6n,2n,2n,2n,10n,4n,10n,2n])yield n}function*O1(){for(const n of[2n,1n,2n,2n,6n,6n,18n,16n,48n,60n,176n,144n,630n,756n,1800n,2048n,7710n,7776n,27594n,24000n,84672n,120032n,356960n,276480n,1296000n,1719900n,4202496n,4741632n,18407808n,17820000n,69273666n,67108864n,211016256n,336849900n,929275200n,725594112n,3697909056n])yield n}function*P1(){for(const n of[1n,1n,2n,2n,6n,9n,17n,30n,54n,98n,183n,341n,645n,1220n,2327n,4451n,8555n,16489n,31859n,61717n,119779n,232919n,453584n,884544n,1727213n,3376505n,6607371n,12942012n,25371540n,49777187n,97731027n,192010355n,377475336n,742512992n,1461352025n,2877572478n,5668965407n])yield n}function*k1(){for(const n of[0n,1n,0n,1n,1n,2n,2n,6n,9n,20n,37n,86n,181n,422n,943n,2223n,5225n,12613n,30513n,74883n,184484n,458561n,1145406n,2879870n,7274983n,18471060n,47089144n,120528657n,309576725n,797790928n,2062142876n,5345531935n,13893615154n,36201693122n])yield n}function*L1(){for(const n of[1n,-1n,2n,-2n,8n,8n,112n,656n,5504n,49024n,491264n,5401856n,64826368n,842734592n,11798300672n,176974477312n,2831591702528n,48137058811904n,866467058876416n,16462874118127616n,329257482363600896n,6914407129633521664n,152116956851941670912n])yield n}function*x1(){for(const n of[1n,1n,2n,2n,7n,10n,20n,36n,65n,118n,221n,409n,776n,1463n,2788n,5328n,10222n,19714n,38054n,73685n,142944n,277838n,540889n,1054535n,2058537n,4023278n,7871313n,15414638n,30213190n,59266422n,116343776n,228545682n,449240740n,883570480n,1738769611n,3423469891n,6743730746n])yield n}function*T1(){for(const n of[1n,1n,-2n,3n,-3n,3n,-5n,7n,-6n,6n,-10n,12n,-11n,13n,-17n,20n,-21n,21n,-27n,34n,-33n,36n,-46n,51n,-53n,58n,-68n,78n,-82n,89n,-104n,118n,-123n,131n,-154n,171n,-179n,197n,-221n,245n,-262n,279n,-314n,349n,-369n,398n,-446n,486n,-515n,557n,-614n,671n,-715n,767n,-845n,920n,-977n,1046n,-1148n,1244n])yield n}function*Z1(){for(const n of[1n,2n,3n,4n,5n,6n,7n,6n,6n,10n,11n,12n,13n,14n,15n,8n,17n,12n,19n,20n,21n,22n,23n,18n,10n,26n,9n,28n,29n,30n,31n,10n,33n,34n,35n,24n,37n,38n,39n,30n,41n,42n,43n,44n,30n,46n,47n,24n,14n,20n,51n,52n,53n,18n,55n,42n,57n,58n,59n,60n,61n,62n,42n,12n,65n,66n,67n,68n,69n,70n,71n,36n])yield n}function*D1(){for(let n=1n;;n++)yield n}function*J1(){for(const n of[2n,3n,4n,5n,7n,9n,11n,13n,16n,17n,19n,23n,24n,25n,29n,30n,31n,37n,40n,41n,42n,43n,47n,49n,53n,54n,56n,59n,60n,61n,66n,67n,70n,71n,72n,73n,78n,79n,81n,83n,84n,88n,89n,90n,96n,97n,101n,102n,103n,104n,105n,107n,108n,109n,110n,113n,114n,121n,126n,127n,128n,130n,131n,132n,135n,136n,137n])yield n}function*R1(){for(const n of[1n,2n,3n,4n,6n,8n,13n,18n,30n,46n,78n,126n,224n,380n,687n,1224n,2250n,4112n,7685n,14310n,27012n,50964n,96909n,184410n,352698n,675188n,1296858n,2493726n,4806078n,9272780n,17920860n,34669602n,67159050n,130216124n,252745368n,490984488n])yield n}function*U1(){for(let n=0n;;n++){const e=n.toString();e[0]&&(yield BigInt(e[0]))}}function*C1(){for(const n of[1n,2n,3n,4n,6n,8n,14n,20n,36n,60n,108n,188n,352n,632n,1182n,2192n,4116n,7712n,14602n,27596n,52488n,99880n,190746n,364724n,699252n,1342184n,2581428n,4971068n,9587580n,18512792n,35792568n,69273668n,134219796n,260301176n,505294128n,981706832n])yield n}function*Jn(){let n=2n,e=1n;for(yield n,yield e;;){const l=e+n;n=e,e=l,yield e}}function*j1(){for(const n of[0n,2n,3n,4n,40n,210n,1477n,11672n,104256n,1036050n,11338855n,135494844n,1755206648n,24498813794n,366526605705n,5851140525680n,99271367764480n,1783734385752162n,33837677493828171n,675799125332580020n,14173726082929399560n,311462297063636041906n])yield n}function*z1(){for(;;)yield 1n,yield 2n}function*V1(){for(;;)yield 0n,yield 1n}function*F1(){for(const n of[2n,3n,5n,6n,6n,-6n,7n,8n,10n,13n,13n,13n,14n,-17n,17n,17n,18n,-19n,20n,-22n,23n,27n,-29n,-29n,29n,-31n,-32n,-35n,36n,-37n,-40n,-43n,-46n,-48n,-50n,-53n,-55n,-57n,-60n,-60n,-61n,-63n,-66n,-66n,-68n,-71n,-74n,-77n,-79n,-82n,-85n,-88n,-89n,-92n,-95n,-96n,-97n,-97n,-100n])yield n}function*Rn(){for(let n=0n;;n++)yield n**2n}function*G1(){let n=0n;for(const e of Rn()){for(;nn&&(yield l[n],n++)}}function*H1(){yield 1n;const n=Un(),e=[];function l(h){return h in e||(e[h]=n.next().value),e[h]}const y=[1n];for(let h=1;;h++){y[h]=0n;for(let b=1;b<=h;b++)y[h]+=y[h-b]*l(b);y[h]/=BigInt(h),yield y[h]}}function*Q1(){for(let n=1n;;n=10n*n+1n)yield n}function*W1(){for(const n of T())P(BigInt(2**Number(n))-1n)&&(yield n)}function*Y1(){for(const n of[1n,1n,1n,2n,3n,5n,8n,13n,21n,34n,55n,89n,144n,232n,375n,606n,979n,1582n,2556n,4130n,6673n,10782n,17421n,28148n,45480n,73484n,118732n,191841n,309967n,500829n,809214n,1307487n,2112571n,3413385n,5515174n,8911138n,14398164n,23263822n,37588502n,60733592n,98130253n,158553878n,256183302n,413927966n,668803781n,1080619176n,1746009572n,2821113574n,4558212008n])yield n}function*Cn(){let n=0n,e=1n;for(yield n,yield e;;){const l=n+e;n=e,e=l,yield e}}function*$1(){for(const n of[1n,1n,1n,1n,2n,3n,5n,8n,14n,21n,39n,62n,112n,189n,352n,607n,1144n,2055n,3885n,7154n,13602n,25472n,48670n,92204n,176770n,337590n,649341n,1246840n,2404872n,4636389n,8964143n,17334800n,33587072n,65107998n,126387975n,245492232n,477349348n])yield n}function*n0(){for(const n of[1n,2n,3n,5n,8n,15n,26n,48n,87n,161n,299n,563n,1066n,2030n,3885n,7464n,14384n,27779n,53782n,104359n,202838n,394860n,769777n,1502603n,2936519n,5744932n,11249805n,22048769n,43248623n,84894767n,166758141n,327770275n,644627310n,1268491353n,2497412741n])yield n}function*t0(){for(const n of[1n,1n,1n,1n,2n,3n,5n,9n,16n,28n,51n,93n,170n,315n,585n,1091n,2048n,3855n,7280n,13797n,26214n,49929n,95325n,182361n,349520n,671088n,1290555n,2485504n,4793490n,9256395n,17895679n,34636833n,67108864n,130150493n,252645135n,490853403n,954437120n,1857283155n])yield n}function*o0(){for(const n of[0n,0n,2n,3n,5n,9n,16n,29n,53n,98n,181n,341n,640n,1218n,2321n,4449n,8546n,16482n,31845n,61707n,119760n,232865n,453511n,884493n,1727125n,3376376n,6607207n,12941838n,25371086n,49776945n,97730393n,192009517n,377473965n,742511438n,1461351029n,2877568839n,5668961811n])yield n}function*e0(){for(const n of[1n,2n,3n,5n,9n,16n,29n,54n,97n,180n,337n,633n,1197n,2280n,4357n,8363n,16096n,31064n,60108n,116555n,226419n,440616n,858696n,1675603n,3273643n,6402706n,12534812n,24561934n,48168461n,94534626n,185661958n,364869032n,717484560n,1411667114n,2778945873n,5473203125n])yield n}function*i0(){for(let n=0n;;n++)yield BigInt(2**Number(n))+1n}function*r0(){for(const n of[8n,5n,4n,9n,1n,7n,6n,3n,2n,0n,18n,80n,88n,85n,84n,89n,81n,87n,86n,83n,82n,11n,15n,50n,58n,55n,54n,59n,51n,57n,56n,53n,52n,40n,48n,45n,44n,49n,41n,47n,46n,43n,42n,14n,19n,90n,98n,95n,94n,99n,91n,97n,96n,93n,92n,17n,70n,78n,75n,74n,79n,71n,77n,76n,73n,72n])yield n}function*f0(){for(const n of[14n,18n,23n,28n,34n,42n,50n,59n,66n,72n,79n,86n,96n,103n,110n,116n,125n,137n,145n,157n,168n,181n,191n,207n,215n,225n,231n,238n,242n])yield n}function*u0(){for(const n of[4n,14n,23n,34n,42n,50n,59n,72n,81n,86n,96n,103n,110n,116n,125n,135n,145n,155n,163n,168n,175n,181n,190n,200n,207n])yield n}function*l0(){for(const n of[1n,1n,1n,1n,2n,3n,6n,11n,23n,47n,106n,235n,551n,1301n,3159n,7741n,19320n,48629n,123867n,317955n,823065n,2144505n,5623756n,14828074n,39299897n,104636890n,279793450n,751065460n,2023443032n,5469566585n,14830871802n,40330829030n,109972410221n,300628862480n,823779631721n,2262366343746n,6226306037178n])yield n}function*s0(){for(const n of[1n,6n,24n,48n,120n,144n,336n,384n,648n,720n,1320n,1152n,2184n,2016n,2880n,3072n,4896n,3888n,6840n,5760n,8064n,7920n,12144n,9216n,15000n,13104n,17496n,16128n,24360n,17280n,29760n,24576n,31680n,29376n,40320n,31104n,50616n,41040n,52416n,46080n,68880n,48384n,79464n])yield n}function*c0(){for(const n of[2n,3n,7n,23n,43n,67n,83n,103n,127n,163n,167n,223n,227n,283n,367n,383n,443n,463n,467n,487n,503n,523n,547n,587n,607n,643n,647n,683n,727n,787n,823n,827n,863n,883n,887n,907n,947n,983n,1063n,1123n,1163n,1187n,1283n,1303n,1327n,1367n,1423n,1447n,1487n,1543n])yield n}function*a0(){let n=2n;for(yield n;;)n=n**2n-n+1n,yield n}function*y0(){for(let n=1n;;n++)P(BigInt((2*Number(n))**4)+1n)&&(yield n)}function*p0(){for(const n of[1n,2n,3n,10n,27n,98n,350n,1402n,5743n,24742n,108968n,492638n,2266502n,10600510n,50235931n,240882152n,1166732814n,5702046382n,28088787314n,139355139206n,695808554300n,3494391117164n,17641695461662n,89495028762682n,456009893224285n,2332997356507678n,11980753878699716n,61739654456234062n,319188605907760846n])yield n}function*d0(){for(const n of[1n,1n,2n,4n,4n,6n,8n,8n,12n,14n,14n,16n,20n,20n,24n,32n,24n,30n,38n,32n,40n,46n,40n,48n,60n,50n,54n,64n,60n,68n,80n,64n,72n,92n,76n,96n,100n,82n,104n,112n,96n,108n,126n,112n,120n,148n,112n,128n,168n,130n,156n,160n,140n,162n,184n,160n,168n,198n,170n,192n,220n,168n,192n])yield n}function*v0(){for(const n of[1n,2n,4n,5n,6n,8n,9n,11n,12n,13n,15n,16n,18n,19n,20n,22n,23n,25n,26n,27n,29n,30n,32n,33n,34n,36n,37n,38n,40n,41n,43n,44n,45n,47n,48n,50n,51n,52n,54n,55n,57n,58n,59n,61n,62n,64n,65n,66n,68n,69n,71n,72n,73n,75n,76n,77n,79n,80n,82n,83n,84n,86n,87n,89n,90n,91n,93n,94n,96n,97n,98n])yield n}function*h0(){for(const n of[1n,1n,2n,4n,5n,14n,14n,39n,42n,132n,132n,424n,429n,1428n,1430n,4848n,4862n,16796n,16796n,58739n,58786n,208012n,208012n,742768n,742900n,2674426n,2674440n,9694416n,9694845n,35357670n,35357670n,129643318n,129644790n,477638700n,477638700n,1767258328n,1767263190n,6564120288n])yield n}function*A0(){for(const n of[1n,2n,4n,6n,9n,13n,18n,24n,31n,39n,50n,62n,77n,93n,112n,134n,159n,187n,218n,252n,292n,335n,384n,436n,494n,558n,628n,704n,786n,874n,972n,1076n,1190n,1310n,1440n,1580n,1730n,1890n,2060n,2240n,2435n,2640n,2860n,3090n,3335n,3595n,3870n,4160n,4465n,4785n,5126n])yield n}function*g0(){for(const n of[0n,0n,1n,2n,4n,6n,10n,14n,21n,29n,41n,55n,76n,100n,134n,175n,230n,296n,384n,489n,626n,791n,1001n,1254n,1574n,1957n,2435n,3009n,3717n,4564n,5603n,6841n,8348n,10142n,12309n,14882n,17976n,21636n,26014n,31184n,37337n,44582n,53173n,63260n,75174n,89133n,105557n,124753n])yield n}function*m0(){for(const n of[4n,6n,10n,14n,24n,30n,58n,70n,112n,126n])yield n}function*w0(){for(const n of[1n,2n,4n,6n,10n,18n,33n,60n,111n,205n,385n,725n,1374n,2610n,4993n,9578n,18426n,35568n,68806n,133411n,259145n,504222n,982538n,1917190n,3745385n,7324822n,14339072n,28095711n,55095559n,108124461n,212342327n,417283564n,820520378n,1614331755n,3177789615n,6258525127n])yield n}function*b0(){for(let n=1n;;n++)P(BigInt(Number(n)**4)+1n)&&(yield n)}function*S0(){for(let n=0n;;n++)(Dn(n).match(/1/g)||[]).length%2==1&&(yield n)}function*B0(){for(const n of[1n,2n,4n,7n,12n,19n,30n,45n,67n,97n,139n,195n,272n,373n,508n,684n,915n,1212n,1597n,2087n,2714n,3506n,4508n,5763n,7338n,9296n,11732n,14742n,18460n,23025n,28629n,35471n,43820n,53963n,66273n,81156n,99133n,120770n,146785n,177970n,215308n,259891n,313065n,376326n,451501n])yield n}function*I0(){const n=Cn();n.next();for(const e of n)yield e-1n}function*M0(){for(const n of[1n,1n,2n,4n,7n,12n,22n,41n,72n,137n,254n,476n,901n,1716n,3274n,6286n,12090n,23331n,45140n,87511n,169972n,330752n,644499n,1257523n,2456736n,4804666n,9405749n,18429828n,36141339n,70928099n,139295793n,273741700n,538277486n,1059051586n,2084763319n,4105924366n])yield n}function*N0(){let n=0n,e=0n,l=1n;for(yield n,yield e,yield l;;){const y=n+e+l;n=e,e=l,l=y,yield l}}function*q0(){for(const n of[1n,1n,2n,4n,7n,13n,25n,43n,83n,157n,296n,564n,1083n,2077n,4006n,7733n,14968n,29044n,56447n,109864n,214197n,418080n,816907n,1598040n,3129063n,6132106n,12027122n,23606527n,46366165n,91127332n,179207074n,352615528n,694182554n,1367278759n])yield n}function*_0(){for(const n of[0n,1n,2n,4n,7n,14n,23n,42n,76n,139n,258n,482n,907n,1717n,3269n,6257n,12020n,23171n,44762n,86683n,168233n,327053n,636837n,1241723n,2424228n,4738426n,9271299n,18157441n,35591647n,69820626n,137068908n,269270450n,529312241n,1041093048n,2048825748n,4034059456n])yield n}function*E0(){for(const n of[0n,0n,1n,2n,4n,7n,14n,24n,43n,82n,149n,284n,534n,1015n,1937n,3713n,7136n,13759n,26597n,51537n,100045n,194586n,378987n,739161n,1443465n,2821923n,5522689n,10818037n,21208747n,41612533n,81704494n,160531078n,315602635n,620831732n,1221915127n,2406177404n,4740454046n,9343415302n,18423548106n,36342329321n])yield n}function*O0(){for(const n of[1n,1n,2n,4n,8n,13n,24n,42n,76n,140n,257n,483n,907n,1717n,3272n,6261n,12027n,23172n,44769n,86708n,168245n,327073n,636849n,1241720n,2424290n,4738450n,9271396n,18157630n,35591729n,69820804n,137069245n,269270791n,529312776n,1041093937n,2048826229n,4034062310n])yield n}function*P0(){let n=0n,e=0n,l=0n,y=1n;for(yield n,yield e,yield l,yield y;;){const h=n+e+l+y;n=e,e=l,l=y,y=h,yield y}}function*k0(){let n=1n;for(yield n;;)yield n<<=1n}function*L0(){for(const n of[1n,1n,2n,4n,9n,19n,48n,117n,307n,821n,2277n,6437n,18634n,54775n,163703n,495529n,1518706n,4703848n,14714754n,46444979n,147832051n,474229588n,1532565644n])yield n}function*x0(){for(const n of[0n,1n,1n,2n,4n,9n,20n,48n,115n,286n,719n,1842n,4766n,12486n,32973n,87811n,235381n,634847n,1721159n,4688676n,12826228n,35221832n,97055181n,268282855n,743724984n,2067174645n,5759636510n,16083734329n,45007066269n,126186554308n,354426847597n,997171512998n])yield n}function*T0(){for(const n of[1n,6n,12n,24n,30n,72n,56n,96n,108n,180n,132n,288n,182n,336n,360n,384n,306n,648n,380n,720n,672n,792n,552n,1152n,750n,1092n,972n,1344n,870n,2160n,992n,1536n,1584n,1836n,1680n,2592n,1406n,2280n,2184n,2880n,1722n,4032n,1892n,3168n,3240n,3312n,2256n])yield n}function*Z0(){for(const n of[1n,1n,1n,2n,4n,9n,23n,63n,188n,596n,1979n,6804n,24118n,87379n,322652n,1209808n,4596158n,17657037n,68497898n,268006183n,1056597059n,4193905901n,16748682185n,67258011248n,271452424286n,1100632738565n,4481533246014n])yield n}function*D0(){for(const n of[1n,2n,4n,10n,24n,66n,180n,522n,1532n,4624n,14136n,43930n,137908n,437502n,1399068n,4507352n,14611576n,47633486n,156047204n,513477502n,1696305728n,5623993944n,18706733128n,62408176762n,208769240140n,700129713630n,2353386723912n])yield n}function*J0(){let n=1n,e=1n;yield n,yield e;for(let l=1n;;l++){const y=e+n*l;n=e,e=y,yield e}}function*R0(){for(const n of[1n,0n,1n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,4n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,2n,0n,0n])yield n}function*U0(){for(const n of[2n,1n,2n,4n,10n,37n,138n,628n,2972n,14903n,76994n,409594n,2222628n,12281570n,68864086n,391120036n,2246122574n,13025721601n,76194378042n,449155863868n,2666126033850n,15925105028685n,95664343622234n,577651490729530n])yield n}function*C0(){for(const n of[1n,1n,2n,4n,11n,34n,156n,1044n,12346n,274668n,12005168n,1018997864n,165091172592n,50502031367952n,29054155657235488n,31426485969804308768n,64001015704527557894928n,245935864153532932683719776n,1787577725145611700547878190848n,24637809253125004524383007491432768n])yield n}function*j0(){for(const n of[1n,1n,0n,0n,2n,0n,0n,0n,0n,2n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,2n,2n,0n,0n,2n,0n,0n,0n,0n,2n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,2n,0n,0n,0n,0n,2n,0n,0n,2n,0n,0n,0n,4n,0n,0n,0n,0n,0n,0n,0n,2n,2n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,4n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n])yield n}function*z0(){for(const n of[1n,1n,2n,4n,16n,80n,520n,3640n,29120n,259840n,2598400n,28582400n,343235200n,4462057600n,62468806400n,936987251200n,14991796019200n,254860532326400n,4587501779660800n,87162533813555200n,1743250676271104000n,36608259566534656000n,805381710463762432000n])yield n}function*V0(){for(const n of[1n,2n,2n,2n,0n,4n,2n,2n,0n,0n,0n,4n,2n,4n,0n,2n,0n,0n,2n,0n,4n,0n,0n,4n,0n,4n,0n,4n,0n,0n,2n,2n,0n,0n,0n,0n,2n,4n,4n,0n,0n,8n,2n,0n,0n,0n,0n,4n,2n,0n,0n,4n,0n,0n,0n,4n,4n,0n,0n,0n,2n,4n,0n,2n,0n,0n,2n,0n,0n,0n,0n,0n,2n,4n,0n,4n,0n,8n,2n,0n,0n,0n,0n,8n,0n,4n,0n,0n,0n,0n,4n,0n,4n,0n,0n,4n,2n,4n,0n,0n,0n,0n,2n,4n,0n])yield n}function*F0(){for(const n of[1n,2n,5n,6n,14n,21n,29n,30n,54n,90n,134n,155n,174n,230n,234n,251n,270n,342n,374n,461n,494n,550n,666n,750n,810n,990n,1890n,2070n,2486n,2757n,2966n,3150n,3566n,3630n,4554n,4829n,5670n,5750n,8154n,8382n,8774n,8910n,10350n,10710n,15734n,15750n,16302n,17550n])yield n}function*G0(){for(const n of[0n,1n,2n,5n,8n,11n,14n,18n,22n,27n,31n,36n,41n,46n,52n,58n,64n,70n,76n,82n,89n,96n,103n,110n,117n,125n,132n,140n,148n,156n,164n,172n,181n,189n,198n,207n,216n,225n,234n,243n,252n,262n,272n,281n,291n,301n,311n,322n,332n,343n,353n,364n,374n,385n,396n,407n,419n,430n])yield n}function*K0(){for(const n of[0n,0n,0n,0n,1n,2n,5n,8n,14n,21n,32n,45n,65n,88n,121n,161n,215n,280n,367n,471n,607n,771n,980n,1232n,1551n,1933n,2410n,2983n,3690n,4536n,5574n,6811n,8317n,10110n,12276n,14848n,17941n,21600n,25977n,31146n,37298n,44542n,53132n,63218n,75131n,89089n])yield n}function*X0(){for(const n of[1n,2n,0n,0n,2n,0n,0n,0n,0n,4n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,2n,4n,0n,0n,2n,0n,0n,0n,0n,4n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,4n,0n,0n,2n,0n,0n,0n,0n,4n,0n,0n,2n,0n,0n,0n,4n,0n,0n,0n,0n,0n,0n,0n,2n,4n,0n,0n,0n,0n,0n,0n,0n,4n,0n,0n,4n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,2n,0n,0n,0n,0n])yield n}function*H0(){for(let n=0n;;n++)yield n*(n+3n)/2n}function*Q0(){for(const n of[1n,2n,5n,9n,17n,28n,47n,73n,114n,170n,253n,365n,525n,738n,1033n,1422n,1948n,2634n,3545n,4721n,6259n,8227n,10767n,13990n,18105n,23286n,29837n,38028n,48297n,61053n,76926n,96524n,120746n,150487n,187019n,231643n,286152n,352413n,432937n,530383n,648245n])yield n}function*W0(){for(const n of[1n,2n,5n,10n,19n,33n,57n,92n,147n,227n,345n,512n,752n,1083n,1545n,2174n,3031n,4179n,5719n,7752n,10438n,13946n,18519n,24428n,32051n,41805n,54265n,70079n,90102n,115318n,147005n,186626n,236064n,297492n,373645n,467707n])yield n}function*Y0(){for(const n of[1n,2n,5n,10n,20n,24n,26n,41n,53n,130n,149n,205n,234n,287n,340n,410n,425n,480n,586n,840n,850n,986n,1680n,1843n,2260n,2591n,3023n,3024n,3400n,3959n,3960n,5182n,5183n,7920n,9796n,11233n,14883n,15119n,15120n,19593n,21600n,21603n,21604n,22177n,28559n,28560n])yield n}function*$0(){for(const n of[0n,0n,0n,1n,2n,5n,11n,23n,47n,94n,185n,360n,694n,1328n,2526n,4781n,9012n,16929n,31709n,59247n,110469n,205606n,382087n,709108n,1314512n,2434364n,4504352n,8328253n,15388362n,28417385n,52451811n,96771787n,178473023n,329042890n,606466009n,1117506500n])yield n}function*n2(){for(const n of[3n,5n,11n,29n,97n,127n,541n,907n,1151n,1361n,9587n,15727n,19661n,31469n,156007n,360749n,370373n,492227n,1349651n,1357333n,2010881n,4652507n,17051887n,20831533n,47326913n,122164969n,189695893n,191913031n,387096383n,436273291n,1294268779n])yield n}function*t2(){for(const n of[0n,0n,0n,0n,1n,2n,5n,12n,27n,59n,127n,269n,563n,1167n,2400n,4903n,9960n,20135n,40534n,81300n,162538n,324020n,644282n,1278152n,2530407n,5000178n,9863763n,19427976n,38211861n,75059535n,147263905n,288609341n,565047233n,1105229439n,2159947998n])yield n}function*o2(){for(const n of[0n,0n,1n,1n,2n,5n,12n,34n,130n,525n,2472n,12400n,65619n,357504n,1992985n,11284042n,64719885n,375126827n,2194439398n,12941995397n,76890024027n,459873914230n,2767364341936n,16747182732792n])yield n}function*e2(){for(const n of[1n,1n,1n,2n,5n,12n,35n,107n,363n,1248n,4460n,16094n,58937n,217117n,805475n,3001127n,11230003n,42161529n,158781106n,599563893n,2269506062n,8609442688n,32725637373n,124621833354n,475368834568n,1816103345752n,6948228104703n,26618671505989n,102102788362303n])yield n}function*i2(){for(const n of[1n,1n,1n,2n,5n,12n,35n,108n,369n,1285n,4655n,17073n,63600n,238591n,901971n,3426576n,13079255n,50107909n,192622052n,742624232n,2870671950n,11123060678n,43191857688n,168047007728n,654999700403n,2557227044764n,9999088822075n,39153010938487n,153511100594603n])yield n}function*r2(){for(const n of[1n,2n,5n,12n,30n,74n,188n,478n,1235n,3214n,8450n,22370n,59676n,160140n,432237n,1172436n,3194870n,8741442n,24007045n,66154654n,182864692n,506909562n,1408854940n,3925075510n,10959698606n,30665337738n,85967279447n,241433975446n,679192039401n,1913681367936n,5399924120339n])yield n}function*f2(){for(const n of[0n,1n,2n,5n,13n,35n,95n,262n,727n,2033n,5714n,16136n,45733n,130046n,370803n,1059838n,3035591n,8710736n,25036934n,72069134n,207727501n,599461094n,1731818878n,5008149658n,14496034714n,41993925955n,121747732406n,353221737526n,1025471857282n,2978995353959n,8658997820084n])yield n}function*jn(){for(let n=0n;;n++)yield x(2n*n)/x(n+1n)/x(n)}function*u2(){for(const n of[1n,1n,1n,2n,5n,14n,50n,233n,1249n,7595n,49566n,339722n,2406841n,17490241n,129664753n,977526957n,7475907149n,57896349553n,453382272049n,3585853662949n,28615703421545n])yield n}function*l2(){const n=[1n];yield n[0];for(let e=1;;e++){let l=n[0];n[0]=n[e-1],yield n[0];for(let y=1;y<=e;y++){const h=l;l=n[y],n[y]=n[y-1]+h}}}function*s2(){for(const n of[1n,1n,1n,2n,5n,16n,61n,272n,1385n,7936n,50521n,353792n,2702765n,22368256n,199360981n,1903757312n,19391512145n,209865342976n,2404879675441n,29088885112832n,370371188237525n,4951498053124096n,69348874393137901n,1015423886506852352n,15514534163557086905n,246921480190207983616n,4087072509293123892361n])yield n}function*c2(){for(const n of[1n,1n,2n,5n,16n,63n,318n,2045n,16999n,183231n,2567284n,46749427n,1104891746n,33823827452n,1338193159771n,68275077901156n,4483130665195087n])yield n}function*a2(){for(const n of[1n,3n,4n,3n,6n,12n,8n,6n,4n,18n,12n,12n,14n,24n,24n,6n,18n,12n,20n,18n,32n,36n,24n,24n,30n,42n,12n,24n,30n,72n,32n,12n,48n,54n,48n,12n,38n,60n,56n,36n,42n,96n,44n,36n,24n,72n,48n,24n,56n,90n,72n,42n,54n,36n,72n,48n,80n,90n,60n,72n,62n,96n,32n,12n,84n,144n,68n])yield n}function*y2(){for(const n of[3n,4n,6n,12n,12n,24n,24n,36n,36n,60n,48n,84n,72n,96n,96n,144n,108n,180n,144n,192n,180n,264n,192n,300n,252n,324n,288n,420n,288n,480n,384n,480n,432n,576n,432n,684n,540n,672n,576n,840n,576n,924n,720n,864n,792n,1104n,768n,1176n,900n,1152n,1008n,1404n,972n,1440n])yield n}function*p2(){for(const n of[1n,1n,2n,2n,3n,4n,5n,6n,7n,8n,10n,11n,13n,14n,16n,18n,20n,22n,24n,26n,29n,31n,34n,36n,39n,42n,45n,48n,51n,54n,58n,61n,65n,68n,72n,76n,80n,84n,88n,92n,97n,101n,106n,110n,115n,120n,125n,130n,135n,140n,146n,151n,157n,162n,168n,174n,180n,186n,192n,198n,205n,211n,218n,224n,231n,238n])yield n}function*d2(){for(const n of[1n,2n,4n,8n,20n,56n,180n,596n,2068n,7316n,26272n,95420n,349716n,1290872n,4794088n,17896832n,67110932n,252648992n,954444608n,3616828364n,13743921632n,52357746896n,199911300472n,764877836468n,2932031358484n,11258999739560n,43303843861744n,166799988689300n])yield n}function*v2(){for(const n of[1n,2n,4n,8n,18n,44n,122n,362n,1162n,3914n,13648n,48734n,176906n,649532n,2405236n,8964800n,33588234n,126390032n,477353376n,1808676326n,6872485104n,26179922024n,99957747388n,382443112538n,1466024067850n,5629516646996n,21651955485304n,83400061453514n])yield n}function*h2(){for(const n of[1n,8n,24n,32n,24n,48n,96n,64n,24n,104n,144n,96n,96n,112n,192n,192n,24n,144n,312n,160n,144n,256n,288n,192n,96n,248n,336n,320n,192n,240n,576n,256n,24n,384n,432n,384n,312n,304n,480n,448n,144n,336n,768n,352n,288n,624n,576n,384n,96n,456n,744n,576n,336n,432n,960n,576n,192n])yield n}function*A2(){for(const n of[1n,1n,1n,2n,1n,2n,2n,1n,3n,2n,2n,3n,1n,3n,3n,2n,4n,2n,3n,3n,1n,4n,3n,3n,5n,2n,4n,4n,2n,5n,3n,3n,4n,1n,4n,4n,3n,6n,3n,5n,5n,2n,6n,4n,4n,6n,2n,5n,5n,3n,6n,3n,4n,4n,1n,5n,4n,4n,7n,3n,6n,6n,3n,8n,5n,5n,7n,2n,6n,6n,4n,8n,4n,6n,6n,2n,7n,5n,5n,8n,3n,6n,6n,3n,7n,4n,4n,5n,1n,5n,5n,4n,8n,4n,7n,7n,3n,9n,6n,6n,9n,3n,8n,8n,5n])yield n}function*g2(){for(const n of[0n,1n,1n,2n,1n,2n,2n,3n,1n,2n,2n,3n,2n,3n,3n,4n,1n,2n,2n,3n,2n,3n,3n,4n,2n,3n,3n,4n,3n,4n,4n,5n,1n,2n,2n,3n,2n,3n,3n,4n,2n,3n,3n,4n,3n,4n,4n,5n,2n,3n,3n,4n,3n,4n,4n,5n,3n,4n,4n,5n,4n,5n,5n,6n,1n,2n,2n,3n,2n,3n,3n,4n,2n,3n,3n,4n,3n,4n,4n,5n,2n,3n,3n,4n,3n,4n,4n,5n,3n,4n,4n,5n,4n,5n,5n,6n,2n,3n,3n,4n,3n,4n,4n,5n,3n])yield n}function*m2(){for(const n of[1n,2n,2n,3n,3n,3n,4n,3n,4n,5n,4n,5n,4n,4n,6n,5n,6n,6n,5n,6n,4n,5n,7n,6n,8n,7n,6n,8n,6n,7n,8n,6n,7n,5n,5n,8n,7n,9n,9n,8n,10n,7n,8n,10n,8n,10n,8n,7n,10n,8n,9n,9n,7n,8n,5n,6n,9n,8n,11n,10n,9n,12n,9n,11n,13n,10n,12n,9n,8n,12n,10n,12n,12n,10n,12n,8n,9n,12n,10n,13n,11n,9n,12n,9n,10n,11n,8n,9n,6n,6n,10n,9n])yield n}function*w2(){for(const n of[1n,2n,0n,0n,2n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,0n,2n,0n,0n,0n,0n])yield n}function*b2(){for(const n of[1n,2n,4n,6n,10n,14n,20n,26n,36n,46n,60n,74n,94n,114n,140n,166n,202n,238n,284n,330n,390n,450n,524n,598n,692n,786n,900n,1014n,1154n,1294n,1460n,1626n,1828n,2030n,2268n,2506n,2790n,3074n,3404n,3734n,4124n,4514n,4964n,5414n,5938n,6462n,7060n,7658n,8350n,9042n,9828n])yield n}function*S2(){for(const n of[1n,2n,4n,7n,11n,16n,22n,29n,37n,46n,56n,67n,79n,92n,106n,121n,137n,154n,172n,191n,211n,232n,254n,277n,301n,326n,352n,379n,407n,436n,466n,497n,529n,562n,596n,631n,667n,704n,742n,781n,821n,862n,904n,947n,991n,1036n,1082n,1129n,1177n,1226n,1276n,1327n,1379n])yield n}function*B2(){for(const n of[1n,2n,4n,8n,15n,26n,42n,64n,93n,130n,176n,232n,299n,378n,470n,576n,697n,834n,988n,1160n,1351n,1562n,1794n,2048n,2325n,2626n,2952n,3304n,3683n,4090n,4526n,4992n,5489n,6018n,6580n,7176n,7807n,8474n,9178n,9920n,10701n,11522n,12384n,13288n,14235n,15226n])yield n}function*I2(){for(const n of[1n,2n,4n,8n,15n,27n,47n,80n,134n,222n,365n,597n,973n,1582n,2568n,4164n,6747n,10927n,17691n,28636n,46346n,75002n,121369n,196393n,317785n,514202n,832012n,1346240n,2178279n,3524547n,5702855n,9227432n,14930318n,24157782n,39088133n,63245949n])yield n}function*M2(){for(const n of[1n,2n,4n,8n,16n,31n,57n,99n,163n,256n,386n,562n,794n,1093n,1471n,1941n,2517n,3214n,4048n,5036n,6196n,7547n,9109n,10903n,12951n,15276n,17902n,20854n,24158n,27841n,31931n,36457n,41449n,46938n,52956n,59536n,66712n,74519n,82993n,92171n,102091n,112792n,124314n,136698n])yield n}function*N2(){for(const n of[1n,2n,4n,8n,16n,31n,58n,105n,185n,319n,541n,906n,1503n,2476n,4058n,6626n,10790n,17537n,28464n,46155n,74791n,121137n,196139n,317508n,513901n,831686n,1345888n,2177900n,3524140n,5702419n,9226966n,14929821n,24157253n,39087571n,63245353n,102333486n])yield n}function*q2(){for(const n of[0n,1n,2n,5n,12n,29n,70n,169n,408n,985n,2378n,5741n,13860n,33461n,80782n,195025n,470832n,1136689n,2744210n,6625109n,15994428n,38613965n,93222358n,225058681n,543339720n,1311738121n,3166815962n,7645370045n,18457556052n,44560482149n,107578520350n,259717522849n])yield n}function*_2(){for(const n of[0n,0n,1n,2n,5n,20n,115n,790n,6217n,55160n,545135n,5938490n,70686805n,912660508n,12702694075n,189579135710n,3019908731105n,51139445487680n,917345570926087n,17376071107513090n,346563420097249645n,7259714390232227300n,159352909727731210835n,3657569576966074846118n])yield n}function*E2(){for(const n of[2n,5n,21n,61n,214n,669n,2240n,7330n,24695n,83257n,284928n,981079n,3410990n,11937328n,42075242n,149171958n,531866972n,1905842605n,6861162880n,24805692978n,90035940227n,327987890608n,1198853954688n,4395797189206n,16165195705544n,59609156824273n,220373268471398n,816677398144221n])yield n}function*O2(){for(const n of[1n,10n,40n,80n,90n,112n,240n,320n,200n,250n,560n,560n,400n,560n,800n,960n,730n,480n,1240n,1520n,752n,1120n,1840n,1600n,1200n,1210n,2000n,2240n,1600n,1680n,2720n,3200n,1480n,1440n,3680n,3040n,2250n,2800n,3280n,4160n,2800n,1920n,4320n,5040n,2800n,3472n,5920n])yield n}function*P2(){for(const n of[2n,5n,30n,2288n,67172352n,144115192303714304n,1329227995784915891206435945914040320n,226156424291633194186662080095093570364871077725232774230036394136943198208n])yield n}function*k2(){for(const n of[2n,6n,9n,12n,15n,18n,21n,24n,27n,31n,34n,37n,40n,43n,46n,49n,53n,56n,59n,62n,65n,68n,71n,75n,78n,81n,84n,87n,90n,93n,97n,100n,103n,106n,109n,112n,115n,119n,122n,125n,128n,131n,134n,137n,141n,144n,147n,150n,153n,156n,159n,163n,166n,169n,172n,175n,178n,181n,185n,188n])yield n}function*L2(){for(const n of[1n,2n,6n,13n,24n,42n,73n,125n,204n,324n,511n,801n,1228n,1856n,2780n,4135n,6084n,8873n,12847n,18481n,26416n,37473n,52871n,74216n,103596n,143841n,198839n,273654n,374987n,511735n,695559n,941932n,1271139n,1709474n,2291195n,3061385n,4078152n,5416322n])yield n}function*x2(){for(const n of[1n,2n,6n,16n,50n,144n,462n,1392n,4536n,14060n,46310n,146376n,485914n,1557892n,5202690n,16861984n,56579196n,184940388n,622945970n,2050228360n,6927964218n,22930109884n,77692142980n,258360586368n,877395996200n,2929432171328n,9968202968958n,33396290888520n,113837957337750n])yield n}function*T2(){for(const n of[1n,2n,6n,18n,58n,186n,614n,2034n,6818n,22970n,77858n,264970n,905294n,3102434n,10661370n,36722642n,126752218n,438294018n,1518032598n,5265341314n,18286911130n,63586988434n,221342104842n,771235606050n,2689688538646n,9388096331642n])yield n}function*Z2(){for(const n of[1n,1n,2n,6n,18n,90n,540n,3780n,31500n,283500n,2835000n,31185000n,372972600n,4848643800n,67881013200n,1018215198000n,16294848570000n,277012425690000n,4986223662420000n,94738249585980000n,1894745192712372000n])yield n}function*D2(){for(const n of[2n,1n,2n,6n,22n,91n,408n,1938n,9614n,49335n,260130n,1402440n,7702632n,42975796n,243035536n,1390594458n,8038677054n,46892282815n,275750636070n,1633292229030n,9737153323590n,58392041019795n,352044769046880n,2132866978427640n])yield n}function*J2(){for(const n of[1n,1n,2n,6n,22n,101n,573n,3836n,29228n,250749n,2409581n,25598186n,296643390n,3727542188n,50626553988n,738680521142n,11501573822788n,190418421447330n,3344822488498265n,62119523114983224n,1214967840930909302n,24965661442811799655n,538134522243713149122n])yield n}function*R2(){for(const n of[1n,12n,60n,160n,252n,312n,544n,960n,1020n,876n,1560n,2400n,2080n,2040n,3264n,4160n,4092n,3480n,4380n,7200n,6552n,4608n,8160n,10560n,8224n,7812n,10200n,13120n,12480n,10104n,14144n,19200n,16380n,11520n,17400n,24960n,18396n,16440n,24480n,27200n])yield n}function*hn(){let n=1n;for(let e=1n;;e++)yield n,n*=e}function*U2(){for(const n of[1n,16n,112n,448n,1136n,2016n,3136n,5504n,9328n,12112n,14112n,21312n,31808n,35168n,38528n,56448n,74864n,78624n,84784n,109760n,143136n,154112n,149184n,194688n,261184n,252016n,246176n,327040n,390784n,390240n,395136n,476672n,599152n,596736n,550368n,693504n,859952n])yield n}function*C2(){for(const n of[1n,20n,180n,960n,3380n,8424n,16320n,28800n,52020n,88660n,129064n,175680n,262080n,386920n,489600n,600960n,840500n,1137960n,1330420n,1563840n,2050344n,2611200n,2986560n,3358080n,4194240n,5318268n,5878440n,6299520n,7862400n,9619560n])yield n}function*j2(){for(const n of[1n,24n,264n,1760n,7944n,25872n,64416n,133056n,253704n,472760n,825264n,1297056n,1938336n,2963664n,4437312n,6091584n,8118024n,11368368n,15653352n,19822176n,24832944n,32826112n,42517728n,51425088n,61903776n,78146664n,98021616n])yield n}function*z2(){for(const n of[1n,1n,1n,1n,1n,1n,2n,-6n,56n,-528n,6193n,-86579n,1425518n,-27298230n,601580875n,-15116315766n,429614643062n,-13711655205087n,488332318973594n,-19296579341940067n,841693047573682616n,-40338071854059455412n,2115074863808199160561n,-120866265222965259346026n])yield n}function*V2(){for(const n of[0n,0n,0n,0n,0n,1n,2n,7n,14n,32n,58n,110n,187n,322n,519n,839n,1302n,2015n,3032n,4542n,6668n,9738n,14006n,20036n,28324n,39830n,55473n,76875n,105692n,144629n,196585n,266038n,357952n,479664n,639519n,849425n,1123191n,1479972n,1942284n,2540674n,3311415n])yield n}function*F2(){for(const n of[1n,2n,7n,15n,28n,45n,70n,100n,138n,183n,242n,310n,388n,481n,583n,701n,838n,984n,1152n,1337n,1535n,1757n,2001n,2262n,2545n,2855n,3183n,3540n,3926n,4335n,4770n,5233n,5728n,6248n,6801n,7388n,8005n,8658n,9345n,10064n,10824n,11620n,12452n,13324n,14236n])yield n}function*G2(){for(let n=1;;n*=Math.E)yield BigInt(Math.floor(n))}function*K2(){for(const n of[0n,0n,1n,2n,7n,20n,66n,212n,715n,2424n,8398n,29372n,104006n,371384n,1337220n,4847208n,17678835n,64821680n,238819350n,883629164n,3282060210n,12233125112n,45741281820n,171529777432n,644952073662n,2430973096720n,9183676536076n])yield n}function*X2(){for(const n of[1n,2n,7n,26n,107n,458n,2058n,9498n,44947n,216598n,1059952n,5251806n,26297238n,132856766n,676398395n,3466799104n,17873508798n,92630098886n,482292684506n,2521610175006n,13233573019372n,69687684810980n,368114512431638n,1950037285256658n,10357028326495097n,55140508518522726n,294219119815868952n,1573132563600386854n,8427354035116949486n,45226421721391554194n])yield n}function*H2(){for(const n of[1n,32n,480n,4480n,29152n,140736n,525952n,1580800n,3994080n,8945824n,18626112n,36714624n,67978880n,118156480n,197120256n,321692928n,509145568n,772845120n,1143441760n,1681379200n,2428524096n,3392205824n,4658843520n,6411152640n])yield n}function*Q2(){for(const n of[0n,1n,2n,7n,32n,181n,1214n,9403n,82508n,808393n,8743994n,103459471n,1328953592n,18414450877n,273749755382n,4345634192131n,73362643649444n,1312349454922513n,24796092486996338n,493435697986613143n,10315043624498196944n])yield n}function*W2(){for(const n of[1n,1n,2n,7n,35n,228n,1834n,17382n,195866n,2487832n,35499576n,562356672n,9794156448n,186025364016n,3826961710272n,84775065603888n,2011929826983504n])yield n}function*Y2(){for(const n of[0n,1n,2n,7n,44n,361n,3654n,44207n,622552n,10005041n,180713290n,3624270839n,79914671748n,1921576392793n,50040900884366n,1403066801155039n,42142044935535536n,1349948504738292193n,45940391206037470098n])yield n}function*$2(){for(const n of[1n,48n,1104n,16192n,170064n,1362336n,8662720n,44981376n,195082320n,721175536n,2319457632n,6631997376n,17231109824n,41469483552n,93703589760n,200343312768n,407488018512n,793229226336n,1487286966928n,2697825744960n,4744779429216n])yield n}function*n4(){for(const n of[1n,2n,7n,111n,308063n,100126976263592n,131867858014413288241233435594064n,2804519150441879896741320496043335469582478995067528608051651559815168n])yield n}function*t4(){for(const n of[1n,2n,8n,19n,41n,78n,134n,218n,339n,506n,730n,1023n,1397n,1884n,2477n,3218n,4118n,5192n,6486n,8010n,9795n,11888n,14302n,17066n,20256n,23889n,27999n,32637n,37863n,43695n,50218n,57495n,65545n,74431n,84257n,95030n,106840n,119799n,133941n,149311n,166071n])yield n}function*o4(){for(const n of[2n,8n,20n,152n,994n,7888n,70152n,695760n,7603266n,90758872n,1174753372n,16386899368n,245046377410n,3910358788256n,66323124297872n,1191406991067168n,22596344660865282n,451208920617687720n,9461897733571886372n,207894669895136763704n,4776019866458134139042n])yield n}function*e4(){for(const n of[1n,2n,8n,21n,48n,99n,186n,330n,556n,895n,1397n,2107n,3097n,4459n,6264n,8644n,11760n,15742n,20790n,27128n,34993n,44664n,56473n,70784n,87995n,108564n,132970n,161828n,195686n,235274n,281349n,334682n,396202n,466849n,547712n,639935n,744716n,863443n])yield n}function*i4(){for(const n of[1n,1n,1n,0n,1n,1n,0n,0n,1n,1n,1n,0n,0n,1n,0n,0n,1n,1n,1n,0n,1n,0n,0n,0n,0n,2n,1n,0n,0n,1n,0n,0n,1n,0n,1n,0n,1n,1n,0n,0n,1n,1n,0n,0n,0n,1n,0n,0n,0n,1n,2n,0n,1n,1n,0n,0n,0n,0n,1n,0n,0n,1n,0n,0n,1n,2n,0n,0n,1n,0n,0n,0n,1n,1n,1n,0n,0n,0n,0n,0n,1n,1n,1n,0n,0n,2n,0n,0n,0n,1n,1n,0n,0n,0n,0n,0n,0n,1n,1n,0n,2n,1n,0n,0n,1n,0n,1n,0n])yield n}function*r4(){for(const n of[1n,1n,2n,8n,29n,166n,1023n,6922n,48311n,346543n,2522522n,18598427n,138462649n,1039496297n,7859514470n,59795121480n])yield n}function*f4(){for(const n of[2n,8n,34n,136n,538n,2080n,7970n,30224n,113874n,426520n,1590338n,5906640n,21866794n,80725280n,297292610n,1092539736n,4007553922n,14675748416n,53663197698n,195962433328n,714734393378n,2603994002280n,9477643739746n,34463730424720n])yield n}function*u4(){for(const n of[1n,1n,1n,1n,1n,1n,1n,0n,1n,2n,1n,1n,1n,1n,1n,0n,1n,2n,2n,1n,1n,1n,1n,0n,1n,2n,2n,2n,0n,2n,1n,0n,1n,2n,2n,1n,2n,1n,2n,0n,1n,3n,1n,1n,1n,2n,1n,0n,1n,2n,3n,2n,1n,2n,3n,0n,1n,2n,1n,2n,0n,2n,2n,0n,1n,3n,3n,1n,2n,2n,1n,0n,2n,2n,3n,2n,1n,2n,1n,0n,1n,4n,2n,2n,1n,2n,3n,0n,1n,4n,3n,1n,0n,1n,2n,0n,1n,2n,3n,3n,2n,4n,2n,0n,2n])yield n}function*l4(){for(const n of[1n,2n,8n,48n,384n,3840n,46080n,645120n,10321920n,185794560n,3715891200n,81749606400n,1961990553600n,51011754393600n,1428329123020800n,42849873690624000n,1371195958099968000n,46620662575398912000n,1678343852714360832000n,63777066403145711616000n])yield n}function*s4(){for(const n of[1n,0n,1n,2n,9n,44n,265n,1854n,14833n,133496n,1334961n,14684570n,176214841n,2290792932n,32071101049n,481066515734n,7697064251745n,130850092279664n,2355301661033953n,44750731559645106n,895014631192902121n,18795307255050944540n,413496759611120779881n,9510425471055777937262n])yield n}function*c4(){for(const n of[0n,0n,0n,1n,2n,9n,49n,306n,2188n,17810n,162482n,1642635n,18231462n,220420179n,2883693795n,40592133316n,611765693528n,9828843229764n,167702100599524n,3028466654021205n,57708568527002410n,1157199837194069405n])yield n}function*a4(){for(const n of[1n,2n,9n,54n,378n,2916n,24057n,208494n,1876446n,17399772n,165297834n,1602117468n,15792300756n,157923007560n,1598970451545n,16365932856990n,169114639522230n,1762352559231660n,18504701871932430n,195621134074714260n,2080697516976506220n,22254416920705240440n,239234981897581334730n,2583737804493878415084n])yield n}function*y4(){for(const n of[1n,2n,9n,64n,625n,7776n,117649n,2097152n,43046721n,1000000000n,25937424601n,743008370688n,23298085122481n,793714773254144n,29192926025390625n,1152921504606846976n,48661191875666868481n,2185911559738696531968n,104127350297911241532841n,5242880000000000000000000n])yield n}function*p4(){for(const n of[1n,1n,0n,0n,2n,10n,4n,40n,92n,352n,724n,2680n,14200n,73712n,365596n,2279184n,14772512n,95815104n,666090624n,4968057848n,39029188884n,314666222712n,2691008701644n,24233937684440n,227514171973736n,2207893435808352n,22317699616364044n,234907967154122528n])yield n}function*d4(){for(const n of[1n,0n,0n,1n,2n,0n,0n,10n,36n,0n,0n,720n,5600n,0n,0n,703760n,11220000n,0n,0n,9168331776n,293293716992n,0n,0n,1601371799340544n,102484848265030656n,0n,0n,3837878966366932639744n,491247277315343649710080n,0n,0n])yield n}function*v4(){for(const n of[1n,2n,10n,56n,346n,2252n,15184n,104960n,739162n,5280932n,38165260n,278415920n,2046924400n,15148345760n,112738423360n,843126957056n,6332299624282n,47737325577620n,361077477684436n,2739270870994736n,20836827035351596n])yield n}function*h4(){for(const n of[30n,1482n,2418n,24180n,35238n,263820n,395730n,473298n,698130n,763620n,2212026n,2233554n,172459210n,209524210n,341354790n,384121920n,525150234n,530946330n,582129630n,1799281330n,2069510520n,2514290520n,3344596854n,5251502340n])yield n}function*A4(){for(const n of[1n,1n,1n,1n,2n,2n,1n,1n,2n,2n,2n,2n,2n,3n,2n,1n,3n,3n,3n,3n,4n,3n,3n,2n,2n,4n,4n,4n,4n,5n,3n,3n,4n,3n,5n,5n,5n,6n,5n,3n,5n,5n,5n,6n,5n,6n,5n,4n,4n,6n,7n,6n,8n,8n,7n,5n,6n,5n,8n,8n,4n,9n,7n,6n,7n,7n,8n,9n,9n,7n,9n,6n,7n,8n,10n,9n,9n,11n,7n,8n,8n,8n,11n,11n,9n,12n,11n,7n,9n,9n,12n,13n,9n,10n,11n,8n,6n,10n,13n,13n,13n])yield n}function*g4(){for(const n of[1n,1n,2n,11n,38n,946n,4580n,202738n,3786092n,261868876n,1992367192n,2381255244240n,21411255538848n,2902625722978656n,451716954504285504n,319933105641374465472n,3761845343198709705600n])yield n}function*m4(){for(const n of[2n,11n,46n,128n,272n,522n,904n,1408n,2160n,3154n,4306n,5888n,7888n,10012n,12888n,16384n,19680n,24354n,29866n,34816n,41888n,49778n,56744n,66816n,78000n,87358n,100602n,115712n,128112n,145804n,165712n,180224n,203040n,228964n,246932n,276480n])yield n}function*w4(){for(const n of[1n,1n,1n,1n,2n,2n,2n,1n,2n,3n,2n,2n,3n,3n,3n,2n,3n,4n,4n,3n,5n,5n,4n,3n,4n,5n,5n,5n,5n,7n,6n,4n,5n,6n,6n,6n,9n,7n,8n,6n,6n,9n,7n,7n,9n,10n,8n,7n,7n,9n,10n,9n,11n,12n,13n,8n,10n,11n,10n,11n,11n,12n,13n,11n,9n,14n,13n,12n,16n,14n,14n,12n,13n,13n,15n,15n,15n,18n,16n,13n,14n,18n,15n,17n,20n,17n,21n,15n,15n])yield n}function*b4(){for(const n of[1n,1n,2n,12n,288n,34560n,24883200n,125411328000n,5056584744960000n,1834933472251084800000n,6658606584104736522240000000n,265790267296391946810949632000000000n,127313963299399416749559771247411200000000000n,792786697595796795607377086400871488552960000000000000n])yield n}function*S4(){for(const n of[1n,-1n,0n,1n,2n,13n,80n,579n,4738n,43387n,439792n,4890741n,59216642n,775596313n,10927434464n,164806435783n,2649391469058n,45226435601207n,817056406224416n,15574618910994665n,312400218671253762n,6577618644576902053n,145051250421230224304n,3343382818203784146955n,80399425364623070680706n,2013619745874493923699123n])yield n}function*B4(){for(const n of[1n,2n,13n,116n,1393n,20894n,376093n,7897952n,189550849n,5117872922n,153536187661n,5066694192812n,182400990941233n,7113638646708086n,298772823161739613n,13444777042278282584n,645349298029357564033n,32912814199497235765682n])yield n}function*I4(){for(const n of[2n,15n,60n,469n,3660n,32958n,328920n,3614490n,43341822n,563144725n,7880897892n,118177520295n,1890389939000n,32130521850972n,578260307815920n,10985555094348948n,219687969344126490n,4613039009310624795n,101479234383619208204n,2333872309936442446905n])yield n}function*M4(){for(const n of[1n,2n,16n,272n,7936n,353792n,22368256n,1903757312n,209865342976n,29088885112832n,4951498053124096n,1015423886506852352n,246921480190207983616n,70251601603943959887872n,23119184187809597841473536n,8713962757125169296170811392n,3729407703720529571097509625856n])yield n}function*N4(){for(const n of[0n,0n,0n,1n,2n,20n,144n,1265n,12072n,126565n,1445100n,17875140n,238282730n,3407118041n,52034548064n,845569542593n,14570246018686n,265397214435860n,5095853023109484n,102877234050493609n,2178674876680100744n,48296053720501168037n,1118480911876659396600n])yield n}function*q4(){for(const n of[2n,22n,164n,1030n,5868n,31388n,160648n,795846n,3845020n,18211380n,84876152n,390331292n,1775032504n,7995075960n,35715205136n,158401506118n,698102372988n,3059470021316n,13341467466520n,57918065919924n,250419305769512n,1078769490401032n,4631680461623664n,19825379450255900n,84622558822506328n,360270317908904328n,1530148541536781488n,6484511936352543096n,27423786092731382000n,115756362341775227888n])yield n}function*_4(){for(const n of[2n,24n,140n,1232n,11268n,115056n,1284360n,15596208n,204710454n,2888897032n,43625578836n,702025263328n,11993721979336n,216822550325472n,4135337882588880n,82986434235959712n,1747976804189353962n,38559791049947726328n,889047923669760546140n])yield n}function*E4(){for(const n of[1n,0n,0n,2n,24n,552n,21280n,1073760n,70299264n,5792853248n,587159944704n,71822743499520n,10435273503677440n,1776780700509416448n,350461958856515690496n,79284041282622163140608n,20392765404792755583221760n,5917934230798104348783083520n,1924427226324694427836833857536n])yield n}function*O4(){for(const n of[2n,30n,3522n,1066590n,604935042n,551609685150n,737740947722562n,1360427147514751710n,3308161927353377294082n,10256718523496425979562270n,39490468691102039103925777602n,184856411587530526077816051412830n,1033888847501229495999134528615701122n])yield n}function*P4(){for(const n of[1n,1n,1n,2n,1n,1n,1n,2n,3n,1n,1n,2n,1n,1n,1n,4n,1n,3n,1n,2n,1n,1n,1n,2n,5n,1n,3n,2n,1n,1n,1n,4n,1n,1n,1n,6n,1n,1n,1n,2n,1n,1n,1n,2n,3n,1n,1n,4n,7n,5n,1n,2n,1n,3n,1n,2n,1n,1n,1n,2n,1n,1n,3n,8n,1n,1n,1n,2n,1n,1n,1n,6n,1n,1n,5n,2n,1n,1n,1n,4n,9n,1n,1n,2n,1n,1n,1n,2n,1n,3n])yield n}function*k4(){for(const n of[1n,1n,1n,2n,1n,1n,1n,4n,3n,1n,1n,2n,1n,1n,1n,4n,1n,3n,1n,2n,1n,1n,1n,4n,5n,1n,9n,2n,1n,1n,1n,8n,1n,1n,1n,6n,1n,1n,1n,4n,1n,1n,1n,2n,3n,1n,1n,4n,7n,5n,1n,2n,1n,9n,1n,4n,1n,1n,1n,2n,1n,1n,3n,16n,1n,1n,1n,2n,1n,1n,1n,12n,1n,1n,5n,2n,1n,1n,1n,4n,9n,1n,1n,2n,1n,1n,1n,4n,1n,3n])yield n}function*L4(){for(const n of[1n,1n,1n,2n,1n,1n,1n,4n,3n,1n,1n,2n,1n,1n,1n,8n,1n,3n,1n,2n,1n,1n,1n,4n,5n,1n,9n,2n,1n,1n,1n,8n,1n,1n,1n,6n,1n,1n,1n,4n,1n,1n,1n,2n,3n,1n,1n,8n,7n,5n,1n,2n,1n,9n,1n,4n,1n,1n,1n,2n,1n,1n,3n,16n,1n,1n,1n,2n,1n,1n,1n,12n,1n,1n,5n,2n,1n,1n,1n,8n,27n,1n,1n,2n,1n,1n,1n,4n,1n,3n])yield n}function*x4(){for(const n of[2n,46n,3362n,515086n,135274562n,54276473326n,30884386347362n,23657073914466766n,23471059057478981762n,29279357851856595135406n,44855282210826271011257762n,82787899853638102222862479246n,181184428895772987376073015175362n,463938847087789978515380344866258286n])yield n}function*T4(){for(const n of[2n,46n,7970n,3487246n,2849229890n,3741386059246n,7205584123783010n,19133892392367261646n,67000387673723462963330n,299131045427247559446422446n,1658470810032820740402966226850n,11179247066648898992009055586869646n,90035623994788132387893239340761189570n])yield n}function*Z4(){for(let n=1n;;n++)yield BigInt(Math.round(Math.log(Number(n))))}function*D4(){for(const n of[0n,1n,1n,2n,2n,2n,2n,3n,3n,3n,3n,3n,3n,4n,4n,4n,4n,4n,4n,4n,4n,5n,5n,5n,5n,5n,5n,5n,5n,5n,5n,6n,6n,6n,6n,6n,6n,6n,6n,6n,6n,6n,6n,7n,7n,7n,7n,7n,7n,7n,7n,7n,7n,7n,7n,7n,7n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,8n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,9n,10n,10n,10n,10n,10n,10n,10n,10n])yield n}function*J4(){for(const n of[0n,0n,1n,1n,1n,1n,1n,2n,2n,2n,2n,2n,2n,2n,2n,2n,2n,2n,2n,2n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,3n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n,4n])yield n}function*R4(){for(let n=0n;;n++)yield BigInt(0|Math.sqrt(Number(n)))}function*U4(){const n=hn();let e=0n,l=0n;n.next();for(const y of hn()){for(;en||n%l!==0n)continue n}yield n}}function*u6(){for(let n=0n;;n++)(Dn(n).match(/1/g)||[]).length%2==0&&(yield n)}function*l6(){for(let n=1n;;n++)for(let e=0;en?0n:e===1n||e===n?1n:An(n-1n,e-1n)+An(n-e,e)}function*I6(){for(let n=1n;;n++)for(let e=1n;e<=n;e++)yield An(n,e)}function*M6(){for(let n=1n;;n++)yield P(n)?1n:0n}function*N6(){for(let n=0n;;n++){yield 1n;for(let e=0;ee+l,0n)&&(yield n)}function*k6(){yield 0n;let n=1n;for(let e=1n;;e++){n*=e;for(let l=0n;lNumber(b-M))){if(h>y)break;yield h,l.delete(h)}yield y,n.push(y),e.push(2n),Object.keys(n).forEach(h=>{const b=parseInt(h,10);let M=-1n;for(let N=e[b];M"u"?A[0]:typeof o<"u"?+o==10&&!i?g(t):n1(t,o,i,r):g(t)}function a(t,o){this.value=t,this.sign=o,this.isSmall=!1}a.prototype=Object.create(A.prototype);function v(t){this.value=t,this.sign=t<0,this.isSmall=!0}v.prototype=Object.create(A.prototype);function p(t){this.value=t}p.prototype=Object.create(A.prototype);function q(t){return-b0?Math.floor(t):Math.ceil(t)}function gn(t,o){var i=t.length,r=o.length,u=new Array(i),f=0,s=y,c,d;for(d=0;d=s?1:0,u[d]=c-f*s;for(;d0&&u.push(f),u}function X(t,o){return t.length>=o.length?gn(t,o):gn(o,t)}function tn(t,o){var i=t.length,r=new Array(i),u=y,f,s;for(s=0;s0;)r[s++]=o%u,o=Math.floor(o/u);return r}a.prototype.add=function(t){var o=g(t);if(this.sign!==o.sign)return this.subtract(o.negate());var i=this.value,r=o.value;return o.isSmall?new a(tn(i,Math.abs(r)),this.sign):new a(X(i,r),this.sign)},a.prototype.plus=a.prototype.add,v.prototype.add=function(t){var o=g(t),i=this.value;if(i<0!==o.sign)return this.subtract(o.negate());var r=o.value;if(o.isSmall){if(q(i+r))return new v(i+r);r=I(Math.abs(r))}return new a(tn(r,Math.abs(i)),i<0)},v.prototype.plus=v.prototype.add,p.prototype.add=function(t){return new p(this.value+g(t).value)},p.prototype.plus=p.prototype.add;function H(t,o){var i=t.length,r=o.length,u=new Array(i),f=0,s=y,c,d;for(c=0;c=0?r=H(t,o):(r=H(o,t),i=!i),r=k(r),typeof r=="number"?(i&&(r=-r),new v(r)):new a(r,i)}function on(t,o,i){var r=t.length,u=new Array(r),f=-o,s=y,c,d;for(c=0;c=0)},v.prototype.minus=v.prototype.subtract,p.prototype.subtract=function(t){return new p(this.value-g(t).value)},p.prototype.minus=p.prototype.subtract,a.prototype.negate=function(){return new a(this.value,!this.sign)},v.prototype.negate=function(){var t=this.sign,o=new v(-this.value);return o.sign=!t,o},p.prototype.negate=function(){return new p(-this.value)},a.prototype.abs=function(){return new a(this.value,!1)},v.prototype.abs=function(){return new v(Math.abs(this.value))},p.prototype.abs=function(){return new p(this.value>=0?this.value:-this.value)};function un(t,o){var i=t.length,r=o.length,u=i+r,f=nn(u),s=y,c,d,m,S,w;for(m=0;m0;)r[c++]=f%u,f=Math.floor(f/u);return r}function mn(t,o){for(var i=[];o-- >0;)i.push(0);return i.concat(t)}function en(t,o){var i=Math.max(t.length,o.length);if(i<=30)return un(t,o);i=Math.ceil(i/2);var r=t.slice(i),u=t.slice(0,i),f=o.slice(i),s=o.slice(0,i),c=en(u,s),d=en(r,f),m=en(X(u,r),X(s,f)),S=X(X(c,mn(H(H(m,c),d),i)),mn(d,2*i));return J(S),S}function Xn(t,o){return-.012*t-.012*o+15e-6*t*o>0}a.prototype.multiply=function(t){var o=g(t),i=this.value,r=o.value,u=this.sign!==o.sign,f;if(o.isSmall){if(r===0)return A[0];if(r===1)return this;if(r===-1)return this.negate();if(f=Math.abs(r),f=0;w--){for(S=u-1,d[w+r]!==s&&(S=Math.floor((d[w+r]*u+d[w+r-1])/s)),B=0,E=0,yn=m.length,_=0;_r&&(m=(m+1)*s),c=Math.ceil(m/S);do{if(w=Q(o,c),C(w,f)<=0)break;c--}while(c);u.push(c),f=H(f,w)}return u.reverse(),[k(u),k(f)]}function Sn(t,o){var i=t.length,r=nn(i),u=y,f,s,c,d;for(c=0,f=i-1;f>=0;--f)d=c*u+t[f],s=R(d/o),c=d-s*o,r[f]=s|0;return[r,c|0]}function U(t,o){var i,r=g(o);if(Z)return[new p(t.value/r.value),new p(t.value%r.value)];var u=t.value,f=r.value,s;if(f===0)throw new Error("Cannot divide by zero");if(t.isSmall)return r.isSmall?[new v(R(u/f)),new v(u%f)]:[A[0],t];if(r.isSmall){if(f===1)return[t,A[0]];if(f==-1)return[t.negate(),A[0]];var c=Math.abs(f);if(co.length?1:-1;for(var i=t.length-1;i>=0;i--)if(t[i]!==o[i])return t[i]>o[i]?1:-1;return 0}a.prototype.compareAbs=function(t){var o=g(t),i=this.value,r=o.value;return o.isSmall?1:C(i,r)},v.prototype.compareAbs=function(t){var o=g(t),i=Math.abs(this.value),r=o.value;return o.isSmall?(r=Math.abs(r),i===r?0:i>r?1:-1):-1},p.prototype.compareAbs=function(t){var o=this.value,i=g(t).value;return o=o>=0?o:-o,i=i>=0?i:-i,o===i?0:o>i?1:-1},a.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var o=g(t),i=this.value,r=o.value;return this.sign!==o.sign?o.sign?1:-1:o.isSmall?this.sign?-1:1:C(i,r)*(this.sign?-1:1)},a.prototype.compareTo=a.prototype.compare,v.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var o=g(t),i=this.value,r=o.value;return o.isSmall?i==r?0:i>r?1:-1:i<0!==o.sign?i<0?-1:1:i<0?1:-1},v.prototype.compareTo=v.prototype.compare,p.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var o=this.value,i=g(t).value;return o===i?0:o>i?1:-1},p.prototype.compareTo=p.prototype.compare,a.prototype.equals=function(t){return this.compare(t)===0},p.prototype.eq=p.prototype.equals=v.prototype.eq=v.prototype.equals=a.prototype.eq=a.prototype.equals,a.prototype.notEquals=function(t){return this.compare(t)!==0},p.prototype.neq=p.prototype.notEquals=v.prototype.neq=v.prototype.notEquals=a.prototype.neq=a.prototype.notEquals,a.prototype.greater=function(t){return this.compare(t)>0},p.prototype.gt=p.prototype.greater=v.prototype.gt=v.prototype.greater=a.prototype.gt=a.prototype.greater,a.prototype.lesser=function(t){return this.compare(t)<0},p.prototype.lt=p.prototype.lesser=v.prototype.lt=v.prototype.lesser=a.prototype.lt=a.prototype.lesser,a.prototype.greaterOrEquals=function(t){return this.compare(t)>=0},p.prototype.geq=p.prototype.greaterOrEquals=v.prototype.geq=v.prototype.greaterOrEquals=a.prototype.geq=a.prototype.greaterOrEquals,a.prototype.lesserOrEquals=function(t){return this.compare(t)<=0},p.prototype.leq=p.prototype.lesserOrEquals=v.prototype.leq=v.prototype.lesserOrEquals=a.prototype.leq=a.prototype.lesserOrEquals,a.prototype.isEven=function(){return(this.value[0]&1)===0},v.prototype.isEven=function(){return(this.value&1)===0},p.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},a.prototype.isOdd=function(){return(this.value[0]&1)===1},v.prototype.isOdd=function(){return(this.value&1)===1},p.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},a.prototype.isPositive=function(){return!this.sign},v.prototype.isPositive=function(){return this.value>0},p.prototype.isPositive=v.prototype.isPositive,a.prototype.isNegative=function(){return this.sign},v.prototype.isNegative=function(){return this.value<0},p.prototype.isNegative=v.prototype.isNegative,a.prototype.isUnit=function(){return!1},v.prototype.isUnit=function(){return Math.abs(this.value)===1},p.prototype.isUnit=function(){return this.abs().value===BigInt(1)},a.prototype.isZero=function(){return!1},v.prototype.isZero=function(){return this.value===0},p.prototype.isZero=function(){return this.value===BigInt(0)},a.prototype.isDivisibleBy=function(t){var o=g(t);return o.isZero()?!1:o.isUnit()?!0:o.compareAbs(2)===0?this.isEven():this.mod(o).isZero()},p.prototype.isDivisibleBy=v.prototype.isDivisibleBy=a.prototype.isDivisibleBy;function Bn(t){var o=t.abs();if(o.isUnit())return!1;if(o.equals(2)||o.equals(3)||o.equals(5))return!0;if(o.isEven()||o.isDivisibleBy(3)||o.isDivisibleBy(5))return!1;if(o.lesser(49))return!0}function ln(t,o){for(var i=t.prev(),r=i,u=0,f,s,c;r.isEven();)r=r.divide(2),u++;n:for(s=0;s-b?new v(t-1):new a(M,!0)},p.prototype.prev=function(){return new p(this.value-BigInt(1))};for(var L=[1];2*L[L.length-1]<=y;)L.push(2*L[L.length-1]);var W=L.length,j=L[W-1];function In(t){return Math.abs(t)<=y}a.prototype.shiftLeft=function(t){var o=g(t).toJSNumber();if(!In(o))throw new Error(String(o)+" is too large for shifting.");if(o<0)return this.shiftRight(-o);var i=this;if(i.isZero())return i;for(;o>=W;)i=i.multiply(j),o-=W-1;return i.multiply(L[o])},p.prototype.shiftLeft=v.prototype.shiftLeft=a.prototype.shiftLeft,a.prototype.shiftRight=function(t){var o,i=g(t).toJSNumber();if(!In(i))throw new Error(String(i)+" is too large for shifting.");if(i<0)return this.shiftLeft(-i);for(var r=this;i>=W;){if(r.isZero()||r.isNegative()&&r.isUnit())return r;o=U(r,j),r=o[1].isNegative()?o[0].prev():o[0],i-=W-1}return o=U(r,L[i]),o[1].isNegative()?o[0].prev():o[0]},p.prototype.shiftRight=v.prototype.shiftRight=a.prototype.shiftRight;function sn(t,o,i){o=g(o);for(var r=t.isNegative(),u=o.isNegative(),f=r?t.not():t,s=u?o.not():o,c=0,d=0,m=null,S=null,w=[];!f.isZero()||!s.isZero();)m=U(f,j),c=m[1].toJSNumber(),r&&(c=j-1-c),S=U(s,j),d=S[1].toJSNumber(),u&&(d=j-1-d),f=m[0],s=S[0],w.push(i(c,d));for(var B=i(r?1:0,u?1:0)!==0?e(-1):e(0),E=w.length-1;E>=0;E-=1)B=B.multiply(j).add(e(w[E]));return B}a.prototype.not=function(){return this.negate().prev()},p.prototype.not=v.prototype.not=a.prototype.not,a.prototype.and=function(t){return sn(this,t,function(o,i){return o&i})},p.prototype.and=v.prototype.and=a.prototype.and,a.prototype.or=function(t){return sn(this,t,function(o,i){return o|i})},p.prototype.or=v.prototype.or=a.prototype.or,a.prototype.xor=function(t){return sn(this,t,function(o,i){return o^i})},p.prototype.xor=v.prototype.xor=a.prototype.xor;var cn=1<<30,Wn=(y&-y)*(y&-y)|cn;function rn(t){var o=t.value,i=typeof o=="number"?o|cn:typeof o=="bigint"?o|BigInt(cn):o[0]+o[1]*y|Wn;return i&-i}function Mn(t,o){if(o.compareTo(t)<=0){var i=Mn(t,o.square(o)),r=i.p,u=i.e,f=r.multiply(o);return f.compareTo(t)<=0?{p:f,e:u*2+1}:{p:r,e:u*2}}return{p:e(1),e:0}}a.prototype.bitLength=function(){var t=this;return t.compareTo(e(0))<0&&(t=t.negate().subtract(e(1))),t.compareTo(e(0))===0?e(0):e(Mn(t,e(2)).e).add(e(1))},p.prototype.bitLength=v.prototype.bitLength=a.prototype.bitLength;function Nn(t,o){return t=g(t),o=g(o),t.greater(o)?t:o}function an(t,o){return t=g(t),o=g(o),t.lesser(o)?t:o}function qn(t,o){if(t=g(t).abs(),o=g(o).abs(),t.equals(o))return t;if(t.isZero())return o;if(o.isZero())return t;for(var i=A[1],r,u;t.isEven()&&o.isEven();)r=an(rn(t),rn(o)),t=t.divide(r),o=o.divide(r),i=i.multiply(r);for(;t.isEven();)t=t.divide(rn(t));do{for(;o.isEven();)o=o.divide(rn(o));t.greater(o)&&(u=o,o=t,t=u),o=o.subtract(t)}while(!o.isZero());return i.isUnit()?t:t.multiply(i)}function Yn(t,o){return t=g(t).abs(),o=g(o).abs(),t.divide(qn(t,o)).multiply(o)}function $n(t,o,i){t=g(t),o=g(o);var r=i||Math.random,u=an(t,o),f=Nn(t,o),s=f.subtract(u).add(1);if(s.isSmall)return u.add(Math.floor(r()*s));for(var c=Y(s,y).value,d=[],m=!0,S=0;S=s){if(d==="1"&&s===1)continue;throw new Error(d+" is not a valid digit in base "+o+".")}}o=g(o);var m=[],S=t[0]==="-";for(f=S?1:0;f"&&f=0;f--)r=r.add(t[f].times(u)),u=u.times(o);return i?r.negate():r}function t1(t,o){return o=o||N,t"}function Y(t,o){if(o=e(o),o.isZero()){if(t.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(o.equals(-1)){if(t.isZero())return{value:[0],isNegative:!1};if(t.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-t.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var i=Array.apply(null,Array(t.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return i.unshift([1]),{value:[].concat.apply([],i),isNegative:!1}}var r=!1;if(t.isNegative()&&o.isPositive()&&(r=!0,t=t.abs()),o.isUnit())return t.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(t.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:r};for(var u=[],f=t,s;f.isNegative()||f.compareAbs(o)>=0;){s=f.divmod(o),f=s.quotient;var c=s.remainder;c.isNegative()&&(c=o.minus(c).abs(),f=f.next()),u.push(c.toJSNumber())}return u.push(f.toJSNumber()),{value:u.reverse(),isNegative:r}}function En(t,o,i){var r=Y(t,o);return(r.isNegative?"-":"")+r.value.map(function(u){return t1(u,i)}).join("")}a.prototype.toArray=function(t){return Y(this,t)},v.prototype.toArray=function(t){return Y(this,t)},p.prototype.toArray=function(t){return Y(this,t)},a.prototype.toString=function(t,o){if(t===l&&(t=10),t!==10||o)return En(this,t,o);for(var i=this.value,r=i.length,u=String(i[--r]),f="0000000",s;--r>=0;)s=String(i[r]),u+=f.slice(s.length)+s;var c=this.sign?"-":"";return c+u},v.prototype.toString=function(t,o){return t===l&&(t=10),t!=10||o?En(this,t,o):String(this.value)},p.prototype.toString=v.prototype.toString,p.prototype.toJSON=a.prototype.toJSON=v.prototype.toJSON=function(){return this.toString()},a.prototype.valueOf=function(){return parseInt(this.toString(),10)},a.prototype.toJSNumber=a.prototype.valueOf,v.prototype.valueOf=function(){return this.value},v.prototype.toJSNumber=v.prototype.valueOf,p.prototype.valueOf=p.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function On(t){if(q(+t)){var o=+t;if(o===R(o))return Z?new p(BigInt(o)):new v(o);throw new Error("Invalid integer: "+t)}var i=t[0]==="-";i&&(t=t.slice(1));var r=t.split(/e/i);if(r.length>2)throw new Error("Invalid integer: "+r.join("e"));if(r.length===2){var u=r[1];if(u[0]==="+"&&(u=u.slice(1)),u=+u,u!==R(u)||!q(u))throw new Error("Invalid integer: "+u+" is not a valid exponent.");var f=r[0],s=f.indexOf(".");if(s>=0&&(u-=f.length-s-1,f=f.slice(0,s)+f.slice(s+1)),u<0)throw new Error("Cannot include negative exponent part for integers");f+=new Array(u+1).join("0"),t=f}var c=/^([0-9][0-9]*)$/.test(t);if(!c)throw new Error("Invalid integer: "+t);if(Z)return new p(BigInt(i?"-"+t:t));for(var d=[],m=t.length,S=h,w=m-S;m>0;)d.push(+t.slice(w,m)),w-=S,w<0&&(w=0),m-=S;return J(d),new a(d,i)}function o1(t){if(Z)return new p(BigInt(t));if(q(t)){if(t!==R(t))throw new Error(t+" is not an integer.");return new v(t)}return On(t.toString())}function g(t){return typeof t=="number"?o1(t):typeof t=="string"?On(t):typeof t=="bigint"?new p(t):t}for(var z=0;z<1e3;z++)A[z]=g(z),z>0&&(A[-z]=g(-z));return A.one=A[1],A.zero=A[0],A.minusOne=A[-1],A.max=Nn,A.min=an,A.gcd=qn,A.lcm=Yn,A.isInstance=function(t){return t instanceof a||t instanceof v||t instanceof p},A.randBetween=$n,A.fromArray=function(t,o,i){return _n(t.map(g),g(o||10),i)},A}();n.hasOwnProperty("exports")&&(n.exports=e)})(Gn);var z6=Gn.exports;const V6=f1(z6),F6={class:"flex flex-col gap-4 p-4"},G6={class:"flex flex-wrap gap-4 items-center"},K6=["href"],X6=["disabled"],H6={class:"text-2xl flex gap-2"},Q6={class:"text-xl"},W6={class:"text-xl"},Y6={class:"text-xl"},$6={class:"text-xl"},n5={class:"flex flex-wrap gap-1"},t5=["onClick"],i5={__name:"Numbers",setup(n){const e=Object.keys(xn).filter(p=>p[0]=="A"),l=fn("A000045"),y=fn([]),h=fn(!1),b=fn(0),M=$(()=>xn[l.value]()),N=$(()=>V6(b.value).toArray(kn.pcs.length*2).value),Z=$(()=>b.value.toString(2)),A=$(()=>N.value.map(p=>kn.tonic+45+12+p)),a=$(()=>A.value.map(p=>u1(p)));function v(){const p=M.value.next().value;if(p==null)return h.value=!0;b.value=p,y.value.push(p)}return Pn(A,p=>{p.forEach((q,I)=>{setTimeout(()=>{l1(q)},150*I+2)})}),Pn(l,p=>{h.value=!1,y.value=[],b.value=0}),(p,q)=>(V(),F("div",F6,[O("div",G6,[q[2]||(q[2]=O("div",{class:"text-2xl"},"Number sequence: ",-1)),e1(O("select",{class:"dark-bg-dark-200 rounded-xl p-2","onUpdate:modelValue":q[0]||(q[0]=I=>l.value=I)},[(V(!0),F(dn,null,vn(r1(e),I=>(V(),F("option",{key:I},D(I),1))),128))],512),[[i1,l.value]]),O("a",{href:`https://oeis.org/${l.value}`,target:"_blank"},D(l.value)+" at OEIS",9,K6)]),O("button",{class:"text-button disabled-op-50",onClick:q[1]||(q[1]=I=>v()),disabled:h.value},"Generate next number",8,X6),O("div",H6,[(V(!0),F(dn,null,vn(a.value,(I,k)=>(V(),F("div",{class:"p-0",key:k},D(I),1))),128))]),O("div",Q6,D(A.value),1),O("div",W6,D(N.value),1),O("div",Y6,D(Z.value),1),O("div",$6,D(b.value),1),O("div",n5,[(V(!0),F(dn,null,vn(y.value,I=>(V(),F("button",{class:"text-xs p-1 bg-light-900 dark-bg-dark-900",onClick:k=>b.value=I,key:I},D(I),9,t5))),128))])]))}};export{i5 as default}; diff --git a/assets/chunks/PitchRoll.DWqYQPyW.js b/assets/chunks/PitchRoll.CqyHLjI-.js similarity index 86% rename from assets/chunks/PitchRoll.DWqYQPyW.js rename to assets/chunks/PitchRoll.CqyHLjI-.js index 99538b1811..8963d07a78 100644 --- a/assets/chunks/PitchRoll.DWqYQPyW.js +++ b/assets/chunks/PitchRoll.CqyHLjI-.js @@ -1 +1 @@ -import{_ as S}from"./ControlStart.BWsORrv6.js";import{D as C,aO as B,c as g}from"./theme.ClagsQLu.js";import{q as D,an as R,b as T,u as A,h as x,r as M,o as W,d as $,M as E,x as d,y as v,A as o,E as i,T as F,U as I,au as V,I as _,G as r,C as q,H as z}from"./framework.BR0mAPCP.js";const G={class:"flex flex-col mb-8 relative"},H={class:"fullscreen-container cursor-pointer",id:"screen"},K={class:"p-1 absolute top-2 left-2 flex items-center"},O=["width","height"],U={key:0,class:"flex gap-2 w-full p-2 items-center absolute bottom-4"},j={key:0,class:"i-la-play"},J={key:1,class:"i-la-pause"},L={class:"p-1 w-2em"},Q={class:"p-1 w-1em"},X={class:"p-1 mt-2 w-6em text-sm"},Y={class:"flex-0 text-center"},Z={__name:"PitchRoll",setup(ee){const{width:b,height:y}=R(),e=T({running:!0,speed:C(A("pitch-roll-speed",4),4,20),runnerWidth:2,runnerAhead:4,maxPlotFrequency:880,maxPlotNote:97,minPlotNote:24,prevBeat:0,step:0});x(" ",a=>{a.preventDefault(),e.running=!e.running}),x("Enter",()=>{p()});function w(a){a.tap&&(e.running=!e.running),e.speed=e.speed+a.delta[0]/5}const k=[0,1,2,3,4,5,6,7,8],{init:P,tuner:n}=B(),s=M();let l;W(()=>{l=s.value.getContext("2d")}),$(()=>n==null?void 0:n.frame,a=>{if(!e.running)return;let t=a*e.speed%s.value.width;if(l.globalAlpha=1,l.clearRect(t,0,e.speed,s.value.height),l.beginPath(),l.fillStyle=g(n.note.value-9,0),l.fillRect(t+e.speed,0,e.runnerWidth,s.value.height),!n.note.silent){const u=s.value.height-(n.note.value-e.minPlotNote)/(e.maxPlotNote-e.minPlotNote)*s.value.height;l.arc(t-8,u,8,0,4*Math.PI),l.fillStyle=g(n.note.value-9,0),l.fill()}if(a%50==0){l.beginPath(),l.strokeStyle="hsla(90,50%,50%,0.1)",l.lineWidth="1";for(let u of k){let c=s.value.height-(u*12-e.minPlotNote)/(e.maxPlotNote-e.minPlotNote)*s.value.height;l.moveTo(0,c),l.lineTo(s.value.width,c)}l.stroke()}l.globalAlpha=.25,n.beat>e.prevBeat&&(e.prevBeat=n.beat,l.fillStyle=n.note.color,l.fillRect(t-5,0,1,s.value.height))});function N(){P(),e.running=!0}function p(){l.clearRect(0,0,s.value.width,s.value.height)}return(a,t)=>{var h,m;const u=S,c=E("drag");return d(),v("div",G,[o("div",H,[i(n).running?_("",!0):(d(),F(u,{key:0,class:"absolute",onClick:t[0]||(t[0]=f=>N())},{default:I(()=>t[4]||(t[4]=[V("Start rolling ")])),_:1})),o("div",K,[t[5]||(t[5]=o("div",{class:"i-la-angle-double-right"},null,-1)),o("span",null,r(e.speed.toFixed(1)),1)]),q(o("canvas",{class:"w-full h-full",ref_key:"roll",ref:s,width:i(b),height:i(y),onDblclick:t[1]||(t[1]=f=>p())},null,40,O),[[c,w]])]),i(n).note?(d(),v("div",U,[o("div",{class:"btn",onClick:t[2]||(t[2]=f=>e.running=!e.running)},[e.running?(d(),v("div",J)):(d(),v("div",j))]),o("div",{class:"btn",onClick:t[3]||(t[3]=f=>p())},t[6]||(t[6]=[o("div",{class:"i-la-times"},null,-1)])),t[7]||(t[7]=o("div",{class:"flex-1"},null,-1)),o("div",{class:"flex-1 text-center font-bold text-4xl transition-all duration-200 flex items-center",style:z({color:i(n).note.color})},[o("div",L,r((h=i(n).note)==null?void 0:h.name),1),o("div",Q,r((m=i(n).note)==null?void 0:m.octave),1),o("div",X,r(i(n).note.cents>0?"+":"")+r(i(n).note.cents)+" cents",1)],4),t[8]||(t[8]=o("div",{class:"flex-1"},null,-1)),o("div",Y,r(i(n).bpm.toFixed(1))+" BPM",1)])):_("",!0)])}}},oe=D(Z,[["__scopeId","data-v-6264767d"]]);export{oe as default}; +import{_ as S}from"./ControlStart.BGN7YlXy.js";import{D as C,aQ as B,c as g}from"./theme.Dd_Fb62b.js";import{q as D,an as R,b as T,u as A,h as x,r as M,o as W,d as $,M as E,x as d,y as v,A as o,E as i,T as F,U as I,au as V,I as _,G as r,C as q,H as z}from"./framework.CQBrk0Ry.js";const G={class:"flex flex-col mb-8 relative"},H={class:"fullscreen-container cursor-pointer",id:"screen"},K={class:"p-1 absolute top-2 left-2 flex items-center"},Q=["width","height"],U={key:0,class:"flex gap-2 w-full p-2 items-center absolute bottom-4"},j={key:0,class:"i-la-play"},J={key:1,class:"i-la-pause"},L={class:"p-1 w-2em"},O={class:"p-1 w-1em"},X={class:"p-1 mt-2 w-6em text-sm"},Y={class:"flex-0 text-center"},Z={__name:"PitchRoll",setup(ee){const{width:b,height:y}=R(),e=T({running:!0,speed:C(A("pitch-roll-speed",4),4,20),runnerWidth:2,runnerAhead:4,maxPlotFrequency:880,maxPlotNote:97,minPlotNote:24,prevBeat:0,step:0});x(" ",a=>{a.preventDefault(),e.running=!e.running}),x("Enter",()=>{p()});function w(a){a.tap&&(e.running=!e.running),e.speed=e.speed+a.delta[0]/5}const k=[0,1,2,3,4,5,6,7,8],{init:P,tuner:n}=B(),s=M();let l;W(()=>{l=s.value.getContext("2d")}),$(()=>n==null?void 0:n.frame,a=>{if(!e.running)return;let t=a*e.speed%s.value.width;if(l.globalAlpha=1,l.clearRect(t,0,e.speed,s.value.height),l.beginPath(),l.fillStyle=g(n.note.value-9,0),l.fillRect(t+e.speed,0,e.runnerWidth,s.value.height),!n.note.silent){const u=s.value.height-(n.note.value-e.minPlotNote)/(e.maxPlotNote-e.minPlotNote)*s.value.height;l.arc(t-8,u,8,0,4*Math.PI),l.fillStyle=g(n.note.value-9,0),l.fill()}if(a%50==0){l.beginPath(),l.strokeStyle="hsla(90,50%,50%,0.1)",l.lineWidth="1";for(let u of k){let c=s.value.height-(u*12-e.minPlotNote)/(e.maxPlotNote-e.minPlotNote)*s.value.height;l.moveTo(0,c),l.lineTo(s.value.width,c)}l.stroke()}l.globalAlpha=.25,n.beat>e.prevBeat&&(e.prevBeat=n.beat,l.fillStyle=n.note.color,l.fillRect(t-5,0,1,s.value.height))});function N(){P(),e.running=!0}function p(){l.clearRect(0,0,s.value.width,s.value.height)}return(a,t)=>{var h,m;const u=S,c=E("drag");return d(),v("div",G,[o("div",H,[i(n).running?_("",!0):(d(),F(u,{key:0,class:"absolute",onClick:t[0]||(t[0]=f=>N())},{default:I(()=>t[4]||(t[4]=[V("Start rolling ")])),_:1})),o("div",K,[t[5]||(t[5]=o("div",{class:"i-la-angle-double-right"},null,-1)),o("span",null,r(e.speed.toFixed(1)),1)]),q(o("canvas",{class:"w-full h-full",ref_key:"roll",ref:s,width:i(b),height:i(y),onDblclick:t[1]||(t[1]=f=>p())},null,40,Q),[[c,w]])]),i(n).note?(d(),v("div",U,[o("div",{class:"btn",onClick:t[2]||(t[2]=f=>e.running=!e.running)},[e.running?(d(),v("div",J)):(d(),v("div",j))]),o("div",{class:"btn",onClick:t[3]||(t[3]=f=>p())},t[6]||(t[6]=[o("div",{class:"i-la-times"},null,-1)])),t[7]||(t[7]=o("div",{class:"flex-1"},null,-1)),o("div",{class:"flex-1 text-center font-bold text-4xl transition-all duration-200 flex items-center",style:z({color:i(n).note.color})},[o("div",L,r((h=i(n).note)==null?void 0:h.name),1),o("div",O,r((m=i(n).note)==null?void 0:m.octave),1),o("div",X,r(i(n).note.cents>0?"+":"")+r(i(n).note.cents)+" cents",1)],4),t[8]||(t[8]=o("div",{class:"flex-1"},null,-1)),o("div",Y,r(i(n).bpm.toFixed(1))+" BPM",1)])):_("",!0)])}}},oe=D(Z,[["__scopeId","data-v-6264767d"]]);export{oe as default}; diff --git a/assets/chunks/PitchTable.DVv0r8W0.js b/assets/chunks/PitchTable.Byp7hQrF.js similarity index 82% rename from assets/chunks/PitchTable.DVv0r8W0.js rename to assets/chunks/PitchTable.Byp7hQrF.js index 43ef6ac166..8545521c27 100644 --- a/assets/chunks/PitchTable.DVv0r8W0.js +++ b/assets/chunks/PitchTable.Byp7hQrF.js @@ -1 +1 @@ -import{Y as I,aZ as M,aJ as N,aE as D,a_ as E,c as V,n as B,a$ as O,aF as R,g as H,au as U}from"./theme.ClagsQLu.js";import{b as z,u as f,c as m,q as w,x as c,y as d,E as s,A as i,I as v,H as _,G as h,k as L,d as x,M as Y,C as y,D as T,P as p,z as F,h as j,r as G,F as $,B as S,T as P,U as J,aj as K,ag as Q}from"./framework.BR0mAPCP.js";const t=z({show:{letters:f("table-letters",!0),bpm:f("table-bpm",!0),hz:f("table-hz",!0),len:f("table-len",!0)},stopped:!0,middleA:f("table-middleA",440),tuning:"equal",octave:{range:{bottom:f("table-bottom",1),top:f("table-top",4)},limit:{bottom:-6,top:8},list:m(()=>{let o=[];for(let a=t.octave.range.top;a>=t.octave.range.bottom;a--)o.push(a);return o}),inc:Z,dec:W}});function W(o){let a=o?"top":"bottom",e=o?"bottom":"top";o&&t.octave.range[a]<=t.octave.range[e]||!o&&t.octave.range[a]<=t.octave.limit[a]||t.octave.range[a]--}function Z(o){let a=o?"top":"bottom",e=o?"bottom":"top";o&&t.octave.range[a]>=t.octave.limit[a]||!o&&t.octave.range[a]>=t.octave.range[e]||t.octave.range[a]++}const X={class:"flex text-2xl text-center cursor-pointer w-full"},ee={__name:"PitchTableShift",props:{top:Boolean},setup(o){return(a,e)=>(c(),d("div",X,[s(t).octave.range.bottom!=s(t).octave.limit.bottom?(c(),d("div",{key:0,class:"btn bg-gray-300 dark-bg-gray-900",onClick:e[0]||(e[0]=u=>s(t).octave.dec(o.top))},e[2]||(e[2]=[i("div",{class:"i-la-minus"},null,-1)]))):v("",!0),s(t).octave.range.top!=s(t).octave.limit.top?(c(),d("div",{key:1,class:"btn bg-gray-50 dark-bg-gray-500",onClick:e[1]||(e[1]=u=>s(t).octave.inc(o.top))},e[3]||(e[3]=[i("div",{class:"i-la-plus"},null,-1)]))):v("",!0)]))}},A=w(ee,[["__scopeId","data-v-d639d554"]]),te={class:"button"},se={class:"uppercase mr-1"},oe={__name:"PitchTableSwitch",props:{label:{type:String,default:""},state:{type:Boolean,default:!1}},setup(o){return(a,e)=>(c(),d("div",te,[i("div",{class:"indicator mr-2",style:_({color:o.state?"#fff":"#333"})},"●",4),i("div",se,h(o.label),1)]))}},b=w(oe,[["__scopeId","data-v-59035f98"]]);function ae(o,a){const{channel:e}=I("table"),u=new M(0,-1/0).connect(e),l=new N({oscillator:{type:"sawtooth"},envelope:{attack:.5},filterEnvelope:{attack:.05}}).connect(u),n=z({vol:0,pan:50,started:!1,active:m(()=>n.vol>0),freq:m(()=>{let r=D(o,a,t.middleA);return l.oscillator.frequency.value=r,r})});return L(()=>{l.triggerRelease(),l.dispose()}),x(()=>n.vol,r=>{u.volume.targetRampTo(E(r*.4/100),"16n")}),x(()=>n.pan,r=>{let g=(r-50)/100*2;u.pan.targetRampTo(g,"16n")}),x(()=>t.stopped,r=>{r&&(n.vol=0,n.pan=50)}),x(()=>n.active,r=>{r?(t.stopped&&(t.stopped=!1),l.triggerAttack(n.freq)):l.triggerRelease()}),n}const le={key:0,class:"flex flex-col text-xs p-1"},ne={key:0,class:"text-xl font-bold"},re={key:1,class:"flex"},ie={key:2,class:"flex"},ce={key:3,class:"flex"},de={__name:"PitchTableCellInfo",props:{name:{type:String,default:"A"},hz:{type:Number,default:440},octave:{default:3,type:Number}},setup(o){const a=o,e=m(()=>a.hz*60),u=m(()=>340/a.hz);function l(n){let r;return n>1e6?r=(n/1e6).toFixed(2)+" M":n>1e3?r=(n/1e3).toFixed(2)+" k":r=n.toFixed(2)+" ",r}return(n,r)=>s(t).show.len||s(t).show.hz||s(t).show.bpm||s(t).show.letters?(c(),d("div",le,[s(t).show.letters?(c(),d("div",ne,h(o.name)+h(o.octave),1)):v("",!0),s(t).show.hz?(c(),d("div",re,h(l(o.hz))+"hz",1)):v("",!0),s(t).show.len?(c(),d("div",ie,h(u.value.toFixed(2))+" m",1)):v("",!0),s(t).show.bpm?(c(),d("div",ce,h(l(e.value))+"BPM",1)):v("",!0)])):v("",!0)}},ue=["drag-options"],pe={class:"absolute w-full h-full top-0 left-0 bottom-0"},ve={class:"absolute h-full top-0 left-0 right-0 text-center"},fe={__name:"PitchTableCell",props:{pitch:{type:Number,default:0},octave:{default:3,type:Number}},setup(o){const a=o,e=ae(a.pitch,a.octave),u=z({filterTaps:!0,preventWindowScrollY:!0,delay:0,eventOptions:{passive:!1}}),l=g=>{O.state=="suspended"&&R();let{movement:[C,k],tap:q}=g;q?e.active?(e.vol=0,e.pan=50):e.vol=50:(e.vol+=-k/20,e.vol>100&&(e.vol=100),e.vol<0&&(e.vol=0),e.pan+=C/20,e.pan>100&&(e.pan=100),e.pan<0&&(e.pan=0))},n=m(()=>V(a.pitch,a.octave)),r=m(()=>Math.abs(a.octave+2)*8>40?"hsla(0,0%,0%,"+(e.active?"1":"0.8")+")":"hsla(0,0%,100%,"+(e.active?"1":"0.8")+")");return(g,C)=>{const k=Y("drag");return y((c(),d("div",{class:F(["cell",{active:s(e).active}]),"drag-options":u,style:_({backgroundColor:n.value,color:r.value})},[y(i("div",pe,[i("div",{class:"volume",style:_({height:s(e).vol+"%"})},null,4)],512),[[T,s(e).vol>0]]),y(i("div",ve,[i("div",{class:"pan absolute bg-gray-100 h-full m-auto",style:_({left:s(e).pan+"%"})},null,4)],512),[[T,s(e).pan!=50]]),p(de,{name:s(B)[o.pitch],hz:s(e).freq,octave:o.octave},null,8,["name","hz","octave"])],14,ue)),[[k,l]])}}},me=w(fe,[["__scopeId","data-v-f9872ed5"]]),he={class:"fullscreen-container",id:"screen"},be={class:"flex flex-wrap"},ge={class:"flex flex-col p-2",style:{flex:"10 1 6rem"}},xe={class:"flex-auto flex flex-wrap rounded-xl dark-bg-dark-700 shadow items-center p-2 gap-2 relative"},_e={class:"flex px-2 rounded-lg items-center bg-light-300 dark-bg-dark-800"},ye={__name:"PitchTable",setup(o){return j("Enter",a=>{a.preventDefault(),t.stopped=!t.stopped}),G(),(a,e)=>{const u=U;return c(),d($,null,[i("div",he,[p(A,{top:!0}),(c(!0),d($,null,S(s(t).octave.list,l=>(c(),d("div",{class:"flex w-full",key:l},[(c(!0),d($,null,S(s(B),(n,r)=>(c(),P(me,{key:n,class:F({dim:!s(H).isIn(n)}),pitch:r,octave:l},null,8,["class","pitch","octave"]))),128))]))),128)),p(A)]),i("div",be,[p(u,{class:"mb-4 flex-auto",style:{flex:"1 1 2rem"}}),i("div",ge,[i("div",xe,[p(b,{label:"letters",state:s(t).show.letters,onClick:e[0]||(e[0]=l=>s(t).show.letters=!s(t).show.letters)},null,8,["state"]),p(b,{label:"FREQ",state:s(t).show.hz,onClick:e[1]||(e[1]=l=>s(t).show.hz=!s(t).show.hz)},null,8,["state"]),p(b,{label:"Length",state:s(t).show.len,onClick:e[2]||(e[2]=l=>s(t).show.len=!s(t).show.len)},null,8,["state"]),p(b,{label:"BPM",state:s(t).show.bpm,onClick:e[3]||(e[3]=l=>s(t).show.bpm=!s(t).show.bpm)},null,8,["state"])]),p(K,{name:"fade"},{default:J(()=>[s(t).stopped?v("",!0):(c(),P(b,{key:0,class:"my-4",label:"STOP",state:s(t).stopped,onClick:e[4]||(e[4]=l=>s(t).stopped=!s(t).stopped)},null,8,["state"]))]),_:1}),i("div",_e,[e[6]||(e[6]=i("div",{class:"p-1 pr-2 font-bold"},"A",-1)),y(i("input",{class:"mx-1 p-2 max-w-26 dark-bg-dark-800","onUpdate:modelValue":e[5]||(e[5]=l=>s(t).middleA=l),type:"number"},null,512),[[Q,s(t).middleA]]),e[7]||(e[7]=i("div",{class:"p-1"},"Hz",-1))])])])],64)}}},$e=w(ye,[["__scopeId","data-v-4bedef61"]]);export{$e as default}; +import{Y as I,aZ as M,aL as N,aG as D,a_ as V,c as E,n as B,a$ as O,aH as R,g as H,aw as L}from"./theme.Dd_Fb62b.js";import{b as z,u as f,c as m,q as w,x as c,y as d,E as s,A as i,I as v,H as _,G as h,k as U,d as x,M as G,C as y,D as T,P as p,z as q,h as Y,r as j,F as $,B as S,T as P,U as K,aj as Q,ag as W}from"./framework.CQBrk0Ry.js";const t=z({show:{letters:f("table-letters",!0),bpm:f("table-bpm",!0),hz:f("table-hz",!0),len:f("table-len",!0)},stopped:!0,middleA:f("table-middleA",440),tuning:"equal",octave:{range:{bottom:f("table-bottom",1),top:f("table-top",4)},limit:{bottom:-6,top:8},list:m(()=>{let o=[];for(let a=t.octave.range.top;a>=t.octave.range.bottom;a--)o.push(a);return o}),inc:J,dec:Z}});function Z(o){let a=o?"top":"bottom",e=o?"bottom":"top";o&&t.octave.range[a]<=t.octave.range[e]||!o&&t.octave.range[a]<=t.octave.limit[a]||t.octave.range[a]--}function J(o){let a=o?"top":"bottom",e=o?"bottom":"top";o&&t.octave.range[a]>=t.octave.limit[a]||!o&&t.octave.range[a]>=t.octave.range[e]||t.octave.range[a]++}const X={class:"flex text-2xl text-center cursor-pointer w-full"},ee={__name:"PitchTableShift",props:{top:Boolean},setup(o){return(a,e)=>(c(),d("div",X,[s(t).octave.range.bottom!=s(t).octave.limit.bottom?(c(),d("div",{key:0,class:"btn bg-gray-300 dark-bg-gray-900",onClick:e[0]||(e[0]=u=>s(t).octave.dec(o.top))},e[2]||(e[2]=[i("div",{class:"i-la-minus"},null,-1)]))):v("",!0),s(t).octave.range.top!=s(t).octave.limit.top?(c(),d("div",{key:1,class:"btn bg-gray-50 dark-bg-gray-500",onClick:e[1]||(e[1]=u=>s(t).octave.inc(o.top))},e[3]||(e[3]=[i("div",{class:"i-la-plus"},null,-1)]))):v("",!0)]))}},A=w(ee,[["__scopeId","data-v-d639d554"]]),te={class:"button"},se={class:"uppercase mr-1"},oe={__name:"PitchTableSwitch",props:{label:{type:String,default:""},state:{type:Boolean,default:!1}},setup(o){return(a,e)=>(c(),d("div",te,[i("div",{class:"indicator mr-2",style:_({color:o.state?"#fff":"#333"})},"●",4),i("div",se,h(o.label),1)]))}},b=w(oe,[["__scopeId","data-v-59035f98"]]);function ae(o,a){const{channel:e}=I("table"),u=new M(0,-1/0).connect(e),l=new N({oscillator:{type:"sawtooth"},envelope:{attack:.5},filterEnvelope:{attack:.05}}).connect(u),n=z({vol:0,pan:50,started:!1,active:m(()=>n.vol>0),freq:m(()=>{let r=D(o,a,t.middleA);return l.oscillator.frequency.value=r,r})});return U(()=>{l.triggerRelease(),l.dispose()}),x(()=>n.vol,r=>{u.volume.targetRampTo(V(r*.4/100),"16n")}),x(()=>n.pan,r=>{let g=(r-50)/100*2;u.pan.targetRampTo(g,"16n")}),x(()=>t.stopped,r=>{r&&(n.vol=0,n.pan=50)}),x(()=>n.active,r=>{r?(t.stopped&&(t.stopped=!1),l.triggerAttack(n.freq)):l.triggerRelease()}),n}const le={key:0,class:"flex flex-col text-xs p-1"},ne={key:0,class:"text-xl font-bold"},re={key:1,class:"flex"},ie={key:2,class:"flex"},ce={key:3,class:"flex"},de={__name:"PitchTableCellInfo",props:{name:{type:String,default:"A"},hz:{type:Number,default:440},octave:{default:3,type:Number}},setup(o){const a=o,e=m(()=>a.hz*60),u=m(()=>340/a.hz);function l(n){let r;return n>1e6?r=(n/1e6).toFixed(2)+" M":n>1e3?r=(n/1e3).toFixed(2)+" k":r=n.toFixed(2)+" ",r}return(n,r)=>s(t).show.len||s(t).show.hz||s(t).show.bpm||s(t).show.letters?(c(),d("div",le,[s(t).show.letters?(c(),d("div",ne,h(o.name)+h(o.octave),1)):v("",!0),s(t).show.hz?(c(),d("div",re,h(l(o.hz))+"hz",1)):v("",!0),s(t).show.len?(c(),d("div",ie,h(u.value.toFixed(2))+" m",1)):v("",!0),s(t).show.bpm?(c(),d("div",ce,h(l(e.value))+"BPM",1)):v("",!0)])):v("",!0)}},ue=["drag-options"],pe={class:"absolute w-full h-full top-0 left-0 bottom-0"},ve={class:"absolute h-full top-0 left-0 right-0 text-center"},fe={__name:"PitchTableCell",props:{pitch:{type:Number,default:0},octave:{default:3,type:Number}},setup(o){const a=o,e=ae(a.pitch,a.octave),u=z({filterTaps:!0,preventWindowScrollY:!0,delay:0,eventOptions:{passive:!1}}),l=g=>{O.state=="suspended"&&R();let{movement:[C,k],tap:F}=g;F?e.active?(e.vol=0,e.pan=50):e.vol=50:(e.vol+=-k/20,e.vol>100&&(e.vol=100),e.vol<0&&(e.vol=0),e.pan+=C/20,e.pan>100&&(e.pan=100),e.pan<0&&(e.pan=0))},n=m(()=>E(a.pitch,a.octave)),r=m(()=>Math.abs(a.octave+2)*8>40?"hsla(0,0%,0%,"+(e.active?"1":"0.8")+")":"hsla(0,0%,100%,"+(e.active?"1":"0.8")+")");return(g,C)=>{const k=G("drag");return y((c(),d("div",{class:q(["cell",{active:s(e).active}]),"drag-options":u,style:_({backgroundColor:n.value,color:r.value})},[y(i("div",pe,[i("div",{class:"volume",style:_({height:s(e).vol+"%"})},null,4)],512),[[T,s(e).vol>0]]),y(i("div",ve,[i("div",{class:"pan absolute bg-gray-100 h-full m-auto",style:_({left:s(e).pan+"%"})},null,4)],512),[[T,s(e).pan!=50]]),p(de,{name:s(B)[o.pitch],hz:s(e).freq,octave:o.octave},null,8,["name","hz","octave"])],14,ue)),[[k,l]])}}},me=w(fe,[["__scopeId","data-v-f9872ed5"]]),he={class:"fullscreen-container",id:"screen"},be={class:"flex flex-wrap"},ge={class:"flex flex-col p-2",style:{flex:"10 1 6rem"}},xe={class:"flex-auto flex flex-wrap rounded-xl dark-bg-dark-700 shadow items-center p-2 gap-2 relative"},_e={class:"flex px-2 rounded-lg items-center bg-light-300 dark-bg-dark-800"},ye={__name:"PitchTable",setup(o){return Y("Enter",a=>{a.preventDefault(),t.stopped=!t.stopped}),j(),(a,e)=>{const u=L;return c(),d($,null,[i("div",he,[p(A,{top:!0}),(c(!0),d($,null,S(s(t).octave.list,l=>(c(),d("div",{class:"flex w-full",key:l},[(c(!0),d($,null,S(s(B),(n,r)=>(c(),P(me,{key:n,class:q({dim:!s(H).isIn(n)}),pitch:r,octave:l},null,8,["class","pitch","octave"]))),128))]))),128)),p(A)]),i("div",be,[p(u,{class:"mb-4 flex-auto",style:{flex:"1 1 2rem"}}),i("div",ge,[i("div",xe,[p(b,{label:"letters",state:s(t).show.letters,onClick:e[0]||(e[0]=l=>s(t).show.letters=!s(t).show.letters)},null,8,["state"]),p(b,{label:"FREQ",state:s(t).show.hz,onClick:e[1]||(e[1]=l=>s(t).show.hz=!s(t).show.hz)},null,8,["state"]),p(b,{label:"Length",state:s(t).show.len,onClick:e[2]||(e[2]=l=>s(t).show.len=!s(t).show.len)},null,8,["state"]),p(b,{label:"BPM",state:s(t).show.bpm,onClick:e[3]||(e[3]=l=>s(t).show.bpm=!s(t).show.bpm)},null,8,["state"])]),p(Q,{name:"fade"},{default:K(()=>[s(t).stopped?v("",!0):(c(),P(b,{key:0,class:"my-4",label:"STOP",state:s(t).stopped,onClick:e[4]||(e[4]=l=>s(t).stopped=!s(t).stopped)},null,8,["state"]))]),_:1}),i("div",_e,[e[6]||(e[6]=i("div",{class:"p-1 pr-2 font-bold"},"A",-1)),y(i("input",{class:"mx-1 p-2 max-w-26 dark-bg-dark-800","onUpdate:modelValue":e[5]||(e[5]=l=>s(t).middleA=l),type:"number"},null,512),[[W,s(t).middleA]]),e[7]||(e[7]=i("div",{class:"p-1"},"Hz",-1))])])])],64)}}},$e=w(ye,[["__scopeId","data-v-4bedef61"]]);export{$e as default}; diff --git a/assets/chunks/PitchTuner.D7oLlZ4p.js b/assets/chunks/PitchTuner.g5I0AVLM.js similarity index 89% rename from assets/chunks/PitchTuner.D7oLlZ4p.js rename to assets/chunks/PitchTuner.g5I0AVLM.js index c8584b21fa..fa284f3b60 100644 --- a/assets/chunks/PitchTuner.D7oLlZ4p.js +++ b/assets/chunks/PitchTuner.g5I0AVLM.js @@ -1 +1 @@ -import{_ as B}from"./ControlStart.BWsORrv6.js";import{aO as b,c as C}from"./theme.ClagsQLu.js";import{q as T,an as N,c as S,x as a,y as c,E as t,T as q,U as F,au as P,I as V,A as e,F as m,B as h,H as y,G as i}from"./framework.BR0mAPCP.js";const A={class:"fullscreen-container overflow-clip",id:"screen"},E=["opacity","viewBox"],G={id:"grad",x1:"0",x2:"0",y1:"0",y2:"1"},H=["stop-color"],I=["stop-color"],M=["stop-color"],X=["stop-color"],D=["width","height"],L={class:"spectrum"},O=["x1","y1","x2","y2"],R={class:"notes"},U=["fill","transform"],W=["transform"],j=["cy"],J=["y2"],K={style:{"user-select":"none",transition:"all 300ms ease"},fill:"gray","font-size":"20px","text-anchor":"middle",y:"40"},Q=["y2"],Y=["fill","cy"],Z=["y"],tt=["y"],et=["y"],ot=["y"],st={__name:"PitchTuner",setup(nt){const{width:l,height:s}=N(),{init:$,tuner:o}=b(),_=S(()=>{var d,f;const u=z((d=o.note)==null?void 0:d.frequency);if(!u)return"#333";const n=(f=o.note)==null?void 0:f.octave;return C(u,n)});function z(u){return 12*(Math.log(u/o.middleA)/Math.log(2))%12}return(u,n)=>{var d,f,g,k,v,w;const x=B;return a(),c("div",A,[t(o).running?V("",!0):(a(),q(x,{key:0,class:"absolute z-20",onClick:n[0]||(n[0]=r=>t($)())},{default:F(()=>n[1]||(n[1]=[P("Start tuner")])),_:1})),(a(),c("svg",{id:"tuner",opacity:t(o).running?1:.3,version:"1.1",baseProfile:"full","font-family":"Commissioner, sans-serif","stroke-linecap":"round","dominant-baseline":"middle","text-anchor":"middle",viewBox:`0 0 ${t(l)} ${t(s)}`,xmlns:"http://www.w3.org/2000/svg"},[e("defs",null,[e("linearGradient",G,[e("stop",{"stop-color":_.value,"stop-opacity":"1",offset:"0%"},null,8,H),e("stop",{"stop-color":_.value,"stop-opacity":"1",offset:"10%"},null,8,I),e("stop",{"stop-color":_.value,"stop-opacity":"0.8",offset:"50%"},null,8,M),e("stop",{"stop-color":_.value,"stop-opacity":"0.2",offset:"100%"},null,8,X)])]),e("rect",{width:t(l),height:t(s),rx:"5",fill:"url(#grad)"},null,8,D),e("g",L,[(a(!0),c(m,null,h(t(o).spec.slice(0,100),(r,p)=>(a(),c("line",{key:p,style:{transition:"all 200ms ease"},stroke:"currentColor","stroke-width":"2",x1:p*t(l)/100,y1:t(s),x2:p*t(l)/100,y2:t(s)-r*4},null,8,O))),128))]),e("g",{class:"clock",style:y({transform:`translate(${t(l)/2}px,${t(s)*.75}px)`})},[n[3]||(n[3]=e("circle",{class:"center",r:"4",fill:"currentColor"},null,-1)),e("g",R,[(a(),c(m,null,h(12,r=>e("circle",{key:r,r:"8",fill:t(C)(r,4),cy:"-100",transform:`rotate(${r*30})`},null,8,U)),64))]),e("g",{class:"transition duration-700",style:y({transform:`rotate(${(t(o).note.value+3)*30}deg)`})},[n[2]||(n[2]=e("line",{y2:"-100",stroke:"currentColor","stroke-width":"4"},null,-1)),e("line",{class:"transition duration-700",y2:"-80",stroke:"currentColor","stroke-width":"2",style:y({transform:`rotate(${t(o).note.cents*3.6}deg)`})},null,4)],4)],4),e("g",{class:"center",transform:`translate(${t(l)/2},0)`},[e("circle",{class:"op-20",r:"8",fill:"currentColor",cy:t(s)*.3},null,8,j),(a(),c(m,null,h(11,r=>e("g",{key:r,style:y({transform:`translateX(${t(l)/12*(r-6)}px)`})},[e("line",{stroke:"gray",opacity:"0.7","stroke-width":"2",y1:60,y2:t(s)*.3},null,8,J),e("text",K,i((r-6)*10),1)],4)),64)),e("g",{class:"meter",style:y([{"user-select":"none",transition:"all 600ms ease"},{transform:`translateX(${t(l)/100*((d=t(o).note)==null?void 0:d.cents)}px)`}])},[e("line",{stroke:"black","stroke-linecap":"round","stroke-width":"2",y1:60,y2:t(s)*.3},null,8,Q),e("circle",{class:"filter brightness-120",r:"8",fill:t(o).note.color,cy:t(s)*.3},null,8,Y)],4),e("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-size":"6rem",y:t(s)*.4},i((f=t(o).note)==null?void 0:f.name)+" "+i((t(o).note.value+3)%12),9,Z),e("text",{class:"op-80",style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-size":"2rem",y:t(s)*.46},i((g=t(o).note)==null?void 0:g.octave),9,tt),e("text",{class:"font-mono op-70",style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-size":"2rem","text-anchor":"end",x:80,y:t(s)*.55},i((k=t(o).note)==null?void 0:k.frequency.toFixed(2))+" Hz",9,et),e("text",{class:"font-mono op-50",style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-size":"2rem","text-anchor":"end",x:80,y:t(s)*.5},i(((v=t(o).note)==null?void 0:v.cents)>0?"+":"")+i((w=t(o).note)==null?void 0:w.cents)+" cents",9,ot)],8,W)],8,E))])}}},it=T(st,[["__scopeId","data-v-73774fc4"]]);export{it as default}; +import{_ as B}from"./ControlStart.BGN7YlXy.js";import{aQ as b,c as C}from"./theme.Dd_Fb62b.js";import{q as T,an as N,c as S,x as a,y as c,E as t,T as q,U as F,au as P,I as V,A as e,F as m,B as h,H as y,G as i}from"./framework.CQBrk0Ry.js";const A={class:"fullscreen-container overflow-clip",id:"screen"},E=["opacity","viewBox"],G={id:"grad",x1:"0",x2:"0",y1:"0",y2:"1"},H=["stop-color"],I=["stop-color"],M=["stop-color"],X=["stop-color"],D=["width","height"],L={class:"spectrum"},Q=["x1","y1","x2","y2"],R={class:"notes"},U=["fill","transform"],W=["transform"],j=["cy"],J=["y2"],K={style:{"user-select":"none",transition:"all 300ms ease"},fill:"gray","font-size":"20px","text-anchor":"middle",y:"40"},O=["y2"],Y=["fill","cy"],Z=["y"],tt=["y"],et=["y"],ot=["y"],st={__name:"PitchTuner",setup(nt){const{width:l,height:s}=N(),{init:$,tuner:o}=b(),_=S(()=>{var d,f;const u=z((d=o.note)==null?void 0:d.frequency);if(!u)return"#333";const n=(f=o.note)==null?void 0:f.octave;return C(u,n)});function z(u){return 12*(Math.log(u/o.middleA)/Math.log(2))%12}return(u,n)=>{var d,f,g,k,v,w;const x=B;return a(),c("div",A,[t(o).running?V("",!0):(a(),q(x,{key:0,class:"absolute z-20",onClick:n[0]||(n[0]=r=>t($)())},{default:F(()=>n[1]||(n[1]=[P("Start tuner")])),_:1})),(a(),c("svg",{id:"tuner",opacity:t(o).running?1:.3,version:"1.1",baseProfile:"full","font-family":"Commissioner, sans-serif","stroke-linecap":"round","dominant-baseline":"middle","text-anchor":"middle",viewBox:`0 0 ${t(l)} ${t(s)}`,xmlns:"http://www.w3.org/2000/svg"},[e("defs",null,[e("linearGradient",G,[e("stop",{"stop-color":_.value,"stop-opacity":"1",offset:"0%"},null,8,H),e("stop",{"stop-color":_.value,"stop-opacity":"1",offset:"10%"},null,8,I),e("stop",{"stop-color":_.value,"stop-opacity":"0.8",offset:"50%"},null,8,M),e("stop",{"stop-color":_.value,"stop-opacity":"0.2",offset:"100%"},null,8,X)])]),e("rect",{width:t(l),height:t(s),rx:"5",fill:"url(#grad)"},null,8,D),e("g",L,[(a(!0),c(m,null,h(t(o).spec.slice(0,100),(r,p)=>(a(),c("line",{key:p,style:{transition:"all 200ms ease"},stroke:"currentColor","stroke-width":"2",x1:p*t(l)/100,y1:t(s),x2:p*t(l)/100,y2:t(s)-r*4},null,8,Q))),128))]),e("g",{class:"clock",style:y({transform:`translate(${t(l)/2}px,${t(s)*.75}px)`})},[n[3]||(n[3]=e("circle",{class:"center",r:"4",fill:"currentColor"},null,-1)),e("g",R,[(a(),c(m,null,h(12,r=>e("circle",{key:r,r:"8",fill:t(C)(r,4),cy:"-100",transform:`rotate(${r*30})`},null,8,U)),64))]),e("g",{class:"transition duration-700",style:y({transform:`rotate(${(t(o).note.value+3)*30}deg)`})},[n[2]||(n[2]=e("line",{y2:"-100",stroke:"currentColor","stroke-width":"4"},null,-1)),e("line",{class:"transition duration-700",y2:"-80",stroke:"currentColor","stroke-width":"2",style:y({transform:`rotate(${t(o).note.cents*3.6}deg)`})},null,4)],4)],4),e("g",{class:"center",transform:`translate(${t(l)/2},0)`},[e("circle",{class:"op-20",r:"8",fill:"currentColor",cy:t(s)*.3},null,8,j),(a(),c(m,null,h(11,r=>e("g",{key:r,style:y({transform:`translateX(${t(l)/12*(r-6)}px)`})},[e("line",{stroke:"gray",opacity:"0.7","stroke-width":"2",y1:60,y2:t(s)*.3},null,8,J),e("text",K,i((r-6)*10),1)],4)),64)),e("g",{class:"meter",style:y([{"user-select":"none",transition:"all 600ms ease"},{transform:`translateX(${t(l)/100*((d=t(o).note)==null?void 0:d.cents)}px)`}])},[e("line",{stroke:"black","stroke-linecap":"round","stroke-width":"2",y1:60,y2:t(s)*.3},null,8,O),e("circle",{class:"filter brightness-120",r:"8",fill:t(o).note.color,cy:t(s)*.3},null,8,Y)],4),e("text",{style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-size":"6rem",y:t(s)*.4},i((f=t(o).note)==null?void 0:f.name)+" "+i((t(o).note.value+3)%12),9,Z),e("text",{class:"op-80",style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-size":"2rem",y:t(s)*.46},i((g=t(o).note)==null?void 0:g.octave),9,tt),e("text",{class:"font-mono op-70",style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-size":"2rem","text-anchor":"end",x:80,y:t(s)*.55},i((k=t(o).note)==null?void 0:k.frequency.toFixed(2))+" Hz",9,et),e("text",{class:"font-mono op-50",style:{"user-select":"none",transition:"all 300ms ease"},fill:"currentColor","font-size":"2rem","text-anchor":"end",x:80,y:t(s)*.5},i(((v=t(o).note)==null?void 0:v.cents)>0?"+":"")+i((w=t(o).note)==null?void 0:w.cents)+" cents",9,ot)],8,W)],8,E))])}}},it=T(st,[["__scopeId","data-v-73774fc4"]]);export{it as default}; diff --git a/assets/chunks/PixelSort.CAqTclEC.js b/assets/chunks/PixelSort.DBvQJR5E.js similarity index 97% rename from assets/chunks/PixelSort.CAqTclEC.js rename to assets/chunks/PixelSort.DBvQJR5E.js index ede6c3e7e3..866818b578 100644 --- a/assets/chunks/PixelSort.CAqTclEC.js +++ b/assets/chunks/PixelSort.DBvQJR5E.js @@ -1 +1 @@ -import{q as A,r as g,n as E,c as P,d as D,x as _,y as b,A as r,F,B as T,H as N,G as S,z as R,E as k,I as W,C as B,O as j,ag as q,V as G}from"./framework.BR0mAPCP.js";import{D as X,g as $,n as w,af as Y,u as J,x as K}from"./theme.ClagsQLu.js";function Q(u,s,a){u/=255,s/=255,a/=255;const o=Math.max(u,s,a),c=Math.min(u,s,a);let n,i,m=(o+c)/2;if(o===c)n=i=0;else{const d=o-c;switch(i=m>.5?d/(2-o-c):d/(o+c),o){case u:n=(s-a)/d+(si[1].count-n[1].count).slice(0,s).map(([n,{count:i,s:m,l:d}])=>({hueIndex:n,s:m/i,l:d/i,percent:i/(u.length/4)*100})),c=o.reduce((n,i)=>n+i.percent,0);return o.map(n=>({...n,percent:n.percent/c*100}))}function ee(u){const s=u*360;for(let a=0;a<12;a++){const o=a*30,c=(o-15+360)%360,n=(o+15)%360;if(c>n){if(s>=c||s=c&&s{if(!$.value||!$.value.chroma)return[1,1,1,1,1,1,1,1,1,1,1,1];const t=$.value.chroma.split("").map(Number);return I(t,-w.indexOf($.value.tonic||"C"))});function C(t,e){const l=w.indexOf(t);if(v.value.map((U,V)=>U?w[V]:null).filter(Boolean),v.value[l])return`${t}${e}`;let f=l,x=l;for(;!v.value[f]&&!v.value[x];){if(f=(f-1+12)%12,x=(x+1)%12,v.value[f])return`${w[f]}${e}`;if(v.value[x])return`${w[x]}${e}`}return`${t}${e}`}function H(t){const e=t.target.files[0];e&&(s.value=URL.createObjectURL(e))}function L(t,e,l,f){return(f==="horizontal"?t.getImageData(0,l*t.canvas.height-p.value/2,t.canvas.width,p.value):t.getImageData(e*t.canvas.width-p.value/2,0,p.value,t.canvas.height)).data}function O(t,e,l){return`hsl(${t*30%360}, ${e*100}%, ${l*100}%)`}function z(t,e){const l=w[t],f=Math.floor(e*3)-1+3+Y.offset;return C(l,f)}D([c,n],()=>{if(i.value||!o.value)return;const t=o.value.getContext("2d"),e=L(t,c.value/d.value,n.value/m.value,a.value);y.value=Z(e,h.value)}),D(s,async()=>{if(s.value){const t=new Image;t.src=s.value,await t.decode();const e=o.value;e.getContext("2d").drawImage(t,0,0,e.width,e.height)}});function M(t){const e=y.value.map(l=>z(l.hueIndex,l.l));J(e),setTimeout(()=>{K(e)},200)}return(t,e)=>(_(),b("div",te,[s.value?(_(),b("div",ne,[r("canvas",{class:"w-full h-full max-w-screen max-h-full",ref_key:"canvasElement",ref:o,width:"1200",height:"1200"},null,512),r("div",{class:R(["absolute flex",{"w-full h-5":a.value==="horizontal","h-full w-5 flex-col":a.value==="vertical"}]),onMousedown:M,onTouchstart:M,style:N(a.value==="horizontal"?`top: ${Math.max(0,k(n)-p.value/2)}px`:"left: 0px")},[(_(!0),b(F,null,T(y.value,l=>(_(),b("div",{class:"relative flex items-center justify-center",key:l.hueIndex,style:N({flex:`1 1 ${l.percent}%`,backgroundColor:O(l.hueIndex,l.s,l.l)})},[r("span",ae,S(z(l.hueIndex,l.l)),1)],4))),128))],38)])):W("",!0),r("div",le,[r("div",se,[e[2]||(e[2]=r("label",{class:"cursor-pointer bg-blue-500 hover-bg-blue-600 text-white font-bold py-2 px-4 rounded",for:"fileInput"},"Load Image",-1)),r("input",{class:"hidden",id:"fileInput",type:"file",accept:"image/*",onChange:H},null,32)]),r("div",oe,[e[4]||(e[4]=r("label",{class:"mr-2"},"Scan direction:",-1)),B(r("select",{"onUpdate:modelValue":e[0]||(e[0]=l=>a.value=l)},e[3]||(e[3]=[r("option",{value:"horizontal"},"Horizontal",-1),r("option",{value:"vertical"},"Vertical",-1)]),512),[[j,a.value]])]),r("div",re,[e[5]||(e[5]=r("label",{class:"mr-2"},"Color count:",-1)),B(r("input",{type:"range","onUpdate:modelValue":e[1]||(e[1]=l=>G(h)?h.value=l:null),min:"1",max:"7",step:"1"},null,512),[[q,k(h)]]),r("span",ue,S(k(h)),1)])])]))}},ve=A(ie,[["__scopeId","data-v-3b278704"]]);export{ve as default}; +import{q as A,r as g,n as E,c as P,d as D,x as _,y as b,A as r,F,B as T,H as N,G as S,z as R,E as k,I as W,C as B,O as j,ag as q,V as G}from"./framework.CQBrk0Ry.js";import{D as X,g as $,n as w,ah as Y,u as J,x as K}from"./theme.Dd_Fb62b.js";function Q(u,s,a){u/=255,s/=255,a/=255;const o=Math.max(u,s,a),c=Math.min(u,s,a);let n,i,m=(o+c)/2;if(o===c)n=i=0;else{const d=o-c;switch(i=m>.5?d/(2-o-c):d/(o+c),o){case u:n=(s-a)/d+(si[1].count-n[1].count).slice(0,s).map(([n,{count:i,s:m,l:d}])=>({hueIndex:n,s:m/i,l:d/i,percent:i/(u.length/4)*100})),c=o.reduce((n,i)=>n+i.percent,0);return o.map(n=>({...n,percent:n.percent/c*100}))}function ee(u){const s=u*360;for(let a=0;a<12;a++){const o=a*30,c=(o-15+360)%360,n=(o+15)%360;if(c>n){if(s>=c||s=c&&s{if(!$.value||!$.value.chroma)return[1,1,1,1,1,1,1,1,1,1,1,1];const t=$.value.chroma.split("").map(Number);return I(t,-w.indexOf($.value.tonic||"C"))});function C(t,e){const l=w.indexOf(t);if(v.value.map((U,V)=>U?w[V]:null).filter(Boolean),v.value[l])return`${t}${e}`;let f=l,x=l;for(;!v.value[f]&&!v.value[x];){if(f=(f-1+12)%12,x=(x+1)%12,v.value[f])return`${w[f]}${e}`;if(v.value[x])return`${w[x]}${e}`}return`${t}${e}`}function H(t){const e=t.target.files[0];e&&(s.value=URL.createObjectURL(e))}function L(t,e,l,f){return(f==="horizontal"?t.getImageData(0,l*t.canvas.height-p.value/2,t.canvas.width,p.value):t.getImageData(e*t.canvas.width-p.value/2,0,p.value,t.canvas.height)).data}function O(t,e,l){return`hsl(${t*30%360}, ${e*100}%, ${l*100}%)`}function z(t,e){const l=w[t],f=Math.floor(e*3)-1+3+Y.offset;return C(l,f)}D([c,n],()=>{if(i.value||!o.value)return;const t=o.value.getContext("2d"),e=L(t,c.value/d.value,n.value/m.value,a.value);y.value=Z(e,h.value)}),D(s,async()=>{if(s.value){const t=new Image;t.src=s.value,await t.decode();const e=o.value;e.getContext("2d").drawImage(t,0,0,e.width,e.height)}});function M(t){const e=y.value.map(l=>z(l.hueIndex,l.l));J(e),setTimeout(()=>{K(e)},200)}return(t,e)=>(_(),b("div",te,[s.value?(_(),b("div",ne,[r("canvas",{class:"w-full h-full max-w-screen max-h-full",ref_key:"canvasElement",ref:o,width:"1200",height:"1200"},null,512),r("div",{class:R(["absolute flex",{"w-full h-5":a.value==="horizontal","h-full w-5 flex-col":a.value==="vertical"}]),onMousedown:M,onTouchstart:M,style:N(a.value==="horizontal"?`top: ${Math.max(0,k(n)-p.value/2)}px`:"left: 0px")},[(_(!0),b(F,null,T(y.value,l=>(_(),b("div",{class:"relative flex items-center justify-center",key:l.hueIndex,style:N({flex:`1 1 ${l.percent}%`,backgroundColor:O(l.hueIndex,l.s,l.l)})},[r("span",ae,S(z(l.hueIndex,l.l)),1)],4))),128))],38)])):W("",!0),r("div",le,[r("div",se,[e[2]||(e[2]=r("label",{class:"cursor-pointer bg-blue-500 hover-bg-blue-600 text-white font-bold py-2 px-4 rounded",for:"fileInput"},"Load Image",-1)),r("input",{class:"hidden",id:"fileInput",type:"file",accept:"image/*",onChange:H},null,32)]),r("div",oe,[e[4]||(e[4]=r("label",{class:"mr-2"},"Scan direction:",-1)),B(r("select",{"onUpdate:modelValue":e[0]||(e[0]=l=>a.value=l)},e[3]||(e[3]=[r("option",{value:"horizontal"},"Horizontal",-1),r("option",{value:"vertical"},"Vertical",-1)]),512),[[j,a.value]])]),r("div",re,[e[5]||(e[5]=r("label",{class:"mr-2"},"Color count:",-1)),B(r("input",{type:"range","onUpdate:modelValue":e[1]||(e[1]=l=>G(h)?h.value=l:null),min:"1",max:"7",step:"1"},null,512),[[q,k(h)]]),r("span",ue,S(k(h)),1)])])]))}},ve=A(ie,[["__scopeId","data-v-3b278704"]]);export{ve as default}; diff --git a/assets/chunks/PrintKeys.FfuD3lco.js b/assets/chunks/PrintKeys.Ch-NI2Wc.js similarity index 89% rename from assets/chunks/PrintKeys.FfuD3lco.js rename to assets/chunks/PrintKeys.Ch-NI2Wc.js index 6789d2325f..44c27bd0aa 100644 --- a/assets/chunks/PrintKeys.FfuD3lco.js +++ b/assets/chunks/PrintKeys.Ch-NI2Wc.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/jspdf.es.min.By_B_Pou.js","assets/chunks/framework.BR0mAPCP.js","assets/chunks/svg2pdf.es.min.DXlvr2vZ.js","assets/chunks/theme.ClagsQLu.js"])))=>i.map(i=>d[i]); -import{q as k,r as M,b as V,x as r,y as i,A as s,I as b,F as v,_ as S,P as B,C as D,ag as H,c as y,E as c,G as _,B as $,S as I,D as N,z as L}from"./framework.BR0mAPCP.js";import{_ as T}from"./SaveSvg.DARtreR9.js";import{r as C,g as j,a as E,b as F,w as g,c as m,n as w,Q as K}from"./theme.ClagsQLu.js";const O=["download","href"],R={__name:"SavePdf",props:{svg:{type:String},x:{type:Number},y:{type:Number},width:{type:Number,default:210},height:{type:Number,default:297}},setup(o){const u=o,a=M(""),n=V({file:u.file||u.svg,url:""});async function h(f){let{x:l,y:e,width:d,height:t}=u,p=document.getElementById(f);console.log(p);const{jsPDF:x}=await S(async()=>{const{jsPDF:A}=await import("./jspdf.es.min.By_B_Pou.js").then(z=>z.a);return{jsPDF:A}},__vite__mapDeps([0,1]));await S(()=>import("./svg2pdf.es.min.DXlvr2vZ.js"),__vite__mapDeps([2,3,1,0]));const P=new x;P.svg(p,{x:l,y:e,width:d,height:t}).then(()=>{P.save("myPDF.pdf")})}return(f,l)=>(r(),i(v,null,[s("div",{class:"snapshot",onClick:l[0]||(l[0]=e=>h(o.svg))},l[1]||(l[1]=[s("div",{class:"i-la-file-download"},null,-1),s("div",{class:"text-xs font-bold"},"PDF",-1)])),n.url?(r(),i("a",{key:0,ref_key:"anchor",ref:a,target:"_blank",download:n.file,href:n.url},null,8,O)):b("",!0)],64))}},q=k(R,[["__scopeId","data-v-b613853d"]]),G={class:"flex flex-wrap items-center gap-4 bg-light-900 dark-bg-dark-300 rounded-lg shadow-lg max-w-55ch ml-5 p-4"},ht={__name:"SaveButtons",props:{svg:{type:String,default:""},password:{type:String,default:"printable-papers"}},setup(o){const u=M("");return(a,n)=>{const h=T,f=q;return r(),i("div",G,[n[1]||(n[1]=s("div",{class:"text-lg font-bold"},"Download file:",-1)),u.value==o.password?(r(),i(v,{key:0},[B(h,{svg:o.svg},null,8,["svg"]),B(f,{svg:o.svg},null,8,["svg"])],64)):D((r(),i("input",{key:1,class:"rounded dark-bg-dark-800 p-1","onUpdate:modelValue":n[0]||(n[0]=l=>u.value=l),placeholder:"Paste your download code"},null,512)),[[H,u.value]])])}}},Q=["fill"],U={"font-weight":"bold",fill:"white","text-anchor":"middle",x:"350",y:"-50","font-size":"90"},J={class:"white"},W=["transform","onMousedown"],X=["fill"],Y=["fill"],Z=["fill"],tt=["font-weight"],et={class:"black"},st=["transform","onMousedown"],ot=["fill","data-check"],nt=["fill","stroke"],lt=["fill","font-weight"],at={y:"165",x:"42"},rt={y:"50",x:"42"},it={__name:"PrintKeys",props:{chroma:{type:String,default:"100000000000"},letters:{type:Boolean,defualt:!1},pitch:{type:Number,default:0},scale:{type:String},type:{tyoe:String},roman:{type:String,default:""},title:{type:Boolean,default:!0},playAll:{type:Boolean,default:!1}},emits:["update:pitch"],setup(o,{emit:u}){const a=o,n=V({white:[3,5,7,8,10,0,2],black:[4,6,null,9,11,1],chroma:y(()=>C(a.chroma.split(""),-a.pitch)),scale:y(()=>C(j.chroma.split(""),-a.pitch)),title:y(()=>{var e,d;return(e=E(a.chroma))!=null&&e.empty?(d=F(a.chroma))!=null&&d.empty?"":F(a.chroma).aliases[0]:E(a.chroma).aliases[0]})});function h(e){return e!=null&&n.chroma[e]=="1"}function f(e){return a.scale&&e!=null&&n.chroma[e]=="1"}function l(e,d){return e==null?"transparent":e==a.pitch?g(m(e,3)).toHex():h(e)&&!d?g(m(e,3.5)).toHex():w[e].length!=2?"#eee":"#999"}return(e,d)=>(r(),i("svg",{class:L(["w-full mt-2",{letters:o.letters}]),id:"chroma-keys",version:"1.1",baseProfile:"full",viewBox:"-10 -150 720 500",xmlns:"http://www.w3.org/2000/svg","font-weight":"200","font-size":"40","text-anchor":"middle","dominant-baseline":"middle"},[d[0]||(d[0]=s("defs",null,[s("filter",{id:"shadowButton",x:"-50%",height:"200%",width:"300%"},[s("feDropShadow",{dx:"0",dy:"3",stdDeviation:"4","flood-color":"#2225"})])],-1)),s("rect",{y:"-150",width:"710",height:"500",rx:"60",fill:c(g)(c(m)(o.pitch,1,2,1)).toHex()},null,8,Q),s("text",U,_(c(w)[o.pitch])+_(o.type),1),s("g",J,[(r(!0),i(v,null,$(n.white,(t,p)=>(r(),i("g",{class:"key",key:t,transform:`translate(${p*94+30} 30)`,onMousedown:I(x=>e.$emit("update:pitch",t),["stop"])},[s("rect",{class:"transition-all duration-300 ease-out",width:"90",height:"290",rx:"45",fill:l(t,!0),style:{filter:"url(#shadowButton)"}},null,8,X),s("circle",{class:"transition-all duration-300 ease-out",cy:"245",cx:"45",r:"45",fill:l(t)},null,8,Y),D(s("text",{class:"pointer-events-none",y:"250",x:"45",fill:c(g)(c(m)(t)).isDark()?"white":"black"},[s("tspan",{"font-weight":t==o.pitch?800:200},_(c(w)[t]),9,tt)],8,Z),[[N,h(t)]])],40,W))),128))]),s("g",et,[(r(!0),i(v,null,$(n.black,(t,p)=>(r(),i("g",{class:"key",key:t,transform:`translate(${p*95+80} 10)`,onMousedown:I(x=>e.$emit("update:pitch",t),["stop"])},[t?(r(),i("rect",{key:0,class:"transition-all duration-300 ease-out",width:"80",height:"200",rx:"40",style:{filter:"url(#shadowButton)"},fill:l(t,!0),"data-check":t},null,8,ot)):b("",!0),t?(r(),i("circle",{key:1,class:"transition-all duration-300 ease-out",cy:"160",cx:"40",r:"40",fill:l(t),"stroke-width":"8",stroke:f(t)?c(m)(t,3):"transparent"},null,8,nt)):b("",!0),D(s("text",{class:"pointer-events-none",fill:c(g)(c(m)(t)).isDark()?"white":"black","font-weight":t==o.pitch?800:200},[s("tspan",at,_(c(w)[t]),1),s("tspan",rt,_(c(K)[t]),1)],8,lt),[[N,h(t)]])],40,st))),128))])],2))}},ft=k(it,[["__scopeId","data-v-4e3d95b3"]]);export{ft as P,ht as _}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/jspdf.es.min.DHD_tvxK.js","assets/chunks/framework.CQBrk0Ry.js","assets/chunks/svg2pdf.es.min.CX1mGVxl.js","assets/chunks/theme.Dd_Fb62b.js"])))=>i.map(i=>d[i]); +import{q as k,r as M,b as V,x as r,y as i,A as s,I as b,F as v,_ as S,P as B,C as D,ag as H,c as y,E as c,G as _,B as $,S as I,D as N,z as L}from"./framework.CQBrk0Ry.js";import{_ as T}from"./SaveSvg.BMrQsyrm.js";import{r as C,g as j,a as E,b as F,w as g,c as m,n as w,Q as K}from"./theme.Dd_Fb62b.js";const O=["download","href"],R={__name:"SavePdf",props:{svg:{type:String},x:{type:Number},y:{type:Number},width:{type:Number,default:210},height:{type:Number,default:297}},setup(o){const u=o,a=M(""),n=V({file:u.file||u.svg,url:""});async function h(f){let{x:l,y:e,width:d,height:t}=u,p=document.getElementById(f);console.log(p);const{jsPDF:x}=await S(async()=>{const{jsPDF:A}=await import("./jspdf.es.min.DHD_tvxK.js").then(z=>z.a);return{jsPDF:A}},__vite__mapDeps([0,1]));await S(()=>import("./svg2pdf.es.min.CX1mGVxl.js"),__vite__mapDeps([2,3,1,0]));const P=new x;P.svg(p,{x:l,y:e,width:d,height:t}).then(()=>{P.save("myPDF.pdf")})}return(f,l)=>(r(),i(v,null,[s("div",{class:"snapshot",onClick:l[0]||(l[0]=e=>h(o.svg))},l[1]||(l[1]=[s("div",{class:"i-la-file-download"},null,-1),s("div",{class:"text-xs font-bold"},"PDF",-1)])),n.url?(r(),i("a",{key:0,ref_key:"anchor",ref:a,target:"_blank",download:n.file,href:n.url},null,8,O)):b("",!0)],64))}},q=k(R,[["__scopeId","data-v-b613853d"]]),G={class:"flex flex-wrap items-center gap-4 bg-light-900 dark-bg-dark-300 rounded-lg shadow-lg max-w-55ch ml-5 p-4"},ht={__name:"SaveButtons",props:{svg:{type:String,default:""},password:{type:String,default:"printable-papers"}},setup(o){const u=M("");return(a,n)=>{const h=T,f=q;return r(),i("div",G,[n[1]||(n[1]=s("div",{class:"text-lg font-bold"},"Download file:",-1)),u.value==o.password?(r(),i(v,{key:0},[B(h,{svg:o.svg},null,8,["svg"]),B(f,{svg:o.svg},null,8,["svg"])],64)):D((r(),i("input",{key:1,class:"rounded dark-bg-dark-800 p-1","onUpdate:modelValue":n[0]||(n[0]=l=>u.value=l),placeholder:"Paste your download code"},null,512)),[[H,u.value]])])}}},Q=["fill"],U={"font-weight":"bold",fill:"white","text-anchor":"middle",x:"350",y:"-50","font-size":"90"},J={class:"white"},W=["transform","onMousedown"],X=["fill"],Y=["fill"],Z=["fill"],tt=["font-weight"],et={class:"black"},st=["transform","onMousedown"],ot=["fill","data-check"],nt=["fill","stroke"],lt=["fill","font-weight"],at={y:"165",x:"42"},rt={y:"50",x:"42"},it={__name:"PrintKeys",props:{chroma:{type:String,default:"100000000000"},letters:{type:Boolean,defualt:!1},pitch:{type:Number,default:0},scale:{type:String},type:{tyoe:String},roman:{type:String,default:""},title:{type:Boolean,default:!0},playAll:{type:Boolean,default:!1}},emits:["update:pitch"],setup(o,{emit:u}){const a=o,n=V({white:[3,5,7,8,10,0,2],black:[4,6,null,9,11,1],chroma:y(()=>C(a.chroma.split(""),-a.pitch)),scale:y(()=>C(j.chroma.split(""),-a.pitch)),title:y(()=>{var e,d;return(e=E(a.chroma))!=null&&e.empty?(d=F(a.chroma))!=null&&d.empty?"":F(a.chroma).aliases[0]:E(a.chroma).aliases[0]})});function h(e){return e!=null&&n.chroma[e]=="1"}function f(e){return a.scale&&e!=null&&n.chroma[e]=="1"}function l(e,d){return e==null?"transparent":e==a.pitch?g(m(e,3)).toHex():h(e)&&!d?g(m(e,3.5)).toHex():w[e].length!=2?"#eee":"#999"}return(e,d)=>(r(),i("svg",{class:L(["w-full mt-2",{letters:o.letters}]),id:"chroma-keys",version:"1.1",baseProfile:"full",viewBox:"-10 -150 720 500",xmlns:"http://www.w3.org/2000/svg","font-weight":"200","font-size":"40","text-anchor":"middle","dominant-baseline":"middle"},[d[0]||(d[0]=s("defs",null,[s("filter",{id:"shadowButton",x:"-50%",height:"200%",width:"300%"},[s("feDropShadow",{dx:"0",dy:"3",stdDeviation:"4","flood-color":"#2225"})])],-1)),s("rect",{y:"-150",width:"710",height:"500",rx:"60",fill:c(g)(c(m)(o.pitch,1,2,1)).toHex()},null,8,Q),s("text",U,_(c(w)[o.pitch])+_(o.type),1),s("g",J,[(r(!0),i(v,null,$(n.white,(t,p)=>(r(),i("g",{class:"key",key:t,transform:`translate(${p*94+30} 30)`,onMousedown:I(x=>e.$emit("update:pitch",t),["stop"])},[s("rect",{class:"transition-all duration-300 ease-out",width:"90",height:"290",rx:"45",fill:l(t,!0),style:{filter:"url(#shadowButton)"}},null,8,X),s("circle",{class:"transition-all duration-300 ease-out",cy:"245",cx:"45",r:"45",fill:l(t)},null,8,Y),D(s("text",{class:"pointer-events-none",y:"250",x:"45",fill:c(g)(c(m)(t)).isDark()?"white":"black"},[s("tspan",{"font-weight":t==o.pitch?800:200},_(c(w)[t]),9,tt)],8,Z),[[N,h(t)]])],40,W))),128))]),s("g",et,[(r(!0),i(v,null,$(n.black,(t,p)=>(r(),i("g",{class:"key",key:t,transform:`translate(${p*95+80} 10)`,onMousedown:I(x=>e.$emit("update:pitch",t),["stop"])},[t?(r(),i("rect",{key:0,class:"transition-all duration-300 ease-out",width:"80",height:"200",rx:"40",style:{filter:"url(#shadowButton)"},fill:l(t,!0),"data-check":t},null,8,ot)):b("",!0),t?(r(),i("circle",{key:1,class:"transition-all duration-300 ease-out",cy:"160",cx:"40",r:"40",fill:l(t),"stroke-width":"8",stroke:f(t)?c(m)(t,3):"transparent"},null,8,nt)):b("",!0),D(s("text",{class:"pointer-events-none",fill:c(g)(c(m)(t)).isDark()?"white":"black","font-weight":t==o.pitch?800:200},[s("tspan",at,_(c(w)[t]),1),s("tspan",rt,_(c(K)[t]),1)],8,lt),[[N,h(t)]])],40,st))),128))])],2))}},ft=k(it,[["__scopeId","data-v-37161e68"]]);export{ft as P,ht as _}; diff --git a/assets/chunks/RecordRTC.B7sXnKZ4.js b/assets/chunks/RecordRTC.CCXr9uWv.js similarity index 99% rename from assets/chunks/RecordRTC.B7sXnKZ4.js rename to assets/chunks/RecordRTC.CCXr9uWv.js index ce4a7d8460..ee82258ff2 100644 --- a/assets/chunks/RecordRTC.B7sXnKZ4.js +++ b/assets/chunks/RecordRTC.CCXr9uWv.js @@ -1,4 +1,4 @@ -import{A as Ke}from"./theme.ClagsQLu.js";var Ie={exports:{}};(function(Se){var A={};/** +import{A as Ke}from"./theme.Dd_Fb62b.js";var Ie={exports:{}};(function(Se){var A={};/** * {@link https://github.com/muaz-khan/RecordRTC|RecordRTC} is a WebRTC JavaScript library for audio/video as well as screen activity recording. It supports Chrome, Firefox, Opera, Android, and Microsoft Edge. Platforms: Linux, Mac and Windows. * @summary Record audio, video or screen inside the browser. * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT} diff --git a/assets/chunks/RhythmDrumRudiments.DSEu3ro0.js b/assets/chunks/RhythmDrumRudiments.D5g7g7Pq.js similarity index 99% rename from assets/chunks/RhythmDrumRudiments.DSEu3ro0.js rename to assets/chunks/RhythmDrumRudiments.D5g7g7Pq.js index 6cf6628768..9c64d57ed2 100644 --- a/assets/chunks/RhythmDrumRudiments.DSEu3ro0.js +++ b/assets/chunks/RhythmDrumRudiments.D5g7g7Pq.js @@ -1 +1 @@ -import{K as v}from"./theme.ClagsQLu.js";import{b as y,x as t,y as e,F as m,B as s,A as a,G as r,E as k}from"./framework.BR0mAPCP.js";const E={1:{num:1,title:"Single stroke roll",signature:"4/4",ppq:480,totalTicks:480,totalNotes:8,notes:[{duration:.075,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.075,durationTicks:60,midi:38,name:"D2",ticks:60,time:.075,velocity:.5039370078740157},{duration:.07499999999999998,durationTicks:60,midi:40,name:"E2",ticks:120,time:.15,velocity:.5039370078740157},{duration:.07500000000000001,durationTicks:60,midi:38,name:"D2",ticks:180,time:.22499999999999998,velocity:.5039370078740157},{duration:.07500000000000001,durationTicks:60,midi:40,name:"E2",ticks:240,time:.3,velocity:.5039370078740157},{duration:.07499999999999996,durationTicks:60,midi:38,name:"D2",ticks:300,time:.375,velocity:.5039370078740157},{duration:.07500000000000007,durationTicks:60,midi:40,name:"E2",ticks:360,time:.44999999999999996,velocity:.5039370078740157},{duration:.07499999999999996,durationTicks:60,midi:38,name:"D2",ticks:420,time:.525,velocity:.5039370078740157}]},2:{num:2,title:"Single stroke four",signature:"4/4",ppq:480,totalTicks:960,totalNotes:8,notes:[{duration:.09999999999999999,durationTicks:80,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.09999999999999999,durationTicks:80,midi:38,name:"D2",ticks:80,time:.09999999999999999,velocity:.5039370078740157},{duration:.1,durationTicks:80,midi:40,name:"E2",ticks:160,time:.19999999999999998,velocity:.5039370078740157},{duration:.3,durationTicks:240,midi:38,name:"D2",ticks:240,time:.3,velocity:.5039370078740157},{duration:.10000000000000009,durationTicks:80,midi:40,name:"E2",ticks:480,time:.6,velocity:.5039370078740157},{duration:.09999999999999987,durationTicks:80,midi:38,name:"D2",ticks:560,time:.7000000000000001,velocity:.5039370078740157},{duration:.09999999999999998,durationTicks:80,midi:40,name:"E2",ticks:640,time:.7999999999999999,velocity:.5039370078740157},{duration:.30000000000000004,durationTicks:240,midi:38,name:"D2",ticks:720,time:.8999999999999999,velocity:.5039370078740157}]},3:{num:3,title:"Single stroke seven",signature:"4/4",ppq:480,totalTicks:960,totalNotes:7,notes:[{duration:.09999999999999999,durationTicks:80,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.09999999999999999,durationTicks:80,midi:38,name:"D2",ticks:80,time:.09999999999999999,velocity:.5039370078740157},{duration:.1,durationTicks:80,midi:40,name:"E2",ticks:160,time:.19999999999999998,velocity:.5039370078740157},{duration:.09999999999999998,durationTicks:80,midi:38,name:"D2",ticks:240,time:.3,velocity:.5039370078740157},{duration:.10000000000000003,durationTicks:80,midi:40,name:"E2",ticks:320,time:.39999999999999997,velocity:.5039370078740157},{duration:.09999999999999998,durationTicks:80,midi:38,name:"D2",ticks:400,time:.5,velocity:.5039370078740157},{duration:.6,durationTicks:480,midi:40,name:"E2",ticks:480,time:.6,velocity:.6614173228346457}]},4:{num:4,title:"Multiple Bounce Roll",signature:"4/4",ppq:480,totalTicks:1920,totalNotes:16,notes:[{duration:.15,durationTicks:120,midi:40,name:"E2",ticks:0,time:0,velocity:.5590551181102362},{duration:.15,durationTicks:120,midi:38,name:"D2",ticks:120,time:.15,velocity:.5433070866141733},{duration:.14999999999999997,durationTicks:120,midi:40,name:"E2",ticks:240,time:.3,velocity:.5669291338582677},{duration:.15000000000000002,durationTicks:120,midi:38,name:"D2",ticks:360,time:.44999999999999996,velocity:.5196850393700787},{duration:.15000000000000002,durationTicks:120,midi:40,name:"E2",ticks:480,time:.6,velocity:.5275590551181102},{duration:.1499999999999999,durationTicks:120,midi:38,name:"D2",ticks:600,time:.75,velocity:.5748031496062992},{duration:.15000000000000013,durationTicks:120,midi:40,name:"E2",ticks:720,time:.8999999999999999,velocity:.5590551181102362},{duration:.1499999999999999,durationTicks:120,midi:38,name:"D2",ticks:840,time:1.05,velocity:.5826771653543307},{duration:.1499999999999999,durationTicks:120,midi:40,name:"E2",ticks:960,time:1.2,velocity:.5590551181102362},{duration:.15000000000000013,durationTicks:120,midi:38,name:"D2",ticks:1080,time:1.3499999999999999,velocity:.5275590551181102},{duration:.1499999999999999,durationTicks:120,midi:40,name:"E2",ticks:1200,time:1.5,velocity:.5354330708661418},{duration:.1499999999999999,durationTicks:120,midi:38,name:"D2",ticks:1320,time:1.65,velocity:.5354330708661418},{duration:.15000000000000013,durationTicks:120,midi:40,name:"E2",ticks:1440,time:1.7999999999999998,velocity:.5275590551181102},{duration:.15000000000000013,durationTicks:120,midi:38,name:"D2",ticks:1560,time:1.95,velocity:.5039370078740157},{duration:.1499999999999999,durationTicks:120,midi:40,name:"E2",ticks:1680,time:2.1,velocity:.5196850393700787},{duration:.1499999999999999,durationTicks:120,midi:38,name:"D2",ticks:1800,time:2.25,velocity:.5354330708661418}]},5:{num:5,title:"Triple Stroke Roll",signature:"4/4",ppq:480,totalTicks:960,totalNotes:12,notes:[{duration:.09999999999999999,durationTicks:80,midi:40,name:"E2",ticks:0,time:0,velocity:.5669291338582677},{duration:.09999999999999999,durationTicks:80,midi:40,name:"E2",ticks:80,time:.09999999999999999,velocity:.5748031496062992},{duration:.1,durationTicks:80,midi:40,name:"E2",ticks:160,time:.19999999999999998,velocity:.5590551181102362},{duration:.09999999999999998,durationTicks:80,midi:38,name:"D2",ticks:240,time:.3,velocity:.5354330708661418},{duration:.10000000000000003,durationTicks:80,midi:38,name:"D2",ticks:320,time:.39999999999999997,velocity:.5275590551181102},{duration:.09999999999999998,durationTicks:80,midi:38,name:"D2",ticks:400,time:.5,velocity:.5275590551181102},{duration:.10000000000000009,durationTicks:80,midi:40,name:"E2",ticks:480,time:.6,velocity:.5590551181102362},{duration:.09999999999999987,durationTicks:80,midi:40,name:"E2",ticks:560,time:.7000000000000001,velocity:.5511811023622047},{duration:.09999999999999998,durationTicks:80,midi:40,name:"E2",ticks:640,time:.7999999999999999,velocity:.5748031496062992},{duration:.10000000000000009,durationTicks:80,midi:38,name:"D2",ticks:720,time:.8999999999999999,velocity:.5354330708661418},{duration:.09999999999999987,durationTicks:80,midi:38,name:"D2",ticks:800,time:1,velocity:.5275590551181102},{duration:.10000000000000009,durationTicks:80,midi:38,name:"D2",ticks:880,time:1.0999999999999999,velocity:.5275590551181102}]},6:{num:6,title:"Double Stroke Open Roll",signature:"4/4",ppq:480,totalTicks:660,totalNotes:22,notes:[{duration:.0375,durationTicks:30,midi:40,name:"E2",ticks:0,time:0,velocity:.5590551181102362},{duration:.0375,durationTicks:30,midi:40,name:"E2",ticks:30,time:.0375,velocity:.5354330708661418},{duration:.03749999999999999,durationTicks:30,midi:38,name:"D2",ticks:60,time:.075,velocity:.5590551181102362},{duration:.037500000000000006,durationTicks:30,midi:38,name:"D2",ticks:90,time:.11249999999999999,velocity:.5354330708661418},{duration:.037500000000000006,durationTicks:30,midi:40,name:"E2",ticks:120,time:.15,velocity:.5826771653543307},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:150,time:.1875,velocity:.5669291338582677},{duration:.03750000000000003,durationTicks:30,midi:38,name:"D2",ticks:180,time:.22499999999999998,velocity:.5354330708661418},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:210,time:.2625,velocity:.5826771653543307},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:240,time:.3,velocity:.5433070866141733},{duration:.03750000000000003,durationTicks:30,midi:40,name:"E2",ticks:270,time:.33749999999999997,velocity:.5590551181102362},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:300,time:.375,velocity:.5669291338582677},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:330,time:.4125,velocity:.5039370078740157},{duration:.03750000000000003,durationTicks:30,midi:40,name:"E2",ticks:360,time:.44999999999999996,velocity:.5196850393700787},{duration:.03750000000000003,durationTicks:30,midi:40,name:"E2",ticks:390,time:.4875,velocity:.5511811023622047},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:420,time:.525,velocity:.5354330708661418},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:450,time:.5625,velocity:.5354330708661418},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:480,time:.6,velocity:.5354330708661418},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:510,time:.6375,velocity:.5433070866141733},{duration:.03750000000000009,durationTicks:30,midi:38,name:"D2",ticks:540,time:.6749999999999999,velocity:.5826771653543307},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:570,time:.7125,velocity:.5826771653543307},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:600,time:.75,velocity:.5590551181102362},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:630,time:.7875,velocity:.5196850393700787}]},7:{num:7,title:"Five Stroke Roll",signature:"4/4",ppq:480,totalTicks:540,totalNotes:9,notes:[{duration:.12711862499999999,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.12711862499999999,durationTicks:60,midi:40,name:"E2",ticks:60,time:.12711862499999999,velocity:.5039370078740157},{duration:.12711862499999999,durationTicks:60,midi:38,name:"D2",ticks:120,time:.25423724999999997,velocity:.5039370078740157},{duration:.12711862499999999,durationTicks:60,midi:38,name:"D2",ticks:180,time:.38135587499999996,velocity:.5039370078740157},{duration:.12711862500000004,durationTicks:60,midi:40,name:"E2",ticks:240,time:.5084744999999999,velocity:.5039370078740157},{duration:.12711862499999993,durationTicks:60,midi:40,name:"E2",ticks:300,time:.635593125,velocity:.5039370078740157},{duration:.12711862499999993,durationTicks:60,midi:38,name:"D2",ticks:360,time:.7627117499999999,velocity:.5039370078740157},{duration:.12711862500000004,durationTicks:60,midi:38,name:"D2",ticks:420,time:.8898303749999998,velocity:.5039370078740157},{duration:.12711862500000004,durationTicks:60,midi:40,name:"E2",ticks:480,time:1.0169489999999999,velocity:.7401574803149606}]},8:{num:8,title:"Six Stroke Roll",signature:"4/4",ppq:480,totalTicks:360,totalNotes:6,notes:[{duration:.051724125,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7244094488188977},{duration:.051724125,durationTicks:60,midi:38,name:"D2",ticks:60,time:.051724125,velocity:.5039370078740157},{duration:.051724124999999996,durationTicks:60,midi:38,name:"D2",ticks:120,time:.10344825,velocity:.5590551181102362},{duration:.05172412500000001,durationTicks:60,midi:40,name:"E2",ticks:180,time:.155172375,velocity:.6141732283464567},{duration:.05172412499999998,durationTicks:60,midi:40,name:"E2",ticks:240,time:.2068965,velocity:.5748031496062992},{duration:.05172412500000001,durationTicks:60,midi:38,name:"D2",ticks:300,time:.258620625,velocity:.7401574803149606}]},9:{num:9,title:"Seven Stroke Roll",signature:"4/4",ppq:480,totalTicks:960,totalNotes:7,notes:[{duration:.06451599999999999,durationTicks:80,midi:40,name:"E2",ticks:0,time:0,velocity:.6220472440944882},{duration:.06451599999999999,durationTicks:80,midi:40,name:"E2",ticks:80,time:.06451599999999999,velocity:.5748031496062992},{duration:.06451600000000002,durationTicks:80,midi:38,name:"D2",ticks:160,time:.12903199999999998,velocity:.6535433070866141},{duration:.06451599999999996,durationTicks:80,midi:38,name:"D2",ticks:240,time:.193548,velocity:.5826771653543307},{duration:.06451600000000007,durationTicks:80,midi:40,name:"E2",ticks:320,time:.25806399999999996,velocity:.5669291338582677},{duration:.06451599999999996,durationTicks:80,midi:40,name:"E2",ticks:400,time:.32258000000000003,velocity:.6141732283464567},{duration:.387096,durationTicks:480,midi:40,name:"E2",ticks:480,time:.387096,velocity:.7637795275590551}]},10:{num:10,title:"Nine Stroke Roll",signature:"4/4",ppq:480,totalTicks:960,totalNotes:9,notes:[{duration:.07281549999999999,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5826771653543307},{duration:.07281549999999999,durationTicks:60,midi:40,name:"E2",ticks:60,time:.07281549999999999,velocity:.5354330708661418},{duration:.0728155,durationTicks:60,midi:38,name:"D2",ticks:120,time:.14563099999999998,velocity:.5196850393700787},{duration:.07281549999999998,durationTicks:60,midi:38,name:"D2",ticks:180,time:.2184465,velocity:.5511811023622047},{duration:.07281549999999998,durationTicks:60,midi:40,name:"E2",ticks:240,time:.29126199999999997,velocity:.5590551181102362},{duration:.07281550000000003,durationTicks:60,midi:40,name:"E2",ticks:300,time:.36407749999999994,velocity:.5275590551181102},{duration:.07281549999999992,durationTicks:60,midi:38,name:"D2",ticks:360,time:.436893,velocity:.5748031496062992},{duration:.07281550000000003,durationTicks:60,midi:38,name:"D2",ticks:420,time:.5097084999999999,velocity:.5196850393700787},{duration:.5825239999999999,durationTicks:480,midi:40,name:"E2",ticks:480,time:.5825239999999999,velocity:.7716535433070866}]},11:{num:11,title:"Ten Stroke Roll",signature:"4/4",ppq:480,totalTicks:600,totalNotes:10,notes:[{duration:.0773195,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5826771653543307},{duration:.0773195,durationTicks:60,midi:40,name:"E2",ticks:60,time:.0773195,velocity:.5354330708661418},{duration:.07731950000000001,durationTicks:60,midi:38,name:"D2",ticks:120,time:.154639,velocity:.5196850393700787},{duration:.07731949999999999,durationTicks:60,midi:38,name:"D2",ticks:180,time:.2319585,velocity:.5511811023622047},{duration:.07731949999999999,durationTicks:60,midi:40,name:"E2",ticks:240,time:.309278,velocity:.5590551181102362},{duration:.07731950000000004,durationTicks:60,midi:40,name:"E2",ticks:300,time:.3865975,velocity:.5275590551181102},{duration:.07731949999999999,durationTicks:60,midi:38,name:"D2",ticks:360,time:.463917,velocity:.5748031496062992},{duration:.07731949999999999,durationTicks:60,midi:38,name:"D2",ticks:420,time:.5412365,velocity:.5196850393700787},{duration:.07731949999999999,durationTicks:60,midi:40,name:"E2",ticks:480,time:.618556,velocity:.7716535433070866},{duration:.07731949999999999,durationTicks:60,midi:40,name:"E2",ticks:540,time:.6958755,velocity:.7795275590551181}]},12:{num:12,title:"Eleven Stroke Roll",signature:"4/4",ppq:480,totalTicks:540,totalNotes:11,notes:[{duration:.055970125,durationTicks:30,midi:40,name:"E2",ticks:0,time:0,velocity:.5669291338582677},{duration:.055970125,durationTicks:30,midi:40,name:"E2",ticks:30,time:.055970125,velocity:.5826771653543307},{duration:.055970124999999996,durationTicks:30,midi:38,name:"D2",ticks:60,time:.11194025,velocity:.5590551181102362},{duration:.05597012500000001,durationTicks:30,midi:38,name:"D2",ticks:90,time:.167910375,velocity:.5039370078740157},{duration:.05597012500000001,durationTicks:30,midi:40,name:"E2",ticks:120,time:.2238805,velocity:.5275590551181102},{duration:.05597012499999998,durationTicks:30,midi:40,name:"E2",ticks:150,time:.279850625,velocity:.5511811023622047},{duration:.05597012500000004,durationTicks:30,midi:38,name:"D2",ticks:180,time:.33582075,velocity:.5669291338582677},{duration:.05597012499999998,durationTicks:30,midi:38,name:"D2",ticks:210,time:.39179087500000004,velocity:.5748031496062992},{duration:.05597012500000004,durationTicks:30,midi:40,name:"E2",ticks:240,time:.447761,velocity:.5433070866141733},{duration:.05597012499999998,durationTicks:30,midi:40,name:"E2",ticks:270,time:.5037311250000001,velocity:.5039370078740157},{duration:.4477610000000001,durationTicks:240,midi:40,name:"E2",ticks:300,time:.55970125,velocity:.7716535433070866}]},13:{num:13,title:"Thirteen Stroke Roll",signature:"4/4",ppq:480,totalTicks:780,totalNotes:13,notes:[{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5905511811023622},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:60,time:.061475375,velocity:.5590551181102362},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:120,time:.12295075,velocity:.5590551181102362},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:180,time:.184426125,velocity:.5039370078740157},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:240,time:.2459015,velocity:.5905511811023622},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:300,time:.307376875,velocity:.5354330708661418},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:360,time:.36885225,velocity:.5590551181102362},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:420,time:.430327625,velocity:.5354330708661418},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:480,time:.491803,velocity:.5826771653543307},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:540,time:.553278375,velocity:.5196850393700787},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:600,time:.61475375,velocity:.5669291338582677},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:660,time:.676229125,velocity:.5039370078740157},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:720,time:.7377045,velocity:.7795275590551181}]},14:{num:14,title:"Fifteen Stroke Roll",signature:"4/4",ppq:480,totalTicks:450,totalNotes:15,notes:[{duration:.0403225625,durationTicks:30,midi:40,name:"E2",ticks:0,time:0,velocity:.5905511811023622},{duration:.0403225625,durationTicks:30,midi:40,name:"E2",ticks:30,time:.0403225625,velocity:.5590551181102362},{duration:.040322562500000006,durationTicks:30,midi:38,name:"D2",ticks:60,time:.080645125,velocity:.5590551181102362},{duration:.04032256249999999,durationTicks:30,midi:38,name:"D2",ticks:90,time:.1209676875,velocity:.5039370078740157},{duration:.04032256249999999,durationTicks:30,midi:40,name:"E2",ticks:120,time:.16129025,velocity:.5905511811023622},{duration:.04032256250000002,durationTicks:30,midi:40,name:"E2",ticks:150,time:.2016128125,velocity:.5354330708661418},{duration:.04032256249999999,durationTicks:30,midi:38,name:"D2",ticks:180,time:.241935375,velocity:.5590551181102362},{duration:.04032256249999999,durationTicks:30,midi:38,name:"D2",ticks:210,time:.2822579375,velocity:.5354330708661418},{duration:.04032256249999999,durationTicks:30,midi:40,name:"E2",ticks:240,time:.3225805,velocity:.5826771653543307},{duration:.04032256249999999,durationTicks:30,midi:40,name:"E2",ticks:270,time:.3629030625,velocity:.5196850393700787},{duration:.04032256249999999,durationTicks:30,midi:38,name:"D2",ticks:300,time:.403225625,velocity:.5669291338582677},{duration:.04032256250000005,durationTicks:30,midi:38,name:"D2",ticks:330,time:.44354818749999997,velocity:.5039370078740157},{duration:.04032256249999999,durationTicks:30,midi:40,name:"E2",ticks:360,time:.48387075,velocity:.5669291338582677},{duration:.04032256249999999,durationTicks:30,midi:40,name:"E2",ticks:390,time:.5241933125,velocity:.5748031496062992},{duration:.04032256249999999,durationTicks:30,midi:38,name:"D2",ticks:420,time:.564515875,velocity:.7795275590551181}]},15:{num:15,title:"Seventeen Stroke Roll",signature:"4/4",ppq:480,totalTicks:510,totalNotes:17,notes:[{duration:.041666625,durationTicks:30,midi:40,name:"E2",ticks:0,time:0,velocity:.5905511811023622},{duration:.041666625,durationTicks:30,midi:40,name:"E2",ticks:30,time:.041666625,velocity:.5590551181102362},{duration:.041666625,durationTicks:30,midi:38,name:"D2",ticks:60,time:.08333325,velocity:.5590551181102362},{duration:.041666625,durationTicks:30,midi:38,name:"D2",ticks:90,time:.124999875,velocity:.5039370078740157},{duration:.04166662500000001,durationTicks:30,midi:40,name:"E2",ticks:120,time:.1666665,velocity:.5905511811023622},{duration:.041666624999999985,durationTicks:30,midi:40,name:"E2",ticks:150,time:.208333125,velocity:.5354330708661418},{duration:.041666624999999985,durationTicks:30,midi:38,name:"D2",ticks:180,time:.24999975,velocity:.5590551181102362},{duration:.04166662500000001,durationTicks:30,midi:38,name:"D2",ticks:210,time:.291666375,velocity:.5354330708661418},{duration:.04166662500000001,durationTicks:30,midi:40,name:"E2",ticks:240,time:.333333,velocity:.5826771653543307},{duration:.04166662500000001,durationTicks:30,midi:40,name:"E2",ticks:270,time:.374999625,velocity:.5196850393700787},{duration:.04166662499999996,durationTicks:30,midi:38,name:"D2",ticks:300,time:.41666625,velocity:.5669291338582677},{duration:.04166662500000001,durationTicks:30,midi:38,name:"D2",ticks:330,time:.458332875,velocity:.5039370078740157},{duration:.04166662500000001,durationTicks:30,midi:40,name:"E2",ticks:360,time:.4999995,velocity:.5669291338582677},{duration:.04166662499999996,durationTicks:30,midi:40,name:"E2",ticks:390,time:.541666125,velocity:.5748031496062992},{duration:.04166662500000007,durationTicks:30,midi:38,name:"D2",ticks:420,time:.58333275,velocity:.5748031496062992},{duration:.04166662499999996,durationTicks:30,midi:38,name:"D2",ticks:450,time:.624999375,velocity:.5354330708661418},{duration:.04166662499999996,durationTicks:30,midi:40,name:"E2",ticks:480,time:.666666,velocity:.7874015748031497}]},16:{num:16,title:"Single Paradiddle",signature:"4/4",ppq:480,totalTicks:480,totalNotes:8,notes:[{duration:.06410249999999999,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7795275590551181},{duration:.06410249999999999,durationTicks:60,midi:38,name:"D2",ticks:60,time:.06410249999999999,velocity:.5275590551181102},{duration:.06410249999999998,durationTicks:60,midi:40,name:"E2",ticks:120,time:.12820499999999999,velocity:.5354330708661418},{duration:.0641025,durationTicks:60,midi:40,name:"E2",ticks:180,time:.19230749999999996,velocity:.5511811023622047},{duration:.0641025,durationTicks:60,midi:40,name:"E2",ticks:240,time:.25640999999999997,velocity:.7637795275590551},{duration:.06410249999999995,durationTicks:60,midi:38,name:"D2",ticks:300,time:.3205125,velocity:.5590551181102362},{duration:.0641025,durationTicks:60,midi:40,name:"E2",ticks:360,time:.38461499999999993,velocity:.5826771653543307},{duration:.0641025,durationTicks:60,midi:40,name:"E2",ticks:420,time:.44871749999999994,velocity:.5039370078740157}]},17:{num:17,title:"Double Paradiddle",signature:"4/4",ppq:480,totalTicks:720,totalNotes:6,notes:[{duration:.09615375,durationTicks:120,midi:40,name:"E2",ticks:0,time:0,velocity:.7795275590551181},{duration:.09615375,durationTicks:120,midi:38,name:"D2",ticks:120,time:.09615375,velocity:.5590551181102362},{duration:.09615375000000001,durationTicks:120,midi:40,name:"E2",ticks:240,time:.1923075,velocity:.5354330708661418},{duration:.09615374999999998,durationTicks:120,midi:38,name:"D2",ticks:360,time:.28846125,velocity:.5196850393700787},{duration:.09615374999999998,durationTicks:120,midi:40,name:"E2",ticks:480,time:.384615,velocity:.5511811023622047},{duration:.09615375000000004,durationTicks:120,midi:40,name:"E2",ticks:600,time:.48076874999999997,velocity:.5590551181102362}]},18:{num:18,title:"Triple Paradiddle",signature:"4/4",ppq:480,totalTicks:480,totalNotes:8,notes:[{duration:.070093375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7795275590551181},{duration:.070093375,durationTicks:60,midi:38,name:"D2",ticks:60,time:.070093375,velocity:.5590551181102362},{duration:.07009337499999999,durationTicks:60,midi:40,name:"E2",ticks:120,time:.14018675,velocity:.5354330708661418},{duration:.07009337500000001,durationTicks:60,midi:38,name:"D2",ticks:180,time:.21028012499999998,velocity:.5196850393700787},{duration:.07009337500000001,durationTicks:60,midi:40,name:"E2",ticks:240,time:.2803735,velocity:.5511811023622047},{duration:.07009337499999996,durationTicks:60,midi:38,name:"D2",ticks:300,time:.350466875,velocity:.5590551181102362},{duration:.07009337500000001,durationTicks:60,midi:40,name:"E2",ticks:360,time:.42056024999999997,velocity:.5118110236220472},{duration:.07009337500000001,durationTicks:60,midi:40,name:"E2",ticks:420,time:.490653625,velocity:.5590551181102362}]},19:{num:19,title:"Paradiddle-Diddle",signature:"4/4",ppq:480,totalTicks:480,totalNotes:8,notes:[{duration:.06355925,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7795275590551181},{duration:.06355925,durationTicks:60,midi:38,name:"D2",ticks:60,time:.06355925,velocity:.5590551181102362},{duration:.06355924999999998,durationTicks:60,midi:40,name:"E2",ticks:120,time:.1271185,velocity:.5354330708661418},{duration:.06355925000000001,durationTicks:60,midi:38,name:"D2",ticks:180,time:.19067774999999998,velocity:.5196850393700787},{duration:.06355925000000001,durationTicks:60,midi:40,name:"E2",ticks:240,time:.254237,velocity:.5511811023622047},{duration:.06355924999999996,durationTicks:60,midi:40,name:"E2",ticks:300,time:.31779625,velocity:.5590551181102362},{duration:.06355925000000001,durationTicks:60,midi:38,name:"D2",ticks:360,time:.38135549999999996,velocity:.5118110236220472},{duration:.06355925000000001,durationTicks:60,midi:38,name:"D2",ticks:420,time:.44491474999999997,velocity:.5590551181102362}]},20:{num:20,title:"Flam",signature:"4/4",ppq:480,totalTicks:1920,totalNotes:8,notes:[{duration:.75,durationTicks:480,midi:40,name:"E2",ticks:0,time:0,velocity:.5118110236220472},{duration:.10781250000000002,durationTicks:69,midi:38,name:"D2",ticks:27,time:.0421875,velocity:.41732283464566927},{duration:.0859375,durationTicks:55,midi:40,name:"E2",ticks:447,time:.6984375,velocity:.47244094488188976},{duration:.75,durationTicks:480,midi:38,name:"D2",ticks:480,time:.75,velocity:.5905511811023622},{duration:.06718750000000018,durationTicks:43,midi:38,name:"D2",ticks:942,time:1.4718749999999998,velocity:.47244094488188976},{duration:.75,durationTicks:480,midi:40,name:"E2",ticks:960,time:1.5,velocity:.5511811023622047},{duration:.07500000000000018,durationTicks:48,midi:40,name:"E2",ticks:1415,time:2.2109375,velocity:.47244094488188976},{duration:.75,durationTicks:480,midi:38,name:"D2",ticks:1440,time:2.25,velocity:.6062992125984252}]},21:{num:21,title:"Flam Accent",signature:"4/4",ppq:480,totalTicks:960,totalNotes:8,notes:[{duration:.09375,durationTicks:60,midi:38,name:"D2",ticks:0,time:0,velocity:.7401574803149606},{duration:.25,durationTicks:160,midi:40,name:"E2",ticks:0,time:0,velocity:.7244094488188977},{duration:.25,durationTicks:160,midi:38,name:"D2",ticks:160,time:.25,velocity:.5039370078740157},{duration:.25,durationTicks:160,midi:40,name:"E2",ticks:320,time:.5,velocity:.5039370078740157},{duration:.0546875,durationTicks:35,midi:40,name:"E2",ticks:445,time:.6953125,velocity:.5039370078740157},{duration:.25,durationTicks:160,midi:38,name:"D2",ticks:468,time:.73125,velocity:.7637795275590551},{duration:.25,durationTicks:160,midi:40,name:"E2",ticks:640,time:1,velocity:.5039370078740157},{duration:.25,durationTicks:160,midi:38,name:"D2",ticks:800,time:1.25,velocity:.5039370078740157}]},22:{num:22,title:"Flam Tap",signature:"4/4",ppq:480,totalTicks:480,totalNotes:6,notes:[{duration:.0974025,durationTicks:60,midi:38,name:"D2",ticks:0,time:0,velocity:.7401574803149606},{duration:.194805,durationTicks:120,midi:40,name:"E2",ticks:0,time:0,velocity:.7559055118110236},{duration:.194805,durationTicks:120,midi:40,name:"E2",ticks:120,time:.194805,velocity:.5590551181102362},{duration:.04545450000000001,durationTicks:28,midi:40,name:"E2",ticks:215,time:.349025625,velocity:.5039370078740157},{duration:.194805,durationTicks:120,midi:38,name:"D2",ticks:240,time:.38961,velocity:.7244094488188977},{duration:.194805,durationTicks:120,midi:38,name:"D2",ticks:360,time:.584415,velocity:.5905511811023622}]},23:{num:23,title:"Flamacue",signature:"4/4",ppq:480,totalTicks:540,totalNotes:7,notes:[{duration:.104166625,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.20833325,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.5354330708661418},{duration:.20833325,durationTicks:120,midi:40,name:"E2",ticks:120,time:.20833325,velocity:.7716535433070866},{duration:.20833324999999997,durationTicks:120,midi:38,name:"D2",ticks:240,time:.4166665,velocity:.5826771653543307},{duration:.20833325000000003,durationTicks:120,midi:40,name:"E2",ticks:360,time:.62499975,velocity:.5511811023622047},{duration:.7291663749999999,durationTicks:420,midi:38,name:"D2",ticks:469,time:.8142357854166666,velocity:.6062992125984252},{duration:.10416662499999996,durationTicks:60,midi:40,name:"E2",ticks:480,time:.833333,velocity:.5039370078740157}]},24:{num:24,title:"Flam Paradiddle",signature:"4/4",ppq:480,totalTicks:480,totalNotes:5,notes:[{duration:.07352937500000001,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.14705875000000002,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.5354330708661418},{duration:.14705875000000002,durationTicks:120,midi:40,name:"E2",ticks:120,time:.14705875000000002,velocity:.5511811023622047},{duration:.14705875000000002,durationTicks:120,midi:38,name:"D2",ticks:240,time:.29411750000000003,velocity:.5826771653543307},{duration:.14705875000000002,durationTicks:120,midi:38,name:"D2",ticks:360,time:.44117625000000005,velocity:.5511811023622047}]},25:{num:25,title:"Single Flammed Mill",signature:"4/4",ppq:480,totalTicks:480,totalNotes:5,notes:[{duration:.09615375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.1923075,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.7480314960629921},{duration:.1923075,durationTicks:120,midi:38,name:"D2",ticks:120,time:.1923075,velocity:.5511811023622047},{duration:.19230750000000002,durationTicks:120,midi:40,name:"E2",ticks:240,time:.384615,velocity:.5826771653543307},{duration:.19230749999999996,durationTicks:120,midi:38,name:"D2",ticks:360,time:.5769225,velocity:.5511811023622047}]},26:{num:26,title:"Flam Paradiddle-Diddle",signature:"4/4",ppq:480,totalTicks:720,totalNotes:7,notes:[{duration:.091463375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.18292675,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.7480314960629921},{duration:.18292675,durationTicks:120,midi:40,name:"E2",ticks:120,time:.18292675,velocity:.5511811023622047},{duration:.18292674999999997,durationTicks:120,midi:38,name:"D2",ticks:240,time:.3658535,velocity:.5826771653543307},{duration:.18292675000000003,durationTicks:120,midi:38,name:"D2",ticks:360,time:.54878025,velocity:.5511811023622047},{duration:.18292675000000003,durationTicks:120,midi:40,name:"E2",ticks:480,time:.731707,velocity:.5354330708661418},{duration:.18292674999999992,durationTicks:120,midi:40,name:"E2",ticks:600,time:.91463375,velocity:.5118110236220472}]},27:{num:27,title:"Pataflafla",signature:"4/4",ppq:480,totalTicks:453,totalNotes:6,notes:[{duration:.0714285,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.142857,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.7480314960629921},{duration:.142857,durationTicks:120,midi:40,name:"E2",ticks:120,time:.142857,velocity:.5511811023622047},{duration:.142857,durationTicks:120,midi:38,name:"D2",ticks:240,time:.285714,velocity:.5826771653543307},{duration:.09285704999999994,durationTicks:78,midi:38,name:"D2",ticks:373,time:.44404717500000007,velocity:.5039370078740157},{duration:.07142850000000006,durationTicks:60,midi:40,name:"E2",ticks:393,time:.467856675,velocity:.7559055118110236}]},28:{num:28,title:"Swiss Army Triplet",signature:"4/4",ppq:480,totalTicks:480,totalNotes:8,notes:[{duration:.0765305,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.10204066666666667,durationTicks:80,midi:38,name:"D2",ticks:0,time:0,velocity:.7637795275590551},{duration:.10204066666666667,durationTicks:80,midi:38,name:"D2",ticks:80,time:.10204066666666667,velocity:.5354330708661418},{duration:.10204066666666667,durationTicks:80,midi:40,name:"E2",ticks:160,time:.20408133333333334,velocity:.5433070866141733},{duration:.0765305,durationTicks:60,midi:40,name:"E2",ticks:240,time:.306122,velocity:.5039370078740157},{duration:.025510166666666667,durationTicks:20,midi:38,name:"D2",ticks:300,time:.3826525,velocity:.7244094488188977},{duration:.10204066666666667,durationTicks:80,midi:38,name:"D2",ticks:320,time:.4081626666666667,velocity:.5196850393700787},{duration:.10204066666666667,durationTicks:80,midi:40,name:"E2",ticks:400,time:.5102033333333333,velocity:.5590551181102362}]},29:{num:29,title:"Inverted Flam Tap",signature:"4/4",ppq:480,totalTicks:480,totalNotes:6,notes:[{duration:.08333325,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.1666665,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.7480314960629921},{duration:.1666665,durationTicks:120,midi:40,name:"E2",ticks:120,time:.1666665,velocity:.5511811023622047},{duration:.02777774999999999,durationTicks:20,midi:38,name:"D2",ticks:220,time:.30555525,velocity:.5039370078740157},{duration:.1666665,durationTicks:120,midi:40,name:"E2",ticks:240,time:.333333,velocity:.7165354330708661},{duration:.1666665,durationTicks:120,midi:38,name:"D2",ticks:360,time:.4999995,velocity:.5433070866141733}]},30:{num:30,title:"Flam Drag",signature:"4/4",ppq:480,totalTicks:720,totalNotes:5,notes:[{duration:.07352937500000001,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.29411750000000003,durationTicks:240,midi:38,name:"D2",ticks:0,time:0,velocity:.7480314960629921},{duration:.14705875000000002,durationTicks:120,midi:40,name:"E2",ticks:240,time:.29411750000000003,velocity:.5511811023622047},{duration:.14705875000000002,durationTicks:120,midi:40,name:"E2",ticks:360,time:.44117625000000005,velocity:.5826771653543307},{duration:.29411750000000003,durationTicks:240,midi:38,name:"D2",ticks:480,time:.5882350000000001,velocity:.5354330708661418}]},31:{num:31,title:"Drag (Ruff)",signature:"4/4",ppq:480,totalTicks:960,totalNotes:6,notes:[{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:60,time:.069444375,velocity:.5039370078740157},{duration:.41666625,durationTicks:360,midi:38,name:"D2",ticks:120,time:.13888875,velocity:.7244094488188977},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:480,time:.555555,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:540,time:.624999375,velocity:.5039370078740157},{duration:.41666625,durationTicks:360,midi:40,name:"E2",ticks:600,time:.69444375,velocity:.7322834645669292}]},32:{num:32,title:"Single Drag",signature:"4/4",ppq:480,totalTicks:960,totalNotes:8,notes:[{duration:.05859375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.05859375,durationTicks:60,midi:40,name:"E2",ticks:60,time:.05859375,velocity:.5039370078740157},{duration:.1171875,durationTicks:120,midi:38,name:"D2",ticks:120,time:.1171875,velocity:.5039370078740157},{duration:.234375,durationTicks:240,midi:40,name:"E2",ticks:240,time:.234375,velocity:.7559055118110236},{duration:.05859375,durationTicks:60,midi:38,name:"D2",ticks:480,time:.46875,velocity:.5039370078740157},{duration:.05859375,durationTicks:60,midi:38,name:"D2",ticks:540,time:.52734375,velocity:.5039370078740157},{duration:.1171875,durationTicks:120,midi:40,name:"E2",ticks:600,time:.5859375,velocity:.5039370078740157},{duration:.234375,durationTicks:240,midi:38,name:"D2",ticks:720,time:.703125,velocity:.7244094488188977}]},33:{num:33,title:"Double Drag",signature:"4/4",ppq:480,totalTicks:1440,totalNotes:14,notes:[{duration:.080645125,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.080645125,durationTicks:60,midi:40,name:"E2",ticks:60,time:.080645125,velocity:.5039370078740157},{duration:.16129025,durationTicks:120,midi:38,name:"D2",ticks:120,time:.16129025,velocity:.5511811023622047},{duration:.08064512499999998,durationTicks:60,midi:40,name:"E2",ticks:240,time:.3225805,velocity:.5039370078740157},{duration:.08064512500000004,durationTicks:60,midi:40,name:"E2",ticks:300,time:.403225625,velocity:.5039370078740157},{duration:.16129024999999997,durationTicks:120,midi:38,name:"D2",ticks:360,time:.48387075,velocity:.5275590551181102},{duration:.32258050000000005,durationTicks:240,midi:40,name:"E2",ticks:480,time:.645161,velocity:.7559055118110236},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:720,time:.9677415,velocity:.5039370078740157},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:780,time:1.048386625,velocity:.5039370078740157},{duration:.16129024999999997,durationTicks:120,midi:40,name:"E2",ticks:840,time:1.12903175,velocity:.5039370078740157},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:960,time:1.290322,velocity:.5039370078740157},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:1020,time:1.370967125,velocity:.5039370078740157},{duration:.16129024999999997,durationTicks:120,midi:40,name:"E2",ticks:1080,time:1.45161225,velocity:.5590551181102362},{duration:.32258050000000016,durationTicks:240,midi:38,name:"D2",ticks:1200,time:1.6129025,velocity:.7244094488188977}]},34:{num:34,title:"Lesson 25 (Two and Three)",signature:"4/4",ppq:480,totalTicks:960,totalNotes:10,notes:[{duration:.06818175,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.06818175,durationTicks:60,midi:40,name:"E2",ticks:60,time:.06818175,velocity:.5039370078740157},{duration:.01704543750000001,durationTicks:15,midi:38,name:"D2",ticks:120,time:.1363635,velocity:.5826771653543307},{duration:.1363635,durationTicks:120,midi:40,name:"E2",ticks:120,time:.1363635,velocity:.5039370078740157},{duration:.272727,durationTicks:240,midi:38,name:"D2",ticks:240,time:.272727,velocity:.7086614173228346},{duration:.06818175000000004,durationTicks:60,midi:40,name:"E2",ticks:480,time:.545454,velocity:.5039370078740157},{duration:.06818174999999993,durationTicks:60,midi:40,name:"E2",ticks:540,time:.61363575,velocity:.5039370078740157},{duration:.017045437499999982,durationTicks:15,midi:38,name:"D2",ticks:600,time:.6818175,velocity:.5590551181102362},{duration:.13636350000000008,durationTicks:120,midi:40,name:"E2",ticks:600,time:.6818175,velocity:.5275590551181102},{duration:.27272699999999994,durationTicks:240,midi:38,name:"D2",ticks:720,time:.818181,velocity:.7480314960629921}]},35:{num:35,title:"Single Dragadiddle",signature:"4/4",ppq:480,totalTicks:960,totalNotes:10,notes:[{duration:.09615375,durationTicks:60,midi:38,name:"D2",ticks:0,time:0,velocity:.5039370078740157},{duration:.09615375,durationTicks:60,midi:38,name:"D2",ticks:60,time:.09615375,velocity:.7559055118110236},{duration:.1923075,durationTicks:120,midi:40,name:"E2",ticks:120,time:.1923075,velocity:.5196850393700787},{duration:.19230750000000002,durationTicks:120,midi:38,name:"D2",ticks:240,time:.384615,velocity:.5748031496062992},{duration:.19230749999999996,durationTicks:120,midi:38,name:"D2",ticks:360,time:.5769225,velocity:.5511811023622047},{duration:.09615375000000004,durationTicks:60,midi:40,name:"E2",ticks:480,time:.76923,velocity:.5039370078740157},{duration:.09615374999999993,durationTicks:60,midi:40,name:"E2",ticks:540,time:.86538375,velocity:.7637795275590551},{duration:.19230750000000008,durationTicks:120,midi:38,name:"D2",ticks:600,time:.9615374999999999,velocity:.5590551181102362},{duration:.19230749999999985,durationTicks:120,midi:40,name:"E2",ticks:720,time:1.153845,velocity:.5905511811023622},{duration:.19230750000000008,durationTicks:120,midi:40,name:"E2",ticks:840,time:1.3461524999999999,velocity:.5354330708661418}]},36:{num:36,title:"Drag Paradiddle #1",signature:"4/4",ppq:480,totalTicks:1440,totalNotes:14,notes:[{duration:.306122,durationTicks:240,midi:38,name:"D2",ticks:0,time:0,velocity:.7401574803149606},{duration:.0765305,durationTicks:60,midi:40,name:"E2",ticks:240,time:.306122,velocity:.5039370078740157},{duration:.0765305,durationTicks:60,midi:40,name:"E2",ticks:300,time:.3826525,velocity:.5039370078740157},{duration:.019132625000000014,durationTicks:15,midi:38,name:"D2",ticks:360,time:.459183,velocity:.5748031496062992},{duration:.153061,durationTicks:120,midi:40,name:"E2",ticks:360,time:.459183,velocity:.5196850393700787},{duration:.153061,durationTicks:120,midi:38,name:"D2",ticks:480,time:.612244,velocity:.5748031496062992},{duration:.153061,durationTicks:120,midi:38,name:"D2",ticks:600,time:.765305,velocity:.5511811023622047},{duration:.306122,durationTicks:240,midi:40,name:"E2",ticks:720,time:.918366,velocity:.7559055118110236},{duration:.07653050000000006,durationTicks:60,midi:38,name:"D2",ticks:960,time:1.224488,velocity:.5039370078740157},{duration:.07653050000000006,durationTicks:60,midi:38,name:"D2",ticks:1020,time:1.3010185,velocity:.5039370078740157},{duration:.019132624999999903,durationTicks:15,midi:40,name:"E2",ticks:1080,time:1.3775490000000001,velocity:.6062992125984252},{duration:.1530609999999999,durationTicks:120,midi:38,name:"D2",ticks:1080,time:1.3775490000000001,velocity:.5590551181102362},{duration:.1530609999999999,durationTicks:120,midi:40,name:"E2",ticks:1200,time:1.53061,velocity:.5905511811023622},{duration:.1530610000000001,durationTicks:120,midi:40,name:"E2",ticks:1320,time:1.683671,velocity:.5354330708661418}]},37:{num:37,title:"Drag Paradiddle #2",signature:"4/4",ppq:480,totalTicks:1920,totalNotes:20,notes:[{duration:.3448275,durationTicks:240,midi:38,name:"D2",ticks:0,time:0,velocity:.7559055118110236},{duration:.08620687500000002,durationTicks:60,midi:40,name:"E2",ticks:240,time:.3448275,velocity:.5039370078740157},{duration:.08620687499999996,durationTicks:60,midi:40,name:"E2",ticks:300,time:.431034375,velocity:.5039370078740157},{duration:.17241375000000003,durationTicks:120,midi:38,name:"D2",ticks:360,time:.51724125,velocity:.7795275590551181},{duration:.08620687500000002,durationTicks:60,midi:40,name:"E2",ticks:480,time:.689655,velocity:.5039370078740157},{duration:.08620687500000002,durationTicks:60,midi:40,name:"E2",ticks:540,time:.775861875,velocity:.5039370078740157},{duration:.02155171874999995,durationTicks:15,midi:38,name:"D2",ticks:600,time:.86206875,velocity:.5511811023622047},{duration:.17241374999999992,durationTicks:120,midi:40,name:"E2",ticks:600,time:.86206875,velocity:.5590551181102362},{duration:.17241375000000003,durationTicks:120,midi:40,name:"E2",ticks:720,time:1.0344825,velocity:.5196850393700787},{duration:.17241375000000003,durationTicks:120,midi:40,name:"E2",ticks:840,time:1.20689625,velocity:.5669291338582677},{duration:.34482750000000006,durationTicks:240,midi:40,name:"E2",ticks:960,time:1.37931,velocity:.7244094488188977},{duration:.08620687500000002,durationTicks:60,midi:38,name:"D2",ticks:1200,time:1.7241375,velocity:.5039370078740157},{duration:.08620687500000002,durationTicks:60,midi:38,name:"D2",ticks:1260,time:1.8103443750000001,velocity:.5039370078740157},{duration:.1724137499999998,durationTicks:120,midi:40,name:"E2",ticks:1320,time:1.8965512500000001,velocity:.7401574803149606},{duration:.08620687500000024,durationTicks:60,midi:38,name:"D2",ticks:1440,time:2.068965,velocity:.5039370078740157},{duration:.0862068749999998,durationTicks:60,midi:38,name:"D2",ticks:1500,time:2.155171875,velocity:.5039370078740157},{duration:.02155171875000006,durationTicks:15,midi:40,name:"E2",ticks:1560,time:2.24137875,velocity:.5826771653543307},{duration:.17241375000000003,durationTicks:120,midi:38,name:"D2",ticks:1560,time:2.24137875,velocity:.5196850393700787},{duration:.17241375000000003,durationTicks:120,midi:40,name:"E2",ticks:1680,time:2.4137925,velocity:.5590551181102362},{duration:.17241375000000003,durationTicks:120,midi:40,name:"E2",ticks:1800,time:2.58620625,velocity:.6062992125984252}]},38:{num:38,title:"Single Ratamacue",signature:"4/4",ppq:480,totalTicks:960,totalNotes:12,notes:[{duration:.065217375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.065217375,durationTicks:60,midi:40,name:"E2",ticks:60,time:.065217375,velocity:.5039370078740157},{duration:.08695649999999999,durationTicks:80,midi:40,name:"E2",ticks:80,time:.08695649999999999,velocity:.5511811023622047},{duration:.016304343750000005,durationTicks:15,midi:38,name:"D2",ticks:120,time:.13043475,velocity:.5196850393700787},{duration:.08695649999999999,durationTicks:80,midi:38,name:"D2",ticks:160,time:.17391299999999998,velocity:.5275590551181102},{duration:.2608695,durationTicks:240,midi:40,name:"E2",ticks:240,time:.2608695,velocity:.7244094488188977},{duration:.06521737500000002,durationTicks:60,midi:38,name:"D2",ticks:480,time:.521739,velocity:.5039370078740157},{duration:.06521737500000002,durationTicks:60,midi:38,name:"D2",ticks:540,time:.586956375,velocity:.5039370078740157},{duration:.08695649999999999,durationTicks:80,midi:38,name:"D2",ticks:560,time:.6086955,velocity:.5118110236220472},{duration:.016304343749999894,durationTicks:15,midi:40,name:"E2",ticks:600,time:.65217375,velocity:.5511811023622047},{duration:.08695649999999999,durationTicks:80,midi:40,name:"E2",ticks:640,time:.6956519999999999,velocity:.5354330708661418},{duration:.2608695,durationTicks:240,midi:38,name:"D2",ticks:720,time:.7826084999999999,velocity:.7716535433070866}]},39:{num:39,title:"Double Ratamacue",signature:"4/4",ppq:480,totalTicks:1440,totalNotes:18,notes:[{duration:.080645125,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.080645125,durationTicks:60,midi:40,name:"E2",ticks:60,time:.080645125,velocity:.5039370078740157},{duration:.16129025,durationTicks:120,midi:38,name:"D2",ticks:120,time:.16129025,velocity:.5275590551181102},{duration:.08064512499999998,durationTicks:60,midi:40,name:"E2",ticks:240,time:.3225805,velocity:.5039370078740157},{duration:.08064512500000004,durationTicks:60,midi:40,name:"E2",ticks:300,time:.403225625,velocity:.5039370078740157},{duration:.10752683333333335,durationTicks:80,midi:40,name:"E2",ticks:320,time:.4301073333333333,velocity:.5511811023622047},{duration:.02016128124999994,durationTicks:15,midi:38,name:"D2",ticks:360,time:.48387075,velocity:.5196850393700787},{duration:.10752683333333335,durationTicks:80,midi:38,name:"D2",ticks:400,time:.5376341666666666,velocity:.5275590551181102},{duration:.32258050000000005,durationTicks:240,midi:40,name:"E2",ticks:480,time:.645161,velocity:.7244094488188977},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:720,time:.9677415,velocity:.5039370078740157},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:780,time:1.048386625,velocity:.5039370078740157},{duration:.16129024999999997,durationTicks:120,midi:40,name:"E2",ticks:840,time:1.12903175,velocity:.5354330708661418},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:960,time:1.290322,velocity:.5039370078740157},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:1020,time:1.370967125,velocity:.5039370078740157},{duration:.10752683333333346,durationTicks:80,midi:38,name:"D2",ticks:1040,time:1.3978488333333332,velocity:.5118110236220472},{duration:.02016128125000005,durationTicks:15,midi:40,name:"E2",ticks:1080,time:1.45161225,velocity:.5511811023622047},{duration:.10752683333333324,durationTicks:80,midi:40,name:"E2",ticks:1120,time:1.5053756666666667,velocity:.5354330708661418},{duration:.32258050000000016,durationTicks:240,midi:38,name:"D2",ticks:1200,time:1.6129025,velocity:.7716535433070866}]},40:{num:40,title:"Triple Ratamacue",signature:"4/4",ppq:480,totalTicks:1920,totalNotes:24,notes:[{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:60,time:.069444375,velocity:.5039370078740157},{duration:.13888875,durationTicks:120,midi:38,name:"D2",ticks:120,time:.13888875,velocity:.5275590551181102},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:240,time:.2777775,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:300,time:.347221875,velocity:.5039370078740157},{duration:.13888875,durationTicks:120,midi:38,name:"D2",ticks:360,time:.41666625,velocity:.5275590551181102},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:480,time:.555555,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:540,time:.624999375,velocity:.5039370078740157},{duration:.09259249999999986,durationTicks:80,midi:40,name:"E2",ticks:560,time:.6481475000000001,velocity:.5511811023622047},{duration:.017361093749999945,durationTicks:15,midi:38,name:"D2",ticks:600,time:.69444375,velocity:.5196850393700787},{duration:.09259250000000008,durationTicks:80,midi:38,name:"D2",ticks:640,time:.74074,velocity:.5275590551181102},{duration:.2777775,durationTicks:240,midi:40,name:"E2",ticks:720,time:.8333325,velocity:.7244094488188977},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:960,time:1.11111,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:1020,time:1.180554375,velocity:.5039370078740157},{duration:.13888875,durationTicks:120,midi:40,name:"E2",ticks:1080,time:1.24999875,velocity:.5354330708661418},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:1200,time:1.3888875,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:1260,time:1.458331875,velocity:.5039370078740157},{duration:.13888875,durationTicks:120,midi:40,name:"E2",ticks:1320,time:1.52777625,velocity:.5354330708661418},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:1440,time:1.666665,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:1500,time:1.736109375,velocity:.5039370078740157},{duration:.0925925000000003,durationTicks:80,midi:38,name:"D2",ticks:1520,time:1.7592575,velocity:.5118110236220472},{duration:.017361093749999945,durationTicks:15,midi:40,name:"E2",ticks:1560,time:1.80555375,velocity:.5511811023622047},{duration:.09259249999999986,durationTicks:80,midi:40,name:"E2",ticks:1600,time:1.8518500000000002,velocity:.5354330708661418},{duration:.2777775,durationTicks:240,midi:38,name:"D2",ticks:1680,time:1.9444425,velocity:.7716535433070866}]}},D={class:"flex flex-col gap-6 max-w-150 mx-4"},p={class:"flex flex-wrap gap-2"},g={class:"p-0"},h={class:"p-0 font-bold capitalize"},N={class:"p-0"},q=["viewBox"],f=["fill","x","width","y","height"],_=["y2","transform"],S=["x2","transform"],w={__name:"RhythmDrumRudiments",setup(x){const n=y({height:100});function l({ppq:u=480,totalTicks:d=480}){const i=8*d/u;return Math.ceil(i)+1}return(u,d)=>(t(),e("div",D,[(t(!0),e(m,null,s(k(E),(i,T)=>(t(),e("div",{class:"p-2 rounded-xl dark-bg-dark-800 bg-light-200 shadow-lg flex flex-col gap-2 border-1 border-dark-100 border-opacity-15 dark-border-light-900 dark-border-opacity-10",key:T},[a("div",p,[a("div",g,r(i.num)+".",1),a("div",h,r(i.title),1),d[0]||(d[0]=a("div",{class:"flex-1"},null,-1)),a("div",N,r(i.totalNotes)+" strokes",1),(t(),e("svg",{width:"100%",height:"100%",viewBox:`-4 -4 ${i.totalTicks+8} ${n.height+8}`},[(t(!0),e(m,null,s(i.notes,o=>(t(),e("rect",{key:o,"stroke-width":"3",fill:`hsl(${360*(k(v).pitch/12+o.ticks/i.totalTicks)},30%,${o.velocity*100}%)`,x:o.ticks,width:o.durationTicks,y:o.midi==40?n.height/2:0,height:n.height/2},null,8,f))),128)),(t(!0),e(m,null,s(l(i),(o,c)=>(t(),e("line",{class:"dark-stroke-white dark-mix-blend-difference stroke-black",key:c,y2:n.height,"stroke-width":"1",transform:`translate(${c*60} 0)`},null,8,_))),128)),(t(),e(m,null,s(3,(o,c)=>a("line",{class:"dark-stroke-white dark-mix-blend-difference stroke-black opacity-70",key:c,x2:i.totalTicks,transform:`translate(0 ${c*(n.height/2)})`},null,8,S)),64))],8,q))])]))),128))]))}};export{w as default}; +import{K as v}from"./theme.Dd_Fb62b.js";import{b as y,x as t,y as e,F as m,B as s,A as a,G as r,E as k}from"./framework.CQBrk0Ry.js";const E={1:{num:1,title:"Single stroke roll",signature:"4/4",ppq:480,totalTicks:480,totalNotes:8,notes:[{duration:.075,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.075,durationTicks:60,midi:38,name:"D2",ticks:60,time:.075,velocity:.5039370078740157},{duration:.07499999999999998,durationTicks:60,midi:40,name:"E2",ticks:120,time:.15,velocity:.5039370078740157},{duration:.07500000000000001,durationTicks:60,midi:38,name:"D2",ticks:180,time:.22499999999999998,velocity:.5039370078740157},{duration:.07500000000000001,durationTicks:60,midi:40,name:"E2",ticks:240,time:.3,velocity:.5039370078740157},{duration:.07499999999999996,durationTicks:60,midi:38,name:"D2",ticks:300,time:.375,velocity:.5039370078740157},{duration:.07500000000000007,durationTicks:60,midi:40,name:"E2",ticks:360,time:.44999999999999996,velocity:.5039370078740157},{duration:.07499999999999996,durationTicks:60,midi:38,name:"D2",ticks:420,time:.525,velocity:.5039370078740157}]},2:{num:2,title:"Single stroke four",signature:"4/4",ppq:480,totalTicks:960,totalNotes:8,notes:[{duration:.09999999999999999,durationTicks:80,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.09999999999999999,durationTicks:80,midi:38,name:"D2",ticks:80,time:.09999999999999999,velocity:.5039370078740157},{duration:.1,durationTicks:80,midi:40,name:"E2",ticks:160,time:.19999999999999998,velocity:.5039370078740157},{duration:.3,durationTicks:240,midi:38,name:"D2",ticks:240,time:.3,velocity:.5039370078740157},{duration:.10000000000000009,durationTicks:80,midi:40,name:"E2",ticks:480,time:.6,velocity:.5039370078740157},{duration:.09999999999999987,durationTicks:80,midi:38,name:"D2",ticks:560,time:.7000000000000001,velocity:.5039370078740157},{duration:.09999999999999998,durationTicks:80,midi:40,name:"E2",ticks:640,time:.7999999999999999,velocity:.5039370078740157},{duration:.30000000000000004,durationTicks:240,midi:38,name:"D2",ticks:720,time:.8999999999999999,velocity:.5039370078740157}]},3:{num:3,title:"Single stroke seven",signature:"4/4",ppq:480,totalTicks:960,totalNotes:7,notes:[{duration:.09999999999999999,durationTicks:80,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.09999999999999999,durationTicks:80,midi:38,name:"D2",ticks:80,time:.09999999999999999,velocity:.5039370078740157},{duration:.1,durationTicks:80,midi:40,name:"E2",ticks:160,time:.19999999999999998,velocity:.5039370078740157},{duration:.09999999999999998,durationTicks:80,midi:38,name:"D2",ticks:240,time:.3,velocity:.5039370078740157},{duration:.10000000000000003,durationTicks:80,midi:40,name:"E2",ticks:320,time:.39999999999999997,velocity:.5039370078740157},{duration:.09999999999999998,durationTicks:80,midi:38,name:"D2",ticks:400,time:.5,velocity:.5039370078740157},{duration:.6,durationTicks:480,midi:40,name:"E2",ticks:480,time:.6,velocity:.6614173228346457}]},4:{num:4,title:"Multiple Bounce Roll",signature:"4/4",ppq:480,totalTicks:1920,totalNotes:16,notes:[{duration:.15,durationTicks:120,midi:40,name:"E2",ticks:0,time:0,velocity:.5590551181102362},{duration:.15,durationTicks:120,midi:38,name:"D2",ticks:120,time:.15,velocity:.5433070866141733},{duration:.14999999999999997,durationTicks:120,midi:40,name:"E2",ticks:240,time:.3,velocity:.5669291338582677},{duration:.15000000000000002,durationTicks:120,midi:38,name:"D2",ticks:360,time:.44999999999999996,velocity:.5196850393700787},{duration:.15000000000000002,durationTicks:120,midi:40,name:"E2",ticks:480,time:.6,velocity:.5275590551181102},{duration:.1499999999999999,durationTicks:120,midi:38,name:"D2",ticks:600,time:.75,velocity:.5748031496062992},{duration:.15000000000000013,durationTicks:120,midi:40,name:"E2",ticks:720,time:.8999999999999999,velocity:.5590551181102362},{duration:.1499999999999999,durationTicks:120,midi:38,name:"D2",ticks:840,time:1.05,velocity:.5826771653543307},{duration:.1499999999999999,durationTicks:120,midi:40,name:"E2",ticks:960,time:1.2,velocity:.5590551181102362},{duration:.15000000000000013,durationTicks:120,midi:38,name:"D2",ticks:1080,time:1.3499999999999999,velocity:.5275590551181102},{duration:.1499999999999999,durationTicks:120,midi:40,name:"E2",ticks:1200,time:1.5,velocity:.5354330708661418},{duration:.1499999999999999,durationTicks:120,midi:38,name:"D2",ticks:1320,time:1.65,velocity:.5354330708661418},{duration:.15000000000000013,durationTicks:120,midi:40,name:"E2",ticks:1440,time:1.7999999999999998,velocity:.5275590551181102},{duration:.15000000000000013,durationTicks:120,midi:38,name:"D2",ticks:1560,time:1.95,velocity:.5039370078740157},{duration:.1499999999999999,durationTicks:120,midi:40,name:"E2",ticks:1680,time:2.1,velocity:.5196850393700787},{duration:.1499999999999999,durationTicks:120,midi:38,name:"D2",ticks:1800,time:2.25,velocity:.5354330708661418}]},5:{num:5,title:"Triple Stroke Roll",signature:"4/4",ppq:480,totalTicks:960,totalNotes:12,notes:[{duration:.09999999999999999,durationTicks:80,midi:40,name:"E2",ticks:0,time:0,velocity:.5669291338582677},{duration:.09999999999999999,durationTicks:80,midi:40,name:"E2",ticks:80,time:.09999999999999999,velocity:.5748031496062992},{duration:.1,durationTicks:80,midi:40,name:"E2",ticks:160,time:.19999999999999998,velocity:.5590551181102362},{duration:.09999999999999998,durationTicks:80,midi:38,name:"D2",ticks:240,time:.3,velocity:.5354330708661418},{duration:.10000000000000003,durationTicks:80,midi:38,name:"D2",ticks:320,time:.39999999999999997,velocity:.5275590551181102},{duration:.09999999999999998,durationTicks:80,midi:38,name:"D2",ticks:400,time:.5,velocity:.5275590551181102},{duration:.10000000000000009,durationTicks:80,midi:40,name:"E2",ticks:480,time:.6,velocity:.5590551181102362},{duration:.09999999999999987,durationTicks:80,midi:40,name:"E2",ticks:560,time:.7000000000000001,velocity:.5511811023622047},{duration:.09999999999999998,durationTicks:80,midi:40,name:"E2",ticks:640,time:.7999999999999999,velocity:.5748031496062992},{duration:.10000000000000009,durationTicks:80,midi:38,name:"D2",ticks:720,time:.8999999999999999,velocity:.5354330708661418},{duration:.09999999999999987,durationTicks:80,midi:38,name:"D2",ticks:800,time:1,velocity:.5275590551181102},{duration:.10000000000000009,durationTicks:80,midi:38,name:"D2",ticks:880,time:1.0999999999999999,velocity:.5275590551181102}]},6:{num:6,title:"Double Stroke Open Roll",signature:"4/4",ppq:480,totalTicks:660,totalNotes:22,notes:[{duration:.0375,durationTicks:30,midi:40,name:"E2",ticks:0,time:0,velocity:.5590551181102362},{duration:.0375,durationTicks:30,midi:40,name:"E2",ticks:30,time:.0375,velocity:.5354330708661418},{duration:.03749999999999999,durationTicks:30,midi:38,name:"D2",ticks:60,time:.075,velocity:.5590551181102362},{duration:.037500000000000006,durationTicks:30,midi:38,name:"D2",ticks:90,time:.11249999999999999,velocity:.5354330708661418},{duration:.037500000000000006,durationTicks:30,midi:40,name:"E2",ticks:120,time:.15,velocity:.5826771653543307},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:150,time:.1875,velocity:.5669291338582677},{duration:.03750000000000003,durationTicks:30,midi:38,name:"D2",ticks:180,time:.22499999999999998,velocity:.5354330708661418},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:210,time:.2625,velocity:.5826771653543307},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:240,time:.3,velocity:.5433070866141733},{duration:.03750000000000003,durationTicks:30,midi:40,name:"E2",ticks:270,time:.33749999999999997,velocity:.5590551181102362},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:300,time:.375,velocity:.5669291338582677},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:330,time:.4125,velocity:.5039370078740157},{duration:.03750000000000003,durationTicks:30,midi:40,name:"E2",ticks:360,time:.44999999999999996,velocity:.5196850393700787},{duration:.03750000000000003,durationTicks:30,midi:40,name:"E2",ticks:390,time:.4875,velocity:.5511811023622047},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:420,time:.525,velocity:.5354330708661418},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:450,time:.5625,velocity:.5354330708661418},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:480,time:.6,velocity:.5354330708661418},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:510,time:.6375,velocity:.5433070866141733},{duration:.03750000000000009,durationTicks:30,midi:38,name:"D2",ticks:540,time:.6749999999999999,velocity:.5826771653543307},{duration:.03749999999999998,durationTicks:30,midi:38,name:"D2",ticks:570,time:.7125,velocity:.5826771653543307},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:600,time:.75,velocity:.5590551181102362},{duration:.03749999999999998,durationTicks:30,midi:40,name:"E2",ticks:630,time:.7875,velocity:.5196850393700787}]},7:{num:7,title:"Five Stroke Roll",signature:"4/4",ppq:480,totalTicks:540,totalNotes:9,notes:[{duration:.12711862499999999,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.12711862499999999,durationTicks:60,midi:40,name:"E2",ticks:60,time:.12711862499999999,velocity:.5039370078740157},{duration:.12711862499999999,durationTicks:60,midi:38,name:"D2",ticks:120,time:.25423724999999997,velocity:.5039370078740157},{duration:.12711862499999999,durationTicks:60,midi:38,name:"D2",ticks:180,time:.38135587499999996,velocity:.5039370078740157},{duration:.12711862500000004,durationTicks:60,midi:40,name:"E2",ticks:240,time:.5084744999999999,velocity:.5039370078740157},{duration:.12711862499999993,durationTicks:60,midi:40,name:"E2",ticks:300,time:.635593125,velocity:.5039370078740157},{duration:.12711862499999993,durationTicks:60,midi:38,name:"D2",ticks:360,time:.7627117499999999,velocity:.5039370078740157},{duration:.12711862500000004,durationTicks:60,midi:38,name:"D2",ticks:420,time:.8898303749999998,velocity:.5039370078740157},{duration:.12711862500000004,durationTicks:60,midi:40,name:"E2",ticks:480,time:1.0169489999999999,velocity:.7401574803149606}]},8:{num:8,title:"Six Stroke Roll",signature:"4/4",ppq:480,totalTicks:360,totalNotes:6,notes:[{duration:.051724125,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7244094488188977},{duration:.051724125,durationTicks:60,midi:38,name:"D2",ticks:60,time:.051724125,velocity:.5039370078740157},{duration:.051724124999999996,durationTicks:60,midi:38,name:"D2",ticks:120,time:.10344825,velocity:.5590551181102362},{duration:.05172412500000001,durationTicks:60,midi:40,name:"E2",ticks:180,time:.155172375,velocity:.6141732283464567},{duration:.05172412499999998,durationTicks:60,midi:40,name:"E2",ticks:240,time:.2068965,velocity:.5748031496062992},{duration:.05172412500000001,durationTicks:60,midi:38,name:"D2",ticks:300,time:.258620625,velocity:.7401574803149606}]},9:{num:9,title:"Seven Stroke Roll",signature:"4/4",ppq:480,totalTicks:960,totalNotes:7,notes:[{duration:.06451599999999999,durationTicks:80,midi:40,name:"E2",ticks:0,time:0,velocity:.6220472440944882},{duration:.06451599999999999,durationTicks:80,midi:40,name:"E2",ticks:80,time:.06451599999999999,velocity:.5748031496062992},{duration:.06451600000000002,durationTicks:80,midi:38,name:"D2",ticks:160,time:.12903199999999998,velocity:.6535433070866141},{duration:.06451599999999996,durationTicks:80,midi:38,name:"D2",ticks:240,time:.193548,velocity:.5826771653543307},{duration:.06451600000000007,durationTicks:80,midi:40,name:"E2",ticks:320,time:.25806399999999996,velocity:.5669291338582677},{duration:.06451599999999996,durationTicks:80,midi:40,name:"E2",ticks:400,time:.32258000000000003,velocity:.6141732283464567},{duration:.387096,durationTicks:480,midi:40,name:"E2",ticks:480,time:.387096,velocity:.7637795275590551}]},10:{num:10,title:"Nine Stroke Roll",signature:"4/4",ppq:480,totalTicks:960,totalNotes:9,notes:[{duration:.07281549999999999,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5826771653543307},{duration:.07281549999999999,durationTicks:60,midi:40,name:"E2",ticks:60,time:.07281549999999999,velocity:.5354330708661418},{duration:.0728155,durationTicks:60,midi:38,name:"D2",ticks:120,time:.14563099999999998,velocity:.5196850393700787},{duration:.07281549999999998,durationTicks:60,midi:38,name:"D2",ticks:180,time:.2184465,velocity:.5511811023622047},{duration:.07281549999999998,durationTicks:60,midi:40,name:"E2",ticks:240,time:.29126199999999997,velocity:.5590551181102362},{duration:.07281550000000003,durationTicks:60,midi:40,name:"E2",ticks:300,time:.36407749999999994,velocity:.5275590551181102},{duration:.07281549999999992,durationTicks:60,midi:38,name:"D2",ticks:360,time:.436893,velocity:.5748031496062992},{duration:.07281550000000003,durationTicks:60,midi:38,name:"D2",ticks:420,time:.5097084999999999,velocity:.5196850393700787},{duration:.5825239999999999,durationTicks:480,midi:40,name:"E2",ticks:480,time:.5825239999999999,velocity:.7716535433070866}]},11:{num:11,title:"Ten Stroke Roll",signature:"4/4",ppq:480,totalTicks:600,totalNotes:10,notes:[{duration:.0773195,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5826771653543307},{duration:.0773195,durationTicks:60,midi:40,name:"E2",ticks:60,time:.0773195,velocity:.5354330708661418},{duration:.07731950000000001,durationTicks:60,midi:38,name:"D2",ticks:120,time:.154639,velocity:.5196850393700787},{duration:.07731949999999999,durationTicks:60,midi:38,name:"D2",ticks:180,time:.2319585,velocity:.5511811023622047},{duration:.07731949999999999,durationTicks:60,midi:40,name:"E2",ticks:240,time:.309278,velocity:.5590551181102362},{duration:.07731950000000004,durationTicks:60,midi:40,name:"E2",ticks:300,time:.3865975,velocity:.5275590551181102},{duration:.07731949999999999,durationTicks:60,midi:38,name:"D2",ticks:360,time:.463917,velocity:.5748031496062992},{duration:.07731949999999999,durationTicks:60,midi:38,name:"D2",ticks:420,time:.5412365,velocity:.5196850393700787},{duration:.07731949999999999,durationTicks:60,midi:40,name:"E2",ticks:480,time:.618556,velocity:.7716535433070866},{duration:.07731949999999999,durationTicks:60,midi:40,name:"E2",ticks:540,time:.6958755,velocity:.7795275590551181}]},12:{num:12,title:"Eleven Stroke Roll",signature:"4/4",ppq:480,totalTicks:540,totalNotes:11,notes:[{duration:.055970125,durationTicks:30,midi:40,name:"E2",ticks:0,time:0,velocity:.5669291338582677},{duration:.055970125,durationTicks:30,midi:40,name:"E2",ticks:30,time:.055970125,velocity:.5826771653543307},{duration:.055970124999999996,durationTicks:30,midi:38,name:"D2",ticks:60,time:.11194025,velocity:.5590551181102362},{duration:.05597012500000001,durationTicks:30,midi:38,name:"D2",ticks:90,time:.167910375,velocity:.5039370078740157},{duration:.05597012500000001,durationTicks:30,midi:40,name:"E2",ticks:120,time:.2238805,velocity:.5275590551181102},{duration:.05597012499999998,durationTicks:30,midi:40,name:"E2",ticks:150,time:.279850625,velocity:.5511811023622047},{duration:.05597012500000004,durationTicks:30,midi:38,name:"D2",ticks:180,time:.33582075,velocity:.5669291338582677},{duration:.05597012499999998,durationTicks:30,midi:38,name:"D2",ticks:210,time:.39179087500000004,velocity:.5748031496062992},{duration:.05597012500000004,durationTicks:30,midi:40,name:"E2",ticks:240,time:.447761,velocity:.5433070866141733},{duration:.05597012499999998,durationTicks:30,midi:40,name:"E2",ticks:270,time:.5037311250000001,velocity:.5039370078740157},{duration:.4477610000000001,durationTicks:240,midi:40,name:"E2",ticks:300,time:.55970125,velocity:.7716535433070866}]},13:{num:13,title:"Thirteen Stroke Roll",signature:"4/4",ppq:480,totalTicks:780,totalNotes:13,notes:[{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5905511811023622},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:60,time:.061475375,velocity:.5590551181102362},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:120,time:.12295075,velocity:.5590551181102362},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:180,time:.184426125,velocity:.5039370078740157},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:240,time:.2459015,velocity:.5905511811023622},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:300,time:.307376875,velocity:.5354330708661418},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:360,time:.36885225,velocity:.5590551181102362},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:420,time:.430327625,velocity:.5354330708661418},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:480,time:.491803,velocity:.5826771653543307},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:540,time:.553278375,velocity:.5196850393700787},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:600,time:.61475375,velocity:.5669291338582677},{duration:.061475375,durationTicks:60,midi:38,name:"D2",ticks:660,time:.676229125,velocity:.5039370078740157},{duration:.061475375,durationTicks:60,midi:40,name:"E2",ticks:720,time:.7377045,velocity:.7795275590551181}]},14:{num:14,title:"Fifteen Stroke Roll",signature:"4/4",ppq:480,totalTicks:450,totalNotes:15,notes:[{duration:.0403225625,durationTicks:30,midi:40,name:"E2",ticks:0,time:0,velocity:.5905511811023622},{duration:.0403225625,durationTicks:30,midi:40,name:"E2",ticks:30,time:.0403225625,velocity:.5590551181102362},{duration:.040322562500000006,durationTicks:30,midi:38,name:"D2",ticks:60,time:.080645125,velocity:.5590551181102362},{duration:.04032256249999999,durationTicks:30,midi:38,name:"D2",ticks:90,time:.1209676875,velocity:.5039370078740157},{duration:.04032256249999999,durationTicks:30,midi:40,name:"E2",ticks:120,time:.16129025,velocity:.5905511811023622},{duration:.04032256250000002,durationTicks:30,midi:40,name:"E2",ticks:150,time:.2016128125,velocity:.5354330708661418},{duration:.04032256249999999,durationTicks:30,midi:38,name:"D2",ticks:180,time:.241935375,velocity:.5590551181102362},{duration:.04032256249999999,durationTicks:30,midi:38,name:"D2",ticks:210,time:.2822579375,velocity:.5354330708661418},{duration:.04032256249999999,durationTicks:30,midi:40,name:"E2",ticks:240,time:.3225805,velocity:.5826771653543307},{duration:.04032256249999999,durationTicks:30,midi:40,name:"E2",ticks:270,time:.3629030625,velocity:.5196850393700787},{duration:.04032256249999999,durationTicks:30,midi:38,name:"D2",ticks:300,time:.403225625,velocity:.5669291338582677},{duration:.04032256250000005,durationTicks:30,midi:38,name:"D2",ticks:330,time:.44354818749999997,velocity:.5039370078740157},{duration:.04032256249999999,durationTicks:30,midi:40,name:"E2",ticks:360,time:.48387075,velocity:.5669291338582677},{duration:.04032256249999999,durationTicks:30,midi:40,name:"E2",ticks:390,time:.5241933125,velocity:.5748031496062992},{duration:.04032256249999999,durationTicks:30,midi:38,name:"D2",ticks:420,time:.564515875,velocity:.7795275590551181}]},15:{num:15,title:"Seventeen Stroke Roll",signature:"4/4",ppq:480,totalTicks:510,totalNotes:17,notes:[{duration:.041666625,durationTicks:30,midi:40,name:"E2",ticks:0,time:0,velocity:.5905511811023622},{duration:.041666625,durationTicks:30,midi:40,name:"E2",ticks:30,time:.041666625,velocity:.5590551181102362},{duration:.041666625,durationTicks:30,midi:38,name:"D2",ticks:60,time:.08333325,velocity:.5590551181102362},{duration:.041666625,durationTicks:30,midi:38,name:"D2",ticks:90,time:.124999875,velocity:.5039370078740157},{duration:.04166662500000001,durationTicks:30,midi:40,name:"E2",ticks:120,time:.1666665,velocity:.5905511811023622},{duration:.041666624999999985,durationTicks:30,midi:40,name:"E2",ticks:150,time:.208333125,velocity:.5354330708661418},{duration:.041666624999999985,durationTicks:30,midi:38,name:"D2",ticks:180,time:.24999975,velocity:.5590551181102362},{duration:.04166662500000001,durationTicks:30,midi:38,name:"D2",ticks:210,time:.291666375,velocity:.5354330708661418},{duration:.04166662500000001,durationTicks:30,midi:40,name:"E2",ticks:240,time:.333333,velocity:.5826771653543307},{duration:.04166662500000001,durationTicks:30,midi:40,name:"E2",ticks:270,time:.374999625,velocity:.5196850393700787},{duration:.04166662499999996,durationTicks:30,midi:38,name:"D2",ticks:300,time:.41666625,velocity:.5669291338582677},{duration:.04166662500000001,durationTicks:30,midi:38,name:"D2",ticks:330,time:.458332875,velocity:.5039370078740157},{duration:.04166662500000001,durationTicks:30,midi:40,name:"E2",ticks:360,time:.4999995,velocity:.5669291338582677},{duration:.04166662499999996,durationTicks:30,midi:40,name:"E2",ticks:390,time:.541666125,velocity:.5748031496062992},{duration:.04166662500000007,durationTicks:30,midi:38,name:"D2",ticks:420,time:.58333275,velocity:.5748031496062992},{duration:.04166662499999996,durationTicks:30,midi:38,name:"D2",ticks:450,time:.624999375,velocity:.5354330708661418},{duration:.04166662499999996,durationTicks:30,midi:40,name:"E2",ticks:480,time:.666666,velocity:.7874015748031497}]},16:{num:16,title:"Single Paradiddle",signature:"4/4",ppq:480,totalTicks:480,totalNotes:8,notes:[{duration:.06410249999999999,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7795275590551181},{duration:.06410249999999999,durationTicks:60,midi:38,name:"D2",ticks:60,time:.06410249999999999,velocity:.5275590551181102},{duration:.06410249999999998,durationTicks:60,midi:40,name:"E2",ticks:120,time:.12820499999999999,velocity:.5354330708661418},{duration:.0641025,durationTicks:60,midi:40,name:"E2",ticks:180,time:.19230749999999996,velocity:.5511811023622047},{duration:.0641025,durationTicks:60,midi:40,name:"E2",ticks:240,time:.25640999999999997,velocity:.7637795275590551},{duration:.06410249999999995,durationTicks:60,midi:38,name:"D2",ticks:300,time:.3205125,velocity:.5590551181102362},{duration:.0641025,durationTicks:60,midi:40,name:"E2",ticks:360,time:.38461499999999993,velocity:.5826771653543307},{duration:.0641025,durationTicks:60,midi:40,name:"E2",ticks:420,time:.44871749999999994,velocity:.5039370078740157}]},17:{num:17,title:"Double Paradiddle",signature:"4/4",ppq:480,totalTicks:720,totalNotes:6,notes:[{duration:.09615375,durationTicks:120,midi:40,name:"E2",ticks:0,time:0,velocity:.7795275590551181},{duration:.09615375,durationTicks:120,midi:38,name:"D2",ticks:120,time:.09615375,velocity:.5590551181102362},{duration:.09615375000000001,durationTicks:120,midi:40,name:"E2",ticks:240,time:.1923075,velocity:.5354330708661418},{duration:.09615374999999998,durationTicks:120,midi:38,name:"D2",ticks:360,time:.28846125,velocity:.5196850393700787},{duration:.09615374999999998,durationTicks:120,midi:40,name:"E2",ticks:480,time:.384615,velocity:.5511811023622047},{duration:.09615375000000004,durationTicks:120,midi:40,name:"E2",ticks:600,time:.48076874999999997,velocity:.5590551181102362}]},18:{num:18,title:"Triple Paradiddle",signature:"4/4",ppq:480,totalTicks:480,totalNotes:8,notes:[{duration:.070093375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7795275590551181},{duration:.070093375,durationTicks:60,midi:38,name:"D2",ticks:60,time:.070093375,velocity:.5590551181102362},{duration:.07009337499999999,durationTicks:60,midi:40,name:"E2",ticks:120,time:.14018675,velocity:.5354330708661418},{duration:.07009337500000001,durationTicks:60,midi:38,name:"D2",ticks:180,time:.21028012499999998,velocity:.5196850393700787},{duration:.07009337500000001,durationTicks:60,midi:40,name:"E2",ticks:240,time:.2803735,velocity:.5511811023622047},{duration:.07009337499999996,durationTicks:60,midi:38,name:"D2",ticks:300,time:.350466875,velocity:.5590551181102362},{duration:.07009337500000001,durationTicks:60,midi:40,name:"E2",ticks:360,time:.42056024999999997,velocity:.5118110236220472},{duration:.07009337500000001,durationTicks:60,midi:40,name:"E2",ticks:420,time:.490653625,velocity:.5590551181102362}]},19:{num:19,title:"Paradiddle-Diddle",signature:"4/4",ppq:480,totalTicks:480,totalNotes:8,notes:[{duration:.06355925,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7795275590551181},{duration:.06355925,durationTicks:60,midi:38,name:"D2",ticks:60,time:.06355925,velocity:.5590551181102362},{duration:.06355924999999998,durationTicks:60,midi:40,name:"E2",ticks:120,time:.1271185,velocity:.5354330708661418},{duration:.06355925000000001,durationTicks:60,midi:38,name:"D2",ticks:180,time:.19067774999999998,velocity:.5196850393700787},{duration:.06355925000000001,durationTicks:60,midi:40,name:"E2",ticks:240,time:.254237,velocity:.5511811023622047},{duration:.06355924999999996,durationTicks:60,midi:40,name:"E2",ticks:300,time:.31779625,velocity:.5590551181102362},{duration:.06355925000000001,durationTicks:60,midi:38,name:"D2",ticks:360,time:.38135549999999996,velocity:.5118110236220472},{duration:.06355925000000001,durationTicks:60,midi:38,name:"D2",ticks:420,time:.44491474999999997,velocity:.5590551181102362}]},20:{num:20,title:"Flam",signature:"4/4",ppq:480,totalTicks:1920,totalNotes:8,notes:[{duration:.75,durationTicks:480,midi:40,name:"E2",ticks:0,time:0,velocity:.5118110236220472},{duration:.10781250000000002,durationTicks:69,midi:38,name:"D2",ticks:27,time:.0421875,velocity:.41732283464566927},{duration:.0859375,durationTicks:55,midi:40,name:"E2",ticks:447,time:.6984375,velocity:.47244094488188976},{duration:.75,durationTicks:480,midi:38,name:"D2",ticks:480,time:.75,velocity:.5905511811023622},{duration:.06718750000000018,durationTicks:43,midi:38,name:"D2",ticks:942,time:1.4718749999999998,velocity:.47244094488188976},{duration:.75,durationTicks:480,midi:40,name:"E2",ticks:960,time:1.5,velocity:.5511811023622047},{duration:.07500000000000018,durationTicks:48,midi:40,name:"E2",ticks:1415,time:2.2109375,velocity:.47244094488188976},{duration:.75,durationTicks:480,midi:38,name:"D2",ticks:1440,time:2.25,velocity:.6062992125984252}]},21:{num:21,title:"Flam Accent",signature:"4/4",ppq:480,totalTicks:960,totalNotes:8,notes:[{duration:.09375,durationTicks:60,midi:38,name:"D2",ticks:0,time:0,velocity:.7401574803149606},{duration:.25,durationTicks:160,midi:40,name:"E2",ticks:0,time:0,velocity:.7244094488188977},{duration:.25,durationTicks:160,midi:38,name:"D2",ticks:160,time:.25,velocity:.5039370078740157},{duration:.25,durationTicks:160,midi:40,name:"E2",ticks:320,time:.5,velocity:.5039370078740157},{duration:.0546875,durationTicks:35,midi:40,name:"E2",ticks:445,time:.6953125,velocity:.5039370078740157},{duration:.25,durationTicks:160,midi:38,name:"D2",ticks:468,time:.73125,velocity:.7637795275590551},{duration:.25,durationTicks:160,midi:40,name:"E2",ticks:640,time:1,velocity:.5039370078740157},{duration:.25,durationTicks:160,midi:38,name:"D2",ticks:800,time:1.25,velocity:.5039370078740157}]},22:{num:22,title:"Flam Tap",signature:"4/4",ppq:480,totalTicks:480,totalNotes:6,notes:[{duration:.0974025,durationTicks:60,midi:38,name:"D2",ticks:0,time:0,velocity:.7401574803149606},{duration:.194805,durationTicks:120,midi:40,name:"E2",ticks:0,time:0,velocity:.7559055118110236},{duration:.194805,durationTicks:120,midi:40,name:"E2",ticks:120,time:.194805,velocity:.5590551181102362},{duration:.04545450000000001,durationTicks:28,midi:40,name:"E2",ticks:215,time:.349025625,velocity:.5039370078740157},{duration:.194805,durationTicks:120,midi:38,name:"D2",ticks:240,time:.38961,velocity:.7244094488188977},{duration:.194805,durationTicks:120,midi:38,name:"D2",ticks:360,time:.584415,velocity:.5905511811023622}]},23:{num:23,title:"Flamacue",signature:"4/4",ppq:480,totalTicks:540,totalNotes:7,notes:[{duration:.104166625,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.20833325,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.5354330708661418},{duration:.20833325,durationTicks:120,midi:40,name:"E2",ticks:120,time:.20833325,velocity:.7716535433070866},{duration:.20833324999999997,durationTicks:120,midi:38,name:"D2",ticks:240,time:.4166665,velocity:.5826771653543307},{duration:.20833325000000003,durationTicks:120,midi:40,name:"E2",ticks:360,time:.62499975,velocity:.5511811023622047},{duration:.7291663749999999,durationTicks:420,midi:38,name:"D2",ticks:469,time:.8142357854166666,velocity:.6062992125984252},{duration:.10416662499999996,durationTicks:60,midi:40,name:"E2",ticks:480,time:.833333,velocity:.5039370078740157}]},24:{num:24,title:"Flam Paradiddle",signature:"4/4",ppq:480,totalTicks:480,totalNotes:5,notes:[{duration:.07352937500000001,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.14705875000000002,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.5354330708661418},{duration:.14705875000000002,durationTicks:120,midi:40,name:"E2",ticks:120,time:.14705875000000002,velocity:.5511811023622047},{duration:.14705875000000002,durationTicks:120,midi:38,name:"D2",ticks:240,time:.29411750000000003,velocity:.5826771653543307},{duration:.14705875000000002,durationTicks:120,midi:38,name:"D2",ticks:360,time:.44117625000000005,velocity:.5511811023622047}]},25:{num:25,title:"Single Flammed Mill",signature:"4/4",ppq:480,totalTicks:480,totalNotes:5,notes:[{duration:.09615375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.1923075,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.7480314960629921},{duration:.1923075,durationTicks:120,midi:38,name:"D2",ticks:120,time:.1923075,velocity:.5511811023622047},{duration:.19230750000000002,durationTicks:120,midi:40,name:"E2",ticks:240,time:.384615,velocity:.5826771653543307},{duration:.19230749999999996,durationTicks:120,midi:38,name:"D2",ticks:360,time:.5769225,velocity:.5511811023622047}]},26:{num:26,title:"Flam Paradiddle-Diddle",signature:"4/4",ppq:480,totalTicks:720,totalNotes:7,notes:[{duration:.091463375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.18292675,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.7480314960629921},{duration:.18292675,durationTicks:120,midi:40,name:"E2",ticks:120,time:.18292675,velocity:.5511811023622047},{duration:.18292674999999997,durationTicks:120,midi:38,name:"D2",ticks:240,time:.3658535,velocity:.5826771653543307},{duration:.18292675000000003,durationTicks:120,midi:38,name:"D2",ticks:360,time:.54878025,velocity:.5511811023622047},{duration:.18292675000000003,durationTicks:120,midi:40,name:"E2",ticks:480,time:.731707,velocity:.5354330708661418},{duration:.18292674999999992,durationTicks:120,midi:40,name:"E2",ticks:600,time:.91463375,velocity:.5118110236220472}]},27:{num:27,title:"Pataflafla",signature:"4/4",ppq:480,totalTicks:453,totalNotes:6,notes:[{duration:.0714285,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.142857,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.7480314960629921},{duration:.142857,durationTicks:120,midi:40,name:"E2",ticks:120,time:.142857,velocity:.5511811023622047},{duration:.142857,durationTicks:120,midi:38,name:"D2",ticks:240,time:.285714,velocity:.5826771653543307},{duration:.09285704999999994,durationTicks:78,midi:38,name:"D2",ticks:373,time:.44404717500000007,velocity:.5039370078740157},{duration:.07142850000000006,durationTicks:60,midi:40,name:"E2",ticks:393,time:.467856675,velocity:.7559055118110236}]},28:{num:28,title:"Swiss Army Triplet",signature:"4/4",ppq:480,totalTicks:480,totalNotes:8,notes:[{duration:.0765305,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.10204066666666667,durationTicks:80,midi:38,name:"D2",ticks:0,time:0,velocity:.7637795275590551},{duration:.10204066666666667,durationTicks:80,midi:38,name:"D2",ticks:80,time:.10204066666666667,velocity:.5354330708661418},{duration:.10204066666666667,durationTicks:80,midi:40,name:"E2",ticks:160,time:.20408133333333334,velocity:.5433070866141733},{duration:.0765305,durationTicks:60,midi:40,name:"E2",ticks:240,time:.306122,velocity:.5039370078740157},{duration:.025510166666666667,durationTicks:20,midi:38,name:"D2",ticks:300,time:.3826525,velocity:.7244094488188977},{duration:.10204066666666667,durationTicks:80,midi:38,name:"D2",ticks:320,time:.4081626666666667,velocity:.5196850393700787},{duration:.10204066666666667,durationTicks:80,midi:40,name:"E2",ticks:400,time:.5102033333333333,velocity:.5590551181102362}]},29:{num:29,title:"Inverted Flam Tap",signature:"4/4",ppq:480,totalTicks:480,totalNotes:6,notes:[{duration:.08333325,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.1666665,durationTicks:120,midi:38,name:"D2",ticks:0,time:0,velocity:.7480314960629921},{duration:.1666665,durationTicks:120,midi:40,name:"E2",ticks:120,time:.1666665,velocity:.5511811023622047},{duration:.02777774999999999,durationTicks:20,midi:38,name:"D2",ticks:220,time:.30555525,velocity:.5039370078740157},{duration:.1666665,durationTicks:120,midi:40,name:"E2",ticks:240,time:.333333,velocity:.7165354330708661},{duration:.1666665,durationTicks:120,midi:38,name:"D2",ticks:360,time:.4999995,velocity:.5433070866141733}]},30:{num:30,title:"Flam Drag",signature:"4/4",ppq:480,totalTicks:720,totalNotes:5,notes:[{duration:.07352937500000001,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.7401574803149606},{duration:.29411750000000003,durationTicks:240,midi:38,name:"D2",ticks:0,time:0,velocity:.7480314960629921},{duration:.14705875000000002,durationTicks:120,midi:40,name:"E2",ticks:240,time:.29411750000000003,velocity:.5511811023622047},{duration:.14705875000000002,durationTicks:120,midi:40,name:"E2",ticks:360,time:.44117625000000005,velocity:.5826771653543307},{duration:.29411750000000003,durationTicks:240,midi:38,name:"D2",ticks:480,time:.5882350000000001,velocity:.5354330708661418}]},31:{num:31,title:"Drag (Ruff)",signature:"4/4",ppq:480,totalTicks:960,totalNotes:6,notes:[{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:60,time:.069444375,velocity:.5039370078740157},{duration:.41666625,durationTicks:360,midi:38,name:"D2",ticks:120,time:.13888875,velocity:.7244094488188977},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:480,time:.555555,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:540,time:.624999375,velocity:.5039370078740157},{duration:.41666625,durationTicks:360,midi:40,name:"E2",ticks:600,time:.69444375,velocity:.7322834645669292}]},32:{num:32,title:"Single Drag",signature:"4/4",ppq:480,totalTicks:960,totalNotes:8,notes:[{duration:.05859375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.05859375,durationTicks:60,midi:40,name:"E2",ticks:60,time:.05859375,velocity:.5039370078740157},{duration:.1171875,durationTicks:120,midi:38,name:"D2",ticks:120,time:.1171875,velocity:.5039370078740157},{duration:.234375,durationTicks:240,midi:40,name:"E2",ticks:240,time:.234375,velocity:.7559055118110236},{duration:.05859375,durationTicks:60,midi:38,name:"D2",ticks:480,time:.46875,velocity:.5039370078740157},{duration:.05859375,durationTicks:60,midi:38,name:"D2",ticks:540,time:.52734375,velocity:.5039370078740157},{duration:.1171875,durationTicks:120,midi:40,name:"E2",ticks:600,time:.5859375,velocity:.5039370078740157},{duration:.234375,durationTicks:240,midi:38,name:"D2",ticks:720,time:.703125,velocity:.7244094488188977}]},33:{num:33,title:"Double Drag",signature:"4/4",ppq:480,totalTicks:1440,totalNotes:14,notes:[{duration:.080645125,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.080645125,durationTicks:60,midi:40,name:"E2",ticks:60,time:.080645125,velocity:.5039370078740157},{duration:.16129025,durationTicks:120,midi:38,name:"D2",ticks:120,time:.16129025,velocity:.5511811023622047},{duration:.08064512499999998,durationTicks:60,midi:40,name:"E2",ticks:240,time:.3225805,velocity:.5039370078740157},{duration:.08064512500000004,durationTicks:60,midi:40,name:"E2",ticks:300,time:.403225625,velocity:.5039370078740157},{duration:.16129024999999997,durationTicks:120,midi:38,name:"D2",ticks:360,time:.48387075,velocity:.5275590551181102},{duration:.32258050000000005,durationTicks:240,midi:40,name:"E2",ticks:480,time:.645161,velocity:.7559055118110236},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:720,time:.9677415,velocity:.5039370078740157},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:780,time:1.048386625,velocity:.5039370078740157},{duration:.16129024999999997,durationTicks:120,midi:40,name:"E2",ticks:840,time:1.12903175,velocity:.5039370078740157},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:960,time:1.290322,velocity:.5039370078740157},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:1020,time:1.370967125,velocity:.5039370078740157},{duration:.16129024999999997,durationTicks:120,midi:40,name:"E2",ticks:1080,time:1.45161225,velocity:.5590551181102362},{duration:.32258050000000016,durationTicks:240,midi:38,name:"D2",ticks:1200,time:1.6129025,velocity:.7244094488188977}]},34:{num:34,title:"Lesson 25 (Two and Three)",signature:"4/4",ppq:480,totalTicks:960,totalNotes:10,notes:[{duration:.06818175,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.06818175,durationTicks:60,midi:40,name:"E2",ticks:60,time:.06818175,velocity:.5039370078740157},{duration:.01704543750000001,durationTicks:15,midi:38,name:"D2",ticks:120,time:.1363635,velocity:.5826771653543307},{duration:.1363635,durationTicks:120,midi:40,name:"E2",ticks:120,time:.1363635,velocity:.5039370078740157},{duration:.272727,durationTicks:240,midi:38,name:"D2",ticks:240,time:.272727,velocity:.7086614173228346},{duration:.06818175000000004,durationTicks:60,midi:40,name:"E2",ticks:480,time:.545454,velocity:.5039370078740157},{duration:.06818174999999993,durationTicks:60,midi:40,name:"E2",ticks:540,time:.61363575,velocity:.5039370078740157},{duration:.017045437499999982,durationTicks:15,midi:38,name:"D2",ticks:600,time:.6818175,velocity:.5590551181102362},{duration:.13636350000000008,durationTicks:120,midi:40,name:"E2",ticks:600,time:.6818175,velocity:.5275590551181102},{duration:.27272699999999994,durationTicks:240,midi:38,name:"D2",ticks:720,time:.818181,velocity:.7480314960629921}]},35:{num:35,title:"Single Dragadiddle",signature:"4/4",ppq:480,totalTicks:960,totalNotes:10,notes:[{duration:.09615375,durationTicks:60,midi:38,name:"D2",ticks:0,time:0,velocity:.5039370078740157},{duration:.09615375,durationTicks:60,midi:38,name:"D2",ticks:60,time:.09615375,velocity:.7559055118110236},{duration:.1923075,durationTicks:120,midi:40,name:"E2",ticks:120,time:.1923075,velocity:.5196850393700787},{duration:.19230750000000002,durationTicks:120,midi:38,name:"D2",ticks:240,time:.384615,velocity:.5748031496062992},{duration:.19230749999999996,durationTicks:120,midi:38,name:"D2",ticks:360,time:.5769225,velocity:.5511811023622047},{duration:.09615375000000004,durationTicks:60,midi:40,name:"E2",ticks:480,time:.76923,velocity:.5039370078740157},{duration:.09615374999999993,durationTicks:60,midi:40,name:"E2",ticks:540,time:.86538375,velocity:.7637795275590551},{duration:.19230750000000008,durationTicks:120,midi:38,name:"D2",ticks:600,time:.9615374999999999,velocity:.5590551181102362},{duration:.19230749999999985,durationTicks:120,midi:40,name:"E2",ticks:720,time:1.153845,velocity:.5905511811023622},{duration:.19230750000000008,durationTicks:120,midi:40,name:"E2",ticks:840,time:1.3461524999999999,velocity:.5354330708661418}]},36:{num:36,title:"Drag Paradiddle #1",signature:"4/4",ppq:480,totalTicks:1440,totalNotes:14,notes:[{duration:.306122,durationTicks:240,midi:38,name:"D2",ticks:0,time:0,velocity:.7401574803149606},{duration:.0765305,durationTicks:60,midi:40,name:"E2",ticks:240,time:.306122,velocity:.5039370078740157},{duration:.0765305,durationTicks:60,midi:40,name:"E2",ticks:300,time:.3826525,velocity:.5039370078740157},{duration:.019132625000000014,durationTicks:15,midi:38,name:"D2",ticks:360,time:.459183,velocity:.5748031496062992},{duration:.153061,durationTicks:120,midi:40,name:"E2",ticks:360,time:.459183,velocity:.5196850393700787},{duration:.153061,durationTicks:120,midi:38,name:"D2",ticks:480,time:.612244,velocity:.5748031496062992},{duration:.153061,durationTicks:120,midi:38,name:"D2",ticks:600,time:.765305,velocity:.5511811023622047},{duration:.306122,durationTicks:240,midi:40,name:"E2",ticks:720,time:.918366,velocity:.7559055118110236},{duration:.07653050000000006,durationTicks:60,midi:38,name:"D2",ticks:960,time:1.224488,velocity:.5039370078740157},{duration:.07653050000000006,durationTicks:60,midi:38,name:"D2",ticks:1020,time:1.3010185,velocity:.5039370078740157},{duration:.019132624999999903,durationTicks:15,midi:40,name:"E2",ticks:1080,time:1.3775490000000001,velocity:.6062992125984252},{duration:.1530609999999999,durationTicks:120,midi:38,name:"D2",ticks:1080,time:1.3775490000000001,velocity:.5590551181102362},{duration:.1530609999999999,durationTicks:120,midi:40,name:"E2",ticks:1200,time:1.53061,velocity:.5905511811023622},{duration:.1530610000000001,durationTicks:120,midi:40,name:"E2",ticks:1320,time:1.683671,velocity:.5354330708661418}]},37:{num:37,title:"Drag Paradiddle #2",signature:"4/4",ppq:480,totalTicks:1920,totalNotes:20,notes:[{duration:.3448275,durationTicks:240,midi:38,name:"D2",ticks:0,time:0,velocity:.7559055118110236},{duration:.08620687500000002,durationTicks:60,midi:40,name:"E2",ticks:240,time:.3448275,velocity:.5039370078740157},{duration:.08620687499999996,durationTicks:60,midi:40,name:"E2",ticks:300,time:.431034375,velocity:.5039370078740157},{duration:.17241375000000003,durationTicks:120,midi:38,name:"D2",ticks:360,time:.51724125,velocity:.7795275590551181},{duration:.08620687500000002,durationTicks:60,midi:40,name:"E2",ticks:480,time:.689655,velocity:.5039370078740157},{duration:.08620687500000002,durationTicks:60,midi:40,name:"E2",ticks:540,time:.775861875,velocity:.5039370078740157},{duration:.02155171874999995,durationTicks:15,midi:38,name:"D2",ticks:600,time:.86206875,velocity:.5511811023622047},{duration:.17241374999999992,durationTicks:120,midi:40,name:"E2",ticks:600,time:.86206875,velocity:.5590551181102362},{duration:.17241375000000003,durationTicks:120,midi:40,name:"E2",ticks:720,time:1.0344825,velocity:.5196850393700787},{duration:.17241375000000003,durationTicks:120,midi:40,name:"E2",ticks:840,time:1.20689625,velocity:.5669291338582677},{duration:.34482750000000006,durationTicks:240,midi:40,name:"E2",ticks:960,time:1.37931,velocity:.7244094488188977},{duration:.08620687500000002,durationTicks:60,midi:38,name:"D2",ticks:1200,time:1.7241375,velocity:.5039370078740157},{duration:.08620687500000002,durationTicks:60,midi:38,name:"D2",ticks:1260,time:1.8103443750000001,velocity:.5039370078740157},{duration:.1724137499999998,durationTicks:120,midi:40,name:"E2",ticks:1320,time:1.8965512500000001,velocity:.7401574803149606},{duration:.08620687500000024,durationTicks:60,midi:38,name:"D2",ticks:1440,time:2.068965,velocity:.5039370078740157},{duration:.0862068749999998,durationTicks:60,midi:38,name:"D2",ticks:1500,time:2.155171875,velocity:.5039370078740157},{duration:.02155171875000006,durationTicks:15,midi:40,name:"E2",ticks:1560,time:2.24137875,velocity:.5826771653543307},{duration:.17241375000000003,durationTicks:120,midi:38,name:"D2",ticks:1560,time:2.24137875,velocity:.5196850393700787},{duration:.17241375000000003,durationTicks:120,midi:40,name:"E2",ticks:1680,time:2.4137925,velocity:.5590551181102362},{duration:.17241375000000003,durationTicks:120,midi:40,name:"E2",ticks:1800,time:2.58620625,velocity:.6062992125984252}]},38:{num:38,title:"Single Ratamacue",signature:"4/4",ppq:480,totalTicks:960,totalNotes:12,notes:[{duration:.065217375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.065217375,durationTicks:60,midi:40,name:"E2",ticks:60,time:.065217375,velocity:.5039370078740157},{duration:.08695649999999999,durationTicks:80,midi:40,name:"E2",ticks:80,time:.08695649999999999,velocity:.5511811023622047},{duration:.016304343750000005,durationTicks:15,midi:38,name:"D2",ticks:120,time:.13043475,velocity:.5196850393700787},{duration:.08695649999999999,durationTicks:80,midi:38,name:"D2",ticks:160,time:.17391299999999998,velocity:.5275590551181102},{duration:.2608695,durationTicks:240,midi:40,name:"E2",ticks:240,time:.2608695,velocity:.7244094488188977},{duration:.06521737500000002,durationTicks:60,midi:38,name:"D2",ticks:480,time:.521739,velocity:.5039370078740157},{duration:.06521737500000002,durationTicks:60,midi:38,name:"D2",ticks:540,time:.586956375,velocity:.5039370078740157},{duration:.08695649999999999,durationTicks:80,midi:38,name:"D2",ticks:560,time:.6086955,velocity:.5118110236220472},{duration:.016304343749999894,durationTicks:15,midi:40,name:"E2",ticks:600,time:.65217375,velocity:.5511811023622047},{duration:.08695649999999999,durationTicks:80,midi:40,name:"E2",ticks:640,time:.6956519999999999,velocity:.5354330708661418},{duration:.2608695,durationTicks:240,midi:38,name:"D2",ticks:720,time:.7826084999999999,velocity:.7716535433070866}]},39:{num:39,title:"Double Ratamacue",signature:"4/4",ppq:480,totalTicks:1440,totalNotes:18,notes:[{duration:.080645125,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.080645125,durationTicks:60,midi:40,name:"E2",ticks:60,time:.080645125,velocity:.5039370078740157},{duration:.16129025,durationTicks:120,midi:38,name:"D2",ticks:120,time:.16129025,velocity:.5275590551181102},{duration:.08064512499999998,durationTicks:60,midi:40,name:"E2",ticks:240,time:.3225805,velocity:.5039370078740157},{duration:.08064512500000004,durationTicks:60,midi:40,name:"E2",ticks:300,time:.403225625,velocity:.5039370078740157},{duration:.10752683333333335,durationTicks:80,midi:40,name:"E2",ticks:320,time:.4301073333333333,velocity:.5511811023622047},{duration:.02016128124999994,durationTicks:15,midi:38,name:"D2",ticks:360,time:.48387075,velocity:.5196850393700787},{duration:.10752683333333335,durationTicks:80,midi:38,name:"D2",ticks:400,time:.5376341666666666,velocity:.5275590551181102},{duration:.32258050000000005,durationTicks:240,midi:40,name:"E2",ticks:480,time:.645161,velocity:.7244094488188977},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:720,time:.9677415,velocity:.5039370078740157},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:780,time:1.048386625,velocity:.5039370078740157},{duration:.16129024999999997,durationTicks:120,midi:40,name:"E2",ticks:840,time:1.12903175,velocity:.5354330708661418},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:960,time:1.290322,velocity:.5039370078740157},{duration:.08064512499999998,durationTicks:60,midi:38,name:"D2",ticks:1020,time:1.370967125,velocity:.5039370078740157},{duration:.10752683333333346,durationTicks:80,midi:38,name:"D2",ticks:1040,time:1.3978488333333332,velocity:.5118110236220472},{duration:.02016128125000005,durationTicks:15,midi:40,name:"E2",ticks:1080,time:1.45161225,velocity:.5511811023622047},{duration:.10752683333333324,durationTicks:80,midi:40,name:"E2",ticks:1120,time:1.5053756666666667,velocity:.5354330708661418},{duration:.32258050000000016,durationTicks:240,midi:38,name:"D2",ticks:1200,time:1.6129025,velocity:.7716535433070866}]},40:{num:40,title:"Triple Ratamacue",signature:"4/4",ppq:480,totalTicks:1920,totalNotes:24,notes:[{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:0,time:0,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:60,time:.069444375,velocity:.5039370078740157},{duration:.13888875,durationTicks:120,midi:38,name:"D2",ticks:120,time:.13888875,velocity:.5275590551181102},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:240,time:.2777775,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:300,time:.347221875,velocity:.5039370078740157},{duration:.13888875,durationTicks:120,midi:38,name:"D2",ticks:360,time:.41666625,velocity:.5275590551181102},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:480,time:.555555,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:40,name:"E2",ticks:540,time:.624999375,velocity:.5039370078740157},{duration:.09259249999999986,durationTicks:80,midi:40,name:"E2",ticks:560,time:.6481475000000001,velocity:.5511811023622047},{duration:.017361093749999945,durationTicks:15,midi:38,name:"D2",ticks:600,time:.69444375,velocity:.5196850393700787},{duration:.09259250000000008,durationTicks:80,midi:38,name:"D2",ticks:640,time:.74074,velocity:.5275590551181102},{duration:.2777775,durationTicks:240,midi:40,name:"E2",ticks:720,time:.8333325,velocity:.7244094488188977},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:960,time:1.11111,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:1020,time:1.180554375,velocity:.5039370078740157},{duration:.13888875,durationTicks:120,midi:40,name:"E2",ticks:1080,time:1.24999875,velocity:.5354330708661418},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:1200,time:1.3888875,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:1260,time:1.458331875,velocity:.5039370078740157},{duration:.13888875,durationTicks:120,midi:40,name:"E2",ticks:1320,time:1.52777625,velocity:.5354330708661418},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:1440,time:1.666665,velocity:.5039370078740157},{duration:.069444375,durationTicks:60,midi:38,name:"D2",ticks:1500,time:1.736109375,velocity:.5039370078740157},{duration:.0925925000000003,durationTicks:80,midi:38,name:"D2",ticks:1520,time:1.7592575,velocity:.5118110236220472},{duration:.017361093749999945,durationTicks:15,midi:40,name:"E2",ticks:1560,time:1.80555375,velocity:.5511811023622047},{duration:.09259249999999986,durationTicks:80,midi:40,name:"E2",ticks:1600,time:1.8518500000000002,velocity:.5354330708661418},{duration:.2777775,durationTicks:240,midi:38,name:"D2",ticks:1680,time:1.9444425,velocity:.7716535433070866}]}},D={class:"flex flex-col gap-6 max-w-150 mx-4"},p={class:"flex flex-wrap gap-2"},g={class:"p-0"},h={class:"p-0 font-bold capitalize"},N={class:"p-0"},q=["viewBox"],f=["fill","x","width","y","height"],_=["y2","transform"],S=["x2","transform"],w={__name:"RhythmDrumRudiments",setup(x){const n=y({height:100});function l({ppq:u=480,totalTicks:d=480}){const i=8*d/u;return Math.ceil(i)+1}return(u,d)=>(t(),e("div",D,[(t(!0),e(m,null,s(k(E),(i,T)=>(t(),e("div",{class:"p-2 rounded-xl dark-bg-dark-800 bg-light-200 shadow-lg flex flex-col gap-2 border-1 border-dark-100 border-opacity-15 dark-border-light-900 dark-border-opacity-10",key:T},[a("div",p,[a("div",g,r(i.num)+".",1),a("div",h,r(i.title),1),d[0]||(d[0]=a("div",{class:"flex-1"},null,-1)),a("div",N,r(i.totalNotes)+" strokes",1),(t(),e("svg",{width:"100%",height:"100%",viewBox:`-4 -4 ${i.totalTicks+8} ${n.height+8}`},[(t(!0),e(m,null,s(i.notes,o=>(t(),e("rect",{key:o,"stroke-width":"3",fill:`hsl(${360*(k(v).pitch/12+o.ticks/i.totalTicks)},30%,${o.velocity*100}%)`,x:o.ticks,width:o.durationTicks,y:o.midi==40?n.height/2:0,height:n.height/2},null,8,f))),128)),(t(!0),e(m,null,s(l(i),(o,c)=>(t(),e("line",{class:"dark-stroke-white dark-mix-blend-difference stroke-black",key:c,y2:n.height,"stroke-width":"1",transform:`translate(${c*60} 0)`},null,8,_))),128)),(t(),e(m,null,s(3,(o,c)=>a("line",{class:"dark-stroke-white dark-mix-blend-difference stroke-black opacity-70",key:c,x2:i.totalTicks,transform:`translate(0 ${c*(n.height/2)})`},null,8,S)),64))],8,q))])]))),128))]))}};export{w as default}; diff --git a/assets/chunks/SaveSvg.DARtreR9.js b/assets/chunks/SaveSvg.BMrQsyrm.js similarity index 94% rename from assets/chunks/SaveSvg.DARtreR9.js rename to assets/chunks/SaveSvg.BMrQsyrm.js index d6b56113ec..635b5a4a00 100644 --- a/assets/chunks/SaveSvg.DARtreR9.js +++ b/assets/chunks/SaveSvg.BMrQsyrm.js @@ -1,2 +1,2 @@ -import{r as v,b as g,aw as p,q as S,x as f,y as m,A as c,J as _,E as l,I as k,F as w}from"./framework.BR0mAPCP.js";function V(n){const o=v(""),s=g({file:n,url:""});function a(i,d){let e=document.getElementById(i);if(d&&(e=e.childNodes[0]),!e)return;let t=new XMLSerializer().serializeToString(e);t=`\r +import{r as v,b as g,aw as p,q as S,x as f,y as m,A as c,J as _,E as l,I as k,F as w}from"./framework.CQBrk0Ry.js";function V(n){const o=v(""),s=g({file:n,url:""});function a(i,d){let e=document.getElementById(i);if(d&&(e=e.childNodes[0]),!e)return;let t=new XMLSerializer().serializeToString(e);t=`\r `+t;let r="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(t);s.url=r,s.file=p(n),setTimeout(()=>{o.value.click()},100)}return{download:s,anchor:o,saveSVG:a}}const x=["download","href"],y={__name:"SaveSvg",props:{svg:String,file:{type:String},deep:Boolean},setup(n){const o=n,{anchor:s,download:a,saveSVG:i}=V(o.file||o.svg);return(d,e)=>{var u,t,r;return f(),m(w,null,[c("div",{class:"snapshot",onClick:e[0]||(e[0]=B=>l(i)(n.svg,n.deep))},[e[2]||(e[2]=c("div",{class:"i-la-camera"},null,-1)),_(d.$slots,"default",{},()=>[e[1]||(e[1]=c("div",{class:"font-bold"},"SVG",-1))],!0)]),(u=l(a))!=null&&u.url?(f(),m("a",{key:0,ref_key:"anchor",ref:s,target:"_blank",download:(t=l(a))==null?void 0:t.file,href:(r=l(a))==null?void 0:r.url},null,8,x)):k("",!0)],64)}}},z=S(y,[["__scopeId","data-v-f602d847"]]);export{z as _}; diff --git a/assets/chunks/ScaleChords.CvMtsCP8.js b/assets/chunks/ScaleChords.DnUo8DaG.js similarity index 81% rename from assets/chunks/ScaleChords.CvMtsCP8.js rename to assets/chunks/ScaleChords.DnUo8DaG.js index f0547b7952..dbd10c677e 100644 --- a/assets/chunks/ScaleChords.CvMtsCP8.js +++ b/assets/chunks/ScaleChords.DnUo8DaG.js @@ -1 +1 @@ -import{v as D,c as w,r as z,x as i,y as d,A as m,G as g,E as e,F as P,B as $,H as N,S as _,I as E,z as I,q as L,T as M}from"./framework.BR0mAPCP.js";import{G as j,g as l,af as x,n as C,av as F,aw as B,u as S,x as h,d as G,ax as V,ay as q,P as H,r as O,y as T,i as J,c as K}from"./theme.ClagsQLu.js";const Q={class:"text-sm absolute top-2 left-2 w-full z-100 pointer-events-none text-white font-bold"},R=["onPointerdown","onPointerup","onPointerleave","onPointerout","onPointercancel","onPointerenter"],U={key:0,class:"text-10px absolute z-100 top-0 left-1 text-white pointer-events-none"},W={__name:"ScaleChordsCard",props:{chord:{type:Object,default:()=>({})},degree:{type:Number,default:0}},setup(o){const y=o,{isDark:k}=D(),p=w(()=>y.chord.intervals.map(f=>j(f)+y.degree+l.tonic+69-12+x.offset*12));function u(f,b,n,r=0){return Array.from({length:f.intervals.length},(a,t)=>t+1+n).map(V(f.aliases[0],C[(b+l.tonic)%12]+(4+x.offset-r))).map(q)}const v=z(!1);return(f,b)=>(i(),d("div",{class:I(["flex flex-col border-1 p-1 border-op-10 dark-border-light-900 dark-border-op-10 border-dark-200 rounded overflow-hidden select-none relative",{active:p.value.filter(n=>e(B)[n]).length==p.value.length}]),style:N({backgroundColor:e(G)(o.chord.chroma,(o.degree+e(l).tonic)%12,.2,e(k)?4:14).lch})},[m("div",Q,g(e(C)[(o.degree+e(l).tonic)%12])+g(o.chord.aliases[0]),1),(i(),d(P,null,$([0,1],n=>m("div",{class:"flex flex-1 w-full",key:n},[(i(!0),d(P,null,$(p.value,(r,a)=>(i(),d("button",{class:"relative py-3 px-1 flex-1",key:r,style:N({backgroundColor:e(F)(r-n*12,e(B)[r-n*12]?1:.3)}),onPointerdown:_(t=>{v.value=!0,e(S)(u(o.chord,o.degree,a,n))},["prevent"]),onPointerup:t=>{v.value=!1,e(h)(u(o.chord,o.degree,a,n))},onPointerleave:t=>e(h)(u(o.chord,o.degree,a,n)),onPointerout:t=>e(h)(u(o.chord,o.degree,a,n)),onPointercancel:t=>{v.value=!1,e(h)(u(o.chord,o.degree,a,n))},onPointerenter:t=>v.value&&e(S)(u(o.chord,o.degree,a,n))},[n==1?(i(),d("span",U,g(e(C)[(r-9)%12]),1)):E("",!0)],44,R))),128))])),64))],6))}},X={class:"gap-2 p-4 items-center select-none",style:{display:"grid","grid-template-columns":"repeat(auto-fill, minmax(100px, 1fr))"}},Y={class:"flex items-center gap-2 px-2"},Z={class:"text-sm w-4"},ee=["onPointerdown","onPointerup","onPointercancel","onPointerout"],te={__name:"ScaleChords",emits:["chord"],setup(o,{emit:y}){const k=y,p=w(()=>H().map(n=>{const r=[0,...n.chroma.split("").map((t,s)=>t==1?s:!1).filter(Boolean)];let a={};return r.forEach(t=>a[t]=v(O(n.chroma.split(""),t).join(""))),{...n,degrees:r,degreeChords:a}}));function u(n="101010010100",r="100010010000"){let a=n.split(""),t=r.split("");if(t.reduce((c,A)=>Number(A)+Number(c))<3)return!1;for(let c=0;c<12;c++)if(t[c]==1&&a[c]!=1)return!1;return!0}function v(n="101010010100"){return T().filter(r=>u(n,r.chroma))}const f=w(()=>p.value.find(n=>n.chroma==l.chroma)),b=z();return(n,r)=>{var a;return i(),d("div",X,[(i(!0),d(P,null,$((a=f.value)==null?void 0:a.degrees,t=>(i(),d(P,{key:t},[m("div",Y,[m("div",Z,g(e(J)[t]),1),r[0]||(r[0]=m("div",{class:"flex-1"},null,-1)),m("div",{class:"font-bold w-8 h-8 rounded-full flex items-center flex-col cursor-pointer select-none text-white",onPointerdown:s=>e(S)(t+e(l).tonic+57+e(x).offset*12),onPointerup:_(s=>e(h)(t+e(l).tonic+57+e(x).offset*12),["stop","prevent"]),onPointercancel:s=>e(h)(t+e(l).tonic+57+e(x).offset*12),onPointerout:s=>e(h)(t+e(l).tonic+57+e(x).offset*12),style:N({backgroundColor:e(K)((t+e(l).tonic)%12,2)})},g(e(C)[(t+e(l).tonic)%12]),45,ee)]),(i(!0),d(P,null,$(f.value.degreeChords[t].toSorted((s,c)=>s.intervals.length>c.intervals.length?1:-1),s=>(i(),M(W,{onPointerdown:c=>{k("chord",s),b.value=s},key:s,chord:s,degree:t},null,8,["onPointerdown","chord","degree"]))),128))],64))),128))])}}},re=L(te,[["__scopeId","data-v-ff17a197"]]);export{re as _}; +import{v as D,c as w,r as B,x as i,y as d,A as m,G as g,E as e,F as P,B as $,H as N,S as A,I as E,z as I,q as L,T as M}from"./framework.CQBrk0Ry.js";import{G as j,g as l,ah as x,n as C,ax as F,ay as z,u as S,x as h,d as G,az as V,aA as q,P as H,r as O,y as T,i as J,c as K}from"./theme.Dd_Fb62b.js";const Q={class:"text-sm absolute top-2 left-2 w-full z-100 pointer-events-none text-white font-bold"},R=["onPointerdown","onPointerup","onPointerleave","onPointerout","onPointercancel","onPointerenter"],U={key:0,class:"text-10px absolute z-100 top-0 left-1 text-white pointer-events-none"},W={__name:"ScaleChordsCard",props:{chord:{type:Object,default:()=>({})},degree:{type:Number,default:0}},setup(o){const y=o,{isDark:k}=D(),p=w(()=>y.chord.intervals.map(f=>j(f)+y.degree+l.tonic+69-12+x.offset*12));function u(f,b,n,r=0){return Array.from({length:f.intervals.length},(a,t)=>t+1+n).map(V(f.aliases[0],C[(b+l.tonic)%12]+(4+x.offset-r))).map(q)}const v=B(!1);return(f,b)=>(i(),d("div",{class:I(["flex flex-col border-1 p-1 border-op-10 dark-border-light-900 dark-border-op-10 border-dark-200 rounded overflow-hidden select-none relative",{active:p.value.filter(n=>e(z)[n]).length==p.value.length}]),style:N({backgroundColor:e(G)(o.chord.chroma,(o.degree+e(l).tonic)%12,.2,e(k)?4:14).lch})},[m("div",Q,g(e(C)[(o.degree+e(l).tonic)%12])+g(o.chord.aliases[0]),1),(i(),d(P,null,$([0,1],n=>m("div",{class:"flex flex-1 w-full",key:n},[(i(!0),d(P,null,$(p.value,(r,a)=>(i(),d("button",{class:"relative py-3 px-1 flex-1",key:r,style:N({backgroundColor:e(F)(r-n*12,e(z)[r-n*12]?1:.3)}),onPointerdown:A(t=>{v.value=!0,e(S)(u(o.chord,o.degree,a,n))},["prevent"]),onPointerup:t=>{v.value=!1,e(h)(u(o.chord,o.degree,a,n))},onPointerleave:t=>e(h)(u(o.chord,o.degree,a,n)),onPointerout:t=>e(h)(u(o.chord,o.degree,a,n)),onPointercancel:t=>{v.value=!1,e(h)(u(o.chord,o.degree,a,n))},onPointerenter:t=>v.value&&e(S)(u(o.chord,o.degree,a,n))},[n==1?(i(),d("span",U,g(e(C)[(r-9)%12]),1)):E("",!0)],44,R))),128))])),64))],6))}},X={class:"gap-2 p-4 items-center select-none",style:{display:"grid","grid-template-columns":"repeat(auto-fill, minmax(100px, 1fr))"}},Y={class:"flex items-center gap-2 px-2"},Z={class:"text-sm w-4"},ee=["onPointerdown","onPointerup","onPointercancel","onPointerout"],te={__name:"ScaleChords",emits:["chord"],setup(o,{emit:y}){const k=y,p=w(()=>H().map(n=>{const r=[0,...n.chroma.split("").map((t,s)=>t==1?s:!1).filter(Boolean)];let a={};return r.forEach(t=>a[t]=v(O(n.chroma.split(""),t).join(""))),{...n,degrees:r,degreeChords:a}}));function u(n="101010010100",r="100010010000"){let a=n.split(""),t=r.split("");if(t.reduce((c,_)=>Number(_)+Number(c))<3)return!1;for(let c=0;c<12;c++)if(t[c]==1&&a[c]!=1)return!1;return!0}function v(n="101010010100"){return T().filter(r=>u(n,r.chroma))}const f=w(()=>p.value.find(n=>n.chroma==l.chroma)),b=B();return(n,r)=>{var a;return i(),d("div",X,[(i(!0),d(P,null,$((a=f.value)==null?void 0:a.degrees,t=>(i(),d(P,{key:t},[m("div",Y,[m("div",Z,g(e(J)[t]),1),r[0]||(r[0]=m("div",{class:"flex-1"},null,-1)),m("div",{class:"font-bold w-8 h-8 rounded-full flex items-center flex-col cursor-pointer select-none text-white",onPointerdown:s=>e(S)(t+e(l).tonic+57+e(x).offset*12),onPointerup:A(s=>e(h)(t+e(l).tonic+57+e(x).offset*12),["stop","prevent"]),onPointercancel:s=>e(h)(t+e(l).tonic+57+e(x).offset*12),onPointerout:s=>e(h)(t+e(l).tonic+57+e(x).offset*12),style:N({backgroundColor:e(K)((t+e(l).tonic)%12,2)})},g(e(C)[(t+e(l).tonic)%12]),45,ee)]),(i(!0),d(P,null,$(f.value.degreeChords[t].toSorted((s,c)=>s.intervals.length>c.intervals.length?1:-1),s=>(i(),M(W,{onPointerdown:c=>{k("chord",s),b.value=s},key:s,chord:s,degree:t},null,8,["onPointerdown","chord","degree"]))),128))],64))),128))])}}},re=L(te,[["__scopeId","data-v-ff17a197"]]);export{re as _}; diff --git a/assets/chunks/ScaleDegreesCircle.DwOfZut9.js b/assets/chunks/ScaleDegreesCircle.Cwq_yB2n.js similarity index 95% rename from assets/chunks/ScaleDegreesCircle.DwOfZut9.js rename to assets/chunks/ScaleDegreesCircle.Cwq_yB2n.js index f1ac55dfc3..214899b2db 100644 --- a/assets/chunks/ScaleDegreesCircle.DwOfZut9.js +++ b/assets/chunks/ScaleDegreesCircle.Cwq_yB2n.js @@ -1 +1 @@ -import{_ as M}from"./SvgRing.0H20IYi1.js";import{n as D,g as _,m as h,c as I,r as b,i as N}from"./theme.ClagsQLu.js";import{x as c,y as f,F as m,B as d,P as w,E as o,A as s,I as O,G as $}from"./framework.BR0mAPCP.js";const P={class:"select-none m-2",version:"1.1",baseProfile:"full",viewBox:"100 100 800 800",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},"font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle"},j=["x1","x2","y1","y2"],A=["transform","onClick"],E=["fill"],F={"font-size":"25",fill:"currentColor"},q={"text-anchor":"middle","dominant-baseline":"middle"},G=["onClick"],T=["x","y"],U={"text-anchor":"middle","dominant-baseline":"middle"},H=["d"],J=["d"],K={class:"degrees"},Q={"font-size":"30"},W=["href","startOffset"],X={"text-anchor":"middle","dominant-baseline":"middle"},Y=["d"],Z=["d"],tt={class:"roman",style:{"pointer-events":"none"}},et={"font-size":"36"},ot=["href","startOffset"],st={"text-anchor":"middle","dominant-baseline":"middle"},g=140,B=30,a=350,r=300,nt=330,at=330,R=260,ct={__name:"ScaleDegreesCircle",props:{chroma:{type:String,default:"1010110101010"},fixed5:{type:Boolean,default:!1}},emits:["update:chroma"],setup(p,{emit:S}){const k=[...D].map((l,e)=>({name:l,pitch:e})),u=g-B,C=R-30,x=p,v=S;function V(l){if(l==0)return;let e=x.chroma.split("");e[l]==1?e[l]=0:e[l]=1,v("update:chroma",e.join(""))}function L(l){let e=x.chroma.split(""),i=l[0];if(i!=0&&!(i==7&&x.fixed5)){if(l.length==1)e[i]==1?e[i]=0:e[i]=1;else{let t=l[1];e[i]==0&&e[t]==1||e[i]==e[t]?(e[i]=1,e[t]=0):(e[i]=0,e[t]=1)}v("update:chroma",e.join(""))}}const y={Tonic:{arc:[-15,15],steps:[0],offset:550,roffset:475,path:"Left",roman:"I"},Supertonic:{arc:[15,75],steps:[1,2],offset:840,roffset:720,path:"Left",roman:"II"},Mediant:{arc:[75,135],steps:[3,4],offset:1e3,roffset:860,path:"Right",roman:"III"},Subdominant:{arc:[135,195],steps:[5,6],offset:650,roffset:550,path:"Right",roman:"IV"},Dominant:{arc:[195,225],steps:[7],offset:365,roffset:315,path:"Right",roman:"V"},Submediant:{arc:[225,285],steps:[8,9],offset:100,roffset:85,path:"Right",roman:"VI"},Subtonic:{arc:[285,345],steps:[10,11],offset:270,roffset:230,path:"Left",roman:"VII"}};return(l,e)=>{const i=M;return c(),f("svg",P,[(c(),f(m,null,d(y,t=>w(i,{class:"cursor-pointer",key:t,onClick:n=>L(t.steps),cx:500,cy:500,radius:nt,thickness:at,from:t.arc[0],to:t.arc[1],op:.3,fill:`hsla(${(t.arc[0]+t.arc[1])/2+30*o(_).tonic},80%,50%,1)`},null,8,["onClick","from","to","fill"])),64)),(c(),f(m,null,d(12,t=>s("g",{class:"fifths",key:t},[p.chroma.split("")[t*7%12]==1&&p.chroma.split("")[(t+1)*7%12]==1?(c(),f("line",{key:0,x1:o(h)(t*7%12,12,u,1e3).x,x2:o(h)((t+1)*7%12,12,u,1e3).x,y1:o(h)(t*7%12,12,u,1e3).y,y2:o(h)((t+1)*7%12,12,u,1e3).y,stroke:"currentColor","stroke-linecap":"round","stroke-width":"2"},null,8,j)):O("",!0)])),64)),(c(!0),f(m,null,d(o(b)(o(k),o(_).tonic),(t,n)=>(c(),f("g",{class:"note cursor-pointer transition-all duration-300 ease-out",key:n,transform:`translate(${o(h)(n,12,g,1e3).x} ${o(h)(n,12,g,1e3).y})`,onClick:z=>o(_).tonic=t.pitch},[s("circle",{class:"transition-all duration-300 ease",r:B,fill:p.chroma.split("")[n]==1?o(I)(t.pitch,3):t.name.length==2?"#5552":"#ccc2"},null,8,E),s("text",F,[s("tspan",q,$(t.name),1)])],8,A))),128)),(c(!0),f(m,null,d(o(b)(o(k),o(_).tonic),(t,n)=>(c(),f("g",{class:"interval cursor-pointer",key:n,onClick:z=>V(n)},[w(i,{class:"transition-all duration-300 ease",cx:500,cy:500,radius:R,thickness:60,from:n*30-15,to:n*30+15,fill:p.chroma.split("")[n]==1?o(I)(t.pitch,3):t.name.length==2?"#5552":"#ccc2"},null,8,["from","to","fill"]),s("text",{x:o(h)(n,12,C,1e3).x,y:o(h)(n,12,C,1e3).y,"font-size":"20","text-anchor":"middle",fill:"currentColor"},[s("tspan",U,$(o(N)[n]),1)],8,T)],8,G))),128)),s("path",{id:"pathRight",d:`M 500 500 m ${-a}, 0 a ${a}, ${a} 0 1, 0 ${a*2}, 0 a ${a}, ${a} 0 1, 0 ${-a*2}, 0`,fill:"none"},null,8,H),s("path",{id:"pathLeft",d:`M 500 500 m ${-a}, 0 a ${a}, ${a} 0 1, 1 ${a*2}, 0 a ${a}, ${a} 0 1, 1 ${-a*2}, 0`,fill:"none"},"//https://stackoverflow.com/questions/5737975/circle-drawing-with-svgs-arc-path",8,J),s("g",K,[s("text",Q,[(c(),f(m,null,d(y,(t,n)=>s("textPath",{href:`#path${t.path}`,key:t,startOffset:t.offset,fill:"currentColor"},[s("tspan",X,$(n),1)],8,W)),64))])]),s("path",{id:"pathBLeft",d:`M 500 500 m ${-r}, 0 a ${r}, ${r} 0 1, 1 ${r*2}, 0 a ${r}, ${r} 0 1, 1 ${-r*2}, 0`,fill:"none"},null,8,Y),s("path",{id:"pathBRight",d:`M 500 500 m ${-r}, 0 a ${r}, ${r} 0 1, 0 ${r*2}, 0 a ${r}, ${r} 0 1, 0 ${-r*2}, 0`,fill:"none"},null,8,Z),s("g",tt,[s("text",et,[(c(),f(m,null,d(y,(t,n)=>s("textPath",{href:`#pathB${t.path}`,key:t,startOffset:t.roffset,fill:"currentColor"},[s("tspan",st,$(t.roman),1)],8,ot)),64))])])])}}};export{ct as _}; +import{_ as M}from"./SvgRing.CpiEvEsl.js";import{n as D,g as _,m as h,c as I,r as b,i as N}from"./theme.Dd_Fb62b.js";import{x as c,y as f,F as m,B as d,P as w,E as o,A as s,I as O,G as $}from"./framework.CQBrk0Ry.js";const P={class:"select-none m-2",version:"1.1",baseProfile:"full",viewBox:"100 100 800 800",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},"font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle"},j=["x1","x2","y1","y2"],A=["transform","onClick"],E=["fill"],F={"font-size":"25",fill:"currentColor"},q={"text-anchor":"middle","dominant-baseline":"middle"},G=["onClick"],T=["x","y"],U={"text-anchor":"middle","dominant-baseline":"middle"},H=["d"],J=["d"],K={class:"degrees"},Q={"font-size":"30"},W=["href","startOffset"],X={"text-anchor":"middle","dominant-baseline":"middle"},Y=["d"],Z=["d"],tt={class:"roman",style:{"pointer-events":"none"}},et={"font-size":"36"},ot=["href","startOffset"],st={"text-anchor":"middle","dominant-baseline":"middle"},g=140,B=30,a=350,r=300,nt=330,at=330,R=260,ct={__name:"ScaleDegreesCircle",props:{chroma:{type:String,default:"1010110101010"},fixed5:{type:Boolean,default:!1}},emits:["update:chroma"],setup(p,{emit:S}){const k=[...D].map((l,e)=>({name:l,pitch:e})),u=g-B,C=R-30,x=p,v=S;function V(l){if(l==0)return;let e=x.chroma.split("");e[l]==1?e[l]=0:e[l]=1,v("update:chroma",e.join(""))}function L(l){let e=x.chroma.split(""),i=l[0];if(i!=0&&!(i==7&&x.fixed5)){if(l.length==1)e[i]==1?e[i]=0:e[i]=1;else{let t=l[1];e[i]==0&&e[t]==1||e[i]==e[t]?(e[i]=1,e[t]=0):(e[i]=0,e[t]=1)}v("update:chroma",e.join(""))}}const y={Tonic:{arc:[-15,15],steps:[0],offset:550,roffset:475,path:"Left",roman:"I"},Supertonic:{arc:[15,75],steps:[1,2],offset:840,roffset:720,path:"Left",roman:"II"},Mediant:{arc:[75,135],steps:[3,4],offset:1e3,roffset:860,path:"Right",roman:"III"},Subdominant:{arc:[135,195],steps:[5,6],offset:650,roffset:550,path:"Right",roman:"IV"},Dominant:{arc:[195,225],steps:[7],offset:365,roffset:315,path:"Right",roman:"V"},Submediant:{arc:[225,285],steps:[8,9],offset:100,roffset:85,path:"Right",roman:"VI"},Subtonic:{arc:[285,345],steps:[10,11],offset:270,roffset:230,path:"Left",roman:"VII"}};return(l,e)=>{const i=M;return c(),f("svg",P,[(c(),f(m,null,d(y,t=>w(i,{class:"cursor-pointer",key:t,onClick:n=>L(t.steps),cx:500,cy:500,radius:nt,thickness:at,from:t.arc[0],to:t.arc[1],op:.3,fill:`hsla(${(t.arc[0]+t.arc[1])/2+30*o(_).tonic},80%,50%,1)`},null,8,["onClick","from","to","fill"])),64)),(c(),f(m,null,d(12,t=>s("g",{class:"fifths",key:t},[p.chroma.split("")[t*7%12]==1&&p.chroma.split("")[(t+1)*7%12]==1?(c(),f("line",{key:0,x1:o(h)(t*7%12,12,u,1e3).x,x2:o(h)((t+1)*7%12,12,u,1e3).x,y1:o(h)(t*7%12,12,u,1e3).y,y2:o(h)((t+1)*7%12,12,u,1e3).y,stroke:"currentColor","stroke-linecap":"round","stroke-width":"2"},null,8,j)):O("",!0)])),64)),(c(!0),f(m,null,d(o(b)(o(k),o(_).tonic),(t,n)=>(c(),f("g",{class:"note cursor-pointer transition-all duration-300 ease-out",key:n,transform:`translate(${o(h)(n,12,g,1e3).x} ${o(h)(n,12,g,1e3).y})`,onClick:z=>o(_).tonic=t.pitch},[s("circle",{class:"transition-all duration-300 ease",r:B,fill:p.chroma.split("")[n]==1?o(I)(t.pitch,3):t.name.length==2?"#5552":"#ccc2"},null,8,E),s("text",F,[s("tspan",q,$(t.name),1)])],8,A))),128)),(c(!0),f(m,null,d(o(b)(o(k),o(_).tonic),(t,n)=>(c(),f("g",{class:"interval cursor-pointer",key:n,onClick:z=>V(n)},[w(i,{class:"transition-all duration-300 ease",cx:500,cy:500,radius:R,thickness:60,from:n*30-15,to:n*30+15,fill:p.chroma.split("")[n]==1?o(I)(t.pitch,3):t.name.length==2?"#5552":"#ccc2"},null,8,["from","to","fill"]),s("text",{x:o(h)(n,12,C,1e3).x,y:o(h)(n,12,C,1e3).y,"font-size":"20","text-anchor":"middle",fill:"currentColor"},[s("tspan",U,$(o(N)[n]),1)],8,T)],8,G))),128)),s("path",{id:"pathRight",d:`M 500 500 m ${-a}, 0 a ${a}, ${a} 0 1, 0 ${a*2}, 0 a ${a}, ${a} 0 1, 0 ${-a*2}, 0`,fill:"none"},null,8,H),s("path",{id:"pathLeft",d:`M 500 500 m ${-a}, 0 a ${a}, ${a} 0 1, 1 ${a*2}, 0 a ${a}, ${a} 0 1, 1 ${-a*2}, 0`,fill:"none"},"//https://stackoverflow.com/questions/5737975/circle-drawing-with-svgs-arc-path",8,J),s("g",K,[s("text",Q,[(c(),f(m,null,d(y,(t,n)=>s("textPath",{href:`#path${t.path}`,key:t,startOffset:t.offset,fill:"currentColor"},[s("tspan",X,$(n),1)],8,W)),64))])]),s("path",{id:"pathBLeft",d:`M 500 500 m ${-r}, 0 a ${r}, ${r} 0 1, 1 ${r*2}, 0 a ${r}, ${r} 0 1, 1 ${-r*2}, 0`,fill:"none"},null,8,Y),s("path",{id:"pathBRight",d:`M 500 500 m ${-r}, 0 a ${r}, ${r} 0 1, 0 ${r*2}, 0 a ${r}, ${r} 0 1, 0 ${-r*2}, 0`,fill:"none"},null,8,Z),s("g",tt,[s("text",et,[(c(),f(m,null,d(y,(t,n)=>s("textPath",{href:`#pathB${t.path}`,key:t,startOffset:t.roffset,fill:"currentColor"},[s("tspan",st,$(t.roman),1)],8,ot)),64))])])])}}};export{ct as _}; diff --git a/assets/chunks/ScaleList.7CFFiStO.js b/assets/chunks/ScaleList.JofJJjb0.js similarity index 99% rename from assets/chunks/ScaleList.7CFFiStO.js rename to assets/chunks/ScaleList.JofJJjb0.js index fa69f3fba2..5cc07afe83 100644 --- a/assets/chunks/ScaleList.7CFFiStO.js +++ b/assets/chunks/ScaleList.JofJJjb0.js @@ -1 +1 @@ -import{_ as M}from"./ChromaRow.7nFmbOny.js";import{g as t,au as A}from"./theme.ClagsQLu.js";import{c as p,x as e,y as i,A as n,P as s,U as R,G as l,E as y,F as z,B as d}from"./framework.BR0mAPCP.js";const B={1:{title:"Unison",chroma:"100000000000",names:{"Western Modern":["Unison","Monotonic"],Dozenal:["0ian"]}},3:{title:"Minor Second Ditone",chroma:"110000000000",names:{Intervals:["Minor Second Ditone"],Western:["Semitone"],"Western Modern":["Hemitone Prime","Duotonic Chromatic"],Dozenal:["1ian"]}},5:{title:"Vietnamese Ditonic",chroma:"101000000000",names:{Exoticisms:["Vietnamese Ditonic"],Intervals:["Whole Tone Ditone"],"Southeast Asia":["Karen 2 Tone","Kmhmu 2 Tone Type 2"],Dozenal:["2ian"]}},7:{title:"Tritonic Chromatic",chroma:"111000000000",names:{"Western Modern":["Tritonic Chromatic","Chromatic Trichord"],Dozenal:["ABOian"]}},9:{title:"Minor Third Ditone",chroma:"100100000000",names:{Intervals:["Minor Third Ditone"],Dozenal:["3ian"]}},11:{title:"Octatonic Trichord",chroma:"110100000000",names:{Dozenal:["ANKian"],"Western Modern":["Octatonic Trichord"]}},13:{title:"DIJian",chroma:"101100000000",names:{}},15:{title:"Tetratonic Chromatic",chroma:"111100000000",names:{"Western Modern":["Tetratonic Chromatic"],Dozenal:["TEJian"]}},17:{title:"Major Third Ditone",chroma:"100010000000",names:{Intervals:["Major Third Ditone"],Dozenal:["4ian"]}},19:{title:"Hexatonic Trichord",chroma:"110010000000",names:{Dozenal:["ACUian"],"Western Modern":["Hexatonic Trichord"]}},21:{title:"Wholetone Trichord",chroma:"101010000000",names:{Dozenal:["ACLian"],"Western Modern":["Wholetone Trichord"]}},23:{title:"APHian",chroma:"111010000000",names:{}},25:{title:"ACKian",chroma:"100110000000",names:{}},27:{title:"ADOian",chroma:"110110000000",names:{}},29:{title:"ADUian",chroma:"101110000000",names:{}},31:{title:"Pentatonic Chromatic",chroma:"111110000000",names:{"Western Modern":["Pentatonic Chromatic"],Dozenal:["AFFian"]}},33:{title:"Perfect Fourth",chroma:"100001000000",names:{Western:["Perfect Fourth"],"Southeast Asia":["MiaoYao 2 Tone"],Dozenal:["5ian"]}},35:{title:"Major Seventh Trichord",chroma:"110001000000",names:{Dozenal:["ABBian"],"Western Modern":["Major Seventh Trichord"]}},37:{title:"Akha 3 Tone",chroma:"101001000000",names:{"Southeast Asia":["Akha 3 Tone","Karen 3 Tone Type 1","Lahuzu 3 Tone Type 2"],Dozenal:["AFOian"],"Western Modern":["Minor Seventh Trichord"]}},39:{title:"AFUian",chroma:"111001000000",names:{}},41:{title:"Vietnamese Tritonic",chroma:"100101000000",names:{Exoticisms:["Vietnamese Tritonic"],"Southeast Asia":["Karen 3 Tone Type 2"],Dozenal:["ACHian"]}},43:{title:"ALFian",chroma:"110101000000",names:{}},45:{title:"APRian",chroma:"101101000000",names:{}},47:{title:"AGOian",chroma:"111101000000",names:{}},49:{title:"AGUian",chroma:"100011000000",names:{}},51:{title:"ARFian",chroma:"110011000000",names:{}},53:{title:"ABSian",chroma:"101011000000",names:{}},55:{title:"ASPian",chroma:"111011000000",names:{}},57:{title:"AHOian",chroma:"100111000000",names:{}},59:{title:"AHUian",chroma:"110111000000",names:{}},61:{title:"AJUian",chroma:"101111000000",names:{}},63:{title:"Hexatonic Chromatic",chroma:"111111000000",names:{"Western Modern":["Hexatonic Chromatic"],Dozenal:["ABLian"]}},65:{title:"Tritone",chroma:"100000100000",names:{Western:["Tritone","Diminished Fifth","Augmented Fourth"],Dozenal:["6ian"]}},67:{title:"Viennese Trichord",chroma:"110000100000",names:{Dozenal:["ABRian"],"Western Modern":["Viennese Trichord"]}},69:{title:"DEZian",chroma:"101000100000",names:{}},71:{title:"ALOian",chroma:"111000100000",names:{}},73:{title:"Diminished Triad",chroma:"100100100000",names:{"Chord Names":["Diminished Triad"],Dozenal:["DIMian"]}},75:{title:"ILOian",chroma:"110100100000",names:{}},77:{title:"ALVian",chroma:"101100100000",names:{}},79:{title:"APPian",chroma:"111100100000",names:{}},81:{title:"Karen 3 Tone Type 6",chroma:"100010100000",names:{"Southeast Asia":["Karen 3 Tone Type 6"],Dozenal:["DISian"]}},83:{title:"All-Interval Tetrachord 1",chroma:"110010100000",names:{"Western Modern":["All-Interval Tetrachord 1"],Dozenal:["AMUian"]}},85:{title:"SEGian",chroma:"101010100000",names:{}},87:{title:"ASRian",chroma:"111010100000",names:{}},89:{title:"AGGian",chroma:"100110100000",names:{}},91:{title:"ANOian",chroma:"110110100000",names:{}},93:{title:"ANUian",chroma:"101110100000",names:{}},95:{title:"ARKian",chroma:"111110100000",names:{}},97:{title:"ATHian",chroma:"100001100000",names:{}},99:{title:"IPRian",chroma:"110001100000",names:{}},101:{title:"All-Interval Tetrachord 3",chroma:"101001100000",names:{"Western Modern":["All-Interval Tetrachord 3"],Dozenal:["APOian"]}},103:{title:"APUian",chroma:"111001100000",names:{}},105:{title:"EDWian",chroma:"100101100000",names:{}},107:{title:"ANSian",chroma:"110101100000",names:{}},109:{title:"AMSian",chroma:"101101100000",names:{}},111:{title:"AROian",chroma:"111101100000",names:{}},113:{title:"ARUian",chroma:"100011100000",names:{}},115:{title:"ASHian",chroma:"110011100000",names:{}},117:{title:"ANBian",chroma:"101011100000",names:{}},119:{title:"SMOian",chroma:"111011100000",names:{}},121:{title:"ASOian",chroma:"100111100000",names:{}},123:{title:"ASUian",chroma:"110111100000",names:{}},125:{title:"ATWian",chroma:"101111100000",names:{}},127:{title:"Heptatonic Chromatic",chroma:"111111100000",names:{"Western Modern":["Heptatonic Chromatic"],Bedwell:["Alt-minimus"],Western:["Chromatic Heptamode Basic"],Dozenal:["TIZian"]}},129:{title:"Niagari Ditonic",chroma:"100000010000",names:{Japanese:["Niagari Ditonic"],"Southeast Asia":["Kmhmu 2 Tone Type 1"],Dozenal:["7ian"]}},131:{title:"ATOian",chroma:"110000010000",names:{}},133:{title:"Suspended Second Triad",chroma:"101000010000",names:{"Chord Names":["Suspended Second Triad"],"Southeast Asia":["Kmhmu 3 Tone Type 1"],Dozenal:["REPian"]}},135:{title:"ATTian",chroma:"111000010000",names:{}},137:{title:"Minor Triad",chroma:"100100010000",names:{"Chord Names":["Minor Triad"],Exoticisms:["Peruvian Tritonic 2"],Dozenal:["MINian"]}},139:{title:"All-Interval Tetrachord 2",chroma:"110100010000",names:{"Western Modern":["All-Interval Tetrachord 2"],Dozenal:["AYOian"]}},141:{title:"BABian",chroma:"101100010000",names:{}},143:{title:"BACian",chroma:"111100010000",names:{}},145:{title:"Major Triad",chroma:"100010010000",names:{"Chord Names":["Major Triad"],Carnatic:["Raga Malasri"],Exoticisms:["Peruvian Tritonic 1"],"Southeast Asia":["Kmhmu 3 Tone Type 2"],Dozenal:["MAJian"]}},147:{title:"BAFian",chroma:"110010010000",names:{}},149:{title:"Eskimo Tetratonic",chroma:"101010010000",names:{Exoticisms:["Eskimo Tetratonic"],"Southeast Asia":["Lahuzu 4 Tone Type 2"],Dozenal:["BEJian"]}},151:{title:"BAHian",chroma:"111010010000",names:{}},153:{title:"BAJian",chroma:"100110010000",names:{}},155:{title:"BAKian",chroma:"110110010000",names:{}},157:{title:"BALian",chroma:"101110010000",names:{}},159:{title:"BAMian",chroma:"111110010000",names:{}},161:{title:"Suspended Fourth Triad",chroma:"100001010000",names:{"Chord Names":["Suspended Fourth Triad"],Carnatic:["Raga Sarvasri"],Exoticisms:["Warao Tritonic"],Dozenal:["SUSian"]}},163:{title:"BAPian",chroma:"110001010000",names:{}},165:{title:"Genus Primum",chroma:"101001010000",names:{"Ancient Greek":["Genus Primum"],"Southeast Asia":["Karen 4 Tone Type 2","MiaoYao 4 Tone Type 1"],Dozenal:["BAQian"]}},167:{title:"BARian",chroma:"111001010000",names:{}},169:{title:"Vietnamese Tetratonic",chroma:"100101010000",names:{Exoticisms:["Vietnamese Tetratonic"],"Southeast Asia":["Akha 4 Tone Type 1","Lahuzu 4 Tone Type 6"],Dozenal:["BASian"]}},171:{title:"PRUian",chroma:"110101010000",names:{}},173:{title:"Raga Purnalalita",chroma:"101101010000",names:{Carnatic:["Raga Purnalalita"],Jewish:["Chad Gadyo"],African:["Ghana Pentatonic 1"],Korean:["Nando-kyemyonjo"],Dozenal:["BAVian"]}},175:{title:"BEWian",chroma:"111101010000",names:{}},177:{title:"BEXian",chroma:"100011010000",names:{}},179:{title:"BEYian",chroma:"110011010000",names:{}},181:{title:"Raga Budhamanohari",chroma:"101011010000",names:{Carnatic:["Raga Budhamanohari"],"Southeast Asia":["Khmer Pentatonic seldom"],Dozenal:["BEZian"]}},183:{title:"BEBian",chroma:"111011010000",names:{}},185:{title:"BECian",chroma:"100111010000",names:{}},187:{title:"BEDian",chroma:"110111010000",names:{}},189:{title:"BEFian",chroma:"101111010000",names:{}},191:{title:"Ultra-Alt 67",chroma:"111111010000",names:{Bedwell:["Ultra-Alt 67"],Dozenal:["BEGian"]}},193:{title:"Raga Ongkari",chroma:"100000110000",names:{Carnatic:["Raga Ongkari"],Dozenal:["BEHian"]}},195:{title:"Messiaen Mode 5 Truncation 1",chroma:"110000110000",names:{Messiaen:["Messiaen Mode 5 Truncation 1","Messiaen 5th Mode Truncated"],Dozenal:["BAGian"],"Named After Composers":["Z-cell"]}},197:{title:"BEKian",chroma:"101000110000",names:{}},199:{title:"Raga Nabhomani",chroma:"111000110000",names:{Carnatic:["Raga Nabhomani"],Dozenal:["BELian"]}},201:{title:"BEMian",chroma:"100100110000",names:{}},203:{title:"MiaoYao 5 Tone Type 3",chroma:"110100110000",names:{"Southeast Asia":["MiaoYao 5 Tone Type 3"],Dozenal:["ICHian"]}},205:{title:"BEPian",chroma:"101100110000",names:{}},207:{title:"BEQian",chroma:"111100110000",names:{}},209:{title:"All-Interval Tetrachord 4",chroma:"100010110000",names:{"Western Modern":["All-Interval Tetrachord 4"],Dozenal:["BIRian"]}},211:{title:"BISian",chroma:"110010110000",names:{}},213:{title:"BITian",chroma:"101010110000",names:{}},215:{title:"BIVian",chroma:"111010110000",names:{}},217:{title:"BIWian",chroma:"100110110000",names:{}},219:{title:"Istrian",chroma:"110110110000",names:{Exoticisms:["Istrian"],Dozenal:["BIXian"]}},221:{title:"BIYian",chroma:"101110110000",names:{}},223:{title:"Ultra-Alt 7",chroma:"111110110000",names:{Bedwell:["Ultra-Alt 7"],Dozenal:["BIZian"]}},225:{title:"BIBian",chroma:"100001110000",names:{}},227:{title:"BICian",chroma:"110001110000",names:{}},229:{title:"BIDian",chroma:"101001110000",names:{}},231:{title:"BIFian",chroma:"111001110000",names:{}},233:{title:"BIGian",chroma:"100101110000",names:{}},235:{title:"BIHian",chroma:"110101110000",names:{}},237:{title:"BIJian",chroma:"101101110000",names:{}},239:{title:"Infra-Alt 67",chroma:"111101110000",names:{Bedwell:["Infra-Alt 67"],Dozenal:["BIKian"]}},241:{title:"BILian",chroma:"100011110000",names:{}},243:{title:"BOMian",chroma:"110011110000",names:{}},245:{title:"Raga Dipak",chroma:"101011110000",names:{Carnatic:["Raga Dipak"],Dozenal:["BONian"]}},247:{title:"Infra-Alt 647",chroma:"111011110000",names:{Bedwell:["Infra-Alt 647"],Dozenal:["BOPian"]}},249:{title:"BOQian",chroma:"100111110000",names:{}},251:{title:"Alt 567",chroma:"110111110000",names:{Bedwell:["Alt 567"],Dozenal:["BORian"]}},253:{title:"Alt 2567",chroma:"101111110000",names:{Bedwell:["Alt 2567"],Dozenal:["BOSian"]}},255:{title:"Chromatic Octamode",chroma:"111111110000",names:{"Western Modern":["Chromatic Octamode","Octatonic Chromatic"],Western:["Chromatic Octamode Basic"],Dozenal:["BOTian"]}},257:{title:"Minor Sixth Ditone",chroma:"100000001000",names:{Intervals:["Minor Sixth Ditone"],Dozenal:["8ian"]}},259:{title:"GIJian",chroma:"110000001000",names:{}},261:{title:"BOZian",chroma:"101000001000",names:{}},263:{title:"UDWian",chroma:"111000001000",names:{}},265:{title:"BOXian",chroma:"100100001000",names:{}},267:{title:"BOBian",chroma:"110100001000",names:{}},269:{title:"BOCian",chroma:"101100001000",names:{}},271:{title:"BODian",chroma:"111100001000",names:{}},273:{title:"Augmented Triad",chroma:"100010001000",names:{"Chord Names":["Augmented Triad"],Zeitler:["Minoric"],Dozenal:["AUGian"]}},275:{title:"Dalic",chroma:"110010001000",names:{Zeitler:["Dalic"],Dozenal:["HUZian"]}},277:{title:"Mixolyric",chroma:"101010001000",names:{Zeitler:["Mixolyric"],Dozenal:["BUHian"]}},279:{title:"Poditonic",chroma:"111010001000",names:{Zeitler:["Poditonic"],Dozenal:["BUJian"]}},281:{title:"Lanic",chroma:"100110001000",names:{Zeitler:["Lanic"],Dozenal:["BUKian"]}},283:{title:"Aerylitonic",chroma:"110110001000",names:{Zeitler:["Aerylitonic"],Dozenal:["BULian"]}},285:{title:"Zaritonic",chroma:"101110001000",names:{Zeitler:["Zaritonic"],Dozenal:["BUMian"]}},287:{title:"Gynimic",chroma:"111110001000",names:{Zeitler:["Gynimic"],Dozenal:["BUNian"]}},289:{title:"Karen 3 Tone Type 3",chroma:"100001001000",names:{"Southeast Asia":["Karen 3 Tone Type 3","Karen 5 Tone Type 3"],Dozenal:["VALian"]}},291:{title:"Raga Lavangi",chroma:"110001001000",names:{Carnatic:["Raga Lavangi","Gowleeswari"],Zeitler:["Aerathic"],Dozenal:["MUZian"]}},293:{title:"Raga Haripriya",chroma:"101001001000",names:{Carnatic:["Raga Haripriya"],Zeitler:["Zoptic"],Dozenal:["BURian"]}},295:{title:"Gyritonic",chroma:"111001001000",names:{Zeitler:["Gyritonic"],Dozenal:["BUSian"]}},297:{title:"Karen 4 Tone Type 3",chroma:"100101001000",names:{"Southeast Asia":["Karen 4 Tone Type 3"],Zeitler:["Mynic"],Dozenal:["ARTian"]}},299:{title:"Raga Chitthakarshini",chroma:"110101001000",names:{Carnatic:["Raga Chitthakarshini"],Zeitler:["Phratonic"],Dozenal:["BUVian"]}},301:{title:"Raga Audav Tukhari",chroma:"101101001000",names:{Carnatic:["Raga Audav Tukhari"],Zeitler:["Zythitonic"],Dozenal:["BUWian"]}},303:{title:"Golimic",chroma:"111101001000",names:{Zeitler:["Golimic"],Dozenal:["BUXian"]}},305:{title:"Gonic",chroma:"100011001000",names:{Zeitler:["Gonic"],Dozenal:["BUYian"]}},307:{title:"Raga Megharanjani",chroma:"110011001000",names:{Carnatic:["Raga Megharanjani"],Exoticisms:["Syrian Pentatonic"],Zeitler:["Phrolitonic"],Dozenal:["BUZian"]}},309:{title:"Palitonic",chroma:"101011001000",names:{Zeitler:["Palitonic"],Dozenal:["BUBian"]}},311:{title:"Stagimic",chroma:"111011001000",names:{Zeitler:["Stagimic"],Dozenal:["CABian"]}},313:{title:"Goritonic",chroma:"100111001000",names:{Zeitler:["Goritonic"],Dozenal:["CACian"]}},315:{title:"Stodimic",chroma:"110111001000",names:{Zeitler:["Stodimic"],Dozenal:["CADian"]}},317:{title:"Korimic",chroma:"101111001000",names:{Zeitler:["Korimic"],Dozenal:["CAFian"]}},319:{title:"Ultra-Alt 6",chroma:"111111001000",names:{Bedwell:["Ultra-Alt 6"],Zeitler:["Epodian"],Dozenal:["CAGian"]}},321:{title:"CAHian",chroma:"100000101000",names:{}},323:{title:"CAJian",chroma:"110000101000",names:{}},325:{title:"Messiaen Truncated Mode 6",chroma:"101000101000",names:{Messiaen:["Messiaen Truncated Mode 6","T6 Prime Mode","Messiaen 6th Mode Truncated"],Zeitler:["Dadic"],Dozenal:["CARian"]}},327:{title:"Syptitonic",chroma:"111000101000",names:{Zeitler:["Syptitonic"],Dozenal:["CALian"]}},329:{title:"Lonic",chroma:"100100101000",names:{Zeitler:["Lonic"],Dozenal:["CAMian"]}},331:{title:"Raga Chhaya Todi",chroma:"110100101000",names:{Carnatic:["Raga Chhaya Todi"],"Western Modern":["Locrian Pentatonic 1"],Myanmar:["Hsikci"],Zeitler:["Byptitonic"],Dozenal:["CANian"]}},333:{title:"Bogitonic",chroma:"101100101000",names:{Zeitler:["Bogitonic"],Dozenal:["CAPian"]}},335:{title:"Zanimic",chroma:"111100101000",names:{Zeitler:["Zanimic"],Dozenal:["CAQian"]}},337:{title:"Kmhmu 4 Tone Type 2",chroma:"100010101000",names:{"Southeast Asia":["Kmhmu 4 Tone Type 2"],Myanmar:["Than you Chaukpauk Hninloun"],Zeitler:["Koptic"],Dozenal:["CAKian"]}},339:{title:"Zaptitonic",chroma:"110010101000",names:{Zeitler:["Zaptitonic"],Dozenal:["CASian"]}},341:{title:"Bothitonic",chroma:"101010101000",names:{Zeitler:["Bothitonic"],Dozenal:["FROian"]}},343:{title:"Ionorimic",chroma:"111010101000",names:{Zeitler:["Ionorimic"],Dozenal:["CAVian"]}},345:{title:"Gylitonic",chroma:"100110101000",names:{Zeitler:["Gylitonic"],Dozenal:["CEWian"]}},347:{title:"Barimic",chroma:"110110101000",names:{Zeitler:["Barimic"],Dozenal:["CEXian"]}},349:{title:"Borimic",chroma:"101110101000",names:{Zeitler:["Borimic"],Dozenal:["CEYian"]}},351:{title:"Infra-Alt 567",chroma:"111110101000",names:{Bedwell:["Infra-Alt 567"],Zeitler:["Epanian"],Dozenal:["CEZian"]}},353:{title:"CEBian",chroma:"100001101000",names:{}},355:{title:"African Pentatonic 4",chroma:"110001101000",names:{Western:["African Pentatonic 4"],Zeitler:["Aeoloritonic"],Dozenal:["CECian"]}},357:{title:"Banitonic",chroma:"101001101000",names:{Zeitler:["Banitonic"],Dozenal:["CEDian"]}},359:{title:"Bothimic",chroma:"111001101000",names:{Zeitler:["Bothimic"],Dozenal:["CEFian"]}},361:{title:"Bocritonic",chroma:"100101101000",names:{Zeitler:["Bocritonic"],Dozenal:["CEGian"]}},363:{title:"Soptimic",chroma:"110101101000",names:{Zeitler:["Soptimic"],Dozenal:["CEHian"]}},365:{title:"Marimic",chroma:"101101101000",names:{Zeitler:["Marimic"],Dozenal:["CEJian"]}},367:{title:"Infra-Alt 67",chroma:"111101101000",names:{Bedwell:["Infra-Alt 67"],Zeitler:["Aerodian"],Dozenal:["CEKian"]}},369:{title:"Laditonic",chroma:"100011101000",names:{Zeitler:["Laditonic"],Dozenal:["CELian"]}},371:{title:"Rythimic",chroma:"110011101000",names:{Zeitler:["Rythimic"],Dozenal:["CEMian"]}},373:{title:"Epagimic",chroma:"101011101000",names:{Zeitler:["Epagimic"],Dozenal:["INKian"]}},375:{title:"Infra-Alt 674",chroma:"111011101000",names:{Bedwell:["Infra-Alt 674"],Zeitler:["Sodian"],Dozenal:["CEPian"]}},377:{title:"Kathimic",chroma:"100111101000",names:{Zeitler:["Kathimic"],Dozenal:["CEQian"]}},379:{title:"Alt 567",chroma:"110111101000",names:{Bedwell:["Alt 567"],Zeitler:["Aeragian"],Dozenal:["CIRian"]}},381:{title:"Alt 2567",chroma:"101111101000",names:{Bedwell:["Alt 2567"],Zeitler:["Kogian"],Dozenal:["CISian"]}},383:{title:"Logyllic",chroma:"111111101000",names:{Zeitler:["Logyllic"],Dozenal:["CITian"]}},385:{title:"CIVian",chroma:"100000011000",names:{}},387:{title:"CIWian",chroma:"110000011000",names:{}},389:{title:"CIXian",chroma:"101000011000",names:{}},391:{title:"CIYian",chroma:"111000011000",names:{}},393:{title:"Lothic",chroma:"100100011000",names:{Zeitler:["Lothic"],Dozenal:["CIZian"]}},395:{title:"Phrygian Pentatonic",chroma:"110100011000",names:{"Western Modern":["Phrygian Pentatonic"],Exoticisms:["South-East Asian","Balinese"],Indonesian:["Balinese Pelog"],African:["Madenda Modern"],Carnatic:["Raga Bhupalam","Bibhas"],Hindustani:["Bhupala Todi"],Western:["African Pentatonic 1"],Ethiopian:["Tezeta Minor"],Zeitler:["Dalitonic"],Dozenal:["CIBian"]}},397:{title:"Aeolian Pentatonic",chroma:"101100011000",names:{"Western Modern":["Aeolian Pentatonic"],Japanese:["Hirajōshi","Kata-kumoi","Yona Nuki Minor","Katakumoi"],Ethiopian:["Tizita Minor","Half Tizita"],Zeitler:["Epogitonic"],Dozenal:["CICian"]}},399:{title:"Zynimic",chroma:"111100011000",names:{Zeitler:["Zynimic"],Dozenal:["CIDian"]}},401:{title:"Epogic",chroma:"100010011000",names:{Zeitler:["Epogic"],Dozenal:["CIFian"]}},403:{title:"Raga Reva",chroma:"110010011000",names:{Carnatic:["Raga Reva","Revagupti","Vibhas (Bhairava)"],Hindustani:["Ramkali"],Zeitler:["Daptitonic"],Dozenal:["CIGian"]}},405:{title:"Raga Bhupeshwari",chroma:"101010011000",names:{Carnatic:["Raga Bhupeshwari","Janasammodini"],Zeitler:["Danitonic"],Dozenal:["CIHian"]}},407:{title:"All-Trichord Hexachord",chroma:"111010011000",names:{"Western Modern":["All-Trichord Hexachord"],Zeitler:["Zylimic"],Dozenal:["CIJian"]}},409:{title:"Laritonic",chroma:"100110011000",names:{Zeitler:["Laritonic"],Dozenal:["CIKian"]}},411:{title:"Lygimic",chroma:"110110011000",names:{Zeitler:["Lygimic"],Dozenal:["CILian"]}},413:{title:"Ganimic",chroma:"101110011000",names:{Zeitler:["Ganimic"],Dozenal:["COMian"]}},415:{title:"Infra-Alt 57",chroma:"111110011000",names:{Bedwell:["Infra-Alt 57"],Zeitler:["Aeoladian"],Dozenal:["CONian"]}},417:{title:"COPian",chroma:"100001011000",names:{}},419:{title:"Hon-kumoi-joshi",chroma:"110001011000",names:{Japanese:["Hon-kumoi-joshi","Sakura","Akebono II","Akebono 2","Miyako-Bushi"],"Modern Greek":["Olympos Enharmonic"],Carnatic:["Raga Salanganata","Saveri","Gunakri","Gunakali","Latantapriya"],Ethiopian:["Ambassel"],Exoticisms:["Japanese (a)"],Zeitler:["Ionacritonic"],Dozenal:["COQian"]}},421:{title:"Han-kumoi",chroma:"101001011000",names:{Japanese:["Han-kumoi","Han Kumoijôshi"],Carnatic:["Raga Shobhavari","Sutradhari"],Exoticisms:["Japanese (b)"],Zeitler:["Ionitonic"],Dozenal:["CORian"]}},423:{title:"Sogimic",chroma:"111001011000",names:{Zeitler:["Sogimic"],Dozenal:["COSian"]}},425:{title:"Raga Kokil Pancham",chroma:"100101011000",names:{Carnatic:["Raga Kokil Pancham"],Zeitler:["Daditonic"],Dozenal:["COTian"]}},427:{title:"Raga Suddha Simantini",chroma:"110101011000",names:{Carnatic:["Raga Suddha Simantini"],Zeitler:["Zothimic"],Dozenal:["COVian"]}},429:{title:"Koptimic",chroma:"101101011000",names:{Zeitler:["Koptimic"],Dozenal:["SKOian"]}},431:{title:"Infra-Alt 7",chroma:"111101011000",names:{Bedwell:["Infra-Alt 7"],Zeitler:["Epyrian"],Dozenal:["COXian"]}},433:{title:"Raga Zilaf",chroma:"100011011000",names:{Carnatic:["Raga Zilaf"],Zeitler:["Poritonic"],Dozenal:["COYian"]}},435:{title:"Raga Purna Pancama",chroma:"110011011000",names:{Carnatic:["Raga Purna Pancama","Malahari","Geyahejjajji","Kannadabangala"],Zeitler:["Ionolimic"],Dozenal:["COZian"]}},437:{title:"Ronimic",chroma:"101011011000",names:{Zeitler:["Ronimic"],Dozenal:["COBian"]}},439:{title:"Infra-Alt 74",chroma:"111011011000",names:{Bedwell:["Infra-Alt 74"],Zeitler:["Bythian"],Dozenal:["COCian"]}},441:{title:"Thycrimic",chroma:"100111011000",names:{Zeitler:["Thycrimic"],Dozenal:["CODian"]}},443:{title:"Alt 567",chroma:"110111011000",names:{Bedwell:["Alt 567"],Zeitler:["Kothian"],Dozenal:["COFian"]}},445:{title:"Alt 2567",chroma:"101111011000",names:{Bedwell:["Alt 2567"],Zeitler:["Gocrian"],Dozenal:["COGian"]}},447:{title:"Thyphyllic",chroma:"111111011000",names:{Zeitler:["Thyphyllic"],Dozenal:["CUHian"]}},449:{title:"CUJian",chroma:"100000111000",names:{}},451:{title:"Raga Saugandhini",chroma:"110000111000",names:{Carnatic:["Raga Saugandhini"],Hindustani:["Yashranjani"],Dozenal:["CUKian"]}},453:{title:"Raditonic",chroma:"101000111000",names:{Zeitler:["Raditonic"],Dozenal:["CULian"]}},455:{title:"Messiaen Mode 5 Rotation 2",chroma:"111000111000",names:{Messiaen:["Messiaen Mode 5 Rotation 2"],"Western Modern":["Two-semitone Tritone Scale"],Zeitler:["Stadimic"],Dozenal:["STOian"]}},457:{title:"Staptitonic",chroma:"100100111000",names:{Zeitler:["Staptitonic"],Dozenal:["CUNian"]}},459:{title:"Zaptimic",chroma:"110100111000",names:{Zeitler:["Zaptimic"],Dozenal:["CUPian"]}},461:{title:"Raga Syamalam",chroma:"101100111000",names:{Carnatic:["Raga Syamalam"],Zeitler:["Madimic"],Dozenal:["CUQian"]}},463:{title:"Infra-Alt 75",chroma:"111100111000",names:{Bedwell:["Infra-Alt 75"],Zeitler:["Zythian"],Dozenal:["CURian"]}},465:{title:"Zoditonic",chroma:"100010111000",names:{Zeitler:["Zoditonic"],Dozenal:["CUSian"]}},467:{title:"Raga Dhavalangam",chroma:"110010111000",names:{Carnatic:["Raga Dhavalangam"],Zeitler:["Phrogimic"],Dozenal:["CUTian"]}},469:{title:"Katyrimic",chroma:"101010111000",names:{Zeitler:["Katyrimic"],Dozenal:["CUVian"]}},471:{title:"Alt 367",chroma:"111010111000",names:{Bedwell:["Alt 367"],Zeitler:["Dodian"],Dozenal:["CUWian"]}},473:{title:"Aeralimic",chroma:"100110111000",names:{Zeitler:["Aeralimic"],Dozenal:["CUXian"]}},475:{title:"Alt 67",chroma:"110110111000",names:{Bedwell:["Alt 67"],Zeitler:["Aeolygian"],Dozenal:["CUYian"]}},477:{title:"Alt 267",chroma:"101110111000",names:{Bedwell:["Alt 267"],Zeitler:["Stacrian"],Dozenal:["CUZian"]}},479:{title:"Kocryllic",chroma:"111110111000",names:{Zeitler:["Kocryllic"],Dozenal:["UPRian"]}},481:{title:"DABian",chroma:"100001111000",names:{}},483:{title:"Kygimic",chroma:"110001111000",names:{Zeitler:["Kygimic"],Dozenal:["DACian"]}},485:{title:"Stoptimic",chroma:"101001111000",names:{Zeitler:["Stoptimic"],Dozenal:["DADian"]}},487:{title:"Locrian 367",chroma:"111001111000",names:{Bedwell:["Locrian 367"],Zeitler:["Dynian"],Dozenal:["DAFian"]}},489:{title:"Phrathimic",chroma:"100101111000",names:{Zeitler:["Phrathimic"],Dozenal:["DAGian"]}},491:{title:"Locrian 67",chroma:"110101111000",names:{Bedwell:["Locrian 67"],Zeitler:["Aeolyrian"],Dozenal:["DAHian"]}},493:{title:"Locrian 267",chroma:"101101111000",names:{Bedwell:["Locrian 267"],Zeitler:["Rygian"],Dozenal:["DAJian"]}},495:{title:"Bocryllic",chroma:"111101111000",names:{Zeitler:["Bocryllic"],Dozenal:["DAKian"]}},497:{title:"Kadimic",chroma:"100011111000",names:{Zeitler:["Kadimic"],Dozenal:["DALian"]}},499:{title:"Major Locrian 267",chroma:"110011111000",names:{Bedwell:["Major Locrian 267"],Zeitler:["Ionaptian"],Dozenal:["DAMian"]}},501:{title:"Major Locrian 67",chroma:"101011111000",names:{Bedwell:["Major Locrian 67"],Zeitler:["Katylian"],Dozenal:["DANian"]}},503:{title:"Thoptyllic",chroma:"111011111000",names:{Zeitler:["Thoptyllic"],Dozenal:["DAPian"]}},505:{title:"Major Locrian 267",chroma:"100111111000",names:{Bedwell:["Major Locrian 267"],Zeitler:["Sanian"],Dozenal:["DAQian"]}},507:{title:"Moryllic",chroma:"110111111000",names:{Zeitler:["Moryllic"],Dozenal:["DARian"]}},509:{title:"Ionothyllic",chroma:"101111111000",names:{Zeitler:["Ionothyllic"],Dozenal:["DASian"]}},511:{title:"Chromatic Nonamode",chroma:"111111111000",names:{"Western Modern":["Chromatic Nonamode","Nonatonic Chromatic"],Western:["Chromatic Nonamode Basic"],Zeitler:["Polygic"],Dozenal:["DATian"]}},513:{title:"Major Sixth Ditone",chroma:"100000000100",names:{Intervals:["Major Sixth Ditone"],Dozenal:["9ian"]}},515:{title:"DEPian",chroma:"110000000100",names:{}},517:{title:"ALUian",chroma:"101000000100",names:{}},519:{title:"DEYian",chroma:"111000000100",names:{}},521:{title:"ASTian",chroma:"100100000100",names:{}},523:{title:"DEBian",chroma:"110100000100",names:{}},525:{title:"IDWian",chroma:"101100000100",names:{}},527:{title:"DEDian",chroma:"111100000100",names:{}},529:{title:"Raga Bilwadala",chroma:"100010000100",names:{Carnatic:["Raga Bilwadala"],Dozenal:["REMian"]}},531:{title:"DEGian",chroma:"110010000100",names:{}},533:{title:"DEHian",chroma:"101010000100",names:{}},535:{title:"DEJian",chroma:"111010000100",names:{}},537:{title:"ATUian",chroma:"100110000100",names:{}},539:{title:"DELian",chroma:"110110000100",names:{}},541:{title:"DEMian",chroma:"101110000100",names:{}},543:{title:"DENian",chroma:"111110000100",names:{}},545:{title:"Karen 3 Tone Type 4",chroma:"100001000100",names:{"Southeast Asia":["Karen 3 Tone Type 4"],Dozenal:["DEWian"]}},547:{title:"Pyrric",chroma:"110001000100",names:{Zeitler:["Pyrric"],Dozenal:["KOPian"]}},549:{title:"Lahuzu 4 Tone Type 4",chroma:"101001000100",names:{"Southeast Asia":["Lahuzu 4 Tone Type 4"],Zeitler:["Rothic"],Dozenal:["DIRian"]}},551:{title:"Aeoloditonic",chroma:"111001000100",names:{Zeitler:["Aeoloditonic"],Dozenal:["ULVian"]}},553:{title:"Phradic",chroma:"100101000100",names:{Zeitler:["Phradic"],Dozenal:["DITian"]}},555:{title:"Aeolycritonic",chroma:"110101000100",names:{Zeitler:["Aeolycritonic"],Dozenal:["DIVian"]}},557:{title:"Raga Abhogi",chroma:"101101000100",names:{Carnatic:["Raga Abhogi"],Zeitler:["Gythitonic"],Dozenal:["DIWian"]}},559:{title:"Lylimic",chroma:"111101000100",names:{Zeitler:["Lylimic"],Dozenal:["DIXian"]}},561:{title:"Phratic",chroma:"100011000100",names:{Zeitler:["Phratic"],Dozenal:["DIYian"]}},563:{title:"Thacritonic",chroma:"110011000100",names:{Zeitler:["Thacritonic"],Dozenal:["DIZian"]}},565:{title:"Aeolyphritonic",chroma:"101011000100",names:{Zeitler:["Aeolyphritonic"],Dozenal:["DIBian"]}},567:{title:"Aeoladimic",chroma:"111011000100",names:{Zeitler:["Aeoladimic"],Dozenal:["DICian"]}},569:{title:"Mothitonic",chroma:"100111000100",names:{Zeitler:["Mothitonic"],Dozenal:["DIDian"]}},571:{title:"Kynimic",chroma:"110111000100",names:{Zeitler:["Kynimic"],Dozenal:["DIFian"]}},573:{title:"Saptimic",chroma:"101111000100",names:{Zeitler:["Saptimic"],Dozenal:["DIGian"]}},575:{title:"Infra-Alt 56",chroma:"111111000100",names:{Bedwell:["Infra-Alt 56"],Zeitler:["Ionydian"],Dozenal:["DIHian"]}},577:{title:"ILLian",chroma:"100000100100",names:{}},579:{title:"GIYian",chroma:"110000100100",names:{}},581:{title:"Bolic",chroma:"101000100100",names:{Zeitler:["Bolic"],Dozenal:["DILian"]}},583:{title:"Aeritonic",chroma:"111000100100",names:{Zeitler:["Aeritonic"],Dozenal:["DONian"]}},585:{title:"Diminished Seventh",chroma:"100100100100",names:{"Chord Names":["Diminished Seventh"],Zeitler:["Phrynic"],Dozenal:["FULian"]}},587:{title:"Pathitonic",chroma:"110100100100",names:{Zeitler:["Pathitonic"],Dozenal:["DOPian"]}},589:{title:"Ionalitonic",chroma:"101100100100",names:{Zeitler:["Ionalitonic"],Dozenal:["DOQian"]}},591:{title:"Gaptimic",chroma:"111100100100",names:{Zeitler:["Gaptimic"],Dozenal:["HEYian"]}},593:{title:"Saric",chroma:"100010100100",names:{Zeitler:["Saric"],Dozenal:["DOSian"]}},595:{title:"Sogitonic",chroma:"110010100100",names:{Zeitler:["Sogitonic"],Dozenal:["DOTian"]}},597:{title:"Kung",chroma:"101010100100",names:{Chinese:["Kung"],Zeitler:["Thonitonic"],Dozenal:["DOVian"]}},599:{title:"Thyrimic",chroma:"111010100100",names:{Zeitler:["Thyrimic"],Dozenal:["OGRian"]}},601:{title:"Bycritonic",chroma:"100110100100",names:{Zeitler:["Bycritonic"],Dozenal:["DOXian"]}},603:{title:"Aeolygimic",chroma:"110110100100",names:{Zeitler:["Aeolygimic"],Dozenal:["DOYian"]}},605:{title:"Dycrimic",chroma:"101110100100",names:{Zeitler:["Dycrimic"],Dozenal:["HATian"]}},607:{title:"Infra-Alt 56",chroma:"111110100100",names:{Bedwell:["Infra-Alt 56"],Zeitler:["Kadian"],Dozenal:["DOBian"]}},609:{title:"DOCian",chroma:"100001100100",names:{}},611:{title:"Anchihoye",chroma:"110001100100",names:{Ethiopian:["Anchihoye"],Zeitler:["Zynitonic"],Dozenal:["DODian"]}},613:{title:"Phralitonic",chroma:"101001100100",names:{Zeitler:["Phralitonic"],Dozenal:["DOFian"]}},615:{title:"Schoenberg Hexachord",chroma:"111001100100",names:{"Named After Composers":["Schoenberg Hexachord"],Zeitler:["Phrothimic"],Dozenal:["SKUian"]}},617:{title:"Katycritonic",chroma:"100101100100",names:{Zeitler:["Katycritonic"],Dozenal:["DUHian"]}},619:{title:"Hexatonic Double Phrygian",chroma:"110101100100",names:{"Western Modern":["Hexatonic Double Phrygian"],Western:["Double Phrygian Hexatonic"],Zeitler:["Parimic"],Dozenal:["DUJian"]}},621:{title:"Pyramid Hexatonic",chroma:"101101100100",names:{"Western Modern":["Pyramid Hexatonic"],Zeitler:["Kyrimic"],Dozenal:["DUKian"]}},623:{title:"Infra-Alt 6",chroma:"111101100100",names:{Bedwell:["Infra-Alt 6"],Zeitler:["Sycrian"],Dozenal:["DULian"]}},625:{title:"Ionyptitonic",chroma:"100011100100",names:{Zeitler:["Ionyptitonic"],Dozenal:["DUMian"]}},627:{title:"Mogimic",chroma:"110011100100",names:{Zeitler:["Mogimic"],Dozenal:["DUNian"]}},629:{title:"Aeronimic",chroma:"101011100100",names:{Zeitler:["Aeronimic"],Dozenal:["DUPian"]}},631:{title:"Infra-Alt 64",chroma:"111011100100",names:{Bedwell:["Infra-Alt 64"],Zeitler:["Zygian"],Dozenal:["DUQian"]}},633:{title:"Kydimic",chroma:"100111100100",names:{Zeitler:["Kydimic"],Dozenal:["DURian"]}},635:{title:"Alt 576",chroma:"110111100100",names:{Bedwell:["Alt 576"],Zeitler:["Epolian"],Dozenal:["DUSian"]}},637:{title:"Debussy's Heptatonic",chroma:"101111100100",names:{"Named After Composers":["Debussy's Heptatonic"],Bedwell:["Alt 2576"],Zeitler:["Katodian"],Dozenal:["DUTian"]}},639:{title:"Ionaryllic",chroma:"111111100100",names:{Zeitler:["Ionaryllic"],Dozenal:["DUVian"]}},641:{title:"Lahuzu 3 Tone Type 1",chroma:"100000010100",names:{"Southeast Asia":["Lahuzu 3 Tone Type 1","Lahuzu 5 Tone Type 6"],Dozenal:["DUWian"]}},643:{title:"DUXian",chroma:"110000010100",names:{}},645:{title:"DUYian",chroma:"101000010100",names:{}},647:{title:"DUZian",chroma:"111000010100",names:{}},649:{title:"Byptic",chroma:"100100010100",names:{Zeitler:["Byptic"],Dozenal:["DUBian"]}},651:{title:"Golitonic",chroma:"110100010100",names:{Zeitler:["Golitonic"],Dozenal:["EBLian"]}},653:{title:"Dorian Pentatonic",chroma:"101100010100",names:{"Western Modern":["Dorian Pentatonic"],Carnatic:["Raga Sivaranjini","Raga Shivranjani"],Japanese:["Akebono I","Kumoi","Akikazechéshi","Akebono 1"],Zeitler:["Stathitonic"],Dozenal:["ESKian"]}},655:{title:"Kataptimic",chroma:"111100010100",names:{Zeitler:["Kataptimic"],Dozenal:["EPRian"]}},657:{title:"Lahuzu 4 Tone Type 3",chroma:"100010010100",names:{"Southeast Asia":["Lahuzu 4 Tone Type 3","MiaoYao 4 Tone Type 2","Lahuzu 5 Tone Type 4"],Zeitler:["Epathic"],Dozenal:["EBOian"]}},659:{title:"Raga Rasika Ranjani",chroma:"110010010100",names:{Carnatic:["Raga Rasika Ranjani"],"Unknown / Unsorted":["Vibhas (Marva)"],"Named After Composers":["Scriabin"],Zeitler:["Soptitonic"],Dozenal:["EBUian"]}},661:{title:"Major Pentatonic",chroma:"101010010100",names:{Western:["Major Pentatonic","Pentatonic Major","Major Pentatonic Type 1"],Korean:["Kyemyonjo"],Japanese:["Yo Yonanuki sempû","Ryosen"],"Unknown / Unsorted":["Ghana Pent.2"],Ethiopian:["Tezeta Major","Tizita Major"],Chinese:["Man Jue","Gong","Gōngdiào"],Carnatic:["Raga Bhopali","Raga Bhupali","Raga Bhup","Bhoop","Mohanam","Raag Deskar","Bilahari","Kokila","Jait Kalyan"],Exoticisms:["Peruvian Pentatonic 1"],African:["Ghana Pentatonic 2"],Myanmar:["Paksabou Palé","Leibauk auk Pyan","Ngabauk Myinsain"],"Southeast Asia":["Akha Khmer Pentatonic 1","Kmhmu 5 Tone Type 3","Lahuzu 5 Tone Type 5","MiaoYao 5 Tone Type 1"],Zeitler:["Pentatonic"],Dozenal:["ULTian"],Unknown:["Yona Nuki Major"]}},663:{title:"Phrynimic",chroma:"111010010100",names:{Zeitler:["Phrynimic"],Dozenal:["EBRian"]}},665:{title:"Raga Mohanangi",chroma:"100110010100",names:{Carnatic:["Raga Mohanangi"],Zeitler:["Mythitonic"],Dozenal:["ENSian"]}},667:{title:"Rodimic",chroma:"110110010100",names:{Zeitler:["Rodimic"],Dozenal:["ECOian"]}},669:{title:"Major Blues",chroma:"101110010100",names:{"Jazz and Blues":["Major Blues"],Zeitler:["Gycrimic"],Dozenal:["ECUian"]}},671:{title:"Infra-Alt 5",chroma:"111110010100",names:{Bedwell:["Infra-Alt 5"],Zeitler:["Stycrian"],Dozenal:["SANian"]}},673:{title:"Lahuzu 4 Tone Type 1",chroma:"100001010100",names:{"Southeast Asia":["Lahuzu 4 Tone Type 1","MiaoYao 4 Tone Type 3"],Dozenal:["ESTian"]}},675:{title:"Altered Pentatonic",chroma:"110001010100",names:{"Western Modern":["Altered Pentatonic"],Carnatic:["Raga Manaranjani II"],Japanese:["Kokinjôshi"],Myanmar:["Than you hnapauk"],Zeitler:["Zyditonic"],Dozenal:["EMSian"]}},677:{title:"Scottish Pentatonic",chroma:"101001010100",names:{Exoticisms:["Scottish Pentatonic"],Western:["Major Pentatonic Type 2"],Chinese:["Zhîdiào","Zhi"],Japanese:["Gagaku Ritsu","Ritusen","Ritsu","Gagaku"],"Jazz and Blues":["Blues Major"],Korean:["Ujo","Pyeongjo"],"Unknown / Unsorted":["Bac"],Vietnamese:["Lai Soutsanaen","Lai Po Sai","Lai Soi"],Carnatic:["Raga Devakriya","Durga","Suddha Saveri","Arabhi"],"Western Modern":["Major Complement"],Ethiopian:["Ambassel Type 2"],Thailand:["San"],"Southeast Asia":["Khmer Pentatonic 4","Kmhmu 5 Tone Type 2","Lahuzu 5 Tone Type 1","MiaoYao 5 Tone Type 2","Shan Lumjou 5 Tone Type 1"],Zeitler:["Mynitonic"],Dozenal:["HENian"]}},679:{title:"Lanimic",chroma:"111001010100",names:{Zeitler:["Lanimic"],Dozenal:["EDUian"]}},681:{title:"Minor Added Sixth Pentatonic",chroma:"100101010100",names:{"Western Modern":["Minor Added Sixth Pentatonic"],Zeitler:["Sylitonic"],Dozenal:["EPHian"]}},683:{title:"Stogimic",chroma:"110101010100",names:{Zeitler:["Stogimic"],Dozenal:["ELFian"]}},685:{title:"Raga Suddha Bangala",chroma:"101101010100",names:{Carnatic:["Raga Suddha Bangala","Gauri Velavali"],Zeitler:["Aerathimic"],Dozenal:["ERTian"]}},687:{title:"Alt 34567",chroma:"111101010100",names:{Bedwell:["Alt 34567"],Zeitler:["Aeolythian"],Dozenal:["EFOian"]}},689:{title:"Raga Nagasvaravali",chroma:"100011010100",names:{Carnatic:["Raga Nagasvaravali","Raga Mand"],Zeitler:["Lothitonic"],Dozenal:["EFUian"]}},691:{title:"Raga Kalavati",chroma:"110011010100",names:{Carnatic:["Raga Kalavati","Ragamalini"],Zeitler:["Zydimic"],Dozenal:["ETTian"]}},693:{title:"Arezzo Major Diatonic Hexachord",chroma:"101011010100",names:{"Unknown / Unsorted":["Arezzo Major Diatonic Hexachord"],Carnatic:["Raga Kambhoji","Devarangini","Sama","Syama"],Exoticisms:["Scottish Hexatonic"],"Southeast Asia":["Khmer Hexatonic 1"],Zeitler:["Mynimic"],Dozenal:["ESHian"]}},695:{title:"Alt 3567",chroma:"111011010100",names:{Bedwell:["Alt 3567"],Zeitler:["Sarian"],Dozenal:["ERFian"]}},697:{title:"Lagimic",chroma:"100111010100",names:{Zeitler:["Lagimic"],Dozenal:["EGOian"]}},699:{title:"Alt 567",chroma:"110111010100",names:{Bedwell:["Alt 567"],Zeitler:["Aerothian"],Dozenal:["EGUian"]}},701:{title:"Alt 2567",chroma:"101111010100",names:{Bedwell:["Alt 2567"],Zeitler:["Mixonyphian"],Dozenal:["ETHian"]}},703:{title:"Aerocryllic",chroma:"111111010100",names:{Zeitler:["Aerocryllic"],Dozenal:["EFFian"]}},705:{title:"EDRian",chroma:"100000110100",names:{}},707:{title:"EHOian",chroma:"110000110100",names:{}},709:{title:"Raga Shri Kalyan",chroma:"101000110100",names:{Carnatic:["Raga Shri Kalyan"],Zeitler:["Ionycritonic"],Dozenal:["EHUian"]}},711:{title:"Raga Chandrajyoti",chroma:"111000110100",names:{Carnatic:["Raga Chandrajyoti"],Zeitler:["Epyrimic"],Dozenal:["EJUian"]}},713:{title:"Thoptitonic",chroma:"100100110100",names:{Zeitler:["Thoptitonic"],Dozenal:["ESRian"]}},715:{title:"T4 Prime Mode",chroma:"110100110100",names:{Messiaen:["T4 Prime Mode","Messiaen Mode 2 Truncation 2 Rotation 2"],Zeitler:["Dodimic"],Dozenal:["ECHian"]}},717:{title:"Raga Vijayanagari",chroma:"101100110100",names:{Carnatic:["Raga Vijayanagari"],Zeitler:["Gythimic"],Dozenal:["ENTian"]}},719:{title:"Alt 3467",chroma:"111100110100",names:{Bedwell:["Alt 3467"],Zeitler:["Kanian"],Dozenal:["ECKian"]}},721:{title:"Raga Dhavalashri",chroma:"100010110100",names:{Carnatic:["Raga Dhavalashri"],Zeitler:["Aeolacritonic"],Dozenal:["ELOian"]}},723:{title:"Ionadimic",chroma:"110010110100",names:{Zeitler:["Ionadimic"],Dozenal:["ELUian"]}},725:{title:"Raga Yamuna Kalyani",chroma:"101010110100",names:{Carnatic:["Raga Yamuna Kalyani","Kalyani Keseri"],Hindustani:["Airavati"],Exoticisms:["Ancient Chinese"],Zeitler:["Lonimic"],Dozenal:["EBBian"]}},727:{title:"Alt 367",chroma:"111010110100",names:{Bedwell:["Alt 367"],Zeitler:["Phradian"],Dozenal:["ELTian"]}},729:{title:"Stygimic",chroma:"100110110100",names:{Zeitler:["Stygimic"],Dozenal:["OFRian"]}},731:{title:"Alternating Heptamode",chroma:"110110110100",names:{"Western Modern":["Alternating Heptamode"],Bedwell:["Alt 67"],Western:["Hungarian Major 2nd Mode"],Zeitler:["Ionorian"],Dozenal:["EMOian"]}},733:{title:"Alt 267",chroma:"101110110100",names:{Bedwell:["Alt 267"],Zeitler:["Donian"],Dozenal:["EMUian"]}},735:{title:"Sylyllic",chroma:"111110110100",names:{Zeitler:["Sylyllic"],Dozenal:["ECLian"]}},737:{title:"TRUian",chroma:"100001110100",names:{}},739:{title:"Rorimic",chroma:"110001110100",names:{Zeitler:["Rorimic"],Dozenal:["EPLian"]}},741:{title:"Gathimic",chroma:"101001110100",names:{Zeitler:["Gathimic"],Dozenal:["ENOian"]}},743:{title:"Chromatic Hypophrygian Inverse",chroma:"111001110100",names:{"Western Chromatic":["Chromatic Hypophrygian Inverse"],Zeitler:["Lanian"],Dozenal:["ENUian"]}},745:{title:"Kolimic",chroma:"100101110100",names:{Zeitler:["Kolimic"],Dozenal:["EPPian"]}},747:{title:"Locrian 67",chroma:"110101110100",names:{Bedwell:["Locrian 67"],Zeitler:["Lynian"],Dozenal:["ERGian"]}},749:{title:"Locrian 267",chroma:"101101110100",names:{Bedwell:["Locrian 267"],Zeitler:["Aeologian"],Dozenal:["ETLian"]}},751:{title:"Epacryllic",chroma:"111101110100",names:{Zeitler:["Epacryllic"],Dozenal:["EPOian"]}},753:{title:"Kytrimic",chroma:"100011110100",names:{Zeitler:["Kytrimic"],Dozenal:["EPUian"]}},755:{title:"Ionian 2567",chroma:"110011110100",names:{Bedwell:["Ionian 2567"],Zeitler:["Phrythian"],Dozenal:["ESPian"]}},757:{title:"Major Locrian 67",chroma:"101011110100",names:{Bedwell:["Major Locrian 67"],Zeitler:["Ionyptian"],Dozenal:["ETWian"]}},759:{title:"Katalyllic",chroma:"111011110100",names:{Zeitler:["Katalyllic"],Dozenal:["ENKian"]}},761:{title:"Major Locrian 267",chroma:"100111110100",names:{Bedwell:["Major Locrian 267"],Zeitler:["Ponian"],Dozenal:["EROian"]}},763:{title:"Doryllic",chroma:"110111110100",names:{Zeitler:["Doryllic"],Dozenal:["ERUian"]}},765:{title:"Mixonyphyllic",chroma:"101111110100",names:{Zeitler:["Mixonyphyllic"],Dozenal:["ERKian"]}},767:{title:"Raptygic",chroma:"111111110100",names:{Zeitler:["Raptygic"],Dozenal:["ELVian"]}},769:{title:"ENBian",chroma:"100000001100",names:{}},771:{title:"ESOian",chroma:"110000001100",names:{}},773:{title:"ESUian",chroma:"101000001100",names:{}},775:{title:"Raga Putrika",chroma:"111000001100",names:{Carnatic:["Raga Putrika"],Dozenal:["ERMian"]}},777:{title:"EMPian",chroma:"100100001100",names:{}},779:{title:"ETRian",chroma:"110100001100",names:{}},781:{title:"ETOian",chroma:"101100001100",names:{}},783:{title:"ETUian",chroma:"111100001100",names:{}},785:{title:"Aeoloric",chroma:"100010001100",names:{Zeitler:["Aeoloric"],Dozenal:["NEPian"]}},787:{title:"Aeolapritonic",chroma:"110010001100",names:{Zeitler:["Aeolapritonic"],Dozenal:["ERRian"]}},789:{title:"Zogitonic",chroma:"101010001100",names:{Zeitler:["Zogitonic"],Dozenal:["EYOian"]}},791:{title:"Aeoloptimic",chroma:"111010001100",names:{Zeitler:["Aeoloptimic"],Dozenal:["FABian"]}},793:{title:"Mocritonic",chroma:"100110001100",names:{Zeitler:["Mocritonic"],Dozenal:["FACian"]}},795:{title:"Aeologimic",chroma:"110110001100",names:{Zeitler:["Aeologimic"],Dozenal:["FADian"]}},797:{title:"Katocrimic",chroma:"101110001100",names:{Zeitler:["Katocrimic"],Dozenal:["FAFian"]}},799:{title:"Infra-Alt 56",chroma:"111110001100",names:{Bedwell:["Infra-Alt 56"],Zeitler:["Lolian"],Dozenal:["USTian"]}},801:{title:"FAHian",chroma:"100001001100",names:{}},803:{title:"Loritonic",chroma:"110001001100",names:{Zeitler:["Loritonic"],Dozenal:["FAJian"]}},805:{title:"Rothitonic",chroma:"101001001100",names:{Zeitler:["Rothitonic"],Dozenal:["FAKian"]}},807:{title:"Raga Suddha Mukhari",chroma:"111001001100",names:{Carnatic:["Raga Suddha Mukhari"],Zeitler:["Epadimic"],Dozenal:["FALian"]}},809:{title:"Dogitonic",chroma:"100101001100",names:{Zeitler:["Dogitonic"],Dozenal:["FAMian"]}},811:{title:"Radimic",chroma:"110101001100",names:{Zeitler:["Radimic"],Dozenal:["FANian"]}},813:{title:"Larimic",chroma:"101101001100",names:{Zeitler:["Larimic"],Dozenal:["FAPian"]}},815:{title:"Alt 3457",chroma:"111101001100",names:{Bedwell:["Alt 3457"],Zeitler:["Bolian"],Dozenal:["FAQian"]}},817:{title:"Zothitonic",chroma:"100011001100",names:{Zeitler:["Zothitonic"],Dozenal:["FARian"]}},819:{title:"Augmented Inverse",chroma:"110011001100",names:{"Western Modern":["Augmented Inverse","Six Tone Symmetrical"],Messiaen:["Messiaen 3rd Mode Truncated","T2 Prime Mode","Messiaen Mode 3 Truncated"],"Named After Composers":["Ode To Napoleon Hexachord","Liszt's Prometheus"],Zeitler:["Aerythimic"],Dozenal:["FASian"]}},821:{title:"Aeranimic",chroma:"101011001100",names:{Zeitler:["Aeranimic"],Dozenal:["FATian"]}},823:{title:"Alt 357",chroma:"111011001100",names:{Bedwell:["Alt 357"],Zeitler:["Stodian"],Dozenal:["FAVian"]}},825:{title:"Thyptimic",chroma:"100111001100",names:{Zeitler:["Thyptimic"],Dozenal:["FEWian"]}},827:{title:"Alt 57",chroma:"110111001100",names:{Bedwell:["Alt 57"],Zeitler:["Mixolocrian"],Dozenal:["FEXian"]}},829:{title:"Alt 257",chroma:"101111001100",names:{Bedwell:["Alt 257"],Zeitler:["Lygian"],Dozenal:["FEYian"]}},831:{title:"Rodyllic",chroma:"111111001100",names:{Zeitler:["Rodyllic"],Dozenal:["FEZian"]}},833:{title:"FEBian",chroma:"100000101100",names:{}},835:{title:"FECian",chroma:"110000101100",names:{}},837:{title:"Epaditonic",chroma:"101000101100",names:{Zeitler:["Epaditonic"],Dozenal:["FEDian"]}},839:{title:"Ionathimic",chroma:"111000101100",names:{Zeitler:["Ionathimic"],Dozenal:["FEFian"]}},841:{title:"Phrothitonic",chroma:"100100101100",names:{Zeitler:["Phrothitonic"],Dozenal:["FEGian"]}},843:{title:"Molimic",chroma:"110100101100",names:{Zeitler:["Molimic"],Dozenal:["FEHian"]}},845:{title:"Raga Neelangi",chroma:"101100101100",names:{Carnatic:["Raga Neelangi"],Zeitler:["Zyrimic"],Dozenal:["FEJian"],Messiaen:["Messiaen Mode 2 Truncation 1 Rotation 1","T5 Prime Mode"]}},847:{title:"Alt 347",chroma:"111100101100",names:{Bedwell:["Alt 347"],Zeitler:["Ganian"],Dozenal:["FEKian"]}},849:{title:"Aerynitonic",chroma:"100010101100",names:{Zeitler:["Aerynitonic"],Dozenal:["FELian"]}},851:{title:"Raga Hejjajji",chroma:"110010101100",names:{Carnatic:["Raga Hejjajji"],Zeitler:["Aerylimic"],Dozenal:["FEMian"]}},853:{title:"Epothimic",chroma:"101010101100",names:{Zeitler:["Epothimic"],Dozenal:["FENian"]}},855:{title:"Alt 37",chroma:"111010101100",names:{Bedwell:["Alt 37"],Zeitler:["Porian"],Dozenal:["FEPian"]}},857:{title:"Aeolydimic",chroma:"100110101100",names:{Zeitler:["Aeolydimic"],Dozenal:["FEQian"]}},859:{title:"Alt 7",chroma:"110110101100",names:{Bedwell:["Alt 7"],"Western Modern":["Ultralocrian","Superlocrian Diminished","Superlocrian Double-flat","Diminished Locrian"],"Western Altered":["Mixolydian 1"],Zeitler:["Pathian"],Dozenal:["FIRian"]}},861:{title:"Alt 27",chroma:"101110101100",names:{Bedwell:["Alt 27"],Zeitler:["Rylian"],Dozenal:["FISian"]}},863:{title:"Pyryllic",chroma:"111110101100",names:{Zeitler:["Pyryllic"],Dozenal:["FITian"]}},865:{title:"JAHian",chroma:"100001101100",names:{}},867:{title:"Phrocrimic",chroma:"110001101100",names:{Zeitler:["Phrocrimic"],Dozenal:["FIWian"]}},869:{title:"Kothimic",chroma:"101001101100",names:{Zeitler:["Kothimic"],Dozenal:["FIXian"]}},871:{title:"Hungarian Romani Minor 4th Mode",chroma:"111001101100",names:{Western:["Hungarian Romani Minor 4th Mode"],Bedwell:["Locrian 37"],"Western Altered":["Locrian Double-flat 3 Double-flat 7"],Zeitler:["Epadian"],Dozenal:["FIYian"]}},873:{title:"Bagimic",chroma:"100101101100",names:{Zeitler:["Bagimic"],Dozenal:["FIZian"]}},875:{title:"Locrian 7",chroma:"110101101100",names:{Bedwell:["Locrian 7"],"Western Altered":["Locrian Double-flat 7"],"Jazz and Blues":["Diminished Blues 9"],Zeitler:["Stothian"],Dozenal:["FIBian"]}},877:{title:"Locrian 27",chroma:"101101101100",names:{Bedwell:["Locrian 27"],"East European":["Moravian Pistalkova"],"Western Altered":["Locrian 2 7"],Exoticisms:["Hungarian Major Inverse"],Zeitler:["Aeraptian"],Dozenal:["FICian"]}},879:{title:"Aeolocryllic",chroma:"111101101100",names:{Zeitler:["Aeolocryllic"],Dozenal:["FIDian"]}},881:{title:"Aerothimic",chroma:"100011101100",names:{Zeitler:["Aerothimic"],Dozenal:["DROian"]}},883:{title:"Locrian 37",chroma:"110011101100",names:{Bedwell:["Locrian 37"],Zeitler:["Ralian"],Dozenal:["UDRian"]}},885:{title:"Major Locrian 7",chroma:"101011101100",names:{Bedwell:["Major Locrian 7"],Zeitler:["Sathian"],Dozenal:["FIHian"]}},887:{title:"Sathyllic",chroma:"111011101100",names:{Zeitler:["Sathyllic"],Dozenal:["EBSian"]}},889:{title:"Major Locrian 27",chroma:"100111101100",names:{Bedwell:["Major Locrian 27"],Zeitler:["Borian"],Dozenal:["FIKian"]}},891:{title:"Ionilyllic",chroma:"110111101100",names:{Zeitler:["Ionilyllic"],Dozenal:["FILian"]}},893:{title:"Pycryllic",chroma:"101111101100",names:{Zeitler:["Pycryllic"],Dozenal:["FOMian"]}},895:{title:"Aeolathygic",chroma:"111111101100",names:{Zeitler:["Aeolathygic"],Dozenal:["FONian"]}},897:{title:"FOPian",chroma:"100000011100",names:{}},899:{title:"FOQian",chroma:"110000011100",names:{}},901:{title:"BOFian",chroma:"101000011100",names:{}},903:{title:"FOSian",chroma:"111000011100",names:{}},905:{title:"Bylitonic",chroma:"100100011100",names:{Zeitler:["Bylitonic"],Dozenal:["FOTian"]}},907:{title:"Tholimic",chroma:"110100011100",names:{Zeitler:["Tholimic"],Dozenal:["FOVian"]}},909:{title:"Katarimic",chroma:"101100011100",names:{Zeitler:["Katarimic"],Dozenal:["FOWian"]}},911:{title:"Phrygian 347",chroma:"111100011100",names:{Bedwell:["Phrygian 347"],Zeitler:["Radian"],Dozenal:["NEKian"]}},913:{title:"Aeolyritonic",chroma:"100010011100",names:{Zeitler:["Aeolyritonic"],Dozenal:["FOYian"]}},915:{title:"Raga Kalagada",chroma:"110010011100",names:{Carnatic:["Raga Kalagada","Raga Kalgada"],Zeitler:["Loptimic"],Dozenal:["FOZian"]}},917:{title:"Dygimic",chroma:"101010011100",names:{Zeitler:["Dygimic"],Dozenal:["FOBian"]}},919:{title:"Alt 537",chroma:"111010011100",names:{Bedwell:["Alt 537"],"Western Chromatic":["Chromatic Phrygian Inverse"],Zeitler:["Gathian"],Dozenal:["FOCian"]}},921:{title:"Bogimic",chroma:"100110011100",names:{Zeitler:["Bogimic"],Dozenal:["FODian"]}},923:{title:"Alt 57",chroma:"110110011100",names:{Bedwell:["Alt 57"],"Western Modern":["Ultraphrygian"],Western:["Hungarian Romani Minor 7th Mode"],Zeitler:["Ionodian"],Dozenal:["FOFian"]}},925:{title:"Alt 257",chroma:"101110011100",names:{Bedwell:["Alt 257"],"Western Chromatic":["Chromatic Hypodorian"],"Jazz and Blues":["Relative Blues Scale"],Carnatic:["Raga Dvigandharabushini"],Zeitler:["Mythian"],Dozenal:["FOGian"]}},927:{title:"Koptyllic",chroma:"111110011100",names:{Zeitler:["Koptyllic"],Dozenal:["FUHian"]}},929:{title:"FUJian",chroma:"100001011100",names:{}},931:{title:"Raga Kalakanthi",chroma:"110001011100",names:{Carnatic:["Raga Kalakanthi"],Zeitler:["Bacrimic"],Dozenal:["FUKian"]}},933:{title:"Dadimic",chroma:"101001011100",names:{Zeitler:["Dadimic"],Dozenal:["AFRian"]}},935:{title:"Locrian 537",chroma:"111001011100",names:{Bedwell:["Locrian 537"],"Western Chromatic":["Chromatic Dorian"],Carnatic:["Mela Kanakangi","Raga Kanakambari"],Zeitler:["Katarian"],Dozenal:["FUMian"],"Carnatic Melakarta":["Kanakangi"],"Carnatic Numbered Melakarta":["1st Melakarta Raga"]}},937:{title:"Stothimic",chroma:"100101011100",names:{Zeitler:["Stothimic"],Dozenal:["SPUian"]}},939:{title:"Phrygian 7",chroma:"110101011100",names:{Bedwell:["Phrygian 7"],Carnatic:["Mela Senavati","Cenavathi","Raga Senagrani","Malini"],Zeitler:["Dyptian"],Dozenal:["FUPian"],"Carnatic Numbered Melakarta":["7th Melakarta Raga"],"Carnatic Melakarta":["Senavati"]}},941:{title:"Aeolian 7",chroma:"101101011100",names:{Bedwell:["Aeolian 7"],Carnatic:["Mela Jhankaradhvani","Jankaradhvani","Raga Jhankara Bhramavi"],Zeitler:["Phrorian"],Dozenal:["FUQian"],"Carnatic Numbered Melakarta":["19th Melakarta Raga"],"Carnatic Melakarta":["Jhankaradhwani"]}},943:{title:"Aerygyllic",chroma:"111101011100",names:{Zeitler:["Aerygyllic"],Dozenal:["FURian"]}},945:{title:"Raga Saravati",chroma:"100011011100",names:{Carnatic:["Raga Saravati","Raga Sharavati"],Zeitler:["Syrimic"],Dozenal:["FUSian"]}},947:{title:"Mela Gayakapriya",chroma:"110011011100",names:{Carnatic:["Mela Gayakapriya","Raga Kalakanti"],Bedwell:["Phrygian Maj7"],Exoticisms:["Romani Hexatonic"],Western:["Heptatonic Romani"],Zeitler:["Modian"],Dozenal:["FUTian"],"Carnatic Melakarta":["Gayakapriya"],"Carnatic Numbered Melakarta":["13th Melakarta Raga"]}},949:{title:"Mela Mararanjani",chroma:"101011011100",names:{Carnatic:["Mela Mararanjani","Raga Keseri","Mararancani"],Bedwell:["Ionian 67"],"Jazz and Blues":["Major Bebop Heptatonic"],Zeitler:["Ionagian"],Dozenal:["FUVian"],"Carnatic Melakarta":["Mararanjani"],"Carnatic Numbered Melakarta":["25th Melakarta Raga"]}},951:{title:"Thogyllic",chroma:"111011011100",names:{Zeitler:["Thogyllic"],Dozenal:["FUWian"]}},953:{title:"Mela Yagapriya",chroma:"100111011100",names:{Carnatic:["Mela Yagapriya","Raga Kalahamsa"],Bedwell:["Ionian 627"],Zeitler:["Stoptian"],Dozenal:["FUXian"],"Carnatic Melakarta":["Yagapriya"],"Carnatic Numbered Melakarta":["31st Melakarta Raga"]}},955:{title:"Ionogyllic",chroma:"110111011100",names:{Zeitler:["Ionogyllic"],Dozenal:["FUYian"]}},957:{title:"Phronyllic",chroma:"101111011100",names:{Zeitler:["Phronyllic"],Dozenal:["FUZian"]}},959:{title:"Katylygic",chroma:"111111011100",names:{Zeitler:["Katylygic"],Dozenal:["FUBian"]}},961:{title:"GABian",chroma:"100000111100",names:{}},963:{title:"GACian",chroma:"110000111100",names:{}},965:{title:"Ionothimic",chroma:"101000111100",names:{Zeitler:["Ionothimic"],Dozenal:["GADian"]}},967:{title:"Mela Salaga",chroma:"111000111100",names:{Carnatic:["Mela Salaga","Mela Salagam"],Bedwell:["Alt 5437"],Zeitler:["Aeolanian"],Dozenal:["GAFian"],"Carnatic Melakarta":["Salagam"],"Carnatic Numbered Melakarta":["37th Melakarta Raga"]}},969:{title:"Ionogimic",chroma:"100100111100",names:{Zeitler:["Ionogimic"],Dozenal:["GAGian"]}},971:{title:"Mela Gavambodhi",chroma:"110100111100",names:{Carnatic:["Mela Gavambodhi","Raga Girvani","Gavambodhi"],Bedwell:["Phrygian 47","Phrygian Major 47"],Zeitler:["Ladian"],Dozenal:["GAHian"],"Carnatic Melakarta":["Gavambhodi"],"Carnatic Numbered Melakarta":["43rd Melakarta Raga"]}},973:{title:"Mela Syamalangi",chroma:"101100111100",names:{Carnatic:["Mela Syamalangi","Raga Shyamalam","Shyamalangi"],Bedwell:["Aeolian 47"],Zeitler:["Phryptian"],Dozenal:["GAJian"],"Carnatic Melakarta":["Shamalangi"],"Carnatic Numbered Melakarta":["55th Melakarta Raga"]}},975:{title:"Messiaen Mode 4 Rotation 3",chroma:"111100111100",names:{Messiaen:["Messiaen Mode 4 Rotation 3"],"Named After Composers":["Tcherepnin Octatonic Mode 3"],Zeitler:["Katogyllic"],Dozenal:["GAKian"]}},977:{title:"Kocrimic",chroma:"100010111100",names:{Zeitler:["Kocrimic"],Dozenal:["GALian"]}},979:{title:"Mela Dhavalambari",chroma:"110010111100",names:{Carnatic:["Mela Dhavalambari"],"Named After Composers":["Foulds' Mantra Of Will Scale"],Zeitler:["Thogian"],Dozenal:["GAMian"],"Carnatic Melakarta":["Dhavalambari"],"Carnatic Numbered Melakarta":["49th Melakarta Raga"]}},981:{title:"Mela Kantamani",chroma:"101010111100",names:{Carnatic:["Mela Kantamani","Raga Kuntala","Srutiranjani"],Bedwell:["Lydian 67"],Zeitler:["Bacrian"],Dozenal:["GANian"],"Carnatic Melakarta":["Kantamani"],"Carnatic Numbered Melakarta":["61st Melakarta Raga"]}},983:{title:"Epygyllic",chroma:"111010111100",names:{Zeitler:["Epygyllic"],Dozenal:["GAPian"]}},985:{title:"Mela Sucaritra",chroma:"100110111100",names:{Carnatic:["Mela Sucaritra","Raga Santanamanjari","Chucharithra"],Bedwell:["Lydian 627"],Zeitler:["Raptian"],Dozenal:["GAQian"],"Carnatic Melakarta":["Sucharitra"],"Carnatic Numbered Melakarta":["67th Melakarta Raga"]}},987:{title:"Aeraptyllic",chroma:"110110111100",names:{Zeitler:["Aeraptyllic"],Dozenal:["GARian"]}},989:{title:"Phrolyllic",chroma:"101110111100",names:{Zeitler:["Phrolyllic"],Dozenal:["GASian"]}},991:{title:"Aeolygic",chroma:"111110111100",names:{Zeitler:["Aeolygic"],Dozenal:["GATian"]}},993:{title:"GAVian",chroma:"100001111100",names:{}},995:{title:"Lydian 2637",chroma:"110001111100",names:{Bedwell:["Lydian 2637"],Zeitler:["Phrathian"],Dozenal:["GEWian"]}},997:{title:"Lydian 637",chroma:"101001111100",names:{Bedwell:["Lydian 637"],Zeitler:["Rycrian"],Dozenal:["GEXian"]}},999:{title:"Bylyllic",chroma:"111001111100",names:{Zeitler:["Bylyllic"],Dozenal:["GEYian"]}},1001:{title:"Lydian 2367",chroma:"100101111100",names:{Bedwell:["Lydian 2367"],Zeitler:["Badian"],Dozenal:["GEZian"]}},1003:{title:"Ionyryllic",chroma:"110101111100",names:{Zeitler:["Ionyryllic"],Dozenal:["GEBian"]}},1005:{title:"Radyllic",chroma:"101101111100",names:{Zeitler:["Radyllic"],Dozenal:["GECian"]}},1007:{title:"Ionycrygic",chroma:"111101111100",names:{Zeitler:["Ionycrygic"],Dozenal:["GEDian"]}},1009:{title:"Lydian 6327",chroma:"100011111100",names:{Bedwell:["Lydian 6327"],Zeitler:["Katyptian"],Dozenal:["GEFian"]}},1011:{title:"Kycryllic",chroma:"110011111100",names:{Zeitler:["Kycryllic"],Dozenal:["GEGian"]}},1013:{title:"Stydyllic",chroma:"101011111100",names:{Zeitler:["Stydyllic"],Dozenal:["GEHian"]}},1015:{title:"Ionodygic",chroma:"111011111100",names:{Zeitler:["Ionodygic"],Dozenal:["GEJian"]}},1017:{title:"Dythyllic",chroma:"100111111100",names:{Zeitler:["Dythyllic"],Dozenal:["GEKian"]}},1019:{title:"Aeranygic",chroma:"110111111100",names:{Zeitler:["Aeranygic"],Dozenal:["GELian"]}},1021:{title:"Ladygic",chroma:"101111111100",names:{Zeitler:["Ladygic"],Dozenal:["GEMian"]}},1023:{title:"Chromatic Decamode",chroma:"111111111100",names:{"Western Modern":["Chromatic Decamode","Decatonic Chromatic"],Western:["Chromatic Decamode Basic"],Zeitler:["Dodyllian"],Dozenal:["GENian"]}},1025:{title:"Warao Ditonic",chroma:"100000000010",names:{Exoticisms:["Warao Ditonic"],Intervals:["Minor Seventh Ditone"],Dozenal:["Tian"]}},1027:{title:"GEQian",chroma:"110000000010",names:{}},1029:{title:"AMPian",chroma:"101000000010",names:{}},1031:{title:"GISian",chroma:"111000000010",names:{}},1033:{title:"Ute Tritonic",chroma:"100100000010",names:{"North American":["Ute Tritonic"],Dozenal:["ALLian"]}},1035:{title:"GIVian",chroma:"110100000010",names:{}},1037:{title:"Warao Tetratonic",chroma:"101100000010",names:{Exoticisms:["Warao Tetratonic"],Dozenal:["GIWian"]}},1039:{title:"GIXian",chroma:"111100000010",names:{}},1041:{title:"HITian",chroma:"100010000010",names:{}},1043:{title:"GIZian",chroma:"110010000010",names:{}},1045:{title:"GIBian",chroma:"101010000010",names:{}},1047:{title:"GICian",chroma:"111010000010",names:{}},1049:{title:"GIDian",chroma:"100110000010",names:{}},1051:{title:"GIFian",chroma:"110110000010",names:{}},1053:{title:"GIGian",chroma:"101110000010",names:{}},1055:{title:"GIHian",chroma:"111110000010",names:{}},1057:{title:"Sansagari",chroma:"100001000010",names:{Japanese:["Sansagari"],"Southeast Asia":["Karen 3 Tone Type 5"],Dozenal:["BOWian"]}},1059:{title:"GIKian",chroma:"110001000010",names:{}},1061:{title:"Karen 4 Tone Type 4",chroma:"101001000010",names:{"Southeast Asia":["Karen 4 Tone Type 4"],Dozenal:["GILian"]}},1063:{title:"GOMian",chroma:"111001000010",names:{}},1065:{title:"Karen 4 Tone Type 1",chroma:"100101000010",names:{"Southeast Asia":["Karen 4 Tone Type 1"],Dozenal:["GONian"]}},1067:{title:"GOPian",chroma:"110101000010",names:{}},1069:{title:"GOQian",chroma:"101101000010",names:{}},1071:{title:"GORian",chroma:"111101000010",names:{}},1073:{title:"GOSian",chroma:"100011000010",names:{}},1075:{title:"GOTian",chroma:"110011000010",names:{}},1077:{title:"GOVian",chroma:"101011000010",names:{}},1079:{title:"GOWian",chroma:"111011000010",names:{}},1081:{title:"GOXian",chroma:"100111000010",names:{}},1083:{title:"GOYian",chroma:"110111000010",names:{}},1085:{title:"GOZian",chroma:"101111000010",names:{}},1087:{title:"Infra-Alt 576",chroma:"111111000010",names:{Bedwell:["Infra-Alt 576"],Dozenal:["GOBian"]}},1089:{title:"GOCian",chroma:"100000100010",names:{}},1091:{title:"PEDian",chroma:"110000100010",names:{}},1093:{title:"Lydic",chroma:"101000100010",names:{Zeitler:["Lydic"],Dozenal:["GOFian"]}},1095:{title:"Phrythitonic",chroma:"111000100010",names:{Zeitler:["Phrythitonic"],Dozenal:["GOGian"]}},1097:{title:"Aeraphic",chroma:"100100100010",names:{Zeitler:["Aeraphic"],Dozenal:["HAFian"]}},1099:{title:"Dyritonic",chroma:"110100100010",names:{Zeitler:["Dyritonic"],Dozenal:["GUJian"]}},1101:{title:"Stothitonic",chroma:"101100100010",names:{Zeitler:["Stothitonic"],Dozenal:["AMOian"]}},1103:{title:"Lynimic",chroma:"111100100010",names:{Zeitler:["Lynimic"],Dozenal:["GULian"]}},1105:{title:"Messiaen Truncated Mode 6 Inverse",chroma:"100010100010",names:{Messiaen:["Messiaen Truncated Mode 6 Inverse","T6 First Rotation","Messiaen 6th Mode Truncated Inversed"],Zeitler:["Stathic"],Dozenal:["OPHian"]}},1107:{title:"Mogitonic",chroma:"110010100010",names:{Zeitler:["Mogitonic"],Dozenal:["GUNian"]}},1109:{title:"Kataditonic",chroma:"101010100010",names:{Zeitler:["Kataditonic"],Dozenal:["GUPian"]}},1111:{title:"Sycrimic",chroma:"111010100010",names:{Zeitler:["Sycrimic"],Dozenal:["GUQian"]}},1113:{title:"Locrian Pentatonic 2",chroma:"100110100010",names:{"Western Modern":["Locrian Pentatonic 2"],Zeitler:["Aeronitonic"],Dozenal:["GURian"]}},1115:{title:"Superlocrian Hexamirror",chroma:"110110100010",names:{"Western Modern":["Superlocrian Hexamirror"],Zeitler:["Locrimic"],Dozenal:["GUSian"]}},1117:{title:"Raptimic",chroma:"101110100010",names:{Zeitler:["Raptimic"],Dozenal:["GUTian"]}},1119:{title:"Infra-Alt 567",chroma:"111110100010",names:{Bedwell:["Infra-Alt 567"],Zeitler:["Rarian"],Dozenal:["GUVian"]}},1121:{title:"GUWian",chroma:"100001100010",names:{}},1123:{title:"Iwato",chroma:"110001100010",names:{Japanese:["Iwato"],Zeitler:["Lanitonic"],Dozenal:["GUXian"]}},1125:{title:"Ionaritonic",chroma:"101001100010",names:{Zeitler:["Ionaritonic"],Dozenal:["GUYian"]}},1127:{title:"Eparimic",chroma:"111001100010",names:{Zeitler:["Eparimic"],Dozenal:["GUZian"]}},1129:{title:"Raga Jayakauns",chroma:"100101100010",names:{Carnatic:["Raga Jayakauns"],Western:["Locrian Pentatonic"],Zeitler:["Phrynitonic"],Dozenal:["GUBian"]}},1131:{title:"Honchoshi Plagal Form",chroma:"110101100010",names:{Japanese:["Honchoshi Plagal Form","Iwatochôshi","Plagal Honchôshi"],Zeitler:["Thocrimic"],Dozenal:["HABian"]}},1133:{title:"Stycrimic",chroma:"101101100010",names:{Zeitler:["Stycrimic"],Dozenal:["HACian"]}},1135:{title:"Alt 3456",chroma:"111101100010",names:{Bedwell:["Alt 3456"],Zeitler:["Katolian"],Dozenal:["HADian"]}},1137:{title:"Stonitonic",chroma:"100011100010",names:{Zeitler:["Stonitonic"],Dozenal:["BRUian"]}},1139:{title:"Aerygimic",chroma:"110011100010",names:{Zeitler:["Aerygimic"],Dozenal:["HAGian"]}},1141:{title:"Rynimic",chroma:"101011100010",names:{Zeitler:["Rynimic"],Dozenal:["HAHian"]}},1143:{title:"Alt 356",chroma:"111011100010",names:{Bedwell:["Alt 356"],Zeitler:["Styrian"],Dozenal:["HAJian"]}},1145:{title:"Zygimic",chroma:"100111100010",names:{Zeitler:["Zygimic"],Dozenal:["HAKian"]}},1147:{title:"Alt 56",chroma:"110111100010",names:{Bedwell:["Alt 56"],Zeitler:["Epynian"],Dozenal:["HALian"]}},1149:{title:"Alt 256",chroma:"101111100010",names:{Bedwell:["Alt 256"],Zeitler:["Bydian"],Dozenal:["HAMian"]}},1151:{title:"Mythyllic",chroma:"111111100010",names:{Zeitler:["Mythyllic"],Dozenal:["HANian"]}},1153:{title:"CHOian",chroma:"100000010010",names:{}},1155:{title:"ADWian",chroma:"110000010010",names:{}},1157:{title:"ALKian",chroma:"101000010010",names:{}},1159:{title:"HASian",chroma:"111000010010",names:{}},1161:{title:"Bi Yu",chroma:"100100010010",names:{Chinese:["Bi Yu"],"Chord Names":["Minor Seventh"],"Southeast Asia":["Kmhmu 4 Tone Type 1"],Zeitler:["Eporic"],Dozenal:["RADian"]}},1163:{title:"Raga Rukmangi",chroma:"110100010010",names:{Carnatic:["Raga Rukmangi"],Zeitler:["Pagitonic"],Dozenal:["HAVian"]}},1165:{title:"Gycritonic",chroma:"101100010010",names:{Zeitler:["Gycritonic"],Dozenal:["HEWian"]}},1167:{title:"Aerodimic",chroma:"111100010010",names:{Zeitler:["Aerodimic"],Dozenal:["OBLian"]}},1169:{title:"Raga Mahathi",chroma:"100010010010",names:{Carnatic:["Raga Mahathi","Antara Kaishiaki"],"Chord Names":["Dominant Seventh"],Zeitler:["Daric"],Dozenal:["DOMian"]}},1171:{title:"Raga Manaranjani I",chroma:"110010010010",names:{Carnatic:["Raga Manaranjani I"],Zeitler:["Loptitonic"],Dozenal:["HEZian"]}},1173:{title:"Dominant Pentatonic",chroma:"101010010010",names:{"Western Modern":["Dominant Pentatonic"],Zeitler:["Phropitonic"],Dozenal:["HEBian"]}},1175:{title:"Epycrimic",chroma:"111010010010",names:{Zeitler:["Epycrimic"],Dozenal:["HECian"]}},1177:{title:"Garitonic",chroma:"100110010010",names:{Zeitler:["Garitonic"],Dozenal:["HEDian"]}},1179:{title:"Sonimic",chroma:"110110010010",names:{Zeitler:["Sonimic"],Dozenal:["HEFian"]}},1181:{title:"Katagimic",chroma:"101110010010",names:{Zeitler:["Katagimic"],Dozenal:["HEGian"]}},1183:{title:"Infra-Alt 57",chroma:"111110010010",names:{Bedwell:["Infra-Alt 57"],Zeitler:["Sadian"],Dozenal:["HEHian"]}},1185:{title:"Genus Primum Inverse",chroma:"100001010010",names:{"Ancient Greek":["Genus Primum Inverse"],"Southeast Asia":["Kmhmu 4 Tone Type 3"],Dozenal:["HEJian"]}},1187:{title:"Kokin-joshi",chroma:"110001010010",names:{Japanese:["Kokin-joshi","Miyakobushi","Han-Iwato","In Sen","Insen"],Carnatic:["Raga Vibhavari","Bairagi","Lasaki"],Zeitler:["Thalitonic"],Dozenal:["TROian"]}},1189:{title:"Suspended Pentatonic",chroma:"101001010010",names:{"Western Modern":["Suspended Pentatonic"],Western:["Minor Pentatonic Type 2"],Egyptian:["Meh"],Carnatic:["Raga Madhyamavati","Madhumad Sarang","Madhmad Sarang","Megh"],Exoticisms:["Egyptian"],Chinese:["Shang","Shāngdiào","Rui Bin","Jin Yu","Qing Yu"],Japanese:["Yo"],Vietnamese:["Ngu Cung Dao"],Ethiopian:["Yematebela Wofe"],"Southeast Asia":["Khmer Pentatonic 2","Kmhmu 5 Tone Type 1"],Zeitler:["Thaptitonic"],Dozenal:["HELian"]}},1191:{title:"Pyrimic",chroma:"111001010010",names:{Zeitler:["Pyrimic"],Dozenal:["HEMian"]}},1193:{title:"Minor Pentatonic",chroma:"100101010010",names:{"Western Modern":["Minor Pentatonic","Pentatonic Minor"],Western:["Minor Pentatonic Type 1"],Ethiopian:["Bati","Batti Minor"],"Jazz and Blues":["Blues Pentatonic"],Carnatic:["Raga Dhani","Abheri"],"Unknown / Unsorted":["Udhayaravi Chandrika","Nam","Northern Sa mac"],Chinese:["Qing Shang","Gu Xian","Jia Zhong","Yu","Yùdiào"],Korean:["P'yongjo-kyemyonjo"],Japanese:["Min'yō"],Vietnamese:["Lai Yai","Lai Noi"],Exoticisms:["Peruvian Pentatonic 2"],"Southeast Asia":["Karen 5 Tone Type 1","Akha 5 Tone Type 2","Khmer Pentatonic 5","Shan Lumjou 5 Tone Type 2"],Thailand:["Yao"],Zeitler:["Rocritonic"],Dozenal:["WARian"]}},1195:{title:"Raga Gandharavam",chroma:"110101010010",names:{Carnatic:["Raga Gandharavam"],Ethiopian:["Sabai Silt"],"Southeast Asia":["Khmer Hexatonic 4"],Zeitler:["Sarimic"],Dozenal:["OPSian"]}},1197:{title:"Minor Hexatonic",chroma:"101101010010",names:{"Western Modern":["Minor Hexatonic"],Carnatic:["Raga Manirangu","Nayaki","Pushpalithika","Puspalatika","Suha Sughrai"],Hindustani:["Palasi"],Exoticisms:["Eskimo Hexatonic 1"],"Southeast Asia":["Khmer Hexatonic 2"],Zeitler:["Rocrimic"],Dozenal:["STUian"]}},1199:{title:"Alt 3456",chroma:"111101010010",names:{Bedwell:["Alt 3456"],Zeitler:["Magian"],Dozenal:["HIRian"]}},1201:{title:"Mixolydian Pentatonic",chroma:"100011010010",names:{"Western Modern":["Mixolydian Pentatonic"],Vietnamese:["Nam ai","Oan"],Carnatic:["Raga Savethri"],Myanmar:["Hkunithanji"],Zeitler:["Aeracritonic"],Dozenal:["HISian"]}},1203:{title:"Pagimic",chroma:"110011010010",names:{Zeitler:["Pagimic"],Dozenal:["SPOian"]}},1205:{title:"Raga Siva Kambhoji",chroma:"101011010010",names:{Carnatic:["Raga Siva Kambhoji","Vivardhini"],Hindustani:["Andhali"],Zeitler:["Ionycrimic"],Dozenal:["HIVian"]}},1207:{title:"Alt 356",chroma:"111011010010",names:{Bedwell:["Alt 356"],Zeitler:["Aeoloptian"],Dozenal:["HIWian"]}},1209:{title:"Raga Bhanumanjari",chroma:"100111010010",names:{Carnatic:["Raga Bhanumanjari","Jog"],Zeitler:["Ionynimic"],Dozenal:["HIXian"]}},1211:{title:"Ceiling Scale",chroma:"110111010010",names:{"Western Modern":["Ceiling Scale"],Bedwell:["Alt 56"],Zeitler:["Zadian"],Dozenal:["HIYian"]}},1213:{title:"Alt 256",chroma:"101111010010",names:{Bedwell:["Alt 256"],Zeitler:["Gyrian"],Dozenal:["HIZian"]}},1215:{title:"Aeolanyllic",chroma:"111111010010",names:{Zeitler:["Aeolanyllic"],Dozenal:["HIBian"]}},1217:{title:"HICian",chroma:"100000110010",names:{}},1219:{title:"HIDian",chroma:"110000110010",names:{}},1221:{title:"Epyritonic",chroma:"101000110010",names:{Zeitler:["Epyritonic"],Dozenal:["HIFian"]}},1223:{title:"Phryptimic",chroma:"111000110010",names:{Zeitler:["Phryptimic"],Dozenal:["HIGian"]}},1225:{title:"Raga Samudhra Priya",chroma:"100100110010",names:{Carnatic:["Raga Samudhra Priya","Madhukauns"],Zeitler:["Lyditonic"],Dozenal:["HIHian"]}},1227:{title:"Thacrimic",chroma:"110100110010",names:{Zeitler:["Thacrimic"],Dozenal:["HIJian"]}},1229:{title:"Raga Simharava",chroma:"101100110010",names:{Carnatic:["Raga Simharava","Raga Sinharavam","Gopikatilaka"],Zeitler:["Ragimic"],Dozenal:["HIKian"]}},1231:{title:"Alt 346",chroma:"111100110010",names:{Bedwell:["Alt 346"],Zeitler:["Logian"],Dozenal:["HILian"]}},1233:{title:"Ionoditonic",chroma:"100010110010",names:{Zeitler:["Ionoditonic"],Dozenal:["HOMian"]}},1235:{title:"Tritone Scale",chroma:"110010110010",names:{"Western Modern":["Tritone Scale"],Messiaen:["Messiaen Truncated Mode 2","T5 First Rotation","Messiaen Mode 2 Truncation 1 Rotation 2"],Carnatic:["Raga Indupriya"],Zeitler:["Stylimic"],Dozenal:["HONian"]}},1237:{title:"Salimic",chroma:"101010110010",names:{Zeitler:["Salimic"],Dozenal:["HOPian"]}},1239:{title:"Alt 36",chroma:"111010110010",names:{Bedwell:["Alt 36"],Zeitler:["Epaptian"],Dozenal:["HOQian"]}},1241:{title:"Pygimic",chroma:"100110110010",names:{Zeitler:["Pygimic"],Dozenal:["GUHian"]}},1243:{title:"Alt 6",chroma:"110110110010",names:{Bedwell:["Alt 6"],Zeitler:["Epylian"],Dozenal:["HOSian"]}},1245:{title:"Alt 26",chroma:"101110110010",names:{Bedwell:["Alt 26"],Zeitler:["Lathian"],Dozenal:["BUPian"]}},1247:{title:"Mygyllic",chroma:"111110110010",names:{Zeitler:["Mygyllic"],Dozenal:["HOVian"]}},1249:{title:"HOWian",chroma:"100001110010",names:{}},1251:{title:"Sylimic",chroma:"110001110010",names:{Zeitler:["Sylimic"],Dozenal:["HOXian"]}},1253:{title:"Zolimic",chroma:"101001110010",names:{Zeitler:["Zolimic"],Dozenal:["HOYian"]}},1255:{title:"Locrian 36",chroma:"111001110010",names:{Bedwell:["Locrian 36"],"Western Chromatic":["Chromatic Mixolydian"],Zeitler:["Sogian"],Dozenal:["HOZian"]}},1257:{title:"Minor Blues",chroma:"100101110010",names:{"Jazz and Blues":["Minor Blues","Blues Scale","Blues"],Western:["Hexatonic Blues"],Carnatic:["Raga Nileshwari"],Zeitler:["Aeolyphimic"],Dozenal:["HOBian"]}},1259:{title:"Locrian 6",chroma:"110101110010",names:{Bedwell:["Locrian 6"],Zeitler:["Stadian"],Dozenal:["HOCian"]}},1261:{title:"Aeolian 56",chroma:"101101110010",names:{Bedwell:["Aeolian 56"],"Jazz and Blues":["Modified Blues"],Zeitler:["Aeodian"],Dozenal:["HODian"]}},1263:{title:"Stynyllic",chroma:"111101110010",names:{Zeitler:["Stynyllic"],Dozenal:["HOFian"]}},1265:{title:"Pynimic",chroma:"100011110010",names:{Zeitler:["Pynimic"],Dozenal:["HOGian"]}},1267:{title:"Locrian 36",chroma:"110011110010",names:{Bedwell:["Locrian 36"],Zeitler:["Katynian"],Dozenal:["HUHian"]}},1269:{title:"Major Locrian 6",chroma:"101011110010",names:{Bedwell:["Major Locrian 6"],Zeitler:["Katythian"],Dozenal:["HUJian"]}},1271:{title:"Kolyllic",chroma:"111011110010",names:{Zeitler:["Kolyllic"],Dozenal:["HUKian"]}},1273:{title:"Dominant 526",chroma:"100111110010",names:{Bedwell:["Dominant 526"],Western:["Heptatonic Blues"],Zeitler:["Ronian"],Dozenal:["HULian"]}},1275:{title:"Stagyllic",chroma:"110111110010",names:{Zeitler:["Stagyllic"],Dozenal:["HUMian"]}},1277:{title:"Zadyllic",chroma:"101111110010",names:{Zeitler:["Zadyllic"],Dozenal:["HUNian"]}},1279:{title:"Sarygic",chroma:"111111110010",names:{Zeitler:["Sarygic"],Dozenal:["HUPian"]}},1281:{title:"HUQian",chroma:"100000001010",names:{}},1283:{title:"HURian",chroma:"110000001010",names:{}},1285:{title:"HUSian",chroma:"101000001010",names:{}},1287:{title:"HUTian",chroma:"111000001010",names:{}},1289:{title:"HUVian",chroma:"100100001010",names:{}},1291:{title:"HUWian",chroma:"110100001010",names:{}},1293:{title:"HUXian",chroma:"101100001010",names:{}},1295:{title:"HUYian",chroma:"111100001010",names:{}},1297:{title:"Aeolic",chroma:"100010001010",names:{Zeitler:["Aeolic"],Dozenal:["BOGian"]}},1299:{title:"Aerophitonic",chroma:"110010001010",names:{Zeitler:["Aerophitonic"],Dozenal:["HUBian"]}},1301:{title:"Koditonic",chroma:"101010001010",names:{Zeitler:["Koditonic"],Dozenal:["ITWian"]}},1303:{title:"Epolimic",chroma:"111010001010",names:{Zeitler:["Epolimic"],Dozenal:["ILKian"]}},1305:{title:"Dynitonic",chroma:"100110001010",names:{Zeitler:["Dynitonic"],Dozenal:["IPHian"]}},1307:{title:"Katorimic",chroma:"110110001010",names:{Zeitler:["Katorimic"],Dozenal:["IBOian"]}},1309:{title:"Pogimic",chroma:"101110001010",names:{Zeitler:["Pogimic"],Dozenal:["IBUian"]}},1311:{title:"Alt 345",chroma:"111110001010",names:{Bedwell:["Alt 345"],Zeitler:["Bynian"],Dozenal:["ITHian"]}},1313:{title:"Akha 4 Tone Type 2",chroma:"100001001010",names:{"Southeast Asia":["Akha 4 Tone Type 2","Lahuzu 4 Tone Type 5"],Western:["Genus Primum Inverse"],Dozenal:["IPLian"]}},1315:{title:"Pyritonic",chroma:"110001001010",names:{Zeitler:["Pyritonic"],Dozenal:["IBSian"]}},1317:{title:"Chaio",chroma:"101001001010",names:{Chinese:["Chaio"],Zeitler:["Staditonic"],Dozenal:["ICOian"]}},1319:{title:"Phronimic",chroma:"111001001010",names:{Zeitler:["Phronimic"],Dozenal:["ICUian"]}},1321:{title:"Blues Minor",chroma:"100101001010",names:{"Jazz and Blues":["Blues Minor"],Chinese:["Jue","Màn Gong","Juédiào"],"Unknown / Unsorted":["Quan Ming","Yi Ze","Jiao"],Ethiopian:["Shegaye"],Western:["Minor Pentatonic Type 3"],"Southeast Asia":["Khmer Pentatonic 3","Akha 5 Tone Type 3"],"Western Modern":["Phrygian Pentatonic"],Carnatic:["Raga Malkauns","Raga Malakosh","Raga Hindola"],Zeitler:["Epathitonic"],Dozenal:["BENian"]}},1323:{title:"Ritsu",chroma:"110101001010",names:{Japanese:["Ritsu","Ritsu Onkai"],Carnatic:["Raga Suddha Todi"],Zeitler:["Eporimic"],Dozenal:["IRMian"]}},1325:{title:"Phradimic",chroma:"101101001010",names:{Zeitler:["Phradimic"],Dozenal:["IBRian"]}},1327:{title:"Alt 345",chroma:"111101001010",names:{Bedwell:["Alt 345"],Zeitler:["Zalian"],Dozenal:["IDOian"]}},1329:{title:"Epygitonic",chroma:"100011001010",names:{Zeitler:["Epygitonic"],Dozenal:["IDUian"]}},1331:{title:"Raga Vasantabhairavi",chroma:"110011001010",names:{Carnatic:["Raga Vasantabhairavi"],Zeitler:["Dolimic"],Dozenal:["IRFian"]}},1333:{title:"Lyptimic",chroma:"101011001010",names:{Zeitler:["Lyptimic"],Dozenal:["ITTian"]}},1335:{title:"Elephant Scale",chroma:"111011001010",names:{"12Tone":["Elephant Scale"],Bedwell:["Alt 35"],Zeitler:["Aeralian"],Dozenal:["IBBian"]}},1337:{title:"Epogimic",chroma:"100111001010",names:{Zeitler:["Epogimic"],Dozenal:["IFOian"]}},1339:{title:"Alt 5",chroma:"110111001010",names:{Bedwell:["Alt 5"],Zeitler:["Kycrian"],Dozenal:["IFUian"]}},1341:{title:"Alt 25",chroma:"101111001010",names:{Bedwell:["Alt 25"],Zeitler:["Madian"],Dozenal:["ICLian"]}},1343:{title:"Zalyllic",chroma:"111111001010",names:{Zeitler:["Zalyllic"],Dozenal:["IRTian"]}},1345:{title:"ISKian",chroma:"100000101010",names:{}},1347:{title:"IGOian",chroma:"110000101010",names:{}},1349:{title:"Tholitonic",chroma:"101000101010",names:{Zeitler:["Tholitonic"],Dozenal:["IGUian"]}},1351:{title:"Aeraptimic",chroma:"111000101010",names:{Zeitler:["Aeraptimic"],Dozenal:["IFFian"]}},1353:{title:"Raga Harikauns",chroma:"100100101010",names:{Carnatic:["Raga Harikauns"],"Unknown / Unsorted":["Chin"],Zeitler:["Kataritonic"],Dozenal:["ISTian"]}},1355:{title:"Aeolorimic",chroma:"110100101010",names:{Zeitler:["Aeolorimic"],Dozenal:["IPPian"]}},1357:{title:"Takemitsu Linea Mode 2",chroma:"101100101010",names:{"Named After Composers":["Takemitsu Linea Mode 2","Takemitsu Tree Line Mode 2"],Western:["Takemitsu Linea II","Takemitsu Linea 2"],Zeitler:["Katonimic"],Dozenal:["IHOian"]}},1359:{title:"Alt 34",chroma:"111100101010",names:{Bedwell:["Alt 34"],Zeitler:["Aerygian"],Dozenal:["IHUian"]}},1361:{title:"Ngapauk auk Pyan",chroma:"100010101010",names:{Myanmar:["Ngapauk auk Pyan","Tahcan Pou"],Zeitler:["Bolitonic"],Dozenal:["IJUian"]}},1363:{title:"Gygimic",chroma:"110010101010",names:{Zeitler:["Gygimic"],Dozenal:["ISSian"]}},1365:{title:"Whole Tone",chroma:"101010101010",names:{Western:["Whole Tone"],Messiaen:["Messiaen Mode 1","Messiaen 1st Mode","First Mode Of Limited Transposition"],Carnatic:["Raga Gopriya"],"Western Modern":["Anhemitonic Hexatonic","Anhemic Hexatonic","Auxiliary Augmented"],Dozenal:["HOLian"]}},1367:{title:"Leading Whole-Tone Inverse",chroma:"111010101010",names:{"Western Modern":["Leading Whole-Tone Inverse"],Bedwell:["Alt 3"],Zeitler:["Pyptian"],Dozenal:["IGRian"]}},1369:{title:"Boptimic",chroma:"100110101010",names:{Zeitler:["Boptimic"],Dozenal:["ITLian"]}},1371:{title:"Superlocrian",chroma:"110110101010",names:{"Western Modern":["Superlocrian","Diminished Whole-tone","Altered"],"Western Altered":["Altered Scale","Altered Dominant","Locrian 4"],"Named After Composers":["Pomeroy","Ravel"],"Western Mixed":["Dominant Whole-tone Combo"],Zeitler:["Ionadian"],Dozenal:["ALTian"]}},1373:{title:"Alt 2",chroma:"101110101010",names:{Bedwell:["Alt 2"],Zeitler:["Storian"],Dozenal:["ILUian"]}},1375:{title:"Bothyllic",chroma:"111110101010",names:{Zeitler:["Bothyllic"],Dozenal:["INTian"]}},1377:{title:"INSian",chroma:"100001101010",names:{}},1379:{title:"Kycrimic",chroma:"110001101010",names:{Zeitler:["Kycrimic"],Dozenal:["ILVian"]}},1381:{title:"Padimic",chroma:"101001101010",names:{Zeitler:["Padimic"],Dozenal:["IMOian"]}},1383:{title:"Locrian 3",chroma:"111001101010",names:{Bedwell:["Locrian 3"],Zeitler:["Pynian"],Dozenal:["IMUian"]}},1385:{title:"Phracrimic",chroma:"100101101010",names:{Zeitler:["Phracrimic"],Dozenal:["ITRian"]}},1387:{title:"Locrian",chroma:"110101101010",names:{Western:["Locrian","Thang Klang"],"Southeast Asia":["Khmer Hepatatonic 3"],Thailand:["Thang luk"],"Ancient Greek":["Greek Mixolydian","Greek Hyperdorian","Greek Medieval Hyperaeolian"],Medieval:["Medieval Hypophrygian","Medieval Locrian"],"Unknown / Unsorted":["Rut Biscale Descending","Pien chih"],Jewish:["Yishtabach"],Dozenal:["LORian"]}},1389:{title:"Minor Locrian",chroma:"101101101010",names:{"Western Modern":["Minor Locrian","Half Diminished"],Bedwell:["Aeolian 5"],"Western Altered":["Locrian 2","Locrian 2","Aeolian 5","Minor 5"],Zeitler:["Lorian"],Dozenal:["BADian"]}},1391:{title:"Aeradyllic",chroma:"111101101010",names:{Zeitler:["Aeradyllic"],Dozenal:["INOian"]}},1393:{title:"Mycrimic",chroma:"100011101010",names:{Zeitler:["Mycrimic"],Dozenal:["INUian"]}},1395:{title:"Locrian Dominant",chroma:"110011101010",names:{Western:["Locrian Dominant"],Bedwell:["Locrian 3"],Exoticisms:["Asian (a)"],Zeitler:["Mixonorian"],Dozenal:["ILFian"]}},1397:{title:"Major Locrian",chroma:"101011101010",names:{"Western Modern":["Major Locrian"],Exoticisms:["Arabian (b)"],Zeitler:["Gothian"],Dozenal:["IRGian"]}},1399:{title:"Syryllic",chroma:"111011101010",names:{Zeitler:["Syryllic"],Dozenal:["ISPian"]}},1401:{title:"Major Locrian 2",chroma:"100111101010",names:{Bedwell:["Major Locrian 2"],Zeitler:["Pagian"],Dozenal:["IPOian"]}},1403:{title:"Espla's Scale",chroma:"110111101010",names:{"Named After Composers":["Espla's Scale"],Exoticisms:["Eight-tone Spanish"],Western:["Espla 8 Tone Spanish","Spanish Octamode 2nd Rotation"],Jewish:["Ahava Rabba"],Zeitler:["Epinyllic"],Dozenal:["IPUian"]}},1405:{title:"Goryllic",chroma:"101111101010",names:{Zeitler:["Goryllic"],Dozenal:["ITLian"]}},1407:{title:"Tharygic",chroma:"111111101010",names:{Zeitler:["Tharygic"],Dozenal:["IRRian"]}},1409:{title:"IMSian",chroma:"100000011010",names:{}},1411:{title:"IROian",chroma:"110000011010",names:{}},1413:{title:"IRUian",chroma:"101000011010",names:{}},1415:{title:"IMPian",chroma:"111000011010",names:{}},1417:{title:"Raga Shailaja",chroma:"100100011010",names:{Carnatic:["Raga Shailaja"],"Unknown / Unsorted":["Varini"],Zeitler:["Zoptitonic"],Dozenal:["IRKian"]}},1419:{title:"Raga Kashyapi",chroma:"110100011010",names:{Carnatic:["Raga Kashyapi"],Zeitler:["Zalimic"],Dozenal:["ICKian"]}},1421:{title:"Raga Trimurti",chroma:"101100011010",names:{Carnatic:["Raga Trimurti"],Zeitler:["Aeolaphimic"],Dozenal:["ISOian"]}},1423:{title:"Alt 534",chroma:"111100011010",names:{Bedwell:["Alt 534"],Zeitler:["Doptian"],Dozenal:["ISUian"]}},1425:{title:"Ryphitonic",chroma:"100010011010",names:{Zeitler:["Ryphitonic"],Dozenal:["IDRian"]}},1427:{title:"Lolimic",chroma:"110010011010",names:{Zeitler:["Lolimic"],Dozenal:["INBian"]}},1429:{title:"Bythimic",chroma:"101010011010",names:{Zeitler:["Bythimic"],Dozenal:["ITRian"]}},1431:{title:"Phragian",chroma:"111010011010",names:{Zeitler:["Phragian"],Dozenal:["ITOian"]}},1433:{title:"Dynimic",chroma:"100110011010",names:{Zeitler:["Dynimic"],Dozenal:["ITUian"]}},1435:{title:"Phrygian 4",chroma:"110110011010",names:{Bedwell:["Phrygian 4"],"Western Altered":["Phrygian 4"],"12Tone":["Gummy Bear Scale"],Zeitler:["Phronian"],Dozenal:["IBLian"]}},1437:{title:"Sabach ascending",chroma:"101110011010",names:{"Modern Greek":["Sabach ascending","Drómos Sabáh"],Bedwell:["Aeolian 4"],Zeitler:["Aeolycrian"],Dozenal:["IFRian"]}},1439:{title:"Rolyllic",chroma:"111110011010",names:{Zeitler:["Rolyllic"],Dozenal:["IYOian"]}},1441:{title:"JABian",chroma:"100001011010",names:{}},1443:{title:"Raga Phenadyuti",chroma:"110001011010",names:{Carnatic:["Raga Phenadyuti"],Japanese:["Honchôshi","Niagari"],Zeitler:["Ionarimic"],Dozenal:["JACian"]}},1445:{title:"Raga Navamanohari",chroma:"101001011010",names:{Carnatic:["Raga Navamanohari"],"Southeast Asia":["Khmer Hexatonic 3"],Zeitler:["Byptimic"],Dozenal:["JADian"]}},1447:{title:"Mela Ratnangi",chroma:"111001011010",names:{Carnatic:["Mela Ratnangi","Rathnangi"],Bedwell:["Phrygian 3"],Zeitler:["Mixopyrian"],Dozenal:["JAFian"],"Carnatic Melakarta":["Ratnangi"],"Carnatic Numbered Melakarta":["2nd Melakarta Raga"]}},1449:{title:"Raga Gopikavasantam",chroma:"100101011010",names:{Carnatic:["Raga Gopikavasantam"],"Unknown / Unsorted":["Desya Todi","Jayantasri"],"Western Modern":["Phrygian Hexatonic"],Zeitler:["Epathimic"],Dozenal:["JAGian"]}},1451:{title:"Phrygian",chroma:"110101011010",names:{Western:["Phrygian","Modern Phrygian","Gregorian Nr.3"],"Southeast Asia":["Khmer Hepatatonic 6"],Thailand:["Thang Klang Haep"],"Modern Greek":["Drómos Usák","Ousak"],Hindustani:["That Bhairavi","Bhairavi That","Bhairavi Theta"],Carnatic:["Hanumathodi","Mela Hanumatodi","Raga Asavari","Raga Asaveri"],"Ancient Greek":["Greek Dorian","Greek Medieval Hypoaeolian"],Medieval:["Medieval Phrygian"],"Unknown / Unsorted":["Bilashkhani Todi","Ghanta","In"],"Gregorian Numbered":["Gregorian Number 3"],Japanese:["Zokuso"],"Western Modern":["Major Inverse"],Dozenal:["FIJian"],"Carnatic Melakarta":["Hanumatodi"],"Carnatic Numbered Melakarta":["8th Melakarta Raga"]}},1453:{title:"Aeolian",chroma:"101101011010",names:{Western:["Aeolian","Gregorian Nr.2","Minor","Natural Minor","Melodic Minor Descending"],"Southeast Asia":["Khmer Hepatatonic 2"],Thailand:["Thang Nai"],Azerbaijan:["Mugham Shur"],"Ancient Greek":["Greek Medieval Hypodorian","Greek Hypodorian","Greek Medieval Aeolian","Greek Hyperphrygian"],Ethiopian:["Geez","Ezel"],"Unknown / Unsorted":["Pure Minor","Se","Chiao","Cushak"],Hindustani:["That Yavanapuri","Asavari That","Asavari Theta"],Carnatic:["Mela Natabhairavi","Raga Jaunpuri","Adana","Darbari","Dhanyasi","Jingla"],"Gregorian Numbered":["Gregorian Number 2"],Arabic:["Nihavend"],Exoticisms:["Peruvian Minor"],"Modern Greek":["Kiourdi Descending"],Dozenal:["AOLian"],"Carnatic Melakarta":["Natabhairavi"],"Carnatic Numbered Melakarta":["20th Melakarta Raga"]}},1455:{title:"Quartal Octamode",chroma:"111101011010",names:{"Western Modern":["Quartal Octamode"],"Western Mixed":["Phrygiolian","Phrygian/Aeolian Mixed"],Western:["Quartal Octamode Basic"],Zeitler:["Soryllic"],Dozenal:["JAKian"]}},1457:{title:"Raga Kamalamanohari",chroma:"100011011010",names:{Carnatic:["Raga Kamalamanohari"],Zeitler:["Modimic"],Dozenal:["JALian"]}},1459:{title:"Phrygian Dominant",chroma:"110011011010",names:{"Western Modern":["Phrygian Dominant","Phrygian Major","Harmonic Major Inverse"],Western:["Dorian Flamenco"],"Modern Greek":["Dromos Hitzaz","Hijaz"],Exoticisms:["Spanish Romani","Dorico Flamenco","Altered Hungarian"],Carnatic:["Mela Vakulabharanam","Raga Jogiya"],"Unknown / Unsorted":["Ahiri","Zilof","Humayun"],Hindustani:["Vativasantabhairavi"],Arabic:["Camel Scale"],Iranian:["Dastgāh-e Māhur","دستگاه ماهور‎"],Jewish:["Freygish"],"Western Altered":["Mixolydian 9 13","Mixolydian 2 6"],Zeitler:["Ionalian"],Dozenal:["ESPian"],"Carnatic Melakarta":["Vakulabharanam"],"Carnatic Numbered Melakarta":["14th Melakarta Raga"]}},1461:{title:"Major-Minor",chroma:"101011011010",names:{"Western Mixed":["Major-Minor"],Azerbaijan:["Mugham Bayati Shiraz"],Carnatic:["Charukeshi","Mela Carukesi","Raga Charukeshi","Tarangini"],Western:["Aeolian Dominant"],"Western Modern":["Melodic Major"],Schenkerian:["Mischung 6"],"Western Altered":["Mixolydian 6","Mixolydian 13","Altered Mixolydian"],Exoticisms:["Hindu","Hindustani"],Zeitler:["Stydian"],Dozenal:["JUSian"],"Carnatic Melakarta":["Charukesi"],"Carnatic Numbered Melakarta":["26th Melakarta Raga"]}},1463:{title:"Zaptyllic",chroma:"111011011010",names:{Zeitler:["Zaptyllic"],Dozenal:["UGRian"]}},1465:{title:"Dominant 62",chroma:"100111011010",names:{Bedwell:["Dominant 62"],Carnatic:["Mela Ragavardhani","Ragavardhani","Raga Cudamani"],Zeitler:["Aerathian"],Dozenal:["JAQian"],"Carnatic Melakarta":["Ragavardhini"],"Carnatic Numbered Melakarta":["32nd Melakarta Raga"]}},1467:{title:"Spanish Phrygian",chroma:"110111011010",names:{Exoticisms:["Spanish Phrygian"],"Western Altered":["Altered Dominant A"],Zeitler:["Thydyllic"],Dozenal:["JARian"]}},1469:{title:"Epiryllic",chroma:"101111011010",names:{Zeitler:["Epiryllic"],Dozenal:["JASian"]}},1471:{title:"Radygic",chroma:"111111011010",names:{Zeitler:["Radygic"],Dozenal:["JATian"]}},1473:{title:"JAVian",chroma:"100000111010",names:{}},1475:{title:"UFFian",chroma:"110000111010",names:{}},1477:{title:"Raga Jaganmohanam",chroma:"101000111010",names:{Carnatic:["Raga Jaganmohanam"],Zeitler:["Phrylimic"],Dozenal:["JEXian"]}},1479:{title:"Phrygian 43",chroma:"111000111010",names:{Bedwell:["Phrygian 43"],Carnatic:["Mela Jalarnava","Mela Jalarnavam"],Zeitler:["Aeolagian"],Dozenal:["JEYian"],"Carnatic Melakarta":["Jalarnavam"],"Carnatic Numbered Melakarta":["38th Melakarta Raga"]}},1481:{title:"Zagimic",chroma:"100100111010",names:{Zeitler:["Zagimic"],Dozenal:["JEZian"]}},1483:{title:"Phrygian 4",chroma:"110100111010",names:{Bedwell:["Phrygian 4"],Carnatic:["Mela Bhavapriya","Raga Bhāvani"],"Unknown / Unsorted":["Kalamurti","Neveseri Ascending"],Zeitler:["Dygian"],Dozenal:["JEBian"],"Carnatic Melakarta":["Bhavapriya"],"Carnatic Numbered Melakarta":["44th Melakarta Raga"]}},1485:{title:"Aeolian 4",chroma:"101100111010",names:{Bedwell:["Aeolian 4"],Exoticisms:["Minor Romani","Romani Scale"],Carnatic:["Mela Sanmukhapriya","Raga Camara"],"Unknown / Unsorted":["Chinthamani"],"Western Altered":["Aeolian 4"],Zeitler:["Tyrian"],Dozenal:["JECian"],"Carnatic Melakarta":["Shanmukhapriya"],"Carnatic Numbered Melakarta":["56th Melakarta Raga"]}},1487:{title:"Lycryllic",chroma:"111100111010",names:{Zeitler:["Lycryllic"],Dozenal:["JEDian"]}},1489:{title:"Raga Jyoti",chroma:"100010111010",names:{Carnatic:["Raga Jyoti"],Zeitler:["Gacrimic"],Dozenal:["JEFian"]}},1491:{title:"Lydian minor 2",chroma:"110010111010",names:{Bedwell:["Lydian minor 2"],"Carnatic Melakarta":["Namanarayani"],Carnatic:["Namanrayani","Mela Namanarayani","Raga Narmada"],"Unknown / Unsorted":["Pratapa","Harsh Major-Minor"],Zeitler:["Rynian"],Dozenal:["JEGian"],"Carnatic Numbered Melakarta":["50th Melakarta Raga"]}},1493:{title:"Lydian Minor",chroma:"101010111010",names:{"Western Modern":["Lydian Minor","Minor Lydian"],Carnatic:["Risabhapriya","Mela Risabhapriya","Raga Ratipriya"],Zeitler:["Phryrian"],Dozenal:["JEHian"],"Carnatic Melakarta":["Rishabhapriya"],"Carnatic Numbered Melakarta":["62nd Melakarta Raga"]}},1495:{title:"Messiaen Mode 6 Rotation 2",chroma:"111010111010",names:{Messiaen:["Messiaen Mode 6 Rotation 2","Messiaen Mode 6 Inverse"],Zeitler:["Epidyllic"],Dozenal:["JEJian"]}},1497:{title:"Mela Jyotisvarupini",chroma:"100110111010",names:{Carnatic:["Mela Jyotisvarupini","Raga Jotismatti"],Bedwell:["Lydian 726"],Zeitler:["Ionanian"],Dozenal:["JEKian"],"Carnatic Melakarta":["Jyoti Swarupini"],"Carnatic Numbered Melakarta":["68th Melakarta Raga"]}},1499:{title:"Altered Dominant B",chroma:"110110111010",names:{"Western Modern":["Altered Dominant B"],Zeitler:["Stonyllic"],Dozenal:["JELian"]}},1501:{title:"Stygyllic",chroma:"101110111010",names:{Zeitler:["Stygyllic"],Dozenal:["MEVian"]}},1503:{title:"Padygic",chroma:"111110111010",names:{Zeitler:["Padygic"],Dozenal:["JENian"]}},1505:{title:"JEPian",chroma:"100001111010",names:{}},1507:{title:"Lydian 7263",chroma:"110001111010",names:{Bedwell:["Lydian 7263"],Zeitler:["Zynian"],Dozenal:["JEQian"]}},1509:{title:"Lydian minor 3",chroma:"101001111010",names:{Bedwell:["Lydian minor 3"],Zeitler:["Ragian"],Dozenal:["JIRian"]}},1511:{title:"Styptyllic",chroma:"111001111010",names:{Zeitler:["Styptyllic"],Dozenal:["JISian"]}},1513:{title:"Lydian 7623",chroma:"100101111010",names:{Bedwell:["Lydian 7623"],Zeitler:["Stathian"],Dozenal:["JITian"]}},1515:{title:"Bebop Locrian",chroma:"110101111010",names:{"Jazz and Blues":["Bebop Locrian"],"Western Mixed":["Phrygian/Locrian Mixed"],Western:["Quartal Octamode 4th Rotation"],Zeitler:["Solyllic"],Dozenal:["JIVian"]}},1517:{title:"Spanish Octamode 4th Rotation",chroma:"101101111010",names:{Western:["Spanish Octamode 4th Rotation"],Zeitler:["Sagyllic"],Dozenal:["JIWian"]}},1519:{title:"Locrian/Aeolian Mixed",chroma:"111101111010",names:{"Western Mixed":["Locrian/Aeolian Mixed"],Zeitler:["Solygic"],Dozenal:["JIXian"]}},1521:{title:"Lydian 7632",chroma:"100011111010",names:{Bedwell:["Lydian 7632"],Zeitler:["Stanian"],Dozenal:["JIYian"]}},1523:{title:"Zothyllic",chroma:"110011111010",names:{Zeitler:["Zothyllic"],Dozenal:["THUian"]}},1525:{title:"Sodyllic",chroma:"101011111010",names:{Zeitler:["Sodyllic"],Dozenal:["JIBian"]}},1527:{title:"Aeolyrygic",chroma:"111011111010",names:{Zeitler:["Aeolyrygic"],Dozenal:["JICian"]}},1529:{title:"Kataryllic",chroma:"100111111010",names:{Zeitler:["Kataryllic"],Dozenal:["JIDian"]}},1531:{title:"Styptygic",chroma:"110111111010",names:{Zeitler:["Styptygic"],Dozenal:["JIFian"]}},1533:{title:"Katycrygic",chroma:"101111111010",names:{Zeitler:["Katycrygic"],Dozenal:["JIGian"]}},1535:{title:"Mixodyllian",chroma:"111111111010",names:{Zeitler:["Mixodyllian"],Dozenal:["JIHian"]}},1537:{title:"JIJian",chroma:"100000000110",names:{}},1539:{title:"JIKian",chroma:"110000000110",names:{}},1541:{title:"JILian",chroma:"101000000110",names:{}},1543:{title:"JOMian",chroma:"111000000110",names:{}},1545:{title:"JONian",chroma:"100100000110",names:{}},1547:{title:"JOPian",chroma:"110100000110",names:{}},1549:{title:"JOQian",chroma:"101100000110",names:{}},1551:{title:"JORian",chroma:"111100000110",names:{}},1553:{title:"JOSian",chroma:"100010000110",names:{}},1555:{title:"JOTian",chroma:"110010000110",names:{}},1557:{title:"JOVian",chroma:"101010000110",names:{}},1559:{title:"JOWian",chroma:"111010000110",names:{}},1561:{title:"JOXian",chroma:"100110000110",names:{}},1563:{title:"JOYian",chroma:"110110000110",names:{}},1565:{title:"JOZian",chroma:"101110000110",names:{}},1567:{title:"Alt 6345",chroma:"111110000110",names:{Bedwell:["Alt 6345"],Dozenal:["JOBian"]}},1569:{title:"JOCian",chroma:"100001000110",names:{}},1571:{title:"Lagitonic",chroma:"110001000110",names:{Zeitler:["Lagitonic"],Dozenal:["JODian"]}},1573:{title:"Raga Guhamanohari",chroma:"101001000110",names:{Carnatic:["Raga Guhamanohari"],Zeitler:["Saritonic"],Dozenal:["JOFian"]}},1575:{title:"Zycrimic",chroma:"111001000110",names:{Zeitler:["Zycrimic"],Dozenal:["JOGian"]}},1577:{title:"Raga Chandrakauns",chroma:"100101000110",names:{Carnatic:["Raga Chandrakauns"],"Unknown / Unsorted":["Surya","Varamu"],Zeitler:["Lonitonic"],Dozenal:["JUHian"]}},1579:{title:"Sagimic",chroma:"110101000110",names:{Zeitler:["Sagimic"],Dozenal:["JUJian"]}},1581:{title:"Raga Bagesri",chroma:"101101000110",names:{Carnatic:["Raga Bagesri"],"Unknown / Unsorted":["Sriranjani","Kapijingla","Jayamanohari"],Zeitler:["Gyrimic"],Dozenal:["JUKian"]}},1583:{title:"Alt 6345",chroma:"111101000110",names:{Bedwell:["Alt 6345"],Zeitler:["Salian"],Dozenal:["JULian"]}},1585:{title:"Raga Khamaji Durga",chroma:"100011000110",names:{Carnatic:["Raga Khamaji Durga"],Zeitler:["Phraditonic"],Dozenal:["JUMian"]}},1587:{title:"Raga Rudra Pancama",chroma:"110011000110",names:{Carnatic:["Raga Rudra Pancama"],Zeitler:["Lalimic"],Dozenal:["JUNian"]}},1589:{title:"Raga Rageshri",chroma:"101011000110",names:{Carnatic:["Raga Rageshri","Raga Rageshwari"],"Unknown / Unsorted":["Nattaikurinji","Natakuranji"],Zeitler:["Ionagimic"],Dozenal:["JUPian"]}},1591:{title:"Alt 635",chroma:"111011000110",names:{Bedwell:["Alt 635"],Zeitler:["Rodian"],Dozenal:["JUQian"]}},1593:{title:"Zogimic",chroma:"100111000110",names:{Zeitler:["Zogimic"],Dozenal:["JURian"]}},1595:{title:"Alt 65",chroma:"110111000110",names:{Bedwell:["Alt 65"],Zeitler:["Dacrian"],Dozenal:["AGRian"]}},1597:{title:"Dorian 45",chroma:"101111000110",names:{Bedwell:["Dorian 45"],Zeitler:["Aeolodian"],Dozenal:["JUTian"]}},1599:{title:"Pocryllic",chroma:"111111000110",names:{Zeitler:["Pocryllic"],Dozenal:["JUVian"]}},1601:{title:"JUWian",chroma:"100000100110",names:{}},1603:{title:"JUXian",chroma:"110000100110",names:{}},1605:{title:"Zanitonic",chroma:"101000100110",names:{Zeitler:["Zanitonic"],Dozenal:["JUYian"]}},1607:{title:"Epytimic",chroma:"111000100110",names:{Zeitler:["Epytimic"],Dozenal:["JUZian"]}},1609:{title:"Thyritonic",chroma:"100100100110",names:{Zeitler:["Thyritonic"],Dozenal:["JUBian"]}},1611:{title:"Dacrimic",chroma:"110100100110",names:{Zeitler:["Dacrimic"],Dozenal:["KABian"]}},1613:{title:"Thylimic",chroma:"101100100110",names:{Zeitler:["Thylimic"],Dozenal:["KACian"]}},1615:{title:"Alt 634",chroma:"111100100110",names:{Bedwell:["Alt 634"],Zeitler:["Sydian"],Dozenal:["KADian"]}},1617:{title:"Phronitonic",chroma:"100010100110",names:{Zeitler:["Phronitonic"],Dozenal:["KAFian"]}},1619:{title:"Prometheus Neapolitan",chroma:"110010100110",names:{"Named After Composers":["Prometheus Neapolitan","Neapolitan Prometheus"],Zeitler:["Monimic"],Dozenal:["KAGian"]}},1621:{title:"Scriabin's Prometheus",chroma:"101010100110",names:{"Named After Composers":["Scriabin's Prometheus","Mystic"],Western:["Prometheus"],Carnatic:["Raga Barbara"],Zeitler:["Aeolathimic"],Dozenal:["KAHian"]}},1623:{title:"Alt 63",chroma:"111010100110",names:{Bedwell:["Alt 63"],Zeitler:["Lothian"],Dozenal:["KAJian"]}},1625:{title:"Hungarian Major No5",chroma:"100110100110",names:{"Western Modern":["Hungarian Major No5"],Messiaen:["T4 Second Rotation","Messiaen Mode 2 Truncation 2 Rotation 1"],Zeitler:["Lythimic"],Dozenal:["KAKian"]}},1627:{title:"Alt 6",chroma:"110110100110",names:{Bedwell:["Alt 6"],Western:["Hungarian Major 4th Mode","Alternating Heptamode 2nd Rotation"],Zeitler:["Zyptian"],Dozenal:["KALian"]}},1629:{title:"Synian",chroma:"101110100110",names:{Zeitler:["Synian"],Dozenal:["KAMian"]}},1631:{title:"Rynyllic",chroma:"111110100110",names:{Zeitler:["Rynyllic"],Dozenal:["KANian"]}},1633:{title:"KAPian",chroma:"100001100110",names:{}},1635:{title:"Sygimic",chroma:"110001100110",names:{Zeitler:["Sygimic"],Dozenal:["KAQian"]}},1637:{title:"Syptimic",chroma:"101001100110",names:{Zeitler:["Syptimic"],Dozenal:["KARian"]}},1639:{title:"Locrian 63",chroma:"111001100110",names:{Bedwell:["Locrian 63"],Zeitler:["Aeolothian"],Dozenal:["KASian"]}},1641:{title:"Bocrimic",chroma:"100101100110",names:{Zeitler:["Bocrimic"],Dozenal:["KATian"]}},1643:{title:"Locrian 6",chroma:"110101100110",names:{"Western Altered":["Locrian 6","Locrian 6"],Bedwell:["Locrian 6"],Zeitler:["Thyptian"],Dozenal:["KAVian"]}},1645:{title:"Dorian 5",chroma:"101101100110",names:{"Western Altered":["Dorian 5","Locrian Natural 2 6"],"Jazz and Blues":["Blues Heptatonic"],"Modern Greek":["Kiourdi Ascending","Drómos Kartzigár"],"Unknown / Unsorted":["Kartzihiar"],Zeitler:["Katagian"],Dozenal:["KEWian"]}},1647:{title:"Polyllic",chroma:"111101100110",names:{Zeitler:["Polyllic"],Dozenal:["KEXian"]}},1649:{title:"Bolimic",chroma:"100011100110",names:{Zeitler:["Bolimic"],Dozenal:["KEYian"]}},1651:{title:"Asian",chroma:"110011100110",names:{Exoticisms:["Asian","Asian (b)","Hungarian Minor Inverse","Minor Romani Inverse","Oriental"],Azerbaijan:["Mugham Caharkah 1"],Carnatic:["Raga Ahira-Lalita"],Western:["Minor Romani Inversed","Hungarian Romani Minor 2nd Mode"],"Modern Greek":["Tsinganikos","Drómos Tsinganikós"],Zeitler:["Mogian"],Dozenal:["KEZian"]}},1653:{title:"Dominant 5",chroma:"101011100110",names:{Bedwell:["Dominant 5"],Exoticisms:["Minor Romani Inverse"],Zeitler:["Gylian"],Dozenal:["KEBian"]}},1655:{title:"Katygyllic",chroma:"111011100110",names:{Zeitler:["Katygyllic"],Dozenal:["KECian"]}},1657:{title:"Dominant 52",chroma:"100111100110",names:{Bedwell:["Dominant 52"],Zeitler:["Ionothian"],Dozenal:["KEDian"]}},1659:{title:"Magyllic",chroma:"110111100110",names:{Zeitler:["Magyllic"],Dozenal:["KEFian"]}},1661:{title:"Gonyllic",chroma:"101111100110",names:{Zeitler:["Gonyllic"],Dozenal:["KEGian"]}},1663:{title:"Lydygic",chroma:"111111100110",names:{Zeitler:["Lydygic"],Dozenal:["KEHian"]}},1665:{title:"KEJian",chroma:"100000010110",names:{}},1667:{title:"KEKian",chroma:"110000010110",names:{}},1669:{title:"Raga Matha Kokila",chroma:"101000010110",names:{Carnatic:["Raga Matha Kokila","Raga Matkokil"],Dozenal:["KELian"]}},1671:{title:"KEMian",chroma:"111000010110",names:{}},1673:{title:"Thocritonic",chroma:"100100010110",names:{Zeitler:["Thocritonic"],Dozenal:["KENian"]}},1675:{title:"Raga Salagavarali",chroma:"110100010110",names:{Carnatic:["Raga Salagavarali"],Zeitler:["Epatimic"],Dozenal:["KEPian"]}},1677:{title:"Raga Manavi",chroma:"101100010110",names:{Carnatic:["Raga Manavi"],Zeitler:["Danimic"],Dozenal:["KEQian"]}},1679:{title:"Dorian 234",chroma:"111100010110",names:{Bedwell:["Dorian 234"],Zeitler:["Kydian"],Dozenal:["KIRian"]}},1681:{title:"Raga Valaji",chroma:"100010010110",names:{Carnatic:["Raga Valaji"],Zeitler:["Ionaditonic"],Dozenal:["KISian"]}},1683:{title:"Raga Malayamarutam",chroma:"110010010110",names:{Carnatic:["Raga Malayamarutam"],Zeitler:["Rygimic"],Dozenal:["KITian"]}},1685:{title:"Zeracrimic",chroma:"101010010110",names:{Zeitler:["Zeracrimic"],Dozenal:["KIVian"]}},1687:{title:"Dorian 243",chroma:"111010010110",names:{Bedwell:["Dorian 243"],Zeitler:["Phralian"],Dozenal:["KIWian"]}},1689:{title:"Lorimic",chroma:"100110010110",names:{Zeitler:["Lorimic"],Dozenal:["KIXian"]}},1691:{title:"Dorian 24",chroma:"110110010110",names:{Bedwell:["Dorian 24"],Zeitler:["Kathian"],Dozenal:["KIYian"]}},1693:{title:"Dorian 4",chroma:"101110010110",names:{Bedwell:["Dorian 4"],Zeitler:["Dogian"],Dozenal:["KIZian"]}},1695:{title:"Phrodyllic",chroma:"111110010110",names:{Zeitler:["Phrodyllic"],Dozenal:["KIBian"]}},1697:{title:"Raga Kuntvarali",chroma:"100001010110",names:{Carnatic:["Raga Kuntvarali","Raga Kuntalavarali"],Dozenal:["KICian"]}},1699:{title:"Raga Rasavali",chroma:"110001010110",names:{Carnatic:["Raga Rasavali"],Zeitler:["Kaptimic"],Dozenal:["KIDian"]}},1701:{title:"Mixolydian Hexatonic",chroma:"101001010110",names:{"Western Modern":["Mixolydian Hexatonic"],Korean:["P'yongjo"],"Unknown / Unsorted":["Yosen","Narayani","Suposhini","Andolika"],Carnatic:["Raga Darbar"],Hindustani:["Gorakh Kalyan"],Zeitler:["Lothimic"],Dozenal:["KIFian"]}},1703:{title:"Mela Vanaspati",chroma:"111001010110",names:{Carnatic:["Mela Vanaspati","Vanaspathi"],Bedwell:["Dorian 23"],Zeitler:["Zaptian"],Dozenal:["KIGian"],"Carnatic Melakarta":["Vanaspati"],"Carnatic Numbered Melakarta":["4th Melakarta Raga"]}},1705:{title:"Raga Manohari",chroma:"100101010110",names:{Carnatic:["Raga Manohari"],"Southeast Asia":["Hoi Vong Co Day Dao"],"Unknown / Unsorted":["Malavasri"],Zeitler:["Darmic"],Dozenal:["KIHian"]}},1707:{title:"Dorian 2",chroma:"110101010110",names:{"Western Altered":["Dorian 2","Phrygian 6"],Bedwell:["Dorian 2"],Carnatic:["Mela Natakapriya","Raga Natabharanam"],"Jazz and Blues":["Jazz Minor Inverse"],"Western Mixed":["Phrygian-Mixolydian"],"Unknown / Unsorted":["Ahiri Todi"],Indonesian:["Javanese Pelog","Pelog"],Zeitler:["Mixolythian"],Dozenal:["JANian"],"Carnatic Melakarta":["Natakapriya"],"Carnatic Numbered Melakarta":["10th Melakarta Raga"]}},1709:{title:"Dorian",chroma:"101101010110",names:{Western:["Dorian","Thang Kruat","Modern Dorian","Gregorian Nr.8"],"Southeast Asia":["Khmer Hepatatonic 5"],Thailand:["Thang Nawk"],"Ancient Greek":["Greek Phrygian"],Medieval:["Medieval Dorian","Medieval Hypomixolydian"],Hindustani:["Kafi That","Kafi Theta","That Kafi"],Carnatic:["Mela Kharaharapriya","Raga Bageshri","Karakarapriya"],"Unknown / Unsorted":["Bhimpalasi","Nayaki Kanada","Sriraga","Ritigaula","Huseni","Kanara","Yu","Nam"],Japanese:["Banshikichô [from Bb]","Hyojo","Oshikicho","Banshikicho"],Schenkerian:["Mischung 5"],"Gregorian Numbered":["Gregorian Number 8"],Exoticisms:["Eskimo Heptatonic"],Dozenal:["DORian"],"Carnatic Melakarta":["Kharaharapriya"],"Carnatic Numbered Melakarta":["22nd Melakarta Raga"]}},1711:{title:"Adonai Malakh",chroma:"111101010110",names:{Jewish:["Adonai Malakh","Adonai Malah"],Exoticisms:["Jewish","Spanish Octamode"],Western:["Spanish Octamode Basic"],Zeitler:["Ragyllic"],Dozenal:["KILian"]}},1713:{title:"Raga Khamas",chroma:"100011010110",names:{Carnatic:["Raga Khamas"],"Unknown / Unsorted":["Desya Khamas","Bahudari"],Zeitler:["Garimic"],Dozenal:["KOMian"]}},1715:{title:"Dominant 2",chroma:"110011010110",names:{Bedwell:["Dominant 2"],"Western Modern":["Harmonic Minor Inverse"],"Western Altered":["Mixolydian 2"],Carnatic:["Mela Cakravaka","Mela Chakravakam","Raga Ahir Bhairav"],"Unknown / Unsorted":["Bindumalini","Vegavahini"],Arabic:["Zanjaran"],Azerbaijan:["Mugham Humayun"],Zeitler:["Aeronian"],Dozenal:["KONian"],"Carnatic Melakarta":["Chakravakam"],"Carnatic Numbered Melakarta":["16th Melakarta Raga"]}},1717:{title:"Mixolydian",chroma:"101011010110",names:{Western:["Mixolydian","Modern Mixolydian","Melodic Minor Descending"],"Southeast Asia":["Khmer Hepatatonic 1"],Thailand:["Thang Phiang Aw Lang"],Azerbaijan:["Mugham Rast"],"Ancient Greek":["Greek Hyperlydian","Greek Hypophrygian","Greek Ionian","Greek Iastian","Greek Hypoerlydian","Greek Medieval Hypoionian"],"Modern Greek":["Drómos Kioúrdi desc"],Hindustani:["That Khammaj","Khamaj That","Khamaj Theta"],Carnatic:["Harikambhodji","Mela Harikambhoji","Raga Harini"],Medieval:["Medieval Mixolydian"],"Western Modern":["Hypermixolydian"],"Unknown / Unsorted":["Janjhuti","Khambhavati","Surati","Balahamsa","Devamanohari","Enharmonic Byzantine Liturgical","Rast Descending"],Schenkerian:["Mischung 3"],"Gregorian Numbered":["Gregorian Number 7"],Chinese:["Ching"],Dozenal:["MIXian"],"Carnatic Melakarta":["Harikambhoji"],"Carnatic Numbered Melakarta":["28th Melakarta Raga"]}},1719:{title:"Lyryllic",chroma:"111011010110",names:{Zeitler:["Lyryllic"],Dozenal:["KOQian"]}},1721:{title:"Dominant 2",chroma:"100111010110",names:{Bedwell:["Dominant 2"],Carnatic:["Mela Vagadhisvari","Vagadhishvari","Raga Bhogachayanata"],"Western Altered":["Mixolydian 2"],"Unknown / Unsorted":["Nandkauns","Ganavaridhi","Chayanata"],"Jazz and Blues":["Bluesy Rock 'n Roll"],Zeitler:["Ionycrian"],Dozenal:["KORian"],"Carnatic Melakarta":["Vagadheeswari"],"Carnatic Numbered Melakarta":["34th Melakarta Raga"]}},1723:{title:"JG Octatonic",chroma:"110111010110",names:{"Unknown / Unsorted":["JG Octatonic"],Zeitler:["Poryllic"],Dozenal:["KOSian"]}},1725:{title:"Minor Bebop",chroma:"101111010110",names:{"Jazz and Blues":["Minor Bebop","Dorian Bebop","Bebop Dorian"],"Western Mixed":["Mixodorian","Mixolydian/Dorian Mixed"],Carnatic:["Raga Zilla"],Western:["Quartal Octamode 1st Rotation"],Zeitler:["Mixodyllic"],Dozenal:["KOTian"]}},1727:{title:"Sydygic",chroma:"111111010110",names:{Zeitler:["Sydygic"],Dozenal:["KOVian"]}},1729:{title:"KOWian",chroma:"100000110110",names:{}},1731:{title:"KOXian",chroma:"110000110110",names:{}},1733:{title:"Raga Sarasvati",chroma:"101000110110",names:{Carnatic:["Raga Sarasvati"],Zeitler:["Socrimic"],Dozenal:["KOYian"]}},1735:{title:"Lydian 723",chroma:"111000110110",names:{Bedwell:["Lydian 723"],Carnatic:["Mela Navanitam","Navanitham","Raga Nabhomani"],Zeitler:["Dagian"],Dozenal:["KOZian"],"Carnatic Melakarta":["Navaneetam"],"Carnatic Numbered Melakarta":["40th Melakarta Raga"]}},1737:{title:"Raga Madhukauns",chroma:"100100110110",names:{Carnatic:["Raga Madhukauns"],Zeitler:["Thalimic"],Dozenal:["KOBian"]}},1739:{title:"Dorian 24",chroma:"110100110110",names:{Bedwell:["Dorian 24"],Carnatic:["Mela Sadvidhamargini","Survarnangi","Raga Sthavarajam"],Western:["Hungarian Major 6th Mode","Alternating Heptamode 4th Rotation"],"Unknown / Unsorted":["Tivravahini"],Zeitler:["Phrylian"],Dozenal:["KOCian"],"Carnatic Melakarta":["Shadvidamargini"],"Carnatic Numbered Melakarta":["46th Melakarta Raga"]}},1741:{title:"Dorian 4",chroma:"101100110110",names:{Bedwell:["Dorian 4"],Carnatic:["Raga Desisimharavam","Mela Hemavati"],"Unknown / Unsorted":["Tunisian","Souzinak Minor","Peiraiotikos Minor","Nigriz","Pimenikos","Kaffa","Gnossiennes"],Exoticisms:["Ukranian Dorian","Romanian Scale","Rumanian Minor","Ukrainian Minor"],"Western Altered":["Dorian 4"],Jewish:["Misheberekh"],"Modern Greek":["Drómos Nikríz","Drómos Poimenikó"],"Western Modern":["Altered Dorian"],Zeitler:["Katycrian"],Dozenal:["PROian"],"Carnatic Melakarta":["Hemavati"],"Carnatic Numbered Melakarta":["58th Melakarta Raga"]}},1743:{title:"Epigyllic",chroma:"111100110110",names:{Zeitler:["Epigyllic"],Dozenal:["KOFian"]}},1745:{title:"Raga Vutari",chroma:"100010110110",names:{Carnatic:["Raga Vutari"],Zeitler:["Manimic"],Dozenal:["KOGian"]}},1747:{title:"Lydian 72",chroma:"110010110110",names:{Bedwell:["Lydian 72"],Carnatic:["Mela Ramapriya","Raga Ramamanohari"],Exoticisms:["Romanian Major"],"Named After Composers":["Petrushka"],Zeitler:["Epalian"],Dozenal:["KUHian"],"Carnatic Melakarta":["Ramapriya"],"Carnatic Numbered Melakarta":["52nd Melakarta Raga"]}},1749:{title:"Acoustic",chroma:"101010110110",names:{"Western Modern":["Acoustic","Lydian Dominant","Overtone Scale","Overtone","Overtone Dominant"],Bedwell:["Lydian 7"],"Western Altered":["Mixolydian 4"],Carnatic:["Mela Vacaspati","Raga Bhusavati","Bhusavali","Vachaspathi"],"Western Mixed":["Lydian-Mixolydian","Lydian-Mixolydian Combo"],"Named After Composers":["Bartók"],Zeitler:["Lythian"],Dozenal:["OVTian"],"Carnatic Melakarta":["Vachaspati"],"Carnatic Numbered Melakarta":["64th Melakarta Raga"]}},1751:{title:"Aeolyryllic",chroma:"111010110110",names:{Zeitler:["Aeolyryllic"],Dozenal:["KUKian"]}},1753:{title:"Hungarian Major",chroma:"100110110110",names:{Exoticisms:["Hungarian Major"],Carnatic:["Mela Nasikabhusani","Raga Nasamani","Nasika Bhushani"],Western:["Alternating Heptamode 6th Rotation"],Zeitler:["Mycrian"],Dozenal:["KULian"],"Carnatic Melakarta":["Nasikabhushini"],"Carnatic Numbered Melakarta":["70th Melakarta Raga"]}},1755:{title:"Octatonic",chroma:"110110110110",names:{"Western Modern":["Octatonic","Dominant Diminished","Half-Whole Step Scale","Dominant"],Messiaen:["Messiaen Mode 2","Second Mode Of Limited Transposition","Messiaen 2nd Mode"],"Jazz and Blues":["Diminished Blues","Auxiliary Diminished Blues"],Western:["Altering Octatonic Mode Basic"],Zeitler:["MinorDimin"],Dozenal:["JAMian"]}},1757:{title:"Ionyphyllic",chroma:"101110110110",names:{Zeitler:["Ionyphyllic"],Dozenal:["KUNian"]}},1759:{title:"Pylygic",chroma:"111110110110",names:{Zeitler:["Pylygic"],Dozenal:["KUPian"]}},1761:{title:"KUQian",chroma:"100001110110",names:{}},1763:{title:"Lydian 723",chroma:"110001110110",names:{Bedwell:["Lydian 723"],Zeitler:["Katalian"],Dozenal:["KURian"]}},1765:{title:"Lydian 73",chroma:"101001110110",names:{Bedwell:["Lydian 73"],Zeitler:["Lonian"],Dozenal:["KUSian"]}},1767:{title:"Dyryllic",chroma:"111001110110",names:{Zeitler:["Dyryllic"],Dozenal:["KUTian"]}},1769:{title:"Lydian 723",chroma:"100101110110",names:{Bedwell:["Lydian 723"],"Jazz and Blues":["Blues Heptatonic II"],Zeitler:["Rythian"],Dozenal:["KUVian"]}},1771:{title:"Stylyllic",chroma:"110101110110",names:{Zeitler:["Stylyllic"],Dozenal:["KUWian"]}},1773:{title:"Blues Scale II",chroma:"101101110110",names:{"Jazz and Blues":["Blues Scale II"],Zeitler:["Aeoloryllic"],Dozenal:["KUXian"]}},1775:{title:"Lyrygic",chroma:"111101110110",names:{Zeitler:["Lyrygic"],Dozenal:["KUYian"]}},1777:{title:"Lydian 732",chroma:"100011110110",names:{Bedwell:["Lydian 732"],Zeitler:["Saptian"],Dozenal:["KUZian"]}},1779:{title:"Aerythyllic",chroma:"110011110110",names:{Zeitler:["Aerythyllic"],Dozenal:["KUBian"]}},1781:{title:"Gocryllic",chroma:"101011110110",names:{Zeitler:["Gocryllic"],Dozenal:["LABian"]}},1783:{title:"Youlan",chroma:"111011110110",names:{Chinese:["Youlan"],Western:["Diminishing Nonamode 3rd Rotation"],Japanese:["In Descending"],Zeitler:["Danygic"],Dozenal:["LACian"]}},1785:{title:"Tharyllic",chroma:"100111110110",names:{Zeitler:["Tharyllic"],Dozenal:["LADian"]}},1787:{title:"Mycrygic",chroma:"110111110110",names:{Zeitler:["Mycrygic"],Dozenal:["LAFian"]}},1789:{title:"Blues Enneatonic II",chroma:"101111110110",names:{"Jazz and Blues":["Blues Enneatonic II"],Western:["Nine Note Blues"],Zeitler:["Katagygic"],Dozenal:["LAGian"]}},1791:{title:"Aerygyllian",chroma:"111111110110",names:{Zeitler:["Aerygyllian"],Dozenal:["LAHian"]}},1793:{title:"LAJian",chroma:"100000001110",names:{}},1795:{title:"LAKian",chroma:"110000001110",names:{}},1797:{title:"LALian",chroma:"101000001110",names:{}},1799:{title:"LAMian",chroma:"111000001110",names:{}},1801:{title:"LANian",chroma:"100100001110",names:{}},1803:{title:"LAPian",chroma:"110100001110",names:{}},1805:{title:"LAQian",chroma:"101100001110",names:{}},1807:{title:"Alt 6534",chroma:"111100001110",names:{Bedwell:["Alt 6534"],Dozenal:["LARian"]}},1809:{title:"Ranitonic",chroma:"100010001110",names:{Zeitler:["Ranitonic"],Dozenal:["LASian"]}},1811:{title:"Kyptimic",chroma:"110010001110",names:{Zeitler:["Kyptimic"],Dozenal:["LATian"]}},1813:{title:"Katothimic",chroma:"101010001110",names:{Zeitler:["Katothimic"],Dozenal:["LAVian"]}},1815:{title:"Alt 653",chroma:"111010001110",names:{Bedwell:["Alt 653"],Zeitler:["Godian"],Dozenal:["LEWian"]}},1817:{title:"Phrythimic",chroma:"100110001110",names:{Zeitler:["Phrythimic"],Dozenal:["LEXian"]}},1819:{title:"Alt 65",chroma:"110110001110",names:{Bedwell:["Alt 65"],Zeitler:["Pydian"],Dozenal:["LEYian"]}},1821:{title:"Dorian +4",chroma:"101110001110",names:{Bedwell:["Dorian +4"],Zeitler:["Aeradian"],Dozenal:["LEZian"]}},1823:{title:"Phralyllic",chroma:"111110001110",names:{Zeitler:["Phralyllic"],Dozenal:["LEBian"]}},1825:{title:"LECian",chroma:"100001001110",names:{}},1827:{title:"Katygimic",chroma:"110001001110",names:{Zeitler:["Katygimic"],Dozenal:["LEDian"]}},1829:{title:"Pathimic",chroma:"101001001110",names:{Zeitler:["Pathimic"],Dozenal:["LEFian"]}},1831:{title:"Dominant +23",chroma:"111001001110",names:{Bedwell:["Dominant +23"],Zeitler:["Pothian"],Dozenal:["LEGian"]}},1833:{title:"Ionacrimic",chroma:"100101001110",names:{Zeitler:["Ionacrimic"],Dozenal:["LEHian"]}},1835:{title:"Dorian +2",chroma:"110101001110",names:{Bedwell:["Dorian +2"],Zeitler:["Byptian"],Dozenal:["LEJian"]}},1837:{title:"Dorian +",chroma:"101101001110",names:{Bedwell:["Dorian +"],Zeitler:["Dalian"],Dozenal:["LEKian"]}},1839:{title:"Zogyllic",chroma:"111101001110",names:{Zeitler:["Zogyllic"],Dozenal:["LELian"]}},1841:{title:"Thogimic",chroma:"100011001110",names:{Zeitler:["Thogimic"],Dozenal:["LEMian"]}},1843:{title:"Dominant +2",chroma:"110011001110",names:{Bedwell:["Dominant +2"],Zeitler:["Ionygian"],Dozenal:["LENian"]}},1845:{title:"Mixolydian Augmented",chroma:"101011001110",names:{"Western Altered":["Mixolydian Augmented"],Bedwell:["Dominant +"],Zeitler:["Lagian"],Dozenal:["LEPian"]}},1847:{title:"Thacryllic",chroma:"111011001110",names:{Zeitler:["Thacryllic"],Dozenal:["LEQian"]}},1849:{title:"Chromatic Hypodorian Inverse",chroma:"100111001110",names:{"Western Chromatic":["Chromatic Hypodorian Inverse"],Bedwell:["Dominant +2"],Zeitler:["Epogian"],Dozenal:["LIRian"]}},1851:{title:"Zacryllic",chroma:"110111001110",names:{Zeitler:["Zacryllic"],Dozenal:["LISian"]}},1853:{title:"Phrynyllic",chroma:"101111001110",names:{Zeitler:["Phrynyllic"],Dozenal:["LITian"]}},1855:{title:"Marygic",chroma:"111111001110",names:{Zeitler:["Marygic"],Dozenal:["LIVian"]}},1857:{title:"LIWian",chroma:"100000101110",names:{}},1859:{title:"LIXian",chroma:"110000101110",names:{}},1861:{title:"Phrygimic",chroma:"101000101110",names:{Zeitler:["Phrygimic"],Dozenal:["LIYian"]}},1863:{title:"Lydian 7+23",chroma:"111000101110",names:{Bedwell:["Lydian 7+23"],Zeitler:["Pycrian"],Dozenal:["LIZian"]}},1865:{title:"Thagimic",chroma:"100100101110",names:{Zeitler:["Thagimic"],Dozenal:["LIBian"]}},1867:{title:"Lydian 7+23",chroma:"110100101110",names:{Bedwell:["Lydian 7+23"],Zeitler:["Solian"],Dozenal:["LICian"]}},1869:{title:"Lydian 7+3",chroma:"101100101110",names:{Bedwell:["Lydian 7+3"],Zeitler:["Katyrian"],Dozenal:["THOian"]}},1871:{title:"Aeolyllic",chroma:"111100101110",names:{Zeitler:["Aeolyllic"],Dozenal:["LIFian"]}},1873:{title:"Dathimic",chroma:"100010101110",names:{Zeitler:["Dathimic"],Dozenal:["LIGian"]}},1875:{title:"Lydian 7+2",chroma:"110010101110",names:{Bedwell:["Lydian 7+2"],"Named After Composers":["Persichetti Scale"],Zeitler:["Epyphian"],Dozenal:["LIHian"]}},1877:{title:"Lydian 7+",chroma:"101010101110",names:{Bedwell:["Lydian 7+"],Zeitler:["Aeroptian"],Dozenal:["LIJian"]}},1879:{title:"Mixoryllic",chroma:"111010101110",names:{Zeitler:["Mixoryllic"],Dozenal:["LIKian"]}},1881:{title:"Lydian 7+2",chroma:"100110101110",names:{Bedwell:["Lydian 7+2"],Zeitler:["Korian"],Dozenal:["LILian"]}},1883:{title:"Mixopyryllic",chroma:"110110101110",names:{Zeitler:["Mixopyryllic"],Dozenal:["LOMian"]}},1885:{title:"Messiaen Mode 6 Rotation 1",chroma:"101110101110",names:{Messiaen:["Messiaen Mode 6 Rotation 1"],Zeitler:["Epotyllic"],Dozenal:["LONian"]}},1887:{title:"Aerocrygic",chroma:"111110101110",names:{Zeitler:["Aerocrygic"],Dozenal:["LOPian"]}},1889:{title:"LOQian",chroma:"100001101110",names:{}},1891:{title:"Lydian 7+23",chroma:"110001101110",names:{Bedwell:["Lydian 7+23"],Zeitler:["Thalian"],Dozenal:["LORian"]}},1893:{title:"Lydian 7+3",chroma:"101001101110",names:{Bedwell:["Lydian 7+3"],Zeitler:["Ionylian"],Dozenal:["LOSian"]}},1895:{title:"Salyllic",chroma:"111001101110",names:{Zeitler:["Salyllic"],Dozenal:["LOTian"]}},1897:{title:"Lydian 7+23",chroma:"100101101110",names:{Bedwell:["Lydian 7+23"],Zeitler:["Ionopian"],Dozenal:["LOVian"]}},1899:{title:"Moptyllic",chroma:"110101101110",names:{Zeitler:["Moptyllic"],Dozenal:["LOWian"]}},1901:{title:"Ionidyllic",chroma:"101101101110",names:{Zeitler:["Ionidyllic"],Dozenal:["LOXian"]}},1903:{title:"Diminishing Nonamode Basic",chroma:"111101101110",names:{Western:["Diminishing Nonamode Basic"],Zeitler:["Rocrygic"],Dozenal:["LOYian"]}},1905:{title:"Lydian 7+32",chroma:"100011101110",names:{Bedwell:["Lydian 7+32"],Zeitler:["Katacrian"],Dozenal:["LOZian"]}},1907:{title:"Lynyllic",chroma:"110011101110",names:{Zeitler:["Lynyllic"],Dozenal:["LOBian"]}},1909:{title:"Epicryllic",chroma:"101011101110",names:{Zeitler:["Epicryllic"],Dozenal:["SIVian"]}},1911:{title:"Messiaen Mode 3 Rotation 1",chroma:"111011101110",names:{Messiaen:["Messiaen Mode 3 Rotation 1","Messiaen Mode 3 Inverse"],Western:["Tcherepnin Mode III","Tcherepnin Mode 3"],"Named After Composers":["Tcherepnin Nonatonic Mode 3"],Zeitler:["Stynygic"],Dozenal:["LODian"]}},1913:{title:"Zagyllic",chroma:"100111101110",names:{Zeitler:["Zagyllic"],Dozenal:["LOFian"]}},1915:{title:"Thydygic",chroma:"110111101110",names:{Zeitler:["Thydygic"],Dozenal:["LOGian"]}},1917:{title:"Sacrygic",chroma:"101111101110",names:{Zeitler:["Sacrygic"],Dozenal:["LUHian"]}},1919:{title:"Rocryllian",chroma:"111111101110",names:{Zeitler:["Rocryllian"],Dozenal:["LUJian"]}},1921:{title:"LUKian",chroma:"100000011110",names:{}},1923:{title:"LULian",chroma:"110000011110",names:{}},1925:{title:"LUMian",chroma:"101000011110",names:{}},1927:{title:"Alt 6534",chroma:"111000011110",names:{Bedwell:["Alt 6534"],Dozenal:["LUNian"]}},1929:{title:"Aeolycrimic",chroma:"100100011110",names:{Zeitler:["Aeolycrimic"],Dozenal:["LUPian"]}},1931:{title:"Dorian +24",chroma:"110100011110",names:{Bedwell:["Dorian +24"],Zeitler:["Stogian"],Dozenal:["LUQian"]}},1933:{title:"Dorian +4",chroma:"101100011110",names:{Bedwell:["Dorian +4"],Zeitler:["Mocrian"],Dozenal:["LURian"]}},1935:{title:"Mycryllic",chroma:"111100011110",names:{Zeitler:["Mycryllic"],Dozenal:["LUSian"]}},1937:{title:"Galimic",chroma:"100010011110",names:{Zeitler:["Galimic"],Dozenal:["LUTian"]}},1939:{title:"Dominant +24",chroma:"110010011110",names:{Bedwell:["Dominant +24"],Zeitler:["Dathian"],Dozenal:["LUVian"]}},1941:{title:"Dominant +4",chroma:"101010011110",names:{Bedwell:["Dominant +4"],Zeitler:["Aeranian"],Dozenal:["LUWian"]}},1943:{title:"Malyllic",chroma:"111010011110",names:{Zeitler:["Malyllic"],Dozenal:["LUXian"]}},1945:{title:"Dominant +24",chroma:"100110011110",names:{Bedwell:["Dominant +24"],Zeitler:["Zarian"],Dozenal:["LUYian"]}},1947:{title:"Ionoyllic",chroma:"110110011110",names:{Zeitler:["Ionoyllic"],Dozenal:["LUZian"]}},1949:{title:"Mathyllic",chroma:"101110011110",names:{Zeitler:["Mathyllic"],Dozenal:["LUBian"]}},1951:{title:"Gonygic",chroma:"111110011110",names:{Zeitler:["Gonygic"],Dozenal:["MABian"]}},1953:{title:"MACian",chroma:"100001011110",names:{}},1955:{title:"Dominant +234",chroma:"110001011110",names:{Bedwell:["Dominant +234"],Zeitler:["Sonian"],Dozenal:["MADian"]}},1957:{title:"Dominant +34",chroma:"101001011110",names:{Bedwell:["Dominant +34"],Zeitler:["Pyrian"],Dozenal:["MAFian"]}},1959:{title:"Katolyllic",chroma:"111001011110",names:{Zeitler:["Katolyllic"],Dozenal:["MAGian"]}},1961:{title:"Dominant +234",chroma:"100101011110",names:{Bedwell:["Dominant +234"],Zeitler:["Soptian"],Dozenal:["MAHian"]}},1963:{title:"Epocryllic",chroma:"110101011110",names:{Zeitler:["Epocryllic"],Dozenal:["MAJian"]}},1965:{title:"Raga Mukhari",chroma:"101101011110",names:{Carnatic:["Raga Mukhari"],Western:["Gregorian Nr.1","Quartal Octamode 6th Rotation"],Hindustani:["Anandabhairavi"],"Unknown / Unsorted":["Deshi","Manji"],"Gregorian Numbered":["Gregorian Number 1"],"Western Mixed":["Dorian/Aeolian Mixed"],Zeitler:["Gadyllic"],Dozenal:["MAKian"]}},1967:{title:"Diatonic Dorian Mixed",chroma:"111101011110",names:{"Western Mixed":["Diatonic Dorian Mixed","Mixed Chromatic Dorian"],Western:["Chromatic Dorian Mixed"],Zeitler:["Godygic"],Dozenal:["MALian"]}},1969:{title:"Dominant +324",chroma:"100011011110",names:{Bedwell:["Dominant +324"],Zeitler:["Zorian"],Dozenal:["MAMian"]}},1971:{title:"Aerynyllic",chroma:"110011011110",names:{Zeitler:["Aerynyllic"],Dozenal:["MANian"]}},1973:{title:"Spanish Octamode 6th Rotation",chroma:"101011011110",names:{Western:["Spanish Octamode 6th Rotation"],Zeitler:["Zyryllic"],Dozenal:["MAPian"]}},1975:{title:"Ionocrygic",chroma:"111011011110",names:{Zeitler:["Ionocrygic"],Dozenal:["MAQian"]}},1977:{title:"Dagyllic",chroma:"100111011110",names:{Zeitler:["Dagyllic"],Dozenal:["MARian"]}},1979:{title:"Diminishing Nonamode 6th Rotation",chroma:"110111011110",names:{Western:["Diminishing Nonamode 6th Rotation"],Zeitler:["Aeradygic"],Dozenal:["MASian"]}},1981:{title:"Houseini",chroma:"101111011110",names:{"Unknown / Unsorted":["Houseini"],"Modern Greek":["Drómos Houzeïni"],"Western Mixed":["Modes of Major Pentatonic Mixed"],Zeitler:["Gadygic"],Dozenal:["MATian"]}},1983:{title:"Soryllian",chroma:"111111011110",names:{Zeitler:["Soryllian"],Dozenal:["MAVian"]}},1985:{title:"MEWian",chroma:"100000111110",names:{}},1987:{title:"Dominant +234",chroma:"110000111110",names:{Bedwell:["Dominant +234"],Dozenal:["MEXian"]}},1989:{title:"Dominant +34",chroma:"101000111110",names:{Bedwell:["Dominant +34"],Zeitler:["Dydian"],Dozenal:["MEYian"]}},1991:{title:"Phryptyllic",chroma:"111000111110",names:{Zeitler:["Phryptyllic"],Dozenal:["MEZian"]}},1993:{title:"Dominant +234",chroma:"100100111110",names:{Bedwell:["Dominant +234"],Zeitler:["Katoptian"],Dozenal:["MEBian"]}},1995:{title:"Sideways Scale",chroma:"110100111110",names:{"12Tone":["Sideways Scale"],"Western Modern":["Dimygian"],Zeitler:["Aeolacryllic"],Dozenal:["MECian"]}},1997:{title:"Raga Cintamani",chroma:"101100111110",names:{Carnatic:["Raga Cintamani"],Zeitler:["Staryllic"],Dozenal:["MEDian"]}},1999:{title:"Zacrygic",chroma:"111100111110",names:{Zeitler:["Zacrygic"],Dozenal:["MEFian"]}},2001:{title:"Dominant +234",chroma:"100010111110",names:{Bedwell:["Dominant +234"],Zeitler:["Gydian"],Dozenal:["MEGian"]}},2003:{title:"Lolyllic",chroma:"110010111110",names:{Zeitler:["Lolyllic"],Dozenal:["MEHian"]}},2005:{title:"Gygyllic",chroma:"101010111110",names:{Zeitler:["Gygyllic"],Dozenal:["MEJian"]}},2007:{title:"Stonygic",chroma:"111010111110",names:{Zeitler:["Stonygic"],Dozenal:["MEKian"]}},2009:{title:"Stacryllic",chroma:"100110111110",names:{Zeitler:["Stacryllic"],Dozenal:["EGGian"]}},2011:{title:"Raphygic",chroma:"110110111110",names:{Zeitler:["Raphygic"],Dozenal:["MEMian"]}},2013:{title:"Mocrygic",chroma:"101110111110",names:{Zeitler:["Mocrygic"],Dozenal:["MENian"]}},2015:{title:"Messiaen Mode 7 Rotation 4",chroma:"111110111110",names:{Messiaen:["Messiaen Mode 7 Rotation 4"],Zeitler:["Epiryllian"],Dozenal:["MEPian"]}},2017:{title:"Dominant +342",chroma:"100001111110",names:{Bedwell:["Dominant +342"],Dozenal:["MEQian"]}},2019:{title:"Palyllic",chroma:"110001111110",names:{Zeitler:["Palyllic"],Dozenal:["MIRian"]}},2021:{title:"Katycryllic",chroma:"101001111110",names:{Zeitler:["Katycryllic"],Dozenal:["MISian"]}},2023:{title:"Zodygic",chroma:"111001111110",names:{Zeitler:["Zodygic"],Dozenal:["MITian"]}},2025:{title:"Mixolydyllic",chroma:"100101111110",names:{Zeitler:["Mixolydyllic"],Dozenal:["MIVian"]}},2027:{title:"Boptygic",chroma:"110101111110",names:{Zeitler:["Boptygic"],Dozenal:["MIWian"]}},2029:{title:"Kiourdi",chroma:"101101111110",names:{"Modern Greek":["Kiourdi"],Zeitler:["Mathygic"],Dozenal:["ISHian"]}},2031:{title:"Gadyllian",chroma:"111101111110",names:{Zeitler:["Gadyllian"],Dozenal:["MIYian"]}},2033:{title:"Stolyllic",chroma:"100011111110",names:{Zeitler:["Stolyllic"],Dozenal:["MIZian"]}},2035:{title:"Aerythygic",chroma:"110011111110",names:{Zeitler:["Aerythygic"],Dozenal:["MIBian"]}},2037:{title:"Sythygic",chroma:"101011111110",names:{Zeitler:["Sythygic"],Dozenal:["MICian"]}},2039:{title:"Danyllian",chroma:"111011111110",names:{Zeitler:["Danyllian"],Dozenal:["MIDian"]}},2041:{title:"Aeolacrygic",chroma:"100111111110",names:{Zeitler:["Aeolacrygic"],Dozenal:["MIFian"]}},2043:{title:"Lythyllian",chroma:"110111111110",names:{Zeitler:["Lythyllian"],Dozenal:["MIGian"]}},2045:{title:"Katogyllian",chroma:"101111111110",names:{Zeitler:["Katogyllian"],Dozenal:["MIHian"]}},2047:{title:"Chromatic Undecamode",chroma:"111111111110",names:{"Western Modern":["Chromatic Undecamode","Undecatonic Chromatic"],Zeitler:["Monatic"],Dozenal:["ANTian"]}},2049:{title:"Major Seventh Ditone",chroma:"100000000001",names:{Intervals:["Major Seventh Ditone"],"Western Modern":["Duotonic Chromatic Descending"],Dozenal:["Eian"]}},2051:{title:"Tritonic Chromatic 2",chroma:"110000000001",names:{"Western Modern":["Tritonic Chromatic 2"],Dozenal:["MILian"]}},2053:{title:"POWian",chroma:"101000000001",names:{}},2055:{title:"Tetratonic Chromatic 2",chroma:"111000000001",names:{"Western Modern":["Tetratonic Chromatic 2"],Dozenal:["MONian"]}},2057:{title:"MOPian",chroma:"100100000001",names:{}},2059:{title:"MOQian",chroma:"110100000001",names:{}},2061:{title:"MORian",chroma:"101100000001",names:{}},2063:{title:"Pentatonic Chromatic 2",chroma:"111100000001",names:{"Western Modern":["Pentatonic Chromatic 2"],Dozenal:["MOSian"]}},2065:{title:"MOTian",chroma:"100010000001",names:{}},2067:{title:"MOVian",chroma:"110010000001",names:{}},2069:{title:"MOWian",chroma:"101010000001",names:{}},2071:{title:"MOXian",chroma:"111010000001",names:{}},2073:{title:"MOYian",chroma:"100110000001",names:{}},2075:{title:"MOZian",chroma:"110110000001",names:{}},2077:{title:"MOBian",chroma:"101110000001",names:{}},2079:{title:"Hexatonic Chromatic 4",chroma:"111110000001",names:{"Western Modern":["Hexatonic Chromatic 4"],Dozenal:["MOCian"]}},2081:{title:"MODian",chroma:"100001000001",names:{}},2083:{title:"MOFian",chroma:"110001000001",names:{}},2085:{title:"MOGian",chroma:"101001000001",names:{}},2087:{title:"MUHian",chroma:"111001000001",names:{}},2089:{title:"MUJian",chroma:"100101000001",names:{}},2091:{title:"MUKian",chroma:"110101000001",names:{}},2093:{title:"MULian",chroma:"101101000001",names:{}},2095:{title:"MUMian",chroma:"111101000001",names:{}},2097:{title:"MUNian",chroma:"100011000001",names:{}},2099:{title:"Raga Megharanji",chroma:"110011000001",names:{Carnatic:["Raga Megharanji"],Dozenal:["MUPian"]}},2101:{title:"MUQian",chroma:"101011000001",names:{}},2103:{title:"MURian",chroma:"111011000001",names:{}},2105:{title:"RIGian",chroma:"100111000001",names:{}},2107:{title:"MUTian",chroma:"110111000001",names:{}},2109:{title:"MUVian",chroma:"101111000001",names:{}},2111:{title:"Alt 73456",chroma:"111111000001",names:{Bedwell:["Alt 73456","Arcane minor"],"Western Modern":["Heptatonic Chromatic 2"],Western:["Chromatic Heptamode 6th Rotation"],Dozenal:["MUWian"]}},2113:{title:"MUXian",chroma:"100000100001",names:{}},2115:{title:"MUYian",chroma:"110000100001",names:{}},2117:{title:"Raga Sumukam",chroma:"101000100001",names:{Carnatic:["Raga Sumukam"],Dozenal:["JAJian"]}},2119:{title:"MUBian",chroma:"111000100001",names:{}},2121:{title:"NABian",chroma:"100100100001",names:{}},2123:{title:"NACian",chroma:"110100100001",names:{}},2125:{title:"NADian",chroma:"101100100001",names:{}},2127:{title:"NAFian",chroma:"111100100001",names:{}},2129:{title:"Raga Nigamagamini",chroma:"100010100001",names:{Carnatic:["Raga Nigamagamini"],Dozenal:["NAGian"]}},2131:{title:"NAHian",chroma:"110010100001",names:{}},2133:{title:"Raga Kumurdaki",chroma:"101010100001",names:{Carnatic:["Raga Kumurdaki","Raga Kumudki"],Dozenal:["NAJian"]}},2135:{title:"NAKian",chroma:"111010100001",names:{}},2137:{title:"NALian",chroma:"100110100001",names:{}},2139:{title:"NAMian",chroma:"110110100001",names:{}},2141:{title:"NANian",chroma:"101110100001",names:{}},2143:{title:"Alt 73456",chroma:"111110100001",names:{Bedwell:["Alt 73456","Arcane"],Dozenal:["NAPian"]}},2145:{title:"Messiaen Mode 5 Truncation 2",chroma:"100001100001",names:{Messiaen:["Messiaen Mode 5 Truncation 2","Messiaen 5th Mode Truncated Inversed"],Dozenal:["HOTian"]}},2147:{title:"NARian",chroma:"110001100001",names:{}},2149:{title:"NASian",chroma:"101001100001",names:{}},2151:{title:"NATian",chroma:"111001100001",names:{}},2153:{title:"NAVian",chroma:"100101100001",names:{}},2155:{title:"NEWian",chroma:"110101100001",names:{}},2157:{title:"NEXian",chroma:"101101100001",names:{}},2159:{title:"Alt 73456",chroma:"111101100001",names:{Bedwell:["Alt 73456","Quixotic minor"],Dozenal:["NEYian"]}},2161:{title:"NEZian",chroma:"100011100001",names:{}},2163:{title:"NEBian",chroma:"110011100001",names:{}},2165:{title:"NECian",chroma:"101011100001",names:{}},2167:{title:"Alt 7356",chroma:"111011100001",names:{Bedwell:["Alt 7356","Acerbic minor"],Dozenal:["NEDian"]}},2169:{title:"NEFian",chroma:"100111100001",names:{}},2171:{title:"Alt 756",chroma:"110111100001",names:{Bedwell:["Alt 756","Acerbic"],Dozenal:["NEGian"]}},2173:{title:"Alt 2756",chroma:"101111100001",names:{Bedwell:["Alt 2756","Labyrinthine"],Dozenal:["NEHian"]}},2175:{title:"Octatonic Chromatic 2",chroma:"111111100001",names:{"Western Modern":["Octatonic Chromatic 2"],Western:["Chromatic Octamode 7th Rotation"],Dozenal:["NEJian"]}},2177:{title:"Major Seventh Omit 3",chroma:"100000010001",names:{"Chord Names":["Major Seventh Omit 3"],Dozenal:["BANian"]}},2179:{title:"NELian",chroma:"110000010001",names:{}},2181:{title:"NEMian",chroma:"101000010001",names:{}},2183:{title:"NENian",chroma:"111000010001",names:{}},2185:{title:"Dygic",chroma:"100100010001",names:{Zeitler:["Dygic"],Dozenal:["ESSian"],zeitler:["Zyphic"]}},2187:{title:"Ionothitonic",chroma:"110100010001",names:{Zeitler:["Ionothitonic"],Dozenal:["NEQian"],zeitler:["Zylitonic"]}},2189:{title:"Zagitonic",chroma:"101100010001",names:{Zeitler:["Zagitonic"],Dozenal:["NIRian"],zeitler:["Dolitonic"]}},2191:{title:"Thydimic",chroma:"111100010001",names:{Zeitler:["Thydimic"],Dozenal:["NISian"],zeitler:["Ponimic"]}},2193:{title:"Major Seventh",chroma:"100010010001",names:{"Chord Names":["Major Seventh"],"Southeast Asia":["Karen 4 Tone Type 5"],Zeitler:["Thaptic"],Dozenal:["JEMian"],zeitler:["Thaptic"]}},2195:{title:"Zalitonic",chroma:"110010010001",names:{Zeitler:["Zalitonic"],Dozenal:["NIVian"],zeitler:["Molitonic"]}},2197:{title:"Raga Hamsadhvani",chroma:"101010010001",names:{Carnatic:["Raga Hamsadhvani","Raga Hansdhwani","Raga Haunsadhwani"],Zeitler:["Aerathitonic"],Dozenal:["NIWian"],zeitler:["Magitonic"]}},2199:{title:"Dyptimic",chroma:"111010010001",names:{Zeitler:["Dyptimic"],Dozenal:["NIXian"],zeitler:["Starimic"]}},2201:{title:"Ionagitonic",chroma:"100110010001",names:{Zeitler:["Ionagitonic"],Dozenal:["NIYian"],zeitler:["Zacritonic"]}},2203:{title:"Dorimic",chroma:"110110010001",names:{Zeitler:["Dorimic"],Dozenal:["NIZian"],zeitler:["Lathimic"]}},2205:{title:"Ionocrimic",chroma:"101110010001",names:{Zeitler:["Ionocrimic"],Dozenal:["NIBian"],zeitler:["Bygimic"]}},2207:{title:"Alt 73465",chroma:"111110010001",names:{Bedwell:["Alt 73465","Byzantine minor"],Zeitler:["Mygian"],Dozenal:["NICian"],zeitler:["Thadian"]}},2209:{title:"NIDian",chroma:"100001010001",names:{}},2211:{title:"Raga Gauri",chroma:"110001010001",names:{Carnatic:["Raga Gauri"],Zeitler:["Ionythitonic"],Dozenal:["NIFian"],zeitler:["Zathitonic"]}},2213:{title:"Raga Desh",chroma:"101001010001",names:{Carnatic:["Raga Desh"],"Named After Composers":["Tcherepnin Major Pentatonic"],"Unknown / Unsorted":["Nam xuan"],Zeitler:["Daritonic"],Dozenal:["NIGian"],zeitler:["Gathitonic"]}},2215:{title:"Ranimic",chroma:"111001010001",names:{Zeitler:["Ranimic"],Dozenal:["NIHian"],zeitler:["Stalimic"]}},2217:{title:"Kagitonic",chroma:"100101010001",names:{Zeitler:["Kagitonic"],Dozenal:["NIJian"],zeitler:["Aeolanitonic"]}},2219:{title:"Phrydimic",chroma:"110101010001",names:{Zeitler:["Phrydimic"],Dozenal:["NIKian"],zeitler:["Katanimic"]}},2221:{title:"Raga Sindhura Kafi",chroma:"101101010001",names:{Carnatic:["Raga Sindhura Kafi"],Zeitler:["Poptimic"],Dozenal:["GROian"],zeitler:["Rycrimic"]}},2223:{title:"Arcadian minor",chroma:"111101010001",names:{Bedwell:["Arcadian minor","Alt 73456"],Zeitler:["Konian"],Dozenal:["NOMian"],zeitler:["Pythian"]}},2225:{title:"Ionian Pentatonic",chroma:"100011010001",names:{"Western Modern":["Ionian Pentatonic"],Carnatic:["Raga Gambhiranata"],African:["Pelog Degung Modern"],"Unknown / Unsorted":["Ryukyu","Vong co"],Ethiopian:["Batti Major"],Zeitler:["Gonitonic"],Dozenal:["KIKian"],zeitler:["Zolitonic"]}},2227:{title:"Raga Gaula",chroma:"110011010001",names:{Carnatic:["Raga Gaula"],Zeitler:["Katadimic"],Dozenal:["NOPian"],zeitler:["Katythimic"]}},2229:{title:"Raga Nalinakanti",chroma:"101011010001",names:{Carnatic:["Raga Nalinakanti"],"Unknown / Unsorted":["Kedaram","Vilasini"],Zeitler:["Ionyptimic"],Dozenal:["NOQian"],zeitler:["Dyrimic"]}},2231:{title:"Arcadian",chroma:"111011010001",names:{Bedwell:["Arcadian","Alt 7356"],Zeitler:["Macrian"],Dozenal:["NORian"],zeitler:["Aeopian"]}},2233:{title:"Donimic",chroma:"100111010001",names:{Zeitler:["Donimic"],Dozenal:["NOSian"],zeitler:["Aerycrimic"]}},2235:{title:"Exotic minor",chroma:"110111010001",names:{Bedwell:["Exotic minor","Alt 756"],Zeitler:["Bathian"],Dozenal:["ATLian"],zeitler:["Katogian"]}},2237:{title:"Alt 2756",chroma:"101111010001",names:{Bedwell:["Alt 2756","Melancholic minor"],Zeitler:["Epothian"],Dozenal:["NOVian"],zeitler:["Epycrian"]}},2239:{title:"Dacryllic",chroma:"111111010001",names:{Zeitler:["Dacryllic"],Dozenal:["NOWian"],zeitler:["Stycryllic"]}},2241:{title:"NOXian",chroma:"100000110001",names:{}},2243:{title:"NOYian",chroma:"110000110001",names:{}},2245:{title:"Raga Vaijayanti",chroma:"101000110001",names:{Carnatic:["Raga Vaijayanti","Hamsanadam"],Western:["African Pentatonic 2"],Zeitler:["Dygitonic"],Dozenal:["NOZian"],zeitler:["Paptitonic"]}},2247:{title:"Raga Vijayasri",chroma:"111000110001",names:{Carnatic:["Raga Vijayasri"],Zeitler:["Aeolimic"],Dozenal:["NOBian"],zeitler:["Daptimic"]}},2249:{title:"Raga Multani",chroma:"100100110001",names:{Carnatic:["Raga Multani"],Ethiopian:["Batti Mineur"],Zeitler:["Kygitonic"],Dozenal:["NOCian"],zeitler:["Lycritonic"]}},2251:{title:"Zodimic",chroma:"110100110001",names:{Zeitler:["Zodimic"],Dozenal:["NODian"],zeitler:["Phralimic"]}},2253:{title:"Raga Amarasenapriya",chroma:"101100110001",names:{Carnatic:["Raga Amarasenapriya"],Zeitler:["Logimic"],Dozenal:["NOFian"],zeitler:["Solimic"]}},2255:{title:"Alt 7346",chroma:"111100110001",names:{Bedwell:["Alt 7346","Acentric minor"],Zeitler:["Dylian"],Dozenal:["NOGian"],zeitler:["Parian"]}},2257:{title:"Lydian Pentatonic",chroma:"100010110001",names:{"Western Modern":["Lydian Pentatonic"],Carnatic:["Raga Amritavarshini"],"Unknown / Unsorted":["Malashri","Shilangi","Chinese"],Ethiopian:["Batti Lydian"],Japanese:["Hirajoshi"],Zeitler:["Zolitonic"],Dozenal:["NUHian"],zeitler:["Gonitonic"]}},2259:{title:"Raga Mandari",chroma:"110010110001",names:{Carnatic:["Raga Mandari"],"Unknown / Unsorted":["Gamakakriya","Hamsanarayani"],Zeitler:["Gogimic"],Dozenal:["NUJian"],zeitler:["Epygimic"]}},2261:{title:"Raga Caturangini",chroma:"101010110001",names:{Carnatic:["Raga Caturangini"],"Unknown / Unsorted":["Ratnakanthi"],Zeitler:["Phrolimic"],Dozenal:["NUKian"],zeitler:["Bylimic"]}},2263:{title:"Phlegmatic minor",chroma:"111010110001",names:{Bedwell:["Phlegmatic minor","Alt 736"],Zeitler:["Lycrian"],Dozenal:["NULian"],zeitler:["Ionythian"]}},2265:{title:"Raga Rasamanjari",chroma:"100110110001",names:{Carnatic:["Raga Rasamanjari"],Zeitler:["Ionophimic"],Dozenal:["NUMian"],zeitler:["Laptimic"]}},2267:{title:"Exotic",chroma:"110110110001",names:{Bedwell:["Exotic","Alt 76"],Zeitler:["Padian"],Dozenal:["NUNian"],zeitler:["Stygian"]}},2269:{title:"Nomadic minor",chroma:"101110110001",names:{Bedwell:["Nomadic minor","Alt 276"],Zeitler:["Pygian"],Dozenal:["NUPian"],zeitler:["Stythian"]}},2271:{title:"Poptyllic",chroma:"111110110001",names:{Zeitler:["Poptyllic"],Dozenal:["NUQian"],zeitler:["Dolyllic"]}},2273:{title:"NURian",chroma:"100001110001",names:{}},2275:{title:"Messiaen Mode 5",chroma:"110001110001",names:{Messiaen:["Messiaen Mode 5","Messiaen 5th Mode","Fifth Mode Of Limited Transposition"],Zeitler:["Thodimic"],Dozenal:["NUSian"],zeitler:["Thonimic"]}},2277:{title:"Kagimic",chroma:"101001110001",names:{Zeitler:["Kagimic"],Dozenal:["NUTian"],zeitler:["Mythimic"]}},2279:{title:"Apathetic minor",chroma:"111001110001",names:{Bedwell:["Apathetic minor","Locrian 736"],Zeitler:["Dyrian"],Dozenal:["NUVian"],zeitler:["Ionarian"]}},2281:{title:"Rathimic",chroma:"100101110001",names:{Zeitler:["Rathimic"],Dozenal:["NUWian"],zeitler:["Kanimic"]}},2283:{title:"Pacific minor",chroma:"110101110001",names:{Bedwell:["Pacific minor","Locrian 76"],Zeitler:["Aeolyptian"],Dozenal:["NUXian"],zeitler:["Thacrian"]}},2285:{title:"Supine",chroma:"101101110001",names:{Bedwell:["Supine","Locrian 276"],Zeitler:["Aerogian"],Dozenal:["NUYian"],zeitler:["Aeolathian"]}},2287:{title:"Lodyllic",chroma:"111101110001",names:{Zeitler:["Lodyllic"],Dozenal:["NUZian"],zeitler:["Thagyllic"]}},2289:{title:"Mocrimic",chroma:"100011110001",names:{Zeitler:["Mocrimic"],Dozenal:["NUBian"],zeitler:["Mocrimic"]}},2291:{title:"Pacific",chroma:"110011110001",names:{Bedwell:["Pacific","Locrian 376"],Zeitler:["Zydian"],Dozenal:["OSHian"],zeitler:["Aeolacrian"]}},2293:{title:"Bucolic",chroma:"101011110001",names:{Bedwell:["Bucolic","Ionian 56"],Zeitler:["Gorian"],Dozenal:["OTTian"],zeitler:["Zogian"]}},2295:{title:"Kogyllic",chroma:"111011110001",names:{Zeitler:["Kogyllic"],Dozenal:["PHLian"],zeitler:["Pynyllic"]}},2297:{title:"Ionian 526",chroma:"100111110001",names:{Bedwell:["Ionian 526"],Zeitler:["Thylian"],Dozenal:["OBOian"],zeitler:["Thycrian"]}},2299:{title:"Phraptyllic",chroma:"110111110001",names:{Zeitler:["Phraptyllic"],Dozenal:["OBUian"],zeitler:["Aeoladyllic"]}},2301:{title:"Bydyllic",chroma:"101111110001",names:{Zeitler:["Bydyllic"],Dozenal:["STRian"],zeitler:["Phroryllic"]}},2303:{title:"Nonatonic Chromatic 2",chroma:"111111110001",names:{"Western Modern":["Nonatonic Chromatic 2"],Western:["Chromatic Nonamode 8th Rotation"],Zeitler:["Stanygic"],Dozenal:["OTHian"],zeitler:["Manygic"]}},2305:{title:"OLLian",chroma:"100000001001",names:{}},2307:{title:"OCOian",chroma:"110000001001",names:{}},2309:{title:"OCUian",chroma:"101000001001",names:{}},2311:{title:"Raga Kumarapriya",chroma:"111000001001",names:{Carnatic:["Raga Kumarapriya"],Dozenal:["OTRian"]}},2313:{title:"OSRian",chroma:"100100001001",names:{}},2315:{title:"ORKian",chroma:"110100001001",names:{}},2317:{title:"ODOian",chroma:"101100001001",names:{}},2319:{title:"ODUian",chroma:"111100001001",names:{}},2321:{title:"Zyphic",chroma:"100010001001",names:{Zeitler:["Zyphic"],Dozenal:["GUMian"],zeitler:["Dygic"]}},2323:{title:"Doptitonic",chroma:"110010001001",names:{Zeitler:["Doptitonic"],Dozenal:["OSTian"],zeitler:["Aeraphitonic"]}},2325:{title:"Pynitonic",chroma:"101010001001",names:{Zeitler:["Pynitonic"],Dozenal:["OMPian"],zeitler:["Katagitonic"]}},2327:{title:"Epalimic",chroma:"111010001001",names:{Zeitler:["Epalimic"],Dozenal:["OFOian"],zeitler:["Phragimic"]}},2329:{title:"Styditonic",chroma:"100110001001",names:{Zeitler:["Styditonic"],Dozenal:["OFUian"],zeitler:["Kyritonic"]}},2331:{title:"Dylimic",chroma:"110110001001",names:{Zeitler:["Dylimic"],Dozenal:["OTWian"],zeitler:["Katathimic"]}},2333:{title:"Stynimic",chroma:"101110001001",names:{Zeitler:["Stynimic"],Dozenal:["OPLian"],zeitler:["Ionylimic"]}},2335:{title:"Byzantine",chroma:"111110001001",names:{Bedwell:["Byzantine","Alt 7345"],Zeitler:["Epydian"],Dozenal:["OLFian"],zeitler:["Kythian"]}},2337:{title:"OGOian",chroma:"100001001001",names:{}},2339:{title:"Raga Kshanika",chroma:"110001001001",names:{Carnatic:["Raga Kshanika"],Zeitler:["Ragitonic"],Dozenal:["OGUian"],zeitler:["Stolitonic"]}},2341:{title:"Raga Priyadharshini",chroma:"101001001001",names:{Carnatic:["Raga Priyadharshini"],Zeitler:["Myditonic"],Dozenal:["ONBian"],zeitler:["Mixitonic"]}},2343:{title:"Tharimic",chroma:"111001001001",names:{Zeitler:["Tharimic"],Dozenal:["OCLian"],zeitler:["Epynimic"]}},2345:{title:"Gothitonic",chroma:"100101001001",names:{Zeitler:["Gothitonic"],Dozenal:["OMSian"],zeitler:["Thoditonic"]}},2347:{title:"Raga Viyogavarali",chroma:"110101001001",names:{Carnatic:["Raga Viyogavarali"],Zeitler:["Thothimic"],Dozenal:["OHOian"],zeitler:["Palimic"]}},2349:{title:"Raga Ghantana",chroma:"101101001001",names:{Carnatic:["Raga Ghantana"],"Unknown / Unsorted":["Kaushiranjani","Kaishikiranjani"],Zeitler:["Aerogimic"],Dozenal:["OHUian"],zeitler:["Thoptimic"]}},2351:{title:"Alt 7345",chroma:"111101001001",names:{Bedwell:["Alt 7345","Acentric"],Zeitler:["Gynian"],Dozenal:["OJUian"],zeitler:["Bonian"]}},2353:{title:"Raga Girija",chroma:"100011001001",names:{Carnatic:["Raga Girija"],"East European":["Bacovia Pentatonic"],Ethiopian:["Batti Major 5"],Zeitler:["Lycritonic"],Dozenal:["ORTian"],zeitler:["Kygitonic"]}},2355:{title:"Raga Lalita",chroma:"110011001001",names:{Carnatic:["Raga Lalita"],"Unknown / Unsorted":["Sohini","Hamsanandi"],Hindustani:["Lalit Bhairav"],Zeitler:["Katycrimic"],Dozenal:["ORFian"],zeitler:["Ionodimic"]}},2357:{title:"Raga Sarasanana",chroma:"101011001001",names:{Carnatic:["Raga Sarasanana"],Zeitler:["Ionaptimic"],Dozenal:["ORRian"],zeitler:["Dagimic"]}},2359:{title:"Unorthodox minor",chroma:"111011001001",names:{Bedwell:["Unorthodox minor","Alt 735"],Zeitler:["Gadian"],Dozenal:["ORMian"],zeitler:["Epagian"]}},2361:{title:"Docrimic",chroma:"100111001001",names:{Zeitler:["Docrimic"],Dozenal:["OLOian"],zeitler:["Mydimic"]}},2363:{title:"Unorthodox",chroma:"110111001001",names:{Bedwell:["Unorthodox","Alt 75"],Zeitler:["Kataptian"],Dozenal:["OLUian"],zeitler:["Stalian"]}},2365:{title:"Alt 275",chroma:"101111001001",names:{Bedwell:["Alt 275","Melancholic"],Zeitler:["Sythian"],Dozenal:["ODRian"],zeitler:["Gacrian"]}},2367:{title:"Laryllic",chroma:"111111001001",names:{Zeitler:["Laryllic"],Dozenal:["MOMian"],zeitler:["Zaryllic"]}},2369:{title:"OFFian",chroma:"100000101001",names:{}},2371:{title:"OMOian",chroma:"110000101001",names:{}},2373:{title:"Dyptitonic",chroma:"101000101001",names:{Zeitler:["Dyptitonic"],Dozenal:["OMUian"],zeitler:["Docritonic"]}},2375:{title:"Aeolaptimic",chroma:"111000101001",names:{Zeitler:["Aeolaptimic"],Dozenal:["SCOian"],zeitler:["Podimic"]}},2377:{title:"Bartók Gamma Chord",chroma:"100100101001",names:{"Named After Composers":["Bartók Gamma Chord"],Zeitler:["Thoditonic"],Dozenal:["OSKian"],zeitler:["Gothitonic"]}},2379:{title:"Raga Gurjari Todi",chroma:"110100101001",names:{Carnatic:["Raga Gurjari Todi"],Zeitler:["Stathimic"],Dozenal:["OLTian"],zeitler:["Mixolimic"]}},2381:{title:"Takemitsu Linea Mode 1",chroma:"101100101001",names:{"Named After Composers":["Takemitsu Linea Mode 1","Takemitsu Tree Line Mode 1"],Western:["Takemitsu Linea I","Takemitsu Linea 1"],Zeitler:["Sorimic"],Dozenal:["ONOian"],zeitler:["Stythimic"]}},2383:{title:"Alt 734",chroma:"111100101001",names:{Bedwell:["Alt 734","Soporific"],Zeitler:["Katorian"],Dozenal:["ONUian"],zeitler:["Morian"]}},2385:{title:"Karen 5 tone Type 2",chroma:"100010101001",names:{"Southeast Asia":["Karen 5 tone Type 2"],Zeitler:["Aeolanitonic"],Dozenal:["OTRian"],zeitler:["Kagitonic"]}},2387:{title:"Paptimic",chroma:"110010101001",names:{Zeitler:["Paptimic"],Dozenal:["OBRian"],zeitler:["Dalimic"]}},2389:{title:"Eskimo Hexatonic 2",chroma:"101010101001",names:{Exoticisms:["Eskimo Hexatonic 2"],Zeitler:["Thynimic"],Dozenal:["ONKian"],zeitler:["Aeragimic"]}},2391:{title:"Phlegmatic",chroma:"111010101001",names:{Bedwell:["Phlegmatic","Alt 73"],Zeitler:["Molian"],Dozenal:["OPOian"],zeitler:["Phraptian"]}},2393:{title:"Zathimic",chroma:"100110101001",names:{Zeitler:["Zathimic"],Dozenal:["OPUian"],zeitler:["Mothimic"]}},2395:{title:"Alt 7",chroma:"110110101001",names:{Bedwell:["Alt 7","Alt 7"],Zeitler:["Zoptian"],Dozenal:["ORGian"],zeitler:["Phrolian"]}},2397:{title:"Eccentric",chroma:"101110101001",names:{Bedwell:["Eccentric","Alt 27"],Zeitler:["Stagian"],Dozenal:["OGGian"],zeitler:["Epacrian"]}},2399:{title:"Zanyllic",chroma:"111110101001",names:{Zeitler:["Zanyllic"],Dozenal:["KIJian"],zeitler:["Phranyllic"]}},2401:{title:"OROian",chroma:"100001101001",names:{}},2403:{title:"Lycrimic",chroma:"110001101001",names:{Zeitler:["Lycrimic"],Dozenal:["ORUian"],zeitler:["Rothimic"]}},2405:{title:"T4 First Rotation",chroma:"101001101001",names:{Messiaen:["T4 First Rotation","Messiaen Mode 2 Truncation 2"],Zeitler:["Katalimic"],Dozenal:["FRUian"],zeitler:["Aeradimic"]}},2407:{title:"Apathetic",chroma:"111001101001",names:{Bedwell:["Apathetic","Locrian 73"],Zeitler:["Zylian"],Dozenal:["OSPian"],zeitler:["Katocrian"]}},2409:{title:"Zacrimic",chroma:"100101101001",names:{Zeitler:["Zacrimic"],Dozenal:["OSSian"],zeitler:["Zacrimic"]}},2411:{title:"Locrian 7",chroma:"110101101001",names:{Bedwell:["Locrian 7"],Zeitler:["Aeolorian"],Dozenal:["OSOian"],zeitler:["Thonian"]}},2413:{title:"Harmonic Minor 5",chroma:"101101101001",names:{"Western Altered":["Harmonic Minor 5","Locrian 2 7"],Bedwell:["Harmonic minor 5"],Western:["Hungarian Major 3rd Mode","Alternating Heptamode 1st Rotation"],Zeitler:["Phrydian"],Dozenal:["OSUian"],zeitler:["Pogian"]}},2415:{title:"Lothyllic",chroma:"111101101001",names:{Zeitler:["Lothyllic"],Dozenal:["ONTian"],zeitler:["Lydyllic"]}},2417:{title:"Kanimic",chroma:"100011101001",names:{Zeitler:["Kanimic"],Dozenal:["OLVian"],zeitler:["Rathimic"]}},2419:{title:"Raga Lalita",chroma:"110011101001",names:{Carnatic:["Raga Lalita","Raga Suddha Pancama"],Bedwell:["Persian"],Exoticisms:["Persian"],"Western Chromatic":["Chromatic Hypolydian Inverse"],Zeitler:["Paptian"],Dozenal:["OBSian"],zeitler:["Epathian"]}},2421:{title:"Harmonic Major 5",chroma:"101011101001",names:{Bedwell:["Harmonic Major 5","Harm. Maj 5"],Zeitler:["Malian"],Dozenal:["OTOian"],zeitler:["Eporian"]}},2423:{title:"Thorcryllic",chroma:"111011101001",names:{Zeitler:["Thorcryllic"],Dozenal:["OTUian"],zeitler:["Zoryllic"]}},2425:{title:"Harm. Maj 52",chroma:"100111101001",names:{Bedwell:["Harm. Maj 52"],Zeitler:["Rorian"],Dozenal:["OBBian"],zeitler:["Laptian"]}},2427:{title:"Katoryllic",chroma:"110111101001",names:{Zeitler:["Katoryllic"],Dozenal:["ONSian"],zeitler:["Pothyllic"]}},2429:{title:"Kadyllic",chroma:"101111101001",names:{Zeitler:["Kadyllic"],Dozenal:["OYOian"],zeitler:["Aeronyllic"]}},2431:{title:"Gythygic",chroma:"111111101001",names:{Zeitler:["Gythygic"],Dozenal:["PABian"],zeitler:["Sathygic"]}},2433:{title:"PACian",chroma:"100000011001",names:{}},2435:{title:"Raga Deshgaur",chroma:"110000011001",names:{Carnatic:["Raga Deshgaur"],Dozenal:["PADian"]}},2437:{title:"PAFian",chroma:"101000011001",names:{}},2439:{title:"PAGian",chroma:"111000011001",names:{}},2441:{title:"Kyritonic",chroma:"100100011001",names:{Zeitler:["Kyritonic"],Dozenal:["PAHian"],zeitler:["Styditonic"]}},2443:{title:"Panimic",chroma:"110100011001",names:{Zeitler:["Panimic"],Dozenal:["PAJian"],zeitler:["Phraptimic"]}},2445:{title:"Zadimic",chroma:"101100011001",names:{Zeitler:["Zadimic"],Dozenal:["PAKian"],zeitler:["Sothimic"]}},2447:{title:"Alt 5734",chroma:"111100011001",names:{Bedwell:["Alt 5734","Cryptic minor"],Zeitler:["Thagian"],Dozenal:["PALian"],zeitler:["Starian"]}},2449:{title:"Zacritonic",chroma:"100010011001",names:{Zeitler:["Zacritonic"],Dozenal:["PAMian"],zeitler:["Ionagitonic"]}},2451:{title:"Raga Bauli",chroma:"110010011001",names:{Carnatic:["Raga Bauli"],Zeitler:["Aerynimic"],Dozenal:["PANian"],zeitler:["Ionalimic"]}},2453:{title:"Raga Latika",chroma:"101010011001",names:{Carnatic:["Raga Latika"],Zeitler:["Stonimic"],Dozenal:["PAPian"],zeitler:["Porimic"]}},2455:{title:"Bohemian minor",chroma:"111010011001",names:{Bedwell:["Bohemian minor","Alt 573"],Zeitler:["Bothian"],Dozenal:["PAQian"],zeitler:["Phrocrian"]}},2457:{title:"Augmented",chroma:"100110011001",names:{"Western Modern":["Augmented"],Messiaen:["Messiaen Mode 3 Truncated Inverse","T2 First Rotation","Messiaen Mode 3 Truncated Rotation 1"],"Ancient Greek":["Genus Tertium"],Carnatic:["Raga Devamani"],Zeitler:["Ionythimic"],Dozenal:["PARian"],zeitler:["Ionythimic"]}},2459:{title:"Neapoitan Minor 4",chroma:"110110011001",names:{Bedwell:["Neapoitan Minor 4"],Zeitler:["Ionocrian"],Dozenal:["PASian"],zeitler:["Katathian"]}},2461:{title:"Harmonic minor 4",chroma:"101110011001",names:{Bedwell:["Harmonic minor 4"],Zeitler:["Sagian"],Dozenal:["PATian"],zeitler:["Tholian"]}},2463:{title:"Ionathyllic",chroma:"111110011001",names:{Zeitler:["Ionathyllic"],Dozenal:["PAVian"],zeitler:["Ioniptyllic"]}},2465:{title:"Raga Devaranjani",chroma:"100001011001",names:{Carnatic:["Raga Devaranjani","Raga Devaranji"],Dozenal:["PEWian"]}},2467:{title:"Raga Padi",chroma:"110001011001",names:{Carnatic:["Raga Padi"],Zeitler:["Morimic"],Dozenal:["PEXian"],zeitler:["Kodimic"]}},2469:{title:"Raga Bhinna Pancama",chroma:"101001011001",names:{Carnatic:["Raga Bhinna Pancama"],Zeitler:["Staptimic"],Dozenal:["PEYian"],zeitler:["Aeolythimic"]}},2471:{title:"Neapolitan minor 3",chroma:"111001011001",names:{Bedwell:["Neapolitan minor 3"],Carnatic:["Mela Ganamurti","Ganamurthi","Mela Ganamurthi"],"Carnatic Melakarta":["Ganamurti"],Zeitler:["Eparian"],Dozenal:["PEZian"],"Carnatic Numbered Melakarta":["3rd Melakarta Raga"],zeitler:["Ranian"]}},2473:{title:"Raga Takka",chroma:"100101011001",names:{Carnatic:["Raga Takka"],Zeitler:["Mothimic"],Dozenal:["PEBian"],zeitler:["Zathimic"]}},2475:{title:"Neapolitan Minor",chroma:"110101011001",names:{Western:["Neapolitan Minor","Double Harmonic","Neapolitan Minor v1","Minor Neapolitan"],Carnatic:["Mela Dhenuka","Raga Bhinnasadjam","Dhunibinnashadjam"],"Unknown / Unsorted":["Takka"],Exoticisms:["Hungarian Romani"],Zeitler:["Aerylian"],Dozenal:["EGRian"],"Carnatic Melakarta":["Dhenuka"],"Carnatic Numbered Melakarta":["9th Melakarta Raga"],zeitler:["Golian"]}},2477:{title:"Harmonic Minor",chroma:"101101011001",names:{Western:["Harmonic Minor"],Carnatic:["Kiravani","Mela Kiravani","Raga Kiranavali"],Schenkerian:["Mischung 4"],Hindustani:["Pilu That"],"Unknown / Unsorted":["Kirvani","Kalyana Vasantha","Deshi(3)","Sultani Yakah","Zhalibny Minor","Armoniko minore","Mohammedan"],Zeitler:["Mydian"],Dozenal:["HARian"],"Carnatic Melakarta":["Keeravani"],"Carnatic Numbered Melakarta":["21st Melakarta Raga"],zeitler:["Palian"]}},2479:{title:"Harmonic and Neapolitan Minor Mixed",chroma:"111101011001",names:{"Western Mixed":["Harmonic and Neapolitan Minor Mixed"],Zeitler:["Rycryllic"],Dozenal:["PEFian"],zeitler:["Aeolothyllic"]}},2481:{title:"Raga Paraju",chroma:"100011011001",names:{Carnatic:["Raga Paraju","Raga Paraz","Raga Pharas"],"Unknown / Unsorted":["Ramamanohari","Sindhu Ramakriya","Kamalamanohari"],Zeitler:["Laptimic"],Dozenal:["PEGian"],zeitler:["Ionophimic"]}},2483:{title:"Double Harmonic",chroma:"110011011001",names:{Bedwell:["Double Harmonic"],Western:["Hungarian Romani Major","Byzantine Liturgical Chromatic"],"Modern Greek":["Dromos Hitzazkiar","Hitzazkiar"],Hindustani:["That Bhairav","Bhairav That","Bhairav Theta"],Carnatic:["Mayamalavagaula","Mela Mayamalavagaula","Raga Paraj","Lalitapancamam"],Exoticisms:["Major Romani","Hungarian Romani Persian","Byzantine"],"Western Modern":["Double Harmonic Major"],"Unknown / Unsorted":["Kalingada","Gaulipantu","Chromatic 2nd Byzantine Liturgical"],Arabic:["Hijaz Kar","Suzidil"],Zeitler:["Aerynian"],Dozenal:["PEHian"],"Carnatic Melakarta":["Mayamalavagowla"],"Carnatic Numbered Melakarta":["15th Melakarta Raga"],zeitler:["Loptian"]}},2485:{title:"Harmonic Major",chroma:"101011011001",names:{Western:["Harmonic Major"],"Modern Greek":["Drómos Tabahaniotikó","Tabahaniotikos"],Azerbaijan:["Mugham Shahnaz"],Carnatic:["Mela Sarasangi","Raga Haripriya"],"Unknown / Unsorted":["Simhavahini"],Schenkerian:["Mischung 2"],Exoticisms:["Ethiopian"],Zeitler:["Aerorian"],Dozenal:["PEJian"],"Carnatic Melakarta":["Sarasangi"],"Carnatic Numbered Melakarta":["27th Melakarta Raga"],zeitler:["Bycrian"]}},2487:{title:"Phroptyllic",chroma:"111011011001",names:{Zeitler:["Phroptyllic"],Dozenal:["PEKian"],zeitler:["Maptyllic"]}},2489:{title:"Ionian 26",chroma:"100111011001",names:{Bedwell:["Ionian 26"],Carnatic:["Mela Gangeyabhusani","Gangeyabusani","Raga Gangatarangini"],Western:["Drómos Segáh"],"Modern Greek":["Sengiach","Sengah"],Exoticisms:["Romani Hexatonic Inverse"],Zeitler:["Syrian"],Dozenal:["PELian"],"Carnatic Melakarta":["Gangeyabhushani"],"Carnatic Numbered Melakarta":["33rd Melakarta Raga"],zeitler:["Barian"]}},2491:{title:"Layllic",chroma:"110111011001",names:{Zeitler:["Layllic"],Dozenal:["PEMian"],zeitler:["Thyptyllic"]}},2493:{title:"Manyllic",chroma:"101111011001",names:{Zeitler:["Manyllic"],Dozenal:["PENian"],zeitler:["Doptyllic"]}},2495:{title:"Aeolocrygic",chroma:"111111011001",names:{Zeitler:["Aeolocrygic"],Dozenal:["PEPian"],zeitler:["Phrygic"]}},2497:{title:"PEQian",chroma:"100000111001",names:{}},2499:{title:"PIRian",chroma:"110000111001",names:{}},2501:{title:"Ralimic",chroma:"101000111001",names:{Zeitler:["Ralimic"],Dozenal:["PISian"],zeitler:["Pylimic"]}},2503:{title:"Lydian 263",chroma:"111000111001",names:{Bedwell:["Lydian 263"],Carnatic:["Mela Jhalavarali","Jharavarali","Raga Varali","Jinavali"],Zeitler:["Stonian"],Dozenal:["PITian"],"Carnatic Melakarta":["Jhalavarali"],"Carnatic Numbered Melakarta":["39th Melakarta Raga"],zeitler:["Thocrian"]}},2505:{title:"Mydimic",chroma:"100100111001",names:{Zeitler:["Mydimic"],Dozenal:["PIVian"],zeitler:["Docrimic"]}},2507:{title:"Neapoitan Minor 4",chroma:"110100111001",names:{Bedwell:["Neapoitan Minor 4"],Hindustani:["Todi That","That Todi","Todi Theta"],Carnatic:["Mela Shubhapantuvarali","Raga Multani","Gamakasamantam"],"Western Modern":["Harsh Minor"],"Western Chromatic":["Chromatic Lydian Inverse"],Zeitler:["Ionyphian"],Dozenal:["PIWian"],"Carnatic Melakarta":["Shubhapantuvarali"],"Carnatic Numbered Melakarta":["45th Melakarta Raga"],zeitler:["Rothian"]}},2509:{title:"Double Harmonic Minor",chroma:"101100111001",names:{"Western Modern":["Double Harmonic Minor"],"Modern Greek":["Niavent","Drómos Nihavént"],Western:["Hungarian Romani Minor"],Arabic:["Magam Nawa Athar"],Carnatic:["Simmendhamadhyamam","Mela Simhendramadhyama","Raga Madhava Manohari"],Exoticisms:["Hungarian Minor","Egyptian Heptatonic","Flamenco Mode"],Turkish:["Hisar"],Zeitler:["Bogian"],Dozenal:["PIXian"],"Carnatic Melakarta":["Simhendramadhyamam"],"Carnatic Numbered Melakarta":["57th Melakarta Raga"],zeitler:["Docrian"]}},2511:{title:"Epyryllic",chroma:"111100111001",names:{Zeitler:["Epyryllic"],Dozenal:["PIYian"],zeitler:["Locryllic"]}},2513:{title:"Aerycrimic",chroma:"100010111001",names:{Zeitler:["Aerycrimic"],Dozenal:["PIZian"],zeitler:["Donimic"]}},2515:{title:"Chromatic Hypolydian",chroma:"110010111001",names:{"Western Chromatic":["Chromatic Hypolydian"],Bedwell:["Composite II"],Hindustani:["Purvi That","Purvi Theta","That Purvi"],Carnatic:["Mela Kamavardhani","Raga Shri","Kasiramakriya","Suddharamakriya","Puriya Dhanashri"],"Unknown / Unsorted":["Pantuvarali","Basant","Dhipaka"],"Modern Greek":["Pireotikos","Drómos Piraiotikó"],Zeitler:["Stylian"],Dozenal:["PIBian"],"Carnatic Melakarta":["Kamavardhini"],"Carnatic Numbered Melakarta":["51st Melakarta Raga"],zeitler:["Ionacrian"]}},2517:{title:"Harm. Major 4",chroma:"101010111001",names:{Bedwell:["Harm. Major 4","Harmonic Major 4"],"Western Modern":["Harmonic Lydian"],Carnatic:["Mela Latangi","Raga Gitapriya","Hamsalata","Lathangi"],Zeitler:["Ryphian"],Dozenal:["PICian"],"Carnatic Melakarta":["Latangi"],"Carnatic Numbered Melakarta":["63rd Melakarta Raga"],zeitler:["Dolian"]}},2519:{title:"Dathyllic",chroma:"111010111001",names:{Zeitler:["Dathyllic"],Dozenal:["PIDian"],zeitler:["Aeracryllic"]}},2521:{title:"Mela Dhatuvardhani",chroma:"100110111001",names:{Carnatic:["Mela Dhatuvardhani","Raga Dhauta Pancama"],Bedwell:["Lydian 26"],"Unknown / Unsorted":["Devarashtra"],Zeitler:["Barian"],Dozenal:["PIFian"],"Carnatic Melakarta":["Dhatuvardani"],"Carnatic Numbered Melakarta":["69th Melakarta Raga"],zeitler:["Syrian"]}},2523:{title:"Mirage Scale",chroma:"110110111001",names:{"Western Modern":["Mirage Scale"],Zeitler:["Rygyllic"],Dozenal:["GITian"],zeitler:["Dydyllic"]}},2525:{title:"Aeolaryllic",chroma:"101110111001",names:{Zeitler:["Aeolaryllic"],Dozenal:["PIHian"],zeitler:["Lonyllic"]}},2527:{title:"Phradygic",chroma:"111110111001",names:{Zeitler:["Phradygic"],Dozenal:["PIJian"],zeitler:["Kalygic"]}},2529:{title:"PIKian",chroma:"100001111001",names:{}},2531:{title:"Lydian 263",chroma:"110001111001",names:{Bedwell:["Lydian 263"],Zeitler:["Danian"],Dozenal:["PILian"],zeitler:["Zathian"]}},2533:{title:"Lydian 36",chroma:"101001111001",names:{Bedwell:["Lydian 36"],Zeitler:["Podian"],Dozenal:["POMian"],zeitler:["Aerycrian"]}},2535:{title:"Messiaen Mode 4",chroma:"111001111001",names:{Messiaen:["Messiaen Mode 4","Fourth Mode Of Limited Transposition","Messiaen 4th Mode"],"Named After Composers":["Tcherepnin Octatonic Mode 2"],Zeitler:["Zygyllic"],Dozenal:["PONian"],zeitler:["Sydyllic"]}},2537:{title:"Lydian 623",chroma:"100101111001",names:{Bedwell:["Lydian 623"],Zeitler:["Laptian"],Dozenal:["POPian"],zeitler:["Rorian"]}},2539:{title:"Half-Diminished Bebop",chroma:"110101111001",names:{"Jazz and Blues":["Half-Diminished Bebop","Half Diminished Bebop"],Zeitler:["Thonyllic"],Dozenal:["POQian"],zeitler:["Bacryllic"]}},2541:{title:"Algerian",chroma:"101101111001",names:{Exoticisms:["Algerian"],"Unknown / Unsorted":["Sabiren"],Zeitler:["Katadyllic"],Dozenal:["PORian"],zeitler:["Aeolathyllic"]}},2543:{title:"Dydygic",chroma:"111101111001",names:{Zeitler:["Dydygic"],Dozenal:["POSian"],zeitler:["Mixolydygic"]}},2545:{title:"Lydian 632",chroma:"100011111001",names:{Bedwell:["Lydian 632"],Zeitler:["Thycrian"],Dozenal:["POTian"],zeitler:["Thylian"]}},2547:{title:"Raga Ramkali",chroma:"110011111001",names:{Carnatic:["Raga Ramkali","Raga Ramakri"],Zeitler:["Sogyllic"],Dozenal:["POVian"],zeitler:["Ionycryllic"]}},2549:{title:"Rydyllic",chroma:"101011111001",names:{Zeitler:["Rydyllic"],Dozenal:["UFRian"],zeitler:["Gythyllic"]}},2551:{title:"Zoptygic",chroma:"111011111001",names:{Zeitler:["Zoptygic"],Dozenal:["POXian"],zeitler:["Dycrygic"]}},2553:{title:"Aeolaptyllic",chroma:"100111111001",names:{Zeitler:["Aeolaptyllic"],Dozenal:["POYian"],zeitler:["Aeolaptyllic"]}},2555:{title:"Bythygic",chroma:"110111111001",names:{Zeitler:["Bythygic"],Dozenal:["POZian"],zeitler:["Loptygic"]}},2557:{title:"Dothygic",chroma:"101111111001",names:{Zeitler:["Dothygic"],Dozenal:["POBian"],zeitler:["Zothygic"]}},2559:{title:"Decatonic Chromatic 2",chroma:"111111111001",names:{"Western Modern":["Decatonic Chromatic 2"],Western:["Chromatic Decamode 9th Rotation"],Zeitler:["Zogyllian"],Dozenal:["POCian"],zeitler:["Katoryllian"]}},2561:{title:"PODian",chroma:"100000000101",names:{}},2563:{title:"POFian",chroma:"110000000101",names:{}},2565:{title:"POGian",chroma:"101000000101",names:{}},2567:{title:"PUHian",chroma:"111000000101",names:{}},2569:{title:"PUJian",chroma:"100100000101",names:{}},2571:{title:"PUKian",chroma:"110100000101",names:{}},2573:{title:"PULian",chroma:"101100000101",names:{}},2575:{title:"PUMian",chroma:"111100000101",names:{}},2577:{title:"PUNian",chroma:"100010000101",names:{}},2579:{title:"PUPian",chroma:"110010000101",names:{}},2581:{title:"Raga Neroshta",chroma:"101010000101",names:{Carnatic:["Raga Neroshta"],Dozenal:["PUQian"]}},2583:{title:"PURian",chroma:"111010000101",names:{}},2585:{title:"OTLian",chroma:"100110000101",names:{}},2587:{title:"PUTian",chroma:"110110000101",names:{}},2589:{title:"PUVian",chroma:"101110000101",names:{}},2591:{title:"Alt 67345",chroma:"111110000101",names:{Bedwell:["Alt 67345","Quixotic"],Dozenal:["PUWian"]}},2593:{title:"PUXian",chroma:"100001000101",names:{}},2595:{title:"Rolitonic",chroma:"110001000101",names:{Zeitler:["Rolitonic"],Dozenal:["PUYian"],zeitler:["Kanitonic"]}},2597:{title:"Raga Rasranjani",chroma:"101001000101",names:{Carnatic:["Raga Rasranjani"],Zeitler:["Koptitonic"],Dozenal:["PUZian"],zeitler:["Aeolythitonic"]}},2599:{title:"Malimic",chroma:"111001000101",names:{Zeitler:["Malimic"],Dozenal:["PUBian"],zeitler:["Sathimic"]}},2601:{title:"Marga Hindolam",chroma:"100101000101",names:{Carnatic:["Marga Hindolam","Rajeshwari"],Zeitler:["Docritonic"],Dozenal:["QABian"],zeitler:["Dyptitonic"]}},2603:{title:"Gadimic",chroma:"110101000101",names:{Zeitler:["Gadimic"],Dozenal:["QACian"],zeitler:["Sydimic"]}},2605:{title:"Rylimic",chroma:"101101000101",names:{Zeitler:["Rylimic"],Dozenal:["QADian"],zeitler:["Byrimic"]}},2607:{title:"Alt 67345",chroma:"111101000101",names:{Bedwell:["Alt 67345","Mercurial minor"],Zeitler:["Aerolian"],Dozenal:["QAFian"],zeitler:["Rydian"]}},2609:{title:"Raga Bhinna Shadja",chroma:"100011000101",names:{Carnatic:["Raga Bhinna Shadja"],"Unknown / Unsorted":["Kaushikdhvani","Hindolita"],Zeitler:["Paptitonic"],Dozenal:["QAGian"],zeitler:["Dygitonic"]}},2611:{title:"Raga Vasanta",chroma:"110011000101",names:{Carnatic:["Raga Vasanta"],"Unknown / Unsorted":["Chayavati"],Zeitler:["Lyrimic"],Dozenal:["QAHian"],zeitler:["Lodimic"]}},2613:{title:"Raga Hamsa Vinodini",chroma:"101011000101",names:{Carnatic:["Raga Hamsa Vinodini"],Zeitler:["Aeolanimic"],Dozenal:["QAJian"],zeitler:["Stolimic"]}},2615:{title:"Alt 6735",chroma:"111011000101",names:{Bedwell:["Alt 6735","Mercurial"],Zeitler:["Thoptian"],Dozenal:["QAKian"],zeitler:["Gyphian"]}},2617:{title:"Pylimic",chroma:"100111000101",names:{Zeitler:["Pylimic"],Dozenal:["QELian"],zeitler:["Ralimic"]}},2619:{title:"Alt 675",chroma:"110111000101",names:{Bedwell:["Alt 675","Dysphoric minor"],Zeitler:["Ionyrian"],Dozenal:["QEMian"],zeitler:["Zocrian"]}},2621:{title:"Euphoric",chroma:"101111000101",names:{Bedwell:["Euphoric","Melodic 45"],Zeitler:["Ionogian"],Dozenal:["QENian"],zeitler:["Thynian"]}},2623:{title:"Aerylyllic",chroma:"111111000101",names:{Zeitler:["Aerylyllic"],Dozenal:["QEPian"],zeitler:["Ionyllic"]}},2625:{title:"ODWian",chroma:"100000100101",names:{}},2627:{title:"QERian",chroma:"110000100101",names:{}},2629:{title:"Raga Shubravarni",chroma:"101000100101",names:{Carnatic:["Raga Shubravarni"],Zeitler:["Aeolythitonic"],Dozenal:["QESian"],zeitler:["Koptitonic"]}},2631:{title:"Macrimic",chroma:"111000100101",names:{Zeitler:["Macrimic"],Dozenal:["QETian"],zeitler:["Gylimic"]}},2633:{title:"Bartók Beta Chord",chroma:"100100100101",names:{"Named After Composers":["Bartók Beta Chord"],Zeitler:["Mixitonic"],Dozenal:["QIVian"],zeitler:["Myditonic"]}},2635:{title:"Gocrimic",chroma:"110100100101",names:{Zeitler:["Gocrimic"],Dozenal:["QIWian"],zeitler:["Katolimic"]}},2637:{title:"Raga Ranjani",chroma:"101100100101",names:{Carnatic:["Raga Ranjani"],"Unknown / Unsorted":["Rangini"],Zeitler:["Aeolonimic"],Dozenal:["QIXian"],zeitler:["Baptimic"]}},2639:{title:"Alt 6734",chroma:"111100100101",names:{Bedwell:["Alt 6734","Cryptic"],Zeitler:["Dothian"],Dozenal:["QIYian"],zeitler:["Thanian"]}},2641:{title:"Raga Hindol",chroma:"100010100101",names:{Carnatic:["Raga Hindol"],"Unknown / Unsorted":["Sunada Vinodini","Sanjh ka Hindol"],Zeitler:["Gathitonic"],Dozenal:["QIZian"],zeitler:["Daritonic"]}},2643:{title:"Raga Hamsanandi",chroma:"110010100101",names:{Carnatic:["Raga Hamsanandi"],"Unknown / Unsorted":["Marva","Pancama","Puriya","Sohni"],Zeitler:["Lydimic"],Dozenal:["QIBian"],zeitler:["Thatimic"]}},2645:{title:"Raga Mruganandana",chroma:"101010100101",names:{Carnatic:["Raga Mruganandana"],Zeitler:["Zoptimic"],Dozenal:["QICian"],zeitler:["Gonimic"]}},2647:{title:"Bohemian",chroma:"111010100101",names:{Bedwell:["Bohemian","Alt 673"],Zeitler:["Dadian"],Dozenal:["QIDian"],zeitler:["Zothian"]}},2649:{title:"Aeolythimic",chroma:"100110100101",names:{Zeitler:["Aeolythimic"],Dozenal:["QOFian"],zeitler:["Staptimic"]}},2651:{title:"Dysphoric",chroma:"110110100101",names:{Bedwell:["Dysphoric","Alt 67"],Zeitler:["Panian"],Dozenal:["QOGian"],zeitler:["Rathian"]}},2653:{title:"Nomadic",chroma:"101110100101",names:{Bedwell:["Nomadic","Alt 267"],Zeitler:["Sygian"],Dozenal:["QOHian"],zeitler:["Ionolian"]}},2655:{title:"Thocryllic",chroma:"111110100101",names:{Zeitler:["Thocryllic"],Dozenal:["QOJian"],zeitler:["Phradyllic"]}},2657:{title:"QOKian",chroma:"100001100101",names:{}},2659:{title:"Katynimic",chroma:"110001100101",names:{Zeitler:["Katynimic"],Dozenal:["QOLian"],zeitler:["Zarimic"]}},2661:{title:"Stydimic",chroma:"101001100101",names:{Zeitler:["Stydimic"],Dozenal:["QOMian"],zeitler:["Stydimic"]}},2663:{title:"Supine minor",chroma:"111001100101",names:{Bedwell:["Supine minor","Locrian 673"],Zeitler:["Lalian"],Dozenal:["QONian"],zeitler:["Kodian"]}},2665:{title:"Messiaen Mode 2 Truncation 1",chroma:"100101100101",names:{Zeitler:["Aeradimic"],Dozenal:["QUPian"],Messiaen:["Messiaen Mode 2 Truncation 1","T5 Second Rotation"],zeitler:["Katalimic"]}},2667:{title:"Neapolitan Major 5",chroma:"110101100101",names:{Bedwell:["Neapolitan Major 5","Neapoitan Major 5"],Zeitler:["Byrian"],Dozenal:["QUQian"],zeitler:["Marian"]}},2669:{title:"Melodic 5",chroma:"101101100101",names:{Bedwell:["Melodic 5","Melodic 5"],"Named After Composers":["Jeths' Mode"],Zeitler:["Gamian"],Dozenal:["QURian"],zeitler:["Kocrian"]}},2671:{title:"Lylyllic",chroma:"111101100101",names:{Zeitler:["Lylyllic"],Dozenal:["QUSian"],zeitler:["Stathyllic"]}},2673:{title:"Mythimic",chroma:"100011100101",names:{Zeitler:["Mythimic"],Dozenal:["QUTian"],zeitler:["Kagimic"]}},2675:{title:"Persian 6",chroma:"110011100101",names:{Bedwell:["Persian 6","Persian 6"],"Western Chromatic":["Chromatic Lydian"],Carnatic:["Raga Lalit","Bhankar"],Zeitler:["Gogian"],Dozenal:["QUVian"],zeitler:["Phrynian"]}},2677:{title:"Ionian 5",chroma:"101011100101",names:{Bedwell:["Ionian 5","Ionian 5"],Zeitler:["Thodian"],Dozenal:["QUWian"],zeitler:["Zolian"]}},2679:{title:"Rathyllic",chroma:"111011100101",names:{Zeitler:["Rathyllic"],Dozenal:["QUXian"],zeitler:["Aeologyllic"]}},2681:{title:"Ionian 52",chroma:"100111100101",names:{Bedwell:["Ionian 52"],Zeitler:["Aerycrian"],Dozenal:["RABian"],zeitler:["Podian"]}},2683:{title:"Thodyllic",chroma:"110111100101",names:{Zeitler:["Thodyllic"],Dozenal:["RACian"],zeitler:["Thycryllic"]}},2685:{title:"Ionoryllic",chroma:"101111100101",names:{Zeitler:["Ionoryllic"],Dozenal:["KUMian"],zeitler:["Raptyllic"]}},2687:{title:"Thacrygic",chroma:"111111100101",names:{Zeitler:["Thacrygic"],Dozenal:["RAFian"],zeitler:["Starygic"]}},2689:{title:"Lahuzu 5tone Type 2",chroma:"100000010101",names:{"Southeast Asia":["Lahuzu 5tone Type 2"],Dozenal:["RAGian"]}},2691:{title:"RAHian",chroma:"110000010101",names:{}},2693:{title:"Lahuzu 5 Tone Type 3",chroma:"101000010101",names:{"Southeast Asia":["Lahuzu 5 Tone Type 3"],Dozenal:["RAJian"]}},2695:{title:"RAKian",chroma:"111000010101",names:{}},2697:{title:"Katagitonic",chroma:"100100010101",names:{Zeitler:["Katagitonic"],Dozenal:["RALian"],zeitler:["Pynitonic"]}},2699:{title:"Sythimic",chroma:"110100010101",names:{Zeitler:["Sythimic"],Dozenal:["SCUian"],zeitler:["Aeolocrimic"]}},2701:{title:"Hawaiian",chroma:"101100010101",names:{Exoticisms:["Hawaiian"],Zeitler:["Epythimic"],Dozenal:["RANian"],zeitler:["Aelothimic"]}},2703:{title:"Erratic minor",chroma:"111100010101",names:{Bedwell:["Erratic minor"],Zeitler:["Galian"],Dozenal:["RAPian"],zeitler:["Phroptian"]}},2705:{title:"Raga Mamata",chroma:"100010010101",names:{Carnatic:["Raga Mamata"],Zeitler:["Magitonic"],Dozenal:["RAQian"],zeitler:["Aerathitonic"]}},2707:{title:"Banimic",chroma:"110010010101",names:{Zeitler:["Banimic"],Dozenal:["RARian"],zeitler:["Bycrimic"]}},2709:{title:"Raga Kumud",chroma:"101010010101",names:{Carnatic:["Raga Kumud"],"Unknown / Unsorted":["Sankara","Shankara","Prabhati"],"Western Modern":["Lydian Hexatonic"],"Southeast Asia":["Shan Lumjou 6 Tone Type 2"],Zeitler:["Thaptimic"],Dozenal:["RASian"],zeitler:["Thaptimic"]}},2711:{title:"Erratic",chroma:"111010010101",names:{Bedwell:["Erratic"],Zeitler:["Stolian"],Dozenal:["RATian"],zeitler:["Gycrian"]}},2713:{title:"Porimic",chroma:"100110010101",names:{Zeitler:["Porimic"],Dozenal:["RAVian"],zeitler:["Stonimic"]}},2715:{title:"Neapolitan Major 4",chroma:"110110010101",names:{Bedwell:["Neapolitan Major 4","Neapoitan Major 4"],Zeitler:["Kynian"],Dozenal:["REWian"],zeitler:["Kyptian"]}},2717:{title:"Melodic 4",chroma:"101110010101",names:{Bedwell:["Melodic 4","Melodic 4"],Zeitler:["Epygian"],Dozenal:["REXian"],zeitler:["Darian"]}},2719:{title:"Zocryllic",chroma:"111110010101",names:{Zeitler:["Zocryllic"],Dozenal:["REYian"],zeitler:["Sythyllic"]}},2721:{title:"Raga Puruhutika",chroma:"100001010101",names:{Carnatic:["Raga Puruhutika"],"Unknown / Unsorted":["Purvaholika"],Dozenal:["REZian"]}},2723:{title:"Raga Jivantika",chroma:"110001010101",names:{Carnatic:["Raga Jivantika"],Zeitler:["Epylimic"],Dozenal:["REBian"],zeitler:["Zyptimic"]}},2725:{title:"Raga Nagagandhari",chroma:"101001010101",names:{Carnatic:["Raga Nagagandhari"],Zeitler:["Gonimic"],Dozenal:["RECian"],zeitler:["Zoptimic"]}},2727:{title:"Neapolitan Major 3",chroma:"111001010101",names:{Bedwell:["Neapolitan Major 3","Neapolitan Major 3"],"Carnatic Melakarta":["Mela Manavati","Manavati"],Carnatic:["Manavathi"],Zeitler:["Pylian"],Dozenal:["REDian"],"Carnatic Numbered Melakarta":["5th Melakarta Raga"],zeitler:["Mothian"]}},2729:{title:"Aeragimic",chroma:"100101010101",names:{Zeitler:["Aeragimic"],Dozenal:["REFian"],zeitler:["Thynimic"]}},2731:{title:"Neapolitan Major",chroma:"110101010101",names:{"Western Modern":["Neapolitan Major","Major Meapolitan","Lydian Major"],Western:["Phrygian Major"],Carnatic:["Mela Kokilapriya","Raga Kokilaravam"],Zeitler:["Thydian"],Dozenal:["REGian"],"Carnatic Melakarta":["Kokilapriya"],"Carnatic Numbered Melakarta":["11th Melakarta Raga"],zeitler:["Aeolynian"]}},2733:{title:"Melodic Minor Ascending",chroma:"101101010101",names:{Western:["Melodic Minor Ascending","Melodic Minor"],Bedwell:["Melodic"],"Unknown / Unsorted":["Heptatonia Seconda","Velavali","Deshi(2)"],"Jazz and Blues":["Jazz Minor"],"Western Mixed":["Minor-Major"],Carnatic:["Mela Gaurimanohari","Raga Patdip","Gaurimanohari"],Schenkerian:["Mischung 1"],Exoticisms:["Hawaiian"],Zeitler:["Bocrian"],Dozenal:["MELian"],"Carnatic Melakarta":["Gourimanohari"],"Carnatic Numbered Melakarta":["23rd Melakarta Raga"],zeitler:["Larian"]}},2735:{title:"Gynyllic",chroma:"111101010101",names:{Zeitler:["Gynyllic"],Dozenal:["REJian"],zeitler:["Thyryllic"]}},2737:{title:"Raga Hari Nata",chroma:"100011010101",names:{Carnatic:["Raga Hari Nata"],"Southeast Asia":["Shan Lumjou 6 Tone Type 1"],"Ancient Greek":["Genus Secundum"],Zeitler:["Bylimic"],Dozenal:["REKian"],zeitler:["Phrolimic"]}},2739:{title:"Ionian 2",chroma:"110011010101",names:{Bedwell:["Ionian 2"],Carnatic:["Mela Suryakanta","Churyakantam","Mela Suryakantam","Raga Supradhipam"],Azerbaijan:["Mugham Caharkah 2"],Hindustani:["Bhairubahar That"],"Unknown / Unsorted":["Sowrashtram","Jaganmohini"],"Western Modern":["Major-Melodic Phrygian"],Exoticisms:["Hungarian Romani Inverse"],Zeitler:["Zanian"],Dozenal:["RELian"],"Carnatic Melakarta":["Suryakantam"],"Carnatic Numbered Melakarta":["17th Melakarta Raga"],zeitler:["Zagian"]}},2741:{title:"Major",chroma:"101011010101",names:{Western:["Major","Ionian","Modern Ionian"],"Southeast Asia":["Khmer Hepatatonic 4"],Thailand:["Thang Phiang Aw Bon"],Arabic:["'Ajam 'Ushayran","Ajam Ashiran"],"Ancient Greek":["Greek Lydian"],Medieval:["Medieval Ionian","Medieval Hypolydian"],Hindustani:["Bilaval That","Bilaval Theta","That Bilaval"],Carnatic:["Mela Shankarabharanam","Mela Dhirasankarabharana","Raga Atana","Dhirashankarabharanam"],"Unknown / Unsorted":["Ghana Heptatonic","Peruvian Major","Matzore","Rast Ascending","4th Plagal Byzantine","Ararai","Xin","DS2"],Chinese:["Zè"],Iranian:["Dastgah-e Rast Panjgah"],Zeitler:["Ionian"],Dozenal:["IONian"],"Carnatic Melakarta":["Dheerasankarabaranam"],"Carnatic Numbered Melakarta":["29th Melakarta Raga"],zeitler:["Lydian"]}},2743:{title:"Staptyllic",chroma:"111011010101",names:{Zeitler:["Staptyllic"],Dozenal:["RENian"],zeitler:["Rocryllic"]}},2745:{title:"Ionian 2",chroma:"100111010101",names:{Bedwell:["Ionian 2"],Carnatic:["Mela Sulini","Raga Sailadesakshi","Raga Trishuli","Chulini"],"Unknown / Unsorted":["Houzam"],"Modern Greek":["Drómos Houzám Matzór"],Zeitler:["Dolian"],Dozenal:["OPRian"],"Carnatic Melakarta":["Shulini"],"Carnatic Numbered Melakarta":["35th Melakarta Raga"],"Western Modern":["Major 2"],zeitler:["Ryphian"]}},2747:{title:"Stythyllic",chroma:"110111010101",names:{Zeitler:["Stythyllic"],Dozenal:["REQian"],zeitler:["Racryllic"]}},2749:{title:"Spanish Octamode 1st Rotation",chroma:"101111010101",names:{Western:["Spanish Octamode 1st Rotation"],Zeitler:["Katagyllic"],Dozenal:["RIRian"],zeitler:["Ionocryllic"]}},2751:{title:"Sylygic",chroma:"111111010101",names:{Zeitler:["Sylygic"],Dozenal:["RISian"],zeitler:["Kyrygic"]}},2753:{title:"RITian",chroma:"100000110101",names:{}},2755:{title:"RIVian",chroma:"110000110101",names:{}},2757:{title:"Raga Nishadi",chroma:"101000110101",names:{Carnatic:["Raga Nishadi"],Zeitler:["Stolimic"],Dozenal:["RIWian"],zeitler:["Aeolanimic"]}},2759:{title:"Lydian 23",chroma:"111000110101",names:{Bedwell:["Lydian 23"],Carnatic:["Mela Pavani","Raga Kumbhini"],Zeitler:["Aeraphian"],Dozenal:["RIXian"],"Carnatic Melakarta":["Pavani"],"Carnatic Numbered Melakarta":["41st Melakarta Raga"],zeitler:["Kygian"]}},2761:{title:"Dagimic",chroma:"100100110101",names:{Zeitler:["Dagimic"],Dozenal:["RIYian"],zeitler:["Ionaptimic"]}},2763:{title:"Neapolitan Major 4",chroma:"110100110101",names:{Bedwell:["Neapolitan Major 4"],Carnatic:["Mela Suvarnangi","Raga Sauviram"],Zeitler:["Manian"],Dozenal:["RIZian"],"Carnatic Melakarta":["Suvarnangi"],"Carnatic Numbered Melakarta":["47th Melakarta Raga"],zeitler:["Katanian"]}},2765:{title:"Lydian 3",chroma:"101100110101",names:{"Western Altered":["Lydian 3","Melodic Minor 4"],"Carnatic Melakarta":["Dharmavati"],"Carnatic Numbered Melakarta":["59th Melakarta Raga"],"Western Modern":["Lydian Diminished"],Carnatic:["Mela Dharmavati","Raga Arunajualita"],"Unknown / Unsorted":["Dumyaraga","Madhuvanti","Ambika"],Zeitler:["Banian"],Dozenal:["RIBian"],zeitler:["Phrothian"]}},2767:{title:"Katydyllic",chroma:"111100110101",names:{Zeitler:["Katydyllic"],Dozenal:["RICian"],zeitler:["Phrocryllic"]}},2769:{title:"Dyrimic",chroma:"100010110101",names:{Zeitler:["Dyrimic"],Dozenal:["RIDian"],zeitler:["Ionyptimic"]}},2771:{title:"Lydian 2",chroma:"110010110101",names:{Bedwell:["Lydian 2"],Hindustani:["Marva That","That Marva","Marva Theta"],"Modern Greek":["Drómos Houzám Minór"],Carnatic:["Mela Gamanasrama","Raga Partiravam"],"Unknown / Unsorted":["Puriya","Puriya Kalyan","Purvikalyani","Sohani","Bairari","Harsh-intense Major","Peiraiotikos"],Zeitler:["Garian"],Dozenal:["RIFian"],"Carnatic Melakarta":["Gamanashrama"],"Carnatic Numbered Melakarta":["53rd Melakarta Raga"],zeitler:["Gonian"]}},2773:{title:"Lydian",chroma:"101010110101",names:{Western:["Lydian","Modern Lydian"],Hindustani:["Kalyan That","Kalyan Theta","That Kalyan"],Carnatic:["Mela Mecakalyani","Raga Shuddh Kalyan"],"Unknown / Unsorted":["Ping","Gu","Rut biscale ascending"],Japanese:["Kung"],Thailand:["Thang Chawa"],"Ancient Greek":["Greek Hypolydian","Greek Medieval Hypolocrian"],Medieval:["Medieval Lydian"],Zeitler:["Lydian"],Dozenal:["LYDian"],"Carnatic Melakarta":["Mechakalyani"],"Carnatic Numbered Melakarta":["65th Melakarta Raga"],zeitler:["Ionian"]}},2775:{title:"Quartal Octamode 10th Rotation",chroma:"111010110101",names:{Western:["Quartal Octamode 10th Rotation"],Zeitler:["Godyllic"],Dozenal:["RIHian"],zeitler:["Aerycryllic"]}},2777:{title:"Aeolian Harmonic",chroma:"100110110101",names:{"Western Modern":["Aeolian Harmonic"],Bedwell:["Lydian 2"],"Western Altered":["Lydian 2"],Carnatic:["Mela Kosalam","Raga Kusumakaram"],Zeitler:["Bycrian"],Dozenal:["HAPian"],"Carnatic Melakarta":["Kosalam"],"Carnatic Numbered Melakarta":["71st Melakarta Raga"],zeitler:["Aerorian"]}},2779:{title:"Shostakovich",chroma:"110110110101",names:{"Named After Composers":["Shostakovich"],Zeitler:["Garyllic"],Dozenal:["RIKian"],zeitler:["Stogyllic"]}},2781:{title:"Gycryllic",chroma:"101110110101",names:{Zeitler:["Gycryllic"],Dozenal:["RILian"],zeitler:["Ionoptyllic"]}},2783:{title:"Gothygic",chroma:"111110110101",names:{Zeitler:["Gothygic"],Dozenal:["ROMian"],zeitler:["Bagygic"]}},2785:{title:"RONian",chroma:"100001110101",names:{}},2787:{title:"Lydian 23",chroma:"110001110101",names:{Bedwell:["Lydian 23"],Zeitler:["Zyrian"],Dozenal:["ROPian"],zeitler:["Aeolonian"]}},2789:{title:"Lydian 3",chroma:"101001110101",names:{Bedwell:["Lydian 3"],Zeitler:["Zolian"],Dozenal:["ROQian"],zeitler:["Thodian"]}},2791:{title:"Ionyptyllic",chroma:"111001110101",names:{Zeitler:["Ionyptyllic"],Dozenal:["RORian"],zeitler:["Bagyllic"]}},2793:{title:"Lydian 23",chroma:"100101110101",names:{Bedwell:["Lydian 23"],Zeitler:["Eporian"],Dozenal:["ROSian"],zeitler:["Malian"]}},2795:{title:"Van der Horst Octatonic",chroma:"110101110101",names:{"Named After Composers":["Van der Horst Octatonic"],Messiaen:["Messiaen Mode 6 Rotation 3"],"Western Modern":["Locrian Modified"],Western:["Van der Horst"],Zeitler:["Kaptyllic"],Dozenal:["ROTian"],zeitler:["Roryllic"]}},2797:{title:"Stalyllic",chroma:"101101110101",names:{Zeitler:["Stalyllic"],Dozenal:["ROVian"],zeitler:["Dalyllic"]}},2799:{title:"Epilygic",chroma:"111101110101",names:{Zeitler:["Epilygic"],Dozenal:["ROWian"],zeitler:["Porygic"]}},2801:{title:"Lydian 32",chroma:"100011110101",names:{Bedwell:["Lydian 32"],Zeitler:["Zogian"],Dozenal:["ROXian"],zeitler:["Gorian"]}},2803:{title:"Raga Bhatiyar",chroma:"110011110101",names:{Carnatic:["Raga Bhatiyar"],Zeitler:["Zolyllic"],Dozenal:["ROYian"],zeitler:["Lanyllic"]}},2805:{title:"Ichikotsuchô",chroma:"101011110101",names:{Japanese:["Ichikotsuchô","Ishikotsucho","Sôjô"],Western:["Quartal Octamode 3rd Rotation"],"Western Mixed":["Lydionian","Major/Lydian Mixed"],Carnatic:["Raga Yaman Kalyan"],"Unknown / Unsorted":["Chayanat","Bihag","Hamir Kalyani","Kedar","Gaud Sarang"],"Ancient Greek":["Genus Diatonicum Veterum Correctum"],"Gregorian Numbered":["Gregorian Number 5"],Exoticisms:["Kubilai's Mongol Scale"],Zeitler:["Zylyllic"],Dozenal:["ROZian"],zeitler:["Zylyllic"]}},2807:{title:"Zylygic",chroma:"111011110101",names:{Zeitler:["Zylygic"],Dozenal:["ROBian"],zeitler:["Aerycrygic"]}},2809:{title:"Gythyllic",chroma:"100111110101",names:{Zeitler:["Gythyllic"],Dozenal:["ROCian"],zeitler:["Rydyllic"]}},2811:{title:"Barygic",chroma:"110111110101",names:{Zeitler:["Barygic"],Dozenal:["RODian"],zeitler:["Kaptygic"]}},2813:{title:"Zolygic",chroma:"101111110101",names:{Zeitler:["Zolygic"],Dozenal:["ROFian"],zeitler:["Apinygic"]}},2815:{title:"Aeradyllian",chroma:"111111110101",names:{Zeitler:["Aeradyllian"],Dozenal:["ROGian"],zeitler:["Sydyllian"]}},2817:{title:"RUHian",chroma:"100000001101",names:{}},2819:{title:"RUJian",chroma:"110000001101",names:{}},2821:{title:"RUKian",chroma:"101000001101",names:{}},2823:{title:"RULian",chroma:"111000001101",names:{}},2825:{title:"RUMian",chroma:"100100001101",names:{}},2827:{title:"RUNian",chroma:"110100001101",names:{}},2829:{title:"RUPian",chroma:"101100001101",names:{}},2831:{title:"Alt 67534",chroma:"111100001101",names:{Bedwell:["Alt 67534"],Dozenal:["RUQian"]}},2833:{title:"Dolitonic",chroma:"100010001101",names:{Zeitler:["Dolitonic"],Dozenal:["RURian"],zeitler:["Zagitonic"]}},2835:{title:"Ionygimic",chroma:"110010001101",names:{Zeitler:["Ionygimic"],Dozenal:["RUSian"],zeitler:["Eponimic"]}},2837:{title:"Aelothimic",chroma:"101010001101",names:{Zeitler:["Aelothimic"],Dozenal:["RUTian"],zeitler:["Epythimic"]}},2839:{title:"Neapolitan Major 453",chroma:"111010001101",names:{Bedwell:["Neapolitan Major 453"],Zeitler:["Lyptian"],Dozenal:["RUVian"],zeitler:["Kyrian"]}},2841:{title:"African Pentatonic 3",chroma:"100110001101",names:{Exoticisms:["African Pentatonic 3"],Zeitler:["Sothimic"],Dozenal:["RUWian"],zeitler:["Zadimic"]}},2843:{title:"Neapolitan Major 45",chroma:"110110001101",names:{Bedwell:["Neapolitan Major 45"],Zeitler:["Sorian"],Dozenal:["RUXian"],zeitler:["Monian"]}},2845:{title:"Melodic +4",chroma:"101110001101",names:{Bedwell:["Melodic +4"],Zeitler:["Baptian"],Dozenal:["RUYian"],zeitler:["Thygian"]}},2847:{title:"Phracryllic",chroma:"111110001101",names:{Zeitler:["Phracryllic"],Dozenal:["RUZian"],zeitler:["Phrycryllic"]}},2849:{title:"RUBian",chroma:"100001001101",names:{}},2851:{title:"Katoptimic",chroma:"110001001101",names:{Zeitler:["Katoptimic"],Dozenal:["SABian"],zeitler:["Phrycrimic"]}},2853:{title:"Baptimic",chroma:"101001001101",names:{Zeitler:["Baptimic"],Dozenal:["SACian"],zeitler:["Aeolonimic"]}},2855:{title:"Ionian +23",chroma:"111001001101",names:{Bedwell:["Ionian +23"],Zeitler:["Epocrian"],Dozenal:["SADian"],zeitler:["Mixodorian"]}},2857:{title:"Stythimic",chroma:"100101001101",names:{Zeitler:["Stythimic"],Dozenal:["SAFian"],zeitler:["Sorimic"]}},2859:{title:"Neapolitan Major 5",chroma:"110101001101",names:{Bedwell:["Neapolitan Major 5"],Zeitler:["Phrycrian"],Dozenal:["SAGian"],zeitler:["Stynian"]}},2861:{title:"Melodic +",chroma:"101101001101",names:{Bedwell:["Melodic +"],Western:["Hungarian Major 5th Mode","Alternating Heptamode 3rd Rotation"],Zeitler:["Katothian"],Dozenal:["SAHian"],zeitler:["Lylian"]}},2863:{title:"Aerogyllic",chroma:"111101001101",names:{Zeitler:["Aerogyllic"],Dozenal:["SAJian"],zeitler:["Epaphyllic"]}},2865:{title:"Solimic",chroma:"100011001101",names:{Zeitler:["Solimic"],Dozenal:["SAKian"],zeitler:["Logimic"]}},2867:{title:"Ionian +2",chroma:"110011001101",names:{Bedwell:["Ionian +2"],Western:["Major Romani"],Zeitler:["Socrian"],Dozenal:["SALian"],zeitler:["Zycrian"]}},2869:{title:"Major Augmented",chroma:"101011001101",names:{"Western Modern":["Major Augmented","Ionian Augmented"],Bedwell:["Ionian +"],"Western Altered":["Ionian 5"],Zeitler:["Phrothian"],Dozenal:["SAMian"],zeitler:["Banian"]}},2871:{title:"Stanyllic",chroma:"111011001101",names:{Zeitler:["Stanyllic"],Dozenal:["SANian"],zeitler:["Eporyllic"]}},2873:{title:"Ionian Augmented 2",chroma:"100111001101",names:{"Western Altered":["Ionian Augmented 2"],Bedwell:["Ionian +2"],Western:["Hungarian Romani Minor 3rd Mode"],Zeitler:["Docrian"],Dozenal:["SAPian"],zeitler:["Bogian"]}},2875:{title:"Ganyllic",chroma:"110111001101",names:{Zeitler:["Ganyllic"],Dozenal:["SAQian"],zeitler:["Thadyllic"]}},2877:{title:"Phrylyllic",chroma:"101111001101",names:{Zeitler:["Phrylyllic"],Dozenal:["SARian"],zeitler:["Gyptyllic"]}},2879:{title:"Stadygic",chroma:"111111001101",names:{Zeitler:["Stadygic"],Dozenal:["SASian"],zeitler:["Gyptygic"]}},2881:{title:"SATian",chroma:"100000101101",names:{}},2883:{title:"SAVian",chroma:"110000101101",names:{}},2885:{title:"Byrimic",chroma:"101000101101",names:{Zeitler:["Byrimic"],Dozenal:["SEWian"],zeitler:["Rylimic"]}},2887:{title:"Neapolitan Major 453",chroma:"111000101101",names:{Bedwell:["Neapolitan Major 453"],Zeitler:["Gaptian"],Dozenal:["IGGian"],zeitler:["Boptian"]}},2889:{title:"Thoptimic",chroma:"100100101101",names:{Zeitler:["Thoptimic"],Dozenal:["SEYian"],zeitler:["Aerogimic"]}},2891:{title:"Lydian +23",chroma:"110100101101",names:{Bedwell:["Lydian +23"],Zeitler:["Phrogian"],Dozenal:["SEZian"],zeitler:["Lodian"]}},2893:{title:"Lydian +3",chroma:"101100101101",names:{Bedwell:["Lydian +3"],Zeitler:["Lylian"],Dozenal:["SEBian"],zeitler:["Katothian"]}},2895:{title:"Aeragyllic",chroma:"111100101101",names:{Zeitler:["Aeragyllic"],Dozenal:["SECian"],zeitler:["Styryllic"]}},2897:{title:"Rycrimic",chroma:"100010101101",names:{Zeitler:["Rycrimic"],Dozenal:["SEDian"],zeitler:["Poptimic"]}},2899:{title:"Lydian +2",chroma:"110010101101",names:{Bedwell:["Lydian +2"],Zeitler:["Kagian"],Dozenal:["SEFian"],zeitler:["Aeracrian"]}},2901:{title:"Lydian Augmented",chroma:"101010101101",names:{"Western Modern":["Lydian Augmented"],Bedwell:["Lydian +"],"Western Altered":["Lydian 5"],Zeitler:["Larian"],Dozenal:["HINian"],zeitler:["Bocrian"]}},2903:{title:"Spanish Octamode 10th Rotation",chroma:"111010101101",names:{Western:["Spanish Octamode 10th Rotation"],Zeitler:["Gothyllic"],Dozenal:["SEHian"],zeitler:["Goptyllic"]}},2905:{title:"Lydian Augmented 2",chroma:"100110101101",names:{"Western Altered":["Lydian Augmented 2","Aeolian 1","Aeolian Flat"],Zeitler:["Palian"],Dozenal:["SEJian"],zeitler:["Mydian"]}},2907:{title:"Magen Abot 2",chroma:"110110101101",names:{Jewish:["Magen Abot 2","Magen Abot II"],Zeitler:["Mogyllic"],Dozenal:["SEKian"],zeitler:["Katodyllic"]}},2909:{title:"Mocryllic",chroma:"101110101101",names:{Zeitler:["Mocryllic"],Dozenal:["SELian"],zeitler:["Ionacryllic"]}},2911:{title:"Katygic",chroma:"111110101101",names:{Zeitler:["Katygic"],Dozenal:["SEMian"],zeitler:["Dathygic"]}},2913:{title:"SENian",chroma:"100001101101",names:{}},2915:{title:"Lydian +23",chroma:"110001101101",names:{Bedwell:["Lydian +23"],Zeitler:["Aeolydian"],Dozenal:["ARGian"],zeitler:["Rolian"]}},2917:{title:"Nohkan Flute Scale",chroma:"101001101101",names:{Japanese:["Nohkan Flute Scale"],Bedwell:["Lydian +3"],Western:["Alternating Heptamode 5th Rotation","Hungarian Major 7th Mode"],Zeitler:["Kocrian"],Dozenal:["SEQian"],zeitler:["Gamian"]}},2919:{title:"Molyllic",chroma:"111001101101",names:{Zeitler:["Molyllic"],Dozenal:["SIRian"],zeitler:["Epaptyllic"]}},2921:{title:"Lydian +23",chroma:"100101101101",names:{Bedwell:["Lydian +23"],Zeitler:["Pogian"],Dozenal:["OPSian"],zeitler:["Phrydian"]}},2923:{title:"Baryllic",chroma:"110101101101",names:{Zeitler:["Baryllic"],Dozenal:["SITian"],zeitler:["Gathyllic"]}},2925:{title:"Diminished",chroma:"101101101101",names:{"Western Modern":["Diminished","Octatonic 2","Whole-Half Step Scale","Auxiliary Diminished"],Western:["Altering Octatonic Mode Rotation"],Messiaen:["Messiaen 2nd Mode Inversed","Messiaen Mode 2 Rotation 1","Messiaen Mode 2 Inverse"],"Named After Composers":["Modus Conjunctus","Pijper's Scale"],Exoticisms:["Arabian A"],Zeitler:["MajorDimin"],Dozenal:["VILian"],zeitler:["MajorDimin."]}},2927:{title:"Rodygic",chroma:"111101101101",names:{Zeitler:["Rodygic"],Dozenal:["SIWian"],zeitler:["Koptygic"]}},2929:{title:"Lydian +32",chroma:"100011101101",names:{Bedwell:["Lydian +32"],Zeitler:["Aeolathian"],Dozenal:["UTLian"],zeitler:["Aerogian"]}},2931:{title:"Zathyllic",chroma:"110011101101",names:{Zeitler:["Zathyllic"],Dozenal:["SIYian"],zeitler:["Bycryllic"]}},2933:{title:"Dalyllic",chroma:"101011101101",names:{Zeitler:["Dalyllic"],Dozenal:["SIZian"],zeitler:["Stalyllic"]}},2935:{title:"Modygic",chroma:"111011101101",names:{Zeitler:["Modygic"],Dozenal:["SIBian"],zeitler:["Epyrygic"]}},2937:{title:"Aeolathyllic",chroma:"100111101101",names:{Zeitler:["Aeolathyllic"],Dozenal:["SICian"],zeitler:["Katadyllic"]}},2939:{title:"Diminishing Nonamode 2nd Rotation",chroma:"110111101101",names:{Western:["Diminishing Nonamode 2nd Rotation"],Zeitler:["Goptygic"],Dozenal:["SIDian"],zeitler:["Aeolorygic"]}},2941:{title:"Laptygic",chroma:"101111101101",names:{Zeitler:["Laptygic"],Dozenal:["SIFian"],zeitler:["Zycrygic"]}},2943:{title:"Dathyllian",chroma:"111111101101",names:{Zeitler:["Dathyllian"],Dozenal:["SIGian"],zeitler:["Gothyllian"]}},2945:{title:"SIHian",chroma:"100000011101",names:{}},2947:{title:"SIJian",chroma:"110000011101",names:{}},2949:{title:"SIKian",chroma:"101000011101",names:{}},2951:{title:"Neapolitan Major 534",chroma:"111000011101",names:{Bedwell:["Neapolitan Major 534"],Dozenal:["SILian"]}},2953:{title:"Ionylimic",chroma:"100100011101",names:{Zeitler:["Ionylimic"],Dozenal:["SOMian"],zeitler:["Stynimic"]}},2955:{title:"Neapoitan Major 54",chroma:"110100011101",names:{Bedwell:["Neapoitan Major 54"],Zeitler:["Thorian"],Dozenal:["SONian"],zeitler:["Phrodian"]}},2957:{title:"Melodic +4",chroma:"101100011101",names:{Bedwell:["Melodic +4"],Zeitler:["Thygian"],Dozenal:["SOPian"],zeitler:["Baptian"]}},2959:{title:"Dygyllic",chroma:"111100011101",names:{Zeitler:["Dygyllic"],Dozenal:["SOQian"],zeitler:["Bygyllic"]}},2961:{title:"Bygimic",chroma:"100010011101",names:{Zeitler:["Bygimic"],Dozenal:["SORian"],zeitler:["Ionocrimic"]}},2963:{title:"Ionian +24",chroma:"110010011101",names:{Bedwell:["Ionian +24"],Zeitler:["Bygian"],Dozenal:["SOSian"],zeitler:["Aeolaptian"]}},2965:{title:"Ionian +4",chroma:"101010011101",names:{Bedwell:["Ionian +4"],Zeitler:["Darian"],Dozenal:["SOTian"],zeitler:["Epygian"]}},2967:{title:"Madyllic",chroma:"111010011101",names:{Zeitler:["Madyllic"],Dozenal:["SOVian"],zeitler:["Zydyllic"]}},2969:{title:"Ionian +24",chroma:"100110011101",names:{Bedwell:["Ionian +24"],Zeitler:["Tholian"],Dozenal:["SOWian"],zeitler:["Sagian"]}},2971:{title:"Aeolynyllic",chroma:"110110011101",names:{Zeitler:["Aeolynyllic"],Dozenal:["SOXian"],zeitler:["Kyptyllic"]}},2973:{title:"Panyllic",chroma:"101110011101",names:{Zeitler:["Panyllic"],Dozenal:["SOYian"],zeitler:["Panyllic"]}},2975:{title:"Gaptygic",chroma:"111110011101",names:{Zeitler:["Gaptygic"],Dozenal:["SOZian"],zeitler:["Dogygic"]}},2977:{title:"SOBian",chroma:"100001011101",names:{}},2979:{title:"Ionian +234",chroma:"110001011101",names:{Bedwell:["Ionian +234"],Zeitler:["Gyptian"],Dozenal:["SOCian"],zeitler:["Mylian"]}},2981:{title:"Ionian +34",chroma:"101001011101",names:{Bedwell:["Ionian +34"],Zeitler:["Ionolian"],Dozenal:["SODian"],zeitler:["Sygian"]}},2983:{title:"Zythyllic",chroma:"111001011101",names:{Zeitler:["Zythyllic"],Dozenal:["SOFian"],zeitler:["Katylyllic"]}},2985:{title:"Ionian +234",chroma:"100101011101",names:{Bedwell:["Ionian +234"],Zeitler:["Epacrian"],Dozenal:["SOGian"],zeitler:["Stagian"]}},2987:{title:"Neapolitan Major and Minor Mixed",chroma:"110101011101",names:{"Western Mixed":["Neapolitan Major and Minor Mixed"],Zeitler:["Thanyllic"],Dozenal:["SUHian"],zeitler:["Aerothyllic"]}},2989:{title:"Bebop Minor",chroma:"101101011101",names:{"Jazz and Blues":["Bebop Minor","Bebop Melodic Minor","Melodic Minor Bebop","Minor Bebop"],Arabic:["Zirafkend"],Zeitler:["Ionacryllic"],Dozenal:["SUJian"],zeitler:["Mocryllic"]}},2991:{title:"Zanygic",chroma:"111101011101",names:{Zeitler:["Zanygic"],Dozenal:["SUKian"],zeitler:["Ionidygic"]}},2993:{title:"Ionian +324",chroma:"100011011101",names:{Bedwell:["Ionian +324"],Zeitler:["Stythian"],Dozenal:["SULian"],zeitler:["Pygian"]}},2995:{title:"Raga Saurashtra",chroma:"110011011101",names:{Carnatic:["Raga Saurashtra"],Zeitler:["Sanyllic"],Dozenal:["SUMian"],zeitler:["Saryllic"]}},2997:{title:"Major Bebop",chroma:"101011011101",names:{"Jazz and Blues":["Major Bebop","Bebop Major"],"Named After Composers":["Harris' Diminished 6th"],"Western Modern":["Altered Mixolydian"],Zeitler:["Ionoptyllic"],Dozenal:["SUNian"],zeitler:["Gycryllic"]}},2999:{title:"Diminishing Nonamode",chroma:"111011011101",names:{"Western Modern":["Diminishing Nonamode"],Western:["Mixed/Permuted Dorian Mode","Diminishing Nonamode 10th Rotation"],"Western Mixed":["Chromatic and Permuted Diatonic Dorian Mixed"],Zeitler:["Zyrygic"],Dozenal:["SUPian"],zeitler:["Moptygic"]}},3001:{title:"Lonyllic",chroma:"100111011101",names:{Zeitler:["Lonyllic"],Dozenal:["SUQian"],zeitler:["Aeolaryllic"]}},3003:{title:"Messiaen Mode 3 Rotation 2",chroma:"110111011101",names:{Messiaen:["Messiaen Mode 3 Rotation 2"],"Ancient Greek":["Genus Chromaticum"],Western:["Tcherepnin Mode I"],"Named After Composers":["Tcherepnin Nonatonic Mode 1","Tcherepnin Mode 1"],"Western Altered":["Augmented Nine"],Zeitler:["Zydygic"],Dozenal:["SURian"],zeitler:["Phronygic"]}},3005:{title:"Gycrygic",chroma:"101111011101",names:{Zeitler:["Gycrygic"],Dozenal:["ASKian"],zeitler:["Staptygic"]}},3007:{title:"Zyryllian",chroma:"111111011101",names:{Zeitler:["Zyryllian"],Dozenal:["SUTian"],zeitler:["Staptyllian"]}},3009:{title:"SUVian",chroma:"100000111101",names:{}},3011:{title:"Ionian +234",chroma:"110000111101",names:{Bedwell:["Ionian +234"],Dozenal:["SUWian"]}},3013:{title:"Ionian +34",chroma:"101000111101",names:{Bedwell:["Ionian +34"],Zeitler:["Thynian"],Dozenal:["SUXian"],zeitler:["Ionogian"]}},3015:{title:"Laptyllic",chroma:"111000111101",names:{Zeitler:["Laptyllic"],Dozenal:["SUYian"],zeitler:["Zycryllic"]}},3017:{title:"Ionian +234",chroma:"100100111101",names:{Bedwell:["Ionian +234"],Zeitler:["Gacrian"],Dozenal:["SUZian"],zeitler:["Sythian"]}},3019:{title:"Mydyllic",chroma:"110100111101",names:{Zeitler:["Mydyllic"],Dozenal:["SUBian"],zeitler:["Socryllic"]}},3021:{title:"Gyptyllic",chroma:"101100111101",names:{Zeitler:["Gyptyllic"],Dozenal:["TABian"],zeitler:["Phrylyllic"]}},3023:{title:"Aeracrygic",chroma:"111100111101",names:{Zeitler:["Aeracrygic"],Dozenal:["TACian"],zeitler:["Bycrygic"]}},3025:{title:"Ionian +234",chroma:"100010111101",names:{Bedwell:["Ionian +234"],Zeitler:["Epycrian"],Dozenal:["TADian"],zeitler:["Epothian"]}},3027:{title:"Rythyllic",chroma:"110010111101",names:{Zeitler:["Rythyllic"],Dozenal:["TAFian"],zeitler:["Dodyllic"]}},3029:{title:"Ionocryllic",chroma:"101010111101",names:{Zeitler:["Ionocryllic"],Dozenal:["TAGian"],zeitler:["Katagyllic"]}},3031:{title:"Epithygic",chroma:"111010111101",names:{Zeitler:["Epithygic"],Dozenal:["TAHian"],zeitler:["Sorygic"]}},3033:{title:"Doptyllic",chroma:"100110111101",names:{Zeitler:["Doptyllic"],Dozenal:["TAJian"],zeitler:["Manyllic"]}},3035:{title:"Gocrygic",chroma:"110110111101",names:{Zeitler:["Gocrygic"],Dozenal:["TAKian"],zeitler:["Epocrygic"]}},3037:{title:"Nine Tone Scale",chroma:"101110111101",names:{"Western Modern":["Nine Tone Scale"],Western:["Diminishing Nonamode 5th Rotation"],Zeitler:["Staptygic"],Dozenal:["TALian"],zeitler:["Gycrygic"]}},3039:{title:"Godyllian",chroma:"111110111101",names:{Zeitler:["Godyllian"],Dozenal:["TAMian"],zeitler:["Aerycryllian"]}},3041:{title:"Superlydian Augmented 6342",chroma:"100001111101",names:{Bedwell:["Superlydian Augmented 6342"],Dozenal:["TANian"]}},3043:{title:"Ionayllic",chroma:"110001111101",names:{Zeitler:["Ionayllic"],Dozenal:["TAPian"],zeitler:["Gylyllic"]}},3045:{title:"Raptyllic",chroma:"101001111101",names:{Zeitler:["Raptyllic"],Dozenal:["TAQian"],zeitler:["Ionoryllic"]}},3047:{title:"Panygic",chroma:"111001111101",names:{Zeitler:["Panygic"],Dozenal:["TARian"],zeitler:["Locrygic"]}},3049:{title:"Aeronyllic",chroma:"100101111101",names:{Zeitler:["Aeronyllic"],Dozenal:["TASian"],zeitler:["Kadyllic"]}},3051:{title:"Stalygic",chroma:"110101111101",names:{Zeitler:["Stalygic"],Dozenal:["TATian"],zeitler:["Katarygic"]}},3053:{title:"Zycrygic",chroma:"101101111101",names:{Zeitler:["Zycrygic"],Dozenal:["TAVian"],zeitler:["Laptygic"]}},3055:{title:"Messiaen Mode 7",chroma:"111101111101",names:{Messiaen:["Messiaen Mode 7","Seventh Mode Of Limited Transposition"],Zeitler:["Lyryllian"],Dozenal:["TEWian"],zeitler:["Thydyllian"]}},3057:{title:"Phroryllic",chroma:"100011111101",names:{Zeitler:["Phroryllic"],Dozenal:["TEXian"],zeitler:["Bydyllic"]}},3059:{title:"Madygic",chroma:"110011111101",names:{Zeitler:["Madygic"],Dozenal:["TEYian"],zeitler:["Epygic"]}},3061:{title:"Apinygic",chroma:"101011111101",names:{Zeitler:["Apinygic"],Dozenal:["TEZian"],zeitler:["Zolygic"]}},3063:{title:"Solyllian",chroma:"111011111101",names:{Zeitler:["Solyllian"],Dozenal:["TEBian"],zeitler:["Garyllian"]}},3065:{title:"Zothygic",chroma:"100111111101",names:{Zeitler:["Zothygic"],Dozenal:["TECian"],zeitler:["Dothygic"]}},3067:{title:"Goptyllian",chroma:"110111111101",names:{Zeitler:["Goptyllian"],Dozenal:["TEDian"],zeitler:["Epocryllian"]}},3069:{title:"Bacryllian",chroma:"101111111101",names:{Zeitler:["Bacryllian"],Dozenal:["TEFian"],zeitler:["Bacryllian"]}},3071:{title:"Chromatic Undecamode 2",chroma:"111111111101",names:{"Western Modern":["Chromatic Undecamode 2","Undecatonic Chromatic 2"],Western:["Chromatic Undecamode 10th Rotation"],Zeitler:["Solatic"],Dozenal:["RAYian"],zeitler:["Aerycratic"]}},3073:{title:"Tritonic Chromatic Descending",chroma:"100000000011",names:{"Western Modern":["Tritonic Chromatic Descending"],Dozenal:["TEHian"]}},3075:{title:"Tetratonic Chromatic 3",chroma:"110000000011",names:{"Western Modern":["Tetratonic Chromatic 3"],Dozenal:["ATRian"]}},3077:{title:"TEKian",chroma:"101000000011",names:{}},3079:{title:"Pentatonic Chromatic 3",chroma:"111000000011",names:{"Western Modern":["Pentatonic Chromatic 3"],Dozenal:["TELian"]}},3081:{title:"TEMian",chroma:"100100000011",names:{}},3083:{title:"REHian",chroma:"110100000011",names:{}},3085:{title:"TEPian",chroma:"101100000011",names:{}},3087:{title:"Hexatonic Chromatic 3",chroma:"111100000011",names:{"Western Modern":["Hexatonic Chromatic 3"],Dozenal:["TEQian"]}},3089:{title:"TIRian",chroma:"100010000011",names:{}},3091:{title:"TISian",chroma:"110010000011",names:{}},3093:{title:"BUQian",chroma:"101010000011",names:{}},3095:{title:"TIVian",chroma:"111010000011",names:{}},3097:{title:"TIWian",chroma:"100110000011",names:{}},3099:{title:"TIXian",chroma:"110110000011",names:{}},3101:{title:"TIYian",chroma:"101110000011",names:{}},3103:{title:"Alt 76345",chroma:"111110000011",names:{Bedwell:["Alt 76345"],"Western Modern":["Heptatonic Chromatic 3"],Western:["Chromatic Heptamode 5th Rotation"],Dozenal:["ADRian"]}},3105:{title:"TIBian",chroma:"100001000011",names:{}},3107:{title:"TICian",chroma:"110001000011",names:{}},3109:{title:"TIDian",chroma:"101001000011",names:{}},3111:{title:"TIFian",chroma:"111001000011",names:{}},3113:{title:"TIGian",chroma:"100101000011",names:{}},3115:{title:"TIHian",chroma:"110101000011",names:{}},3117:{title:"TIJian",chroma:"101101000011",names:{}},3119:{title:"Alt 76345",chroma:"111101000011",names:{Bedwell:["Alt 76345"],Dozenal:["TIKian"]}},3121:{title:"TILian",chroma:"100011000011",names:{}},3123:{title:"TOMian",chroma:"110011000011",names:{}},3125:{title:"TONian",chroma:"101011000011",names:{}},3127:{title:"Alt 7635",chroma:"111011000011",names:{Bedwell:["Alt 7635"],Dozenal:["TOPian"]}},3129:{title:"TOQian",chroma:"100111000011",names:{}},3131:{title:"Alt 765",chroma:"110111000011",names:{Bedwell:["Alt 765"],Dozenal:["TORian"]}},3133:{title:"Melodic 465",chroma:"101111000011",names:{Bedwell:["Melodic 465"],Dozenal:["TOSian"]}},3135:{title:"Octatonic Chromatic 3",chroma:"111111000011",names:{"Western Modern":["Octatonic Chromatic 3"],Western:["Chromatic Octamode 6th Rotation"],Dozenal:["TOTian"]}},3137:{title:"TOVian",chroma:"100000100011",names:{}},3139:{title:"TOWian",chroma:"110000100011",names:{}},3141:{title:"Kanitonic",chroma:"101000100011",names:{Zeitler:["Kanitonic"],Dozenal:["TOXian"],zeitler:["Rolitonic"]}},3143:{title:"Polimic",chroma:"111000100011",names:{Zeitler:["Polimic"],Dozenal:["TOYian"],zeitler:["Thanimic"]}},3145:{title:"Stolitonic",chroma:"100100100011",names:{Zeitler:["Stolitonic"],Dozenal:["TOZian"],zeitler:["Ragitonic"]}},3147:{title:"Ryrimic",chroma:"110100100011",names:{Zeitler:["Ryrimic"],Dozenal:["TOBian"],zeitler:["Rogimic"]}},3149:{title:"Phrycrimic",chroma:"101100100011",names:{Zeitler:["Phrycrimic"],Dozenal:["TOCian"],zeitler:["Katoptimic"]}},3151:{title:"Alt 7634",chroma:"111100100011",names:{Bedwell:["Alt 7634"],Zeitler:["Pacrian"],Dozenal:["TODian"],zeitler:["Aeryptian"]}},3153:{title:"Zathitonic",chroma:"100010100011",names:{Zeitler:["Zathitonic"],Dozenal:["TOFian"],zeitler:["Ionythitonic"]}},3155:{title:"Ladimic",chroma:"110010100011",names:{Zeitler:["Ladimic"],Dozenal:["TOGian"],zeitler:["Pothimic"]}},3157:{title:"Zyptimic",chroma:"101010100011",names:{Zeitler:["Zyptimic"],Dozenal:["GRUian"],zeitler:["Epylimic"]}},3159:{title:"Alt 763",chroma:"111010100011",names:{Bedwell:["Alt 763"],Zeitler:["Stocrian"],Dozenal:["TUJian"],zeitler:["Myrian"]}},3161:{title:"Kodimic",chroma:"100110100011",names:{Zeitler:["Kodimic"],Dozenal:["TUKian"],zeitler:["Morimic"]}},3163:{title:"Alt 76",chroma:"110110100011",names:{Bedwell:["Alt 76"],Zeitler:["Rogian"],Dozenal:["TULian"],zeitler:["Tharian"]}},3165:{title:"Alt 276",chroma:"101110100011",names:{Bedwell:["Alt 276"],Zeitler:["Mylian"],Dozenal:["TUMian"],zeitler:["Gyptian"]}},3167:{title:"Thynyllic",chroma:"111110100011",names:{Zeitler:["Thynyllic"],Dozenal:["TUNian"],zeitler:["Sadyllic"]}},3169:{title:"TUPian",chroma:"100001100011",names:{}},3171:{title:"Zythimic",chroma:"110001100011",names:{Zeitler:["Zythimic"],Dozenal:["TUQian"],zeitler:["Zythimic"]}},3173:{title:"Zarimic",chroma:"101001100011",names:{Zeitler:["Zarimic"],Dozenal:["TURian"],zeitler:["Katynimic"]}},3175:{title:"Locrian 763",chroma:"111001100011",names:{Bedwell:["Locrian 763"],Zeitler:["Eponian"],Dozenal:["EFRian"],zeitler:["Dycrian"]}},3177:{title:"Rothimic",chroma:"100101100011",names:{Zeitler:["Rothimic"],Dozenal:["TUTian"],zeitler:["Lycrimic"]}},3179:{title:"Locrian 76",chroma:"110101100011",names:{Bedwell:["Locrian 76"],Zeitler:["Daptian"],Dozenal:["TUVian"],zeitler:["Zacrian"]}},3181:{title:"Melodic 56",chroma:"101101100011",names:{Bedwell:["Melodic 56"],Zeitler:["Rolian"],Dozenal:["TUWian"],zeitler:["Aeolydian"]}},3183:{title:"Mixonyllic",chroma:"111101100011",names:{Zeitler:["Mixonyllic"],Dozenal:["TUXian"],zeitler:["Dogyllic"]}},3185:{title:"Messiaen Mode 5 Rotation 1",chroma:"100011100011",names:{Messiaen:["Messiaen Mode 5 Rotation 1"],Zeitler:["Thonimic"],Dozenal:["BROian"],zeitler:["Thodimic"]}},3187:{title:"Ionian 256",chroma:"110011100011",names:{Bedwell:["Ionian 256"],Zeitler:["Koptian"],Dozenal:["TUZian"],zeitler:["Syptian"]}},3189:{title:"Ionian 56",chroma:"101011100011",names:{Bedwell:["Ionian 56"],Zeitler:["Aeolonian"],Dozenal:["TUBian"],zeitler:["Zyrian"]}},3191:{title:"Bynyllic",chroma:"111011100011",names:{Zeitler:["Bynyllic"],Dozenal:["URMian"],zeitler:["Epogyllic"]}},3193:{title:"Ionian 526",chroma:"100111100011",names:{Bedwell:["Ionian 526"],Zeitler:["Zathian"],Dozenal:["USRian"],zeitler:["Danian"]}},3195:{title:"Raryllic",chroma:"110111100011",names:{Zeitler:["Raryllic"],Dozenal:["SCRian"],zeitler:["Pylyllic"]}},3197:{title:"Gylyllic",chroma:"101111100011",names:{Zeitler:["Gylyllic"],Dozenal:["UBOian"],zeitler:["Ionayllic"]}},3199:{title:"Nonatonic Chromatic 3",chroma:"111111100011",names:{"Western Modern":["Nonatonic Chromatic 3"],Western:["Chromatic Nonamode 7th Rotation"],Zeitler:["Thaptygic"],Dozenal:["UBUian"],zeitler:["Aeolarygic"]}},3201:{title:"URTian",chroma:"100000010011",names:{}},3203:{title:"ETRian",chroma:"110000010011",names:{}},3205:{title:"UTWian",chroma:"101000010011",names:{}},3207:{title:"UCOian",chroma:"111000010011",names:{}},3209:{title:"Aeraphitonic",chroma:"100100010011",names:{Zeitler:["Aeraphitonic"],Dozenal:["UCUian"],zeitler:["Doptitonic"]}},3211:{title:"Epacrimic",chroma:"110100010011",names:{Zeitler:["Epacrimic"],Dozenal:["UTHian"],zeitler:["Synimic"]}},3213:{title:"Eponimic",chroma:"101100010011",names:{Zeitler:["Eponimic"],Dozenal:["URKian"],zeitler:["Ionygimic"]}},3215:{title:"Neapoitan Major 634",chroma:"111100010011",names:{Bedwell:["Neapoitan Major 634"],Zeitler:["Katydian"],Dozenal:["UCLian"],zeitler:["Aeolarian"]}},3217:{title:"Molitonic",chroma:"100010010011",names:{Zeitler:["Molitonic"],Dozenal:["UDOian"],zeitler:["Zalitonic"]}},3219:{title:"Ionaphimic",chroma:"110010010011",names:{Zeitler:["Ionaphimic"],Dozenal:["UDUian"],zeitler:["Ionaphimic"]}},3221:{title:"Bycrimic",chroma:"101010010011",names:{Zeitler:["Bycrimic"],Dozenal:["UMSian"],zeitler:["Banimic"]}},3223:{title:"Alt 5763",chroma:"111010010011",names:{Bedwell:["Alt 5763"],Zeitler:["Thyphian"],Dozenal:["UNSian"],zeitler:["Aeryrian"]}},3225:{title:"Ionalimic",chroma:"100110010011",names:{Zeitler:["Ionalimic"],Dozenal:["ULFian"],zeitler:["Aerynimic"]}},3227:{title:"Neapoitan Major 46",chroma:"110110010011",names:{Bedwell:["Neapoitan Major 46"],Zeitler:["Aeolocrian"],Dozenal:["UFOian"],zeitler:["Kylian"]}},3229:{title:"Melodic 64",chroma:"101110010011",names:{Bedwell:["Melodic 64"],Zeitler:["Aeolaptian"],Dozenal:["UFUian"],zeitler:["Bygian"]}},3231:{title:"Kataptyllic",chroma:"111110010011",names:{Zeitler:["Kataptyllic"],Dozenal:["USHian"],zeitler:["Loryllic"]}},3233:{title:"UNBian",chroma:"100001010011",names:{}},3235:{title:"Pothimic",chroma:"110001010011",names:{Zeitler:["Pothimic"],Dozenal:["UNTian"],zeitler:["Ladimic"]}},3237:{title:"Raga Brindabani Sarang",chroma:"101001010011",names:{Carnatic:["Raga Brindabani Sarang","Megh","Megh Malhar"],Zeitler:["Thatimic"],Dozenal:["UGOian"],zeitler:["Lydimic"]}},3239:{title:"Ionian 263",chroma:"111001010011",names:{Bedwell:["Ionian 263"],Carnatic:["Mela Tanarupi","Danarupi"],Zeitler:["Epythian"],Dozenal:["UGUian"],"Carnatic Melakarta":["Tanarupi"],"Carnatic Numbered Melakarta":["6th Melakarta Raga"],zeitler:["Kaptian"]}},3241:{title:"Dalimic",chroma:"100101010011",names:{Zeitler:["Dalimic"],Dozenal:["UPSian"],zeitler:["Paptimic"]}},3243:{title:"Neapoitan Major 6",chroma:"110101010011",names:{Bedwell:["Neapoitan Major 6"],Carnatic:["Mela Rupavati","Rupavathi"],Zeitler:["Staptian"],Dozenal:["UTRian"],"Carnatic Melakarta":["Rupavati"],"Carnatic Numbered Melakarta":["12th Melakarta Raga"],zeitler:["Ionathian"]}},3245:{title:"Melodic 6",chroma:"101101010011",names:{Bedwell:["Melodic 6"],Carnatic:["Mela Varunapriya","Viravasantham"],Zeitler:["Aeracrian"],Dozenal:["DEFian"],"Carnatic Melakarta":["Varunapriya"],"Carnatic Numbered Melakarta":["24th Melakarta Raga"],zeitler:["Kagian"]}},3247:{title:"Aeolonyllic",chroma:"111101010011",names:{Zeitler:["Aeolonyllic"],Dozenal:["UHOian"],zeitler:["Stoptyllic"]}},3249:{title:"Raga Tilang",chroma:"100011010011",names:{Carnatic:["Raga Tilang"],"Unknown / Unsorted":["Brindabani Tilang","Savitri"],Zeitler:["Epygimic"],Dozenal:["UHUian"],zeitler:["Gogimic"]}},3251:{title:"Mela Hatakambari",chroma:"110011010011",names:{Carnatic:["Mela Hatakambari","Raga Jeyasuddhamalavi"],Bedwell:["Ionian 26"],Zeitler:["Zodian"],Dozenal:["UJUian"],"Carnatic Melakarta":["Hatakambari"],"Carnatic Numbered Melakarta":["18th Melakarta Raga"],zeitler:["Lyrian"]}},3253:{title:"Mela Naganandini",chroma:"101011010011",names:{Carnatic:["Mela Naganandini","Raga Nagabharanam","Naganandhini"],Bedwell:["Ionian 6"],Zeitler:["Gonian"],Dozenal:["UCHian"],"Carnatic Melakarta":["Naganandini"],"Carnatic Numbered Melakarta":["30th Melakarta Raga"],zeitler:["Garian"]}},3255:{title:"Daryllic",chroma:"111011010011",names:{Zeitler:["Daryllic"],Dozenal:["UTRian"],zeitler:["Epothyllic"]}},3257:{title:"Mela Calanata",chroma:"100111010011",names:{Carnatic:["Mela Calanata","Raga None"],Bedwell:["Ionian 26"],"Western Chromatic":["Chromatic Dorian Inverse"],Zeitler:["Ionacrian"],Dozenal:["UPLian"],"Carnatic Melakarta":["Chalanata"],"Carnatic Numbered Melakarta":["36th Melakarta Raga"],zeitler:["Stylian"]}},3259:{title:"Loptyllic",chroma:"110111010011",names:{Zeitler:["Loptyllic"],Dozenal:["CHOian"],zeitler:["Aeoryllic"]}},3261:{title:"Dodyllic",chroma:"101111010011",names:{Zeitler:["Dodyllic"],Dozenal:["ULOian"],zeitler:["Rythyllic"]}},3263:{title:"Pyrygic",chroma:"111111010011",names:{Zeitler:["Pyrygic"],Dozenal:["ULUian"],zeitler:["Ionilygic"]}},3265:{title:"URRian",chroma:"100000110011",names:{}},3267:{title:"URFian",chroma:"110000110011",names:{}},3269:{title:"Raga Malarani",chroma:"101000110011",names:{Carnatic:["Raga Malarani"],Zeitler:["Lodimic"],Dozenal:["UCKian"],zeitler:["Lyrimic"]}},3271:{title:"Mela Raghupriya",chroma:"111000110011",names:{Carnatic:["Mela Raghupriya","Raga Ravikriya","Ragupriya"],Bedwell:["Lydian 263"],Hindustani:["Ghandarva"],Zeitler:["Kolian"],Dozenal:["UMOian"],"Carnatic Melakarta":["Raghupriya"],"Carnatic Numbered Melakarta":["42nd Melakarta Raga"],zeitler:["Katygian"]}},3273:{title:"Raga Jivantini",chroma:"100100110011",names:{Carnatic:["Raga Jivantini","Gaurikriya"],Zeitler:["Ionodimic"],Dozenal:["UMUian"],zeitler:["Katycrimic"]}},3275:{title:"Mela Divyamani",chroma:"110100110011",names:{Carnatic:["Mela Divyamani","Dhivyamani"],Bedwell:["Enigmatic min"],Zeitler:["Katadian"],Dozenal:["UBSian"],"Carnatic Melakarta":["Divyamani"],"Carnatic Numbered Melakarta":["48th Melakarta Raga"],zeitler:["Sothian"]}},3277:{title:"Lydian 36",chroma:"101100110011",names:{Bedwell:["Lydian 36"],Carnatic:["Mela Nitimati","Raga Nisada","Kaikavasi","Nithimathi"],"Western Modern":["Howaboot Scale"],Zeitler:["Zycrian"],Dozenal:["USPian"],"Carnatic Melakarta":["Neetimati"],"Carnatic Numbered Melakarta":["60th Melakarta Raga"],zeitler:["Socrian"]}},3279:{title:"Pythyllic",chroma:"111100110011",names:{Zeitler:["Pythyllic"],Dozenal:["USKian"],zeitler:["Ryryllic"]}},3281:{title:"Raga Vijayavasanta",chroma:"100010110011",names:{Carnatic:["Raga Vijayavasanta"],Zeitler:["Katythimic"],Dozenal:["UNOian"],zeitler:["Katadimic"]}},3283:{title:"Mela Visvambhari",chroma:"110010110011",names:{Carnatic:["Mela Visvambhari","Raga Vamsavathi"],Bedwell:["Lydian 26"],Zeitler:["Lyrian"],Dozenal:["UNUian"],"Carnatic Melakarta":["Vishwambari"],"Carnatic Numbered Melakarta":["54th Melakarta Raga"],zeitler:["Zodian"]}},3285:{title:"Lydian #6",chroma:"101010110011",names:{"Western Altered":["Lydian #6"],Carnatic:["Mela Citrambari","Raga Chaturangini"],Bedwell:["Lydian 6"],Zeitler:["Zagian"],Dozenal:["UNKian"],"Carnatic Melakarta":["Chitrambari"],"Carnatic Numbered Melakarta":["66th Melakarta Raga"],zeitler:["Zanian"]}},3287:{title:"Phrathyllic",chroma:"111010110011",names:{Zeitler:["Phrathyllic"],Dozenal:["UPHian"],zeitler:["Modyllic"]}},3289:{title:"Lydian 26",chroma:"100110110011",names:{Bedwell:["Lydian 26"],"Western Altered":["Lydian 2 6"],Carnatic:["Mela Rasikapriya","Raga Rasamanjari"],"Unknown / Unsorted":["Hamsagiri"],Western:["Hungarian Romani Minor 6th Mode"],Zeitler:["Loptian"],Dozenal:["UBLian"],"Carnatic Melakarta":["Rasikapriya"],"Carnatic Numbered Melakarta":["72nd Melakarta Raga"],zeitler:["Aerynian"]}},3291:{title:"Kodyllic",chroma:"110110110011",names:{Zeitler:["Kodyllic"],Dozenal:["UPOian"],zeitler:["Ponyllic"]}},3293:{title:"Saryllic",chroma:"101110110011",names:{Zeitler:["Saryllic"],Dozenal:["UPUian"],zeitler:["Sanyllic"]}},3295:{title:"Phroptygic",chroma:"111110110011",names:{Zeitler:["Phroptygic"],Dozenal:["URAian"],zeitler:["Lonygic"]}},3297:{title:"ULLian",chroma:"100001110011",names:{}},3299:{title:"Lydian 236",chroma:"110001110011",names:{Bedwell:["Lydian 236"],Zeitler:["Syptian"],Dozenal:["UBRian"],zeitler:["Koptian"]}},3301:{title:"Lydian 36",chroma:"101001110011",names:{Bedwell:["Lydian 36"],"Western Chromatic":["Chromatic Mixolydian Inverse"],Zeitler:["Phrynian"],Dozenal:["UROian"],zeitler:["Gogian"]}},3303:{title:"Soptyllic",chroma:"111001110011",names:{Zeitler:["Soptyllic"],Dozenal:["URUian"],zeitler:["Aeolylyllic"]}},3305:{title:"Lydian 236",chroma:"100101110011",names:{Bedwell:["Lydian 236"],"Western Chromatic":["Chromatic Hypophrygian"],"Jazz and Blues":["Blues Scale III"],Zeitler:["Epathian"],Dozenal:["UMPian"],zeitler:["Paptian"]}},3307:{title:"Boptyllic",chroma:"110101110011",names:{Zeitler:["Boptyllic"],Dozenal:["ULKian"],zeitler:["Epathyllic"]}},3309:{title:"Bycryllic",chroma:"101101110011",names:{Zeitler:["Bycryllic"],Dozenal:["UPPian"],zeitler:["Zathyllic"]}},3311:{title:"Mixodygic",chroma:"111101110011",names:{Zeitler:["Mixodygic"],Dozenal:["USOian"],zeitler:["Galygic"]}},3313:{title:"Lydian 362",chroma:"100011110011",names:{Bedwell:["Lydian 362"],Zeitler:["Aeolacrian"],Dozenal:["USUian"],zeitler:["Zydian"]}},3315:{title:"Tcherepnin Octatonic Mode 1",chroma:"110011110011",names:{"Named After Composers":["Tcherepnin Octatonic Mode 1"],Messiaen:["Messiaen Mode 4 Inverse","Messiaen Mode 4 Rotation 1"],Zeitler:["Aeralyllic"],Dozenal:["UBBian"],zeitler:["Aeralyllic"]}},3317:{title:"Lanyllic",chroma:"101011110011",names:{Zeitler:["Lanyllic"],Dozenal:["URGian"],zeitler:["Zolyllic"]}},3319:{title:"Tholygic",chroma:"111011110011",names:{Zeitler:["Tholygic"],Dozenal:["UTTian"],zeitler:["Dorygic"]}},3321:{title:"Ionycryllic",chroma:"100111110011",names:{Zeitler:["Ionycryllic"],Dozenal:["UTOian"],zeitler:["Sogyllic"]}},3323:{title:"Phrygygic",chroma:"110111110011",names:{Zeitler:["Phrygygic"],Dozenal:["UTUian"],zeitler:["Dyrygic"]}},3325:{title:"Epygic",chroma:"101111110011",names:{Zeitler:["Epygic"],Dozenal:["USSian"],zeitler:["Madygic"]}},3327:{title:"Decatonic Chromatic 3",chroma:"111111110011",names:{"Western Modern":["Decatonic Chromatic 3"],Western:["Chromatic Decamode 8th Rotation"],Zeitler:["Madyllian"],Dozenal:["KUJian"],zeitler:["Bathyllian"]}},3329:{title:"UYOian",chroma:"100000001011",names:{}},3331:{title:"VABian",chroma:"110000001011",names:{}},3333:{title:"VACian",chroma:"101000001011",names:{}},3335:{title:"VADian",chroma:"111000001011",names:{}},3337:{title:"VAFian",chroma:"100100001011",names:{}},3339:{title:"SMUian",chroma:"110100001011",names:{}},3341:{title:"VAHian",chroma:"101100001011",names:{}},3343:{title:"Phrygian +34",chroma:"111100001011",names:{Bedwell:["Phrygian +34"],Dozenal:["VAJian"]}},3345:{title:"Zylitonic",chroma:"100010001011",names:{Zeitler:["Zylitonic"],Dozenal:["VAKian"],zeitler:["Ionothitonic"]}},3347:{title:"Synimic",chroma:"110010001011",names:{Zeitler:["Synimic"],Dozenal:["DRUian"],zeitler:["Epacrimic"]}},3349:{title:"Aeolocrimic",chroma:"101010001011",names:{Zeitler:["Aeolocrimic"],Dozenal:["VAMian"],zeitler:["Sythimic"]}},3351:{title:"Alt 7563",chroma:"111010001011",names:{Bedwell:["Alt 7563"],"Western Modern":["Crater Scale"],Zeitler:["Karian"],Dozenal:["VANian"],zeitler:["Myptian"]}},3353:{title:"Phraptimic",chroma:"100110001011",names:{Zeitler:["Phraptimic"],Dozenal:["VAPian"],zeitler:["Panimic"]}},3355:{title:"Phrygian +4",chroma:"110110001011",names:{Bedwell:["Phrygian +4"],Zeitler:["Bagian"],Dozenal:["VAQian"],zeitler:["Katonian"]}},3357:{title:"Melodic +64",chroma:"101110001011",names:{Bedwell:["Melodic +64"],Zeitler:["Phrodian"],Dozenal:["VARian"],zeitler:["Thorian"]}},3359:{title:"Bonyllic",chroma:"111110001011",names:{Zeitler:["Bonyllic"],Dozenal:["VASian"],zeitler:["Dynyllic"]}},3361:{title:"VATian",chroma:"100001001011",names:{}},3363:{title:"Rogimic",chroma:"110001001011",names:{Zeitler:["Rogimic"],Dozenal:["VAVian"],zeitler:["Ryrimic"]}},3365:{title:"Katolimic",chroma:"101001001011",names:{Zeitler:["Katolimic"],Dozenal:["VEWian"],zeitler:["Gocrimic"]}},3367:{title:"Neapolitan Major 563",chroma:"111001001011",names:{Bedwell:["Neapolitan Major 563"],Zeitler:["Moptian"],Dozenal:["VEXian"],zeitler:["Polian"]}},3369:{title:"Mixolimic",chroma:"100101001011",names:{Zeitler:["Mixolimic"],Dozenal:["VEYian"],zeitler:["Stathimic"]}},3371:{title:"Neapoitan Major 56",chroma:"110101001011",names:{Bedwell:["Neapoitan Major 56"],Zeitler:["Aeolylian"],Dozenal:["VEZian"],zeitler:["Bylian"]}},3373:{title:"Melodic +6",chroma:"101101001011",names:{Bedwell:["Melodic +6"],Zeitler:["Lodian"],Dozenal:["VEBian"],zeitler:["Phrogian"]}},3375:{title:"Kygyllic",chroma:"111101001011",names:{Zeitler:["Kygyllic"],Dozenal:["VECian"],zeitler:["Gogyllic"]}},3377:{title:"Phralimic",chroma:"100011001011",names:{Zeitler:["Phralimic"],Dozenal:["VEDian"],zeitler:["Zodimic"]}},3379:{title:"Verdi's Scala Enigmatica Descending",chroma:"110011001011",names:{"Named After Composers":["Verdi's Scala Enigmatica Descending"],Bedwell:["Ionian +26"],Western:["Verdi's Enigmatic Descending","Enigmatic Decending"],Zeitler:["Sothian"],Dozenal:["VEFian"],zeitler:["Katadian"]}},3381:{title:"Ionian +6",chroma:"101011001011",names:{Bedwell:["Ionian +6"],Zeitler:["Katanian"],Dozenal:["VEGian"],zeitler:["Manian"]}},3383:{title:"Daptyllic",chroma:"111011001011",names:{Zeitler:["Daptyllic"],Dozenal:["VEHian"],zeitler:["Kagyllic"]}},3385:{title:"Chromatic Phrygian",chroma:"100111001011",names:{"Western Chromatic":["Chromatic Phrygian"],Bedwell:["Ionian +26"],Zeitler:["Rothian"],Dozenal:["VEJian"],zeitler:["Ionyphian"]}},3387:{title:"Aeryptyllic",chroma:"110111001011",names:{Zeitler:["Aeryptyllic"],Dozenal:["VEKian"],zeitler:["Dycryllic"]}},3389:{title:"Socryllic",chroma:"101111001011",names:{Zeitler:["Socryllic"],Dozenal:["VELian"],zeitler:["Mydyllic"]}},3391:{title:"Aeolynygic",chroma:"111111001011",names:{Zeitler:["Aeolynygic"],Dozenal:["VEMian"],zeitler:["Phrocrygic"]}},3393:{title:"VENian",chroma:"100000101011",names:{}},3395:{title:"VEPian",chroma:"110000101011",names:{}},3397:{title:"Sydimic",chroma:"101000101011",names:{Zeitler:["Sydimic"],Dozenal:["VEQian"],zeitler:["Gadimic"]}},3399:{title:"Phrygian +3",chroma:"111000101011",names:{Bedwell:["Phrygian +3"],Zeitler:["Zonian"],Dozenal:["VIRian"],zeitler:["Kalian"]}},3401:{title:"Palimic",chroma:"100100101011",names:{Zeitler:["Palimic"],Dozenal:["VISian"],zeitler:["Thothimic"]}},3403:{title:"Phrygian +",chroma:"110100101011",names:{Bedwell:["Phrygian +"],Zeitler:["Bylian"],Dozenal:["VITian"],zeitler:["Aeolylian"]}},3405:{title:"Phrygian +2",chroma:"101100101011",names:{Bedwell:["Phrygian +2"],Zeitler:["Stynian"],Dozenal:["VIVian"],zeitler:["Phrycrian"]}},3407:{title:"Katocryllic",chroma:"111100101011",names:{Zeitler:["Katocryllic"],Dozenal:["VIWian"],zeitler:["Kyryllic"]}},3409:{title:"Katanimic",chroma:"100010101011",names:{Zeitler:["Katanimic"],Dozenal:["VIXian"],zeitler:["Phrydimic"]}},3411:{title:"Enigmatic",chroma:"110010101011",names:{Western:["Enigmatic","Enigmatic Ascending"],Bedwell:["Enigmatic"],"Named After Composers":["Verdi's Scala Enigmatica Ascending"],Carnatic:["Vishvambhari"],Zeitler:["Ionathian"],Dozenal:["VIYian"],zeitler:["Staptian"]}},3413:{title:"Lydian +6",chroma:"101010101011",names:{Bedwell:["Lydian +6"],"Western Modern":["Major Locrian"],Western:["Leading Whole Tone"],Zeitler:["Aeolynian"],Dozenal:["VIZian"],zeitler:["Thydian"]}},3415:{title:"Ionaptyllic",chroma:"111010101011",names:{Zeitler:["Ionaptyllic"],Dozenal:["VIBian"],zeitler:["Phryryllic"]}},3417:{title:"Lydian +26",chroma:"100110101011",names:{Bedwell:["Lydian +26"],Zeitler:["Golian"],Dozenal:["VICian"],zeitler:["Aerylian"]}},3419:{title:"Magen Abot 1",chroma:"110110101011",names:{Jewish:["Magen Abot 1","Magen Abot I"],Zeitler:["Danyllic"],Dozenal:["VIDian"],zeitler:["Lythyllic"]}},3421:{title:"Aerothyllic",chroma:"101110101011",names:{Zeitler:["Aerothyllic"],Dozenal:["VIFian"],zeitler:["Thanyllic"]}},3423:{title:"Lothygic",chroma:"111110101011",names:{Zeitler:["Lothygic"],Dozenal:["VIGian"],zeitler:["Styrygic"]}},3425:{title:"VIHian",chroma:"100001101011",names:{}},3427:{title:"Phrygian +3",chroma:"110001101011",names:{Bedwell:["Phrygian +3"],Zeitler:["Zacrian"],Dozenal:["VIJian"],zeitler:["Daptian"]}},3429:{title:"Lydian +36",chroma:"101001101011",names:{Bedwell:["Lydian +36"],Zeitler:["Marian"],Dozenal:["VIKian"],zeitler:["Byrian"]}},3431:{title:"Zyptyllic",chroma:"111001101011",names:{Zeitler:["Zyptyllic"],Dozenal:["UGGian"],zeitler:["Badyllic"]}},3433:{title:"Super Lydian Augmented",chroma:"100101101011",names:{Bedwell:["Super Lydian Augmented"],Zeitler:["Thonian"],Dozenal:["VOMian"],zeitler:["Aeolorian"]}},3435:{title:"Prokofiev",chroma:"110101101011",names:{"Named After Composers":["Prokofiev"],Azerbaijan:["Mugham Segah"],Western:["Quartal Octamode 9th Rotation"],Zeitler:["Epiphyllic"],Dozenal:["VONian"],zeitler:["Epiphyllic"]}},3437:{title:"Gathyllic",chroma:"101101101011",names:{Zeitler:["Gathyllic"],Dozenal:["VOPian"],zeitler:["Baryllic"]}},3439:{title:"Lythygic",chroma:"111101101011",names:{Zeitler:["Lythygic"],Dozenal:["VOQian"],zeitler:["Ryptygic"]}},3441:{title:"Superlydian Augmented 2",chroma:"100011101011",names:{Bedwell:["Superlydian Augmented 2"],Zeitler:["Thacrian"],Dozenal:["VORian"],zeitler:["Aeolyptian"]}},3443:{title:"Verdi's Scala Enigmatica",chroma:"110011101011",names:{"Named After Composers":["Verdi's Scala Enigmatica"],Azerbaijan:["Mugham Saränc"],Zeitler:["Epathyllic"],Dozenal:["VOSian"],zeitler:["Boptyllic"]}},3445:{title:"Messiaen Mode 6",chroma:"101011101011",names:{Messiaen:["Messiaen Mode 6","Sixth Mode Of Limited Transposition"],"Jazz and Blues":["Bebop Altered"],Zeitler:["Roryllic"],Dozenal:["VOTian"],zeitler:["Kaptyllic"]}},3447:{title:"Kynygic",chroma:"111011101011",names:{Zeitler:["Kynygic"],Dozenal:["VOVian"],zeitler:["Aeolanygic"]}},3449:{title:"Bacryllic",chroma:"100111101011",names:{Zeitler:["Bacryllic"],Dozenal:["VOWian"],zeitler:["Thonyllic"]}},3451:{title:"Garygic",chroma:"110111101011",names:{Zeitler:["Garygic"],Dozenal:["VOXian"],zeitler:["Ionoptygic"]}},3453:{title:"Katarygic",chroma:"101111101011",names:{Zeitler:["Katarygic"],Dozenal:["VOYian"],zeitler:["Stalygic"]}},3455:{title:"Ryptyllian",chroma:"111111101011",names:{Zeitler:["Ryptyllian"],Dozenal:["VOZian"],zeitler:["Katyllian"]}},3457:{title:"VOBian",chroma:"100000011011",names:{}},3459:{title:"VOCian",chroma:"110000011011",names:{}},3461:{title:"VODian",chroma:"101000011011",names:{}},3463:{title:"Phrygian +34",chroma:"111000011011",names:{Bedwell:["Phrygian +34"],Dozenal:["VOFian"]}},3465:{title:"Katathimic",chroma:"100100011011",names:{Zeitler:["Katathimic"],Dozenal:["VOGian"],zeitler:["Dylimic"]}},3467:{title:"Phrygian +4",chroma:"110100011011",names:{Bedwell:["Phrygian +4"],Carnatic:["Sudhvidhamagini"],Zeitler:["Katonian"],Dozenal:["VUHian"],zeitler:["Bagian"]}},3469:{title:"Melodic +64",chroma:"101100011011",names:{Bedwell:["Melodic +64"],Zeitler:["Monian"],Dozenal:["VUJian"],zeitler:["Sorian"]}},3471:{title:"Gyryllic",chroma:"111100011011",names:{Zeitler:["Gyryllic"],Dozenal:["VUKian"],zeitler:["Storyllic"]}},3473:{title:"Lathimic",chroma:"100010011011",names:{Zeitler:["Lathimic"],Dozenal:["VULian"],zeitler:["Dorimic"]}},3475:{title:"Enigmatic 4",chroma:"110010011011",names:{Bedwell:["Enigmatic 4"],Zeitler:["Kylian"],Dozenal:["VUMian"],zeitler:["Aeolocrian"]}},3477:{title:"Ionian +64",chroma:"101010011011",names:{Bedwell:["Ionian +64"],Zeitler:["Kyptian"],Dozenal:["VUNian"],zeitler:["Kynian"]}},3479:{title:"Rothyllic",chroma:"111010011011",names:{Zeitler:["Rothyllic"],Dozenal:["VUPian"],zeitler:["Ioninyllic"]}},3481:{title:"Ionian +264",chroma:"100110011011",names:{Bedwell:["Ionian +264"],Zeitler:["Katathian"],Dozenal:["VUQian"],zeitler:["Ionocrian"]}},3483:{title:"Mugham Shüshtär",chroma:"110110011011",names:{Azerbaijan:["Mugham Shüshtär"],Zeitler:["Mixotharyllic"],Dozenal:["VURian"],zeitler:["Mixotharyllic"]}},3485:{title:"Sabach",chroma:"101110011011",names:{"Modern Greek":["Sabach","Sambah"],Zeitler:["Kyptyllic"],Dozenal:["VUSian"],zeitler:["Aeolynyllic"]}},3487:{title:"Byptygic",chroma:"111110011011",names:{Zeitler:["Byptygic"],Dozenal:["VUTian"],zeitler:["Ionygic"]}},3489:{title:"VUVian",chroma:"100001011011",names:{}},3491:{title:"Superlydian Augmented 24",chroma:"110001011011",names:{Bedwell:["Superlydian Augmented 24"],Zeitler:["Tharian"],Dozenal:["VUWian"],zeitler:["Rogian"]}},3493:{title:"Ionian +364",chroma:"101001011011",names:{Bedwell:["Ionian +364"],Zeitler:["Rathian"],Dozenal:["VUXian"],zeitler:["Panian"]}},3495:{title:"Banyllic",chroma:"111001011011",names:{Zeitler:["Banyllic"],Dozenal:["VUYian"],zeitler:["Monyllic"]}},3497:{title:"Superlydian Augmented 4",chroma:"100101011011",names:{Bedwell:["Superlydian Augmented 4"],Zeitler:["Phrolian"],Dozenal:["VUZian"],zeitler:["Zoptian"]}},3499:{title:"Hamel",chroma:"110101011011",names:{"Named After Composers":["Hamel","Peter Hamel Octatonic"],Western:["Spanish Octamode 9th Rotation"],Zeitler:["Lythyllic"],Dozenal:["VUBian"],zeitler:["Danyllic"]}},3501:{title:"Bebop Harmonic Minor",chroma:"101101011011",names:{"Jazz and Blues":["Bebop Harmonic Minor"],Western:["Gregorian Nr.4"],Arabic:["Farahfaza"],Carnatic:["Raga Suha","Raga Suha Kanada"],"Gregorian Numbered":["Gregorian Number 4"],"Unknown / Unsorted":["Utility Minor"],Zeitler:["Katodyllic"],Dozenal:["WABian"],zeitler:["Mogyllic"]}},3503:{title:"Zyphygic",chroma:"111101011011",names:{Zeitler:["Zyphygic"],Dozenal:["WACian"],zeitler:["Aerygic"]}},3505:{title:"Superlydian Augmented 24",chroma:"100011011011",names:{Bedwell:["Superlydian Augmented 24"],Zeitler:["Stygian"],Dozenal:["WADian"],zeitler:["Padian"]}},3507:{title:"Bebop Phrygian Dominant",chroma:"110011011011",names:{"Jazz and Blues":["Bebop Phrygian Dominant","Altered Bebop"],Zeitler:["Ponyllic"],Dozenal:["WAFian"],zeitler:["Kodyllic"]}},3509:{title:"Stogyllic",chroma:"101011011011",names:{Zeitler:["Stogyllic"],Dozenal:["WAGian"],zeitler:["Garyllic"]}},3511:{title:"Epolygic",chroma:"111011011011",names:{Zeitler:["Epolygic"],Dozenal:["WAHian"],zeitler:["Epidygic"]}},3513:{title:"Dydyllic",chroma:"100111011011",names:{Zeitler:["Dydyllic"],Dozenal:["WAJian"],zeitler:["Rygyllic"]}},3515:{title:"Moorish Phrygian",chroma:"110111011011",names:{Exoticisms:["Moorish Phrygian"],"Western Mixed":["Phrygian/Double Harmonic Major Mixed"],Zeitler:["Katodygic"],Dozenal:["WAKian"],zeitler:["Sadygic"]}},3517:{title:"Diminishing Nonamode 1st Rotation",chroma:"101111011011",names:{Western:["Diminishing Nonamode 1st Rotation"],Zeitler:["Epocrygic"],Dozenal:["WALian"],zeitler:["Gocrygic"]}},3519:{title:"Raga Sindhi-Bhairavi",chroma:"111111011011",names:{Carnatic:["Raga Sindhi-Bhairavi"],Zeitler:["Boptyllian"],Dozenal:["WAMian"],zeitler:["Zolyllian"]}},3521:{title:"WANian",chroma:"100000111011",names:{}},3523:{title:"Superlydian Augmented 234",chroma:"110000111011",names:{Bedwell:["Superlydian Augmented 234"],Dozenal:["WAPian"]}},3525:{title:"Ionian +634",chroma:"101000111011",names:{Bedwell:["Ionian +634"],Zeitler:["Zocrian"],Dozenal:["WAQian"],zeitler:["Ionyrian"]}},3527:{title:"Ronyllic",chroma:"111000111011",names:{Zeitler:["Ronyllic"],Dozenal:["SHOian"],zeitler:["Kydyllic"]}},3529:{title:"Superlydian Augmented 34",chroma:"100100111011",names:{Bedwell:["Superlydian Augmented 34"],Zeitler:["Stalian"],Dozenal:["WASian"],zeitler:["Kataptian"]}},3531:{title:"Neveseri",chroma:"110100111011",names:{"Unknown / Unsorted":["Neveseri"],"Modern Greek":["Drómos Nevéseri"],Zeitler:["Dycryllic"],Dozenal:["WATian"],zeitler:["Aeryptyllic"]}},3533:{title:"Thadyllic",chroma:"101100111011",names:{Zeitler:["Thadyllic"],Dozenal:["WAVian"],zeitler:["Ganyllic"]}},3535:{title:"Aeroptygic",chroma:"111100111011",names:{Zeitler:["Aeroptygic"],Dozenal:["WEWian"],zeitler:["Katorygic"]}},3537:{title:"Superlydian Augmented 234",chroma:"100010111011",names:{Bedwell:["Superlydian Augmented 234"],Zeitler:["Katogian"],Dozenal:["WEXian"],zeitler:["Bathian"]}},3539:{title:"Aeoryllic",chroma:"110010111011",names:{Zeitler:["Aeoryllic"],Dozenal:["WEYian"],zeitler:["Loptyllic"]}},3541:{title:"Racryllic",chroma:"101010111011",names:{Zeitler:["Racryllic"],Dozenal:["WEZian"],zeitler:["Stythyllic"]}},3543:{title:"Aeolonygic",chroma:"111010111011",names:{Zeitler:["Aeolonygic"],Dozenal:["WEBian"],zeitler:["Stophygic"]}},3545:{title:"Thyptyllic",chroma:"100110111011",names:{Zeitler:["Thyptyllic"],Dozenal:["WECian"],zeitler:["Layllic"]}},3547:{title:"Diminishing Nonamode 9th Rotation",chroma:"110110111011",names:{Western:["Diminishing Nonamode 9th Rotation"],Zeitler:["Sadygic"],Dozenal:["WEDian"],zeitler:["Katodygic"]}},3549:{title:"Messiaen Mode 3",chroma:"101110111011",names:{Messiaen:["Messiaen Mode 3","Messiaen 3rd Mode Inversed","Third Mode Of Limited Transposition"],Western:["Tcherepnin Mode II","Tcherepnin Mode 2"],"Named After Composers":["Tcherepnin Nonatonic Mode 2"],Zeitler:["Phronygic"],Dozenal:["WEFian"],zeitler:["Zydygic"]}},3551:{title:"Sagyllian",chroma:"111110111011",names:{Zeitler:["Sagyllian"],Dozenal:["WEGian"],zeitler:["Ragyllian"]}},3553:{title:"Superlydian Augmented 342",chroma:"100001111011",names:{Bedwell:["Superlydian Augmented 342"],Dozenal:["WEHian"]}},3555:{title:"Pylyllic",chroma:"110001111011",names:{Zeitler:["Pylyllic"],Dozenal:["WEJian"],zeitler:["Raryllic"]}},3557:{title:"Thycryllic",chroma:"101001111011",names:{Zeitler:["Thycryllic"],Dozenal:["WEKian"],zeitler:["Thodyllic"]}},3559:{title:"Aerathygic",chroma:"111001111011",names:{Zeitler:["Aerathygic"],Dozenal:["WELian"],zeitler:["Rynygic"]}},3561:{title:"Pothyllic",chroma:"100101111011",names:{Zeitler:["Pothyllic"],Dozenal:["WEMian"],zeitler:["Katoryllic"]}},3563:{title:"Ionoptygic",chroma:"110101111011",names:{Zeitler:["Ionoptygic"],Dozenal:["WENian"],zeitler:["Garygic"]}},3565:{title:"Aeolorygic",chroma:"101101111011",names:{Zeitler:["Aeolorygic"],Dozenal:["WEPian"],zeitler:["Goptygic"]}},3567:{title:"Epityllian",chroma:"111101111011",names:{Zeitler:["Epityllian"],Dozenal:["WEQian"],zeitler:["Aeoryllian"]}},3569:{title:"Aeoladyllic",chroma:"100011111011",names:{Zeitler:["Aeoladyllic"],Dozenal:["WIRian"],zeitler:["Phraptyllic"]}},3571:{title:"Dyrygic",chroma:"110011111011",names:{Zeitler:["Dyrygic"],Dozenal:["WISian"],zeitler:["Phrygygic"]}},3573:{title:"Kaptygic",chroma:"101011111011",names:{Zeitler:["Kaptygic"],Dozenal:["WITian"],zeitler:["Barygic"]}},3575:{title:"Messiaen Mode 7 Rotation 1",chroma:"111011111011",names:{Messiaen:["Messiaen Mode 7 Rotation 1"],"Western Modern":["Symmetrical Decatonic"],Zeitler:["Mogyllian"],Dozenal:["WIVian"],zeitler:["Katodyllian"]}},3577:{title:"Loptygic",chroma:"100111111011",names:{Zeitler:["Loptygic"],Dozenal:["WIWian"],zeitler:["Bythygic"]}},3579:{title:"Zyphyllian",chroma:"110111111011",names:{Zeitler:["Zyphyllian"],Dozenal:["WIXian"],zeitler:["Zyphyllian"]}},3581:{title:"Epocryllian",chroma:"101111111011",names:{Zeitler:["Epocryllian"],Dozenal:["WIYian"],zeitler:["Goptyllian"]}},3583:{title:"Chromatic Undecamode 3",chroma:"111111111011",names:{"Western Modern":["Chromatic Undecamode 3","Undecatonic Chromatic 3"],Western:["Chromatic Undecamode 9th Rotation"],Zeitler:["Zylatic"],Dozenal:["RAMian"],zeitler:["Thydatic"]}},3585:{title:"Tetratonic Chromatic Descending",chroma:"100000000111",names:{"Western Modern":["Tetratonic Chromatic Descending"],Dozenal:["WIBian"]}},3587:{title:"Pentatonic Chromatic 4",chroma:"110000000111",names:{"Western Modern":["Pentatonic Chromatic 4"],Dozenal:["WICian"]}},3589:{title:"WIDian",chroma:"101000000111",names:{}},3591:{title:"WIFian",chroma:"111000000111",names:{}},3593:{title:"WIGian",chroma:"100100000111",names:{}},3595:{title:"WIHian",chroma:"110100000111",names:{}},3597:{title:"WIJian",chroma:"101100000111",names:{}},3599:{title:"Heptatonic Chromatic 4",chroma:"111100000111",names:{"Western Modern":["Heptatonic Chromatic 4"],Bedwell:["Phrygian +534"],Western:["Chromatic Heptamode 4th Rotation"],Dozenal:["WIKian"]}},3601:{title:"WILian",chroma:"100010000111",names:{}},3603:{title:"WOMian",chroma:"110010000111",names:{}},3605:{title:"OLKian",chroma:"101010000111",names:{}},3607:{title:"Alt 7653",chroma:"111010000111",names:{Bedwell:["Alt 7653"],Dozenal:["WOPian"]}},3609:{title:"WOQian",chroma:"100110000111",names:{}},3611:{title:"Alt 765",chroma:"110110000111",names:{Bedwell:["Alt 765"],Dozenal:["WORian"]}},3613:{title:"Melodic 465",chroma:"101110000111",names:{Bedwell:["Melodic 465"],Dozenal:["WOSian"]}},3615:{title:"Octatonic Chromatic 4",chroma:"111110000111",names:{"Western Modern":["Octatonic Chromatic 4"],Western:["Chromatic Octamode 5th Rotation"],Dozenal:["WOTian"]}},3617:{title:"WOVian",chroma:"100001000111",names:{}},3619:{title:"Thanimic",chroma:"110001000111",names:{Zeitler:["Thanimic"],Dozenal:["WOWian"],zeitler:["Polimic"]}},3621:{title:"Gylimic",chroma:"101001000111",names:{Zeitler:["Gylimic"],Dozenal:["WOXian"],zeitler:["Macrimic"]}},3623:{title:"Ionian 2635",chroma:"111001000111",names:{Bedwell:["Ionian 2635"],Zeitler:["Aerocrian"],Dozenal:["WOYian"],zeitler:["Mathian"]}},3625:{title:"Podimic",chroma:"100101000111",names:{Zeitler:["Podimic"],Dozenal:["WOZian"],zeitler:["Aeolaptimic"]}},3627:{title:"Neapoitan Major 65",chroma:"110101000111",names:{Bedwell:["Neapoitan Major 65"],Zeitler:["Kalian"],Dozenal:["WOBian"],zeitler:["Zonian"]}},3629:{title:"Melodic 65",chroma:"101101000111",names:{Bedwell:["Melodic 65"],Zeitler:["Boptian"],Dozenal:["WOCian"],zeitler:["Gaptian"]}},3631:{title:"Gydyllic",chroma:"111101000111",names:{Zeitler:["Gydyllic"],Dozenal:["WODian"],zeitler:["Katyryllic"]}},3633:{title:"Daptimic",chroma:"100011000111",names:{Zeitler:["Daptimic"],Dozenal:["WOFian"],zeitler:["Aeolimic"]}},3635:{title:"Ionian 265",chroma:"110011000111",names:{Bedwell:["Ionian 265"],Zeitler:["Katygian"],Dozenal:["WOGian"],zeitler:["Kolian"]}},3637:{title:"Ionian 65",chroma:"101011000111",names:{Bedwell:["Ionian 65"],Carnatic:["Raga Rageshri"],Zeitler:["Kygian"],Dozenal:["WUHian"],zeitler:["Aeraphian"]}},3639:{title:"Paptyllic",chroma:"111011000111",names:{Zeitler:["Paptyllic"],Dozenal:["WUJian"],zeitler:["Phrygyllic"]}},3641:{title:"Ionian 265",chroma:"100111000111",names:{Bedwell:["Ionian 265"],Zeitler:["Thocrian"],Dozenal:["WUKian"],zeitler:["Stonian"]}},3643:{title:"Kydyllic",chroma:"110111000111",names:{Zeitler:["Kydyllic"],Dozenal:["WULian"],zeitler:["Ronyllic"]}},3645:{title:"Zycryllic",chroma:"101111000111",names:{Zeitler:["Zycryllic"],Dozenal:["WUMian"],zeitler:["Laptyllic"]}},3647:{title:"Nonatonic Chromatic 4",chroma:"111111000111",names:{"Western Modern":["Nonatonic Chromatic 4"],Western:["Chromatic Nonamode 6th Rotation"],Zeitler:["Eporygic"],Dozenal:["SHUian"],zeitler:["Ionogygic"]}},3649:{title:"WUPian",chroma:"100000100111",names:{}},3651:{title:"WUQian",chroma:"110000100111",names:{}},3653:{title:"Sathimic",chroma:"101000100111",names:{Zeitler:["Sathimic"],Dozenal:["WURian"],zeitler:["Malimic"]}},3655:{title:"Phrygian +53",chroma:"111000100111",names:{Bedwell:["Phrygian +53"],Zeitler:["Mathian"],Dozenal:["WUSian"],zeitler:["Aerocrian"]}},3657:{title:"Epynimic",chroma:"100100100111",names:{Zeitler:["Epynimic"],Dozenal:["WUTian"],zeitler:["Tharimic"]}},3659:{title:"Phrygian +5",chroma:"110100100111",names:{Bedwell:["Phrygian +5"],Zeitler:["Polian"],Dozenal:["WUVian"],zeitler:["Moptian"]}},3661:{title:"Melodic 465",chroma:"101100100111",names:{Bedwell:["Melodic 465"],Zeitler:["Mixodorian"],Dozenal:["WUWian"],zeitler:["Epocrian"]}},3663:{title:"Sonyllic",chroma:"111100100111",names:{Zeitler:["Sonyllic"],Dozenal:["WUXian"],zeitler:["Pathyllic"]}},3665:{title:"Stalimic",chroma:"100010100111",names:{Zeitler:["Stalimic"],Dozenal:["WUYian"],zeitler:["Ranimic"]}},3667:{title:"Lydian 265",chroma:"110010100111",names:{Bedwell:["Lydian 265"],Zeitler:["Kaptian"],Dozenal:["WUZian"],zeitler:["Epythian"]}},3669:{title:"Lydian 65",chroma:"101010100111",names:{Bedwell:["Lydian 65"],Zeitler:["Mothian"],Dozenal:["WUBian"],zeitler:["Pylian"]}},3671:{title:"Aeonyllic",chroma:"111010100111",names:{Zeitler:["Aeonyllic"],Dozenal:["XABian"],zeitler:["Aerathyllic"]}},3673:{title:"Lydian 265",chroma:"100110100111",names:{Bedwell:["Lydian 265"],Zeitler:["Ranian"],Dozenal:["XACian"],zeitler:["Eparian"]}},3675:{title:"Monyllic",chroma:"110110100111",names:{Zeitler:["Monyllic"],Dozenal:["XADian"],zeitler:["Banyllic"]}},3677:{title:"Katylyllic",chroma:"101110100111",names:{Zeitler:["Katylyllic"],Dozenal:["XAFian"],zeitler:["Zythyllic"]}},3679:{title:"Rycrygic",chroma:"111110100111",names:{Zeitler:["Rycrygic"],Dozenal:["XAGian"],zeitler:["Doptygic"]}},3681:{title:"XAHian",chroma:"100001100111",names:{}},3683:{title:"Phrygian +35",chroma:"110001100111",names:{Bedwell:["Phrygian +35"],Zeitler:["Dycrian"],Dozenal:["XAJian"],zeitler:["Eponian"]}},3685:{title:"Lydian 365",chroma:"101001100111",names:{Bedwell:["Lydian 365"],Zeitler:["Kodian"],Dozenal:["XAKian"],zeitler:["Lalian"]}},3687:{title:"Zonyllic",chroma:"111001100111",names:{Zeitler:["Zonyllic"],Dozenal:["XELian"],zeitler:["Zonyllic"]}},3689:{title:"Superlydian Augmented 5",chroma:"100101100111",names:{Bedwell:["Superlydian Augmented 5"],Zeitler:["Katocrian"],Dozenal:["XEMian"],zeitler:["Zylian"]}},3691:{title:"Badyllic",chroma:"110101100111",names:{Zeitler:["Badyllic"],Dozenal:["XENian"],zeitler:["Zyptyllic"]}},3693:{title:"Epaptyllic",chroma:"101101100111",names:{Zeitler:["Epaptyllic"],Dozenal:["XEPian"],zeitler:["Molyllic"]}},3695:{title:"Kodygic",chroma:"111101100111",names:{Zeitler:["Kodygic"],Dozenal:["XEQian"],zeitler:["Zynygic"]}},3697:{title:"Superlydian Augmented 25",chroma:"100011100111",names:{Bedwell:["Superlydian Augmented 25"],Zeitler:["Ionarian"],Dozenal:["XERian"],zeitler:["Dyrian"]}},3699:{title:"Aeolylyllic",chroma:"110011100111",names:{Zeitler:["Aeolylyllic"],Dozenal:["XESian"],zeitler:["Soptyllic"]}},3701:{title:"Bagyllic",chroma:"101011100111",names:{Zeitler:["Bagyllic"],Dozenal:["XETian"],zeitler:["Ionyptyllic"]}},3703:{title:"Katalygic",chroma:"111011100111",names:{Zeitler:["Katalygic"],Dozenal:["XIVian"],zeitler:["Mylygic"]}},3705:{title:"Messiaen Mode 4 Rotation 2",chroma:"100111100111",names:{Messiaen:["Messiaen Mode 4 Rotation 2"],"Named After Composers":["Tcherepnin Octatonic Mode 4"],Zeitler:["Sydyllic"],Dozenal:["XIWian"],zeitler:["Zygyllic"]}},3707:{title:"Rynygic",chroma:"110111100111",names:{Zeitler:["Rynygic"],Dozenal:["XIXian"],zeitler:["Aerathygic"]}},3709:{title:"Locrygic",chroma:"101111100111",names:{Zeitler:["Locrygic"],Dozenal:["XIYian"],zeitler:["Panygic"]}},3711:{title:"Decatonic Chromatic 4",chroma:"111111100111",names:{"Western Modern":["Decatonic Chromatic 4"],Western:["Chromatic Decamode 7th Rotation"],Zeitler:["Dycryllian"],Dozenal:["XIZian"],zeitler:["Rygyllian"]}},3713:{title:"XIBian",chroma:"100000010111",names:{}},3715:{title:"XICian",chroma:"110000010111",names:{}},3717:{title:"XIDian",chroma:"101000010111",names:{}},3719:{title:"Phrygian+345",chroma:"111000010111",names:{Bedwell:["Phrygian+345"],Dozenal:["XOFian"]}},3721:{title:"Phragimic",chroma:"100100010111",names:{Zeitler:["Phragimic"],Dozenal:["XOGian"],zeitler:["Epalimic"]}},3723:{title:"Phrygian +45",chroma:"110100010111",names:{Bedwell:["Phrygian +45"],Zeitler:["Myptian"],Dozenal:["XOHian"],zeitler:["Karian"]}},3725:{title:"Melodic 645",chroma:"101100010111",names:{Bedwell:["Melodic 645"],Zeitler:["Kyrian"],Dozenal:["XOJian"],zeitler:["Lyptian"]}},3727:{title:"Tholyllic",chroma:"111100010111",names:{Zeitler:["Tholyllic"],Dozenal:["XOKian"],zeitler:["Eparyllic"]}},3729:{title:"Starimic",chroma:"100010010111",names:{Zeitler:["Starimic"],Dozenal:["XOLian"],zeitler:["Dyptimic"]}},3731:{title:"Phrygian +345",chroma:"110010010111",names:{Bedwell:["Phrygian +345"],Zeitler:["Aeryrian"],Dozenal:["XOMian"],zeitler:["Thyphian"]}},3733:{title:"Ionian 645",chroma:"101010010111",names:{Bedwell:["Ionian 645"],Zeitler:["Gycrian"],Dozenal:["XONian"],zeitler:["Stolian"]}},3735:{title:"Ionagyllic",chroma:"111010010111",names:{Zeitler:["Ionagyllic"],Dozenal:["XUPian"],zeitler:["Ionagyllic"]}},3737:{title:"Ionian 2645",chroma:"100110010111",names:{Bedwell:["Ionian 2645"],Zeitler:["Phrocrian"],Dozenal:["XUQian"],zeitler:["Bothian"]}},3739:{title:"Ioninyllic",chroma:"110110010111",names:{Zeitler:["Ioninyllic"],Dozenal:["XURian"],zeitler:["Rothyllic"]}},3741:{title:"Zydyllic",chroma:"101110010111",names:{Zeitler:["Zydyllic"],Dozenal:["XUSian"],zeitler:["Madyllic"]}},3743:{title:"Thadygic",chroma:"111110010111",names:{Zeitler:["Thadygic"],Dozenal:["XUTian"],zeitler:["Badygic"]}},3745:{title:"XUVian",chroma:"100001010111",names:{}},3747:{title:"Superlydian Augmented 245",chroma:"110001010111",names:{Bedwell:["Superlydian Augmented 245"],Zeitler:["Myrian"],Dozenal:["XUWian"],zeitler:["Stocrian"]}},3749:{title:"Raga Sorati",chroma:"101001010111",names:{Carnatic:["Raga Sorati"],Bedwell:["Ionian 3645"],"Unknown / Unsorted":["Sur Malhar"],Zeitler:["Zothian"],Dozenal:["XUXian"],zeitler:["Dadian"]}},3751:{title:"Aerathyllic",chroma:"111001010111",names:{Zeitler:["Aerathyllic"],Dozenal:["YABian"],zeitler:["Aeonyllic"]}},3753:{title:"Superlydian Augmented 45",chroma:"100101010111",names:{Bedwell:["Superlydian Augmented 45"],Zeitler:["Phraptian"],Dozenal:["YACian"],zeitler:["Molian"]}},3755:{title:"Phryryllic",chroma:"110101010111",names:{Zeitler:["Phryryllic"],Dozenal:["YADian"],zeitler:["Ionaptyllic"]}},3757:{title:"Raga Mian Ki Malhar",chroma:"101101010111",names:{Carnatic:["Raga Mian Ki Malhar"],"Jazz and Blues":["Dorian Bebop Alternate"],"Unknown / Unsorted":["Bahar","Sindhura"],Zeitler:["Goptyllic"],Dozenal:["YAFian"],zeitler:["Gothyllic"]}},3759:{title:"Darygic",chroma:"111101010111",names:{Zeitler:["Darygic"],Dozenal:["YAGian"],zeitler:["Monygic"]}},3761:{title:"Raga Madhuri",chroma:"100011010111",names:{Carnatic:["Raga Madhuri"],Bedwell:["Superlydian Augmented 245"],Zeitler:["Ionythian"],Dozenal:["YAHian"],zeitler:["Lycrian"]}},3763:{title:"Modyllic",chroma:"110011010111",names:{Zeitler:["Modyllic"],Dozenal:["YAJian"],zeitler:["Phrathyllic"]}},3765:{title:"Dominant Bebop",chroma:"101011010111",names:{"Jazz and Blues":["Dominant Bebop","Bebop Dominant"],Western:["Gregorian Nr.6","Quartal Octamode 8th Rotation"],"Western Mixed":["Mixionian","Major/Mixolydian Mixed","Ionian/Mixolydian Mixed"],"Ancient Greek":["Genus Diatonicum"],Carnatic:["Raga Khamaj"],"Unknown / Unsorted":["Desh Malhar","Devagandhari","Bihagara","Rast"],Hindustani:["Alhaiya Bilaval"],"Gregorian Numbered":["Gregorian Number 6"],Exoticisms:["Chinese Eight-Tone"],Zeitler:["Aerycryllic"],Dozenal:["YAKian"],zeitler:["Godyllic"]}},3767:{title:"Chromatic Bebop",chroma:"111011010111",names:{"Jazz and Blues":["Chromatic Bebop"],Zeitler:["Bacrygic"],Dozenal:["YALian"],zeitler:["Aeralygic"]}},3769:{title:"Aeracryllic",chroma:"100111010111",names:{Zeitler:["Aeracryllic"],Dozenal:["YAMian"],zeitler:["Dathyllic"]}},3771:{title:"Stophygic",chroma:"110111010111",names:{Zeitler:["Stophygic"],Dozenal:["YANian"],zeitler:["Aeolonygic"]}},3773:{title:"Raga Malgunji",chroma:"101111010111",names:{Carnatic:["Raga Malgunji"],"Unknown / Unsorted":["Ramdasi Malhar"],"Western Mixed":["Major/Dorian Mixed"],"Jazz and Blues":["Blues Enneatonic"],Zeitler:["Sorygic"],Dozenal:["YAPian"],zeitler:["Epithygic"]}},3775:{title:"Loptyllian",chroma:"111111010111",names:{Zeitler:["Loptyllian"],Dozenal:["YAQian"],zeitler:["Dagyllian"]}},3777:{title:"YARian",chroma:"100000110111",names:{}},3779:{title:"Superlydian Augmented 2345",chroma:"110000110111",names:{Bedwell:["Superlydian Augmented 2345"],Dozenal:["YASian"]}},3781:{title:"Ionian 6345",chroma:"101000110111",names:{Bedwell:["Ionian 6345"],Zeitler:["Gyphian"],Dozenal:["YATian"],zeitler:["Thoptian"]}},3783:{title:"Phrygyllic",chroma:"111000110111",names:{Zeitler:["Phrygyllic"],Dozenal:["YAVian"],zeitler:["Paptyllic"]}},3785:{title:"Superlydian Augmented 345",chroma:"100100110111",names:{Bedwell:["Superlydian Augmented 345"],Zeitler:["Epagian"],Dozenal:["YEWian"],zeitler:["Gadian"]}},3787:{title:"Kagyllic",chroma:"110100110111",names:{Zeitler:["Kagyllic"],Dozenal:["YEXian"],zeitler:["Daptyllic"]}},3789:{title:"Eporyllic",chroma:"101100110111",names:{Zeitler:["Eporyllic"],Dozenal:["YEYian"],zeitler:["Stanyllic"]}},3791:{title:"Stodygic",chroma:"111100110111",names:{Zeitler:["Stodygic"],Dozenal:["YEZian"],zeitler:["Eparygic"]}},3793:{title:"Superlydian Augmented 2345",chroma:"100010110111",names:{Bedwell:["Superlydian Augmented 2345"],Zeitler:["Aeopian"],Dozenal:["YEBian"],zeitler:["Macrian"]}},3795:{title:"Epothyllic",chroma:"110010110111",names:{Zeitler:["Epothyllic"],Dozenal:["YECian"],zeitler:["Daryllic"]}},3797:{title:"Bebop Lydian Dominant",chroma:"101010110111",names:{"Jazz and Blues":["Bebop Lydian Dominant"],Western:["Spanish Octamode 8th Rotation"],Zeitler:["Rocryllic"],Dozenal:["YEDian"],zeitler:["Staptyllic"]}},3799:{title:"Aeralygic",chroma:"111010110111",names:{Zeitler:["Aeralygic"],Dozenal:["YEFian"],zeitler:["Bacrygic"]}},3801:{title:"Maptyllic",chroma:"100110110111",names:{Zeitler:["Maptyllic"],Dozenal:["YEGian"],zeitler:["Phroptyllic"]}},3803:{title:"Epidygic",chroma:"110110110111",names:{Zeitler:["Epidygic"],Dozenal:["YEHian"],zeitler:["Epolygic"]}},3805:{title:"Moptygic",chroma:"101110110111",names:{Zeitler:["Moptygic"],Dozenal:["YEJian"],zeitler:["Zyrygic"]}},3807:{title:"Bagyllian",chroma:"111110110111",names:{Zeitler:["Bagyllian"],Dozenal:["YEKian"],zeitler:["Styptyllian"]}},3809:{title:"Superlydian Augmented 3452",chroma:"100001110111",names:{Bedwell:["Superlydian Augmented 3452"],Dozenal:["YELian"]}},3811:{title:"Epogyllic",chroma:"110001110111",names:{Zeitler:["Epogyllic"],Dozenal:["YEMian"],zeitler:["Bynyllic"]}},3813:{title:"Aeologyllic",chroma:"101001110111",names:{Zeitler:["Aeologyllic"],Dozenal:["YENian"],zeitler:["Rathyllic"]}},3815:{title:"Mylygic",chroma:"111001110111",names:{Zeitler:["Mylygic"],Dozenal:["YEPian"],zeitler:["Katalygic"]}},3817:{title:"Zoryllic",chroma:"100101110111",names:{Zeitler:["Zoryllic"],Dozenal:["YEQian"],zeitler:["Thorcryllic"]}},3819:{title:"Aeolanygic",chroma:"110101110111",names:{Zeitler:["Aeolanygic"],Dozenal:["YIRian"],zeitler:["Kynygic"]}},3821:{title:"Diminishing Nonamode 8th Rotation",chroma:"101101110111",names:{Western:["Diminishing Nonamode 8th Rotation"],Zeitler:["Epyrygic"],Dozenal:["YISian"],zeitler:["Modygic"]}},3823:{title:"Epinyllian",chroma:"111101110111",names:{Zeitler:["Epinyllian"],Dozenal:["YITian"],zeitler:["Katagyllian"]}},3825:{title:"Pynyllic",chroma:"100011110111",names:{Zeitler:["Pynyllic"],Dozenal:["YIVian"],zeitler:["Kogyllic"]}},3827:{title:"Dorygic",chroma:"110011110111",names:{Zeitler:["Dorygic"],Dozenal:["YIWian"],zeitler:["Tholygic"]}},3829:{title:"Taishikichô",chroma:"101011110111",names:{Japanese:["Taishikichô","Ryo"],Carnatic:["Raga Chayanat"],"Western Mixed":["Lydian/Mixolydian Mixed"],Zeitler:["Aerycrygic"],Dozenal:["YIXian"],zeitler:["Zylygic"]}},3831:{title:"Ionyllian",chroma:"111011110111",names:{Zeitler:["Ionyllian"],Dozenal:["YIYian"],zeitler:["Ionyllian"]}},3833:{title:"Dycrygic",chroma:"100111110111",names:{Zeitler:["Dycrygic"],Dozenal:["YIZian"],zeitler:["Zoptygic"]}},3835:{title:"Messiaen Mode 7 Rotation 2",chroma:"110111110111",names:{Messiaen:["Messiaen Mode 7 Rotation 2","Messiaen Mode 7 Inverse"],Zeitler:["Katodyllian"],Dozenal:["YIBian"],zeitler:["Mogyllian"]}},3837:{title:"Minor Pentatonic With Leading Tones",chroma:"101111110111",names:{"Western Modern":["Minor Pentatonic With Leading Tones"],Zeitler:["Garyllian"],Dozenal:["YICian"],zeitler:["Solyllian"]}},3839:{title:"Chromatic Undecamode 4",chroma:"111111110111",names:{"Western Modern":["Chromatic Undecamode 4","Undecatonic Chromatic 4"],Western:["Chromatic Undecamode 8th Rotation"],Zeitler:["Mixolatic"],Dozenal:["COWian"],zeitler:["Aeolatic"]}},3841:{title:"Pentatonic Chromatic Descending",chroma:"100000001111",names:{"Western Modern":["Pentatonic Chromatic Descending"],Dozenal:["YIFian"]}},3843:{title:"Hexatonic Chromatic 5",chroma:"110000001111",names:{"Western Modern":["Hexatonic Chromatic 5"],Dozenal:["YIGian"]}},3845:{title:"YIHian",chroma:"101000001111",names:{}},3847:{title:"Heptatonic Chromatic 5",chroma:"111000001111",names:{"Western Modern":["Heptatonic Chromatic 5"],Bedwell:["Phrygian +534"],Western:["Chromatic Heptamode 3rd Rotation"],Dozenal:["YIJian"]}},3849:{title:"YIKian",chroma:"100100001111",names:{}},3851:{title:"Phrygian +54",chroma:"110100001111",names:{Bedwell:["Phrygian +54"],Dozenal:["YILian"]}},3853:{title:"Melodic 654",chroma:"101100001111",names:{Bedwell:["Melodic 654"],Dozenal:["YOMian"]}},3855:{title:"Octatonic Chromatic 5",chroma:"111100001111",names:{"Western Modern":["Octatonic Chromatic 5"],Western:["Chromatic Octamode 4th Rotation"],Dozenal:["YONian"]}},3857:{title:"Ponimic",chroma:"100010001111",names:{Zeitler:["Ponimic"],Dozenal:["YOPian"],zeitler:["Thydimic"]}},3859:{title:"Ionian 2654",chroma:"110010001111",names:{Bedwell:["Ionian 2654"],Zeitler:["Aeolarian"],Dozenal:["YOQian"],zeitler:["Katydian"]}},3861:{title:"Ionian 654",chroma:"101010001111",names:{Bedwell:["Ionian 654"],Zeitler:["Phroptian"],Dozenal:["YORian"],zeitler:["Galian"]}},3863:{title:"Eparyllic",chroma:"111010001111",names:{Zeitler:["Eparyllic"],Dozenal:["YOSian"],zeitler:["Tholyllic"]}},3865:{title:"Ionian 2654",chroma:"100110001111",names:{Bedwell:["Ionian 2654"],Zeitler:["Starian"],Dozenal:["YOTian"],zeitler:["Thagian"]}},3867:{title:"Storyllic",chroma:"110110001111",names:{Zeitler:["Storyllic"],Dozenal:["YOVian"],zeitler:["Gyryllic"]}},3869:{title:"Bygyllic",chroma:"101110001111",names:{Zeitler:["Bygyllic"],Dozenal:["YOWian"],zeitler:["Dygyllic"]}},3871:{title:"Nonatonic Chromatic 5",chroma:"111110001111",names:{"Western Modern":["Nonatonic Chromatic 5"],Western:["Chromatic Nonamode 5th Rotation"],Zeitler:["Aerynygic"],Dozenal:["YOXian"],zeitler:["Thyptygic"]}},3873:{title:"YOYian",chroma:"100001001111",names:{}},3875:{title:"Superlydian Augmented 254",chroma:"110001001111",names:{Bedwell:["Superlydian Augmented 254"],Zeitler:["Aeryptian"],Dozenal:["YOZian"],zeitler:["Pacrian"]}},3877:{title:"Ionian 3654",chroma:"101001001111",names:{Bedwell:["Ionian 3654"],Zeitler:["Thanian"],Dozenal:["YOBian"],zeitler:["Dothian"]}},3879:{title:"Pathyllic",chroma:"111001001111",names:{Zeitler:["Pathyllic"],Dozenal:["YOCian"],zeitler:["Sonyllic"]}},3881:{title:"Superlydian Augmented 54",chroma:"100101001111",names:{Bedwell:["Superlydian Augmented 54"],Zeitler:["Morian"],Dozenal:["YODian"],zeitler:["Katorian"]}},3883:{title:"Kyryllic",chroma:"110101001111",names:{Zeitler:["Kyryllic"],Dozenal:["YOFian"],zeitler:["Katocryllic"]}},3885:{title:"Styryllic",chroma:"101101001111",names:{Zeitler:["Styryllic"],Dozenal:["YOGian"],zeitler:["Aeragyllic"]}},3887:{title:"Phrathygic",chroma:"111101001111",names:{Zeitler:["Phrathygic"],Dozenal:["YUHian"],zeitler:["Lynygic"]}},3889:{title:"Superlydian Augmented 254",chroma:"100011001111",names:{Bedwell:["Superlydian Augmented 254"],Zeitler:["Parian"],Dozenal:["YUJian"],zeitler:["Dylian"]}},3891:{title:"Ryryllic",chroma:"110011001111",names:{Zeitler:["Ryryllic"],Dozenal:["YUKian"],zeitler:["Pythyllic"]}},3893:{title:"Phrocryllic",chroma:"101011001111",names:{Zeitler:["Phrocryllic"],Dozenal:["YULian"],zeitler:["Katydyllic"]}},3895:{title:"Eparygic",chroma:"111011001111",names:{Zeitler:["Eparygic"],Dozenal:["YUMian"],zeitler:["Stodygic"]}},3897:{title:"Locryllic",chroma:"100111001111",names:{Zeitler:["Locryllic"],Dozenal:["YUNian"],zeitler:["Epyryllic"]}},3899:{title:"Katorygic",chroma:"110111001111",names:{Zeitler:["Katorygic"],Dozenal:["YUPian"],zeitler:["Aeroptygic"]}},3901:{title:"Bycrygic",chroma:"101111001111",names:{Zeitler:["Bycrygic"],Dozenal:["YUQian"],zeitler:["Aeracrygic"]}},3903:{title:"Decatonic Chromatic 5",chroma:"111111001111",names:{"Western Modern":["Decatonic Chromatic 5"],Western:["Chromatic Decamode 6th Rotation"],Zeitler:["Aeogyllian"],Dozenal:["YURian"],zeitler:["Thogyllian"]}},3905:{title:"YUSian",chroma:"100000101111",names:{}},3907:{title:"Superlydian Augmented 2354",chroma:"110000101111",names:{Bedwell:["Superlydian Augmented 2354"],Dozenal:["YUTian"]}},3909:{title:"Superlydian Augmented 2354",chroma:"101000101111",names:{Bedwell:["Superlydian Augmented 2354"],Zeitler:["Rydian"],Dozenal:["YUVian"],zeitler:["Aerolian"]}},3911:{title:"Katyryllic",chroma:"111000101111",names:{Zeitler:["Katyryllic"],Dozenal:["YUWian"],zeitler:["Gydyllic"]}},3913:{title:"Bonian",chroma:"100100101111",names:{Zeitler:["Bonian"],Dozenal:["YUXian"],zeitler:["Gynian"]}},3915:{title:"Gogyllic",chroma:"110100101111",names:{Zeitler:["Gogyllic"],Dozenal:["YUYian"],zeitler:["Kygyllic"]}},3917:{title:"Epaphyllic",chroma:"101100101111",names:{Zeitler:["Epaphyllic"],Dozenal:["YUZian"],zeitler:["Aerogyllic"]}},3919:{title:"Lynygic",chroma:"111100101111",names:{Zeitler:["Lynygic"],Dozenal:["YUBian"],zeitler:["Phrathygic"]}},3921:{title:"Superlydian Augmented 2354",chroma:"100010101111",names:{Bedwell:["Superlydian Augmented 2354"],Zeitler:["Pythian"],Dozenal:["ZABian"],zeitler:["Konian"]}},3923:{title:"Stoptyllic",chroma:"110010101111",names:{Zeitler:["Stoptyllic"],Dozenal:["ZACian"],zeitler:["Aeolonyllic"]}},3925:{title:"Thyryllic",chroma:"101010101111",names:{Zeitler:["Thyryllic"],Dozenal:["ZADian"],zeitler:["Gynyllic"]}},3927:{title:"Monygic",chroma:"111010101111",names:{Zeitler:["Monygic"],Dozenal:["ZAFian"],zeitler:["Darygic"]}},3929:{title:"Aeolothyllic",chroma:"100110101111",names:{Zeitler:["Aeolothyllic"],Dozenal:["ZAGian"],zeitler:["Rycryllic"]}},3931:{title:"Aerygic",chroma:"110110101111",names:{Zeitler:["Aerygic"],Dozenal:["ZAHian"],zeitler:["Zyphygic"]}},3933:{title:"Ionidygic",chroma:"101110101111",names:{Zeitler:["Ionidygic"],Dozenal:["ZAJian"],zeitler:["Zanygic"]}},3935:{title:"Kataphyllian",chroma:"111110101111",names:{Zeitler:["Kataphyllian"],Dozenal:["ZAKian"],zeitler:["Phradyllian"]}},3937:{title:"Superlydian Augmented 3524",chroma:"100001101111",names:{Bedwell:["Superlydian Augmented 3524"],Dozenal:["ZALian"]}},3939:{title:"Dogyllic",chroma:"110001101111",names:{Zeitler:["Dogyllic"],Dozenal:["ZAMian"],zeitler:["Mixonyllic"]}},3941:{title:"Stathyllic",chroma:"101001101111",names:{Zeitler:["Stathyllic"],Dozenal:["ZANian"],zeitler:["Lylyllic"]}},3943:{title:"Zynygic",chroma:"111001101111",names:{Zeitler:["Zynygic"],Dozenal:["ZAPian"],zeitler:["Kodygic"]}},3945:{title:"Lydyllic",chroma:"100101101111",names:{Zeitler:["Lydyllic"],Dozenal:["ZAQian"],zeitler:["Lothyllic"]}},3947:{title:"Ryptygic",chroma:"110101101111",names:{Zeitler:["Ryptygic"],Dozenal:["GIRian"],zeitler:["Lythygic"]}},3949:{title:"Koptygic",chroma:"101101101111",names:{Zeitler:["Koptygic"],Dozenal:["ZASian"],zeitler:["Rodygic"]}},3951:{title:"Mathyllian",chroma:"111101101111",names:{Zeitler:["Mathyllian"],Dozenal:["ZATian"],zeitler:["Mathyllian"]}},3953:{title:"Thagyllic",chroma:"100011101111",names:{Zeitler:["Thagyllic"],Dozenal:["ZAVian"],zeitler:["Lodyllic"]}},3955:{title:"Galygic",chroma:"110011101111",names:{Zeitler:["Galygic"],Dozenal:["ZEWian"],zeitler:["Mixodygic"]}},3957:{title:"Porygic",chroma:"101011101111",names:{Zeitler:["Porygic"],Dozenal:["ZEXian"],zeitler:["Epilygic"]}},3959:{title:"Katagyllian",chroma:"111011101111",names:{Zeitler:["Katagyllian"],Dozenal:["ZEYian"],zeitler:["Epinyllian"]}},3961:{title:"Mixolydygic",chroma:"100111101111",names:{Zeitler:["Mixolydygic"],Dozenal:["ZEZian"],zeitler:["Dydygic"]}},3963:{title:"Aeoryllian",chroma:"110111101111",names:{Zeitler:["Aeoryllian"],Dozenal:["ZEBian"],zeitler:["Epityllian"]}},3965:{title:"Messiaen Mode 7 Rotation 3",chroma:"101111101111",names:{Messiaen:["Messiaen Mode 7 Rotation 3","Messiaen 7th Mode Inversed"],Zeitler:["Thydyllian"],Dozenal:["ZECian"],zeitler:["Lyryllian"]}},3967:{title:"Chromatic Undecamode 5",chroma:"111111101111",names:{"Western Modern":["Chromatic Undecamode 5","Undecatonic Chromatic 5"],Western:["Chromatic Undecamode 7th Rotation"],Zeitler:["Soratic"],Dozenal:["CATian"],zeitler:["Ionatic"]}},3969:{title:"Hexatonic Chromatic Descending",chroma:"100000011111",names:{"Western Modern":["Hexatonic Chromatic Descending"],Dozenal:["ZEFian"]}},3971:{title:"Superlydian Augmented 2534",chroma:"110000011111",names:{Bedwell:["Superlydian Augmented 2534"],"Western Modern":["Heptatonic Chromatic 6"],Western:["Chromatic Heptamode 2nd Rotation"],Dozenal:["ZEGian"]}},3973:{title:"Superlydian Augmented 2534",chroma:"101000011111",names:{Bedwell:["Superlydian Augmented 2534"],Dozenal:["ZEHian"]}},3975:{title:"Octatonic Chromatic 6",chroma:"111000011111",names:{"Western Modern":["Octatonic Chromatic 6"],Western:["Chromatic Octamode 3rd Rotation"],Dozenal:["ZEJian"]}},3977:{title:"Superlydian Augmented 534",chroma:"100100011111",names:{Bedwell:["Superlydian Augmented 534"],Zeitler:["Kythian"],Dozenal:["ZEKian"],zeitler:["Epydian"]}},3979:{title:"Dynyllic",chroma:"110100011111",names:{Zeitler:["Dynyllic"],Dozenal:["ZELian"],zeitler:["Bonyllic"]}},3981:{title:"Phrycryllic",chroma:"101100011111",names:{Zeitler:["Phrycryllic"],Dozenal:["ZEMian"],zeitler:["Phracryllic"]}},3983:{title:"Nonatonic Chromatic 6",chroma:"111100011111",names:{"Western Modern":["Nonatonic Chromatic 6"],Western:["Chromatic Nonamode 4th Rotation"],Zeitler:["Thyptygic"],Dozenal:["ZENian"],zeitler:["Aerynygic"]}},3985:{title:"Superlydian Augmented 2534",chroma:"100010011111",names:{Bedwell:["Superlydian Augmented 2534"],Zeitler:["Thadian"],Dozenal:["ZEPian"],zeitler:["Mygian"]}},3987:{title:"Loryllic",chroma:"110010011111",names:{Zeitler:["Loryllic"],Dozenal:["ZEQian"],zeitler:["Kataptyllic"]}},3989:{title:"Sythyllic",chroma:"101010011111",names:{Zeitler:["Sythyllic"],Dozenal:["KODian"],zeitler:["Zocryllic"]}},3991:{title:"Badygic",chroma:"111010011111",names:{Zeitler:["Badygic"],Dozenal:["ZISian"],zeitler:["Thadygic"]}},3993:{title:"Ioniptyllic",chroma:"100110011111",names:{Zeitler:["Ioniptyllic"],Dozenal:["ZITian"],zeitler:["Ionathyllic"]}},3995:{title:"Ionygic",chroma:"110110011111",names:{Zeitler:["Ionygic"],Dozenal:["ZIVian"],zeitler:["Byptygic"]}},3997:{title:"Dogygic",chroma:"101110011111",names:{Zeitler:["Dogygic"],Dozenal:["ZIWian"],zeitler:["Gaptygic"]}},3999:{title:"Decatonic Chromatic 6",chroma:"111110011111",names:{"Western Modern":["Decatonic Chromatic 6"],Western:["Chromatic Decamode 5th Rotation"],Zeitler:["Dydyllian"],Dozenal:["ZIXian"],zeitler:["Dydyllian"]}},4001:{title:"Superlydian Augmented 5234",chroma:"100001011111",names:{Bedwell:["Superlydian Augmented 5234"],Dozenal:["ZIYian"]}},4003:{title:"Sadyllic",chroma:"110001011111",names:{Zeitler:["Sadyllic"],Dozenal:["ZIZian"],zeitler:["Thynyllic"]}},4005:{title:"Phradyllic",chroma:"101001011111",names:{Zeitler:["Phradyllic"],Dozenal:["ZIBian"],zeitler:["Thocryllic"]}},4007:{title:"Doptygic",chroma:"111001011111",names:{Zeitler:["Doptygic"],Dozenal:["ZICian"],zeitler:["Rycrygic"]}},4009:{title:"Phranyllic",chroma:"100101011111",names:{Zeitler:["Phranyllic"],Dozenal:["ZIDian"],zeitler:["Zanyllic"]}},4011:{title:"Styrygic",chroma:"110101011111",names:{Zeitler:["Styrygic"],Dozenal:["ZIFian"],zeitler:["Lothygic"]}},4013:{title:"Raga Pilu",chroma:"101101011111",names:{Carnatic:["Raga Pilu"],"Western Modern":["Full Minor"],Zeitler:["Dathygic"],Dozenal:["ZIGian"],zeitler:["Katygic"]}},4015:{title:"Phradyllian",chroma:"111101011111",names:{Zeitler:["Phradyllian"],Dozenal:["ZIHian"],zeitler:["Kataphyllian"]}},4017:{title:"Dolyllic",chroma:"100011011111",names:{Zeitler:["Dolyllic"],Dozenal:["ZIJian"],zeitler:["Poptyllic"]}},4019:{title:"Lonygic",chroma:"110011011111",names:{Zeitler:["Lonygic"],Dozenal:["ZIKian"],zeitler:["Phroptygic"]}},4021:{title:"Raga Pahadi",chroma:"101011011111",names:{Carnatic:["Raga Pahadi"],Zeitler:["Bagygic"],Dozenal:["ZILian"],zeitler:["Gothygic"]}},4023:{title:"Styptyllian",chroma:"111011011111",names:{Zeitler:["Styptyllian"],Dozenal:["ZOMian"],zeitler:["Bagyllian"]}},4025:{title:"Kalygic",chroma:"100111011111",names:{Zeitler:["Kalygic"],Dozenal:["ZONian"],zeitler:["Phradygic"]}},4027:{title:"Ragyllian",chroma:"110111011111",names:{Zeitler:["Ragyllian"],Dozenal:["ZOPian"],zeitler:["Sagyllian"]}},4029:{title:"Major/Minor Mixed",chroma:"101111011111",names:{"Western Mixed":["Major/Minor Mixed"],Zeitler:["Aerycryllian"],Dozenal:["ZOQian"],zeitler:["Godyllian"]}},4031:{title:"Chromatic Undecamode 6",chroma:"111111011111",names:{"Western Modern":["Chromatic Undecamode 6","Undecatonic Chromatic 6"],Western:["Chromatic Undecamode 6th Rotation"],Zeitler:["Godatic"],Dozenal:["BATian"],zeitler:["Eptatic"]}},4033:{title:"Alt-Maximus",chroma:"100000111111",names:{Bedwell:["Alt-Maximus"],"Western Modern":["Heptatonic Chromatic Descending"],Western:["Chromatic Heptamode 1stRotation"],Dozenal:["ZOSian"]}},4035:{title:"Octatonic Chromatic 7",chroma:"110000111111",names:{"Western Modern":["Octatonic Chromatic 7"],Western:["Chromatic Octamode 2nd Rotation"],Dozenal:["ZOTian"]}},4037:{title:"Ionyllic",chroma:"101000111111",names:{Zeitler:["Ionyllic"],Dozenal:["ZOVian"],zeitler:["Aerylyllic"]}},4039:{title:"Nonatonic Chromatic 7",chroma:"111000111111",names:{"Western Modern":["Nonatonic Chromatic 7"],Western:["Chromatic Nonamode 3rd Rotation"],Zeitler:["Ionogygic"],Dozenal:["ZOWian"],zeitler:["Eporygic"]}},4041:{title:"Zaryllic",chroma:"100100111111",names:{Zeitler:["Zaryllic"],Dozenal:["ZOXian"],zeitler:["Laryllic"]}},4043:{title:"Phrocrygic",chroma:"110100111111",names:{Zeitler:["Phrocrygic"],Dozenal:["ZOYian"],zeitler:["Aeolynygic"]}},4045:{title:"Gyptygic",chroma:"101100111111",names:{Zeitler:["Gyptygic"],Dozenal:["ZOZian"],zeitler:["Stadygic"]}},4047:{title:"Decatonic Chromatic 7",chroma:"111100111111",names:{"Western Modern":["Decatonic Chromatic 7"],Western:["Chromatic Decamode 4th Rotation"],Zeitler:["Thogyllian"],Dozenal:["ZOBian"],zeitler:["Aeogyllian"]}},4049:{title:"Stycryllic",chroma:"100010111111",names:{Zeitler:["Stycryllic"],Dozenal:["ZOCian"],zeitler:["Dacryllic"]}},4051:{title:"Ionilygic",chroma:"110010111111",names:{Zeitler:["Ionilygic"],Dozenal:["ZODian"],zeitler:["Pyrygic"]}},4053:{title:"Kyrygic",chroma:"101010111111",names:{Zeitler:["Kyrygic"],Dozenal:["ZOFian"],zeitler:["Sylygic"]}},4055:{title:"Dagyllian",chroma:"111010111111",names:{Zeitler:["Dagyllian"],Dozenal:["ZOGian"],zeitler:["Loptyllian"]}},4057:{title:"Phrygic",chroma:"100110111111",names:{Zeitler:["Phrygic"],Dozenal:["ZUHian"],zeitler:["Aeolocrygic"]}},4059:{title:"Zolyllian",chroma:"110110111111",names:{Zeitler:["Zolyllian"],Dozenal:["ZUJian"],zeitler:["Boptyllian"]}},4061:{title:"Staptyllian",chroma:"101110111111",names:{Zeitler:["Staptyllian"],Dozenal:["ZUKian"],zeitler:["Zyryllian"]}},4063:{title:"Chromatic Undecamode 7",chroma:"111110111111",names:{"Western Modern":["Chromatic Undecamode 7","Undecatonic Chromatic 7"],Western:["Chromatic Undecamode Basic","Chromatic Undecamode 5th Rotation"],Zeitler:["Eptatic"],Dozenal:["DOGian"],zeitler:["Godatic"]}},4065:{title:"Octatonic Chromatic Descending",chroma:"100001111111",names:{"Western Modern":["Octatonic Chromatic Descending"],Western:["Chromatic Octamode 1st Rotation"],Dozenal:["APLian"]}},4067:{title:"Nonatonic Chromatic 8",chroma:"110001111111",names:{"Western Modern":["Nonatonic Chromatic 8"],Western:["Chromatic Nonamode 2nd Rotation"],Zeitler:["Aeolarygic"],Dozenal:["ZUNian"],zeitler:["Thaptygic"]}},4069:{title:"Starygic",chroma:"101001111111",names:{Zeitler:["Starygic"],Dozenal:["ZUPian"],zeitler:["Thacrygic"]}},4071:{title:"Decatonic Chromatic 8",chroma:"111001111111",names:{"Western Modern":["Decatonic Chromatic 8"],Western:["Chromatic Decamode 3rd Rotation"],Zeitler:["Rygyllian"],Dozenal:["ZUQian"],zeitler:["Dycryllian"]}},4073:{title:"Sathygic",chroma:"100101111111",names:{Zeitler:["Sathygic"],Dozenal:["ZURian"],zeitler:["Gythygic"]}},4075:{title:"Katyllian",chroma:"110101111111",names:{Zeitler:["Katyllian"],Dozenal:["ZUSian"],zeitler:["Ryptyllian"]}},4077:{title:"Gothyllian",chroma:"101101111111",names:{Zeitler:["Gothyllian"],Dozenal:["ZUTian"],zeitler:["Dathyllian"]}},4079:{title:"Chromatic Undecamode 8",chroma:"111101111111",names:{"Western Modern":["Chromatic Undecamode 8","Undecatonic Chromatic 8"],Western:["Chromatic Undecamode 4th Rotation"],Zeitler:["Ionatic"],Dozenal:["PIGian"],zeitler:["Soratic"]}},4081:{title:"Nonatonic Chromatic Descending",chroma:"100011111111",names:{"Western Modern":["Nonatonic Chromatic Descending"],Western:["Chromatic Nonamode Ist Rotation"],Zeitler:["Manygic"],Dozenal:["ZUWian"],zeitler:["Stanygic"]}},4083:{title:"Decatonic Chromatic 9",chroma:"110011111111",names:{"Western Modern":["Decatonic Chromatic 9"],Western:["Chromatic Decamode 2nd Rotation"],Zeitler:["Bathyllian"],Dozenal:["ZUXian"],zeitler:["Madyllian"]}},4085:{title:"Sydyllian",chroma:"101011111111",names:{Zeitler:["Sydyllian"],Dozenal:["ZUYian"],zeitler:["Aeradyllian"]}},4087:{title:"Chromatic Undecamode 9",chroma:"111011111111",names:{"Western Modern":["Chromatic Undecamode 9","Undecatonic Chromatic 9"],Western:["Chromatic Undecamode 3rd Rotation"],Zeitler:["Aeolatic"],Dozenal:["YAKian"],zeitler:["Mixolatic"]}},4089:{title:"Decatonic Chromatic Descending",chroma:"100111111111",names:{"Western Modern":["Decatonic Chromatic Descending"],Zeitler:["Katoryllian"],Dozenal:["ZUBian"],zeitler:["Zogyllian"]}},4091:{title:"Chromatic Undecamode 10",chroma:"110111111111",names:{"Western Modern":["Chromatic Undecamode 10","Undecatonic Chromatic 10"],Western:["Chromatic Undecamode 2nd Rotation"],Zeitler:["Thydatic"],Dozenal:["EELian"],zeitler:["Zylatic"]}},4093:{title:"Chromatic Undecamode 11",chroma:"101111111111",names:{"Western Modern":["Chromatic Undecamode 11","Undecatonic Chromatic Descending"],Western:["Chromatic Undecamode 1st Rotation"],Zeitler:["Aerycratic"],Dozenal:["FLYian"],zeitler:["Solatic"]}},4095:{title:"Chromatic",chroma:"111111111111",names:{Western:["Chromatic","Twelve-tone Chromatic"],Zeitler:["Chromatic"],Dozenal:["CROMian"],zeitler:["Chromatic"]}}},u={class:"flex flex-col gap-4 p-4"},S={class:"flex flex-wrap"},C={class:"text-xl"},I={class:"flex flex-wrap"},P={class:"flex flex-wrap gap-4 p-1"},T={class:"op-70"},k={__name:"ScaleList",setup(L){const r=p(()=>Object.values(B).find(o=>o.chroma==t.chroma));return(o,c)=>{var m;const D=A,Z=M;return e(),i("div",u,[n("div",S,[s(D,{class:"flex-1",style:{flex:"0 1 300px"}}),s(Z,{style:{flex:"1 1 60%"},chroma:y(t).chroma,"onUpdate:chroma":c[0]||(c[0]=a=>y(t).chroma=a),editable:""},{default:R(()=>{var a;return[n("div",C,l((a=r.value)==null?void 0:a.title),1)]}),_:1},8,["chroma"])]),n("div",I,[(e(!0),i(z,null,d((m=r.value)==null?void 0:m.names,(a,g)=>(e(),i("div",P,[n("div",T,l(g)+":",1),(e(!0),i(z,null,d(a,h=>(e(),i("div",{class:"p-0",key:h},l(h),1))),128))]))),256))])])}}};export{k as default}; +import{_ as M}from"./ChromaRow.BRQuQvqH.js";import{g as t,aw as A}from"./theme.Dd_Fb62b.js";import{c as p,x as e,y as i,A as n,P as s,U as R,G as l,E as y,F as z,B as d}from"./framework.CQBrk0Ry.js";const B={1:{title:"Unison",chroma:"100000000000",names:{"Western Modern":["Unison","Monotonic"],Dozenal:["0ian"]}},3:{title:"Minor Second Ditone",chroma:"110000000000",names:{Intervals:["Minor Second Ditone"],Western:["Semitone"],"Western Modern":["Hemitone Prime","Duotonic Chromatic"],Dozenal:["1ian"]}},5:{title:"Vietnamese Ditonic",chroma:"101000000000",names:{Exoticisms:["Vietnamese Ditonic"],Intervals:["Whole Tone Ditone"],"Southeast Asia":["Karen 2 Tone","Kmhmu 2 Tone Type 2"],Dozenal:["2ian"]}},7:{title:"Tritonic Chromatic",chroma:"111000000000",names:{"Western Modern":["Tritonic Chromatic","Chromatic Trichord"],Dozenal:["ABOian"]}},9:{title:"Minor Third Ditone",chroma:"100100000000",names:{Intervals:["Minor Third Ditone"],Dozenal:["3ian"]}},11:{title:"Octatonic Trichord",chroma:"110100000000",names:{Dozenal:["ANKian"],"Western Modern":["Octatonic Trichord"]}},13:{title:"DIJian",chroma:"101100000000",names:{}},15:{title:"Tetratonic Chromatic",chroma:"111100000000",names:{"Western Modern":["Tetratonic Chromatic"],Dozenal:["TEJian"]}},17:{title:"Major Third Ditone",chroma:"100010000000",names:{Intervals:["Major Third Ditone"],Dozenal:["4ian"]}},19:{title:"Hexatonic Trichord",chroma:"110010000000",names:{Dozenal:["ACUian"],"Western Modern":["Hexatonic Trichord"]}},21:{title:"Wholetone Trichord",chroma:"101010000000",names:{Dozenal:["ACLian"],"Western Modern":["Wholetone Trichord"]}},23:{title:"APHian",chroma:"111010000000",names:{}},25:{title:"ACKian",chroma:"100110000000",names:{}},27:{title:"ADOian",chroma:"110110000000",names:{}},29:{title:"ADUian",chroma:"101110000000",names:{}},31:{title:"Pentatonic Chromatic",chroma:"111110000000",names:{"Western Modern":["Pentatonic Chromatic"],Dozenal:["AFFian"]}},33:{title:"Perfect Fourth",chroma:"100001000000",names:{Western:["Perfect Fourth"],"Southeast Asia":["MiaoYao 2 Tone"],Dozenal:["5ian"]}},35:{title:"Major Seventh Trichord",chroma:"110001000000",names:{Dozenal:["ABBian"],"Western Modern":["Major Seventh Trichord"]}},37:{title:"Akha 3 Tone",chroma:"101001000000",names:{"Southeast Asia":["Akha 3 Tone","Karen 3 Tone Type 1","Lahuzu 3 Tone Type 2"],Dozenal:["AFOian"],"Western Modern":["Minor Seventh Trichord"]}},39:{title:"AFUian",chroma:"111001000000",names:{}},41:{title:"Vietnamese Tritonic",chroma:"100101000000",names:{Exoticisms:["Vietnamese Tritonic"],"Southeast Asia":["Karen 3 Tone Type 2"],Dozenal:["ACHian"]}},43:{title:"ALFian",chroma:"110101000000",names:{}},45:{title:"APRian",chroma:"101101000000",names:{}},47:{title:"AGOian",chroma:"111101000000",names:{}},49:{title:"AGUian",chroma:"100011000000",names:{}},51:{title:"ARFian",chroma:"110011000000",names:{}},53:{title:"ABSian",chroma:"101011000000",names:{}},55:{title:"ASPian",chroma:"111011000000",names:{}},57:{title:"AHOian",chroma:"100111000000",names:{}},59:{title:"AHUian",chroma:"110111000000",names:{}},61:{title:"AJUian",chroma:"101111000000",names:{}},63:{title:"Hexatonic Chromatic",chroma:"111111000000",names:{"Western Modern":["Hexatonic Chromatic"],Dozenal:["ABLian"]}},65:{title:"Tritone",chroma:"100000100000",names:{Western:["Tritone","Diminished Fifth","Augmented Fourth"],Dozenal:["6ian"]}},67:{title:"Viennese Trichord",chroma:"110000100000",names:{Dozenal:["ABRian"],"Western Modern":["Viennese Trichord"]}},69:{title:"DEZian",chroma:"101000100000",names:{}},71:{title:"ALOian",chroma:"111000100000",names:{}},73:{title:"Diminished Triad",chroma:"100100100000",names:{"Chord Names":["Diminished Triad"],Dozenal:["DIMian"]}},75:{title:"ILOian",chroma:"110100100000",names:{}},77:{title:"ALVian",chroma:"101100100000",names:{}},79:{title:"APPian",chroma:"111100100000",names:{}},81:{title:"Karen 3 Tone Type 6",chroma:"100010100000",names:{"Southeast Asia":["Karen 3 Tone Type 6"],Dozenal:["DISian"]}},83:{title:"All-Interval Tetrachord 1",chroma:"110010100000",names:{"Western Modern":["All-Interval Tetrachord 1"],Dozenal:["AMUian"]}},85:{title:"SEGian",chroma:"101010100000",names:{}},87:{title:"ASRian",chroma:"111010100000",names:{}},89:{title:"AGGian",chroma:"100110100000",names:{}},91:{title:"ANOian",chroma:"110110100000",names:{}},93:{title:"ANUian",chroma:"101110100000",names:{}},95:{title:"ARKian",chroma:"111110100000",names:{}},97:{title:"ATHian",chroma:"100001100000",names:{}},99:{title:"IPRian",chroma:"110001100000",names:{}},101:{title:"All-Interval Tetrachord 3",chroma:"101001100000",names:{"Western Modern":["All-Interval Tetrachord 3"],Dozenal:["APOian"]}},103:{title:"APUian",chroma:"111001100000",names:{}},105:{title:"EDWian",chroma:"100101100000",names:{}},107:{title:"ANSian",chroma:"110101100000",names:{}},109:{title:"AMSian",chroma:"101101100000",names:{}},111:{title:"AROian",chroma:"111101100000",names:{}},113:{title:"ARUian",chroma:"100011100000",names:{}},115:{title:"ASHian",chroma:"110011100000",names:{}},117:{title:"ANBian",chroma:"101011100000",names:{}},119:{title:"SMOian",chroma:"111011100000",names:{}},121:{title:"ASOian",chroma:"100111100000",names:{}},123:{title:"ASUian",chroma:"110111100000",names:{}},125:{title:"ATWian",chroma:"101111100000",names:{}},127:{title:"Heptatonic Chromatic",chroma:"111111100000",names:{"Western Modern":["Heptatonic Chromatic"],Bedwell:["Alt-minimus"],Western:["Chromatic Heptamode Basic"],Dozenal:["TIZian"]}},129:{title:"Niagari Ditonic",chroma:"100000010000",names:{Japanese:["Niagari Ditonic"],"Southeast Asia":["Kmhmu 2 Tone Type 1"],Dozenal:["7ian"]}},131:{title:"ATOian",chroma:"110000010000",names:{}},133:{title:"Suspended Second Triad",chroma:"101000010000",names:{"Chord Names":["Suspended Second Triad"],"Southeast Asia":["Kmhmu 3 Tone Type 1"],Dozenal:["REPian"]}},135:{title:"ATTian",chroma:"111000010000",names:{}},137:{title:"Minor Triad",chroma:"100100010000",names:{"Chord Names":["Minor Triad"],Exoticisms:["Peruvian Tritonic 2"],Dozenal:["MINian"]}},139:{title:"All-Interval Tetrachord 2",chroma:"110100010000",names:{"Western Modern":["All-Interval Tetrachord 2"],Dozenal:["AYOian"]}},141:{title:"BABian",chroma:"101100010000",names:{}},143:{title:"BACian",chroma:"111100010000",names:{}},145:{title:"Major Triad",chroma:"100010010000",names:{"Chord Names":["Major Triad"],Carnatic:["Raga Malasri"],Exoticisms:["Peruvian Tritonic 1"],"Southeast Asia":["Kmhmu 3 Tone Type 2"],Dozenal:["MAJian"]}},147:{title:"BAFian",chroma:"110010010000",names:{}},149:{title:"Eskimo Tetratonic",chroma:"101010010000",names:{Exoticisms:["Eskimo Tetratonic"],"Southeast Asia":["Lahuzu 4 Tone Type 2"],Dozenal:["BEJian"]}},151:{title:"BAHian",chroma:"111010010000",names:{}},153:{title:"BAJian",chroma:"100110010000",names:{}},155:{title:"BAKian",chroma:"110110010000",names:{}},157:{title:"BALian",chroma:"101110010000",names:{}},159:{title:"BAMian",chroma:"111110010000",names:{}},161:{title:"Suspended Fourth Triad",chroma:"100001010000",names:{"Chord Names":["Suspended Fourth Triad"],Carnatic:["Raga Sarvasri"],Exoticisms:["Warao Tritonic"],Dozenal:["SUSian"]}},163:{title:"BAPian",chroma:"110001010000",names:{}},165:{title:"Genus Primum",chroma:"101001010000",names:{"Ancient Greek":["Genus Primum"],"Southeast Asia":["Karen 4 Tone Type 2","MiaoYao 4 Tone Type 1"],Dozenal:["BAQian"]}},167:{title:"BARian",chroma:"111001010000",names:{}},169:{title:"Vietnamese Tetratonic",chroma:"100101010000",names:{Exoticisms:["Vietnamese Tetratonic"],"Southeast Asia":["Akha 4 Tone Type 1","Lahuzu 4 Tone Type 6"],Dozenal:["BASian"]}},171:{title:"PRUian",chroma:"110101010000",names:{}},173:{title:"Raga Purnalalita",chroma:"101101010000",names:{Carnatic:["Raga Purnalalita"],Jewish:["Chad Gadyo"],African:["Ghana Pentatonic 1"],Korean:["Nando-kyemyonjo"],Dozenal:["BAVian"]}},175:{title:"BEWian",chroma:"111101010000",names:{}},177:{title:"BEXian",chroma:"100011010000",names:{}},179:{title:"BEYian",chroma:"110011010000",names:{}},181:{title:"Raga Budhamanohari",chroma:"101011010000",names:{Carnatic:["Raga Budhamanohari"],"Southeast Asia":["Khmer Pentatonic seldom"],Dozenal:["BEZian"]}},183:{title:"BEBian",chroma:"111011010000",names:{}},185:{title:"BECian",chroma:"100111010000",names:{}},187:{title:"BEDian",chroma:"110111010000",names:{}},189:{title:"BEFian",chroma:"101111010000",names:{}},191:{title:"Ultra-Alt 67",chroma:"111111010000",names:{Bedwell:["Ultra-Alt 67"],Dozenal:["BEGian"]}},193:{title:"Raga Ongkari",chroma:"100000110000",names:{Carnatic:["Raga Ongkari"],Dozenal:["BEHian"]}},195:{title:"Messiaen Mode 5 Truncation 1",chroma:"110000110000",names:{Messiaen:["Messiaen Mode 5 Truncation 1","Messiaen 5th Mode Truncated"],Dozenal:["BAGian"],"Named After Composers":["Z-cell"]}},197:{title:"BEKian",chroma:"101000110000",names:{}},199:{title:"Raga Nabhomani",chroma:"111000110000",names:{Carnatic:["Raga Nabhomani"],Dozenal:["BELian"]}},201:{title:"BEMian",chroma:"100100110000",names:{}},203:{title:"MiaoYao 5 Tone Type 3",chroma:"110100110000",names:{"Southeast Asia":["MiaoYao 5 Tone Type 3"],Dozenal:["ICHian"]}},205:{title:"BEPian",chroma:"101100110000",names:{}},207:{title:"BEQian",chroma:"111100110000",names:{}},209:{title:"All-Interval Tetrachord 4",chroma:"100010110000",names:{"Western Modern":["All-Interval Tetrachord 4"],Dozenal:["BIRian"]}},211:{title:"BISian",chroma:"110010110000",names:{}},213:{title:"BITian",chroma:"101010110000",names:{}},215:{title:"BIVian",chroma:"111010110000",names:{}},217:{title:"BIWian",chroma:"100110110000",names:{}},219:{title:"Istrian",chroma:"110110110000",names:{Exoticisms:["Istrian"],Dozenal:["BIXian"]}},221:{title:"BIYian",chroma:"101110110000",names:{}},223:{title:"Ultra-Alt 7",chroma:"111110110000",names:{Bedwell:["Ultra-Alt 7"],Dozenal:["BIZian"]}},225:{title:"BIBian",chroma:"100001110000",names:{}},227:{title:"BICian",chroma:"110001110000",names:{}},229:{title:"BIDian",chroma:"101001110000",names:{}},231:{title:"BIFian",chroma:"111001110000",names:{}},233:{title:"BIGian",chroma:"100101110000",names:{}},235:{title:"BIHian",chroma:"110101110000",names:{}},237:{title:"BIJian",chroma:"101101110000",names:{}},239:{title:"Infra-Alt 67",chroma:"111101110000",names:{Bedwell:["Infra-Alt 67"],Dozenal:["BIKian"]}},241:{title:"BILian",chroma:"100011110000",names:{}},243:{title:"BOMian",chroma:"110011110000",names:{}},245:{title:"Raga Dipak",chroma:"101011110000",names:{Carnatic:["Raga Dipak"],Dozenal:["BONian"]}},247:{title:"Infra-Alt 647",chroma:"111011110000",names:{Bedwell:["Infra-Alt 647"],Dozenal:["BOPian"]}},249:{title:"BOQian",chroma:"100111110000",names:{}},251:{title:"Alt 567",chroma:"110111110000",names:{Bedwell:["Alt 567"],Dozenal:["BORian"]}},253:{title:"Alt 2567",chroma:"101111110000",names:{Bedwell:["Alt 2567"],Dozenal:["BOSian"]}},255:{title:"Chromatic Octamode",chroma:"111111110000",names:{"Western Modern":["Chromatic Octamode","Octatonic Chromatic"],Western:["Chromatic Octamode Basic"],Dozenal:["BOTian"]}},257:{title:"Minor Sixth Ditone",chroma:"100000001000",names:{Intervals:["Minor Sixth Ditone"],Dozenal:["8ian"]}},259:{title:"GIJian",chroma:"110000001000",names:{}},261:{title:"BOZian",chroma:"101000001000",names:{}},263:{title:"UDWian",chroma:"111000001000",names:{}},265:{title:"BOXian",chroma:"100100001000",names:{}},267:{title:"BOBian",chroma:"110100001000",names:{}},269:{title:"BOCian",chroma:"101100001000",names:{}},271:{title:"BODian",chroma:"111100001000",names:{}},273:{title:"Augmented Triad",chroma:"100010001000",names:{"Chord Names":["Augmented Triad"],Zeitler:["Minoric"],Dozenal:["AUGian"]}},275:{title:"Dalic",chroma:"110010001000",names:{Zeitler:["Dalic"],Dozenal:["HUZian"]}},277:{title:"Mixolyric",chroma:"101010001000",names:{Zeitler:["Mixolyric"],Dozenal:["BUHian"]}},279:{title:"Poditonic",chroma:"111010001000",names:{Zeitler:["Poditonic"],Dozenal:["BUJian"]}},281:{title:"Lanic",chroma:"100110001000",names:{Zeitler:["Lanic"],Dozenal:["BUKian"]}},283:{title:"Aerylitonic",chroma:"110110001000",names:{Zeitler:["Aerylitonic"],Dozenal:["BULian"]}},285:{title:"Zaritonic",chroma:"101110001000",names:{Zeitler:["Zaritonic"],Dozenal:["BUMian"]}},287:{title:"Gynimic",chroma:"111110001000",names:{Zeitler:["Gynimic"],Dozenal:["BUNian"]}},289:{title:"Karen 3 Tone Type 3",chroma:"100001001000",names:{"Southeast Asia":["Karen 3 Tone Type 3","Karen 5 Tone Type 3"],Dozenal:["VALian"]}},291:{title:"Raga Lavangi",chroma:"110001001000",names:{Carnatic:["Raga Lavangi","Gowleeswari"],Zeitler:["Aerathic"],Dozenal:["MUZian"]}},293:{title:"Raga Haripriya",chroma:"101001001000",names:{Carnatic:["Raga Haripriya"],Zeitler:["Zoptic"],Dozenal:["BURian"]}},295:{title:"Gyritonic",chroma:"111001001000",names:{Zeitler:["Gyritonic"],Dozenal:["BUSian"]}},297:{title:"Karen 4 Tone Type 3",chroma:"100101001000",names:{"Southeast Asia":["Karen 4 Tone Type 3"],Zeitler:["Mynic"],Dozenal:["ARTian"]}},299:{title:"Raga Chitthakarshini",chroma:"110101001000",names:{Carnatic:["Raga Chitthakarshini"],Zeitler:["Phratonic"],Dozenal:["BUVian"]}},301:{title:"Raga Audav Tukhari",chroma:"101101001000",names:{Carnatic:["Raga Audav Tukhari"],Zeitler:["Zythitonic"],Dozenal:["BUWian"]}},303:{title:"Golimic",chroma:"111101001000",names:{Zeitler:["Golimic"],Dozenal:["BUXian"]}},305:{title:"Gonic",chroma:"100011001000",names:{Zeitler:["Gonic"],Dozenal:["BUYian"]}},307:{title:"Raga Megharanjani",chroma:"110011001000",names:{Carnatic:["Raga Megharanjani"],Exoticisms:["Syrian Pentatonic"],Zeitler:["Phrolitonic"],Dozenal:["BUZian"]}},309:{title:"Palitonic",chroma:"101011001000",names:{Zeitler:["Palitonic"],Dozenal:["BUBian"]}},311:{title:"Stagimic",chroma:"111011001000",names:{Zeitler:["Stagimic"],Dozenal:["CABian"]}},313:{title:"Goritonic",chroma:"100111001000",names:{Zeitler:["Goritonic"],Dozenal:["CACian"]}},315:{title:"Stodimic",chroma:"110111001000",names:{Zeitler:["Stodimic"],Dozenal:["CADian"]}},317:{title:"Korimic",chroma:"101111001000",names:{Zeitler:["Korimic"],Dozenal:["CAFian"]}},319:{title:"Ultra-Alt 6",chroma:"111111001000",names:{Bedwell:["Ultra-Alt 6"],Zeitler:["Epodian"],Dozenal:["CAGian"]}},321:{title:"CAHian",chroma:"100000101000",names:{}},323:{title:"CAJian",chroma:"110000101000",names:{}},325:{title:"Messiaen Truncated Mode 6",chroma:"101000101000",names:{Messiaen:["Messiaen Truncated Mode 6","T6 Prime Mode","Messiaen 6th Mode Truncated"],Zeitler:["Dadic"],Dozenal:["CARian"]}},327:{title:"Syptitonic",chroma:"111000101000",names:{Zeitler:["Syptitonic"],Dozenal:["CALian"]}},329:{title:"Lonic",chroma:"100100101000",names:{Zeitler:["Lonic"],Dozenal:["CAMian"]}},331:{title:"Raga Chhaya Todi",chroma:"110100101000",names:{Carnatic:["Raga Chhaya Todi"],"Western Modern":["Locrian Pentatonic 1"],Myanmar:["Hsikci"],Zeitler:["Byptitonic"],Dozenal:["CANian"]}},333:{title:"Bogitonic",chroma:"101100101000",names:{Zeitler:["Bogitonic"],Dozenal:["CAPian"]}},335:{title:"Zanimic",chroma:"111100101000",names:{Zeitler:["Zanimic"],Dozenal:["CAQian"]}},337:{title:"Kmhmu 4 Tone Type 2",chroma:"100010101000",names:{"Southeast Asia":["Kmhmu 4 Tone Type 2"],Myanmar:["Than you Chaukpauk Hninloun"],Zeitler:["Koptic"],Dozenal:["CAKian"]}},339:{title:"Zaptitonic",chroma:"110010101000",names:{Zeitler:["Zaptitonic"],Dozenal:["CASian"]}},341:{title:"Bothitonic",chroma:"101010101000",names:{Zeitler:["Bothitonic"],Dozenal:["FROian"]}},343:{title:"Ionorimic",chroma:"111010101000",names:{Zeitler:["Ionorimic"],Dozenal:["CAVian"]}},345:{title:"Gylitonic",chroma:"100110101000",names:{Zeitler:["Gylitonic"],Dozenal:["CEWian"]}},347:{title:"Barimic",chroma:"110110101000",names:{Zeitler:["Barimic"],Dozenal:["CEXian"]}},349:{title:"Borimic",chroma:"101110101000",names:{Zeitler:["Borimic"],Dozenal:["CEYian"]}},351:{title:"Infra-Alt 567",chroma:"111110101000",names:{Bedwell:["Infra-Alt 567"],Zeitler:["Epanian"],Dozenal:["CEZian"]}},353:{title:"CEBian",chroma:"100001101000",names:{}},355:{title:"African Pentatonic 4",chroma:"110001101000",names:{Western:["African Pentatonic 4"],Zeitler:["Aeoloritonic"],Dozenal:["CECian"]}},357:{title:"Banitonic",chroma:"101001101000",names:{Zeitler:["Banitonic"],Dozenal:["CEDian"]}},359:{title:"Bothimic",chroma:"111001101000",names:{Zeitler:["Bothimic"],Dozenal:["CEFian"]}},361:{title:"Bocritonic",chroma:"100101101000",names:{Zeitler:["Bocritonic"],Dozenal:["CEGian"]}},363:{title:"Soptimic",chroma:"110101101000",names:{Zeitler:["Soptimic"],Dozenal:["CEHian"]}},365:{title:"Marimic",chroma:"101101101000",names:{Zeitler:["Marimic"],Dozenal:["CEJian"]}},367:{title:"Infra-Alt 67",chroma:"111101101000",names:{Bedwell:["Infra-Alt 67"],Zeitler:["Aerodian"],Dozenal:["CEKian"]}},369:{title:"Laditonic",chroma:"100011101000",names:{Zeitler:["Laditonic"],Dozenal:["CELian"]}},371:{title:"Rythimic",chroma:"110011101000",names:{Zeitler:["Rythimic"],Dozenal:["CEMian"]}},373:{title:"Epagimic",chroma:"101011101000",names:{Zeitler:["Epagimic"],Dozenal:["INKian"]}},375:{title:"Infra-Alt 674",chroma:"111011101000",names:{Bedwell:["Infra-Alt 674"],Zeitler:["Sodian"],Dozenal:["CEPian"]}},377:{title:"Kathimic",chroma:"100111101000",names:{Zeitler:["Kathimic"],Dozenal:["CEQian"]}},379:{title:"Alt 567",chroma:"110111101000",names:{Bedwell:["Alt 567"],Zeitler:["Aeragian"],Dozenal:["CIRian"]}},381:{title:"Alt 2567",chroma:"101111101000",names:{Bedwell:["Alt 2567"],Zeitler:["Kogian"],Dozenal:["CISian"]}},383:{title:"Logyllic",chroma:"111111101000",names:{Zeitler:["Logyllic"],Dozenal:["CITian"]}},385:{title:"CIVian",chroma:"100000011000",names:{}},387:{title:"CIWian",chroma:"110000011000",names:{}},389:{title:"CIXian",chroma:"101000011000",names:{}},391:{title:"CIYian",chroma:"111000011000",names:{}},393:{title:"Lothic",chroma:"100100011000",names:{Zeitler:["Lothic"],Dozenal:["CIZian"]}},395:{title:"Phrygian Pentatonic",chroma:"110100011000",names:{"Western Modern":["Phrygian Pentatonic"],Exoticisms:["South-East Asian","Balinese"],Indonesian:["Balinese Pelog"],African:["Madenda Modern"],Carnatic:["Raga Bhupalam","Bibhas"],Hindustani:["Bhupala Todi"],Western:["African Pentatonic 1"],Ethiopian:["Tezeta Minor"],Zeitler:["Dalitonic"],Dozenal:["CIBian"]}},397:{title:"Aeolian Pentatonic",chroma:"101100011000",names:{"Western Modern":["Aeolian Pentatonic"],Japanese:["Hirajōshi","Kata-kumoi","Yona Nuki Minor","Katakumoi"],Ethiopian:["Tizita Minor","Half Tizita"],Zeitler:["Epogitonic"],Dozenal:["CICian"]}},399:{title:"Zynimic",chroma:"111100011000",names:{Zeitler:["Zynimic"],Dozenal:["CIDian"]}},401:{title:"Epogic",chroma:"100010011000",names:{Zeitler:["Epogic"],Dozenal:["CIFian"]}},403:{title:"Raga Reva",chroma:"110010011000",names:{Carnatic:["Raga Reva","Revagupti","Vibhas (Bhairava)"],Hindustani:["Ramkali"],Zeitler:["Daptitonic"],Dozenal:["CIGian"]}},405:{title:"Raga Bhupeshwari",chroma:"101010011000",names:{Carnatic:["Raga Bhupeshwari","Janasammodini"],Zeitler:["Danitonic"],Dozenal:["CIHian"]}},407:{title:"All-Trichord Hexachord",chroma:"111010011000",names:{"Western Modern":["All-Trichord Hexachord"],Zeitler:["Zylimic"],Dozenal:["CIJian"]}},409:{title:"Laritonic",chroma:"100110011000",names:{Zeitler:["Laritonic"],Dozenal:["CIKian"]}},411:{title:"Lygimic",chroma:"110110011000",names:{Zeitler:["Lygimic"],Dozenal:["CILian"]}},413:{title:"Ganimic",chroma:"101110011000",names:{Zeitler:["Ganimic"],Dozenal:["COMian"]}},415:{title:"Infra-Alt 57",chroma:"111110011000",names:{Bedwell:["Infra-Alt 57"],Zeitler:["Aeoladian"],Dozenal:["CONian"]}},417:{title:"COPian",chroma:"100001011000",names:{}},419:{title:"Hon-kumoi-joshi",chroma:"110001011000",names:{Japanese:["Hon-kumoi-joshi","Sakura","Akebono II","Akebono 2","Miyako-Bushi"],"Modern Greek":["Olympos Enharmonic"],Carnatic:["Raga Salanganata","Saveri","Gunakri","Gunakali","Latantapriya"],Ethiopian:["Ambassel"],Exoticisms:["Japanese (a)"],Zeitler:["Ionacritonic"],Dozenal:["COQian"]}},421:{title:"Han-kumoi",chroma:"101001011000",names:{Japanese:["Han-kumoi","Han Kumoijôshi"],Carnatic:["Raga Shobhavari","Sutradhari"],Exoticisms:["Japanese (b)"],Zeitler:["Ionitonic"],Dozenal:["CORian"]}},423:{title:"Sogimic",chroma:"111001011000",names:{Zeitler:["Sogimic"],Dozenal:["COSian"]}},425:{title:"Raga Kokil Pancham",chroma:"100101011000",names:{Carnatic:["Raga Kokil Pancham"],Zeitler:["Daditonic"],Dozenal:["COTian"]}},427:{title:"Raga Suddha Simantini",chroma:"110101011000",names:{Carnatic:["Raga Suddha Simantini"],Zeitler:["Zothimic"],Dozenal:["COVian"]}},429:{title:"Koptimic",chroma:"101101011000",names:{Zeitler:["Koptimic"],Dozenal:["SKOian"]}},431:{title:"Infra-Alt 7",chroma:"111101011000",names:{Bedwell:["Infra-Alt 7"],Zeitler:["Epyrian"],Dozenal:["COXian"]}},433:{title:"Raga Zilaf",chroma:"100011011000",names:{Carnatic:["Raga Zilaf"],Zeitler:["Poritonic"],Dozenal:["COYian"]}},435:{title:"Raga Purna Pancama",chroma:"110011011000",names:{Carnatic:["Raga Purna Pancama","Malahari","Geyahejjajji","Kannadabangala"],Zeitler:["Ionolimic"],Dozenal:["COZian"]}},437:{title:"Ronimic",chroma:"101011011000",names:{Zeitler:["Ronimic"],Dozenal:["COBian"]}},439:{title:"Infra-Alt 74",chroma:"111011011000",names:{Bedwell:["Infra-Alt 74"],Zeitler:["Bythian"],Dozenal:["COCian"]}},441:{title:"Thycrimic",chroma:"100111011000",names:{Zeitler:["Thycrimic"],Dozenal:["CODian"]}},443:{title:"Alt 567",chroma:"110111011000",names:{Bedwell:["Alt 567"],Zeitler:["Kothian"],Dozenal:["COFian"]}},445:{title:"Alt 2567",chroma:"101111011000",names:{Bedwell:["Alt 2567"],Zeitler:["Gocrian"],Dozenal:["COGian"]}},447:{title:"Thyphyllic",chroma:"111111011000",names:{Zeitler:["Thyphyllic"],Dozenal:["CUHian"]}},449:{title:"CUJian",chroma:"100000111000",names:{}},451:{title:"Raga Saugandhini",chroma:"110000111000",names:{Carnatic:["Raga Saugandhini"],Hindustani:["Yashranjani"],Dozenal:["CUKian"]}},453:{title:"Raditonic",chroma:"101000111000",names:{Zeitler:["Raditonic"],Dozenal:["CULian"]}},455:{title:"Messiaen Mode 5 Rotation 2",chroma:"111000111000",names:{Messiaen:["Messiaen Mode 5 Rotation 2"],"Western Modern":["Two-semitone Tritone Scale"],Zeitler:["Stadimic"],Dozenal:["STOian"]}},457:{title:"Staptitonic",chroma:"100100111000",names:{Zeitler:["Staptitonic"],Dozenal:["CUNian"]}},459:{title:"Zaptimic",chroma:"110100111000",names:{Zeitler:["Zaptimic"],Dozenal:["CUPian"]}},461:{title:"Raga Syamalam",chroma:"101100111000",names:{Carnatic:["Raga Syamalam"],Zeitler:["Madimic"],Dozenal:["CUQian"]}},463:{title:"Infra-Alt 75",chroma:"111100111000",names:{Bedwell:["Infra-Alt 75"],Zeitler:["Zythian"],Dozenal:["CURian"]}},465:{title:"Zoditonic",chroma:"100010111000",names:{Zeitler:["Zoditonic"],Dozenal:["CUSian"]}},467:{title:"Raga Dhavalangam",chroma:"110010111000",names:{Carnatic:["Raga Dhavalangam"],Zeitler:["Phrogimic"],Dozenal:["CUTian"]}},469:{title:"Katyrimic",chroma:"101010111000",names:{Zeitler:["Katyrimic"],Dozenal:["CUVian"]}},471:{title:"Alt 367",chroma:"111010111000",names:{Bedwell:["Alt 367"],Zeitler:["Dodian"],Dozenal:["CUWian"]}},473:{title:"Aeralimic",chroma:"100110111000",names:{Zeitler:["Aeralimic"],Dozenal:["CUXian"]}},475:{title:"Alt 67",chroma:"110110111000",names:{Bedwell:["Alt 67"],Zeitler:["Aeolygian"],Dozenal:["CUYian"]}},477:{title:"Alt 267",chroma:"101110111000",names:{Bedwell:["Alt 267"],Zeitler:["Stacrian"],Dozenal:["CUZian"]}},479:{title:"Kocryllic",chroma:"111110111000",names:{Zeitler:["Kocryllic"],Dozenal:["UPRian"]}},481:{title:"DABian",chroma:"100001111000",names:{}},483:{title:"Kygimic",chroma:"110001111000",names:{Zeitler:["Kygimic"],Dozenal:["DACian"]}},485:{title:"Stoptimic",chroma:"101001111000",names:{Zeitler:["Stoptimic"],Dozenal:["DADian"]}},487:{title:"Locrian 367",chroma:"111001111000",names:{Bedwell:["Locrian 367"],Zeitler:["Dynian"],Dozenal:["DAFian"]}},489:{title:"Phrathimic",chroma:"100101111000",names:{Zeitler:["Phrathimic"],Dozenal:["DAGian"]}},491:{title:"Locrian 67",chroma:"110101111000",names:{Bedwell:["Locrian 67"],Zeitler:["Aeolyrian"],Dozenal:["DAHian"]}},493:{title:"Locrian 267",chroma:"101101111000",names:{Bedwell:["Locrian 267"],Zeitler:["Rygian"],Dozenal:["DAJian"]}},495:{title:"Bocryllic",chroma:"111101111000",names:{Zeitler:["Bocryllic"],Dozenal:["DAKian"]}},497:{title:"Kadimic",chroma:"100011111000",names:{Zeitler:["Kadimic"],Dozenal:["DALian"]}},499:{title:"Major Locrian 267",chroma:"110011111000",names:{Bedwell:["Major Locrian 267"],Zeitler:["Ionaptian"],Dozenal:["DAMian"]}},501:{title:"Major Locrian 67",chroma:"101011111000",names:{Bedwell:["Major Locrian 67"],Zeitler:["Katylian"],Dozenal:["DANian"]}},503:{title:"Thoptyllic",chroma:"111011111000",names:{Zeitler:["Thoptyllic"],Dozenal:["DAPian"]}},505:{title:"Major Locrian 267",chroma:"100111111000",names:{Bedwell:["Major Locrian 267"],Zeitler:["Sanian"],Dozenal:["DAQian"]}},507:{title:"Moryllic",chroma:"110111111000",names:{Zeitler:["Moryllic"],Dozenal:["DARian"]}},509:{title:"Ionothyllic",chroma:"101111111000",names:{Zeitler:["Ionothyllic"],Dozenal:["DASian"]}},511:{title:"Chromatic Nonamode",chroma:"111111111000",names:{"Western Modern":["Chromatic Nonamode","Nonatonic Chromatic"],Western:["Chromatic Nonamode Basic"],Zeitler:["Polygic"],Dozenal:["DATian"]}},513:{title:"Major Sixth Ditone",chroma:"100000000100",names:{Intervals:["Major Sixth Ditone"],Dozenal:["9ian"]}},515:{title:"DEPian",chroma:"110000000100",names:{}},517:{title:"ALUian",chroma:"101000000100",names:{}},519:{title:"DEYian",chroma:"111000000100",names:{}},521:{title:"ASTian",chroma:"100100000100",names:{}},523:{title:"DEBian",chroma:"110100000100",names:{}},525:{title:"IDWian",chroma:"101100000100",names:{}},527:{title:"DEDian",chroma:"111100000100",names:{}},529:{title:"Raga Bilwadala",chroma:"100010000100",names:{Carnatic:["Raga Bilwadala"],Dozenal:["REMian"]}},531:{title:"DEGian",chroma:"110010000100",names:{}},533:{title:"DEHian",chroma:"101010000100",names:{}},535:{title:"DEJian",chroma:"111010000100",names:{}},537:{title:"ATUian",chroma:"100110000100",names:{}},539:{title:"DELian",chroma:"110110000100",names:{}},541:{title:"DEMian",chroma:"101110000100",names:{}},543:{title:"DENian",chroma:"111110000100",names:{}},545:{title:"Karen 3 Tone Type 4",chroma:"100001000100",names:{"Southeast Asia":["Karen 3 Tone Type 4"],Dozenal:["DEWian"]}},547:{title:"Pyrric",chroma:"110001000100",names:{Zeitler:["Pyrric"],Dozenal:["KOPian"]}},549:{title:"Lahuzu 4 Tone Type 4",chroma:"101001000100",names:{"Southeast Asia":["Lahuzu 4 Tone Type 4"],Zeitler:["Rothic"],Dozenal:["DIRian"]}},551:{title:"Aeoloditonic",chroma:"111001000100",names:{Zeitler:["Aeoloditonic"],Dozenal:["ULVian"]}},553:{title:"Phradic",chroma:"100101000100",names:{Zeitler:["Phradic"],Dozenal:["DITian"]}},555:{title:"Aeolycritonic",chroma:"110101000100",names:{Zeitler:["Aeolycritonic"],Dozenal:["DIVian"]}},557:{title:"Raga Abhogi",chroma:"101101000100",names:{Carnatic:["Raga Abhogi"],Zeitler:["Gythitonic"],Dozenal:["DIWian"]}},559:{title:"Lylimic",chroma:"111101000100",names:{Zeitler:["Lylimic"],Dozenal:["DIXian"]}},561:{title:"Phratic",chroma:"100011000100",names:{Zeitler:["Phratic"],Dozenal:["DIYian"]}},563:{title:"Thacritonic",chroma:"110011000100",names:{Zeitler:["Thacritonic"],Dozenal:["DIZian"]}},565:{title:"Aeolyphritonic",chroma:"101011000100",names:{Zeitler:["Aeolyphritonic"],Dozenal:["DIBian"]}},567:{title:"Aeoladimic",chroma:"111011000100",names:{Zeitler:["Aeoladimic"],Dozenal:["DICian"]}},569:{title:"Mothitonic",chroma:"100111000100",names:{Zeitler:["Mothitonic"],Dozenal:["DIDian"]}},571:{title:"Kynimic",chroma:"110111000100",names:{Zeitler:["Kynimic"],Dozenal:["DIFian"]}},573:{title:"Saptimic",chroma:"101111000100",names:{Zeitler:["Saptimic"],Dozenal:["DIGian"]}},575:{title:"Infra-Alt 56",chroma:"111111000100",names:{Bedwell:["Infra-Alt 56"],Zeitler:["Ionydian"],Dozenal:["DIHian"]}},577:{title:"ILLian",chroma:"100000100100",names:{}},579:{title:"GIYian",chroma:"110000100100",names:{}},581:{title:"Bolic",chroma:"101000100100",names:{Zeitler:["Bolic"],Dozenal:["DILian"]}},583:{title:"Aeritonic",chroma:"111000100100",names:{Zeitler:["Aeritonic"],Dozenal:["DONian"]}},585:{title:"Diminished Seventh",chroma:"100100100100",names:{"Chord Names":["Diminished Seventh"],Zeitler:["Phrynic"],Dozenal:["FULian"]}},587:{title:"Pathitonic",chroma:"110100100100",names:{Zeitler:["Pathitonic"],Dozenal:["DOPian"]}},589:{title:"Ionalitonic",chroma:"101100100100",names:{Zeitler:["Ionalitonic"],Dozenal:["DOQian"]}},591:{title:"Gaptimic",chroma:"111100100100",names:{Zeitler:["Gaptimic"],Dozenal:["HEYian"]}},593:{title:"Saric",chroma:"100010100100",names:{Zeitler:["Saric"],Dozenal:["DOSian"]}},595:{title:"Sogitonic",chroma:"110010100100",names:{Zeitler:["Sogitonic"],Dozenal:["DOTian"]}},597:{title:"Kung",chroma:"101010100100",names:{Chinese:["Kung"],Zeitler:["Thonitonic"],Dozenal:["DOVian"]}},599:{title:"Thyrimic",chroma:"111010100100",names:{Zeitler:["Thyrimic"],Dozenal:["OGRian"]}},601:{title:"Bycritonic",chroma:"100110100100",names:{Zeitler:["Bycritonic"],Dozenal:["DOXian"]}},603:{title:"Aeolygimic",chroma:"110110100100",names:{Zeitler:["Aeolygimic"],Dozenal:["DOYian"]}},605:{title:"Dycrimic",chroma:"101110100100",names:{Zeitler:["Dycrimic"],Dozenal:["HATian"]}},607:{title:"Infra-Alt 56",chroma:"111110100100",names:{Bedwell:["Infra-Alt 56"],Zeitler:["Kadian"],Dozenal:["DOBian"]}},609:{title:"DOCian",chroma:"100001100100",names:{}},611:{title:"Anchihoye",chroma:"110001100100",names:{Ethiopian:["Anchihoye"],Zeitler:["Zynitonic"],Dozenal:["DODian"]}},613:{title:"Phralitonic",chroma:"101001100100",names:{Zeitler:["Phralitonic"],Dozenal:["DOFian"]}},615:{title:"Schoenberg Hexachord",chroma:"111001100100",names:{"Named After Composers":["Schoenberg Hexachord"],Zeitler:["Phrothimic"],Dozenal:["SKUian"]}},617:{title:"Katycritonic",chroma:"100101100100",names:{Zeitler:["Katycritonic"],Dozenal:["DUHian"]}},619:{title:"Hexatonic Double Phrygian",chroma:"110101100100",names:{"Western Modern":["Hexatonic Double Phrygian"],Western:["Double Phrygian Hexatonic"],Zeitler:["Parimic"],Dozenal:["DUJian"]}},621:{title:"Pyramid Hexatonic",chroma:"101101100100",names:{"Western Modern":["Pyramid Hexatonic"],Zeitler:["Kyrimic"],Dozenal:["DUKian"]}},623:{title:"Infra-Alt 6",chroma:"111101100100",names:{Bedwell:["Infra-Alt 6"],Zeitler:["Sycrian"],Dozenal:["DULian"]}},625:{title:"Ionyptitonic",chroma:"100011100100",names:{Zeitler:["Ionyptitonic"],Dozenal:["DUMian"]}},627:{title:"Mogimic",chroma:"110011100100",names:{Zeitler:["Mogimic"],Dozenal:["DUNian"]}},629:{title:"Aeronimic",chroma:"101011100100",names:{Zeitler:["Aeronimic"],Dozenal:["DUPian"]}},631:{title:"Infra-Alt 64",chroma:"111011100100",names:{Bedwell:["Infra-Alt 64"],Zeitler:["Zygian"],Dozenal:["DUQian"]}},633:{title:"Kydimic",chroma:"100111100100",names:{Zeitler:["Kydimic"],Dozenal:["DURian"]}},635:{title:"Alt 576",chroma:"110111100100",names:{Bedwell:["Alt 576"],Zeitler:["Epolian"],Dozenal:["DUSian"]}},637:{title:"Debussy's Heptatonic",chroma:"101111100100",names:{"Named After Composers":["Debussy's Heptatonic"],Bedwell:["Alt 2576"],Zeitler:["Katodian"],Dozenal:["DUTian"]}},639:{title:"Ionaryllic",chroma:"111111100100",names:{Zeitler:["Ionaryllic"],Dozenal:["DUVian"]}},641:{title:"Lahuzu 3 Tone Type 1",chroma:"100000010100",names:{"Southeast Asia":["Lahuzu 3 Tone Type 1","Lahuzu 5 Tone Type 6"],Dozenal:["DUWian"]}},643:{title:"DUXian",chroma:"110000010100",names:{}},645:{title:"DUYian",chroma:"101000010100",names:{}},647:{title:"DUZian",chroma:"111000010100",names:{}},649:{title:"Byptic",chroma:"100100010100",names:{Zeitler:["Byptic"],Dozenal:["DUBian"]}},651:{title:"Golitonic",chroma:"110100010100",names:{Zeitler:["Golitonic"],Dozenal:["EBLian"]}},653:{title:"Dorian Pentatonic",chroma:"101100010100",names:{"Western Modern":["Dorian Pentatonic"],Carnatic:["Raga Sivaranjini","Raga Shivranjani"],Japanese:["Akebono I","Kumoi","Akikazechéshi","Akebono 1"],Zeitler:["Stathitonic"],Dozenal:["ESKian"]}},655:{title:"Kataptimic",chroma:"111100010100",names:{Zeitler:["Kataptimic"],Dozenal:["EPRian"]}},657:{title:"Lahuzu 4 Tone Type 3",chroma:"100010010100",names:{"Southeast Asia":["Lahuzu 4 Tone Type 3","MiaoYao 4 Tone Type 2","Lahuzu 5 Tone Type 4"],Zeitler:["Epathic"],Dozenal:["EBOian"]}},659:{title:"Raga Rasika Ranjani",chroma:"110010010100",names:{Carnatic:["Raga Rasika Ranjani"],"Unknown / Unsorted":["Vibhas (Marva)"],"Named After Composers":["Scriabin"],Zeitler:["Soptitonic"],Dozenal:["EBUian"]}},661:{title:"Major Pentatonic",chroma:"101010010100",names:{Western:["Major Pentatonic","Pentatonic Major","Major Pentatonic Type 1"],Korean:["Kyemyonjo"],Japanese:["Yo Yonanuki sempû","Ryosen"],"Unknown / Unsorted":["Ghana Pent.2"],Ethiopian:["Tezeta Major","Tizita Major"],Chinese:["Man Jue","Gong","Gōngdiào"],Carnatic:["Raga Bhopali","Raga Bhupali","Raga Bhup","Bhoop","Mohanam","Raag Deskar","Bilahari","Kokila","Jait Kalyan"],Exoticisms:["Peruvian Pentatonic 1"],African:["Ghana Pentatonic 2"],Myanmar:["Paksabou Palé","Leibauk auk Pyan","Ngabauk Myinsain"],"Southeast Asia":["Akha Khmer Pentatonic 1","Kmhmu 5 Tone Type 3","Lahuzu 5 Tone Type 5","MiaoYao 5 Tone Type 1"],Zeitler:["Pentatonic"],Dozenal:["ULTian"],Unknown:["Yona Nuki Major"]}},663:{title:"Phrynimic",chroma:"111010010100",names:{Zeitler:["Phrynimic"],Dozenal:["EBRian"]}},665:{title:"Raga Mohanangi",chroma:"100110010100",names:{Carnatic:["Raga Mohanangi"],Zeitler:["Mythitonic"],Dozenal:["ENSian"]}},667:{title:"Rodimic",chroma:"110110010100",names:{Zeitler:["Rodimic"],Dozenal:["ECOian"]}},669:{title:"Major Blues",chroma:"101110010100",names:{"Jazz and Blues":["Major Blues"],Zeitler:["Gycrimic"],Dozenal:["ECUian"]}},671:{title:"Infra-Alt 5",chroma:"111110010100",names:{Bedwell:["Infra-Alt 5"],Zeitler:["Stycrian"],Dozenal:["SANian"]}},673:{title:"Lahuzu 4 Tone Type 1",chroma:"100001010100",names:{"Southeast Asia":["Lahuzu 4 Tone Type 1","MiaoYao 4 Tone Type 3"],Dozenal:["ESTian"]}},675:{title:"Altered Pentatonic",chroma:"110001010100",names:{"Western Modern":["Altered Pentatonic"],Carnatic:["Raga Manaranjani II"],Japanese:["Kokinjôshi"],Myanmar:["Than you hnapauk"],Zeitler:["Zyditonic"],Dozenal:["EMSian"]}},677:{title:"Scottish Pentatonic",chroma:"101001010100",names:{Exoticisms:["Scottish Pentatonic"],Western:["Major Pentatonic Type 2"],Chinese:["Zhîdiào","Zhi"],Japanese:["Gagaku Ritsu","Ritusen","Ritsu","Gagaku"],"Jazz and Blues":["Blues Major"],Korean:["Ujo","Pyeongjo"],"Unknown / Unsorted":["Bac"],Vietnamese:["Lai Soutsanaen","Lai Po Sai","Lai Soi"],Carnatic:["Raga Devakriya","Durga","Suddha Saveri","Arabhi"],"Western Modern":["Major Complement"],Ethiopian:["Ambassel Type 2"],Thailand:["San"],"Southeast Asia":["Khmer Pentatonic 4","Kmhmu 5 Tone Type 2","Lahuzu 5 Tone Type 1","MiaoYao 5 Tone Type 2","Shan Lumjou 5 Tone Type 1"],Zeitler:["Mynitonic"],Dozenal:["HENian"]}},679:{title:"Lanimic",chroma:"111001010100",names:{Zeitler:["Lanimic"],Dozenal:["EDUian"]}},681:{title:"Minor Added Sixth Pentatonic",chroma:"100101010100",names:{"Western Modern":["Minor Added Sixth Pentatonic"],Zeitler:["Sylitonic"],Dozenal:["EPHian"]}},683:{title:"Stogimic",chroma:"110101010100",names:{Zeitler:["Stogimic"],Dozenal:["ELFian"]}},685:{title:"Raga Suddha Bangala",chroma:"101101010100",names:{Carnatic:["Raga Suddha Bangala","Gauri Velavali"],Zeitler:["Aerathimic"],Dozenal:["ERTian"]}},687:{title:"Alt 34567",chroma:"111101010100",names:{Bedwell:["Alt 34567"],Zeitler:["Aeolythian"],Dozenal:["EFOian"]}},689:{title:"Raga Nagasvaravali",chroma:"100011010100",names:{Carnatic:["Raga Nagasvaravali","Raga Mand"],Zeitler:["Lothitonic"],Dozenal:["EFUian"]}},691:{title:"Raga Kalavati",chroma:"110011010100",names:{Carnatic:["Raga Kalavati","Ragamalini"],Zeitler:["Zydimic"],Dozenal:["ETTian"]}},693:{title:"Arezzo Major Diatonic Hexachord",chroma:"101011010100",names:{"Unknown / Unsorted":["Arezzo Major Diatonic Hexachord"],Carnatic:["Raga Kambhoji","Devarangini","Sama","Syama"],Exoticisms:["Scottish Hexatonic"],"Southeast Asia":["Khmer Hexatonic 1"],Zeitler:["Mynimic"],Dozenal:["ESHian"]}},695:{title:"Alt 3567",chroma:"111011010100",names:{Bedwell:["Alt 3567"],Zeitler:["Sarian"],Dozenal:["ERFian"]}},697:{title:"Lagimic",chroma:"100111010100",names:{Zeitler:["Lagimic"],Dozenal:["EGOian"]}},699:{title:"Alt 567",chroma:"110111010100",names:{Bedwell:["Alt 567"],Zeitler:["Aerothian"],Dozenal:["EGUian"]}},701:{title:"Alt 2567",chroma:"101111010100",names:{Bedwell:["Alt 2567"],Zeitler:["Mixonyphian"],Dozenal:["ETHian"]}},703:{title:"Aerocryllic",chroma:"111111010100",names:{Zeitler:["Aerocryllic"],Dozenal:["EFFian"]}},705:{title:"EDRian",chroma:"100000110100",names:{}},707:{title:"EHOian",chroma:"110000110100",names:{}},709:{title:"Raga Shri Kalyan",chroma:"101000110100",names:{Carnatic:["Raga Shri Kalyan"],Zeitler:["Ionycritonic"],Dozenal:["EHUian"]}},711:{title:"Raga Chandrajyoti",chroma:"111000110100",names:{Carnatic:["Raga Chandrajyoti"],Zeitler:["Epyrimic"],Dozenal:["EJUian"]}},713:{title:"Thoptitonic",chroma:"100100110100",names:{Zeitler:["Thoptitonic"],Dozenal:["ESRian"]}},715:{title:"T4 Prime Mode",chroma:"110100110100",names:{Messiaen:["T4 Prime Mode","Messiaen Mode 2 Truncation 2 Rotation 2"],Zeitler:["Dodimic"],Dozenal:["ECHian"]}},717:{title:"Raga Vijayanagari",chroma:"101100110100",names:{Carnatic:["Raga Vijayanagari"],Zeitler:["Gythimic"],Dozenal:["ENTian"]}},719:{title:"Alt 3467",chroma:"111100110100",names:{Bedwell:["Alt 3467"],Zeitler:["Kanian"],Dozenal:["ECKian"]}},721:{title:"Raga Dhavalashri",chroma:"100010110100",names:{Carnatic:["Raga Dhavalashri"],Zeitler:["Aeolacritonic"],Dozenal:["ELOian"]}},723:{title:"Ionadimic",chroma:"110010110100",names:{Zeitler:["Ionadimic"],Dozenal:["ELUian"]}},725:{title:"Raga Yamuna Kalyani",chroma:"101010110100",names:{Carnatic:["Raga Yamuna Kalyani","Kalyani Keseri"],Hindustani:["Airavati"],Exoticisms:["Ancient Chinese"],Zeitler:["Lonimic"],Dozenal:["EBBian"]}},727:{title:"Alt 367",chroma:"111010110100",names:{Bedwell:["Alt 367"],Zeitler:["Phradian"],Dozenal:["ELTian"]}},729:{title:"Stygimic",chroma:"100110110100",names:{Zeitler:["Stygimic"],Dozenal:["OFRian"]}},731:{title:"Alternating Heptamode",chroma:"110110110100",names:{"Western Modern":["Alternating Heptamode"],Bedwell:["Alt 67"],Western:["Hungarian Major 2nd Mode"],Zeitler:["Ionorian"],Dozenal:["EMOian"]}},733:{title:"Alt 267",chroma:"101110110100",names:{Bedwell:["Alt 267"],Zeitler:["Donian"],Dozenal:["EMUian"]}},735:{title:"Sylyllic",chroma:"111110110100",names:{Zeitler:["Sylyllic"],Dozenal:["ECLian"]}},737:{title:"TRUian",chroma:"100001110100",names:{}},739:{title:"Rorimic",chroma:"110001110100",names:{Zeitler:["Rorimic"],Dozenal:["EPLian"]}},741:{title:"Gathimic",chroma:"101001110100",names:{Zeitler:["Gathimic"],Dozenal:["ENOian"]}},743:{title:"Chromatic Hypophrygian Inverse",chroma:"111001110100",names:{"Western Chromatic":["Chromatic Hypophrygian Inverse"],Zeitler:["Lanian"],Dozenal:["ENUian"]}},745:{title:"Kolimic",chroma:"100101110100",names:{Zeitler:["Kolimic"],Dozenal:["EPPian"]}},747:{title:"Locrian 67",chroma:"110101110100",names:{Bedwell:["Locrian 67"],Zeitler:["Lynian"],Dozenal:["ERGian"]}},749:{title:"Locrian 267",chroma:"101101110100",names:{Bedwell:["Locrian 267"],Zeitler:["Aeologian"],Dozenal:["ETLian"]}},751:{title:"Epacryllic",chroma:"111101110100",names:{Zeitler:["Epacryllic"],Dozenal:["EPOian"]}},753:{title:"Kytrimic",chroma:"100011110100",names:{Zeitler:["Kytrimic"],Dozenal:["EPUian"]}},755:{title:"Ionian 2567",chroma:"110011110100",names:{Bedwell:["Ionian 2567"],Zeitler:["Phrythian"],Dozenal:["ESPian"]}},757:{title:"Major Locrian 67",chroma:"101011110100",names:{Bedwell:["Major Locrian 67"],Zeitler:["Ionyptian"],Dozenal:["ETWian"]}},759:{title:"Katalyllic",chroma:"111011110100",names:{Zeitler:["Katalyllic"],Dozenal:["ENKian"]}},761:{title:"Major Locrian 267",chroma:"100111110100",names:{Bedwell:["Major Locrian 267"],Zeitler:["Ponian"],Dozenal:["EROian"]}},763:{title:"Doryllic",chroma:"110111110100",names:{Zeitler:["Doryllic"],Dozenal:["ERUian"]}},765:{title:"Mixonyphyllic",chroma:"101111110100",names:{Zeitler:["Mixonyphyllic"],Dozenal:["ERKian"]}},767:{title:"Raptygic",chroma:"111111110100",names:{Zeitler:["Raptygic"],Dozenal:["ELVian"]}},769:{title:"ENBian",chroma:"100000001100",names:{}},771:{title:"ESOian",chroma:"110000001100",names:{}},773:{title:"ESUian",chroma:"101000001100",names:{}},775:{title:"Raga Putrika",chroma:"111000001100",names:{Carnatic:["Raga Putrika"],Dozenal:["ERMian"]}},777:{title:"EMPian",chroma:"100100001100",names:{}},779:{title:"ETRian",chroma:"110100001100",names:{}},781:{title:"ETOian",chroma:"101100001100",names:{}},783:{title:"ETUian",chroma:"111100001100",names:{}},785:{title:"Aeoloric",chroma:"100010001100",names:{Zeitler:["Aeoloric"],Dozenal:["NEPian"]}},787:{title:"Aeolapritonic",chroma:"110010001100",names:{Zeitler:["Aeolapritonic"],Dozenal:["ERRian"]}},789:{title:"Zogitonic",chroma:"101010001100",names:{Zeitler:["Zogitonic"],Dozenal:["EYOian"]}},791:{title:"Aeoloptimic",chroma:"111010001100",names:{Zeitler:["Aeoloptimic"],Dozenal:["FABian"]}},793:{title:"Mocritonic",chroma:"100110001100",names:{Zeitler:["Mocritonic"],Dozenal:["FACian"]}},795:{title:"Aeologimic",chroma:"110110001100",names:{Zeitler:["Aeologimic"],Dozenal:["FADian"]}},797:{title:"Katocrimic",chroma:"101110001100",names:{Zeitler:["Katocrimic"],Dozenal:["FAFian"]}},799:{title:"Infra-Alt 56",chroma:"111110001100",names:{Bedwell:["Infra-Alt 56"],Zeitler:["Lolian"],Dozenal:["USTian"]}},801:{title:"FAHian",chroma:"100001001100",names:{}},803:{title:"Loritonic",chroma:"110001001100",names:{Zeitler:["Loritonic"],Dozenal:["FAJian"]}},805:{title:"Rothitonic",chroma:"101001001100",names:{Zeitler:["Rothitonic"],Dozenal:["FAKian"]}},807:{title:"Raga Suddha Mukhari",chroma:"111001001100",names:{Carnatic:["Raga Suddha Mukhari"],Zeitler:["Epadimic"],Dozenal:["FALian"]}},809:{title:"Dogitonic",chroma:"100101001100",names:{Zeitler:["Dogitonic"],Dozenal:["FAMian"]}},811:{title:"Radimic",chroma:"110101001100",names:{Zeitler:["Radimic"],Dozenal:["FANian"]}},813:{title:"Larimic",chroma:"101101001100",names:{Zeitler:["Larimic"],Dozenal:["FAPian"]}},815:{title:"Alt 3457",chroma:"111101001100",names:{Bedwell:["Alt 3457"],Zeitler:["Bolian"],Dozenal:["FAQian"]}},817:{title:"Zothitonic",chroma:"100011001100",names:{Zeitler:["Zothitonic"],Dozenal:["FARian"]}},819:{title:"Augmented Inverse",chroma:"110011001100",names:{"Western Modern":["Augmented Inverse","Six Tone Symmetrical"],Messiaen:["Messiaen 3rd Mode Truncated","T2 Prime Mode","Messiaen Mode 3 Truncated"],"Named After Composers":["Ode To Napoleon Hexachord","Liszt's Prometheus"],Zeitler:["Aerythimic"],Dozenal:["FASian"]}},821:{title:"Aeranimic",chroma:"101011001100",names:{Zeitler:["Aeranimic"],Dozenal:["FATian"]}},823:{title:"Alt 357",chroma:"111011001100",names:{Bedwell:["Alt 357"],Zeitler:["Stodian"],Dozenal:["FAVian"]}},825:{title:"Thyptimic",chroma:"100111001100",names:{Zeitler:["Thyptimic"],Dozenal:["FEWian"]}},827:{title:"Alt 57",chroma:"110111001100",names:{Bedwell:["Alt 57"],Zeitler:["Mixolocrian"],Dozenal:["FEXian"]}},829:{title:"Alt 257",chroma:"101111001100",names:{Bedwell:["Alt 257"],Zeitler:["Lygian"],Dozenal:["FEYian"]}},831:{title:"Rodyllic",chroma:"111111001100",names:{Zeitler:["Rodyllic"],Dozenal:["FEZian"]}},833:{title:"FEBian",chroma:"100000101100",names:{}},835:{title:"FECian",chroma:"110000101100",names:{}},837:{title:"Epaditonic",chroma:"101000101100",names:{Zeitler:["Epaditonic"],Dozenal:["FEDian"]}},839:{title:"Ionathimic",chroma:"111000101100",names:{Zeitler:["Ionathimic"],Dozenal:["FEFian"]}},841:{title:"Phrothitonic",chroma:"100100101100",names:{Zeitler:["Phrothitonic"],Dozenal:["FEGian"]}},843:{title:"Molimic",chroma:"110100101100",names:{Zeitler:["Molimic"],Dozenal:["FEHian"]}},845:{title:"Raga Neelangi",chroma:"101100101100",names:{Carnatic:["Raga Neelangi"],Zeitler:["Zyrimic"],Dozenal:["FEJian"],Messiaen:["Messiaen Mode 2 Truncation 1 Rotation 1","T5 Prime Mode"]}},847:{title:"Alt 347",chroma:"111100101100",names:{Bedwell:["Alt 347"],Zeitler:["Ganian"],Dozenal:["FEKian"]}},849:{title:"Aerynitonic",chroma:"100010101100",names:{Zeitler:["Aerynitonic"],Dozenal:["FELian"]}},851:{title:"Raga Hejjajji",chroma:"110010101100",names:{Carnatic:["Raga Hejjajji"],Zeitler:["Aerylimic"],Dozenal:["FEMian"]}},853:{title:"Epothimic",chroma:"101010101100",names:{Zeitler:["Epothimic"],Dozenal:["FENian"]}},855:{title:"Alt 37",chroma:"111010101100",names:{Bedwell:["Alt 37"],Zeitler:["Porian"],Dozenal:["FEPian"]}},857:{title:"Aeolydimic",chroma:"100110101100",names:{Zeitler:["Aeolydimic"],Dozenal:["FEQian"]}},859:{title:"Alt 7",chroma:"110110101100",names:{Bedwell:["Alt 7"],"Western Modern":["Ultralocrian","Superlocrian Diminished","Superlocrian Double-flat","Diminished Locrian"],"Western Altered":["Mixolydian 1"],Zeitler:["Pathian"],Dozenal:["FIRian"]}},861:{title:"Alt 27",chroma:"101110101100",names:{Bedwell:["Alt 27"],Zeitler:["Rylian"],Dozenal:["FISian"]}},863:{title:"Pyryllic",chroma:"111110101100",names:{Zeitler:["Pyryllic"],Dozenal:["FITian"]}},865:{title:"JAHian",chroma:"100001101100",names:{}},867:{title:"Phrocrimic",chroma:"110001101100",names:{Zeitler:["Phrocrimic"],Dozenal:["FIWian"]}},869:{title:"Kothimic",chroma:"101001101100",names:{Zeitler:["Kothimic"],Dozenal:["FIXian"]}},871:{title:"Hungarian Romani Minor 4th Mode",chroma:"111001101100",names:{Western:["Hungarian Romani Minor 4th Mode"],Bedwell:["Locrian 37"],"Western Altered":["Locrian Double-flat 3 Double-flat 7"],Zeitler:["Epadian"],Dozenal:["FIYian"]}},873:{title:"Bagimic",chroma:"100101101100",names:{Zeitler:["Bagimic"],Dozenal:["FIZian"]}},875:{title:"Locrian 7",chroma:"110101101100",names:{Bedwell:["Locrian 7"],"Western Altered":["Locrian Double-flat 7"],"Jazz and Blues":["Diminished Blues 9"],Zeitler:["Stothian"],Dozenal:["FIBian"]}},877:{title:"Locrian 27",chroma:"101101101100",names:{Bedwell:["Locrian 27"],"East European":["Moravian Pistalkova"],"Western Altered":["Locrian 2 7"],Exoticisms:["Hungarian Major Inverse"],Zeitler:["Aeraptian"],Dozenal:["FICian"]}},879:{title:"Aeolocryllic",chroma:"111101101100",names:{Zeitler:["Aeolocryllic"],Dozenal:["FIDian"]}},881:{title:"Aerothimic",chroma:"100011101100",names:{Zeitler:["Aerothimic"],Dozenal:["DROian"]}},883:{title:"Locrian 37",chroma:"110011101100",names:{Bedwell:["Locrian 37"],Zeitler:["Ralian"],Dozenal:["UDRian"]}},885:{title:"Major Locrian 7",chroma:"101011101100",names:{Bedwell:["Major Locrian 7"],Zeitler:["Sathian"],Dozenal:["FIHian"]}},887:{title:"Sathyllic",chroma:"111011101100",names:{Zeitler:["Sathyllic"],Dozenal:["EBSian"]}},889:{title:"Major Locrian 27",chroma:"100111101100",names:{Bedwell:["Major Locrian 27"],Zeitler:["Borian"],Dozenal:["FIKian"]}},891:{title:"Ionilyllic",chroma:"110111101100",names:{Zeitler:["Ionilyllic"],Dozenal:["FILian"]}},893:{title:"Pycryllic",chroma:"101111101100",names:{Zeitler:["Pycryllic"],Dozenal:["FOMian"]}},895:{title:"Aeolathygic",chroma:"111111101100",names:{Zeitler:["Aeolathygic"],Dozenal:["FONian"]}},897:{title:"FOPian",chroma:"100000011100",names:{}},899:{title:"FOQian",chroma:"110000011100",names:{}},901:{title:"BOFian",chroma:"101000011100",names:{}},903:{title:"FOSian",chroma:"111000011100",names:{}},905:{title:"Bylitonic",chroma:"100100011100",names:{Zeitler:["Bylitonic"],Dozenal:["FOTian"]}},907:{title:"Tholimic",chroma:"110100011100",names:{Zeitler:["Tholimic"],Dozenal:["FOVian"]}},909:{title:"Katarimic",chroma:"101100011100",names:{Zeitler:["Katarimic"],Dozenal:["FOWian"]}},911:{title:"Phrygian 347",chroma:"111100011100",names:{Bedwell:["Phrygian 347"],Zeitler:["Radian"],Dozenal:["NEKian"]}},913:{title:"Aeolyritonic",chroma:"100010011100",names:{Zeitler:["Aeolyritonic"],Dozenal:["FOYian"]}},915:{title:"Raga Kalagada",chroma:"110010011100",names:{Carnatic:["Raga Kalagada","Raga Kalgada"],Zeitler:["Loptimic"],Dozenal:["FOZian"]}},917:{title:"Dygimic",chroma:"101010011100",names:{Zeitler:["Dygimic"],Dozenal:["FOBian"]}},919:{title:"Alt 537",chroma:"111010011100",names:{Bedwell:["Alt 537"],"Western Chromatic":["Chromatic Phrygian Inverse"],Zeitler:["Gathian"],Dozenal:["FOCian"]}},921:{title:"Bogimic",chroma:"100110011100",names:{Zeitler:["Bogimic"],Dozenal:["FODian"]}},923:{title:"Alt 57",chroma:"110110011100",names:{Bedwell:["Alt 57"],"Western Modern":["Ultraphrygian"],Western:["Hungarian Romani Minor 7th Mode"],Zeitler:["Ionodian"],Dozenal:["FOFian"]}},925:{title:"Alt 257",chroma:"101110011100",names:{Bedwell:["Alt 257"],"Western Chromatic":["Chromatic Hypodorian"],"Jazz and Blues":["Relative Blues Scale"],Carnatic:["Raga Dvigandharabushini"],Zeitler:["Mythian"],Dozenal:["FOGian"]}},927:{title:"Koptyllic",chroma:"111110011100",names:{Zeitler:["Koptyllic"],Dozenal:["FUHian"]}},929:{title:"FUJian",chroma:"100001011100",names:{}},931:{title:"Raga Kalakanthi",chroma:"110001011100",names:{Carnatic:["Raga Kalakanthi"],Zeitler:["Bacrimic"],Dozenal:["FUKian"]}},933:{title:"Dadimic",chroma:"101001011100",names:{Zeitler:["Dadimic"],Dozenal:["AFRian"]}},935:{title:"Locrian 537",chroma:"111001011100",names:{Bedwell:["Locrian 537"],"Western Chromatic":["Chromatic Dorian"],Carnatic:["Mela Kanakangi","Raga Kanakambari"],Zeitler:["Katarian"],Dozenal:["FUMian"],"Carnatic Melakarta":["Kanakangi"],"Carnatic Numbered Melakarta":["1st Melakarta Raga"]}},937:{title:"Stothimic",chroma:"100101011100",names:{Zeitler:["Stothimic"],Dozenal:["SPUian"]}},939:{title:"Phrygian 7",chroma:"110101011100",names:{Bedwell:["Phrygian 7"],Carnatic:["Mela Senavati","Cenavathi","Raga Senagrani","Malini"],Zeitler:["Dyptian"],Dozenal:["FUPian"],"Carnatic Numbered Melakarta":["7th Melakarta Raga"],"Carnatic Melakarta":["Senavati"]}},941:{title:"Aeolian 7",chroma:"101101011100",names:{Bedwell:["Aeolian 7"],Carnatic:["Mela Jhankaradhvani","Jankaradhvani","Raga Jhankara Bhramavi"],Zeitler:["Phrorian"],Dozenal:["FUQian"],"Carnatic Numbered Melakarta":["19th Melakarta Raga"],"Carnatic Melakarta":["Jhankaradhwani"]}},943:{title:"Aerygyllic",chroma:"111101011100",names:{Zeitler:["Aerygyllic"],Dozenal:["FURian"]}},945:{title:"Raga Saravati",chroma:"100011011100",names:{Carnatic:["Raga Saravati","Raga Sharavati"],Zeitler:["Syrimic"],Dozenal:["FUSian"]}},947:{title:"Mela Gayakapriya",chroma:"110011011100",names:{Carnatic:["Mela Gayakapriya","Raga Kalakanti"],Bedwell:["Phrygian Maj7"],Exoticisms:["Romani Hexatonic"],Western:["Heptatonic Romani"],Zeitler:["Modian"],Dozenal:["FUTian"],"Carnatic Melakarta":["Gayakapriya"],"Carnatic Numbered Melakarta":["13th Melakarta Raga"]}},949:{title:"Mela Mararanjani",chroma:"101011011100",names:{Carnatic:["Mela Mararanjani","Raga Keseri","Mararancani"],Bedwell:["Ionian 67"],"Jazz and Blues":["Major Bebop Heptatonic"],Zeitler:["Ionagian"],Dozenal:["FUVian"],"Carnatic Melakarta":["Mararanjani"],"Carnatic Numbered Melakarta":["25th Melakarta Raga"]}},951:{title:"Thogyllic",chroma:"111011011100",names:{Zeitler:["Thogyllic"],Dozenal:["FUWian"]}},953:{title:"Mela Yagapriya",chroma:"100111011100",names:{Carnatic:["Mela Yagapriya","Raga Kalahamsa"],Bedwell:["Ionian 627"],Zeitler:["Stoptian"],Dozenal:["FUXian"],"Carnatic Melakarta":["Yagapriya"],"Carnatic Numbered Melakarta":["31st Melakarta Raga"]}},955:{title:"Ionogyllic",chroma:"110111011100",names:{Zeitler:["Ionogyllic"],Dozenal:["FUYian"]}},957:{title:"Phronyllic",chroma:"101111011100",names:{Zeitler:["Phronyllic"],Dozenal:["FUZian"]}},959:{title:"Katylygic",chroma:"111111011100",names:{Zeitler:["Katylygic"],Dozenal:["FUBian"]}},961:{title:"GABian",chroma:"100000111100",names:{}},963:{title:"GACian",chroma:"110000111100",names:{}},965:{title:"Ionothimic",chroma:"101000111100",names:{Zeitler:["Ionothimic"],Dozenal:["GADian"]}},967:{title:"Mela Salaga",chroma:"111000111100",names:{Carnatic:["Mela Salaga","Mela Salagam"],Bedwell:["Alt 5437"],Zeitler:["Aeolanian"],Dozenal:["GAFian"],"Carnatic Melakarta":["Salagam"],"Carnatic Numbered Melakarta":["37th Melakarta Raga"]}},969:{title:"Ionogimic",chroma:"100100111100",names:{Zeitler:["Ionogimic"],Dozenal:["GAGian"]}},971:{title:"Mela Gavambodhi",chroma:"110100111100",names:{Carnatic:["Mela Gavambodhi","Raga Girvani","Gavambodhi"],Bedwell:["Phrygian 47","Phrygian Major 47"],Zeitler:["Ladian"],Dozenal:["GAHian"],"Carnatic Melakarta":["Gavambhodi"],"Carnatic Numbered Melakarta":["43rd Melakarta Raga"]}},973:{title:"Mela Syamalangi",chroma:"101100111100",names:{Carnatic:["Mela Syamalangi","Raga Shyamalam","Shyamalangi"],Bedwell:["Aeolian 47"],Zeitler:["Phryptian"],Dozenal:["GAJian"],"Carnatic Melakarta":["Shamalangi"],"Carnatic Numbered Melakarta":["55th Melakarta Raga"]}},975:{title:"Messiaen Mode 4 Rotation 3",chroma:"111100111100",names:{Messiaen:["Messiaen Mode 4 Rotation 3"],"Named After Composers":["Tcherepnin Octatonic Mode 3"],Zeitler:["Katogyllic"],Dozenal:["GAKian"]}},977:{title:"Kocrimic",chroma:"100010111100",names:{Zeitler:["Kocrimic"],Dozenal:["GALian"]}},979:{title:"Mela Dhavalambari",chroma:"110010111100",names:{Carnatic:["Mela Dhavalambari"],"Named After Composers":["Foulds' Mantra Of Will Scale"],Zeitler:["Thogian"],Dozenal:["GAMian"],"Carnatic Melakarta":["Dhavalambari"],"Carnatic Numbered Melakarta":["49th Melakarta Raga"]}},981:{title:"Mela Kantamani",chroma:"101010111100",names:{Carnatic:["Mela Kantamani","Raga Kuntala","Srutiranjani"],Bedwell:["Lydian 67"],Zeitler:["Bacrian"],Dozenal:["GANian"],"Carnatic Melakarta":["Kantamani"],"Carnatic Numbered Melakarta":["61st Melakarta Raga"]}},983:{title:"Epygyllic",chroma:"111010111100",names:{Zeitler:["Epygyllic"],Dozenal:["GAPian"]}},985:{title:"Mela Sucaritra",chroma:"100110111100",names:{Carnatic:["Mela Sucaritra","Raga Santanamanjari","Chucharithra"],Bedwell:["Lydian 627"],Zeitler:["Raptian"],Dozenal:["GAQian"],"Carnatic Melakarta":["Sucharitra"],"Carnatic Numbered Melakarta":["67th Melakarta Raga"]}},987:{title:"Aeraptyllic",chroma:"110110111100",names:{Zeitler:["Aeraptyllic"],Dozenal:["GARian"]}},989:{title:"Phrolyllic",chroma:"101110111100",names:{Zeitler:["Phrolyllic"],Dozenal:["GASian"]}},991:{title:"Aeolygic",chroma:"111110111100",names:{Zeitler:["Aeolygic"],Dozenal:["GATian"]}},993:{title:"GAVian",chroma:"100001111100",names:{}},995:{title:"Lydian 2637",chroma:"110001111100",names:{Bedwell:["Lydian 2637"],Zeitler:["Phrathian"],Dozenal:["GEWian"]}},997:{title:"Lydian 637",chroma:"101001111100",names:{Bedwell:["Lydian 637"],Zeitler:["Rycrian"],Dozenal:["GEXian"]}},999:{title:"Bylyllic",chroma:"111001111100",names:{Zeitler:["Bylyllic"],Dozenal:["GEYian"]}},1001:{title:"Lydian 2367",chroma:"100101111100",names:{Bedwell:["Lydian 2367"],Zeitler:["Badian"],Dozenal:["GEZian"]}},1003:{title:"Ionyryllic",chroma:"110101111100",names:{Zeitler:["Ionyryllic"],Dozenal:["GEBian"]}},1005:{title:"Radyllic",chroma:"101101111100",names:{Zeitler:["Radyllic"],Dozenal:["GECian"]}},1007:{title:"Ionycrygic",chroma:"111101111100",names:{Zeitler:["Ionycrygic"],Dozenal:["GEDian"]}},1009:{title:"Lydian 6327",chroma:"100011111100",names:{Bedwell:["Lydian 6327"],Zeitler:["Katyptian"],Dozenal:["GEFian"]}},1011:{title:"Kycryllic",chroma:"110011111100",names:{Zeitler:["Kycryllic"],Dozenal:["GEGian"]}},1013:{title:"Stydyllic",chroma:"101011111100",names:{Zeitler:["Stydyllic"],Dozenal:["GEHian"]}},1015:{title:"Ionodygic",chroma:"111011111100",names:{Zeitler:["Ionodygic"],Dozenal:["GEJian"]}},1017:{title:"Dythyllic",chroma:"100111111100",names:{Zeitler:["Dythyllic"],Dozenal:["GEKian"]}},1019:{title:"Aeranygic",chroma:"110111111100",names:{Zeitler:["Aeranygic"],Dozenal:["GELian"]}},1021:{title:"Ladygic",chroma:"101111111100",names:{Zeitler:["Ladygic"],Dozenal:["GEMian"]}},1023:{title:"Chromatic Decamode",chroma:"111111111100",names:{"Western Modern":["Chromatic Decamode","Decatonic Chromatic"],Western:["Chromatic Decamode Basic"],Zeitler:["Dodyllian"],Dozenal:["GENian"]}},1025:{title:"Warao Ditonic",chroma:"100000000010",names:{Exoticisms:["Warao Ditonic"],Intervals:["Minor Seventh Ditone"],Dozenal:["Tian"]}},1027:{title:"GEQian",chroma:"110000000010",names:{}},1029:{title:"AMPian",chroma:"101000000010",names:{}},1031:{title:"GISian",chroma:"111000000010",names:{}},1033:{title:"Ute Tritonic",chroma:"100100000010",names:{"North American":["Ute Tritonic"],Dozenal:["ALLian"]}},1035:{title:"GIVian",chroma:"110100000010",names:{}},1037:{title:"Warao Tetratonic",chroma:"101100000010",names:{Exoticisms:["Warao Tetratonic"],Dozenal:["GIWian"]}},1039:{title:"GIXian",chroma:"111100000010",names:{}},1041:{title:"HITian",chroma:"100010000010",names:{}},1043:{title:"GIZian",chroma:"110010000010",names:{}},1045:{title:"GIBian",chroma:"101010000010",names:{}},1047:{title:"GICian",chroma:"111010000010",names:{}},1049:{title:"GIDian",chroma:"100110000010",names:{}},1051:{title:"GIFian",chroma:"110110000010",names:{}},1053:{title:"GIGian",chroma:"101110000010",names:{}},1055:{title:"GIHian",chroma:"111110000010",names:{}},1057:{title:"Sansagari",chroma:"100001000010",names:{Japanese:["Sansagari"],"Southeast Asia":["Karen 3 Tone Type 5"],Dozenal:["BOWian"]}},1059:{title:"GIKian",chroma:"110001000010",names:{}},1061:{title:"Karen 4 Tone Type 4",chroma:"101001000010",names:{"Southeast Asia":["Karen 4 Tone Type 4"],Dozenal:["GILian"]}},1063:{title:"GOMian",chroma:"111001000010",names:{}},1065:{title:"Karen 4 Tone Type 1",chroma:"100101000010",names:{"Southeast Asia":["Karen 4 Tone Type 1"],Dozenal:["GONian"]}},1067:{title:"GOPian",chroma:"110101000010",names:{}},1069:{title:"GOQian",chroma:"101101000010",names:{}},1071:{title:"GORian",chroma:"111101000010",names:{}},1073:{title:"GOSian",chroma:"100011000010",names:{}},1075:{title:"GOTian",chroma:"110011000010",names:{}},1077:{title:"GOVian",chroma:"101011000010",names:{}},1079:{title:"GOWian",chroma:"111011000010",names:{}},1081:{title:"GOXian",chroma:"100111000010",names:{}},1083:{title:"GOYian",chroma:"110111000010",names:{}},1085:{title:"GOZian",chroma:"101111000010",names:{}},1087:{title:"Infra-Alt 576",chroma:"111111000010",names:{Bedwell:["Infra-Alt 576"],Dozenal:["GOBian"]}},1089:{title:"GOCian",chroma:"100000100010",names:{}},1091:{title:"PEDian",chroma:"110000100010",names:{}},1093:{title:"Lydic",chroma:"101000100010",names:{Zeitler:["Lydic"],Dozenal:["GOFian"]}},1095:{title:"Phrythitonic",chroma:"111000100010",names:{Zeitler:["Phrythitonic"],Dozenal:["GOGian"]}},1097:{title:"Aeraphic",chroma:"100100100010",names:{Zeitler:["Aeraphic"],Dozenal:["HAFian"]}},1099:{title:"Dyritonic",chroma:"110100100010",names:{Zeitler:["Dyritonic"],Dozenal:["GUJian"]}},1101:{title:"Stothitonic",chroma:"101100100010",names:{Zeitler:["Stothitonic"],Dozenal:["AMOian"]}},1103:{title:"Lynimic",chroma:"111100100010",names:{Zeitler:["Lynimic"],Dozenal:["GULian"]}},1105:{title:"Messiaen Truncated Mode 6 Inverse",chroma:"100010100010",names:{Messiaen:["Messiaen Truncated Mode 6 Inverse","T6 First Rotation","Messiaen 6th Mode Truncated Inversed"],Zeitler:["Stathic"],Dozenal:["OPHian"]}},1107:{title:"Mogitonic",chroma:"110010100010",names:{Zeitler:["Mogitonic"],Dozenal:["GUNian"]}},1109:{title:"Kataditonic",chroma:"101010100010",names:{Zeitler:["Kataditonic"],Dozenal:["GUPian"]}},1111:{title:"Sycrimic",chroma:"111010100010",names:{Zeitler:["Sycrimic"],Dozenal:["GUQian"]}},1113:{title:"Locrian Pentatonic 2",chroma:"100110100010",names:{"Western Modern":["Locrian Pentatonic 2"],Zeitler:["Aeronitonic"],Dozenal:["GURian"]}},1115:{title:"Superlocrian Hexamirror",chroma:"110110100010",names:{"Western Modern":["Superlocrian Hexamirror"],Zeitler:["Locrimic"],Dozenal:["GUSian"]}},1117:{title:"Raptimic",chroma:"101110100010",names:{Zeitler:["Raptimic"],Dozenal:["GUTian"]}},1119:{title:"Infra-Alt 567",chroma:"111110100010",names:{Bedwell:["Infra-Alt 567"],Zeitler:["Rarian"],Dozenal:["GUVian"]}},1121:{title:"GUWian",chroma:"100001100010",names:{}},1123:{title:"Iwato",chroma:"110001100010",names:{Japanese:["Iwato"],Zeitler:["Lanitonic"],Dozenal:["GUXian"]}},1125:{title:"Ionaritonic",chroma:"101001100010",names:{Zeitler:["Ionaritonic"],Dozenal:["GUYian"]}},1127:{title:"Eparimic",chroma:"111001100010",names:{Zeitler:["Eparimic"],Dozenal:["GUZian"]}},1129:{title:"Raga Jayakauns",chroma:"100101100010",names:{Carnatic:["Raga Jayakauns"],Western:["Locrian Pentatonic"],Zeitler:["Phrynitonic"],Dozenal:["GUBian"]}},1131:{title:"Honchoshi Plagal Form",chroma:"110101100010",names:{Japanese:["Honchoshi Plagal Form","Iwatochôshi","Plagal Honchôshi"],Zeitler:["Thocrimic"],Dozenal:["HABian"]}},1133:{title:"Stycrimic",chroma:"101101100010",names:{Zeitler:["Stycrimic"],Dozenal:["HACian"]}},1135:{title:"Alt 3456",chroma:"111101100010",names:{Bedwell:["Alt 3456"],Zeitler:["Katolian"],Dozenal:["HADian"]}},1137:{title:"Stonitonic",chroma:"100011100010",names:{Zeitler:["Stonitonic"],Dozenal:["BRUian"]}},1139:{title:"Aerygimic",chroma:"110011100010",names:{Zeitler:["Aerygimic"],Dozenal:["HAGian"]}},1141:{title:"Rynimic",chroma:"101011100010",names:{Zeitler:["Rynimic"],Dozenal:["HAHian"]}},1143:{title:"Alt 356",chroma:"111011100010",names:{Bedwell:["Alt 356"],Zeitler:["Styrian"],Dozenal:["HAJian"]}},1145:{title:"Zygimic",chroma:"100111100010",names:{Zeitler:["Zygimic"],Dozenal:["HAKian"]}},1147:{title:"Alt 56",chroma:"110111100010",names:{Bedwell:["Alt 56"],Zeitler:["Epynian"],Dozenal:["HALian"]}},1149:{title:"Alt 256",chroma:"101111100010",names:{Bedwell:["Alt 256"],Zeitler:["Bydian"],Dozenal:["HAMian"]}},1151:{title:"Mythyllic",chroma:"111111100010",names:{Zeitler:["Mythyllic"],Dozenal:["HANian"]}},1153:{title:"CHOian",chroma:"100000010010",names:{}},1155:{title:"ADWian",chroma:"110000010010",names:{}},1157:{title:"ALKian",chroma:"101000010010",names:{}},1159:{title:"HASian",chroma:"111000010010",names:{}},1161:{title:"Bi Yu",chroma:"100100010010",names:{Chinese:["Bi Yu"],"Chord Names":["Minor Seventh"],"Southeast Asia":["Kmhmu 4 Tone Type 1"],Zeitler:["Eporic"],Dozenal:["RADian"]}},1163:{title:"Raga Rukmangi",chroma:"110100010010",names:{Carnatic:["Raga Rukmangi"],Zeitler:["Pagitonic"],Dozenal:["HAVian"]}},1165:{title:"Gycritonic",chroma:"101100010010",names:{Zeitler:["Gycritonic"],Dozenal:["HEWian"]}},1167:{title:"Aerodimic",chroma:"111100010010",names:{Zeitler:["Aerodimic"],Dozenal:["OBLian"]}},1169:{title:"Raga Mahathi",chroma:"100010010010",names:{Carnatic:["Raga Mahathi","Antara Kaishiaki"],"Chord Names":["Dominant Seventh"],Zeitler:["Daric"],Dozenal:["DOMian"]}},1171:{title:"Raga Manaranjani I",chroma:"110010010010",names:{Carnatic:["Raga Manaranjani I"],Zeitler:["Loptitonic"],Dozenal:["HEZian"]}},1173:{title:"Dominant Pentatonic",chroma:"101010010010",names:{"Western Modern":["Dominant Pentatonic"],Zeitler:["Phropitonic"],Dozenal:["HEBian"]}},1175:{title:"Epycrimic",chroma:"111010010010",names:{Zeitler:["Epycrimic"],Dozenal:["HECian"]}},1177:{title:"Garitonic",chroma:"100110010010",names:{Zeitler:["Garitonic"],Dozenal:["HEDian"]}},1179:{title:"Sonimic",chroma:"110110010010",names:{Zeitler:["Sonimic"],Dozenal:["HEFian"]}},1181:{title:"Katagimic",chroma:"101110010010",names:{Zeitler:["Katagimic"],Dozenal:["HEGian"]}},1183:{title:"Infra-Alt 57",chroma:"111110010010",names:{Bedwell:["Infra-Alt 57"],Zeitler:["Sadian"],Dozenal:["HEHian"]}},1185:{title:"Genus Primum Inverse",chroma:"100001010010",names:{"Ancient Greek":["Genus Primum Inverse"],"Southeast Asia":["Kmhmu 4 Tone Type 3"],Dozenal:["HEJian"]}},1187:{title:"Kokin-joshi",chroma:"110001010010",names:{Japanese:["Kokin-joshi","Miyakobushi","Han-Iwato","In Sen","Insen"],Carnatic:["Raga Vibhavari","Bairagi","Lasaki"],Zeitler:["Thalitonic"],Dozenal:["TROian"]}},1189:{title:"Suspended Pentatonic",chroma:"101001010010",names:{"Western Modern":["Suspended Pentatonic"],Western:["Minor Pentatonic Type 2"],Egyptian:["Meh"],Carnatic:["Raga Madhyamavati","Madhumad Sarang","Madhmad Sarang","Megh"],Exoticisms:["Egyptian"],Chinese:["Shang","Shāngdiào","Rui Bin","Jin Yu","Qing Yu"],Japanese:["Yo"],Vietnamese:["Ngu Cung Dao"],Ethiopian:["Yematebela Wofe"],"Southeast Asia":["Khmer Pentatonic 2","Kmhmu 5 Tone Type 1"],Zeitler:["Thaptitonic"],Dozenal:["HELian"]}},1191:{title:"Pyrimic",chroma:"111001010010",names:{Zeitler:["Pyrimic"],Dozenal:["HEMian"]}},1193:{title:"Minor Pentatonic",chroma:"100101010010",names:{"Western Modern":["Minor Pentatonic","Pentatonic Minor"],Western:["Minor Pentatonic Type 1"],Ethiopian:["Bati","Batti Minor"],"Jazz and Blues":["Blues Pentatonic"],Carnatic:["Raga Dhani","Abheri"],"Unknown / Unsorted":["Udhayaravi Chandrika","Nam","Northern Sa mac"],Chinese:["Qing Shang","Gu Xian","Jia Zhong","Yu","Yùdiào"],Korean:["P'yongjo-kyemyonjo"],Japanese:["Min'yō"],Vietnamese:["Lai Yai","Lai Noi"],Exoticisms:["Peruvian Pentatonic 2"],"Southeast Asia":["Karen 5 Tone Type 1","Akha 5 Tone Type 2","Khmer Pentatonic 5","Shan Lumjou 5 Tone Type 2"],Thailand:["Yao"],Zeitler:["Rocritonic"],Dozenal:["WARian"]}},1195:{title:"Raga Gandharavam",chroma:"110101010010",names:{Carnatic:["Raga Gandharavam"],Ethiopian:["Sabai Silt"],"Southeast Asia":["Khmer Hexatonic 4"],Zeitler:["Sarimic"],Dozenal:["OPSian"]}},1197:{title:"Minor Hexatonic",chroma:"101101010010",names:{"Western Modern":["Minor Hexatonic"],Carnatic:["Raga Manirangu","Nayaki","Pushpalithika","Puspalatika","Suha Sughrai"],Hindustani:["Palasi"],Exoticisms:["Eskimo Hexatonic 1"],"Southeast Asia":["Khmer Hexatonic 2"],Zeitler:["Rocrimic"],Dozenal:["STUian"]}},1199:{title:"Alt 3456",chroma:"111101010010",names:{Bedwell:["Alt 3456"],Zeitler:["Magian"],Dozenal:["HIRian"]}},1201:{title:"Mixolydian Pentatonic",chroma:"100011010010",names:{"Western Modern":["Mixolydian Pentatonic"],Vietnamese:["Nam ai","Oan"],Carnatic:["Raga Savethri"],Myanmar:["Hkunithanji"],Zeitler:["Aeracritonic"],Dozenal:["HISian"]}},1203:{title:"Pagimic",chroma:"110011010010",names:{Zeitler:["Pagimic"],Dozenal:["SPOian"]}},1205:{title:"Raga Siva Kambhoji",chroma:"101011010010",names:{Carnatic:["Raga Siva Kambhoji","Vivardhini"],Hindustani:["Andhali"],Zeitler:["Ionycrimic"],Dozenal:["HIVian"]}},1207:{title:"Alt 356",chroma:"111011010010",names:{Bedwell:["Alt 356"],Zeitler:["Aeoloptian"],Dozenal:["HIWian"]}},1209:{title:"Raga Bhanumanjari",chroma:"100111010010",names:{Carnatic:["Raga Bhanumanjari","Jog"],Zeitler:["Ionynimic"],Dozenal:["HIXian"]}},1211:{title:"Ceiling Scale",chroma:"110111010010",names:{"Western Modern":["Ceiling Scale"],Bedwell:["Alt 56"],Zeitler:["Zadian"],Dozenal:["HIYian"]}},1213:{title:"Alt 256",chroma:"101111010010",names:{Bedwell:["Alt 256"],Zeitler:["Gyrian"],Dozenal:["HIZian"]}},1215:{title:"Aeolanyllic",chroma:"111111010010",names:{Zeitler:["Aeolanyllic"],Dozenal:["HIBian"]}},1217:{title:"HICian",chroma:"100000110010",names:{}},1219:{title:"HIDian",chroma:"110000110010",names:{}},1221:{title:"Epyritonic",chroma:"101000110010",names:{Zeitler:["Epyritonic"],Dozenal:["HIFian"]}},1223:{title:"Phryptimic",chroma:"111000110010",names:{Zeitler:["Phryptimic"],Dozenal:["HIGian"]}},1225:{title:"Raga Samudhra Priya",chroma:"100100110010",names:{Carnatic:["Raga Samudhra Priya","Madhukauns"],Zeitler:["Lyditonic"],Dozenal:["HIHian"]}},1227:{title:"Thacrimic",chroma:"110100110010",names:{Zeitler:["Thacrimic"],Dozenal:["HIJian"]}},1229:{title:"Raga Simharava",chroma:"101100110010",names:{Carnatic:["Raga Simharava","Raga Sinharavam","Gopikatilaka"],Zeitler:["Ragimic"],Dozenal:["HIKian"]}},1231:{title:"Alt 346",chroma:"111100110010",names:{Bedwell:["Alt 346"],Zeitler:["Logian"],Dozenal:["HILian"]}},1233:{title:"Ionoditonic",chroma:"100010110010",names:{Zeitler:["Ionoditonic"],Dozenal:["HOMian"]}},1235:{title:"Tritone Scale",chroma:"110010110010",names:{"Western Modern":["Tritone Scale"],Messiaen:["Messiaen Truncated Mode 2","T5 First Rotation","Messiaen Mode 2 Truncation 1 Rotation 2"],Carnatic:["Raga Indupriya"],Zeitler:["Stylimic"],Dozenal:["HONian"]}},1237:{title:"Salimic",chroma:"101010110010",names:{Zeitler:["Salimic"],Dozenal:["HOPian"]}},1239:{title:"Alt 36",chroma:"111010110010",names:{Bedwell:["Alt 36"],Zeitler:["Epaptian"],Dozenal:["HOQian"]}},1241:{title:"Pygimic",chroma:"100110110010",names:{Zeitler:["Pygimic"],Dozenal:["GUHian"]}},1243:{title:"Alt 6",chroma:"110110110010",names:{Bedwell:["Alt 6"],Zeitler:["Epylian"],Dozenal:["HOSian"]}},1245:{title:"Alt 26",chroma:"101110110010",names:{Bedwell:["Alt 26"],Zeitler:["Lathian"],Dozenal:["BUPian"]}},1247:{title:"Mygyllic",chroma:"111110110010",names:{Zeitler:["Mygyllic"],Dozenal:["HOVian"]}},1249:{title:"HOWian",chroma:"100001110010",names:{}},1251:{title:"Sylimic",chroma:"110001110010",names:{Zeitler:["Sylimic"],Dozenal:["HOXian"]}},1253:{title:"Zolimic",chroma:"101001110010",names:{Zeitler:["Zolimic"],Dozenal:["HOYian"]}},1255:{title:"Locrian 36",chroma:"111001110010",names:{Bedwell:["Locrian 36"],"Western Chromatic":["Chromatic Mixolydian"],Zeitler:["Sogian"],Dozenal:["HOZian"]}},1257:{title:"Minor Blues",chroma:"100101110010",names:{"Jazz and Blues":["Minor Blues","Blues Scale","Blues"],Western:["Hexatonic Blues"],Carnatic:["Raga Nileshwari"],Zeitler:["Aeolyphimic"],Dozenal:["HOBian"]}},1259:{title:"Locrian 6",chroma:"110101110010",names:{Bedwell:["Locrian 6"],Zeitler:["Stadian"],Dozenal:["HOCian"]}},1261:{title:"Aeolian 56",chroma:"101101110010",names:{Bedwell:["Aeolian 56"],"Jazz and Blues":["Modified Blues"],Zeitler:["Aeodian"],Dozenal:["HODian"]}},1263:{title:"Stynyllic",chroma:"111101110010",names:{Zeitler:["Stynyllic"],Dozenal:["HOFian"]}},1265:{title:"Pynimic",chroma:"100011110010",names:{Zeitler:["Pynimic"],Dozenal:["HOGian"]}},1267:{title:"Locrian 36",chroma:"110011110010",names:{Bedwell:["Locrian 36"],Zeitler:["Katynian"],Dozenal:["HUHian"]}},1269:{title:"Major Locrian 6",chroma:"101011110010",names:{Bedwell:["Major Locrian 6"],Zeitler:["Katythian"],Dozenal:["HUJian"]}},1271:{title:"Kolyllic",chroma:"111011110010",names:{Zeitler:["Kolyllic"],Dozenal:["HUKian"]}},1273:{title:"Dominant 526",chroma:"100111110010",names:{Bedwell:["Dominant 526"],Western:["Heptatonic Blues"],Zeitler:["Ronian"],Dozenal:["HULian"]}},1275:{title:"Stagyllic",chroma:"110111110010",names:{Zeitler:["Stagyllic"],Dozenal:["HUMian"]}},1277:{title:"Zadyllic",chroma:"101111110010",names:{Zeitler:["Zadyllic"],Dozenal:["HUNian"]}},1279:{title:"Sarygic",chroma:"111111110010",names:{Zeitler:["Sarygic"],Dozenal:["HUPian"]}},1281:{title:"HUQian",chroma:"100000001010",names:{}},1283:{title:"HURian",chroma:"110000001010",names:{}},1285:{title:"HUSian",chroma:"101000001010",names:{}},1287:{title:"HUTian",chroma:"111000001010",names:{}},1289:{title:"HUVian",chroma:"100100001010",names:{}},1291:{title:"HUWian",chroma:"110100001010",names:{}},1293:{title:"HUXian",chroma:"101100001010",names:{}},1295:{title:"HUYian",chroma:"111100001010",names:{}},1297:{title:"Aeolic",chroma:"100010001010",names:{Zeitler:["Aeolic"],Dozenal:["BOGian"]}},1299:{title:"Aerophitonic",chroma:"110010001010",names:{Zeitler:["Aerophitonic"],Dozenal:["HUBian"]}},1301:{title:"Koditonic",chroma:"101010001010",names:{Zeitler:["Koditonic"],Dozenal:["ITWian"]}},1303:{title:"Epolimic",chroma:"111010001010",names:{Zeitler:["Epolimic"],Dozenal:["ILKian"]}},1305:{title:"Dynitonic",chroma:"100110001010",names:{Zeitler:["Dynitonic"],Dozenal:["IPHian"]}},1307:{title:"Katorimic",chroma:"110110001010",names:{Zeitler:["Katorimic"],Dozenal:["IBOian"]}},1309:{title:"Pogimic",chroma:"101110001010",names:{Zeitler:["Pogimic"],Dozenal:["IBUian"]}},1311:{title:"Alt 345",chroma:"111110001010",names:{Bedwell:["Alt 345"],Zeitler:["Bynian"],Dozenal:["ITHian"]}},1313:{title:"Akha 4 Tone Type 2",chroma:"100001001010",names:{"Southeast Asia":["Akha 4 Tone Type 2","Lahuzu 4 Tone Type 5"],Western:["Genus Primum Inverse"],Dozenal:["IPLian"]}},1315:{title:"Pyritonic",chroma:"110001001010",names:{Zeitler:["Pyritonic"],Dozenal:["IBSian"]}},1317:{title:"Chaio",chroma:"101001001010",names:{Chinese:["Chaio"],Zeitler:["Staditonic"],Dozenal:["ICOian"]}},1319:{title:"Phronimic",chroma:"111001001010",names:{Zeitler:["Phronimic"],Dozenal:["ICUian"]}},1321:{title:"Blues Minor",chroma:"100101001010",names:{"Jazz and Blues":["Blues Minor"],Chinese:["Jue","Màn Gong","Juédiào"],"Unknown / Unsorted":["Quan Ming","Yi Ze","Jiao"],Ethiopian:["Shegaye"],Western:["Minor Pentatonic Type 3"],"Southeast Asia":["Khmer Pentatonic 3","Akha 5 Tone Type 3"],"Western Modern":["Phrygian Pentatonic"],Carnatic:["Raga Malkauns","Raga Malakosh","Raga Hindola"],Zeitler:["Epathitonic"],Dozenal:["BENian"]}},1323:{title:"Ritsu",chroma:"110101001010",names:{Japanese:["Ritsu","Ritsu Onkai"],Carnatic:["Raga Suddha Todi"],Zeitler:["Eporimic"],Dozenal:["IRMian"]}},1325:{title:"Phradimic",chroma:"101101001010",names:{Zeitler:["Phradimic"],Dozenal:["IBRian"]}},1327:{title:"Alt 345",chroma:"111101001010",names:{Bedwell:["Alt 345"],Zeitler:["Zalian"],Dozenal:["IDOian"]}},1329:{title:"Epygitonic",chroma:"100011001010",names:{Zeitler:["Epygitonic"],Dozenal:["IDUian"]}},1331:{title:"Raga Vasantabhairavi",chroma:"110011001010",names:{Carnatic:["Raga Vasantabhairavi"],Zeitler:["Dolimic"],Dozenal:["IRFian"]}},1333:{title:"Lyptimic",chroma:"101011001010",names:{Zeitler:["Lyptimic"],Dozenal:["ITTian"]}},1335:{title:"Elephant Scale",chroma:"111011001010",names:{"12Tone":["Elephant Scale"],Bedwell:["Alt 35"],Zeitler:["Aeralian"],Dozenal:["IBBian"]}},1337:{title:"Epogimic",chroma:"100111001010",names:{Zeitler:["Epogimic"],Dozenal:["IFOian"]}},1339:{title:"Alt 5",chroma:"110111001010",names:{Bedwell:["Alt 5"],Zeitler:["Kycrian"],Dozenal:["IFUian"]}},1341:{title:"Alt 25",chroma:"101111001010",names:{Bedwell:["Alt 25"],Zeitler:["Madian"],Dozenal:["ICLian"]}},1343:{title:"Zalyllic",chroma:"111111001010",names:{Zeitler:["Zalyllic"],Dozenal:["IRTian"]}},1345:{title:"ISKian",chroma:"100000101010",names:{}},1347:{title:"IGOian",chroma:"110000101010",names:{}},1349:{title:"Tholitonic",chroma:"101000101010",names:{Zeitler:["Tholitonic"],Dozenal:["IGUian"]}},1351:{title:"Aeraptimic",chroma:"111000101010",names:{Zeitler:["Aeraptimic"],Dozenal:["IFFian"]}},1353:{title:"Raga Harikauns",chroma:"100100101010",names:{Carnatic:["Raga Harikauns"],"Unknown / Unsorted":["Chin"],Zeitler:["Kataritonic"],Dozenal:["ISTian"]}},1355:{title:"Aeolorimic",chroma:"110100101010",names:{Zeitler:["Aeolorimic"],Dozenal:["IPPian"]}},1357:{title:"Takemitsu Linea Mode 2",chroma:"101100101010",names:{"Named After Composers":["Takemitsu Linea Mode 2","Takemitsu Tree Line Mode 2"],Western:["Takemitsu Linea II","Takemitsu Linea 2"],Zeitler:["Katonimic"],Dozenal:["IHOian"]}},1359:{title:"Alt 34",chroma:"111100101010",names:{Bedwell:["Alt 34"],Zeitler:["Aerygian"],Dozenal:["IHUian"]}},1361:{title:"Ngapauk auk Pyan",chroma:"100010101010",names:{Myanmar:["Ngapauk auk Pyan","Tahcan Pou"],Zeitler:["Bolitonic"],Dozenal:["IJUian"]}},1363:{title:"Gygimic",chroma:"110010101010",names:{Zeitler:["Gygimic"],Dozenal:["ISSian"]}},1365:{title:"Whole Tone",chroma:"101010101010",names:{Western:["Whole Tone"],Messiaen:["Messiaen Mode 1","Messiaen 1st Mode","First Mode Of Limited Transposition"],Carnatic:["Raga Gopriya"],"Western Modern":["Anhemitonic Hexatonic","Anhemic Hexatonic","Auxiliary Augmented"],Dozenal:["HOLian"]}},1367:{title:"Leading Whole-Tone Inverse",chroma:"111010101010",names:{"Western Modern":["Leading Whole-Tone Inverse"],Bedwell:["Alt 3"],Zeitler:["Pyptian"],Dozenal:["IGRian"]}},1369:{title:"Boptimic",chroma:"100110101010",names:{Zeitler:["Boptimic"],Dozenal:["ITLian"]}},1371:{title:"Superlocrian",chroma:"110110101010",names:{"Western Modern":["Superlocrian","Diminished Whole-tone","Altered"],"Western Altered":["Altered Scale","Altered Dominant","Locrian 4"],"Named After Composers":["Pomeroy","Ravel"],"Western Mixed":["Dominant Whole-tone Combo"],Zeitler:["Ionadian"],Dozenal:["ALTian"]}},1373:{title:"Alt 2",chroma:"101110101010",names:{Bedwell:["Alt 2"],Zeitler:["Storian"],Dozenal:["ILUian"]}},1375:{title:"Bothyllic",chroma:"111110101010",names:{Zeitler:["Bothyllic"],Dozenal:["INTian"]}},1377:{title:"INSian",chroma:"100001101010",names:{}},1379:{title:"Kycrimic",chroma:"110001101010",names:{Zeitler:["Kycrimic"],Dozenal:["ILVian"]}},1381:{title:"Padimic",chroma:"101001101010",names:{Zeitler:["Padimic"],Dozenal:["IMOian"]}},1383:{title:"Locrian 3",chroma:"111001101010",names:{Bedwell:["Locrian 3"],Zeitler:["Pynian"],Dozenal:["IMUian"]}},1385:{title:"Phracrimic",chroma:"100101101010",names:{Zeitler:["Phracrimic"],Dozenal:["ITRian"]}},1387:{title:"Locrian",chroma:"110101101010",names:{Western:["Locrian","Thang Klang"],"Southeast Asia":["Khmer Hepatatonic 3"],Thailand:["Thang luk"],"Ancient Greek":["Greek Mixolydian","Greek Hyperdorian","Greek Medieval Hyperaeolian"],Medieval:["Medieval Hypophrygian","Medieval Locrian"],"Unknown / Unsorted":["Rut Biscale Descending","Pien chih"],Jewish:["Yishtabach"],Dozenal:["LORian"]}},1389:{title:"Minor Locrian",chroma:"101101101010",names:{"Western Modern":["Minor Locrian","Half Diminished"],Bedwell:["Aeolian 5"],"Western Altered":["Locrian 2","Locrian 2","Aeolian 5","Minor 5"],Zeitler:["Lorian"],Dozenal:["BADian"]}},1391:{title:"Aeradyllic",chroma:"111101101010",names:{Zeitler:["Aeradyllic"],Dozenal:["INOian"]}},1393:{title:"Mycrimic",chroma:"100011101010",names:{Zeitler:["Mycrimic"],Dozenal:["INUian"]}},1395:{title:"Locrian Dominant",chroma:"110011101010",names:{Western:["Locrian Dominant"],Bedwell:["Locrian 3"],Exoticisms:["Asian (a)"],Zeitler:["Mixonorian"],Dozenal:["ILFian"]}},1397:{title:"Major Locrian",chroma:"101011101010",names:{"Western Modern":["Major Locrian"],Exoticisms:["Arabian (b)"],Zeitler:["Gothian"],Dozenal:["IRGian"]}},1399:{title:"Syryllic",chroma:"111011101010",names:{Zeitler:["Syryllic"],Dozenal:["ISPian"]}},1401:{title:"Major Locrian 2",chroma:"100111101010",names:{Bedwell:["Major Locrian 2"],Zeitler:["Pagian"],Dozenal:["IPOian"]}},1403:{title:"Espla's Scale",chroma:"110111101010",names:{"Named After Composers":["Espla's Scale"],Exoticisms:["Eight-tone Spanish"],Western:["Espla 8 Tone Spanish","Spanish Octamode 2nd Rotation"],Jewish:["Ahava Rabba"],Zeitler:["Epinyllic"],Dozenal:["IPUian"]}},1405:{title:"Goryllic",chroma:"101111101010",names:{Zeitler:["Goryllic"],Dozenal:["ITLian"]}},1407:{title:"Tharygic",chroma:"111111101010",names:{Zeitler:["Tharygic"],Dozenal:["IRRian"]}},1409:{title:"IMSian",chroma:"100000011010",names:{}},1411:{title:"IROian",chroma:"110000011010",names:{}},1413:{title:"IRUian",chroma:"101000011010",names:{}},1415:{title:"IMPian",chroma:"111000011010",names:{}},1417:{title:"Raga Shailaja",chroma:"100100011010",names:{Carnatic:["Raga Shailaja"],"Unknown / Unsorted":["Varini"],Zeitler:["Zoptitonic"],Dozenal:["IRKian"]}},1419:{title:"Raga Kashyapi",chroma:"110100011010",names:{Carnatic:["Raga Kashyapi"],Zeitler:["Zalimic"],Dozenal:["ICKian"]}},1421:{title:"Raga Trimurti",chroma:"101100011010",names:{Carnatic:["Raga Trimurti"],Zeitler:["Aeolaphimic"],Dozenal:["ISOian"]}},1423:{title:"Alt 534",chroma:"111100011010",names:{Bedwell:["Alt 534"],Zeitler:["Doptian"],Dozenal:["ISUian"]}},1425:{title:"Ryphitonic",chroma:"100010011010",names:{Zeitler:["Ryphitonic"],Dozenal:["IDRian"]}},1427:{title:"Lolimic",chroma:"110010011010",names:{Zeitler:["Lolimic"],Dozenal:["INBian"]}},1429:{title:"Bythimic",chroma:"101010011010",names:{Zeitler:["Bythimic"],Dozenal:["ITRian"]}},1431:{title:"Phragian",chroma:"111010011010",names:{Zeitler:["Phragian"],Dozenal:["ITOian"]}},1433:{title:"Dynimic",chroma:"100110011010",names:{Zeitler:["Dynimic"],Dozenal:["ITUian"]}},1435:{title:"Phrygian 4",chroma:"110110011010",names:{Bedwell:["Phrygian 4"],"Western Altered":["Phrygian 4"],"12Tone":["Gummy Bear Scale"],Zeitler:["Phronian"],Dozenal:["IBLian"]}},1437:{title:"Sabach ascending",chroma:"101110011010",names:{"Modern Greek":["Sabach ascending","Drómos Sabáh"],Bedwell:["Aeolian 4"],Zeitler:["Aeolycrian"],Dozenal:["IFRian"]}},1439:{title:"Rolyllic",chroma:"111110011010",names:{Zeitler:["Rolyllic"],Dozenal:["IYOian"]}},1441:{title:"JABian",chroma:"100001011010",names:{}},1443:{title:"Raga Phenadyuti",chroma:"110001011010",names:{Carnatic:["Raga Phenadyuti"],Japanese:["Honchôshi","Niagari"],Zeitler:["Ionarimic"],Dozenal:["JACian"]}},1445:{title:"Raga Navamanohari",chroma:"101001011010",names:{Carnatic:["Raga Navamanohari"],"Southeast Asia":["Khmer Hexatonic 3"],Zeitler:["Byptimic"],Dozenal:["JADian"]}},1447:{title:"Mela Ratnangi",chroma:"111001011010",names:{Carnatic:["Mela Ratnangi","Rathnangi"],Bedwell:["Phrygian 3"],Zeitler:["Mixopyrian"],Dozenal:["JAFian"],"Carnatic Melakarta":["Ratnangi"],"Carnatic Numbered Melakarta":["2nd Melakarta Raga"]}},1449:{title:"Raga Gopikavasantam",chroma:"100101011010",names:{Carnatic:["Raga Gopikavasantam"],"Unknown / Unsorted":["Desya Todi","Jayantasri"],"Western Modern":["Phrygian Hexatonic"],Zeitler:["Epathimic"],Dozenal:["JAGian"]}},1451:{title:"Phrygian",chroma:"110101011010",names:{Western:["Phrygian","Modern Phrygian","Gregorian Nr.3"],"Southeast Asia":["Khmer Hepatatonic 6"],Thailand:["Thang Klang Haep"],"Modern Greek":["Drómos Usák","Ousak"],Hindustani:["That Bhairavi","Bhairavi That","Bhairavi Theta"],Carnatic:["Hanumathodi","Mela Hanumatodi","Raga Asavari","Raga Asaveri"],"Ancient Greek":["Greek Dorian","Greek Medieval Hypoaeolian"],Medieval:["Medieval Phrygian"],"Unknown / Unsorted":["Bilashkhani Todi","Ghanta","In"],"Gregorian Numbered":["Gregorian Number 3"],Japanese:["Zokuso"],"Western Modern":["Major Inverse"],Dozenal:["FIJian"],"Carnatic Melakarta":["Hanumatodi"],"Carnatic Numbered Melakarta":["8th Melakarta Raga"]}},1453:{title:"Aeolian",chroma:"101101011010",names:{Western:["Aeolian","Gregorian Nr.2","Minor","Natural Minor","Melodic Minor Descending"],"Southeast Asia":["Khmer Hepatatonic 2"],Thailand:["Thang Nai"],Azerbaijan:["Mugham Shur"],"Ancient Greek":["Greek Medieval Hypodorian","Greek Hypodorian","Greek Medieval Aeolian","Greek Hyperphrygian"],Ethiopian:["Geez","Ezel"],"Unknown / Unsorted":["Pure Minor","Se","Chiao","Cushak"],Hindustani:["That Yavanapuri","Asavari That","Asavari Theta"],Carnatic:["Mela Natabhairavi","Raga Jaunpuri","Adana","Darbari","Dhanyasi","Jingla"],"Gregorian Numbered":["Gregorian Number 2"],Arabic:["Nihavend"],Exoticisms:["Peruvian Minor"],"Modern Greek":["Kiourdi Descending"],Dozenal:["AOLian"],"Carnatic Melakarta":["Natabhairavi"],"Carnatic Numbered Melakarta":["20th Melakarta Raga"]}},1455:{title:"Quartal Octamode",chroma:"111101011010",names:{"Western Modern":["Quartal Octamode"],"Western Mixed":["Phrygiolian","Phrygian/Aeolian Mixed"],Western:["Quartal Octamode Basic"],Zeitler:["Soryllic"],Dozenal:["JAKian"]}},1457:{title:"Raga Kamalamanohari",chroma:"100011011010",names:{Carnatic:["Raga Kamalamanohari"],Zeitler:["Modimic"],Dozenal:["JALian"]}},1459:{title:"Phrygian Dominant",chroma:"110011011010",names:{"Western Modern":["Phrygian Dominant","Phrygian Major","Harmonic Major Inverse"],Western:["Dorian Flamenco"],"Modern Greek":["Dromos Hitzaz","Hijaz"],Exoticisms:["Spanish Romani","Dorico Flamenco","Altered Hungarian"],Carnatic:["Mela Vakulabharanam","Raga Jogiya"],"Unknown / Unsorted":["Ahiri","Zilof","Humayun"],Hindustani:["Vativasantabhairavi"],Arabic:["Camel Scale"],Iranian:["Dastgāh-e Māhur","دستگاه ماهور‎"],Jewish:["Freygish"],"Western Altered":["Mixolydian 9 13","Mixolydian 2 6"],Zeitler:["Ionalian"],Dozenal:["ESPian"],"Carnatic Melakarta":["Vakulabharanam"],"Carnatic Numbered Melakarta":["14th Melakarta Raga"]}},1461:{title:"Major-Minor",chroma:"101011011010",names:{"Western Mixed":["Major-Minor"],Azerbaijan:["Mugham Bayati Shiraz"],Carnatic:["Charukeshi","Mela Carukesi","Raga Charukeshi","Tarangini"],Western:["Aeolian Dominant"],"Western Modern":["Melodic Major"],Schenkerian:["Mischung 6"],"Western Altered":["Mixolydian 6","Mixolydian 13","Altered Mixolydian"],Exoticisms:["Hindu","Hindustani"],Zeitler:["Stydian"],Dozenal:["JUSian"],"Carnatic Melakarta":["Charukesi"],"Carnatic Numbered Melakarta":["26th Melakarta Raga"]}},1463:{title:"Zaptyllic",chroma:"111011011010",names:{Zeitler:["Zaptyllic"],Dozenal:["UGRian"]}},1465:{title:"Dominant 62",chroma:"100111011010",names:{Bedwell:["Dominant 62"],Carnatic:["Mela Ragavardhani","Ragavardhani","Raga Cudamani"],Zeitler:["Aerathian"],Dozenal:["JAQian"],"Carnatic Melakarta":["Ragavardhini"],"Carnatic Numbered Melakarta":["32nd Melakarta Raga"]}},1467:{title:"Spanish Phrygian",chroma:"110111011010",names:{Exoticisms:["Spanish Phrygian"],"Western Altered":["Altered Dominant A"],Zeitler:["Thydyllic"],Dozenal:["JARian"]}},1469:{title:"Epiryllic",chroma:"101111011010",names:{Zeitler:["Epiryllic"],Dozenal:["JASian"]}},1471:{title:"Radygic",chroma:"111111011010",names:{Zeitler:["Radygic"],Dozenal:["JATian"]}},1473:{title:"JAVian",chroma:"100000111010",names:{}},1475:{title:"UFFian",chroma:"110000111010",names:{}},1477:{title:"Raga Jaganmohanam",chroma:"101000111010",names:{Carnatic:["Raga Jaganmohanam"],Zeitler:["Phrylimic"],Dozenal:["JEXian"]}},1479:{title:"Phrygian 43",chroma:"111000111010",names:{Bedwell:["Phrygian 43"],Carnatic:["Mela Jalarnava","Mela Jalarnavam"],Zeitler:["Aeolagian"],Dozenal:["JEYian"],"Carnatic Melakarta":["Jalarnavam"],"Carnatic Numbered Melakarta":["38th Melakarta Raga"]}},1481:{title:"Zagimic",chroma:"100100111010",names:{Zeitler:["Zagimic"],Dozenal:["JEZian"]}},1483:{title:"Phrygian 4",chroma:"110100111010",names:{Bedwell:["Phrygian 4"],Carnatic:["Mela Bhavapriya","Raga Bhāvani"],"Unknown / Unsorted":["Kalamurti","Neveseri Ascending"],Zeitler:["Dygian"],Dozenal:["JEBian"],"Carnatic Melakarta":["Bhavapriya"],"Carnatic Numbered Melakarta":["44th Melakarta Raga"]}},1485:{title:"Aeolian 4",chroma:"101100111010",names:{Bedwell:["Aeolian 4"],Exoticisms:["Minor Romani","Romani Scale"],Carnatic:["Mela Sanmukhapriya","Raga Camara"],"Unknown / Unsorted":["Chinthamani"],"Western Altered":["Aeolian 4"],Zeitler:["Tyrian"],Dozenal:["JECian"],"Carnatic Melakarta":["Shanmukhapriya"],"Carnatic Numbered Melakarta":["56th Melakarta Raga"]}},1487:{title:"Lycryllic",chroma:"111100111010",names:{Zeitler:["Lycryllic"],Dozenal:["JEDian"]}},1489:{title:"Raga Jyoti",chroma:"100010111010",names:{Carnatic:["Raga Jyoti"],Zeitler:["Gacrimic"],Dozenal:["JEFian"]}},1491:{title:"Lydian minor 2",chroma:"110010111010",names:{Bedwell:["Lydian minor 2"],"Carnatic Melakarta":["Namanarayani"],Carnatic:["Namanrayani","Mela Namanarayani","Raga Narmada"],"Unknown / Unsorted":["Pratapa","Harsh Major-Minor"],Zeitler:["Rynian"],Dozenal:["JEGian"],"Carnatic Numbered Melakarta":["50th Melakarta Raga"]}},1493:{title:"Lydian Minor",chroma:"101010111010",names:{"Western Modern":["Lydian Minor","Minor Lydian"],Carnatic:["Risabhapriya","Mela Risabhapriya","Raga Ratipriya"],Zeitler:["Phryrian"],Dozenal:["JEHian"],"Carnatic Melakarta":["Rishabhapriya"],"Carnatic Numbered Melakarta":["62nd Melakarta Raga"]}},1495:{title:"Messiaen Mode 6 Rotation 2",chroma:"111010111010",names:{Messiaen:["Messiaen Mode 6 Rotation 2","Messiaen Mode 6 Inverse"],Zeitler:["Epidyllic"],Dozenal:["JEJian"]}},1497:{title:"Mela Jyotisvarupini",chroma:"100110111010",names:{Carnatic:["Mela Jyotisvarupini","Raga Jotismatti"],Bedwell:["Lydian 726"],Zeitler:["Ionanian"],Dozenal:["JEKian"],"Carnatic Melakarta":["Jyoti Swarupini"],"Carnatic Numbered Melakarta":["68th Melakarta Raga"]}},1499:{title:"Altered Dominant B",chroma:"110110111010",names:{"Western Modern":["Altered Dominant B"],Zeitler:["Stonyllic"],Dozenal:["JELian"]}},1501:{title:"Stygyllic",chroma:"101110111010",names:{Zeitler:["Stygyllic"],Dozenal:["MEVian"]}},1503:{title:"Padygic",chroma:"111110111010",names:{Zeitler:["Padygic"],Dozenal:["JENian"]}},1505:{title:"JEPian",chroma:"100001111010",names:{}},1507:{title:"Lydian 7263",chroma:"110001111010",names:{Bedwell:["Lydian 7263"],Zeitler:["Zynian"],Dozenal:["JEQian"]}},1509:{title:"Lydian minor 3",chroma:"101001111010",names:{Bedwell:["Lydian minor 3"],Zeitler:["Ragian"],Dozenal:["JIRian"]}},1511:{title:"Styptyllic",chroma:"111001111010",names:{Zeitler:["Styptyllic"],Dozenal:["JISian"]}},1513:{title:"Lydian 7623",chroma:"100101111010",names:{Bedwell:["Lydian 7623"],Zeitler:["Stathian"],Dozenal:["JITian"]}},1515:{title:"Bebop Locrian",chroma:"110101111010",names:{"Jazz and Blues":["Bebop Locrian"],"Western Mixed":["Phrygian/Locrian Mixed"],Western:["Quartal Octamode 4th Rotation"],Zeitler:["Solyllic"],Dozenal:["JIVian"]}},1517:{title:"Spanish Octamode 4th Rotation",chroma:"101101111010",names:{Western:["Spanish Octamode 4th Rotation"],Zeitler:["Sagyllic"],Dozenal:["JIWian"]}},1519:{title:"Locrian/Aeolian Mixed",chroma:"111101111010",names:{"Western Mixed":["Locrian/Aeolian Mixed"],Zeitler:["Solygic"],Dozenal:["JIXian"]}},1521:{title:"Lydian 7632",chroma:"100011111010",names:{Bedwell:["Lydian 7632"],Zeitler:["Stanian"],Dozenal:["JIYian"]}},1523:{title:"Zothyllic",chroma:"110011111010",names:{Zeitler:["Zothyllic"],Dozenal:["THUian"]}},1525:{title:"Sodyllic",chroma:"101011111010",names:{Zeitler:["Sodyllic"],Dozenal:["JIBian"]}},1527:{title:"Aeolyrygic",chroma:"111011111010",names:{Zeitler:["Aeolyrygic"],Dozenal:["JICian"]}},1529:{title:"Kataryllic",chroma:"100111111010",names:{Zeitler:["Kataryllic"],Dozenal:["JIDian"]}},1531:{title:"Styptygic",chroma:"110111111010",names:{Zeitler:["Styptygic"],Dozenal:["JIFian"]}},1533:{title:"Katycrygic",chroma:"101111111010",names:{Zeitler:["Katycrygic"],Dozenal:["JIGian"]}},1535:{title:"Mixodyllian",chroma:"111111111010",names:{Zeitler:["Mixodyllian"],Dozenal:["JIHian"]}},1537:{title:"JIJian",chroma:"100000000110",names:{}},1539:{title:"JIKian",chroma:"110000000110",names:{}},1541:{title:"JILian",chroma:"101000000110",names:{}},1543:{title:"JOMian",chroma:"111000000110",names:{}},1545:{title:"JONian",chroma:"100100000110",names:{}},1547:{title:"JOPian",chroma:"110100000110",names:{}},1549:{title:"JOQian",chroma:"101100000110",names:{}},1551:{title:"JORian",chroma:"111100000110",names:{}},1553:{title:"JOSian",chroma:"100010000110",names:{}},1555:{title:"JOTian",chroma:"110010000110",names:{}},1557:{title:"JOVian",chroma:"101010000110",names:{}},1559:{title:"JOWian",chroma:"111010000110",names:{}},1561:{title:"JOXian",chroma:"100110000110",names:{}},1563:{title:"JOYian",chroma:"110110000110",names:{}},1565:{title:"JOZian",chroma:"101110000110",names:{}},1567:{title:"Alt 6345",chroma:"111110000110",names:{Bedwell:["Alt 6345"],Dozenal:["JOBian"]}},1569:{title:"JOCian",chroma:"100001000110",names:{}},1571:{title:"Lagitonic",chroma:"110001000110",names:{Zeitler:["Lagitonic"],Dozenal:["JODian"]}},1573:{title:"Raga Guhamanohari",chroma:"101001000110",names:{Carnatic:["Raga Guhamanohari"],Zeitler:["Saritonic"],Dozenal:["JOFian"]}},1575:{title:"Zycrimic",chroma:"111001000110",names:{Zeitler:["Zycrimic"],Dozenal:["JOGian"]}},1577:{title:"Raga Chandrakauns",chroma:"100101000110",names:{Carnatic:["Raga Chandrakauns"],"Unknown / Unsorted":["Surya","Varamu"],Zeitler:["Lonitonic"],Dozenal:["JUHian"]}},1579:{title:"Sagimic",chroma:"110101000110",names:{Zeitler:["Sagimic"],Dozenal:["JUJian"]}},1581:{title:"Raga Bagesri",chroma:"101101000110",names:{Carnatic:["Raga Bagesri"],"Unknown / Unsorted":["Sriranjani","Kapijingla","Jayamanohari"],Zeitler:["Gyrimic"],Dozenal:["JUKian"]}},1583:{title:"Alt 6345",chroma:"111101000110",names:{Bedwell:["Alt 6345"],Zeitler:["Salian"],Dozenal:["JULian"]}},1585:{title:"Raga Khamaji Durga",chroma:"100011000110",names:{Carnatic:["Raga Khamaji Durga"],Zeitler:["Phraditonic"],Dozenal:["JUMian"]}},1587:{title:"Raga Rudra Pancama",chroma:"110011000110",names:{Carnatic:["Raga Rudra Pancama"],Zeitler:["Lalimic"],Dozenal:["JUNian"]}},1589:{title:"Raga Rageshri",chroma:"101011000110",names:{Carnatic:["Raga Rageshri","Raga Rageshwari"],"Unknown / Unsorted":["Nattaikurinji","Natakuranji"],Zeitler:["Ionagimic"],Dozenal:["JUPian"]}},1591:{title:"Alt 635",chroma:"111011000110",names:{Bedwell:["Alt 635"],Zeitler:["Rodian"],Dozenal:["JUQian"]}},1593:{title:"Zogimic",chroma:"100111000110",names:{Zeitler:["Zogimic"],Dozenal:["JURian"]}},1595:{title:"Alt 65",chroma:"110111000110",names:{Bedwell:["Alt 65"],Zeitler:["Dacrian"],Dozenal:["AGRian"]}},1597:{title:"Dorian 45",chroma:"101111000110",names:{Bedwell:["Dorian 45"],Zeitler:["Aeolodian"],Dozenal:["JUTian"]}},1599:{title:"Pocryllic",chroma:"111111000110",names:{Zeitler:["Pocryllic"],Dozenal:["JUVian"]}},1601:{title:"JUWian",chroma:"100000100110",names:{}},1603:{title:"JUXian",chroma:"110000100110",names:{}},1605:{title:"Zanitonic",chroma:"101000100110",names:{Zeitler:["Zanitonic"],Dozenal:["JUYian"]}},1607:{title:"Epytimic",chroma:"111000100110",names:{Zeitler:["Epytimic"],Dozenal:["JUZian"]}},1609:{title:"Thyritonic",chroma:"100100100110",names:{Zeitler:["Thyritonic"],Dozenal:["JUBian"]}},1611:{title:"Dacrimic",chroma:"110100100110",names:{Zeitler:["Dacrimic"],Dozenal:["KABian"]}},1613:{title:"Thylimic",chroma:"101100100110",names:{Zeitler:["Thylimic"],Dozenal:["KACian"]}},1615:{title:"Alt 634",chroma:"111100100110",names:{Bedwell:["Alt 634"],Zeitler:["Sydian"],Dozenal:["KADian"]}},1617:{title:"Phronitonic",chroma:"100010100110",names:{Zeitler:["Phronitonic"],Dozenal:["KAFian"]}},1619:{title:"Prometheus Neapolitan",chroma:"110010100110",names:{"Named After Composers":["Prometheus Neapolitan","Neapolitan Prometheus"],Zeitler:["Monimic"],Dozenal:["KAGian"]}},1621:{title:"Scriabin's Prometheus",chroma:"101010100110",names:{"Named After Composers":["Scriabin's Prometheus","Mystic"],Western:["Prometheus"],Carnatic:["Raga Barbara"],Zeitler:["Aeolathimic"],Dozenal:["KAHian"]}},1623:{title:"Alt 63",chroma:"111010100110",names:{Bedwell:["Alt 63"],Zeitler:["Lothian"],Dozenal:["KAJian"]}},1625:{title:"Hungarian Major No5",chroma:"100110100110",names:{"Western Modern":["Hungarian Major No5"],Messiaen:["T4 Second Rotation","Messiaen Mode 2 Truncation 2 Rotation 1"],Zeitler:["Lythimic"],Dozenal:["KAKian"]}},1627:{title:"Alt 6",chroma:"110110100110",names:{Bedwell:["Alt 6"],Western:["Hungarian Major 4th Mode","Alternating Heptamode 2nd Rotation"],Zeitler:["Zyptian"],Dozenal:["KALian"]}},1629:{title:"Synian",chroma:"101110100110",names:{Zeitler:["Synian"],Dozenal:["KAMian"]}},1631:{title:"Rynyllic",chroma:"111110100110",names:{Zeitler:["Rynyllic"],Dozenal:["KANian"]}},1633:{title:"KAPian",chroma:"100001100110",names:{}},1635:{title:"Sygimic",chroma:"110001100110",names:{Zeitler:["Sygimic"],Dozenal:["KAQian"]}},1637:{title:"Syptimic",chroma:"101001100110",names:{Zeitler:["Syptimic"],Dozenal:["KARian"]}},1639:{title:"Locrian 63",chroma:"111001100110",names:{Bedwell:["Locrian 63"],Zeitler:["Aeolothian"],Dozenal:["KASian"]}},1641:{title:"Bocrimic",chroma:"100101100110",names:{Zeitler:["Bocrimic"],Dozenal:["KATian"]}},1643:{title:"Locrian 6",chroma:"110101100110",names:{"Western Altered":["Locrian 6","Locrian 6"],Bedwell:["Locrian 6"],Zeitler:["Thyptian"],Dozenal:["KAVian"]}},1645:{title:"Dorian 5",chroma:"101101100110",names:{"Western Altered":["Dorian 5","Locrian Natural 2 6"],"Jazz and Blues":["Blues Heptatonic"],"Modern Greek":["Kiourdi Ascending","Drómos Kartzigár"],"Unknown / Unsorted":["Kartzihiar"],Zeitler:["Katagian"],Dozenal:["KEWian"]}},1647:{title:"Polyllic",chroma:"111101100110",names:{Zeitler:["Polyllic"],Dozenal:["KEXian"]}},1649:{title:"Bolimic",chroma:"100011100110",names:{Zeitler:["Bolimic"],Dozenal:["KEYian"]}},1651:{title:"Asian",chroma:"110011100110",names:{Exoticisms:["Asian","Asian (b)","Hungarian Minor Inverse","Minor Romani Inverse","Oriental"],Azerbaijan:["Mugham Caharkah 1"],Carnatic:["Raga Ahira-Lalita"],Western:["Minor Romani Inversed","Hungarian Romani Minor 2nd Mode"],"Modern Greek":["Tsinganikos","Drómos Tsinganikós"],Zeitler:["Mogian"],Dozenal:["KEZian"]}},1653:{title:"Dominant 5",chroma:"101011100110",names:{Bedwell:["Dominant 5"],Exoticisms:["Minor Romani Inverse"],Zeitler:["Gylian"],Dozenal:["KEBian"]}},1655:{title:"Katygyllic",chroma:"111011100110",names:{Zeitler:["Katygyllic"],Dozenal:["KECian"]}},1657:{title:"Dominant 52",chroma:"100111100110",names:{Bedwell:["Dominant 52"],Zeitler:["Ionothian"],Dozenal:["KEDian"]}},1659:{title:"Magyllic",chroma:"110111100110",names:{Zeitler:["Magyllic"],Dozenal:["KEFian"]}},1661:{title:"Gonyllic",chroma:"101111100110",names:{Zeitler:["Gonyllic"],Dozenal:["KEGian"]}},1663:{title:"Lydygic",chroma:"111111100110",names:{Zeitler:["Lydygic"],Dozenal:["KEHian"]}},1665:{title:"KEJian",chroma:"100000010110",names:{}},1667:{title:"KEKian",chroma:"110000010110",names:{}},1669:{title:"Raga Matha Kokila",chroma:"101000010110",names:{Carnatic:["Raga Matha Kokila","Raga Matkokil"],Dozenal:["KELian"]}},1671:{title:"KEMian",chroma:"111000010110",names:{}},1673:{title:"Thocritonic",chroma:"100100010110",names:{Zeitler:["Thocritonic"],Dozenal:["KENian"]}},1675:{title:"Raga Salagavarali",chroma:"110100010110",names:{Carnatic:["Raga Salagavarali"],Zeitler:["Epatimic"],Dozenal:["KEPian"]}},1677:{title:"Raga Manavi",chroma:"101100010110",names:{Carnatic:["Raga Manavi"],Zeitler:["Danimic"],Dozenal:["KEQian"]}},1679:{title:"Dorian 234",chroma:"111100010110",names:{Bedwell:["Dorian 234"],Zeitler:["Kydian"],Dozenal:["KIRian"]}},1681:{title:"Raga Valaji",chroma:"100010010110",names:{Carnatic:["Raga Valaji"],Zeitler:["Ionaditonic"],Dozenal:["KISian"]}},1683:{title:"Raga Malayamarutam",chroma:"110010010110",names:{Carnatic:["Raga Malayamarutam"],Zeitler:["Rygimic"],Dozenal:["KITian"]}},1685:{title:"Zeracrimic",chroma:"101010010110",names:{Zeitler:["Zeracrimic"],Dozenal:["KIVian"]}},1687:{title:"Dorian 243",chroma:"111010010110",names:{Bedwell:["Dorian 243"],Zeitler:["Phralian"],Dozenal:["KIWian"]}},1689:{title:"Lorimic",chroma:"100110010110",names:{Zeitler:["Lorimic"],Dozenal:["KIXian"]}},1691:{title:"Dorian 24",chroma:"110110010110",names:{Bedwell:["Dorian 24"],Zeitler:["Kathian"],Dozenal:["KIYian"]}},1693:{title:"Dorian 4",chroma:"101110010110",names:{Bedwell:["Dorian 4"],Zeitler:["Dogian"],Dozenal:["KIZian"]}},1695:{title:"Phrodyllic",chroma:"111110010110",names:{Zeitler:["Phrodyllic"],Dozenal:["KIBian"]}},1697:{title:"Raga Kuntvarali",chroma:"100001010110",names:{Carnatic:["Raga Kuntvarali","Raga Kuntalavarali"],Dozenal:["KICian"]}},1699:{title:"Raga Rasavali",chroma:"110001010110",names:{Carnatic:["Raga Rasavali"],Zeitler:["Kaptimic"],Dozenal:["KIDian"]}},1701:{title:"Mixolydian Hexatonic",chroma:"101001010110",names:{"Western Modern":["Mixolydian Hexatonic"],Korean:["P'yongjo"],"Unknown / Unsorted":["Yosen","Narayani","Suposhini","Andolika"],Carnatic:["Raga Darbar"],Hindustani:["Gorakh Kalyan"],Zeitler:["Lothimic"],Dozenal:["KIFian"]}},1703:{title:"Mela Vanaspati",chroma:"111001010110",names:{Carnatic:["Mela Vanaspati","Vanaspathi"],Bedwell:["Dorian 23"],Zeitler:["Zaptian"],Dozenal:["KIGian"],"Carnatic Melakarta":["Vanaspati"],"Carnatic Numbered Melakarta":["4th Melakarta Raga"]}},1705:{title:"Raga Manohari",chroma:"100101010110",names:{Carnatic:["Raga Manohari"],"Southeast Asia":["Hoi Vong Co Day Dao"],"Unknown / Unsorted":["Malavasri"],Zeitler:["Darmic"],Dozenal:["KIHian"]}},1707:{title:"Dorian 2",chroma:"110101010110",names:{"Western Altered":["Dorian 2","Phrygian 6"],Bedwell:["Dorian 2"],Carnatic:["Mela Natakapriya","Raga Natabharanam"],"Jazz and Blues":["Jazz Minor Inverse"],"Western Mixed":["Phrygian-Mixolydian"],"Unknown / Unsorted":["Ahiri Todi"],Indonesian:["Javanese Pelog","Pelog"],Zeitler:["Mixolythian"],Dozenal:["JANian"],"Carnatic Melakarta":["Natakapriya"],"Carnatic Numbered Melakarta":["10th Melakarta Raga"]}},1709:{title:"Dorian",chroma:"101101010110",names:{Western:["Dorian","Thang Kruat","Modern Dorian","Gregorian Nr.8"],"Southeast Asia":["Khmer Hepatatonic 5"],Thailand:["Thang Nawk"],"Ancient Greek":["Greek Phrygian"],Medieval:["Medieval Dorian","Medieval Hypomixolydian"],Hindustani:["Kafi That","Kafi Theta","That Kafi"],Carnatic:["Mela Kharaharapriya","Raga Bageshri","Karakarapriya"],"Unknown / Unsorted":["Bhimpalasi","Nayaki Kanada","Sriraga","Ritigaula","Huseni","Kanara","Yu","Nam"],Japanese:["Banshikichô [from Bb]","Hyojo","Oshikicho","Banshikicho"],Schenkerian:["Mischung 5"],"Gregorian Numbered":["Gregorian Number 8"],Exoticisms:["Eskimo Heptatonic"],Dozenal:["DORian"],"Carnatic Melakarta":["Kharaharapriya"],"Carnatic Numbered Melakarta":["22nd Melakarta Raga"]}},1711:{title:"Adonai Malakh",chroma:"111101010110",names:{Jewish:["Adonai Malakh","Adonai Malah"],Exoticisms:["Jewish","Spanish Octamode"],Western:["Spanish Octamode Basic"],Zeitler:["Ragyllic"],Dozenal:["KILian"]}},1713:{title:"Raga Khamas",chroma:"100011010110",names:{Carnatic:["Raga Khamas"],"Unknown / Unsorted":["Desya Khamas","Bahudari"],Zeitler:["Garimic"],Dozenal:["KOMian"]}},1715:{title:"Dominant 2",chroma:"110011010110",names:{Bedwell:["Dominant 2"],"Western Modern":["Harmonic Minor Inverse"],"Western Altered":["Mixolydian 2"],Carnatic:["Mela Cakravaka","Mela Chakravakam","Raga Ahir Bhairav"],"Unknown / Unsorted":["Bindumalini","Vegavahini"],Arabic:["Zanjaran"],Azerbaijan:["Mugham Humayun"],Zeitler:["Aeronian"],Dozenal:["KONian"],"Carnatic Melakarta":["Chakravakam"],"Carnatic Numbered Melakarta":["16th Melakarta Raga"]}},1717:{title:"Mixolydian",chroma:"101011010110",names:{Western:["Mixolydian","Modern Mixolydian","Melodic Minor Descending"],"Southeast Asia":["Khmer Hepatatonic 1"],Thailand:["Thang Phiang Aw Lang"],Azerbaijan:["Mugham Rast"],"Ancient Greek":["Greek Hyperlydian","Greek Hypophrygian","Greek Ionian","Greek Iastian","Greek Hypoerlydian","Greek Medieval Hypoionian"],"Modern Greek":["Drómos Kioúrdi desc"],Hindustani:["That Khammaj","Khamaj That","Khamaj Theta"],Carnatic:["Harikambhodji","Mela Harikambhoji","Raga Harini"],Medieval:["Medieval Mixolydian"],"Western Modern":["Hypermixolydian"],"Unknown / Unsorted":["Janjhuti","Khambhavati","Surati","Balahamsa","Devamanohari","Enharmonic Byzantine Liturgical","Rast Descending"],Schenkerian:["Mischung 3"],"Gregorian Numbered":["Gregorian Number 7"],Chinese:["Ching"],Dozenal:["MIXian"],"Carnatic Melakarta":["Harikambhoji"],"Carnatic Numbered Melakarta":["28th Melakarta Raga"]}},1719:{title:"Lyryllic",chroma:"111011010110",names:{Zeitler:["Lyryllic"],Dozenal:["KOQian"]}},1721:{title:"Dominant 2",chroma:"100111010110",names:{Bedwell:["Dominant 2"],Carnatic:["Mela Vagadhisvari","Vagadhishvari","Raga Bhogachayanata"],"Western Altered":["Mixolydian 2"],"Unknown / Unsorted":["Nandkauns","Ganavaridhi","Chayanata"],"Jazz and Blues":["Bluesy Rock 'n Roll"],Zeitler:["Ionycrian"],Dozenal:["KORian"],"Carnatic Melakarta":["Vagadheeswari"],"Carnatic Numbered Melakarta":["34th Melakarta Raga"]}},1723:{title:"JG Octatonic",chroma:"110111010110",names:{"Unknown / Unsorted":["JG Octatonic"],Zeitler:["Poryllic"],Dozenal:["KOSian"]}},1725:{title:"Minor Bebop",chroma:"101111010110",names:{"Jazz and Blues":["Minor Bebop","Dorian Bebop","Bebop Dorian"],"Western Mixed":["Mixodorian","Mixolydian/Dorian Mixed"],Carnatic:["Raga Zilla"],Western:["Quartal Octamode 1st Rotation"],Zeitler:["Mixodyllic"],Dozenal:["KOTian"]}},1727:{title:"Sydygic",chroma:"111111010110",names:{Zeitler:["Sydygic"],Dozenal:["KOVian"]}},1729:{title:"KOWian",chroma:"100000110110",names:{}},1731:{title:"KOXian",chroma:"110000110110",names:{}},1733:{title:"Raga Sarasvati",chroma:"101000110110",names:{Carnatic:["Raga Sarasvati"],Zeitler:["Socrimic"],Dozenal:["KOYian"]}},1735:{title:"Lydian 723",chroma:"111000110110",names:{Bedwell:["Lydian 723"],Carnatic:["Mela Navanitam","Navanitham","Raga Nabhomani"],Zeitler:["Dagian"],Dozenal:["KOZian"],"Carnatic Melakarta":["Navaneetam"],"Carnatic Numbered Melakarta":["40th Melakarta Raga"]}},1737:{title:"Raga Madhukauns",chroma:"100100110110",names:{Carnatic:["Raga Madhukauns"],Zeitler:["Thalimic"],Dozenal:["KOBian"]}},1739:{title:"Dorian 24",chroma:"110100110110",names:{Bedwell:["Dorian 24"],Carnatic:["Mela Sadvidhamargini","Survarnangi","Raga Sthavarajam"],Western:["Hungarian Major 6th Mode","Alternating Heptamode 4th Rotation"],"Unknown / Unsorted":["Tivravahini"],Zeitler:["Phrylian"],Dozenal:["KOCian"],"Carnatic Melakarta":["Shadvidamargini"],"Carnatic Numbered Melakarta":["46th Melakarta Raga"]}},1741:{title:"Dorian 4",chroma:"101100110110",names:{Bedwell:["Dorian 4"],Carnatic:["Raga Desisimharavam","Mela Hemavati"],"Unknown / Unsorted":["Tunisian","Souzinak Minor","Peiraiotikos Minor","Nigriz","Pimenikos","Kaffa","Gnossiennes"],Exoticisms:["Ukranian Dorian","Romanian Scale","Rumanian Minor","Ukrainian Minor"],"Western Altered":["Dorian 4"],Jewish:["Misheberekh"],"Modern Greek":["Drómos Nikríz","Drómos Poimenikó"],"Western Modern":["Altered Dorian"],Zeitler:["Katycrian"],Dozenal:["PROian"],"Carnatic Melakarta":["Hemavati"],"Carnatic Numbered Melakarta":["58th Melakarta Raga"]}},1743:{title:"Epigyllic",chroma:"111100110110",names:{Zeitler:["Epigyllic"],Dozenal:["KOFian"]}},1745:{title:"Raga Vutari",chroma:"100010110110",names:{Carnatic:["Raga Vutari"],Zeitler:["Manimic"],Dozenal:["KOGian"]}},1747:{title:"Lydian 72",chroma:"110010110110",names:{Bedwell:["Lydian 72"],Carnatic:["Mela Ramapriya","Raga Ramamanohari"],Exoticisms:["Romanian Major"],"Named After Composers":["Petrushka"],Zeitler:["Epalian"],Dozenal:["KUHian"],"Carnatic Melakarta":["Ramapriya"],"Carnatic Numbered Melakarta":["52nd Melakarta Raga"]}},1749:{title:"Acoustic",chroma:"101010110110",names:{"Western Modern":["Acoustic","Lydian Dominant","Overtone Scale","Overtone","Overtone Dominant"],Bedwell:["Lydian 7"],"Western Altered":["Mixolydian 4"],Carnatic:["Mela Vacaspati","Raga Bhusavati","Bhusavali","Vachaspathi"],"Western Mixed":["Lydian-Mixolydian","Lydian-Mixolydian Combo"],"Named After Composers":["Bartók"],Zeitler:["Lythian"],Dozenal:["OVTian"],"Carnatic Melakarta":["Vachaspati"],"Carnatic Numbered Melakarta":["64th Melakarta Raga"]}},1751:{title:"Aeolyryllic",chroma:"111010110110",names:{Zeitler:["Aeolyryllic"],Dozenal:["KUKian"]}},1753:{title:"Hungarian Major",chroma:"100110110110",names:{Exoticisms:["Hungarian Major"],Carnatic:["Mela Nasikabhusani","Raga Nasamani","Nasika Bhushani"],Western:["Alternating Heptamode 6th Rotation"],Zeitler:["Mycrian"],Dozenal:["KULian"],"Carnatic Melakarta":["Nasikabhushini"],"Carnatic Numbered Melakarta":["70th Melakarta Raga"]}},1755:{title:"Octatonic",chroma:"110110110110",names:{"Western Modern":["Octatonic","Dominant Diminished","Half-Whole Step Scale","Dominant"],Messiaen:["Messiaen Mode 2","Second Mode Of Limited Transposition","Messiaen 2nd Mode"],"Jazz and Blues":["Diminished Blues","Auxiliary Diminished Blues"],Western:["Altering Octatonic Mode Basic"],Zeitler:["MinorDimin"],Dozenal:["JAMian"]}},1757:{title:"Ionyphyllic",chroma:"101110110110",names:{Zeitler:["Ionyphyllic"],Dozenal:["KUNian"]}},1759:{title:"Pylygic",chroma:"111110110110",names:{Zeitler:["Pylygic"],Dozenal:["KUPian"]}},1761:{title:"KUQian",chroma:"100001110110",names:{}},1763:{title:"Lydian 723",chroma:"110001110110",names:{Bedwell:["Lydian 723"],Zeitler:["Katalian"],Dozenal:["KURian"]}},1765:{title:"Lydian 73",chroma:"101001110110",names:{Bedwell:["Lydian 73"],Zeitler:["Lonian"],Dozenal:["KUSian"]}},1767:{title:"Dyryllic",chroma:"111001110110",names:{Zeitler:["Dyryllic"],Dozenal:["KUTian"]}},1769:{title:"Lydian 723",chroma:"100101110110",names:{Bedwell:["Lydian 723"],"Jazz and Blues":["Blues Heptatonic II"],Zeitler:["Rythian"],Dozenal:["KUVian"]}},1771:{title:"Stylyllic",chroma:"110101110110",names:{Zeitler:["Stylyllic"],Dozenal:["KUWian"]}},1773:{title:"Blues Scale II",chroma:"101101110110",names:{"Jazz and Blues":["Blues Scale II"],Zeitler:["Aeoloryllic"],Dozenal:["KUXian"]}},1775:{title:"Lyrygic",chroma:"111101110110",names:{Zeitler:["Lyrygic"],Dozenal:["KUYian"]}},1777:{title:"Lydian 732",chroma:"100011110110",names:{Bedwell:["Lydian 732"],Zeitler:["Saptian"],Dozenal:["KUZian"]}},1779:{title:"Aerythyllic",chroma:"110011110110",names:{Zeitler:["Aerythyllic"],Dozenal:["KUBian"]}},1781:{title:"Gocryllic",chroma:"101011110110",names:{Zeitler:["Gocryllic"],Dozenal:["LABian"]}},1783:{title:"Youlan",chroma:"111011110110",names:{Chinese:["Youlan"],Western:["Diminishing Nonamode 3rd Rotation"],Japanese:["In Descending"],Zeitler:["Danygic"],Dozenal:["LACian"]}},1785:{title:"Tharyllic",chroma:"100111110110",names:{Zeitler:["Tharyllic"],Dozenal:["LADian"]}},1787:{title:"Mycrygic",chroma:"110111110110",names:{Zeitler:["Mycrygic"],Dozenal:["LAFian"]}},1789:{title:"Blues Enneatonic II",chroma:"101111110110",names:{"Jazz and Blues":["Blues Enneatonic II"],Western:["Nine Note Blues"],Zeitler:["Katagygic"],Dozenal:["LAGian"]}},1791:{title:"Aerygyllian",chroma:"111111110110",names:{Zeitler:["Aerygyllian"],Dozenal:["LAHian"]}},1793:{title:"LAJian",chroma:"100000001110",names:{}},1795:{title:"LAKian",chroma:"110000001110",names:{}},1797:{title:"LALian",chroma:"101000001110",names:{}},1799:{title:"LAMian",chroma:"111000001110",names:{}},1801:{title:"LANian",chroma:"100100001110",names:{}},1803:{title:"LAPian",chroma:"110100001110",names:{}},1805:{title:"LAQian",chroma:"101100001110",names:{}},1807:{title:"Alt 6534",chroma:"111100001110",names:{Bedwell:["Alt 6534"],Dozenal:["LARian"]}},1809:{title:"Ranitonic",chroma:"100010001110",names:{Zeitler:["Ranitonic"],Dozenal:["LASian"]}},1811:{title:"Kyptimic",chroma:"110010001110",names:{Zeitler:["Kyptimic"],Dozenal:["LATian"]}},1813:{title:"Katothimic",chroma:"101010001110",names:{Zeitler:["Katothimic"],Dozenal:["LAVian"]}},1815:{title:"Alt 653",chroma:"111010001110",names:{Bedwell:["Alt 653"],Zeitler:["Godian"],Dozenal:["LEWian"]}},1817:{title:"Phrythimic",chroma:"100110001110",names:{Zeitler:["Phrythimic"],Dozenal:["LEXian"]}},1819:{title:"Alt 65",chroma:"110110001110",names:{Bedwell:["Alt 65"],Zeitler:["Pydian"],Dozenal:["LEYian"]}},1821:{title:"Dorian +4",chroma:"101110001110",names:{Bedwell:["Dorian +4"],Zeitler:["Aeradian"],Dozenal:["LEZian"]}},1823:{title:"Phralyllic",chroma:"111110001110",names:{Zeitler:["Phralyllic"],Dozenal:["LEBian"]}},1825:{title:"LECian",chroma:"100001001110",names:{}},1827:{title:"Katygimic",chroma:"110001001110",names:{Zeitler:["Katygimic"],Dozenal:["LEDian"]}},1829:{title:"Pathimic",chroma:"101001001110",names:{Zeitler:["Pathimic"],Dozenal:["LEFian"]}},1831:{title:"Dominant +23",chroma:"111001001110",names:{Bedwell:["Dominant +23"],Zeitler:["Pothian"],Dozenal:["LEGian"]}},1833:{title:"Ionacrimic",chroma:"100101001110",names:{Zeitler:["Ionacrimic"],Dozenal:["LEHian"]}},1835:{title:"Dorian +2",chroma:"110101001110",names:{Bedwell:["Dorian +2"],Zeitler:["Byptian"],Dozenal:["LEJian"]}},1837:{title:"Dorian +",chroma:"101101001110",names:{Bedwell:["Dorian +"],Zeitler:["Dalian"],Dozenal:["LEKian"]}},1839:{title:"Zogyllic",chroma:"111101001110",names:{Zeitler:["Zogyllic"],Dozenal:["LELian"]}},1841:{title:"Thogimic",chroma:"100011001110",names:{Zeitler:["Thogimic"],Dozenal:["LEMian"]}},1843:{title:"Dominant +2",chroma:"110011001110",names:{Bedwell:["Dominant +2"],Zeitler:["Ionygian"],Dozenal:["LENian"]}},1845:{title:"Mixolydian Augmented",chroma:"101011001110",names:{"Western Altered":["Mixolydian Augmented"],Bedwell:["Dominant +"],Zeitler:["Lagian"],Dozenal:["LEPian"]}},1847:{title:"Thacryllic",chroma:"111011001110",names:{Zeitler:["Thacryllic"],Dozenal:["LEQian"]}},1849:{title:"Chromatic Hypodorian Inverse",chroma:"100111001110",names:{"Western Chromatic":["Chromatic Hypodorian Inverse"],Bedwell:["Dominant +2"],Zeitler:["Epogian"],Dozenal:["LIRian"]}},1851:{title:"Zacryllic",chroma:"110111001110",names:{Zeitler:["Zacryllic"],Dozenal:["LISian"]}},1853:{title:"Phrynyllic",chroma:"101111001110",names:{Zeitler:["Phrynyllic"],Dozenal:["LITian"]}},1855:{title:"Marygic",chroma:"111111001110",names:{Zeitler:["Marygic"],Dozenal:["LIVian"]}},1857:{title:"LIWian",chroma:"100000101110",names:{}},1859:{title:"LIXian",chroma:"110000101110",names:{}},1861:{title:"Phrygimic",chroma:"101000101110",names:{Zeitler:["Phrygimic"],Dozenal:["LIYian"]}},1863:{title:"Lydian 7+23",chroma:"111000101110",names:{Bedwell:["Lydian 7+23"],Zeitler:["Pycrian"],Dozenal:["LIZian"]}},1865:{title:"Thagimic",chroma:"100100101110",names:{Zeitler:["Thagimic"],Dozenal:["LIBian"]}},1867:{title:"Lydian 7+23",chroma:"110100101110",names:{Bedwell:["Lydian 7+23"],Zeitler:["Solian"],Dozenal:["LICian"]}},1869:{title:"Lydian 7+3",chroma:"101100101110",names:{Bedwell:["Lydian 7+3"],Zeitler:["Katyrian"],Dozenal:["THOian"]}},1871:{title:"Aeolyllic",chroma:"111100101110",names:{Zeitler:["Aeolyllic"],Dozenal:["LIFian"]}},1873:{title:"Dathimic",chroma:"100010101110",names:{Zeitler:["Dathimic"],Dozenal:["LIGian"]}},1875:{title:"Lydian 7+2",chroma:"110010101110",names:{Bedwell:["Lydian 7+2"],"Named After Composers":["Persichetti Scale"],Zeitler:["Epyphian"],Dozenal:["LIHian"]}},1877:{title:"Lydian 7+",chroma:"101010101110",names:{Bedwell:["Lydian 7+"],Zeitler:["Aeroptian"],Dozenal:["LIJian"]}},1879:{title:"Mixoryllic",chroma:"111010101110",names:{Zeitler:["Mixoryllic"],Dozenal:["LIKian"]}},1881:{title:"Lydian 7+2",chroma:"100110101110",names:{Bedwell:["Lydian 7+2"],Zeitler:["Korian"],Dozenal:["LILian"]}},1883:{title:"Mixopyryllic",chroma:"110110101110",names:{Zeitler:["Mixopyryllic"],Dozenal:["LOMian"]}},1885:{title:"Messiaen Mode 6 Rotation 1",chroma:"101110101110",names:{Messiaen:["Messiaen Mode 6 Rotation 1"],Zeitler:["Epotyllic"],Dozenal:["LONian"]}},1887:{title:"Aerocrygic",chroma:"111110101110",names:{Zeitler:["Aerocrygic"],Dozenal:["LOPian"]}},1889:{title:"LOQian",chroma:"100001101110",names:{}},1891:{title:"Lydian 7+23",chroma:"110001101110",names:{Bedwell:["Lydian 7+23"],Zeitler:["Thalian"],Dozenal:["LORian"]}},1893:{title:"Lydian 7+3",chroma:"101001101110",names:{Bedwell:["Lydian 7+3"],Zeitler:["Ionylian"],Dozenal:["LOSian"]}},1895:{title:"Salyllic",chroma:"111001101110",names:{Zeitler:["Salyllic"],Dozenal:["LOTian"]}},1897:{title:"Lydian 7+23",chroma:"100101101110",names:{Bedwell:["Lydian 7+23"],Zeitler:["Ionopian"],Dozenal:["LOVian"]}},1899:{title:"Moptyllic",chroma:"110101101110",names:{Zeitler:["Moptyllic"],Dozenal:["LOWian"]}},1901:{title:"Ionidyllic",chroma:"101101101110",names:{Zeitler:["Ionidyllic"],Dozenal:["LOXian"]}},1903:{title:"Diminishing Nonamode Basic",chroma:"111101101110",names:{Western:["Diminishing Nonamode Basic"],Zeitler:["Rocrygic"],Dozenal:["LOYian"]}},1905:{title:"Lydian 7+32",chroma:"100011101110",names:{Bedwell:["Lydian 7+32"],Zeitler:["Katacrian"],Dozenal:["LOZian"]}},1907:{title:"Lynyllic",chroma:"110011101110",names:{Zeitler:["Lynyllic"],Dozenal:["LOBian"]}},1909:{title:"Epicryllic",chroma:"101011101110",names:{Zeitler:["Epicryllic"],Dozenal:["SIVian"]}},1911:{title:"Messiaen Mode 3 Rotation 1",chroma:"111011101110",names:{Messiaen:["Messiaen Mode 3 Rotation 1","Messiaen Mode 3 Inverse"],Western:["Tcherepnin Mode III","Tcherepnin Mode 3"],"Named After Composers":["Tcherepnin Nonatonic Mode 3"],Zeitler:["Stynygic"],Dozenal:["LODian"]}},1913:{title:"Zagyllic",chroma:"100111101110",names:{Zeitler:["Zagyllic"],Dozenal:["LOFian"]}},1915:{title:"Thydygic",chroma:"110111101110",names:{Zeitler:["Thydygic"],Dozenal:["LOGian"]}},1917:{title:"Sacrygic",chroma:"101111101110",names:{Zeitler:["Sacrygic"],Dozenal:["LUHian"]}},1919:{title:"Rocryllian",chroma:"111111101110",names:{Zeitler:["Rocryllian"],Dozenal:["LUJian"]}},1921:{title:"LUKian",chroma:"100000011110",names:{}},1923:{title:"LULian",chroma:"110000011110",names:{}},1925:{title:"LUMian",chroma:"101000011110",names:{}},1927:{title:"Alt 6534",chroma:"111000011110",names:{Bedwell:["Alt 6534"],Dozenal:["LUNian"]}},1929:{title:"Aeolycrimic",chroma:"100100011110",names:{Zeitler:["Aeolycrimic"],Dozenal:["LUPian"]}},1931:{title:"Dorian +24",chroma:"110100011110",names:{Bedwell:["Dorian +24"],Zeitler:["Stogian"],Dozenal:["LUQian"]}},1933:{title:"Dorian +4",chroma:"101100011110",names:{Bedwell:["Dorian +4"],Zeitler:["Mocrian"],Dozenal:["LURian"]}},1935:{title:"Mycryllic",chroma:"111100011110",names:{Zeitler:["Mycryllic"],Dozenal:["LUSian"]}},1937:{title:"Galimic",chroma:"100010011110",names:{Zeitler:["Galimic"],Dozenal:["LUTian"]}},1939:{title:"Dominant +24",chroma:"110010011110",names:{Bedwell:["Dominant +24"],Zeitler:["Dathian"],Dozenal:["LUVian"]}},1941:{title:"Dominant +4",chroma:"101010011110",names:{Bedwell:["Dominant +4"],Zeitler:["Aeranian"],Dozenal:["LUWian"]}},1943:{title:"Malyllic",chroma:"111010011110",names:{Zeitler:["Malyllic"],Dozenal:["LUXian"]}},1945:{title:"Dominant +24",chroma:"100110011110",names:{Bedwell:["Dominant +24"],Zeitler:["Zarian"],Dozenal:["LUYian"]}},1947:{title:"Ionoyllic",chroma:"110110011110",names:{Zeitler:["Ionoyllic"],Dozenal:["LUZian"]}},1949:{title:"Mathyllic",chroma:"101110011110",names:{Zeitler:["Mathyllic"],Dozenal:["LUBian"]}},1951:{title:"Gonygic",chroma:"111110011110",names:{Zeitler:["Gonygic"],Dozenal:["MABian"]}},1953:{title:"MACian",chroma:"100001011110",names:{}},1955:{title:"Dominant +234",chroma:"110001011110",names:{Bedwell:["Dominant +234"],Zeitler:["Sonian"],Dozenal:["MADian"]}},1957:{title:"Dominant +34",chroma:"101001011110",names:{Bedwell:["Dominant +34"],Zeitler:["Pyrian"],Dozenal:["MAFian"]}},1959:{title:"Katolyllic",chroma:"111001011110",names:{Zeitler:["Katolyllic"],Dozenal:["MAGian"]}},1961:{title:"Dominant +234",chroma:"100101011110",names:{Bedwell:["Dominant +234"],Zeitler:["Soptian"],Dozenal:["MAHian"]}},1963:{title:"Epocryllic",chroma:"110101011110",names:{Zeitler:["Epocryllic"],Dozenal:["MAJian"]}},1965:{title:"Raga Mukhari",chroma:"101101011110",names:{Carnatic:["Raga Mukhari"],Western:["Gregorian Nr.1","Quartal Octamode 6th Rotation"],Hindustani:["Anandabhairavi"],"Unknown / Unsorted":["Deshi","Manji"],"Gregorian Numbered":["Gregorian Number 1"],"Western Mixed":["Dorian/Aeolian Mixed"],Zeitler:["Gadyllic"],Dozenal:["MAKian"]}},1967:{title:"Diatonic Dorian Mixed",chroma:"111101011110",names:{"Western Mixed":["Diatonic Dorian Mixed","Mixed Chromatic Dorian"],Western:["Chromatic Dorian Mixed"],Zeitler:["Godygic"],Dozenal:["MALian"]}},1969:{title:"Dominant +324",chroma:"100011011110",names:{Bedwell:["Dominant +324"],Zeitler:["Zorian"],Dozenal:["MAMian"]}},1971:{title:"Aerynyllic",chroma:"110011011110",names:{Zeitler:["Aerynyllic"],Dozenal:["MANian"]}},1973:{title:"Spanish Octamode 6th Rotation",chroma:"101011011110",names:{Western:["Spanish Octamode 6th Rotation"],Zeitler:["Zyryllic"],Dozenal:["MAPian"]}},1975:{title:"Ionocrygic",chroma:"111011011110",names:{Zeitler:["Ionocrygic"],Dozenal:["MAQian"]}},1977:{title:"Dagyllic",chroma:"100111011110",names:{Zeitler:["Dagyllic"],Dozenal:["MARian"]}},1979:{title:"Diminishing Nonamode 6th Rotation",chroma:"110111011110",names:{Western:["Diminishing Nonamode 6th Rotation"],Zeitler:["Aeradygic"],Dozenal:["MASian"]}},1981:{title:"Houseini",chroma:"101111011110",names:{"Unknown / Unsorted":["Houseini"],"Modern Greek":["Drómos Houzeïni"],"Western Mixed":["Modes of Major Pentatonic Mixed"],Zeitler:["Gadygic"],Dozenal:["MATian"]}},1983:{title:"Soryllian",chroma:"111111011110",names:{Zeitler:["Soryllian"],Dozenal:["MAVian"]}},1985:{title:"MEWian",chroma:"100000111110",names:{}},1987:{title:"Dominant +234",chroma:"110000111110",names:{Bedwell:["Dominant +234"],Dozenal:["MEXian"]}},1989:{title:"Dominant +34",chroma:"101000111110",names:{Bedwell:["Dominant +34"],Zeitler:["Dydian"],Dozenal:["MEYian"]}},1991:{title:"Phryptyllic",chroma:"111000111110",names:{Zeitler:["Phryptyllic"],Dozenal:["MEZian"]}},1993:{title:"Dominant +234",chroma:"100100111110",names:{Bedwell:["Dominant +234"],Zeitler:["Katoptian"],Dozenal:["MEBian"]}},1995:{title:"Sideways Scale",chroma:"110100111110",names:{"12Tone":["Sideways Scale"],"Western Modern":["Dimygian"],Zeitler:["Aeolacryllic"],Dozenal:["MECian"]}},1997:{title:"Raga Cintamani",chroma:"101100111110",names:{Carnatic:["Raga Cintamani"],Zeitler:["Staryllic"],Dozenal:["MEDian"]}},1999:{title:"Zacrygic",chroma:"111100111110",names:{Zeitler:["Zacrygic"],Dozenal:["MEFian"]}},2001:{title:"Dominant +234",chroma:"100010111110",names:{Bedwell:["Dominant +234"],Zeitler:["Gydian"],Dozenal:["MEGian"]}},2003:{title:"Lolyllic",chroma:"110010111110",names:{Zeitler:["Lolyllic"],Dozenal:["MEHian"]}},2005:{title:"Gygyllic",chroma:"101010111110",names:{Zeitler:["Gygyllic"],Dozenal:["MEJian"]}},2007:{title:"Stonygic",chroma:"111010111110",names:{Zeitler:["Stonygic"],Dozenal:["MEKian"]}},2009:{title:"Stacryllic",chroma:"100110111110",names:{Zeitler:["Stacryllic"],Dozenal:["EGGian"]}},2011:{title:"Raphygic",chroma:"110110111110",names:{Zeitler:["Raphygic"],Dozenal:["MEMian"]}},2013:{title:"Mocrygic",chroma:"101110111110",names:{Zeitler:["Mocrygic"],Dozenal:["MENian"]}},2015:{title:"Messiaen Mode 7 Rotation 4",chroma:"111110111110",names:{Messiaen:["Messiaen Mode 7 Rotation 4"],Zeitler:["Epiryllian"],Dozenal:["MEPian"]}},2017:{title:"Dominant +342",chroma:"100001111110",names:{Bedwell:["Dominant +342"],Dozenal:["MEQian"]}},2019:{title:"Palyllic",chroma:"110001111110",names:{Zeitler:["Palyllic"],Dozenal:["MIRian"]}},2021:{title:"Katycryllic",chroma:"101001111110",names:{Zeitler:["Katycryllic"],Dozenal:["MISian"]}},2023:{title:"Zodygic",chroma:"111001111110",names:{Zeitler:["Zodygic"],Dozenal:["MITian"]}},2025:{title:"Mixolydyllic",chroma:"100101111110",names:{Zeitler:["Mixolydyllic"],Dozenal:["MIVian"]}},2027:{title:"Boptygic",chroma:"110101111110",names:{Zeitler:["Boptygic"],Dozenal:["MIWian"]}},2029:{title:"Kiourdi",chroma:"101101111110",names:{"Modern Greek":["Kiourdi"],Zeitler:["Mathygic"],Dozenal:["ISHian"]}},2031:{title:"Gadyllian",chroma:"111101111110",names:{Zeitler:["Gadyllian"],Dozenal:["MIYian"]}},2033:{title:"Stolyllic",chroma:"100011111110",names:{Zeitler:["Stolyllic"],Dozenal:["MIZian"]}},2035:{title:"Aerythygic",chroma:"110011111110",names:{Zeitler:["Aerythygic"],Dozenal:["MIBian"]}},2037:{title:"Sythygic",chroma:"101011111110",names:{Zeitler:["Sythygic"],Dozenal:["MICian"]}},2039:{title:"Danyllian",chroma:"111011111110",names:{Zeitler:["Danyllian"],Dozenal:["MIDian"]}},2041:{title:"Aeolacrygic",chroma:"100111111110",names:{Zeitler:["Aeolacrygic"],Dozenal:["MIFian"]}},2043:{title:"Lythyllian",chroma:"110111111110",names:{Zeitler:["Lythyllian"],Dozenal:["MIGian"]}},2045:{title:"Katogyllian",chroma:"101111111110",names:{Zeitler:["Katogyllian"],Dozenal:["MIHian"]}},2047:{title:"Chromatic Undecamode",chroma:"111111111110",names:{"Western Modern":["Chromatic Undecamode","Undecatonic Chromatic"],Zeitler:["Monatic"],Dozenal:["ANTian"]}},2049:{title:"Major Seventh Ditone",chroma:"100000000001",names:{Intervals:["Major Seventh Ditone"],"Western Modern":["Duotonic Chromatic Descending"],Dozenal:["Eian"]}},2051:{title:"Tritonic Chromatic 2",chroma:"110000000001",names:{"Western Modern":["Tritonic Chromatic 2"],Dozenal:["MILian"]}},2053:{title:"POWian",chroma:"101000000001",names:{}},2055:{title:"Tetratonic Chromatic 2",chroma:"111000000001",names:{"Western Modern":["Tetratonic Chromatic 2"],Dozenal:["MONian"]}},2057:{title:"MOPian",chroma:"100100000001",names:{}},2059:{title:"MOQian",chroma:"110100000001",names:{}},2061:{title:"MORian",chroma:"101100000001",names:{}},2063:{title:"Pentatonic Chromatic 2",chroma:"111100000001",names:{"Western Modern":["Pentatonic Chromatic 2"],Dozenal:["MOSian"]}},2065:{title:"MOTian",chroma:"100010000001",names:{}},2067:{title:"MOVian",chroma:"110010000001",names:{}},2069:{title:"MOWian",chroma:"101010000001",names:{}},2071:{title:"MOXian",chroma:"111010000001",names:{}},2073:{title:"MOYian",chroma:"100110000001",names:{}},2075:{title:"MOZian",chroma:"110110000001",names:{}},2077:{title:"MOBian",chroma:"101110000001",names:{}},2079:{title:"Hexatonic Chromatic 4",chroma:"111110000001",names:{"Western Modern":["Hexatonic Chromatic 4"],Dozenal:["MOCian"]}},2081:{title:"MODian",chroma:"100001000001",names:{}},2083:{title:"MOFian",chroma:"110001000001",names:{}},2085:{title:"MOGian",chroma:"101001000001",names:{}},2087:{title:"MUHian",chroma:"111001000001",names:{}},2089:{title:"MUJian",chroma:"100101000001",names:{}},2091:{title:"MUKian",chroma:"110101000001",names:{}},2093:{title:"MULian",chroma:"101101000001",names:{}},2095:{title:"MUMian",chroma:"111101000001",names:{}},2097:{title:"MUNian",chroma:"100011000001",names:{}},2099:{title:"Raga Megharanji",chroma:"110011000001",names:{Carnatic:["Raga Megharanji"],Dozenal:["MUPian"]}},2101:{title:"MUQian",chroma:"101011000001",names:{}},2103:{title:"MURian",chroma:"111011000001",names:{}},2105:{title:"RIGian",chroma:"100111000001",names:{}},2107:{title:"MUTian",chroma:"110111000001",names:{}},2109:{title:"MUVian",chroma:"101111000001",names:{}},2111:{title:"Alt 73456",chroma:"111111000001",names:{Bedwell:["Alt 73456","Arcane minor"],"Western Modern":["Heptatonic Chromatic 2"],Western:["Chromatic Heptamode 6th Rotation"],Dozenal:["MUWian"]}},2113:{title:"MUXian",chroma:"100000100001",names:{}},2115:{title:"MUYian",chroma:"110000100001",names:{}},2117:{title:"Raga Sumukam",chroma:"101000100001",names:{Carnatic:["Raga Sumukam"],Dozenal:["JAJian"]}},2119:{title:"MUBian",chroma:"111000100001",names:{}},2121:{title:"NABian",chroma:"100100100001",names:{}},2123:{title:"NACian",chroma:"110100100001",names:{}},2125:{title:"NADian",chroma:"101100100001",names:{}},2127:{title:"NAFian",chroma:"111100100001",names:{}},2129:{title:"Raga Nigamagamini",chroma:"100010100001",names:{Carnatic:["Raga Nigamagamini"],Dozenal:["NAGian"]}},2131:{title:"NAHian",chroma:"110010100001",names:{}},2133:{title:"Raga Kumurdaki",chroma:"101010100001",names:{Carnatic:["Raga Kumurdaki","Raga Kumudki"],Dozenal:["NAJian"]}},2135:{title:"NAKian",chroma:"111010100001",names:{}},2137:{title:"NALian",chroma:"100110100001",names:{}},2139:{title:"NAMian",chroma:"110110100001",names:{}},2141:{title:"NANian",chroma:"101110100001",names:{}},2143:{title:"Alt 73456",chroma:"111110100001",names:{Bedwell:["Alt 73456","Arcane"],Dozenal:["NAPian"]}},2145:{title:"Messiaen Mode 5 Truncation 2",chroma:"100001100001",names:{Messiaen:["Messiaen Mode 5 Truncation 2","Messiaen 5th Mode Truncated Inversed"],Dozenal:["HOTian"]}},2147:{title:"NARian",chroma:"110001100001",names:{}},2149:{title:"NASian",chroma:"101001100001",names:{}},2151:{title:"NATian",chroma:"111001100001",names:{}},2153:{title:"NAVian",chroma:"100101100001",names:{}},2155:{title:"NEWian",chroma:"110101100001",names:{}},2157:{title:"NEXian",chroma:"101101100001",names:{}},2159:{title:"Alt 73456",chroma:"111101100001",names:{Bedwell:["Alt 73456","Quixotic minor"],Dozenal:["NEYian"]}},2161:{title:"NEZian",chroma:"100011100001",names:{}},2163:{title:"NEBian",chroma:"110011100001",names:{}},2165:{title:"NECian",chroma:"101011100001",names:{}},2167:{title:"Alt 7356",chroma:"111011100001",names:{Bedwell:["Alt 7356","Acerbic minor"],Dozenal:["NEDian"]}},2169:{title:"NEFian",chroma:"100111100001",names:{}},2171:{title:"Alt 756",chroma:"110111100001",names:{Bedwell:["Alt 756","Acerbic"],Dozenal:["NEGian"]}},2173:{title:"Alt 2756",chroma:"101111100001",names:{Bedwell:["Alt 2756","Labyrinthine"],Dozenal:["NEHian"]}},2175:{title:"Octatonic Chromatic 2",chroma:"111111100001",names:{"Western Modern":["Octatonic Chromatic 2"],Western:["Chromatic Octamode 7th Rotation"],Dozenal:["NEJian"]}},2177:{title:"Major Seventh Omit 3",chroma:"100000010001",names:{"Chord Names":["Major Seventh Omit 3"],Dozenal:["BANian"]}},2179:{title:"NELian",chroma:"110000010001",names:{}},2181:{title:"NEMian",chroma:"101000010001",names:{}},2183:{title:"NENian",chroma:"111000010001",names:{}},2185:{title:"Dygic",chroma:"100100010001",names:{Zeitler:["Dygic"],Dozenal:["ESSian"],zeitler:["Zyphic"]}},2187:{title:"Ionothitonic",chroma:"110100010001",names:{Zeitler:["Ionothitonic"],Dozenal:["NEQian"],zeitler:["Zylitonic"]}},2189:{title:"Zagitonic",chroma:"101100010001",names:{Zeitler:["Zagitonic"],Dozenal:["NIRian"],zeitler:["Dolitonic"]}},2191:{title:"Thydimic",chroma:"111100010001",names:{Zeitler:["Thydimic"],Dozenal:["NISian"],zeitler:["Ponimic"]}},2193:{title:"Major Seventh",chroma:"100010010001",names:{"Chord Names":["Major Seventh"],"Southeast Asia":["Karen 4 Tone Type 5"],Zeitler:["Thaptic"],Dozenal:["JEMian"],zeitler:["Thaptic"]}},2195:{title:"Zalitonic",chroma:"110010010001",names:{Zeitler:["Zalitonic"],Dozenal:["NIVian"],zeitler:["Molitonic"]}},2197:{title:"Raga Hamsadhvani",chroma:"101010010001",names:{Carnatic:["Raga Hamsadhvani","Raga Hansdhwani","Raga Haunsadhwani"],Zeitler:["Aerathitonic"],Dozenal:["NIWian"],zeitler:["Magitonic"]}},2199:{title:"Dyptimic",chroma:"111010010001",names:{Zeitler:["Dyptimic"],Dozenal:["NIXian"],zeitler:["Starimic"]}},2201:{title:"Ionagitonic",chroma:"100110010001",names:{Zeitler:["Ionagitonic"],Dozenal:["NIYian"],zeitler:["Zacritonic"]}},2203:{title:"Dorimic",chroma:"110110010001",names:{Zeitler:["Dorimic"],Dozenal:["NIZian"],zeitler:["Lathimic"]}},2205:{title:"Ionocrimic",chroma:"101110010001",names:{Zeitler:["Ionocrimic"],Dozenal:["NIBian"],zeitler:["Bygimic"]}},2207:{title:"Alt 73465",chroma:"111110010001",names:{Bedwell:["Alt 73465","Byzantine minor"],Zeitler:["Mygian"],Dozenal:["NICian"],zeitler:["Thadian"]}},2209:{title:"NIDian",chroma:"100001010001",names:{}},2211:{title:"Raga Gauri",chroma:"110001010001",names:{Carnatic:["Raga Gauri"],Zeitler:["Ionythitonic"],Dozenal:["NIFian"],zeitler:["Zathitonic"]}},2213:{title:"Raga Desh",chroma:"101001010001",names:{Carnatic:["Raga Desh"],"Named After Composers":["Tcherepnin Major Pentatonic"],"Unknown / Unsorted":["Nam xuan"],Zeitler:["Daritonic"],Dozenal:["NIGian"],zeitler:["Gathitonic"]}},2215:{title:"Ranimic",chroma:"111001010001",names:{Zeitler:["Ranimic"],Dozenal:["NIHian"],zeitler:["Stalimic"]}},2217:{title:"Kagitonic",chroma:"100101010001",names:{Zeitler:["Kagitonic"],Dozenal:["NIJian"],zeitler:["Aeolanitonic"]}},2219:{title:"Phrydimic",chroma:"110101010001",names:{Zeitler:["Phrydimic"],Dozenal:["NIKian"],zeitler:["Katanimic"]}},2221:{title:"Raga Sindhura Kafi",chroma:"101101010001",names:{Carnatic:["Raga Sindhura Kafi"],Zeitler:["Poptimic"],Dozenal:["GROian"],zeitler:["Rycrimic"]}},2223:{title:"Arcadian minor",chroma:"111101010001",names:{Bedwell:["Arcadian minor","Alt 73456"],Zeitler:["Konian"],Dozenal:["NOMian"],zeitler:["Pythian"]}},2225:{title:"Ionian Pentatonic",chroma:"100011010001",names:{"Western Modern":["Ionian Pentatonic"],Carnatic:["Raga Gambhiranata"],African:["Pelog Degung Modern"],"Unknown / Unsorted":["Ryukyu","Vong co"],Ethiopian:["Batti Major"],Zeitler:["Gonitonic"],Dozenal:["KIKian"],zeitler:["Zolitonic"]}},2227:{title:"Raga Gaula",chroma:"110011010001",names:{Carnatic:["Raga Gaula"],Zeitler:["Katadimic"],Dozenal:["NOPian"],zeitler:["Katythimic"]}},2229:{title:"Raga Nalinakanti",chroma:"101011010001",names:{Carnatic:["Raga Nalinakanti"],"Unknown / Unsorted":["Kedaram","Vilasini"],Zeitler:["Ionyptimic"],Dozenal:["NOQian"],zeitler:["Dyrimic"]}},2231:{title:"Arcadian",chroma:"111011010001",names:{Bedwell:["Arcadian","Alt 7356"],Zeitler:["Macrian"],Dozenal:["NORian"],zeitler:["Aeopian"]}},2233:{title:"Donimic",chroma:"100111010001",names:{Zeitler:["Donimic"],Dozenal:["NOSian"],zeitler:["Aerycrimic"]}},2235:{title:"Exotic minor",chroma:"110111010001",names:{Bedwell:["Exotic minor","Alt 756"],Zeitler:["Bathian"],Dozenal:["ATLian"],zeitler:["Katogian"]}},2237:{title:"Alt 2756",chroma:"101111010001",names:{Bedwell:["Alt 2756","Melancholic minor"],Zeitler:["Epothian"],Dozenal:["NOVian"],zeitler:["Epycrian"]}},2239:{title:"Dacryllic",chroma:"111111010001",names:{Zeitler:["Dacryllic"],Dozenal:["NOWian"],zeitler:["Stycryllic"]}},2241:{title:"NOXian",chroma:"100000110001",names:{}},2243:{title:"NOYian",chroma:"110000110001",names:{}},2245:{title:"Raga Vaijayanti",chroma:"101000110001",names:{Carnatic:["Raga Vaijayanti","Hamsanadam"],Western:["African Pentatonic 2"],Zeitler:["Dygitonic"],Dozenal:["NOZian"],zeitler:["Paptitonic"]}},2247:{title:"Raga Vijayasri",chroma:"111000110001",names:{Carnatic:["Raga Vijayasri"],Zeitler:["Aeolimic"],Dozenal:["NOBian"],zeitler:["Daptimic"]}},2249:{title:"Raga Multani",chroma:"100100110001",names:{Carnatic:["Raga Multani"],Ethiopian:["Batti Mineur"],Zeitler:["Kygitonic"],Dozenal:["NOCian"],zeitler:["Lycritonic"]}},2251:{title:"Zodimic",chroma:"110100110001",names:{Zeitler:["Zodimic"],Dozenal:["NODian"],zeitler:["Phralimic"]}},2253:{title:"Raga Amarasenapriya",chroma:"101100110001",names:{Carnatic:["Raga Amarasenapriya"],Zeitler:["Logimic"],Dozenal:["NOFian"],zeitler:["Solimic"]}},2255:{title:"Alt 7346",chroma:"111100110001",names:{Bedwell:["Alt 7346","Acentric minor"],Zeitler:["Dylian"],Dozenal:["NOGian"],zeitler:["Parian"]}},2257:{title:"Lydian Pentatonic",chroma:"100010110001",names:{"Western Modern":["Lydian Pentatonic"],Carnatic:["Raga Amritavarshini"],"Unknown / Unsorted":["Malashri","Shilangi","Chinese"],Ethiopian:["Batti Lydian"],Japanese:["Hirajoshi"],Zeitler:["Zolitonic"],Dozenal:["NUHian"],zeitler:["Gonitonic"]}},2259:{title:"Raga Mandari",chroma:"110010110001",names:{Carnatic:["Raga Mandari"],"Unknown / Unsorted":["Gamakakriya","Hamsanarayani"],Zeitler:["Gogimic"],Dozenal:["NUJian"],zeitler:["Epygimic"]}},2261:{title:"Raga Caturangini",chroma:"101010110001",names:{Carnatic:["Raga Caturangini"],"Unknown / Unsorted":["Ratnakanthi"],Zeitler:["Phrolimic"],Dozenal:["NUKian"],zeitler:["Bylimic"]}},2263:{title:"Phlegmatic minor",chroma:"111010110001",names:{Bedwell:["Phlegmatic minor","Alt 736"],Zeitler:["Lycrian"],Dozenal:["NULian"],zeitler:["Ionythian"]}},2265:{title:"Raga Rasamanjari",chroma:"100110110001",names:{Carnatic:["Raga Rasamanjari"],Zeitler:["Ionophimic"],Dozenal:["NUMian"],zeitler:["Laptimic"]}},2267:{title:"Exotic",chroma:"110110110001",names:{Bedwell:["Exotic","Alt 76"],Zeitler:["Padian"],Dozenal:["NUNian"],zeitler:["Stygian"]}},2269:{title:"Nomadic minor",chroma:"101110110001",names:{Bedwell:["Nomadic minor","Alt 276"],Zeitler:["Pygian"],Dozenal:["NUPian"],zeitler:["Stythian"]}},2271:{title:"Poptyllic",chroma:"111110110001",names:{Zeitler:["Poptyllic"],Dozenal:["NUQian"],zeitler:["Dolyllic"]}},2273:{title:"NURian",chroma:"100001110001",names:{}},2275:{title:"Messiaen Mode 5",chroma:"110001110001",names:{Messiaen:["Messiaen Mode 5","Messiaen 5th Mode","Fifth Mode Of Limited Transposition"],Zeitler:["Thodimic"],Dozenal:["NUSian"],zeitler:["Thonimic"]}},2277:{title:"Kagimic",chroma:"101001110001",names:{Zeitler:["Kagimic"],Dozenal:["NUTian"],zeitler:["Mythimic"]}},2279:{title:"Apathetic minor",chroma:"111001110001",names:{Bedwell:["Apathetic minor","Locrian 736"],Zeitler:["Dyrian"],Dozenal:["NUVian"],zeitler:["Ionarian"]}},2281:{title:"Rathimic",chroma:"100101110001",names:{Zeitler:["Rathimic"],Dozenal:["NUWian"],zeitler:["Kanimic"]}},2283:{title:"Pacific minor",chroma:"110101110001",names:{Bedwell:["Pacific minor","Locrian 76"],Zeitler:["Aeolyptian"],Dozenal:["NUXian"],zeitler:["Thacrian"]}},2285:{title:"Supine",chroma:"101101110001",names:{Bedwell:["Supine","Locrian 276"],Zeitler:["Aerogian"],Dozenal:["NUYian"],zeitler:["Aeolathian"]}},2287:{title:"Lodyllic",chroma:"111101110001",names:{Zeitler:["Lodyllic"],Dozenal:["NUZian"],zeitler:["Thagyllic"]}},2289:{title:"Mocrimic",chroma:"100011110001",names:{Zeitler:["Mocrimic"],Dozenal:["NUBian"],zeitler:["Mocrimic"]}},2291:{title:"Pacific",chroma:"110011110001",names:{Bedwell:["Pacific","Locrian 376"],Zeitler:["Zydian"],Dozenal:["OSHian"],zeitler:["Aeolacrian"]}},2293:{title:"Bucolic",chroma:"101011110001",names:{Bedwell:["Bucolic","Ionian 56"],Zeitler:["Gorian"],Dozenal:["OTTian"],zeitler:["Zogian"]}},2295:{title:"Kogyllic",chroma:"111011110001",names:{Zeitler:["Kogyllic"],Dozenal:["PHLian"],zeitler:["Pynyllic"]}},2297:{title:"Ionian 526",chroma:"100111110001",names:{Bedwell:["Ionian 526"],Zeitler:["Thylian"],Dozenal:["OBOian"],zeitler:["Thycrian"]}},2299:{title:"Phraptyllic",chroma:"110111110001",names:{Zeitler:["Phraptyllic"],Dozenal:["OBUian"],zeitler:["Aeoladyllic"]}},2301:{title:"Bydyllic",chroma:"101111110001",names:{Zeitler:["Bydyllic"],Dozenal:["STRian"],zeitler:["Phroryllic"]}},2303:{title:"Nonatonic Chromatic 2",chroma:"111111110001",names:{"Western Modern":["Nonatonic Chromatic 2"],Western:["Chromatic Nonamode 8th Rotation"],Zeitler:["Stanygic"],Dozenal:["OTHian"],zeitler:["Manygic"]}},2305:{title:"OLLian",chroma:"100000001001",names:{}},2307:{title:"OCOian",chroma:"110000001001",names:{}},2309:{title:"OCUian",chroma:"101000001001",names:{}},2311:{title:"Raga Kumarapriya",chroma:"111000001001",names:{Carnatic:["Raga Kumarapriya"],Dozenal:["OTRian"]}},2313:{title:"OSRian",chroma:"100100001001",names:{}},2315:{title:"ORKian",chroma:"110100001001",names:{}},2317:{title:"ODOian",chroma:"101100001001",names:{}},2319:{title:"ODUian",chroma:"111100001001",names:{}},2321:{title:"Zyphic",chroma:"100010001001",names:{Zeitler:["Zyphic"],Dozenal:["GUMian"],zeitler:["Dygic"]}},2323:{title:"Doptitonic",chroma:"110010001001",names:{Zeitler:["Doptitonic"],Dozenal:["OSTian"],zeitler:["Aeraphitonic"]}},2325:{title:"Pynitonic",chroma:"101010001001",names:{Zeitler:["Pynitonic"],Dozenal:["OMPian"],zeitler:["Katagitonic"]}},2327:{title:"Epalimic",chroma:"111010001001",names:{Zeitler:["Epalimic"],Dozenal:["OFOian"],zeitler:["Phragimic"]}},2329:{title:"Styditonic",chroma:"100110001001",names:{Zeitler:["Styditonic"],Dozenal:["OFUian"],zeitler:["Kyritonic"]}},2331:{title:"Dylimic",chroma:"110110001001",names:{Zeitler:["Dylimic"],Dozenal:["OTWian"],zeitler:["Katathimic"]}},2333:{title:"Stynimic",chroma:"101110001001",names:{Zeitler:["Stynimic"],Dozenal:["OPLian"],zeitler:["Ionylimic"]}},2335:{title:"Byzantine",chroma:"111110001001",names:{Bedwell:["Byzantine","Alt 7345"],Zeitler:["Epydian"],Dozenal:["OLFian"],zeitler:["Kythian"]}},2337:{title:"OGOian",chroma:"100001001001",names:{}},2339:{title:"Raga Kshanika",chroma:"110001001001",names:{Carnatic:["Raga Kshanika"],Zeitler:["Ragitonic"],Dozenal:["OGUian"],zeitler:["Stolitonic"]}},2341:{title:"Raga Priyadharshini",chroma:"101001001001",names:{Carnatic:["Raga Priyadharshini"],Zeitler:["Myditonic"],Dozenal:["ONBian"],zeitler:["Mixitonic"]}},2343:{title:"Tharimic",chroma:"111001001001",names:{Zeitler:["Tharimic"],Dozenal:["OCLian"],zeitler:["Epynimic"]}},2345:{title:"Gothitonic",chroma:"100101001001",names:{Zeitler:["Gothitonic"],Dozenal:["OMSian"],zeitler:["Thoditonic"]}},2347:{title:"Raga Viyogavarali",chroma:"110101001001",names:{Carnatic:["Raga Viyogavarali"],Zeitler:["Thothimic"],Dozenal:["OHOian"],zeitler:["Palimic"]}},2349:{title:"Raga Ghantana",chroma:"101101001001",names:{Carnatic:["Raga Ghantana"],"Unknown / Unsorted":["Kaushiranjani","Kaishikiranjani"],Zeitler:["Aerogimic"],Dozenal:["OHUian"],zeitler:["Thoptimic"]}},2351:{title:"Alt 7345",chroma:"111101001001",names:{Bedwell:["Alt 7345","Acentric"],Zeitler:["Gynian"],Dozenal:["OJUian"],zeitler:["Bonian"]}},2353:{title:"Raga Girija",chroma:"100011001001",names:{Carnatic:["Raga Girija"],"East European":["Bacovia Pentatonic"],Ethiopian:["Batti Major 5"],Zeitler:["Lycritonic"],Dozenal:["ORTian"],zeitler:["Kygitonic"]}},2355:{title:"Raga Lalita",chroma:"110011001001",names:{Carnatic:["Raga Lalita"],"Unknown / Unsorted":["Sohini","Hamsanandi"],Hindustani:["Lalit Bhairav"],Zeitler:["Katycrimic"],Dozenal:["ORFian"],zeitler:["Ionodimic"]}},2357:{title:"Raga Sarasanana",chroma:"101011001001",names:{Carnatic:["Raga Sarasanana"],Zeitler:["Ionaptimic"],Dozenal:["ORRian"],zeitler:["Dagimic"]}},2359:{title:"Unorthodox minor",chroma:"111011001001",names:{Bedwell:["Unorthodox minor","Alt 735"],Zeitler:["Gadian"],Dozenal:["ORMian"],zeitler:["Epagian"]}},2361:{title:"Docrimic",chroma:"100111001001",names:{Zeitler:["Docrimic"],Dozenal:["OLOian"],zeitler:["Mydimic"]}},2363:{title:"Unorthodox",chroma:"110111001001",names:{Bedwell:["Unorthodox","Alt 75"],Zeitler:["Kataptian"],Dozenal:["OLUian"],zeitler:["Stalian"]}},2365:{title:"Alt 275",chroma:"101111001001",names:{Bedwell:["Alt 275","Melancholic"],Zeitler:["Sythian"],Dozenal:["ODRian"],zeitler:["Gacrian"]}},2367:{title:"Laryllic",chroma:"111111001001",names:{Zeitler:["Laryllic"],Dozenal:["MOMian"],zeitler:["Zaryllic"]}},2369:{title:"OFFian",chroma:"100000101001",names:{}},2371:{title:"OMOian",chroma:"110000101001",names:{}},2373:{title:"Dyptitonic",chroma:"101000101001",names:{Zeitler:["Dyptitonic"],Dozenal:["OMUian"],zeitler:["Docritonic"]}},2375:{title:"Aeolaptimic",chroma:"111000101001",names:{Zeitler:["Aeolaptimic"],Dozenal:["SCOian"],zeitler:["Podimic"]}},2377:{title:"Bartók Gamma Chord",chroma:"100100101001",names:{"Named After Composers":["Bartók Gamma Chord"],Zeitler:["Thoditonic"],Dozenal:["OSKian"],zeitler:["Gothitonic"]}},2379:{title:"Raga Gurjari Todi",chroma:"110100101001",names:{Carnatic:["Raga Gurjari Todi"],Zeitler:["Stathimic"],Dozenal:["OLTian"],zeitler:["Mixolimic"]}},2381:{title:"Takemitsu Linea Mode 1",chroma:"101100101001",names:{"Named After Composers":["Takemitsu Linea Mode 1","Takemitsu Tree Line Mode 1"],Western:["Takemitsu Linea I","Takemitsu Linea 1"],Zeitler:["Sorimic"],Dozenal:["ONOian"],zeitler:["Stythimic"]}},2383:{title:"Alt 734",chroma:"111100101001",names:{Bedwell:["Alt 734","Soporific"],Zeitler:["Katorian"],Dozenal:["ONUian"],zeitler:["Morian"]}},2385:{title:"Karen 5 tone Type 2",chroma:"100010101001",names:{"Southeast Asia":["Karen 5 tone Type 2"],Zeitler:["Aeolanitonic"],Dozenal:["OTRian"],zeitler:["Kagitonic"]}},2387:{title:"Paptimic",chroma:"110010101001",names:{Zeitler:["Paptimic"],Dozenal:["OBRian"],zeitler:["Dalimic"]}},2389:{title:"Eskimo Hexatonic 2",chroma:"101010101001",names:{Exoticisms:["Eskimo Hexatonic 2"],Zeitler:["Thynimic"],Dozenal:["ONKian"],zeitler:["Aeragimic"]}},2391:{title:"Phlegmatic",chroma:"111010101001",names:{Bedwell:["Phlegmatic","Alt 73"],Zeitler:["Molian"],Dozenal:["OPOian"],zeitler:["Phraptian"]}},2393:{title:"Zathimic",chroma:"100110101001",names:{Zeitler:["Zathimic"],Dozenal:["OPUian"],zeitler:["Mothimic"]}},2395:{title:"Alt 7",chroma:"110110101001",names:{Bedwell:["Alt 7","Alt 7"],Zeitler:["Zoptian"],Dozenal:["ORGian"],zeitler:["Phrolian"]}},2397:{title:"Eccentric",chroma:"101110101001",names:{Bedwell:["Eccentric","Alt 27"],Zeitler:["Stagian"],Dozenal:["OGGian"],zeitler:["Epacrian"]}},2399:{title:"Zanyllic",chroma:"111110101001",names:{Zeitler:["Zanyllic"],Dozenal:["KIJian"],zeitler:["Phranyllic"]}},2401:{title:"OROian",chroma:"100001101001",names:{}},2403:{title:"Lycrimic",chroma:"110001101001",names:{Zeitler:["Lycrimic"],Dozenal:["ORUian"],zeitler:["Rothimic"]}},2405:{title:"T4 First Rotation",chroma:"101001101001",names:{Messiaen:["T4 First Rotation","Messiaen Mode 2 Truncation 2"],Zeitler:["Katalimic"],Dozenal:["FRUian"],zeitler:["Aeradimic"]}},2407:{title:"Apathetic",chroma:"111001101001",names:{Bedwell:["Apathetic","Locrian 73"],Zeitler:["Zylian"],Dozenal:["OSPian"],zeitler:["Katocrian"]}},2409:{title:"Zacrimic",chroma:"100101101001",names:{Zeitler:["Zacrimic"],Dozenal:["OSSian"],zeitler:["Zacrimic"]}},2411:{title:"Locrian 7",chroma:"110101101001",names:{Bedwell:["Locrian 7"],Zeitler:["Aeolorian"],Dozenal:["OSOian"],zeitler:["Thonian"]}},2413:{title:"Harmonic Minor 5",chroma:"101101101001",names:{"Western Altered":["Harmonic Minor 5","Locrian 2 7"],Bedwell:["Harmonic minor 5"],Western:["Hungarian Major 3rd Mode","Alternating Heptamode 1st Rotation"],Zeitler:["Phrydian"],Dozenal:["OSUian"],zeitler:["Pogian"]}},2415:{title:"Lothyllic",chroma:"111101101001",names:{Zeitler:["Lothyllic"],Dozenal:["ONTian"],zeitler:["Lydyllic"]}},2417:{title:"Kanimic",chroma:"100011101001",names:{Zeitler:["Kanimic"],Dozenal:["OLVian"],zeitler:["Rathimic"]}},2419:{title:"Raga Lalita",chroma:"110011101001",names:{Carnatic:["Raga Lalita","Raga Suddha Pancama"],Bedwell:["Persian"],Exoticisms:["Persian"],"Western Chromatic":["Chromatic Hypolydian Inverse"],Zeitler:["Paptian"],Dozenal:["OBSian"],zeitler:["Epathian"]}},2421:{title:"Harmonic Major 5",chroma:"101011101001",names:{Bedwell:["Harmonic Major 5","Harm. Maj 5"],Zeitler:["Malian"],Dozenal:["OTOian"],zeitler:["Eporian"]}},2423:{title:"Thorcryllic",chroma:"111011101001",names:{Zeitler:["Thorcryllic"],Dozenal:["OTUian"],zeitler:["Zoryllic"]}},2425:{title:"Harm. Maj 52",chroma:"100111101001",names:{Bedwell:["Harm. Maj 52"],Zeitler:["Rorian"],Dozenal:["OBBian"],zeitler:["Laptian"]}},2427:{title:"Katoryllic",chroma:"110111101001",names:{Zeitler:["Katoryllic"],Dozenal:["ONSian"],zeitler:["Pothyllic"]}},2429:{title:"Kadyllic",chroma:"101111101001",names:{Zeitler:["Kadyllic"],Dozenal:["OYOian"],zeitler:["Aeronyllic"]}},2431:{title:"Gythygic",chroma:"111111101001",names:{Zeitler:["Gythygic"],Dozenal:["PABian"],zeitler:["Sathygic"]}},2433:{title:"PACian",chroma:"100000011001",names:{}},2435:{title:"Raga Deshgaur",chroma:"110000011001",names:{Carnatic:["Raga Deshgaur"],Dozenal:["PADian"]}},2437:{title:"PAFian",chroma:"101000011001",names:{}},2439:{title:"PAGian",chroma:"111000011001",names:{}},2441:{title:"Kyritonic",chroma:"100100011001",names:{Zeitler:["Kyritonic"],Dozenal:["PAHian"],zeitler:["Styditonic"]}},2443:{title:"Panimic",chroma:"110100011001",names:{Zeitler:["Panimic"],Dozenal:["PAJian"],zeitler:["Phraptimic"]}},2445:{title:"Zadimic",chroma:"101100011001",names:{Zeitler:["Zadimic"],Dozenal:["PAKian"],zeitler:["Sothimic"]}},2447:{title:"Alt 5734",chroma:"111100011001",names:{Bedwell:["Alt 5734","Cryptic minor"],Zeitler:["Thagian"],Dozenal:["PALian"],zeitler:["Starian"]}},2449:{title:"Zacritonic",chroma:"100010011001",names:{Zeitler:["Zacritonic"],Dozenal:["PAMian"],zeitler:["Ionagitonic"]}},2451:{title:"Raga Bauli",chroma:"110010011001",names:{Carnatic:["Raga Bauli"],Zeitler:["Aerynimic"],Dozenal:["PANian"],zeitler:["Ionalimic"]}},2453:{title:"Raga Latika",chroma:"101010011001",names:{Carnatic:["Raga Latika"],Zeitler:["Stonimic"],Dozenal:["PAPian"],zeitler:["Porimic"]}},2455:{title:"Bohemian minor",chroma:"111010011001",names:{Bedwell:["Bohemian minor","Alt 573"],Zeitler:["Bothian"],Dozenal:["PAQian"],zeitler:["Phrocrian"]}},2457:{title:"Augmented",chroma:"100110011001",names:{"Western Modern":["Augmented"],Messiaen:["Messiaen Mode 3 Truncated Inverse","T2 First Rotation","Messiaen Mode 3 Truncated Rotation 1"],"Ancient Greek":["Genus Tertium"],Carnatic:["Raga Devamani"],Zeitler:["Ionythimic"],Dozenal:["PARian"],zeitler:["Ionythimic"]}},2459:{title:"Neapoitan Minor 4",chroma:"110110011001",names:{Bedwell:["Neapoitan Minor 4"],Zeitler:["Ionocrian"],Dozenal:["PASian"],zeitler:["Katathian"]}},2461:{title:"Harmonic minor 4",chroma:"101110011001",names:{Bedwell:["Harmonic minor 4"],Zeitler:["Sagian"],Dozenal:["PATian"],zeitler:["Tholian"]}},2463:{title:"Ionathyllic",chroma:"111110011001",names:{Zeitler:["Ionathyllic"],Dozenal:["PAVian"],zeitler:["Ioniptyllic"]}},2465:{title:"Raga Devaranjani",chroma:"100001011001",names:{Carnatic:["Raga Devaranjani","Raga Devaranji"],Dozenal:["PEWian"]}},2467:{title:"Raga Padi",chroma:"110001011001",names:{Carnatic:["Raga Padi"],Zeitler:["Morimic"],Dozenal:["PEXian"],zeitler:["Kodimic"]}},2469:{title:"Raga Bhinna Pancama",chroma:"101001011001",names:{Carnatic:["Raga Bhinna Pancama"],Zeitler:["Staptimic"],Dozenal:["PEYian"],zeitler:["Aeolythimic"]}},2471:{title:"Neapolitan minor 3",chroma:"111001011001",names:{Bedwell:["Neapolitan minor 3"],Carnatic:["Mela Ganamurti","Ganamurthi","Mela Ganamurthi"],"Carnatic Melakarta":["Ganamurti"],Zeitler:["Eparian"],Dozenal:["PEZian"],"Carnatic Numbered Melakarta":["3rd Melakarta Raga"],zeitler:["Ranian"]}},2473:{title:"Raga Takka",chroma:"100101011001",names:{Carnatic:["Raga Takka"],Zeitler:["Mothimic"],Dozenal:["PEBian"],zeitler:["Zathimic"]}},2475:{title:"Neapolitan Minor",chroma:"110101011001",names:{Western:["Neapolitan Minor","Double Harmonic","Neapolitan Minor v1","Minor Neapolitan"],Carnatic:["Mela Dhenuka","Raga Bhinnasadjam","Dhunibinnashadjam"],"Unknown / Unsorted":["Takka"],Exoticisms:["Hungarian Romani"],Zeitler:["Aerylian"],Dozenal:["EGRian"],"Carnatic Melakarta":["Dhenuka"],"Carnatic Numbered Melakarta":["9th Melakarta Raga"],zeitler:["Golian"]}},2477:{title:"Harmonic Minor",chroma:"101101011001",names:{Western:["Harmonic Minor"],Carnatic:["Kiravani","Mela Kiravani","Raga Kiranavali"],Schenkerian:["Mischung 4"],Hindustani:["Pilu That"],"Unknown / Unsorted":["Kirvani","Kalyana Vasantha","Deshi(3)","Sultani Yakah","Zhalibny Minor","Armoniko minore","Mohammedan"],Zeitler:["Mydian"],Dozenal:["HARian"],"Carnatic Melakarta":["Keeravani"],"Carnatic Numbered Melakarta":["21st Melakarta Raga"],zeitler:["Palian"]}},2479:{title:"Harmonic and Neapolitan Minor Mixed",chroma:"111101011001",names:{"Western Mixed":["Harmonic and Neapolitan Minor Mixed"],Zeitler:["Rycryllic"],Dozenal:["PEFian"],zeitler:["Aeolothyllic"]}},2481:{title:"Raga Paraju",chroma:"100011011001",names:{Carnatic:["Raga Paraju","Raga Paraz","Raga Pharas"],"Unknown / Unsorted":["Ramamanohari","Sindhu Ramakriya","Kamalamanohari"],Zeitler:["Laptimic"],Dozenal:["PEGian"],zeitler:["Ionophimic"]}},2483:{title:"Double Harmonic",chroma:"110011011001",names:{Bedwell:["Double Harmonic"],Western:["Hungarian Romani Major","Byzantine Liturgical Chromatic"],"Modern Greek":["Dromos Hitzazkiar","Hitzazkiar"],Hindustani:["That Bhairav","Bhairav That","Bhairav Theta"],Carnatic:["Mayamalavagaula","Mela Mayamalavagaula","Raga Paraj","Lalitapancamam"],Exoticisms:["Major Romani","Hungarian Romani Persian","Byzantine"],"Western Modern":["Double Harmonic Major"],"Unknown / Unsorted":["Kalingada","Gaulipantu","Chromatic 2nd Byzantine Liturgical"],Arabic:["Hijaz Kar","Suzidil"],Zeitler:["Aerynian"],Dozenal:["PEHian"],"Carnatic Melakarta":["Mayamalavagowla"],"Carnatic Numbered Melakarta":["15th Melakarta Raga"],zeitler:["Loptian"]}},2485:{title:"Harmonic Major",chroma:"101011011001",names:{Western:["Harmonic Major"],"Modern Greek":["Drómos Tabahaniotikó","Tabahaniotikos"],Azerbaijan:["Mugham Shahnaz"],Carnatic:["Mela Sarasangi","Raga Haripriya"],"Unknown / Unsorted":["Simhavahini"],Schenkerian:["Mischung 2"],Exoticisms:["Ethiopian"],Zeitler:["Aerorian"],Dozenal:["PEJian"],"Carnatic Melakarta":["Sarasangi"],"Carnatic Numbered Melakarta":["27th Melakarta Raga"],zeitler:["Bycrian"]}},2487:{title:"Phroptyllic",chroma:"111011011001",names:{Zeitler:["Phroptyllic"],Dozenal:["PEKian"],zeitler:["Maptyllic"]}},2489:{title:"Ionian 26",chroma:"100111011001",names:{Bedwell:["Ionian 26"],Carnatic:["Mela Gangeyabhusani","Gangeyabusani","Raga Gangatarangini"],Western:["Drómos Segáh"],"Modern Greek":["Sengiach","Sengah"],Exoticisms:["Romani Hexatonic Inverse"],Zeitler:["Syrian"],Dozenal:["PELian"],"Carnatic Melakarta":["Gangeyabhushani"],"Carnatic Numbered Melakarta":["33rd Melakarta Raga"],zeitler:["Barian"]}},2491:{title:"Layllic",chroma:"110111011001",names:{Zeitler:["Layllic"],Dozenal:["PEMian"],zeitler:["Thyptyllic"]}},2493:{title:"Manyllic",chroma:"101111011001",names:{Zeitler:["Manyllic"],Dozenal:["PENian"],zeitler:["Doptyllic"]}},2495:{title:"Aeolocrygic",chroma:"111111011001",names:{Zeitler:["Aeolocrygic"],Dozenal:["PEPian"],zeitler:["Phrygic"]}},2497:{title:"PEQian",chroma:"100000111001",names:{}},2499:{title:"PIRian",chroma:"110000111001",names:{}},2501:{title:"Ralimic",chroma:"101000111001",names:{Zeitler:["Ralimic"],Dozenal:["PISian"],zeitler:["Pylimic"]}},2503:{title:"Lydian 263",chroma:"111000111001",names:{Bedwell:["Lydian 263"],Carnatic:["Mela Jhalavarali","Jharavarali","Raga Varali","Jinavali"],Zeitler:["Stonian"],Dozenal:["PITian"],"Carnatic Melakarta":["Jhalavarali"],"Carnatic Numbered Melakarta":["39th Melakarta Raga"],zeitler:["Thocrian"]}},2505:{title:"Mydimic",chroma:"100100111001",names:{Zeitler:["Mydimic"],Dozenal:["PIVian"],zeitler:["Docrimic"]}},2507:{title:"Neapoitan Minor 4",chroma:"110100111001",names:{Bedwell:["Neapoitan Minor 4"],Hindustani:["Todi That","That Todi","Todi Theta"],Carnatic:["Mela Shubhapantuvarali","Raga Multani","Gamakasamantam"],"Western Modern":["Harsh Minor"],"Western Chromatic":["Chromatic Lydian Inverse"],Zeitler:["Ionyphian"],Dozenal:["PIWian"],"Carnatic Melakarta":["Shubhapantuvarali"],"Carnatic Numbered Melakarta":["45th Melakarta Raga"],zeitler:["Rothian"]}},2509:{title:"Double Harmonic Minor",chroma:"101100111001",names:{"Western Modern":["Double Harmonic Minor"],"Modern Greek":["Niavent","Drómos Nihavént"],Western:["Hungarian Romani Minor"],Arabic:["Magam Nawa Athar"],Carnatic:["Simmendhamadhyamam","Mela Simhendramadhyama","Raga Madhava Manohari"],Exoticisms:["Hungarian Minor","Egyptian Heptatonic","Flamenco Mode"],Turkish:["Hisar"],Zeitler:["Bogian"],Dozenal:["PIXian"],"Carnatic Melakarta":["Simhendramadhyamam"],"Carnatic Numbered Melakarta":["57th Melakarta Raga"],zeitler:["Docrian"]}},2511:{title:"Epyryllic",chroma:"111100111001",names:{Zeitler:["Epyryllic"],Dozenal:["PIYian"],zeitler:["Locryllic"]}},2513:{title:"Aerycrimic",chroma:"100010111001",names:{Zeitler:["Aerycrimic"],Dozenal:["PIZian"],zeitler:["Donimic"]}},2515:{title:"Chromatic Hypolydian",chroma:"110010111001",names:{"Western Chromatic":["Chromatic Hypolydian"],Bedwell:["Composite II"],Hindustani:["Purvi That","Purvi Theta","That Purvi"],Carnatic:["Mela Kamavardhani","Raga Shri","Kasiramakriya","Suddharamakriya","Puriya Dhanashri"],"Unknown / Unsorted":["Pantuvarali","Basant","Dhipaka"],"Modern Greek":["Pireotikos","Drómos Piraiotikó"],Zeitler:["Stylian"],Dozenal:["PIBian"],"Carnatic Melakarta":["Kamavardhini"],"Carnatic Numbered Melakarta":["51st Melakarta Raga"],zeitler:["Ionacrian"]}},2517:{title:"Harm. Major 4",chroma:"101010111001",names:{Bedwell:["Harm. Major 4","Harmonic Major 4"],"Western Modern":["Harmonic Lydian"],Carnatic:["Mela Latangi","Raga Gitapriya","Hamsalata","Lathangi"],Zeitler:["Ryphian"],Dozenal:["PICian"],"Carnatic Melakarta":["Latangi"],"Carnatic Numbered Melakarta":["63rd Melakarta Raga"],zeitler:["Dolian"]}},2519:{title:"Dathyllic",chroma:"111010111001",names:{Zeitler:["Dathyllic"],Dozenal:["PIDian"],zeitler:["Aeracryllic"]}},2521:{title:"Mela Dhatuvardhani",chroma:"100110111001",names:{Carnatic:["Mela Dhatuvardhani","Raga Dhauta Pancama"],Bedwell:["Lydian 26"],"Unknown / Unsorted":["Devarashtra"],Zeitler:["Barian"],Dozenal:["PIFian"],"Carnatic Melakarta":["Dhatuvardani"],"Carnatic Numbered Melakarta":["69th Melakarta Raga"],zeitler:["Syrian"]}},2523:{title:"Mirage Scale",chroma:"110110111001",names:{"Western Modern":["Mirage Scale"],Zeitler:["Rygyllic"],Dozenal:["GITian"],zeitler:["Dydyllic"]}},2525:{title:"Aeolaryllic",chroma:"101110111001",names:{Zeitler:["Aeolaryllic"],Dozenal:["PIHian"],zeitler:["Lonyllic"]}},2527:{title:"Phradygic",chroma:"111110111001",names:{Zeitler:["Phradygic"],Dozenal:["PIJian"],zeitler:["Kalygic"]}},2529:{title:"PIKian",chroma:"100001111001",names:{}},2531:{title:"Lydian 263",chroma:"110001111001",names:{Bedwell:["Lydian 263"],Zeitler:["Danian"],Dozenal:["PILian"],zeitler:["Zathian"]}},2533:{title:"Lydian 36",chroma:"101001111001",names:{Bedwell:["Lydian 36"],Zeitler:["Podian"],Dozenal:["POMian"],zeitler:["Aerycrian"]}},2535:{title:"Messiaen Mode 4",chroma:"111001111001",names:{Messiaen:["Messiaen Mode 4","Fourth Mode Of Limited Transposition","Messiaen 4th Mode"],"Named After Composers":["Tcherepnin Octatonic Mode 2"],Zeitler:["Zygyllic"],Dozenal:["PONian"],zeitler:["Sydyllic"]}},2537:{title:"Lydian 623",chroma:"100101111001",names:{Bedwell:["Lydian 623"],Zeitler:["Laptian"],Dozenal:["POPian"],zeitler:["Rorian"]}},2539:{title:"Half-Diminished Bebop",chroma:"110101111001",names:{"Jazz and Blues":["Half-Diminished Bebop","Half Diminished Bebop"],Zeitler:["Thonyllic"],Dozenal:["POQian"],zeitler:["Bacryllic"]}},2541:{title:"Algerian",chroma:"101101111001",names:{Exoticisms:["Algerian"],"Unknown / Unsorted":["Sabiren"],Zeitler:["Katadyllic"],Dozenal:["PORian"],zeitler:["Aeolathyllic"]}},2543:{title:"Dydygic",chroma:"111101111001",names:{Zeitler:["Dydygic"],Dozenal:["POSian"],zeitler:["Mixolydygic"]}},2545:{title:"Lydian 632",chroma:"100011111001",names:{Bedwell:["Lydian 632"],Zeitler:["Thycrian"],Dozenal:["POTian"],zeitler:["Thylian"]}},2547:{title:"Raga Ramkali",chroma:"110011111001",names:{Carnatic:["Raga Ramkali","Raga Ramakri"],Zeitler:["Sogyllic"],Dozenal:["POVian"],zeitler:["Ionycryllic"]}},2549:{title:"Rydyllic",chroma:"101011111001",names:{Zeitler:["Rydyllic"],Dozenal:["UFRian"],zeitler:["Gythyllic"]}},2551:{title:"Zoptygic",chroma:"111011111001",names:{Zeitler:["Zoptygic"],Dozenal:["POXian"],zeitler:["Dycrygic"]}},2553:{title:"Aeolaptyllic",chroma:"100111111001",names:{Zeitler:["Aeolaptyllic"],Dozenal:["POYian"],zeitler:["Aeolaptyllic"]}},2555:{title:"Bythygic",chroma:"110111111001",names:{Zeitler:["Bythygic"],Dozenal:["POZian"],zeitler:["Loptygic"]}},2557:{title:"Dothygic",chroma:"101111111001",names:{Zeitler:["Dothygic"],Dozenal:["POBian"],zeitler:["Zothygic"]}},2559:{title:"Decatonic Chromatic 2",chroma:"111111111001",names:{"Western Modern":["Decatonic Chromatic 2"],Western:["Chromatic Decamode 9th Rotation"],Zeitler:["Zogyllian"],Dozenal:["POCian"],zeitler:["Katoryllian"]}},2561:{title:"PODian",chroma:"100000000101",names:{}},2563:{title:"POFian",chroma:"110000000101",names:{}},2565:{title:"POGian",chroma:"101000000101",names:{}},2567:{title:"PUHian",chroma:"111000000101",names:{}},2569:{title:"PUJian",chroma:"100100000101",names:{}},2571:{title:"PUKian",chroma:"110100000101",names:{}},2573:{title:"PULian",chroma:"101100000101",names:{}},2575:{title:"PUMian",chroma:"111100000101",names:{}},2577:{title:"PUNian",chroma:"100010000101",names:{}},2579:{title:"PUPian",chroma:"110010000101",names:{}},2581:{title:"Raga Neroshta",chroma:"101010000101",names:{Carnatic:["Raga Neroshta"],Dozenal:["PUQian"]}},2583:{title:"PURian",chroma:"111010000101",names:{}},2585:{title:"OTLian",chroma:"100110000101",names:{}},2587:{title:"PUTian",chroma:"110110000101",names:{}},2589:{title:"PUVian",chroma:"101110000101",names:{}},2591:{title:"Alt 67345",chroma:"111110000101",names:{Bedwell:["Alt 67345","Quixotic"],Dozenal:["PUWian"]}},2593:{title:"PUXian",chroma:"100001000101",names:{}},2595:{title:"Rolitonic",chroma:"110001000101",names:{Zeitler:["Rolitonic"],Dozenal:["PUYian"],zeitler:["Kanitonic"]}},2597:{title:"Raga Rasranjani",chroma:"101001000101",names:{Carnatic:["Raga Rasranjani"],Zeitler:["Koptitonic"],Dozenal:["PUZian"],zeitler:["Aeolythitonic"]}},2599:{title:"Malimic",chroma:"111001000101",names:{Zeitler:["Malimic"],Dozenal:["PUBian"],zeitler:["Sathimic"]}},2601:{title:"Marga Hindolam",chroma:"100101000101",names:{Carnatic:["Marga Hindolam","Rajeshwari"],Zeitler:["Docritonic"],Dozenal:["QABian"],zeitler:["Dyptitonic"]}},2603:{title:"Gadimic",chroma:"110101000101",names:{Zeitler:["Gadimic"],Dozenal:["QACian"],zeitler:["Sydimic"]}},2605:{title:"Rylimic",chroma:"101101000101",names:{Zeitler:["Rylimic"],Dozenal:["QADian"],zeitler:["Byrimic"]}},2607:{title:"Alt 67345",chroma:"111101000101",names:{Bedwell:["Alt 67345","Mercurial minor"],Zeitler:["Aerolian"],Dozenal:["QAFian"],zeitler:["Rydian"]}},2609:{title:"Raga Bhinna Shadja",chroma:"100011000101",names:{Carnatic:["Raga Bhinna Shadja"],"Unknown / Unsorted":["Kaushikdhvani","Hindolita"],Zeitler:["Paptitonic"],Dozenal:["QAGian"],zeitler:["Dygitonic"]}},2611:{title:"Raga Vasanta",chroma:"110011000101",names:{Carnatic:["Raga Vasanta"],"Unknown / Unsorted":["Chayavati"],Zeitler:["Lyrimic"],Dozenal:["QAHian"],zeitler:["Lodimic"]}},2613:{title:"Raga Hamsa Vinodini",chroma:"101011000101",names:{Carnatic:["Raga Hamsa Vinodini"],Zeitler:["Aeolanimic"],Dozenal:["QAJian"],zeitler:["Stolimic"]}},2615:{title:"Alt 6735",chroma:"111011000101",names:{Bedwell:["Alt 6735","Mercurial"],Zeitler:["Thoptian"],Dozenal:["QAKian"],zeitler:["Gyphian"]}},2617:{title:"Pylimic",chroma:"100111000101",names:{Zeitler:["Pylimic"],Dozenal:["QELian"],zeitler:["Ralimic"]}},2619:{title:"Alt 675",chroma:"110111000101",names:{Bedwell:["Alt 675","Dysphoric minor"],Zeitler:["Ionyrian"],Dozenal:["QEMian"],zeitler:["Zocrian"]}},2621:{title:"Euphoric",chroma:"101111000101",names:{Bedwell:["Euphoric","Melodic 45"],Zeitler:["Ionogian"],Dozenal:["QENian"],zeitler:["Thynian"]}},2623:{title:"Aerylyllic",chroma:"111111000101",names:{Zeitler:["Aerylyllic"],Dozenal:["QEPian"],zeitler:["Ionyllic"]}},2625:{title:"ODWian",chroma:"100000100101",names:{}},2627:{title:"QERian",chroma:"110000100101",names:{}},2629:{title:"Raga Shubravarni",chroma:"101000100101",names:{Carnatic:["Raga Shubravarni"],Zeitler:["Aeolythitonic"],Dozenal:["QESian"],zeitler:["Koptitonic"]}},2631:{title:"Macrimic",chroma:"111000100101",names:{Zeitler:["Macrimic"],Dozenal:["QETian"],zeitler:["Gylimic"]}},2633:{title:"Bartók Beta Chord",chroma:"100100100101",names:{"Named After Composers":["Bartók Beta Chord"],Zeitler:["Mixitonic"],Dozenal:["QIVian"],zeitler:["Myditonic"]}},2635:{title:"Gocrimic",chroma:"110100100101",names:{Zeitler:["Gocrimic"],Dozenal:["QIWian"],zeitler:["Katolimic"]}},2637:{title:"Raga Ranjani",chroma:"101100100101",names:{Carnatic:["Raga Ranjani"],"Unknown / Unsorted":["Rangini"],Zeitler:["Aeolonimic"],Dozenal:["QIXian"],zeitler:["Baptimic"]}},2639:{title:"Alt 6734",chroma:"111100100101",names:{Bedwell:["Alt 6734","Cryptic"],Zeitler:["Dothian"],Dozenal:["QIYian"],zeitler:["Thanian"]}},2641:{title:"Raga Hindol",chroma:"100010100101",names:{Carnatic:["Raga Hindol"],"Unknown / Unsorted":["Sunada Vinodini","Sanjh ka Hindol"],Zeitler:["Gathitonic"],Dozenal:["QIZian"],zeitler:["Daritonic"]}},2643:{title:"Raga Hamsanandi",chroma:"110010100101",names:{Carnatic:["Raga Hamsanandi"],"Unknown / Unsorted":["Marva","Pancama","Puriya","Sohni"],Zeitler:["Lydimic"],Dozenal:["QIBian"],zeitler:["Thatimic"]}},2645:{title:"Raga Mruganandana",chroma:"101010100101",names:{Carnatic:["Raga Mruganandana"],Zeitler:["Zoptimic"],Dozenal:["QICian"],zeitler:["Gonimic"]}},2647:{title:"Bohemian",chroma:"111010100101",names:{Bedwell:["Bohemian","Alt 673"],Zeitler:["Dadian"],Dozenal:["QIDian"],zeitler:["Zothian"]}},2649:{title:"Aeolythimic",chroma:"100110100101",names:{Zeitler:["Aeolythimic"],Dozenal:["QOFian"],zeitler:["Staptimic"]}},2651:{title:"Dysphoric",chroma:"110110100101",names:{Bedwell:["Dysphoric","Alt 67"],Zeitler:["Panian"],Dozenal:["QOGian"],zeitler:["Rathian"]}},2653:{title:"Nomadic",chroma:"101110100101",names:{Bedwell:["Nomadic","Alt 267"],Zeitler:["Sygian"],Dozenal:["QOHian"],zeitler:["Ionolian"]}},2655:{title:"Thocryllic",chroma:"111110100101",names:{Zeitler:["Thocryllic"],Dozenal:["QOJian"],zeitler:["Phradyllic"]}},2657:{title:"QOKian",chroma:"100001100101",names:{}},2659:{title:"Katynimic",chroma:"110001100101",names:{Zeitler:["Katynimic"],Dozenal:["QOLian"],zeitler:["Zarimic"]}},2661:{title:"Stydimic",chroma:"101001100101",names:{Zeitler:["Stydimic"],Dozenal:["QOMian"],zeitler:["Stydimic"]}},2663:{title:"Supine minor",chroma:"111001100101",names:{Bedwell:["Supine minor","Locrian 673"],Zeitler:["Lalian"],Dozenal:["QONian"],zeitler:["Kodian"]}},2665:{title:"Messiaen Mode 2 Truncation 1",chroma:"100101100101",names:{Zeitler:["Aeradimic"],Dozenal:["QUPian"],Messiaen:["Messiaen Mode 2 Truncation 1","T5 Second Rotation"],zeitler:["Katalimic"]}},2667:{title:"Neapolitan Major 5",chroma:"110101100101",names:{Bedwell:["Neapolitan Major 5","Neapoitan Major 5"],Zeitler:["Byrian"],Dozenal:["QUQian"],zeitler:["Marian"]}},2669:{title:"Melodic 5",chroma:"101101100101",names:{Bedwell:["Melodic 5","Melodic 5"],"Named After Composers":["Jeths' Mode"],Zeitler:["Gamian"],Dozenal:["QURian"],zeitler:["Kocrian"]}},2671:{title:"Lylyllic",chroma:"111101100101",names:{Zeitler:["Lylyllic"],Dozenal:["QUSian"],zeitler:["Stathyllic"]}},2673:{title:"Mythimic",chroma:"100011100101",names:{Zeitler:["Mythimic"],Dozenal:["QUTian"],zeitler:["Kagimic"]}},2675:{title:"Persian 6",chroma:"110011100101",names:{Bedwell:["Persian 6","Persian 6"],"Western Chromatic":["Chromatic Lydian"],Carnatic:["Raga Lalit","Bhankar"],Zeitler:["Gogian"],Dozenal:["QUVian"],zeitler:["Phrynian"]}},2677:{title:"Ionian 5",chroma:"101011100101",names:{Bedwell:["Ionian 5","Ionian 5"],Zeitler:["Thodian"],Dozenal:["QUWian"],zeitler:["Zolian"]}},2679:{title:"Rathyllic",chroma:"111011100101",names:{Zeitler:["Rathyllic"],Dozenal:["QUXian"],zeitler:["Aeologyllic"]}},2681:{title:"Ionian 52",chroma:"100111100101",names:{Bedwell:["Ionian 52"],Zeitler:["Aerycrian"],Dozenal:["RABian"],zeitler:["Podian"]}},2683:{title:"Thodyllic",chroma:"110111100101",names:{Zeitler:["Thodyllic"],Dozenal:["RACian"],zeitler:["Thycryllic"]}},2685:{title:"Ionoryllic",chroma:"101111100101",names:{Zeitler:["Ionoryllic"],Dozenal:["KUMian"],zeitler:["Raptyllic"]}},2687:{title:"Thacrygic",chroma:"111111100101",names:{Zeitler:["Thacrygic"],Dozenal:["RAFian"],zeitler:["Starygic"]}},2689:{title:"Lahuzu 5tone Type 2",chroma:"100000010101",names:{"Southeast Asia":["Lahuzu 5tone Type 2"],Dozenal:["RAGian"]}},2691:{title:"RAHian",chroma:"110000010101",names:{}},2693:{title:"Lahuzu 5 Tone Type 3",chroma:"101000010101",names:{"Southeast Asia":["Lahuzu 5 Tone Type 3"],Dozenal:["RAJian"]}},2695:{title:"RAKian",chroma:"111000010101",names:{}},2697:{title:"Katagitonic",chroma:"100100010101",names:{Zeitler:["Katagitonic"],Dozenal:["RALian"],zeitler:["Pynitonic"]}},2699:{title:"Sythimic",chroma:"110100010101",names:{Zeitler:["Sythimic"],Dozenal:["SCUian"],zeitler:["Aeolocrimic"]}},2701:{title:"Hawaiian",chroma:"101100010101",names:{Exoticisms:["Hawaiian"],Zeitler:["Epythimic"],Dozenal:["RANian"],zeitler:["Aelothimic"]}},2703:{title:"Erratic minor",chroma:"111100010101",names:{Bedwell:["Erratic minor"],Zeitler:["Galian"],Dozenal:["RAPian"],zeitler:["Phroptian"]}},2705:{title:"Raga Mamata",chroma:"100010010101",names:{Carnatic:["Raga Mamata"],Zeitler:["Magitonic"],Dozenal:["RAQian"],zeitler:["Aerathitonic"]}},2707:{title:"Banimic",chroma:"110010010101",names:{Zeitler:["Banimic"],Dozenal:["RARian"],zeitler:["Bycrimic"]}},2709:{title:"Raga Kumud",chroma:"101010010101",names:{Carnatic:["Raga Kumud"],"Unknown / Unsorted":["Sankara","Shankara","Prabhati"],"Western Modern":["Lydian Hexatonic"],"Southeast Asia":["Shan Lumjou 6 Tone Type 2"],Zeitler:["Thaptimic"],Dozenal:["RASian"],zeitler:["Thaptimic"]}},2711:{title:"Erratic",chroma:"111010010101",names:{Bedwell:["Erratic"],Zeitler:["Stolian"],Dozenal:["RATian"],zeitler:["Gycrian"]}},2713:{title:"Porimic",chroma:"100110010101",names:{Zeitler:["Porimic"],Dozenal:["RAVian"],zeitler:["Stonimic"]}},2715:{title:"Neapolitan Major 4",chroma:"110110010101",names:{Bedwell:["Neapolitan Major 4","Neapoitan Major 4"],Zeitler:["Kynian"],Dozenal:["REWian"],zeitler:["Kyptian"]}},2717:{title:"Melodic 4",chroma:"101110010101",names:{Bedwell:["Melodic 4","Melodic 4"],Zeitler:["Epygian"],Dozenal:["REXian"],zeitler:["Darian"]}},2719:{title:"Zocryllic",chroma:"111110010101",names:{Zeitler:["Zocryllic"],Dozenal:["REYian"],zeitler:["Sythyllic"]}},2721:{title:"Raga Puruhutika",chroma:"100001010101",names:{Carnatic:["Raga Puruhutika"],"Unknown / Unsorted":["Purvaholika"],Dozenal:["REZian"]}},2723:{title:"Raga Jivantika",chroma:"110001010101",names:{Carnatic:["Raga Jivantika"],Zeitler:["Epylimic"],Dozenal:["REBian"],zeitler:["Zyptimic"]}},2725:{title:"Raga Nagagandhari",chroma:"101001010101",names:{Carnatic:["Raga Nagagandhari"],Zeitler:["Gonimic"],Dozenal:["RECian"],zeitler:["Zoptimic"]}},2727:{title:"Neapolitan Major 3",chroma:"111001010101",names:{Bedwell:["Neapolitan Major 3","Neapolitan Major 3"],"Carnatic Melakarta":["Mela Manavati","Manavati"],Carnatic:["Manavathi"],Zeitler:["Pylian"],Dozenal:["REDian"],"Carnatic Numbered Melakarta":["5th Melakarta Raga"],zeitler:["Mothian"]}},2729:{title:"Aeragimic",chroma:"100101010101",names:{Zeitler:["Aeragimic"],Dozenal:["REFian"],zeitler:["Thynimic"]}},2731:{title:"Neapolitan Major",chroma:"110101010101",names:{"Western Modern":["Neapolitan Major","Major Meapolitan","Lydian Major"],Western:["Phrygian Major"],Carnatic:["Mela Kokilapriya","Raga Kokilaravam"],Zeitler:["Thydian"],Dozenal:["REGian"],"Carnatic Melakarta":["Kokilapriya"],"Carnatic Numbered Melakarta":["11th Melakarta Raga"],zeitler:["Aeolynian"]}},2733:{title:"Melodic Minor Ascending",chroma:"101101010101",names:{Western:["Melodic Minor Ascending","Melodic Minor"],Bedwell:["Melodic"],"Unknown / Unsorted":["Heptatonia Seconda","Velavali","Deshi(2)"],"Jazz and Blues":["Jazz Minor"],"Western Mixed":["Minor-Major"],Carnatic:["Mela Gaurimanohari","Raga Patdip","Gaurimanohari"],Schenkerian:["Mischung 1"],Exoticisms:["Hawaiian"],Zeitler:["Bocrian"],Dozenal:["MELian"],"Carnatic Melakarta":["Gourimanohari"],"Carnatic Numbered Melakarta":["23rd Melakarta Raga"],zeitler:["Larian"]}},2735:{title:"Gynyllic",chroma:"111101010101",names:{Zeitler:["Gynyllic"],Dozenal:["REJian"],zeitler:["Thyryllic"]}},2737:{title:"Raga Hari Nata",chroma:"100011010101",names:{Carnatic:["Raga Hari Nata"],"Southeast Asia":["Shan Lumjou 6 Tone Type 1"],"Ancient Greek":["Genus Secundum"],Zeitler:["Bylimic"],Dozenal:["REKian"],zeitler:["Phrolimic"]}},2739:{title:"Ionian 2",chroma:"110011010101",names:{Bedwell:["Ionian 2"],Carnatic:["Mela Suryakanta","Churyakantam","Mela Suryakantam","Raga Supradhipam"],Azerbaijan:["Mugham Caharkah 2"],Hindustani:["Bhairubahar That"],"Unknown / Unsorted":["Sowrashtram","Jaganmohini"],"Western Modern":["Major-Melodic Phrygian"],Exoticisms:["Hungarian Romani Inverse"],Zeitler:["Zanian"],Dozenal:["RELian"],"Carnatic Melakarta":["Suryakantam"],"Carnatic Numbered Melakarta":["17th Melakarta Raga"],zeitler:["Zagian"]}},2741:{title:"Major",chroma:"101011010101",names:{Western:["Major","Ionian","Modern Ionian"],"Southeast Asia":["Khmer Hepatatonic 4"],Thailand:["Thang Phiang Aw Bon"],Arabic:["'Ajam 'Ushayran","Ajam Ashiran"],"Ancient Greek":["Greek Lydian"],Medieval:["Medieval Ionian","Medieval Hypolydian"],Hindustani:["Bilaval That","Bilaval Theta","That Bilaval"],Carnatic:["Mela Shankarabharanam","Mela Dhirasankarabharana","Raga Atana","Dhirashankarabharanam"],"Unknown / Unsorted":["Ghana Heptatonic","Peruvian Major","Matzore","Rast Ascending","4th Plagal Byzantine","Ararai","Xin","DS2"],Chinese:["Zè"],Iranian:["Dastgah-e Rast Panjgah"],Zeitler:["Ionian"],Dozenal:["IONian"],"Carnatic Melakarta":["Dheerasankarabaranam"],"Carnatic Numbered Melakarta":["29th Melakarta Raga"],zeitler:["Lydian"]}},2743:{title:"Staptyllic",chroma:"111011010101",names:{Zeitler:["Staptyllic"],Dozenal:["RENian"],zeitler:["Rocryllic"]}},2745:{title:"Ionian 2",chroma:"100111010101",names:{Bedwell:["Ionian 2"],Carnatic:["Mela Sulini","Raga Sailadesakshi","Raga Trishuli","Chulini"],"Unknown / Unsorted":["Houzam"],"Modern Greek":["Drómos Houzám Matzór"],Zeitler:["Dolian"],Dozenal:["OPRian"],"Carnatic Melakarta":["Shulini"],"Carnatic Numbered Melakarta":["35th Melakarta Raga"],"Western Modern":["Major 2"],zeitler:["Ryphian"]}},2747:{title:"Stythyllic",chroma:"110111010101",names:{Zeitler:["Stythyllic"],Dozenal:["REQian"],zeitler:["Racryllic"]}},2749:{title:"Spanish Octamode 1st Rotation",chroma:"101111010101",names:{Western:["Spanish Octamode 1st Rotation"],Zeitler:["Katagyllic"],Dozenal:["RIRian"],zeitler:["Ionocryllic"]}},2751:{title:"Sylygic",chroma:"111111010101",names:{Zeitler:["Sylygic"],Dozenal:["RISian"],zeitler:["Kyrygic"]}},2753:{title:"RITian",chroma:"100000110101",names:{}},2755:{title:"RIVian",chroma:"110000110101",names:{}},2757:{title:"Raga Nishadi",chroma:"101000110101",names:{Carnatic:["Raga Nishadi"],Zeitler:["Stolimic"],Dozenal:["RIWian"],zeitler:["Aeolanimic"]}},2759:{title:"Lydian 23",chroma:"111000110101",names:{Bedwell:["Lydian 23"],Carnatic:["Mela Pavani","Raga Kumbhini"],Zeitler:["Aeraphian"],Dozenal:["RIXian"],"Carnatic Melakarta":["Pavani"],"Carnatic Numbered Melakarta":["41st Melakarta Raga"],zeitler:["Kygian"]}},2761:{title:"Dagimic",chroma:"100100110101",names:{Zeitler:["Dagimic"],Dozenal:["RIYian"],zeitler:["Ionaptimic"]}},2763:{title:"Neapolitan Major 4",chroma:"110100110101",names:{Bedwell:["Neapolitan Major 4"],Carnatic:["Mela Suvarnangi","Raga Sauviram"],Zeitler:["Manian"],Dozenal:["RIZian"],"Carnatic Melakarta":["Suvarnangi"],"Carnatic Numbered Melakarta":["47th Melakarta Raga"],zeitler:["Katanian"]}},2765:{title:"Lydian 3",chroma:"101100110101",names:{"Western Altered":["Lydian 3","Melodic Minor 4"],"Carnatic Melakarta":["Dharmavati"],"Carnatic Numbered Melakarta":["59th Melakarta Raga"],"Western Modern":["Lydian Diminished"],Carnatic:["Mela Dharmavati","Raga Arunajualita"],"Unknown / Unsorted":["Dumyaraga","Madhuvanti","Ambika"],Zeitler:["Banian"],Dozenal:["RIBian"],zeitler:["Phrothian"]}},2767:{title:"Katydyllic",chroma:"111100110101",names:{Zeitler:["Katydyllic"],Dozenal:["RICian"],zeitler:["Phrocryllic"]}},2769:{title:"Dyrimic",chroma:"100010110101",names:{Zeitler:["Dyrimic"],Dozenal:["RIDian"],zeitler:["Ionyptimic"]}},2771:{title:"Lydian 2",chroma:"110010110101",names:{Bedwell:["Lydian 2"],Hindustani:["Marva That","That Marva","Marva Theta"],"Modern Greek":["Drómos Houzám Minór"],Carnatic:["Mela Gamanasrama","Raga Partiravam"],"Unknown / Unsorted":["Puriya","Puriya Kalyan","Purvikalyani","Sohani","Bairari","Harsh-intense Major","Peiraiotikos"],Zeitler:["Garian"],Dozenal:["RIFian"],"Carnatic Melakarta":["Gamanashrama"],"Carnatic Numbered Melakarta":["53rd Melakarta Raga"],zeitler:["Gonian"]}},2773:{title:"Lydian",chroma:"101010110101",names:{Western:["Lydian","Modern Lydian"],Hindustani:["Kalyan That","Kalyan Theta","That Kalyan"],Carnatic:["Mela Mecakalyani","Raga Shuddh Kalyan"],"Unknown / Unsorted":["Ping","Gu","Rut biscale ascending"],Japanese:["Kung"],Thailand:["Thang Chawa"],"Ancient Greek":["Greek Hypolydian","Greek Medieval Hypolocrian"],Medieval:["Medieval Lydian"],Zeitler:["Lydian"],Dozenal:["LYDian"],"Carnatic Melakarta":["Mechakalyani"],"Carnatic Numbered Melakarta":["65th Melakarta Raga"],zeitler:["Ionian"]}},2775:{title:"Quartal Octamode 10th Rotation",chroma:"111010110101",names:{Western:["Quartal Octamode 10th Rotation"],Zeitler:["Godyllic"],Dozenal:["RIHian"],zeitler:["Aerycryllic"]}},2777:{title:"Aeolian Harmonic",chroma:"100110110101",names:{"Western Modern":["Aeolian Harmonic"],Bedwell:["Lydian 2"],"Western Altered":["Lydian 2"],Carnatic:["Mela Kosalam","Raga Kusumakaram"],Zeitler:["Bycrian"],Dozenal:["HAPian"],"Carnatic Melakarta":["Kosalam"],"Carnatic Numbered Melakarta":["71st Melakarta Raga"],zeitler:["Aerorian"]}},2779:{title:"Shostakovich",chroma:"110110110101",names:{"Named After Composers":["Shostakovich"],Zeitler:["Garyllic"],Dozenal:["RIKian"],zeitler:["Stogyllic"]}},2781:{title:"Gycryllic",chroma:"101110110101",names:{Zeitler:["Gycryllic"],Dozenal:["RILian"],zeitler:["Ionoptyllic"]}},2783:{title:"Gothygic",chroma:"111110110101",names:{Zeitler:["Gothygic"],Dozenal:["ROMian"],zeitler:["Bagygic"]}},2785:{title:"RONian",chroma:"100001110101",names:{}},2787:{title:"Lydian 23",chroma:"110001110101",names:{Bedwell:["Lydian 23"],Zeitler:["Zyrian"],Dozenal:["ROPian"],zeitler:["Aeolonian"]}},2789:{title:"Lydian 3",chroma:"101001110101",names:{Bedwell:["Lydian 3"],Zeitler:["Zolian"],Dozenal:["ROQian"],zeitler:["Thodian"]}},2791:{title:"Ionyptyllic",chroma:"111001110101",names:{Zeitler:["Ionyptyllic"],Dozenal:["RORian"],zeitler:["Bagyllic"]}},2793:{title:"Lydian 23",chroma:"100101110101",names:{Bedwell:["Lydian 23"],Zeitler:["Eporian"],Dozenal:["ROSian"],zeitler:["Malian"]}},2795:{title:"Van der Horst Octatonic",chroma:"110101110101",names:{"Named After Composers":["Van der Horst Octatonic"],Messiaen:["Messiaen Mode 6 Rotation 3"],"Western Modern":["Locrian Modified"],Western:["Van der Horst"],Zeitler:["Kaptyllic"],Dozenal:["ROTian"],zeitler:["Roryllic"]}},2797:{title:"Stalyllic",chroma:"101101110101",names:{Zeitler:["Stalyllic"],Dozenal:["ROVian"],zeitler:["Dalyllic"]}},2799:{title:"Epilygic",chroma:"111101110101",names:{Zeitler:["Epilygic"],Dozenal:["ROWian"],zeitler:["Porygic"]}},2801:{title:"Lydian 32",chroma:"100011110101",names:{Bedwell:["Lydian 32"],Zeitler:["Zogian"],Dozenal:["ROXian"],zeitler:["Gorian"]}},2803:{title:"Raga Bhatiyar",chroma:"110011110101",names:{Carnatic:["Raga Bhatiyar"],Zeitler:["Zolyllic"],Dozenal:["ROYian"],zeitler:["Lanyllic"]}},2805:{title:"Ichikotsuchô",chroma:"101011110101",names:{Japanese:["Ichikotsuchô","Ishikotsucho","Sôjô"],Western:["Quartal Octamode 3rd Rotation"],"Western Mixed":["Lydionian","Major/Lydian Mixed"],Carnatic:["Raga Yaman Kalyan"],"Unknown / Unsorted":["Chayanat","Bihag","Hamir Kalyani","Kedar","Gaud Sarang"],"Ancient Greek":["Genus Diatonicum Veterum Correctum"],"Gregorian Numbered":["Gregorian Number 5"],Exoticisms:["Kubilai's Mongol Scale"],Zeitler:["Zylyllic"],Dozenal:["ROZian"],zeitler:["Zylyllic"]}},2807:{title:"Zylygic",chroma:"111011110101",names:{Zeitler:["Zylygic"],Dozenal:["ROBian"],zeitler:["Aerycrygic"]}},2809:{title:"Gythyllic",chroma:"100111110101",names:{Zeitler:["Gythyllic"],Dozenal:["ROCian"],zeitler:["Rydyllic"]}},2811:{title:"Barygic",chroma:"110111110101",names:{Zeitler:["Barygic"],Dozenal:["RODian"],zeitler:["Kaptygic"]}},2813:{title:"Zolygic",chroma:"101111110101",names:{Zeitler:["Zolygic"],Dozenal:["ROFian"],zeitler:["Apinygic"]}},2815:{title:"Aeradyllian",chroma:"111111110101",names:{Zeitler:["Aeradyllian"],Dozenal:["ROGian"],zeitler:["Sydyllian"]}},2817:{title:"RUHian",chroma:"100000001101",names:{}},2819:{title:"RUJian",chroma:"110000001101",names:{}},2821:{title:"RUKian",chroma:"101000001101",names:{}},2823:{title:"RULian",chroma:"111000001101",names:{}},2825:{title:"RUMian",chroma:"100100001101",names:{}},2827:{title:"RUNian",chroma:"110100001101",names:{}},2829:{title:"RUPian",chroma:"101100001101",names:{}},2831:{title:"Alt 67534",chroma:"111100001101",names:{Bedwell:["Alt 67534"],Dozenal:["RUQian"]}},2833:{title:"Dolitonic",chroma:"100010001101",names:{Zeitler:["Dolitonic"],Dozenal:["RURian"],zeitler:["Zagitonic"]}},2835:{title:"Ionygimic",chroma:"110010001101",names:{Zeitler:["Ionygimic"],Dozenal:["RUSian"],zeitler:["Eponimic"]}},2837:{title:"Aelothimic",chroma:"101010001101",names:{Zeitler:["Aelothimic"],Dozenal:["RUTian"],zeitler:["Epythimic"]}},2839:{title:"Neapolitan Major 453",chroma:"111010001101",names:{Bedwell:["Neapolitan Major 453"],Zeitler:["Lyptian"],Dozenal:["RUVian"],zeitler:["Kyrian"]}},2841:{title:"African Pentatonic 3",chroma:"100110001101",names:{Exoticisms:["African Pentatonic 3"],Zeitler:["Sothimic"],Dozenal:["RUWian"],zeitler:["Zadimic"]}},2843:{title:"Neapolitan Major 45",chroma:"110110001101",names:{Bedwell:["Neapolitan Major 45"],Zeitler:["Sorian"],Dozenal:["RUXian"],zeitler:["Monian"]}},2845:{title:"Melodic +4",chroma:"101110001101",names:{Bedwell:["Melodic +4"],Zeitler:["Baptian"],Dozenal:["RUYian"],zeitler:["Thygian"]}},2847:{title:"Phracryllic",chroma:"111110001101",names:{Zeitler:["Phracryllic"],Dozenal:["RUZian"],zeitler:["Phrycryllic"]}},2849:{title:"RUBian",chroma:"100001001101",names:{}},2851:{title:"Katoptimic",chroma:"110001001101",names:{Zeitler:["Katoptimic"],Dozenal:["SABian"],zeitler:["Phrycrimic"]}},2853:{title:"Baptimic",chroma:"101001001101",names:{Zeitler:["Baptimic"],Dozenal:["SACian"],zeitler:["Aeolonimic"]}},2855:{title:"Ionian +23",chroma:"111001001101",names:{Bedwell:["Ionian +23"],Zeitler:["Epocrian"],Dozenal:["SADian"],zeitler:["Mixodorian"]}},2857:{title:"Stythimic",chroma:"100101001101",names:{Zeitler:["Stythimic"],Dozenal:["SAFian"],zeitler:["Sorimic"]}},2859:{title:"Neapolitan Major 5",chroma:"110101001101",names:{Bedwell:["Neapolitan Major 5"],Zeitler:["Phrycrian"],Dozenal:["SAGian"],zeitler:["Stynian"]}},2861:{title:"Melodic +",chroma:"101101001101",names:{Bedwell:["Melodic +"],Western:["Hungarian Major 5th Mode","Alternating Heptamode 3rd Rotation"],Zeitler:["Katothian"],Dozenal:["SAHian"],zeitler:["Lylian"]}},2863:{title:"Aerogyllic",chroma:"111101001101",names:{Zeitler:["Aerogyllic"],Dozenal:["SAJian"],zeitler:["Epaphyllic"]}},2865:{title:"Solimic",chroma:"100011001101",names:{Zeitler:["Solimic"],Dozenal:["SAKian"],zeitler:["Logimic"]}},2867:{title:"Ionian +2",chroma:"110011001101",names:{Bedwell:["Ionian +2"],Western:["Major Romani"],Zeitler:["Socrian"],Dozenal:["SALian"],zeitler:["Zycrian"]}},2869:{title:"Major Augmented",chroma:"101011001101",names:{"Western Modern":["Major Augmented","Ionian Augmented"],Bedwell:["Ionian +"],"Western Altered":["Ionian 5"],Zeitler:["Phrothian"],Dozenal:["SAMian"],zeitler:["Banian"]}},2871:{title:"Stanyllic",chroma:"111011001101",names:{Zeitler:["Stanyllic"],Dozenal:["SANian"],zeitler:["Eporyllic"]}},2873:{title:"Ionian Augmented 2",chroma:"100111001101",names:{"Western Altered":["Ionian Augmented 2"],Bedwell:["Ionian +2"],Western:["Hungarian Romani Minor 3rd Mode"],Zeitler:["Docrian"],Dozenal:["SAPian"],zeitler:["Bogian"]}},2875:{title:"Ganyllic",chroma:"110111001101",names:{Zeitler:["Ganyllic"],Dozenal:["SAQian"],zeitler:["Thadyllic"]}},2877:{title:"Phrylyllic",chroma:"101111001101",names:{Zeitler:["Phrylyllic"],Dozenal:["SARian"],zeitler:["Gyptyllic"]}},2879:{title:"Stadygic",chroma:"111111001101",names:{Zeitler:["Stadygic"],Dozenal:["SASian"],zeitler:["Gyptygic"]}},2881:{title:"SATian",chroma:"100000101101",names:{}},2883:{title:"SAVian",chroma:"110000101101",names:{}},2885:{title:"Byrimic",chroma:"101000101101",names:{Zeitler:["Byrimic"],Dozenal:["SEWian"],zeitler:["Rylimic"]}},2887:{title:"Neapolitan Major 453",chroma:"111000101101",names:{Bedwell:["Neapolitan Major 453"],Zeitler:["Gaptian"],Dozenal:["IGGian"],zeitler:["Boptian"]}},2889:{title:"Thoptimic",chroma:"100100101101",names:{Zeitler:["Thoptimic"],Dozenal:["SEYian"],zeitler:["Aerogimic"]}},2891:{title:"Lydian +23",chroma:"110100101101",names:{Bedwell:["Lydian +23"],Zeitler:["Phrogian"],Dozenal:["SEZian"],zeitler:["Lodian"]}},2893:{title:"Lydian +3",chroma:"101100101101",names:{Bedwell:["Lydian +3"],Zeitler:["Lylian"],Dozenal:["SEBian"],zeitler:["Katothian"]}},2895:{title:"Aeragyllic",chroma:"111100101101",names:{Zeitler:["Aeragyllic"],Dozenal:["SECian"],zeitler:["Styryllic"]}},2897:{title:"Rycrimic",chroma:"100010101101",names:{Zeitler:["Rycrimic"],Dozenal:["SEDian"],zeitler:["Poptimic"]}},2899:{title:"Lydian +2",chroma:"110010101101",names:{Bedwell:["Lydian +2"],Zeitler:["Kagian"],Dozenal:["SEFian"],zeitler:["Aeracrian"]}},2901:{title:"Lydian Augmented",chroma:"101010101101",names:{"Western Modern":["Lydian Augmented"],Bedwell:["Lydian +"],"Western Altered":["Lydian 5"],Zeitler:["Larian"],Dozenal:["HINian"],zeitler:["Bocrian"]}},2903:{title:"Spanish Octamode 10th Rotation",chroma:"111010101101",names:{Western:["Spanish Octamode 10th Rotation"],Zeitler:["Gothyllic"],Dozenal:["SEHian"],zeitler:["Goptyllic"]}},2905:{title:"Lydian Augmented 2",chroma:"100110101101",names:{"Western Altered":["Lydian Augmented 2","Aeolian 1","Aeolian Flat"],Zeitler:["Palian"],Dozenal:["SEJian"],zeitler:["Mydian"]}},2907:{title:"Magen Abot 2",chroma:"110110101101",names:{Jewish:["Magen Abot 2","Magen Abot II"],Zeitler:["Mogyllic"],Dozenal:["SEKian"],zeitler:["Katodyllic"]}},2909:{title:"Mocryllic",chroma:"101110101101",names:{Zeitler:["Mocryllic"],Dozenal:["SELian"],zeitler:["Ionacryllic"]}},2911:{title:"Katygic",chroma:"111110101101",names:{Zeitler:["Katygic"],Dozenal:["SEMian"],zeitler:["Dathygic"]}},2913:{title:"SENian",chroma:"100001101101",names:{}},2915:{title:"Lydian +23",chroma:"110001101101",names:{Bedwell:["Lydian +23"],Zeitler:["Aeolydian"],Dozenal:["ARGian"],zeitler:["Rolian"]}},2917:{title:"Nohkan Flute Scale",chroma:"101001101101",names:{Japanese:["Nohkan Flute Scale"],Bedwell:["Lydian +3"],Western:["Alternating Heptamode 5th Rotation","Hungarian Major 7th Mode"],Zeitler:["Kocrian"],Dozenal:["SEQian"],zeitler:["Gamian"]}},2919:{title:"Molyllic",chroma:"111001101101",names:{Zeitler:["Molyllic"],Dozenal:["SIRian"],zeitler:["Epaptyllic"]}},2921:{title:"Lydian +23",chroma:"100101101101",names:{Bedwell:["Lydian +23"],Zeitler:["Pogian"],Dozenal:["OPSian"],zeitler:["Phrydian"]}},2923:{title:"Baryllic",chroma:"110101101101",names:{Zeitler:["Baryllic"],Dozenal:["SITian"],zeitler:["Gathyllic"]}},2925:{title:"Diminished",chroma:"101101101101",names:{"Western Modern":["Diminished","Octatonic 2","Whole-Half Step Scale","Auxiliary Diminished"],Western:["Altering Octatonic Mode Rotation"],Messiaen:["Messiaen 2nd Mode Inversed","Messiaen Mode 2 Rotation 1","Messiaen Mode 2 Inverse"],"Named After Composers":["Modus Conjunctus","Pijper's Scale"],Exoticisms:["Arabian A"],Zeitler:["MajorDimin"],Dozenal:["VILian"],zeitler:["MajorDimin."]}},2927:{title:"Rodygic",chroma:"111101101101",names:{Zeitler:["Rodygic"],Dozenal:["SIWian"],zeitler:["Koptygic"]}},2929:{title:"Lydian +32",chroma:"100011101101",names:{Bedwell:["Lydian +32"],Zeitler:["Aeolathian"],Dozenal:["UTLian"],zeitler:["Aerogian"]}},2931:{title:"Zathyllic",chroma:"110011101101",names:{Zeitler:["Zathyllic"],Dozenal:["SIYian"],zeitler:["Bycryllic"]}},2933:{title:"Dalyllic",chroma:"101011101101",names:{Zeitler:["Dalyllic"],Dozenal:["SIZian"],zeitler:["Stalyllic"]}},2935:{title:"Modygic",chroma:"111011101101",names:{Zeitler:["Modygic"],Dozenal:["SIBian"],zeitler:["Epyrygic"]}},2937:{title:"Aeolathyllic",chroma:"100111101101",names:{Zeitler:["Aeolathyllic"],Dozenal:["SICian"],zeitler:["Katadyllic"]}},2939:{title:"Diminishing Nonamode 2nd Rotation",chroma:"110111101101",names:{Western:["Diminishing Nonamode 2nd Rotation"],Zeitler:["Goptygic"],Dozenal:["SIDian"],zeitler:["Aeolorygic"]}},2941:{title:"Laptygic",chroma:"101111101101",names:{Zeitler:["Laptygic"],Dozenal:["SIFian"],zeitler:["Zycrygic"]}},2943:{title:"Dathyllian",chroma:"111111101101",names:{Zeitler:["Dathyllian"],Dozenal:["SIGian"],zeitler:["Gothyllian"]}},2945:{title:"SIHian",chroma:"100000011101",names:{}},2947:{title:"SIJian",chroma:"110000011101",names:{}},2949:{title:"SIKian",chroma:"101000011101",names:{}},2951:{title:"Neapolitan Major 534",chroma:"111000011101",names:{Bedwell:["Neapolitan Major 534"],Dozenal:["SILian"]}},2953:{title:"Ionylimic",chroma:"100100011101",names:{Zeitler:["Ionylimic"],Dozenal:["SOMian"],zeitler:["Stynimic"]}},2955:{title:"Neapoitan Major 54",chroma:"110100011101",names:{Bedwell:["Neapoitan Major 54"],Zeitler:["Thorian"],Dozenal:["SONian"],zeitler:["Phrodian"]}},2957:{title:"Melodic +4",chroma:"101100011101",names:{Bedwell:["Melodic +4"],Zeitler:["Thygian"],Dozenal:["SOPian"],zeitler:["Baptian"]}},2959:{title:"Dygyllic",chroma:"111100011101",names:{Zeitler:["Dygyllic"],Dozenal:["SOQian"],zeitler:["Bygyllic"]}},2961:{title:"Bygimic",chroma:"100010011101",names:{Zeitler:["Bygimic"],Dozenal:["SORian"],zeitler:["Ionocrimic"]}},2963:{title:"Ionian +24",chroma:"110010011101",names:{Bedwell:["Ionian +24"],Zeitler:["Bygian"],Dozenal:["SOSian"],zeitler:["Aeolaptian"]}},2965:{title:"Ionian +4",chroma:"101010011101",names:{Bedwell:["Ionian +4"],Zeitler:["Darian"],Dozenal:["SOTian"],zeitler:["Epygian"]}},2967:{title:"Madyllic",chroma:"111010011101",names:{Zeitler:["Madyllic"],Dozenal:["SOVian"],zeitler:["Zydyllic"]}},2969:{title:"Ionian +24",chroma:"100110011101",names:{Bedwell:["Ionian +24"],Zeitler:["Tholian"],Dozenal:["SOWian"],zeitler:["Sagian"]}},2971:{title:"Aeolynyllic",chroma:"110110011101",names:{Zeitler:["Aeolynyllic"],Dozenal:["SOXian"],zeitler:["Kyptyllic"]}},2973:{title:"Panyllic",chroma:"101110011101",names:{Zeitler:["Panyllic"],Dozenal:["SOYian"],zeitler:["Panyllic"]}},2975:{title:"Gaptygic",chroma:"111110011101",names:{Zeitler:["Gaptygic"],Dozenal:["SOZian"],zeitler:["Dogygic"]}},2977:{title:"SOBian",chroma:"100001011101",names:{}},2979:{title:"Ionian +234",chroma:"110001011101",names:{Bedwell:["Ionian +234"],Zeitler:["Gyptian"],Dozenal:["SOCian"],zeitler:["Mylian"]}},2981:{title:"Ionian +34",chroma:"101001011101",names:{Bedwell:["Ionian +34"],Zeitler:["Ionolian"],Dozenal:["SODian"],zeitler:["Sygian"]}},2983:{title:"Zythyllic",chroma:"111001011101",names:{Zeitler:["Zythyllic"],Dozenal:["SOFian"],zeitler:["Katylyllic"]}},2985:{title:"Ionian +234",chroma:"100101011101",names:{Bedwell:["Ionian +234"],Zeitler:["Epacrian"],Dozenal:["SOGian"],zeitler:["Stagian"]}},2987:{title:"Neapolitan Major and Minor Mixed",chroma:"110101011101",names:{"Western Mixed":["Neapolitan Major and Minor Mixed"],Zeitler:["Thanyllic"],Dozenal:["SUHian"],zeitler:["Aerothyllic"]}},2989:{title:"Bebop Minor",chroma:"101101011101",names:{"Jazz and Blues":["Bebop Minor","Bebop Melodic Minor","Melodic Minor Bebop","Minor Bebop"],Arabic:["Zirafkend"],Zeitler:["Ionacryllic"],Dozenal:["SUJian"],zeitler:["Mocryllic"]}},2991:{title:"Zanygic",chroma:"111101011101",names:{Zeitler:["Zanygic"],Dozenal:["SUKian"],zeitler:["Ionidygic"]}},2993:{title:"Ionian +324",chroma:"100011011101",names:{Bedwell:["Ionian +324"],Zeitler:["Stythian"],Dozenal:["SULian"],zeitler:["Pygian"]}},2995:{title:"Raga Saurashtra",chroma:"110011011101",names:{Carnatic:["Raga Saurashtra"],Zeitler:["Sanyllic"],Dozenal:["SUMian"],zeitler:["Saryllic"]}},2997:{title:"Major Bebop",chroma:"101011011101",names:{"Jazz and Blues":["Major Bebop","Bebop Major"],"Named After Composers":["Harris' Diminished 6th"],"Western Modern":["Altered Mixolydian"],Zeitler:["Ionoptyllic"],Dozenal:["SUNian"],zeitler:["Gycryllic"]}},2999:{title:"Diminishing Nonamode",chroma:"111011011101",names:{"Western Modern":["Diminishing Nonamode"],Western:["Mixed/Permuted Dorian Mode","Diminishing Nonamode 10th Rotation"],"Western Mixed":["Chromatic and Permuted Diatonic Dorian Mixed"],Zeitler:["Zyrygic"],Dozenal:["SUPian"],zeitler:["Moptygic"]}},3001:{title:"Lonyllic",chroma:"100111011101",names:{Zeitler:["Lonyllic"],Dozenal:["SUQian"],zeitler:["Aeolaryllic"]}},3003:{title:"Messiaen Mode 3 Rotation 2",chroma:"110111011101",names:{Messiaen:["Messiaen Mode 3 Rotation 2"],"Ancient Greek":["Genus Chromaticum"],Western:["Tcherepnin Mode I"],"Named After Composers":["Tcherepnin Nonatonic Mode 1","Tcherepnin Mode 1"],"Western Altered":["Augmented Nine"],Zeitler:["Zydygic"],Dozenal:["SURian"],zeitler:["Phronygic"]}},3005:{title:"Gycrygic",chroma:"101111011101",names:{Zeitler:["Gycrygic"],Dozenal:["ASKian"],zeitler:["Staptygic"]}},3007:{title:"Zyryllian",chroma:"111111011101",names:{Zeitler:["Zyryllian"],Dozenal:["SUTian"],zeitler:["Staptyllian"]}},3009:{title:"SUVian",chroma:"100000111101",names:{}},3011:{title:"Ionian +234",chroma:"110000111101",names:{Bedwell:["Ionian +234"],Dozenal:["SUWian"]}},3013:{title:"Ionian +34",chroma:"101000111101",names:{Bedwell:["Ionian +34"],Zeitler:["Thynian"],Dozenal:["SUXian"],zeitler:["Ionogian"]}},3015:{title:"Laptyllic",chroma:"111000111101",names:{Zeitler:["Laptyllic"],Dozenal:["SUYian"],zeitler:["Zycryllic"]}},3017:{title:"Ionian +234",chroma:"100100111101",names:{Bedwell:["Ionian +234"],Zeitler:["Gacrian"],Dozenal:["SUZian"],zeitler:["Sythian"]}},3019:{title:"Mydyllic",chroma:"110100111101",names:{Zeitler:["Mydyllic"],Dozenal:["SUBian"],zeitler:["Socryllic"]}},3021:{title:"Gyptyllic",chroma:"101100111101",names:{Zeitler:["Gyptyllic"],Dozenal:["TABian"],zeitler:["Phrylyllic"]}},3023:{title:"Aeracrygic",chroma:"111100111101",names:{Zeitler:["Aeracrygic"],Dozenal:["TACian"],zeitler:["Bycrygic"]}},3025:{title:"Ionian +234",chroma:"100010111101",names:{Bedwell:["Ionian +234"],Zeitler:["Epycrian"],Dozenal:["TADian"],zeitler:["Epothian"]}},3027:{title:"Rythyllic",chroma:"110010111101",names:{Zeitler:["Rythyllic"],Dozenal:["TAFian"],zeitler:["Dodyllic"]}},3029:{title:"Ionocryllic",chroma:"101010111101",names:{Zeitler:["Ionocryllic"],Dozenal:["TAGian"],zeitler:["Katagyllic"]}},3031:{title:"Epithygic",chroma:"111010111101",names:{Zeitler:["Epithygic"],Dozenal:["TAHian"],zeitler:["Sorygic"]}},3033:{title:"Doptyllic",chroma:"100110111101",names:{Zeitler:["Doptyllic"],Dozenal:["TAJian"],zeitler:["Manyllic"]}},3035:{title:"Gocrygic",chroma:"110110111101",names:{Zeitler:["Gocrygic"],Dozenal:["TAKian"],zeitler:["Epocrygic"]}},3037:{title:"Nine Tone Scale",chroma:"101110111101",names:{"Western Modern":["Nine Tone Scale"],Western:["Diminishing Nonamode 5th Rotation"],Zeitler:["Staptygic"],Dozenal:["TALian"],zeitler:["Gycrygic"]}},3039:{title:"Godyllian",chroma:"111110111101",names:{Zeitler:["Godyllian"],Dozenal:["TAMian"],zeitler:["Aerycryllian"]}},3041:{title:"Superlydian Augmented 6342",chroma:"100001111101",names:{Bedwell:["Superlydian Augmented 6342"],Dozenal:["TANian"]}},3043:{title:"Ionayllic",chroma:"110001111101",names:{Zeitler:["Ionayllic"],Dozenal:["TAPian"],zeitler:["Gylyllic"]}},3045:{title:"Raptyllic",chroma:"101001111101",names:{Zeitler:["Raptyllic"],Dozenal:["TAQian"],zeitler:["Ionoryllic"]}},3047:{title:"Panygic",chroma:"111001111101",names:{Zeitler:["Panygic"],Dozenal:["TARian"],zeitler:["Locrygic"]}},3049:{title:"Aeronyllic",chroma:"100101111101",names:{Zeitler:["Aeronyllic"],Dozenal:["TASian"],zeitler:["Kadyllic"]}},3051:{title:"Stalygic",chroma:"110101111101",names:{Zeitler:["Stalygic"],Dozenal:["TATian"],zeitler:["Katarygic"]}},3053:{title:"Zycrygic",chroma:"101101111101",names:{Zeitler:["Zycrygic"],Dozenal:["TAVian"],zeitler:["Laptygic"]}},3055:{title:"Messiaen Mode 7",chroma:"111101111101",names:{Messiaen:["Messiaen Mode 7","Seventh Mode Of Limited Transposition"],Zeitler:["Lyryllian"],Dozenal:["TEWian"],zeitler:["Thydyllian"]}},3057:{title:"Phroryllic",chroma:"100011111101",names:{Zeitler:["Phroryllic"],Dozenal:["TEXian"],zeitler:["Bydyllic"]}},3059:{title:"Madygic",chroma:"110011111101",names:{Zeitler:["Madygic"],Dozenal:["TEYian"],zeitler:["Epygic"]}},3061:{title:"Apinygic",chroma:"101011111101",names:{Zeitler:["Apinygic"],Dozenal:["TEZian"],zeitler:["Zolygic"]}},3063:{title:"Solyllian",chroma:"111011111101",names:{Zeitler:["Solyllian"],Dozenal:["TEBian"],zeitler:["Garyllian"]}},3065:{title:"Zothygic",chroma:"100111111101",names:{Zeitler:["Zothygic"],Dozenal:["TECian"],zeitler:["Dothygic"]}},3067:{title:"Goptyllian",chroma:"110111111101",names:{Zeitler:["Goptyllian"],Dozenal:["TEDian"],zeitler:["Epocryllian"]}},3069:{title:"Bacryllian",chroma:"101111111101",names:{Zeitler:["Bacryllian"],Dozenal:["TEFian"],zeitler:["Bacryllian"]}},3071:{title:"Chromatic Undecamode 2",chroma:"111111111101",names:{"Western Modern":["Chromatic Undecamode 2","Undecatonic Chromatic 2"],Western:["Chromatic Undecamode 10th Rotation"],Zeitler:["Solatic"],Dozenal:["RAYian"],zeitler:["Aerycratic"]}},3073:{title:"Tritonic Chromatic Descending",chroma:"100000000011",names:{"Western Modern":["Tritonic Chromatic Descending"],Dozenal:["TEHian"]}},3075:{title:"Tetratonic Chromatic 3",chroma:"110000000011",names:{"Western Modern":["Tetratonic Chromatic 3"],Dozenal:["ATRian"]}},3077:{title:"TEKian",chroma:"101000000011",names:{}},3079:{title:"Pentatonic Chromatic 3",chroma:"111000000011",names:{"Western Modern":["Pentatonic Chromatic 3"],Dozenal:["TELian"]}},3081:{title:"TEMian",chroma:"100100000011",names:{}},3083:{title:"REHian",chroma:"110100000011",names:{}},3085:{title:"TEPian",chroma:"101100000011",names:{}},3087:{title:"Hexatonic Chromatic 3",chroma:"111100000011",names:{"Western Modern":["Hexatonic Chromatic 3"],Dozenal:["TEQian"]}},3089:{title:"TIRian",chroma:"100010000011",names:{}},3091:{title:"TISian",chroma:"110010000011",names:{}},3093:{title:"BUQian",chroma:"101010000011",names:{}},3095:{title:"TIVian",chroma:"111010000011",names:{}},3097:{title:"TIWian",chroma:"100110000011",names:{}},3099:{title:"TIXian",chroma:"110110000011",names:{}},3101:{title:"TIYian",chroma:"101110000011",names:{}},3103:{title:"Alt 76345",chroma:"111110000011",names:{Bedwell:["Alt 76345"],"Western Modern":["Heptatonic Chromatic 3"],Western:["Chromatic Heptamode 5th Rotation"],Dozenal:["ADRian"]}},3105:{title:"TIBian",chroma:"100001000011",names:{}},3107:{title:"TICian",chroma:"110001000011",names:{}},3109:{title:"TIDian",chroma:"101001000011",names:{}},3111:{title:"TIFian",chroma:"111001000011",names:{}},3113:{title:"TIGian",chroma:"100101000011",names:{}},3115:{title:"TIHian",chroma:"110101000011",names:{}},3117:{title:"TIJian",chroma:"101101000011",names:{}},3119:{title:"Alt 76345",chroma:"111101000011",names:{Bedwell:["Alt 76345"],Dozenal:["TIKian"]}},3121:{title:"TILian",chroma:"100011000011",names:{}},3123:{title:"TOMian",chroma:"110011000011",names:{}},3125:{title:"TONian",chroma:"101011000011",names:{}},3127:{title:"Alt 7635",chroma:"111011000011",names:{Bedwell:["Alt 7635"],Dozenal:["TOPian"]}},3129:{title:"TOQian",chroma:"100111000011",names:{}},3131:{title:"Alt 765",chroma:"110111000011",names:{Bedwell:["Alt 765"],Dozenal:["TORian"]}},3133:{title:"Melodic 465",chroma:"101111000011",names:{Bedwell:["Melodic 465"],Dozenal:["TOSian"]}},3135:{title:"Octatonic Chromatic 3",chroma:"111111000011",names:{"Western Modern":["Octatonic Chromatic 3"],Western:["Chromatic Octamode 6th Rotation"],Dozenal:["TOTian"]}},3137:{title:"TOVian",chroma:"100000100011",names:{}},3139:{title:"TOWian",chroma:"110000100011",names:{}},3141:{title:"Kanitonic",chroma:"101000100011",names:{Zeitler:["Kanitonic"],Dozenal:["TOXian"],zeitler:["Rolitonic"]}},3143:{title:"Polimic",chroma:"111000100011",names:{Zeitler:["Polimic"],Dozenal:["TOYian"],zeitler:["Thanimic"]}},3145:{title:"Stolitonic",chroma:"100100100011",names:{Zeitler:["Stolitonic"],Dozenal:["TOZian"],zeitler:["Ragitonic"]}},3147:{title:"Ryrimic",chroma:"110100100011",names:{Zeitler:["Ryrimic"],Dozenal:["TOBian"],zeitler:["Rogimic"]}},3149:{title:"Phrycrimic",chroma:"101100100011",names:{Zeitler:["Phrycrimic"],Dozenal:["TOCian"],zeitler:["Katoptimic"]}},3151:{title:"Alt 7634",chroma:"111100100011",names:{Bedwell:["Alt 7634"],Zeitler:["Pacrian"],Dozenal:["TODian"],zeitler:["Aeryptian"]}},3153:{title:"Zathitonic",chroma:"100010100011",names:{Zeitler:["Zathitonic"],Dozenal:["TOFian"],zeitler:["Ionythitonic"]}},3155:{title:"Ladimic",chroma:"110010100011",names:{Zeitler:["Ladimic"],Dozenal:["TOGian"],zeitler:["Pothimic"]}},3157:{title:"Zyptimic",chroma:"101010100011",names:{Zeitler:["Zyptimic"],Dozenal:["GRUian"],zeitler:["Epylimic"]}},3159:{title:"Alt 763",chroma:"111010100011",names:{Bedwell:["Alt 763"],Zeitler:["Stocrian"],Dozenal:["TUJian"],zeitler:["Myrian"]}},3161:{title:"Kodimic",chroma:"100110100011",names:{Zeitler:["Kodimic"],Dozenal:["TUKian"],zeitler:["Morimic"]}},3163:{title:"Alt 76",chroma:"110110100011",names:{Bedwell:["Alt 76"],Zeitler:["Rogian"],Dozenal:["TULian"],zeitler:["Tharian"]}},3165:{title:"Alt 276",chroma:"101110100011",names:{Bedwell:["Alt 276"],Zeitler:["Mylian"],Dozenal:["TUMian"],zeitler:["Gyptian"]}},3167:{title:"Thynyllic",chroma:"111110100011",names:{Zeitler:["Thynyllic"],Dozenal:["TUNian"],zeitler:["Sadyllic"]}},3169:{title:"TUPian",chroma:"100001100011",names:{}},3171:{title:"Zythimic",chroma:"110001100011",names:{Zeitler:["Zythimic"],Dozenal:["TUQian"],zeitler:["Zythimic"]}},3173:{title:"Zarimic",chroma:"101001100011",names:{Zeitler:["Zarimic"],Dozenal:["TURian"],zeitler:["Katynimic"]}},3175:{title:"Locrian 763",chroma:"111001100011",names:{Bedwell:["Locrian 763"],Zeitler:["Eponian"],Dozenal:["EFRian"],zeitler:["Dycrian"]}},3177:{title:"Rothimic",chroma:"100101100011",names:{Zeitler:["Rothimic"],Dozenal:["TUTian"],zeitler:["Lycrimic"]}},3179:{title:"Locrian 76",chroma:"110101100011",names:{Bedwell:["Locrian 76"],Zeitler:["Daptian"],Dozenal:["TUVian"],zeitler:["Zacrian"]}},3181:{title:"Melodic 56",chroma:"101101100011",names:{Bedwell:["Melodic 56"],Zeitler:["Rolian"],Dozenal:["TUWian"],zeitler:["Aeolydian"]}},3183:{title:"Mixonyllic",chroma:"111101100011",names:{Zeitler:["Mixonyllic"],Dozenal:["TUXian"],zeitler:["Dogyllic"]}},3185:{title:"Messiaen Mode 5 Rotation 1",chroma:"100011100011",names:{Messiaen:["Messiaen Mode 5 Rotation 1"],Zeitler:["Thonimic"],Dozenal:["BROian"],zeitler:["Thodimic"]}},3187:{title:"Ionian 256",chroma:"110011100011",names:{Bedwell:["Ionian 256"],Zeitler:["Koptian"],Dozenal:["TUZian"],zeitler:["Syptian"]}},3189:{title:"Ionian 56",chroma:"101011100011",names:{Bedwell:["Ionian 56"],Zeitler:["Aeolonian"],Dozenal:["TUBian"],zeitler:["Zyrian"]}},3191:{title:"Bynyllic",chroma:"111011100011",names:{Zeitler:["Bynyllic"],Dozenal:["URMian"],zeitler:["Epogyllic"]}},3193:{title:"Ionian 526",chroma:"100111100011",names:{Bedwell:["Ionian 526"],Zeitler:["Zathian"],Dozenal:["USRian"],zeitler:["Danian"]}},3195:{title:"Raryllic",chroma:"110111100011",names:{Zeitler:["Raryllic"],Dozenal:["SCRian"],zeitler:["Pylyllic"]}},3197:{title:"Gylyllic",chroma:"101111100011",names:{Zeitler:["Gylyllic"],Dozenal:["UBOian"],zeitler:["Ionayllic"]}},3199:{title:"Nonatonic Chromatic 3",chroma:"111111100011",names:{"Western Modern":["Nonatonic Chromatic 3"],Western:["Chromatic Nonamode 7th Rotation"],Zeitler:["Thaptygic"],Dozenal:["UBUian"],zeitler:["Aeolarygic"]}},3201:{title:"URTian",chroma:"100000010011",names:{}},3203:{title:"ETRian",chroma:"110000010011",names:{}},3205:{title:"UTWian",chroma:"101000010011",names:{}},3207:{title:"UCOian",chroma:"111000010011",names:{}},3209:{title:"Aeraphitonic",chroma:"100100010011",names:{Zeitler:["Aeraphitonic"],Dozenal:["UCUian"],zeitler:["Doptitonic"]}},3211:{title:"Epacrimic",chroma:"110100010011",names:{Zeitler:["Epacrimic"],Dozenal:["UTHian"],zeitler:["Synimic"]}},3213:{title:"Eponimic",chroma:"101100010011",names:{Zeitler:["Eponimic"],Dozenal:["URKian"],zeitler:["Ionygimic"]}},3215:{title:"Neapoitan Major 634",chroma:"111100010011",names:{Bedwell:["Neapoitan Major 634"],Zeitler:["Katydian"],Dozenal:["UCLian"],zeitler:["Aeolarian"]}},3217:{title:"Molitonic",chroma:"100010010011",names:{Zeitler:["Molitonic"],Dozenal:["UDOian"],zeitler:["Zalitonic"]}},3219:{title:"Ionaphimic",chroma:"110010010011",names:{Zeitler:["Ionaphimic"],Dozenal:["UDUian"],zeitler:["Ionaphimic"]}},3221:{title:"Bycrimic",chroma:"101010010011",names:{Zeitler:["Bycrimic"],Dozenal:["UMSian"],zeitler:["Banimic"]}},3223:{title:"Alt 5763",chroma:"111010010011",names:{Bedwell:["Alt 5763"],Zeitler:["Thyphian"],Dozenal:["UNSian"],zeitler:["Aeryrian"]}},3225:{title:"Ionalimic",chroma:"100110010011",names:{Zeitler:["Ionalimic"],Dozenal:["ULFian"],zeitler:["Aerynimic"]}},3227:{title:"Neapoitan Major 46",chroma:"110110010011",names:{Bedwell:["Neapoitan Major 46"],Zeitler:["Aeolocrian"],Dozenal:["UFOian"],zeitler:["Kylian"]}},3229:{title:"Melodic 64",chroma:"101110010011",names:{Bedwell:["Melodic 64"],Zeitler:["Aeolaptian"],Dozenal:["UFUian"],zeitler:["Bygian"]}},3231:{title:"Kataptyllic",chroma:"111110010011",names:{Zeitler:["Kataptyllic"],Dozenal:["USHian"],zeitler:["Loryllic"]}},3233:{title:"UNBian",chroma:"100001010011",names:{}},3235:{title:"Pothimic",chroma:"110001010011",names:{Zeitler:["Pothimic"],Dozenal:["UNTian"],zeitler:["Ladimic"]}},3237:{title:"Raga Brindabani Sarang",chroma:"101001010011",names:{Carnatic:["Raga Brindabani Sarang","Megh","Megh Malhar"],Zeitler:["Thatimic"],Dozenal:["UGOian"],zeitler:["Lydimic"]}},3239:{title:"Ionian 263",chroma:"111001010011",names:{Bedwell:["Ionian 263"],Carnatic:["Mela Tanarupi","Danarupi"],Zeitler:["Epythian"],Dozenal:["UGUian"],"Carnatic Melakarta":["Tanarupi"],"Carnatic Numbered Melakarta":["6th Melakarta Raga"],zeitler:["Kaptian"]}},3241:{title:"Dalimic",chroma:"100101010011",names:{Zeitler:["Dalimic"],Dozenal:["UPSian"],zeitler:["Paptimic"]}},3243:{title:"Neapoitan Major 6",chroma:"110101010011",names:{Bedwell:["Neapoitan Major 6"],Carnatic:["Mela Rupavati","Rupavathi"],Zeitler:["Staptian"],Dozenal:["UTRian"],"Carnatic Melakarta":["Rupavati"],"Carnatic Numbered Melakarta":["12th Melakarta Raga"],zeitler:["Ionathian"]}},3245:{title:"Melodic 6",chroma:"101101010011",names:{Bedwell:["Melodic 6"],Carnatic:["Mela Varunapriya","Viravasantham"],Zeitler:["Aeracrian"],Dozenal:["DEFian"],"Carnatic Melakarta":["Varunapriya"],"Carnatic Numbered Melakarta":["24th Melakarta Raga"],zeitler:["Kagian"]}},3247:{title:"Aeolonyllic",chroma:"111101010011",names:{Zeitler:["Aeolonyllic"],Dozenal:["UHOian"],zeitler:["Stoptyllic"]}},3249:{title:"Raga Tilang",chroma:"100011010011",names:{Carnatic:["Raga Tilang"],"Unknown / Unsorted":["Brindabani Tilang","Savitri"],Zeitler:["Epygimic"],Dozenal:["UHUian"],zeitler:["Gogimic"]}},3251:{title:"Mela Hatakambari",chroma:"110011010011",names:{Carnatic:["Mela Hatakambari","Raga Jeyasuddhamalavi"],Bedwell:["Ionian 26"],Zeitler:["Zodian"],Dozenal:["UJUian"],"Carnatic Melakarta":["Hatakambari"],"Carnatic Numbered Melakarta":["18th Melakarta Raga"],zeitler:["Lyrian"]}},3253:{title:"Mela Naganandini",chroma:"101011010011",names:{Carnatic:["Mela Naganandini","Raga Nagabharanam","Naganandhini"],Bedwell:["Ionian 6"],Zeitler:["Gonian"],Dozenal:["UCHian"],"Carnatic Melakarta":["Naganandini"],"Carnatic Numbered Melakarta":["30th Melakarta Raga"],zeitler:["Garian"]}},3255:{title:"Daryllic",chroma:"111011010011",names:{Zeitler:["Daryllic"],Dozenal:["UTRian"],zeitler:["Epothyllic"]}},3257:{title:"Mela Calanata",chroma:"100111010011",names:{Carnatic:["Mela Calanata","Raga None"],Bedwell:["Ionian 26"],"Western Chromatic":["Chromatic Dorian Inverse"],Zeitler:["Ionacrian"],Dozenal:["UPLian"],"Carnatic Melakarta":["Chalanata"],"Carnatic Numbered Melakarta":["36th Melakarta Raga"],zeitler:["Stylian"]}},3259:{title:"Loptyllic",chroma:"110111010011",names:{Zeitler:["Loptyllic"],Dozenal:["CHOian"],zeitler:["Aeoryllic"]}},3261:{title:"Dodyllic",chroma:"101111010011",names:{Zeitler:["Dodyllic"],Dozenal:["ULOian"],zeitler:["Rythyllic"]}},3263:{title:"Pyrygic",chroma:"111111010011",names:{Zeitler:["Pyrygic"],Dozenal:["ULUian"],zeitler:["Ionilygic"]}},3265:{title:"URRian",chroma:"100000110011",names:{}},3267:{title:"URFian",chroma:"110000110011",names:{}},3269:{title:"Raga Malarani",chroma:"101000110011",names:{Carnatic:["Raga Malarani"],Zeitler:["Lodimic"],Dozenal:["UCKian"],zeitler:["Lyrimic"]}},3271:{title:"Mela Raghupriya",chroma:"111000110011",names:{Carnatic:["Mela Raghupriya","Raga Ravikriya","Ragupriya"],Bedwell:["Lydian 263"],Hindustani:["Ghandarva"],Zeitler:["Kolian"],Dozenal:["UMOian"],"Carnatic Melakarta":["Raghupriya"],"Carnatic Numbered Melakarta":["42nd Melakarta Raga"],zeitler:["Katygian"]}},3273:{title:"Raga Jivantini",chroma:"100100110011",names:{Carnatic:["Raga Jivantini","Gaurikriya"],Zeitler:["Ionodimic"],Dozenal:["UMUian"],zeitler:["Katycrimic"]}},3275:{title:"Mela Divyamani",chroma:"110100110011",names:{Carnatic:["Mela Divyamani","Dhivyamani"],Bedwell:["Enigmatic min"],Zeitler:["Katadian"],Dozenal:["UBSian"],"Carnatic Melakarta":["Divyamani"],"Carnatic Numbered Melakarta":["48th Melakarta Raga"],zeitler:["Sothian"]}},3277:{title:"Lydian 36",chroma:"101100110011",names:{Bedwell:["Lydian 36"],Carnatic:["Mela Nitimati","Raga Nisada","Kaikavasi","Nithimathi"],"Western Modern":["Howaboot Scale"],Zeitler:["Zycrian"],Dozenal:["USPian"],"Carnatic Melakarta":["Neetimati"],"Carnatic Numbered Melakarta":["60th Melakarta Raga"],zeitler:["Socrian"]}},3279:{title:"Pythyllic",chroma:"111100110011",names:{Zeitler:["Pythyllic"],Dozenal:["USKian"],zeitler:["Ryryllic"]}},3281:{title:"Raga Vijayavasanta",chroma:"100010110011",names:{Carnatic:["Raga Vijayavasanta"],Zeitler:["Katythimic"],Dozenal:["UNOian"],zeitler:["Katadimic"]}},3283:{title:"Mela Visvambhari",chroma:"110010110011",names:{Carnatic:["Mela Visvambhari","Raga Vamsavathi"],Bedwell:["Lydian 26"],Zeitler:["Lyrian"],Dozenal:["UNUian"],"Carnatic Melakarta":["Vishwambari"],"Carnatic Numbered Melakarta":["54th Melakarta Raga"],zeitler:["Zodian"]}},3285:{title:"Lydian #6",chroma:"101010110011",names:{"Western Altered":["Lydian #6"],Carnatic:["Mela Citrambari","Raga Chaturangini"],Bedwell:["Lydian 6"],Zeitler:["Zagian"],Dozenal:["UNKian"],"Carnatic Melakarta":["Chitrambari"],"Carnatic Numbered Melakarta":["66th Melakarta Raga"],zeitler:["Zanian"]}},3287:{title:"Phrathyllic",chroma:"111010110011",names:{Zeitler:["Phrathyllic"],Dozenal:["UPHian"],zeitler:["Modyllic"]}},3289:{title:"Lydian 26",chroma:"100110110011",names:{Bedwell:["Lydian 26"],"Western Altered":["Lydian 2 6"],Carnatic:["Mela Rasikapriya","Raga Rasamanjari"],"Unknown / Unsorted":["Hamsagiri"],Western:["Hungarian Romani Minor 6th Mode"],Zeitler:["Loptian"],Dozenal:["UBLian"],"Carnatic Melakarta":["Rasikapriya"],"Carnatic Numbered Melakarta":["72nd Melakarta Raga"],zeitler:["Aerynian"]}},3291:{title:"Kodyllic",chroma:"110110110011",names:{Zeitler:["Kodyllic"],Dozenal:["UPOian"],zeitler:["Ponyllic"]}},3293:{title:"Saryllic",chroma:"101110110011",names:{Zeitler:["Saryllic"],Dozenal:["UPUian"],zeitler:["Sanyllic"]}},3295:{title:"Phroptygic",chroma:"111110110011",names:{Zeitler:["Phroptygic"],Dozenal:["URAian"],zeitler:["Lonygic"]}},3297:{title:"ULLian",chroma:"100001110011",names:{}},3299:{title:"Lydian 236",chroma:"110001110011",names:{Bedwell:["Lydian 236"],Zeitler:["Syptian"],Dozenal:["UBRian"],zeitler:["Koptian"]}},3301:{title:"Lydian 36",chroma:"101001110011",names:{Bedwell:["Lydian 36"],"Western Chromatic":["Chromatic Mixolydian Inverse"],Zeitler:["Phrynian"],Dozenal:["UROian"],zeitler:["Gogian"]}},3303:{title:"Soptyllic",chroma:"111001110011",names:{Zeitler:["Soptyllic"],Dozenal:["URUian"],zeitler:["Aeolylyllic"]}},3305:{title:"Lydian 236",chroma:"100101110011",names:{Bedwell:["Lydian 236"],"Western Chromatic":["Chromatic Hypophrygian"],"Jazz and Blues":["Blues Scale III"],Zeitler:["Epathian"],Dozenal:["UMPian"],zeitler:["Paptian"]}},3307:{title:"Boptyllic",chroma:"110101110011",names:{Zeitler:["Boptyllic"],Dozenal:["ULKian"],zeitler:["Epathyllic"]}},3309:{title:"Bycryllic",chroma:"101101110011",names:{Zeitler:["Bycryllic"],Dozenal:["UPPian"],zeitler:["Zathyllic"]}},3311:{title:"Mixodygic",chroma:"111101110011",names:{Zeitler:["Mixodygic"],Dozenal:["USOian"],zeitler:["Galygic"]}},3313:{title:"Lydian 362",chroma:"100011110011",names:{Bedwell:["Lydian 362"],Zeitler:["Aeolacrian"],Dozenal:["USUian"],zeitler:["Zydian"]}},3315:{title:"Tcherepnin Octatonic Mode 1",chroma:"110011110011",names:{"Named After Composers":["Tcherepnin Octatonic Mode 1"],Messiaen:["Messiaen Mode 4 Inverse","Messiaen Mode 4 Rotation 1"],Zeitler:["Aeralyllic"],Dozenal:["UBBian"],zeitler:["Aeralyllic"]}},3317:{title:"Lanyllic",chroma:"101011110011",names:{Zeitler:["Lanyllic"],Dozenal:["URGian"],zeitler:["Zolyllic"]}},3319:{title:"Tholygic",chroma:"111011110011",names:{Zeitler:["Tholygic"],Dozenal:["UTTian"],zeitler:["Dorygic"]}},3321:{title:"Ionycryllic",chroma:"100111110011",names:{Zeitler:["Ionycryllic"],Dozenal:["UTOian"],zeitler:["Sogyllic"]}},3323:{title:"Phrygygic",chroma:"110111110011",names:{Zeitler:["Phrygygic"],Dozenal:["UTUian"],zeitler:["Dyrygic"]}},3325:{title:"Epygic",chroma:"101111110011",names:{Zeitler:["Epygic"],Dozenal:["USSian"],zeitler:["Madygic"]}},3327:{title:"Decatonic Chromatic 3",chroma:"111111110011",names:{"Western Modern":["Decatonic Chromatic 3"],Western:["Chromatic Decamode 8th Rotation"],Zeitler:["Madyllian"],Dozenal:["KUJian"],zeitler:["Bathyllian"]}},3329:{title:"UYOian",chroma:"100000001011",names:{}},3331:{title:"VABian",chroma:"110000001011",names:{}},3333:{title:"VACian",chroma:"101000001011",names:{}},3335:{title:"VADian",chroma:"111000001011",names:{}},3337:{title:"VAFian",chroma:"100100001011",names:{}},3339:{title:"SMUian",chroma:"110100001011",names:{}},3341:{title:"VAHian",chroma:"101100001011",names:{}},3343:{title:"Phrygian +34",chroma:"111100001011",names:{Bedwell:["Phrygian +34"],Dozenal:["VAJian"]}},3345:{title:"Zylitonic",chroma:"100010001011",names:{Zeitler:["Zylitonic"],Dozenal:["VAKian"],zeitler:["Ionothitonic"]}},3347:{title:"Synimic",chroma:"110010001011",names:{Zeitler:["Synimic"],Dozenal:["DRUian"],zeitler:["Epacrimic"]}},3349:{title:"Aeolocrimic",chroma:"101010001011",names:{Zeitler:["Aeolocrimic"],Dozenal:["VAMian"],zeitler:["Sythimic"]}},3351:{title:"Alt 7563",chroma:"111010001011",names:{Bedwell:["Alt 7563"],"Western Modern":["Crater Scale"],Zeitler:["Karian"],Dozenal:["VANian"],zeitler:["Myptian"]}},3353:{title:"Phraptimic",chroma:"100110001011",names:{Zeitler:["Phraptimic"],Dozenal:["VAPian"],zeitler:["Panimic"]}},3355:{title:"Phrygian +4",chroma:"110110001011",names:{Bedwell:["Phrygian +4"],Zeitler:["Bagian"],Dozenal:["VAQian"],zeitler:["Katonian"]}},3357:{title:"Melodic +64",chroma:"101110001011",names:{Bedwell:["Melodic +64"],Zeitler:["Phrodian"],Dozenal:["VARian"],zeitler:["Thorian"]}},3359:{title:"Bonyllic",chroma:"111110001011",names:{Zeitler:["Bonyllic"],Dozenal:["VASian"],zeitler:["Dynyllic"]}},3361:{title:"VATian",chroma:"100001001011",names:{}},3363:{title:"Rogimic",chroma:"110001001011",names:{Zeitler:["Rogimic"],Dozenal:["VAVian"],zeitler:["Ryrimic"]}},3365:{title:"Katolimic",chroma:"101001001011",names:{Zeitler:["Katolimic"],Dozenal:["VEWian"],zeitler:["Gocrimic"]}},3367:{title:"Neapolitan Major 563",chroma:"111001001011",names:{Bedwell:["Neapolitan Major 563"],Zeitler:["Moptian"],Dozenal:["VEXian"],zeitler:["Polian"]}},3369:{title:"Mixolimic",chroma:"100101001011",names:{Zeitler:["Mixolimic"],Dozenal:["VEYian"],zeitler:["Stathimic"]}},3371:{title:"Neapoitan Major 56",chroma:"110101001011",names:{Bedwell:["Neapoitan Major 56"],Zeitler:["Aeolylian"],Dozenal:["VEZian"],zeitler:["Bylian"]}},3373:{title:"Melodic +6",chroma:"101101001011",names:{Bedwell:["Melodic +6"],Zeitler:["Lodian"],Dozenal:["VEBian"],zeitler:["Phrogian"]}},3375:{title:"Kygyllic",chroma:"111101001011",names:{Zeitler:["Kygyllic"],Dozenal:["VECian"],zeitler:["Gogyllic"]}},3377:{title:"Phralimic",chroma:"100011001011",names:{Zeitler:["Phralimic"],Dozenal:["VEDian"],zeitler:["Zodimic"]}},3379:{title:"Verdi's Scala Enigmatica Descending",chroma:"110011001011",names:{"Named After Composers":["Verdi's Scala Enigmatica Descending"],Bedwell:["Ionian +26"],Western:["Verdi's Enigmatic Descending","Enigmatic Decending"],Zeitler:["Sothian"],Dozenal:["VEFian"],zeitler:["Katadian"]}},3381:{title:"Ionian +6",chroma:"101011001011",names:{Bedwell:["Ionian +6"],Zeitler:["Katanian"],Dozenal:["VEGian"],zeitler:["Manian"]}},3383:{title:"Daptyllic",chroma:"111011001011",names:{Zeitler:["Daptyllic"],Dozenal:["VEHian"],zeitler:["Kagyllic"]}},3385:{title:"Chromatic Phrygian",chroma:"100111001011",names:{"Western Chromatic":["Chromatic Phrygian"],Bedwell:["Ionian +26"],Zeitler:["Rothian"],Dozenal:["VEJian"],zeitler:["Ionyphian"]}},3387:{title:"Aeryptyllic",chroma:"110111001011",names:{Zeitler:["Aeryptyllic"],Dozenal:["VEKian"],zeitler:["Dycryllic"]}},3389:{title:"Socryllic",chroma:"101111001011",names:{Zeitler:["Socryllic"],Dozenal:["VELian"],zeitler:["Mydyllic"]}},3391:{title:"Aeolynygic",chroma:"111111001011",names:{Zeitler:["Aeolynygic"],Dozenal:["VEMian"],zeitler:["Phrocrygic"]}},3393:{title:"VENian",chroma:"100000101011",names:{}},3395:{title:"VEPian",chroma:"110000101011",names:{}},3397:{title:"Sydimic",chroma:"101000101011",names:{Zeitler:["Sydimic"],Dozenal:["VEQian"],zeitler:["Gadimic"]}},3399:{title:"Phrygian +3",chroma:"111000101011",names:{Bedwell:["Phrygian +3"],Zeitler:["Zonian"],Dozenal:["VIRian"],zeitler:["Kalian"]}},3401:{title:"Palimic",chroma:"100100101011",names:{Zeitler:["Palimic"],Dozenal:["VISian"],zeitler:["Thothimic"]}},3403:{title:"Phrygian +",chroma:"110100101011",names:{Bedwell:["Phrygian +"],Zeitler:["Bylian"],Dozenal:["VITian"],zeitler:["Aeolylian"]}},3405:{title:"Phrygian +2",chroma:"101100101011",names:{Bedwell:["Phrygian +2"],Zeitler:["Stynian"],Dozenal:["VIVian"],zeitler:["Phrycrian"]}},3407:{title:"Katocryllic",chroma:"111100101011",names:{Zeitler:["Katocryllic"],Dozenal:["VIWian"],zeitler:["Kyryllic"]}},3409:{title:"Katanimic",chroma:"100010101011",names:{Zeitler:["Katanimic"],Dozenal:["VIXian"],zeitler:["Phrydimic"]}},3411:{title:"Enigmatic",chroma:"110010101011",names:{Western:["Enigmatic","Enigmatic Ascending"],Bedwell:["Enigmatic"],"Named After Composers":["Verdi's Scala Enigmatica Ascending"],Carnatic:["Vishvambhari"],Zeitler:["Ionathian"],Dozenal:["VIYian"],zeitler:["Staptian"]}},3413:{title:"Lydian +6",chroma:"101010101011",names:{Bedwell:["Lydian +6"],"Western Modern":["Major Locrian"],Western:["Leading Whole Tone"],Zeitler:["Aeolynian"],Dozenal:["VIZian"],zeitler:["Thydian"]}},3415:{title:"Ionaptyllic",chroma:"111010101011",names:{Zeitler:["Ionaptyllic"],Dozenal:["VIBian"],zeitler:["Phryryllic"]}},3417:{title:"Lydian +26",chroma:"100110101011",names:{Bedwell:["Lydian +26"],Zeitler:["Golian"],Dozenal:["VICian"],zeitler:["Aerylian"]}},3419:{title:"Magen Abot 1",chroma:"110110101011",names:{Jewish:["Magen Abot 1","Magen Abot I"],Zeitler:["Danyllic"],Dozenal:["VIDian"],zeitler:["Lythyllic"]}},3421:{title:"Aerothyllic",chroma:"101110101011",names:{Zeitler:["Aerothyllic"],Dozenal:["VIFian"],zeitler:["Thanyllic"]}},3423:{title:"Lothygic",chroma:"111110101011",names:{Zeitler:["Lothygic"],Dozenal:["VIGian"],zeitler:["Styrygic"]}},3425:{title:"VIHian",chroma:"100001101011",names:{}},3427:{title:"Phrygian +3",chroma:"110001101011",names:{Bedwell:["Phrygian +3"],Zeitler:["Zacrian"],Dozenal:["VIJian"],zeitler:["Daptian"]}},3429:{title:"Lydian +36",chroma:"101001101011",names:{Bedwell:["Lydian +36"],Zeitler:["Marian"],Dozenal:["VIKian"],zeitler:["Byrian"]}},3431:{title:"Zyptyllic",chroma:"111001101011",names:{Zeitler:["Zyptyllic"],Dozenal:["UGGian"],zeitler:["Badyllic"]}},3433:{title:"Super Lydian Augmented",chroma:"100101101011",names:{Bedwell:["Super Lydian Augmented"],Zeitler:["Thonian"],Dozenal:["VOMian"],zeitler:["Aeolorian"]}},3435:{title:"Prokofiev",chroma:"110101101011",names:{"Named After Composers":["Prokofiev"],Azerbaijan:["Mugham Segah"],Western:["Quartal Octamode 9th Rotation"],Zeitler:["Epiphyllic"],Dozenal:["VONian"],zeitler:["Epiphyllic"]}},3437:{title:"Gathyllic",chroma:"101101101011",names:{Zeitler:["Gathyllic"],Dozenal:["VOPian"],zeitler:["Baryllic"]}},3439:{title:"Lythygic",chroma:"111101101011",names:{Zeitler:["Lythygic"],Dozenal:["VOQian"],zeitler:["Ryptygic"]}},3441:{title:"Superlydian Augmented 2",chroma:"100011101011",names:{Bedwell:["Superlydian Augmented 2"],Zeitler:["Thacrian"],Dozenal:["VORian"],zeitler:["Aeolyptian"]}},3443:{title:"Verdi's Scala Enigmatica",chroma:"110011101011",names:{"Named After Composers":["Verdi's Scala Enigmatica"],Azerbaijan:["Mugham Saränc"],Zeitler:["Epathyllic"],Dozenal:["VOSian"],zeitler:["Boptyllic"]}},3445:{title:"Messiaen Mode 6",chroma:"101011101011",names:{Messiaen:["Messiaen Mode 6","Sixth Mode Of Limited Transposition"],"Jazz and Blues":["Bebop Altered"],Zeitler:["Roryllic"],Dozenal:["VOTian"],zeitler:["Kaptyllic"]}},3447:{title:"Kynygic",chroma:"111011101011",names:{Zeitler:["Kynygic"],Dozenal:["VOVian"],zeitler:["Aeolanygic"]}},3449:{title:"Bacryllic",chroma:"100111101011",names:{Zeitler:["Bacryllic"],Dozenal:["VOWian"],zeitler:["Thonyllic"]}},3451:{title:"Garygic",chroma:"110111101011",names:{Zeitler:["Garygic"],Dozenal:["VOXian"],zeitler:["Ionoptygic"]}},3453:{title:"Katarygic",chroma:"101111101011",names:{Zeitler:["Katarygic"],Dozenal:["VOYian"],zeitler:["Stalygic"]}},3455:{title:"Ryptyllian",chroma:"111111101011",names:{Zeitler:["Ryptyllian"],Dozenal:["VOZian"],zeitler:["Katyllian"]}},3457:{title:"VOBian",chroma:"100000011011",names:{}},3459:{title:"VOCian",chroma:"110000011011",names:{}},3461:{title:"VODian",chroma:"101000011011",names:{}},3463:{title:"Phrygian +34",chroma:"111000011011",names:{Bedwell:["Phrygian +34"],Dozenal:["VOFian"]}},3465:{title:"Katathimic",chroma:"100100011011",names:{Zeitler:["Katathimic"],Dozenal:["VOGian"],zeitler:["Dylimic"]}},3467:{title:"Phrygian +4",chroma:"110100011011",names:{Bedwell:["Phrygian +4"],Carnatic:["Sudhvidhamagini"],Zeitler:["Katonian"],Dozenal:["VUHian"],zeitler:["Bagian"]}},3469:{title:"Melodic +64",chroma:"101100011011",names:{Bedwell:["Melodic +64"],Zeitler:["Monian"],Dozenal:["VUJian"],zeitler:["Sorian"]}},3471:{title:"Gyryllic",chroma:"111100011011",names:{Zeitler:["Gyryllic"],Dozenal:["VUKian"],zeitler:["Storyllic"]}},3473:{title:"Lathimic",chroma:"100010011011",names:{Zeitler:["Lathimic"],Dozenal:["VULian"],zeitler:["Dorimic"]}},3475:{title:"Enigmatic 4",chroma:"110010011011",names:{Bedwell:["Enigmatic 4"],Zeitler:["Kylian"],Dozenal:["VUMian"],zeitler:["Aeolocrian"]}},3477:{title:"Ionian +64",chroma:"101010011011",names:{Bedwell:["Ionian +64"],Zeitler:["Kyptian"],Dozenal:["VUNian"],zeitler:["Kynian"]}},3479:{title:"Rothyllic",chroma:"111010011011",names:{Zeitler:["Rothyllic"],Dozenal:["VUPian"],zeitler:["Ioninyllic"]}},3481:{title:"Ionian +264",chroma:"100110011011",names:{Bedwell:["Ionian +264"],Zeitler:["Katathian"],Dozenal:["VUQian"],zeitler:["Ionocrian"]}},3483:{title:"Mugham Shüshtär",chroma:"110110011011",names:{Azerbaijan:["Mugham Shüshtär"],Zeitler:["Mixotharyllic"],Dozenal:["VURian"],zeitler:["Mixotharyllic"]}},3485:{title:"Sabach",chroma:"101110011011",names:{"Modern Greek":["Sabach","Sambah"],Zeitler:["Kyptyllic"],Dozenal:["VUSian"],zeitler:["Aeolynyllic"]}},3487:{title:"Byptygic",chroma:"111110011011",names:{Zeitler:["Byptygic"],Dozenal:["VUTian"],zeitler:["Ionygic"]}},3489:{title:"VUVian",chroma:"100001011011",names:{}},3491:{title:"Superlydian Augmented 24",chroma:"110001011011",names:{Bedwell:["Superlydian Augmented 24"],Zeitler:["Tharian"],Dozenal:["VUWian"],zeitler:["Rogian"]}},3493:{title:"Ionian +364",chroma:"101001011011",names:{Bedwell:["Ionian +364"],Zeitler:["Rathian"],Dozenal:["VUXian"],zeitler:["Panian"]}},3495:{title:"Banyllic",chroma:"111001011011",names:{Zeitler:["Banyllic"],Dozenal:["VUYian"],zeitler:["Monyllic"]}},3497:{title:"Superlydian Augmented 4",chroma:"100101011011",names:{Bedwell:["Superlydian Augmented 4"],Zeitler:["Phrolian"],Dozenal:["VUZian"],zeitler:["Zoptian"]}},3499:{title:"Hamel",chroma:"110101011011",names:{"Named After Composers":["Hamel","Peter Hamel Octatonic"],Western:["Spanish Octamode 9th Rotation"],Zeitler:["Lythyllic"],Dozenal:["VUBian"],zeitler:["Danyllic"]}},3501:{title:"Bebop Harmonic Minor",chroma:"101101011011",names:{"Jazz and Blues":["Bebop Harmonic Minor"],Western:["Gregorian Nr.4"],Arabic:["Farahfaza"],Carnatic:["Raga Suha","Raga Suha Kanada"],"Gregorian Numbered":["Gregorian Number 4"],"Unknown / Unsorted":["Utility Minor"],Zeitler:["Katodyllic"],Dozenal:["WABian"],zeitler:["Mogyllic"]}},3503:{title:"Zyphygic",chroma:"111101011011",names:{Zeitler:["Zyphygic"],Dozenal:["WACian"],zeitler:["Aerygic"]}},3505:{title:"Superlydian Augmented 24",chroma:"100011011011",names:{Bedwell:["Superlydian Augmented 24"],Zeitler:["Stygian"],Dozenal:["WADian"],zeitler:["Padian"]}},3507:{title:"Bebop Phrygian Dominant",chroma:"110011011011",names:{"Jazz and Blues":["Bebop Phrygian Dominant","Altered Bebop"],Zeitler:["Ponyllic"],Dozenal:["WAFian"],zeitler:["Kodyllic"]}},3509:{title:"Stogyllic",chroma:"101011011011",names:{Zeitler:["Stogyllic"],Dozenal:["WAGian"],zeitler:["Garyllic"]}},3511:{title:"Epolygic",chroma:"111011011011",names:{Zeitler:["Epolygic"],Dozenal:["WAHian"],zeitler:["Epidygic"]}},3513:{title:"Dydyllic",chroma:"100111011011",names:{Zeitler:["Dydyllic"],Dozenal:["WAJian"],zeitler:["Rygyllic"]}},3515:{title:"Moorish Phrygian",chroma:"110111011011",names:{Exoticisms:["Moorish Phrygian"],"Western Mixed":["Phrygian/Double Harmonic Major Mixed"],Zeitler:["Katodygic"],Dozenal:["WAKian"],zeitler:["Sadygic"]}},3517:{title:"Diminishing Nonamode 1st Rotation",chroma:"101111011011",names:{Western:["Diminishing Nonamode 1st Rotation"],Zeitler:["Epocrygic"],Dozenal:["WALian"],zeitler:["Gocrygic"]}},3519:{title:"Raga Sindhi-Bhairavi",chroma:"111111011011",names:{Carnatic:["Raga Sindhi-Bhairavi"],Zeitler:["Boptyllian"],Dozenal:["WAMian"],zeitler:["Zolyllian"]}},3521:{title:"WANian",chroma:"100000111011",names:{}},3523:{title:"Superlydian Augmented 234",chroma:"110000111011",names:{Bedwell:["Superlydian Augmented 234"],Dozenal:["WAPian"]}},3525:{title:"Ionian +634",chroma:"101000111011",names:{Bedwell:["Ionian +634"],Zeitler:["Zocrian"],Dozenal:["WAQian"],zeitler:["Ionyrian"]}},3527:{title:"Ronyllic",chroma:"111000111011",names:{Zeitler:["Ronyllic"],Dozenal:["SHOian"],zeitler:["Kydyllic"]}},3529:{title:"Superlydian Augmented 34",chroma:"100100111011",names:{Bedwell:["Superlydian Augmented 34"],Zeitler:["Stalian"],Dozenal:["WASian"],zeitler:["Kataptian"]}},3531:{title:"Neveseri",chroma:"110100111011",names:{"Unknown / Unsorted":["Neveseri"],"Modern Greek":["Drómos Nevéseri"],Zeitler:["Dycryllic"],Dozenal:["WATian"],zeitler:["Aeryptyllic"]}},3533:{title:"Thadyllic",chroma:"101100111011",names:{Zeitler:["Thadyllic"],Dozenal:["WAVian"],zeitler:["Ganyllic"]}},3535:{title:"Aeroptygic",chroma:"111100111011",names:{Zeitler:["Aeroptygic"],Dozenal:["WEWian"],zeitler:["Katorygic"]}},3537:{title:"Superlydian Augmented 234",chroma:"100010111011",names:{Bedwell:["Superlydian Augmented 234"],Zeitler:["Katogian"],Dozenal:["WEXian"],zeitler:["Bathian"]}},3539:{title:"Aeoryllic",chroma:"110010111011",names:{Zeitler:["Aeoryllic"],Dozenal:["WEYian"],zeitler:["Loptyllic"]}},3541:{title:"Racryllic",chroma:"101010111011",names:{Zeitler:["Racryllic"],Dozenal:["WEZian"],zeitler:["Stythyllic"]}},3543:{title:"Aeolonygic",chroma:"111010111011",names:{Zeitler:["Aeolonygic"],Dozenal:["WEBian"],zeitler:["Stophygic"]}},3545:{title:"Thyptyllic",chroma:"100110111011",names:{Zeitler:["Thyptyllic"],Dozenal:["WECian"],zeitler:["Layllic"]}},3547:{title:"Diminishing Nonamode 9th Rotation",chroma:"110110111011",names:{Western:["Diminishing Nonamode 9th Rotation"],Zeitler:["Sadygic"],Dozenal:["WEDian"],zeitler:["Katodygic"]}},3549:{title:"Messiaen Mode 3",chroma:"101110111011",names:{Messiaen:["Messiaen Mode 3","Messiaen 3rd Mode Inversed","Third Mode Of Limited Transposition"],Western:["Tcherepnin Mode II","Tcherepnin Mode 2"],"Named After Composers":["Tcherepnin Nonatonic Mode 2"],Zeitler:["Phronygic"],Dozenal:["WEFian"],zeitler:["Zydygic"]}},3551:{title:"Sagyllian",chroma:"111110111011",names:{Zeitler:["Sagyllian"],Dozenal:["WEGian"],zeitler:["Ragyllian"]}},3553:{title:"Superlydian Augmented 342",chroma:"100001111011",names:{Bedwell:["Superlydian Augmented 342"],Dozenal:["WEHian"]}},3555:{title:"Pylyllic",chroma:"110001111011",names:{Zeitler:["Pylyllic"],Dozenal:["WEJian"],zeitler:["Raryllic"]}},3557:{title:"Thycryllic",chroma:"101001111011",names:{Zeitler:["Thycryllic"],Dozenal:["WEKian"],zeitler:["Thodyllic"]}},3559:{title:"Aerathygic",chroma:"111001111011",names:{Zeitler:["Aerathygic"],Dozenal:["WELian"],zeitler:["Rynygic"]}},3561:{title:"Pothyllic",chroma:"100101111011",names:{Zeitler:["Pothyllic"],Dozenal:["WEMian"],zeitler:["Katoryllic"]}},3563:{title:"Ionoptygic",chroma:"110101111011",names:{Zeitler:["Ionoptygic"],Dozenal:["WENian"],zeitler:["Garygic"]}},3565:{title:"Aeolorygic",chroma:"101101111011",names:{Zeitler:["Aeolorygic"],Dozenal:["WEPian"],zeitler:["Goptygic"]}},3567:{title:"Epityllian",chroma:"111101111011",names:{Zeitler:["Epityllian"],Dozenal:["WEQian"],zeitler:["Aeoryllian"]}},3569:{title:"Aeoladyllic",chroma:"100011111011",names:{Zeitler:["Aeoladyllic"],Dozenal:["WIRian"],zeitler:["Phraptyllic"]}},3571:{title:"Dyrygic",chroma:"110011111011",names:{Zeitler:["Dyrygic"],Dozenal:["WISian"],zeitler:["Phrygygic"]}},3573:{title:"Kaptygic",chroma:"101011111011",names:{Zeitler:["Kaptygic"],Dozenal:["WITian"],zeitler:["Barygic"]}},3575:{title:"Messiaen Mode 7 Rotation 1",chroma:"111011111011",names:{Messiaen:["Messiaen Mode 7 Rotation 1"],"Western Modern":["Symmetrical Decatonic"],Zeitler:["Mogyllian"],Dozenal:["WIVian"],zeitler:["Katodyllian"]}},3577:{title:"Loptygic",chroma:"100111111011",names:{Zeitler:["Loptygic"],Dozenal:["WIWian"],zeitler:["Bythygic"]}},3579:{title:"Zyphyllian",chroma:"110111111011",names:{Zeitler:["Zyphyllian"],Dozenal:["WIXian"],zeitler:["Zyphyllian"]}},3581:{title:"Epocryllian",chroma:"101111111011",names:{Zeitler:["Epocryllian"],Dozenal:["WIYian"],zeitler:["Goptyllian"]}},3583:{title:"Chromatic Undecamode 3",chroma:"111111111011",names:{"Western Modern":["Chromatic Undecamode 3","Undecatonic Chromatic 3"],Western:["Chromatic Undecamode 9th Rotation"],Zeitler:["Zylatic"],Dozenal:["RAMian"],zeitler:["Thydatic"]}},3585:{title:"Tetratonic Chromatic Descending",chroma:"100000000111",names:{"Western Modern":["Tetratonic Chromatic Descending"],Dozenal:["WIBian"]}},3587:{title:"Pentatonic Chromatic 4",chroma:"110000000111",names:{"Western Modern":["Pentatonic Chromatic 4"],Dozenal:["WICian"]}},3589:{title:"WIDian",chroma:"101000000111",names:{}},3591:{title:"WIFian",chroma:"111000000111",names:{}},3593:{title:"WIGian",chroma:"100100000111",names:{}},3595:{title:"WIHian",chroma:"110100000111",names:{}},3597:{title:"WIJian",chroma:"101100000111",names:{}},3599:{title:"Heptatonic Chromatic 4",chroma:"111100000111",names:{"Western Modern":["Heptatonic Chromatic 4"],Bedwell:["Phrygian +534"],Western:["Chromatic Heptamode 4th Rotation"],Dozenal:["WIKian"]}},3601:{title:"WILian",chroma:"100010000111",names:{}},3603:{title:"WOMian",chroma:"110010000111",names:{}},3605:{title:"OLKian",chroma:"101010000111",names:{}},3607:{title:"Alt 7653",chroma:"111010000111",names:{Bedwell:["Alt 7653"],Dozenal:["WOPian"]}},3609:{title:"WOQian",chroma:"100110000111",names:{}},3611:{title:"Alt 765",chroma:"110110000111",names:{Bedwell:["Alt 765"],Dozenal:["WORian"]}},3613:{title:"Melodic 465",chroma:"101110000111",names:{Bedwell:["Melodic 465"],Dozenal:["WOSian"]}},3615:{title:"Octatonic Chromatic 4",chroma:"111110000111",names:{"Western Modern":["Octatonic Chromatic 4"],Western:["Chromatic Octamode 5th Rotation"],Dozenal:["WOTian"]}},3617:{title:"WOVian",chroma:"100001000111",names:{}},3619:{title:"Thanimic",chroma:"110001000111",names:{Zeitler:["Thanimic"],Dozenal:["WOWian"],zeitler:["Polimic"]}},3621:{title:"Gylimic",chroma:"101001000111",names:{Zeitler:["Gylimic"],Dozenal:["WOXian"],zeitler:["Macrimic"]}},3623:{title:"Ionian 2635",chroma:"111001000111",names:{Bedwell:["Ionian 2635"],Zeitler:["Aerocrian"],Dozenal:["WOYian"],zeitler:["Mathian"]}},3625:{title:"Podimic",chroma:"100101000111",names:{Zeitler:["Podimic"],Dozenal:["WOZian"],zeitler:["Aeolaptimic"]}},3627:{title:"Neapoitan Major 65",chroma:"110101000111",names:{Bedwell:["Neapoitan Major 65"],Zeitler:["Kalian"],Dozenal:["WOBian"],zeitler:["Zonian"]}},3629:{title:"Melodic 65",chroma:"101101000111",names:{Bedwell:["Melodic 65"],Zeitler:["Boptian"],Dozenal:["WOCian"],zeitler:["Gaptian"]}},3631:{title:"Gydyllic",chroma:"111101000111",names:{Zeitler:["Gydyllic"],Dozenal:["WODian"],zeitler:["Katyryllic"]}},3633:{title:"Daptimic",chroma:"100011000111",names:{Zeitler:["Daptimic"],Dozenal:["WOFian"],zeitler:["Aeolimic"]}},3635:{title:"Ionian 265",chroma:"110011000111",names:{Bedwell:["Ionian 265"],Zeitler:["Katygian"],Dozenal:["WOGian"],zeitler:["Kolian"]}},3637:{title:"Ionian 65",chroma:"101011000111",names:{Bedwell:["Ionian 65"],Carnatic:["Raga Rageshri"],Zeitler:["Kygian"],Dozenal:["WUHian"],zeitler:["Aeraphian"]}},3639:{title:"Paptyllic",chroma:"111011000111",names:{Zeitler:["Paptyllic"],Dozenal:["WUJian"],zeitler:["Phrygyllic"]}},3641:{title:"Ionian 265",chroma:"100111000111",names:{Bedwell:["Ionian 265"],Zeitler:["Thocrian"],Dozenal:["WUKian"],zeitler:["Stonian"]}},3643:{title:"Kydyllic",chroma:"110111000111",names:{Zeitler:["Kydyllic"],Dozenal:["WULian"],zeitler:["Ronyllic"]}},3645:{title:"Zycryllic",chroma:"101111000111",names:{Zeitler:["Zycryllic"],Dozenal:["WUMian"],zeitler:["Laptyllic"]}},3647:{title:"Nonatonic Chromatic 4",chroma:"111111000111",names:{"Western Modern":["Nonatonic Chromatic 4"],Western:["Chromatic Nonamode 6th Rotation"],Zeitler:["Eporygic"],Dozenal:["SHUian"],zeitler:["Ionogygic"]}},3649:{title:"WUPian",chroma:"100000100111",names:{}},3651:{title:"WUQian",chroma:"110000100111",names:{}},3653:{title:"Sathimic",chroma:"101000100111",names:{Zeitler:["Sathimic"],Dozenal:["WURian"],zeitler:["Malimic"]}},3655:{title:"Phrygian +53",chroma:"111000100111",names:{Bedwell:["Phrygian +53"],Zeitler:["Mathian"],Dozenal:["WUSian"],zeitler:["Aerocrian"]}},3657:{title:"Epynimic",chroma:"100100100111",names:{Zeitler:["Epynimic"],Dozenal:["WUTian"],zeitler:["Tharimic"]}},3659:{title:"Phrygian +5",chroma:"110100100111",names:{Bedwell:["Phrygian +5"],Zeitler:["Polian"],Dozenal:["WUVian"],zeitler:["Moptian"]}},3661:{title:"Melodic 465",chroma:"101100100111",names:{Bedwell:["Melodic 465"],Zeitler:["Mixodorian"],Dozenal:["WUWian"],zeitler:["Epocrian"]}},3663:{title:"Sonyllic",chroma:"111100100111",names:{Zeitler:["Sonyllic"],Dozenal:["WUXian"],zeitler:["Pathyllic"]}},3665:{title:"Stalimic",chroma:"100010100111",names:{Zeitler:["Stalimic"],Dozenal:["WUYian"],zeitler:["Ranimic"]}},3667:{title:"Lydian 265",chroma:"110010100111",names:{Bedwell:["Lydian 265"],Zeitler:["Kaptian"],Dozenal:["WUZian"],zeitler:["Epythian"]}},3669:{title:"Lydian 65",chroma:"101010100111",names:{Bedwell:["Lydian 65"],Zeitler:["Mothian"],Dozenal:["WUBian"],zeitler:["Pylian"]}},3671:{title:"Aeonyllic",chroma:"111010100111",names:{Zeitler:["Aeonyllic"],Dozenal:["XABian"],zeitler:["Aerathyllic"]}},3673:{title:"Lydian 265",chroma:"100110100111",names:{Bedwell:["Lydian 265"],Zeitler:["Ranian"],Dozenal:["XACian"],zeitler:["Eparian"]}},3675:{title:"Monyllic",chroma:"110110100111",names:{Zeitler:["Monyllic"],Dozenal:["XADian"],zeitler:["Banyllic"]}},3677:{title:"Katylyllic",chroma:"101110100111",names:{Zeitler:["Katylyllic"],Dozenal:["XAFian"],zeitler:["Zythyllic"]}},3679:{title:"Rycrygic",chroma:"111110100111",names:{Zeitler:["Rycrygic"],Dozenal:["XAGian"],zeitler:["Doptygic"]}},3681:{title:"XAHian",chroma:"100001100111",names:{}},3683:{title:"Phrygian +35",chroma:"110001100111",names:{Bedwell:["Phrygian +35"],Zeitler:["Dycrian"],Dozenal:["XAJian"],zeitler:["Eponian"]}},3685:{title:"Lydian 365",chroma:"101001100111",names:{Bedwell:["Lydian 365"],Zeitler:["Kodian"],Dozenal:["XAKian"],zeitler:["Lalian"]}},3687:{title:"Zonyllic",chroma:"111001100111",names:{Zeitler:["Zonyllic"],Dozenal:["XELian"],zeitler:["Zonyllic"]}},3689:{title:"Superlydian Augmented 5",chroma:"100101100111",names:{Bedwell:["Superlydian Augmented 5"],Zeitler:["Katocrian"],Dozenal:["XEMian"],zeitler:["Zylian"]}},3691:{title:"Badyllic",chroma:"110101100111",names:{Zeitler:["Badyllic"],Dozenal:["XENian"],zeitler:["Zyptyllic"]}},3693:{title:"Epaptyllic",chroma:"101101100111",names:{Zeitler:["Epaptyllic"],Dozenal:["XEPian"],zeitler:["Molyllic"]}},3695:{title:"Kodygic",chroma:"111101100111",names:{Zeitler:["Kodygic"],Dozenal:["XEQian"],zeitler:["Zynygic"]}},3697:{title:"Superlydian Augmented 25",chroma:"100011100111",names:{Bedwell:["Superlydian Augmented 25"],Zeitler:["Ionarian"],Dozenal:["XERian"],zeitler:["Dyrian"]}},3699:{title:"Aeolylyllic",chroma:"110011100111",names:{Zeitler:["Aeolylyllic"],Dozenal:["XESian"],zeitler:["Soptyllic"]}},3701:{title:"Bagyllic",chroma:"101011100111",names:{Zeitler:["Bagyllic"],Dozenal:["XETian"],zeitler:["Ionyptyllic"]}},3703:{title:"Katalygic",chroma:"111011100111",names:{Zeitler:["Katalygic"],Dozenal:["XIVian"],zeitler:["Mylygic"]}},3705:{title:"Messiaen Mode 4 Rotation 2",chroma:"100111100111",names:{Messiaen:["Messiaen Mode 4 Rotation 2"],"Named After Composers":["Tcherepnin Octatonic Mode 4"],Zeitler:["Sydyllic"],Dozenal:["XIWian"],zeitler:["Zygyllic"]}},3707:{title:"Rynygic",chroma:"110111100111",names:{Zeitler:["Rynygic"],Dozenal:["XIXian"],zeitler:["Aerathygic"]}},3709:{title:"Locrygic",chroma:"101111100111",names:{Zeitler:["Locrygic"],Dozenal:["XIYian"],zeitler:["Panygic"]}},3711:{title:"Decatonic Chromatic 4",chroma:"111111100111",names:{"Western Modern":["Decatonic Chromatic 4"],Western:["Chromatic Decamode 7th Rotation"],Zeitler:["Dycryllian"],Dozenal:["XIZian"],zeitler:["Rygyllian"]}},3713:{title:"XIBian",chroma:"100000010111",names:{}},3715:{title:"XICian",chroma:"110000010111",names:{}},3717:{title:"XIDian",chroma:"101000010111",names:{}},3719:{title:"Phrygian+345",chroma:"111000010111",names:{Bedwell:["Phrygian+345"],Dozenal:["XOFian"]}},3721:{title:"Phragimic",chroma:"100100010111",names:{Zeitler:["Phragimic"],Dozenal:["XOGian"],zeitler:["Epalimic"]}},3723:{title:"Phrygian +45",chroma:"110100010111",names:{Bedwell:["Phrygian +45"],Zeitler:["Myptian"],Dozenal:["XOHian"],zeitler:["Karian"]}},3725:{title:"Melodic 645",chroma:"101100010111",names:{Bedwell:["Melodic 645"],Zeitler:["Kyrian"],Dozenal:["XOJian"],zeitler:["Lyptian"]}},3727:{title:"Tholyllic",chroma:"111100010111",names:{Zeitler:["Tholyllic"],Dozenal:["XOKian"],zeitler:["Eparyllic"]}},3729:{title:"Starimic",chroma:"100010010111",names:{Zeitler:["Starimic"],Dozenal:["XOLian"],zeitler:["Dyptimic"]}},3731:{title:"Phrygian +345",chroma:"110010010111",names:{Bedwell:["Phrygian +345"],Zeitler:["Aeryrian"],Dozenal:["XOMian"],zeitler:["Thyphian"]}},3733:{title:"Ionian 645",chroma:"101010010111",names:{Bedwell:["Ionian 645"],Zeitler:["Gycrian"],Dozenal:["XONian"],zeitler:["Stolian"]}},3735:{title:"Ionagyllic",chroma:"111010010111",names:{Zeitler:["Ionagyllic"],Dozenal:["XUPian"],zeitler:["Ionagyllic"]}},3737:{title:"Ionian 2645",chroma:"100110010111",names:{Bedwell:["Ionian 2645"],Zeitler:["Phrocrian"],Dozenal:["XUQian"],zeitler:["Bothian"]}},3739:{title:"Ioninyllic",chroma:"110110010111",names:{Zeitler:["Ioninyllic"],Dozenal:["XURian"],zeitler:["Rothyllic"]}},3741:{title:"Zydyllic",chroma:"101110010111",names:{Zeitler:["Zydyllic"],Dozenal:["XUSian"],zeitler:["Madyllic"]}},3743:{title:"Thadygic",chroma:"111110010111",names:{Zeitler:["Thadygic"],Dozenal:["XUTian"],zeitler:["Badygic"]}},3745:{title:"XUVian",chroma:"100001010111",names:{}},3747:{title:"Superlydian Augmented 245",chroma:"110001010111",names:{Bedwell:["Superlydian Augmented 245"],Zeitler:["Myrian"],Dozenal:["XUWian"],zeitler:["Stocrian"]}},3749:{title:"Raga Sorati",chroma:"101001010111",names:{Carnatic:["Raga Sorati"],Bedwell:["Ionian 3645"],"Unknown / Unsorted":["Sur Malhar"],Zeitler:["Zothian"],Dozenal:["XUXian"],zeitler:["Dadian"]}},3751:{title:"Aerathyllic",chroma:"111001010111",names:{Zeitler:["Aerathyllic"],Dozenal:["YABian"],zeitler:["Aeonyllic"]}},3753:{title:"Superlydian Augmented 45",chroma:"100101010111",names:{Bedwell:["Superlydian Augmented 45"],Zeitler:["Phraptian"],Dozenal:["YACian"],zeitler:["Molian"]}},3755:{title:"Phryryllic",chroma:"110101010111",names:{Zeitler:["Phryryllic"],Dozenal:["YADian"],zeitler:["Ionaptyllic"]}},3757:{title:"Raga Mian Ki Malhar",chroma:"101101010111",names:{Carnatic:["Raga Mian Ki Malhar"],"Jazz and Blues":["Dorian Bebop Alternate"],"Unknown / Unsorted":["Bahar","Sindhura"],Zeitler:["Goptyllic"],Dozenal:["YAFian"],zeitler:["Gothyllic"]}},3759:{title:"Darygic",chroma:"111101010111",names:{Zeitler:["Darygic"],Dozenal:["YAGian"],zeitler:["Monygic"]}},3761:{title:"Raga Madhuri",chroma:"100011010111",names:{Carnatic:["Raga Madhuri"],Bedwell:["Superlydian Augmented 245"],Zeitler:["Ionythian"],Dozenal:["YAHian"],zeitler:["Lycrian"]}},3763:{title:"Modyllic",chroma:"110011010111",names:{Zeitler:["Modyllic"],Dozenal:["YAJian"],zeitler:["Phrathyllic"]}},3765:{title:"Dominant Bebop",chroma:"101011010111",names:{"Jazz and Blues":["Dominant Bebop","Bebop Dominant"],Western:["Gregorian Nr.6","Quartal Octamode 8th Rotation"],"Western Mixed":["Mixionian","Major/Mixolydian Mixed","Ionian/Mixolydian Mixed"],"Ancient Greek":["Genus Diatonicum"],Carnatic:["Raga Khamaj"],"Unknown / Unsorted":["Desh Malhar","Devagandhari","Bihagara","Rast"],Hindustani:["Alhaiya Bilaval"],"Gregorian Numbered":["Gregorian Number 6"],Exoticisms:["Chinese Eight-Tone"],Zeitler:["Aerycryllic"],Dozenal:["YAKian"],zeitler:["Godyllic"]}},3767:{title:"Chromatic Bebop",chroma:"111011010111",names:{"Jazz and Blues":["Chromatic Bebop"],Zeitler:["Bacrygic"],Dozenal:["YALian"],zeitler:["Aeralygic"]}},3769:{title:"Aeracryllic",chroma:"100111010111",names:{Zeitler:["Aeracryllic"],Dozenal:["YAMian"],zeitler:["Dathyllic"]}},3771:{title:"Stophygic",chroma:"110111010111",names:{Zeitler:["Stophygic"],Dozenal:["YANian"],zeitler:["Aeolonygic"]}},3773:{title:"Raga Malgunji",chroma:"101111010111",names:{Carnatic:["Raga Malgunji"],"Unknown / Unsorted":["Ramdasi Malhar"],"Western Mixed":["Major/Dorian Mixed"],"Jazz and Blues":["Blues Enneatonic"],Zeitler:["Sorygic"],Dozenal:["YAPian"],zeitler:["Epithygic"]}},3775:{title:"Loptyllian",chroma:"111111010111",names:{Zeitler:["Loptyllian"],Dozenal:["YAQian"],zeitler:["Dagyllian"]}},3777:{title:"YARian",chroma:"100000110111",names:{}},3779:{title:"Superlydian Augmented 2345",chroma:"110000110111",names:{Bedwell:["Superlydian Augmented 2345"],Dozenal:["YASian"]}},3781:{title:"Ionian 6345",chroma:"101000110111",names:{Bedwell:["Ionian 6345"],Zeitler:["Gyphian"],Dozenal:["YATian"],zeitler:["Thoptian"]}},3783:{title:"Phrygyllic",chroma:"111000110111",names:{Zeitler:["Phrygyllic"],Dozenal:["YAVian"],zeitler:["Paptyllic"]}},3785:{title:"Superlydian Augmented 345",chroma:"100100110111",names:{Bedwell:["Superlydian Augmented 345"],Zeitler:["Epagian"],Dozenal:["YEWian"],zeitler:["Gadian"]}},3787:{title:"Kagyllic",chroma:"110100110111",names:{Zeitler:["Kagyllic"],Dozenal:["YEXian"],zeitler:["Daptyllic"]}},3789:{title:"Eporyllic",chroma:"101100110111",names:{Zeitler:["Eporyllic"],Dozenal:["YEYian"],zeitler:["Stanyllic"]}},3791:{title:"Stodygic",chroma:"111100110111",names:{Zeitler:["Stodygic"],Dozenal:["YEZian"],zeitler:["Eparygic"]}},3793:{title:"Superlydian Augmented 2345",chroma:"100010110111",names:{Bedwell:["Superlydian Augmented 2345"],Zeitler:["Aeopian"],Dozenal:["YEBian"],zeitler:["Macrian"]}},3795:{title:"Epothyllic",chroma:"110010110111",names:{Zeitler:["Epothyllic"],Dozenal:["YECian"],zeitler:["Daryllic"]}},3797:{title:"Bebop Lydian Dominant",chroma:"101010110111",names:{"Jazz and Blues":["Bebop Lydian Dominant"],Western:["Spanish Octamode 8th Rotation"],Zeitler:["Rocryllic"],Dozenal:["YEDian"],zeitler:["Staptyllic"]}},3799:{title:"Aeralygic",chroma:"111010110111",names:{Zeitler:["Aeralygic"],Dozenal:["YEFian"],zeitler:["Bacrygic"]}},3801:{title:"Maptyllic",chroma:"100110110111",names:{Zeitler:["Maptyllic"],Dozenal:["YEGian"],zeitler:["Phroptyllic"]}},3803:{title:"Epidygic",chroma:"110110110111",names:{Zeitler:["Epidygic"],Dozenal:["YEHian"],zeitler:["Epolygic"]}},3805:{title:"Moptygic",chroma:"101110110111",names:{Zeitler:["Moptygic"],Dozenal:["YEJian"],zeitler:["Zyrygic"]}},3807:{title:"Bagyllian",chroma:"111110110111",names:{Zeitler:["Bagyllian"],Dozenal:["YEKian"],zeitler:["Styptyllian"]}},3809:{title:"Superlydian Augmented 3452",chroma:"100001110111",names:{Bedwell:["Superlydian Augmented 3452"],Dozenal:["YELian"]}},3811:{title:"Epogyllic",chroma:"110001110111",names:{Zeitler:["Epogyllic"],Dozenal:["YEMian"],zeitler:["Bynyllic"]}},3813:{title:"Aeologyllic",chroma:"101001110111",names:{Zeitler:["Aeologyllic"],Dozenal:["YENian"],zeitler:["Rathyllic"]}},3815:{title:"Mylygic",chroma:"111001110111",names:{Zeitler:["Mylygic"],Dozenal:["YEPian"],zeitler:["Katalygic"]}},3817:{title:"Zoryllic",chroma:"100101110111",names:{Zeitler:["Zoryllic"],Dozenal:["YEQian"],zeitler:["Thorcryllic"]}},3819:{title:"Aeolanygic",chroma:"110101110111",names:{Zeitler:["Aeolanygic"],Dozenal:["YIRian"],zeitler:["Kynygic"]}},3821:{title:"Diminishing Nonamode 8th Rotation",chroma:"101101110111",names:{Western:["Diminishing Nonamode 8th Rotation"],Zeitler:["Epyrygic"],Dozenal:["YISian"],zeitler:["Modygic"]}},3823:{title:"Epinyllian",chroma:"111101110111",names:{Zeitler:["Epinyllian"],Dozenal:["YITian"],zeitler:["Katagyllian"]}},3825:{title:"Pynyllic",chroma:"100011110111",names:{Zeitler:["Pynyllic"],Dozenal:["YIVian"],zeitler:["Kogyllic"]}},3827:{title:"Dorygic",chroma:"110011110111",names:{Zeitler:["Dorygic"],Dozenal:["YIWian"],zeitler:["Tholygic"]}},3829:{title:"Taishikichô",chroma:"101011110111",names:{Japanese:["Taishikichô","Ryo"],Carnatic:["Raga Chayanat"],"Western Mixed":["Lydian/Mixolydian Mixed"],Zeitler:["Aerycrygic"],Dozenal:["YIXian"],zeitler:["Zylygic"]}},3831:{title:"Ionyllian",chroma:"111011110111",names:{Zeitler:["Ionyllian"],Dozenal:["YIYian"],zeitler:["Ionyllian"]}},3833:{title:"Dycrygic",chroma:"100111110111",names:{Zeitler:["Dycrygic"],Dozenal:["YIZian"],zeitler:["Zoptygic"]}},3835:{title:"Messiaen Mode 7 Rotation 2",chroma:"110111110111",names:{Messiaen:["Messiaen Mode 7 Rotation 2","Messiaen Mode 7 Inverse"],Zeitler:["Katodyllian"],Dozenal:["YIBian"],zeitler:["Mogyllian"]}},3837:{title:"Minor Pentatonic With Leading Tones",chroma:"101111110111",names:{"Western Modern":["Minor Pentatonic With Leading Tones"],Zeitler:["Garyllian"],Dozenal:["YICian"],zeitler:["Solyllian"]}},3839:{title:"Chromatic Undecamode 4",chroma:"111111110111",names:{"Western Modern":["Chromatic Undecamode 4","Undecatonic Chromatic 4"],Western:["Chromatic Undecamode 8th Rotation"],Zeitler:["Mixolatic"],Dozenal:["COWian"],zeitler:["Aeolatic"]}},3841:{title:"Pentatonic Chromatic Descending",chroma:"100000001111",names:{"Western Modern":["Pentatonic Chromatic Descending"],Dozenal:["YIFian"]}},3843:{title:"Hexatonic Chromatic 5",chroma:"110000001111",names:{"Western Modern":["Hexatonic Chromatic 5"],Dozenal:["YIGian"]}},3845:{title:"YIHian",chroma:"101000001111",names:{}},3847:{title:"Heptatonic Chromatic 5",chroma:"111000001111",names:{"Western Modern":["Heptatonic Chromatic 5"],Bedwell:["Phrygian +534"],Western:["Chromatic Heptamode 3rd Rotation"],Dozenal:["YIJian"]}},3849:{title:"YIKian",chroma:"100100001111",names:{}},3851:{title:"Phrygian +54",chroma:"110100001111",names:{Bedwell:["Phrygian +54"],Dozenal:["YILian"]}},3853:{title:"Melodic 654",chroma:"101100001111",names:{Bedwell:["Melodic 654"],Dozenal:["YOMian"]}},3855:{title:"Octatonic Chromatic 5",chroma:"111100001111",names:{"Western Modern":["Octatonic Chromatic 5"],Western:["Chromatic Octamode 4th Rotation"],Dozenal:["YONian"]}},3857:{title:"Ponimic",chroma:"100010001111",names:{Zeitler:["Ponimic"],Dozenal:["YOPian"],zeitler:["Thydimic"]}},3859:{title:"Ionian 2654",chroma:"110010001111",names:{Bedwell:["Ionian 2654"],Zeitler:["Aeolarian"],Dozenal:["YOQian"],zeitler:["Katydian"]}},3861:{title:"Ionian 654",chroma:"101010001111",names:{Bedwell:["Ionian 654"],Zeitler:["Phroptian"],Dozenal:["YORian"],zeitler:["Galian"]}},3863:{title:"Eparyllic",chroma:"111010001111",names:{Zeitler:["Eparyllic"],Dozenal:["YOSian"],zeitler:["Tholyllic"]}},3865:{title:"Ionian 2654",chroma:"100110001111",names:{Bedwell:["Ionian 2654"],Zeitler:["Starian"],Dozenal:["YOTian"],zeitler:["Thagian"]}},3867:{title:"Storyllic",chroma:"110110001111",names:{Zeitler:["Storyllic"],Dozenal:["YOVian"],zeitler:["Gyryllic"]}},3869:{title:"Bygyllic",chroma:"101110001111",names:{Zeitler:["Bygyllic"],Dozenal:["YOWian"],zeitler:["Dygyllic"]}},3871:{title:"Nonatonic Chromatic 5",chroma:"111110001111",names:{"Western Modern":["Nonatonic Chromatic 5"],Western:["Chromatic Nonamode 5th Rotation"],Zeitler:["Aerynygic"],Dozenal:["YOXian"],zeitler:["Thyptygic"]}},3873:{title:"YOYian",chroma:"100001001111",names:{}},3875:{title:"Superlydian Augmented 254",chroma:"110001001111",names:{Bedwell:["Superlydian Augmented 254"],Zeitler:["Aeryptian"],Dozenal:["YOZian"],zeitler:["Pacrian"]}},3877:{title:"Ionian 3654",chroma:"101001001111",names:{Bedwell:["Ionian 3654"],Zeitler:["Thanian"],Dozenal:["YOBian"],zeitler:["Dothian"]}},3879:{title:"Pathyllic",chroma:"111001001111",names:{Zeitler:["Pathyllic"],Dozenal:["YOCian"],zeitler:["Sonyllic"]}},3881:{title:"Superlydian Augmented 54",chroma:"100101001111",names:{Bedwell:["Superlydian Augmented 54"],Zeitler:["Morian"],Dozenal:["YODian"],zeitler:["Katorian"]}},3883:{title:"Kyryllic",chroma:"110101001111",names:{Zeitler:["Kyryllic"],Dozenal:["YOFian"],zeitler:["Katocryllic"]}},3885:{title:"Styryllic",chroma:"101101001111",names:{Zeitler:["Styryllic"],Dozenal:["YOGian"],zeitler:["Aeragyllic"]}},3887:{title:"Phrathygic",chroma:"111101001111",names:{Zeitler:["Phrathygic"],Dozenal:["YUHian"],zeitler:["Lynygic"]}},3889:{title:"Superlydian Augmented 254",chroma:"100011001111",names:{Bedwell:["Superlydian Augmented 254"],Zeitler:["Parian"],Dozenal:["YUJian"],zeitler:["Dylian"]}},3891:{title:"Ryryllic",chroma:"110011001111",names:{Zeitler:["Ryryllic"],Dozenal:["YUKian"],zeitler:["Pythyllic"]}},3893:{title:"Phrocryllic",chroma:"101011001111",names:{Zeitler:["Phrocryllic"],Dozenal:["YULian"],zeitler:["Katydyllic"]}},3895:{title:"Eparygic",chroma:"111011001111",names:{Zeitler:["Eparygic"],Dozenal:["YUMian"],zeitler:["Stodygic"]}},3897:{title:"Locryllic",chroma:"100111001111",names:{Zeitler:["Locryllic"],Dozenal:["YUNian"],zeitler:["Epyryllic"]}},3899:{title:"Katorygic",chroma:"110111001111",names:{Zeitler:["Katorygic"],Dozenal:["YUPian"],zeitler:["Aeroptygic"]}},3901:{title:"Bycrygic",chroma:"101111001111",names:{Zeitler:["Bycrygic"],Dozenal:["YUQian"],zeitler:["Aeracrygic"]}},3903:{title:"Decatonic Chromatic 5",chroma:"111111001111",names:{"Western Modern":["Decatonic Chromatic 5"],Western:["Chromatic Decamode 6th Rotation"],Zeitler:["Aeogyllian"],Dozenal:["YURian"],zeitler:["Thogyllian"]}},3905:{title:"YUSian",chroma:"100000101111",names:{}},3907:{title:"Superlydian Augmented 2354",chroma:"110000101111",names:{Bedwell:["Superlydian Augmented 2354"],Dozenal:["YUTian"]}},3909:{title:"Superlydian Augmented 2354",chroma:"101000101111",names:{Bedwell:["Superlydian Augmented 2354"],Zeitler:["Rydian"],Dozenal:["YUVian"],zeitler:["Aerolian"]}},3911:{title:"Katyryllic",chroma:"111000101111",names:{Zeitler:["Katyryllic"],Dozenal:["YUWian"],zeitler:["Gydyllic"]}},3913:{title:"Bonian",chroma:"100100101111",names:{Zeitler:["Bonian"],Dozenal:["YUXian"],zeitler:["Gynian"]}},3915:{title:"Gogyllic",chroma:"110100101111",names:{Zeitler:["Gogyllic"],Dozenal:["YUYian"],zeitler:["Kygyllic"]}},3917:{title:"Epaphyllic",chroma:"101100101111",names:{Zeitler:["Epaphyllic"],Dozenal:["YUZian"],zeitler:["Aerogyllic"]}},3919:{title:"Lynygic",chroma:"111100101111",names:{Zeitler:["Lynygic"],Dozenal:["YUBian"],zeitler:["Phrathygic"]}},3921:{title:"Superlydian Augmented 2354",chroma:"100010101111",names:{Bedwell:["Superlydian Augmented 2354"],Zeitler:["Pythian"],Dozenal:["ZABian"],zeitler:["Konian"]}},3923:{title:"Stoptyllic",chroma:"110010101111",names:{Zeitler:["Stoptyllic"],Dozenal:["ZACian"],zeitler:["Aeolonyllic"]}},3925:{title:"Thyryllic",chroma:"101010101111",names:{Zeitler:["Thyryllic"],Dozenal:["ZADian"],zeitler:["Gynyllic"]}},3927:{title:"Monygic",chroma:"111010101111",names:{Zeitler:["Monygic"],Dozenal:["ZAFian"],zeitler:["Darygic"]}},3929:{title:"Aeolothyllic",chroma:"100110101111",names:{Zeitler:["Aeolothyllic"],Dozenal:["ZAGian"],zeitler:["Rycryllic"]}},3931:{title:"Aerygic",chroma:"110110101111",names:{Zeitler:["Aerygic"],Dozenal:["ZAHian"],zeitler:["Zyphygic"]}},3933:{title:"Ionidygic",chroma:"101110101111",names:{Zeitler:["Ionidygic"],Dozenal:["ZAJian"],zeitler:["Zanygic"]}},3935:{title:"Kataphyllian",chroma:"111110101111",names:{Zeitler:["Kataphyllian"],Dozenal:["ZAKian"],zeitler:["Phradyllian"]}},3937:{title:"Superlydian Augmented 3524",chroma:"100001101111",names:{Bedwell:["Superlydian Augmented 3524"],Dozenal:["ZALian"]}},3939:{title:"Dogyllic",chroma:"110001101111",names:{Zeitler:["Dogyllic"],Dozenal:["ZAMian"],zeitler:["Mixonyllic"]}},3941:{title:"Stathyllic",chroma:"101001101111",names:{Zeitler:["Stathyllic"],Dozenal:["ZANian"],zeitler:["Lylyllic"]}},3943:{title:"Zynygic",chroma:"111001101111",names:{Zeitler:["Zynygic"],Dozenal:["ZAPian"],zeitler:["Kodygic"]}},3945:{title:"Lydyllic",chroma:"100101101111",names:{Zeitler:["Lydyllic"],Dozenal:["ZAQian"],zeitler:["Lothyllic"]}},3947:{title:"Ryptygic",chroma:"110101101111",names:{Zeitler:["Ryptygic"],Dozenal:["GIRian"],zeitler:["Lythygic"]}},3949:{title:"Koptygic",chroma:"101101101111",names:{Zeitler:["Koptygic"],Dozenal:["ZASian"],zeitler:["Rodygic"]}},3951:{title:"Mathyllian",chroma:"111101101111",names:{Zeitler:["Mathyllian"],Dozenal:["ZATian"],zeitler:["Mathyllian"]}},3953:{title:"Thagyllic",chroma:"100011101111",names:{Zeitler:["Thagyllic"],Dozenal:["ZAVian"],zeitler:["Lodyllic"]}},3955:{title:"Galygic",chroma:"110011101111",names:{Zeitler:["Galygic"],Dozenal:["ZEWian"],zeitler:["Mixodygic"]}},3957:{title:"Porygic",chroma:"101011101111",names:{Zeitler:["Porygic"],Dozenal:["ZEXian"],zeitler:["Epilygic"]}},3959:{title:"Katagyllian",chroma:"111011101111",names:{Zeitler:["Katagyllian"],Dozenal:["ZEYian"],zeitler:["Epinyllian"]}},3961:{title:"Mixolydygic",chroma:"100111101111",names:{Zeitler:["Mixolydygic"],Dozenal:["ZEZian"],zeitler:["Dydygic"]}},3963:{title:"Aeoryllian",chroma:"110111101111",names:{Zeitler:["Aeoryllian"],Dozenal:["ZEBian"],zeitler:["Epityllian"]}},3965:{title:"Messiaen Mode 7 Rotation 3",chroma:"101111101111",names:{Messiaen:["Messiaen Mode 7 Rotation 3","Messiaen 7th Mode Inversed"],Zeitler:["Thydyllian"],Dozenal:["ZECian"],zeitler:["Lyryllian"]}},3967:{title:"Chromatic Undecamode 5",chroma:"111111101111",names:{"Western Modern":["Chromatic Undecamode 5","Undecatonic Chromatic 5"],Western:["Chromatic Undecamode 7th Rotation"],Zeitler:["Soratic"],Dozenal:["CATian"],zeitler:["Ionatic"]}},3969:{title:"Hexatonic Chromatic Descending",chroma:"100000011111",names:{"Western Modern":["Hexatonic Chromatic Descending"],Dozenal:["ZEFian"]}},3971:{title:"Superlydian Augmented 2534",chroma:"110000011111",names:{Bedwell:["Superlydian Augmented 2534"],"Western Modern":["Heptatonic Chromatic 6"],Western:["Chromatic Heptamode 2nd Rotation"],Dozenal:["ZEGian"]}},3973:{title:"Superlydian Augmented 2534",chroma:"101000011111",names:{Bedwell:["Superlydian Augmented 2534"],Dozenal:["ZEHian"]}},3975:{title:"Octatonic Chromatic 6",chroma:"111000011111",names:{"Western Modern":["Octatonic Chromatic 6"],Western:["Chromatic Octamode 3rd Rotation"],Dozenal:["ZEJian"]}},3977:{title:"Superlydian Augmented 534",chroma:"100100011111",names:{Bedwell:["Superlydian Augmented 534"],Zeitler:["Kythian"],Dozenal:["ZEKian"],zeitler:["Epydian"]}},3979:{title:"Dynyllic",chroma:"110100011111",names:{Zeitler:["Dynyllic"],Dozenal:["ZELian"],zeitler:["Bonyllic"]}},3981:{title:"Phrycryllic",chroma:"101100011111",names:{Zeitler:["Phrycryllic"],Dozenal:["ZEMian"],zeitler:["Phracryllic"]}},3983:{title:"Nonatonic Chromatic 6",chroma:"111100011111",names:{"Western Modern":["Nonatonic Chromatic 6"],Western:["Chromatic Nonamode 4th Rotation"],Zeitler:["Thyptygic"],Dozenal:["ZENian"],zeitler:["Aerynygic"]}},3985:{title:"Superlydian Augmented 2534",chroma:"100010011111",names:{Bedwell:["Superlydian Augmented 2534"],Zeitler:["Thadian"],Dozenal:["ZEPian"],zeitler:["Mygian"]}},3987:{title:"Loryllic",chroma:"110010011111",names:{Zeitler:["Loryllic"],Dozenal:["ZEQian"],zeitler:["Kataptyllic"]}},3989:{title:"Sythyllic",chroma:"101010011111",names:{Zeitler:["Sythyllic"],Dozenal:["KODian"],zeitler:["Zocryllic"]}},3991:{title:"Badygic",chroma:"111010011111",names:{Zeitler:["Badygic"],Dozenal:["ZISian"],zeitler:["Thadygic"]}},3993:{title:"Ioniptyllic",chroma:"100110011111",names:{Zeitler:["Ioniptyllic"],Dozenal:["ZITian"],zeitler:["Ionathyllic"]}},3995:{title:"Ionygic",chroma:"110110011111",names:{Zeitler:["Ionygic"],Dozenal:["ZIVian"],zeitler:["Byptygic"]}},3997:{title:"Dogygic",chroma:"101110011111",names:{Zeitler:["Dogygic"],Dozenal:["ZIWian"],zeitler:["Gaptygic"]}},3999:{title:"Decatonic Chromatic 6",chroma:"111110011111",names:{"Western Modern":["Decatonic Chromatic 6"],Western:["Chromatic Decamode 5th Rotation"],Zeitler:["Dydyllian"],Dozenal:["ZIXian"],zeitler:["Dydyllian"]}},4001:{title:"Superlydian Augmented 5234",chroma:"100001011111",names:{Bedwell:["Superlydian Augmented 5234"],Dozenal:["ZIYian"]}},4003:{title:"Sadyllic",chroma:"110001011111",names:{Zeitler:["Sadyllic"],Dozenal:["ZIZian"],zeitler:["Thynyllic"]}},4005:{title:"Phradyllic",chroma:"101001011111",names:{Zeitler:["Phradyllic"],Dozenal:["ZIBian"],zeitler:["Thocryllic"]}},4007:{title:"Doptygic",chroma:"111001011111",names:{Zeitler:["Doptygic"],Dozenal:["ZICian"],zeitler:["Rycrygic"]}},4009:{title:"Phranyllic",chroma:"100101011111",names:{Zeitler:["Phranyllic"],Dozenal:["ZIDian"],zeitler:["Zanyllic"]}},4011:{title:"Styrygic",chroma:"110101011111",names:{Zeitler:["Styrygic"],Dozenal:["ZIFian"],zeitler:["Lothygic"]}},4013:{title:"Raga Pilu",chroma:"101101011111",names:{Carnatic:["Raga Pilu"],"Western Modern":["Full Minor"],Zeitler:["Dathygic"],Dozenal:["ZIGian"],zeitler:["Katygic"]}},4015:{title:"Phradyllian",chroma:"111101011111",names:{Zeitler:["Phradyllian"],Dozenal:["ZIHian"],zeitler:["Kataphyllian"]}},4017:{title:"Dolyllic",chroma:"100011011111",names:{Zeitler:["Dolyllic"],Dozenal:["ZIJian"],zeitler:["Poptyllic"]}},4019:{title:"Lonygic",chroma:"110011011111",names:{Zeitler:["Lonygic"],Dozenal:["ZIKian"],zeitler:["Phroptygic"]}},4021:{title:"Raga Pahadi",chroma:"101011011111",names:{Carnatic:["Raga Pahadi"],Zeitler:["Bagygic"],Dozenal:["ZILian"],zeitler:["Gothygic"]}},4023:{title:"Styptyllian",chroma:"111011011111",names:{Zeitler:["Styptyllian"],Dozenal:["ZOMian"],zeitler:["Bagyllian"]}},4025:{title:"Kalygic",chroma:"100111011111",names:{Zeitler:["Kalygic"],Dozenal:["ZONian"],zeitler:["Phradygic"]}},4027:{title:"Ragyllian",chroma:"110111011111",names:{Zeitler:["Ragyllian"],Dozenal:["ZOPian"],zeitler:["Sagyllian"]}},4029:{title:"Major/Minor Mixed",chroma:"101111011111",names:{"Western Mixed":["Major/Minor Mixed"],Zeitler:["Aerycryllian"],Dozenal:["ZOQian"],zeitler:["Godyllian"]}},4031:{title:"Chromatic Undecamode 6",chroma:"111111011111",names:{"Western Modern":["Chromatic Undecamode 6","Undecatonic Chromatic 6"],Western:["Chromatic Undecamode 6th Rotation"],Zeitler:["Godatic"],Dozenal:["BATian"],zeitler:["Eptatic"]}},4033:{title:"Alt-Maximus",chroma:"100000111111",names:{Bedwell:["Alt-Maximus"],"Western Modern":["Heptatonic Chromatic Descending"],Western:["Chromatic Heptamode 1stRotation"],Dozenal:["ZOSian"]}},4035:{title:"Octatonic Chromatic 7",chroma:"110000111111",names:{"Western Modern":["Octatonic Chromatic 7"],Western:["Chromatic Octamode 2nd Rotation"],Dozenal:["ZOTian"]}},4037:{title:"Ionyllic",chroma:"101000111111",names:{Zeitler:["Ionyllic"],Dozenal:["ZOVian"],zeitler:["Aerylyllic"]}},4039:{title:"Nonatonic Chromatic 7",chroma:"111000111111",names:{"Western Modern":["Nonatonic Chromatic 7"],Western:["Chromatic Nonamode 3rd Rotation"],Zeitler:["Ionogygic"],Dozenal:["ZOWian"],zeitler:["Eporygic"]}},4041:{title:"Zaryllic",chroma:"100100111111",names:{Zeitler:["Zaryllic"],Dozenal:["ZOXian"],zeitler:["Laryllic"]}},4043:{title:"Phrocrygic",chroma:"110100111111",names:{Zeitler:["Phrocrygic"],Dozenal:["ZOYian"],zeitler:["Aeolynygic"]}},4045:{title:"Gyptygic",chroma:"101100111111",names:{Zeitler:["Gyptygic"],Dozenal:["ZOZian"],zeitler:["Stadygic"]}},4047:{title:"Decatonic Chromatic 7",chroma:"111100111111",names:{"Western Modern":["Decatonic Chromatic 7"],Western:["Chromatic Decamode 4th Rotation"],Zeitler:["Thogyllian"],Dozenal:["ZOBian"],zeitler:["Aeogyllian"]}},4049:{title:"Stycryllic",chroma:"100010111111",names:{Zeitler:["Stycryllic"],Dozenal:["ZOCian"],zeitler:["Dacryllic"]}},4051:{title:"Ionilygic",chroma:"110010111111",names:{Zeitler:["Ionilygic"],Dozenal:["ZODian"],zeitler:["Pyrygic"]}},4053:{title:"Kyrygic",chroma:"101010111111",names:{Zeitler:["Kyrygic"],Dozenal:["ZOFian"],zeitler:["Sylygic"]}},4055:{title:"Dagyllian",chroma:"111010111111",names:{Zeitler:["Dagyllian"],Dozenal:["ZOGian"],zeitler:["Loptyllian"]}},4057:{title:"Phrygic",chroma:"100110111111",names:{Zeitler:["Phrygic"],Dozenal:["ZUHian"],zeitler:["Aeolocrygic"]}},4059:{title:"Zolyllian",chroma:"110110111111",names:{Zeitler:["Zolyllian"],Dozenal:["ZUJian"],zeitler:["Boptyllian"]}},4061:{title:"Staptyllian",chroma:"101110111111",names:{Zeitler:["Staptyllian"],Dozenal:["ZUKian"],zeitler:["Zyryllian"]}},4063:{title:"Chromatic Undecamode 7",chroma:"111110111111",names:{"Western Modern":["Chromatic Undecamode 7","Undecatonic Chromatic 7"],Western:["Chromatic Undecamode Basic","Chromatic Undecamode 5th Rotation"],Zeitler:["Eptatic"],Dozenal:["DOGian"],zeitler:["Godatic"]}},4065:{title:"Octatonic Chromatic Descending",chroma:"100001111111",names:{"Western Modern":["Octatonic Chromatic Descending"],Western:["Chromatic Octamode 1st Rotation"],Dozenal:["APLian"]}},4067:{title:"Nonatonic Chromatic 8",chroma:"110001111111",names:{"Western Modern":["Nonatonic Chromatic 8"],Western:["Chromatic Nonamode 2nd Rotation"],Zeitler:["Aeolarygic"],Dozenal:["ZUNian"],zeitler:["Thaptygic"]}},4069:{title:"Starygic",chroma:"101001111111",names:{Zeitler:["Starygic"],Dozenal:["ZUPian"],zeitler:["Thacrygic"]}},4071:{title:"Decatonic Chromatic 8",chroma:"111001111111",names:{"Western Modern":["Decatonic Chromatic 8"],Western:["Chromatic Decamode 3rd Rotation"],Zeitler:["Rygyllian"],Dozenal:["ZUQian"],zeitler:["Dycryllian"]}},4073:{title:"Sathygic",chroma:"100101111111",names:{Zeitler:["Sathygic"],Dozenal:["ZURian"],zeitler:["Gythygic"]}},4075:{title:"Katyllian",chroma:"110101111111",names:{Zeitler:["Katyllian"],Dozenal:["ZUSian"],zeitler:["Ryptyllian"]}},4077:{title:"Gothyllian",chroma:"101101111111",names:{Zeitler:["Gothyllian"],Dozenal:["ZUTian"],zeitler:["Dathyllian"]}},4079:{title:"Chromatic Undecamode 8",chroma:"111101111111",names:{"Western Modern":["Chromatic Undecamode 8","Undecatonic Chromatic 8"],Western:["Chromatic Undecamode 4th Rotation"],Zeitler:["Ionatic"],Dozenal:["PIGian"],zeitler:["Soratic"]}},4081:{title:"Nonatonic Chromatic Descending",chroma:"100011111111",names:{"Western Modern":["Nonatonic Chromatic Descending"],Western:["Chromatic Nonamode Ist Rotation"],Zeitler:["Manygic"],Dozenal:["ZUWian"],zeitler:["Stanygic"]}},4083:{title:"Decatonic Chromatic 9",chroma:"110011111111",names:{"Western Modern":["Decatonic Chromatic 9"],Western:["Chromatic Decamode 2nd Rotation"],Zeitler:["Bathyllian"],Dozenal:["ZUXian"],zeitler:["Madyllian"]}},4085:{title:"Sydyllian",chroma:"101011111111",names:{Zeitler:["Sydyllian"],Dozenal:["ZUYian"],zeitler:["Aeradyllian"]}},4087:{title:"Chromatic Undecamode 9",chroma:"111011111111",names:{"Western Modern":["Chromatic Undecamode 9","Undecatonic Chromatic 9"],Western:["Chromatic Undecamode 3rd Rotation"],Zeitler:["Aeolatic"],Dozenal:["YAKian"],zeitler:["Mixolatic"]}},4089:{title:"Decatonic Chromatic Descending",chroma:"100111111111",names:{"Western Modern":["Decatonic Chromatic Descending"],Zeitler:["Katoryllian"],Dozenal:["ZUBian"],zeitler:["Zogyllian"]}},4091:{title:"Chromatic Undecamode 10",chroma:"110111111111",names:{"Western Modern":["Chromatic Undecamode 10","Undecatonic Chromatic 10"],Western:["Chromatic Undecamode 2nd Rotation"],Zeitler:["Thydatic"],Dozenal:["EELian"],zeitler:["Zylatic"]}},4093:{title:"Chromatic Undecamode 11",chroma:"101111111111",names:{"Western Modern":["Chromatic Undecamode 11","Undecatonic Chromatic Descending"],Western:["Chromatic Undecamode 1st Rotation"],Zeitler:["Aerycratic"],Dozenal:["FLYian"],zeitler:["Solatic"]}},4095:{title:"Chromatic",chroma:"111111111111",names:{Western:["Chromatic","Twelve-tone Chromatic"],Zeitler:["Chromatic"],Dozenal:["CROMian"],zeitler:["Chromatic"]}}},u={class:"flex flex-col gap-4 p-4"},S={class:"flex flex-wrap"},C={class:"text-xl"},I={class:"flex flex-wrap"},P={class:"flex flex-wrap gap-4 p-1"},T={class:"op-70"},k={__name:"ScaleList",setup(L){const r=p(()=>Object.values(B).find(o=>o.chroma==t.chroma));return(o,c)=>{var m;const D=A,Z=M;return e(),i("div",u,[n("div",S,[s(D,{class:"flex-1",style:{flex:"0 1 300px"}}),s(Z,{style:{flex:"1 1 60%"},chroma:y(t).chroma,"onUpdate:chroma":c[0]||(c[0]=a=>y(t).chroma=a),editable:""},{default:R(()=>{var a;return[n("div",C,l((a=r.value)==null?void 0:a.title),1)]}),_:1},8,["chroma"])]),n("div",I,[(e(!0),i(z,null,d((m=r.value)==null?void 0:m.names,(a,g)=>(e(),i("div",P,[n("div",T,l(g)+":",1),(e(!0),i(z,null,d(a,h=>(e(),i("div",{class:"p-0",key:h},l(h),1))),128))]))),256))])])}}};export{k as default}; diff --git a/assets/chunks/ScaleRaga.BCOhMamF.js b/assets/chunks/ScaleRaga.7j4o9ynS.js similarity index 99% rename from assets/chunks/ScaleRaga.BCOhMamF.js rename to assets/chunks/ScaleRaga.7j4o9ynS.js index a41ad65ce0..173dadf6b1 100644 --- a/assets/chunks/ScaleRaga.BCOhMamF.js +++ b/assets/chunks/ScaleRaga.7j4o9ynS.js @@ -1 +1 @@ -import{n as P,g as m,c as D}from"./theme.ClagsQLu.js";import{M as G,x as l,y as h,F as s,B as n,C as k,E as e,A as o,q as C,b as v,u as _,c as f,d as x,P as M,G as i,I as b,z as p}from"./framework.BR0mAPCP.js";import{_ as V}from"./ScaleDegreesCircle.DwOfZut9.js";import"./SvgRing.0H20IYi1.js";const w={class:"select-none w-20rem m-2",version:"1.1",baseProfile:"full",viewBox:"0 0 95 6",xmlns:"http://www.w3.org/2000/svg","font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle"},B=["onClick","cx","fill","stroke","opacity"],A={__name:"ChromaLine",props:{chroma:{type:String,default:"101010101010"}},setup(y){const r=[0,1,0,1,0,1,0,1,1,0,1,0];return(a,c)=>{const t=G("tooltip");return l(),h("svg",w,[(l(!0),h(s,null,n(y.chroma.split(""),(d,g)=>(l(),h("g",{class:"cursor-pointer",key:d},[k(o("circle",{class:"transition-all duration-300 ease-out",onClick:S=>e(m).tonic=(e(m).tonic+g)%12,cx:g*8+4+2*r[g],cy:"3",r:"2",fill:d=="1"?e(D)(g+e(m).tonic,3):e(P)[(g+e(m).tonic)%12].length<2?"#fff4":"#0004",stroke:d=="0"?"currentColor":"transparent","stroke-width":"0.25",opacity:d=="1"?1:.5},null,8,B),[[t,e(P)[(g+e(m).tonic)%12]]])]))),128))])}}},R={0:{num:1,title:"Kanakāngi",chroma:"111001011100",asc:"S R1 G1 M1 P D1 N1 S",dec:"S N1 D1 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"కనకాంగి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},1:{num:2,title:"Rathnāngi",chroma:"111001011010",asc:"S R1 G1 M1 P D1 N2 S",dec:"S N2 D1 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"రత్నాంగి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},2:{num:3,title:"Gānamoorti",chroma:"111001011001",asc:"S R1 G1 M1 P D1 N3 S",dec:"S N3 D1 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"గానమూర్తి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},3:{num:4,title:"Vanaspati",chroma:"111001010110",asc:"S R1 G1 M1 P D2 N2 S",dec:"S N2 D2 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"వనస్పతి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},4:{num:5,title:"Mānavati",chroma:"111001010101",asc:"S R1 G1 M1 P D2 N3 S",dec:"S N3 D2 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"మానవతి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},5:{num:6,title:"Tānaroopi",chroma:"111001010011",asc:"S R1 G1 M1 P D3 N3 S",dec:"S N3 D3 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"తానరూపి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},6:{num:7,title:"Senāvati",chroma:"110101011100",asc:"S R1 G2 M1 P D1 N1 S",dec:"S N1 D1 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"సేనావతి","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},7:{num:8,title:"Hanumatodi",chroma:"110101011010",asc:"S R1 G2 M1 P D1 N2 S",dec:"S N2 D1 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"హనుమతోడి","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},8:{num:9,title:"Dhenuka",chroma:"110101011001",asc:"S R1 G2 M1 P D1 N3 S",dec:"S N3 D1 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"ధేనుక","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},9:{num:10,title:"Nātakapriya",chroma:"110101010110",asc:"S R1 G2 M1 P D2 N2 S",dec:"S N2 D2 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"నాటకప్రియ","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},10:{num:11,title:"Kokilapriyaa",chroma:"110101010101",asc:"S R1 G2 M1 P D2 N3 S",dec:"S N3 D2 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"కోకిలప్రియ","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},11:{num:12,title:"Rupavati",chroma:"110101010011",asc:"S R1 G2 M1 P D3 N3 S",dec:"S N3 D3 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"రూపవతి","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},12:{num:13,title:"Gāyakapriya",chroma:"110011011100",asc:"S R1 G3 M1 P D1 N1 S",dec:"S N1 D1 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"గాయకప్రియ","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},13:{num:14,title:"Vakulābharanam",chroma:"110011011010",asc:"S R1 G3 M1 P D1 N2 S",dec:"S N2 D1 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"వకుళాభరణం","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},14:{num:15,title:"Māyamālava Gowla",chroma:"110011011001",asc:"S R1 G3 M1 P D1 N3 S",dec:"S N3 D1 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"మాయామాళవగౌళ","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},15:{num:16,title:"Chakravākam",chroma:"110011010110",asc:"S R1 G3 M1 P D2 N2 S",dec:"S N2 D2 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"చక్రవాకం","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},16:{num:17,title:"Sooryakāntam",chroma:"110011010101",asc:"S R1 G3 M1 P D2 N3 S",dec:"S N3 D2 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"సూర్యకాంతం","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},17:{num:18,title:"Hatakāmbari",chroma:"110011010011",asc:"S R1 G3 M1 P D3 N3 S",dec:"S N3 D3 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"హటకాంబరి","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},18:{num:19,title:"Jhankāradhvani",chroma:"101101011100",asc:"S R2 G2 M1 P D1 N1 S",dec:"S N1 D1 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"ఝంకారధ్వని","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},19:{num:20,title:"Natabhairavi",chroma:"101101011010",asc:"S R2 G2 M1 P D1 N2 S",dec:"S N2 D1 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"నఠభైరవి","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},20:{num:21,title:"Keeravāni",chroma:"101101011001",asc:"S R2 G2 M1 P D1 N3 S",dec:"S N3 D1 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"కీరవాణి","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},21:{num:22,title:"Kharaharapriya",chroma:"101101010110",asc:"S R2 G2 M1 P D2 N2 S",dec:"S N2 D2 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"ఖరహరప్రియ","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},22:{num:23,title:"Gowri Manohari",chroma:"101101010101",asc:"S R2 G2 M1 P D2 N3 S",dec:"S N3 D2 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"గౌరీమనోహరి","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},23:{num:24,title:"Varunapriyaa",chroma:"101101010011",asc:"S R2 G2 M1 P D3 N3 S",dec:"S N3 D3 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"వరుణప్రియ","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},24:{num:25,title:"Māraranjani",chroma:"101011011100",asc:"S R2 G3 M1 P D1 N1 S",dec:"S N1 D1 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"మారరంజని","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},25:{num:26,title:"Chārukeshi",chroma:"101011011010",asc:"S R2 G3 M1 P D1 N2 S",dec:"S N2 D1 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"చారుకేశి","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},26:{num:27,title:"Sarasāngi",chroma:"101011011001",asc:"S R2 G3 M1 P D1 N3 S",dec:"S N3 D1 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"సరసాంగి","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},27:{num:28,title:"Harikāmbhoji",chroma:"101011010110",asc:"S R2 G3 M1 P D2 N2 S",dec:"S N2 D2 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"హరికాంభోజి","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},28:{num:29,title:"Dheera Shankarābharanam",chroma:"101011010101",asc:"S R2 G3 M1 P D2 N3 S",dec:"S N3 D2 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"ధీరశంకరాభరణం","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},29:{num:30,title:"Nāganandhini",chroma:"101011010011",asc:"S R2 G3 M1 P D3 N3 S",dec:"S N3 D3 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"నాగానందిని","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},30:{num:31,title:"Yāgapriyā",chroma:"100111011100",asc:"S R3 G3 M1 P D1 N1 S",dec:"S N1 D1 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"యాగప్రియ","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},31:{num:32,title:"Rāgavardhani",chroma:"100111011010",asc:"S R3 G3 M1 P D1 N2 S",dec:"S N2 D1 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"రాగవర్ధిని","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},32:{num:33,title:"Gangeyabhushani",chroma:"100111011001",asc:"S R3 G3 M1 P D1 N3 S",dec:"S N3 D1 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"గాంగేయభూషిణి","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},33:{num:34,title:"Vāgadeeshwari",chroma:"100111010110",asc:"S R3 G3 M1 P D2 N2 S",dec:"S N2 D2 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"వాగధీశ్వరి","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},34:{num:35,title:"Shulini",chroma:"100111010101",asc:"S R3 G3 M1 P D2 N3 S",dec:"S N3 D2 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"శూలిని","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},35:{num:36,title:"Chalanāttai",chroma:"100111010011",asc:"S R3 G3 M1 P D3 N3 S",dec:"S N3 D3 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"చలనాట","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},36:{num:37,title:"Sālagam",chroma:"111000111100",asc:"S R1 G1 M2 P D1 N1 S",dec:"S N1 D1 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"సాలగం","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},37:{num:38,title:"Jalārnavam",chroma:"111000111010",asc:"S R1 G1 M2 P D1 N2 S",dec:"S N2 D1 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"జలార్ణవం","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},38:{num:39,title:"Jhālavarāli",chroma:"111000111001",asc:"S R1 G1 M2 P D1 N3 S",dec:"S N3 D1 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"ఝాలవరాళి","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},39:{num:40,title:"Navaneetham",chroma:"111000110110",asc:"S R1 G1 M2 P D2 N2 S",dec:"S N2 D2 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"నవనీతం","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},40:{num:41,title:"Pāvani",chroma:"111000110101",asc:"S R1 G1 M2 P D2 N3 S",dec:"S N3 D2 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"పావని","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},41:{num:42,title:"Raghupriyaa",chroma:"111000110011",asc:"S R1 G1 M2 P D3 N3 S",dec:"S N3 D3 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"రఘుప్రియ","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},42:{num:43,title:"Ghavāmbhodi",chroma:"110100111100",asc:"S R1 G2 M2 P D1 N1 S",dec:"S N1 D1 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"గవాంబోధి","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},43:{num:44,title:"Bhavapriya",chroma:"110100111010",asc:"S R1 G2 M2 P D1 N2 S",dec:"S N2 D1 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"భవప్రియ","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},44:{num:45,title:"Shubhapanthuvarāli",chroma:"110100111001",asc:"S R1 G2 M2 P D1 N3 S",dec:"S N3 D1 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"శుభపంతువరాళి","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},45:{num:46,title:"Shadvidhamārgini",chroma:"110100110110",asc:"S R1 G2 M2 P D2 N2 S",dec:"S N2 D2 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"షడ్వితమార్గిణి","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},46:{num:47,title:"Suvarnāngi",chroma:"110100110101",asc:"S R1 G2 M2 P D2 N3 S",dec:"S N3 D2 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"సువర్ణాంగి","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},47:{num:48,title:"Divyamani",chroma:"110100110011",asc:"S R1 G2 M2 P D3 N3 S",dec:"S N3 D3 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"దివ్యమణి","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},48:{num:49,title:"Dhavalāmbari",chroma:"110010111100",asc:"S R1 G3 M2 P D1 N1 S",dec:"S N1 D1 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"ధవళాంబరి","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},49:{num:50,title:"Nāmanārāyani",chroma:"110010111010",asc:"S R1 G3 M2 P D1 N2 S",dec:"S N2 D1 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"నామనారాయణి","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},50:{num:51,title:"Panthuvarāli (Kāmavardhani)",chroma:"110010111001",asc:"S R1 G3 M2 P D1 N3 S",dec:"S N3 D1 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"పంతువరాళి (కామవర్థిని)","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},51:{num:52,title:"Rāmapriyā",chroma:"110010110110",asc:"S R1 G3 M2 P D2 N2 S",dec:"S N2 D2 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"రామప్రియ","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},52:{num:53,title:"Gamanashrama",chroma:"110010110101",asc:"S R1 G3 M2 P D2 N3 S",dec:"S N3 D2 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"గమనశ్రమ","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},53:{num:54,title:"Vishvāmbhari",chroma:"110010110011",asc:"S R1 G3 M2 P D3 N3 S",dec:"S N3 D3 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"విశ్వంభరి ","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},54:{num:55,title:"Shyāmalāngi",chroma:"101100111100",asc:"S R2 G2 M2 P D1 N1 S",dec:"S N1 D1 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"శ్యామలాంగి","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},55:{num:56,title:"Shanmukhapriyaa",chroma:"101100111010",asc:"S R2 G2 M2 P D1 N2 S",dec:"S N2 D1 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"షణ్ముఖప్రియ","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},56:{num:57,title:"Simhendra Madhyamam",chroma:"101100111001",asc:"S R2 G2 M2 P D1 N3 S",dec:"S N3 D1 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"సింహేంద్రమధ్యమ","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},57:{num:58,title:"Hemavathi",chroma:"101100110110",asc:"S R2 G2 M2 P D2 N2 S",dec:"S N2 D2 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"హేమవతి","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},58:{num:59,title:"Dharmavathi",chroma:"101100110101",asc:"S R2 G2 M2 P D2 N3 S",dec:"S N3 D2 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"ధర్మవతి","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},59:{num:60,title:"Neethimathi",chroma:"101100110011",asc:"S R2 G2 M2 P D3 N3 S",dec:"S N3 D3 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"నీతిమతి","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},60:{num:61,title:"Kānthāmani",chroma:"101010111100",asc:"S R2 G3 M2 P D1 N1 S",dec:"S N1 D1 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"కాంతామణి","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},61:{num:62,title:"Rishabhapriya",chroma:"101010111010",asc:"S R2 G3 M2 P D1 N2 S",dec:"S N2 D1 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"రిషభప్రియ","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},62:{num:63,title:"Lathāngi",chroma:"101010111001",asc:"S R2 G3 M2 P D1 N3 S",dec:"S N3 D1 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"లతాంగి","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},63:{num:64,title:"Vāchaspathi",chroma:"101010110110",asc:"S R2 G3 M2 P D2 N2 S",dec:"S N2 D2 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"వాచస్పతి","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},64:{num:65,title:"Mechakalyāni",chroma:"101010110101",asc:"S R2 G3 M2 P D2 N3 S",dec:"S N3 D2 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"మేచకళ్యాణి","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},65:{num:66,title:"Chitrāmbari",chroma:"101010110011",asc:"S R2 G3 M2 P D3 N3 S",dec:"S N3 D3 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"చిత్రాంబరి","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},66:{num:67,title:"Sucharitra",chroma:"100110111100",asc:"S R3 G3 M2 P D1 N1 S",dec:"S N1 D1 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"సుచరిత్ర","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"},67:{num:68,title:"Jyothiswaroopini",chroma:"100110111010",asc:"S R3 G3 M2 P D1 N2 S",dec:"S N2 D1 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"జ్యోతిస్వరూపిణి","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"},68:{num:69,title:"Dhātuvardhani",chroma:"100110111001",asc:"S R3 G3 M2 P D1 N3 S",dec:"S N3 D1 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"ధాతువర్ధిని","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"},69:{num:70,title:"Nāsikabhooshhani",chroma:"100110110110",asc:"S R3 G3 M2 P D2 N2 S",dec:"S N2 D2 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"నాసికాభూషిణి","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"},70:{num:71,title:"Kosalam",chroma:"100110110101",asc:"S R3 G3 M2 P D2 N3 S",dec:"S N3 D2 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"కోసలము","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"},71:{num:72,title:"Rasikapriya",chroma:"100110110011",asc:"S R3 G3 M2 P D3 N3 S",dec:"S N3 D3 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"రసికప్రియ","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"}},I={class:"flex flex-wrap embed"},$={class:"flex flex-col",style:{flex:"1 1 600px"}},K={key:0,class:"flex flex-col items-center"},j={class:"text-2xl font-bold"},H={class:"text-sm"},J={class:"p-1"},L={class:"p-1"},z={class:"flex flex-col my-4",style:{flex:"1 1 400px"}},E={class:"flex flex-wrap border-b-2 border-current py-2"},F=["onClick"],O={class:"flex flex-wrap border-b-1 border-current py-2"},q=["onClick"],T=["onClick"],U={class:"p-0 w-10rem m-1"},Y={__name:"ScaleRaga",setup(y){let r={};for(let c=0;c<72;c++){let t=R[c];r[t.category]=r[t.category]||{},r[t.category][t.group]=r[t.category][t.group]||{},r[t.category][t.group][t.num]=t}const a=v({chroma:_("degrees-chroma","101011010100"),current:f(()=>Object.values(R).find(c=>c.chroma==a.chroma)),cat:"Shuddha Madhyama",group:"Indu Chakra"});return x(()=>a.current,c=>{c&&(a.cat=c.category,a.group=c.group)}),(c,t)=>{const d=V,g=A;return l(),h("div",I,[o("div",$,[M(d,{class:"w-full",chroma:a.chroma,"onUpdate:chroma":t[0]||(t[0]=S=>a.chroma=S),fixed5:""},null,8,["chroma"]),a.current?(l(),h("div",K,[o("div",j,i(a.current.title),1),o("div",H,i(a.current.telugu),1),M(g,{chroma:a.chroma},null,8,["chroma"]),o("div",J,"Arohana: "+i(a.current.asc),1),o("div",L,"Avarohana: "+i(a.current.dec),1)])):b("",!0)]),o("div",z,[o("div",E,[(l(!0),h(s,null,n(e(r),(S,u)=>(l(),h("div",{class:p(["text-xl m-2 cursor-pointer",{selected:a.cat==u}]),key:u,onClick:N=>{a.cat=u,a.group=Object.keys(e(r)[u])[0]}},i(u),11,F))),128))]),o("div",O,[(l(!0),h(s,null,n(e(r)[a.cat],(S,u)=>(l(),h("div",{class:p(["m-1 cursor-pointer",{selected:a.group==u}]),key:u,onClick:N=>a.group=u},i(u),11,q))),128))]),(l(!0),h(s,null,n(e(r)[a.cat][a.group],S=>(l(),h("div",{class:p(["p-1 flex flex-wrap cursor-pointer border-1 border-transparent",{active:a.chroma==S.chroma}]),key:S,onClick:u=>a.chroma=S.chroma},[o("div",U,i(S.title),1),t[1]||(t[1]=o("div",{class:"flex-1"},null,-1)),M(g,{chroma:S.chroma},null,8,["chroma"])],10,T))),128))])])}}},aa=C(Y,[["__scopeId","data-v-407d2d01"]]);export{aa as default}; +import{n as P,g as m,c as D}from"./theme.Dd_Fb62b.js";import{M as G,x as l,y as h,F as s,B as n,C as k,E as e,A as o,q as C,b as v,u as _,c as f,d as x,P as M,G as i,I as b,z as p}from"./framework.CQBrk0Ry.js";import{_ as V}from"./ScaleDegreesCircle.Cwq_yB2n.js";import"./SvgRing.CpiEvEsl.js";const w={class:"select-none w-20rem m-2",version:"1.1",baseProfile:"full",viewBox:"0 0 95 6",xmlns:"http://www.w3.org/2000/svg","font-family":"Commissioner, sans-serif","text-anchor":"middle","dominant-baseline":"middle"},B=["onClick","cx","fill","stroke","opacity"],A={__name:"ChromaLine",props:{chroma:{type:String,default:"101010101010"}},setup(y){const r=[0,1,0,1,0,1,0,1,1,0,1,0];return(a,c)=>{const t=G("tooltip");return l(),h("svg",w,[(l(!0),h(s,null,n(y.chroma.split(""),(d,g)=>(l(),h("g",{class:"cursor-pointer",key:d},[k(o("circle",{class:"transition-all duration-300 ease-out",onClick:S=>e(m).tonic=(e(m).tonic+g)%12,cx:g*8+4+2*r[g],cy:"3",r:"2",fill:d=="1"?e(D)(g+e(m).tonic,3):e(P)[(g+e(m).tonic)%12].length<2?"#fff4":"#0004",stroke:d=="0"?"currentColor":"transparent","stroke-width":"0.25",opacity:d=="1"?1:.5},null,8,B),[[t,e(P)[(g+e(m).tonic)%12]]])]))),128))])}}},R={0:{num:1,title:"Kanakāngi",chroma:"111001011100",asc:"S R1 G1 M1 P D1 N1 S",dec:"S N1 D1 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"కనకాంగి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},1:{num:2,title:"Rathnāngi",chroma:"111001011010",asc:"S R1 G1 M1 P D1 N2 S",dec:"S N2 D1 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"రత్నాంగి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},2:{num:3,title:"Gānamoorti",chroma:"111001011001",asc:"S R1 G1 M1 P D1 N3 S",dec:"S N3 D1 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"గానమూర్తి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},3:{num:4,title:"Vanaspati",chroma:"111001010110",asc:"S R1 G1 M1 P D2 N2 S",dec:"S N2 D2 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"వనస్పతి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},4:{num:5,title:"Mānavati",chroma:"111001010101",asc:"S R1 G1 M1 P D2 N3 S",dec:"S N3 D2 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"మానవతి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},5:{num:6,title:"Tānaroopi",chroma:"111001010011",asc:"S R1 G1 M1 P D3 N3 S",dec:"S N3 D3 P M1 G1 R1 S",group:"Indu Chakra",category:"Shuddha Madhyama",telugu:"తానరూపి","tel-group":"ఇందు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},6:{num:7,title:"Senāvati",chroma:"110101011100",asc:"S R1 G2 M1 P D1 N1 S",dec:"S N1 D1 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"సేనావతి","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},7:{num:8,title:"Hanumatodi",chroma:"110101011010",asc:"S R1 G2 M1 P D1 N2 S",dec:"S N2 D1 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"హనుమతోడి","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},8:{num:9,title:"Dhenuka",chroma:"110101011001",asc:"S R1 G2 M1 P D1 N3 S",dec:"S N3 D1 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"ధేనుక","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},9:{num:10,title:"Nātakapriya",chroma:"110101010110",asc:"S R1 G2 M1 P D2 N2 S",dec:"S N2 D2 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"నాటకప్రియ","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},10:{num:11,title:"Kokilapriyaa",chroma:"110101010101",asc:"S R1 G2 M1 P D2 N3 S",dec:"S N3 D2 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"కోకిలప్రియ","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},11:{num:12,title:"Rupavati",chroma:"110101010011",asc:"S R1 G2 M1 P D3 N3 S",dec:"S N3 D3 P M1 G2 R1 S",group:"Netra Chakra",category:"Shuddha Madhyama",telugu:"రూపవతి","tel-group":"నేత్ర చక్ర","tel-cat":"శుద్ధ మధ్యమ"},12:{num:13,title:"Gāyakapriya",chroma:"110011011100",asc:"S R1 G3 M1 P D1 N1 S",dec:"S N1 D1 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"గాయకప్రియ","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},13:{num:14,title:"Vakulābharanam",chroma:"110011011010",asc:"S R1 G3 M1 P D1 N2 S",dec:"S N2 D1 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"వకుళాభరణం","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},14:{num:15,title:"Māyamālava Gowla",chroma:"110011011001",asc:"S R1 G3 M1 P D1 N3 S",dec:"S N3 D1 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"మాయామాళవగౌళ","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},15:{num:16,title:"Chakravākam",chroma:"110011010110",asc:"S R1 G3 M1 P D2 N2 S",dec:"S N2 D2 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"చక్రవాకం","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},16:{num:17,title:"Sooryakāntam",chroma:"110011010101",asc:"S R1 G3 M1 P D2 N3 S",dec:"S N3 D2 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"సూర్యకాంతం","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},17:{num:18,title:"Hatakāmbari",chroma:"110011010011",asc:"S R1 G3 M1 P D3 N3 S",dec:"S N3 D3 P M1 G3 R1 S",group:"Agni Chakra",category:"Shuddha Madhyama",telugu:"హటకాంబరి","tel-group":"అగ్ని చక్ర","tel-cat":"శుద్ధ మధ్యమ"},18:{num:19,title:"Jhankāradhvani",chroma:"101101011100",asc:"S R2 G2 M1 P D1 N1 S",dec:"S N1 D1 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"ఝంకారధ్వని","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},19:{num:20,title:"Natabhairavi",chroma:"101101011010",asc:"S R2 G2 M1 P D1 N2 S",dec:"S N2 D1 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"నఠభైరవి","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},20:{num:21,title:"Keeravāni",chroma:"101101011001",asc:"S R2 G2 M1 P D1 N3 S",dec:"S N3 D1 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"కీరవాణి","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},21:{num:22,title:"Kharaharapriya",chroma:"101101010110",asc:"S R2 G2 M1 P D2 N2 S",dec:"S N2 D2 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"ఖరహరప్రియ","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},22:{num:23,title:"Gowri Manohari",chroma:"101101010101",asc:"S R2 G2 M1 P D2 N3 S",dec:"S N3 D2 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"గౌరీమనోహరి","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},23:{num:24,title:"Varunapriyaa",chroma:"101101010011",asc:"S R2 G2 M1 P D3 N3 S",dec:"S N3 D3 P M1 G2 R2 S",group:"Veda Chakra",category:"Shuddha Madhyama",telugu:"వరుణప్రియ","tel-group":"వేద చక్ర","tel-cat":"శుద్ధ మధ్యమ"},24:{num:25,title:"Māraranjani",chroma:"101011011100",asc:"S R2 G3 M1 P D1 N1 S",dec:"S N1 D1 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"మారరంజని","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},25:{num:26,title:"Chārukeshi",chroma:"101011011010",asc:"S R2 G3 M1 P D1 N2 S",dec:"S N2 D1 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"చారుకేశి","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},26:{num:27,title:"Sarasāngi",chroma:"101011011001",asc:"S R2 G3 M1 P D1 N3 S",dec:"S N3 D1 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"సరసాంగి","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},27:{num:28,title:"Harikāmbhoji",chroma:"101011010110",asc:"S R2 G3 M1 P D2 N2 S",dec:"S N2 D2 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"హరికాంభోజి","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},28:{num:29,title:"Dheera Shankarābharanam",chroma:"101011010101",asc:"S R2 G3 M1 P D2 N3 S",dec:"S N3 D2 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"ధీరశంకరాభరణం","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},29:{num:30,title:"Nāganandhini",chroma:"101011010011",asc:"S R2 G3 M1 P D3 N3 S",dec:"S N3 D3 P M1 G3 R2 S",group:"Bana Chakra",category:"Shuddha Madhyama",telugu:"నాగానందిని","tel-group":"బాణ చక్ర","tel-cat":"శుద్ధ మధ్యమ"},30:{num:31,title:"Yāgapriyā",chroma:"100111011100",asc:"S R3 G3 M1 P D1 N1 S",dec:"S N1 D1 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"యాగప్రియ","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},31:{num:32,title:"Rāgavardhani",chroma:"100111011010",asc:"S R3 G3 M1 P D1 N2 S",dec:"S N2 D1 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"రాగవర్ధిని","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},32:{num:33,title:"Gangeyabhushani",chroma:"100111011001",asc:"S R3 G3 M1 P D1 N3 S",dec:"S N3 D1 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"గాంగేయభూషిణి","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},33:{num:34,title:"Vāgadeeshwari",chroma:"100111010110",asc:"S R3 G3 M1 P D2 N2 S",dec:"S N2 D2 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"వాగధీశ్వరి","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},34:{num:35,title:"Shulini",chroma:"100111010101",asc:"S R3 G3 M1 P D2 N3 S",dec:"S N3 D2 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"శూలిని","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},35:{num:36,title:"Chalanāttai",chroma:"100111010011",asc:"S R3 G3 M1 P D3 N3 S",dec:"S N3 D3 P M1 G3 R3 S",group:"Rutu Chakra",category:"Shuddha Madhyama",telugu:"చలనాట","tel-group":"ఋతు చక్ర","tel-cat":"శుద్ధ మధ్యమ"},36:{num:37,title:"Sālagam",chroma:"111000111100",asc:"S R1 G1 M2 P D1 N1 S",dec:"S N1 D1 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"సాలగం","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},37:{num:38,title:"Jalārnavam",chroma:"111000111010",asc:"S R1 G1 M2 P D1 N2 S",dec:"S N2 D1 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"జలార్ణవం","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},38:{num:39,title:"Jhālavarāli",chroma:"111000111001",asc:"S R1 G1 M2 P D1 N3 S",dec:"S N3 D1 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"ఝాలవరాళి","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},39:{num:40,title:"Navaneetham",chroma:"111000110110",asc:"S R1 G1 M2 P D2 N2 S",dec:"S N2 D2 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"నవనీతం","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},40:{num:41,title:"Pāvani",chroma:"111000110101",asc:"S R1 G1 M2 P D2 N3 S",dec:"S N3 D2 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"పావని","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},41:{num:42,title:"Raghupriyaa",chroma:"111000110011",asc:"S R1 G1 M2 P D3 N3 S",dec:"S N3 D3 P M2 G1 R1 S",group:"Rishi Chakra",category:"Prati Madhyama",telugu:"రఘుప్రియ","tel-group":"ఋషి చక్ర","tel-cat":"ప్రతి మధ్యమ"},42:{num:43,title:"Ghavāmbhodi",chroma:"110100111100",asc:"S R1 G2 M2 P D1 N1 S",dec:"S N1 D1 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"గవాంబోధి","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},43:{num:44,title:"Bhavapriya",chroma:"110100111010",asc:"S R1 G2 M2 P D1 N2 S",dec:"S N2 D1 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"భవప్రియ","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},44:{num:45,title:"Shubhapanthuvarāli",chroma:"110100111001",asc:"S R1 G2 M2 P D1 N3 S",dec:"S N3 D1 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"శుభపంతువరాళి","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},45:{num:46,title:"Shadvidhamārgini",chroma:"110100110110",asc:"S R1 G2 M2 P D2 N2 S",dec:"S N2 D2 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"షడ్వితమార్గిణి","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},46:{num:47,title:"Suvarnāngi",chroma:"110100110101",asc:"S R1 G2 M2 P D2 N3 S",dec:"S N3 D2 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"సువర్ణాంగి","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},47:{num:48,title:"Divyamani",chroma:"110100110011",asc:"S R1 G2 M2 P D3 N3 S",dec:"S N3 D3 P M2 G2 R1 S",group:"Vasu Chakra",category:"Prati Madhyama",telugu:"దివ్యమణి","tel-group":"వసు చక్ర","tel-cat":"ప్రతి మధ్యమ"},48:{num:49,title:"Dhavalāmbari",chroma:"110010111100",asc:"S R1 G3 M2 P D1 N1 S",dec:"S N1 D1 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"ధవళాంబరి","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},49:{num:50,title:"Nāmanārāyani",chroma:"110010111010",asc:"S R1 G3 M2 P D1 N2 S",dec:"S N2 D1 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"నామనారాయణి","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},50:{num:51,title:"Panthuvarāli (Kāmavardhani)",chroma:"110010111001",asc:"S R1 G3 M2 P D1 N3 S",dec:"S N3 D1 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"పంతువరాళి (కామవర్థిని)","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},51:{num:52,title:"Rāmapriyā",chroma:"110010110110",asc:"S R1 G3 M2 P D2 N2 S",dec:"S N2 D2 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"రామప్రియ","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},52:{num:53,title:"Gamanashrama",chroma:"110010110101",asc:"S R1 G3 M2 P D2 N3 S",dec:"S N3 D2 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"గమనశ్రమ","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},53:{num:54,title:"Vishvāmbhari",chroma:"110010110011",asc:"S R1 G3 M2 P D3 N3 S",dec:"S N3 D3 P M2 G3 R1 S",group:"Brahma Chakra",category:"Prati Madhyama",telugu:"విశ్వంభరి ","tel-group":"బ్రహ్మ చక్ర","tel-cat":"ప్రతి మధ్యమ"},54:{num:55,title:"Shyāmalāngi",chroma:"101100111100",asc:"S R2 G2 M2 P D1 N1 S",dec:"S N1 D1 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"శ్యామలాంగి","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},55:{num:56,title:"Shanmukhapriyaa",chroma:"101100111010",asc:"S R2 G2 M2 P D1 N2 S",dec:"S N2 D1 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"షణ్ముఖప్రియ","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},56:{num:57,title:"Simhendra Madhyamam",chroma:"101100111001",asc:"S R2 G2 M2 P D1 N3 S",dec:"S N3 D1 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"సింహేంద్రమధ్యమ","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},57:{num:58,title:"Hemavathi",chroma:"101100110110",asc:"S R2 G2 M2 P D2 N2 S",dec:"S N2 D2 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"హేమవతి","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},58:{num:59,title:"Dharmavathi",chroma:"101100110101",asc:"S R2 G2 M2 P D2 N3 S",dec:"S N3 D2 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"ధర్మవతి","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},59:{num:60,title:"Neethimathi",chroma:"101100110011",asc:"S R2 G2 M2 P D3 N3 S",dec:"S N3 D3 P M2 G2 R2 S",group:"Disi Chakra",category:"Prati Madhyama",telugu:"నీతిమతి","tel-group":"దిశి చక్ర","tel-cat":"ప్రతి మధ్యమ"},60:{num:61,title:"Kānthāmani",chroma:"101010111100",asc:"S R2 G3 M2 P D1 N1 S",dec:"S N1 D1 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"కాంతామణి","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},61:{num:62,title:"Rishabhapriya",chroma:"101010111010",asc:"S R2 G3 M2 P D1 N2 S",dec:"S N2 D1 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"రిషభప్రియ","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},62:{num:63,title:"Lathāngi",chroma:"101010111001",asc:"S R2 G3 M2 P D1 N3 S",dec:"S N3 D1 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"లతాంగి","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},63:{num:64,title:"Vāchaspathi",chroma:"101010110110",asc:"S R2 G3 M2 P D2 N2 S",dec:"S N2 D2 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"వాచస్పతి","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},64:{num:65,title:"Mechakalyāni",chroma:"101010110101",asc:"S R2 G3 M2 P D2 N3 S",dec:"S N3 D2 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"మేచకళ్యాణి","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},65:{num:66,title:"Chitrāmbari",chroma:"101010110011",asc:"S R2 G3 M2 P D3 N3 S",dec:"S N3 D3 P M2 G3 R2 S",group:"Rudra Chakra",category:"Prati Madhyama",telugu:"చిత్రాంబరి","tel-group":"రుద్ర చక్ర","tel-cat":"ప్రతి మధ్యమ"},66:{num:67,title:"Sucharitra",chroma:"100110111100",asc:"S R3 G3 M2 P D1 N1 S",dec:"S N1 D1 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"సుచరిత్ర","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"},67:{num:68,title:"Jyothiswaroopini",chroma:"100110111010",asc:"S R3 G3 M2 P D1 N2 S",dec:"S N2 D1 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"జ్యోతిస్వరూపిణి","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"},68:{num:69,title:"Dhātuvardhani",chroma:"100110111001",asc:"S R3 G3 M2 P D1 N3 S",dec:"S N3 D1 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"ధాతువర్ధిని","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"},69:{num:70,title:"Nāsikabhooshhani",chroma:"100110110110",asc:"S R3 G3 M2 P D2 N2 S",dec:"S N2 D2 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"నాసికాభూషిణి","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"},70:{num:71,title:"Kosalam",chroma:"100110110101",asc:"S R3 G3 M2 P D2 N3 S",dec:"S N3 D2 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"కోసలము","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"},71:{num:72,title:"Rasikapriya",chroma:"100110110011",asc:"S R3 G3 M2 P D3 N3 S",dec:"S N3 D3 P M2 G3 R3 S",group:"Aditya Chakra",category:"Prati Madhyama",telugu:"రసికప్రియ","tel-group":"ఆదిత్య చక్ర","tel-cat":"ప్రతి మధ్యమ"}},I={class:"flex flex-wrap embed"},$={class:"flex flex-col",style:{flex:"1 1 600px"}},K={key:0,class:"flex flex-col items-center"},j={class:"text-2xl font-bold"},H={class:"text-sm"},J={class:"p-1"},L={class:"p-1"},z={class:"flex flex-col my-4",style:{flex:"1 1 400px"}},E={class:"flex flex-wrap border-b-2 border-current py-2"},F=["onClick"],O={class:"flex flex-wrap border-b-1 border-current py-2"},q=["onClick"],T=["onClick"],U={class:"p-0 w-10rem m-1"},Y={__name:"ScaleRaga",setup(y){let r={};for(let c=0;c<72;c++){let t=R[c];r[t.category]=r[t.category]||{},r[t.category][t.group]=r[t.category][t.group]||{},r[t.category][t.group][t.num]=t}const a=v({chroma:_("degrees-chroma","101011010100"),current:f(()=>Object.values(R).find(c=>c.chroma==a.chroma)),cat:"Shuddha Madhyama",group:"Indu Chakra"});return x(()=>a.current,c=>{c&&(a.cat=c.category,a.group=c.group)}),(c,t)=>{const d=V,g=A;return l(),h("div",I,[o("div",$,[M(d,{class:"w-full",chroma:a.chroma,"onUpdate:chroma":t[0]||(t[0]=S=>a.chroma=S),fixed5:""},null,8,["chroma"]),a.current?(l(),h("div",K,[o("div",j,i(a.current.title),1),o("div",H,i(a.current.telugu),1),M(g,{chroma:a.chroma},null,8,["chroma"]),o("div",J,"Arohana: "+i(a.current.asc),1),o("div",L,"Avarohana: "+i(a.current.dec),1)])):b("",!0)]),o("div",z,[o("div",E,[(l(!0),h(s,null,n(e(r),(S,u)=>(l(),h("div",{class:p(["text-xl m-2 cursor-pointer",{selected:a.cat==u}]),key:u,onClick:N=>{a.cat=u,a.group=Object.keys(e(r)[u])[0]}},i(u),11,F))),128))]),o("div",O,[(l(!0),h(s,null,n(e(r)[a.cat],(S,u)=>(l(),h("div",{class:p(["m-1 cursor-pointer",{selected:a.group==u}]),key:u,onClick:N=>a.group=u},i(u),11,q))),128))]),(l(!0),h(s,null,n(e(r)[a.cat][a.group],S=>(l(),h("div",{class:p(["p-1 flex flex-wrap cursor-pointer border-1 border-transparent",{active:a.chroma==S.chroma}]),key:S,onClick:u=>a.chroma=S.chroma},[o("div",U,i(S.title),1),t[1]||(t[1]=o("div",{class:"flex-1"},null,-1)),M(g,{chroma:S.chroma},null,8,["chroma"])],10,T))),128))])])}}},aa=C(Y,[["__scopeId","data-v-407d2d01"]]);export{aa as default}; diff --git a/assets/chunks/Sensors.D1HFTdDx.js b/assets/chunks/Sensors.B-yyyOJk.js similarity index 97% rename from assets/chunks/Sensors.D1HFTdDx.js rename to assets/chunks/Sensors.B-yyyOJk.js index 62aa22ff46..b96c4794d9 100644 --- a/assets/chunks/Sensors.D1HFTdDx.js +++ b/assets/chunks/Sensors.B-yyyOJk.js @@ -1 +1 @@ -import{aU as C,aV as G,c as _,x as X,y as Y,A as e,G as s,E as t,H as Z}from"./framework.BR0mAPCP.js";const H={class:"p-4 flex flex-col gap-2"},I={class:"flex flex-wrap"},L={class:"p-2 top-4"},N={class:"p-2"},P={class:"flex flex-wrap gap-2"},U={class:"flex flex-col flex-1"},J={class:"flex-1"},K={class:"flex-1"},Q={class:"flex-1"},T={class:"flex flex-col flex-1"},W={class:"flex-1"},V={class:"flex-1"},ee={class:"flex-1"},se={class:"flex flex-col flex-1"},te={class:"flex-1"},oe={class:"flex-1"},ae={class:"flex-1"},ce={class:"flex flex-col flex-1"},ie={class:"flex-1"},le={class:"flex-1"},ne={class:"flex-1"},O=.9,de=10,re={__name:"Sensors",setup(xe){const{acceleration:c,accelerationIncludingGravity:_e,rotationRate:d,interval:ve}=C(),{isAbsolute:j,alpha:v,beta:f,gamma:r}=G();function q(){var o;(o=DeviceMotionEvent==null?void 0:DeviceMotionEvent.requestPermission)==null||o.call(DeviceMotionEvent)}_(o=>o?Object.assign({},...["x","y","z"].map(a=>({[a]:O*o[a]+(1-O)*c.value[a]}))):c.value);const x=_(o=>{const a=((o==null?void 0:o.buffer)||[]).concat(c.value).slice(-de);return Object.assign({},...["x","y","z"].map(i=>({[i]:a.reduce((l,n)=>l+n[i],0)/a.length})),{buffer:a})}),h=_(()=>Math.sqrt(["x","y","z"].reduce((o,a)=>o+c.value[a]**2,0)));return(o,a)=>{var i,l,n,u,p,m,g,b,F,y,z,A,R,S,k,w,B,D,E,$,M;return X(),Y("div",H,[e("div",I,[e("button",{class:"text-button",onClick:q},"Activate "),e("div",L,s(t(j)?"ABS":"REL"),1),e("div",N,s(h.value.toFixed(2)),1)]),e("div",P,[e("div",U,[e("div",J,"X: "+s((l=(i=t(c))==null?void 0:i.x)==null?void 0:l.toFixed(2)),1),e("div",K,"Y: "+s((u=(n=t(c))==null?void 0:n.y)==null?void 0:u.toFixed(2)),1),e("div",Q,"Z: "+s((m=(p=t(c))==null?void 0:p.z)==null?void 0:m.toFixed(2)),1)]),e("div",T,[e("div",W,"av-X: "+s((b=(g=x.value)==null?void 0:g.x)==null?void 0:b.toFixed(2)),1),e("div",V,"av-Y: "+s((y=(F=x.value)==null?void 0:F.y)==null?void 0:y.toFixed(2)),1),e("div",ee,"av-Z: "+s((A=(z=x.value)==null?void 0:z.z)==null?void 0:A.toFixed(2)),1)]),e("div",se,[e("div",te,"R-alpha: "+s((S=(R=t(d))==null?void 0:R.alpha)==null?void 0:S.toFixed(2)),1),e("div",oe,"R-beta: "+s((w=(k=t(d))==null?void 0:k.beta)==null?void 0:w.toFixed(2)),1),e("div",ae,"R-gamma: "+s((D=(B=t(d))==null?void 0:B.gamma)==null?void 0:D.toFixed(2)),1)]),e("div",ce,[e("div",ie,"alpha: "+s((E=t(v))==null?void 0:E.toFixed(2)),1),e("div",le,"beta: "+s(($=t(f))==null?void 0:$.toFixed(2)),1),e("div",ne,"gamma: "+s((M=t(r))==null?void 0:M.toFixed(2)),1)])]),e("div",{class:"flex-1 p-40",style:Z({borderRadius:`${h.value*10}px`,backgroundColor:`hsl(${t(v)}deg ${50+50*t(f)/180}% ${50+50*t(r)/90}%)`})},null,4)])}}};export{re as default}; +import{aU as C,aV as G,c as _,x as X,y as Y,A as e,G as s,E as t,H as Z}from"./framework.CQBrk0Ry.js";const H={class:"p-4 flex flex-col gap-2"},I={class:"flex flex-wrap"},L={class:"p-2 top-4"},N={class:"p-2"},P={class:"flex flex-wrap gap-2"},U={class:"flex flex-col flex-1"},J={class:"flex-1"},K={class:"flex-1"},Q={class:"flex-1"},T={class:"flex flex-col flex-1"},W={class:"flex-1"},V={class:"flex-1"},ee={class:"flex-1"},se={class:"flex flex-col flex-1"},te={class:"flex-1"},oe={class:"flex-1"},ae={class:"flex-1"},ce={class:"flex flex-col flex-1"},ie={class:"flex-1"},le={class:"flex-1"},ne={class:"flex-1"},O=.9,de=10,re={__name:"Sensors",setup(xe){const{acceleration:c,accelerationIncludingGravity:_e,rotationRate:d,interval:ve}=C(),{isAbsolute:j,alpha:v,beta:f,gamma:r}=G();function q(){var o;(o=DeviceMotionEvent==null?void 0:DeviceMotionEvent.requestPermission)==null||o.call(DeviceMotionEvent)}_(o=>o?Object.assign({},...["x","y","z"].map(a=>({[a]:O*o[a]+(1-O)*c.value[a]}))):c.value);const x=_(o=>{const a=((o==null?void 0:o.buffer)||[]).concat(c.value).slice(-de);return Object.assign({},...["x","y","z"].map(i=>({[i]:a.reduce((l,n)=>l+n[i],0)/a.length})),{buffer:a})}),h=_(()=>Math.sqrt(["x","y","z"].reduce((o,a)=>o+c.value[a]**2,0)));return(o,a)=>{var i,l,n,u,p,m,g,b,F,y,z,A,R,S,k,w,B,D,E,$,M;return X(),Y("div",H,[e("div",I,[e("button",{class:"text-button",onClick:q},"Activate "),e("div",L,s(t(j)?"ABS":"REL"),1),e("div",N,s(h.value.toFixed(2)),1)]),e("div",P,[e("div",U,[e("div",J,"X: "+s((l=(i=t(c))==null?void 0:i.x)==null?void 0:l.toFixed(2)),1),e("div",K,"Y: "+s((u=(n=t(c))==null?void 0:n.y)==null?void 0:u.toFixed(2)),1),e("div",Q,"Z: "+s((m=(p=t(c))==null?void 0:p.z)==null?void 0:m.toFixed(2)),1)]),e("div",T,[e("div",W,"av-X: "+s((b=(g=x.value)==null?void 0:g.x)==null?void 0:b.toFixed(2)),1),e("div",V,"av-Y: "+s((y=(F=x.value)==null?void 0:F.y)==null?void 0:y.toFixed(2)),1),e("div",ee,"av-Z: "+s((A=(z=x.value)==null?void 0:z.z)==null?void 0:A.toFixed(2)),1)]),e("div",se,[e("div",te,"R-alpha: "+s((S=(R=t(d))==null?void 0:R.alpha)==null?void 0:S.toFixed(2)),1),e("div",oe,"R-beta: "+s((w=(k=t(d))==null?void 0:k.beta)==null?void 0:w.toFixed(2)),1),e("div",ae,"R-gamma: "+s((D=(B=t(d))==null?void 0:B.gamma)==null?void 0:D.toFixed(2)),1)]),e("div",ce,[e("div",ie,"alpha: "+s((E=t(v))==null?void 0:E.toFixed(2)),1),e("div",le,"beta: "+s(($=t(f))==null?void 0:$.toFixed(2)),1),e("div",ne,"gamma: "+s((M=t(r))==null?void 0:M.toFixed(2)),1)])]),e("div",{class:"flex-1 p-40",style:Z({borderRadius:`${h.value*10}px`,backgroundColor:`hsl(${t(v)}deg ${50+50*t(f)/180}% ${50+50*t(r)/90}%)`})},null,4)])}}};export{re as default}; diff --git a/assets/chunks/Simplex.BzKEjArI.js b/assets/chunks/Simplex.BBxMVS0K.js similarity index 60% rename from assets/chunks/Simplex.BzKEjArI.js rename to assets/chunks/Simplex.BBxMVS0K.js index bff9fccf40..bd908a4e31 100644 --- a/assets/chunks/Simplex.BzKEjArI.js +++ b/assets/chunks/Simplex.BBxMVS0K.js @@ -1 +1 @@ -import{x as e,y as c,q as n}from"./framework.BR0mAPCP.js";function r(o,a){return e(),c("p",null,"Simplex")}const t={},s=n(t,[["render",r]]);export{s as default}; +import{x as e,y as c,q as n}from"./framework.CQBrk0Ry.js";function r(o,a){return e(),c("p",null,"Simplex")}const t={},s=n(t,[["render",r]]);export{s as default}; diff --git a/assets/chunks/SoundDissonance.9EvcgKMz.js b/assets/chunks/SoundDissonance.NU4eCc-e.js similarity index 85% rename from assets/chunks/SoundDissonance.9EvcgKMz.js rename to assets/chunks/SoundDissonance.NU4eCc-e.js index 581e1ac0a2..7993ececa7 100644 --- a/assets/chunks/SoundDissonance.9EvcgKMz.js +++ b/assets/chunks/SoundDissonance.NU4eCc-e.js @@ -1 +1 @@ -import{q as B,b as C,c as w,d as v,x as l,y as a,E as n,A as t,F as u,B as x,G as d,I as _,S as D}from"./framework.BR0mAPCP.js";import{b5 as q,az as y,n as F,c as g,Y as E,aJ as z,a_ as G}from"./theme.ClagsQLu.js";const O={class:"fullscreen-container",id:"screen"},H=["viewBox"],I={id:"intervalGradient"},R=["stop-color"],W=["stop-color"],j=["transform","onClick"],N=["opacity"],U=["font-weight"],V=["transform","onClick"],Y=["width","opacity"],J=["font-weight"],L=["stroke","stroke-width"],X=["transform"],K={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"18px","text-anchor":"end",x:"-5",y:"520"},Q={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"18px","text-anchor":"start",x:"5",y:"520"},Z={key:0,fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":"10",d:"M0,504.9c22.4-726,93.2-320.8,159.7-254.2c43.1,43.1,63.7,39.9,77.7,48.1c19.7,11.5,27.7,49.8,27.7,49.8c11.4-48.9,35-50,49.8,0.8c18-74.6,51.2-50.4,70.3,21.3c28.9-86.8,97.1-39.9,109.8,25.3c29.4-94.9,76.2-73.7,84.5-22.9c27.4-97.3,109.6-86.7,119.3,86.1c0,0,17.8-110.8,50.6-111.7c32.4-0.9,66.4,13.7,95.6,24.8c21.2,8,37.9,54.5,37.9,54.5s14.2-60.8,42.7-60.8c28.4,0,41.9,53.2,41.9,53.2c20.1-69.4,63.4-42,106.7-65c25.3-13.4,45.4-39.5,67.2-37.1c44.2,4.7,58.8,188,58.8,188"},tt={key:1,fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":"10",d:"M0,504.9c22.4-726,123.3-349,177.8-272.3C380.1,517.5,953.4,500,1200,500"},et=["transform"],ot=["stroke"],st=["fill"],nt=["fill"],rt=["width"],it=["transform"],lt=["stroke-width","stroke"],at=["r","fill","transform"],ct=["fill"],ft={"font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"end",x:"-20",fill:"currentColor",y:"490"},dt={"font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"start",x:"20",fill:"currentColor",y:"490"},ht={__name:"SoundDissonance",setup(mt){const m={width:1200,height:600,padW:100,padH:100},$=[0,100,200,300,400,500,600,700,800,900,1e3,1100,1200],M=["1P","m2","M2","m3","M3","P4","TT","P5","m6","M6","m7","M7","P8"],k=["1/1","16/15","9/8","6/5","5/4","4/3","45/32","3/2","8/5","5/3","9/5","15/8","2/1"],b=k.map(i=>1200*Math.log2(i.split("/")[0]/i.split("/")[1])),{svg:S,area:P,mouse:f}=q(),s=C({main:220,cents:w(()=>f.normX*1200),hz:w(()=>s.main*Math.pow(2,s.cents/1200))}),e=C({started:!1,playing:!1,osc:"sine",oscs:["sine","sawtooth8"],envelope:{attack:.2,decay:.2,sustain:1,release:1},setOsc(i){e.osc=i,p.set({oscillator:{type:i}}),h.set({oscillator:{type:i}})}});let p,h;function T(){if(!e.started){const{channel:i}=E("dissonance");p=new z({oscillator:{type:e.osc},filterEnvelope:e.envelope}).connect(i),h=new z({oscillator:{type:e.osc},filterEnvelope:e.envelope}).connect(i),e.started=!0}}return v(()=>f.normY,i=>{h&&h.volume.rampTo(G(i))}),v([()=>s.hz,()=>f.pressed],()=>{e.started&&(f.pressed?!e.playing&&f.inside?(e.playing=!0,p.triggerAttack(s.main),h.triggerAttack(s.hz)):h.frequency.rampTo(s.hz):(e.playing=!1,p.triggerRelease(),h.triggerRelease()))}),(i,r)=>(l(),a("div",O,[(l(),a("svg",{class:"max-h-100svh w-full select-none",id:"dissonance",ref_key:"svg",ref:S,version:"1.1",baseProfile:"full",style:{"touch-action":"none"},viewBox:`${-m.padW} ${-m.padH} ${m.width+2*m.padW} ${m.height+m.padH}`,xmlns:"http://www.w3.org/2000/svg",onMousemove:r[1]||(r[1]=(...o)=>n(f).getCursorPosition&&n(f).getCursorPosition(...o))},[t("defs",null,[t("linearGradient",I,[t("stop",{offset:"0%","stop-color":n(y)(s.main)},null,8,R),t("stop",{offset:"100%","stop-color":n(y)(s.hz)},null,8,W)])]),(l(),a(u,null,x([220,440],(o,c)=>t("g",{class:"cursor-pointer",key:o,transform:`translate(${960+c*140},0)`,onClick:A=>s.main=o},[t("rect",{x:"0",y:"-70",width:"130",height:"60",fill:"currentColor",ry:"20",opacity:s.main==o?.3:.1},null,8,N),t("text",{"font-weight":s.main==o?"bold":"normal",fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"32px","text-anchor":"start",x:"15",y:"-30"},d(o)+" hz",9,U)],8,j)),64)),r[4]||(r[4]=t("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"32px","text-anchor":"middle",x:"600",y:"-30"},"Sensory dissonance curve",-1)),(l(!0),a(u,null,x(e.oscs,(o,c)=>(l(),a("g",{class:"cursor-pointer",key:o,transform:`translate(${c*120},0)`,onClick:A=>e.setOsc(o)},[t("rect",{x:"0",y:"-70",width:o.length*26,height:"60",fill:"currentColor",ry:"20",opacity:e.osc==o?.3:.1},null,8,Y),t("text",{"font-weight":e.osc==o?"bold":"normal",fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"32px","text-anchor":"start",x:"15",y:"-30"},d(o.toUpperCase()),9,J)],8,V))),128)),t("rect",{ref_key:"area",ref:P,x:"0",y:"0",width:"1200",height:"500",fill:"none",stroke:"currentColor","stroke-width":"1px",opacity:"0.5"},null,512),r[5]||(r[5]=t("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"25px","text-anchor":"middle",x:"-20",y:"250","transform-origin":"-20 250",transform:"rotate(-90)"},"Dissonance",-1)),t("line",{x1:"0",x2:"0",y1:"0",y2:"500",stroke:n(y)(s.main),"stroke-width":e.playing?10:1},null,8,L),r[6]||(r[6]=t("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"25px","text-anchor":"middle",x:"600",y:"570"},"Frequency ratio (cents)",-1)),(l(),a(u,null,x($,(o,c)=>t("g",{key:o,transform:`translate(${o},0)`},[r[2]||(r[2]=t("line",{stroke:"currentColor",x1:0,x2:0,y1:0,y2:530,"stroke-width":"1"},null,-1)),t("text",K,d(n(F)[c%12]),1),t("text",Q,d(o),1)],8,X)),64)),e.osc=="sawtooth8"?(l(),a("path",Z)):_("",!0),e.osc=="sine"?(l(),a("path",tt)):_("",!0),(l(!0),a(u,null,x(n(b),(o,c)=>(l(),a("g",{key:o,transform:`translate(${o} 0)`},[t("line",{stroke:n(g)(c,3),opacity:"1","stroke-width":"1",x1:"0",x2:"0",y1:"0",y2:"500"},null,8,ot),t("text",{"font-weight":"bold","font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"start",fill:n(g)(c,3),x:"5",y:"25"},d(M[c]),9,st),t("text",{"font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"start",fill:n(g)(c,3),x:"5",y:"60"},d(k[c]),9,nt)],8,et))),128)),e.playing?(l(),a("rect",{key:2,x:"0",y:"0",width:n(f).x,height:"500",fill:"url(#intervalGradient)",opacity:"0.2"},null,8,rt)):_("",!0),t("g",{transform:`translate(${n(f).x}, 0)`},[t("line",{class:"pointer",x1:"0",x2:"0",y1:"0",y2:"500","stroke-width":e.playing?6:1,stroke:n(y)(s.hz)},null,8,lt),t("circle",{class:"pointer",cx:0,cy:0,r:e.playing?20:10,fill:e.playing?n(y)(s.hz):"currentColor",transform:`translate(0, ${n(f).y})`},null,8,at),t("circle",{class:"pointer",cx:0,cy:500,r:"8",fill:e.playing?n(y)(s.hz):"currentColor"},null,8,ct),t("text",ft,d(s.hz.toFixed(0))+" hz",1),t("text",dt,d(s.cents.toFixed(0)),1)],8,it),e.started?_("",!0):(l(),a("g",{key:3,class:"cursor-pointer",onClick:r[0]||(r[0]=D(o=>T(),["stop","prevent"]))},r[3]||(r[3]=[t("rect",{x:"400",y:"200",width:"400",height:"100",rx:"20",fill:"gray",stroke:"white"},null,-1),t("text",{"font-weight":"bold",fill:"white","font-family":"Commissioner, sans-serif","font-size":"42px","text-anchor":"middle",x:"600",y:"265"},"START AUDIO",-1)])))],40,H))]))}},ut=B(ht,[["__scopeId","data-v-9bc51aa3"]]);export{ut as default}; +import{q as A,b as C,c as w,d as v,x as l,y as a,E as n,A as t,F as u,B as x,G as d,I as _,S as D}from"./framework.CQBrk0Ry.js";import{b5 as q,aB as y,n as F,c as g,Y as E,aL as z,a_ as G}from"./theme.Dd_Fb62b.js";const O={class:"fullscreen-container",id:"screen"},H=["viewBox"],I={id:"intervalGradient"},R=["stop-color"],W=["stop-color"],j=["transform","onClick"],L=["opacity"],N=["font-weight"],U=["transform","onClick"],V=["width","opacity"],Y=["font-weight"],X=["stroke","stroke-width"],J=["transform"],K={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"18px","text-anchor":"end",x:"-5",y:"520"},Q={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"18px","text-anchor":"start",x:"5",y:"520"},Z={key:0,fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":"10",d:"M0,504.9c22.4-726,93.2-320.8,159.7-254.2c43.1,43.1,63.7,39.9,77.7,48.1c19.7,11.5,27.7,49.8,27.7,49.8c11.4-48.9,35-50,49.8,0.8c18-74.6,51.2-50.4,70.3,21.3c28.9-86.8,97.1-39.9,109.8,25.3c29.4-94.9,76.2-73.7,84.5-22.9c27.4-97.3,109.6-86.7,119.3,86.1c0,0,17.8-110.8,50.6-111.7c32.4-0.9,66.4,13.7,95.6,24.8c21.2,8,37.9,54.5,37.9,54.5s14.2-60.8,42.7-60.8c28.4,0,41.9,53.2,41.9,53.2c20.1-69.4,63.4-42,106.7-65c25.3-13.4,45.4-39.5,67.2-37.1c44.2,4.7,58.8,188,58.8,188"},tt={key:1,fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":"10",d:"M0,504.9c22.4-726,123.3-349,177.8-272.3C380.1,517.5,953.4,500,1200,500"},et=["transform"],ot=["stroke"],st=["fill"],nt=["fill"],rt=["width"],it=["transform"],lt=["stroke-width","stroke"],at=["r","fill","transform"],ct=["fill"],ft={"font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"end",x:"-20",fill:"currentColor",y:"490"},dt={"font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"start",x:"20",fill:"currentColor",y:"490"},ht={__name:"SoundDissonance",setup(mt){const m={width:1200,height:600,padW:100,padH:100},$=[0,100,200,300,400,500,600,700,800,900,1e3,1100,1200],M=["1P","m2","M2","m3","M3","P4","TT","P5","m6","M6","m7","M7","P8"],k=["1/1","16/15","9/8","6/5","5/4","4/3","45/32","3/2","8/5","5/3","9/5","15/8","2/1"],b=k.map(i=>1200*Math.log2(i.split("/")[0]/i.split("/")[1])),{svg:S,area:P,mouse:f}=q(),s=C({main:220,cents:w(()=>f.normX*1200),hz:w(()=>s.main*Math.pow(2,s.cents/1200))}),e=C({started:!1,playing:!1,osc:"sine",oscs:["sine","sawtooth8"],envelope:{attack:.2,decay:.2,sustain:1,release:1},setOsc(i){e.osc=i,p.set({oscillator:{type:i}}),h.set({oscillator:{type:i}})}});let p,h;function T(){if(!e.started){const{channel:i}=E("dissonance");p=new z({oscillator:{type:e.osc},filterEnvelope:e.envelope}).connect(i),h=new z({oscillator:{type:e.osc},filterEnvelope:e.envelope}).connect(i),e.started=!0}}return v(()=>f.normY,i=>{h&&h.volume.rampTo(G(i))}),v([()=>s.hz,()=>f.pressed],()=>{e.started&&(f.pressed?!e.playing&&f.inside?(e.playing=!0,p.triggerAttack(s.main),h.triggerAttack(s.hz)):h.frequency.rampTo(s.hz):(e.playing=!1,p.triggerRelease(),h.triggerRelease()))}),(i,r)=>(l(),a("div",O,[(l(),a("svg",{class:"max-h-100svh w-full select-none",id:"dissonance",ref_key:"svg",ref:S,version:"1.1",baseProfile:"full",style:{"touch-action":"none"},viewBox:`${-m.padW} ${-m.padH} ${m.width+2*m.padW} ${m.height+m.padH}`,xmlns:"http://www.w3.org/2000/svg",onMousemove:r[1]||(r[1]=(...o)=>n(f).getCursorPosition&&n(f).getCursorPosition(...o))},[t("defs",null,[t("linearGradient",I,[t("stop",{offset:"0%","stop-color":n(y)(s.main)},null,8,R),t("stop",{offset:"100%","stop-color":n(y)(s.hz)},null,8,W)])]),(l(),a(u,null,x([220,440],(o,c)=>t("g",{class:"cursor-pointer",key:o,transform:`translate(${960+c*140},0)`,onClick:B=>s.main=o},[t("rect",{x:"0",y:"-70",width:"130",height:"60",fill:"currentColor",ry:"20",opacity:s.main==o?.3:.1},null,8,L),t("text",{"font-weight":s.main==o?"bold":"normal",fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"32px","text-anchor":"start",x:"15",y:"-30"},d(o)+" hz",9,N)],8,j)),64)),r[4]||(r[4]=t("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"32px","text-anchor":"middle",x:"600",y:"-30"},"Sensory dissonance curve",-1)),(l(!0),a(u,null,x(e.oscs,(o,c)=>(l(),a("g",{class:"cursor-pointer",key:o,transform:`translate(${c*120},0)`,onClick:B=>e.setOsc(o)},[t("rect",{x:"0",y:"-70",width:o.length*26,height:"60",fill:"currentColor",ry:"20",opacity:e.osc==o?.3:.1},null,8,V),t("text",{"font-weight":e.osc==o?"bold":"normal",fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"32px","text-anchor":"start",x:"15",y:"-30"},d(o.toUpperCase()),9,Y)],8,U))),128)),t("rect",{ref_key:"area",ref:P,x:"0",y:"0",width:"1200",height:"500",fill:"none",stroke:"currentColor","stroke-width":"1px",opacity:"0.5"},null,512),r[5]||(r[5]=t("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"25px","text-anchor":"middle",x:"-20",y:"250","transform-origin":"-20 250",transform:"rotate(-90)"},"Dissonance",-1)),t("line",{x1:"0",x2:"0",y1:"0",y2:"500",stroke:n(y)(s.main),"stroke-width":e.playing?10:1},null,8,X),r[6]||(r[6]=t("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"25px","text-anchor":"middle",x:"600",y:"570"},"Frequency ratio (cents)",-1)),(l(),a(u,null,x($,(o,c)=>t("g",{key:o,transform:`translate(${o},0)`},[r[2]||(r[2]=t("line",{stroke:"currentColor",x1:0,x2:0,y1:0,y2:530,"stroke-width":"1"},null,-1)),t("text",K,d(n(F)[c%12]),1),t("text",Q,d(o),1)],8,J)),64)),e.osc=="sawtooth8"?(l(),a("path",Z)):_("",!0),e.osc=="sine"?(l(),a("path",tt)):_("",!0),(l(!0),a(u,null,x(n(b),(o,c)=>(l(),a("g",{key:o,transform:`translate(${o} 0)`},[t("line",{stroke:n(g)(c,3),opacity:"1","stroke-width":"1",x1:"0",x2:"0",y1:"0",y2:"500"},null,8,ot),t("text",{"font-weight":"bold","font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"start",fill:n(g)(c,3),x:"5",y:"25"},d(M[c]),9,st),t("text",{"font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"start",fill:n(g)(c,3),x:"5",y:"60"},d(k[c]),9,nt)],8,et))),128)),e.playing?(l(),a("rect",{key:2,x:"0",y:"0",width:n(f).x,height:"500",fill:"url(#intervalGradient)",opacity:"0.2"},null,8,rt)):_("",!0),t("g",{transform:`translate(${n(f).x}, 0)`},[t("line",{class:"pointer",x1:"0",x2:"0",y1:"0",y2:"500","stroke-width":e.playing?6:1,stroke:n(y)(s.hz)},null,8,lt),t("circle",{class:"pointer",cx:0,cy:0,r:e.playing?20:10,fill:e.playing?n(y)(s.hz):"currentColor",transform:`translate(0, ${n(f).y})`},null,8,at),t("circle",{class:"pointer",cx:0,cy:500,r:"8",fill:e.playing?n(y)(s.hz):"currentColor"},null,8,ct),t("text",ft,d(s.hz.toFixed(0))+" hz",1),t("text",dt,d(s.cents.toFixed(0)),1)],8,it),e.started?_("",!0):(l(),a("g",{key:3,class:"cursor-pointer",onClick:r[0]||(r[0]=D(o=>T(),["stop","prevent"]))},r[3]||(r[3]=[t("rect",{x:"400",y:"200",width:"400",height:"100",rx:"20",fill:"gray",stroke:"white"},null,-1),t("text",{"font-weight":"bold",fill:"white","font-family":"Commissioner, sans-serif","font-size":"42px","text-anchor":"middle",x:"600",y:"265"},"START AUDIO",-1)])))],40,H))]))}},ut=A(ht,[["__scopeId","data-v-9bc51aa3"]]);export{ut as default}; diff --git a/assets/chunks/SoundLoudness.CH_1Cst9.js b/assets/chunks/SoundLoudness.vgc9GPtT.js similarity index 92% rename from assets/chunks/SoundLoudness.CH_1Cst9.js rename to assets/chunks/SoundLoudness.vgc9GPtT.js index 9964ca6711..e97f12e64d 100644 --- a/assets/chunks/SoundLoudness.CH_1Cst9.js +++ b/assets/chunks/SoundLoudness.vgc9GPtT.js @@ -1 +1 @@ -import{_ as $}from"./trash.B4OvZbrl.js";import{q as X,r as S,b as C,c as u,x as l,y as i,E as m,A as o,F as y,B as h,G as f,S as k,P as A,I as v,z as H}from"./framework.BR0mAPCP.js";import{b5 as L,az as w,at as z,n as M,Y as q,aJ as B,aF as P}from"./theme.ClagsQLu.js";const Y={class:"fullscreen-container p-4 mb-8",id:"screen"},D=["opacity"],E={class:"y"},I=["transform"],R={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"10px","text-anchor":"left",x:"-25",y:"595"},V=["transform"],j=["x2"],T={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"left",x:"6",y:"-12"},G={class:"x"},J=["x1","x2"],O=["x"],U=["x1","x2","y2","opacity"],K=["x"],Q=["transform"],W=["y1","stroke"],Z=["fill"],tt={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"start",x:"10",y:"590"},ot=["color"],et=["transform"],st=["fill"],rt={"font-weight":"bold",fill:"white","font-family":"Commissioner, sans-serif","font-size":"18px","text-anchor":"middle",x:"0",y:"5"},nt=["points"],lt=["transform"],it=["y2","stroke"],at=["cy","fill","onClick"],ct=["y"],ft=["y"],xt=["y"],mt={__name:"SoundLoudness",setup(ut){const p=S(!1);function b(){P(),p.value=!0}const{svg:N,area:F,mouse:n}=L(),s=C({min:10,max:2e4,marks:[10,20,30,40,50,60,70,80,90,100,200,300,400,500,600,700,800,900,1e3,2e3,3e3,4e3,5e3,6e3,7e3,8e3,9e3,1e4,2e4],nums:[10,20,50,100,200,500,1e3,2e3,5e3,1e4,2e4],As:[22.5,55,110,220,440,880,1760,3520,7040,14080],Cs:[16,32,65,130.813,261,523,1046,2093,4186,8372,16744],hz:u(()=>s.toHz(n.normX)),color:u(()=>w(s.hz)),pitch:u(()=>(z(s.hz)+120)%12),note:u(()=>{let r=Math.round(s.pitch);return r>11.5&&(r=0),M[r]}),cents:u(()=>((s.pitch-s.pitch.toFixed(0))*100).toFixed(0)),toNormX(r){return(Math.log(r)-Math.log(s.min))/(Math.log(s.max)-Math.log(s.min))},toHz(r){return Math.pow(10,r*(Math.log10(s.max)-Math.log10(s.min))+Math.log10(s.min))}}),x=C({min:-80,max:10,marks:[-80,-70,-60,-50,-40,-30,-20,-10,0,10],db:u(()=>x.toDb(n.normY)),toDb(r){return(x.max-x.min)*r+x.min},toNormY(r){return(r-x.min)/(x.max-x.min)}});let _;const a=C({list:[],add(){var d,g;_||(_=q("loudness").channel);let r=s.toHz(n.normX),e=new B({oscillator:{type:"sine"},volume:x.db}).connect(_);e.triggerAttack(r,n.normY);let c=(z(r)+120)%12;c>11.5&&(c=0);let t=((c-c.toFixed(0))*100).toFixed(0);a.list.push({synth:e,x:n.x,y:n.y,hz:r,pitch:c,cents:t,note:(g=(d=M)==null?void 0:d[Math.round(c)])==null?void 0:g.name,color:w(r)})},line:u(()=>{let r=[],e=[...a.list];return e.sort((c,t)=>c.x{r.push([c.x,c.y].join(","))}),r.join(" ")}),clear(){a.list.forEach(r=>{r.synth.triggerRelease()}),a.list.splice(0,a.list.length)},remove(r){var e;(e=a.list)==null||e[r].synth.triggerRelease(),a.list.splice(r,1)}});return(r,e)=>{const c=$;return l(),i("div",Y,[(l(),i("svg",{class:"min-h-80svh max-h-100svh w-full select-none",ref_key:"svg",ref:N,version:"1.1",baseProfile:"full",viewBox:"-50 -50 1000 720",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},onMousemove:e[2]||(e[2]=(...t)=>m(n).getCursorPosition&&m(n).getCursorPosition(...t)),onClick:e[3]||(e[3]=t=>a.add())},[o("g",{opacity:p.value?1:.1,class:H({"pointer-events-none":!p.value})},[o("g",E,[e[5]||(e[5]=o("line",{x1:"0",x2:"0",y1:"0",y2:"600","stroke-width":"2",stroke:"currentColor"},null,-1)),e[6]||(e[6]=o("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"25px","text-anchor":"middle",x:"-30",y:"240","transform-origin":"-30 240",transform:"rotate(-90)"},"Sound pressure",-1)),(l(!0),i(y,null,h(x.marks,t=>(l(),i("g",{key:t,transform:`translate(0, ${-x.toNormY(t)*600})`},[e[4]||(e[4]=o("line",{opacity:"0.2",stroke:"currentColor","stroke-width":"1",y1:"600",y2:"600",x1:"-10",x2:"900"},null,-1)),o("text",R,f(t),1)],8,I))),128)),o("g",{transform:`translate(0, ${m(n).y})`},[o("line",{x1:"-5",x2:m(n).x,y1:"0",y2:"0",stroke:"currentColor","stroke-width":"1px",opacity:"0.8"},null,8,j),o("text",T,f(x.db.toFixed(0))+" db",1)],8,V)]),o("g",G,[e[7]||(e[7]=o("line",{x1:"0",x2:"900",y1:"600",y2:"600","stroke-width":"2",stroke:"currentColor"},null,-1)),e[8]||(e[8]=o("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"25px","text-anchor":"middle",x:"450",y:"650"},"Frequency",-1)),(l(!0),i(y,null,h(s.Cs,(t,d)=>(l(),i("g",{key:t},[o("line",{x1:900*s.toNormX(t),x2:900*s.toNormX(t),y1:"0",y2:600,stroke:"hsla(90,50%,50%,1)","stroke-width":"2",opacity:"0.4"},null,8,J),o("text",{fill:"hsla(90,50%,50%,1)",x:900*s.toNormX(t)+5,y:"20"},"C"+f(d),9,O)]))),128)),(l(!0),i(y,null,h(s.marks,t=>(l(),i("g",{key:t},[o("line",{x1:900*s.toNormX(t),x2:900*s.toNormX(t),y1:"0",y2:s.nums.includes(t)?620:600,stroke:"currentColor","stroke-width":"1",opacity:s.nums.includes(t)?.3:.1},null,8,U)]))),128)),(l(!0),i(y,null,h(s.nums,t=>(l(),i("text",{key:t,fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"12px","text-anchor":"middle",x:900*s.toNormX(t),y:"625"},f(t)+" Hz",9,K))),128)),o("g",{transform:`translate(${m(n).x}, 0)`},[o("line",{class:"transition-all duration-100",x1:"0",x2:"0",y1:m(n).y,y2:"600",stroke:s.color,"stroke-width":"2px"},null,8,W),o("circle",{class:"transition-all duration-100",cx:"0",cy:"600",r:"6",fill:s.color},null,8,Z),o("text",tt,f(s.hz.toFixed(1))+" Hz",1),o("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"end",x:"-10",y:"590",color:s.color},f(s.note.name)+" "+f(s.cents),9,ot)],8,Q)]),e[10]||(e[10]=o("path",{stroke:"currentColor","stroke-width":"1",fill:"none",transform:"scale(1.46) translate(-82,20)",d:"M82.6,19.38l10.11,16,22,38.26,20.7,35.62c.09.16.18.31.28.46l19.74,29.17a5.39,5.39,0,0,0,.4.54l19.74,24.36,21.84,24.37,13.08,13.58.38.36,16.34,14.85,18.13,15.25.38.3,14.75,10.94c.13.1.28.2.42.29l14.68,9.46,18.19,11,18.43,10.1,18.18,9.47,14.79,6.83c.16.08.32.14.49.21L367.09,299l16.75,5.7.6.18L398,308.35l10.49,2.59.5.11,12.13,2.18.49.07,11.11,1.29a7.83,7.83,0,0,0,1.28,0l9.1-.43a8,8,0,0,0,1.94-.33l13.56-4.18a5.52,5.52,0,0,0,.53-.18l16.53-6.4a9.37,9.37,0,0,1,1-.31l10.53-2.49a8.3,8.3,0,0,1,1.4-.21l8-.42a8,8,0,0,1,1.77.11l5.71,1a7.77,7.77,0,0,1,2.57.93l8.44,4.85a7.5,7.5,0,0,1,.88.59l11.07,8.51,11,7.88c.19.14.38.26.58.38l5.94,3.52a7.35,7.35,0,0,0,1.2.58l2.9,1.11a7.31,7.31,0,0,0,1.59.42l1.06.17a7.91,7.91,0,0,0,4.19-.49l2.49-1a7.85,7.85,0,0,0,2.88-2l6.58-7.32c.11-.12.21-.24.31-.37l10.33-13c.17-.22.33-.44.48-.67l10.38-16.32L599,272c.12-.2.25-.39.39-.58l6-8.19a8,8,0,0,1,2-1.9l4.94-3.26a7.82,7.82,0,0,1,2.92-1.18l4.58-.84a8,8,0,0,1,2.84,0l2.29.42a7.89,7.89,0,0,1,4.23,2.27l5.54,5.72a7.3,7.3,0,0,1,1,1.19l8.2,12.64a7.52,7.52,0,0,0,1.11,1.35l1.92,1.87a7.87,7.87,0,0,0,5.68,2.24h0a7.93,7.93,0,0,0,3.93-1.16l3-1.82a7.87,7.87,0,0,0,2.35-2.21l6-8.59a7.84,7.84,0,0,0,1-2l5.5-16.27a7.38,7.38,0,0,0,.31-1.23l1.55-9.33a8.18,8.18,0,0,1,.33-1.27l6.35-18.44"},null,-1)),o("rect",{ref_key:"area",ref:F,style:{cursor:"none"},x:"0",y:"0",width:"900",height:"600",fill:"hsla(0,0%,100%,0.1)"},null,512),o("g",{transform:`translate(${m(n).x}, ${m(n).y})`},[o("circle",{class:"pointer",cx:0,cy:0,r:"16",fill:s.color},null,8,st),o("text",rt,f(s.note),1)],8,et),o("polyline",{points:a.line,stroke:"currentColor","stroke-width":"4",fill:"none",opacity:"0.7"},null,8,nt),(l(!0),i(y,null,h(a.list,(t,d)=>(l(),i("g",{key:t.hz,transform:`translate(${t.x}, 0)`},[o("line",{x1:"0",x2:"0",y1:"600",y2:t.y,stroke:t.color,"stroke-width":"2"},null,8,it),o("circle",{class:"cursor-pointer",cx:"0",cy:t.y,r:"20",fill:t.color,onClick:k(g=>a.remove(d),["stop","prevent"])},null,8,at),o("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"16px","text-anchor":"end",x:"-5",y:t.y+36},f(t.cents<0?"":"+")+f(t.cents),9,ct),o("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"16px","text-anchor":"start",x:"5",y:t.y+36},f(t.hz.toFixed(1))+" Hz",9,ft),o("text",{"font-weight":"bold",fill:"white","font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"middle",x:"0",y:t.y+8},f(t.note),9,xt)],8,lt))),128)),a.list.length>0?(l(),i("g",{key:0,class:"cursor-pointer",transform:"translate(860,560)",onClick:e[0]||(e[0]=k(t=>a.clear(),["stop","prevent"]))},[e[9]||(e[9]=o("circle",{cx:"14",cy:"14",r:"22",fill:"gray"},null,-1)),A(c,{class:"text-2xl"})])):v("",!0)],10,D),p.value?v("",!0):(l(),i("g",{key:0,class:"cursor-pointer",onClick:e[1]||(e[1]=k(t=>b(),["stop","prevent"]))},e[11]||(e[11]=[o("rect",{x:"250",y:"200",width:"400",height:"100",rx:"20",fill:"gray",stroke:"white"},null,-1),o("text",{"font-weight":"bold",fill:"white","font-family":"Commissioner, sans-serif","font-size":"42px","text-anchor":"middle",x:"450",y:"265"},"START AUDIO",-1)])))],544))])}}},pt=X(mt,[["__scopeId","data-v-61b65253"]]);export{pt as default}; +import{_ as $}from"./trash.N5lXjyoo.js";import{q as X,r as S,b as C,c as u,x as l,y as i,E as m,A as o,F as y,B as h,G as f,S as k,P as A,I as v,z as H}from"./framework.CQBrk0Ry.js";import{b5 as L,aB as w,av as z,n as M,Y as B,aL as q,aH as P}from"./theme.Dd_Fb62b.js";const Y={class:"fullscreen-container p-4 mb-8",id:"screen"},D=["opacity"],E={class:"y"},I=["transform"],R={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"10px","text-anchor":"left",x:"-25",y:"595"},V=["transform"],j=["x2"],T={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"left",x:"6",y:"-12"},G={class:"x"},O=["x1","x2"],U=["x"],J=["x1","x2","y2","opacity"],K=["x"],Q=["transform"],W=["y1","stroke"],Z=["fill"],tt={fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"start",x:"10",y:"590"},ot=["color"],et=["transform"],st=["fill"],rt={"font-weight":"bold",fill:"white","font-family":"Commissioner, sans-serif","font-size":"18px","text-anchor":"middle",x:"0",y:"5"},nt=["points"],lt=["transform"],it=["y2","stroke"],at=["cy","fill","onClick"],ct=["y"],ft=["y"],xt=["y"],mt={__name:"SoundLoudness",setup(ut){const p=S(!1);function b(){P(),p.value=!0}const{svg:N,area:F,mouse:n}=L(),s=C({min:10,max:2e4,marks:[10,20,30,40,50,60,70,80,90,100,200,300,400,500,600,700,800,900,1e3,2e3,3e3,4e3,5e3,6e3,7e3,8e3,9e3,1e4,2e4],nums:[10,20,50,100,200,500,1e3,2e3,5e3,1e4,2e4],As:[22.5,55,110,220,440,880,1760,3520,7040,14080],Cs:[16,32,65,130.813,261,523,1046,2093,4186,8372,16744],hz:u(()=>s.toHz(n.normX)),color:u(()=>w(s.hz)),pitch:u(()=>(z(s.hz)+120)%12),note:u(()=>{let r=Math.round(s.pitch);return r>11.5&&(r=0),M[r]}),cents:u(()=>((s.pitch-s.pitch.toFixed(0))*100).toFixed(0)),toNormX(r){return(Math.log(r)-Math.log(s.min))/(Math.log(s.max)-Math.log(s.min))},toHz(r){return Math.pow(10,r*(Math.log10(s.max)-Math.log10(s.min))+Math.log10(s.min))}}),x=C({min:-80,max:10,marks:[-80,-70,-60,-50,-40,-30,-20,-10,0,10],db:u(()=>x.toDb(n.normY)),toDb(r){return(x.max-x.min)*r+x.min},toNormY(r){return(r-x.min)/(x.max-x.min)}});let _;const a=C({list:[],add(){var d,g;_||(_=B("loudness").channel);let r=s.toHz(n.normX),e=new q({oscillator:{type:"sine"},volume:x.db}).connect(_);e.triggerAttack(r,n.normY);let c=(z(r)+120)%12;c>11.5&&(c=0);let t=((c-c.toFixed(0))*100).toFixed(0);a.list.push({synth:e,x:n.x,y:n.y,hz:r,pitch:c,cents:t,note:(g=(d=M)==null?void 0:d[Math.round(c)])==null?void 0:g.name,color:w(r)})},line:u(()=>{let r=[],e=[...a.list];return e.sort((c,t)=>c.x{r.push([c.x,c.y].join(","))}),r.join(" ")}),clear(){a.list.forEach(r=>{r.synth.triggerRelease()}),a.list.splice(0,a.list.length)},remove(r){var e;(e=a.list)==null||e[r].synth.triggerRelease(),a.list.splice(r,1)}});return(r,e)=>{const c=$;return l(),i("div",Y,[(l(),i("svg",{class:"min-h-80svh max-h-100svh w-full select-none",ref_key:"svg",ref:N,version:"1.1",baseProfile:"full",viewBox:"-50 -50 1000 720",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},onMousemove:e[2]||(e[2]=(...t)=>m(n).getCursorPosition&&m(n).getCursorPosition(...t)),onClick:e[3]||(e[3]=t=>a.add())},[o("g",{opacity:p.value?1:.1,class:H({"pointer-events-none":!p.value})},[o("g",E,[e[5]||(e[5]=o("line",{x1:"0",x2:"0",y1:"0",y2:"600","stroke-width":"2",stroke:"currentColor"},null,-1)),e[6]||(e[6]=o("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"25px","text-anchor":"middle",x:"-30",y:"240","transform-origin":"-30 240",transform:"rotate(-90)"},"Sound pressure",-1)),(l(!0),i(y,null,h(x.marks,t=>(l(),i("g",{key:t,transform:`translate(0, ${-x.toNormY(t)*600})`},[e[4]||(e[4]=o("line",{opacity:"0.2",stroke:"currentColor","stroke-width":"1",y1:"600",y2:"600",x1:"-10",x2:"900"},null,-1)),o("text",R,f(t),1)],8,I))),128)),o("g",{transform:`translate(0, ${m(n).y})`},[o("line",{x1:"-5",x2:m(n).x,y1:"0",y2:"0",stroke:"currentColor","stroke-width":"1px",opacity:"0.8"},null,8,j),o("text",T,f(x.db.toFixed(0))+" db",1)],8,V)]),o("g",G,[e[7]||(e[7]=o("line",{x1:"0",x2:"900",y1:"600",y2:"600","stroke-width":"2",stroke:"currentColor"},null,-1)),e[8]||(e[8]=o("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"25px","text-anchor":"middle",x:"450",y:"650"},"Frequency",-1)),(l(!0),i(y,null,h(s.Cs,(t,d)=>(l(),i("g",{key:t},[o("line",{x1:900*s.toNormX(t),x2:900*s.toNormX(t),y1:"0",y2:600,stroke:"hsla(90,50%,50%,1)","stroke-width":"2",opacity:"0.4"},null,8,O),o("text",{fill:"hsla(90,50%,50%,1)",x:900*s.toNormX(t)+5,y:"20"},"C"+f(d),9,U)]))),128)),(l(!0),i(y,null,h(s.marks,t=>(l(),i("g",{key:t},[o("line",{x1:900*s.toNormX(t),x2:900*s.toNormX(t),y1:"0",y2:s.nums.includes(t)?620:600,stroke:"currentColor","stroke-width":"1",opacity:s.nums.includes(t)?.3:.1},null,8,J)]))),128)),(l(!0),i(y,null,h(s.nums,t=>(l(),i("text",{key:t,fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"12px","text-anchor":"middle",x:900*s.toNormX(t),y:"625"},f(t)+" Hz",9,K))),128)),o("g",{transform:`translate(${m(n).x}, 0)`},[o("line",{class:"transition-all duration-100",x1:"0",x2:"0",y1:m(n).y,y2:"600",stroke:s.color,"stroke-width":"2px"},null,8,W),o("circle",{class:"transition-all duration-100",cx:"0",cy:"600",r:"6",fill:s.color},null,8,Z),o("text",tt,f(s.hz.toFixed(1))+" Hz",1),o("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"end",x:"-10",y:"590",color:s.color},f(s.note.name)+" "+f(s.cents),9,ot)],8,Q)]),e[10]||(e[10]=o("path",{stroke:"currentColor","stroke-width":"1",fill:"none",transform:"scale(1.46) translate(-82,20)",d:"M82.6,19.38l10.11,16,22,38.26,20.7,35.62c.09.16.18.31.28.46l19.74,29.17a5.39,5.39,0,0,0,.4.54l19.74,24.36,21.84,24.37,13.08,13.58.38.36,16.34,14.85,18.13,15.25.38.3,14.75,10.94c.13.1.28.2.42.29l14.68,9.46,18.19,11,18.43,10.1,18.18,9.47,14.79,6.83c.16.08.32.14.49.21L367.09,299l16.75,5.7.6.18L398,308.35l10.49,2.59.5.11,12.13,2.18.49.07,11.11,1.29a7.83,7.83,0,0,0,1.28,0l9.1-.43a8,8,0,0,0,1.94-.33l13.56-4.18a5.52,5.52,0,0,0,.53-.18l16.53-6.4a9.37,9.37,0,0,1,1-.31l10.53-2.49a8.3,8.3,0,0,1,1.4-.21l8-.42a8,8,0,0,1,1.77.11l5.71,1a7.77,7.77,0,0,1,2.57.93l8.44,4.85a7.5,7.5,0,0,1,.88.59l11.07,8.51,11,7.88c.19.14.38.26.58.38l5.94,3.52a7.35,7.35,0,0,0,1.2.58l2.9,1.11a7.31,7.31,0,0,0,1.59.42l1.06.17a7.91,7.91,0,0,0,4.19-.49l2.49-1a7.85,7.85,0,0,0,2.88-2l6.58-7.32c.11-.12.21-.24.31-.37l10.33-13c.17-.22.33-.44.48-.67l10.38-16.32L599,272c.12-.2.25-.39.39-.58l6-8.19a8,8,0,0,1,2-1.9l4.94-3.26a7.82,7.82,0,0,1,2.92-1.18l4.58-.84a8,8,0,0,1,2.84,0l2.29.42a7.89,7.89,0,0,1,4.23,2.27l5.54,5.72a7.3,7.3,0,0,1,1,1.19l8.2,12.64a7.52,7.52,0,0,0,1.11,1.35l1.92,1.87a7.87,7.87,0,0,0,5.68,2.24h0a7.93,7.93,0,0,0,3.93-1.16l3-1.82a7.87,7.87,0,0,0,2.35-2.21l6-8.59a7.84,7.84,0,0,0,1-2l5.5-16.27a7.38,7.38,0,0,0,.31-1.23l1.55-9.33a8.18,8.18,0,0,1,.33-1.27l6.35-18.44"},null,-1)),o("rect",{ref_key:"area",ref:F,style:{cursor:"none"},x:"0",y:"0",width:"900",height:"600",fill:"hsla(0,0%,100%,0.1)"},null,512),o("g",{transform:`translate(${m(n).x}, ${m(n).y})`},[o("circle",{class:"pointer",cx:0,cy:0,r:"16",fill:s.color},null,8,st),o("text",rt,f(s.note),1)],8,et),o("polyline",{points:a.line,stroke:"currentColor","stroke-width":"4",fill:"none",opacity:"0.7"},null,8,nt),(l(!0),i(y,null,h(a.list,(t,d)=>(l(),i("g",{key:t.hz,transform:`translate(${t.x}, 0)`},[o("line",{x1:"0",x2:"0",y1:"600",y2:t.y,stroke:t.color,"stroke-width":"2"},null,8,it),o("circle",{class:"cursor-pointer",cx:"0",cy:t.y,r:"20",fill:t.color,onClick:k(g=>a.remove(d),["stop","prevent"])},null,8,at),o("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"16px","text-anchor":"end",x:"-5",y:t.y+36},f(t.cents<0?"":"+")+f(t.cents),9,ct),o("text",{fill:"currentColor","font-family":"Commissioner, sans-serif","font-size":"16px","text-anchor":"start",x:"5",y:t.y+36},f(t.hz.toFixed(1))+" Hz",9,ft),o("text",{"font-weight":"bold",fill:"white","font-family":"Commissioner, sans-serif","font-size":"22px","text-anchor":"middle",x:"0",y:t.y+8},f(t.note),9,xt)],8,lt))),128)),a.list.length>0?(l(),i("g",{key:0,class:"cursor-pointer",transform:"translate(860,560)",onClick:e[0]||(e[0]=k(t=>a.clear(),["stop","prevent"]))},[e[9]||(e[9]=o("circle",{cx:"14",cy:"14",r:"22",fill:"gray"},null,-1)),A(c,{class:"text-2xl"})])):v("",!0)],10,D),p.value?v("",!0):(l(),i("g",{key:0,class:"cursor-pointer",onClick:e[1]||(e[1]=k(t=>b(),["stop","prevent"]))},e[11]||(e[11]=[o("rect",{x:"250",y:"200",width:"400",height:"100",rx:"20",fill:"gray",stroke:"white"},null,-1),o("text",{"font-weight":"bold",fill:"white","font-family":"Commissioner, sans-serif","font-size":"42px","text-anchor":"middle",x:"450",y:"265"},"START AUDIO",-1)])))],544))])}}},pt=X(mt,[["__scopeId","data-v-61b65253"]]);export{pt as default}; diff --git a/assets/chunks/SoundOvertones.DTelgLkQ.js b/assets/chunks/SoundOvertones.DwsCQUnN.js similarity index 93% rename from assets/chunks/SoundOvertones.DTelgLkQ.js rename to assets/chunks/SoundOvertones.DwsCQUnN.js index 153788ab5a..d357283521 100644 --- a/assets/chunks/SoundOvertones.DTelgLkQ.js +++ b/assets/chunks/SoundOvertones.DwsCQUnN.js @@ -1 +1 @@ -import{n as U,r as Y,c as E,aF as H,Y as X,aj as B,aE as G,g as z,az as D,I as S,al as R}from"./theme.ClagsQLu.js";import{q as O,b as M,x as i,y as a,F as _,B as k,z as L,H as W,E as V,G as w,c as h,A as r,f as J,d as I,u as j,M as K,P as $,a1 as A,C as b,I as T}from"./framework.BR0mAPCP.js";const Q={class:"flex justify-center min-h-2rem"},Z=["onMouseover","onMouseleave","onClick"],tt={__name:"ControlPiano",props:{pitch:{type:Number,default:0},chroma:String,size:{type:String,default:"2"},names:Boolean},emits:["update:pitch"],setup(p,{emit:o}){const x=o,c=p,n=[...U].map((C,f)=>({name:C,pitch:f})),P=M({notes:Y(n,3)});function q(C){if(c.chroma)return Y(c.chroma.split(""),-c.pitch)[C]==1}return(C,f)=>(i(),a("div",Q,[(i(!0),a(_,null,k(P.notes,s=>(i(),a("div",{class:L(["key",{black:s.name.length==2,tonic:s.pitch==p.pitch}]),key:s,onMouseover:l=>s.active=!0,onMouseleave:l=>s.active=!1,onClick:l=>x("update:pitch",s.pitch),style:W({backgroundColor:q(s.pitch)||s.active||s.pitch==p.pitch?V(E)(s.pitch,4,s.pitch==p.pitch?1:.4):""})},w(p.names?s.name:""),47,Z))),128))]))}},et=O(tt,[["__scopeId","data-v-377ff691"]]),ot={id:"guitar"},nt=["width"],st=["x1","x2"],lt=["cx"],rt=["cx"],it=["x1","x2"],at=["x2","y1","y2"],ct={__name:"SoundOvertonesGuitar",props:{length:{type:Number,default:0}},setup(p){const o=M({semitone:1.05946309436,inlays:h(()=>[3,5,7,9,15,17,19,21].map(x=>1-Math.pow(.9438743,x-.5))),frets:h(()=>{let x=[];for(let c=0;c<22;c++)x.push(1-Math.pow(.9438743,c));return x})});return(x,c)=>(i(),a("g",ot,[c[0]||(c[0]=r("path",{id:"body",d:"M272.067496,477.021744 C152.799151,477.021744 64.2512517,431.596015 64.2512517,324.985083 C64.2512517,218.370585 135.631319,176.65559 135.631319,142.353147 C135.631319,108.052486 104.910874,46.8672837 128.402665,-6.90358408 C151.896237,-60.6708855 245.865182,-63.4525985 270.259887,-63.4525985 C294.654592,-63.4525985 388.625317,-60.6708855 412.117108,-6.90358408 C435.608899,46.8672837 404.888454,108.052486 404.888454,142.353147 C404.888454,176.65559 476.270303,218.370585 476.270303,324.985083 C476.270303,431.596015 391.337621,477.021744 272.067496,477.021744",fill:"gray",opacity:"0.1",transform:"scale(0.24) rotate(-90) translate(-295, 380) "},null,-1)),c[1]||(c[1]=r("path",{id:"head",d:"M27.4,51.6c18.2-0.9,7.8,0.2,12.4,6.4c3.7,5,9.4-3.4,4.6-6.3c-1.3-0.8-1.3-0.9,5-1.1c6-0.2,5-0.6,4.9,1c-0.4,7.8,4.9,8.8,7,5.2c4-6.8-8.1-6.4,2.8-6.9c2.9-0.1,5.2-0.2,5.2-0.1c0.2,5.8,0.5,6.6,2.4,7.7c3.5,2.1,7.7-4,3.5-7.2 c-1.7-1.3-2.8-0.9,4.7-1.2c10-0.3,5.4-2.1,10.8-3.8c0.9-0.3,0.8-1.6,0.8-24.4c-8.4-4.5-2.5-4-15.8-4.3c-2.2-0.1-2.1,0.2-0.7-0.7 c3.8-2.4,1.6-8.6-2.3-7.9c-4.4,0.8-2.5,7.9-3.9,8.1c-0.6,0.1-10.5-0.2-9.1-0.8c4.2-1.8,2.2-9.1-2.2-8c-2.7,0.7-3.1,3-3.1,8.2 c-12-0.6-11.8-0.4-10.2-1.2c6.3-3.1-4.3-14.8-5.5-2.8c-0.4,4.1,1.4,3.3-11.6,2.6c-12-0.6-12-0.6-14.4,2.7C4.7,28.2,8.2,46,15,51.1 C16.4,52.1,16.5,52.1,27.4,51.6z M31.2,44.8c-0.4-1.5,0-2.4,1.1-3.1c0.5-0.3,5.7-0.8,6.2-0.5c0.2,0.1,0.2,2.2,0.1,5.7 C32.9,47.1,31.9,47.3,31.2,44.8z M42.6,41c0.1-0.2,11.7-0.8,11.7-0.6c-0.1,0.9,0.4,5.9-0.5,5.9c-0.1,0-10.7,0.6-11.1,0.4 C42.3,46.5,42.5,41.2,42.6,41z M58.3,43.1c0-3.8-0.4-3,6-3.3c6.5-0.3,5.2-1.2,5.1,2.8c-0.1,3.9,0.6,3-6.1,3.4 C57.6,46.3,58.3,46.8,58.3,43.1z M31.2,22.1c-0.6-5.1,7.4-3.2,7.4-3c0.1,0.4,0.1,5.5,0,5.5c0,0-1.3,0-2.9-0.1 C32.5,24.3,31.4,23.8,31.2,22.1z M73.4,39.3c2.3,0,4.2-0.2,4.9,2.4c1,3.9-4.6,3.9-4.7,3.8C73.2,45.4,73.4,44.1,73.4,39.3z M42.5,19 c9.3,0.4,11.6,0.6,11.7,0.6c0.3,0.2,0.1,6-0.2,6c-0.2,0-2.7-0.2-5.6-0.3C41.6,24.9,42.4,26.1,42.5,19z M58.4,22.9 c0-1.6,0.1-2.9,0.1-3c0.1-0.2,10.5,0.1,10.9,0.3c0.2,0.1,0.1,3.3,0.1,6.1C56.2,25.7,58.4,26.9,58.4,22.9z M73.5,20.6 c0-0.5,2.4-0.1,3.6,0.6c1.8,1.1,1.9,3.6,0.2,4.7c-0.9,0.6-3.1,1-3.6,0.7C73.2,26.3,73.4,21.1,73.5,20.6z",transform:"scale(0.52) translate(-91.5, -21.5)",fill:"gray",opacity:"0.3"},null,-1)),r("rect",{id:"fretboard",x:"0",y:"0",width:p.length*.702,height:"12",fill:"gray",opacity:"0.3",stroke:"black","stroke-width":"0.2"},null,8,nt),r("line",{x1:p.length,x2:p.length,y1:"0",y2:"12",stroke:"gray","stroke-width":"1"},null,8,st),r("circle",{r:"15",cx:p.length*.8,cy:"6",fill:"hsla(0,0%,0%,0.1)"},null,8,lt),(i(!0),a(_,null,k(o.inlays,n=>(i(),a("circle",{key:n,cy:"6",r:"1",cx:n*p.length,opacity:"0.5"},null,8,rt))),128)),c[2]||(c[2]=r("circle",{cy:"3",r:"1",cx:72.7,opacity:"0.5"},null,-1)),c[3]||(c[3]=r("circle",{cy:"9",r:"1",cx:72.7,opacity:"0.5"},null,-1)),(i(!0),a(_,null,k(o.frets,n=>(i(),a("line",{key:n,x1:n*p.length,x2:n*p.length,y1:"0",y2:"12",stroke:"currentColor","stroke-width":"0.2"},null,8,it))),128)),(i(),a(_,null,k(6,n=>r("line",{key:n,x1:0,x2:p.length,y1:n*2-1,y2:n*2-1,stroke:"gray","stroke-width":"0.5",opacity:"0.6"},null,8,at)),64))]))}},ut={class:"flex flex-col fullscreen-container",id:"screen"},dt=["viewBox"],ht={id:"edges"},pt=["y2"],ft=["x1","x2","y2"],mt=["y","width","height","fill","opacity"],yt=["stroke-width"],xt=["fill"],vt=["cx","fill"],gt={fill:"currentColor",x:-2,"text-anchor":"end",y:"2","font-size":"4px"},wt=["x"],_t=["data-num","transform","onMouseenter","onMouseover","onMouseleave","onMousedown","onTouchstart","onMouseup","onTouchend","onTouchcancel"],kt=["y","width","height","fill","opacity"],Mt=["stroke-width"],Ct={fill:"currentColor",x:-2,"text-anchor":"end",y:"-3","font-size":"4px","font-weight":"bold"},$t={fill:"currentColor",x:-2,"text-anchor":"end",y:"2","font-size":"4px"},bt=["x"],Pt=["x"],qt=["cx","r","fill"],zt=["x1","x2","y1","stroke","opacity"],St={class:"controls flex flex-wrap justify-center mb-8 z-2 -mt-2"},Tt={class:"is-group flex items-center mr-2 gap-2"},Vt={key:0,class:"i-la-play"},Ft={key:1,class:"i-la-pause"},Nt={class:"is-group flex items-center gap-2"},Yt={class:"relative flex flex-col items-center"},Bt={__name:"SoundOvertones",setup(p){const o=M({width:150,height:200,padX:30,padY:20,x:0,y:0,stroke:"currentColor",fill:"none","stroke-width":.2});let x=null,c=null;const n=M({started:!1,enabled:!1,async init(){if(n.started){n.enabled=!n.enabled;return}await H(),n.started=!0,n.enabled=!0;const{channel:u}=X("overtones");x=new B({oscillator:{type:"sine"},volume:-10,envelope:{attack:.1,decay:.01,sustain:1,release:4}}).connect(u),c=new B({oscillator:{type:"sawtooth8"},volume:-10,envelope:{attack:.1,decay:.01,sustain:1,release:4}}).connect(u)},playSaw(u){if(!n.enabled)return n.init(),null;c.triggerAttack(u)},stopSaw(){n.enabled&&c.triggerRelease()},play(u,t){if(!n.enabled)return n.init(),null;c.volume.rampTo(-10-100*t,.01),x.triggerAttack(u,"+0.1",(l.count-t)/l.count)},stop(){n.enabled&&x.triggerRelease()},change(u,t){n.enabled&&(c.volume.rampTo(-10-100*t,.01),x.setNote(u))}}),{timestamp:P,pause:q,resume:C}=J({controls:!0,offset:-Date.now()}),f=M({phase:h(()=>f.speed*(P.value/100)%100/100),speed:1,move:!0});I(()=>f.move,u=>{u?C():q()},{immediate:!0});const s=M({pitch:0,octave:j("overtones-octave",2),frequency:h(()=>G(z.tonic,s.octave)),points:h(()=>{let u=[];for(let t=0;t<=o.width;t+=1){let d=0;for(let v=0;v<=l.count;v++)d=d+F(v,t,f.phase)/Math.exp(v/2+1);let y=o.height/(3*l.count)*d*5;u[t]=`${t},${y}`}return u.join(" ")}),stroke:h(()=>D(s.frequency)),note:h(()=>S(s.frequency).toNote()),cents:h(()=>N(s.frequency,S(s.note).toFrequency()))}),l=M({count:j("overtones-count",7),min:2,max:15,list:[],intervals:["P8","P8+P5","2P8","2P8+M3","2P8+P5","2P8+m7","3P8","3P8+M2","3P8+M3","3P8+TT","3P8+P5","3P8+n6","3P8+P5+m3","3P8+M7","4P8"]});I(()=>l.count,u=>{l.list=[];for(let t=1;t<=u;t++)l.list[t-1]={frequency:h(()=>s.frequency*(t+1)),note:h(()=>{let d=l.list[t-1].frequency;return S(d).toNote()}),cents:h(()=>N(s.frequency,l.list[t-1].frequency).toFixed(0)),centDiff:h(()=>l.list[t-1].cents-Math.round(l.list[t-1].cents/100)*100),position:h(()=>t*(o.height-o.padY)/l.count),stroke:h(()=>D(l.list[t-1].frequency)),amplitude:h(()=>o.height/(3*u*t/2)),points:h(()=>{let d=[];for(let y=0;y<=o.width;y+=1){let v=l.list[t-1].amplitude*F(t,y,f.phase);d[y]=`${y},${v}`}return d.join(" ")}),dots:h(()=>{let d=[];for(let y=0;y<=t;y++)d.push(o.width/t*y);return d})}},{immediate:!0});function F(u,t,d){return Math.sin(Math.PI*u*t/o.width)*Math.cos(d*u*2*Math.PI)}function N(u,t){return-(1200/Math.log10(2))*Math.log10(u/t)%1200}return(u,t)=>{const d=R,y=et,v=K("tooltip");return i(),a("div",ut,[(i(),a("svg",{class:"w-full max-h-90vh",id:"overtones",version:"1.1",baseProfile:"full",viewBox:`${-o.padX} ${-3*o.padY} ${o.width+2*o.padX} ${o.height+3*o.padY}`,xmlns:"http://www.w3.org/2000/svg","font-family":"Commissioner, sans-serif",onMouseleave:t[7]||(t[7]=e=>n.stop())},[$(ct,{length:o.width,transform:"translate(0,-1) rotate(180) translate(-150, -12)"},null,8,["length"]),r("g",ht,[r("line",{x1:"0",x2:"0",y1:"0",y2:o.height-8,stroke:"gray","stroke-width":"0.2"},null,8,pt),r("line",{x1:o.width,x2:o.width,y1:"0",y2:o.height-8,stroke:"gray","stroke-width":"0.2"},null,8,ft)]),r("g",{class:"cursor-pointer",id:"fundamental",onMouseover:t[0]||(t[0]=e=>s.hover=!0),onMouseleave:t[1]||(t[1]=e=>{s.hover=!1,n.stopSaw()}),onMousedown:t[2]||(t[2]=e=>n.playSaw(s.frequency,!0)),onTouchstart:t[3]||(t[3]=e=>n.playSaw(s.frequency,!0)),onMouseup:t[4]||(t[4]=e=>n.stopSaw()),onTouchend:t[5]||(t[5]=e=>n.stopSaw()),onTouchcancel:t[6]||(t[6]=e=>n.stopSaw())},[r("rect",{class:"transition-all duration-200",x:"0",y:-.5*(o.height-o.padY)/l.count,width:o.width,height:(o.height-o.padY)/l.count,fill:s.stroke,opacity:s.hover?.2:.05},null,8,mt),r("polyline",A({fill:"none"},s,{"stroke-width":s.hover?2:1}),null,16,yt),r("circle",{cx:"0",cy:"0",r:"1",fill:s.stroke},null,8,xt),r("circle",{cx:o.width,cy:"0",r:"1",fill:s.stroke},null,8,vt),r("text",gt,w(s.frequency.toFixed(1))+" Hz ",1),r("text",{fill:"currentColor",x:o.width+2,"text-anchor":"start",y:"2","font-size":"4px"},w(s.note)+" ("+w(s.cents.toFixed(0))+" cents)",9,wt)],32),(i(!0),a(_,null,k(l.list,(e,g)=>(i(),a("g",{class:"overtone cursor-pointer",key:e,"data-num":g+1,transform:`translate(0, ${e.position})`,onMouseenter:m=>n.change(e.frequency,g),onMouseover:m=>e.hover=!0,onMouseleave:m=>e.hover=!1,onMousedown:m=>{n.play(e.frequency,g),e.active=!0},onTouchstart:m=>{n.play(e.frequency,g),e.active=!0},onMouseup:m=>{n.stop(),e.active=!1},onTouchend:m=>{n.stop(),e.active=!1},onTouchcancel:m=>{n.stop(),e.active=!1}},[r("rect",{class:"transition-all duration-200",x:"0",y:-.5*(o.height-o.padY)/l.count,width:o.width,height:(o.height-o.padY)/l.count,fill:e.stroke,opacity:e.hover?.2:.05},null,8,kt),r("polyline",A({class:"transition-all duration-200",ref_for:!0},e,{fill:"none","stroke-width":e.hover?e.active?2:1:.5}),null,16,Mt),r("text",Ct,w(g+1),1),r("text",$t,w(e.frequency.toFixed(1))+" Hz",1),r("text",{"font-weight":"bold",fill:"currentColor",x:o.width+2,"text-anchor":"start",y:"-3","font-size":"4px"},w(l.intervals[g]),9,bt),r("text",{fill:"currentColor",x:o.width+2,"text-anchor":"start",y:"2","font-size":"4px"},w(e.note)+" ("+w(e.centDiff>0?"+":"")+w(e.centDiff)+" cents)",9,Pt),(i(!0),a(_,null,k(e.dots,m=>(i(),a("circle",{class:"transition-all duration-200",key:m,cy:"0",cx:m,r:e.hover?1.2:1,fill:e.stroke},null,8,qt))),128))],40,_t))),128)),(i(!0),a(_,null,k(l.list,(e,g)=>(i(),a("g",{class:"lines",key:g},[(i(!0),a(_,null,k(e.dots,m=>(i(),a("line",{key:m,x1:m,x2:m,y1:(g+1)*(o.height-o.padY)/l.count,y2:0,stroke:e.stroke,"stroke-width":"0.2",opacity:1-g/(l.count+2)},null,8,zt))),128))]))),128))],40,dt)),r("div",St,[r("div",Tt,[b((i(),a("button",{class:"shadow p-3 m-1 border-1 border-current rounded",onClick:t[8]||(t[8]=e=>f.move=!f.move)},[f.move?T("",!0):(i(),a("div",Vt)),f.move?(i(),a("div",Ft)):T("",!0)])),[[v,"Toggle animation",void 0,{bottom:!0}]]),b($(d,{modelValue:l.count,"onUpdate:modelValue":t[9]||(t[9]=e=>l.count=e),min:l.min,max:l.max,step:1,fixed:0,param:"count"},null,8,["modelValue","min","max"]),[[v,"Number of harmonics",void 0,{bottom:!0}]]),b($(d,{modelValue:f.speed,"onUpdate:modelValue":t[10]||(t[10]=e=>f.speed=e),min:.2,max:2,step:.1,fixed:1,param:"speed"},null,8,["modelValue"]),[[v,"Speed of animation",void 0,{bottom:!0}]])]),r("div",Nt,[b($(y,{pitch:V(z).tonic,"onUpdate:pitch":t[11]||(t[11]=e=>V(z).tonic=e)},null,8,["pitch"]),[[v,"Fundamental pitch",void 0,{bottom:!0}]]),b($(d,{modelValue:s.octave,"onUpdate:modelValue":t[12]||(t[12]=e=>s.octave=e),min:1,max:5,step:1,fixed:0,param:"octave"},null,8,["modelValue"]),[[v,"Octave of the fundamental pitch",void 0,{bottom:!0}]])])]),r("div",Yt,[n.enabled?T("",!0):(i(),a("button",{key:0,class:"shadow p-3 m-1 border-1 border-current rounded absolute top-80",onClick:t[13]||(t[13]=e=>n.init())},t[14]||(t[14]=[r("div",{class:"i-bi-volume-up"},null,-1)])))])])}}},jt=O(Bt,[["__scopeId","data-v-e4829d4f"]]);export{jt as default}; +import{n as O,r as Y,c as U,aH as G,Y as X,al as B,aG as E,g as z,aB as D,I as S,an as R}from"./theme.Dd_Fb62b.js";import{q as H,b as M,x as i,y as a,F as _,B as k,z as L,H as W,E as V,G as w,c as h,A as r,f as J,d as I,u as A,M as K,P as $,a1 as j,C as b,I as T}from"./framework.CQBrk0Ry.js";const Q={class:"flex justify-center min-h-2rem"},Z=["onMouseover","onMouseleave","onClick"],tt={__name:"ControlPiano",props:{pitch:{type:Number,default:0},chroma:String,size:{type:String,default:"2"},names:Boolean},emits:["update:pitch"],setup(p,{emit:o}){const x=o,c=p,n=[...O].map((C,f)=>({name:C,pitch:f})),P=M({notes:Y(n,3)});function q(C){if(c.chroma)return Y(c.chroma.split(""),-c.pitch)[C]==1}return(C,f)=>(i(),a("div",Q,[(i(!0),a(_,null,k(P.notes,s=>(i(),a("div",{class:L(["key",{black:s.name.length==2,tonic:s.pitch==p.pitch}]),key:s,onMouseover:l=>s.active=!0,onMouseleave:l=>s.active=!1,onClick:l=>x("update:pitch",s.pitch),style:W({backgroundColor:q(s.pitch)||s.active||s.pitch==p.pitch?V(U)(s.pitch,4,s.pitch==p.pitch?1:.4):""})},w(p.names?s.name:""),47,Z))),128))]))}},et=H(tt,[["__scopeId","data-v-377ff691"]]),ot={id:"guitar"},nt=["width"],st=["x1","x2"],lt=["cx"],rt=["cx"],it=["x1","x2"],at=["x2","y1","y2"],ct={__name:"SoundOvertonesGuitar",props:{length:{type:Number,default:0}},setup(p){const o=M({semitone:1.05946309436,inlays:h(()=>[3,5,7,9,15,17,19,21].map(x=>1-Math.pow(.9438743,x-.5))),frets:h(()=>{let x=[];for(let c=0;c<22;c++)x.push(1-Math.pow(.9438743,c));return x})});return(x,c)=>(i(),a("g",ot,[c[0]||(c[0]=r("path",{id:"body",d:"M272.067496,477.021744 C152.799151,477.021744 64.2512517,431.596015 64.2512517,324.985083 C64.2512517,218.370585 135.631319,176.65559 135.631319,142.353147 C135.631319,108.052486 104.910874,46.8672837 128.402665,-6.90358408 C151.896237,-60.6708855 245.865182,-63.4525985 270.259887,-63.4525985 C294.654592,-63.4525985 388.625317,-60.6708855 412.117108,-6.90358408 C435.608899,46.8672837 404.888454,108.052486 404.888454,142.353147 C404.888454,176.65559 476.270303,218.370585 476.270303,324.985083 C476.270303,431.596015 391.337621,477.021744 272.067496,477.021744",fill:"gray",opacity:"0.1",transform:"scale(0.24) rotate(-90) translate(-295, 380) "},null,-1)),c[1]||(c[1]=r("path",{id:"head",d:"M27.4,51.6c18.2-0.9,7.8,0.2,12.4,6.4c3.7,5,9.4-3.4,4.6-6.3c-1.3-0.8-1.3-0.9,5-1.1c6-0.2,5-0.6,4.9,1c-0.4,7.8,4.9,8.8,7,5.2c4-6.8-8.1-6.4,2.8-6.9c2.9-0.1,5.2-0.2,5.2-0.1c0.2,5.8,0.5,6.6,2.4,7.7c3.5,2.1,7.7-4,3.5-7.2 c-1.7-1.3-2.8-0.9,4.7-1.2c10-0.3,5.4-2.1,10.8-3.8c0.9-0.3,0.8-1.6,0.8-24.4c-8.4-4.5-2.5-4-15.8-4.3c-2.2-0.1-2.1,0.2-0.7-0.7 c3.8-2.4,1.6-8.6-2.3-7.9c-4.4,0.8-2.5,7.9-3.9,8.1c-0.6,0.1-10.5-0.2-9.1-0.8c4.2-1.8,2.2-9.1-2.2-8c-2.7,0.7-3.1,3-3.1,8.2 c-12-0.6-11.8-0.4-10.2-1.2c6.3-3.1-4.3-14.8-5.5-2.8c-0.4,4.1,1.4,3.3-11.6,2.6c-12-0.6-12-0.6-14.4,2.7C4.7,28.2,8.2,46,15,51.1 C16.4,52.1,16.5,52.1,27.4,51.6z M31.2,44.8c-0.4-1.5,0-2.4,1.1-3.1c0.5-0.3,5.7-0.8,6.2-0.5c0.2,0.1,0.2,2.2,0.1,5.7 C32.9,47.1,31.9,47.3,31.2,44.8z M42.6,41c0.1-0.2,11.7-0.8,11.7-0.6c-0.1,0.9,0.4,5.9-0.5,5.9c-0.1,0-10.7,0.6-11.1,0.4 C42.3,46.5,42.5,41.2,42.6,41z M58.3,43.1c0-3.8-0.4-3,6-3.3c6.5-0.3,5.2-1.2,5.1,2.8c-0.1,3.9,0.6,3-6.1,3.4 C57.6,46.3,58.3,46.8,58.3,43.1z M31.2,22.1c-0.6-5.1,7.4-3.2,7.4-3c0.1,0.4,0.1,5.5,0,5.5c0,0-1.3,0-2.9-0.1 C32.5,24.3,31.4,23.8,31.2,22.1z M73.4,39.3c2.3,0,4.2-0.2,4.9,2.4c1,3.9-4.6,3.9-4.7,3.8C73.2,45.4,73.4,44.1,73.4,39.3z M42.5,19 c9.3,0.4,11.6,0.6,11.7,0.6c0.3,0.2,0.1,6-0.2,6c-0.2,0-2.7-0.2-5.6-0.3C41.6,24.9,42.4,26.1,42.5,19z M58.4,22.9 c0-1.6,0.1-2.9,0.1-3c0.1-0.2,10.5,0.1,10.9,0.3c0.2,0.1,0.1,3.3,0.1,6.1C56.2,25.7,58.4,26.9,58.4,22.9z M73.5,20.6 c0-0.5,2.4-0.1,3.6,0.6c1.8,1.1,1.9,3.6,0.2,4.7c-0.9,0.6-3.1,1-3.6,0.7C73.2,26.3,73.4,21.1,73.5,20.6z",transform:"scale(0.52) translate(-91.5, -21.5)",fill:"gray",opacity:"0.3"},null,-1)),r("rect",{id:"fretboard",x:"0",y:"0",width:p.length*.702,height:"12",fill:"gray",opacity:"0.3",stroke:"black","stroke-width":"0.2"},null,8,nt),r("line",{x1:p.length,x2:p.length,y1:"0",y2:"12",stroke:"gray","stroke-width":"1"},null,8,st),r("circle",{r:"15",cx:p.length*.8,cy:"6",fill:"hsla(0,0%,0%,0.1)"},null,8,lt),(i(!0),a(_,null,k(o.inlays,n=>(i(),a("circle",{key:n,cy:"6",r:"1",cx:n*p.length,opacity:"0.5"},null,8,rt))),128)),c[2]||(c[2]=r("circle",{cy:"3",r:"1",cx:72.7,opacity:"0.5"},null,-1)),c[3]||(c[3]=r("circle",{cy:"9",r:"1",cx:72.7,opacity:"0.5"},null,-1)),(i(!0),a(_,null,k(o.frets,n=>(i(),a("line",{key:n,x1:n*p.length,x2:n*p.length,y1:"0",y2:"12",stroke:"currentColor","stroke-width":"0.2"},null,8,it))),128)),(i(),a(_,null,k(6,n=>r("line",{key:n,x1:0,x2:p.length,y1:n*2-1,y2:n*2-1,stroke:"gray","stroke-width":"0.5",opacity:"0.6"},null,8,at)),64))]))}},ut={class:"flex flex-col fullscreen-container",id:"screen"},dt=["viewBox"],ht={id:"edges"},pt=["y2"],ft=["x1","x2","y2"],mt=["y","width","height","fill","opacity"],yt=["stroke-width"],xt=["fill"],vt=["cx","fill"],gt={fill:"currentColor",x:-2,"text-anchor":"end",y:"2","font-size":"4px"},wt=["x"],_t=["data-num","transform","onMouseenter","onMouseover","onMouseleave","onMousedown","onTouchstart","onMouseup","onTouchend","onTouchcancel"],kt=["y","width","height","fill","opacity"],Mt=["stroke-width"],Ct={fill:"currentColor",x:-2,"text-anchor":"end",y:"-3","font-size":"4px","font-weight":"bold"},$t={fill:"currentColor",x:-2,"text-anchor":"end",y:"2","font-size":"4px"},bt=["x"],Pt=["x"],qt=["cx","r","fill"],zt=["x1","x2","y1","stroke","opacity"],St={class:"controls flex flex-wrap justify-center mb-8 z-2 -mt-2"},Tt={class:"is-group flex items-center mr-2 gap-2"},Vt={key:0,class:"i-la-play"},Ft={key:1,class:"i-la-pause"},Nt={class:"is-group flex items-center gap-2"},Yt={class:"relative flex flex-col items-center"},Bt={__name:"SoundOvertones",setup(p){const o=M({width:150,height:200,padX:30,padY:20,x:0,y:0,stroke:"currentColor",fill:"none","stroke-width":.2});let x=null,c=null;const n=M({started:!1,enabled:!1,async init(){if(n.started){n.enabled=!n.enabled;return}await G(),n.started=!0,n.enabled=!0;const{channel:u}=X("overtones");x=new B({oscillator:{type:"sine"},volume:-10,envelope:{attack:.1,decay:.01,sustain:1,release:4}}).connect(u),c=new B({oscillator:{type:"sawtooth8"},volume:-10,envelope:{attack:.1,decay:.01,sustain:1,release:4}}).connect(u)},playSaw(u){if(!n.enabled)return n.init(),null;c.triggerAttack(u)},stopSaw(){n.enabled&&c.triggerRelease()},play(u,t){if(!n.enabled)return n.init(),null;c.volume.rampTo(-10-100*t,.01),x.triggerAttack(u,"+0.1",(l.count-t)/l.count)},stop(){n.enabled&&x.triggerRelease()},change(u,t){n.enabled&&(c.volume.rampTo(-10-100*t,.01),x.setNote(u))}}),{timestamp:P,pause:q,resume:C}=J({controls:!0,offset:-Date.now()}),f=M({phase:h(()=>f.speed*(P.value/100)%100/100),speed:1,move:!0});I(()=>f.move,u=>{u?C():q()},{immediate:!0});const s=M({pitch:0,octave:A("overtones-octave",2),frequency:h(()=>E(z.tonic,s.octave)),points:h(()=>{let u=[];for(let t=0;t<=o.width;t+=1){let d=0;for(let v=0;v<=l.count;v++)d=d+F(v,t,f.phase)/Math.exp(v/2+1);let y=o.height/(3*l.count)*d*5;u[t]=`${t},${y}`}return u.join(" ")}),stroke:h(()=>D(s.frequency)),note:h(()=>S(s.frequency).toNote()),cents:h(()=>N(s.frequency,S(s.note).toFrequency()))}),l=M({count:A("overtones-count",7),min:2,max:15,list:[],intervals:["P8","P8+P5","2P8","2P8+M3","2P8+P5","2P8+m7","3P8","3P8+M2","3P8+M3","3P8+TT","3P8+P5","3P8+n6","3P8+P5+m3","3P8+M7","4P8"]});I(()=>l.count,u=>{l.list=[];for(let t=1;t<=u;t++)l.list[t-1]={frequency:h(()=>s.frequency*(t+1)),note:h(()=>{let d=l.list[t-1].frequency;return S(d).toNote()}),cents:h(()=>N(s.frequency,l.list[t-1].frequency).toFixed(0)),centDiff:h(()=>l.list[t-1].cents-Math.round(l.list[t-1].cents/100)*100),position:h(()=>t*(o.height-o.padY)/l.count),stroke:h(()=>D(l.list[t-1].frequency)),amplitude:h(()=>o.height/(3*u*t/2)),points:h(()=>{let d=[];for(let y=0;y<=o.width;y+=1){let v=l.list[t-1].amplitude*F(t,y,f.phase);d[y]=`${y},${v}`}return d.join(" ")}),dots:h(()=>{let d=[];for(let y=0;y<=t;y++)d.push(o.width/t*y);return d})}},{immediate:!0});function F(u,t,d){return Math.sin(Math.PI*u*t/o.width)*Math.cos(d*u*2*Math.PI)}function N(u,t){return-(1200/Math.log10(2))*Math.log10(u/t)%1200}return(u,t)=>{const d=R,y=et,v=K("tooltip");return i(),a("div",ut,[(i(),a("svg",{class:"w-full max-h-90vh",id:"overtones",version:"1.1",baseProfile:"full",viewBox:`${-o.padX} ${-3*o.padY} ${o.width+2*o.padX} ${o.height+3*o.padY}`,xmlns:"http://www.w3.org/2000/svg","font-family":"Commissioner, sans-serif",onMouseleave:t[7]||(t[7]=e=>n.stop())},[$(ct,{length:o.width,transform:"translate(0,-1) rotate(180) translate(-150, -12)"},null,8,["length"]),r("g",ht,[r("line",{x1:"0",x2:"0",y1:"0",y2:o.height-8,stroke:"gray","stroke-width":"0.2"},null,8,pt),r("line",{x1:o.width,x2:o.width,y1:"0",y2:o.height-8,stroke:"gray","stroke-width":"0.2"},null,8,ft)]),r("g",{class:"cursor-pointer",id:"fundamental",onMouseover:t[0]||(t[0]=e=>s.hover=!0),onMouseleave:t[1]||(t[1]=e=>{s.hover=!1,n.stopSaw()}),onMousedown:t[2]||(t[2]=e=>n.playSaw(s.frequency,!0)),onTouchstart:t[3]||(t[3]=e=>n.playSaw(s.frequency,!0)),onMouseup:t[4]||(t[4]=e=>n.stopSaw()),onTouchend:t[5]||(t[5]=e=>n.stopSaw()),onTouchcancel:t[6]||(t[6]=e=>n.stopSaw())},[r("rect",{class:"transition-all duration-200",x:"0",y:-.5*(o.height-o.padY)/l.count,width:o.width,height:(o.height-o.padY)/l.count,fill:s.stroke,opacity:s.hover?.2:.05},null,8,mt),r("polyline",j({fill:"none"},s,{"stroke-width":s.hover?2:1}),null,16,yt),r("circle",{cx:"0",cy:"0",r:"1",fill:s.stroke},null,8,xt),r("circle",{cx:o.width,cy:"0",r:"1",fill:s.stroke},null,8,vt),r("text",gt,w(s.frequency.toFixed(1))+" Hz ",1),r("text",{fill:"currentColor",x:o.width+2,"text-anchor":"start",y:"2","font-size":"4px"},w(s.note)+" ("+w(s.cents.toFixed(0))+" cents)",9,wt)],32),(i(!0),a(_,null,k(l.list,(e,g)=>(i(),a("g",{class:"overtone cursor-pointer",key:e,"data-num":g+1,transform:`translate(0, ${e.position})`,onMouseenter:m=>n.change(e.frequency,g),onMouseover:m=>e.hover=!0,onMouseleave:m=>e.hover=!1,onMousedown:m=>{n.play(e.frequency,g),e.active=!0},onTouchstart:m=>{n.play(e.frequency,g),e.active=!0},onMouseup:m=>{n.stop(),e.active=!1},onTouchend:m=>{n.stop(),e.active=!1},onTouchcancel:m=>{n.stop(),e.active=!1}},[r("rect",{class:"transition-all duration-200",x:"0",y:-.5*(o.height-o.padY)/l.count,width:o.width,height:(o.height-o.padY)/l.count,fill:e.stroke,opacity:e.hover?.2:.05},null,8,kt),r("polyline",j({class:"transition-all duration-200",ref_for:!0},e,{fill:"none","stroke-width":e.hover?e.active?2:1:.5}),null,16,Mt),r("text",Ct,w(g+1),1),r("text",$t,w(e.frequency.toFixed(1))+" Hz",1),r("text",{"font-weight":"bold",fill:"currentColor",x:o.width+2,"text-anchor":"start",y:"-3","font-size":"4px"},w(l.intervals[g]),9,bt),r("text",{fill:"currentColor",x:o.width+2,"text-anchor":"start",y:"2","font-size":"4px"},w(e.note)+" ("+w(e.centDiff>0?"+":"")+w(e.centDiff)+" cents)",9,Pt),(i(!0),a(_,null,k(e.dots,m=>(i(),a("circle",{class:"transition-all duration-200",key:m,cy:"0",cx:m,r:e.hover?1.2:1,fill:e.stroke},null,8,qt))),128))],40,_t))),128)),(i(!0),a(_,null,k(l.list,(e,g)=>(i(),a("g",{class:"lines",key:g},[(i(!0),a(_,null,k(e.dots,m=>(i(),a("line",{key:m,x1:m,x2:m,y1:(g+1)*(o.height-o.padY)/l.count,y2:0,stroke:e.stroke,"stroke-width":"0.2",opacity:1-g/(l.count+2)},null,8,zt))),128))]))),128))],40,dt)),r("div",St,[r("div",Tt,[b((i(),a("button",{class:"shadow p-3 m-1 border-1 border-current rounded",onClick:t[8]||(t[8]=e=>f.move=!f.move)},[f.move?T("",!0):(i(),a("div",Vt)),f.move?(i(),a("div",Ft)):T("",!0)])),[[v,"Toggle animation",void 0,{bottom:!0}]]),b($(d,{modelValue:l.count,"onUpdate:modelValue":t[9]||(t[9]=e=>l.count=e),min:l.min,max:l.max,step:1,fixed:0,param:"count"},null,8,["modelValue","min","max"]),[[v,"Number of harmonics",void 0,{bottom:!0}]]),b($(d,{modelValue:f.speed,"onUpdate:modelValue":t[10]||(t[10]=e=>f.speed=e),min:.2,max:2,step:.1,fixed:1,param:"speed"},null,8,["modelValue"]),[[v,"Speed of animation",void 0,{bottom:!0}]])]),r("div",Nt,[b($(y,{pitch:V(z).tonic,"onUpdate:pitch":t[11]||(t[11]=e=>V(z).tonic=e)},null,8,["pitch"]),[[v,"Fundamental pitch",void 0,{bottom:!0}]]),b($(d,{modelValue:s.octave,"onUpdate:modelValue":t[12]||(t[12]=e=>s.octave=e),min:1,max:5,step:1,fixed:0,param:"octave"},null,8,["modelValue"]),[[v,"Octave of the fundamental pitch",void 0,{bottom:!0}]])])]),r("div",Yt,[n.enabled?T("",!0):(i(),a("button",{key:0,class:"shadow p-3 m-1 border-1 border-current rounded absolute top-80",onClick:t[13]||(t[13]=e=>n.init())},t[14]||(t[14]=[r("div",{class:"i-bi-volume-up"},null,-1)])))])])}}},At=H(Bt,[["__scopeId","data-v-e4829d4f"]]);export{At as default}; diff --git a/assets/chunks/SoundVibrations.fFFMF9k5.js b/assets/chunks/SoundVibrations.BbztLeN0.js similarity index 94% rename from assets/chunks/SoundVibrations.fFFMF9k5.js rename to assets/chunks/SoundVibrations.BbztLeN0.js index 792d395e94..86c207dea3 100644 --- a/assets/chunks/SoundVibrations.fFFMF9k5.js +++ b/assets/chunks/SoundVibrations.BbztLeN0.js @@ -1 +1 @@ -import{f as m,b as p,r as d,w as v,c as w,x as s,y as o,A as l,I as g,F as k,B as x,a1 as _}from"./framework.BR0mAPCP.js";const y={version:"1.1",baseProfile:"full",viewBox:"0 0 100 70",xmlns:"http://www.w3.org/2000/svg"},h=["transform"],B={key:0,fill:"gray",points:"-2,32 3,35 -2,38"},V={__name:"SoundVibrations",setup(C){const{timestamp:c,resume:i,pause:u}=m({offset:-Date.now(),controls:!0}),n=p([]),t=d(!1);v(()=>{t.value?i():u()});for(let r=1;r<25;r++){const e={cx:w(()=>Math.cos(c.value/1e3-r)*3.5+10),r:r*4};n.push(e)}return(r,e)=>(s(),o("svg",y,[l("g",{class:"cursor-pointer",transform:`translate(${n[0].cx},0)`,onClick:e[0]||(e[0]=a=>t.value=!t.value)},[e[1]||(e[1]=l("circle",{cx:"0",cy:"35",r:"4.5",fill:"currentColor"},null,-1)),t.value?g("",!0):(s(),o("polygon",B))],8,h),(s(!0),o(k,null,x(n,(a,f)=>(s(),o("circle",_({key:f,ref_for:!0},a,{cy:"35","stroke-width":"0.5","stroke-linecap":"round",stroke:"currentColor",fill:"none"}),null,16))),128)),e[2]||(e[2]=l("rect",{x:"0",y:"0",width:"100",height:"70",stroke:"currentColor",fill:"none","stroke-width":"2",rx:"2"},null,-1))]))}};export{V as default}; +import{f as m,b as p,r as d,w as v,c as w,x as s,y as o,A as l,I as g,F as k,B as x,a1 as _}from"./framework.CQBrk0Ry.js";const y={version:"1.1",baseProfile:"full",viewBox:"0 0 100 70",xmlns:"http://www.w3.org/2000/svg"},h=["transform"],B={key:0,fill:"gray",points:"-2,32 3,35 -2,38"},V={__name:"SoundVibrations",setup(C){const{timestamp:c,resume:i,pause:u}=m({offset:-Date.now(),controls:!0}),n=p([]),t=d(!1);v(()=>{t.value?i():u()});for(let r=1;r<25;r++){const e={cx:w(()=>Math.cos(c.value/1e3-r)*3.5+10),r:r*4};n.push(e)}return(r,e)=>(s(),o("svg",y,[l("g",{class:"cursor-pointer",transform:`translate(${n[0].cx},0)`,onClick:e[0]||(e[0]=a=>t.value=!t.value)},[e[1]||(e[1]=l("circle",{cx:"0",cy:"35",r:"4.5",fill:"currentColor"},null,-1)),t.value?g("",!0):(s(),o("polygon",B))],8,h),(s(!0),o(k,null,x(n,(a,f)=>(s(),o("circle",_({key:f,ref_for:!0},a,{cy:"35","stroke-width":"0.5","stroke-linecap":"round",stroke:"currentColor",fill:"none"}),null,16))),128)),e[2]||(e[2]=l("rect",{x:"0",y:"0",width:"100",height:"70",stroke:"currentColor",fill:"none","stroke-width":"2",rx:"2"},null,-1))]))}};export{V as default}; diff --git a/assets/chunks/StepSequencer.C4DXKNU3.js b/assets/chunks/StepSequencer.CTirKbvJ.js similarity index 77% rename from assets/chunks/StepSequencer.C4DXKNU3.js rename to assets/chunks/StepSequencer.CTirKbvJ.js index fed6d34b2f..61dc7e3df8 100644 --- a/assets/chunks/StepSequencer.C4DXKNU3.js +++ b/assets/chunks/StepSequencer.CTirKbvJ.js @@ -1 +1 @@ -import{aV as I,R as K,n as G,g as U,b2 as L,b3 as W,b4 as J,a7 as Q,e as X,aF as Y,c as y,K as _,au as Z,al as tt}from"./theme.ClagsQLu.js";import{q as et,v as ot,b as E,u as c,c as h,h as at,w as st,o as nt,d as x,k as rt,M as it,x as u,y as p,A as l,F as M,B as S,H as $,E as b,G as N,z as B,S as O,C as d,P as w,O as lt,au as ut,I as T}from"./framework.BR0mAPCP.js";const pt={class:"flex flex-col"},dt=["id","onMousedown","onMouseenter"],mt={class:"info p-2 flex flex-wrap items-center justify-center mx-2 gap-4"},vt={class:"flex flex-wrap items-center justify-center bg-light-900 p-4 rounded-2xl dark-bg-dark-800 gap-2",style:{flex:"5 1 300px"}},ft=["value"],ct={class:"is-group flex flex-wrap p-2"},bt={class:"is-group flex items-center"},gt={class:"is-group flex items-center"},yt={__name:"StepSequencer",setup(xt){const{isDark:q}=ot(),R=I(),z=K(),e=E({started:!1,playing:!1,hover:!1,mounted:!1,current:0,octave:c("seq-octave",3),bpm:c("seq-bpm",120),steps:c("seq-steps",16),type:c("seq-type","up"),probability:c("seq-prob",1),humanize:c("seq-human",!1),interval:c("seq-interval","8n"),note:h(()=>G[U.tonic]),range:h(()=>L(e.note+e.octave+" "+U.set.name)(e.note+e.octave,e.note+(e.octave+2)).map(o=>W(o)).reverse()),midi:h(()=>e.range.map(o=>J(o))),pitches:h(()=>e.midi.map(o=>(o+3)%12)),progress:0}),A=["up","down","upDown","downUp","alternateUp","alternateDown","random","randomWalk","randomOnce"],n=E([]),g=E([]);let m=[];at(" ",o=>{o.preventDefault(),e.playing=!e.playing}),st(()=>{e.range.forEach((o,t)=>{n[t]=n[t]||[],n[t].length=e.steps,n.length=e.range.length,Array.apply(null,n[t]).forEach((s,r)=>{n[t][r]={row:t,cell:r,note:o,active:(s==null?void 0:s.active)||!1}})})}),nt(()=>{e.mounted=!0,V()}),x(()=>e.steps,()=>{e.mounted&&V()},{immediate:!0});function V(){m.forEach(o=>{o.stop(0),o.dispose()}),m=[],n.forEach((o,t)=>{m[t]=new Q((f,s)=>{R.schedule(()=>{g[t]=s==null?void 0:s.cell,s!=null&&s.active&&X(s==null?void 0:s.note)},f)},n[t],e.type).start(0),m[t].interval=e.interval})}let D;function P(o,t,f,s){!e.hover&&!f||!f&&D==s.target.id||(D=s.target.id,n[o][t].active?n[o][t].active=!1:n[o][t].active=!0)}function F(){n.forEach((o,t)=>{o.forEach((f,s)=>n[t][s].active=!1)})}x(()=>e.playing,o=>{o?(m.forEach(t=>{t.start(0)}),z.start(),e.started||(Y(),e.started=!0)):(m.forEach(t=>{t.stop()}),z.stop())}),x(()=>e.type,o=>{m.forEach(t=>{t.pattern=o})},{immediate:!0}),x(()=>e.probability,o=>{m.forEach(t=>{t.probability=o})},{immediate:!0}),x(()=>e.humanize,o=>{m.forEach(t=>{t.humanize=o})},{immediate:!0});function H(){e.playing=!1,V()}rt(()=>{m.forEach(o=>{o.stop(0),o.dispose()})});function j(o,t){return o.active?y(e.pitches[t]):o.cell==g[t]?q.value?"#eee7":"#3337":"#4444"}return(o,t)=>{const f=Z,s=tt,r=it("tooltip");return u(),p("div",pt,[l("div",{class:"rows sticky top-2 h-96svh",onMousedown:t[0]||(t[0]=a=>e.hover=!0),onMouseleave:t[1]||(t[1]=O(a=>e.hover=!1,["self"])),onMouseup:t[2]||(t[2]=a=>e.hover=!1)},[(u(!0),p(M,null,S(n,(a,i)=>(u(),p("div",{class:"row",key:a},[l("div",{class:"title m-1 rounded-md shadow",style:$({color:b(y)(e.pitches[i]),backgroundColor:e.range[i].length>2?"#0005":"#aaa5"})},N(e.range[i]),5),(u(!0),p(M,null,S(a,(v,k)=>(u(),p("div",{class:B(["cell",{active:v==null?void 0:v.active,current:v.cell==g[i]}]),id:`c${i}-${k}`,key:v,style:$({color:b(y)(e.pitches[i]),borderColor:j(v,i),backgroundColor:v.cell==g[i]?v.active?b(y)(e.pitches[i],3):b(q)?"#0005":"#fff5":"transparent",marginRight:k%4==3?"12px":"1px"}),onMousedown:O(C=>P(i,k,!0,C),["prevent"]),onMouseenter:C=>P(i,k,!1,C)},[l("div",{class:"dot",style:$({backgroundColor:v.active?b(y)(e.pitches[i]):v.cell==g[i]?"currentColor":"#4448"})},null,4)],46,dt))),128))]))),128))],32),l("div",mt,[d(w(f,{style:{flex:"1 1 100px"}},null,512),[[r,"Select root note and scale",void 0,{top:!0}]]),l("div",vt,[d((u(),p("select",{"onUpdate:modelValue":t[3]||(t[3]=a=>e.type=a)},[(u(),p(M,null,S(A,a=>l("option",{key:a,value:a},N(a),9,ft)),64))])),[[lt,e.type],[r,"Pattern type",void 0,{top:!0}]]),l("div",ct,[d(w(s,{modelValue:e.octave,"onUpdate:modelValue":t[4]||(t[4]=a=>e.octave=a),max:4,min:2,fixed:0,param:"OCTAVE"},null,8,["modelValue"]),[[r,"Octave",void 0,{top:!0}]]),d(w(s,{modelValue:e.steps,"onUpdate:modelValue":t[5]||(t[5]=a=>e.steps=a),max:32,min:4,step:1,fixed:0,param:"steps"},null,8,["modelValue"]),[[r,"Number of steps",void 0,{top:!0}]]),d(w(s,{modelValue:e.probability,"onUpdate:modelValue":t[6]||(t[6]=a=>e.probability=a),max:1,min:0,step:.01,fixed:2,param:"prob"},null,8,["modelValue"]),[[r,"Probability",void 0,{top:!0}]]),d(w(s,{modelValue:b(_).bpm,"onUpdate:modelValue":t[7]||(t[7]=a=>b(_).bpm=a),step:1,max:400,min:10,fixed:0,param:"BPM"},null,8,["modelValue"]),[[r,"Set tempo",void 0,{top:!0}]])]),l("div",bt,[d((u(),p("button",{class:B(["text-button",{active:e.humanize}]),onClick:t[8]||(t[8]=a=>e.humanize=!e.humanize)},t[13]||(t[13]=[ut("HMN")]),2)),[[r,"Humanize rhythm",void 0,{bottom:!0}]]),d((u(),p("button",{class:"text-button",onClick:t[9]||(t[9]=a=>F())},t[14]||(t[14]=[l("div",{class:"i-la-trash-alt"},null,-1)]))),[[r,"Clear pattern",void 0,{bottom:!0}]])]),l("div",gt,[e.playing?T("",!0):d((u(),p("button",{key:0,class:"text-button",onClick:t[10]||(t[10]=a=>e.playing=!0)},t[15]||(t[15]=[l("div",{class:"i-la-play"},null,-1)]))),[[r,"Play",void 0,{bottom:!0}]]),e.playing?d((u(),p("button",{key:1,class:"text-button",onClick:t[11]||(t[11]=a=>e.playing=!1)},t[16]||(t[16]=[l("div",{class:"i-la-pause"},null,-1)]))),[[r,"Pause",void 0,{bottom:!0}]]):T("",!0),d((u(),p("button",{class:"text-button",onClick:t[12]||(t[12]=a=>H())},t[17]||(t[17]=[l("div",{class:"i-la-stop"},null,-1)]))),[[r,"Stop",void 0,{bottom:!0}]])])])])])}}},ht=et(yt,[["__scopeId","data-v-469737b0"]]);export{ht as default}; +import{aX as I,R as K,n as G,g as U,b2 as L,b3 as W,b4 as X,a7 as J,e as Q,aH as Y,c as y,K as _,aw as Z,an as tt}from"./theme.Dd_Fb62b.js";import{q as et,v as ot,b as E,u as c,c as h,h as at,w as st,o as nt,d as x,k as rt,M as it,x as u,y as p,A as l,F as M,B as S,H as $,E as b,G as N,z as B,S as O,C as d,P as w,O as lt,au as ut,I as T}from"./framework.CQBrk0Ry.js";const pt={class:"flex flex-col"},dt=["id","onMousedown","onMouseenter"],mt={class:"info p-2 flex flex-wrap items-center justify-center mx-2 gap-4"},vt={class:"flex flex-wrap items-center justify-center bg-light-900 p-4 rounded-2xl dark-bg-dark-800 gap-2",style:{flex:"5 1 300px"}},ft=["value"],ct={class:"is-group flex flex-wrap p-2"},bt={class:"is-group flex items-center"},gt={class:"is-group flex items-center"},yt={__name:"StepSequencer",setup(xt){const{isDark:q}=ot(),H=I(),z=K(),e=E({started:!1,playing:!1,hover:!1,mounted:!1,current:0,octave:c("seq-octave",3),bpm:c("seq-bpm",120),steps:c("seq-steps",16),type:c("seq-type","up"),probability:c("seq-prob",1),humanize:c("seq-human",!1),interval:c("seq-interval","8n"),note:h(()=>G[U.tonic]),range:h(()=>L(e.note+e.octave+" "+U.set.name)(e.note+e.octave,e.note+(e.octave+2)).map(o=>W(o)).reverse()),midi:h(()=>e.range.map(o=>X(o))),pitches:h(()=>e.midi.map(o=>(o+3)%12)),progress:0}),R=["up","down","upDown","downUp","alternateUp","alternateDown","random","randomWalk","randomOnce"],n=E([]),g=E([]);let m=[];at(" ",o=>{o.preventDefault(),e.playing=!e.playing}),st(()=>{e.range.forEach((o,t)=>{n[t]=n[t]||[],n[t].length=e.steps,n.length=e.range.length,Array.apply(null,n[t]).forEach((s,r)=>{n[t][r]={row:t,cell:r,note:o,active:(s==null?void 0:s.active)||!1}})})}),nt(()=>{e.mounted=!0,C()}),x(()=>e.steps,()=>{e.mounted&&C()},{immediate:!0});function C(){m.forEach(o=>{o.stop(0),o.dispose()}),m=[],n.forEach((o,t)=>{m[t]=new J((f,s)=>{H.schedule(()=>{g[t]=s==null?void 0:s.cell,s!=null&&s.active&&Q(s==null?void 0:s.note)},f)},n[t],e.type).start(0),m[t].interval=e.interval})}let D;function P(o,t,f,s){!e.hover&&!f||!f&&D==s.target.id||(D=s.target.id,n[o][t].active?n[o][t].active=!1:n[o][t].active=!0)}function A(){n.forEach((o,t)=>{o.forEach((f,s)=>n[t][s].active=!1)})}x(()=>e.playing,o=>{o?(m.forEach(t=>{t.start(0)}),z.start(),e.started||(Y(),e.started=!0)):(m.forEach(t=>{t.stop()}),z.stop())}),x(()=>e.type,o=>{m.forEach(t=>{t.pattern=o})},{immediate:!0}),x(()=>e.probability,o=>{m.forEach(t=>{t.probability=o})},{immediate:!0}),x(()=>e.humanize,o=>{m.forEach(t=>{t.humanize=o})},{immediate:!0});function j(){e.playing=!1,C()}rt(()=>{m.forEach(o=>{o.stop(0),o.dispose()})});function F(o,t){return o.active?y(e.pitches[t]):o.cell==g[t]?q.value?"#eee7":"#3337":"#4444"}return(o,t)=>{const f=Z,s=tt,r=it("tooltip");return u(),p("div",pt,[l("div",{class:"rows sticky top-2 h-96svh",onMousedown:t[0]||(t[0]=a=>e.hover=!0),onMouseleave:t[1]||(t[1]=O(a=>e.hover=!1,["self"])),onMouseup:t[2]||(t[2]=a=>e.hover=!1)},[(u(!0),p(M,null,S(n,(a,i)=>(u(),p("div",{class:"row",key:a},[l("div",{class:"title m-1 rounded-md shadow",style:$({color:b(y)(e.pitches[i]),backgroundColor:e.range[i].length>2?"#0005":"#aaa5"})},N(e.range[i]),5),(u(!0),p(M,null,S(a,(v,k)=>(u(),p("div",{class:B(["cell",{active:v==null?void 0:v.active,current:v.cell==g[i]}]),id:`c${i}-${k}`,key:v,style:$({color:b(y)(e.pitches[i]),borderColor:F(v,i),backgroundColor:v.cell==g[i]?v.active?b(y)(e.pitches[i],3):b(q)?"#0005":"#fff5":"transparent",marginRight:k%4==3?"12px":"1px"}),onMousedown:O(V=>P(i,k,!0,V),["prevent"]),onMouseenter:V=>P(i,k,!1,V)},[l("div",{class:"dot",style:$({backgroundColor:v.active?b(y)(e.pitches[i]):v.cell==g[i]?"currentColor":"#4448"})},null,4)],46,dt))),128))]))),128))],32),l("div",mt,[d(w(f,{style:{flex:"1 1 100px"}},null,512),[[r,"Select root note and scale",void 0,{top:!0}]]),l("div",vt,[d((u(),p("select",{"onUpdate:modelValue":t[3]||(t[3]=a=>e.type=a)},[(u(),p(M,null,S(R,a=>l("option",{key:a,value:a},N(a),9,ft)),64))])),[[lt,e.type],[r,"Pattern type",void 0,{top:!0}]]),l("div",ct,[d(w(s,{modelValue:e.octave,"onUpdate:modelValue":t[4]||(t[4]=a=>e.octave=a),max:4,min:2,fixed:0,param:"OCTAVE"},null,8,["modelValue"]),[[r,"Octave",void 0,{top:!0}]]),d(w(s,{modelValue:e.steps,"onUpdate:modelValue":t[5]||(t[5]=a=>e.steps=a),max:32,min:4,step:1,fixed:0,param:"steps"},null,8,["modelValue"]),[[r,"Number of steps",void 0,{top:!0}]]),d(w(s,{modelValue:e.probability,"onUpdate:modelValue":t[6]||(t[6]=a=>e.probability=a),max:1,min:0,step:.01,fixed:2,param:"prob"},null,8,["modelValue"]),[[r,"Probability",void 0,{top:!0}]]),d(w(s,{modelValue:b(_).bpm,"onUpdate:modelValue":t[7]||(t[7]=a=>b(_).bpm=a),step:1,max:400,min:10,fixed:0,param:"BPM"},null,8,["modelValue"]),[[r,"Set tempo",void 0,{top:!0}]])]),l("div",bt,[d((u(),p("button",{class:B(["text-button",{active:e.humanize}]),onClick:t[8]||(t[8]=a=>e.humanize=!e.humanize)},t[13]||(t[13]=[ut("HMN")]),2)),[[r,"Humanize rhythm",void 0,{bottom:!0}]]),d((u(),p("button",{class:"text-button",onClick:t[9]||(t[9]=a=>A())},t[14]||(t[14]=[l("div",{class:"i-la-trash-alt"},null,-1)]))),[[r,"Clear pattern",void 0,{bottom:!0}]])]),l("div",gt,[e.playing?T("",!0):d((u(),p("button",{key:0,class:"text-button",onClick:t[10]||(t[10]=a=>e.playing=!0)},t[15]||(t[15]=[l("div",{class:"i-la-play"},null,-1)]))),[[r,"Play",void 0,{bottom:!0}]]),e.playing?d((u(),p("button",{key:1,class:"text-button",onClick:t[11]||(t[11]=a=>e.playing=!1)},t[16]||(t[16]=[l("div",{class:"i-la-pause"},null,-1)]))),[[r,"Pause",void 0,{bottom:!0}]]):T("",!0),d((u(),p("button",{class:"text-button",onClick:t[12]||(t[12]=a=>j())},t[17]||(t[17]=[l("div",{class:"i-la-stop"},null,-1)]))),[[r,"Stop",void 0,{bottom:!0}]])])])])])}}},ht=et(yt,[["__scopeId","data-v-469737b0"]]);export{ht as default}; diff --git a/assets/chunks/StringSynth.C3boYLU_.js b/assets/chunks/StringSynth.CbydH2Ea.js similarity index 70% rename from assets/chunks/StringSynth.C3boYLU_.js rename to assets/chunks/StringSynth.CbydH2Ea.js index d088319df1..751a78b7bc 100644 --- a/assets/chunks/StringSynth.C3boYLU_.js +++ b/assets/chunks/StringSynth.CbydH2Ea.js @@ -1 +1 @@ -import{_ as T}from"./MidiKeys.DiSle55u.js";import{D as $,aA as w,N as M,ar as t,al as N}from"./theme.ClagsQLu.js";import{_ as P}from"./AnalysisFFT.DegcYCLm.js";import{u as E}from"./useElementary.BBmC8vA2.js";import{b as U,u as R,d as f,o as q,k as z,E as g,x as h,y as k,P as V,A as D,F as K,B as L}from"./framework.BR0mAPCP.js";const{audio:A}=E();function C(d,v="ref"){const r=U({}),c={},i={},l={};for(let o in d){let e=d[o];if(r[o]=$(e!=null&&e.nostore?e.value:R(`${v}:${o}`,e.value),e.min,e.max),!(e!=null&&e.hidden)){const n=o.split(":"),m=n.pop(),s=n.pop();l[s]=l[s]||{},l[s][m]=e}}return f(()=>A.initiated,()=>{if(A.initiated)for(let o in d){let[e,n]=A.core.createRef("const",{value:r[o]},[]);c[o]=e,i[o]=n}},{immediate:!0}),f(r,o=>{for(let e in o)i[e]&&i[e]({value:o[e]})}),{controls:r,cv:c,setters:i,groups:l}}const O={key:1,class:"flex flex-col gap-6 p-2"},j={class:"flex flex-wrap p-2 gap-4"},W={__name:"StringSynth",setup(d){q(()=>w.value=!1),z(()=>w.value=!0);const{midi:v}=M(),r={"string:volume":{value:.8,min:0,max:1,step:.01},"string:smooth":{value:.8,min:1e-4,max:.1,step:.001,fixed:3},"string:feedback":{value:.995,min:.9,max:.9999,step:.001,fixed:3}},c={"string:trigger":{value:0,min:0,max:1,step:1,nostore:!0},"string:midi":{value:42,min:1,max:127,step:1,nostore:!0},"string:velocity":{value:0,min:1,max:127,step:1,nostore:!0}},{audio:i,render:l}=E(),{controls:o,cv:e}=C(r,"string"),{controls:n,cv:m}=C(c,"string-midi");return f(()=>v.note,s=>{n["string:trigger"]=s.velocity>0?1:0,n["string:midi"]=s==null?void 0:s.number,n["string:velocity"]=(s==null?void 0:s.velocity)/127}),f(()=>i.initiated,()=>{if(!i.initiated)return;let s=t.mul(440,t.pow(2,t.div(t.sub(m["string:midi"],69),12))),p=t.mul(t.div(1,s),1e3),_=t.adsr(1e-4,.2,.01,.2,m["string:trigger"]),x=t.mul(_,t.noise(),m["string:velocity"]),y=t.lowpass(880,6,x),a=t.adsr(.005,.2,0,.1,1),u=t.mul(a,t.cycle(t.mul(1,s)),.2),b=t.delay({size:44100},t.smooth(t.tau2pole(e["string:smooth"]),t.ms2samps(p)),e["string:feedback"],y),F=t.add(b,u),S=t.tanh(F);const B=t.mul(e["string:volume"],S);i.layers.string={volume:1,signal:[B,B]}}),(s,p)=>{const _=P,x=N,y=T;return g(i).started?(h(),k("div",O,[V(_),D("div",j,[(h(),k(K,null,L(r,(a,u)=>V(x,{param:u.split(":")[1],modelValue:g(o)[u],"onUpdate:modelValue":b=>g(o)[u]=b,min:a.min,max:a.max,fixed:a.fixed,step:a.step},null,8,["param","modelValue","onUpdate:modelValue","min","max","fixed","step"])),64))]),V(y)])):(h(),k("button",{key:0,class:"p-40 text-2xl font-bold bg-light-900 dark-bg-dark-700",onClick:p[0]||(p[0]=a=>g(l)())},"START "))}}};export{W as default}; +import{_ as T}from"./MidiKeys.EfaG9mBq.js";import{D as $,aC as w,N as M,at as t,an as N}from"./theme.Dd_Fb62b.js";import{_ as P}from"./AnalysisFFT.tyyGNsR7.js";import{u as E}from"./useElementary.T3ohYPYP.js";import{b as U,u as R,d as f,o as q,k as z,E as g,x as h,y as k,P as V,A as D,F as K,B as L}from"./framework.CQBrk0Ry.js";const{audio:B}=E();function A(d,v="ref"){const r=U({}),c={},i={},l={};for(let o in d){let e=d[o];if(r[o]=$(e!=null&&e.nostore?e.value:R(`${v}:${o}`,e.value),e.min,e.max),!(e!=null&&e.hidden)){const n=o.split(":"),m=n.pop(),s=n.pop();l[s]=l[s]||{},l[s][m]=e}}return f(()=>B.initiated,()=>{if(B.initiated)for(let o in d){let[e,n]=B.core.createRef("const",{value:r[o]},[]);c[o]=e,i[o]=n}},{immediate:!0}),f(r,o=>{for(let e in o)i[e]&&i[e]({value:o[e]})}),{controls:r,cv:c,setters:i,groups:l}}const O={key:1,class:"flex flex-col gap-6 p-2"},j={class:"flex flex-wrap p-2 gap-4"},W={__name:"StringSynth",setup(d){q(()=>w.value=!1),z(()=>w.value=!0);const{midi:v}=M(),r={"string:volume":{value:.8,min:0,max:1,step:.01},"string:smooth":{value:.8,min:1e-4,max:.1,step:.001,fixed:3},"string:feedback":{value:.995,min:.9,max:.9999,step:.001,fixed:3}},c={"string:trigger":{value:0,min:0,max:1,step:1,nostore:!0},"string:midi":{value:42,min:1,max:127,step:1,nostore:!0},"string:velocity":{value:0,min:1,max:127,step:1,nostore:!0}},{audio:i,render:l}=E(),{controls:o,cv:e}=A(r,"string"),{controls:n,cv:m}=A(c,"string-midi");return f(()=>v.note,s=>{n["string:trigger"]=s.velocity>0?1:0,n["string:midi"]=s==null?void 0:s.number,n["string:velocity"]=(s==null?void 0:s.velocity)/127}),f(()=>i.initiated,()=>{if(!i.initiated)return;let s=t.mul(440,t.pow(2,t.div(t.sub(m["string:midi"],69),12))),p=t.mul(t.div(1,s),1e3),_=t.adsr(1e-4,.2,.01,.2,m["string:trigger"]),x=t.mul(_,t.noise(),m["string:velocity"]),y=t.lowpass(880,6,x),a=t.adsr(.005,.2,0,.1,1),u=t.mul(a,t.cycle(t.mul(1,s)),.2),b=t.delay({size:44100},t.smooth(t.tau2pole(e["string:smooth"]),t.ms2samps(p)),e["string:feedback"],y),F=t.add(b,u),S=t.tanh(F);const C=t.mul(e["string:volume"],S);i.layers.string={volume:1,signal:[C,C]}}),(s,p)=>{const _=P,x=N,y=T;return g(i).started?(h(),k("div",O,[V(_),D("div",j,[(h(),k(K,null,L(r,(a,u)=>V(x,{param:u.split(":")[1],modelValue:g(o)[u],"onUpdate:modelValue":b=>g(o)[u]=b,min:a.min,max:a.max,fixed:a.fixed,step:a.step},null,8,["param","modelValue","onUpdate:modelValue","min","max","fixed","step"])),64))]),V(y)])):(h(),k("button",{key:0,class:"p-40 text-2xl font-bold bg-light-900 dark-bg-dark-700",onClick:p[0]||(p[0]=a=>g(l)())},"START "))}}};export{W as default}; diff --git a/assets/chunks/SvgRing.0H20IYi1.js b/assets/chunks/SvgRing.CpiEvEsl.js similarity index 96% rename from assets/chunks/SvgRing.0H20IYi1.js rename to assets/chunks/SvgRing.CpiEvEsl.js index 8c22df84d5..552b9558f9 100644 --- a/assets/chunks/SvgRing.0H20IYi1.js +++ b/assets/chunks/SvgRing.CpiEvEsl.js @@ -1 +1 @@ -import{b as m,c as a,x as g,y as h,A as i,J as k}from"./framework.BR0mAPCP.js";const x=["d","fill","stroke","stroke-width","fill-opacity","transform-origin"],A=["transform"],N={__name:"SvgRing",props:{fill:{type:String,default:"gray"},stroke:{type:String,default:"none"},sWidth:{type:Number,default:0},cx:{type:Number,default:500},cy:{type:Number,default:500},radius:{type:Number,default:450},from:{type:Number,default:0},to:{type:Number,default:360},thickness:{type:Number,default:100},op:{type:Number,default:1},round:{type:Boolean,default:!1}},setup(r){const e=r,t=m({from:a(()=>e.from<=e.to?e.from:e.to),to:a(()=>e.from>e.to?e.from:e.to),start:a(()=>o(t.to)),end:a(()=>o(t.from)),largeArcFlag:a(()=>t.to-t.from<=180?"0":"1"),cutout:a(()=>e.radius-e.thickness),start2:a(()=>o(t.to,t.cutout)),end2:a(()=>o(t.from,t.cutout))});function o(s=0,n=e.radius){return f(e.cx,e.cy,n,s)}const c=a(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"L",t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"L",t.start.x,t.start.y,"Z"].join(" ")),d=a(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.start.x,t.start.y,"Z"].join(" "));function f(s,n,u,y){var l=(y-90)*Math.PI/180;return{x:s+u*Math.cos(l),y:n+u*Math.sin(l)}}return(s,n)=>(g(),h("g",null,[i("path",{d:r.round?d.value:c.value,fill:r.fill,stroke:r.stroke,"stroke-width":r.sWidth,"fill-rule":"evenodd","stroke-linejoin":"round","fill-opacity":r.op,"transform-origin":`${r.cx} ${r.cy}`},null,8,x),i("g",{transform:`translate(${o((t.from+t.to)/2,r.radius-r.thickness/2).x} ${o((t.from+t.to)/2,r.radius-r.thickness/2).y})`},[k(s.$slots,"default")],8,A)]))}};export{N as _}; +import{b as m,c as a,x as g,y as h,A as i,J as k}from"./framework.CQBrk0Ry.js";const x=["d","fill","stroke","stroke-width","fill-opacity","transform-origin"],A=["transform"],N={__name:"SvgRing",props:{fill:{type:String,default:"gray"},stroke:{type:String,default:"none"},sWidth:{type:Number,default:0},cx:{type:Number,default:500},cy:{type:Number,default:500},radius:{type:Number,default:450},from:{type:Number,default:0},to:{type:Number,default:360},thickness:{type:Number,default:100},op:{type:Number,default:1},round:{type:Boolean,default:!1}},setup(r){const e=r,t=m({from:a(()=>e.from<=e.to?e.from:e.to),to:a(()=>e.from>e.to?e.from:e.to),start:a(()=>o(t.to)),end:a(()=>o(t.from)),largeArcFlag:a(()=>t.to-t.from<=180?"0":"1"),cutout:a(()=>e.radius-e.thickness),start2:a(()=>o(t.to,t.cutout)),end2:a(()=>o(t.from,t.cutout))});function o(s=0,n=e.radius){return f(e.cx,e.cy,n,s)}const c=a(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"L",t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"L",t.start.x,t.start.y,"Z"].join(" ")),d=a(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.start.x,t.start.y,"Z"].join(" "));function f(s,n,u,y){var l=(y-90)*Math.PI/180;return{x:s+u*Math.cos(l),y:n+u*Math.sin(l)}}return(s,n)=>(g(),h("g",null,[i("path",{d:r.round?d.value:c.value,fill:r.fill,stroke:r.stroke,"stroke-width":r.sWidth,"fill-rule":"evenodd","stroke-linejoin":"round","fill-opacity":r.op,"transform-origin":`${r.cx} ${r.cy}`},null,8,x),i("g",{transform:`translate(${o((t.from+t.to)/2,r.radius-r.thickness/2).x} ${o((t.from+t.to)/2,r.radius-r.thickness/2).y})`},[k(s.$slots,"default")],8,A)]))}};export{N as _}; diff --git a/assets/chunks/SynthAmy.CNueAp5S.js b/assets/chunks/SynthAmy.Bpgdu1oc.js similarity index 98% rename from assets/chunks/SynthAmy.CNueAp5S.js rename to assets/chunks/SynthAmy.Bpgdu1oc.js index 32fa4279ca..9b97bd5079 100644 --- a/assets/chunks/SynthAmy.CNueAp5S.js +++ b/assets/chunks/SynthAmy.Bpgdu1oc.js @@ -1 +1 @@ -import{b as M,c as R,u as f,x as m,y as A,A as r,P as c,U as E,T as h,I as w,ah as O,S as v,G as _,F as C,B as F,d as q,aq as D,aX as G,h as k,o as B,_ as W}from"./framework.BR0mAPCP.js";import{D as d,af as $,al as z}from"./theme.ClagsQLu.js";const H={a:{name:"amp",type:"float",min:0,max:5,default:0,notes:"use after a note on is triggered with velocity to adjust amplitude without re-triggering the note"},A:{name:"bp0",type:"string",default:"100,0.5,150,0.25,200,0",notes:"in commas, like 100,0.5,150,0.25,200,0 -- envelope generator with alternating time(ms) and ratio. last pair triggers on note off"},B:{name:"bp1",type:"string",default:"100,0.5,150,0.25,200,0",notes:"set the second breakpoint generator. see breakpoint 0"},b:{name:"feedback",type:"float",min:0,max:1,default:0,notes:"use for the ALGO synthesis type in FM, or partial synthesis (for bandwidth) or for karplus-strong, or to indicate PCM looping (0 off, >0, on)"},C:{name:"bp2",type:"string",default:"100,0.5,150,0.25,200,0",notes:"3rd breakpoint generator"},d:{name:"duty",type:"float",min:.001,max:.999,default:.5,notes:"duty cycle for pulse wave, default 0.5"},D:{name:"debug",type:"uint",min:2,max:4,default:0,notes:"2 shows queue sample, 3 shows oscillator data, 4 shows modified oscillator. will interrupt audio!"},f:{name:"freq",type:"floats",min:0,max:14e3,default:220,notes:"frequency of oscillator"},F:{name:"filter_freq",type:"float",min:0,max:14e3,default:3e3,notes:"center frequency for biquad filter"},g:{name:"mod_target",type:"mask",min:0,max:64,default:0,notes:"Which parameter modulation/LFO controls. 1=amp, 2=duty, 4=freq, 8=filter freq, 16=resonance, 32=feedback. Can handle any combo, add them together"},G:{name:"filter_type",type:"uint",min:0,max:3,default:0,notes:"0 = none (default.) 1 = low pass, 2 = band pass, 3 = hi pass."},I:{name:"ratio",type:"float",min:0,max:1,default:.5,notes:"for ALGO types, where the base note frequency controls the modulators, or for the ALGO base note and PARTIALS base note, where the ratio controls the speed of the playback"},L:{name:"mod_source",type:"uint",min:0,max:1024,default:0,notes:"Which oscillator is used as an modulation/LFO source for this oscillator. Source oscillator will be silent."},l:{name:"vel",type:"floats",min:0,max:5,default:0,notes:"velocity - >0 to trigger note on, 0 to trigger note off. sets amplitude"},N:{name:"latency_ms",type:"uint",min:0,max:1e3,default:0,notes:"sets latency in ms. default 0"},n:{name:"note",type:"uint",min:1,max:127,default:60,notes:"midi note, sets frequency"},o:{name:"algorithm",type:"uint",min:1,max:32,default:1,notes:"DX7 algorith to use for ALGO type"},O:{name:"algo_source",type:"string",default:"0,1,2,3,4,-1",notes:"which oscillators to use for the algorithm. list of six, use -1 for not used, e.g 0,1,2,-1,-1-1"},p:{name:"patch",type:"uint",min:0,max:1024,default:16,notes:"choose a preloaded PCM sample, partial patch or FM patch number for ALGO waveforms."},P:{name:"phase",type:"floats",min:0,max:0,default:0,notes:"where in the oscillator's cycle to start sampling from (also works on the PCM buffer). default 0"},R:{name:"resonance",type:"float",min:0,max:10,default:0,notes:"q factor of biquad filter. in practice, 0-10.0. default 0.7"},S:{name:"reset",type:"uint",min:0,max:1024,default:0,notes:"resets given oscillator. set to > OSCS to reset all oscillators, gain and EQ"},T:{name:"bp0_target",type:"mask",min:0,max:128,default:0,notes:"Which parameter bp0 controls. 1=amp, 2=duty, 4=freq, 8=filter freq, 16=resonance, 32=feedback (can be added together). Can add 64 for linear ramp, otherwise exponential"},t:{name:"timestamp",type:"uint",min:0,max:1e3,default:0,notes:"ms of expected playback since some fixed start point on your host. you should always give this if you can."},v:{name:"osc",type:"uint",min:0,max:1024,default:0,notes:"which oscillator to control"},V:{name:"volume",type:"float",min:0,max:10,default:1,notes:"volume knob for entire synth, default 1.0"},w:{name:"wave",type:"uint",min:0,max:11,default:0,notes:"waveform: [0=SINE, PULSE, SAW_DOWN, SAW_UP, TRIANGLE, NOISE, KS, PCM, ALGO, PARTIAL, PARTIALS, OFF]. default: 0/SINE"},W:{name:"bp1_target",type:"mask",min:0,max:128,default:0,notes:"see bp0_target"},x:{name:"eq_l",type:"float",min:-15,max:15,default:0,notes:"in dB, fc=800Hz amount, -15 to 15. 0 is off. default 0."},X:{name:"bp2_target",type:"mask",min:0,max:128,default:0,notes:"see bp0_target"},y:{name:"eq_m",type:"float",min:-15,max:15,default:0,notes:"in dB, fc=2500Hz amount, -15 to 15. 0 is off. default 0."},z:{name:"eq_h",type:"float",min:-15,max:15,default:0,notes:"in dB, fc=7500Hz amount, -15 to 15. 0 is off. default 0."}},K={class:"p-2 rounded-xl border-1 m-2 select-none flex flex-wrap gap-2"},X={class:"p-2 rounded-xl border-1 m-2 select-none flex flex-wrap gap-4"},j={class:"p-4 flex items-center font-mono"},Y={class:"top-16 right-4 p-4 w-80 max-h-80vh overflow-hidden flex flex-col opacity-30 pointer-events-none font-mono text-sm fixed"},Q={class:"font-bold border-b-2"},ae={__name:"SynthAmy",setup(J){var S=!1,V=null,p=null,b=null,L=null;const e=M({started:!1,codes:H,message:R(()=>{const u=[];for(let t in e.knobs)u.push(`${t}${e.knobs[t]}`);return u.push("A0,0.2,150,1,250,0T59"),u.join("")}),waveforms:["SINE","PULSE","SAW_DOWN","SAW_UP","TRI","NOISE","KS","PCM","ALGO","PARTIAL","PARTIALS"],knobs:{p:d(f("amy-patch",248),0,1024),w:d(f("amy-waveform",7),0,11),V:d(f("amy-volume",1),0,10),d:d(f("amy-duty",.5),.001,.999),o:d(f("amy-algo",1),1,32),b:d(f("amy-feedback",0),0,1)},note:d(60,10,127),history:[]});function I(){q(()=>$.note,o=>{e.play(o.number,o.velocity/127)}),q(()=>e.message,o=>{p(o),e.history.unshift(o)}),D("a",()=>{e.play(e.note,1)}),G("a",()=>{e.play(e.note,0)}),k("ArrowLeft",()=>{e.knobs.patch--}),k("ArrowRight",()=>{e.knobs.patch++}),k("ArrowUp",o=>{o.preventDefault(),e.note++}),k("ArrowDown",o=>{o.preventDefault(),e.note--}),B(()=>{W(()=>import("./amyJS.DbXKzB8V.js"),[]).then(o=>{const{Module:n}=o;n.onRuntimeInitialized=function(){V=n.cwrap("web_audio_buffer","number",["number","number"]),p=n.cwrap("amy_play_message",null,["string"]),b=n.cwrap("amy_start_web",null,["number"])};var s=null,y=null,i=new Float32Array;L=function(x){if(s==null||s.length==0){i=new Float32Array(x.length);var P=i.length*i.BYTES_PER_ELEMENT;y=n._malloc(P),s=new Uint8Array(n.HEAPU8.buffer,y,P),s.set(new Uint8Array(i.buffer))}V(s.byteOffset,x.length);var N=new Float32Array(s.buffer,s.byteOffset,i.length);for(let g=0;g{S||U();let s=`v${o*20}`;if(n>0){let i=s+e.message;p(i),e.history.unshift(i)}let y=s+`n${o}l${n.toFixed(2)}`;e.history.unshift(y),p(y)},e.reset=(o=1e5)=>{let n=`S${o}`;e.history.unshift(n),p(n)},e}return I(),(u,t)=>{const l=z;return m(),A(C,null,[r("div",K,[c(O,{name:"fade"},{default:E(()=>[c(l,{min:0,max:11,param:"Wave",modelValue:e.knobs.w,"onUpdate:modelValue":t[0]||(t[0]=a=>e.knobs.w=a),fixed:0,unit:e.waveforms[e.knobs.w]},null,8,["modelValue","unit"]),e.knobs.w>6?(m(),h(l,{key:0,min:1,max:1024,param:"Patch",modelValue:e.knobs.p,"onUpdate:modelValue":t[1]||(t[1]=a=>e.knobs.p=a),fixed:0},null,8,["modelValue"])):w("",!0),e.knobs.w==1?(m(),h(l,{key:1,min:.001,max:.999,param:"Duty",step:.01,modelValue:e.knobs.d,"onUpdate:modelValue":t[2]||(t[2]=a=>e.knobs.d=a),fixed:2},null,8,["modelValue"])):w("",!0),e.knobs.w==8?(m(),h(l,{key:2,min:1,max:32,param:"ALGO",modelValue:e.knobs.o,"onUpdate:modelValue":t[3]||(t[3]=a=>e.knobs.o=a),fixed:0},null,8,["modelValue"])):w("",!0),e.knobs.w>5?(m(),h(l,{key:3,min:0,max:1,param:"Feedback",modelValue:e.knobs.b,"onUpdate:modelValue":t[4]||(t[4]=a=>e.knobs.b=a),fixed:1,step:.01},null,8,["modelValue"])):w("",!0),c(l,{min:0,max:10,param:"Volume",modelValue:e.knobs.V,"onUpdate:modelValue":t[5]||(t[5]=a=>e.knobs.V=a),fixed:1,step:.01},null,8,["modelValue"]),t[12]||(t[12]=r("div",{class:"flex-auto"},null,-1)),r("button",{class:"text-button",onClick:t[6]||(t[6]=a=>e.reset())},"RESET")]),_:1})]),r("div",X,[c(l,{min:1,max:127,param:"Note",modelValue:e.note,"onUpdate:modelValue":t[7]||(t[7]=a=>e.note=a),fixed:0,unit:"MIDI"},null,8,["modelValue"]),r("button",{class:"flex items-center gap-4 select-none p-4 rounded-xl bg-green-300 dark-bg-green-900 active-font-bold",onMousedown:t[8]||(t[8]=v(a=>e.play(e.note,1),["prevent","stop"])),onTouchstart:t[9]||(t[9]=v(a=>e.play(e.note,1),["prevent","stop"])),onMouseup:t[10]||(t[10]=v(a=>e.play(e.note,0),["prevent","stop"])),onTouchend:t[11]||(t[11]=v(a=>e.play(e.note,0),["prevent","stop"]))},t[13]||(t[13]=[r("div",{class:"i-la-play text-4xl"},null,-1)]),32)]),r("div",j,_(e.message),1),r("div",Y,[r("div",Q,_(e.message),1),c(O,{name:"fade"},{default:E(()=>[(m(!0),A(C,null,F(e.history,a=>(m(),A("div",{class:"p-0",key:a},_(a),1))),128))]),_:1})])],64)}}};export{ae as default}; +import{b as M,c as R,u as f,x as m,y as A,A as r,P as c,U as E,T as h,I as w,ah as O,S as v,G as _,F as C,B as F,d as q,aq as D,aX as G,h as k,o as B,_ as W}from"./framework.CQBrk0Ry.js";import{D as d,ah as $,an as z}from"./theme.Dd_Fb62b.js";const H={a:{name:"amp",type:"float",min:0,max:5,default:0,notes:"use after a note on is triggered with velocity to adjust amplitude without re-triggering the note"},A:{name:"bp0",type:"string",default:"100,0.5,150,0.25,200,0",notes:"in commas, like 100,0.5,150,0.25,200,0 -- envelope generator with alternating time(ms) and ratio. last pair triggers on note off"},B:{name:"bp1",type:"string",default:"100,0.5,150,0.25,200,0",notes:"set the second breakpoint generator. see breakpoint 0"},b:{name:"feedback",type:"float",min:0,max:1,default:0,notes:"use for the ALGO synthesis type in FM, or partial synthesis (for bandwidth) or for karplus-strong, or to indicate PCM looping (0 off, >0, on)"},C:{name:"bp2",type:"string",default:"100,0.5,150,0.25,200,0",notes:"3rd breakpoint generator"},d:{name:"duty",type:"float",min:.001,max:.999,default:.5,notes:"duty cycle for pulse wave, default 0.5"},D:{name:"debug",type:"uint",min:2,max:4,default:0,notes:"2 shows queue sample, 3 shows oscillator data, 4 shows modified oscillator. will interrupt audio!"},f:{name:"freq",type:"floats",min:0,max:14e3,default:220,notes:"frequency of oscillator"},F:{name:"filter_freq",type:"float",min:0,max:14e3,default:3e3,notes:"center frequency for biquad filter"},g:{name:"mod_target",type:"mask",min:0,max:64,default:0,notes:"Which parameter modulation/LFO controls. 1=amp, 2=duty, 4=freq, 8=filter freq, 16=resonance, 32=feedback. Can handle any combo, add them together"},G:{name:"filter_type",type:"uint",min:0,max:3,default:0,notes:"0 = none (default.) 1 = low pass, 2 = band pass, 3 = hi pass."},I:{name:"ratio",type:"float",min:0,max:1,default:.5,notes:"for ALGO types, where the base note frequency controls the modulators, or for the ALGO base note and PARTIALS base note, where the ratio controls the speed of the playback"},L:{name:"mod_source",type:"uint",min:0,max:1024,default:0,notes:"Which oscillator is used as an modulation/LFO source for this oscillator. Source oscillator will be silent."},l:{name:"vel",type:"floats",min:0,max:5,default:0,notes:"velocity - >0 to trigger note on, 0 to trigger note off. sets amplitude"},N:{name:"latency_ms",type:"uint",min:0,max:1e3,default:0,notes:"sets latency in ms. default 0"},n:{name:"note",type:"uint",min:1,max:127,default:60,notes:"midi note, sets frequency"},o:{name:"algorithm",type:"uint",min:1,max:32,default:1,notes:"DX7 algorith to use for ALGO type"},O:{name:"algo_source",type:"string",default:"0,1,2,3,4,-1",notes:"which oscillators to use for the algorithm. list of six, use -1 for not used, e.g 0,1,2,-1,-1-1"},p:{name:"patch",type:"uint",min:0,max:1024,default:16,notes:"choose a preloaded PCM sample, partial patch or FM patch number for ALGO waveforms."},P:{name:"phase",type:"floats",min:0,max:0,default:0,notes:"where in the oscillator's cycle to start sampling from (also works on the PCM buffer). default 0"},R:{name:"resonance",type:"float",min:0,max:10,default:0,notes:"q factor of biquad filter. in practice, 0-10.0. default 0.7"},S:{name:"reset",type:"uint",min:0,max:1024,default:0,notes:"resets given oscillator. set to > OSCS to reset all oscillators, gain and EQ"},T:{name:"bp0_target",type:"mask",min:0,max:128,default:0,notes:"Which parameter bp0 controls. 1=amp, 2=duty, 4=freq, 8=filter freq, 16=resonance, 32=feedback (can be added together). Can add 64 for linear ramp, otherwise exponential"},t:{name:"timestamp",type:"uint",min:0,max:1e3,default:0,notes:"ms of expected playback since some fixed start point on your host. you should always give this if you can."},v:{name:"osc",type:"uint",min:0,max:1024,default:0,notes:"which oscillator to control"},V:{name:"volume",type:"float",min:0,max:10,default:1,notes:"volume knob for entire synth, default 1.0"},w:{name:"wave",type:"uint",min:0,max:11,default:0,notes:"waveform: [0=SINE, PULSE, SAW_DOWN, SAW_UP, TRIANGLE, NOISE, KS, PCM, ALGO, PARTIAL, PARTIALS, OFF]. default: 0/SINE"},W:{name:"bp1_target",type:"mask",min:0,max:128,default:0,notes:"see bp0_target"},x:{name:"eq_l",type:"float",min:-15,max:15,default:0,notes:"in dB, fc=800Hz amount, -15 to 15. 0 is off. default 0."},X:{name:"bp2_target",type:"mask",min:0,max:128,default:0,notes:"see bp0_target"},y:{name:"eq_m",type:"float",min:-15,max:15,default:0,notes:"in dB, fc=2500Hz amount, -15 to 15. 0 is off. default 0."},z:{name:"eq_h",type:"float",min:-15,max:15,default:0,notes:"in dB, fc=7500Hz amount, -15 to 15. 0 is off. default 0."}},K={class:"p-2 rounded-xl border-1 m-2 select-none flex flex-wrap gap-2"},X={class:"p-2 rounded-xl border-1 m-2 select-none flex flex-wrap gap-4"},j={class:"p-4 flex items-center font-mono"},Y={class:"top-16 right-4 p-4 w-80 max-h-80vh overflow-hidden flex flex-col opacity-30 pointer-events-none font-mono text-sm fixed"},Q={class:"font-bold border-b-2"},ae={__name:"SynthAmy",setup(J){var S=!1,V=null,p=null,b=null,L=null;const e=M({started:!1,codes:H,message:R(()=>{const u=[];for(let t in e.knobs)u.push(`${t}${e.knobs[t]}`);return u.push("A0,0.2,150,1,250,0T59"),u.join("")}),waveforms:["SINE","PULSE","SAW_DOWN","SAW_UP","TRI","NOISE","KS","PCM","ALGO","PARTIAL","PARTIALS"],knobs:{p:d(f("amy-patch",248),0,1024),w:d(f("amy-waveform",7),0,11),V:d(f("amy-volume",1),0,10),d:d(f("amy-duty",.5),.001,.999),o:d(f("amy-algo",1),1,32),b:d(f("amy-feedback",0),0,1)},note:d(60,10,127),history:[]});function I(){q(()=>$.note,o=>{e.play(o.number,o.velocity/127)}),q(()=>e.message,o=>{p(o),e.history.unshift(o)}),D("a",()=>{e.play(e.note,1)}),G("a",()=>{e.play(e.note,0)}),k("ArrowLeft",()=>{e.knobs.patch--}),k("ArrowRight",()=>{e.knobs.patch++}),k("ArrowUp",o=>{o.preventDefault(),e.note++}),k("ArrowDown",o=>{o.preventDefault(),e.note--}),B(()=>{W(()=>import("./amyJS.DbXKzB8V.js"),[]).then(o=>{const{Module:n}=o;n.onRuntimeInitialized=function(){V=n.cwrap("web_audio_buffer","number",["number","number"]),p=n.cwrap("amy_play_message",null,["string"]),b=n.cwrap("amy_start_web",null,["number"])};var s=null,y=null,i=new Float32Array;L=function(x){if(s==null||s.length==0){i=new Float32Array(x.length);var P=i.length*i.BYTES_PER_ELEMENT;y=n._malloc(P),s=new Uint8Array(n.HEAPU8.buffer,y,P),s.set(new Uint8Array(i.buffer))}V(s.byteOffset,x.length);var N=new Float32Array(s.buffer,s.byteOffset,i.length);for(let g=0;g{S||U();let s=`v${o*20}`;if(n>0){let i=s+e.message;p(i),e.history.unshift(i)}let y=s+`n${o}l${n.toFixed(2)}`;e.history.unshift(y),p(y)},e.reset=(o=1e5)=>{let n=`S${o}`;e.history.unshift(n),p(n)},e}return I(),(u,t)=>{const l=z;return m(),A(C,null,[r("div",K,[c(O,{name:"fade"},{default:E(()=>[c(l,{min:0,max:11,param:"Wave",modelValue:e.knobs.w,"onUpdate:modelValue":t[0]||(t[0]=a=>e.knobs.w=a),fixed:0,unit:e.waveforms[e.knobs.w]},null,8,["modelValue","unit"]),e.knobs.w>6?(m(),h(l,{key:0,min:1,max:1024,param:"Patch",modelValue:e.knobs.p,"onUpdate:modelValue":t[1]||(t[1]=a=>e.knobs.p=a),fixed:0},null,8,["modelValue"])):w("",!0),e.knobs.w==1?(m(),h(l,{key:1,min:.001,max:.999,param:"Duty",step:.01,modelValue:e.knobs.d,"onUpdate:modelValue":t[2]||(t[2]=a=>e.knobs.d=a),fixed:2},null,8,["modelValue"])):w("",!0),e.knobs.w==8?(m(),h(l,{key:2,min:1,max:32,param:"ALGO",modelValue:e.knobs.o,"onUpdate:modelValue":t[3]||(t[3]=a=>e.knobs.o=a),fixed:0},null,8,["modelValue"])):w("",!0),e.knobs.w>5?(m(),h(l,{key:3,min:0,max:1,param:"Feedback",modelValue:e.knobs.b,"onUpdate:modelValue":t[4]||(t[4]=a=>e.knobs.b=a),fixed:1,step:.01},null,8,["modelValue"])):w("",!0),c(l,{min:0,max:10,param:"Volume",modelValue:e.knobs.V,"onUpdate:modelValue":t[5]||(t[5]=a=>e.knobs.V=a),fixed:1,step:.01},null,8,["modelValue"]),t[12]||(t[12]=r("div",{class:"flex-auto"},null,-1)),r("button",{class:"text-button",onClick:t[6]||(t[6]=a=>e.reset())},"RESET")]),_:1})]),r("div",X,[c(l,{min:1,max:127,param:"Note",modelValue:e.note,"onUpdate:modelValue":t[7]||(t[7]=a=>e.note=a),fixed:0,unit:"MIDI"},null,8,["modelValue"]),r("button",{class:"flex items-center gap-4 select-none p-4 rounded-xl bg-green-300 dark-bg-green-900 active-font-bold",onMousedown:t[8]||(t[8]=v(a=>e.play(e.note,1),["prevent","stop"])),onTouchstart:t[9]||(t[9]=v(a=>e.play(e.note,1),["prevent","stop"])),onMouseup:t[10]||(t[10]=v(a=>e.play(e.note,0),["prevent","stop"])),onTouchend:t[11]||(t[11]=v(a=>e.play(e.note,0),["prevent","stop"]))},t[13]||(t[13]=[r("div",{class:"i-la-play text-4xl"},null,-1)]),32)]),r("div",j,_(e.message),1),r("div",Y,[r("div",Q,_(e.message),1),c(O,{name:"fade"},{default:E(()=>[(m(!0),A(C,null,F(e.history,a=>(m(),A("div",{class:"p-0",key:a},_(a),1))),128))]),_:1})])],64)}}};export{ae as default}; diff --git a/assets/chunks/SynthChuck.C4MEyzS7.js b/assets/chunks/SynthChuck.BVEX-RU2.js similarity index 99% rename from assets/chunks/SynthChuck.C4MEyzS7.js rename to assets/chunks/SynthChuck.BVEX-RU2.js index 4e184d7fe9..82f83b3a93 100644 --- a/assets/chunks/SynthChuck.C4MEyzS7.js +++ b/assets/chunks/SynthChuck.BVEX-RU2.js @@ -1,4 +1,4 @@ -import{q as y,aa as T,r as b,o as A,x as p,y as u,A as h,C as R,ag as w,F as M,B as S,z as I,G as D,E as x}from"./framework.BR0mAPCP.js";const C=`// patch +import{q as y,aa as T,r as b,o as A,x as p,y as u,A as h,C as R,ag as w,F as M,B as S,z as I,G as D,E as x}from"./framework.CQBrk0Ry.js";const C=`// patch BlowHole hole => JCRev rev => dac; // scale diff --git a/assets/chunks/SynthNoise.DlivCZ45.js b/assets/chunks/SynthNoise.DJTRCeCR.js similarity index 93% rename from assets/chunks/SynthNoise.DlivCZ45.js rename to assets/chunks/SynthNoise.DJTRCeCR.js index bb3efc4556..e7b456c8d2 100644 --- a/assets/chunks/SynthNoise.DlivCZ45.js +++ b/assets/chunks/SynthNoise.DJTRCeCR.js @@ -1 +1 @@ -import{_ as E}from"./ControlChoose.DP3MWJaC.js";import{Y as A,b7 as C,Z as L,aH as I,a3 as D,b8 as z,a4 as G,b9 as Q,al as H}from"./theme.ClagsQLu.js";import{q as R,x as k,y as O,A as f,G as M,S as r,z as W,u as $,r as N,g as Y,h as P,d as y,k as j,P as a,E as l,V as K,F as Z,B as J}from"./framework.BR0mAPCP.js";const X={__name:"ControlPush",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:"BTN"}},emits:["update:modelValue"],setup(V,{emit:i}){const s=i;function u(d){s("update:modelValue",d)}return(d,n)=>(k(),O("div",{class:W(["btn",{active:V.modelValue}]),onMousedown:n[6]||(n[6]=r(p=>u(!0),["self"])),onMouseup:n[7]||(n[7]=r(p=>u(!1),["self"])),onTouchstart:n[8]||(n[8]=r(p=>u(!0),["self"])),onTouchend:n[9]||(n[9]=r(p=>u(!0),["self"])),onTouchcancel:n[10]||(n[10]=r(p=>u(!1),["self"]))},[f("div",{class:"mb-5",onMousedown:n[0]||(n[0]=r(p=>u(!0),["self"])),onMouseup:n[1]||(n[1]=r(p=>u(!1),["self"])),onTouchstart:n[2]||(n[2]=r(p=>u(!0),["self"])),onTouchend:n[3]||(n[3]=r(p=>u(!0),["self"])),onTouchcancel:n[4]||(n[4]=r(p=>u(!1),["self"]))},M(V.title),33),f("div",{class:"toggle",onClickCapture:n[5]||(n[5]=r(p=>u(!V.modelValue),["stop"]))},n[11]||(n[11]=[f("div",{class:"toggler"},null,-1)]),32)],34))}},c=R(X,[["__scopeId","data-v-ada6e431"]]),_={brown:"brown",pink:"pink",white:"white"},h={lowpass:"LP",highpass:"HP",bandpass:"BP"},ee={sine:"SIN",triangle:"TRI",square:"SQR",sawtooth:"SAW"},g=$("noise-options",{noise:{type:"pink"},envelope:{attack:.1,decay:.1,sustain:.9,release:1},volume:1}),U=$("filter-options",{on:!1,play:!1,volume:.5,baseFrequency:50,depth:.1,frequency:1,octaves:2,wet:1,type:"sine",filter:{Q:1,type:"lowpass"}}),b=$("panner-options",{on:!1,play:!1,wet:1,frequency:1,depth:1,volume:1}),F=$("bit-options",{on:!1,bits:16,wet:1,volume:1});function le(){const V=N(!1),i=N([]),s=N([]),{channel:u}=A("noise"),d=new C({size:512,smoothing:.2}).connect(u);for(let t=0;t<32;t++)s.value[t]=d.getFrequencyOfIndex(t);const n=new L(g.value.volume).connect(d),p=new L(U.value.volume).connect(d),v=new L(b.value.volume).connect(d),w=new L(F.value.volume).connect(d),x=new I(b.value).connect(v),S=new D(F.value).connect(w).connect(x),T=new z(U.value).connect(p).connect(S),e=new G(g.value).connect(n).connect(T);return Y(()=>{let t=d.getValue();for(let m=0;m<32;m++)i.value[m]=Q(t[m])*10}),P("a",t=>{t.preventDefault(),V.value=!0},{eventName:"keydown"}),P("a",()=>{V.value=!1},{eventName:"keyup"}),y(V,t=>{t?e.triggerAttack():e.triggerRelease()}),y(g.value,()=>{e.set(g.value)}),y(()=>g.value.volume,t=>{n.gain.rampTo(t,1)}),j(()=>{e.triggerRelease()}),y(U.value,t=>{t.play?T.start():T.stop(),t.on?p.gain.rampTo(U.value.volume,.2):p.gain.rampTo(0,.2),T.set(t)}),y(b.value,t=>{t.play?x.start():x.stop(),t.on?v.gain.rampTo(b.value.volume,.2):v.gain.rampTo(0,.2),x.set(t)}),y(F.value,t=>{t.on?w.gain.rampTo(F.value.volume,.2):w.gain.rampTo(0,.2),S.set(t)}),{options:g,filterOptions:U,pannerOptions:b,crusherOptions:F,active:V,fftData:i,fftFreq:s,types:_,filterTypes:h,filterLFOTypes:ee}}const oe={class:"flex flex-wrap gap-4 m-4"},ne={class:"row is-group gap-2 select-none"},te={class:"is-group flex flex-wrap p-1"},ae={class:"w-8rem border-1 rounded-lg m-1",version:"1.1",baseProfile:"full",viewBox:"0 0 32 10",xmlns:"http://www.w3.org/2000/svg"},se=["x1","x2","y1","title"],ue={class:"row is-group gap-2"},me={class:"flex flex-wrap gap-2"},de={class:"flex flex-wrap gap-2"},ie={class:"row is-group gap-2"},pe={class:"row is-group gap-2"},re={__name:"SynthNoise",setup(V){const{options:i,filterOptions:s,pannerOptions:u,crusherOptions:d,active:n,fftData:p,fftFreq:v,types:w,filterTypes:x,filterLFOTypes:S}=le();return(T,e)=>{const t=c,m=H,B=E;return k(),O("div",oe,[f("div",ne,[a(t,{modelValue:l(n),"onUpdate:modelValue":e[0]||(e[0]=o=>K(n)?n.value=o:null),title:"NOISE"},null,8,["modelValue"]),a(m,{modelValue:l(i).volume,"onUpdate:modelValue":e[1]||(e[1]=o=>l(i).volume=o),min:0,max:1,step:.01,param:"DRY"},null,8,["modelValue"]),a(B,{modelValue:l(i).noise.type,"onUpdate:modelValue":e[2]||(e[2]=o=>l(i).noise.type=o),variants:l(w)},null,8,["modelValue","variants"]),f("div",te,[a(m,{modelValue:l(i).envelope.attack,"onUpdate:modelValue":e[3]||(e[3]=o=>l(i).envelope.attack=o),min:.005,max:4,step:.01,param:"ATT"},null,8,["modelValue"]),a(m,{modelValue:l(i).envelope.decay,"onUpdate:modelValue":e[4]||(e[4]=o=>l(i).envelope.decay=o),min:.005,max:6,step:.01,param:"DEC"},null,8,["modelValue"]),a(m,{modelValue:l(i).envelope.sustain,"onUpdate:modelValue":e[5]||(e[5]=o=>l(i).envelope.sustain=o),min:.005,max:1,step:.01,param:"SUS"},null,8,["modelValue"]),a(m,{modelValue:l(i).envelope.release,"onUpdate:modelValue":e[6]||(e[6]=o=>l(i).envelope.release=o),min:.005,max:10,step:.01,param:"REL"},null,8,["modelValue"])]),(k(),O("svg",ae,[(k(!0),O(Z,null,J(l(v),(o,q)=>(k(),O("line",{key:o,"stroke-width":"1",stroke:"gray",x1:q,x2:q,y2:10,y1:10-l(p)[q]*50,title:l(v)[q]},null,8,se))),128))]))]),f("div",ue,[f("div",me,[a(t,{modelValue:l(s).on,"onUpdate:modelValue":e[7]||(e[7]=o=>l(s).on=o),title:"FILTER"},null,8,["modelValue"]),a(m,{modelValue:l(s).volume,"onUpdate:modelValue":e[8]||(e[8]=o=>l(s).volume=o),param:"VOL",min:0,max:1,step:.01,fixed:1},null,8,["modelValue"]),a(m,{modelValue:l(s).baseFrequency,"onUpdate:modelValue":e[9]||(e[9]=o=>l(s).baseFrequency=o),param:"FREQ",min:10,max:999,step:1,fixed:0,unit:"hz"},null,8,["modelValue"]),a(m,{modelValue:l(s).octaves,"onUpdate:modelValue":e[10]||(e[10]=o=>l(s).octaves=o),param:"OCT",min:.1,max:7,step:.1,fixed:1},null,8,["modelValue"]),a(m,{modelValue:l(s).filter.Q,"onUpdate:modelValue":e[11]||(e[11]=o=>l(s).filter.Q=o),param:"Q",min:.1,max:20,step:.1,fixed:1},null,8,["modelValue"]),a(m,{modelValue:l(s).wet,"onUpdate:modelValue":e[12]||(e[12]=o=>l(s).wet=o),param:"WET",min:0,max:1,step:.1,fixed:1,unit:""},null,8,["modelValue"]),a(B,{modelValue:l(s).filter.type,"onUpdate:modelValue":e[13]||(e[13]=o=>l(s).filter.type=o),variants:l(x)},null,8,["modelValue","variants"])]),f("div",de,[a(t,{modelValue:l(s).play,"onUpdate:modelValue":e[14]||(e[14]=o=>l(s).play=o),title:"PLAY"},null,8,["modelValue"]),a(m,{modelValue:l(s).frequency,"onUpdate:modelValue":e[15]||(e[15]=o=>l(s).frequency=o),param:"LFO",min:.01,max:4,step:.01,fixed:2,unit:"hz"},null,8,["modelValue"]),a(m,{modelValue:l(s).depth,"onUpdate:modelValue":e[16]||(e[16]=o=>l(s).depth=o),param:"DPTH",min:0,max:1,step:.1,fixed:1,unit:""},null,8,["modelValue"]),a(B,{modelValue:l(s).type,"onUpdate:modelValue":e[17]||(e[17]=o=>l(s).type=o),variants:l(S)},null,8,["modelValue","variants"])])]),f("div",ie,[a(t,{modelValue:l(d).on,"onUpdate:modelValue":e[18]||(e[18]=o=>l(d).on=o),title:"BITCRUSHER"},null,8,["modelValue"]),a(m,{modelValue:l(d).volume,"onUpdate:modelValue":e[19]||(e[19]=o=>l(d).volume=o),param:"VOL",min:.01,max:1,step:.01,fixed:1},null,8,["modelValue"]),a(m,{modelValue:l(d).bits,"onUpdate:modelValue":e[20]||(e[20]=o=>l(d).bits=o),param:"BITS",min:1,max:16,step:.01,fixed:2},null,8,["modelValue"]),a(m,{modelValue:l(d).wet,"onUpdate:modelValue":e[21]||(e[21]=o=>l(d).wet=o),param:"WET",min:0,max:1,step:.1,fixed:1,unit:""},null,8,["modelValue"])]),f("div",pe,[a(t,{modelValue:l(u).on,"onUpdate:modelValue":e[22]||(e[22]=o=>l(u).on=o),title:"PAN"},null,8,["modelValue"]),a(t,{modelValue:l(u).play,"onUpdate:modelValue":e[23]||(e[23]=o=>l(u).play=o),title:"PLAY"},null,8,["modelValue"]),a(m,{modelValue:l(u).volume,"onUpdate:modelValue":e[24]||(e[24]=o=>l(u).volume=o),param:"VOL",min:.01,max:1,step:.01,fixed:1},null,8,["modelValue"]),a(m,{modelValue:l(u).frequency,"onUpdate:modelValue":e[25]||(e[25]=o=>l(u).frequency=o),param:"LFO",min:.01,max:4,step:.01,fixed:2,unit:"hz"},null,8,["modelValue"]),a(m,{modelValue:l(u).depth,"onUpdate:modelValue":e[26]||(e[26]=o=>l(u).depth=o),param:"DPTH",min:0,max:1,step:.1,fixed:1,unit:""},null,8,["modelValue"]),a(m,{modelValue:l(u).wet,"onUpdate:modelValue":e[27]||(e[27]=o=>l(u).wet=o),param:"WET",min:0,max:1,step:.1,fixed:1,unit:""},null,8,["modelValue"])])])}}},xe=R(re,[["__scopeId","data-v-3db0743f"]]);export{xe as default}; +import{_ as E}from"./ControlChoose.BsTgxhCE.js";import{Y as A,b7 as C,Z as L,aJ as I,a3 as D,b8 as z,a4 as G,b9 as Q,an as M}from"./theme.Dd_Fb62b.js";import{q as R,x as k,y as O,A as f,G as H,S as r,z as W,u as $,r as N,g as Y,h as P,d as y,k as j,P as a,E as l,V as J,F as K,B as Z}from"./framework.CQBrk0Ry.js";const X={__name:"ControlPush",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:"BTN"}},emits:["update:modelValue"],setup(V,{emit:i}){const s=i;function u(d){s("update:modelValue",d)}return(d,n)=>(k(),O("div",{class:W(["btn",{active:V.modelValue}]),onMousedown:n[6]||(n[6]=r(p=>u(!0),["self"])),onMouseup:n[7]||(n[7]=r(p=>u(!1),["self"])),onTouchstart:n[8]||(n[8]=r(p=>u(!0),["self"])),onTouchend:n[9]||(n[9]=r(p=>u(!0),["self"])),onTouchcancel:n[10]||(n[10]=r(p=>u(!1),["self"]))},[f("div",{class:"mb-5",onMousedown:n[0]||(n[0]=r(p=>u(!0),["self"])),onMouseup:n[1]||(n[1]=r(p=>u(!1),["self"])),onTouchstart:n[2]||(n[2]=r(p=>u(!0),["self"])),onTouchend:n[3]||(n[3]=r(p=>u(!0),["self"])),onTouchcancel:n[4]||(n[4]=r(p=>u(!1),["self"]))},H(V.title),33),f("div",{class:"toggle",onClickCapture:n[5]||(n[5]=r(p=>u(!V.modelValue),["stop"]))},n[11]||(n[11]=[f("div",{class:"toggler"},null,-1)]),32)],34))}},c=R(X,[["__scopeId","data-v-ada6e431"]]),_={brown:"brown",pink:"pink",white:"white"},h={lowpass:"LP",highpass:"HP",bandpass:"BP"},ee={sine:"SIN",triangle:"TRI",square:"SQR",sawtooth:"SAW"},g=$("noise-options",{noise:{type:"pink"},envelope:{attack:.1,decay:.1,sustain:.9,release:1},volume:1}),U=$("filter-options",{on:!1,play:!1,volume:.5,baseFrequency:50,depth:.1,frequency:1,octaves:2,wet:1,type:"sine",filter:{Q:1,type:"lowpass"}}),b=$("panner-options",{on:!1,play:!1,wet:1,frequency:1,depth:1,volume:1}),F=$("bit-options",{on:!1,bits:16,wet:1,volume:1});function le(){const V=N(!1),i=N([]),s=N([]),{channel:u}=A("noise"),d=new C({size:512,smoothing:.2}).connect(u);for(let t=0;t<32;t++)s.value[t]=d.getFrequencyOfIndex(t);const n=new L(g.value.volume).connect(d),p=new L(U.value.volume).connect(d),v=new L(b.value.volume).connect(d),w=new L(F.value.volume).connect(d),x=new I(b.value).connect(v),S=new D(F.value).connect(w).connect(x),T=new z(U.value).connect(p).connect(S),e=new G(g.value).connect(n).connect(T);return Y(()=>{let t=d.getValue();for(let m=0;m<32;m++)i.value[m]=Q(t[m])*10}),P("a",t=>{t.preventDefault(),V.value=!0},{eventName:"keydown"}),P("a",()=>{V.value=!1},{eventName:"keyup"}),y(V,t=>{t?e.triggerAttack():e.triggerRelease()}),y(g.value,()=>{e.set(g.value)}),y(()=>g.value.volume,t=>{n.gain.rampTo(t,1)}),j(()=>{e.triggerRelease()}),y(U.value,t=>{t.play?T.start():T.stop(),t.on?p.gain.rampTo(U.value.volume,.2):p.gain.rampTo(0,.2),T.set(t)}),y(b.value,t=>{t.play?x.start():x.stop(),t.on?v.gain.rampTo(b.value.volume,.2):v.gain.rampTo(0,.2),x.set(t)}),y(F.value,t=>{t.on?w.gain.rampTo(F.value.volume,.2):w.gain.rampTo(0,.2),S.set(t)}),{options:g,filterOptions:U,pannerOptions:b,crusherOptions:F,active:V,fftData:i,fftFreq:s,types:_,filterTypes:h,filterLFOTypes:ee}}const oe={class:"flex flex-wrap gap-4 m-4"},ne={class:"row is-group gap-2 select-none"},te={class:"is-group flex flex-wrap p-1"},ae={class:"w-8rem border-1 rounded-lg m-1",version:"1.1",baseProfile:"full",viewBox:"0 0 32 10",xmlns:"http://www.w3.org/2000/svg"},se=["x1","x2","y1","title"],ue={class:"row is-group gap-2"},me={class:"flex flex-wrap gap-2"},de={class:"flex flex-wrap gap-2"},ie={class:"row is-group gap-2"},pe={class:"row is-group gap-2"},re={__name:"SynthNoise",setup(V){const{options:i,filterOptions:s,pannerOptions:u,crusherOptions:d,active:n,fftData:p,fftFreq:v,types:w,filterTypes:x,filterLFOTypes:S}=le();return(T,e)=>{const t=c,m=M,B=E;return k(),O("div",oe,[f("div",ne,[a(t,{modelValue:l(n),"onUpdate:modelValue":e[0]||(e[0]=o=>J(n)?n.value=o:null),title:"NOISE"},null,8,["modelValue"]),a(m,{modelValue:l(i).volume,"onUpdate:modelValue":e[1]||(e[1]=o=>l(i).volume=o),min:0,max:1,step:.01,param:"DRY"},null,8,["modelValue"]),a(B,{modelValue:l(i).noise.type,"onUpdate:modelValue":e[2]||(e[2]=o=>l(i).noise.type=o),variants:l(w)},null,8,["modelValue","variants"]),f("div",te,[a(m,{modelValue:l(i).envelope.attack,"onUpdate:modelValue":e[3]||(e[3]=o=>l(i).envelope.attack=o),min:.005,max:4,step:.01,param:"ATT"},null,8,["modelValue"]),a(m,{modelValue:l(i).envelope.decay,"onUpdate:modelValue":e[4]||(e[4]=o=>l(i).envelope.decay=o),min:.005,max:6,step:.01,param:"DEC"},null,8,["modelValue"]),a(m,{modelValue:l(i).envelope.sustain,"onUpdate:modelValue":e[5]||(e[5]=o=>l(i).envelope.sustain=o),min:.005,max:1,step:.01,param:"SUS"},null,8,["modelValue"]),a(m,{modelValue:l(i).envelope.release,"onUpdate:modelValue":e[6]||(e[6]=o=>l(i).envelope.release=o),min:.005,max:10,step:.01,param:"REL"},null,8,["modelValue"])]),(k(),O("svg",ae,[(k(!0),O(K,null,Z(l(v),(o,q)=>(k(),O("line",{key:o,"stroke-width":"1",stroke:"gray",x1:q,x2:q,y2:10,y1:10-l(p)[q]*50,title:l(v)[q]},null,8,se))),128))]))]),f("div",ue,[f("div",me,[a(t,{modelValue:l(s).on,"onUpdate:modelValue":e[7]||(e[7]=o=>l(s).on=o),title:"FILTER"},null,8,["modelValue"]),a(m,{modelValue:l(s).volume,"onUpdate:modelValue":e[8]||(e[8]=o=>l(s).volume=o),param:"VOL",min:0,max:1,step:.01,fixed:1},null,8,["modelValue"]),a(m,{modelValue:l(s).baseFrequency,"onUpdate:modelValue":e[9]||(e[9]=o=>l(s).baseFrequency=o),param:"FREQ",min:10,max:999,step:1,fixed:0,unit:"hz"},null,8,["modelValue"]),a(m,{modelValue:l(s).octaves,"onUpdate:modelValue":e[10]||(e[10]=o=>l(s).octaves=o),param:"OCT",min:.1,max:7,step:.1,fixed:1},null,8,["modelValue"]),a(m,{modelValue:l(s).filter.Q,"onUpdate:modelValue":e[11]||(e[11]=o=>l(s).filter.Q=o),param:"Q",min:.1,max:20,step:.1,fixed:1},null,8,["modelValue"]),a(m,{modelValue:l(s).wet,"onUpdate:modelValue":e[12]||(e[12]=o=>l(s).wet=o),param:"WET",min:0,max:1,step:.1,fixed:1,unit:""},null,8,["modelValue"]),a(B,{modelValue:l(s).filter.type,"onUpdate:modelValue":e[13]||(e[13]=o=>l(s).filter.type=o),variants:l(x)},null,8,["modelValue","variants"])]),f("div",de,[a(t,{modelValue:l(s).play,"onUpdate:modelValue":e[14]||(e[14]=o=>l(s).play=o),title:"PLAY"},null,8,["modelValue"]),a(m,{modelValue:l(s).frequency,"onUpdate:modelValue":e[15]||(e[15]=o=>l(s).frequency=o),param:"LFO",min:.01,max:4,step:.01,fixed:2,unit:"hz"},null,8,["modelValue"]),a(m,{modelValue:l(s).depth,"onUpdate:modelValue":e[16]||(e[16]=o=>l(s).depth=o),param:"DPTH",min:0,max:1,step:.1,fixed:1,unit:""},null,8,["modelValue"]),a(B,{modelValue:l(s).type,"onUpdate:modelValue":e[17]||(e[17]=o=>l(s).type=o),variants:l(S)},null,8,["modelValue","variants"])])]),f("div",ie,[a(t,{modelValue:l(d).on,"onUpdate:modelValue":e[18]||(e[18]=o=>l(d).on=o),title:"BITCRUSHER"},null,8,["modelValue"]),a(m,{modelValue:l(d).volume,"onUpdate:modelValue":e[19]||(e[19]=o=>l(d).volume=o),param:"VOL",min:.01,max:1,step:.01,fixed:1},null,8,["modelValue"]),a(m,{modelValue:l(d).bits,"onUpdate:modelValue":e[20]||(e[20]=o=>l(d).bits=o),param:"BITS",min:1,max:16,step:.01,fixed:2},null,8,["modelValue"]),a(m,{modelValue:l(d).wet,"onUpdate:modelValue":e[21]||(e[21]=o=>l(d).wet=o),param:"WET",min:0,max:1,step:.1,fixed:1,unit:""},null,8,["modelValue"])]),f("div",pe,[a(t,{modelValue:l(u).on,"onUpdate:modelValue":e[22]||(e[22]=o=>l(u).on=o),title:"PAN"},null,8,["modelValue"]),a(t,{modelValue:l(u).play,"onUpdate:modelValue":e[23]||(e[23]=o=>l(u).play=o),title:"PLAY"},null,8,["modelValue"]),a(m,{modelValue:l(u).volume,"onUpdate:modelValue":e[24]||(e[24]=o=>l(u).volume=o),param:"VOL",min:.01,max:1,step:.01,fixed:1},null,8,["modelValue"]),a(m,{modelValue:l(u).frequency,"onUpdate:modelValue":e[25]||(e[25]=o=>l(u).frequency=o),param:"LFO",min:.01,max:4,step:.01,fixed:2,unit:"hz"},null,8,["modelValue"]),a(m,{modelValue:l(u).depth,"onUpdate:modelValue":e[26]||(e[26]=o=>l(u).depth=o),param:"DPTH",min:0,max:1,step:.1,fixed:1,unit:""},null,8,["modelValue"]),a(m,{modelValue:l(u).wet,"onUpdate:modelValue":e[27]||(e[27]=o=>l(u).wet=o),param:"WET",min:0,max:1,step:.1,fixed:1,unit:""},null,8,["modelValue"])])])}}},xe=R(re,[["__scopeId","data-v-3db0743f"]]);export{xe as default}; diff --git a/assets/chunks/SynthZzfx.CchaKOO5.js b/assets/chunks/SynthZzfx.DwdhsG-u.js similarity index 84% rename from assets/chunks/SynthZzfx.CchaKOO5.js rename to assets/chunks/SynthZzfx.DwdhsG-u.js index d5d885a670..725e140a51 100644 --- a/assets/chunks/SynthZzfx.CchaKOO5.js +++ b/assets/chunks/SynthZzfx.DwdhsG-u.js @@ -1 +1 @@ -import{_ as s0}from"./MidiKeys.DiSle55u.js";import{aA as D,af as n0,al as u0}from"./theme.ClagsQLu.js";import{b as m0,c as o0,o as i0,k as l0,d as r0,x as F,y as K,A as f0,F as d0,B as p0,T as c0,a1 as h0,E as w,P as _0}from"./framework.BR0mAPCP.js";function M0(...a){return L.play(...a)}const L={volume:.3,sampleRate:44100,x:new AudioContext,play:function(...a){return this.playSamples(this.buildSamples(...a))},playSamples:function(...a){const m=this.x.createBuffer(a.length,a[0].length,this.sampleRate),n=this.x.createBufferSource();return a.map((u,r)=>m.getChannelData(r).set(u)),n.buffer=m,n.connect(this.x.destination),n.start(),n},buildSamples:function(a=1,m=.05,n=220,u=0,r=0,t=.1,p=0,g=1,d=0,x=0,v=0,R=0,c=0,T=0,A=0,k=0,l=0,C=1,_=0,q=0,b=0){let o=Math.PI*2,S=e0=>e0<0?-1:1,s=this.sampleRate,G=d*=500*o/s/s,z=n*=(1+m*2*Math.random()-m)*o/s,B=[],f=0,H=0,e=0,M=1,O=0,Q=0,i=0,V,h,W=2,E=o*Math.abs(b)*2/s,Z=Math.cos(E),J=Math.sin(E)/2/W,y=1+J,Y=-2*Z/y,$=(1-J)/y,N=(1+S(b)*Z)/2/y,t0=-(S(b)+Z)/y,a0=N,U=0,X=0,I=0,j=0;for(u=u*s+9,_*=s,r*=s,t*=s,l*=s,x*=500*o/s**3,A*=o/s,v*=o/s,R*=s,c=c*s|0,a*=this.volume,h=u+_+r+t+l|0;e1?p>2?p>3?Math.sin(f*f):Math.max(Math.min(Math.tan(f),1),-1):1-(2*f/o%2+2)%2:1-4*Math.abs(Math.round(f/o)-f/o):Math.sin(f),i=(c?1-q+q*Math.sin(o*e/c):1)*S(i)*Math.abs(i)**g*(ee?0:(eR&&(n+=v,z+=v,M=0),c&&!(++O%c)&&(n=z,d=G,M=M||1);return B},getNote:function(a=0,m=440){return m*2**(a/12)}};let P;function x0(){const a=m0({volume:1,randomness:0,frequency:220,shape:1,attack:.12,sustain:.53,release:.15,shapeCurve:.76,slide:0,deltaSlide:0,pitchJump:0,pitchJumpTime:0,repeatTime:0,noise:.1,modulation:0,bitCrush:0,delay:0,sustainVolume:.39,decay:.02,tremolo:0}),m=o0(()=>r(a));i0(()=>{L.volume=.3,D.value=!1}),l0(()=>{D.value=!0}),r0(()=>n0.note,t=>{u(t)});const n={volume:{min:0,max:1,default:1,step:.01},randomness:{min:0,max:1,default:.05,step:.01},frequency:{min:20,max:2e4,default:220,step:10},attack:{min:0,max:2,default:.01,step:.01},sustain:{min:0,max:2,default:.3,step:.01},release:{min:0,max:2,default:.1,step:.01},shape:{min:0,max:4,default:0,step:1},shapeCurve:{min:0,max:2,default:1,step:.01},slide:{min:-10,max:10,default:0,step:.1},deltaSlide:{min:-10,max:10,default:0,step:.1},pitchJump:{min:-10,max:10,default:0,step:.1},pitchJumpTime:{min:0,max:2,default:0,step:.01},repeatTime:{min:0,max:2,default:0,step:.01},noise:{min:0,max:1,default:0,step:.01},modulation:{min:0,max:100,default:0,step:1},bitCrush:{min:0,max:1,default:0,step:.01},delay:{min:0,max:2,default:0,step:.01},sustainVolume:{min:0,max:1,default:1,step:.01},decay:{min:0,max:2,default:.1,step:.01},tremolo:{min:0,max:1,default:0,step:.01}};async function u(t){(t==null?void 0:t.type)!="noteoff"&&((t==null?void 0:t.type)=="noteon"&&(a.frequency=Math.pow(2,(t.number-69)/12)*440),P||(P=M0),P(...m.value))}function r(t){return[t.volume??1,t.randomness??.05,t.frequency??220,t.attack??0,t.sustain??0,t.release??.1,t.shape??0,t.shapeCurve??1,t.slide??0,t.deltaSlide??0,t.pitchJump??0,t.pitchJumpTime??0,t.repeatTime??0,t.noise??0,t.modulation??0,t.bitCrush??0,t.delay??0,t.sustainVolume??1,t.decay??0,t.tremolo??0]}return{sound:a,limits:n}}const b0={class:"flex flex-col gap-gap-4ZZFX"},y0={class:"flex flex-wrap is-group p-4 m-4"},S0={__name:"SynthZzfx",setup(a){const{sound:m,limits:n}=x0();return(u,r)=>{const t=u0,p=s0;return F(),K("div",b0,[f0("div",y0,[(F(!0),K(d0,null,p0(w(n),(g,d)=>(F(),c0(t,h0({ref_for:!0},g,{modelValue:w(m)[d],"onUpdate:modelValue":x=>w(m)[d]=x,param:d}),null,16,["modelValue","onUpdate:modelValue","param"]))),256))]),_0(p)])}}};export{S0 as default}; +import{_ as s0}from"./MidiKeys.EfaG9mBq.js";import{aC as D,ah as n0,an as u0}from"./theme.Dd_Fb62b.js";import{b as m0,c as o0,o as i0,k as l0,d as r0,x as F,y as K,A as f0,F as d0,B as p0,T as c0,a1 as h0,E as w,P as _0}from"./framework.CQBrk0Ry.js";function M0(...a){return L.play(...a)}const L={volume:.3,sampleRate:44100,x:new AudioContext,play:function(...a){return this.playSamples(this.buildSamples(...a))},playSamples:function(...a){const m=this.x.createBuffer(a.length,a[0].length,this.sampleRate),n=this.x.createBufferSource();return a.map((u,r)=>m.getChannelData(r).set(u)),n.buffer=m,n.connect(this.x.destination),n.start(),n},buildSamples:function(a=1,m=.05,n=220,u=0,r=0,t=.1,p=0,g=1,d=0,x=0,v=0,R=0,c=0,T=0,q=0,k=0,l=0,C=1,_=0,z=0,b=0){let o=Math.PI*2,S=e0=>e0<0?-1:1,s=this.sampleRate,G=d*=500*o/s/s,A=n*=(1+m*2*Math.random()-m)*o/s,B=[],f=0,H=0,e=0,M=1,O=0,Q=0,i=0,V,h,W=2,E=o*Math.abs(b)*2/s,Z=Math.cos(E),J=Math.sin(E)/2/W,y=1+J,Y=-2*Z/y,$=(1-J)/y,N=(1+S(b)*Z)/2/y,t0=-(S(b)+Z)/y,a0=N,U=0,X=0,I=0,j=0;for(u=u*s+9,_*=s,r*=s,t*=s,l*=s,x*=500*o/s**3,q*=o/s,v*=o/s,R*=s,c=c*s|0,a*=this.volume,h=u+_+r+t+l|0;e1?p>2?p>3?Math.sin(f*f):Math.max(Math.min(Math.tan(f),1),-1):1-(2*f/o%2+2)%2:1-4*Math.abs(Math.round(f/o)-f/o):Math.sin(f),i=(c?1-z+z*Math.sin(o*e/c):1)*S(i)*Math.abs(i)**g*(ee?0:(eR&&(n+=v,A+=v,M=0),c&&!(++O%c)&&(n=A,d=G,M=M||1);return B},getNote:function(a=0,m=440){return m*2**(a/12)}};let P;function x0(){const a=m0({volume:1,randomness:0,frequency:220,shape:1,attack:.12,sustain:.53,release:.15,shapeCurve:.76,slide:0,deltaSlide:0,pitchJump:0,pitchJumpTime:0,repeatTime:0,noise:.1,modulation:0,bitCrush:0,delay:0,sustainVolume:.39,decay:.02,tremolo:0}),m=o0(()=>r(a));i0(()=>{L.volume=.3,D.value=!1}),l0(()=>{D.value=!0}),r0(()=>n0.note,t=>{u(t)});const n={volume:{min:0,max:1,default:1,step:.01},randomness:{min:0,max:1,default:.05,step:.01},frequency:{min:20,max:2e4,default:220,step:10},attack:{min:0,max:2,default:.01,step:.01},sustain:{min:0,max:2,default:.3,step:.01},release:{min:0,max:2,default:.1,step:.01},shape:{min:0,max:4,default:0,step:1},shapeCurve:{min:0,max:2,default:1,step:.01},slide:{min:-10,max:10,default:0,step:.1},deltaSlide:{min:-10,max:10,default:0,step:.1},pitchJump:{min:-10,max:10,default:0,step:.1},pitchJumpTime:{min:0,max:2,default:0,step:.01},repeatTime:{min:0,max:2,default:0,step:.01},noise:{min:0,max:1,default:0,step:.01},modulation:{min:0,max:100,default:0,step:1},bitCrush:{min:0,max:1,default:0,step:.01},delay:{min:0,max:2,default:0,step:.01},sustainVolume:{min:0,max:1,default:1,step:.01},decay:{min:0,max:2,default:.1,step:.01},tremolo:{min:0,max:1,default:0,step:.01}};async function u(t){(t==null?void 0:t.type)!="noteoff"&&((t==null?void 0:t.type)=="noteon"&&(a.frequency=Math.pow(2,(t.number-69)/12)*440),P||(P=M0),P(...m.value))}function r(t){return[t.volume??1,t.randomness??.05,t.frequency??220,t.attack??0,t.sustain??0,t.release??.1,t.shape??0,t.shapeCurve??1,t.slide??0,t.deltaSlide??0,t.pitchJump??0,t.pitchJumpTime??0,t.repeatTime??0,t.noise??0,t.modulation??0,t.bitCrush??0,t.delay??0,t.sustainVolume??1,t.decay??0,t.tremolo??0]}return{sound:a,limits:n}}const b0={class:"flex flex-col gap-gap-4ZZFX"},y0={class:"flex flex-wrap is-group p-4 m-4"},S0={__name:"SynthZzfx",setup(a){const{sound:m,limits:n}=x0();return(u,r)=>{const t=u0,p=s0;return F(),K("div",b0,[f0("div",y0,[(F(!0),K(d0,null,p0(w(n),(g,d)=>(F(),c0(t,h0({ref_for:!0},g,{modelValue:w(m)[d],"onUpdate:modelValue":x=>w(m)[d]=x,param:d}),null,16,["modelValue","onUpdate:modelValue","param"]))),256))]),_0(p)])}}};export{S0 as default}; diff --git a/assets/chunks/TonalArray.DMHrvIt3.js b/assets/chunks/TonalArray.fe8L0wAC.js similarity index 85% rename from assets/chunks/TonalArray.DMHrvIt3.js rename to assets/chunks/TonalArray.fe8L0wAC.js index e055c0315f..960719ec3f 100644 --- a/assets/chunks/TonalArray.DMHrvIt3.js +++ b/assets/chunks/TonalArray.fe8L0wAC.js @@ -1 +1 @@ -import{r as S,c as h,x as i,y as d,A as m,E as p,G as T,q as E,b as P,F as y,B as g,T as F,P as q,S as b}from"./framework.BR0mAPCP.js";import{N as A,I as O,aE as I,c as w,u as j,x as C,t as R,v as V,n as z,g as N,r as k}from"./theme.ClagsQLu.js";const D={class:"cursor-pointer"},G=["r","stroke-width","fill"],L={style:{"user-select":"none","pointer-events":"none"},"font-size":"22px","text-anchor":"middle",fill:"white",x:0,y:8},U={__name:"TonalArrayNote",props:{note:{type:Object,default:()=>{}},r:{type:Number,default:10},pressed:{type:Boolean,default:!1},available:{type:Boolean,default:!1},tonic:{type:Number,default:0}},emits:["update:pressed"],setup(a){const{activeChroma:$}=A(),r=a,u=S(!1),c=h(()=>{let x=r.tonic>r.note.pitch?3:2;return O(I(r.note.pitch,x)).toNote()});function v(){u.value=!0,j(c.value)}function f(){u.value=!1,C(c.value)}return(x,e)=>{var s,l;return i(),d("g",D,[m("circle",{class:"transition-all duration-50",r:a.r,cx:0,cy:0,"stroke-width":a.tonic==a.note.pitch?4:a.available?2:0,stroke:"white",fill:p(w)(a.note.pitch,u.value||((s=p($))==null?void 0:s[a.note.pitch])>0?5:a.available?3:2,u.value||((l=p($))==null?void 0:l[a.note.pitch])>0?1:.4),onMousedown:e[0]||(e[0]=o=>v()),onTouchstart:e[1]||(e[1]=o=>v()),onMouseenter:e[2]||(e[2]=o=>a.pressed?v():null),onMouseup:e[3]||(e[3]=o=>f()),onMouseleave:e[4]||(e[4]=o=>f()),onTouchend:e[5]||(e[5]=o=>f()),onTouchcancel:e[6]||(e[6]=o=>f())},null,40,G),m("text",L,T(a.note.name),1)])}}},H=["transform","fill","stroke-width"],J={__name:"TonalArrayTrigger",props:{pressed:Boolean,note:{type:Object,default:()=>{}},chord:{type:Object,default:()=>{}},p:{type:Number,default:0},activeSteps:{type:Array,default:()=>[]}},setup(a){const{midi:$,activeChroma:r}=A(),u=a,c=S(!1),v=h(()=>u.chord.map(o=>o+u.note.pitch)),f=h(()=>{let o=!0;return v.value.map(n=>n>11?n%12:n).forEach(n=>{u.activeSteps[n]!="1"&&(o=!1)}),o}),x=h(()=>{let o=!0;return v.value.map(n=>n>11?n%12:n).forEach(n=>{r.value[n]!="1"&&(o=!1)}),o}),e=h(()=>v.value.map(o=>o+57+12*$.offset));function s(){c.value=!0,j(e.value),R(e.value)}function l(){c.value=!1,C(e.value),V(e.value)}return(o,t)=>(i(),d("polygon",{class:"chord-trigger",style:{"mix-blend-mode":"screen"},transform:"rotate("+60*a.p+")",fill:p(w)(a.note.pitch,c.value||x.value?5:f.value?.5:-2,f.value?1:.2),opacity:1,"stroke-width":f.value?4:.5,stroke:"hsla(0,0%,100%,0.5)",points:"0,0 80,0 80,46.188 40,69.28",onMousedown:t[0]||(t[0]=n=>s()),onMouseenter:t[1]||(t[1]=n=>a.pressed?s():null),onTouchstart:t[2]||(t[2]=n=>s()),onMouseleave:t[3]||(t[3]=n=>l()),onMouseup:t[4]||(t[4]=n=>l()),onTouchend:t[5]||(t[5]=n=>l()),onTouchcancel:t[6]||(t[6]=n=>l())},null,40,H))}},K=["transform"],Q=["fill"],W=["fill"],X={class:"chord-name","text-anchor":"middle",fill:"white",x:80,y:-40},Y={class:"chord-name","text-anchor":"middle",fill:"white",x:80,y:55},Z=["transform"],_=["transform"],ee={__name:"TonalArray",setup(a){const $=[...z].map((e,s)=>({name:e,pitch:s})),r=P({pressed:!1,r:28,dx:80,rowNum:12,colNum:12,rows:[0,9,5,2,10],bgRows:[4,0,9,5,2,10,7],chords:[[0,3,7],[0,3,8],[0,5,8],[0,5,9],[0,4,9],[0,4,7]]}),u=h(()=>{let e=N.chroma.split("").map(Number);return k(e,-N.tonic)}),c=h(()=>r.dx*2*.866),v=h(()=>{let e=[];for(let s=0;s<12;s++)e[s]=$[7*s%12];return e});function f(e){return!u.value[e]||!u.value[(e+4)%12]||!u.value[(e+7)%12]}function x(e){return!u.value[e]||!u.value[(e+3)%12]||!u.value[(e+7)%12]}return(e,s)=>(i(),d("svg",{class:"min-h-80svh max-h-100svh",id:"tonal-array",viewBox:"-80 -110 1040 770",version:"1.1",baseProfile:"full",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},onTouchstart:s[1]||(s[1]=b(l=>r.pressed=!0,["stop","prevent"])),onTouchend:s[2]||(s[2]=b(l=>r.pressed=!1,["stop","prevent"])),onMousedown:s[3]||(s[3]=b(l=>r.pressed=!0,["stop","prevent"])),onMouseup:s[4]||(s[4]=b(l=>r.pressed=!1,["stop","prevent"])),onMouseleave:s[5]||(s[5]=l=>r.pressed=!1)},[s[6]||(s[6]=m("clipPath",{id:"grid-mask"},[m("rect",{x:-80,y:-110,width:1040,height:770})],-1)),(i(!0),d(y,null,g(r.bgRows,(l,o)=>(i(),d("g",{key:l,"clip-path":"url(#grid-mask)"},[(i(!0),d(y,null,g(p(k)(v.value,l-1).splice(0,7),(t,n)=>(i(),d("g",{key:t,transform:`translate(${(n-1)*2*r.dx+(o+1)%2*r.dx}, ${(o-1)*c.value})`},[m("polygon",{class:"chord-triangle",fill:x(t.pitch)?p(w)(t.pitch,1,.2):p(w)(t.pitch,3),points:"0,0 160,0 80,138.56"},null,8,Q),m("polygon",{class:"chord-triangle major",fill:f(t.pitch)?p(w)(t.pitch,1,.2):p(w)(t.pitch,2),points:"0,0 160,0 80,-138.56"},null,8,W),m("text",X,T(t.name)+"M",1),m("text",Y,T(t.name)+"m",1)],8,K))),128))]))),128)),(i(!0),d(y,null,g(r.rows,(l,o)=>(i(),d("g",{class:"cursor-crosshair",key:o},[(i(!0),d(y,null,g(p(k)(v.value,l).splice(0,7),(t,n)=>(i(),d("g",{key:t,transform:`translate(${n*2*r.dx+o%2*r.dx}, ${o*c.value})`},[(i(!0),d(y,null,g(r.chords,(M,B)=>(i(),F(J,{key:B,"active-steps":u.value,chord:M,p:B,note:t,pressed:r.pressed},null,8,["active-steps","chord","p","note","pressed"]))),128))],8,Z))),128))]))),128)),(i(!0),d(y,null,g(r.rows,(l,o)=>(i(),d("g",{key:o},[(i(!0),d(y,null,g(p(k)(v.value,l).splice(0,6),(t,n)=>(i(),d("g",{key:n,transform:"translate("+(n*2*r.dx+o%2*r.dx)+","+o*c.value+")"},[q(U,{pressed:r.pressed,"onUpdate:pressed":s[0]||(s[0]=M=>r.pressed=M),available:!!u.value[t.pitch],tonic:p(N).tonic,note:t,r:r.r},null,8,["pressed","available","tonic","note","r"])],8,_))),128))]))),128))],32))}},oe=E(ee,[["__scopeId","data-v-bd27fa1f"]]);export{oe as default}; +import{r as S,c as h,x as i,y as d,A as m,E as p,G as T,q as P,b as E,F as y,B as g,T as F,P as q,S as b}from"./framework.CQBrk0Ry.js";import{N as A,I as O,aG as G,c as w,u as j,x as C,t as I,v as R,n as V,g as N,r as k}from"./theme.Dd_Fb62b.js";const z={class:"cursor-pointer"},D=["r","stroke-width","fill"],L={style:{"user-select":"none","pointer-events":"none"},"font-size":"22px","text-anchor":"middle",fill:"white",x:0,y:8},U={__name:"TonalArrayNote",props:{note:{type:Object,default:()=>{}},r:{type:Number,default:10},pressed:{type:Boolean,default:!1},available:{type:Boolean,default:!1},tonic:{type:Number,default:0}},emits:["update:pressed"],setup(a){const{activeChroma:$}=A(),r=a,u=S(!1),c=h(()=>{let x=r.tonic>r.note.pitch?3:2;return O(G(r.note.pitch,x)).toNote()});function v(){u.value=!0,j(c.value)}function f(){u.value=!1,C(c.value)}return(x,e)=>{var s,l;return i(),d("g",z,[m("circle",{class:"transition-all duration-50",r:a.r,cx:0,cy:0,"stroke-width":a.tonic==a.note.pitch?4:a.available?2:0,stroke:"white",fill:p(w)(a.note.pitch,u.value||((s=p($))==null?void 0:s[a.note.pitch])>0?5:a.available?3:2,u.value||((l=p($))==null?void 0:l[a.note.pitch])>0?1:.4),onMousedown:e[0]||(e[0]=o=>v()),onTouchstart:e[1]||(e[1]=o=>v()),onMouseenter:e[2]||(e[2]=o=>a.pressed?v():null),onMouseup:e[3]||(e[3]=o=>f()),onMouseleave:e[4]||(e[4]=o=>f()),onTouchend:e[5]||(e[5]=o=>f()),onTouchcancel:e[6]||(e[6]=o=>f())},null,40,D),m("text",L,T(a.note.name),1)])}}},H=["transform","fill","stroke-width"],J={__name:"TonalArrayTrigger",props:{pressed:Boolean,note:{type:Object,default:()=>{}},chord:{type:Object,default:()=>{}},p:{type:Number,default:0},activeSteps:{type:Array,default:()=>[]}},setup(a){const{midi:$,activeChroma:r}=A(),u=a,c=S(!1),v=h(()=>u.chord.map(o=>o+u.note.pitch)),f=h(()=>{let o=!0;return v.value.map(n=>n>11?n%12:n).forEach(n=>{u.activeSteps[n]!="1"&&(o=!1)}),o}),x=h(()=>{let o=!0;return v.value.map(n=>n>11?n%12:n).forEach(n=>{r.value[n]!="1"&&(o=!1)}),o}),e=h(()=>v.value.map(o=>o+57+12*$.offset));function s(){c.value=!0,j(e.value),I(e.value)}function l(){c.value=!1,C(e.value),R(e.value)}return(o,t)=>(i(),d("polygon",{class:"chord-trigger",style:{"mix-blend-mode":"screen"},transform:"rotate("+60*a.p+")",fill:p(w)(a.note.pitch,c.value||x.value?5:f.value?.5:-2,f.value?1:.2),opacity:1,"stroke-width":f.value?4:.5,stroke:"hsla(0,0%,100%,0.5)",points:"0,0 80,0 80,46.188 40,69.28",onMousedown:t[0]||(t[0]=n=>s()),onMouseenter:t[1]||(t[1]=n=>a.pressed?s():null),onTouchstart:t[2]||(t[2]=n=>s()),onMouseleave:t[3]||(t[3]=n=>l()),onMouseup:t[4]||(t[4]=n=>l()),onTouchend:t[5]||(t[5]=n=>l()),onTouchcancel:t[6]||(t[6]=n=>l())},null,40,H))}},K=["transform"],Q=["fill"],W=["fill"],X={class:"chord-name","text-anchor":"middle",fill:"white",x:80,y:-40},Y={class:"chord-name","text-anchor":"middle",fill:"white",x:80,y:55},Z=["transform"],_=["transform"],ee={__name:"TonalArray",setup(a){const $=[...V].map((e,s)=>({name:e,pitch:s})),r=E({pressed:!1,r:28,dx:80,rowNum:12,colNum:12,rows:[0,9,5,2,10],bgRows:[4,0,9,5,2,10,7],chords:[[0,3,7],[0,3,8],[0,5,8],[0,5,9],[0,4,9],[0,4,7]]}),u=h(()=>{let e=N.chroma.split("").map(Number);return k(e,-N.tonic)}),c=h(()=>r.dx*2*.866),v=h(()=>{let e=[];for(let s=0;s<12;s++)e[s]=$[7*s%12];return e});function f(e){return!u.value[e]||!u.value[(e+4)%12]||!u.value[(e+7)%12]}function x(e){return!u.value[e]||!u.value[(e+3)%12]||!u.value[(e+7)%12]}return(e,s)=>(i(),d("svg",{class:"min-h-80svh max-h-100svh",id:"tonal-array",viewBox:"-80 -110 1040 770",version:"1.1",baseProfile:"full",xmlns:"http://www.w3.org/2000/svg",style:{"touch-action":"none"},onTouchstart:s[1]||(s[1]=b(l=>r.pressed=!0,["stop","prevent"])),onTouchend:s[2]||(s[2]=b(l=>r.pressed=!1,["stop","prevent"])),onMousedown:s[3]||(s[3]=b(l=>r.pressed=!0,["stop","prevent"])),onMouseup:s[4]||(s[4]=b(l=>r.pressed=!1,["stop","prevent"])),onMouseleave:s[5]||(s[5]=l=>r.pressed=!1)},[s[6]||(s[6]=m("clipPath",{id:"grid-mask"},[m("rect",{x:-80,y:-110,width:1040,height:770})],-1)),(i(!0),d(y,null,g(r.bgRows,(l,o)=>(i(),d("g",{key:l,"clip-path":"url(#grid-mask)"},[(i(!0),d(y,null,g(p(k)(v.value,l-1).splice(0,7),(t,n)=>(i(),d("g",{key:t,transform:`translate(${(n-1)*2*r.dx+(o+1)%2*r.dx}, ${(o-1)*c.value})`},[m("polygon",{class:"chord-triangle",fill:x(t.pitch)?p(w)(t.pitch,1,.2):p(w)(t.pitch,3),points:"0,0 160,0 80,138.56"},null,8,Q),m("polygon",{class:"chord-triangle major",fill:f(t.pitch)?p(w)(t.pitch,1,.2):p(w)(t.pitch,2),points:"0,0 160,0 80,-138.56"},null,8,W),m("text",X,T(t.name)+"M",1),m("text",Y,T(t.name)+"m",1)],8,K))),128))]))),128)),(i(!0),d(y,null,g(r.rows,(l,o)=>(i(),d("g",{class:"cursor-crosshair",key:o},[(i(!0),d(y,null,g(p(k)(v.value,l).splice(0,7),(t,n)=>(i(),d("g",{key:t,transform:`translate(${n*2*r.dx+o%2*r.dx}, ${o*c.value})`},[(i(!0),d(y,null,g(r.chords,(M,B)=>(i(),F(J,{key:B,"active-steps":u.value,chord:M,p:B,note:t,pressed:r.pressed},null,8,["active-steps","chord","p","note","pressed"]))),128))],8,Z))),128))]))),128)),(i(!0),d(y,null,g(r.rows,(l,o)=>(i(),d("g",{key:o},[(i(!0),d(y,null,g(p(k)(v.value,l).splice(0,6),(t,n)=>(i(),d("g",{key:n,transform:"translate("+(n*2*r.dx+o%2*r.dx)+","+o*c.value+")"},[q(U,{pressed:r.pressed,"onUpdate:pressed":s[0]||(s[0]=M=>r.pressed=M),available:!!u.value[t.pitch],tonic:p(N).tonic,note:t,r:r.r},null,8,["pressed","available","tonic","note","r"])],8,_))),128))]))),128))],32))}},oe=P(ee,[["__scopeId","data-v-bd27fa1f"]]);export{oe as default}; diff --git a/assets/chunks/ToolsList.DfkHEc3_.js b/assets/chunks/ToolsList.OgpJXi2R.js similarity index 94% rename from assets/chunks/ToolsList.DfkHEc3_.js rename to assets/chunks/ToolsList.OgpJXi2R.js index 937f05a003..fa06f68c08 100644 --- a/assets/chunks/ToolsList.DfkHEc3_.js +++ b/assets/chunks/ToolsList.OgpJXi2R.js @@ -1 +1 @@ -import{q as d,x as t,y as a,F as n,B as i,A as s,I as _,G as r}from"./framework.BR0mAPCP.js";const l={class:"flex flex-wrap gap-8 max-w-60ch p-4"},o=["href"],p={key:0,class:"p-0 flex items-start",style:{flex:"0 0 180px"}},h=["src"],x={class:"flex flex-col gap-2 p-2",style:{flex:"1 1 160px"}},f={class:"text-xl font-bold"},m={class:"text-xs opacity-50 hover-opacity-100 transition"},u={class:"text-sm"},g={__name:"ToolsList",props:{data:{type:Object,default:()=>({})}},setup(c){return(v,b)=>(t(),a("div",l,[(t(!0),a(n,null,i(c.data,e=>(t(),a("a",{class:"no-underline p-2 flex flex-wrap gap-2 bg-light-200 hover-bg-light-100 shadow-md hover-shadow-lg dark-bg-dark-300 dark-hover-bg-dark-400 rounded border-1 dark-border-dark-100 w-full",key:e,href:e.url,target:"_blank",flex:"1 1 100px"},[e!=null&&e.cover?(t(),a("div",p,[s("img",{style:{margin:"0"},src:`https://db.chromatone.center/assets/${e==null?void 0:e.cover}?quality=70&width=600&format=webp`},null,8,h)])):_("",!0),s("div",x,[s("div",f,r(e.title),1),s("div",m,r(e.url),1),s("div",u,r(e.description),1)])],8,o))),128))]))}},y=d(g,[["__scopeId","data-v-5fd4dc8e"]]);export{y as _}; +import{q as d,x as t,y as a,F as n,B as i,A as s,I as _,G as r}from"./framework.CQBrk0Ry.js";const l={class:"flex flex-wrap gap-8 max-w-60ch p-4"},o=["href"],p={key:0,class:"p-0 flex items-start",style:{flex:"0 0 180px"}},h=["src"],x={class:"flex flex-col gap-2 p-2",style:{flex:"1 1 160px"}},f={class:"text-xl font-bold"},m={class:"text-xs opacity-50 hover-opacity-100 transition"},u={class:"text-sm"},g={__name:"ToolsList",props:{data:{type:Object,default:()=>({})}},setup(c){return(v,b)=>(t(),a("div",l,[(t(!0),a(n,null,i(c.data,e=>(t(),a("a",{class:"no-underline p-2 flex flex-wrap gap-2 bg-light-200 hover-bg-light-100 shadow-md hover-shadow-lg dark-bg-dark-300 dark-hover-bg-dark-400 rounded border-1 dark-border-dark-100 w-full",key:e,href:e.url,target:"_blank",flex:"1 1 100px"},[e!=null&&e.cover?(t(),a("div",p,[s("img",{style:{margin:"0"},src:`https://db.chromatone.center/assets/${e==null?void 0:e.cover}?quality=70&width=600&format=webp`},null,8,h)])):_("",!0),s("div",x,[s("div",f,r(e.title),1),s("div",m,r(e.url),1),s("div",u,r(e.description),1)])],8,o))),128))]))}},y=d(g,[["__scopeId","data-v-5fd4dc8e"]]);export{y as _}; diff --git a/assets/chunks/Words.CQ45KHQH.js b/assets/chunks/Words.DGYddb9x.js similarity index 78% rename from assets/chunks/Words.CQ45KHQH.js rename to assets/chunks/Words.DGYddb9x.js index 62c95f11c1..9fcb01586b 100644 --- a/assets/chunks/Words.CQ45KHQH.js +++ b/assets/chunks/Words.DGYddb9x.js @@ -1 +1 @@ -import{c,aa as A,r as P,o as B,_ as L,x as r,y as u,A as a,au as m,G as n,I as O,E as I,F as x,B as g,H as F}from"./framework.BR0mAPCP.js";import{aS as M,aT as R,g as T,D as j,aV as z,V as U,e as G}from"./theme.ClagsQLu.js";const H={class:"flex flex-col gap-4 p-2"},Y={class:"text-2xl flex gap-2"},J={key:0,class:"p-0"},K={class:"flex is-group"},Q={class:"op-50 text-sm font-mono"},X={class:"text-2xl"},Z={class:"flex gap-2"},ee={class:"text-xl"},te={class:"flex gap-2 is-group p-2"},se={class:"op-50"},oe={class:"flex flex-wrap gap-2 is-group p-2"},ae={class:"op-30"},ne={class:"op-50"},ce={__name:"Words",setup(le){const h=["e","i","a","o","u","y"],y=["b","c","d","f","g","h","j","k","l","m","n","p","q","r","s","t","v","w","x","y","z"],k=c(()=>M([-7,8]).map(R(T.full.name))),i=A([]),w=P(!1),v=j(0,0,()=>i.value.length),_=c(()=>i.value[v.value]),V=c(()=>N(_.value)),p=c(()=>S(h)),q=c(()=>h.toSorted((o,e)=>p.value[o]>=p.value[e]?-1:1)),f=c(()=>S(y)),E=c(()=>y.toSorted((o,e)=>f.value[o]>=f.value[e]?-1:1)),D=c(()=>{const o=z();let e=k.value.map((s,t)=>({time:t/4,duration:"32n",note:s})),l=new U((s,t)=>{o.schedule(()=>{G(t.note,t.duration)},s)},e).start("0");return l.loop=!0,l.loopStart=0,l.loopEnd="4m",l});B(async()=>{let{default:o}=await L(async()=>{const{default:e}=await import("./index.FVA3GufJ.js");return{default:e}},[]);i.value=o,w.value=!0,b()});function b(){v.value=Math.floor(Math.random()*i.value.length)}function S(o){const e={};o.forEach(s=>e[s]=0),i.value.forEach(s=>{for(let t of s)t in e&&e[t]++});let l=Object.values(e).reduce((s,t)=>s+t,0);for(let s in e)e[s]=e[s]/l;return e}function N(o){if(!o)return[];const e=/(?[^aeiouy]?)(?[aeiouy]*)/g;return Array.from(o.matchAll(e)).reduce((s,t)=>{const d=t.groups.consonant,C=t.groups.vowel;return(d||C)&&s.push([d||"",C||""]),s},[])}const W=speechSynthesis.getVoices();function $(){const o=new SpeechSynthesisUtterance(_.value);o.voice=W[0],speechSynthesis.speak(o)}return(o,e)=>{var l,s;return r(),u("div",H,[a("div",Y,[m("WORDS "+n(D.value),1),w.value?O("",!0):(r(),u("div",J,"Loading..."))]),a("div",K,[a("button",{class:"text-button",onClick:e[0]||(e[0]=t=>v.value--)},"Prev"),a("button",{class:"text-button",onClick:e[1]||(e[1]=t=>b())},"Pick random"),a("button",{class:"text-button",onClick:e[2]||(e[2]=t=>$())},"SAY"),a("button",{class:"text-button",onClick:e[3]||(e[3]=t=>v.value++)},"Next")]),a("div",Q,n(I(v))+"/"+n((l=i.value)==null?void 0:l.length),1),a("div",X,n(_.value),1),a("div",Z,[(r(!0),u(x,null,g(V.value,t=>(r(),u("div",{class:"p-0 flex gap-2px",key:t},[(r(!0),u(x,null,g(t,d=>(r(),u("div",{class:"p-0",key:d},n(d),1))),128))]))),128))]),e[4]||(e[4]=a("hr",null,null,-1)),a("div",ee,"Letter frequencies in all "+n((s=i.value)==null?void 0:s.length)+" words",1),a("div",te,[(r(!0),u(x,null,g(q.value,t=>(r(),u("div",{class:"bg-light-100 dark-bg-dark-200 p-1 text-md",key:t,style:F({flex:`${p.value[t]}`})},[m(n(t.toUpperCase())+" ",1),a("div",se,n((p.value[t]*100).toFixed())+"%",1)],4))),128))]),a("div",oe,[(r(!0),u(x,null,g(E.value,(t,d)=>(r(),u("div",{class:"p-1 bg-light-100 dark-bg-dark-200",key:t,style:F({flex:`${(f.value[t]*1e3).toFixed(1)}`})},[m(n(t)+" ",1),a("div",ae,n(k.value[d]),1),a("div",ne,n((f.value[t]*100).toFixed(1))+"%",1)],4))),128))])])}}};export{ce as default}; +import{c,aa as A,r as P,o as B,_ as L,x as r,y as u,A as a,au as m,G as n,I as O,E as I,F as x,B as g,H as F}from"./framework.CQBrk0Ry.js";import{aU as M,aV as R,g as U,D as j,aX as z,V as T,e as G}from"./theme.Dd_Fb62b.js";const H={class:"flex flex-col gap-4 p-2"},X={class:"text-2xl flex gap-2"},Y={key:0,class:"p-0"},J={class:"flex is-group"},K={class:"op-50 text-sm font-mono"},Q={class:"text-2xl"},Z={class:"flex gap-2"},ee={class:"text-xl"},te={class:"flex gap-2 is-group p-2"},se={class:"op-50"},oe={class:"flex flex-wrap gap-2 is-group p-2"},ae={class:"op-30"},ne={class:"op-50"},ce={__name:"Words",setup(le){const h=["e","i","a","o","u","y"],y=["b","c","d","f","g","h","j","k","l","m","n","p","q","r","s","t","v","w","x","y","z"],k=c(()=>M([-7,8]).map(R(U.full.name))),i=A([]),w=P(!1),v=j(0,0,()=>i.value.length),_=c(()=>i.value[v.value]),V=c(()=>N(_.value)),p=c(()=>S(h)),q=c(()=>h.toSorted((o,e)=>p.value[o]>=p.value[e]?-1:1)),f=c(()=>S(y)),E=c(()=>y.toSorted((o,e)=>f.value[o]>=f.value[e]?-1:1)),D=c(()=>{const o=z();let e=k.value.map((s,t)=>({time:t/4,duration:"32n",note:s})),l=new T((s,t)=>{o.schedule(()=>{G(t.note,t.duration)},s)},e).start("0");return l.loop=!0,l.loopStart=0,l.loopEnd="4m",l});B(async()=>{let{default:o}=await L(async()=>{const{default:e}=await import("./index.FVA3GufJ.js");return{default:e}},[]);i.value=o,w.value=!0,b()});function b(){v.value=Math.floor(Math.random()*i.value.length)}function S(o){const e={};o.forEach(s=>e[s]=0),i.value.forEach(s=>{for(let t of s)t in e&&e[t]++});let l=Object.values(e).reduce((s,t)=>s+t,0);for(let s in e)e[s]=e[s]/l;return e}function N(o){if(!o)return[];const e=/(?[^aeiouy]?)(?[aeiouy]*)/g;return Array.from(o.matchAll(e)).reduce((s,t)=>{const d=t.groups.consonant,C=t.groups.vowel;return(d||C)&&s.push([d||"",C||""]),s},[])}const W=speechSynthesis.getVoices();function $(){const o=new SpeechSynthesisUtterance(_.value);o.voice=W[0],speechSynthesis.speak(o)}return(o,e)=>{var l,s;return r(),u("div",H,[a("div",X,[m("WORDS "+n(D.value),1),w.value?O("",!0):(r(),u("div",Y,"Loading..."))]),a("div",J,[a("button",{class:"text-button",onClick:e[0]||(e[0]=t=>v.value--)},"Prev"),a("button",{class:"text-button",onClick:e[1]||(e[1]=t=>b())},"Pick random"),a("button",{class:"text-button",onClick:e[2]||(e[2]=t=>$())},"SAY"),a("button",{class:"text-button",onClick:e[3]||(e[3]=t=>v.value++)},"Next")]),a("div",K,n(I(v))+"/"+n((l=i.value)==null?void 0:l.length),1),a("div",Q,n(_.value),1),a("div",Z,[(r(!0),u(x,null,g(V.value,t=>(r(),u("div",{class:"p-0 flex gap-2px",key:t},[(r(!0),u(x,null,g(t,d=>(r(),u("div",{class:"p-0",key:d},n(d),1))),128))]))),128))]),e[4]||(e[4]=a("hr",null,null,-1)),a("div",ee,"Letter frequencies in all "+n((s=i.value)==null?void 0:s.length)+" words",1),a("div",te,[(r(!0),u(x,null,g(q.value,t=>(r(),u("div",{class:"bg-light-100 dark-bg-dark-200 p-1 text-md",key:t,style:F({flex:`${p.value[t]}`})},[m(n(t.toUpperCase())+" ",1),a("div",se,n((p.value[t]*100).toFixed())+"%",1)],4))),128))]),a("div",oe,[(r(!0),u(x,null,g(E.value,(t,d)=>(r(),u("div",{class:"p-1 bg-light-100 dark-bg-dark-200",key:t,style:F({flex:`${(f.value[t]*1e3).toFixed(1)}`})},[m(n(t)+" ",1),a("div",ae,n(k.value[d]),1),a("div",ne,n((f.value[t]*100).toFixed(1))+"%",1)],4))),128))])])}}};export{ce as default}; diff --git a/assets/chunks/ZzFxm.DSSjrhgI.js b/assets/chunks/ZzFxm.akgKHw0h.js similarity index 99% rename from assets/chunks/ZzFxm.DSSjrhgI.js rename to assets/chunks/ZzFxm.akgKHw0h.js index 8cd08d1cb9..817de6a987 100644 --- a/assets/chunks/ZzFxm.DSSjrhgI.js +++ b/assets/chunks/ZzFxm.akgKHw0h.js @@ -1,2 +1,2 @@ -import{r as A,M as X,x as d,y as p,A as a,F as w,B as D,C as L,au as Z,G as N,ag as E}from"./framework.BR0mAPCP.js";const G=(...b)=>{let m=R.createBufferSource(),t=R.createBuffer(b.length,b[0].length,v);return b.map((r,c)=>t.getChannelData(c).set(r)),m.buffer=t,m.connect(R.destination),m.start(),m},j=(b=1,m=.05,t=220,r=0,c=0,g=.1,k=0,y=1,n=0,e=0,u=0,s=0,l=0,h=0,f=0,_=0,i=0,S=1,T=0,P=0)=>{let x=2*Math.PI,F=n*=500*x/v**2,I=(0o?0:(os&&(t+=u,U+=u,z=0),!l||++H%l||(t=U,n=F,z=z||1);return V},K=.3,v=44100,R=new(window.AudioContext||webkitAudioContext),Q=(b,m,t,r=125)=>{let c,g,k,y,n,e,u,s,l,h,f,_,i,S=0,T,P=[],x=[],F=[],I=0,U=0,V=1,M={},B=v/r*60>>2;for(;V;I++)P=[V=s=_=0],t.map((o,z)=>{for(u=m[o][I]||[0,0,0],V|=!!m[o][I],T=_+(m[o][0].length-2-!s)*B,i=z==t.length-1,g=2,y=_;gB-99&&l?f+=(f<1)/99:0)e=(1-f)*P[S++]/2||0,x[y]=(x[y]||0)-e*U+e,F[y]=(F[y++]||0)+e*U+e;n&&(f=n%1,U=u[1]||0,(n|=0)&&(P=M[[h=u[S=0]||0,n]]=M[[h,n]]||(c=[...b[h]],c[2]*=2**((n-12)/12),n>0?j(...c):[])))}_=T});return[x,F]},Y=` +import{r as A,M as X,x as d,y as p,A as a,F as w,B as D,C as L,au as Z,G as N,ag as E}from"./framework.CQBrk0Ry.js";const G=(...b)=>{let m=R.createBufferSource(),t=R.createBuffer(b.length,b[0].length,v);return b.map((r,c)=>t.getChannelData(c).set(r)),m.buffer=t,m.connect(R.destination),m.start(),m},j=(b=1,m=.05,t=220,r=0,c=0,g=.1,k=0,y=1,n=0,e=0,u=0,s=0,l=0,h=0,f=0,_=0,i=0,S=1,T=0,P=0)=>{let x=2*Math.PI,F=n*=500*x/v**2,I=(0o?0:(os&&(t+=u,U+=u,z=0),!l||++H%l||(t=U,n=F,z=z||1);return V},K=.3,v=44100,R=new(window.AudioContext||webkitAudioContext),Q=(b,m,t,r=125)=>{let c,g,k,y,n,e,u,s,l,h,f,_,i,S=0,T,P=[],x=[],F=[],I=0,U=0,V=1,M={},B=v/r*60>>2;for(;V;I++)P=[V=s=_=0],t.map((o,z)=>{for(u=m[o][I]||[0,0,0],V|=!!m[o][I],T=_+(m[o][0].length-2-!s)*B,i=z==t.length-1,g=2,y=_;gB-99&&l?f+=(f<1)/99:0)e=(1-f)*P[S++]/2||0,x[y]=(x[y]||0)-e*U+e,F[y]=(F[y++]||0)+e*U+e;n&&(f=n%1,U=u[1]||0,(n|=0)&&(P=M[[h=u[S=0]||0,n]]=M[[h,n]]||(c=[...b[h]],c[2]*=2**((n-12)/12),n>0?j(...c):[])))}_=T});return[x,F]},Y=` [[[, 0, 22, , .07, .07, 2, 0, , , .5, .01], [2, 0, 426, .01, .2, .48, , 44, , , 200, , , .1], [2, 0, 426, , .02, .2, , 44, , , 200, , , .1], [, 0, 84, , , , , .7, , , , .5, , 6.7, 1, .05], [2, 0, 4e3, , , .03, 2, 1.25, , , , , .02, 6.8, -.3, , .5], [, 0, 209, , .02, .25, 3], [, 0, 655, , , .09, 3, 1.65, , , , , .02, 3.8, -.1, , .2]], [[[, -1, 22, , , , 22, , , , 22, , 17, , 20, , 22, , , , 22, , 20, , , , 22, , 20, , 17, , 22, , 20, , , , 20, , , , 20, , 17, , 20, , 20, , , , 20, , 17, , , , 20, , 17, , 20, , 22, ,]], [[, -1, 15, , , , 15, , , , 15, , 15, , 15, , 15, , , , 15, , 15, , , , 15, , 15, , 17, , 20, , 22, , , , 22, , , , 22, , 17, , 20, , 22, , , , , , , , , , , , 17, , 20, , 17, ,]], [[, -1, 22, , , , 22, , , , 22, , 17, , 20, , 22, , , , 22, , 20, , , , 22, , 20, , 17, , 22, , 20, , , , 20, , , , 20, , 17, , 20, , 20, , , , 20, , 17, , , , 20, , 17, , 20, , 22, ,], [1, 1, 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,], [2, 1, , , , , , , , , , , 34.5, , , , , , 34, , , , , , 34.5, , , , , , 34.5, , 34, , , , , , , , , , , , 34.5, , , , , , 34, , , , , , 34.5, , , , , , 34.5, , 34, ,]], [[, -1, 15, , , , 15, , , , 15, , 15, , 15, , 15, , , , 15, , 15, , , , 15, , 15, , 17, , 20, , 22, , , , 22, , , , 22, , 17, , 20, , 22, , , , , , , , , , , , 17, , 20, , 17, ,], [1, 1, 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,], [2, 1, , , , , , , , , , , 34.5, , , , , , 34, , , , , , 34.5, , , , , , 34.5, , 34, , , , , , , , , , , , 34.5, , , , , , 34, , , , , , 34.5, , , , , , 34.5, , 34.5, ,]], [[, -1, 22, , , , 22, , , , 22, , 17, , 20, , 22, , , , 22, , 20, , , , 22, , 20, , 17, , 22, , 20, , , , 20, , , , 20, , 17, , 20, , 20, , , , 20, , 17, , , , 20, , 17, , 20, , 22, ,], [3, -1, 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , , 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , ,], [1, 1, 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,], [4, -1, , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, , , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, ,], [6, -1, , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , ,], [2, 1, , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, , , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, ,]], [[, -1, 15, , , , 15, , , , 15, , 15, , 15, , 15, , , , 15, , 15, , , , 15, , 15, , 17, , 20, , 22, , , , 22, , , , 22, , 17, , 20, , 22, , , , , , , , , , , , 17, , 20, , 17, ,], [3, -1, 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , , 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , ,], [1, 1, 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,], [4, -1, , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, , , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, ,], [6, -1, , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , ,], [2, 1, , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, , , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, ,]], [[, -1, 22, , , , 22, , , , 22, , 17, , 20, , 22, , , , 22, , 20, , , , 22, , 20, , 17, , 22, , 20, , , , 20, , , , 20, , 17, , 20, , 20, , , , 20, , 17, , , , 20, , 17, , 20, , 22, ,], [5, 1, 22.5, , , , 22.5, , , , 22.5, , 22.5, , , , 22.5, , , , 22.5, , , , 22.5, , 22.5, , , , 22.5, , 22.5, , 20.5, , , , 20.5, , , , 20.5, , 20.5, , , , 20.5, , , , 20.5, , , , 20.5, , 20.5, , , , 20.5, , 20.5, ,], [3, -1, 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , , 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , ,], [1, 1, 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,], [4, -1, , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, , , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, ,], [6, -1, , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , ,], [2, 1, , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, , , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, ,]], [[, -1, 15, , , , 15, , , , 15, , 15, , 15, , 15, , , , 15, , 15, , , , 15, , 15, , 17, , 20, , 22, , , , 22, , , , 22, , 17, , 20, , 22, , , , , , , , , , , , 17, , 20, , 17, ,], [5, 1, 27.5, , , , 27.5, , , , 27.5, , 27.5, , , , 27.5, , , , 27.5, , , , 27.5, , 27.5, , , , 27.5, , 27.5, , 22.5, , , , 22.5, , , , 22.5, , 22.5, , , , 22.5, , , , 22.5, , , , 22.5, , 22.5, , , , 22.5, , 22.5, ,], [3, -1, 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , , 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , ,], [1, 1, 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,], [4, -1, , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, , , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, ,], [6, -1, , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , ,], [2, 1, , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, , , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, ,]], [[, -1, 22, , , , 22, , , , 22, , 17, , 20, , 22, , , , 22, , 20, , , , 22, , 20, , 17, , 22, , 20, , , , 20, , , , 20, , 17, , 20, , 20, , , , 20, , 17, , , , 20, , 17, , 20, , 22, ,], [5, 1, 10, , 13, , , , 15, , 17, , , , 20, , 22, , , , 20, , , , 17, , 22, , 22, , 17, , 20, , , , , , , , , , , , , , , , , , , , , , 20, , 17, , 20, , 22, , 25, , 27, ,], [3, -1, 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , , 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , ,], [1, 1, 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,], [4, -1, , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, , , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, ,], [6, -1, , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , ,], [2, 1, , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, , , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, ,]], [[, -1, 15.26, , , , 15.26, , , , 15.26, , 15.26, , 15.26, , 15.26, , , , 15.26, , 15.26, , , , 15.26, , 15.26, , 17.26, , 20.26, , 22.26, , , , 22.26, , , , 22.26, , 17.26, , 20.26, , 22.26, , , , , , , , , , , , 17.26, , 20.26, , 17.26, ,], [3, -1, 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , , 25, , , , , , 25, , , , , , 25, , , , , , , , 25, , , , , , , , , , , ,], [1, 1, 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 34.5, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,], [5, 1, , , 27, , 25, , , , 27, , , , 25, , 27, , , , 25, , 22, , 20, , 22, , , , 18, , 20, , 22, , , , 22, , , , 22, , , , 22, , , , 25, , 22, , , , 25, , , , 22, , 25, , 22, ,], [4, -1, , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, , , , 32, , 32, , , , , , 32, , , , 32, , 32, , 32, , , , 32, , , , 32, , 32, , 32, ,], [6, -1, , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , , , , , , , , , , 25, , , , , , , ,], [2, 1, , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, , , , , , , , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , , , , , 34.5, , 34.5, ,]]], [0, 1, 2, 3, 4, 5, 4, 5, 6, 7, 6, 7, 8, 9, 8, 9, 6, 7, 6, 7, 0, 8, 9, 8, 9, 6, 7, 6, 7], 187.5, { "title": "Cuddly Demos - Main Menu", "notes": "This is a conversion of the main menu tune from the Atari ST demo 'The Cuddly Demos', by The Carebears. The original was composed by Jochen Hippel (aka. MadMax). This pattern data was taken from a MOD file - I have no idea who converted it." }]`,q={class:"p-5 flex flex-col mt-20"},W={class:"flex items-center gap-2 p-4 sticky top-12 backdrop-blur-xl self-start"},e2={class:"flex flex-col gap-2"},t2={class:"p-4 flex flex-col gap-2 overflow-x-scroll"},l2={class:"p-0 flex gap-1"},a2=["title"],s2=["onUpdate:modelValue"],n2={class:"p-2 flex flex-col gap-4"},o2=["onUpdate:modelValue"],i2={class:"p-2 flex flex-col gap-2"},r2={class:"flex gap-1 overflow-x-scroll py-2"},u2=["onUpdate:modelValue"],d2={class:"p-2 flex flex-col gap-2"},p2={class:"p-2 flex flex-col gap-2"},c2={class:"flex flex-col gap-4"},f2={class:"text-lg capitalize"},x2=["onUpdate:modelValue"],m2={__name:"ZzFxm",setup(b){const m={volume:"VOL",randomness:"RND",frequency:"FRQ",attack:"ATT",sustain:"SUS",release:"REL",shape:"SHP",shapeCurve:"SHC",slide:"SLI",deltaSlide:"DLS",pitchJump:"PJM",pitchJumpTime:"PJT",repeatTime:"RPT",noise:"NOI",modulation:"MOD",bitCrush:"BIT",delay:"DEL",sustainVolume:"SUV",decay:"DEC",tremolo:"TRM"},t=A(y(Y)),r=A(!1);let c;async function g(){if(r.value)return;let n=Q(...t.value);c=G(...n),c.loop=!0,await R.resume(),r.value=!0}async function k(){r.value&&(c.stop(),c.disconnect(),c=null,await R.suspend(),r.value=!1)}function y(n){return n=n.replace(/,\s*(?=[,\]])/g,",null").replace(new RegExp("(?<=\\[)\\s*,","g"),"null,"),n=n.replace(/(\D)\.(\d)/g,"$10.$2"),JSON.parse(n,(e,u)=>{if(u!==null)return u})}return(n,e)=>{const u=X("tooltip");return d(),p("div",q,[a("div",W,[e[3]||(e[3]=a("a",{class:"text-4xl",href:"https://github.com/keithclark/ZzFXM",target:"_blank"},"FXM",-1)),a("button",{class:"text-button p-8 text-xl",onClick:e[0]||(e[0]=s=>g())},"PLAY"),a("button",{class:"text-button p-8 text-xl",onClick:e[1]||(e[1]=s=>k())},"STOP")]),a("div",e2,[a("div",t2,[e[4]||(e[4]=a("div",{class:"text-xl sticky left-0"},"Instrument list",-1)),a("div",l2,[(d(),p(w,null,D(m,(s,l)=>a("div",{class:"p-0",key:s},[L((d(),p("div",{class:"text-center text-sm dark-bg-dark-8 py-1 rounded-lg w-10",title:l},[Z(N(s),1)],8,a2)),[[u,l]])])),64))]),(d(!0),p(w,null,D(t.value[0],(s,l)=>(d(),p("div",{class:"p-0 flex gap-1",key:s},[(d(),p(w,null,D(20,(h,f)=>a("div",{class:"p-0",key:h},[L(a("input",{class:"text-center text-sm dark-bg-dark-8 py-1 rounded-lg w-10","onUpdate:modelValue":_=>t.value[0][l][f]=_},null,8,s2),[[E,t.value[0][l][f]]])])),64))]))),128))]),a("div",n2,[e[5]||(e[5]=a("div",{class:"text-xl"},"Pattern list",-1)),(d(!0),p(w,null,D(t.value[1],(s,l)=>(d(),p("div",{class:"flex gap-1 flex-col overflow-x-scroll py-2",key:l},[(d(!0),p(w,null,D(s,(h,f)=>(d(),p("div",{class:"p-0 flex gap-1",key:f},[(d(!0),p(w,null,D(h,(_,i)=>(d(),p("div",{class:"p-0",key:i},[L(a("input",{class:"text-center text-sm dark-bg-dark-8 py-1 rounded-lg w-10","onUpdate:modelValue":S=>t.value[1][l][f][i]=S},null,8,o2),[[E,t.value[1][l][f][i]]])]))),128))]))),128))]))),128))]),a("div",i2,[e[6]||(e[6]=a("div",{class:"text-xl"},"Sequence",-1)),a("div",r2,[(d(!0),p(w,null,D(t.value[2],s=>L((d(),p("input",{class:"text-center text-sm dark-bg-dark-8 py-1 rounded-lg w-10",key:s,"onUpdate:modelValue":l=>t.value[2][s]=l},null,8,u2)),[[E,t.value[2][s]]])),128))])]),a("div",d2,[e[7]||(e[7]=a("div",{class:"text-xl"},"Speed",-1)),L(a("input",{class:"dark-bg-dark-8 p-2 rounded-lg","onUpdate:modelValue":e[2]||(e[2]=s=>t.value[3]=s)},null,512),[[E,t.value[3]]])]),a("div",p2,[e[8]||(e[8]=a("div",{class:"text-xl"},"Metadata ",-1)),a("div",c2,[(d(!0),p(w,null,D(t.value[4],(s,l)=>(d(),p("div",{class:"p-0 flex gap-2",key:l},[a("div",f2,N(l)+":",1),L(a("input",{"onUpdate:modelValue":h=>t.value[4][l]=h},null,8,x2),[[E,t.value[4][l]]])]))),128))])])])])}}};export{m2 as default}; diff --git a/assets/chunks/fraction.TqTz4TU4.js b/assets/chunks/fraction.TqTz4TU4.js new file mode 100644 index 0000000000..798893a338 --- /dev/null +++ b/assets/chunks/fraction.TqTz4TU4.js @@ -0,0 +1 @@ +typeof BigInt>"u"&&(BigInt=function(t){if(isNaN(t))throw new Error("");return t});const o=BigInt(0),h=BigInt(1),E=BigInt(2),D=BigInt(5),B=BigInt(10),M=2e3,s={s:h,n:o,d:h};function y(t,n){try{t=BigInt(t)}catch{throw N()}return t*n}function m(t){return typeof t=="bigint"?t:Math.floor(t)}function g(t,n){if(n===o)throw k();const i=Object.create(F.prototype);i.s=t1&&(n[i]=(n[i]||o)+h):n[t]=(n[t]||o)+h,n}const I=function(t,n){let i=o,e=h,f=h;if(t!=null)if(n!==void 0){if(typeof t=="bigint")i=t;else{if(isNaN(t))throw N();if(t%1!==0)throw L();i=BigInt(t)}if(typeof n=="bigint")e=n;else{if(isNaN(n))throw N();if(n%1!==0)throw L();e=BigInt(n)}f=i*e}else if(typeof t=="object"){if("d"in t&&"n"in t)i=BigInt(t.n),e=BigInt(t.d),"s"in t&&(i*=BigInt(t.s));else if(0 in t)i=BigInt(t[0]),1 in t&&(e=BigInt(t[1]));else if(typeof t=="bigint")i=t;else throw N();f=i*e}else if(typeof t=="number"){if(isNaN(t))throw N();if(t<0&&(f=-h,t=-t),t%1===0)i=BigInt(t);else if(t>0){let r=1,l=0,d=1,a=1,c=1,w=1e7;for(t>=1&&(r=10**Math.floor(1+Math.log10(t)),t/=r);d<=w&&c<=w;){let u=(l+a)/(d+c);if(t===u){d+c<=w?(i=l+a,e=d+c):c>d?(i=a,e=c):(i=l,e=d);break}else t>u?(l+=a,d+=c):(a+=l,c+=d),d>w?(i=a,e=c):(i=l,e=d)}i=BigInt(i)*BigInt(r),e=BigInt(e)}}else if(typeof t=="string"){let r=0,l=o,d=o,a=o,c=h,w=h,u=t.replace(/_/g,"").match(/\d+|./g);if(u===null)throw N();if(u[r]==="-"?(f=-h,r++):u[r]==="+"&&r++,u.length===r+1?d=y(u[r++],f):u[r+1]==="."||u[r]==="."?(u[r]!=="."&&(l=y(u[r++],f)),r++,(r+1===u.length||u[r+1]==="("&&u[r+3]===")"||u[r+1]==="'"&&u[r+3]==="'")&&(d=y(u[r],f),c=B**BigInt(u[r].length),r++),(u[r]==="("&&u[r+2]===")"||u[r]==="'"&&u[r+2]==="'")&&(a=y(u[r+1],f),w=B**BigInt(u[r+1].length)-h,r+=3)):u[r+1]==="/"||u[r+1]===":"?(d=y(u[r],f),c=y(u[r+2],h),r+=3):u[r+3]==="/"&&u[r+1]===" "&&(l=y(u[r],f),d=y(u[r+2],f),c=y(u[r+4],h),r+=5),u.length<=r)e=c*w,f=i=a+e*l+w*d;else throw N()}else if(typeof t=="bigint")i=t,f=t,e=h;else throw N();if(e===o)throw k();s.s=fo;t=t*t%i,n>>=h)n&h&&(e=e*t%i);return e}function T(t,n){for(;n%E===o;n/=E);for(;n%D===o;n/=D);if(n===h)return o;let i=B%n,e=1;for(;i!==h;e++)if(i=i*B%n,e>M)return o;return BigInt(e)}function x(t,n,i){let e=h,f=P(B,i,n);for(let r=0;r<300;r++){if(e===f)return BigInt(r);e=e*B%n,f=f*B%n}return 0}function b(t,n){if(!t)return n;if(!n)return t;for(;;){if(t%=n,!t)return n;if(n%=t,!n)return t}}function F(t,n){if(I(t,n),this instanceof F)t=b(s.d,s.n),this.s=s.s,this.n=s.n/t,this.d=s.d/t;else return g(s.s*s.n,s.d)}var k=function(){return new Error("Division by Zero")},N=function(){return new Error("Invalid argument")},L=function(){return new Error("Parameters must be integer")};F.prototype={s:h,n:o,d:h,abs:function(){return g(this.n,this.d)},neg:function(){return g(-this.s*this.n,this.d)},add:function(t,n){return I(t,n),g(this.s*this.n*s.d+s.s*this.d*s.n,this.d*s.d)},sub:function(t,n){return I(t,n),g(this.s*this.n*s.d-s.s*this.d*s.n,this.d*s.d)},mul:function(t,n){return I(t,n),g(this.s*s.s*this.n*s.n,this.d*s.d)},div:function(t,n){return I(t,n),g(this.s*s.s*this.n*s.d,this.d*s.n)},clone:function(){return g(this.s*this.n,this.d)},mod:function(t,n){if(t===void 0)return g(this.s*this.n%this.d,h);if(I(t,n),o===s.n*this.d)throw k();return g(this.s*(s.d*this.n)%(s.n*this.d),s.d*this.d)},gcd:function(t,n){return I(t,n),g(b(s.n,this.n)*b(s.d,this.d),s.d*this.d)},lcm:function(t,n){return I(t,n),s.n===o&&this.n===o?g(o,h):g(s.n*this.n,b(s.n,this.n)*b(s.d,this.d))},inverse:function(){return g(this.s*this.d,this.n)},pow:function(t,n){if(I(t,n),s.d===h)return s.ss.s*s.n*this.d},gte:function(t,n){return I(t,n),this.s*this.n*s.d>=s.s*s.n*this.d},compare:function(t,n){I(t,n);let i=this.s*this.n*s.d-s.s*s.n*this.d;return(oo&&this.s>=o?h:o),t)},floor:function(t){return t=B**BigInt(t||0),g(m(this.s*t*this.n/this.d)-(t*this.n%this.d>o&&this.s=o?h:o)+E*(t*this.n%this.d)>this.d?h:o),t)},roundTo:function(t,n){I(t,n);const i=this.n*s.d,e=this.d*s.n,f=i%e;let r=m(i/e);return f+f>=e&&r++,g(this.s*r*s.n,s.d)},divisible:function(t,n){return I(t,n),!(!(s.n*this.d)||this.n*s.d%(s.n*this.d))},valueOf:function(){return Number(this.s*this.n)/Number(this.d)},toString:function(t){let n=this.n,i=this.d;t=t||15;let e=T(n,i),f=x(n,i,e),r=this.so&&(e+=f,e+=" ",n%=i),e+=n,e+="/",e+=i}return e},toLatex:function(t){let n=this.n,i=this.d,e=this.so&&(e+=f,n%=i),e+="\\frac{",e+=n,e+="}{",e+=i,e+="}"}return e},toContinued:function(){let t=this.n,n=this.d,i=[];do{i.push(m(t/n));let e=t%n;t=n,n=e}while(t!==h);return i},simplify:function(t){const n=BigInt(1/(t||.001)|0),i=this.abs(),e=i.toContinued();for(let f=1;f=0;d--)r=r.inverse().add(e[d]);let l=r.sub(i);if(l.n*nn in t}const te={},Dt=[],Ye=()=>{},pl=()=>!1,pn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),zs=e=>e.startsWith("onUpdate:"),ue=Object.assign,Js=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ml=Object.prototype.hasOwnProperty,ne=(e,t)=>ml.call(e,t),j=Array.isArray,$t=e=>mn(e)==="[object Map]",Bt=e=>mn(e)==="[object Set]",Sr=e=>mn(e)==="[object Date]",G=e=>typeof e=="function",fe=e=>typeof e=="string",je=e=>typeof e=="symbol",re=e=>e!==null&&typeof e=="object",yi=e=>(re(e)||G(e))&&G(e.then)&&G(e.catch),bi=Object.prototype.toString,mn=e=>bi.call(e),gl=e=>mn(e).slice(8,-1),wi=e=>mn(e)==="[object Object]",Qs=e=>fe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Nt=Xs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},vl=/-(\w)/g,Le=zn(e=>e.replace(vl,(t,n)=>n?n.toUpperCase():"")),yl=/\B([A-Z])/g,nt=zn(e=>e.replace(yl,"-$1").toLowerCase()),Jn=zn(e=>e.charAt(0).toUpperCase()+e.slice(1)),vs=zn(e=>e?`on${Jn(e)}`:""),Ae=(e,t)=>!Object.is(e,t),Fn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},$n=e=>{const t=parseFloat(e);return isNaN(t)?e:t},bl=e=>{const t=fe(e)?Number(e):NaN;return isNaN(t)?e:t};let xr;const Qn=()=>xr||(xr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof _r<"u"?_r:{});function Zn(e){if(j(e)){const t={};for(let n=0;n{if(n){const s=n.split(_l);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function es(e){let t="";if(fe(e))t=e;else if(j(e))for(let n=0;ngn(n,t))}const xi=e=>!!(e&&e.__v_isRef===!0),Al=e=>fe(e)?e:e==null?"":j(e)||re(e)&&(e.toString===bi||!G(e.toString))?xi(e)?Al(e.value):JSON.stringify(e,Ei,2):String(e),Ei=(e,t)=>xi(t)?Ei(e,t.value):$t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[ys(s,i)+" =>"]=r,n),{})}:Bt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ys(n))}:je(t)?ys(t):re(t)&&!j(t)&&!wi(t)?String(t):t,ys=(e,t="")=>{var n;return je(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.12 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Te;class Ol{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Te,!t&&Te&&(this.index=(Te.scopes||(Te.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(Zt){let t=Zt;for(Zt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Qt;){let t=Qt;for(Qt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Mi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ii(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),nr(s),Il(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function $s(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ri(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ri(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===on))return;e.globalVersion=on;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!$s(e)){e.flags&=-3;return}const n=oe,s=Ve;oe=e,Ve=!0;try{Mi(e);const r=e.fn(e._value);(t.version===0||Ae(r,e._value))&&(e._value=r,t.version++)}catch(r){throw t.version++,r}finally{oe=n,Ve=s,Ii(e),e.flags&=-3}}function nr(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)nr(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Il(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ve=!0;const Pi=[];function ht(){Pi.push(Ve),Ve=!1}function pt(){const e=Pi.pop();Ve=e===void 0?!0:e}function Er(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=oe;oe=void 0;try{t()}finally{oe=n}}}let on=0;class Rl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ts{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!oe||!Ve||oe===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==oe)n=this.activeLink=new Rl(oe,this),oe.deps?(n.prevDep=oe.depsTail,oe.depsTail.nextDep=n,oe.depsTail=n):oe.deps=oe.depsTail=n,Fi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=oe.depsTail,n.nextDep=void 0,oe.depsTail.nextDep=n,oe.depsTail=n,oe.deps===n&&(oe.deps=s)}return n}trigger(t){this.version++,on++,this.notify(t)}notify(t){er();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{tr()}}}function Fi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Fi(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Nn=new WeakMap,St=Symbol(""),Ns=Symbol(""),ln=Symbol("");function we(e,t,n){if(Ve&&oe){let s=Nn.get(e);s||Nn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new ts),r.map=s,r.key=n),r.track()}}function Qe(e,t,n,s,r,i){const o=Nn.get(e);if(!o){on++;return}const l=a=>{a&&a.trigger()};if(er(),t==="clear")o.forEach(l);else{const a=j(e),u=a&&Qs(n);if(a&&n==="length"){const c=Number(s);o.forEach((f,p)=>{(p==="length"||p===ln||!je(p)&&p>=c)&&l(f)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),u&&l(o.get(ln)),t){case"add":a?u&&l(o.get("length")):(l(o.get(St)),$t(e)&&l(o.get(Ns)));break;case"delete":a||(l(o.get(St)),$t(e)&&l(o.get(Ns)));break;case"set":$t(e)&&l(o.get(St));break}}tr()}function Pl(e,t){const n=Nn.get(e);return n&&n.get(t)}function Pt(e){const t=ee(e);return t===e?t:(we(t,"iterate",ln),He(e)?t:t.map(_e))}function ns(e){return we(e=ee(e),"iterate",ln),e}const Fl={__proto__:null,[Symbol.iterator](){return ws(this,Symbol.iterator,_e)},concat(...e){return Pt(this).concat(...e.map(t=>j(t)?Pt(t):t))},entries(){return ws(this,"entries",e=>(e[1]=_e(e[1]),e))},every(e,t){return Xe(this,"every",e,t,void 0,arguments)},filter(e,t){return Xe(this,"filter",e,t,n=>n.map(_e),arguments)},find(e,t){return Xe(this,"find",e,t,_e,arguments)},findIndex(e,t){return Xe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Xe(this,"findLast",e,t,_e,arguments)},findLastIndex(e,t){return Xe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Xe(this,"forEach",e,t,void 0,arguments)},includes(...e){return _s(this,"includes",e)},indexOf(...e){return _s(this,"indexOf",e)},join(e){return Pt(this).join(e)},lastIndexOf(...e){return _s(this,"lastIndexOf",e)},map(e,t){return Xe(this,"map",e,t,void 0,arguments)},pop(){return Gt(this,"pop")},push(...e){return Gt(this,"push",e)},reduce(e,...t){return Tr(this,"reduce",e,t)},reduceRight(e,...t){return Tr(this,"reduceRight",e,t)},shift(){return Gt(this,"shift")},some(e,t){return Xe(this,"some",e,t,void 0,arguments)},splice(...e){return Gt(this,"splice",e)},toReversed(){return Pt(this).toReversed()},toSorted(e){return Pt(this).toSorted(e)},toSpliced(...e){return Pt(this).toSpliced(...e)},unshift(...e){return Gt(this,"unshift",e)},values(){return ws(this,"values",_e)}};function ws(e,t,n){const s=ns(e),r=s[t]();return s!==e&&!He(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.value&&(i.value=n(i.value)),i}),r}const Ll=Array.prototype;function Xe(e,t,n,s,r,i){const o=ns(e),l=o!==e&&!He(e),a=o[t];if(a!==Ll[t]){const f=a.apply(e,i);return l?_e(f):f}let u=n;o!==e&&(l?u=function(f,p){return n.call(this,_e(f),p,e)}:n.length>2&&(u=function(f,p){return n.call(this,f,p,e)}));const c=a.call(o,u,s);return l&&r?r(c):c}function Tr(e,t,n,s){const r=ns(e);let i=n;return r!==e&&(He(e)?n.length>3&&(i=function(o,l,a){return n.call(this,o,l,a,e)}):i=function(o,l,a){return n.call(this,o,_e(l),a,e)}),r[t](i,...s)}function _s(e,t,n){const s=ee(e);we(s,"iterate",ln);const r=s[t](...n);return(r===-1||r===!1)&&ir(n[0])?(n[0]=ee(n[0]),s[t](...n)):r}function Gt(e,t,n=[]){ht(),er();const s=ee(e)[t].apply(e,n);return tr(),pt(),s}const Dl=Xs("__proto__,__v_isRef,__isVue"),Li=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(je));function $l(e){je(e)||(e=String(e));const t=ee(this);return we(t,"has",e),t.hasOwnProperty(e)}class Di{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?ql:ki:i?Hi:Ni).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=j(t);if(!r){let a;if(o&&(a=Fl[n]))return a;if(n==="hasOwnProperty")return $l}const l=Reflect.get(t,n,ae(t)?t:s);return(je(n)?Li.has(n):Dl(n))||(r||we(t,"get",n),i)?l:ae(l)?o&&Qs(n)?l:l.value:re(l)?r?Wt(l):ut(l):l}}class $i extends Di{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];if(!this._isShallow){const a=At(i);if(!He(s)&&!At(s)&&(i=ee(i),s=ee(s)),!j(t)&&ae(i)&&!ae(s))return a?!1:(i.value=s,!0)}const o=j(t)&&Qs(n)?Number(n)e,Sn=e=>Reflect.getPrototypeOf(e);function jl(e,t,n){return function(...s){const r=this.__v_raw,i=ee(r),o=$t(i),l=e==="entries"||e===Symbol.iterator&&o,a=e==="keys"&&o,u=r[e](...s),c=n?Hs:t?ks:_e;return!t&&we(i,"iterate",a?Ns:St),{next(){const{value:f,done:p}=u.next();return p?{value:f,done:p}:{value:l?[c(f[0]),c(f[1])]:c(f),done:p}},[Symbol.iterator](){return this}}}}function xn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ul(e,t){const n={get(r){const i=this.__v_raw,o=ee(i),l=ee(r);e||(Ae(r,l)&&we(o,"get",r),we(o,"get",l));const{has:a}=Sn(o),u=t?Hs:e?ks:_e;if(a.call(o,r))return u(i.get(r));if(a.call(o,l))return u(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&we(ee(r),"iterate",St),Reflect.get(r,"size",r)},has(r){const i=this.__v_raw,o=ee(i),l=ee(r);return e||(Ae(r,l)&&we(o,"has",r),we(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,a=ee(l),u=t?Hs:e?ks:_e;return!e&&we(a,"iterate",St),l.forEach((c,f)=>r.call(i,u(c),u(f),o))}};return ue(n,e?{add:xn("add"),set:xn("set"),delete:xn("delete"),clear:xn("clear")}:{add(r){!t&&!He(r)&&!At(r)&&(r=ee(r));const i=ee(this);return Sn(i).has.call(i,r)||(i.add(r),Qe(i,"add",r,r)),this},set(r,i){!t&&!He(i)&&!At(i)&&(i=ee(i));const o=ee(this),{has:l,get:a}=Sn(o);let u=l.call(o,r);u||(r=ee(r),u=l.call(o,r));const c=a.call(o,r);return o.set(r,i),u?Ae(i,c)&&Qe(o,"set",r,i):Qe(o,"add",r,i),this},delete(r){const i=ee(this),{has:o,get:l}=Sn(i);let a=o.call(i,r);a||(r=ee(r),a=o.call(i,r)),l&&l.call(i,r);const u=i.delete(r);return a&&Qe(i,"delete",r,void 0),u},clear(){const r=ee(this),i=r.size!==0,o=r.clear();return i&&Qe(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=jl(r,e,t)}),n}function sr(e,t){const n=Ul(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(ne(n,r)&&r in s?n:s,r,i)}const Bl={get:sr(!1,!1)},Wl={get:sr(!1,!0)},Kl={get:sr(!0,!1)};const Ni=new WeakMap,Hi=new WeakMap,ki=new WeakMap,ql=new WeakMap;function Yl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Gl(e){return e.__v_skip||!Object.isExtensible(e)?0:Yl(gl(e))}function ut(e){return At(e)?e:rr(e,!1,Hl,Bl,Ni)}function Xl(e){return rr(e,!1,Vl,Wl,Hi)}function Wt(e){return rr(e,!0,kl,Kl,ki)}function rr(e,t,n,s,r){if(!re(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=Gl(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function xt(e){return At(e)?xt(e.__v_raw):!!(e&&e.__v_isReactive)}function At(e){return!!(e&&e.__v_isReadonly)}function He(e){return!!(e&&e.__v_isShallow)}function ir(e){return e?!!e.__v_raw:!1}function ee(e){const t=e&&e.__v_raw;return t?ee(t):e}function en(e){return!ne(e,"__v_skip")&&Object.isExtensible(e)&&_i(e,"__v_skip",!0),e}const _e=e=>re(e)?ut(e):e,ks=e=>re(e)?Wt(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function k(e){return Vi(e,!1)}function Ot(e){return Vi(e,!0)}function Vi(e,t){return ae(e)?e:new zl(e,t)}class zl{constructor(t,n){this.dep=new ts,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ee(t),this._value=n?t:_e(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||He(t)||At(t);t=s?t:ee(t),Ae(t,n)&&(this._rawValue=t,this._value=s?t:_e(t),this.dep.trigger())}}function ss(e){return ae(e)?e.value:e}function mf(e){return G(e)?e():ss(e)}const Jl={get:(e,t,n)=>t==="__v_raw"?e:ss(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ae(r)&&!ae(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function ji(e){return xt(e)?e:new Proxy(e,Jl)}class Ql{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new ts,{get:s,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=s,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function or(e){return new Ql(e)}function Zl(e){const t=j(e)?new Array(e.length):{};for(const n in e)t[n]=Ui(e,n);return t}class ea{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Pl(ee(this._object),this._key)}}class ta{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function na(e,t,n){return ae(e)?e:G(e)?new ta(e):re(e)&&arguments.length>1?Ui(e,t,n):k(e)}function Ui(e,t,n){const s=e[t];return ae(s)?s:new ea(e,t,n)}class sa{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ts(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=on-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&oe!==this)return Oi(this,!0),!0}get value(){const t=this.dep.track();return Ri(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ra(e,t,n=!1){let s,r;return G(e)?s=e:(s=e.get,r=e.set),new sa(s,r,n)}const En={},Hn=new WeakMap;let wt;function ia(e,t=!1,n=wt){if(n){let s=Hn.get(n);s||Hn.set(n,s=[]),s.push(e)}}function oa(e,t,n=te){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:a}=n,u=v=>r?v:He(v)||r===!1||r===0?Ze(v,1):Ze(v);let c,f,p,g,b=!1,_=!1;if(ae(e)?(f=()=>e.value,b=He(e)):xt(e)?(f=()=>u(e),b=!0):j(e)?(_=!0,b=e.some(v=>xt(v)||He(v)),f=()=>e.map(v=>{if(ae(v))return v.value;if(xt(v))return u(v);if(G(v))return a?a(v,2):v()})):G(e)?t?f=a?()=>a(e,2):e:f=()=>{if(p){ht();try{p()}finally{pt()}}const v=wt;wt=c;try{return a?a(e,3,[g]):e(g)}finally{wt=v}}:f=Ye,t&&r){const v=f,E=r===!0?1/0:r;f=()=>Ze(v(),E)}const I=Ti(),y=()=>{c.stop(),I&&Js(I.effects,c)};if(i&&t){const v=t;t=(...E)=>{v(...E),y()}}let x=_?new Array(e.length).fill(En):En;const m=v=>{if(!(!(c.flags&1)||!c.dirty&&!v))if(t){const E=c.run();if(r||b||(_?E.some((H,V)=>Ae(H,x[V])):Ae(E,x))){p&&p();const H=wt;wt=c;try{const V=[E,x===En?void 0:_&&x[0]===En?[]:x,g];a?a(t,3,V):t(...V),x=E}finally{wt=H}}}else c.run()};return l&&l(m),c=new Ci(f),c.scheduler=o?()=>o(m,!1):m,g=v=>ia(v,!1,c),p=c.onStop=()=>{const v=Hn.get(c);if(v){if(a)a(v,4);else for(const E of v)E();Hn.delete(c)}},t?s?m(!0):x=c.run():o?o(m.bind(null,!0),!0):c.run(),y.pause=c.pause.bind(c),y.resume=c.resume.bind(c),y.stop=y,y}function Ze(e,t=1/0,n){if(t<=0||!re(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,ae(e))Ze(e.value,t,n);else if(j(e))for(let s=0;s{Ze(s,t,n)});else if(wi(e)){for(const s in e)Ze(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Ze(e[s],t,n)}return e}/** -* @vue/runtime-core v3.5.12 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function vn(e,t,n,s){try{return s?e(...s):e()}catch(r){rs(r,t,n)}}function Ue(e,t,n,s){if(G(e)){const r=vn(e,t,n,s);return r&&yi(r)&&r.catch(i=>{rs(i,t,n)}),r}if(j(e)){const r=[];for(let i=0;i>>1,r=Ce[s],i=an(r);i=an(n)?Ce.push(e):Ce.splice(aa(t),0,e),e.flags|=1,Wi()}}function Wi(){kn||(kn=Bi.then(Ki))}function ca(e){j(e)?Ht.push(...e):ot&&e.id===-1?ot.splice(Lt+1,0,e):e.flags&1||(Ht.push(e),e.flags|=1),Wi()}function Cr(e,t,n=Ke+1){for(;nan(n)-an(s));if(Ht.length=0,ot){ot.push(...t);return}for(ot=t,Lt=0;Lte.id==null?e.flags&2?-1:1/0:e.id;function Ki(e){try{for(Ke=0;Keqi;function qi(e,t=pe,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Nr(-1);const i=jn(t);let o;try{o=e(...r)}finally{jn(i),s._d&&Nr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function bf(e,t){if(pe===null)return e;const n=us(pe),s=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,lt=Symbol("_leaveCb"),Tn=Symbol("_enterCb");function Gi(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return It(()=>{e.isMounted=!0}),so(()=>{e.isUnmounting=!0}),e}const De=[Function,Array],Xi={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:De,onEnter:De,onAfterEnter:De,onEnterCancelled:De,onBeforeLeave:De,onLeave:De,onAfterLeave:De,onLeaveCancelled:De,onBeforeAppear:De,onAppear:De,onAfterAppear:De,onAppearCancelled:De},zi=e=>{const t=e.subTree;return t.component?zi(t.component):t},fa={name:"BaseTransition",props:Xi,setup(e,{slots:t}){const n=yn(),s=Gi();return()=>{const r=t.default&&ar(t.default(),!0);if(!r||!r.length)return;const i=Ji(r),o=ee(e),{mode:l}=o;if(s.isLeaving)return Ss(i);const a=Ar(i);if(!a)return Ss(i);let u=cn(a,o,s,n,p=>u=p);a.type!==xe&&Mt(a,u);const c=n.subTree,f=c&&Ar(c);if(f&&f.type!==xe&&!_t(a,f)&&zi(n).type!==xe){const p=cn(f,o,s,n);if(Mt(f,p),l==="out-in"&&a.type!==xe)return s.isLeaving=!0,p.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete p.afterLeave},Ss(i);l==="in-out"&&a.type!==xe&&(p.delayLeave=(g,b,_)=>{const I=Qi(s,f);I[String(f.key)]=f,g[lt]=()=>{b(),g[lt]=void 0,delete u.delayedLeave},u.delayedLeave=_})}return i}}};function Ji(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==xe){t=n;break}}return t}const da=fa;function Qi(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function cn(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:p,onLeave:g,onAfterLeave:b,onLeaveCancelled:_,onBeforeAppear:I,onAppear:y,onAfterAppear:x,onAppearCancelled:m}=t,v=String(e.key),E=Qi(n,e),H=(F,S)=>{F&&Ue(F,s,9,S)},V=(F,S)=>{const $=S[1];H(F,S),j(F)?F.every(T=>T.length<=1)&&$():F.length<=1&&$()},L={mode:o,persisted:l,beforeEnter(F){let S=a;if(!n.isMounted)if(i)S=I||a;else return;F[lt]&&F[lt](!0);const $=E[v];$&&_t(e,$)&&$.el[lt]&&$.el[lt](),H(S,[F])},enter(F){let S=u,$=c,T=f;if(!n.isMounted)if(i)S=y||u,$=x||c,T=m||f;else return;let K=!1;const le=F[Tn]=he=>{K||(K=!0,he?H(T,[F]):H($,[F]),L.delayedLeave&&L.delayedLeave(),F[Tn]=void 0)};S?V(S,[F,le]):le()},leave(F,S){const $=String(e.key);if(F[Tn]&&F[Tn](!0),n.isUnmounting)return S();H(p,[F]);let T=!1;const K=F[lt]=le=>{T||(T=!0,S(),le?H(_,[F]):H(b,[F]),F[lt]=void 0,E[$]===e&&delete E[$])};E[$]=e,g?V(g,[F,K]):K()},clone(F){const S=cn(F,t,n,s,r);return r&&r(S),S}};return L}function Ss(e){if(os(e))return e=ft(e),e.children=null,e}function Ar(e){if(!os(e))return Yi(e.type)&&e.children?Ji(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&G(n.default))return n.default()}}function Mt(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Mt(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ar(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;iUn(b,t&&(j(t)?t[_]:t),n,s,r));return}if(Et(s)&&!r)return;const i=s.shapeFlag&4?us(s.component):s.el,o=r?null:i,{i:l,r:a}=e,u=t&&t.r,c=l.refs===te?l.refs={}:l.refs,f=l.setupState,p=ee(f),g=f===te?()=>!1:b=>ne(p,b);if(u!=null&&u!==a&&(fe(u)?(c[u]=null,g(u)&&(f[u]=null)):ae(u)&&(u.value=null)),G(a))vn(a,l,12,[o,c]);else{const b=fe(a),_=ae(a);if(b||_){const I=()=>{if(e.f){const y=b?g(a)?f[a]:c[a]:a.value;r?j(y)&&Js(y,i):j(y)?y.includes(i)||y.push(i):b?(c[a]=[i],g(a)&&(f[a]=c[a])):(a.value=[i],e.k&&(c[e.k]=a.value))}else b?(c[a]=o,g(a)&&(f[a]=o)):_&&(a.value=o,e.k&&(c[e.k]=o))};o?(I.id=-1,Re(I,n)):I()}}}let Or=!1;const Ft=()=>{Or||(console.error("Hydration completed but contains mismatches."),Or=!0)},ha=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",pa=e=>e.namespaceURI.includes("MathML"),Cn=e=>{if(e.nodeType===1){if(ha(e))return"svg";if(pa(e))return"mathml"}},An=e=>e.nodeType===8;function ma(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:a,createComment:u}}=e,c=(m,v)=>{if(!v.hasChildNodes()){n(null,m,v),Vn(),v._vnode=m;return}f(v.firstChild,m,null,null,null),Vn(),v._vnode=m},f=(m,v,E,H,V,L=!1)=>{L=L||!!v.dynamicChildren;const F=An(m)&&m.data==="[",S=()=>_(m,v,E,H,V,F),{type:$,ref:T,shapeFlag:K,patchFlag:le}=v;let he=m.nodeType;v.el=m,le===-2&&(L=!1,v.dynamicChildren=null);let W=null;switch($){case Tt:he!==3?v.children===""?(a(v.el=r(""),o(m),m),W=m):W=S():(m.data!==v.children&&(Ft(),m.data=v.children),W=i(m));break;case xe:x(m)?(W=i(m),y(v.el=m.content.firstChild,m,E)):he!==8||F?W=S():W=i(m);break;case nn:if(F&&(m=i(m),he=m.nodeType),he===1||he===3){W=m;const Q=!v.children.length;for(let B=0;B{L=L||!!v.dynamicChildren;const{type:F,props:S,patchFlag:$,shapeFlag:T,dirs:K,transition:le}=v,he=F==="input"||F==="option";if(he||$!==-1){K&&qe(v,null,E,"created");let W=!1;if(x(m)){W=wo(null,le)&&E&&E.vnode.props&&E.vnode.props.appear;const B=m.content.firstChild;W&&le.beforeEnter(B),y(B,m,E),v.el=m=B}if(T&16&&!(S&&(S.innerHTML||S.textContent))){let B=g(m.firstChild,v,m,E,H,V,L);for(;B;){On(m,1)||Ft();const ge=B;B=B.nextSibling,l(ge)}}else if(T&8){let B=v.children;B[0]===` -`&&(m.tagName==="PRE"||m.tagName==="TEXTAREA")&&(B=B.slice(1)),m.textContent!==B&&(On(m,0)||Ft(),m.textContent=v.children)}if(S){if(he||!L||$&48){const B=m.tagName.includes("-");for(const ge in S)(he&&(ge.endsWith("value")||ge==="indeterminate")||pn(ge)&&!Nt(ge)||ge[0]==="."||B)&&s(m,ge,null,S[ge],void 0,E)}else if(S.onClick)s(m,"onClick",null,S.onClick,void 0,E);else if($&4&&xt(S.style))for(const B in S.style)S.style[B]}let Q;(Q=S&&S.onVnodeBeforeMount)&&$e(Q,E,v),K&&qe(v,null,E,"beforeMount"),((Q=S&&S.onVnodeMounted)||K||W)&&Oo(()=>{Q&&$e(Q,E,v),W&&le.enter(m),K&&qe(v,null,E,"mounted")},H)}return m.nextSibling},g=(m,v,E,H,V,L,F)=>{F=F||!!v.dynamicChildren;const S=v.children,$=S.length;for(let T=0;T<$;T++){const K=F?S[T]:S[T]=Ne(S[T]),le=K.type===Tt;m?(le&&!F&&T+1<$&&Ne(S[T+1]).type===Tt&&(a(r(m.data.slice(K.children.length)),E,i(m)),m.data=K.children),m=f(m,K,H,V,L,F)):le&&!K.children?a(K.el=r(""),E):(On(E,1)||Ft(),n(null,K,E,null,H,V,Cn(E),L))}return m},b=(m,v,E,H,V,L)=>{const{slotScopeIds:F}=v;F&&(V=V?V.concat(F):F);const S=o(m),$=g(i(m),v,S,E,H,V,L);return $&&An($)&&$.data==="]"?i(v.anchor=$):(Ft(),a(v.anchor=u("]"),S,$),$)},_=(m,v,E,H,V,L)=>{if(On(m.parentElement,1)||Ft(),v.el=null,L){const $=I(m);for(;;){const T=i(m);if(T&&T!==$)l(T);else break}}const F=i(m),S=o(m);return l(m),n(null,v,S,F,E,H,Cn(S),V),F},I=(m,v="[",E="]")=>{let H=0;for(;m;)if(m=i(m),m&&An(m)&&(m.data===v&&H++,m.data===E)){if(H===0)return i(m);H--}return m},y=(m,v,E)=>{const H=v.parentNode;H&&H.replaceChild(m,v);let V=E;for(;V;)V.vnode.el===v&&(V.vnode.el=V.subTree.el=m),V=V.parent},x=m=>m.nodeType===1&&m.tagName==="TEMPLATE";return[c,f]}const Mr="data-allow-mismatch",ga={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function On(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Mr);)e=e.parentElement;const n=e&&e.getAttribute(Mr);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:n.split(",").includes(ga[t])}}Qn().requestIdleCallback;Qn().cancelIdleCallback;const Et=e=>!!e.type.__asyncLoader,os=e=>e.type.__isKeepAlive;function va(e,t){to(e,"a",t)}function ya(e,t){to(e,"da",t)}function to(e,t,n=ve){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ls(t,s,n),n){let r=n.parent;for(;r&&r.parent;)os(r.parent.vnode)&&ba(s,t,n,r),r=r.parent}}function ba(e,t,n,s){const r=ls(t,e,s,!0);cr(()=>{Js(s[t],r)},n)}function ls(e,t,n=ve,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{ht();const l=bn(n),a=Ue(t,n,e,o);return l(),pt(),a});return s?r.unshift(i):r.push(i),i}}const st=e=>(t,n=ve)=>{(!dn||e==="sp")&&ls(e,(...s)=>t(...s),n)},wa=st("bm"),It=st("m"),_a=st("bu"),no=st("u"),so=st("bum"),cr=st("um"),Sa=st("sp"),xa=st("rtg"),Ea=st("rtc");function Ta(e,t=ve){ls("ec",e,t)}const ro="components",Ca="directives";function wf(e,t){return io(ro,e,!0,t)||e}const Aa=Symbol.for("v-ndc");function _f(e){return io(Ca,e)}function io(e,t,n=!0,s=!1){const r=pe||ve;if(r){const i=r.type;if(e===ro){const l=dc(i,!1);if(l&&(l===t||l===Le(t)||l===Jn(Le(t))))return i}const o=Ir(r[e]||i[e],t)||Ir(r.appContext[e],t);return!o&&s?i:o}}function Ir(e,t){return e&&(e[t]||e[Le(t)]||e[Jn(Le(t))])}function Sf(e,t,n,s){let r;const i=n,o=j(e);if(o||fe(e)){const l=o&&xt(e);let a=!1;l&&(a=!He(e),e=ns(e)),r=new Array(e.length);for(let u=0,c=e.length;ut(l,a,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let a=0,u=l.length;afn(t)?!(t.type===xe||t.type===Se&&!oo(t.children)):!0)?e:null}const Vs=e=>e?Fo(e)?us(e):Vs(e.parent):null,tn=ue(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Vs(e.parent),$root:e=>Vs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ur(e),$forceUpdate:e=>e.f||(e.f=()=>{lr(e.update)}),$nextTick:e=>e.n||(e.n=Kt.bind(e.proxy)),$watch:e=>Xa.bind(e)}),xs=(e,t)=>e!==te&&!e.__isScriptSetup&&ne(e,t),Oa={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:a}=e;let u;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(xs(s,t))return o[t]=1,s[t];if(r!==te&&ne(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&ne(u,t))return o[t]=3,i[t];if(n!==te&&ne(n,t))return o[t]=4,n[t];js&&(o[t]=0)}}const c=tn[t];let f,p;if(c)return t==="$attrs"&&we(e.attrs,"get",""),c(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==te&&ne(n,t))return o[t]=4,n[t];if(p=a.config.globalProperties,ne(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return xs(r,t)?(r[t]=n,!0):s!==te&&ne(s,t)?(s[t]=n,!0):ne(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==te&&ne(e,o)||xs(t,o)||(l=i[0])&&ne(l,o)||ne(s,o)||ne(tn,o)||ne(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ne(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Bn(e){return j(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Ef(e,t){return!e||!t?e||t:j(e)&&j(t)?e.concat(t):ue({},Bn(e),Bn(t))}let js=!0;function Ma(e){const t=ur(e),n=e.proxy,s=e.ctx;js=!1,t.beforeCreate&&Rr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:a,inject:u,created:c,beforeMount:f,mounted:p,beforeUpdate:g,updated:b,activated:_,deactivated:I,beforeDestroy:y,beforeUnmount:x,destroyed:m,unmounted:v,render:E,renderTracked:H,renderTriggered:V,errorCaptured:L,serverPrefetch:F,expose:S,inheritAttrs:$,components:T,directives:K,filters:le}=t;if(u&&Ia(u,s,null),o)for(const Q in o){const B=o[Q];G(B)&&(s[Q]=B.bind(n))}if(r){const Q=r.call(n,n);re(Q)&&(e.data=ut(Q))}if(js=!0,i)for(const Q in i){const B=i[Q],ge=G(B)?B.bind(n,n):G(B.get)?B.get.bind(n,n):Ye,wn=!G(B)&&G(B.set)?B.set.bind(n):Ye,gt=z({get:ge,set:wn});Object.defineProperty(s,Q,{enumerable:!0,configurable:!0,get:()=>gt.value,set:Be=>gt.value=Be})}if(l)for(const Q in l)lo(l[Q],s,n,Q);if(a){const Q=G(a)?a.call(n):a;Reflect.ownKeys(Q).forEach(B=>{$a(B,Q[B])})}c&&Rr(c,e,"c");function W(Q,B){j(B)?B.forEach(ge=>Q(ge.bind(n))):B&&Q(B.bind(n))}if(W(wa,f),W(It,p),W(_a,g),W(no,b),W(va,_),W(ya,I),W(Ta,L),W(Ea,H),W(xa,V),W(so,x),W(cr,v),W(Sa,F),j(S))if(S.length){const Q=e.exposed||(e.exposed={});S.forEach(B=>{Object.defineProperty(Q,B,{get:()=>n[B],set:ge=>n[B]=ge})})}else e.exposed||(e.exposed={});E&&e.render===Ye&&(e.render=E),$!=null&&(e.inheritAttrs=$),T&&(e.components=T),K&&(e.directives=K),F&&eo(e)}function Ia(e,t,n=Ye){j(e)&&(e=Us(e));for(const s in e){const r=e[s];let i;re(r)?"default"in r?i=Vt(r.from||s,r.default,!0):i=Vt(r.from||s):i=Vt(r),ae(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function Rr(e,t,n){Ue(j(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function lo(e,t,n,s){let r=s.includes(".")?Eo(n,s):()=>n[s];if(fe(e)){const i=t[e];G(i)&&ce(r,i)}else if(G(e))ce(r,e.bind(n));else if(re(e))if(j(e))e.forEach(i=>lo(i,t,n,s));else{const i=G(e.handler)?e.handler.bind(n):t[e.handler];G(i)&&ce(r,i,e)}}function ur(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let a;return l?a=l:!r.length&&!n&&!s?a=t:(a={},r.length&&r.forEach(u=>Wn(a,u,o,!0)),Wn(a,t,o)),re(t)&&i.set(t,a),a}function Wn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Wn(e,i,n,!0),r&&r.forEach(o=>Wn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Ra[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Ra={data:Pr,props:Fr,emits:Fr,methods:Jt,computed:Jt,beforeCreate:Ee,created:Ee,beforeMount:Ee,mounted:Ee,beforeUpdate:Ee,updated:Ee,beforeDestroy:Ee,beforeUnmount:Ee,destroyed:Ee,unmounted:Ee,activated:Ee,deactivated:Ee,errorCaptured:Ee,serverPrefetch:Ee,components:Jt,directives:Jt,watch:Fa,provide:Pr,inject:Pa};function Pr(e,t){return t?e?function(){return ue(G(e)?e.call(this,this):e,G(t)?t.call(this,this):t)}:t:e}function Pa(e,t){return Jt(Us(e),Us(t))}function Us(e){if(j(e)){const t={};for(let n=0;n1)return n&&G(t)?t.call(s&&s.proxy):t}}const co={},uo=()=>Object.create(co),fo=e=>Object.getPrototypeOf(e)===co;function Na(e,t,n,s=!1){const r={},i=uo();e.propsDefaults=Object.create(null),ho(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Xl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Ha(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=ee(r),[a]=e.propsOptions;let u=!1;if((s||o>0)&&!(o&16)){if(o&8){const c=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[p,g]=po(f,t,!0);ue(o,p),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!a)return re(e)&&s.set(e,Dt),Dt;if(j(i))for(let c=0;ce[0]==="_"||e==="$stable",fr=e=>j(e)?e.map(Ne):[Ne(e)],Va=(e,t,n)=>{if(t._n)return t;const s=qi((...r)=>fr(t(...r)),n);return s._c=!1,s},go=(e,t,n)=>{const s=e._ctx;for(const r in e){if(mo(r))continue;const i=e[r];if(G(i))t[r]=Va(r,i,s);else if(i!=null){const o=fr(i);t[r]=()=>o}}},vo=(e,t)=>{const n=fr(t);e.slots.default=()=>n},yo=(e,t,n)=>{for(const s in t)(n||s!=="_")&&(e[s]=t[s])},ja=(e,t,n)=>{const s=e.slots=uo();if(e.vnode.shapeFlag&32){const r=t._;r?(yo(s,t,n),n&&_i(s,"_",r,!0)):go(t,s)}else t&&vo(e,t)},Ua=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:yo(r,t,n):(i=!t.$stable,go(t,r)),o=t}else t&&(vo(e,t),o={default:1});if(i)for(const l in r)!mo(l)&&o[l]==null&&delete r[l]},Re=Oo;function Ba(e){return bo(e)}function Wa(e){return bo(e,ma)}function bo(e,t){const n=Qn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:a,setText:u,setElementText:c,parentNode:f,nextSibling:p,setScopeId:g=Ye,insertStaticContent:b}=e,_=(d,h,w,O=null,C=null,A=null,D=void 0,P=null,R=!!h.dynamicChildren)=>{if(d===h)return;d&&!_t(d,h)&&(O=_n(d),Be(d,C,A,!0),d=null),h.patchFlag===-2&&(R=!1,h.dynamicChildren=null);const{type:M,ref:Y,shapeFlag:N}=h;switch(M){case Tt:I(d,h,w,O);break;case xe:y(d,h,w,O);break;case nn:d==null&&x(h,w,O,D);break;case Se:T(d,h,w,O,C,A,D,P,R);break;default:N&1?E(d,h,w,O,C,A,D,P,R):N&6?K(d,h,w,O,C,A,D,P,R):(N&64||N&128)&&M.process(d,h,w,O,C,A,D,P,R,Rt)}Y!=null&&C&&Un(Y,d&&d.ref,A,h||d,!h)},I=(d,h,w,O)=>{if(d==null)s(h.el=l(h.children),w,O);else{const C=h.el=d.el;h.children!==d.children&&u(C,h.children)}},y=(d,h,w,O)=>{d==null?s(h.el=a(h.children||""),w,O):h.el=d.el},x=(d,h,w,O)=>{[d.el,d.anchor]=b(d.children,h,w,O,d.el,d.anchor)},m=({el:d,anchor:h},w,O)=>{let C;for(;d&&d!==h;)C=p(d),s(d,w,O),d=C;s(h,w,O)},v=({el:d,anchor:h})=>{let w;for(;d&&d!==h;)w=p(d),r(d),d=w;r(h)},E=(d,h,w,O,C,A,D,P,R)=>{h.type==="svg"?D="svg":h.type==="math"&&(D="mathml"),d==null?H(h,w,O,C,A,D,P,R):F(d,h,C,A,D,P,R)},H=(d,h,w,O,C,A,D,P)=>{let R,M;const{props:Y,shapeFlag:N,transition:U,dirs:X}=d;if(R=d.el=o(d.type,A,Y&&Y.is,Y),N&8?c(R,d.children):N&16&&L(d.children,R,null,O,C,Es(d,A),D,P),X&&qe(d,null,O,"created"),V(R,d,d.scopeId,D,O),Y){for(const ie in Y)ie!=="value"&&!Nt(ie)&&i(R,ie,null,Y[ie],A,O);"value"in Y&&i(R,"value",null,Y.value,A),(M=Y.onVnodeBeforeMount)&&$e(M,O,d)}X&&qe(d,null,O,"beforeMount");const Z=wo(C,U);Z&&U.beforeEnter(R),s(R,h,w),((M=Y&&Y.onVnodeMounted)||Z||X)&&Re(()=>{M&&$e(M,O,d),Z&&U.enter(R),X&&qe(d,null,O,"mounted")},C)},V=(d,h,w,O,C)=>{if(w&&g(d,w),O)for(let A=0;A{for(let M=R;M{const P=h.el=d.el;let{patchFlag:R,dynamicChildren:M,dirs:Y}=h;R|=d.patchFlag&16;const N=d.props||te,U=h.props||te;let X;if(w&&vt(w,!1),(X=U.onVnodeBeforeUpdate)&&$e(X,w,h,d),Y&&qe(h,d,w,"beforeUpdate"),w&&vt(w,!0),(N.innerHTML&&U.innerHTML==null||N.textContent&&U.textContent==null)&&c(P,""),M?S(d.dynamicChildren,M,P,w,O,Es(h,C),A):D||B(d,h,P,null,w,O,Es(h,C),A,!1),R>0){if(R&16)$(P,N,U,w,C);else if(R&2&&N.class!==U.class&&i(P,"class",null,U.class,C),R&4&&i(P,"style",N.style,U.style,C),R&8){const Z=h.dynamicProps;for(let ie=0;ie{X&&$e(X,w,h,d),Y&&qe(h,d,w,"updated")},O)},S=(d,h,w,O,C,A,D)=>{for(let P=0;P{if(h!==w){if(h!==te)for(const A in h)!Nt(A)&&!(A in w)&&i(d,A,h[A],null,C,O);for(const A in w){if(Nt(A))continue;const D=w[A],P=h[A];D!==P&&A!=="value"&&i(d,A,P,D,C,O)}"value"in w&&i(d,"value",h.value,w.value,C)}},T=(d,h,w,O,C,A,D,P,R)=>{const M=h.el=d?d.el:l(""),Y=h.anchor=d?d.anchor:l("");let{patchFlag:N,dynamicChildren:U,slotScopeIds:X}=h;X&&(P=P?P.concat(X):X),d==null?(s(M,w,O),s(Y,w,O),L(h.children||[],w,Y,C,A,D,P,R)):N>0&&N&64&&U&&d.dynamicChildren?(S(d.dynamicChildren,U,w,C,A,D,P),(h.key!=null||C&&h===C.subTree)&&_o(d,h,!0)):B(d,h,w,Y,C,A,D,P,R)},K=(d,h,w,O,C,A,D,P,R)=>{h.slotScopeIds=P,d==null?h.shapeFlag&512?C.ctx.activate(h,w,O,D,R):le(h,w,O,C,A,D,R):he(d,h,R)},le=(d,h,w,O,C,A,D)=>{const P=d.component=lc(d,O,C);if(os(d)&&(P.ctx.renderer=Rt),ac(P,!1,D),P.asyncDep){if(C&&C.registerDep(P,W,D),!d.el){const R=P.subTree=me(xe);y(null,R,h,w)}}else W(P,d,h,w,C,A,D)},he=(d,h,w)=>{const O=h.component=d.component;if(Za(d,h,w))if(O.asyncDep&&!O.asyncResolved){Q(O,h,w);return}else O.next=h,O.update();else h.el=d.el,O.vnode=h},W=(d,h,w,O,C,A,D)=>{const P=()=>{if(d.isMounted){let{next:N,bu:U,u:X,parent:Z,vnode:ie}=d;{const Me=So(d);if(Me){N&&(N.el=ie.el,Q(d,N,D)),Me.asyncDep.then(()=>{d.isUnmounted||P()});return}}let se=N,Oe;vt(d,!1),N?(N.el=ie.el,Q(d,N,D)):N=ie,U&&Fn(U),(Oe=N.props&&N.props.onVnodeBeforeUpdate)&&$e(Oe,Z,N,ie),vt(d,!0);const ye=Ts(d),ke=d.subTree;d.subTree=ye,_(ke,ye,f(ke.el),_n(ke),d,C,A),N.el=ye.el,se===null&&ec(d,ye.el),X&&Re(X,C),(Oe=N.props&&N.props.onVnodeUpdated)&&Re(()=>$e(Oe,Z,N,ie),C)}else{let N;const{el:U,props:X}=h,{bm:Z,m:ie,parent:se,root:Oe,type:ye}=d,ke=Et(h);if(vt(d,!1),Z&&Fn(Z),!ke&&(N=X&&X.onVnodeBeforeMount)&&$e(N,se,h),vt(d,!0),U&&gs){const Me=()=>{d.subTree=Ts(d),gs(U,d.subTree,d,C,null)};ke&&ye.__asyncHydrate?ye.__asyncHydrate(U,d,Me):Me()}else{Oe.ce&&Oe.ce._injectChildStyle(ye);const Me=d.subTree=Ts(d);_(null,Me,w,O,d,C,A),h.el=Me.el}if(ie&&Re(ie,C),!ke&&(N=X&&X.onVnodeMounted)){const Me=h;Re(()=>$e(N,se,Me),C)}(h.shapeFlag&256||se&&Et(se.vnode)&&se.vnode.shapeFlag&256)&&d.a&&Re(d.a,C),d.isMounted=!0,h=w=O=null}};d.scope.on();const R=d.effect=new Ci(P);d.scope.off();const M=d.update=R.run.bind(R),Y=d.job=R.runIfDirty.bind(R);Y.i=d,Y.id=d.uid,R.scheduler=()=>lr(Y),vt(d,!0),M()},Q=(d,h,w)=>{h.component=d;const O=d.vnode.props;d.vnode=h,d.next=null,Ha(d,h.props,O,w),Ua(d,h.children,w),ht(),Cr(d),pt()},B=(d,h,w,O,C,A,D,P,R=!1)=>{const M=d&&d.children,Y=d?d.shapeFlag:0,N=h.children,{patchFlag:U,shapeFlag:X}=h;if(U>0){if(U&128){wn(M,N,w,O,C,A,D,P,R);return}else if(U&256){ge(M,N,w,O,C,A,D,P,R);return}}X&8?(Y&16&&qt(M,C,A),N!==M&&c(w,N)):Y&16?X&16?wn(M,N,w,O,C,A,D,P,R):qt(M,C,A,!0):(Y&8&&c(w,""),X&16&&L(N,w,O,C,A,D,P,R))},ge=(d,h,w,O,C,A,D,P,R)=>{d=d||Dt,h=h||Dt;const M=d.length,Y=h.length,N=Math.min(M,Y);let U;for(U=0;UY?qt(d,C,A,!0,!1,N):L(h,w,O,C,A,D,P,R,N)},wn=(d,h,w,O,C,A,D,P,R)=>{let M=0;const Y=h.length;let N=d.length-1,U=Y-1;for(;M<=N&&M<=U;){const X=d[M],Z=h[M]=R?at(h[M]):Ne(h[M]);if(_t(X,Z))_(X,Z,w,null,C,A,D,P,R);else break;M++}for(;M<=N&&M<=U;){const X=d[N],Z=h[U]=R?at(h[U]):Ne(h[U]);if(_t(X,Z))_(X,Z,w,null,C,A,D,P,R);else break;N--,U--}if(M>N){if(M<=U){const X=U+1,Z=XU)for(;M<=N;)Be(d[M],C,A,!0),M++;else{const X=M,Z=M,ie=new Map;for(M=Z;M<=U;M++){const Ie=h[M]=R?at(h[M]):Ne(h[M]);Ie.key!=null&&ie.set(Ie.key,M)}let se,Oe=0;const ye=U-Z+1;let ke=!1,Me=0;const Yt=new Array(ye);for(M=0;M=ye){Be(Ie,C,A,!0);continue}let We;if(Ie.key!=null)We=ie.get(Ie.key);else for(se=Z;se<=U;se++)if(Yt[se-Z]===0&&_t(Ie,h[se])){We=se;break}We===void 0?Be(Ie,C,A,!0):(Yt[We-Z]=M+1,We>=Me?Me=We:ke=!0,_(Ie,h[We],w,null,C,A,D,P,R),Oe++)}const br=ke?Ka(Yt):Dt;for(se=br.length-1,M=ye-1;M>=0;M--){const Ie=Z+M,We=h[Ie],wr=Ie+1{const{el:A,type:D,transition:P,children:R,shapeFlag:M}=d;if(M&6){gt(d.component.subTree,h,w,O);return}if(M&128){d.suspense.move(h,w,O);return}if(M&64){D.move(d,h,w,Rt);return}if(D===Se){s(A,h,w);for(let N=0;NP.enter(A),C);else{const{leave:N,delayLeave:U,afterLeave:X}=P,Z=()=>s(A,h,w),ie=()=>{N(A,()=>{Z(),X&&X()})};U?U(A,Z,ie):ie()}else s(A,h,w)},Be=(d,h,w,O=!1,C=!1)=>{const{type:A,props:D,ref:P,children:R,dynamicChildren:M,shapeFlag:Y,patchFlag:N,dirs:U,cacheIndex:X}=d;if(N===-2&&(C=!1),P!=null&&Un(P,null,w,d,!0),X!=null&&(h.renderCache[X]=void 0),Y&256){h.ctx.deactivate(d);return}const Z=Y&1&&U,ie=!Et(d);let se;if(ie&&(se=D&&D.onVnodeBeforeUnmount)&&$e(se,h,d),Y&6)hl(d.component,w,O);else{if(Y&128){d.suspense.unmount(w,O);return}Z&&qe(d,null,h,"beforeUnmount"),Y&64?d.type.remove(d,h,w,Rt,O):M&&!M.hasOnce&&(A!==Se||N>0&&N&64)?qt(M,h,w,!1,!0):(A===Se&&N&384||!C&&Y&16)&&qt(R,h,w),O&&vr(d)}(ie&&(se=D&&D.onVnodeUnmounted)||Z)&&Re(()=>{se&&$e(se,h,d),Z&&qe(d,null,h,"unmounted")},w)},vr=d=>{const{type:h,el:w,anchor:O,transition:C}=d;if(h===Se){dl(w,O);return}if(h===nn){v(d);return}const A=()=>{r(w),C&&!C.persisted&&C.afterLeave&&C.afterLeave()};if(d.shapeFlag&1&&C&&!C.persisted){const{leave:D,delayLeave:P}=C,R=()=>D(w,A);P?P(d.el,A,R):R()}else A()},dl=(d,h)=>{let w;for(;d!==h;)w=p(d),r(d),d=w;r(h)},hl=(d,h,w)=>{const{bum:O,scope:C,job:A,subTree:D,um:P,m:R,a:M}=d;Dr(R),Dr(M),O&&Fn(O),C.stop(),A&&(A.flags|=8,Be(D,d,h,w)),P&&Re(P,h),Re(()=>{d.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},qt=(d,h,w,O=!1,C=!1,A=0)=>{for(let D=A;D{if(d.shapeFlag&6)return _n(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const h=p(d.anchor||d.el),w=h&&h[ua];return w?p(w):h};let ps=!1;const yr=(d,h,w)=>{d==null?h._vnode&&Be(h._vnode,null,null,!0):_(h._vnode||null,d,h,null,null,null,w),h._vnode=d,ps||(ps=!0,Cr(),Vn(),ps=!1)},Rt={p:_,um:Be,m:gt,r:vr,mt:le,mc:L,pc:B,pbc:S,n:_n,o:e};let ms,gs;return t&&([ms,gs]=t(Rt)),{render:yr,hydrate:ms,createApp:Da(yr,ms)}}function Es({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function vt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function wo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function _o(e,t,n=!1){const s=e.children,r=t.children;if(j(s)&&j(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function So(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:So(t)}function Dr(e){if(e)for(let t=0;tVt(qa);function xo(e,t){return as(e,null,t)}function Ga(e,t){return as(e,null,{flush:"sync"})}function ce(e,t,n){return as(e,t,n)}function as(e,t,n=te){const{immediate:s,deep:r,flush:i,once:o}=n,l=ue({},n),a=t&&s||!t&&i!=="post";let u;if(dn){if(i==="sync"){const g=Ya();u=g.__watcherHandles||(g.__watcherHandles=[])}else if(!a){const g=()=>{};return g.stop=Ye,g.resume=Ye,g.pause=Ye,g}}const c=ve;l.call=(g,b,_)=>Ue(g,c,b,_);let f=!1;i==="post"?l.scheduler=g=>{Re(g,c&&c.suspense)}:i!=="sync"&&(f=!0,l.scheduler=(g,b)=>{b?g():lr(g)}),l.augmentJob=g=>{t&&(g.flags|=4),f&&(g.flags|=2,c&&(g.id=c.uid,g.i=c))};const p=oa(e,t,l);return dn&&(u?u.push(p):a&&p()),p}function Xa(e,t,n){const s=this.proxy,r=fe(e)?e.includes(".")?Eo(s,e):()=>s[e]:e.bind(s,s);let i;G(t)?i=t:(i=t.handler,n=t);const o=bn(this),l=as(r,i.bind(s),n);return o(),l}function Eo(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{let c,f=te,p;return Ga(()=>{const g=e[r];Ae(c,g)&&(c=g,u())}),{get(){return a(),n.get?n.get(c):c},set(g){const b=n.set?n.set(g):g;if(!Ae(b,c)&&!(f!==te&&Ae(g,f)))return;const _=s.vnode.props;_&&(t in _||r in _||i in _)&&(`onUpdate:${t}`in _||`onUpdate:${r}`in _||`onUpdate:${i}`in _)||(c=g,u()),s.emit(`update:${t}`,b),Ae(g,b)&&Ae(g,f)&&!Ae(b,p)&&u(),f=g,p=b}}});return l[Symbol.iterator]=()=>{let a=0;return{next(){return a<2?{value:a++?o||te:l,done:!1}:{done:!0}}}},l}const To=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${nt(t)}Modifiers`];function za(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||te;let r=n;const i=t.startsWith("update:"),o=i&&To(s,t.slice(7));o&&(o.trim&&(r=n.map(c=>fe(c)?c.trim():c)),o.number&&(r=n.map($n)));let l,a=s[l=vs(t)]||s[l=vs(Le(t))];!a&&i&&(a=s[l=vs(nt(t))]),a&&Ue(a,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ue(u,e,6,r)}}function Co(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!G(e)){const a=u=>{const c=Co(u,t,!0);c&&(l=!0,ue(o,c))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!i&&!l?(re(e)&&s.set(e,null),null):(j(i)?i.forEach(a=>o[a]=null):ue(o,i),re(e)&&s.set(e,o),o)}function cs(e,t){return!e||!pn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ne(e,t[0].toLowerCase()+t.slice(1))||ne(e,nt(t))||ne(e,t))}function Ts(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:a,render:u,renderCache:c,props:f,data:p,setupState:g,ctx:b,inheritAttrs:_}=e,I=jn(e);let y,x;try{if(n.shapeFlag&4){const v=r||s,E=v;y=Ne(u.call(E,v,c,f,g,p,b)),x=l}else{const v=t;y=Ne(v.length>1?v(f,{attrs:l,slots:o,emit:a}):v(f,null)),x=t.props?l:Ja(l)}}catch(v){sn.length=0,rs(v,e,1),y=me(xe)}let m=y;if(x&&_!==!1){const v=Object.keys(x),{shapeFlag:E}=m;v.length&&E&7&&(i&&v.some(zs)&&(x=Qa(x,i)),m=ft(m,x,!1,!0))}return n.dirs&&(m=ft(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&Mt(m,n.transition),y=m,jn(I),y}const Ja=e=>{let t;for(const n in e)(n==="class"||n==="style"||pn(n))&&((t||(t={}))[n]=e[n]);return t},Qa=(e,t)=>{const n={};for(const s in e)(!zs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Za(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:a}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return s?$r(s,o,u):!!o;if(a&8){const c=t.dynamicProps;for(let f=0;fe.__isSuspense;function Oo(e,t){t&&t.pendingBranch?j(e)?t.effects.push(...e):t.effects.push(e):ca(e)}const Se=Symbol.for("v-fgt"),Tt=Symbol.for("v-txt"),xe=Symbol.for("v-cmt"),nn=Symbol.for("v-stc"),sn=[];let Pe=null;function Ws(e=!1){sn.push(Pe=e?null:[])}function tc(){sn.pop(),Pe=sn[sn.length-1]||null}let un=1;function Nr(e){un+=e,e<0&&Pe&&(Pe.hasOnce=!0)}function Mo(e){return e.dynamicChildren=un>0?Pe||Dt:null,tc(),un>0&&Pe&&Pe.push(e),e}function Cf(e,t,n,s,r,i){return Mo(Ro(e,t,n,s,r,i,!0))}function Ks(e,t,n,s,r){return Mo(me(e,t,n,s,r,!0))}function fn(e){return e?e.__v_isVNode===!0:!1}function _t(e,t){return e.type===t.type&&e.key===t.key}const Io=({key:e})=>e??null,Ln=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?fe(e)||ae(e)||G(e)?{i:pe,r:e,k:t,f:!!n}:e:null);function Ro(e,t=null,n=null,s=0,r=null,i=e===Se?0:1,o=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Io(t),ref:t&&Ln(t),scopeId:is,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:pe};return l?(dr(a,n),i&128&&e.normalize(a)):n&&(a.shapeFlag|=fe(n)?8:16),un>0&&!o&&Pe&&(a.patchFlag>0||i&6)&&a.patchFlag!==32&&Pe.push(a),a}const me=nc;function nc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Aa)&&(e=xe),fn(e)){const l=ft(e,t,!0);return n&&dr(l,n),un>0&&!i&&Pe&&(l.shapeFlag&6?Pe[Pe.indexOf(e)]=l:Pe.push(l)),l.patchFlag=-2,l}if(hc(e)&&(e=e.__vccOpts),t){t=sc(t);let{class:l,style:a}=t;l&&!fe(l)&&(t.class=es(l)),re(a)&&(ir(a)&&!j(a)&&(a=ue({},a)),t.style=Zn(a))}const o=fe(e)?1:Ao(e)?128:Yi(e)?64:re(e)?4:G(e)?2:0;return Ro(e,t,n,s,r,o,i,!0)}function sc(e){return e?ir(e)||fo(e)?ue({},e):e:null}function ft(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:a}=e,u=t?rc(r||{},t):r,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Io(u),ref:t&&t.ref?n&&i?j(i)?i.concat(Ln(t)):[i,Ln(t)]:Ln(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Se?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ft(e.ssContent),ssFallback:e.ssFallback&&ft(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&s&&Mt(c,a.clone(c)),c}function Po(e=" ",t=0){return me(Tt,null,e,t)}function Af(e,t){const n=me(nn,null,e);return n.staticCount=t,n}function Of(e="",t=!1){return t?(Ws(),Ks(xe,null,e)):me(xe,null,e)}function Ne(e){return e==null||typeof e=="boolean"?me(xe):j(e)?me(Se,null,e.slice()):fn(e)?at(e):me(Tt,null,String(e))}function at(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ft(e)}function dr(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(j(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),dr(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!fo(t)?t._ctx=pe:r===3&&pe&&(pe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else G(t)?(t={default:t,_ctx:pe},n=32):(t=String(t),s&64?(n=16,t=[Po(t)]):n=8);e.children=t,e.shapeFlag|=n}function rc(...e){const t={};for(let n=0;nve||pe;let Kn,qs;{const e=Qn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Kn=t("__VUE_INSTANCE_SETTERS__",n=>ve=n),qs=t("__VUE_SSR_SETTERS__",n=>dn=n)}const bn=e=>{const t=ve;return Kn(e),e.scope.on(),()=>{e.scope.off(),Kn(t)}},Hr=()=>{ve&&ve.scope.off(),Kn(null)};function Fo(e){return e.vnode.shapeFlag&4}let dn=!1;function ac(e,t=!1,n=!1){t&&qs(t);const{props:s,children:r}=e.vnode,i=Fo(e);Na(e,s,i,t),ja(e,r,n);const o=i?cc(e,t):void 0;return t&&qs(!1),o}function cc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Oa);const{setup:s}=n;if(s){ht();const r=e.setupContext=s.length>1?fc(e):null,i=bn(e),o=vn(s,e,0,[e.props,r]),l=yi(o);if(pt(),i(),(l||e.sp)&&!Et(e)&&eo(e),l){if(o.then(Hr,Hr),t)return o.then(a=>{kr(e,a,t)}).catch(a=>{rs(a,e,0)});e.asyncDep=o}else kr(e,o,t)}else Lo(e,t)}function kr(e,t,n){G(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:re(t)&&(e.setupState=ji(t)),Lo(e,n)}let Vr;function Lo(e,t,n){const s=e.type;if(!e.render){if(!t&&Vr&&!s.render){const r=s.template||ur(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:a}=s,u=ue(ue({isCustomElement:i,delimiters:l},o),a);s.render=Vr(r,u)}}e.render=s.render||Ye}{const r=bn(e);ht();try{Ma(e)}finally{pt(),r()}}}const uc={get(e,t){return we(e,"get",""),e[t]}};function fc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,uc),slots:e.slots,emit:e.emit,expose:t}}function us(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ji(en(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in tn)return tn[n](e)},has(t,n){return n in t||n in tn}})):e.proxy}function dc(e,t=!0){return G(e)?e.displayName||e.name:e.name||t&&e.__name}function hc(e){return G(e)&&"__vccOpts"in e}const z=(e,t)=>ra(e,t,dn);function qn(e,t,n){const s=arguments.length;return s===2?re(t)&&!j(t)?fn(t)?me(e,null,[t]):me(e,t):me(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&fn(n)&&(n=[n]),me(e,t,n))}const pc="3.5.12";/** -* @vue/runtime-dom v3.5.12 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ys;const jr=typeof window<"u"&&window.trustedTypes;if(jr)try{Ys=jr.createPolicy("vue",{createHTML:e=>e})}catch{}const Do=Ys?e=>Ys.createHTML(e):e=>e,mc="http://www.w3.org/2000/svg",gc="http://www.w3.org/1998/Math/MathML",Je=typeof document<"u"?document:null,Ur=Je&&Je.createElement("template"),vc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Je.createElementNS(mc,e):t==="mathml"?Je.createElementNS(gc,e):n?Je.createElement(e,{is:n}):Je.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Je.createTextNode(e),createComment:e=>Je.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Je.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Ur.innerHTML=Do(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=Ur.content;if(s==="svg"||s==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},rt="transition",Xt="animation",jt=Symbol("_vtc"),$o={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},No=ue({},Xi,$o),yc=e=>(e.displayName="Transition",e.props=No,e),Mf=yc((e,{slots:t})=>qn(da,Ho(e),t)),yt=(e,t=[])=>{j(e)?e.forEach(n=>n(...t)):e&&e(...t)},Br=e=>e?j(e)?e.some(t=>t.length>1):e.length>1:!1;function Ho(e){const t={};for(const T in e)T in $o||(t[T]=e[T]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=i,appearActiveClass:u=o,appearToClass:c=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,b=bc(r),_=b&&b[0],I=b&&b[1],{onBeforeEnter:y,onEnter:x,onEnterCancelled:m,onLeave:v,onLeaveCancelled:E,onBeforeAppear:H=y,onAppear:V=x,onAppearCancelled:L=m}=t,F=(T,K,le)=>{it(T,K?c:l),it(T,K?u:o),le&&le()},S=(T,K)=>{T._isLeaving=!1,it(T,f),it(T,g),it(T,p),K&&K()},$=T=>(K,le)=>{const he=T?V:x,W=()=>F(K,T,le);yt(he,[K,W]),Wr(()=>{it(K,T?a:i),ze(K,T?c:l),Br(he)||Kr(K,s,_,W)})};return ue(t,{onBeforeEnter(T){yt(y,[T]),ze(T,i),ze(T,o)},onBeforeAppear(T){yt(H,[T]),ze(T,a),ze(T,u)},onEnter:$(!1),onAppear:$(!0),onLeave(T,K){T._isLeaving=!0;const le=()=>S(T,K);ze(T,f),ze(T,p),Vo(),Wr(()=>{T._isLeaving&&(it(T,f),ze(T,g),Br(v)||Kr(T,s,I,le))}),yt(v,[T,le])},onEnterCancelled(T){F(T,!1),yt(m,[T])},onAppearCancelled(T){F(T,!0),yt(L,[T])},onLeaveCancelled(T){S(T),yt(E,[T])}})}function bc(e){if(e==null)return null;if(re(e))return[Cs(e.enter),Cs(e.leave)];{const t=Cs(e);return[t,t]}}function Cs(e){return bl(e)}function ze(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[jt]||(e[jt]=new Set)).add(t)}function it(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[jt];n&&(n.delete(t),n.size||(e[jt]=void 0))}function Wr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let wc=0;function Kr(e,t,n,s){const r=e._endId=++wc,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:a}=ko(e,t);if(!o)return s();const u=o+"end";let c=0;const f=()=>{e.removeEventListener(u,p),i()},p=g=>{g.target===e&&++c>=a&&f()};setTimeout(()=>{c(n[b]||"").split(", "),r=s(`${rt}Delay`),i=s(`${rt}Duration`),o=qr(r,i),l=s(`${Xt}Delay`),a=s(`${Xt}Duration`),u=qr(l,a);let c=null,f=0,p=0;t===rt?o>0&&(c=rt,f=o,p=i.length):t===Xt?u>0&&(c=Xt,f=u,p=a.length):(f=Math.max(o,u),c=f>0?o>u?rt:Xt:null,p=c?c===rt?i.length:a.length:0);const g=c===rt&&/\b(transform|all)(,|$)/.test(s(`${rt}Property`).toString());return{type:c,timeout:f,propCount:p,hasTransform:g}}function qr(e,t){for(;e.lengthYr(n)+Yr(e[s])))}function Yr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Vo(){return document.body.offsetHeight}function _c(e,t,n){const s=e[jt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Yn=Symbol("_vod"),jo=Symbol("_vsh"),If={beforeMount(e,{value:t},{transition:n}){e[Yn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):zt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),zt(e,!0),s.enter(e)):s.leave(e,()=>{zt(e,!1)}):zt(e,t))},beforeUnmount(e,{value:t}){zt(e,t)}};function zt(e,t){e.style.display=t?e[Yn]:"none",e[jo]=!t}const Sc=Symbol(""),xc=/(^|;)\s*display\s*:/;function Ec(e,t,n){const s=e.style,r=fe(n);let i=!1;if(n&&!r){if(t)if(fe(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Dn(s,l,"")}else for(const o in t)n[o]==null&&Dn(s,o,"");for(const o in n)o==="display"&&(i=!0),Dn(s,o,n[o])}else if(r){if(t!==n){const o=s[Sc];o&&(n+=";"+o),s.cssText=n,i=xc.test(n)}}else t&&e.removeAttribute("style");Yn in e&&(e[Yn]=i?s.display:"",e[jo]&&(s.display="none"))}const Gr=/\s*!important$/;function Dn(e,t,n){if(j(n))n.forEach(s=>Dn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Tc(e,t);Gr.test(n)?e.setProperty(nt(s),n.replace(Gr,""),"important"):e[s]=n}}const Xr=["Webkit","Moz","ms"],As={};function Tc(e,t){const n=As[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return As[t]=s;s=Jn(s);for(let r=0;rOs||(Mc.then(()=>Os=0),Os=Date.now());function Rc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Ue(Pc(s,n.value),t,5,[s])};return n.value=e,n.attached=Ic(),n}function Pc(e,t){if(j(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const ti=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Fc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?_c(e,s,o):t==="style"?Ec(e,n,s):pn(t)?zs(t)||Ac(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Lc(e,t,s,o))?(Qr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Jr(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!fe(s))?Qr(e,Le(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Jr(e,t,s,o))};function Lc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&ti(t)&&G(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return ti(t)&&fe(n)?!1:t in e}const Uo=new WeakMap,Bo=new WeakMap,Gn=Symbol("_moveCb"),ni=Symbol("_enterCb"),Dc=e=>(delete e.props.mode,e),$c=Dc({name:"TransitionGroup",props:ue({},No,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=yn(),s=Gi();let r,i;return no(()=>{if(!r.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!Vc(r[0].el,n.vnode.el,o))return;r.forEach(Nc),r.forEach(Hc);const l=r.filter(kc);Vo(),l.forEach(a=>{const u=a.el,c=u.style;ze(u,o),c.transform=c.webkitTransform=c.transitionDuration="";const f=u[Gn]=p=>{p&&p.target!==u||(!p||/transform$/.test(p.propertyName))&&(u.removeEventListener("transitionend",f),u[Gn]=null,it(u,o))};u.addEventListener("transitionend",f)})}),()=>{const o=ee(e),l=Ho(o);let a=o.tag||Se;if(r=[],i)for(let u=0;u{l.split(/\s+/).forEach(a=>a&&s.classList.remove(a))}),n.split(/\s+/).forEach(l=>l&&s.classList.add(l)),s.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(s);const{hasTransform:o}=ko(s);return i.removeChild(s),o}const Ut=e=>{const t=e.props["onUpdate:modelValue"]||!1;return j(t)?n=>Fn(t,n):t};function jc(e){e.target.composing=!0}function si(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const et=Symbol("_assign"),Pf={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[et]=Ut(r);const i=s||r.props&&r.props.type==="number";ct(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=$n(l)),e[et](l)}),n&&ct(e,"change",()=>{e.value=e.value.trim()}),t||(ct(e,"compositionstart",jc),ct(e,"compositionend",si),ct(e,"change",si))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[et]=Ut(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?$n(e.value):e.value,a=t??"";l!==a&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===a)||(e.value=a))}},Ff={deep:!0,created(e,t,n){e[et]=Ut(n),ct(e,"change",()=>{const s=e._modelValue,r=hn(e),i=e.checked,o=e[et];if(j(s)){const l=Zs(s,r),a=l!==-1;if(i&&!a)o(s.concat(r));else if(!i&&a){const u=[...s];u.splice(l,1),o(u)}}else if(Bt(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(Wo(e,i))})},mounted:ri,beforeUpdate(e,t,n){e[et]=Ut(n),ri(e,t,n)}};function ri(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(j(t))r=Zs(t,s.props.value)>-1;else if(Bt(t))r=t.has(s.props.value);else{if(t===n)return;r=gn(t,Wo(e,!0))}e.checked!==r&&(e.checked=r)}const Lf={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=Bt(t);ct(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?$n(hn(o)):hn(o));e[et](e.multiple?r?new Set(i):i:i[0]),e._assigning=!0,Kt(()=>{e._assigning=!1})}),e[et]=Ut(s)},mounted(e,{value:t}){ii(e,t)},beforeUpdate(e,t,n){e[et]=Ut(n)},updated(e,{value:t}){e._assigning||ii(e,t)}};function ii(e,t){const n=e.multiple,s=j(t);if(!(n&&!s&&!Bt(t))){for(let r=0,i=e.options.length;rString(u)===String(l)):o.selected=Zs(t,l)>-1}else o.selected=t.has(l);else if(gn(hn(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function hn(e){return"_value"in e?e._value:e.value}function Wo(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Uc=["ctrl","shift","alt","meta"],Bc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Uc.some(n=>e[`${n}Key`]&&!t.includes(n))},Df=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=nt(r.key);if(t.some(o=>o===i||Wc[o]===i))return e(r)})},Ko=ue({patchProp:Fc},vc);let rn,oi=!1;function Kc(){return rn||(rn=Ba(Ko))}function qc(){return rn=oi?rn:Wa(Ko),oi=!0,rn}const Nf=(...e)=>{const t=Kc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Yo(s);if(!r)return;const i=t._component;!G(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,qo(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t},Hf=(...e)=>{const t=qc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Yo(s);if(r)return n(r,!0,qo(r))},t};function qo(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Yo(e){return fe(e)?document.querySelector(e):e}const kf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Yc=window.__VP_SITE_DATA__;function Ge(e){return Ti()?(Ml(e),!0):!1}function q(e){return typeof e=="function"?e():ss(e)}function Vf(e){if(!ae(e))return ut(e);const t=new Proxy({},{get(n,s,r){return ss(Reflect.get(e.value,s,r))},set(n,s,r){return ae(e.value[s])&&!ae(r)?e.value[s].value=r:e.value[s]=r,!0},deleteProperty(n,s){return Reflect.deleteProperty(e.value,s)},has(n,s){return Reflect.has(e.value,s)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return ut(t)}const dt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Gc=Object.prototype.toString,Xc=e=>Gc.call(e)==="[object Object]",Xn=()=>+Date.now(),jf=(e,t,n)=>Math.min(n,Math.max(t,e)),tt=()=>{},zc=Jc();function Jc(){var e,t;return dt&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function fs(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const ds=e=>e();function hr(e,t={}){let n,s,r=tt;const i=l=>{clearTimeout(l),r(),r=tt};return l=>{const a=q(e),u=q(t.maxWait);return n&&i(n),a<=0||u!==void 0&&u<=0?(s&&(i(s),s=null),Promise.resolve(l())):new Promise((c,f)=>{r=t.rejectOnCancel?f:c,u&&!s&&(s=setTimeout(()=>{n&&i(n),s=null,c(l())},u)),n=setTimeout(()=>{s&&i(s),s=null,c(l())},a)})}}function Qc(...e){let t=0,n,s=!0,r=tt,i,o,l,a,u;!ae(e[0])&&typeof e[0]=="object"?{delay:o,trailing:l=!0,leading:a=!0,rejectOnCancel:u=!1}=e[0]:[o,l=!0,a=!0,u=!1]=e;const c=()=>{n&&(clearTimeout(n),n=void 0,r(),r=tt)};return p=>{const g=q(o),b=Date.now()-t,_=()=>i=p();return c(),g<=0?(t=Date.now(),_()):(b>g&&(a||!s)?(t=Date.now(),_()):l&&(i=new Promise((I,y)=>{r=u?y:I,n=setTimeout(()=>{t=Date.now(),s=!0,I(_()),c()},Math.max(0,g-b))})),!a&&!n&&(n=setTimeout(()=>s=!0,g)),s=!1,i)}}function Go(e=ds){const t=k(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:Wt(t),pause:n,resume:s,eventFilter:r}}function Zc(e,t=!1,n="Timeout"){return new Promise((s,r)=>{setTimeout(t?()=>r(n):s,e)})}function Xo(e){return e}function eu(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const s=t;t=void 0,s&&await s},n}function tu(e){return yn()}function zo(...e){if(e.length!==1)return na(...e);const t=e[0];return typeof t=="function"?Wt(or(()=>({get:t,set:tt}))):k(t)}function nu(e,t=200,n={}){return fs(hr(t,n),e)}function Uf(e,t=200,n={}){const s=k(e.value),r=nu(()=>{s.value=e.value},t,n);return ce(e,()=>r()),s}function pr(e,t,n={}){const{eventFilter:s=ds,...r}=n;return ce(e,fs(s,t),r)}function Jo(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:a}=Go(s);return{stop:pr(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:a}}function su(e,t={}){if(!ae(e))return Zl(e);const n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const s in e.value)n[s]=or(()=>({get(){return e.value[s]},set(r){var i;if((i=q(t.replaceRef))!=null?i:!0)if(Array.isArray(e.value)){const l=[...e.value];l[s]=r,e.value=l}else{const l={...e.value,[s]:r};Object.setPrototypeOf(l,Object.getPrototypeOf(e.value)),e.value=l}else e.value[s]=r}}));return n}function hs(e,t=!0,n){tu()?It(e,n):t?e():Kt(e)}const ru=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i,iu=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function ou(e,t,n,s){let r=e<12?"AM":"PM";return s&&(r=r.split("").reduce((i,o)=>i+=`${o}.`,"")),n?r.toLowerCase():r}function bt(e){const t=["th","st","nd","rd"],n=e%100;return e+(t[(n-20)%10]||t[n]||t[0])}function lu(e,t,n={}){var s;const r=e.getFullYear(),i=e.getMonth(),o=e.getDate(),l=e.getHours(),a=e.getMinutes(),u=e.getSeconds(),c=e.getMilliseconds(),f=e.getDay(),p=(s=n.customMeridiem)!=null?s:ou,g={Yo:()=>bt(r),YY:()=>String(r).slice(-2),YYYY:()=>r,M:()=>i+1,Mo:()=>bt(i+1),MM:()=>`${i+1}`.padStart(2,"0"),MMM:()=>e.toLocaleDateString(q(n.locales),{month:"short"}),MMMM:()=>e.toLocaleDateString(q(n.locales),{month:"long"}),D:()=>String(o),Do:()=>bt(o),DD:()=>`${o}`.padStart(2,"0"),H:()=>String(l),Ho:()=>bt(l),HH:()=>`${l}`.padStart(2,"0"),h:()=>`${l%12||12}`.padStart(1,"0"),ho:()=>bt(l%12||12),hh:()=>`${l%12||12}`.padStart(2,"0"),m:()=>String(a),mo:()=>bt(a),mm:()=>`${a}`.padStart(2,"0"),s:()=>String(u),so:()=>bt(u),ss:()=>`${u}`.padStart(2,"0"),SSS:()=>`${c}`.padStart(3,"0"),d:()=>f,dd:()=>e.toLocaleDateString(q(n.locales),{weekday:"narrow"}),ddd:()=>e.toLocaleDateString(q(n.locales),{weekday:"short"}),dddd:()=>e.toLocaleDateString(q(n.locales),{weekday:"long"}),A:()=>p(l,a),AA:()=>p(l,a,!1,!0),a:()=>p(l,a,!0),aa:()=>p(l,a,!0,!0)};return t.replace(iu,(b,_)=>{var I,y;return(y=_??((I=g[b])==null?void 0:I.call(g)))!=null?y:b})}function au(e){if(e===null)return new Date(Number.NaN);if(e===void 0)return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){const t=e.match(ru);if(t){const n=t[2]-1||0,s=(t[7]||"0").substring(0,3);return new Date(t[1],n,t[3]||1,t[4]||0,t[5]||0,t[6]||0,s)}}return new Date(e)}function Bf(e,t="HH:mm:ss",n={}){return z(()=>lu(au(q(e)),q(t),n))}function Qo(e,t=1e3,n={}){const{immediate:s=!0,immediateCallback:r=!1}=n;let i=null;const o=k(!1);function l(){i&&(clearInterval(i),i=null)}function a(){o.value=!1,l()}function u(){const c=q(t);c<=0||(o.value=!0,r&&e(),l(),o.value&&(i=setInterval(e,c)))}if(s&&dt&&u(),ae(t)||typeof t=="function"){const c=ce(t,()=>{o.value&&dt&&u()});Ge(c)}return Ge(a),{isActive:o,pause:a,resume:u}}function Wf(e,t={}){var n;const s=k((n=t.initialValue)!=null?n:null);return ce(e,()=>s.value=Xn(),t),s}function cu(e,t,n={}){const{immediate:s=!0}=n,r=k(!1);let i=null;function o(){i&&(clearTimeout(i),i=null)}function l(){r.value=!1,o()}function a(...u){o(),r.value=!0,i=setTimeout(()=>{r.value=!1,i=null,e(...u)},q(t))}return s&&(r.value=!0,dt&&a()),Ge(l),{isPending:Wt(r),start:a,stop:l}}function Kf(e,t,n={}){const{debounce:s=0,maxWait:r=void 0,...i}=n;return pr(e,t,{...i,eventFilter:hr(s,{maxWait:r})})}function uu(e,t,n={}){const{eventFilter:s=ds,...r}=n,i=fs(s,t);let o,l,a;if(r.flush==="sync"){const u=k(!1);l=()=>{},o=c=>{u.value=!0,c(),u.value=!1},a=ce(e,(...c)=>{u.value||i(...c)},r)}else{const u=[],c=k(0),f=k(0);l=()=>{c.value=f.value},u.push(ce(e,()=>{f.value++},{...r,flush:"sync"})),o=p=>{const g=f.value;p(),c.value+=f.value-g},u.push(ce(e,(...p)=>{const g=c.value>0&&c.value===f.value;c.value=0,f.value=0,!g&&i(...p)},r)),a=()=>{u.forEach(p=>p())}}return{stop:a,ignoreUpdates:o,ignorePrevAsyncUpdates:l}}function qf(e,t,n){const s=ce(e,(...r)=>(Kt(()=>s()),t(...r)),n);return s}function Yf(e,t,n={}){const{throttle:s=0,trailing:r=!0,leading:i=!0,...o}=n;return pr(e,t,{...o,eventFilter:Qc(s,r,i)})}var li={};const de=dt?window:void 0,fu=dt?window.document:void 0,mr=dt?window.navigator:void 0;function Fe(e){var t;const n=q(e);return(t=n==null?void 0:n.$el)!=null?t:n}function J(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=de):[t,n,s,r]=e,!t)return tt;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(c=>c()),i.length=0},l=(c,f,p,g)=>(c.addEventListener(f,p,g),()=>c.removeEventListener(f,p,g)),a=ce(()=>[Fe(t),q(r)],([c,f])=>{if(o(),!c)return;const p=Xc(f)?{...f}:f;i.push(...n.flatMap(g=>s.map(b=>l(c,g,b,p))))},{immediate:!0,flush:"post"}),u=()=>{a(),o()};return Ge(u),u}let ai=!1;function Gf(e,t,n={}){const{window:s=de,ignore:r=[],capture:i=!0,detectIframe:o=!1}=n;if(!s)return tt;zc&&!ai&&(ai=!0,Array.from(s.document.body.children).forEach(g=>g.addEventListener("click",tt)),s.document.documentElement.addEventListener("click",tt));let l=!0;const a=g=>q(r).some(b=>{if(typeof b=="string")return Array.from(s.document.querySelectorAll(b)).some(_=>_===g.target||g.composedPath().includes(_));{const _=Fe(b);return _&&(g.target===_||g.composedPath().includes(_))}}),u=g=>{const b=Fe(e);if(!(!b||b===g.target||g.composedPath().includes(b))){if(g.detail===0&&(l=!a(g)),!l){l=!0;return}t(g)}};let c=!1;const f=[J(s,"click",g=>{c||(c=!0,setTimeout(()=>{c=!1},0),u(g))},{passive:!0,capture:i}),J(s,"pointerdown",g=>{const b=Fe(e);l=!a(g)&&!!(b&&!g.composedPath().includes(b))},{passive:!0}),o&&J(s,"blur",g=>{setTimeout(()=>{var b;const _=Fe(e);((b=s.document.activeElement)==null?void 0:b.tagName)==="IFRAME"&&!(_!=null&&_.contains(s.document.activeElement))&&t(g)},0)})].filter(Boolean);return()=>f.forEach(g=>g())}function du(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Zo(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=de,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,a=du(t);return J(r,i,c=>{c.repeat&&q(l)||a(c)&&n(c)},o)}function Xf(e,t,n={}){return Zo(e,t,{...n,eventName:"keydown"})}function zf(e,t,n={}){return Zo(e,t,{...n,eventName:"keyup"})}function hu(){const e=k(!1),t=yn();return t&&It(()=>{e.value=!0},t),e}function mt(e){const t=hu();return z(()=>(t.value,!!e()))}function el(e,t={}){const{immediate:n=!0,fpsLimit:s=void 0,window:r=de}=t,i=k(!1),o=s?1e3/s:null;let l=0,a=null;function u(p){if(!i.value||!r)return;l||(l=p);const g=p-l;if(o&&gn&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=k(!1),o=u=>{i.value=u.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},a=xo(()=>{s.value&&(l(),r=n.matchMedia(q(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return Ge(()=>{a(),l(),r=void 0}),i}function Jf(e){const{name:t,window:n=de}=e,s=mt(()=>n&&"BroadcastChannel"in n),r=k(!1),i=k(),o=k(),l=Ot(null),a=c=>{i.value&&i.value.postMessage(c)},u=()=>{i.value&&i.value.close(),r.value=!0};return s.value&&hs(()=>{l.value=null,i.value=new BroadcastChannel(t),i.value.addEventListener("message",c=>{o.value=c.data},{passive:!0}),i.value.addEventListener("messageerror",c=>{l.value=c},{passive:!0}),i.value.addEventListener("close",()=>{r.value=!0})}),Ge(()=>{u()}),{isSupported:s,channel:i,data:o,post:a,close:u,error:l,isClosed:r}}function Gs(e,t={}){const{controls:n=!1,navigator:s=mr}=t,r=mt(()=>s&&"permissions"in s),i=Ot(),o=typeof e=="string"?{name:e}:e,l=Ot(),a=()=>{var c,f;l.value=(f=(c=i.value)==null?void 0:c.state)!=null?f:"prompt"};J(i,"change",a);const u=eu(async()=>{if(r.value){if(!i.value)try{i.value=await s.permissions.query(o)}catch{i.value=void 0}finally{a()}if(n)return ee(i.value)}});return u(),n?{state:l,isSupported:r,query:u}:l}function Qf(e={}){const{navigator:t=mr,read:n=!1,source:s,copiedDuring:r=1500,legacy:i=!1}=e,o=mt(()=>t&&"clipboard"in t),l=Gs("clipboard-read"),a=Gs("clipboard-write"),u=z(()=>o.value||i),c=k(""),f=k(!1),p=cu(()=>f.value=!1,r);function g(){o.value&&y(l.value)?t.clipboard.readText().then(x=>{c.value=x}):c.value=I()}u.value&&n&&J(["copy","cut"],g);async function b(x=q(s)){u.value&&x!=null&&(o.value&&y(a.value)?await t.clipboard.writeText(x):_(x),c.value=x,f.value=!0,p.start())}function _(x){const m=document.createElement("textarea");m.value=x??"",m.style.position="absolute",m.style.opacity="0",document.body.appendChild(m),m.select(),document.execCommand("copy"),m.remove()}function I(){var x,m,v;return(v=(m=(x=document==null?void 0:document.getSelection)==null?void 0:x.call(document))==null?void 0:m.toString())!=null?v:""}function y(x){return x==="granted"||x==="prompt"}return{isSupported:u,text:c,copied:f,copy:b}}function nl(e){return JSON.parse(JSON.stringify(e))}const Mn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof li<"u"?li:typeof self<"u"?self:{},In="__vueuse_ssr_handlers__",pu=mu();function mu(){return In in Mn||(Mn[In]=Mn[In]||{}),Mn[In]}function sl(e,t){return pu[e]||t}function gr(e){return tl("(prefers-color-scheme: dark)",e)}function gu(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const vu={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},ci="vueuse-storage";function yu(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:u=!1,shallow:c,window:f=de,eventFilter:p,onError:g=S=>{console.error(S)},initOnMounted:b}=s,_=(c?Ot:k)(typeof t=="function"?t():t);if(!n)try{n=sl("getDefaultStorage",()=>{var S;return(S=de)==null?void 0:S.localStorage})()}catch(S){g(S)}if(!n)return _;const I=q(t),y=gu(I),x=(r=s.serializer)!=null?r:vu[y],{pause:m,resume:v}=Jo(_,()=>H(_.value),{flush:i,deep:o,eventFilter:p});f&&l&&hs(()=>{n instanceof Storage?J(f,"storage",L):J(f,ci,F),b&&L()}),b||L();function E(S,$){if(f){const T={key:e,oldValue:S,newValue:$,storageArea:n};f.dispatchEvent(n instanceof Storage?new StorageEvent("storage",T):new CustomEvent(ci,{detail:T}))}}function H(S){try{const $=n.getItem(e);if(S==null)E($,null),n.removeItem(e);else{const T=x.write(S);$!==T&&(n.setItem(e,T),E($,T))}}catch($){g($)}}function V(S){const $=S?S.newValue:n.getItem(e);if($==null)return a&&I!=null&&n.setItem(e,x.write(I)),I;if(!S&&u){const T=x.read($);return typeof u=="function"?u(T,I):y==="object"&&!Array.isArray(T)?{...I,...T}:T}else return typeof $!="string"?$:x.read($)}function L(S){if(!(S&&S.storageArea!==n)){if(S&&S.key==null){_.value=I;return}if(!(S&&S.key!==e)){m();try{(S==null?void 0:S.newValue)!==x.write(_.value)&&(_.value=V(S))}catch($){g($)}finally{S?Kt(v):v()}}}}function F(S){L(S.detail)}return _}const bu="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function wu(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=de,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:a,emitAuto:u,disableTransition:c=!0}=e,f={auto:"",light:"light",dark:"dark",...e.modes||{}},p=gr({window:r}),g=z(()=>p.value?"dark":"light"),b=a||(o==null?zo(s):yu(o,s,i,{window:r,listenToStorageChanges:l})),_=z(()=>b.value==="auto"?g.value:b.value),I=sl("updateHTMLAttrs",(v,E,H)=>{const V=typeof v=="string"?r==null?void 0:r.document.querySelector(v):Fe(v);if(!V)return;const L=new Set,F=new Set;let S=null;if(E==="class"){const T=H.split(/\s/g);Object.values(f).flatMap(K=>(K||"").split(/\s/g)).filter(Boolean).forEach(K=>{T.includes(K)?L.add(K):F.add(K)})}else S={key:E,value:H};if(L.size===0&&F.size===0&&S===null)return;let $;c&&($=r.document.createElement("style"),$.appendChild(document.createTextNode(bu)),r.document.head.appendChild($));for(const T of L)V.classList.add(T);for(const T of F)V.classList.remove(T);S&&V.setAttribute(S.key,S.value),c&&(r.getComputedStyle($).opacity,document.head.removeChild($))});function y(v){var E;I(t,n,(E=f[v])!=null?E:v)}function x(v){e.onChanged?e.onChanged(v,y):y(v)}ce(_,x,{flush:"post",immediate:!0}),hs(()=>x(_.value));const m=z({get(){return u?b.value:_.value},set(v){b.value=v}});try{return Object.assign(m,{store:b,system:g,state:_})}catch{return m}}function Zf(e,t){const n=Ot(u()),s=zo(e),r=z({get(){var c;const f=s.value;let p=t!=null&&t.getIndexOf?t.getIndexOf(n.value,f):f.indexOf(n.value);return p<0&&(p=(c=t==null?void 0:t.fallbackIndex)!=null?c:0),p},set(c){i(c)}});function i(c){const f=s.value,p=f.length,g=(c%p+p)%p,b=f[g];return n.value=b,b}function o(c=1){return i(r.value+c)}function l(c=1){return o(c)}function a(c=1){return o(-c)}function u(){var c,f;return(f=q((c=t==null?void 0:t.initialValue)!=null?c:q(e)[0]))!=null?f:void 0}return ce(s,()=>i(r.value)),{state:n,index:r,next:l,prev:a,go:i}}function _u(e={}){const{valueDark:t="dark",valueLight:n="",window:s=de}=e,r=wu({...e,onChanged:(l,a)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,l==="dark",a,l):a(l)},modes:{dark:t,light:n}}),i=z(()=>r.system?r.system.value:gr({window:s}).value?"dark":"light");return z({get(){return r.value==="dark"},set(l){const a=l?"dark":"light";i.value===a?r.value="auto":r.value=a}})}function rl(e){return e}function Su(e,t){return e.value=t}function xu(e){return e?typeof e=="function"?e:nl:rl}function Eu(e){return e?typeof e=="function"?e:nl:rl}function Tu(e,t={}){const{clone:n=!1,dump:s=xu(n),parse:r=Eu(n),setSource:i=Su}=t;function o(){return en({snapshot:s(e.value),timestamp:Xn()})}const l=k(o()),a=k([]),u=k([]),c=m=>{i(e,r(m.snapshot)),l.value=m},f=()=>{a.value.unshift(l.value),l.value=o(),t.capacity&&a.value.length>t.capacity&&a.value.splice(t.capacity,Number.POSITIVE_INFINITY),u.value.length&&u.value.splice(0,u.value.length)},p=()=>{a.value.splice(0,a.value.length),u.value.splice(0,u.value.length)},g=()=>{const m=a.value.shift();m&&(u.value.unshift(l.value),c(m))},b=()=>{const m=u.value.shift();m&&(a.value.unshift(l.value),c(m))},_=()=>{c(l.value)},I=z(()=>[l.value,...a.value]),y=z(()=>a.value.length>0),x=z(()=>u.value.length>0);return{source:e,undoStack:a,redoStack:u,last:l,history:I,canUndo:y,canRedo:x,clear:p,commit:f,reset:_,undo:g,redo:b}}function Cu(e,t={}){const{deep:n=!1,flush:s="pre",eventFilter:r}=t,{eventFilter:i,pause:o,resume:l,isActive:a}=Go(r),{ignoreUpdates:u,ignorePrevAsyncUpdates:c,stop:f}=uu(e,I,{deep:n,flush:s,eventFilter:i});function p(v,E){c(),u(()=>{v.value=E})}const g=Tu(e,{...t,clone:t.clone||n,setSource:p}),{clear:b,commit:_}=g;function I(){c(),_()}function y(v){l(),v&&I()}function x(v){let E=!1;const H=()=>E=!0;u(()=>{v(H)}),E||I()}function m(){f(),b()}return{...g,isTracking:a,pause:o,resume:y,commit:I,batch:x,dispose:m}}function ed(e,t={}){const n=t.debounce?hr(t.debounce):void 0;return{...Cu(e,{...t,eventFilter:n})}}function td(e={}){const{window:t=de,eventFilter:n=ds}=e,s=k({x:null,y:null,z:null}),r=k({alpha:null,beta:null,gamma:null}),i=k(0),o=k({x:null,y:null,z:null});if(t){const l=fs(n,a=>{s.value=a.acceleration,o.value=a.accelerationIncludingGravity,r.value=a.rotationRate,i.value=a.interval});J(t,"devicemotion",l)}return{acceleration:s,accelerationIncludingGravity:o,rotationRate:r,interval:i}}function nd(e={}){const{window:t=de}=e,n=mt(()=>t&&"DeviceOrientationEvent"in t),s=k(!1),r=k(null),i=k(null),o=k(null);return t&&n.value&&J(t,"deviceorientation",l=>{s.value=l.absolute,r.value=l.alpha,i.value=l.beta,o.value=l.gamma}),{isSupported:n,isAbsolute:s,alpha:r,beta:i,gamma:o}}function sd(e={}){const{navigator:t=mr,requestPermissions:n=!1,constraints:s={audio:!0,video:!0},onUpdated:r}=e,i=k([]),o=z(()=>i.value.filter(b=>b.kind==="videoinput")),l=z(()=>i.value.filter(b=>b.kind==="audioinput")),a=z(()=>i.value.filter(b=>b.kind==="audiooutput")),u=mt(()=>t&&t.mediaDevices&&t.mediaDevices.enumerateDevices),c=k(!1);let f;async function p(){u.value&&(i.value=await t.mediaDevices.enumerateDevices(),r==null||r(i.value),f&&(f.getTracks().forEach(b=>b.stop()),f=null))}async function g(){if(!u.value)return!1;if(c.value)return!0;const{state:b,query:_}=Gs("camera",{controls:!0});if(await _(),b.value!=="granted"){let I=!0;try{f=await t.mediaDevices.getUserMedia(s)}catch{f=null,I=!1}p(),c.value=I}else c.value=!0;return c.value}return u.value&&(n&&g(),J(t.mediaDevices,"devicechange",p),p()),{devices:i,ensurePermissions:g,permissionGranted:c,videoInputs:o,audioInputs:l,audioOutputs:a,isSupported:u}}function rd(e,t={}){var n,s;const{pointerTypes:r,preventDefault:i,stopPropagation:o,exact:l,onMove:a,onEnd:u,onStart:c,initialValue:f,axis:p="both",draggingElement:g=de,containerElement:b,handle:_=e,buttons:I=[0]}=t,y=k((n=q(f))!=null?n:{x:0,y:0}),x=k(),m=L=>r?r.includes(L.pointerType):!0,v=L=>{q(i)&&L.preventDefault(),q(o)&&L.stopPropagation()},E=L=>{var F;if(!q(I).includes(L.button)||q(t.disabled)||!m(L)||q(l)&&L.target!==q(e))return;const S=q(b),$=(F=S==null?void 0:S.getBoundingClientRect)==null?void 0:F.call(S),T=q(e).getBoundingClientRect(),K={x:L.clientX-(S?T.left-$.left+S.scrollLeft:T.left),y:L.clientY-(S?T.top-$.top+S.scrollTop:T.top)};(c==null?void 0:c(K,L))!==!1&&(x.value=K,v(L))},H=L=>{if(q(t.disabled)||!m(L)||!x.value)return;const F=q(b),S=q(e).getBoundingClientRect();let{x:$,y:T}=y.value;(p==="x"||p==="both")&&($=L.clientX-x.value.x,F&&($=Math.min(Math.max(0,$),F.scrollWidth-S.width))),(p==="y"||p==="both")&&(T=L.clientY-x.value.y,F&&(T=Math.min(Math.max(0,T),F.scrollHeight-S.height))),y.value={x:$,y:T},a==null||a(y.value,L),v(L)},V=L=>{q(t.disabled)||!m(L)||x.value&&(x.value=void 0,u==null||u(y.value,L),v(L))};if(dt){const L={capture:(s=t.capture)!=null?s:!0};J(_,"pointerdown",E,L),J(g,"pointermove",H,L),J(g,"pointerup",V,L)}return{...su(y),position:y,isDragging:z(()=>!!x.value),style:z(()=>`left:${y.value.x}px;top:${y.value.y}px;`)}}function id(e,t,n={}){const{window:s=de,...r}=n;let i;const o=mt(()=>s&&"ResizeObserver"in s),l=()=>{i&&(i.disconnect(),i=void 0)},a=z(()=>{const f=q(e);return Array.isArray(f)?f.map(p=>Fe(p)):[Fe(f)]}),u=ce(a,f=>{if(l(),o.value&&s){i=new ResizeObserver(t);for(const p of f)p&&i.observe(p,r)}},{immediate:!0,flush:"post"}),c=()=>{l(),u()};return Ge(c),{isSupported:o,stop:c}}function od(e,t={}){const{initialValue:n=!1,focusVisible:s=!1,preventScroll:r=!1}=t,i=k(!1),o=z(()=>Fe(e));J(o,"focus",a=>{var u,c;(!s||(c=(u=a.target).matches)!=null&&c.call(u,":focus-visible"))&&(i.value=!0)}),J(o,"blur",()=>i.value=!1);const l=z({get:()=>i.value,set(a){var u,c;!a&&i.value?(u=o.value)==null||u.blur():a&&!i.value&&((c=o.value)==null||c.focus({preventScroll:r}))}});return ce(o,()=>{l.value=n},{immediate:!0,flush:"post"}),{focused:l}}const ui=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function ld(e,t={}){const{document:n=fu,autoExit:s=!1}=t,r=z(()=>{var y;return(y=Fe(e))!=null?y:n==null?void 0:n.querySelector("html")}),i=k(!1),o=z(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(y=>n&&y in n||r.value&&y in r.value)),l=z(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(y=>n&&y in n||r.value&&y in r.value)),a=z(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(y=>n&&y in n||r.value&&y in r.value)),u=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(y=>n&&y in n),c=mt(()=>r.value&&n&&o.value!==void 0&&l.value!==void 0&&a.value!==void 0),f=()=>u?(n==null?void 0:n[u])===r.value:!1,p=()=>{if(a.value){if(n&&n[a.value]!=null)return n[a.value];{const y=r.value;if((y==null?void 0:y[a.value])!=null)return!!y[a.value]}}return!1};async function g(){if(!(!c.value||!i.value)){if(l.value)if((n==null?void 0:n[l.value])!=null)await n[l.value]();else{const y=r.value;(y==null?void 0:y[l.value])!=null&&await y[l.value]()}i.value=!1}}async function b(){if(!c.value||i.value)return;p()&&await g();const y=r.value;o.value&&(y==null?void 0:y[o.value])!=null&&(await y[o.value](),i.value=!0)}async function _(){await(i.value?g():b())}const I=()=>{const y=p();(!y||y&&f())&&(i.value=y)};return J(n,ui,I,!1),J(()=>Fe(r),ui,I,!1),s&&Ge(g),{isSupported:c,isFullscreen:i,enter:b,exit:g,toggle:_}}const Au={page:e=>[e.pageX,e.pageY],client:e=>[e.clientX,e.clientY],screen:e=>[e.screenX,e.screenY],movement:e=>e instanceof Touch?null:[e.movementX,e.movementY]};function Ou(e={}){const{type:t="page",touch:n=!0,resetOnTouchEnds:s=!1,initialValue:r={x:0,y:0},window:i=de,target:o=i,scroll:l=!0,eventFilter:a}=e;let u=null;const c=k(r.x),f=k(r.y),p=k(null),g=typeof t=="function"?t:Au[t],b=E=>{const H=g(E);u=E,H&&([c.value,f.value]=H,p.value="mouse")},_=E=>{if(E.touches.length>0){const H=g(E.touches[0]);H&&([c.value,f.value]=H,p.value="touch")}},I=()=>{if(!u||!i)return;const E=g(u);u instanceof MouseEvent&&E&&(c.value=E[0]+i.scrollX,f.value=E[1]+i.scrollY)},y=()=>{c.value=r.x,f.value=r.y},x=a?E=>a(()=>b(E),{}):E=>b(E),m=a?E=>a(()=>_(E),{}):E=>_(E),v=a?()=>a(()=>I(),{}):()=>I();if(o){const E={passive:!0};J(o,["mousemove","dragover"],x,E),n&&t!=="movement"&&(J(o,["touchstart","touchmove"],m,E),s&&J(o,"touchend",y,E)),l&&t==="page"&&J(i,"scroll",v,{passive:!0})}return{x:c,y:f,sourceType:p}}function ad(e,t={}){const{handleOutside:n=!0,window:s=de}=t,r=t.type||"page",{x:i,y:o,sourceType:l}=Ou(t),a=k(e??(s==null?void 0:s.document.body)),u=k(0),c=k(0),f=k(0),p=k(0),g=k(0),b=k(0),_=k(!0);let I=()=>{};return s&&(I=ce([a,i,o],()=>{const y=Fe(a);if(!y||!(y instanceof Element))return;const{left:x,top:m,width:v,height:E}=y.getBoundingClientRect();f.value=x+(r==="page"?s.pageXOffset:0),p.value=m+(r==="page"?s.pageYOffset:0),g.value=E,b.value=v;const H=i.value-f.value,V=o.value-p.value;_.value=v===0||E===0||H<0||V<0||H>v||V>E,(n||!_.value)&&(u.value=H,c.value=V)},{immediate:!0}),J(document,"mouseleave",()=>{_.value=!0})),{x:i,y:o,sourceType:l,elementX:u,elementY:c,elementPositionX:f,elementPositionY:p,elementHeight:g,elementWidth:b,isOutside:_,stop:I}}function cd(e={}){const{touch:t=!0,drag:n=!0,capture:s=!1,initialValue:r=!1,window:i=de}=e,o=k(r),l=k(null);if(!i)return{pressed:o,sourceType:l};const a=f=>()=>{o.value=!0,l.value=f},u=()=>{o.value=!1,l.value=null},c=z(()=>Fe(e.target)||i);return J(c,"mousedown",a("mouse"),{passive:!0,capture:s}),J(i,"mouseleave",u,{passive:!0,capture:s}),J(i,"mouseup",u,{passive:!0,capture:s}),n&&(J(c,"dragstart",a("mouse"),{passive:!0,capture:s}),J(i,"drop",u,{passive:!0,capture:s}),J(i,"dragend",u,{passive:!0,capture:s})),t&&(J(c,"touchstart",a("touch"),{passive:!0,capture:s}),J(i,"touchend",u,{passive:!0,capture:s}),J(i,"touchcancel",u,{passive:!0,capture:s})),{pressed:o,sourceType:l}}function Mu(e={}){const{controls:t=!1,interval:n="requestAnimationFrame"}=e,s=k(new Date),r=()=>s.value=new Date,i=n==="requestAnimationFrame"?el(r,{immediate:!0}):Qo(r,n,{immediate:!0});return t?{now:s,...i}:s}const Iu=[{max:6e4,value:1e3,name:"second"},{max:276e4,value:6e4,name:"minute"},{max:72e6,value:36e5,name:"hour"},{max:5184e5,value:864e5,name:"day"},{max:24192e5,value:6048e5,name:"week"},{max:28512e6,value:2592e6,name:"month"},{max:Number.POSITIVE_INFINITY,value:31536e6,name:"year"}],Ru={justNow:"just now",past:e=>e.match(/\d/)?`${e} ago`:e,future:e=>e.match(/\d/)?`in ${e}`:e,month:(e,t)=>e===1?t?"last month":"next month":`${e} month${e>1?"s":""}`,year:(e,t)=>e===1?t?"last year":"next year":`${e} year${e>1?"s":""}`,day:(e,t)=>e===1?t?"yesterday":"tomorrow":`${e} day${e>1?"s":""}`,week:(e,t)=>e===1?t?"last week":"next week":`${e} week${e>1?"s":""}`,hour:e=>`${e} hour${e>1?"s":""}`,minute:e=>`${e} minute${e>1?"s":""}`,second:e=>`${e} second${e>1?"s":""}`,invalid:""};function Pu(e){return e.toISOString().slice(0,10)}function ud(e,t={}){const{controls:n=!1,updateInterval:s=3e4}=t,{now:r,...i}=Mu({interval:s,controls:!0}),o=z(()=>Fu(new Date(q(e)),t,q(r)));return n?{timeAgo:o,...i}:o}function Fu(e,t={},n=Date.now()){var s;const{max:r,messages:i=Ru,fullDateFormatter:o=Pu,units:l=Iu,showSecond:a=!1,rounding:u="round"}=t,c=typeof u=="number"?I=>+I.toFixed(u):Math[u],f=+n-+e,p=Math.abs(f);function g(I,y){return c(Math.abs(I)/y.value)}function b(I,y){const x=g(I,y),m=I>0,v=_(y.name,x,m);return _(m?"past":"future",v,m)}function _(I,y,x){const m=i[I];return typeof m=="function"?m(y,x):m.replace("{0}",y.toString())}if(p<6e4&&!a)return i.justNow;if(typeof r=="number"&&p>r)return o(new Date(e));if(typeof r=="string"){const I=(s=l.find(y=>y.name===r))==null?void 0:s.max;if(I&&p>I)return o(new Date(e))}for(const[I,y]of l.entries()){if(g(f,y)<=0&&l[I-1])return b(f,l[I-1]);if(po.value=Xn()+n,a=i?()=>{l(),i(o.value)}:l,u=r==="requestAnimationFrame"?el(a,{immediate:s}):Qo(a,r,{immediate:s});return t?{timestamp:o,...u}:o}const Lu={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]},dd=Object.assign({},{linear:Xo},Lu);function Du([e,t,n,s]){const r=(c,f)=>1-3*f+3*c,i=(c,f)=>3*f-6*c,o=c=>3*c,l=(c,f,p)=>((r(f,p)*c+i(f,p))*c+o(f))*c,a=(c,f,p)=>3*r(f,p)*c*c+2*i(f,p)*c+o(f),u=c=>{let f=c;for(let p=0;p<4;++p){const g=a(f,e,n);if(g===0)return f;const b=l(f,e,n)-c;f-=b/g}return f};return c=>e===t&&n===s?c:l(u(c),t,s)}function fi(e,t,n){return e+n*(t-e)}function Ms(e){return(typeof e=="number"?[e]:e)||[]}function $u(e,t,n,s={}){var r,i;const o=q(t),l=q(n),a=Ms(o),u=Ms(l),c=(r=q(s.duration))!=null?r:1e3,f=Date.now(),p=Date.now()+c,g=typeof s.transition=="function"?s.transition:(i=q(s.transition))!=null?i:Xo,b=typeof g=="function"?g:Du(g);return new Promise(_=>{e.value=o;const I=()=>{var y;if((y=s.abort)!=null&&y.call(s)){_();return}const x=Date.now(),m=b((x-f)/c),v=Ms(e.value).map((E,H)=>fi(a[H],u[H],m));Array.isArray(e.value)?e.value=v.map((E,H)=>{var V,L;return fi((V=a[H])!=null?V:0,(L=u[H])!=null?L:0,m)}):typeof e.value=="number"&&(e.value=v[0]),x{const i=q(e);return typeof i=="number"?i:i.map(q)},r=k(s());return ce(s,async i=>{var o,l;if(q(t.disabled))return;const a=++n;if(t.delay&&await Zc(q(t.delay)),a!==n)return;const u=Array.isArray(i)?i.map(q):q(i);(o=t.onStarted)==null||o.call(t),await $u(r,r.value,u,{...t,abort:()=>{var c;return a!==n||((c=t.abort)==null?void 0:c.call(t))}}),(l=t.onFinished)==null||l.call(t)},{deep:!0}),ce(()=>q(t.disabled),i=>{i&&(n++,r.value=s())}),Ge(()=>{n++}),z(()=>q(t.disabled)?s():r.value)}function pd(e="history",t={}){const{initialValue:n={},removeNullishValues:s=!0,removeFalsyValues:r=!1,write:i=!0,window:o=de}=t;if(!o)return ut(n);const l=ut({});function a(){if(e==="history")return o.location.search||"";if(e==="hash"){const y=o.location.hash||"",x=y.indexOf("?");return x>0?y.slice(x):""}else return(o.location.hash||"").replace(/^#/,"")}function u(y){const x=y.toString();if(e==="history")return`${x?`?${x}`:""}${o.location.hash||""}`;if(e==="hash-params")return`${o.location.search||""}${x?`#${x}`:""}`;const m=o.location.hash||"#",v=m.indexOf("?");return v>0?`${m.slice(0,v)}${x?`?${x}`:""}`:`${m}${x?`?${x}`:""}`}function c(){return new URLSearchParams(a())}function f(y){const x=new Set(Object.keys(l));for(const m of y.keys()){const v=y.getAll(m);l[m]=v.length>1?v:y.get(m)||"",x.delete(m)}Array.from(x).forEach(m=>delete l[m])}const{pause:p,resume:g}=Jo(l,()=>{const y=new URLSearchParams("");Object.keys(l).forEach(x=>{const m=l[x];Array.isArray(m)?m.forEach(v=>y.append(x,v)):s&&m==null||r&&!m?y.delete(x):y.set(x,m)}),b(y)},{deep:!0});function b(y,x){p(),x&&f(y),o.history.replaceState(o.history.state,o.document.title,o.location.pathname+u(y)),g()}function _(){i&&b(c(),!0)}J(o,"popstate",_,!1),e!=="history"&&J(o,"hashchange",_,!1);const I=c();return I.keys().next().value?f(I):Object.assign(l,n),l}function md(e={}){const{window:t=de,behavior:n="auto"}=e;if(!t)return{x:k(0),y:k(0)};const s=k(t.scrollX),r=k(t.scrollY),i=z({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),o=z({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return J(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:i,y:o}}function gd(e={}){const{window:t=de,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0,type:o="inner"}=e,l=k(n),a=k(s),u=()=>{t&&(o==="outer"?(l.value=t.outerWidth,a.value=t.outerHeight):i?(l.value=t.innerWidth,a.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(u(),hs(u),J("resize",u,{passive:!0}),r){const c=tl("(orientation: portrait)");ce(c,()=>u())}return{width:l,height:a}}const Is={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var Rs={};const il=/^(?:[a-z]+:|\/\/)/i,Nu="vitepress-theme-appearance",Hu=/#.*$/,ku=/[?#].*$/,Vu=/(?:(^|\/)index)?\.(?:md|html)$/,be=typeof document<"u",ol={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function ju(e,t,n=!1){if(t===void 0)return!1;if(e=di(`/${e}`),n)return new RegExp(t).test(e);if(di(t)!==e)return!1;const s=t.match(Hu);return s?(be?location.hash:"")===s[0]:!0}function di(e){return decodeURI(e).replace(ku,"").replace(Vu,"$1")}function Uu(e){return il.test(e)}function Bu(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!Uu(n)&&ju(t,`/${n}/`,!0))||"root"}function Wu(e,t){var s,r,i,o,l,a,u;const n=Bu(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:al(e.head,((a=e.locales[n])==null?void 0:a.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function ll(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Ku(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function Ku(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function qu(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function al(e,t){return[...e.filter(n=>!qu(t,n)),...t]}const Yu=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Gu=/^[a-z]:/i;function hi(e){const t=Gu.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Yu,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const Ps=new Set;function Xu(e){if(Ps.size===0){const n=typeof process=="object"&&(Rs==null?void 0:Rs.VITE_EXTRA_EXTENSIONS)||(Is==null?void 0:Is.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>Ps.add(s))}const t=e.split(".").pop();return t==null||!Ps.has(t.toLowerCase())}const zu=Symbol(),Ct=Ot(Yc);function vd(e){const t=z(()=>Wu(Ct.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?k(!0):n==="force-auto"?gr():n?_u({storageKey:Nu,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):k(!1),r=k(be?location.hash:"");return be&&window.addEventListener("hashchange",()=>{r.value=location.hash}),ce(()=>e.data,()=>{r.value=be?location.hash:""}),{site:t,theme:z(()=>t.value.themeConfig),page:z(()=>e.data),frontmatter:z(()=>e.data.frontmatter),params:z(()=>e.data.params),lang:z(()=>t.value.lang),dir:z(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:z(()=>t.value.localeIndex||"root"),title:z(()=>ll(t.value,e.data)),description:z(()=>e.data.description||t.value.description),isDark:s,hash:z(()=>r.value)}}function Ju(){const e=Vt(zu);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Qu(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function pi(e){return il.test(e)||!e.startsWith("/")?e:Qu(Ct.value.base,e)}function Zu(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),be){const n="/";t=hi(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${hi(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let ef=[];function yd(e,t,n){return{setup(){const s=Ot();return It(async()=>{let r=await e();r&&(r.__esModule||r[Symbol.toStringTag]==="Module")&&(r=r.default),s.value=r,await(n==null?void 0:n())}),()=>s.value?qn(s.value):null}}}function tf(){let e=Ct.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=mi(e,n);else if(Array.isArray(e))for(const s of e){const r=mi(s,n);if(r){t=r;break}}return t}function mi(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const nf=Symbol(),cl="http://a.com",sf=()=>({path:"/",component:null,data:ol});function bd(e,t){const n=ut(sf()),s={route:n,go:r};async function r(l=be?location.href:"/"){var a,u;l=Fs(l),await((a=s.onBeforeRouteChange)==null?void 0:a.call(s,l))!==!1&&(be&&l!==Fs(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((u=s.onAfterRouteChanged)==null?void 0:u.call(s,l)))}let i=null;async function o(l,a=0,u=!1){var p,g;if(await((p=s.onBeforePageLoad)==null?void 0:p.call(s,l))===!1)return;const c=new URL(l,cl),f=i=c.pathname;try{let b=await e(f);if(!b)throw new Error(`Page not found: ${f}`);if(i===f){i=null;const{default:_,__pageData:I}=b;if(!_)throw new Error(`Invalid route component: ${_}`);await((g=s.onAfterPageLoad)==null?void 0:g.call(s,l)),n.path=be?f:pi(f),n.component=en(_),n.data=en(I),be&&Kt(()=>{let y=Ct.value.base+I.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!Ct.value.cleanUrls&&!y.endsWith("/")&&(y+=".html"),y!==c.pathname&&(c.pathname=y,l=y+c.search+c.hash,history.replaceState({},"",l)),c.hash&&!a){let x=null;try{x=document.getElementById(decodeURIComponent(c.hash).slice(1))}catch(m){console.warn(m)}if(x){gi(x,c.hash);return}}window.scrollTo(0,a)})}}catch(b){if(!/fetch|Page not found/.test(b.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(b),!u)try{const _=await fetch(Ct.value.base+"hashmap.json");window.__VP_HASH_MAP__=await _.json(),await o(l,a,!0);return}catch{}if(i===f){i=null,n.path=be?f:pi(f),n.component=t?en(t):null;const _=be?f.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...ol,relativePath:_}}}}return be&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const a=l.target.closest("a");if(!a||a.closest(".vp-raw")||a.hasAttribute("download")||a.hasAttribute("target"))return;const u=a.getAttribute("href")??(a instanceof SVGAElement?a.getAttribute("xlink:href"):null);if(u==null)return;const{href:c,origin:f,pathname:p,hash:g,search:b}=new URL(u,a.baseURI),_=new URL(location.href);f===_.origin&&Xu(p)&&(l.preventDefault(),p===_.pathname&&b===_.search?(g!==_.hash&&(history.pushState({},"",c),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:_.href,newURL:c}))),g?gi(a,g,a.classList.contains("header-anchor")):window.scrollTo(0,0)):r(c))},{capture:!0}),window.addEventListener("popstate",async l=>{var a;l.state!==null&&(await o(Fs(location.href),l.state&&l.state.scrollPosition||0),(a=s.onAfterRouteChanged)==null||a.call(s,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function rf(){const e=Vt(nf);if(!e)throw new Error("useRouter() is called without provider.");return e}function ul(){return rf().route}function gi(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-tf()+i;requestAnimationFrame(r)}}function Fs(e){const t=new URL(e,cl);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),Ct.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const Rn=()=>ef.forEach(e=>e()),wd=Zi({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=ul(),{frontmatter:n,site:s}=Ju();return ce(n,Rn,{deep:!0,flush:"post"}),()=>qn(e.as,s.value.contentProps??{style:{position:"relative"}},[t.component?qn(t.component,{onVnodeMounted:Rn,onVnodeUpdated:Rn,onVnodeUnmounted:Rn}):"404 Page Not Found"])}}),of="modulepreload",lf=function(e){return"/"+e},vi={},_d=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(a=>{if(a=lf(a),a in vi)return;vi[a]=!0;const u=a.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${a}"]${c}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":of,u||(f.as="script"),f.crossOrigin="",f.href=a,l&&f.setAttribute("nonce",l),document.head.appendChild(f),u)return new Promise((p,g)=>{f.addEventListener("load",p),f.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${a}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},Sd=Zi({setup(e,{slots:t}){const n=k(!1);return It(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function xd(){be&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(u=>u.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const a=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);a==null||a.scrollIntoView({block:"nearest"})}})}function Ed(){if(be){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],a=i.cloneNode(!0);a.querySelectorAll(l.join(",")).forEach(c=>c.remove());let u=a.textContent||"";o&&(u=u.replace(/^ *(\$|>) /gm,"").trim()),af(u).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const c=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,c)})}})}}async function af(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function Td(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const a=Ls(l);for(const u of document.head.children)if(u.isEqualNode(a)){s.push(u);return}});return}const o=i.map(Ls);s.forEach((l,a)=>{const u=o.findIndex(c=>c==null?void 0:c.isEqualNode(l??null));u!==-1?delete o[u]:(l==null||l.remove(),delete s[a])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};xo(()=>{const i=e.data,o=t.value,l=i&&i.description,a=i&&i.frontmatter.head||[],u=ll(o,i);u!==document.title&&(document.title=u);const c=l||o.description;let f=document.querySelector("meta[name=description]");f?f.getAttribute("content")!==c&&f.setAttribute("content",c):Ls(["meta",{name:"description",content:c}]),r(al(o.head,uf(a)))})}function Ls([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&t.async==null&&(s.async=!1),s}function cf(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function uf(e){return e.filter(t=>!cf(t))}const Ds=new Set,fl=()=>document.createElement("link"),ff=e=>{const t=fl();t.rel="prefetch",t.href=e,document.head.appendChild(t)},df=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let Pn;const hf=be&&(Pn=fl())&&Pn.relList&&Pn.relList.supports&&Pn.relList.supports("prefetch")?ff:df;function Cd(){if(!be||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:a}=l;if(!Ds.has(a)){Ds.add(a);const u=Zu(a);u&&hf(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),a=l.match(/\.\w+$/);a&&a[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):Ds.add(l))})})};It(s);const r=ul();ce(()=>r.path,s),cr(()=>{n&&n.disconnect()})}export{wf as $,Ro as A,Sf as B,bf as C,If as D,ss as E,Se as F,Al as G,Zn as H,Of as I,xf as J,Kt as K,cr as L,_f as M,Af as N,Lf as O,me as P,Ef as Q,Tf as R,Df as S,Ks as T,qi as U,ae as V,gf as W,vf as X,Zi as Y,yf as Z,_d as _,jf as a,Ge as a$,$f as a0,rc as a1,pf as a2,sc as a3,Nf as a4,qn as a5,Zf as a6,Vf as a7,ul as a8,sd as a9,Kf as aA,be as aB,Td as aC,nf as aD,vd as aE,zu as aF,wd as aG,Sd as aH,Ct as aI,Hf as aJ,bd as aK,Zu as aL,Cd as aM,Ed as aN,xd as aO,dd as aP,Uf as aQ,qf as aR,ed as aS,nu as aT,td as aU,nd as aV,id as aW,zf as aX,hs as aY,Fe as aZ,fu as a_,Ot as aa,J as ab,rd as ac,ud as ad,Qf as ae,Yf as af,Pf as ag,Rf as ah,wa as ai,Mf as aj,rf as ak,od as al,Gf as am,gd as an,Ff as ao,ld as ap,Xf as aq,md as ar,pd as as,yd as at,Po as au,hd as av,ee as aw,mf as ax,Ml as ay,Bf as az,ut as b,Mu as b0,z as c,ce as d,Wf as e,fd as f,el as g,Zo as h,At as i,Jf as j,so as k,cd as l,en as m,ad as n,It as o,yn as p,kf as q,k as r,Xl as s,q as t,yu as u,Ju as v,xo as w,Ws as x,Cf as y,es as z}; diff --git a/assets/chunks/framework.CQBrk0Ry.js b/assets/chunks/framework.CQBrk0Ry.js new file mode 100644 index 0000000000..52f6706cea --- /dev/null +++ b/assets/chunks/framework.CQBrk0Ry.js @@ -0,0 +1,18 @@ +var wr={};/** +* @vue/shared v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Gs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const te={},Dt=[],Ye=()=>{},pl=()=>!1,pn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),zs=e=>e.startsWith("onUpdate:"),ue=Object.assign,Js=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ml=Object.prototype.hasOwnProperty,ne=(e,t)=>ml.call(e,t),j=Array.isArray,$t=e=>mn(e)==="[object Map]",Bt=e=>mn(e)==="[object Set]",Sr=e=>mn(e)==="[object Date]",X=e=>typeof e=="function",fe=e=>typeof e=="string",je=e=>typeof e=="symbol",re=e=>e!==null&&typeof e=="object",yi=e=>(re(e)||X(e))&&X(e.then)&&X(e.catch),bi=Object.prototype.toString,mn=e=>bi.call(e),gl=e=>mn(e).slice(8,-1),_i=e=>mn(e)==="[object Object]",Qs=e=>fe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Nt=Gs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},vl=/-(\w)/g,Le=zn(e=>e.replace(vl,(t,n)=>n?n.toUpperCase():"")),yl=/\B([A-Z])/g,nt=zn(e=>e.replace(yl,"-$1").toLowerCase()),Jn=zn(e=>e.charAt(0).toUpperCase()+e.slice(1)),vs=zn(e=>e?`on${Jn(e)}`:""),Ae=(e,t)=>!Object.is(e,t),Fn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},$n=e=>{const t=parseFloat(e);return isNaN(t)?e:t},bl=e=>{const t=fe(e)?Number(e):NaN;return isNaN(t)?e:t};let xr;const Qn=()=>xr||(xr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof wr<"u"?wr:{});function Zn(e){if(j(e)){const t={};for(let n=0;n{if(n){const s=n.split(wl);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function es(e){let t="";if(fe(e))t=e;else if(j(e))for(let n=0;ngn(n,t))}const xi=e=>!!(e&&e.__v_isRef===!0),Al=e=>fe(e)?e:e==null?"":j(e)||re(e)&&(e.toString===bi||!X(e.toString))?xi(e)?Al(e.value):JSON.stringify(e,Ei,2):String(e),Ei=(e,t)=>xi(t)?Ei(e,t.value):$t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[ys(s,i)+" =>"]=r,n),{})}:Bt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ys(n))}:je(t)?ys(t):re(t)&&!j(t)&&!_i(t)?String(t):t,ys=(e,t="")=>{var n;return je(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Te;class Ol{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Te,!t&&Te&&(this.index=(Te.scopes||(Te.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(Zt){let t=Zt;for(Zt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Qt;){let t=Qt;for(Qt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Mi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ri(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),nr(s),Rl(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function $s(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===on))return;e.globalVersion=on;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!$s(e)){e.flags&=-3;return}const n=oe,s=Ve;oe=e,Ve=!0;try{Mi(e);const r=e.fn(e._value);(t.version===0||Ae(r,e._value))&&(e._value=r,t.version++)}catch(r){throw t.version++,r}finally{oe=n,Ve=s,Ri(e),e.flags&=-3}}function nr(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)nr(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Rl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ve=!0;const Pi=[];function ht(){Pi.push(Ve),Ve=!1}function pt(){const e=Pi.pop();Ve=e===void 0?!0:e}function Er(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=oe;oe=void 0;try{t()}finally{oe=n}}}let on=0;class Il{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ts{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!oe||!Ve||oe===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==oe)n=this.activeLink=new Il(oe,this),oe.deps?(n.prevDep=oe.depsTail,oe.depsTail.nextDep=n,oe.depsTail=n):oe.deps=oe.depsTail=n,Fi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=oe.depsTail,n.nextDep=void 0,oe.depsTail.nextDep=n,oe.depsTail=n,oe.deps===n&&(oe.deps=s)}return n}trigger(t){this.version++,on++,this.notify(t)}notify(t){er();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{tr()}}}function Fi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Fi(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Nn=new WeakMap,St=Symbol(""),Ns=Symbol(""),ln=Symbol("");function _e(e,t,n){if(Ve&&oe){let s=Nn.get(e);s||Nn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new ts),r.map=s,r.key=n),r.track()}}function Qe(e,t,n,s,r,i){const o=Nn.get(e);if(!o){on++;return}const l=a=>{a&&a.trigger()};if(er(),t==="clear")o.forEach(l);else{const a=j(e),u=a&&Qs(n);if(a&&n==="length"){const c=Number(s);o.forEach((f,h)=>{(h==="length"||h===ln||!je(h)&&h>=c)&&l(f)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),u&&l(o.get(ln)),t){case"add":a?u&&l(o.get("length")):(l(o.get(St)),$t(e)&&l(o.get(Ns)));break;case"delete":a||(l(o.get(St)),$t(e)&&l(o.get(Ns)));break;case"set":$t(e)&&l(o.get(St));break}}tr()}function Pl(e,t){const n=Nn.get(e);return n&&n.get(t)}function Pt(e){const t=ee(e);return t===e?t:(_e(t,"iterate",ln),He(e)?t:t.map(we))}function ns(e){return _e(e=ee(e),"iterate",ln),e}const Fl={__proto__:null,[Symbol.iterator](){return _s(this,Symbol.iterator,we)},concat(...e){return Pt(this).concat(...e.map(t=>j(t)?Pt(t):t))},entries(){return _s(this,"entries",e=>(e[1]=we(e[1]),e))},every(e,t){return Ge(this,"every",e,t,void 0,arguments)},filter(e,t){return Ge(this,"filter",e,t,n=>n.map(we),arguments)},find(e,t){return Ge(this,"find",e,t,we,arguments)},findIndex(e,t){return Ge(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ge(this,"findLast",e,t,we,arguments)},findLastIndex(e,t){return Ge(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ge(this,"forEach",e,t,void 0,arguments)},includes(...e){return ws(this,"includes",e)},indexOf(...e){return ws(this,"indexOf",e)},join(e){return Pt(this).join(e)},lastIndexOf(...e){return ws(this,"lastIndexOf",e)},map(e,t){return Ge(this,"map",e,t,void 0,arguments)},pop(){return Xt(this,"pop")},push(...e){return Xt(this,"push",e)},reduce(e,...t){return Tr(this,"reduce",e,t)},reduceRight(e,...t){return Tr(this,"reduceRight",e,t)},shift(){return Xt(this,"shift")},some(e,t){return Ge(this,"some",e,t,void 0,arguments)},splice(...e){return Xt(this,"splice",e)},toReversed(){return Pt(this).toReversed()},toSorted(e){return Pt(this).toSorted(e)},toSpliced(...e){return Pt(this).toSpliced(...e)},unshift(...e){return Xt(this,"unshift",e)},values(){return _s(this,"values",we)}};function _s(e,t,n){const s=ns(e),r=s[t]();return s!==e&&!He(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.value&&(i.value=n(i.value)),i}),r}const Ll=Array.prototype;function Ge(e,t,n,s,r,i){const o=ns(e),l=o!==e&&!He(e),a=o[t];if(a!==Ll[t]){const f=a.apply(e,i);return l?we(f):f}let u=n;o!==e&&(l?u=function(f,h){return n.call(this,we(f),h,e)}:n.length>2&&(u=function(f,h){return n.call(this,f,h,e)}));const c=a.call(o,u,s);return l&&r?r(c):c}function Tr(e,t,n,s){const r=ns(e);let i=n;return r!==e&&(He(e)?n.length>3&&(i=function(o,l,a){return n.call(this,o,l,a,e)}):i=function(o,l,a){return n.call(this,o,we(l),a,e)}),r[t](i,...s)}function ws(e,t,n){const s=ee(e);_e(s,"iterate",ln);const r=s[t](...n);return(r===-1||r===!1)&&ir(n[0])?(n[0]=ee(n[0]),s[t](...n)):r}function Xt(e,t,n=[]){ht(),er();const s=ee(e)[t].apply(e,n);return tr(),pt(),s}const Dl=Gs("__proto__,__v_isRef,__isVue"),Li=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(je));function $l(e){je(e)||(e=String(e));const t=ee(this);return _e(t,"has",e),t.hasOwnProperty(e)}class Di{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?ql:ki:i?Hi:Ni).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=j(t);if(!r){let a;if(o&&(a=Fl[n]))return a;if(n==="hasOwnProperty")return $l}const l=Reflect.get(t,n,ae(t)?t:s);return(je(n)?Li.has(n):Dl(n))||(r||_e(t,"get",n),i)?l:ae(l)?o&&Qs(n)?l:l.value:re(l)?r?Wt(l):ut(l):l}}class $i extends Di{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];if(!this._isShallow){const a=At(i);if(!He(s)&&!At(s)&&(i=ee(i),s=ee(s)),!j(t)&&ae(i)&&!ae(s))return a?!1:(i.value=s,!0)}const o=j(t)&&Qs(n)?Number(n)e,Sn=e=>Reflect.getPrototypeOf(e);function jl(e,t,n){return function(...s){const r=this.__v_raw,i=ee(r),o=$t(i),l=e==="entries"||e===Symbol.iterator&&o,a=e==="keys"&&o,u=r[e](...s),c=n?Hs:t?ks:we;return!t&&_e(i,"iterate",a?Ns:St),{next(){const{value:f,done:h}=u.next();return h?{value:f,done:h}:{value:l?[c(f[0]),c(f[1])]:c(f),done:h}},[Symbol.iterator](){return this}}}}function xn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ul(e,t){const n={get(r){const i=this.__v_raw,o=ee(i),l=ee(r);e||(Ae(r,l)&&_e(o,"get",r),_e(o,"get",l));const{has:a}=Sn(o),u=t?Hs:e?ks:we;if(a.call(o,r))return u(i.get(r));if(a.call(o,l))return u(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&_e(ee(r),"iterate",St),Reflect.get(r,"size",r)},has(r){const i=this.__v_raw,o=ee(i),l=ee(r);return e||(Ae(r,l)&&_e(o,"has",r),_e(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,a=ee(l),u=t?Hs:e?ks:we;return!e&&_e(a,"iterate",St),l.forEach((c,f)=>r.call(i,u(c),u(f),o))}};return ue(n,e?{add:xn("add"),set:xn("set"),delete:xn("delete"),clear:xn("clear")}:{add(r){!t&&!He(r)&&!At(r)&&(r=ee(r));const i=ee(this);return Sn(i).has.call(i,r)||(i.add(r),Qe(i,"add",r,r)),this},set(r,i){!t&&!He(i)&&!At(i)&&(i=ee(i));const o=ee(this),{has:l,get:a}=Sn(o);let u=l.call(o,r);u||(r=ee(r),u=l.call(o,r));const c=a.call(o,r);return o.set(r,i),u?Ae(i,c)&&Qe(o,"set",r,i):Qe(o,"add",r,i),this},delete(r){const i=ee(this),{has:o,get:l}=Sn(i);let a=o.call(i,r);a||(r=ee(r),a=o.call(i,r)),l&&l.call(i,r);const u=i.delete(r);return a&&Qe(i,"delete",r,void 0),u},clear(){const r=ee(this),i=r.size!==0,o=r.clear();return i&&Qe(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=jl(r,e,t)}),n}function sr(e,t){const n=Ul(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(ne(n,r)&&r in s?n:s,r,i)}const Bl={get:sr(!1,!1)},Wl={get:sr(!1,!0)},Kl={get:sr(!0,!1)};const Ni=new WeakMap,Hi=new WeakMap,ki=new WeakMap,ql=new WeakMap;function Yl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Xl(e){return e.__v_skip||!Object.isExtensible(e)?0:Yl(gl(e))}function ut(e){return At(e)?e:rr(e,!1,Hl,Bl,Ni)}function Gl(e){return rr(e,!1,Vl,Wl,Hi)}function Wt(e){return rr(e,!0,kl,Kl,ki)}function rr(e,t,n,s,r){if(!re(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=Xl(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function xt(e){return At(e)?xt(e.__v_raw):!!(e&&e.__v_isReactive)}function At(e){return!!(e&&e.__v_isReadonly)}function He(e){return!!(e&&e.__v_isShallow)}function ir(e){return e?!!e.__v_raw:!1}function ee(e){const t=e&&e.__v_raw;return t?ee(t):e}function en(e){return!ne(e,"__v_skip")&&Object.isExtensible(e)&&wi(e,"__v_skip",!0),e}const we=e=>re(e)?ut(e):e,ks=e=>re(e)?Wt(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function V(e){return Vi(e,!1)}function Ot(e){return Vi(e,!0)}function Vi(e,t){return ae(e)?e:new zl(e,t)}class zl{constructor(t,n){this.dep=new ts,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ee(t),this._value=n?t:we(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||He(t)||At(t);t=s?t:ee(t),Ae(t,n)&&(this._rawValue=t,this._value=s?t:we(t),this.dep.trigger())}}function ss(e){return ae(e)?e.value:e}function mf(e){return X(e)?e():ss(e)}const Jl={get:(e,t,n)=>t==="__v_raw"?e:ss(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ae(r)&&!ae(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function ji(e){return xt(e)?e:new Proxy(e,Jl)}class Ql{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new ts,{get:s,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=s,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function or(e){return new Ql(e)}function Zl(e){const t=j(e)?new Array(e.length):{};for(const n in e)t[n]=Ui(e,n);return t}class ea{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Pl(ee(this._object),this._key)}}class ta{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function na(e,t,n){return ae(e)?e:X(e)?new ta(e):re(e)&&arguments.length>1?Ui(e,t,n):V(e)}function Ui(e,t,n){const s=e[t];return ae(s)?s:new ea(e,t,n)}class sa{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ts(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=on-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&oe!==this)return Oi(this,!0),!0}get value(){const t=this.dep.track();return Ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ra(e,t,n=!1){let s,r;return X(e)?s=e:(s=e.get,r=e.set),new sa(s,r,n)}const En={},Hn=new WeakMap;let _t;function ia(e,t=!1,n=_t){if(n){let s=Hn.get(n);s||Hn.set(n,s=[]),s.push(e)}}function oa(e,t,n=te){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:a}=n,u=v=>r?v:He(v)||r===!1||r===0?Ze(v,1):Ze(v);let c,f,h,g,w=!1,b=!1;if(ae(e)?(f=()=>e.value,w=He(e)):xt(e)?(f=()=>u(e),w=!0):j(e)?(b=!0,w=e.some(v=>xt(v)||He(v)),f=()=>e.map(v=>{if(ae(v))return v.value;if(xt(v))return u(v);if(X(v))return a?a(v,2):v()})):X(e)?t?f=a?()=>a(e,2):e:f=()=>{if(h){ht();try{h()}finally{pt()}}const v=_t;_t=c;try{return a?a(e,3,[g]):e(g)}finally{_t=v}}:f=Ye,t&&r){const v=f,R=r===!0?1/0:r;f=()=>Ze(v(),R)}const x=Ti(),y=()=>{c.stop(),x&&Js(x.effects,c)};if(i&&t){const v=t;t=(...R)=>{v(...R),y()}}let S=b?new Array(e.length).fill(En):En;const m=v=>{if(!(!(c.flags&1)||!c.dirty&&!v))if(t){const R=c.run();if(r||w||(b?R.some((k,F)=>Ae(k,S[F])):Ae(R,S))){h&&h();const k=_t;_t=c;try{const F=[R,S===En?void 0:b&&S[0]===En?[]:S,g];a?a(t,3,F):t(...F),S=R}finally{_t=k}}}else c.run()};return l&&l(m),c=new Ci(f),c.scheduler=o?()=>o(m,!1):m,g=v=>ia(v,!1,c),h=c.onStop=()=>{const v=Hn.get(c);if(v){if(a)a(v,4);else for(const R of v)R();Hn.delete(c)}},t?s?m(!0):S=c.run():o?o(m.bind(null,!0),!0):c.run(),y.pause=c.pause.bind(c),y.resume=c.resume.bind(c),y.stop=y,y}function Ze(e,t=1/0,n){if(t<=0||!re(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,ae(e))Ze(e.value,t,n);else if(j(e))for(let s=0;s{Ze(s,t,n)});else if(_i(e)){for(const s in e)Ze(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Ze(e[s],t,n)}return e}/** +* @vue/runtime-core v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function vn(e,t,n,s){try{return s?e(...s):e()}catch(r){rs(r,t,n)}}function Ue(e,t,n,s){if(X(e)){const r=vn(e,t,n,s);return r&&yi(r)&&r.catch(i=>{rs(i,t,n)}),r}if(j(e)){const r=[];for(let i=0;i>>1,r=Ce[s],i=an(r);i=an(n)?Ce.push(e):Ce.splice(aa(t),0,e),e.flags|=1,Wi()}}function Wi(){kn||(kn=Bi.then(Ki))}function ca(e){j(e)?Ht.push(...e):ot&&e.id===-1?ot.splice(Lt+1,0,e):e.flags&1||(Ht.push(e),e.flags|=1),Wi()}function Cr(e,t,n=Ke+1){for(;nan(n)-an(s));if(Ht.length=0,ot){ot.push(...t);return}for(ot=t,Lt=0;Lte.id==null?e.flags&2?-1:1/0:e.id;function Ki(e){try{for(Ke=0;Keqi;function qi(e,t=pe,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Nr(-1);const i=jn(t);let o;try{o=e(...r)}finally{jn(i),s._d&&Nr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function bf(e,t){if(pe===null)return e;const n=us(pe),s=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,lt=Symbol("_leaveCb"),Tn=Symbol("_enterCb");function Xi(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Rt(()=>{e.isMounted=!0}),so(()=>{e.isUnmounting=!0}),e}const De=[Function,Array],Gi={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:De,onEnter:De,onAfterEnter:De,onEnterCancelled:De,onBeforeLeave:De,onLeave:De,onAfterLeave:De,onLeaveCancelled:De,onBeforeAppear:De,onAppear:De,onAfterAppear:De,onAppearCancelled:De},zi=e=>{const t=e.subTree;return t.component?zi(t.component):t},fa={name:"BaseTransition",props:Gi,setup(e,{slots:t}){const n=yn(),s=Xi();return()=>{const r=t.default&&ar(t.default(),!0);if(!r||!r.length)return;const i=Ji(r),o=ee(e),{mode:l}=o;if(s.isLeaving)return Ss(i);const a=Ar(i);if(!a)return Ss(i);let u=cn(a,o,s,n,h=>u=h);a.type!==xe&&Mt(a,u);const c=n.subTree,f=c&&Ar(c);if(f&&f.type!==xe&&!wt(a,f)&&zi(n).type!==xe){const h=cn(f,o,s,n);if(Mt(f,h),l==="out-in"&&a.type!==xe)return s.isLeaving=!0,h.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave},Ss(i);l==="in-out"&&a.type!==xe&&(h.delayLeave=(g,w,b)=>{const x=Qi(s,f);x[String(f.key)]=f,g[lt]=()=>{w(),g[lt]=void 0,delete u.delayedLeave},u.delayedLeave=b})}return i}}};function Ji(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==xe){t=n;break}}return t}const da=fa;function Qi(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function cn(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:h,onLeave:g,onAfterLeave:w,onLeaveCancelled:b,onBeforeAppear:x,onAppear:y,onAfterAppear:S,onAppearCancelled:m}=t,v=String(e.key),R=Qi(n,e),k=(D,E)=>{D&&Ue(D,s,9,E)},F=(D,E)=>{const N=E[1];k(D,E),j(D)?D.every(T=>T.length<=1)&&N():D.length<=1&&N()},I={mode:o,persisted:l,beforeEnter(D){let E=a;if(!n.isMounted)if(i)E=x||a;else return;D[lt]&&D[lt](!0);const N=R[v];N&&wt(e,N)&&N.el[lt]&&N.el[lt](),k(E,[D])},enter(D){let E=u,N=c,T=f;if(!n.isMounted)if(i)E=y||u,N=S||c,T=m||f;else return;let q=!1;const le=D[Tn]=he=>{q||(q=!0,he?k(T,[D]):k(N,[D]),I.delayedLeave&&I.delayedLeave(),D[Tn]=void 0)};E?F(E,[D,le]):le()},leave(D,E){const N=String(e.key);if(D[Tn]&&D[Tn](!0),n.isUnmounting)return E();k(h,[D]);let T=!1;const q=D[lt]=le=>{T||(T=!0,E(),le?k(b,[D]):k(w,[D]),D[lt]=void 0,R[N]===e&&delete R[N])};R[N]=e,g?F(g,[D,q]):q()},clone(D){const E=cn(D,t,n,s,r);return r&&r(E),E}};return I}function Ss(e){if(os(e))return e=ft(e),e.children=null,e}function Ar(e){if(!os(e))return Yi(e.type)&&e.children?Ji(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&X(n.default))return n.default()}}function Mt(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Mt(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ar(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;iUn(w,t&&(j(t)?t[b]:t),n,s,r));return}if(Et(s)&&!r)return;const i=s.shapeFlag&4?us(s.component):s.el,o=r?null:i,{i:l,r:a}=e,u=t&&t.r,c=l.refs===te?l.refs={}:l.refs,f=l.setupState,h=ee(f),g=f===te?()=>!1:w=>ne(h,w);if(u!=null&&u!==a&&(fe(u)?(c[u]=null,g(u)&&(f[u]=null)):ae(u)&&(u.value=null)),X(a))vn(a,l,12,[o,c]);else{const w=fe(a),b=ae(a);if(w||b){const x=()=>{if(e.f){const y=w?g(a)?f[a]:c[a]:a.value;r?j(y)&&Js(y,i):j(y)?y.includes(i)||y.push(i):w?(c[a]=[i],g(a)&&(f[a]=c[a])):(a.value=[i],e.k&&(c[e.k]=a.value))}else w?(c[a]=o,g(a)&&(f[a]=o)):b&&(a.value=o,e.k&&(c[e.k]=o))};o?(x.id=-1,Ie(x,n)):x()}}}let Or=!1;const Ft=()=>{Or||(console.error("Hydration completed but contains mismatches."),Or=!0)},ha=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",pa=e=>e.namespaceURI.includes("MathML"),Cn=e=>{if(e.nodeType===1){if(ha(e))return"svg";if(pa(e))return"mathml"}},An=e=>e.nodeType===8;function ma(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:a,createComment:u}}=e,c=(m,v)=>{if(!v.hasChildNodes()){n(null,m,v),Vn(),v._vnode=m;return}f(v.firstChild,m,null,null,null),Vn(),v._vnode=m},f=(m,v,R,k,F,I=!1)=>{I=I||!!v.dynamicChildren;const D=An(m)&&m.data==="[",E=()=>b(m,v,R,k,F,D),{type:N,ref:T,shapeFlag:q,patchFlag:le}=v;let he=m.nodeType;v.el=m,le===-2&&(I=!1,v.dynamicChildren=null);let W=null;switch(N){case Tt:he!==3?v.children===""?(a(v.el=r(""),o(m),m),W=m):W=E():(m.data!==v.children&&(Ft(),m.data=v.children),W=i(m));break;case xe:S(m)?(W=i(m),y(v.el=m.content.firstChild,m,R)):he!==8||D?W=E():W=i(m);break;case nn:if(D&&(m=i(m),he=m.nodeType),he===1||he===3){W=m;const Q=!v.children.length;for(let B=0;B{I=I||!!v.dynamicChildren;const{type:D,props:E,patchFlag:N,shapeFlag:T,dirs:q,transition:le}=v,he=D==="input"||D==="option";if(he||N!==-1){q&&qe(v,null,R,"created");let W=!1;if(S(m)){W=_o(null,le)&&R&&R.vnode.props&&R.vnode.props.appear;const B=m.content.firstChild;W&&le.beforeEnter(B),y(B,m,R),v.el=m=B}if(T&16&&!(E&&(E.innerHTML||E.textContent))){let B=g(m.firstChild,v,m,R,k,F,I);for(;B;){On(m,1)||Ft();const ge=B;B=B.nextSibling,l(ge)}}else if(T&8){let B=v.children;B[0]===` +`&&(m.tagName==="PRE"||m.tagName==="TEXTAREA")&&(B=B.slice(1)),m.textContent!==B&&(On(m,0)||Ft(),m.textContent=v.children)}if(E){if(he||!I||N&48){const B=m.tagName.includes("-");for(const ge in E)(he&&(ge.endsWith("value")||ge==="indeterminate")||pn(ge)&&!Nt(ge)||ge[0]==="."||B)&&s(m,ge,null,E[ge],void 0,R)}else if(E.onClick)s(m,"onClick",null,E.onClick,void 0,R);else if(N&4&&xt(E.style))for(const B in E.style)E.style[B]}let Q;(Q=E&&E.onVnodeBeforeMount)&&$e(Q,R,v),q&&qe(v,null,R,"beforeMount"),((Q=E&&E.onVnodeMounted)||q||W)&&Oo(()=>{Q&&$e(Q,R,v),W&&le.enter(m),q&&qe(v,null,R,"mounted")},k)}return m.nextSibling},g=(m,v,R,k,F,I,D)=>{D=D||!!v.dynamicChildren;const E=v.children,N=E.length;for(let T=0;T{const{slotScopeIds:D}=v;D&&(F=F?F.concat(D):D);const E=o(m),N=g(i(m),v,E,R,k,F,I);return N&&An(N)&&N.data==="]"?i(v.anchor=N):(Ft(),a(v.anchor=u("]"),E,N),N)},b=(m,v,R,k,F,I)=>{if(On(m.parentElement,1)||Ft(),v.el=null,I){const N=x(m);for(;;){const T=i(m);if(T&&T!==N)l(T);else break}}const D=i(m),E=o(m);return l(m),n(null,v,E,D,R,k,Cn(E),F),D},x=(m,v="[",R="]")=>{let k=0;for(;m;)if(m=i(m),m&&An(m)&&(m.data===v&&k++,m.data===R)){if(k===0)return i(m);k--}return m},y=(m,v,R)=>{const k=v.parentNode;k&&k.replaceChild(m,v);let F=R;for(;F;)F.vnode.el===v&&(F.vnode.el=F.subTree.el=m),F=F.parent},S=m=>m.nodeType===1&&m.tagName==="TEMPLATE";return[c,f]}const Mr="data-allow-mismatch",ga={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function On(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Mr);)e=e.parentElement;const n=e&&e.getAttribute(Mr);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:n.split(",").includes(ga[t])}}Qn().requestIdleCallback;Qn().cancelIdleCallback;const Et=e=>!!e.type.__asyncLoader,os=e=>e.type.__isKeepAlive;function va(e,t){to(e,"a",t)}function ya(e,t){to(e,"da",t)}function to(e,t,n=ve){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ls(t,s,n),n){let r=n.parent;for(;r&&r.parent;)os(r.parent.vnode)&&ba(s,t,n,r),r=r.parent}}function ba(e,t,n,s){const r=ls(t,e,s,!0);cr(()=>{Js(s[t],r)},n)}function ls(e,t,n=ve,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{ht();const l=bn(n),a=Ue(t,n,e,o);return l(),pt(),a});return s?r.unshift(i):r.push(i),i}}const st=e=>(t,n=ve)=>{(!dn||e==="sp")&&ls(e,(...s)=>t(...s),n)},_a=st("bm"),Rt=st("m"),wa=st("bu"),no=st("u"),so=st("bum"),cr=st("um"),Sa=st("sp"),xa=st("rtg"),Ea=st("rtc");function Ta(e,t=ve){ls("ec",e,t)}const ro="components",Ca="directives";function _f(e,t){return io(ro,e,!0,t)||e}const Aa=Symbol.for("v-ndc");function wf(e){return io(Ca,e)}function io(e,t,n=!0,s=!1){const r=pe||ve;if(r){const i=r.type;if(e===ro){const l=dc(i,!1);if(l&&(l===t||l===Le(t)||l===Jn(Le(t))))return i}const o=Rr(r[e]||i[e],t)||Rr(r.appContext[e],t);return!o&&s?i:o}}function Rr(e,t){return e&&(e[t]||e[Le(t)]||e[Jn(Le(t))])}function Sf(e,t,n,s){let r;const i=n,o=j(e);if(o||fe(e)){const l=o&&xt(e);let a=!1;l&&(a=!He(e),e=ns(e)),r=new Array(e.length);for(let u=0,c=e.length;ut(l,a,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let a=0,u=l.length;afn(t)?!(t.type===xe||t.type===Se&&!oo(t.children)):!0)?e:null}const Vs=e=>e?Fo(e)?us(e):Vs(e.parent):null,tn=ue(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Vs(e.parent),$root:e=>Vs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ur(e),$forceUpdate:e=>e.f||(e.f=()=>{lr(e.update)}),$nextTick:e=>e.n||(e.n=Kt.bind(e.proxy)),$watch:e=>Ga.bind(e)}),xs=(e,t)=>e!==te&&!e.__isScriptSetup&&ne(e,t),Oa={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:a}=e;let u;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(xs(s,t))return o[t]=1,s[t];if(r!==te&&ne(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&ne(u,t))return o[t]=3,i[t];if(n!==te&&ne(n,t))return o[t]=4,n[t];js&&(o[t]=0)}}const c=tn[t];let f,h;if(c)return t==="$attrs"&&_e(e.attrs,"get",""),c(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==te&&ne(n,t))return o[t]=4,n[t];if(h=a.config.globalProperties,ne(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return xs(r,t)?(r[t]=n,!0):s!==te&&ne(s,t)?(s[t]=n,!0):ne(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==te&&ne(e,o)||xs(t,o)||(l=i[0])&&ne(l,o)||ne(s,o)||ne(tn,o)||ne(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ne(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Bn(e){return j(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Ef(e,t){return!e||!t?e||t:j(e)&&j(t)?e.concat(t):ue({},Bn(e),Bn(t))}let js=!0;function Ma(e){const t=ur(e),n=e.proxy,s=e.ctx;js=!1,t.beforeCreate&&Ir(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:a,inject:u,created:c,beforeMount:f,mounted:h,beforeUpdate:g,updated:w,activated:b,deactivated:x,beforeDestroy:y,beforeUnmount:S,destroyed:m,unmounted:v,render:R,renderTracked:k,renderTriggered:F,errorCaptured:I,serverPrefetch:D,expose:E,inheritAttrs:N,components:T,directives:q,filters:le}=t;if(u&&Ra(u,s,null),o)for(const Q in o){const B=o[Q];X(B)&&(s[Q]=B.bind(n))}if(r){const Q=r.call(n,n);re(Q)&&(e.data=ut(Q))}if(js=!0,i)for(const Q in i){const B=i[Q],ge=X(B)?B.bind(n,n):X(B.get)?B.get.bind(n,n):Ye,_n=!X(B)&&X(B.set)?B.set.bind(n):Ye,gt=z({get:ge,set:_n});Object.defineProperty(s,Q,{enumerable:!0,configurable:!0,get:()=>gt.value,set:Be=>gt.value=Be})}if(l)for(const Q in l)lo(l[Q],s,n,Q);if(a){const Q=X(a)?a.call(n):a;Reflect.ownKeys(Q).forEach(B=>{$a(B,Q[B])})}c&&Ir(c,e,"c");function W(Q,B){j(B)?B.forEach(ge=>Q(ge.bind(n))):B&&Q(B.bind(n))}if(W(_a,f),W(Rt,h),W(wa,g),W(no,w),W(va,b),W(ya,x),W(Ta,I),W(Ea,k),W(xa,F),W(so,S),W(cr,v),W(Sa,D),j(E))if(E.length){const Q=e.exposed||(e.exposed={});E.forEach(B=>{Object.defineProperty(Q,B,{get:()=>n[B],set:ge=>n[B]=ge})})}else e.exposed||(e.exposed={});R&&e.render===Ye&&(e.render=R),N!=null&&(e.inheritAttrs=N),T&&(e.components=T),q&&(e.directives=q),D&&eo(e)}function Ra(e,t,n=Ye){j(e)&&(e=Us(e));for(const s in e){const r=e[s];let i;re(r)?"default"in r?i=Vt(r.from||s,r.default,!0):i=Vt(r.from||s):i=Vt(r),ae(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function Ir(e,t,n){Ue(j(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function lo(e,t,n,s){let r=s.includes(".")?Eo(n,s):()=>n[s];if(fe(e)){const i=t[e];X(i)&&ce(r,i)}else if(X(e))ce(r,e.bind(n));else if(re(e))if(j(e))e.forEach(i=>lo(i,t,n,s));else{const i=X(e.handler)?e.handler.bind(n):t[e.handler];X(i)&&ce(r,i,e)}}function ur(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let a;return l?a=l:!r.length&&!n&&!s?a=t:(a={},r.length&&r.forEach(u=>Wn(a,u,o,!0)),Wn(a,t,o)),re(t)&&i.set(t,a),a}function Wn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Wn(e,i,n,!0),r&&r.forEach(o=>Wn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Ia[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Ia={data:Pr,props:Fr,emits:Fr,methods:Jt,computed:Jt,beforeCreate:Ee,created:Ee,beforeMount:Ee,mounted:Ee,beforeUpdate:Ee,updated:Ee,beforeDestroy:Ee,beforeUnmount:Ee,destroyed:Ee,unmounted:Ee,activated:Ee,deactivated:Ee,errorCaptured:Ee,serverPrefetch:Ee,components:Jt,directives:Jt,watch:Fa,provide:Pr,inject:Pa};function Pr(e,t){return t?e?function(){return ue(X(e)?e.call(this,this):e,X(t)?t.call(this,this):t)}:t:e}function Pa(e,t){return Jt(Us(e),Us(t))}function Us(e){if(j(e)){const t={};for(let n=0;n1)return n&&X(t)?t.call(s&&s.proxy):t}}const co={},uo=()=>Object.create(co),fo=e=>Object.getPrototypeOf(e)===co;function Na(e,t,n,s=!1){const r={},i=uo();e.propsDefaults=Object.create(null),ho(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Gl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Ha(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=ee(r),[a]=e.propsOptions;let u=!1;if((s||o>0)&&!(o&16)){if(o&8){const c=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[h,g]=po(f,t,!0);ue(o,h),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!a)return re(e)&&s.set(e,Dt),Dt;if(j(i))for(let c=0;ce[0]==="_"||e==="$stable",fr=e=>j(e)?e.map(Ne):[Ne(e)],Va=(e,t,n)=>{if(t._n)return t;const s=qi((...r)=>fr(t(...r)),n);return s._c=!1,s},go=(e,t,n)=>{const s=e._ctx;for(const r in e){if(mo(r))continue;const i=e[r];if(X(i))t[r]=Va(r,i,s);else if(i!=null){const o=fr(i);t[r]=()=>o}}},vo=(e,t)=>{const n=fr(t);e.slots.default=()=>n},yo=(e,t,n)=>{for(const s in t)(n||s!=="_")&&(e[s]=t[s])},ja=(e,t,n)=>{const s=e.slots=uo();if(e.vnode.shapeFlag&32){const r=t._;r?(yo(s,t,n),n&&wi(s,"_",r,!0)):go(t,s)}else t&&vo(e,t)},Ua=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:yo(r,t,n):(i=!t.$stable,go(t,r)),o=t}else t&&(vo(e,t),o={default:1});if(i)for(const l in r)!mo(l)&&o[l]==null&&delete r[l]},Ie=Oo;function Ba(e){return bo(e)}function Wa(e){return bo(e,ma)}function bo(e,t){const n=Qn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:a,setText:u,setElementText:c,parentNode:f,nextSibling:h,setScopeId:g=Ye,insertStaticContent:w}=e,b=(d,p,_,O=null,C=null,A=null,$=void 0,L=null,P=!!p.dynamicChildren)=>{if(d===p)return;d&&!wt(d,p)&&(O=wn(d),Be(d,C,A,!0),d=null),p.patchFlag===-2&&(P=!1,p.dynamicChildren=null);const{type:M,ref:Y,shapeFlag:H}=p;switch(M){case Tt:x(d,p,_,O);break;case xe:y(d,p,_,O);break;case nn:d==null&&S(p,_,O,$);break;case Se:T(d,p,_,O,C,A,$,L,P);break;default:H&1?R(d,p,_,O,C,A,$,L,P):H&6?q(d,p,_,O,C,A,$,L,P):(H&64||H&128)&&M.process(d,p,_,O,C,A,$,L,P,It)}Y!=null&&C&&Un(Y,d&&d.ref,A,p||d,!p)},x=(d,p,_,O)=>{if(d==null)s(p.el=l(p.children),_,O);else{const C=p.el=d.el;p.children!==d.children&&u(C,p.children)}},y=(d,p,_,O)=>{d==null?s(p.el=a(p.children||""),_,O):p.el=d.el},S=(d,p,_,O)=>{[d.el,d.anchor]=w(d.children,p,_,O,d.el,d.anchor)},m=({el:d,anchor:p},_,O)=>{let C;for(;d&&d!==p;)C=h(d),s(d,_,O),d=C;s(p,_,O)},v=({el:d,anchor:p})=>{let _;for(;d&&d!==p;)_=h(d),r(d),d=_;r(p)},R=(d,p,_,O,C,A,$,L,P)=>{p.type==="svg"?$="svg":p.type==="math"&&($="mathml"),d==null?k(p,_,O,C,A,$,L,P):D(d,p,C,A,$,L,P)},k=(d,p,_,O,C,A,$,L)=>{let P,M;const{props:Y,shapeFlag:H,transition:U,dirs:G}=d;if(P=d.el=o(d.type,A,Y&&Y.is,Y),H&8?c(P,d.children):H&16&&I(d.children,P,null,O,C,Es(d,A),$,L),G&&qe(d,null,O,"created"),F(P,d,d.scopeId,$,O),Y){for(const ie in Y)ie!=="value"&&!Nt(ie)&&i(P,ie,null,Y[ie],A,O);"value"in Y&&i(P,"value",null,Y.value,A),(M=Y.onVnodeBeforeMount)&&$e(M,O,d)}G&&qe(d,null,O,"beforeMount");const Z=_o(C,U);Z&&U.beforeEnter(P),s(P,p,_),((M=Y&&Y.onVnodeMounted)||Z||G)&&Ie(()=>{M&&$e(M,O,d),Z&&U.enter(P),G&&qe(d,null,O,"mounted")},C)},F=(d,p,_,O,C)=>{if(_&&g(d,_),O)for(let A=0;A{for(let M=P;M{const L=p.el=d.el;let{patchFlag:P,dynamicChildren:M,dirs:Y}=p;P|=d.patchFlag&16;const H=d.props||te,U=p.props||te;let G;if(_&&vt(_,!1),(G=U.onVnodeBeforeUpdate)&&$e(G,_,p,d),Y&&qe(p,d,_,"beforeUpdate"),_&&vt(_,!0),(H.innerHTML&&U.innerHTML==null||H.textContent&&U.textContent==null)&&c(L,""),M?E(d.dynamicChildren,M,L,_,O,Es(p,C),A):$||B(d,p,L,null,_,O,Es(p,C),A,!1),P>0){if(P&16)N(L,H,U,_,C);else if(P&2&&H.class!==U.class&&i(L,"class",null,U.class,C),P&4&&i(L,"style",H.style,U.style,C),P&8){const Z=p.dynamicProps;for(let ie=0;ie{G&&$e(G,_,p,d),Y&&qe(p,d,_,"updated")},O)},E=(d,p,_,O,C,A,$)=>{for(let L=0;L{if(p!==_){if(p!==te)for(const A in p)!Nt(A)&&!(A in _)&&i(d,A,p[A],null,C,O);for(const A in _){if(Nt(A))continue;const $=_[A],L=p[A];$!==L&&A!=="value"&&i(d,A,L,$,C,O)}"value"in _&&i(d,"value",p.value,_.value,C)}},T=(d,p,_,O,C,A,$,L,P)=>{const M=p.el=d?d.el:l(""),Y=p.anchor=d?d.anchor:l("");let{patchFlag:H,dynamicChildren:U,slotScopeIds:G}=p;G&&(L=L?L.concat(G):G),d==null?(s(M,_,O),s(Y,_,O),I(p.children||[],_,Y,C,A,$,L,P)):H>0&&H&64&&U&&d.dynamicChildren?(E(d.dynamicChildren,U,_,C,A,$,L),(p.key!=null||C&&p===C.subTree)&&wo(d,p,!0)):B(d,p,_,Y,C,A,$,L,P)},q=(d,p,_,O,C,A,$,L,P)=>{p.slotScopeIds=L,d==null?p.shapeFlag&512?C.ctx.activate(p,_,O,$,P):le(p,_,O,C,A,$,P):he(d,p,P)},le=(d,p,_,O,C,A,$)=>{const L=d.component=lc(d,O,C);if(os(d)&&(L.ctx.renderer=It),ac(L,!1,$),L.asyncDep){if(C&&C.registerDep(L,W,$),!d.el){const P=L.subTree=me(xe);y(null,P,p,_)}}else W(L,d,p,_,C,A,$)},he=(d,p,_)=>{const O=p.component=d.component;if(Za(d,p,_))if(O.asyncDep&&!O.asyncResolved){Q(O,p,_);return}else O.next=p,O.update();else p.el=d.el,O.vnode=p},W=(d,p,_,O,C,A,$)=>{const L=()=>{if(d.isMounted){let{next:H,bu:U,u:G,parent:Z,vnode:ie}=d;{const Me=So(d);if(Me){H&&(H.el=ie.el,Q(d,H,$)),Me.asyncDep.then(()=>{d.isUnmounted||L()});return}}let se=H,Oe;vt(d,!1),H?(H.el=ie.el,Q(d,H,$)):H=ie,U&&Fn(U),(Oe=H.props&&H.props.onVnodeBeforeUpdate)&&$e(Oe,Z,H,ie),vt(d,!0);const ye=Ts(d),ke=d.subTree;d.subTree=ye,b(ke,ye,f(ke.el),wn(ke),d,C,A),H.el=ye.el,se===null&&ec(d,ye.el),G&&Ie(G,C),(Oe=H.props&&H.props.onVnodeUpdated)&&Ie(()=>$e(Oe,Z,H,ie),C)}else{let H;const{el:U,props:G}=p,{bm:Z,m:ie,parent:se,root:Oe,type:ye}=d,ke=Et(p);if(vt(d,!1),Z&&Fn(Z),!ke&&(H=G&&G.onVnodeBeforeMount)&&$e(H,se,p),vt(d,!0),U&&gs){const Me=()=>{d.subTree=Ts(d),gs(U,d.subTree,d,C,null)};ke&&ye.__asyncHydrate?ye.__asyncHydrate(U,d,Me):Me()}else{Oe.ce&&Oe.ce._injectChildStyle(ye);const Me=d.subTree=Ts(d);b(null,Me,_,O,d,C,A),p.el=Me.el}if(ie&&Ie(ie,C),!ke&&(H=G&&G.onVnodeMounted)){const Me=p;Ie(()=>$e(H,se,Me),C)}(p.shapeFlag&256||se&&Et(se.vnode)&&se.vnode.shapeFlag&256)&&d.a&&Ie(d.a,C),d.isMounted=!0,p=_=O=null}};d.scope.on();const P=d.effect=new Ci(L);d.scope.off();const M=d.update=P.run.bind(P),Y=d.job=P.runIfDirty.bind(P);Y.i=d,Y.id=d.uid,P.scheduler=()=>lr(Y),vt(d,!0),M()},Q=(d,p,_)=>{p.component=d;const O=d.vnode.props;d.vnode=p,d.next=null,Ha(d,p.props,O,_),Ua(d,p.children,_),ht(),Cr(d),pt()},B=(d,p,_,O,C,A,$,L,P=!1)=>{const M=d&&d.children,Y=d?d.shapeFlag:0,H=p.children,{patchFlag:U,shapeFlag:G}=p;if(U>0){if(U&128){_n(M,H,_,O,C,A,$,L,P);return}else if(U&256){ge(M,H,_,O,C,A,$,L,P);return}}G&8?(Y&16&&qt(M,C,A),H!==M&&c(_,H)):Y&16?G&16?_n(M,H,_,O,C,A,$,L,P):qt(M,C,A,!0):(Y&8&&c(_,""),G&16&&I(H,_,O,C,A,$,L,P))},ge=(d,p,_,O,C,A,$,L,P)=>{d=d||Dt,p=p||Dt;const M=d.length,Y=p.length,H=Math.min(M,Y);let U;for(U=0;UY?qt(d,C,A,!0,!1,H):I(p,_,O,C,A,$,L,P,H)},_n=(d,p,_,O,C,A,$,L,P)=>{let M=0;const Y=p.length;let H=d.length-1,U=Y-1;for(;M<=H&&M<=U;){const G=d[M],Z=p[M]=P?at(p[M]):Ne(p[M]);if(wt(G,Z))b(G,Z,_,null,C,A,$,L,P);else break;M++}for(;M<=H&&M<=U;){const G=d[H],Z=p[U]=P?at(p[U]):Ne(p[U]);if(wt(G,Z))b(G,Z,_,null,C,A,$,L,P);else break;H--,U--}if(M>H){if(M<=U){const G=U+1,Z=GU)for(;M<=H;)Be(d[M],C,A,!0),M++;else{const G=M,Z=M,ie=new Map;for(M=Z;M<=U;M++){const Re=p[M]=P?at(p[M]):Ne(p[M]);Re.key!=null&&ie.set(Re.key,M)}let se,Oe=0;const ye=U-Z+1;let ke=!1,Me=0;const Yt=new Array(ye);for(M=0;M=ye){Be(Re,C,A,!0);continue}let We;if(Re.key!=null)We=ie.get(Re.key);else for(se=Z;se<=U;se++)if(Yt[se-Z]===0&&wt(Re,p[se])){We=se;break}We===void 0?Be(Re,C,A,!0):(Yt[We-Z]=M+1,We>=Me?Me=We:ke=!0,b(Re,p[We],_,null,C,A,$,L,P),Oe++)}const br=ke?Ka(Yt):Dt;for(se=br.length-1,M=ye-1;M>=0;M--){const Re=Z+M,We=p[Re],_r=Re+1{const{el:A,type:$,transition:L,children:P,shapeFlag:M}=d;if(M&6){gt(d.component.subTree,p,_,O);return}if(M&128){d.suspense.move(p,_,O);return}if(M&64){$.move(d,p,_,It);return}if($===Se){s(A,p,_);for(let H=0;HL.enter(A),C);else{const{leave:H,delayLeave:U,afterLeave:G}=L,Z=()=>s(A,p,_),ie=()=>{H(A,()=>{Z(),G&&G()})};U?U(A,Z,ie):ie()}else s(A,p,_)},Be=(d,p,_,O=!1,C=!1)=>{const{type:A,props:$,ref:L,children:P,dynamicChildren:M,shapeFlag:Y,patchFlag:H,dirs:U,cacheIndex:G}=d;if(H===-2&&(C=!1),L!=null&&Un(L,null,_,d,!0),G!=null&&(p.renderCache[G]=void 0),Y&256){p.ctx.deactivate(d);return}const Z=Y&1&&U,ie=!Et(d);let se;if(ie&&(se=$&&$.onVnodeBeforeUnmount)&&$e(se,p,d),Y&6)hl(d.component,_,O);else{if(Y&128){d.suspense.unmount(_,O);return}Z&&qe(d,null,p,"beforeUnmount"),Y&64?d.type.remove(d,p,_,It,O):M&&!M.hasOnce&&(A!==Se||H>0&&H&64)?qt(M,p,_,!1,!0):(A===Se&&H&384||!C&&Y&16)&&qt(P,p,_),O&&vr(d)}(ie&&(se=$&&$.onVnodeUnmounted)||Z)&&Ie(()=>{se&&$e(se,p,d),Z&&qe(d,null,p,"unmounted")},_)},vr=d=>{const{type:p,el:_,anchor:O,transition:C}=d;if(p===Se){dl(_,O);return}if(p===nn){v(d);return}const A=()=>{r(_),C&&!C.persisted&&C.afterLeave&&C.afterLeave()};if(d.shapeFlag&1&&C&&!C.persisted){const{leave:$,delayLeave:L}=C,P=()=>$(_,A);L?L(d.el,A,P):P()}else A()},dl=(d,p)=>{let _;for(;d!==p;)_=h(d),r(d),d=_;r(p)},hl=(d,p,_)=>{const{bum:O,scope:C,job:A,subTree:$,um:L,m:P,a:M}=d;Dr(P),Dr(M),O&&Fn(O),C.stop(),A&&(A.flags|=8,Be($,d,p,_)),L&&Ie(L,p),Ie(()=>{d.isUnmounted=!0},p),p&&p.pendingBranch&&!p.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===p.pendingId&&(p.deps--,p.deps===0&&p.resolve())},qt=(d,p,_,O=!1,C=!1,A=0)=>{for(let $=A;${if(d.shapeFlag&6)return wn(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const p=h(d.anchor||d.el),_=p&&p[ua];return _?h(_):p};let ps=!1;const yr=(d,p,_)=>{d==null?p._vnode&&Be(p._vnode,null,null,!0):b(p._vnode||null,d,p,null,null,null,_),p._vnode=d,ps||(ps=!0,Cr(),Vn(),ps=!1)},It={p:b,um:Be,m:gt,r:vr,mt:le,mc:I,pc:B,pbc:E,n:wn,o:e};let ms,gs;return t&&([ms,gs]=t(It)),{render:yr,hydrate:ms,createApp:Da(yr,ms)}}function Es({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function vt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function _o(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function wo(e,t,n=!1){const s=e.children,r=t.children;if(j(s)&&j(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function So(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:So(t)}function Dr(e){if(e)for(let t=0;tVt(qa);function xo(e,t){return as(e,null,t)}function Xa(e,t){return as(e,null,{flush:"sync"})}function ce(e,t,n){return as(e,t,n)}function as(e,t,n=te){const{immediate:s,deep:r,flush:i,once:o}=n,l=ue({},n),a=t&&s||!t&&i!=="post";let u;if(dn){if(i==="sync"){const g=Ya();u=g.__watcherHandles||(g.__watcherHandles=[])}else if(!a){const g=()=>{};return g.stop=Ye,g.resume=Ye,g.pause=Ye,g}}const c=ve;l.call=(g,w,b)=>Ue(g,c,w,b);let f=!1;i==="post"?l.scheduler=g=>{Ie(g,c&&c.suspense)}:i!=="sync"&&(f=!0,l.scheduler=(g,w)=>{w?g():lr(g)}),l.augmentJob=g=>{t&&(g.flags|=4),f&&(g.flags|=2,c&&(g.id=c.uid,g.i=c))};const h=oa(e,t,l);return dn&&(u?u.push(h):a&&h()),h}function Ga(e,t,n){const s=this.proxy,r=fe(e)?e.includes(".")?Eo(s,e):()=>s[e]:e.bind(s,s);let i;X(t)?i=t:(i=t.handler,n=t);const o=bn(this),l=as(r,i.bind(s),n);return o(),l}function Eo(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{let c,f=te,h;return Xa(()=>{const g=e[r];Ae(c,g)&&(c=g,u())}),{get(){return a(),n.get?n.get(c):c},set(g){const w=n.set?n.set(g):g;if(!Ae(w,c)&&!(f!==te&&Ae(g,f)))return;const b=s.vnode.props;b&&(t in b||r in b||i in b)&&(`onUpdate:${t}`in b||`onUpdate:${r}`in b||`onUpdate:${i}`in b)||(c=g,u()),s.emit(`update:${t}`,w),Ae(g,w)&&Ae(g,f)&&!Ae(w,h)&&u(),f=g,h=w}}});return l[Symbol.iterator]=()=>{let a=0;return{next(){return a<2?{value:a++?o||te:l,done:!1}:{done:!0}}}},l}const To=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${nt(t)}Modifiers`];function za(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||te;let r=n;const i=t.startsWith("update:"),o=i&&To(s,t.slice(7));o&&(o.trim&&(r=n.map(c=>fe(c)?c.trim():c)),o.number&&(r=n.map($n)));let l,a=s[l=vs(t)]||s[l=vs(Le(t))];!a&&i&&(a=s[l=vs(nt(t))]),a&&Ue(a,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ue(u,e,6,r)}}function Co(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!X(e)){const a=u=>{const c=Co(u,t,!0);c&&(l=!0,ue(o,c))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!i&&!l?(re(e)&&s.set(e,null),null):(j(i)?i.forEach(a=>o[a]=null):ue(o,i),re(e)&&s.set(e,o),o)}function cs(e,t){return!e||!pn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ne(e,t[0].toLowerCase()+t.slice(1))||ne(e,nt(t))||ne(e,t))}function Ts(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:a,render:u,renderCache:c,props:f,data:h,setupState:g,ctx:w,inheritAttrs:b}=e,x=jn(e);let y,S;try{if(n.shapeFlag&4){const v=r||s,R=v;y=Ne(u.call(R,v,c,f,g,h,w)),S=l}else{const v=t;y=Ne(v.length>1?v(f,{attrs:l,slots:o,emit:a}):v(f,null)),S=t.props?l:Ja(l)}}catch(v){sn.length=0,rs(v,e,1),y=me(xe)}let m=y;if(S&&b!==!1){const v=Object.keys(S),{shapeFlag:R}=m;v.length&&R&7&&(i&&v.some(zs)&&(S=Qa(S,i)),m=ft(m,S,!1,!0))}return n.dirs&&(m=ft(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&Mt(m,n.transition),y=m,jn(x),y}const Ja=e=>{let t;for(const n in e)(n==="class"||n==="style"||pn(n))&&((t||(t={}))[n]=e[n]);return t},Qa=(e,t)=>{const n={};for(const s in e)(!zs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Za(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:a}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return s?$r(s,o,u):!!o;if(a&8){const c=t.dynamicProps;for(let f=0;fe.__isSuspense;function Oo(e,t){t&&t.pendingBranch?j(e)?t.effects.push(...e):t.effects.push(e):ca(e)}const Se=Symbol.for("v-fgt"),Tt=Symbol.for("v-txt"),xe=Symbol.for("v-cmt"),nn=Symbol.for("v-stc"),sn=[];let Pe=null;function Ws(e=!1){sn.push(Pe=e?null:[])}function tc(){sn.pop(),Pe=sn[sn.length-1]||null}let un=1;function Nr(e){un+=e,e<0&&Pe&&(Pe.hasOnce=!0)}function Mo(e){return e.dynamicChildren=un>0?Pe||Dt:null,tc(),un>0&&Pe&&Pe.push(e),e}function Cf(e,t,n,s,r,i){return Mo(Io(e,t,n,s,r,i,!0))}function Ks(e,t,n,s,r){return Mo(me(e,t,n,s,r,!0))}function fn(e){return e?e.__v_isVNode===!0:!1}function wt(e,t){return e.type===t.type&&e.key===t.key}const Ro=({key:e})=>e??null,Ln=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?fe(e)||ae(e)||X(e)?{i:pe,r:e,k:t,f:!!n}:e:null);function Io(e,t=null,n=null,s=0,r=null,i=e===Se?0:1,o=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ro(t),ref:t&&Ln(t),scopeId:is,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:pe};return l?(dr(a,n),i&128&&e.normalize(a)):n&&(a.shapeFlag|=fe(n)?8:16),un>0&&!o&&Pe&&(a.patchFlag>0||i&6)&&a.patchFlag!==32&&Pe.push(a),a}const me=nc;function nc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Aa)&&(e=xe),fn(e)){const l=ft(e,t,!0);return n&&dr(l,n),un>0&&!i&&Pe&&(l.shapeFlag&6?Pe[Pe.indexOf(e)]=l:Pe.push(l)),l.patchFlag=-2,l}if(hc(e)&&(e=e.__vccOpts),t){t=sc(t);let{class:l,style:a}=t;l&&!fe(l)&&(t.class=es(l)),re(a)&&(ir(a)&&!j(a)&&(a=ue({},a)),t.style=Zn(a))}const o=fe(e)?1:Ao(e)?128:Yi(e)?64:re(e)?4:X(e)?2:0;return Io(e,t,n,s,r,o,i,!0)}function sc(e){return e?ir(e)||fo(e)?ue({},e):e:null}function ft(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:a}=e,u=t?rc(r||{},t):r,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Ro(u),ref:t&&t.ref?n&&i?j(i)?i.concat(Ln(t)):[i,Ln(t)]:Ln(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Se?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ft(e.ssContent),ssFallback:e.ssFallback&&ft(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&s&&Mt(c,a.clone(c)),c}function Po(e=" ",t=0){return me(Tt,null,e,t)}function Af(e,t){const n=me(nn,null,e);return n.staticCount=t,n}function Of(e="",t=!1){return t?(Ws(),Ks(xe,null,e)):me(xe,null,e)}function Ne(e){return e==null||typeof e=="boolean"?me(xe):j(e)?me(Se,null,e.slice()):fn(e)?at(e):me(Tt,null,String(e))}function at(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ft(e)}function dr(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(j(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),dr(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!fo(t)?t._ctx=pe:r===3&&pe&&(pe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else X(t)?(t={default:t,_ctx:pe},n=32):(t=String(t),s&64?(n=16,t=[Po(t)]):n=8);e.children=t,e.shapeFlag|=n}function rc(...e){const t={};for(let n=0;nve||pe;let Kn,qs;{const e=Qn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Kn=t("__VUE_INSTANCE_SETTERS__",n=>ve=n),qs=t("__VUE_SSR_SETTERS__",n=>dn=n)}const bn=e=>{const t=ve;return Kn(e),e.scope.on(),()=>{e.scope.off(),Kn(t)}},Hr=()=>{ve&&ve.scope.off(),Kn(null)};function Fo(e){return e.vnode.shapeFlag&4}let dn=!1;function ac(e,t=!1,n=!1){t&&qs(t);const{props:s,children:r}=e.vnode,i=Fo(e);Na(e,s,i,t),ja(e,r,n);const o=i?cc(e,t):void 0;return t&&qs(!1),o}function cc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Oa);const{setup:s}=n;if(s){ht();const r=e.setupContext=s.length>1?fc(e):null,i=bn(e),o=vn(s,e,0,[e.props,r]),l=yi(o);if(pt(),i(),(l||e.sp)&&!Et(e)&&eo(e),l){if(o.then(Hr,Hr),t)return o.then(a=>{kr(e,a,t)}).catch(a=>{rs(a,e,0)});e.asyncDep=o}else kr(e,o,t)}else Lo(e,t)}function kr(e,t,n){X(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:re(t)&&(e.setupState=ji(t)),Lo(e,n)}let Vr;function Lo(e,t,n){const s=e.type;if(!e.render){if(!t&&Vr&&!s.render){const r=s.template||ur(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:a}=s,u=ue(ue({isCustomElement:i,delimiters:l},o),a);s.render=Vr(r,u)}}e.render=s.render||Ye}{const r=bn(e);ht();try{Ma(e)}finally{pt(),r()}}}const uc={get(e,t){return _e(e,"get",""),e[t]}};function fc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,uc),slots:e.slots,emit:e.emit,expose:t}}function us(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ji(en(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in tn)return tn[n](e)},has(t,n){return n in t||n in tn}})):e.proxy}function dc(e,t=!0){return X(e)?e.displayName||e.name:e.name||t&&e.__name}function hc(e){return X(e)&&"__vccOpts"in e}const z=(e,t)=>ra(e,t,dn);function qn(e,t,n){const s=arguments.length;return s===2?re(t)&&!j(t)?fn(t)?me(e,null,[t]):me(e,t):me(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&fn(n)&&(n=[n]),me(e,t,n))}const pc="3.5.12";/** +* @vue/runtime-dom v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ys;const jr=typeof window<"u"&&window.trustedTypes;if(jr)try{Ys=jr.createPolicy("vue",{createHTML:e=>e})}catch{}const Do=Ys?e=>Ys.createHTML(e):e=>e,mc="http://www.w3.org/2000/svg",gc="http://www.w3.org/1998/Math/MathML",Je=typeof document<"u"?document:null,Ur=Je&&Je.createElement("template"),vc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Je.createElementNS(mc,e):t==="mathml"?Je.createElementNS(gc,e):n?Je.createElement(e,{is:n}):Je.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Je.createTextNode(e),createComment:e=>Je.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Je.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Ur.innerHTML=Do(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=Ur.content;if(s==="svg"||s==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},rt="transition",Gt="animation",jt=Symbol("_vtc"),$o={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},No=ue({},Gi,$o),yc=e=>(e.displayName="Transition",e.props=No,e),Mf=yc((e,{slots:t})=>qn(da,Ho(e),t)),yt=(e,t=[])=>{j(e)?e.forEach(n=>n(...t)):e&&e(...t)},Br=e=>e?j(e)?e.some(t=>t.length>1):e.length>1:!1;function Ho(e){const t={};for(const T in e)T in $o||(t[T]=e[T]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=i,appearActiveClass:u=o,appearToClass:c=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,w=bc(r),b=w&&w[0],x=w&&w[1],{onBeforeEnter:y,onEnter:S,onEnterCancelled:m,onLeave:v,onLeaveCancelled:R,onBeforeAppear:k=y,onAppear:F=S,onAppearCancelled:I=m}=t,D=(T,q,le)=>{it(T,q?c:l),it(T,q?u:o),le&&le()},E=(T,q)=>{T._isLeaving=!1,it(T,f),it(T,g),it(T,h),q&&q()},N=T=>(q,le)=>{const he=T?F:S,W=()=>D(q,T,le);yt(he,[q,W]),Wr(()=>{it(q,T?a:i),ze(q,T?c:l),Br(he)||Kr(q,s,b,W)})};return ue(t,{onBeforeEnter(T){yt(y,[T]),ze(T,i),ze(T,o)},onBeforeAppear(T){yt(k,[T]),ze(T,a),ze(T,u)},onEnter:N(!1),onAppear:N(!0),onLeave(T,q){T._isLeaving=!0;const le=()=>E(T,q);ze(T,f),ze(T,h),Vo(),Wr(()=>{T._isLeaving&&(it(T,f),ze(T,g),Br(v)||Kr(T,s,x,le))}),yt(v,[T,le])},onEnterCancelled(T){D(T,!1),yt(m,[T])},onAppearCancelled(T){D(T,!0),yt(I,[T])},onLeaveCancelled(T){E(T),yt(R,[T])}})}function bc(e){if(e==null)return null;if(re(e))return[Cs(e.enter),Cs(e.leave)];{const t=Cs(e);return[t,t]}}function Cs(e){return bl(e)}function ze(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[jt]||(e[jt]=new Set)).add(t)}function it(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[jt];n&&(n.delete(t),n.size||(e[jt]=void 0))}function Wr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let _c=0;function Kr(e,t,n,s){const r=e._endId=++_c,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:a}=ko(e,t);if(!o)return s();const u=o+"end";let c=0;const f=()=>{e.removeEventListener(u,h),i()},h=g=>{g.target===e&&++c>=a&&f()};setTimeout(()=>{c(n[w]||"").split(", "),r=s(`${rt}Delay`),i=s(`${rt}Duration`),o=qr(r,i),l=s(`${Gt}Delay`),a=s(`${Gt}Duration`),u=qr(l,a);let c=null,f=0,h=0;t===rt?o>0&&(c=rt,f=o,h=i.length):t===Gt?u>0&&(c=Gt,f=u,h=a.length):(f=Math.max(o,u),c=f>0?o>u?rt:Gt:null,h=c?c===rt?i.length:a.length:0);const g=c===rt&&/\b(transform|all)(,|$)/.test(s(`${rt}Property`).toString());return{type:c,timeout:f,propCount:h,hasTransform:g}}function qr(e,t){for(;e.lengthYr(n)+Yr(e[s])))}function Yr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Vo(){return document.body.offsetHeight}function wc(e,t,n){const s=e[jt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Yn=Symbol("_vod"),jo=Symbol("_vsh"),Rf={beforeMount(e,{value:t},{transition:n}){e[Yn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):zt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),zt(e,!0),s.enter(e)):s.leave(e,()=>{zt(e,!1)}):zt(e,t))},beforeUnmount(e,{value:t}){zt(e,t)}};function zt(e,t){e.style.display=t?e[Yn]:"none",e[jo]=!t}const Sc=Symbol(""),xc=/(^|;)\s*display\s*:/;function Ec(e,t,n){const s=e.style,r=fe(n);let i=!1;if(n&&!r){if(t)if(fe(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Dn(s,l,"")}else for(const o in t)n[o]==null&&Dn(s,o,"");for(const o in n)o==="display"&&(i=!0),Dn(s,o,n[o])}else if(r){if(t!==n){const o=s[Sc];o&&(n+=";"+o),s.cssText=n,i=xc.test(n)}}else t&&e.removeAttribute("style");Yn in e&&(e[Yn]=i?s.display:"",e[jo]&&(s.display="none"))}const Xr=/\s*!important$/;function Dn(e,t,n){if(j(n))n.forEach(s=>Dn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Tc(e,t);Xr.test(n)?e.setProperty(nt(s),n.replace(Xr,""),"important"):e[s]=n}}const Gr=["Webkit","Moz","ms"],As={};function Tc(e,t){const n=As[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return As[t]=s;s=Jn(s);for(let r=0;rOs||(Mc.then(()=>Os=0),Os=Date.now());function Ic(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Ue(Pc(s,n.value),t,5,[s])};return n.value=e,n.attached=Rc(),n}function Pc(e,t){if(j(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const ti=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Fc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?wc(e,s,o):t==="style"?Ec(e,n,s):pn(t)?zs(t)||Ac(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Lc(e,t,s,o))?(Qr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Jr(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!fe(s))?Qr(e,Le(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Jr(e,t,s,o))};function Lc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&ti(t)&&X(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return ti(t)&&fe(n)?!1:t in e}const Uo=new WeakMap,Bo=new WeakMap,Xn=Symbol("_moveCb"),ni=Symbol("_enterCb"),Dc=e=>(delete e.props.mode,e),$c=Dc({name:"TransitionGroup",props:ue({},No,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=yn(),s=Xi();let r,i;return no(()=>{if(!r.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!Vc(r[0].el,n.vnode.el,o))return;r.forEach(Nc),r.forEach(Hc);const l=r.filter(kc);Vo(),l.forEach(a=>{const u=a.el,c=u.style;ze(u,o),c.transform=c.webkitTransform=c.transitionDuration="";const f=u[Xn]=h=>{h&&h.target!==u||(!h||/transform$/.test(h.propertyName))&&(u.removeEventListener("transitionend",f),u[Xn]=null,it(u,o))};u.addEventListener("transitionend",f)})}),()=>{const o=ee(e),l=Ho(o);let a=o.tag||Se;if(r=[],i)for(let u=0;u{l.split(/\s+/).forEach(a=>a&&s.classList.remove(a))}),n.split(/\s+/).forEach(l=>l&&s.classList.add(l)),s.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(s);const{hasTransform:o}=ko(s);return i.removeChild(s),o}const Ut=e=>{const t=e.props["onUpdate:modelValue"]||!1;return j(t)?n=>Fn(t,n):t};function jc(e){e.target.composing=!0}function si(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const et=Symbol("_assign"),Pf={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[et]=Ut(r);const i=s||r.props&&r.props.type==="number";ct(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=$n(l)),e[et](l)}),n&&ct(e,"change",()=>{e.value=e.value.trim()}),t||(ct(e,"compositionstart",jc),ct(e,"compositionend",si),ct(e,"change",si))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[et]=Ut(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?$n(e.value):e.value,a=t??"";l!==a&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===a)||(e.value=a))}},Ff={deep:!0,created(e,t,n){e[et]=Ut(n),ct(e,"change",()=>{const s=e._modelValue,r=hn(e),i=e.checked,o=e[et];if(j(s)){const l=Zs(s,r),a=l!==-1;if(i&&!a)o(s.concat(r));else if(!i&&a){const u=[...s];u.splice(l,1),o(u)}}else if(Bt(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(Wo(e,i))})},mounted:ri,beforeUpdate(e,t,n){e[et]=Ut(n),ri(e,t,n)}};function ri(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(j(t))r=Zs(t,s.props.value)>-1;else if(Bt(t))r=t.has(s.props.value);else{if(t===n)return;r=gn(t,Wo(e,!0))}e.checked!==r&&(e.checked=r)}const Lf={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=Bt(t);ct(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?$n(hn(o)):hn(o));e[et](e.multiple?r?new Set(i):i:i[0]),e._assigning=!0,Kt(()=>{e._assigning=!1})}),e[et]=Ut(s)},mounted(e,{value:t}){ii(e,t)},beforeUpdate(e,t,n){e[et]=Ut(n)},updated(e,{value:t}){e._assigning||ii(e,t)}};function ii(e,t){const n=e.multiple,s=j(t);if(!(n&&!s&&!Bt(t))){for(let r=0,i=e.options.length;rString(u)===String(l)):o.selected=Zs(t,l)>-1}else o.selected=t.has(l);else if(gn(hn(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function hn(e){return"_value"in e?e._value:e.value}function Wo(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Uc=["ctrl","shift","alt","meta"],Bc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Uc.some(n=>e[`${n}Key`]&&!t.includes(n))},Df=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=nt(r.key);if(t.some(o=>o===i||Wc[o]===i))return e(r)})},Ko=ue({patchProp:Fc},vc);let rn,oi=!1;function Kc(){return rn||(rn=Ba(Ko))}function qc(){return rn=oi?rn:Wa(Ko),oi=!0,rn}const Nf=(...e)=>{const t=Kc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Yo(s);if(!r)return;const i=t._component;!X(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,qo(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t},Hf=(...e)=>{const t=qc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Yo(s);if(r)return n(r,!0,qo(r))},t};function qo(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Yo(e){return fe(e)?document.querySelector(e):e}const kf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Yc=window.__VP_SITE_DATA__;function Xe(e){return Ti()?(Ml(e),!0):!1}function K(e){return typeof e=="function"?e():ss(e)}function Vf(e){if(!ae(e))return ut(e);const t=new Proxy({},{get(n,s,r){return ss(Reflect.get(e.value,s,r))},set(n,s,r){return ae(e.value[s])&&!ae(r)?e.value[s].value=r:e.value[s]=r,!0},deleteProperty(n,s){return Reflect.deleteProperty(e.value,s)},has(n,s){return Reflect.has(e.value,s)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return ut(t)}const dt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Xc=Object.prototype.toString,Gc=e=>Xc.call(e)==="[object Object]",Gn=()=>+Date.now(),jf=(e,t,n)=>Math.min(n,Math.max(t,e)),tt=()=>{},zc=Jc();function Jc(){var e,t;return dt&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function fs(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const ds=e=>e();function hr(e,t={}){let n,s,r=tt;const i=l=>{clearTimeout(l),r(),r=tt};return l=>{const a=K(e),u=K(t.maxWait);return n&&i(n),a<=0||u!==void 0&&u<=0?(s&&(i(s),s=null),Promise.resolve(l())):new Promise((c,f)=>{r=t.rejectOnCancel?f:c,u&&!s&&(s=setTimeout(()=>{n&&i(n),s=null,c(l())},u)),n=setTimeout(()=>{s&&i(s),s=null,c(l())},a)})}}function Qc(...e){let t=0,n,s=!0,r=tt,i,o,l,a,u;!ae(e[0])&&typeof e[0]=="object"?{delay:o,trailing:l=!0,leading:a=!0,rejectOnCancel:u=!1}=e[0]:[o,l=!0,a=!0,u=!1]=e;const c=()=>{n&&(clearTimeout(n),n=void 0,r(),r=tt)};return h=>{const g=K(o),w=Date.now()-t,b=()=>i=h();return c(),g<=0?(t=Date.now(),b()):(w>g&&(a||!s)?(t=Date.now(),b()):l&&(i=new Promise((x,y)=>{r=u?y:x,n=setTimeout(()=>{t=Date.now(),s=!0,x(b()),c()},Math.max(0,g-w))})),!a&&!n&&(n=setTimeout(()=>s=!0,g)),s=!1,i)}}function Xo(e=ds){const t=V(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:Wt(t),pause:n,resume:s,eventFilter:r}}function Zc(e,t=!1,n="Timeout"){return new Promise((s,r)=>{setTimeout(t?()=>r(n):s,e)})}function Go(e){return e}function eu(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const s=t;t=void 0,s&&await s},n}function tu(e){return yn()}function zo(...e){if(e.length!==1)return na(...e);const t=e[0];return typeof t=="function"?Wt(or(()=>({get:t,set:tt}))):V(t)}function nu(e,t=200,n={}){return fs(hr(t,n),e)}function Uf(e,t=200,n={}){const s=V(e.value),r=nu(()=>{s.value=e.value},t,n);return ce(e,()=>r()),s}function pr(e,t,n={}){const{eventFilter:s=ds,...r}=n;return ce(e,fs(s,t),r)}function Jo(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:a}=Xo(s);return{stop:pr(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:a}}function su(e,t={}){if(!ae(e))return Zl(e);const n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const s in e.value)n[s]=or(()=>({get(){return e.value[s]},set(r){var i;if((i=K(t.replaceRef))!=null?i:!0)if(Array.isArray(e.value)){const l=[...e.value];l[s]=r,e.value=l}else{const l={...e.value,[s]:r};Object.setPrototypeOf(l,Object.getPrototypeOf(e.value)),e.value=l}else e.value[s]=r}}));return n}function hs(e,t=!0,n){tu()?Rt(e,n):t?e():Kt(e)}const ru=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i,iu=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function ou(e,t,n,s){let r=e<12?"AM":"PM";return s&&(r=r.split("").reduce((i,o)=>i+=`${o}.`,"")),n?r.toLowerCase():r}function bt(e){const t=["th","st","nd","rd"],n=e%100;return e+(t[(n-20)%10]||t[n]||t[0])}function lu(e,t,n={}){var s;const r=e.getFullYear(),i=e.getMonth(),o=e.getDate(),l=e.getHours(),a=e.getMinutes(),u=e.getSeconds(),c=e.getMilliseconds(),f=e.getDay(),h=(s=n.customMeridiem)!=null?s:ou,g={Yo:()=>bt(r),YY:()=>String(r).slice(-2),YYYY:()=>r,M:()=>i+1,Mo:()=>bt(i+1),MM:()=>`${i+1}`.padStart(2,"0"),MMM:()=>e.toLocaleDateString(K(n.locales),{month:"short"}),MMMM:()=>e.toLocaleDateString(K(n.locales),{month:"long"}),D:()=>String(o),Do:()=>bt(o),DD:()=>`${o}`.padStart(2,"0"),H:()=>String(l),Ho:()=>bt(l),HH:()=>`${l}`.padStart(2,"0"),h:()=>`${l%12||12}`.padStart(1,"0"),ho:()=>bt(l%12||12),hh:()=>`${l%12||12}`.padStart(2,"0"),m:()=>String(a),mo:()=>bt(a),mm:()=>`${a}`.padStart(2,"0"),s:()=>String(u),so:()=>bt(u),ss:()=>`${u}`.padStart(2,"0"),SSS:()=>`${c}`.padStart(3,"0"),d:()=>f,dd:()=>e.toLocaleDateString(K(n.locales),{weekday:"narrow"}),ddd:()=>e.toLocaleDateString(K(n.locales),{weekday:"short"}),dddd:()=>e.toLocaleDateString(K(n.locales),{weekday:"long"}),A:()=>h(l,a),AA:()=>h(l,a,!1,!0),a:()=>h(l,a,!0),aa:()=>h(l,a,!0,!0)};return t.replace(iu,(w,b)=>{var x,y;return(y=b??((x=g[w])==null?void 0:x.call(g)))!=null?y:w})}function au(e){if(e===null)return new Date(Number.NaN);if(e===void 0)return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){const t=e.match(ru);if(t){const n=t[2]-1||0,s=(t[7]||"0").substring(0,3);return new Date(t[1],n,t[3]||1,t[4]||0,t[5]||0,t[6]||0,s)}}return new Date(e)}function Bf(e,t="HH:mm:ss",n={}){return z(()=>lu(au(K(e)),K(t),n))}function Qo(e,t=1e3,n={}){const{immediate:s=!0,immediateCallback:r=!1}=n;let i=null;const o=V(!1);function l(){i&&(clearInterval(i),i=null)}function a(){o.value=!1,l()}function u(){const c=K(t);c<=0||(o.value=!0,r&&e(),l(),o.value&&(i=setInterval(e,c)))}if(s&&dt&&u(),ae(t)||typeof t=="function"){const c=ce(t,()=>{o.value&&dt&&u()});Xe(c)}return Xe(a),{isActive:o,pause:a,resume:u}}function Wf(e,t={}){var n;const s=V((n=t.initialValue)!=null?n:null);return ce(e,()=>s.value=Gn(),t),s}function cu(e,t,n={}){const{immediate:s=!0}=n,r=V(!1);let i=null;function o(){i&&(clearTimeout(i),i=null)}function l(){r.value=!1,o()}function a(...u){o(),r.value=!0,i=setTimeout(()=>{r.value=!1,i=null,e(...u)},K(t))}return s&&(r.value=!0,dt&&a()),Xe(l),{isPending:Wt(r),start:a,stop:l}}function Kf(e,t,n={}){const{debounce:s=0,maxWait:r=void 0,...i}=n;return pr(e,t,{...i,eventFilter:hr(s,{maxWait:r})})}function uu(e,t,n={}){const{eventFilter:s=ds,...r}=n,i=fs(s,t);let o,l,a;if(r.flush==="sync"){const u=V(!1);l=()=>{},o=c=>{u.value=!0,c(),u.value=!1},a=ce(e,(...c)=>{u.value||i(...c)},r)}else{const u=[],c=V(0),f=V(0);l=()=>{c.value=f.value},u.push(ce(e,()=>{f.value++},{...r,flush:"sync"})),o=h=>{const g=f.value;h(),c.value+=f.value-g},u.push(ce(e,(...h)=>{const g=c.value>0&&c.value===f.value;c.value=0,f.value=0,!g&&i(...h)},r)),a=()=>{u.forEach(h=>h())}}return{stop:a,ignoreUpdates:o,ignorePrevAsyncUpdates:l}}function qf(e,t,n){const s=ce(e,(...r)=>(Kt(()=>s()),t(...r)),n);return s}function Yf(e,t,n={}){const{throttle:s=0,trailing:r=!0,leading:i=!0,...o}=n;return pr(e,t,{...o,eventFilter:Qc(s,r,i)})}var li={};const de=dt?window:void 0,fu=dt?window.document:void 0,mr=dt?window.navigator:void 0;function Fe(e){var t;const n=K(e);return(t=n==null?void 0:n.$el)!=null?t:n}function J(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=de):[t,n,s,r]=e,!t)return tt;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(c=>c()),i.length=0},l=(c,f,h,g)=>(c.addEventListener(f,h,g),()=>c.removeEventListener(f,h,g)),a=ce(()=>[Fe(t),K(r)],([c,f])=>{if(o(),!c)return;const h=Gc(f)?{...f}:f;i.push(...n.flatMap(g=>s.map(w=>l(c,g,w,h))))},{immediate:!0,flush:"post"}),u=()=>{a(),o()};return Xe(u),u}let ai=!1;function Xf(e,t,n={}){const{window:s=de,ignore:r=[],capture:i=!0,detectIframe:o=!1}=n;if(!s)return tt;zc&&!ai&&(ai=!0,Array.from(s.document.body.children).forEach(b=>b.addEventListener("click",tt)),s.document.documentElement.addEventListener("click",tt));let l=!0;const a=b=>K(r).some(x=>{if(typeof x=="string")return Array.from(s.document.querySelectorAll(x)).some(y=>y===b.target||b.composedPath().includes(y));{const y=Fe(x);return y&&(b.target===y||b.composedPath().includes(y))}});function u(b){const x=K(b);return x&&x.$.subTree.shapeFlag===16}function c(b,x){const y=K(b),S=y.$.subTree&&y.$.subTree.children;return S==null||!Array.isArray(S)?!1:S.some(m=>m.el===x.target||x.composedPath().includes(m.el))}const f=b=>{const x=Fe(e);if(b.target!=null&&!(!(x instanceof Element)&&u(e)&&c(e,b))&&!(!x||x===b.target||b.composedPath().includes(x))){if(b.detail===0&&(l=!a(b)),!l){l=!0;return}t(b)}};let h=!1;const g=[J(s,"click",b=>{h||(h=!0,setTimeout(()=>{h=!1},0),f(b))},{passive:!0,capture:i}),J(s,"pointerdown",b=>{const x=Fe(e);l=!a(b)&&!!(x&&!b.composedPath().includes(x))},{passive:!0}),o&&J(s,"blur",b=>{setTimeout(()=>{var x;const y=Fe(e);((x=s.document.activeElement)==null?void 0:x.tagName)==="IFRAME"&&!(y!=null&&y.contains(s.document.activeElement))&&t(b)},0)})].filter(Boolean);return()=>g.forEach(b=>b())}function du(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Zo(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=de,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,a=du(t);return J(r,i,c=>{c.repeat&&K(l)||a(c)&&n(c)},o)}function Gf(e,t,n={}){return Zo(e,t,{...n,eventName:"keydown"})}function zf(e,t,n={}){return Zo(e,t,{...n,eventName:"keyup"})}function hu(){const e=V(!1),t=yn();return t&&Rt(()=>{e.value=!0},t),e}function mt(e){const t=hu();return z(()=>(t.value,!!e()))}function el(e,t={}){const{immediate:n=!0,fpsLimit:s=void 0,window:r=de}=t,i=V(!1),o=s?1e3/s:null;let l=0,a=null;function u(h){if(!i.value||!r)return;l||(l=h);const g=h-l;if(o&&gn&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=V(!1),o=u=>{i.value=u.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},a=xo(()=>{s.value&&(l(),r=n.matchMedia(K(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return Xe(()=>{a(),l(),r=void 0}),i}function Jf(e){const{name:t,window:n=de}=e,s=mt(()=>n&&"BroadcastChannel"in n),r=V(!1),i=V(),o=V(),l=Ot(null),a=c=>{i.value&&i.value.postMessage(c)},u=()=>{i.value&&i.value.close(),r.value=!0};return s.value&&hs(()=>{l.value=null,i.value=new BroadcastChannel(t),i.value.addEventListener("message",c=>{o.value=c.data},{passive:!0}),i.value.addEventListener("messageerror",c=>{l.value=c},{passive:!0}),i.value.addEventListener("close",()=>{r.value=!0})}),Xe(()=>{u()}),{isSupported:s,channel:i,data:o,post:a,close:u,error:l,isClosed:r}}function Xs(e,t={}){const{controls:n=!1,navigator:s=mr}=t,r=mt(()=>s&&"permissions"in s),i=Ot(),o=typeof e=="string"?{name:e}:e,l=Ot(),a=()=>{var c,f;l.value=(f=(c=i.value)==null?void 0:c.state)!=null?f:"prompt"};J(i,"change",a);const u=eu(async()=>{if(r.value){if(!i.value)try{i.value=await s.permissions.query(o)}catch{i.value=void 0}finally{a()}if(n)return ee(i.value)}});return u(),n?{state:l,isSupported:r,query:u}:l}function Qf(e={}){const{navigator:t=mr,read:n=!1,source:s,copiedDuring:r=1500,legacy:i=!1}=e,o=mt(()=>t&&"clipboard"in t),l=Xs("clipboard-read"),a=Xs("clipboard-write"),u=z(()=>o.value||i),c=V(""),f=V(!1),h=cu(()=>f.value=!1,r);function g(){o.value&&y(l.value)?t.clipboard.readText().then(S=>{c.value=S}):c.value=x()}u.value&&n&&J(["copy","cut"],g);async function w(S=K(s)){u.value&&S!=null&&(o.value&&y(a.value)?await t.clipboard.writeText(S):b(S),c.value=S,f.value=!0,h.start())}function b(S){const m=document.createElement("textarea");m.value=S??"",m.style.position="absolute",m.style.opacity="0",document.body.appendChild(m),m.select(),document.execCommand("copy"),m.remove()}function x(){var S,m,v;return(v=(m=(S=document==null?void 0:document.getSelection)==null?void 0:S.call(document))==null?void 0:m.toString())!=null?v:""}function y(S){return S==="granted"||S==="prompt"}return{isSupported:u,text:c,copied:f,copy:w}}function nl(e){return JSON.parse(JSON.stringify(e))}const Mn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof li<"u"?li:typeof self<"u"?self:{},Rn="__vueuse_ssr_handlers__",pu=mu();function mu(){return Rn in Mn||(Mn[Rn]=Mn[Rn]||{}),Mn[Rn]}function sl(e,t){return pu[e]||t}function gr(e){return tl("(prefers-color-scheme: dark)",e)}function gu(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const vu={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},ci="vueuse-storage";function yu(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:u=!1,shallow:c,window:f=de,eventFilter:h,onError:g=E=>{console.error(E)},initOnMounted:w}=s,b=(c?Ot:V)(typeof t=="function"?t():t);if(!n)try{n=sl("getDefaultStorage",()=>{var E;return(E=de)==null?void 0:E.localStorage})()}catch(E){g(E)}if(!n)return b;const x=K(t),y=gu(x),S=(r=s.serializer)!=null?r:vu[y],{pause:m,resume:v}=Jo(b,()=>k(b.value),{flush:i,deep:o,eventFilter:h});f&&l&&hs(()=>{n instanceof Storage?J(f,"storage",I):J(f,ci,D),w&&I()}),w||I();function R(E,N){if(f){const T={key:e,oldValue:E,newValue:N,storageArea:n};f.dispatchEvent(n instanceof Storage?new StorageEvent("storage",T):new CustomEvent(ci,{detail:T}))}}function k(E){try{const N=n.getItem(e);if(E==null)R(N,null),n.removeItem(e);else{const T=S.write(E);N!==T&&(n.setItem(e,T),R(N,T))}}catch(N){g(N)}}function F(E){const N=E?E.newValue:n.getItem(e);if(N==null)return a&&x!=null&&n.setItem(e,S.write(x)),x;if(!E&&u){const T=S.read(N);return typeof u=="function"?u(T,x):y==="object"&&!Array.isArray(T)?{...x,...T}:T}else return typeof N!="string"?N:S.read(N)}function I(E){if(!(E&&E.storageArea!==n)){if(E&&E.key==null){b.value=x;return}if(!(E&&E.key!==e)){m();try{(E==null?void 0:E.newValue)!==S.write(b.value)&&(b.value=F(E))}catch(N){g(N)}finally{E?Kt(v):v()}}}}function D(E){I(E.detail)}return b}const bu="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function _u(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=de,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:a,emitAuto:u,disableTransition:c=!0}=e,f={auto:"",light:"light",dark:"dark",...e.modes||{}},h=gr({window:r}),g=z(()=>h.value?"dark":"light"),w=a||(o==null?zo(s):yu(o,s,i,{window:r,listenToStorageChanges:l})),b=z(()=>w.value==="auto"?g.value:w.value),x=sl("updateHTMLAttrs",(v,R,k)=>{const F=typeof v=="string"?r==null?void 0:r.document.querySelector(v):Fe(v);if(!F)return;const I=new Set,D=new Set;let E=null;if(R==="class"){const T=k.split(/\s/g);Object.values(f).flatMap(q=>(q||"").split(/\s/g)).filter(Boolean).forEach(q=>{T.includes(q)?I.add(q):D.add(q)})}else E={key:R,value:k};if(I.size===0&&D.size===0&&E===null)return;let N;c&&(N=r.document.createElement("style"),N.appendChild(document.createTextNode(bu)),r.document.head.appendChild(N));for(const T of I)F.classList.add(T);for(const T of D)F.classList.remove(T);E&&F.setAttribute(E.key,E.value),c&&(r.getComputedStyle(N).opacity,document.head.removeChild(N))});function y(v){var R;x(t,n,(R=f[v])!=null?R:v)}function S(v){e.onChanged?e.onChanged(v,y):y(v)}ce(b,S,{flush:"post",immediate:!0}),hs(()=>S(b.value));const m=z({get(){return u?w.value:b.value},set(v){w.value=v}});try{return Object.assign(m,{store:w,system:g,state:b})}catch{return m}}function Zf(e,t){const n=Ot(u()),s=zo(e),r=z({get(){var c;const f=s.value;let h=t!=null&&t.getIndexOf?t.getIndexOf(n.value,f):f.indexOf(n.value);return h<0&&(h=(c=t==null?void 0:t.fallbackIndex)!=null?c:0),h},set(c){i(c)}});function i(c){const f=s.value,h=f.length,g=(c%h+h)%h,w=f[g];return n.value=w,w}function o(c=1){return i(r.value+c)}function l(c=1){return o(c)}function a(c=1){return o(-c)}function u(){var c,f;return(f=K((c=t==null?void 0:t.initialValue)!=null?c:K(e)[0]))!=null?f:void 0}return ce(s,()=>i(r.value)),{state:n,index:r,next:l,prev:a,go:i}}function wu(e={}){const{valueDark:t="dark",valueLight:n="",window:s=de}=e,r=_u({...e,onChanged:(l,a)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,l==="dark",a,l):a(l)},modes:{dark:t,light:n}}),i=z(()=>r.system?r.system.value:gr({window:s}).value?"dark":"light");return z({get(){return r.value==="dark"},set(l){const a=l?"dark":"light";i.value===a?r.value="auto":r.value=a}})}function rl(e){return e}function Su(e,t){return e.value=t}function xu(e){return e?typeof e=="function"?e:nl:rl}function Eu(e){return e?typeof e=="function"?e:nl:rl}function Tu(e,t={}){const{clone:n=!1,dump:s=xu(n),parse:r=Eu(n),setSource:i=Su}=t;function o(){return en({snapshot:s(e.value),timestamp:Gn()})}const l=V(o()),a=V([]),u=V([]),c=m=>{i(e,r(m.snapshot)),l.value=m},f=()=>{a.value.unshift(l.value),l.value=o(),t.capacity&&a.value.length>t.capacity&&a.value.splice(t.capacity,Number.POSITIVE_INFINITY),u.value.length&&u.value.splice(0,u.value.length)},h=()=>{a.value.splice(0,a.value.length),u.value.splice(0,u.value.length)},g=()=>{const m=a.value.shift();m&&(u.value.unshift(l.value),c(m))},w=()=>{const m=u.value.shift();m&&(a.value.unshift(l.value),c(m))},b=()=>{c(l.value)},x=z(()=>[l.value,...a.value]),y=z(()=>a.value.length>0),S=z(()=>u.value.length>0);return{source:e,undoStack:a,redoStack:u,last:l,history:x,canUndo:y,canRedo:S,clear:h,commit:f,reset:b,undo:g,redo:w}}function Cu(e,t={}){const{deep:n=!1,flush:s="pre",eventFilter:r}=t,{eventFilter:i,pause:o,resume:l,isActive:a}=Xo(r),{ignoreUpdates:u,ignorePrevAsyncUpdates:c,stop:f}=uu(e,x,{deep:n,flush:s,eventFilter:i});function h(v,R){c(),u(()=>{v.value=R})}const g=Tu(e,{...t,clone:t.clone||n,setSource:h}),{clear:w,commit:b}=g;function x(){c(),b()}function y(v){l(),v&&x()}function S(v){let R=!1;const k=()=>R=!0;u(()=>{v(k)}),R||x()}function m(){f(),w()}return{...g,isTracking:a,pause:o,resume:y,commit:x,batch:S,dispose:m}}function ed(e,t={}){const n=t.debounce?hr(t.debounce):void 0;return{...Cu(e,{...t,eventFilter:n})}}function td(e={}){const{window:t=de,eventFilter:n=ds}=e,s=V({x:null,y:null,z:null}),r=V({alpha:null,beta:null,gamma:null}),i=V(0),o=V({x:null,y:null,z:null});if(t){const l=fs(n,a=>{s.value=a.acceleration,o.value=a.accelerationIncludingGravity,r.value=a.rotationRate,i.value=a.interval});J(t,"devicemotion",l)}return{acceleration:s,accelerationIncludingGravity:o,rotationRate:r,interval:i}}function nd(e={}){const{window:t=de}=e,n=mt(()=>t&&"DeviceOrientationEvent"in t),s=V(!1),r=V(null),i=V(null),o=V(null);return t&&n.value&&J(t,"deviceorientation",l=>{s.value=l.absolute,r.value=l.alpha,i.value=l.beta,o.value=l.gamma}),{isSupported:n,isAbsolute:s,alpha:r,beta:i,gamma:o}}function sd(e={}){const{navigator:t=mr,requestPermissions:n=!1,constraints:s={audio:!0,video:!0},onUpdated:r}=e,i=V([]),o=z(()=>i.value.filter(w=>w.kind==="videoinput")),l=z(()=>i.value.filter(w=>w.kind==="audioinput")),a=z(()=>i.value.filter(w=>w.kind==="audiooutput")),u=mt(()=>t&&t.mediaDevices&&t.mediaDevices.enumerateDevices),c=V(!1);let f;async function h(){u.value&&(i.value=await t.mediaDevices.enumerateDevices(),r==null||r(i.value),f&&(f.getTracks().forEach(w=>w.stop()),f=null))}async function g(){if(!u.value)return!1;if(c.value)return!0;const{state:w,query:b}=Xs("camera",{controls:!0});if(await b(),w.value!=="granted"){let x=!0;try{f=await t.mediaDevices.getUserMedia(s)}catch{f=null,x=!1}h(),c.value=x}else c.value=!0;return c.value}return u.value&&(n&&g(),J(t.mediaDevices,"devicechange",h),h()),{devices:i,ensurePermissions:g,permissionGranted:c,videoInputs:o,audioInputs:l,audioOutputs:a,isSupported:u}}function rd(e,t={}){var n,s;const{pointerTypes:r,preventDefault:i,stopPropagation:o,exact:l,onMove:a,onEnd:u,onStart:c,initialValue:f,axis:h="both",draggingElement:g=de,containerElement:w,handle:b=e,buttons:x=[0]}=t,y=V((n=K(f))!=null?n:{x:0,y:0}),S=V(),m=I=>r?r.includes(I.pointerType):!0,v=I=>{K(i)&&I.preventDefault(),K(o)&&I.stopPropagation()},R=I=>{var D;if(!K(x).includes(I.button)||K(t.disabled)||!m(I)||K(l)&&I.target!==K(e))return;const E=K(w),N=(D=E==null?void 0:E.getBoundingClientRect)==null?void 0:D.call(E),T=K(e).getBoundingClientRect(),q={x:I.clientX-(E?T.left-N.left+E.scrollLeft:T.left),y:I.clientY-(E?T.top-N.top+E.scrollTop:T.top)};(c==null?void 0:c(q,I))!==!1&&(S.value=q,v(I))},k=I=>{if(K(t.disabled)||!m(I)||!S.value)return;const D=K(w),E=K(e).getBoundingClientRect();let{x:N,y:T}=y.value;(h==="x"||h==="both")&&(N=I.clientX-S.value.x,D&&(N=Math.min(Math.max(0,N),D.scrollWidth-E.width))),(h==="y"||h==="both")&&(T=I.clientY-S.value.y,D&&(T=Math.min(Math.max(0,T),D.scrollHeight-E.height))),y.value={x:N,y:T},a==null||a(y.value,I),v(I)},F=I=>{K(t.disabled)||!m(I)||S.value&&(S.value=void 0,u==null||u(y.value,I),v(I))};if(dt){const I={capture:(s=t.capture)!=null?s:!0};J(b,"pointerdown",R,I),J(g,"pointermove",k,I),J(g,"pointerup",F,I)}return{...su(y),position:y,isDragging:z(()=>!!S.value),style:z(()=>`left:${y.value.x}px;top:${y.value.y}px;`)}}function id(e,t,n={}){const{window:s=de,...r}=n;let i;const o=mt(()=>s&&"ResizeObserver"in s),l=()=>{i&&(i.disconnect(),i=void 0)},a=z(()=>{const f=K(e);return Array.isArray(f)?f.map(h=>Fe(h)):[Fe(f)]}),u=ce(a,f=>{if(l(),o.value&&s){i=new ResizeObserver(t);for(const h of f)h&&i.observe(h,r)}},{immediate:!0,flush:"post"}),c=()=>{l(),u()};return Xe(c),{isSupported:o,stop:c}}function od(e,t={}){const{initialValue:n=!1,focusVisible:s=!1,preventScroll:r=!1}=t,i=V(!1),o=z(()=>Fe(e));J(o,"focus",a=>{var u,c;(!s||(c=(u=a.target).matches)!=null&&c.call(u,":focus-visible"))&&(i.value=!0)}),J(o,"blur",()=>i.value=!1);const l=z({get:()=>i.value,set(a){var u,c;!a&&i.value?(u=o.value)==null||u.blur():a&&!i.value&&((c=o.value)==null||c.focus({preventScroll:r}))}});return ce(o,()=>{l.value=n},{immediate:!0,flush:"post"}),{focused:l}}const ui=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function ld(e,t={}){const{document:n=fu,autoExit:s=!1}=t,r=z(()=>{var y;return(y=Fe(e))!=null?y:n==null?void 0:n.querySelector("html")}),i=V(!1),o=z(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(y=>n&&y in n||r.value&&y in r.value)),l=z(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(y=>n&&y in n||r.value&&y in r.value)),a=z(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(y=>n&&y in n||r.value&&y in r.value)),u=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(y=>n&&y in n),c=mt(()=>r.value&&n&&o.value!==void 0&&l.value!==void 0&&a.value!==void 0),f=()=>u?(n==null?void 0:n[u])===r.value:!1,h=()=>{if(a.value){if(n&&n[a.value]!=null)return n[a.value];{const y=r.value;if((y==null?void 0:y[a.value])!=null)return!!y[a.value]}}return!1};async function g(){if(!(!c.value||!i.value)){if(l.value)if((n==null?void 0:n[l.value])!=null)await n[l.value]();else{const y=r.value;(y==null?void 0:y[l.value])!=null&&await y[l.value]()}i.value=!1}}async function w(){if(!c.value||i.value)return;h()&&await g();const y=r.value;o.value&&(y==null?void 0:y[o.value])!=null&&(await y[o.value](),i.value=!0)}async function b(){await(i.value?g():w())}const x=()=>{const y=h();(!y||y&&f())&&(i.value=y)};return J(n,ui,x,!1),J(()=>Fe(r),ui,x,!1),s&&Xe(g),{isSupported:c,isFullscreen:i,enter:w,exit:g,toggle:b}}const Au={page:e=>[e.pageX,e.pageY],client:e=>[e.clientX,e.clientY],screen:e=>[e.screenX,e.screenY],movement:e=>e instanceof Touch?null:[e.movementX,e.movementY]};function Ou(e={}){const{type:t="page",touch:n=!0,resetOnTouchEnds:s=!1,initialValue:r={x:0,y:0},window:i=de,target:o=i,scroll:l=!0,eventFilter:a}=e;let u=null,c=0,f=0;const h=V(r.x),g=V(r.y),w=V(null),b=typeof t=="function"?t:Au[t],x=F=>{const I=b(F);u=F,I&&([h.value,g.value]=I,w.value="mouse"),i&&(c=i.scrollX,f=i.scrollY)},y=F=>{if(F.touches.length>0){const I=b(F.touches[0]);I&&([h.value,g.value]=I,w.value="touch")}},S=()=>{if(!u||!i)return;const F=b(u);u instanceof MouseEvent&&F&&(h.value=F[0]+i.scrollX-c,g.value=F[1]+i.scrollY-f)},m=()=>{h.value=r.x,g.value=r.y},v=a?F=>a(()=>x(F),{}):F=>x(F),R=a?F=>a(()=>y(F),{}):F=>y(F),k=a?()=>a(()=>S(),{}):()=>S();if(o){const F={passive:!0};J(o,["mousemove","dragover"],v,F),n&&t!=="movement"&&(J(o,["touchstart","touchmove"],R,F),s&&J(o,"touchend",m,F)),l&&t==="page"&&J(i,"scroll",k,{passive:!0})}return{x:h,y:g,sourceType:w}}function ad(e,t={}){const{handleOutside:n=!0,window:s=de}=t,r=t.type||"page",{x:i,y:o,sourceType:l}=Ou(t),a=V(e??(s==null?void 0:s.document.body)),u=V(0),c=V(0),f=V(0),h=V(0),g=V(0),w=V(0),b=V(!0);let x=()=>{};return s&&(x=ce([a,i,o],()=>{const y=Fe(a);if(!y||!(y instanceof Element))return;const{left:S,top:m,width:v,height:R}=y.getBoundingClientRect();f.value=S+(r==="page"?s.pageXOffset:0),h.value=m+(r==="page"?s.pageYOffset:0),g.value=R,w.value=v;const k=i.value-f.value,F=o.value-h.value;b.value=v===0||R===0||k<0||F<0||k>v||F>R,(n||!b.value)&&(u.value=k,c.value=F)},{immediate:!0}),J(document,"mouseleave",()=>{b.value=!0})),{x:i,y:o,sourceType:l,elementX:u,elementY:c,elementPositionX:f,elementPositionY:h,elementHeight:g,elementWidth:w,isOutside:b,stop:x}}function cd(e={}){const{touch:t=!0,drag:n=!0,capture:s=!1,initialValue:r=!1,window:i=de}=e,o=V(r),l=V(null);if(!i)return{pressed:o,sourceType:l};const a=f=>()=>{o.value=!0,l.value=f},u=()=>{o.value=!1,l.value=null},c=z(()=>Fe(e.target)||i);return J(c,"mousedown",a("mouse"),{passive:!0,capture:s}),J(i,"mouseleave",u,{passive:!0,capture:s}),J(i,"mouseup",u,{passive:!0,capture:s}),n&&(J(c,"dragstart",a("mouse"),{passive:!0,capture:s}),J(i,"drop",u,{passive:!0,capture:s}),J(i,"dragend",u,{passive:!0,capture:s})),t&&(J(c,"touchstart",a("touch"),{passive:!0,capture:s}),J(i,"touchend",u,{passive:!0,capture:s}),J(i,"touchcancel",u,{passive:!0,capture:s})),{pressed:o,sourceType:l}}function Mu(e={}){const{controls:t=!1,interval:n="requestAnimationFrame"}=e,s=V(new Date),r=()=>s.value=new Date,i=n==="requestAnimationFrame"?el(r,{immediate:!0}):Qo(r,n,{immediate:!0});return t?{now:s,...i}:s}const Ru=[{max:6e4,value:1e3,name:"second"},{max:276e4,value:6e4,name:"minute"},{max:72e6,value:36e5,name:"hour"},{max:5184e5,value:864e5,name:"day"},{max:24192e5,value:6048e5,name:"week"},{max:28512e6,value:2592e6,name:"month"},{max:Number.POSITIVE_INFINITY,value:31536e6,name:"year"}],Iu={justNow:"just now",past:e=>e.match(/\d/)?`${e} ago`:e,future:e=>e.match(/\d/)?`in ${e}`:e,month:(e,t)=>e===1?t?"last month":"next month":`${e} month${e>1?"s":""}`,year:(e,t)=>e===1?t?"last year":"next year":`${e} year${e>1?"s":""}`,day:(e,t)=>e===1?t?"yesterday":"tomorrow":`${e} day${e>1?"s":""}`,week:(e,t)=>e===1?t?"last week":"next week":`${e} week${e>1?"s":""}`,hour:e=>`${e} hour${e>1?"s":""}`,minute:e=>`${e} minute${e>1?"s":""}`,second:e=>`${e} second${e>1?"s":""}`,invalid:""};function Pu(e){return e.toISOString().slice(0,10)}function ud(e,t={}){const{controls:n=!1,updateInterval:s=3e4}=t,{now:r,...i}=Mu({interval:s,controls:!0}),o=z(()=>Fu(new Date(K(e)),t,K(r)));return n?{timeAgo:o,...i}:o}function Fu(e,t={},n=Date.now()){var s;const{max:r,messages:i=Iu,fullDateFormatter:o=Pu,units:l=Ru,showSecond:a=!1,rounding:u="round"}=t,c=typeof u=="number"?x=>+x.toFixed(u):Math[u],f=+n-+e,h=Math.abs(f);function g(x,y){return c(Math.abs(x)/y.value)}function w(x,y){const S=g(x,y),m=x>0,v=b(y.name,S,m);return b(m?"past":"future",v,m)}function b(x,y,S){const m=i[x];return typeof m=="function"?m(y,S):m.replace("{0}",y.toString())}if(h<6e4&&!a)return i.justNow;if(typeof r=="number"&&h>r)return o(new Date(e));if(typeof r=="string"){const x=(s=l.find(y=>y.name===r))==null?void 0:s.max;if(x&&h>x)return o(new Date(e))}for(const[x,y]of l.entries()){if(g(f,y)<=0&&l[x-1])return w(f,l[x-1]);if(ho.value=Gn()+n,a=i?()=>{l(),i(o.value)}:l,u=r==="requestAnimationFrame"?el(a,{immediate:s}):Qo(a,r,{immediate:s});return t?{timestamp:o,...u}:o}const Lu={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]},dd=Object.assign({},{linear:Go},Lu);function Du([e,t,n,s]){const r=(c,f)=>1-3*f+3*c,i=(c,f)=>3*f-6*c,o=c=>3*c,l=(c,f,h)=>((r(f,h)*c+i(f,h))*c+o(f))*c,a=(c,f,h)=>3*r(f,h)*c*c+2*i(f,h)*c+o(f),u=c=>{let f=c;for(let h=0;h<4;++h){const g=a(f,e,n);if(g===0)return f;const w=l(f,e,n)-c;f-=w/g}return f};return c=>e===t&&n===s?c:l(u(c),t,s)}function fi(e,t,n){return e+n*(t-e)}function Ms(e){return(typeof e=="number"?[e]:e)||[]}function $u(e,t,n,s={}){var r,i;const o=K(t),l=K(n),a=Ms(o),u=Ms(l),c=(r=K(s.duration))!=null?r:1e3,f=Date.now(),h=Date.now()+c,g=typeof s.transition=="function"?s.transition:(i=K(s.transition))!=null?i:Go,w=typeof g=="function"?g:Du(g);return new Promise(b=>{e.value=o;const x=()=>{var y;if((y=s.abort)!=null&&y.call(s)){b();return}const S=Date.now(),m=w((S-f)/c),v=Ms(e.value).map((R,k)=>fi(a[k],u[k],m));Array.isArray(e.value)?e.value=v.map((R,k)=>{var F,I;return fi((F=a[k])!=null?F:0,(I=u[k])!=null?I:0,m)}):typeof e.value=="number"&&(e.value=v[0]),S{const i=K(e);return typeof i=="number"?i:i.map(K)},r=V(s());return ce(s,async i=>{var o,l;if(K(t.disabled))return;const a=++n;if(t.delay&&await Zc(K(t.delay)),a!==n)return;const u=Array.isArray(i)?i.map(K):K(i);(o=t.onStarted)==null||o.call(t),await $u(r,r.value,u,{...t,abort:()=>{var c;return a!==n||((c=t.abort)==null?void 0:c.call(t))}}),(l=t.onFinished)==null||l.call(t)},{deep:!0}),ce(()=>K(t.disabled),i=>{i&&(n++,r.value=s())}),Xe(()=>{n++}),z(()=>K(t.disabled)?s():r.value)}function pd(e="history",t={}){const{initialValue:n={},removeNullishValues:s=!0,removeFalsyValues:r=!1,write:i=!0,window:o=de}=t;if(!o)return ut(n);const l=ut({});function a(){if(e==="history")return o.location.search||"";if(e==="hash"){const y=o.location.hash||"",S=y.indexOf("?");return S>0?y.slice(S):""}else return(o.location.hash||"").replace(/^#/,"")}function u(y){const S=y.toString();if(e==="history")return`${S?`?${S}`:""}${o.location.hash||""}`;if(e==="hash-params")return`${o.location.search||""}${S?`#${S}`:""}`;const m=o.location.hash||"#",v=m.indexOf("?");return v>0?`${o.location.search||""}${m.slice(0,v)}${S?`?${S}`:""}`:`${o.location.search||""}${m}${S?`?${S}`:""}`}function c(){return new URLSearchParams(a())}function f(y){const S=new Set(Object.keys(l));for(const m of y.keys()){const v=y.getAll(m);l[m]=v.length>1?v:y.get(m)||"",S.delete(m)}Array.from(S).forEach(m=>delete l[m])}const{pause:h,resume:g}=Jo(l,()=>{const y=new URLSearchParams("");Object.keys(l).forEach(S=>{const m=l[S];Array.isArray(m)?m.forEach(v=>y.append(S,v)):s&&m==null||r&&!m?y.delete(S):y.set(S,m)}),w(y)},{deep:!0});function w(y,S){h(),S&&f(y),o.history.replaceState(o.history.state,o.document.title,o.location.pathname+u(y)),g()}function b(){i&&w(c(),!0)}J(o,"popstate",b,!1),e!=="history"&&J(o,"hashchange",b,!1);const x=c();return x.keys().next().value?f(x):Object.assign(l,n),l}function md(e={}){const{window:t=de,behavior:n="auto"}=e;if(!t)return{x:V(0),y:V(0)};const s=V(t.scrollX),r=V(t.scrollY),i=z({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),o=z({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return J(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:i,y:o}}function gd(e={}){const{window:t=de,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0,type:o="inner"}=e,l=V(n),a=V(s),u=()=>{t&&(o==="outer"?(l.value=t.outerWidth,a.value=t.outerHeight):i?(l.value=t.innerWidth,a.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(u(),hs(u),J("resize",u,{passive:!0}),r){const c=tl("(orientation: portrait)");ce(c,()=>u())}return{width:l,height:a}}const Rs={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var Is={};const il=/^(?:[a-z]+:|\/\/)/i,Nu="vitepress-theme-appearance",Hu=/#.*$/,ku=/[?#].*$/,Vu=/(?:(^|\/)index)?\.(?:md|html)$/,be=typeof document<"u",ol={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function ju(e,t,n=!1){if(t===void 0)return!1;if(e=di(`/${e}`),n)return new RegExp(t).test(e);if(di(t)!==e)return!1;const s=t.match(Hu);return s?(be?location.hash:"")===s[0]:!0}function di(e){return decodeURI(e).replace(ku,"").replace(Vu,"$1")}function Uu(e){return il.test(e)}function Bu(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!Uu(n)&&ju(t,`/${n}/`,!0))||"root"}function Wu(e,t){var s,r,i,o,l,a,u;const n=Bu(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:al(e.head,((a=e.locales[n])==null?void 0:a.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function ll(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Ku(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function Ku(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function qu(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function al(e,t){return[...e.filter(n=>!qu(t,n)),...t]}const Yu=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Xu=/^[a-z]:/i;function hi(e){const t=Xu.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Yu,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const Ps=new Set;function Gu(e){if(Ps.size===0){const n=typeof process=="object"&&(Is==null?void 0:Is.VITE_EXTRA_EXTENSIONS)||(Rs==null?void 0:Rs.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>Ps.add(s))}const t=e.split(".").pop();return t==null||!Ps.has(t.toLowerCase())}const zu=Symbol(),Ct=Ot(Yc);function vd(e){const t=z(()=>Wu(Ct.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?V(!0):n==="force-auto"?gr():n?wu({storageKey:Nu,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):V(!1),r=V(be?location.hash:"");return be&&window.addEventListener("hashchange",()=>{r.value=location.hash}),ce(()=>e.data,()=>{r.value=be?location.hash:""}),{site:t,theme:z(()=>t.value.themeConfig),page:z(()=>e.data),frontmatter:z(()=>e.data.frontmatter),params:z(()=>e.data.params),lang:z(()=>t.value.lang),dir:z(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:z(()=>t.value.localeIndex||"root"),title:z(()=>ll(t.value,e.data)),description:z(()=>e.data.description||t.value.description),isDark:s,hash:z(()=>r.value)}}function Ju(){const e=Vt(zu);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Qu(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function pi(e){return il.test(e)||!e.startsWith("/")?e:Qu(Ct.value.base,e)}function Zu(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),be){const n="/";t=hi(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${hi(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let ef=[];function yd(e,t,n){return{setup(){const s=Ot();return Rt(async()=>{let r=await e();r&&(r.__esModule||r[Symbol.toStringTag]==="Module")&&(r=r.default),s.value=r,await(n==null?void 0:n())}),()=>s.value?qn(s.value):null}}}function tf(){let e=Ct.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=mi(e,n);else if(Array.isArray(e))for(const s of e){const r=mi(s,n);if(r){t=r;break}}return t}function mi(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const nf=Symbol(),cl="http://a.com",sf=()=>({path:"/",component:null,data:ol});function bd(e,t){const n=ut(sf()),s={route:n,go:r};async function r(l=be?location.href:"/"){var a,u;l=Fs(l),await((a=s.onBeforeRouteChange)==null?void 0:a.call(s,l))!==!1&&(be&&l!==Fs(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((u=s.onAfterRouteChanged)==null?void 0:u.call(s,l)))}let i=null;async function o(l,a=0,u=!1){var h,g;if(await((h=s.onBeforePageLoad)==null?void 0:h.call(s,l))===!1)return;const c=new URL(l,cl),f=i=c.pathname;try{let w=await e(f);if(!w)throw new Error(`Page not found: ${f}`);if(i===f){i=null;const{default:b,__pageData:x}=w;if(!b)throw new Error(`Invalid route component: ${b}`);await((g=s.onAfterPageLoad)==null?void 0:g.call(s,l)),n.path=be?f:pi(f),n.component=en(b),n.data=en(x),be&&Kt(()=>{let y=Ct.value.base+x.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!Ct.value.cleanUrls&&!y.endsWith("/")&&(y+=".html"),y!==c.pathname&&(c.pathname=y,l=y+c.search+c.hash,history.replaceState({},"",l)),c.hash&&!a){let S=null;try{S=document.getElementById(decodeURIComponent(c.hash).slice(1))}catch(m){console.warn(m)}if(S){gi(S,c.hash);return}}window.scrollTo(0,a)})}}catch(w){if(!/fetch|Page not found/.test(w.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(w),!u)try{const b=await fetch(Ct.value.base+"hashmap.json");window.__VP_HASH_MAP__=await b.json(),await o(l,a,!0);return}catch{}if(i===f){i=null,n.path=be?f:pi(f),n.component=t?en(t):null;const b=be?f.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...ol,relativePath:b}}}}return be&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const a=l.target.closest("a");if(!a||a.closest(".vp-raw")||a.hasAttribute("download")||a.hasAttribute("target"))return;const u=a.getAttribute("href")??(a instanceof SVGAElement?a.getAttribute("xlink:href"):null);if(u==null)return;const{href:c,origin:f,pathname:h,hash:g,search:w}=new URL(u,a.baseURI),b=new URL(location.href);f===b.origin&&Gu(h)&&(l.preventDefault(),h===b.pathname&&w===b.search?(g!==b.hash&&(history.pushState({},"",c),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:b.href,newURL:c}))),g?gi(a,g,a.classList.contains("header-anchor")):window.scrollTo(0,0)):r(c))},{capture:!0}),window.addEventListener("popstate",async l=>{var a;l.state!==null&&(await o(Fs(location.href),l.state&&l.state.scrollPosition||0),(a=s.onAfterRouteChanged)==null||a.call(s,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function rf(){const e=Vt(nf);if(!e)throw new Error("useRouter() is called without provider.");return e}function ul(){return rf().route}function gi(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-tf()+i;requestAnimationFrame(r)}}function Fs(e){const t=new URL(e,cl);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),Ct.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const In=()=>ef.forEach(e=>e()),_d=Zi({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=ul(),{frontmatter:n,site:s}=Ju();return ce(n,In,{deep:!0,flush:"post"}),()=>qn(e.as,s.value.contentProps??{style:{position:"relative"}},[t.component?qn(t.component,{onVnodeMounted:In,onVnodeUpdated:In,onVnodeUnmounted:In}):"404 Page Not Found"])}}),of="modulepreload",lf=function(e){return"/"+e},vi={},wd=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(a=>{if(a=lf(a),a in vi)return;vi[a]=!0;const u=a.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${a}"]${c}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":of,u||(f.as="script"),f.crossOrigin="",f.href=a,l&&f.setAttribute("nonce",l),document.head.appendChild(f),u)return new Promise((h,g)=>{f.addEventListener("load",h),f.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${a}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},Sd=Zi({setup(e,{slots:t}){const n=V(!1);return Rt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function xd(){be&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(u=>u.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const a=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);a==null||a.scrollIntoView({block:"nearest"})}})}function Ed(){if(be){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],a=i.cloneNode(!0);a.querySelectorAll(l.join(",")).forEach(c=>c.remove());let u=a.textContent||"";o&&(u=u.replace(/^ *(\$|>) /gm,"").trim()),af(u).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const c=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,c)})}})}}async function af(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function Td(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const a=Ls(l);for(const u of document.head.children)if(u.isEqualNode(a)){s.push(u);return}});return}const o=i.map(Ls);s.forEach((l,a)=>{const u=o.findIndex(c=>c==null?void 0:c.isEqualNode(l??null));u!==-1?delete o[u]:(l==null||l.remove(),delete s[a])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};xo(()=>{const i=e.data,o=t.value,l=i&&i.description,a=i&&i.frontmatter.head||[],u=ll(o,i);u!==document.title&&(document.title=u);const c=l||o.description;let f=document.querySelector("meta[name=description]");f?f.getAttribute("content")!==c&&f.setAttribute("content",c):Ls(["meta",{name:"description",content:c}]),r(al(o.head,uf(a)))})}function Ls([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&t.async==null&&(s.async=!1),s}function cf(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function uf(e){return e.filter(t=>!cf(t))}const Ds=new Set,fl=()=>document.createElement("link"),ff=e=>{const t=fl();t.rel="prefetch",t.href=e,document.head.appendChild(t)},df=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let Pn;const hf=be&&(Pn=fl())&&Pn.relList&&Pn.relList.supports&&Pn.relList.supports("prefetch")?ff:df;function Cd(){if(!be||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:a}=l;if(!Ds.has(a)){Ds.add(a);const u=Zu(a);u&&hf(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),a=l.match(/\.\w+$/);a&&a[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):Ds.add(l))})})};Rt(s);const r=ul();ce(()=>r.path,s),cr(()=>{n&&n.disconnect()})}export{_f as $,Io as A,Sf as B,bf as C,Rf as D,ss as E,Se as F,Al as G,Zn as H,Of as I,xf as J,Kt as K,cr as L,wf as M,Af as N,Lf as O,me as P,Ef as Q,Tf as R,Df as S,Ks as T,qi as U,ae as V,gf as W,vf as X,Zi as Y,yf as Z,wd as _,jf as a,Xe as a$,$f as a0,rc as a1,pf as a2,sc as a3,Nf as a4,qn as a5,Zf as a6,Vf as a7,ul as a8,sd as a9,Kf as aA,be as aB,Td as aC,nf as aD,vd as aE,zu as aF,_d as aG,Sd as aH,Ct as aI,Hf as aJ,bd as aK,Zu as aL,Cd as aM,Ed as aN,xd as aO,dd as aP,Uf as aQ,qf as aR,ed as aS,nu as aT,td as aU,nd as aV,id as aW,zf as aX,hs as aY,Fe as aZ,fu as a_,Ot as aa,J as ab,rd as ac,ud as ad,Qf as ae,Yf as af,Pf as ag,If as ah,_a as ai,Mf as aj,rf as ak,od as al,Xf as am,gd as an,Ff as ao,ld as ap,Gf as aq,md as ar,pd as as,yd as at,Po as au,hd as av,ee as aw,mf as ax,Ml as ay,Bf as az,ut as b,Mu as b0,z as c,ce as d,Wf as e,fd as f,el as g,Zo as h,At as i,Jf as j,so as k,cd as l,en as m,ad as n,Rt as o,yn as p,kf as q,V as r,Gl as s,K as t,yu as u,Ju as v,xo as w,Ws as x,Cf as y,es as z}; diff --git a/assets/chunks/index.Dc_kUHgf.js b/assets/chunks/index.B15DEz5d.js similarity index 99% rename from assets/chunks/index.Dc_kUHgf.js rename to assets/chunks/index.B15DEz5d.js index 21eb6b8d35..c391d0e81c 100644 --- a/assets/chunks/index.Dc_kUHgf.js +++ b/assets/chunks/index.B15DEz5d.js @@ -1,4 +1,4 @@ -import{A as Gn}from"./theme.ClagsQLu.js";function Rn(e,t){for(var r=0;ra[n]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Wn="6.4.4",Un=Wn,Xn=function(e,t){var r=this;if(t||(t={}),r.qpm=t.qpm?parseInt(t.qpm,10):null,!r.qpm){var a=e.metaText?e.metaText.tempo:null;r.qpm=e.getBpm(a)}r.extraMeasuresAtBeginning=t.extraMeasuresAtBeginning?parseInt(t.extraMeasuresAtBeginning,10):0,r.beatCallback=t.beatCallback,r.eventCallback=t.eventCallback,r.lineEndCallback=t.lineEndCallback,r.lineEndAnticipation=t.lineEndAnticipation?parseInt(t.lineEndAnticipation,10):0,r.beatSubdivisions=t.beatSubdivisions?parseInt(t.beatSubdivisions,10):1,r.joggerTimer=null,r.replaceTarget=function(c){r.noteTimings=c.setTiming(r.qpm,r.extraMeasuresAtBeginning),c.noteTimings.length===0&&(r.noteTimings=c.setTiming(0,0)),r.lineEndCallback&&(r.lineEndTimings=Vn(c.noteTimings,r.lineEndAnticipation)),r.startTime=null,r.currentBeat=0,r.currentEvent=0,r.currentLine=0,r.currentTime=0,r.isPaused=!1,r.isRunning=!1,r.pausedPercent=null,r.justUnpaused=!1,r.newSeekPercent=0,r.lastTimestamp=0,r.noteTimings.length!==0&&(r.millisecondsPerBeat=1e3/(r.qpm/60)/r.beatSubdivisions,r.lastMoment=r.noteTimings[r.noteTimings.length-1].milliseconds,r.totalBeats=Math.round(r.lastMoment/r.millisecondsPerBeat))},r.replaceTarget(e),r.doTiming=function(c){if(r.lastTimestamp!==c&&(r.lastTimestamp=c,r.startTime||(r.startTime=c),!r.isPaused&&r.isRunning)){for(r.currentTime=c-r.startTime,r.currentTime+=16;r.noteTimings.length>r.currentEvent&&r.noteTimings[r.currentEvent].millisecondsr.currentLine&&r.lineEndTimings[r.currentLine].milliseconds=r.lastMoment)if(r.eventCallback){var d=r.eventCallback(null);r.shouldStop(d).then(function(u){u&&r.stop()})}else r.stop()}},r.shouldStop=function(c){return new Promise(function(o){if(!c)return o(!0);if(c==="continue")return o(!1);c.then&&c.then(function(l){o(l!=="continue")})})},r.doBeatCallback=function(c){if(r.beatCallback){for(var o=r.currentEvent;o=0&&r.noteTimings[o].left===null;)o--;h=r.noteTimings[o]}var p={},d={};if(h){p.top=h.top,p.height=h.height;var u=Math.max(0,c-r.startTime-h.milliseconds),f=l-h.milliseconds,g=h.endX-h.left,b=f?u*g/f:0;p.left=h.left+b,r.currentEvent===0&&h.milliseconds>c-r.startTime&&(p.left=void 0),d={timestamp:c,startTime:r.startTime,ev:h,endMs:l,offMs:u,offPx:b,gapMs:f,gapPx:g}}else d={timestamp:c,startTime:r.startTime};var m=r.startTime;if(r.beatCallback(r.currentBeat/r.beatSubdivisions,r.totalBeats/r.beatSubdivisions,r.lastMoment,p,d),m!==r.startTime)return c-r.startTime;r.currentBeat++}return null};var n=60;r.animationJogger=function(){r.isRunning&&(r.doTiming(performance.now()),r.joggerTimer=setTimeout(r.animationJogger,n))},r.start=function(c,o){if(r.isRunning=!0,r.isPaused&&(r.isPaused=!1,c===void 0&&(r.justUnpaused=!0)),c)r.setProgress(c,o);else if(c===0)r.reset();else if(r.pausedPercent!==null){var l=performance.now();r.currentTime=r.lastMoment*r.pausedPercent,r.startTime=l-r.currentTime,r.pausedPercent=null,r.reportNext=!0}requestAnimationFrame(r.doTiming),r.joggerTimer=setTimeout(r.animationJogger,n)},r.pause=function(){r.isPaused=!0;var c=performance.now();r.pausedPercent=(c-r.startTime)/r.lastMoment,r.isRunning=!1,r.joggerTimer&&(clearTimeout(r.joggerTimer),r.joggerTimer=null)},r.currentMillisecond=function(){return r.currentTime},r.reset=function(){r.currentBeat=0,r.currentEvent=0,r.currentLine=0,r.startTime=null,r.pausedPercent=null},r.stop=function(){r.pause(),r.reset()},r.setProgress=function(c,o){var l;switch(o){case"seconds":r.currentTime=c*1e3,r.currentTime<0&&(r.currentTime=0),r.currentTime>r.lastMoment&&(r.currentTime=r.lastMoment),l=r.currentTime/r.lastMoment;break;case"beats":r.currentTime=c*r.millisecondsPerBeat*r.beatSubdivisions,r.currentTime<0&&(r.currentTime=0),r.currentTime>r.lastMoment&&(r.currentTime=r.lastMoment),l=r.currentTime/r.lastMoment;break;default:l=c,l<0&&(l=0),l>1&&(l=1),r.currentTime=r.lastMoment*l;break}r.isRunning||(r.pausedPercent=l);var h=performance.now();for(r.startTime=h-r.currentTime,r.currentEvent,r.currentEvent=0;r.noteTimings.length>r.currentEvent&&r.noteTimings[r.currentEvent].millisecondsr.currentLine&&r.lineEndTimings[r.currentLine].milliseconds+r.lineEndAnticipation=0&&r.noteTimings[r.currentEvent].type==="event"&&r.eventCallback(r.noteTimings[r.currentEvent]),r.lineEndCallback&&r.lineEndCallback(r.lineEndTimings[r.currentLine],r.noteTimings[r.currentEvent],{line:r.currentLine,endTimings:r.lineEndTimings}),r.joggerTimer=setTimeout(r.animationJogger,n)}};function Vn(e,t){for(var r=[],a=null,n=0;n=0&&e.lastIndexOf(t)===r};pe.last=function(e){return e.length===0?null:e[e.length-1]};var be=pe,ia=be,Le={};(function(){var e,t,r,a,n;Le.initialize=function(S,E,F,P,R){e=S,t=E,r=F,a=P,n=R,c()};function c(){r.annotationfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},r.gchordfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},r.historyfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},r.infofont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},r.measurefont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},r.partsfont={face:'"Times New Roman"',size:15,weight:"normal",style:"normal",decoration:"none"},r.repeatfont={face:'"Times New Roman"',size:13,weight:"normal",style:"normal",decoration:"none"},r.textfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},r.tripletfont={face:"Times",size:11,weight:"normal",style:"italic",decoration:"none"},r.vocalfont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},r.wordsfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},a.formatting.composerfont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},a.formatting.subtitlefont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},a.formatting.tempofont={face:'"Times New Roman"',size:15,weight:"bold",style:"normal",decoration:"none"},a.formatting.titlefont={face:'"Times New Roman"',size:20,weight:"normal",style:"normal",decoration:"none"},a.formatting.footerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},a.formatting.headerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},a.formatting.voicefont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},a.formatting.tablabelfont={face:'"Trebuchet MS"',size:16,weight:"normal",style:"normal",decoration:"none"},a.formatting.tabnumberfont={face:'"Arial"',size:11,weight:"normal",style:"normal",decoration:"none"},a.formatting.tabgracefont={face:'"Arial"',size:8,weight:"normal",style:"normal",decoration:"none"},a.formatting.annotationfont=r.annotationfont,a.formatting.gchordfont=r.gchordfont,a.formatting.historyfont=r.historyfont,a.formatting.infofont=r.infofont,a.formatting.measurefont=r.measurefont,a.formatting.partsfont=r.partsfont,a.formatting.repeatfont=r.repeatfont,a.formatting.textfont=r.textfont,a.formatting.tripletfont=r.tripletfont,a.formatting.vocalfont=r.vocalfont,a.formatting.wordsfont=r.wordsfont}var o={gchordfont:!0,measurefont:!0,partsfont:!0,annotationfont:!0,composerfont:!0,historyfont:!0,infofont:!0,subtitlefont:!0,textfont:!0,titlefont:!0,voicefont:!0},l=function(S){switch(S){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}},h=function(S,E,F,P,R){function t0(){var w0=parseInt(S[0].token);return S.shift(),E?S.length===0?{face:E.face,weight:E.weight,style:E.style,decoration:E.decoration,size:w0}:S.length===1&&S[0].token==="box"&&o[R]?{face:E.face,weight:E.weight,style:E.style,decoration:E.decoration,size:w0,box:!0}:(t("Extra parameters in font definition.",F,P),{face:E.face,weight:E.weight,style:E.style,decoration:E.decoration,size:w0}):(t("Can't set just the size of the font since there is no default value.",F,P),{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none",size:w0})}if(S[0].token==="*"){if(S.shift(),S[0].type==="number")return t0();t("Expected font size number after *.",F,P)}if(S[0].type==="number")return t0();for(var J=[],n0,ae="normal",U0="normal",A0="none",k0=!1,X="face",z0=!1;S.length;){var r0=S.shift(),Z=r0.token.toLowerCase();switch(X){case"face":z0||Z!=="utf"&&r0.type!=="number"&&Z!=="bold"&&Z!=="italic"&&Z!=="underline"&&Z!=="box"?J.length>0&&r0.token==="-"?(z0=!0,J[J.length-1]=J[J.length-1]+r0.token):z0?(z0=!1,J[J.length-1]=J[J.length-1]+r0.token):J.push(r0.token):r0.type==="number"?(n0?t("Font size specified twice in font definition.",F,P):n0=r0.token,X="modifier"):Z==="bold"?ae="bold":Z==="italic"?U0="italic":Z==="underline"?A0="underline":Z==="box"?(o[R]?k0=!0:t(`This font style doesn't support "box"`,F,P),X="finished"):Z==="utf"?(r0=S.shift(),X="size"):t("Unknown parameter "+r0.token+" in font definition.",F,P);break;case"size":r0.type==="number"?n0?t("Font size specified twice in font definition.",F,P):n0=r0.token:t("Expected font size in font definition.",F,P),X="modifier";break;case"modifier":Z==="bold"?ae="bold":Z==="italic"?U0="italic":Z==="underline"?A0="underline":Z==="box"?(o[R]?k0=!0:t(`This font style doesn't support "box"`,F,P),X="finished"):t("Unknown parameter "+r0.token+" in font definition.",F,P);break;case"finished":t('Extra characters found after "box" in font definition.',F,P);break}}n0===void 0?E?n0=E.size:(t("Must specify the size of the font since there is no default value.",F,P),n0=12):n0=parseFloat(n0),J=J.join(" "),J===""&&(E?J=E.face:(t("Must specify the name of the font since there is no default value.",F,P),J="sans-serif"));var y0=l(J),v0={};return y0?(v0.face=y0.face,v0.weight=y0.weight,v0.style=y0.style,v0.decoration=y0.decoration,v0.size=n0,k0&&(v0.box=!0),v0):(v0.face=J,v0.weight=ae,v0.style=U0,v0.decoration=A0,v0.size=n0,k0&&(v0.box=!0),v0)},p=function(S,E,F){return E.length===0?'Directive "'+S+'" requires a font as a parameter.':(r[S]=h(E,r[S],F,0,S),r.is_in_header&&(a.formatting[S]=r[S]),null)},d=function(S,E,F){return E.length===0?'Directive "'+S+'" requires a font as a parameter.':(a.formatting[S]=h(E,a.formatting[S],F,0,S),null)},u=function(S,E){var F="";E.forEach(function(R){F+=R.token});var P=parseFloat(F);if(isNaN(P)||P===0)return'Directive "'+S+'" requires a number as a parameter.';a.formatting.scale=P},f=["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"],g=function(S){var E=S.split(/\s+/);if(E.length!==2&&E.length!==3)return{error:'Expected parameters "abc-note", "drum-sound", and optionally "note-head"'};var F=E[0],P=parseInt(E[1],10);if((isNaN(P)||P<35||P>81)&&E[1]&&(P=f.indexOf(E[1].toLowerCase())+35),isNaN(P)||P<35||P>81)return{error:'Expected drum name, received "'+E[1]+'"'};var R={sound:P};return E.length===3&&(R.noteHead=E[2]),{key:F,value:R}},b=function(S,E){var F=e.getMeasurement(E);return F.used===0||E.length!==0?{error:'Directive "'+S+'" requires a measurement as a parameter.'}:F.value},m=function(S,E){var F=e.getMeasurement(E);return F.used===0||E.length!==0?'Directive "'+S+'" requires a measurement as a parameter.':(a.formatting[S]=F.value,null)},y=function(S,E,F,P,R){if(F.length!==1||F[0].type!=="number")return'Directive "'+E+'" requires a number as a parameter.';var t0=F[0].intt;return P!==void 0&&t0R?'Directive "'+E+'" requires a number less than or equal to '+R+" as a parameter.":(r[S]=t0,null)},C=function(S,E,F){if(F.length===1&&(F[0].token==="true"||F[0].token==="false"))return r[S]=F[0].token==="true",null;var P=y(S,E,F,0,1);return P!==null?P:(r[S]=r[S]===1,null)},k=function(S,E,F,P){if(F.length!==1)return'Directive "'+E+'" requires one of [ '+P.join(", ")+" ] as a parameter.";for(var R=F[0].token,t0=!1,J=0;!t0&&J=0)S.length!==0&&t("Unexpected parameter in MIDI "+P,F,0);else if(w.indexOf(P)>=0)S.length!==1?t("Expected one parameter in MIDI "+P,F,0):R.push(S[0].token);else if(x.indexOf(P)>=0)S.length!==1?t("Expected one parameter in MIDI "+P,F,0):S[0].type!=="number"?t("Expected one integer parameter in MIDI "+P,F,0):R.push(S[0].intt);else if(T.indexOf(P)>=0)S.length!==1&&S.length!==2?t("Expected one or two parameters in MIDI "+P,F,0):S[0].type!=="number"||S.length===2&&S[1].type!=="number"?t("Expected integer parameter in MIDI "+P,F,0):(R.push(S[0].intt),S.length===2&&R.push(S[1].intt));else if(M.indexOf(P)>=0)S.length!==2?t("Expected two parameters in MIDI "+P,F,0):S[0].type!=="number"||S[1].type!=="number"?t("Expected two integer parameters in MIDI "+P,F,0):(R.push(S[0].intt),R.push(S[1].intt));else if(G.indexOf(P)>=0)S.length!==2?t("Expected two parameters in MIDI "+P,F,0):S[0].type!=="alpha"||S[1].type!=="number"?t("Expected one string and one integer parameters in MIDI "+P,F,0):(R.push(S[0].token),R.push(S[1].intt));else if(P==="drummap")S.length===2&&S[0].type==="alpha"&&S[1].type==="number"?(E.formatting||(E.formatting={}),E.formatting.midi||(E.formatting.midi={}),E.formatting.midi.drummap||(E.formatting.midi.drummap={}),E.formatting.midi.drummap[S[0].token]=S[1].intt,R=E.formatting.midi.drummap):S.length===3&&S[0].type==="punct"&&S[1].type==="alpha"&&S[2].type==="number"?(E.formatting||(E.formatting={}),E.formatting.midi||(E.formatting.midi={}),E.formatting.midi.drummap||(E.formatting.midi.drummap={}),E.formatting.midi.drummap[S[0].token+S[1].token]=S[2].intt,R=E.formatting.midi.drummap):t("Expected one note name and one integer parameter in MIDI "+P,F,0);else if(W.indexOf(P)>=0)S.length!==3||S[0].type!=="number"||S[1].token!=="/"||S[2].type!=="number"?t("Expected fraction parameter in MIDI "+P,F,0):(R.push(S[0].intt),R.push(S[2].intt));else if(D.indexOf(P)>=0)S.length!==4?t("Expected four parameters in MIDI "+P,F,0):S[0].type!=="number"||S[1].type!=="number"||S[2].type!=="number"||S[3].type!=="number"?t("Expected four integer parameters in MIDI "+P,F,0):(R.push(S[0].intt),R.push(S[1].intt),R.push(S[2].intt),R.push(S[3].intt));else if(A.indexOf(P)>=0)S.length!==5?t("Expected five parameters in MIDI "+P,F,0):S[0].type!=="number"||S[1].type!=="number"||S[2].type!=="number"||S[3].type!=="number"||S[4].type!=="number"?t("Expected five integer parameters in MIDI "+P,F,0):(R.push(S[0].intt),R.push(S[1].intt),R.push(S[2].intt),R.push(S[3].intt),R.push(S[4].intt));else if(T.indexOf(P)>=0)S.length!==1||S.length!==4?t("Expected one or two parameters in MIDI "+P,F,0):S[0].type!=="number"?t("Expected integer parameter in MIDI "+P,F,0):S.length===4?(S[1].token!=="octave"&&t("Expected octave parameter in MIDI "+P,F,0),S[2].token!=="="&&t("Expected octave parameter in MIDI "+P,F,0),S[3].type!=="number"&&t("Expected integer parameter for octave in MIDI "+P,F,0)):(R.push(S[0].intt),S.length===4&&R.push(S[3].intt));else if(U.indexOf(P)>=0)if(S.length<2)t("Expected string parameter and at least one integer parameter in MIDI "+P,F,0);else if(S[0].type!=="alpha")t("Expected string parameter and at least one integer parameter in MIDI "+P,F,0);else{var t0=S.shift();for(R.push(t0.token);S.length>0;)t0=S.shift(),t0.type!=="number"&&t("Expected integer parameter in MIDI "+P,F,0),R.push(t0.intt)}else if(I.indexOf(P)>=0){if(S.length!==1&&S.length!==2)t("Expected one or two parameters in MIDI "+P,F,0);else if(S[0].type!=="number")t("Expected integer parameter in MIDI "+P,F,0);else if(S.length===2&&S[1].type!=="alpha")t("Expected alpha parameter in MIDI "+P,F,0);else if(R.push(S[0].intt),S.length===2){var J=S[1].token;J.indexOf("octave=")!=-1?(J=J.replace("octave=",""),J=parseInt(J),isNaN(J)?t("Expected octave value in MIDI"+P):(J<-1&&(t("Expected octave= in MIDI "+P+" to be >= -1 (recv:"+J+")"),J=-1),J>3&&(t("Expected octave= in MIDI "+P+" to be <= 3 (recv:"+J+")"),J=3),R.push(J))):t("Expected octave= in MIDI"+P)}}n.hasBeginMusic()?n.appendElement("midi",-1,-1,{cmd:P,params:R}):(E.formatting.midi===void 0&&(E.formatting.midi={}),E.formatting.midi[P]=R)};Le.parseFontChangeLine=function(S){S=S.replace(/\$\$/g,"");var E=S.split("$");if(E.length>1&&r.setfont){var F=[];E[0]!==""&&F.push({text:E[0]});for(var P=1;Pa[n]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Wn="6.4.4",Un=Wn,Xn=function(e,t){var r=this;if(t||(t={}),r.qpm=t.qpm?parseInt(t.qpm,10):null,!r.qpm){var a=e.metaText?e.metaText.tempo:null;r.qpm=e.getBpm(a)}r.extraMeasuresAtBeginning=t.extraMeasuresAtBeginning?parseInt(t.extraMeasuresAtBeginning,10):0,r.beatCallback=t.beatCallback,r.eventCallback=t.eventCallback,r.lineEndCallback=t.lineEndCallback,r.lineEndAnticipation=t.lineEndAnticipation?parseInt(t.lineEndAnticipation,10):0,r.beatSubdivisions=t.beatSubdivisions?parseInt(t.beatSubdivisions,10):1,r.joggerTimer=null,r.replaceTarget=function(c){r.noteTimings=c.setTiming(r.qpm,r.extraMeasuresAtBeginning),c.noteTimings.length===0&&(r.noteTimings=c.setTiming(0,0)),r.lineEndCallback&&(r.lineEndTimings=Vn(c.noteTimings,r.lineEndAnticipation)),r.startTime=null,r.currentBeat=0,r.currentEvent=0,r.currentLine=0,r.currentTime=0,r.isPaused=!1,r.isRunning=!1,r.pausedPercent=null,r.justUnpaused=!1,r.newSeekPercent=0,r.lastTimestamp=0,r.noteTimings.length!==0&&(r.millisecondsPerBeat=1e3/(r.qpm/60)/r.beatSubdivisions,r.lastMoment=r.noteTimings[r.noteTimings.length-1].milliseconds,r.totalBeats=Math.round(r.lastMoment/r.millisecondsPerBeat))},r.replaceTarget(e),r.doTiming=function(c){if(r.lastTimestamp!==c&&(r.lastTimestamp=c,r.startTime||(r.startTime=c),!r.isPaused&&r.isRunning)){for(r.currentTime=c-r.startTime,r.currentTime+=16;r.noteTimings.length>r.currentEvent&&r.noteTimings[r.currentEvent].millisecondsr.currentLine&&r.lineEndTimings[r.currentLine].milliseconds=r.lastMoment)if(r.eventCallback){var d=r.eventCallback(null);r.shouldStop(d).then(function(u){u&&r.stop()})}else r.stop()}},r.shouldStop=function(c){return new Promise(function(o){if(!c)return o(!0);if(c==="continue")return o(!1);c.then&&c.then(function(l){o(l!=="continue")})})},r.doBeatCallback=function(c){if(r.beatCallback){for(var o=r.currentEvent;o=0&&r.noteTimings[o].left===null;)o--;h=r.noteTimings[o]}var p={},d={};if(h){p.top=h.top,p.height=h.height;var u=Math.max(0,c-r.startTime-h.milliseconds),f=l-h.milliseconds,g=h.endX-h.left,b=f?u*g/f:0;p.left=h.left+b,r.currentEvent===0&&h.milliseconds>c-r.startTime&&(p.left=void 0),d={timestamp:c,startTime:r.startTime,ev:h,endMs:l,offMs:u,offPx:b,gapMs:f,gapPx:g}}else d={timestamp:c,startTime:r.startTime};var m=r.startTime;if(r.beatCallback(r.currentBeat/r.beatSubdivisions,r.totalBeats/r.beatSubdivisions,r.lastMoment,p,d),m!==r.startTime)return c-r.startTime;r.currentBeat++}return null};var n=60;r.animationJogger=function(){r.isRunning&&(r.doTiming(performance.now()),r.joggerTimer=setTimeout(r.animationJogger,n))},r.start=function(c,o){if(r.isRunning=!0,r.isPaused&&(r.isPaused=!1,c===void 0&&(r.justUnpaused=!0)),c)r.setProgress(c,o);else if(c===0)r.reset();else if(r.pausedPercent!==null){var l=performance.now();r.currentTime=r.lastMoment*r.pausedPercent,r.startTime=l-r.currentTime,r.pausedPercent=null,r.reportNext=!0}requestAnimationFrame(r.doTiming),r.joggerTimer=setTimeout(r.animationJogger,n)},r.pause=function(){r.isPaused=!0;var c=performance.now();r.pausedPercent=(c-r.startTime)/r.lastMoment,r.isRunning=!1,r.joggerTimer&&(clearTimeout(r.joggerTimer),r.joggerTimer=null)},r.currentMillisecond=function(){return r.currentTime},r.reset=function(){r.currentBeat=0,r.currentEvent=0,r.currentLine=0,r.startTime=null,r.pausedPercent=null},r.stop=function(){r.pause(),r.reset()},r.setProgress=function(c,o){var l;switch(o){case"seconds":r.currentTime=c*1e3,r.currentTime<0&&(r.currentTime=0),r.currentTime>r.lastMoment&&(r.currentTime=r.lastMoment),l=r.currentTime/r.lastMoment;break;case"beats":r.currentTime=c*r.millisecondsPerBeat*r.beatSubdivisions,r.currentTime<0&&(r.currentTime=0),r.currentTime>r.lastMoment&&(r.currentTime=r.lastMoment),l=r.currentTime/r.lastMoment;break;default:l=c,l<0&&(l=0),l>1&&(l=1),r.currentTime=r.lastMoment*l;break}r.isRunning||(r.pausedPercent=l);var h=performance.now();for(r.startTime=h-r.currentTime,r.currentEvent,r.currentEvent=0;r.noteTimings.length>r.currentEvent&&r.noteTimings[r.currentEvent].millisecondsr.currentLine&&r.lineEndTimings[r.currentLine].milliseconds+r.lineEndAnticipation=0&&r.noteTimings[r.currentEvent].type==="event"&&r.eventCallback(r.noteTimings[r.currentEvent]),r.lineEndCallback&&r.lineEndCallback(r.lineEndTimings[r.currentLine],r.noteTimings[r.currentEvent],{line:r.currentLine,endTimings:r.lineEndTimings}),r.joggerTimer=setTimeout(r.animationJogger,n)}};function Vn(e,t){for(var r=[],a=null,n=0;n=0&&e.lastIndexOf(t)===r};pe.last=function(e){return e.length===0?null:e[e.length-1]};var be=pe,ia=be,Le={};(function(){var e,t,r,a,n;Le.initialize=function(S,E,F,P,R){e=S,t=E,r=F,a=P,n=R,c()};function c(){r.annotationfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},r.gchordfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},r.historyfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},r.infofont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},r.measurefont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},r.partsfont={face:'"Times New Roman"',size:15,weight:"normal",style:"normal",decoration:"none"},r.repeatfont={face:'"Times New Roman"',size:13,weight:"normal",style:"normal",decoration:"none"},r.textfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},r.tripletfont={face:"Times",size:11,weight:"normal",style:"italic",decoration:"none"},r.vocalfont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},r.wordsfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},a.formatting.composerfont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},a.formatting.subtitlefont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},a.formatting.tempofont={face:'"Times New Roman"',size:15,weight:"bold",style:"normal",decoration:"none"},a.formatting.titlefont={face:'"Times New Roman"',size:20,weight:"normal",style:"normal",decoration:"none"},a.formatting.footerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},a.formatting.headerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},a.formatting.voicefont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},a.formatting.tablabelfont={face:'"Trebuchet MS"',size:16,weight:"normal",style:"normal",decoration:"none"},a.formatting.tabnumberfont={face:'"Arial"',size:11,weight:"normal",style:"normal",decoration:"none"},a.formatting.tabgracefont={face:'"Arial"',size:8,weight:"normal",style:"normal",decoration:"none"},a.formatting.annotationfont=r.annotationfont,a.formatting.gchordfont=r.gchordfont,a.formatting.historyfont=r.historyfont,a.formatting.infofont=r.infofont,a.formatting.measurefont=r.measurefont,a.formatting.partsfont=r.partsfont,a.formatting.repeatfont=r.repeatfont,a.formatting.textfont=r.textfont,a.formatting.tripletfont=r.tripletfont,a.formatting.vocalfont=r.vocalfont,a.formatting.wordsfont=r.wordsfont}var o={gchordfont:!0,measurefont:!0,partsfont:!0,annotationfont:!0,composerfont:!0,historyfont:!0,infofont:!0,subtitlefont:!0,textfont:!0,titlefont:!0,voicefont:!0},l=function(S){switch(S){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}},h=function(S,E,F,P,R){function t0(){var w0=parseInt(S[0].token);return S.shift(),E?S.length===0?{face:E.face,weight:E.weight,style:E.style,decoration:E.decoration,size:w0}:S.length===1&&S[0].token==="box"&&o[R]?{face:E.face,weight:E.weight,style:E.style,decoration:E.decoration,size:w0,box:!0}:(t("Extra parameters in font definition.",F,P),{face:E.face,weight:E.weight,style:E.style,decoration:E.decoration,size:w0}):(t("Can't set just the size of the font since there is no default value.",F,P),{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none",size:w0})}if(S[0].token==="*"){if(S.shift(),S[0].type==="number")return t0();t("Expected font size number after *.",F,P)}if(S[0].type==="number")return t0();for(var J=[],n0,ae="normal",U0="normal",A0="none",k0=!1,X="face",z0=!1;S.length;){var r0=S.shift(),Z=r0.token.toLowerCase();switch(X){case"face":z0||Z!=="utf"&&r0.type!=="number"&&Z!=="bold"&&Z!=="italic"&&Z!=="underline"&&Z!=="box"?J.length>0&&r0.token==="-"?(z0=!0,J[J.length-1]=J[J.length-1]+r0.token):z0?(z0=!1,J[J.length-1]=J[J.length-1]+r0.token):J.push(r0.token):r0.type==="number"?(n0?t("Font size specified twice in font definition.",F,P):n0=r0.token,X="modifier"):Z==="bold"?ae="bold":Z==="italic"?U0="italic":Z==="underline"?A0="underline":Z==="box"?(o[R]?k0=!0:t(`This font style doesn't support "box"`,F,P),X="finished"):Z==="utf"?(r0=S.shift(),X="size"):t("Unknown parameter "+r0.token+" in font definition.",F,P);break;case"size":r0.type==="number"?n0?t("Font size specified twice in font definition.",F,P):n0=r0.token:t("Expected font size in font definition.",F,P),X="modifier";break;case"modifier":Z==="bold"?ae="bold":Z==="italic"?U0="italic":Z==="underline"?A0="underline":Z==="box"?(o[R]?k0=!0:t(`This font style doesn't support "box"`,F,P),X="finished"):t("Unknown parameter "+r0.token+" in font definition.",F,P);break;case"finished":t('Extra characters found after "box" in font definition.',F,P);break}}n0===void 0?E?n0=E.size:(t("Must specify the size of the font since there is no default value.",F,P),n0=12):n0=parseFloat(n0),J=J.join(" "),J===""&&(E?J=E.face:(t("Must specify the name of the font since there is no default value.",F,P),J="sans-serif"));var y0=l(J),v0={};return y0?(v0.face=y0.face,v0.weight=y0.weight,v0.style=y0.style,v0.decoration=y0.decoration,v0.size=n0,k0&&(v0.box=!0),v0):(v0.face=J,v0.weight=ae,v0.style=U0,v0.decoration=A0,v0.size=n0,k0&&(v0.box=!0),v0)},p=function(S,E,F){return E.length===0?'Directive "'+S+'" requires a font as a parameter.':(r[S]=h(E,r[S],F,0,S),r.is_in_header&&(a.formatting[S]=r[S]),null)},d=function(S,E,F){return E.length===0?'Directive "'+S+'" requires a font as a parameter.':(a.formatting[S]=h(E,a.formatting[S],F,0,S),null)},u=function(S,E){var F="";E.forEach(function(R){F+=R.token});var P=parseFloat(F);if(isNaN(P)||P===0)return'Directive "'+S+'" requires a number as a parameter.';a.formatting.scale=P},f=["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"],g=function(S){var E=S.split(/\s+/);if(E.length!==2&&E.length!==3)return{error:'Expected parameters "abc-note", "drum-sound", and optionally "note-head"'};var F=E[0],P=parseInt(E[1],10);if((isNaN(P)||P<35||P>81)&&E[1]&&(P=f.indexOf(E[1].toLowerCase())+35),isNaN(P)||P<35||P>81)return{error:'Expected drum name, received "'+E[1]+'"'};var R={sound:P};return E.length===3&&(R.noteHead=E[2]),{key:F,value:R}},b=function(S,E){var F=e.getMeasurement(E);return F.used===0||E.length!==0?{error:'Directive "'+S+'" requires a measurement as a parameter.'}:F.value},m=function(S,E){var F=e.getMeasurement(E);return F.used===0||E.length!==0?'Directive "'+S+'" requires a measurement as a parameter.':(a.formatting[S]=F.value,null)},y=function(S,E,F,P,R){if(F.length!==1||F[0].type!=="number")return'Directive "'+E+'" requires a number as a parameter.';var t0=F[0].intt;return P!==void 0&&t0R?'Directive "'+E+'" requires a number less than or equal to '+R+" as a parameter.":(r[S]=t0,null)},C=function(S,E,F){if(F.length===1&&(F[0].token==="true"||F[0].token==="false"))return r[S]=F[0].token==="true",null;var P=y(S,E,F,0,1);return P!==null?P:(r[S]=r[S]===1,null)},k=function(S,E,F,P){if(F.length!==1)return'Directive "'+E+'" requires one of [ '+P.join(", ")+" ] as a parameter.";for(var R=F[0].token,t0=!1,J=0;!t0&&J=0)S.length!==0&&t("Unexpected parameter in MIDI "+P,F,0);else if(w.indexOf(P)>=0)S.length!==1?t("Expected one parameter in MIDI "+P,F,0):R.push(S[0].token);else if(x.indexOf(P)>=0)S.length!==1?t("Expected one parameter in MIDI "+P,F,0):S[0].type!=="number"?t("Expected one integer parameter in MIDI "+P,F,0):R.push(S[0].intt);else if(T.indexOf(P)>=0)S.length!==1&&S.length!==2?t("Expected one or two parameters in MIDI "+P,F,0):S[0].type!=="number"||S.length===2&&S[1].type!=="number"?t("Expected integer parameter in MIDI "+P,F,0):(R.push(S[0].intt),S.length===2&&R.push(S[1].intt));else if(M.indexOf(P)>=0)S.length!==2?t("Expected two parameters in MIDI "+P,F,0):S[0].type!=="number"||S[1].type!=="number"?t("Expected two integer parameters in MIDI "+P,F,0):(R.push(S[0].intt),R.push(S[1].intt));else if(G.indexOf(P)>=0)S.length!==2?t("Expected two parameters in MIDI "+P,F,0):S[0].type!=="alpha"||S[1].type!=="number"?t("Expected one string and one integer parameters in MIDI "+P,F,0):(R.push(S[0].token),R.push(S[1].intt));else if(P==="drummap")S.length===2&&S[0].type==="alpha"&&S[1].type==="number"?(E.formatting||(E.formatting={}),E.formatting.midi||(E.formatting.midi={}),E.formatting.midi.drummap||(E.formatting.midi.drummap={}),E.formatting.midi.drummap[S[0].token]=S[1].intt,R=E.formatting.midi.drummap):S.length===3&&S[0].type==="punct"&&S[1].type==="alpha"&&S[2].type==="number"?(E.formatting||(E.formatting={}),E.formatting.midi||(E.formatting.midi={}),E.formatting.midi.drummap||(E.formatting.midi.drummap={}),E.formatting.midi.drummap[S[0].token+S[1].token]=S[2].intt,R=E.formatting.midi.drummap):t("Expected one note name and one integer parameter in MIDI "+P,F,0);else if(W.indexOf(P)>=0)S.length!==3||S[0].type!=="number"||S[1].token!=="/"||S[2].type!=="number"?t("Expected fraction parameter in MIDI "+P,F,0):(R.push(S[0].intt),R.push(S[2].intt));else if(D.indexOf(P)>=0)S.length!==4?t("Expected four parameters in MIDI "+P,F,0):S[0].type!=="number"||S[1].type!=="number"||S[2].type!=="number"||S[3].type!=="number"?t("Expected four integer parameters in MIDI "+P,F,0):(R.push(S[0].intt),R.push(S[1].intt),R.push(S[2].intt),R.push(S[3].intt));else if(A.indexOf(P)>=0)S.length!==5?t("Expected five parameters in MIDI "+P,F,0):S[0].type!=="number"||S[1].type!=="number"||S[2].type!=="number"||S[3].type!=="number"||S[4].type!=="number"?t("Expected five integer parameters in MIDI "+P,F,0):(R.push(S[0].intt),R.push(S[1].intt),R.push(S[2].intt),R.push(S[3].intt),R.push(S[4].intt));else if(T.indexOf(P)>=0)S.length!==1||S.length!==4?t("Expected one or two parameters in MIDI "+P,F,0):S[0].type!=="number"?t("Expected integer parameter in MIDI "+P,F,0):S.length===4?(S[1].token!=="octave"&&t("Expected octave parameter in MIDI "+P,F,0),S[2].token!=="="&&t("Expected octave parameter in MIDI "+P,F,0),S[3].type!=="number"&&t("Expected integer parameter for octave in MIDI "+P,F,0)):(R.push(S[0].intt),S.length===4&&R.push(S[3].intt));else if(U.indexOf(P)>=0)if(S.length<2)t("Expected string parameter and at least one integer parameter in MIDI "+P,F,0);else if(S[0].type!=="alpha")t("Expected string parameter and at least one integer parameter in MIDI "+P,F,0);else{var t0=S.shift();for(R.push(t0.token);S.length>0;)t0=S.shift(),t0.type!=="number"&&t("Expected integer parameter in MIDI "+P,F,0),R.push(t0.intt)}else if(I.indexOf(P)>=0){if(S.length!==1&&S.length!==2)t("Expected one or two parameters in MIDI "+P,F,0);else if(S[0].type!=="number")t("Expected integer parameter in MIDI "+P,F,0);else if(S.length===2&&S[1].type!=="alpha")t("Expected alpha parameter in MIDI "+P,F,0);else if(R.push(S[0].intt),S.length===2){var J=S[1].token;J.indexOf("octave=")!=-1?(J=J.replace("octave=",""),J=parseInt(J),isNaN(J)?t("Expected octave value in MIDI"+P):(J<-1&&(t("Expected octave= in MIDI "+P+" to be >= -1 (recv:"+J+")"),J=-1),J>3&&(t("Expected octave= in MIDI "+P+" to be <= 3 (recv:"+J+")"),J=3),R.push(J))):t("Expected octave= in MIDI"+P)}}n.hasBeginMusic()?n.appendElement("midi",-1,-1,{cmd:P,params:R}):(E.formatting.midi===void 0&&(E.formatting.midi={}),E.formatting.midi[P]=R)};Le.parseFontChangeLine=function(S){S=S.replace(/\$\$/g,"");var E=S.split("$");if(E.length>1&&r.setfont){var F=[];E[0]!==""&&F.push({text:E[0]});for(var P=1;P0&&r.ignoredDecorations.push(F.substring(0,F.indexOf(" "))),t("Decoration redefinition ignored",S,0);break;case"text":var y0=e.translateString(F);n.addText(Le.parseFontChangeLine(y0),{startChar:r.iChar,endChar:r.iChar+F.length+7});break;case"center":var v0=e.translateString(F);n.addCentered(Le.parseFontChangeLine(v0));break;case"font":break;case"setfont":var w0=e.tokenize(F,0,F.length);if(w0.length>=4&&w0[0].token==="-"&&w0[1].type==="number"){var ie=parseInt(w0[1].token);ie>=1&&ie<=9&&(r.setfont||(r.setfont=[]),w0.shift(),w0.shift(),r.setfont[ie]=h(w0,r.setfont[ie],S,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 p(P,E,S);case"composerfont":case"subtitlefont":case"tempofont":case"titlefont":case"voicefont":case"footerfont":case"headerfont":return d(P,E,S);case"barlabelfont":case"barnumberfont":case"barnumfont":return p("measurefont",E,S);case"staves":case"score":r.score_is_present=!0;for(var X0=function(ue,St,at,Oe,Et){(St||r.staves.length===0)&&r.staves.push({index:r.staves.length,numVoices:0});var j0=ia.last(r.staves);at!==void 0&&j0.bracket===void 0&&(j0.bracket=at),Oe!==void 0&&j0.brace===void 0&&(j0.brace=Oe),Et&&(j0.connectBarLines="end"),r.voices[ue]===void 0&&(r.voices[ue]={staffNum:j0.index,index:j0.numVoices},j0.numVoices++)},L=!1,$=!1,Y=!1,B=!1,q=!1,j=!1,a0=!1,i0,K=function(){if(a0=!0,i0){var ue="start";i0.staffNum>0&&(r.staves[i0.staffNum-1].connectBarLines==="start"||r.staves[i0.staffNum-1].connectBarLines==="continue")&&(ue="continue"),r.staves[i0.staffNum].connectBarLines=ue}};E.length;){var Q=E.shift();switch(Q.token){case"(":L?t("Can't nest parenthesis in %%score",S,Q.start):(L=!0,B=!0);break;case")":!L||B?t("Unexpected close parenthesis in %%score",S,Q.start):L=!1;break;case"[":$?t("Can't nest brackets in %%score",S,Q.start):($=!0,q=!0);break;case"]":!$||q?t("Unexpected close bracket in %%score",S,Q.start):($=!1,r.staves[i0.staffNum].bracket="end");break;case"{":Y?t("Can't nest braces in %%score",S,Q.start):(Y=!0,j=!0);break;case"}":!Y||j?t("Unexpected close brace in %%score",S,Q.start):(Y=!1,r.staves[i0.staffNum].brace="end");break;case"|":K();break;default:for(var o0="";(Q.type==="alpha"||Q.type==="number")&&(o0+=Q.token,Q.continueId);)Q=E.shift();var l0=!L||B,e0=q?"start":$?"continue":void 0,f0=j?"start":Y?"continue":void 0;X0(o0,l0,e0,f0,a0),B=!1,q=!1,j=!1,a0=!1,i0=r.voices[o0],P==="staves"&&K();break}}break;case"newpage":var B0=e.getInt(F);n.addNewPage(B0.digits===0?-1:B0.value);break;case"abc":var s0=F.split(" ");switch(s0[0]){case"-copyright":case"-creator":case"-edited-by":case"-version":case"-charset":var M0=s0.shift();n.addMetaText(P+M0,s0.join(" "),{startChar:r.iChar,endChar:r.iChar+F.length+5});break;default:return"Unknown directive: "+P+s0[0]}break;case"header":case"footer":var p0=e.getMeat(F,0,F.length);p0=F.substring(p0.start,p0.end),p0[0]==='"'&&p0[p0.length-1]==='"'&&(p0=p0.substring(1,p0.length-1));var D0=p0.split(" "),x0={};D0.length===1?x0={left:"",center:D0[0],right:""}:D0.length===2?x0={left:D0[0],center:D0[1],right:""}:x0={left:D0[0],center:D0[1],right:D0[2]},D0.length>3&&t("Too many tabs in "+P+": "+D0.length+" found.",F,0),n.addMetaTextObj(P,x0,{startChar:r.iChar,endChar:r.iChar+S.length});break;case"midi":var V0=e.tokenize(F,0,F.length,!0);V0.length>0&&V0[0].token==="="&&V0.shift(),V0.length===0?t("Expected midi command",F,0):z(V0,a,F);break;case"percmap":var _0=g(F);_0.error?t(_0.error,S,8):(a.formatting.percmap||(a.formatting.percmap={}),a.formatting.percmap[_0.key]=_0.value);break;case"map":case"playtempo":case"auquality":case"continuous":case"nobarcheck":a.formatting[P]=F;break;default:return"Unknown directive: "+P}return null},Le.globalFormatting=function(S){for(var E in S)if(S.hasOwnProperty(E)){var F=""+S[E],P=e.tokenize(F,0,F.length),R;switch(E){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":p(E,P,F);break;case"scale":u(E,P);break;case"partsbox":R=C("partsBox",E,P),R!==null&&t(R),r.partsfont.box=r.partsBox;break;case"freegchord":R=C("freegchord",E,P),R!==null&&t(R);break;case"fontboxpadding":(P.length!==1||P[0].type!=="number")&&t('Directive "'+E+'" requires a number as a parameter.'),a.formatting.fontboxpadding=P[0].floatt;break;case"stafftopmargin":(P.length!==1||P[0].type!=="number")&&t('Directive "'+E+'" requires a number as a parameter.'),a.formatting.stafftopmargin=P[0].floatt;break;case"stretchlast":var t0=O(P);if(t0.value!==void 0&&(a.formatting.stretchlast=t0.value),t0.error)return t0.error;break;default:t("Formatting directive unrecognized: ",E,0)}}};function O(S){if(S.length===0)return{value:1};if(S.length===1)if(S[0].type==="number"){if(S[0].floatt>=0||S[0].floatt<=1)return{value:S[0].floatt}}else{if(S[0].token==="false")return{value:0};if(S[0].token==="true")return{value:1}}return{error:"Directive stretchlast requires zero or one parameter: false, true, or number between 0 and 1 (received "+S[0].token+")"}}})();var Or=Le,zr={};const ki=["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'''"];zr.pitchIndex=function(e){return ki.indexOf(e)};zr.noteName=function(e){return ki[e]};var Qn=zr,Mt=["C","C♯","D","D♯","E","F","F♯","G","G♯","A","A♯","B"],At=["C","D♭","D","E♭","E","F","G♭","G","A♭","A","B♭","B"],Bt=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],Nt=["C","Db","D","Eb","E","F","Gb","G","Ab","A","Bb","B"];function Jn(e,t,r,a){if(!t||t%12===0)return e;for(;t<0;)t+=12;t>11&&(t=t%12);var n=e.match(/^([A-G][b#♭♯]?)([^\/]+)?\/?([A-G][b#♭♯]?)?(.+)?/);if(!n)return e;var c=n[1],o=n[2],l=n[3],h=n[4],p=Mt.indexOf(c);if(p<0&&(p=At.indexOf(c)),p<0&&(p=Bt.indexOf(c)),p<0&&(p=Nt.indexOf(c)),p<0)return e;if(p+=t,p=p%12,r?a?e=Nt[p]:e=At[p]:a?e=Bt[p]:e=Mt[p],o&&(e+=o),l){var p=Mt.indexOf(l);p<0&&(p=At.indexOf(l)),p<0&&(p=Bt.indexOf(l)),p<0&&(p=Nt.indexOf(l)),e+="/",p>=0?(p+=t,p=p%12,r?a?e+=Nt[p]:e+=At[p]:a?e+=Bt[p]:e+=Mt[p]):e+=l}return h&&(e+=h),e}var _i=Jn,Pe={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}},vt=null;function Zn(){vt={};for(var e=Object.keys(Pe),t=0;t11&&(p=p%12);var d=t[0]==="m"?fs[p]:hs[p],u=d+t,f=cr(u);f.length>0&&f[0].acc==="flat"&&(e.localTransposePreferFlats=!0);var g=u.charCodeAt(0)-o.charCodeAt(0);return e.localTranspose>0?(g<0||g===0&&(o[1]==="#"||u[1]==="b"))&&(g+=7):e.localTranspose<0&&(g>0||g===0&&(o[1]==="b"||u[1]==="#"))&&(g-=7),e.localTranspose>0?e.localTransposeVerticalMovement=g+Math.floor(e.localTranspose/12)*7:e.localTransposeVerticalMovement=g+Math.ceil(e.localTranspose/12)*7,h?{accidentals:f,root:d[0],acc:d.length>1?d[1]:""}:{accidentals:[],root:r,acc:a}};Qt.chordName=function(e,t){return os(t,e.localTranspose,e.localTransposePreferFlats,e.freegchord)};var oa=["c","d","e","f","g","a","b"];function us(e,t,r,a,n){for(var c=oa[(e+49)%7],o=0,l=0;l2&&(t++,g-=d==="b"||d==="e"?1:2),[t,g]}var or={dblflat:-2,flat:-1,natural:0,sharp:1,dblsharp:2},ds={"-2":"dblflat","-1":"flat",0:"natural",1:"sharp",2:"dblsharp"},vs={"-2":"__","-1":"_",0:"=",1:"^",2:"^^"};Qt.note=function(e,t){if(!(!e.localTranspose||e.clef.type==="perc")){var r=t.pitch;if(e.localTransposeVerticalMovement&&(t.pitch=t.pitch+e.localTransposeVerticalMovement,t.name)){var a=t.accidental?t.name.substring(1):t.name,n=t.accidental?t.name[0]:"",c=ca.pitchIndex(a);t.name=n+ca.noteName(c+e.localTransposeVerticalMovement)}if(t.accidental){var o=us(r,t.pitch,t.accidental,e.globalTransposeOrigKeySig,e.targetKey);t.pitch=o[0],t.accidental=ds[o[1]],t.name&&(t.name=vs[o[1]]+t.name.replace(/[_^=]/g,""))}}};var Ei=Qt,la=Or,ps=Ei,N0={};(function(){var e,t,r,a;N0.initialize=function(d,u,f,g,b){e=d,t=u,r=f,a=b},N0.standardKey=function(d,u,f,g){return ps.keySignature(r,d,u,f,g)};var n={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}},c=function(d,u){var f=n[d],g=f?f.mid:0;return g+u};N0.fixClef=function(d){var u=n[d.type];u&&(d.clefPos=u.pitch,d.type=u.clef)},N0.deepCopyKey=function(d){var u={accidentals:[],root:d.root,acc:d.acc,mode:d.mode};return d.accidentals.forEach(function(f){u.accidentals.push(Object.assign({},f))}),u};var o={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};N0.addPosToKey=function(d,u){var f=d.verticalPos;u.accidentals.forEach(function(g){var b=o[g.note];b=b-f,g.verticalPos=b}),u.impliedNaturals&&u.impliedNaturals.forEach(function(g){var b=o[g.note];b=b-f,g.verticalPos=b}),f<-10?(u.accidentals.forEach(function(g){g.verticalPos-=7,(g.verticalPos>=11||g.verticalPos===10&&g.acc==="flat")&&(g.verticalPos-=7),g.note==="A"&&g.acc==="sharp"&&(g.verticalPos-=7),(g.note==="G"||g.note==="F")&&g.acc==="flat"&&(g.verticalPos-=7)}),u.impliedNaturals&&u.impliedNaturals.forEach(function(g){g.verticalPos-=7,(g.verticalPos>=11||g.verticalPos===10&&g.acc==="flat")&&(g.verticalPos-=7),g.note==="A"&&g.acc==="sharp"&&(g.verticalPos-=7),(g.note==="G"||g.note==="F")&&g.acc==="flat"&&(g.verticalPos-=7)})):f<-4?(u.accidentals.forEach(function(g){g.verticalPos-=7,f===-8&&(g.note==="f"||g.note==="g")&&g.acc==="sharp"&&(g.verticalPos-=7)}),u.impliedNaturals&&u.impliedNaturals.forEach(function(g){g.verticalPos-=7,f===-8&&(g.note==="f"||g.note==="g")&&g.acc==="sharp"&&(g.verticalPos-=7)})):f>=7&&(u.accidentals.forEach(function(g){g.verticalPos+=7}),u.impliedNaturals&&u.impliedNaturals.forEach(function(g){g.verticalPos+=7}))},N0.fixKey=function(d,u){var f=Object.assign({},u);return N0.addPosToKey(d,f),f};var l=function(d){var u=0,f=d[u++];(f==="^"||f==="_")&&(f=d[u++]);var g=o[f];for(g===void 0&&(g=6);u0){g.foundKey=!0;var m="",y="";f[0].token.length>1?f[0].token=f[0].token.substring(1):f.shift();var C=b.token;if(f.length>0){var k=e.getSharpFlat(f[0].token);if(k.len>0&&(f[0].token.length>1?f[0].token=f[0].token.substring(1):f.shift(),C+=k.token,m=k.token),f.length>0){var _=e.getMode(f[0].token);_.len>0&&(f.shift(),C+=_.token,y=_.token)}if(N0.standardKey(C,b.token,m,0)===void 0)return t("Unsupported key signature: "+C,d,0),g}var w=N0.deepCopyKey(r.key),x=!u&&r.globalTranspose?-r.globalTranspose:0,T;if(u&&(T=r.globalTransposeOrigKeySig),r.key=N0.deepCopyKey(N0.standardKey(C,b.token,m,x)),u&&(r.globalTransposeOrigKeySig=T),r.key.mode=y,w){for(var M,D=0;D0;)switch(f[0].token){case"m":case"middle":if(f.shift(),f.length===0)return t("Expected = after middle",d,0),g;if(z=f.shift(),z.token!=="="){t("Expected = after middle",d,z.start);break}if(f.length===0)return t("Expected parameter after middle=",d,0),g;var V=e.getPitchFromTokens(f);V.warn&&t(V.warn,d,0),V.position&&(r.clef.verticalPos=V.position-6);break;case"transpose":if(f.shift(),f.length===0)return t("Expected = after transpose",d,0),g;if(z=f.shift(),z.token!=="="){t("Expected = after transpose",d,z.start);break}if(f.length===0)return t("Expected parameter after transpose=",d,0),g;if(f[0].type!=="number"){t("Expected number after transpose",d,f[0].start);break}r.clef.transpose=f[0].intt,f.shift();break;case"stafflines":if(f.shift(),f.length===0)return t("Expected = after stafflines",d,0),g;if(z=f.shift(),z.token!=="="){t("Expected = after stafflines",d,z.start);break}if(f.length===0)return t("Expected parameter after stafflines=",d,0),g;if(f[0].type!=="number"){t("Expected number after stafflines",d,f[0].start);break}r.clef.stafflines=f[0].intt,f.shift();break;case"staffscale":if(f.shift(),f.length===0)return t("Expected = after staffscale",d,0),g;if(z=f.shift(),z.token!=="="){t("Expected = after staffscale",d,z.start);break}if(f.length===0)return t("Expected parameter after staffscale=",d,0),g;if(f[0].type!=="number"){t("Expected number after staffscale",d,f[0].start);break}r.clef.staffscale=f[0].floatt,f.shift();break;case"octave":if(f.shift(),f.length===0)return t("Expected = after octave",d,0),g;if(z=f.shift(),z.token!=="="){t("Expected = after octave",d,z.start);break}if(f.length===0)return t("Expected parameter after octave=",d,0),g;if(f[0].type!=="number"){t("Expected number after octave",d,f[0].start);break}r.octave=f[0].intt,f.shift();break;case"style":if(f.shift(),f.length===0)return t("Expected = after style",d,0),g;if(z=f.shift(),z.token!=="="){t("Expected = after style",d,z.start);break}if(f.length===0)return t("Expected parameter after style=",d,0),g;switch(f[0].token){case"normal":case"harmonic":case"rhythm":case"x":case"triangle":r.style=f[0].token,f.shift();break;default:t("error parsing style element: "+f[0].token,d,f[0].start);break}break;case"clef":if(f.shift(),f.length===0)return t("Expected = after clef",d,0),g;if(z=f.shift(),z.token!=="="){t("Expected = after clef",d,z.start);break}if(f.length===0)return t("Expected parameter after clef=",d,0),g;case"treble":case"bass":case"alto":case"tenor":case"perc":case"none":var O=f.shift();switch(O.token){case"treble":case"tenor":case"alto":case"bass":case"perc":case"none":break;case"C":O.token="alto";break;case"F":O.token="bass";break;case"G":O.token="treble";break;case"c":O.token="alto";break;case"f":O.token="bass";break;case"g":O.token="treble";break;default:t("Expected clef name. Found "+O.token,d,O.start);break}f.length>0&&f[0].type==="number"&&(O.token+=f[0].token,f.shift()),f.length>1&&(f[0].token==="-"||f[0].token==="+"||f[0].token==="^"||f[0].token==="_")&&f[1].token==="8"&&(O.token+=f[0].token+f[1].token,f.shift(),f.shift()),r.clef={type:O.token,verticalPos:c(O.token,0)},r.currentVoice&&r.currentVoice.transpose!==void 0&&(r.clef.transpose=r.currentVoice.transpose),g.foundClef=!0;break;default:t("Unknown parameter: "+f[0].token,d,f[0].start),f.shift()}return g};var p=function(d){var u=r.voices[d];if(!(r.currentVoice&&r.currentVoice.index===u.index&&r.currentVoice.staffNum===u.staffNum))return r.currentVoice=u,a.setCurrentVoice(u.staffNum,u.index,d)};N0.parseVoice=function(d,u,f){var g=e.getMeat(d,u,f),b=g.start,m=g.end,y=e.getToken(d,b,m);if(y.length===0){t("Expected a voice id",d,b);return}var C=!1;r.voices[y]===void 0&&(r.voices[y]={},C=!0,r.score_is_present&&t("Can't have an unknown V: id when the %score directive is present",d,b)),b+=y.length,b+=e.eatWhiteSpace(d,b);for(var k={startStaff:C},_=function(V){var O=e.getVoiceToken(d,b,m);O.warn!==void 0?t("Expected value for "+V+" in voice: "+O.warn,d,b):O.err!==void 0?t("Expected value for "+V+" in voice: "+O.err,d,b):O.token.length===0&&d[b]!=='"'?t("Expected value for "+V+" in voice",d,b):k[V]=O.token,b+=O.len},w=function(V,O,S){var E=e.getVoiceToken(d,b,m);E.warn!==void 0?t("Expected value for "+O+" in voice: "+E.warn,d,b):E.err!==void 0?t("Expected value for "+O+" in voice: "+E.err,d,b):E.token.length===0&&d[b]!=='"'?t("Expected value for "+O+" in voice",d,b):(E.token=parseFloat(E.token),r.voices[V][O]=E.token),b+=E.len},x=function(V,O){var S=e.getVoiceToken(d,b,m);if(S.warn!==void 0)t("Expected value for "+V+" in voice: "+S.warn,d,b);else if(S.err!==void 0)t("Expected value for "+V+" in voice: "+S.err,d,b);else if(S.token.length===0&&d[b]!=='"')t("Expected value for "+V+" in voice",d,b);else return S.token;b+=S.len},T=function(V,O){var S={_B:2,_E:9,_b:-10,_e:-3},E=e.getVoiceToken(d,b,m);if(E.warn!==void 0)t("Expected one of (_B, _E, _b, _e) for "+O+" in voice: "+E.warn,d,b);else if(E.token.length===0&&d[b]!=='"')t("Expected one of (_B, _E, _b, _e) for "+O+" in voice",d,b);else{var F=S[E.token];F?r.voices[V][O]=F:t("Expected one of (_B, _E, _b, _e) for "+O+" in voice",d,b)}b+=E.len};b0&&(r.default_length=f/g,r.havent_set_length=!1)}else u.length===1&&u[0]==="1"&&(r.default_length=1,r.havent_set_length=!1)};var c={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(l,h,p,d){try{var u=e.tokenize(l,h,p);if(u.length===0)throw"Missing parameter in Q: field";var f={startChar:d+h-2,endChar:d+p},g=!0,b=u.shift();if(b.type==="quote"&&(f.preString=b.token,b=u.shift(),u.length===0))return c[f.preString.toLowerCase()]&&(f.bpm=c[f.preString.toLowerCase()],f.suppressBpm=!0),{type:"immediate",tempo:f};if(b.type==="alpha"&&b.token==="C"){if(u.length===0)throw"Missing tempo after C in Q: field";if(b=u.shift(),b.type==="punct"&&b.token==="="){if(u.length===0)throw"Missing tempo after = in Q: field";if(b=u.shift(),b.type!=="number")throw"Expected number after = in Q: field";f.duration=[1],f.bpm=parseInt(b.token)}else if(b.type==="number"){if(f.duration=[parseInt(b.token)],u.length===0)throw"Missing = after duration in Q: field";if(b=u.shift(),b.type!=="punct"||b.token!=="=")throw"Expected = after duration in Q: field";if(u.length===0)throw"Missing tempo after = in Q: field";if(b=u.shift(),b.type!=="number")throw"Expected number after = in Q: field";f.bpm=parseInt(b.token)}else throw"Expected number or equal after C in Q: field"}else if(b.type==="number"){var m=parseInt(b.token);if(u.length===0||u[0].type==="quote")f.duration=[1],f.bpm=m;else{if(g=!1,b=u.shift(),b.type!=="punct"&&b.token!=="/"||(b=u.shift(),b.type!=="number"))throw"Expected fraction in Q: field";var y=parseInt(b.token);for(f.duration=[m/y];u.length>0&&u[0].token!=="="&&u[0].type!=="quote";){if(b=u.shift(),b.type!=="number"||(m=parseInt(b.token),b=u.shift(),b.type!=="punct"&&b.token!=="/")||(b=u.shift(),b.type!=="number"))throw"Expected fraction in Q: field";y=parseInt(b.token),f.duration.push(m/y)}if(b=u.shift(),b.type!=="punct"&&b.token!=="=")throw"Expected = in Q: field";if(b=u.shift(),b.type!=="number")throw"Expected tempo in Q: field";f.bpm=parseInt(b.token)}}else throw"Unknown value in Q: field";if(u.length!==0&&(b=u.shift(),b.type==="quote"&&(f.postString=b.token,b=u.shift()),u.length!==0))throw"Unexpected string at end of Q: field";return r.printTempo===!1&&(f.suppress=!0),{type:g?"delaySet":"immediate",tempo:f}}catch(C){return t(C,l,h),{type:"none"}}},this.letter_to_inline_header=function(l,h,p){var d=!1,u=e.eatWhiteSpace(l,h);if(h+=u,l.length>=h+5&&l[h]==="["&&l[h+2]===":"){var f=l.indexOf("]",h),g=r.iChar+h,b=r.iChar+f+1;switch(l.substring(h,h+3)){case"[I:":var m=se.addDirective(l.substring(h+3,f));return m&&t(m,l,h),[f-h+1+u];case"[M:":var y=this.setMeter(l.substring(h+3,f));return n.hasBeginMusic()&&y?n.appendStartingElement("meter",g,b,y):r.meter=y,[f-h+1+u];case"[K:":var C=ce.parseKey(l.substring(h+3,f),!0);return C.foundClef&&n.hasBeginMusic()&&n.appendStartingElement("clef",g,b,r.clef),C.foundKey&&n.hasBeginMusic()&&n.appendStartingElement("key",g,b,ce.fixKey(r.clef,r.key)),[f-h+1+u];case"[P:":var k=se.parseFontChangeLine(l.substring(h+3,f));return p||a.lines.length<=a.lineNum?r.partForNextLine={title:k,startChar:g,endChar:b}:n.appendElement("part",g,b,{title:k}),[f-h+1+u];case"[L:":return this.setDefaultLength(l,h+3,f),[f-h+1+u];case"[Q:":if(f>0){var _=this.setTempo(l,h+3,f,r.iChar);return _.type==="delaySet"?n.hasBeginMusic()?n.appendElement("tempo",g,b,this.calcTempo(_.tempo)):r.tempoForNextLine=["tempo",g,b,this.calcTempo(_.tempo)]:_.type==="immediate"&&(!p&&n.hasBeginMusic()?n.appendElement("tempo",g,b,_.tempo):r.tempoForNextLine=["tempo",g,b,_.tempo]),[f-h+1+u,l[h+1],l.substring(h+3,f)]}break;case"[V:":if(f>0)return d=ce.parseVoice(l,h+3,f),[f-h+1+u,l[h+1],l.substring(h+3,f),d];break;case"[r:":return[f-h+1+u]}}return[0]},this.letter_to_body_header=function(l,h){var p=!1;if(l.length>=h+3)switch(l.substring(h,h+2)){case"I:":var d=se.addDirective(l.substring(h+2));return d&&t(d,l,h),[l.length];case"M:":var u=this.setMeter(l.substring(h+2));return n.hasBeginMusic()&&u&&n.appendStartingElement("meter",r.iChar+h,r.iChar+l.length,u),[l.length];case"K:":var f=ce.parseKey(l.substring(h+2),n.hasBeginMusic());return f.foundClef&&n.hasBeginMusic()&&n.appendStartingElement("clef",r.iChar+h,r.iChar+l.length,r.clef),f.foundKey&&n.hasBeginMusic()&&n.appendStartingElement("key",r.iChar+h,r.iChar+l.length,ce.fixKey(r.clef,r.key)),[l.length];case"P:":return n.hasBeginMusic()&&n.appendElement("part",r.iChar+h,r.iChar+l.length,{title:l.substring(h+2)}),[l.length];case"L:":return this.setDefaultLength(l,h+2,l.length),[l.length];case"Q:":var g=l.indexOf("",h+2);g===-1&&(g=l.length);var b=this.setTempo(l,h+2,g,r.iChar);return b.type==="delaySet"?n.appendElement("tempo",r.iChar+h,r.iChar+l.length,this.calcTempo(b.tempo)):b.type==="immediate"&&n.appendElement("tempo",r.iChar+h,r.iChar+l.length,b.tempo),[g,l[h],Pt.strip(l.substring(h+2))];case"V:":return p=ce.parseVoice(l,h+2,l.length),[l.length,l[h],Pt.strip(l.substring(h+2)),p]}return[0]};var o={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(l){var h=o[l[0]],p=l.length-2,d=e.translateString(e.stripComment(l.substring(2)));if(h==="unalignedWords"||h==="notes")n.addMetaTextArray(h,se.parseFontChangeLine(d),{startChar:r.iChar,endChar:r.iChar+l.length});else if(h!==void 0)n.addMetaText(h,se.parseFontChangeLine(d),{startChar:r.iChar,endChar:r.iChar+l.length});else{var u=r.iChar,f=u+l.length;switch(l[0]){case"H":for(n.addMetaTextArray("history",se.parseFontChangeLine(d),{startChar:r.iChar,endChar:r.iChar+l.length}),l=e.peekLine();l&&l[1]!==":";)e.nextLine(),n.addMetaTextArray("history",se.parseFontChangeLine(e.translateString(e.stripComment(l))),{startChar:r.iChar,endChar:r.iChar+l.length}),l=e.peekLine();break;case"K":this.resolveTempo();var g=ce.parseKey(l.substring(2),!1);!r.is_in_header&&n.hasBeginMusic()&&(g.foundClef&&n.appendStartingElement("clef",u,f,r.clef),g.foundKey&&n.appendStartingElement("key",u,f,ce.fixKey(r.clef,r.key))),r.is_in_header=!1;break;case"L":this.setDefaultLength(l,2,l.length);break;case"M":r.origMeter=r.meter=this.setMeter(l.substring(2));break;case"P":r.is_in_header?n.addMetaText("partOrder",se.parseFontChangeLine(d),{startChar:r.iChar,endChar:r.iChar+l.length}):r.partForNextLine={title:d,startChar:u,endChar:f};break;case"Q":var b=this.setTempo(l,2,l.length,r.iChar);b.type==="delaySet"?r.tempo=b.tempo:b.type==="immediate"&&(a.metaText.tempo?r.tempoForNextLine=["tempo",u,f,b.tempo]:a.metaText.tempo=b.tempo);break;case"T":r.titlecaps&&(d=d.toUpperCase()),this.setTitle(se.parseFontChangeLine(e.theReverser(d)),p);break;case"U":this.addUserDefinition(l,2,l.length);break;case"V":if(ce.parseVoice(l,2,l.length),!r.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",l,0);break;default:return{regular:!0}}}return{}}},bs=gs,Y0={};Y0.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"];Y0.volumeDecorations=["p","pp","f","ff","mf","mp","ppp","pppp","fff","ffff","sfz"];Y0.dynamicDecorations=["crescendo(","crescendo)","diminuendo(","diminuendo)","glissando(","glissando)","~(","~)"];Y0.accentPseudonyms=[["<","accent"],[">","accent"],["tr","trill"],["plus","+"],["emphasis","accent"],["^","umarcato"],["marcato","umarcato"]];Y0.accentDynamicPseudonyms=[["<(","crescendo("],["<)","crescendo)"],[">(","diminuendo("],[">)","diminuendo)"]];Y0.nonDecorations="ABCDEFGabcdefgxyzZ[]|^_{";Y0.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];Y0.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};Y0.rests={x:"invisible",X:"invisible-multimeasure",y:"spacer",z:"rest",Z:"multimeasure"};Y0.accMap={dblflat:"__",flat:"_",natural:"=",sharp:"^",dblsharp:"^^",quarterflat:"_/",quartersharp:"^/"};Y0.tripletQ={2:3,3:2,4:3,5:2,6:2,7:2,8:3,9:2};var ha=Hr,Mi=Ei,u0,C0,N,Z0,Q0,dt,{legalAccents:fa,volumeDecorations:ua,dynamicDecorations:da,accentPseudonyms:va,accentDynamicPseudonyms:pa,nonDecorations:ms,durations:ys,pitches:ws,rests:xs,accMap:ga,tripletQ:Cs}=Y0,$r=function(e,t,r,a,n,c){u0=e,C0=t,N=r,Z0=a,Q0=n,dt=c,this.lineContinuation=!1},ba=function(e,t,r){if(e.inTie[t]===void 0)return!1;var a=e.currentVoice?e.currentVoice.staffNum*100+e.currentVoice.index:0;return!!(e.inTie[t][a]&&(r.pitches!==void 0||r.rest.type!=="spacer"))},H={};$r.prototype.parseMusic=function(e){dt.resolveTempo(),N.is_in_header=!1;for(var t=0,r=N.iChar;u0.isWhiteSpace(e[t])&&t0&&(t+=c[0],c[1]==="V"&&this.startNewLine());for(var o=0;t0)t+=h[0],h[1]==="V"&&(a=!0);else{(!Q0.hasBeginMusic()||a&&!this.lineContinuation)&&(this.startNewLine(),a=!1);for(var p;;)if(p=u0.eatWhiteSpace(e,t),p>0&&(t+=p),t>0&&e[t-1]===""&&(p=dt.letter_to_body_header(e,t),p[0]>0&&(p[1]==="V"&&this.startNewLine(),t=p[0],N.start_new_line=!1)),p=Ss(e,t),p[0]>0&&(t+=p[0]),p=ks(e,t),p[0]>0){H.chord||(H.chord=[]);var d=u0.translateString(p[1]);d=d.replace(/;/g,` `);for(var u=!1,f=0;fi[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var h={VERSION:"3.1.1",HEADER_CHUNK_TYPE:[77,84,104,100],HEADER_CHUNK_LENGTH:[0,0,0,6],HEADER_CHUNK_FORMAT0:[0,0],HEADER_CHUNK_FORMAT1:[0,1],HEADER_CHUNK_DIVISION:[0,128],TRACK_CHUNK_TYPE:[77,84,114,107],META_EVENT_ID:255,META_SMTPE_OFFSET:84},k=(e,t)=>Array(Math.abs(t)+1).join(e);function W(e){return e!==null&&typeof e=="object"&&typeof e.name=="string"}function q(e){return e!==null&&typeof e=="object"&&typeof e.step=="number"&&typeof e.alt=="number"}var w=[0,2,4,-1,1,3,5],G=w.map(e=>Math.floor(e*7/12));function z(e){const{step:t,alt:n,oct:i,dir:r=1}=e,c=w[t]+7*n;if(i===void 0)return[r*c];const o=i-G[t]-4*n;return[r*c,r*o]}var D={empty:!0,name:"",pc:"",acc:""},C=new Map,Y=e=>"CDEFGAB".charAt(e),J=e=>e<0?k("b",-e):k("#",e),X=e=>e[0]==="b"?-e.length:e.length;function T(e){const t=JSON.stringify(e),n=C.get(t);if(n)return n;const i=typeof e=="string"?tt(e):q(e)?T(et(e)):W(e)?T(e.name):D;return C.set(t,i),i}var Z=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function $(e){const t=Z.exec(e);return[t[1].toUpperCase(),t[2].replace(/x/g,"##"),t[3],t[4]]}var Q=(e,t)=>(e%t+t)%t,m=[0,2,4,5,7,9,11];function tt(e){const t=$(e);if(t[0]===""||t[3]!=="")return D;const n=t[0],i=t[1],r=t[2],c=(n.charCodeAt(0)+3)%7,o=X(i),s=r.length?+r:void 0,u=z({step:c,alt:o,oct:s}),f=n+i+r,g=n+i,p=(m[c]+o+120)%12,l=s===void 0?Q(m[c]+o,12)-12*99:m[c]+o+12*(s+1),y=l>=0&&l<=127?l:null,U=s===void 0?null:Math.pow(2,(l-69)/12)*440;return{empty:!1,acc:i,alt:o,chroma:p,coord:u,freq:U,height:l,letter:n,midi:y,name:f,oct:s,pc:g,step:c}}function et(e){const{step:t,alt:n,oct:i}=e,r=Y(t);if(!r)return"";const c=r+J(n);return i||i===0?c+i:c}function nt(e){return+e>=0&&+e<=127}function N(e){if(nt(e))return+e;const t=T(e);return t.empty?null:t.midi}var a=function(){function e(){}return e.version=function(){return h.VERSION},e.stringToBytes=function(t){return t.split("").map(function(n){return n.charCodeAt(0)})},e.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},e.getPitch=function(t,n){return n===void 0&&(n="C4"),60-N(n)+N(t)},e.numberToVariableLength=function(t){t=Math.round(t);for(var n=t&127;t=t>>7;)n<<=8,n|=t&127|128;for(var i=[];i.push(n&255),n&128;)n>>=8;return i},e.stringByteCount=function(t){return encodeURI(t).split(/%..|./).length-1},e.numberFromBytes=function(t){var n="",i;return t.forEach(function(r){i=r.toString(16),i.length==1&&(i="0"+i),n+=i}),parseInt(n,16)},e.numberToBytes=function(t,n){n=n||1;var i=t.toString(16);i.length&1&&(i="0"+i);var r=i.match(/.{2}/g),c=r.map(function(o){return parseInt(o,16)});if(c.length0;)c.unshift(0);return c},e.toArray=function(t){return Array.isArray(t)?t:[t]},e.convertVelocity=function(t){return t=t>100?100:t,Math.round(t/100*127)},e.getTickDuration=function(t){if(Array.isArray(t))return t.map(function(c){return e.getTickDuration(c)}).reduce(function(c,o){return c+o},0);if(t=t.toString(),t.toLowerCase().charAt(0)==="t"){var n=parseInt(t.substring(1));if(isNaN(n)||n<0)throw new Error(t+" is not a valid duration.");return n}var i=e.numberFromBytes(h.HEADER_CHUNK_DIVISION),r=i*e.getDurationMultiplier(t);return e.getRoundedIfClose(r)},e.getRoundedIfClose=function(t){var n=Math.round(t);return Math.abs(n-t)<1e-6?n:t},e.getPrecisionLoss=function(t){var n=Math.round(t);return n-t},e.getDurationMultiplier=function(t){if(t==="0")return 0;var n=t.match(/^(?d+)?(?\d+)(?:t(?\d*))?/);if(n){var i=Number(n.groups.base),r=i===1||(i&i-1)===0;if(r){var c=i/4,o=1/c,s=n.groups,u=s.dotted,f=s.tuplet;if(u){var g=u.length,p=Math.pow(2,g);o=o+o*((p-1)/p)}if(typeof f=="string"){var l=o*2,y=Number(f||"3");o=l/y}return o}}throw new Error(t+" is not a valid duration.")},e}(),A=function(){function e(t){this.channel=t.channel-1||0,this.controllerValue=t.controllerValue,this.controllerNumber=t.controllerNumber,this.delta=t.delta||0,this.name="ControllerChangeEvent",this.status=176,this.data=a.numberToVariableLength(t.delta).concat(this.status|this.channel,this.controllerNumber,this.controllerValue)}return e}(),_=function(){function e(t){this.delta=t.delta||0,this.name="CopyrightEvent",this.text=t.text,this.type=2;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),V=function(){function e(t){this.delta=t.delta||0,this.name="CuePointEvent",this.text=t.text,this.type=7;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),b=function(){function e(t){this.delta=(t==null?void 0:t.delta)||0,this.name="EndTrackEvent",this.type=[47,0],this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type)}return e}(),M=function(){function e(t){this.delta=t.delta||0,this.name="InstrumentNameEvent",this.text=t.text,this.type=4;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),P=function(){function e(t,n){this.name="KeySignatureEvent",this.type=89;var i=n||0;if(t=t||0,typeof n>"u"){var r=[["Cb","Gb","Db","Ab","Eb","Bb","F","C","G","D","A","E","B","F#","C#"],["ab","eb","bb","f","c","g","d","a","e","b","f#","c#","g#","d#","a#"]],c=t.length,o=t||"C";if(t[0]===t[0].toLowerCase()&&(i=1),c>1)switch(t.charAt(c-1)){case"m":i=1,o=t.charAt(0).toLowerCase(),o=o.concat(t.substring(1,c-1));break;case"-":i=1,o=t.charAt(0).toLowerCase(),o=o.concat(t.substring(1,c-1));break;case"M":i=0,o=t.charAt(0).toUpperCase(),o=o.concat(t.substring(1,c-1));break;case"+":i=0,o=t.charAt(0).toUpperCase(),o=o.concat(t.substring(1,c-1));break}var s=r[i].indexOf(o);t=s===-1?0:s-7}this.data=a.numberToVariableLength(0).concat(h.META_EVENT_ID,this.type,[2],a.numberToBytes(t,1),a.numberToBytes(i,1))}return e}(),B=function(){function e(t){this.delta=t.delta||0,this.name="LyricEvent",this.text=t.text,this.type=5;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),I=function(){function e(t){this.delta=t.delta||0,this.name="MarkerEvent",this.text=t.text,this.type=6;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),v=function(){function e(t){this.name="NoteOnEvent",this.channel=t.channel||1,this.pitch=t.pitch,this.wait=t.wait||0,this.velocity=t.velocity||50,this.tick=t.tick||null,this.delta=null,this.data=t.data,this.status=144}return e.prototype.buildData=function(t,n,i){return i===void 0&&(i={}),this.data=[],this.tick?(this.tick=a.getRoundedIfClose(this.tick),t.tickPointer==0&&(this.delta=this.tick)):(this.delta=a.getTickDuration(this.wait),this.tick=a.getRoundedIfClose(t.tickPointer+this.delta)),this.deltaWithPrecisionCorrection=a.getRoundedIfClose(this.delta-n),this.data=a.numberToVariableLength(this.deltaWithPrecisionCorrection).concat(this.status|this.channel-1,a.getPitch(this.pitch,i.middleC),a.convertVelocity(this.velocity)),this},e}(),d=function(){function e(t){this.name="NoteOffEvent",this.channel=t.channel||1,this.pitch=t.pitch,this.velocity=t.velocity||50,this.tick=t.tick||null,this.data=t.data,this.delta=t.delta||a.getTickDuration(t.duration),this.status=128}return e.prototype.buildData=function(t,n,i){return i===void 0&&(i={}),this.tick===null&&(this.tick=a.getRoundedIfClose(this.delta+t.tickPointer)),this.deltaWithPrecisionCorrection=a.getRoundedIfClose(this.delta-n),this.data=a.numberToVariableLength(this.deltaWithPrecisionCorrection).concat(this.status|this.channel-1,a.getPitch(this.pitch,i.middleC),a.convertVelocity(this.velocity)),this},e}(),E=function(){function e(t){this.data=[],this.name="NoteEvent",this.pitch=a.toArray(t.pitch),this.channel=t.channel||1,this.duration=t.duration||"4",this.grace=t.grace,this.repeat=t.repeat||1,this.sequential=t.sequential||!1,this.tick=t.startTick||t.tick||null,this.velocity=t.velocity||50,this.wait=t.wait||0,this.tickDuration=a.getTickDuration(this.duration),this.restDuration=a.getTickDuration(this.wait),this.events=[]}return e.prototype.buildData=function(){var t=this;if(this.data=[],this.grace){var n=1;this.grace=a.toArray(this.grace),this.grace.forEach(function(){var r=new e({pitch:t.grace,duration:"T"+n});t.data=t.data.concat(r.data)})}if(this.sequential)for(var i=0;i0?0:t.wait,delta:o>0?0:a.getTickDuration(t.wait),velocity:t.velocity,pitch:c,tick:t.tick}),u=new d({channel:t.channel,duration:t.duration,velocity:t.velocity,pitch:c});t.events.push(s,u)});else for(var i=0;i>7&127;this.data=a.numberToVariableLength(this.delta).concat(this.status|this.channel,i,r)}return e.prototype.scale14bits=function(t){return t<=0?Math.floor(16384*(t+1)/2):Math.floor(16383*(t+1)/2)},e}(),it=function(){function e(t){this.channel=t.channel||0,this.delta=t.delta||0,this.instrument=t.instrument,this.status=192,this.name="ProgramChangeEvent",this.data=a.numberToVariableLength(this.delta).concat(this.status|this.channel,this.instrument)}return e}(),x=function(){function e(t){this.bpm=t.bpm,this.delta=t.delta||0,this.tick=t.tick,this.name="TempoEvent",this.type=81;var n=Math.round(6e7/this.bpm);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,[3],a.numberToBytes(n,3))}return e}(),S=function(){function e(t){this.delta=t.delta||0,this.text=t.text,this.name="TextEvent",this.type=1;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(t.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),O=function(){function e(t,n,i,r){this.name="TimeSignatureEvent",this.type=88,this.data=a.numberToVariableLength(0).concat(h.META_EVENT_ID,this.type,[4],a.numberToBytes(t,1),a.numberToBytes(Math.log2(n),1),a.numberToBytes(i||24,1),a.numberToBytes(r||8,1))}return e}(),R=function(){function e(t){this.delta=t.delta||0,this.name="TrackNameEvent",this.text=t.text,this.type=3;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),F=function(){function e(){this.type=h.TRACK_CHUNK_TYPE,this.data=[],this.size=[],this.events=[],this.explicitTickEvents=[],this.tickPointer=0}return e.prototype.addEvent=function(t,n){var i=this;return a.toArray(t).forEach(function(r,c){if(r instanceof E){if(typeof n=="function"){var o=n(c,r);typeof o=="object"&&Object.assign(r,o)}r.tick!==null?i.explicitTickEvents.push(r):r.buildData().events.forEach(function(s){return i.events.push(s)})}else i.events.push(r)}),this},e.prototype.buildData=function(t){var n=this;t===void 0&&(t={}),this.data=[],this.size=[],this.tickPointer=0;var i=0;return this.events.forEach(function(r){if(r instanceof v||r instanceof d){var c=r.buildData(n,i,t);i=a.getPrecisionLoss(r.deltaWithPrecisionCorrection||0),n.data=n.data.concat(c.data),n.tickPointer=a.getRoundedIfClose(r.tick)}else r instanceof x&&(n.tickPointer=a.getRoundedIfClose(r.tick)),n.data=n.data.concat(r.data)}),this.mergeExplicitTickEvents(),(!this.events.length||!(this.events[this.events.length-1]instanceof b))&&(this.data=this.data.concat(new b().data)),this.size=a.numberToBytes(this.data.length,4),this},e.prototype.mergeExplicitTickEvents=function(){var t=this;this.explicitTickEvents.length&&(this.explicitTickEvents.sort(function(n,i){return n.tick-i.tick}),this.explicitTickEvents.forEach(function(n){n.buildData().events.forEach(function(i){return i.buildData(t)}),n.events.forEach(function(i){return t.mergeSingleEvent(i)})}),this.explicitTickEvents=[],this.buildData())},e.prototype.mergeTrack=function(t){var n=this;return this.buildData(),t.buildData().events.forEach(function(i){return n.mergeSingleEvent(i)}),this},e.prototype.mergeSingleEvent=function(t){if(!this.events.length){this.addEvent(t);return}for(var n,i=0;it.tick);i++)n=i;var r=n+1;t.delta=t.tick-this.events[n].tick,this.events.splice(r,0,t);for(var i=r+1;i0&&r.addEvent(new E({pitch:"[c4]",duration:"0",wait:c,velocity:"0"})),r},e.prototype.convertPitch=function(t,n,i,r){var c;r===void 0&&(r=!1);var o=t.split("/"),s=o[0].substring(1).replace("n","");return r&&((c=i.getAccidentals())===null||c===void 0||c.forEach(function(u){u.index===n&&(u.type==="n"?s="":s+=u.type)})),o[0][0]+s+o[1]},e.prototype.convertDuration=function(t){return"d".repeat(t.dots)+this.convertBaseDuration(t.duration)+(t.tuplet?"t"+t.tuplet.num_notes:"")},e.prototype.convertBaseDuration=function(t){switch(t){case"w":return"1";case"h":return"2";case"q":return"4";default:return t}},e}(),at=function(){function e(t){this.type=h.HEADER_CHUNK_TYPE;var n=t>1?h.HEADER_CHUNK_FORMAT1:h.HEADER_CHUNK_FORMAT0;this.data=n.concat(a.numberToBytes(t,2),h.HEADER_CHUNK_DIVISION),this.size=[0,0,0,this.data.length]}return e}(),ot=function(){function e(t,n){n===void 0&&(n={}),this.tracks=a.toArray(t),this.options=n}return e.prototype.buildData=function(){var t=this,n=[];return n.push(new at(this.tracks.length)),this.tracks.forEach(function(i){n.push(i.buildData(t.options))}),n},e.prototype.buildFile=function(){var t=[];return this.buildData().forEach(function(n){return t=t.concat(n.type,n.size,n.data)}),new Uint8Array(t)},e.prototype.base64=function(){if(typeof btoa=="function"){for(var t="",n=this.buildFile(),i=n.byteLength,r=0;ri[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var h={VERSION:"3.1.1",HEADER_CHUNK_TYPE:[77,84,104,100],HEADER_CHUNK_LENGTH:[0,0,0,6],HEADER_CHUNK_FORMAT0:[0,0],HEADER_CHUNK_FORMAT1:[0,1],HEADER_CHUNK_DIVISION:[0,128],TRACK_CHUNK_TYPE:[77,84,114,107],META_EVENT_ID:255,META_SMTPE_OFFSET:84},k=(e,t)=>Array(Math.abs(t)+1).join(e);function W(e){return e!==null&&typeof e=="object"&&typeof e.name=="string"}function q(e){return e!==null&&typeof e=="object"&&typeof e.step=="number"&&typeof e.alt=="number"}var w=[0,2,4,-1,1,3,5],G=w.map(e=>Math.floor(e*7/12));function z(e){const{step:t,alt:n,oct:i,dir:r=1}=e,c=w[t]+7*n;if(i===void 0)return[r*c];const o=i-G[t]-4*n;return[r*c,r*o]}var D={empty:!0,name:"",pc:"",acc:""},C=new Map,Y=e=>"CDEFGAB".charAt(e),J=e=>e<0?k("b",-e):k("#",e),X=e=>e[0]==="b"?-e.length:e.length;function T(e){const t=JSON.stringify(e),n=C.get(t);if(n)return n;const i=typeof e=="string"?tt(e):q(e)?T(et(e)):W(e)?T(e.name):D;return C.set(t,i),i}var Z=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function $(e){const t=Z.exec(e);return[t[1].toUpperCase(),t[2].replace(/x/g,"##"),t[3],t[4]]}var Q=(e,t)=>(e%t+t)%t,m=[0,2,4,5,7,9,11];function tt(e){const t=$(e);if(t[0]===""||t[3]!=="")return D;const n=t[0],i=t[1],r=t[2],c=(n.charCodeAt(0)+3)%7,o=X(i),s=r.length?+r:void 0,u=z({step:c,alt:o,oct:s}),f=n+i+r,g=n+i,p=(m[c]+o+120)%12,l=s===void 0?Q(m[c]+o,12)-12*99:m[c]+o+12*(s+1),y=l>=0&&l<=127?l:null,U=s===void 0?null:Math.pow(2,(l-69)/12)*440;return{empty:!1,acc:i,alt:o,chroma:p,coord:u,freq:U,height:l,letter:n,midi:y,name:f,oct:s,pc:g,step:c}}function et(e){const{step:t,alt:n,oct:i}=e,r=Y(t);if(!r)return"";const c=r+J(n);return i||i===0?c+i:c}function nt(e){return+e>=0&&+e<=127}function N(e){if(nt(e))return+e;const t=T(e);return t.empty?null:t.midi}var a=function(){function e(){}return e.version=function(){return h.VERSION},e.stringToBytes=function(t){return t.split("").map(function(n){return n.charCodeAt(0)})},e.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},e.getPitch=function(t,n){return n===void 0&&(n="C4"),60-N(n)+N(t)},e.numberToVariableLength=function(t){t=Math.round(t);for(var n=t&127;t=t>>7;)n<<=8,n|=t&127|128;for(var i=[];i.push(n&255),n&128;)n>>=8;return i},e.stringByteCount=function(t){return encodeURI(t).split(/%..|./).length-1},e.numberFromBytes=function(t){var n="",i;return t.forEach(function(r){i=r.toString(16),i.length==1&&(i="0"+i),n+=i}),parseInt(n,16)},e.numberToBytes=function(t,n){n=n||1;var i=t.toString(16);i.length&1&&(i="0"+i);var r=i.match(/.{2}/g),c=r.map(function(o){return parseInt(o,16)});if(c.length0;)c.unshift(0);return c},e.toArray=function(t){return Array.isArray(t)?t:[t]},e.convertVelocity=function(t){return t=t>100?100:t,Math.round(t/100*127)},e.getTickDuration=function(t){if(Array.isArray(t))return t.map(function(c){return e.getTickDuration(c)}).reduce(function(c,o){return c+o},0);if(t=t.toString(),t.toLowerCase().charAt(0)==="t"){var n=parseInt(t.substring(1));if(isNaN(n)||n<0)throw new Error(t+" is not a valid duration.");return n}var i=e.numberFromBytes(h.HEADER_CHUNK_DIVISION),r=i*e.getDurationMultiplier(t);return e.getRoundedIfClose(r)},e.getRoundedIfClose=function(t){var n=Math.round(t);return Math.abs(n-t)<1e-6?n:t},e.getPrecisionLoss=function(t){var n=Math.round(t);return n-t},e.getDurationMultiplier=function(t){if(t==="0")return 0;var n=t.match(/^(?d+)?(?\d+)(?:t(?\d*))?/);if(n){var i=Number(n.groups.base),r=i===1||(i&i-1)===0;if(r){var c=i/4,o=1/c,s=n.groups,u=s.dotted,f=s.tuplet;if(u){var g=u.length,p=Math.pow(2,g);o=o+o*((p-1)/p)}if(typeof f=="string"){var l=o*2,y=Number(f||"3");o=l/y}return o}}throw new Error(t+" is not a valid duration.")},e}(),A=function(){function e(t){this.channel=t.channel-1||0,this.controllerValue=t.controllerValue,this.controllerNumber=t.controllerNumber,this.delta=t.delta||0,this.name="ControllerChangeEvent",this.status=176,this.data=a.numberToVariableLength(t.delta).concat(this.status|this.channel,this.controllerNumber,this.controllerValue)}return e}(),_=function(){function e(t){this.delta=t.delta||0,this.name="CopyrightEvent",this.text=t.text,this.type=2;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),V=function(){function e(t){this.delta=t.delta||0,this.name="CuePointEvent",this.text=t.text,this.type=7;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),b=function(){function e(t){this.delta=(t==null?void 0:t.delta)||0,this.name="EndTrackEvent",this.type=[47,0],this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type)}return e}(),M=function(){function e(t){this.delta=t.delta||0,this.name="InstrumentNameEvent",this.text=t.text,this.type=4;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),P=function(){function e(t,n){this.name="KeySignatureEvent",this.type=89;var i=n||0;if(t=t||0,typeof n>"u"){var r=[["Cb","Gb","Db","Ab","Eb","Bb","F","C","G","D","A","E","B","F#","C#"],["ab","eb","bb","f","c","g","d","a","e","b","f#","c#","g#","d#","a#"]],c=t.length,o=t||"C";if(t[0]===t[0].toLowerCase()&&(i=1),c>1)switch(t.charAt(c-1)){case"m":i=1,o=t.charAt(0).toLowerCase(),o=o.concat(t.substring(1,c-1));break;case"-":i=1,o=t.charAt(0).toLowerCase(),o=o.concat(t.substring(1,c-1));break;case"M":i=0,o=t.charAt(0).toUpperCase(),o=o.concat(t.substring(1,c-1));break;case"+":i=0,o=t.charAt(0).toUpperCase(),o=o.concat(t.substring(1,c-1));break}var s=r[i].indexOf(o);t=s===-1?0:s-7}this.data=a.numberToVariableLength(0).concat(h.META_EVENT_ID,this.type,[2],a.numberToBytes(t,1),a.numberToBytes(i,1))}return e}(),B=function(){function e(t){this.delta=t.delta||0,this.name="LyricEvent",this.text=t.text,this.type=5;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),I=function(){function e(t){this.delta=t.delta||0,this.name="MarkerEvent",this.text=t.text,this.type=6;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),v=function(){function e(t){this.name="NoteOnEvent",this.channel=t.channel||1,this.pitch=t.pitch,this.wait=t.wait||0,this.velocity=t.velocity||50,this.tick=t.tick||null,this.delta=null,this.data=t.data,this.status=144}return e.prototype.buildData=function(t,n,i){return i===void 0&&(i={}),this.data=[],this.tick?(this.tick=a.getRoundedIfClose(this.tick),t.tickPointer==0&&(this.delta=this.tick)):(this.delta=a.getTickDuration(this.wait),this.tick=a.getRoundedIfClose(t.tickPointer+this.delta)),this.deltaWithPrecisionCorrection=a.getRoundedIfClose(this.delta-n),this.data=a.numberToVariableLength(this.deltaWithPrecisionCorrection).concat(this.status|this.channel-1,a.getPitch(this.pitch,i.middleC),a.convertVelocity(this.velocity)),this},e}(),d=function(){function e(t){this.name="NoteOffEvent",this.channel=t.channel||1,this.pitch=t.pitch,this.velocity=t.velocity||50,this.tick=t.tick||null,this.data=t.data,this.delta=t.delta||a.getTickDuration(t.duration),this.status=128}return e.prototype.buildData=function(t,n,i){return i===void 0&&(i={}),this.tick===null&&(this.tick=a.getRoundedIfClose(this.delta+t.tickPointer)),this.deltaWithPrecisionCorrection=a.getRoundedIfClose(this.delta-n),this.data=a.numberToVariableLength(this.deltaWithPrecisionCorrection).concat(this.status|this.channel-1,a.getPitch(this.pitch,i.middleC),a.convertVelocity(this.velocity)),this},e}(),E=function(){function e(t){this.data=[],this.name="NoteEvent",this.pitch=a.toArray(t.pitch),this.channel=t.channel||1,this.duration=t.duration||"4",this.grace=t.grace,this.repeat=t.repeat||1,this.sequential=t.sequential||!1,this.tick=t.startTick||t.tick||null,this.velocity=t.velocity||50,this.wait=t.wait||0,this.tickDuration=a.getTickDuration(this.duration),this.restDuration=a.getTickDuration(this.wait),this.events=[]}return e.prototype.buildData=function(){var t=this;if(this.data=[],this.grace){var n=1;this.grace=a.toArray(this.grace),this.grace.forEach(function(){var r=new e({pitch:t.grace,duration:"T"+n});t.data=t.data.concat(r.data)})}if(this.sequential)for(var i=0;i0?0:t.wait,delta:o>0?0:a.getTickDuration(t.wait),velocity:t.velocity,pitch:c,tick:t.tick}),u=new d({channel:t.channel,duration:t.duration,velocity:t.velocity,pitch:c});t.events.push(s,u)});else for(var i=0;i>7&127;this.data=a.numberToVariableLength(this.delta).concat(this.status|this.channel,i,r)}return e.prototype.scale14bits=function(t){return t<=0?Math.floor(16384*(t+1)/2):Math.floor(16383*(t+1)/2)},e}(),it=function(){function e(t){this.channel=t.channel||0,this.delta=t.delta||0,this.instrument=t.instrument,this.status=192,this.name="ProgramChangeEvent",this.data=a.numberToVariableLength(this.delta).concat(this.status|this.channel,this.instrument)}return e}(),x=function(){function e(t){this.bpm=t.bpm,this.delta=t.delta||0,this.tick=t.tick,this.name="TempoEvent",this.type=81;var n=Math.round(6e7/this.bpm);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,[3],a.numberToBytes(n,3))}return e}(),S=function(){function e(t){this.delta=t.delta||0,this.text=t.text,this.name="TextEvent",this.type=1;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(t.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),O=function(){function e(t,n,i,r){this.name="TimeSignatureEvent",this.type=88,this.data=a.numberToVariableLength(0).concat(h.META_EVENT_ID,this.type,[4],a.numberToBytes(t,1),a.numberToBytes(Math.log2(n),1),a.numberToBytes(i||24,1),a.numberToBytes(r||8,1))}return e}(),R=function(){function e(t){this.delta=t.delta||0,this.name="TrackNameEvent",this.text=t.text,this.type=3;var n=a.stringToBytes(this.text);this.data=a.numberToVariableLength(this.delta).concat(h.META_EVENT_ID,this.type,a.numberToVariableLength(n.length),n)}return e}(),F=function(){function e(){this.type=h.TRACK_CHUNK_TYPE,this.data=[],this.size=[],this.events=[],this.explicitTickEvents=[],this.tickPointer=0}return e.prototype.addEvent=function(t,n){var i=this;return a.toArray(t).forEach(function(r,c){if(r instanceof E){if(typeof n=="function"){var o=n(c,r);typeof o=="object"&&Object.assign(r,o)}r.tick!==null?i.explicitTickEvents.push(r):r.buildData().events.forEach(function(s){return i.events.push(s)})}else i.events.push(r)}),this},e.prototype.buildData=function(t){var n=this;t===void 0&&(t={}),this.data=[],this.size=[],this.tickPointer=0;var i=0;return this.events.forEach(function(r){if(r instanceof v||r instanceof d){var c=r.buildData(n,i,t);i=a.getPrecisionLoss(r.deltaWithPrecisionCorrection||0),n.data=n.data.concat(c.data),n.tickPointer=a.getRoundedIfClose(r.tick)}else r instanceof x&&(n.tickPointer=a.getRoundedIfClose(r.tick)),n.data=n.data.concat(r.data)}),this.mergeExplicitTickEvents(),(!this.events.length||!(this.events[this.events.length-1]instanceof b))&&(this.data=this.data.concat(new b().data)),this.size=a.numberToBytes(this.data.length,4),this},e.prototype.mergeExplicitTickEvents=function(){var t=this;this.explicitTickEvents.length&&(this.explicitTickEvents.sort(function(n,i){return n.tick-i.tick}),this.explicitTickEvents.forEach(function(n){n.buildData().events.forEach(function(i){return i.buildData(t)}),n.events.forEach(function(i){return t.mergeSingleEvent(i)})}),this.explicitTickEvents=[],this.buildData())},e.prototype.mergeTrack=function(t){var n=this;return this.buildData(),t.buildData().events.forEach(function(i){return n.mergeSingleEvent(i)}),this},e.prototype.mergeSingleEvent=function(t){if(!this.events.length){this.addEvent(t);return}for(var n,i=0;it.tick);i++)n=i;var r=n+1;t.delta=t.tick-this.events[n].tick,this.events.splice(r,0,t);for(var i=r+1;i0&&r.addEvent(new E({pitch:"[c4]",duration:"0",wait:c,velocity:"0"})),r},e.prototype.convertPitch=function(t,n,i,r){var c;r===void 0&&(r=!1);var o=t.split("/"),s=o[0].substring(1).replace("n","");return r&&((c=i.getAccidentals())===null||c===void 0||c.forEach(function(u){u.index===n&&(u.type==="n"?s="":s+=u.type)})),o[0][0]+s+o[1]},e.prototype.convertDuration=function(t){return"d".repeat(t.dots)+this.convertBaseDuration(t.duration)+(t.tuplet?"t"+t.tuplet.num_notes:"")},e.prototype.convertBaseDuration=function(t){switch(t){case"w":return"1";case"h":return"2";case"q":return"4";default:return t}},e}(),at=function(){function e(t){this.type=h.HEADER_CHUNK_TYPE;var n=t>1?h.HEADER_CHUNK_FORMAT1:h.HEADER_CHUNK_FORMAT0;this.data=n.concat(a.numberToBytes(t,2),h.HEADER_CHUNK_DIVISION),this.size=[0,0,0,this.data.length]}return e}(),ot=function(){function e(t,n){n===void 0&&(n={}),this.tracks=a.toArray(t),this.options=n}return e.prototype.buildData=function(){var t=this,n=[];return n.push(new at(this.tracks.length)),this.tracks.forEach(function(i){n.push(i.buildData(t.options))}),n},e.prototype.buildFile=function(){var t=[];return this.buildData().forEach(function(n){return t=t.concat(n.type,n.size,n.data)}),new Uint8Array(t)},e.prototype.base64=function(){if(typeof btoa=="function"){for(var t="",n=this.buildFile(),i=n.byteLength,r=0;r"u"?y:window,u=["moz","webkit"],f="AnimationFrame",s=r["request"+f],p=r["cancel"+f]||r["cancelRequest"+f];for(var l=0;!s&&l"u"?y:window,u=["moz","webkit"],f="AnimationFrame",s=r["request"+f],p=r["cancel"+f]||r["cancelRequest"+f];for(var l=0;!s&&l"u"&&Da!==void 0,Mo={all:Da,IS_HTMLDDA:Ll},_o=Mo,kl=_o.all,V=_o.IS_HTMLDDA?function(a){return typeof a=="function"||a===kl}:function(a){return typeof a=="function"},ln=V,Vo=Mo,Bl=Vo.all,xe=Vo.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:ln(a)||a===Bl}:function(a){return typeof a=="object"?a!==null:ln(a)},Gr=F,jl=V,Ul=function(a){return jl(a)?a:void 0},je=function(a,e){return arguments.length<2?Ul(Gr[a]):Gr[a]&&Gr[a][e]},Fl=k,cr=Fl({}.isPrototypeOf),fr=typeof navigator<"u"&&String(navigator.userAgent)||"",Do=F,Hr=fr,hn=Do.process,vn=Do.Deno,cn=hn&&hn.versions||vn&&vn.version,fn=cn&&cn.v8,ue,ir;fn&&(ue=fn.split("."),ir=ue[0]>0&&ue[0]<4?1:+(ue[0]+ue[1]));!ir&&Hr&&(ue=Hr.match(/Edge\/(\d+)/),(!ue||ue[1]>=74)&&(ue=Hr.match(/Chrome\/(\d+)/),ue&&(ir=+ue[1])));var ci=ir,gn=ci,zl=L,Gl=F,Hl=Gl.String,Lo=!!Object.getOwnPropertySymbols&&!zl(function(){var a=Symbol("symbol detection");return!Hl(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&gn&&gn<41}),Yl=Lo,ko=Yl&&!Symbol.sham&&typeof Symbol.iterator=="symbol",Xl=je,Wl=V,ql=cr,Ql=ko,Kl=Object,Bo=Ql?function(a){return typeof a=="symbol"}:function(a){var e=Xl("Symbol");return Wl(e)&&ql(e.prototype,Kl(a))},Zl=String,gr=function(a){try{return Zl(a)}catch{return"Object"}},Jl=V,eh=gr,th=TypeError,Oe=function(a){if(Jl(a))return a;throw new th(eh(a)+" is not a function")},rh=Oe,ah=Be,it=function(a,e){var t=a[e];return ah(t)?void 0:rh(t)},Yr=Y,Xr=V,Wr=xe,ih=TypeError,nh=function(a,e){var t,r;if(e==="string"&&Xr(t=a.toString)&&!Wr(r=Yr(t,a))||Xr(t=a.valueOf)&&!Wr(r=Yr(t,a))||e!=="string"&&Xr(t=a.toString)&&!Wr(r=Yr(t,a)))return r;throw new ih("Can't convert object to primitive value")},jo={exports:{}},dn=F,sh=Object.defineProperty,fi=function(a,e){try{sh(dn,a,{value:e,configurable:!0,writable:!0})}catch{dn[a]=e}return e},oh=F,uh=fi,pn="__core-js_shared__",lh=oh[pn]||uh(pn,{}),gi=lh,yn=gi;(jo.exports=function(a,e){return yn[a]||(yn[a]=e!==void 0?e:{})})("versions",[]).push({version:"3.33.3",mode:"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.33.3/LICENSE",source:"https://github.com/zloirock/core-js"});var di=jo.exports,hh=ge,vh=Object,dr=function(a){return vh(hh(a))},ch=k,fh=dr,gh=ch({}.hasOwnProperty),le=Object.hasOwn||function(e,t){return gh(fh(e),t)},dh=k,ph=0,yh=Math.random(),mh=dh(1 .toString),Uo=function(a){return"Symbol("+(a===void 0?"":a)+")_"+mh(++ph+yh,36)},bh=F,xh=di,mn=le,Oh=Uo,Th=Lo,Sh=ko,Ke=bh.Symbol,qr=xh("wks"),Eh=Sh?Ke.for||Ke:Ke&&Ke.withoutSetter||Oh,G=function(a){return mn(qr,a)||(qr[a]=Th&&mn(Ke,a)?Ke[a]:Eh("Symbol."+a)),qr[a]},$h=Y,bn=xe,xn=Bo,wh=it,Ch=nh,Ah=G,Ph=TypeError,Rh=Ah("toPrimitive"),Ih=function(a,e){if(!bn(a)||xn(a))return a;var t=wh(a,Rh),r;if(t){if(e===void 0&&(e="default"),r=$h(t,a,e),!bn(r)||xn(r))return r;throw new Ph("Can't convert object to primitive value")}return e===void 0&&(e="number"),Ch(a,e)},Nh=Ih,Mh=Bo,pi=function(a){var e=Nh(a,"string");return Mh(e)?e:e+""},_h=F,On=xe,La=_h.document,Vh=On(La)&&On(La.createElement),pr=function(a){return Vh?La.createElement(a):{}},Dh=fe,Lh=L,kh=pr,Fo=!Dh&&!Lh(function(){return Object.defineProperty(kh("div"),"a",{get:function(){return 7}}).a!==7}),Bh=fe,jh=Y,Uh=wo,Fh=vr,zh=xt,Gh=pi,Hh=le,Yh=Fo,Tn=Object.getOwnPropertyDescriptor;at.f=Bh?Tn:function(e,t){if(e=zh(e),t=Gh(t),Yh)try{return Tn(e,t)}catch{}if(Hh(e,t))return Fh(!jh(Uh.f,e,t),e[t])};var de={},Xh=fe,Wh=L,zo=Xh&&Wh(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),qh=xe,Qh=String,Kh=TypeError,K=function(a){if(qh(a))return a;throw new Kh(Qh(a)+" is not an object")},Zh=fe,Jh=Fo,ev=zo,kt=K,Sn=pi,tv=TypeError,Qr=Object.defineProperty,rv=Object.getOwnPropertyDescriptor,Kr="enumerable",Zr="configurable",Jr="writable";de.f=Zh?ev?function(e,t,r){if(kt(e),t=Sn(t),kt(r),typeof e=="function"&&t==="prototype"&&"value"in r&&Jr in r&&!r[Jr]){var i=rv(e,t);i&&i[Jr]&&(e[t]=r.value,r={configurable:Zr in r?r[Zr]:i[Zr],enumerable:Kr in r?r[Kr]:i[Kr],writable:!1})}return Qr(e,t,r)}:Qr:function(e,t,r){if(kt(e),t=Sn(t),kt(r),Jh)try{return Qr(e,t,r)}catch{}if("get"in r||"set"in r)throw new tv("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var av=fe,iv=de,nv=vr,Ot=av?function(a,e,t){return iv.f(a,e,nv(1,t))}:function(a,e,t){return a[e]=t,a},Go={exports:{}},ka=fe,sv=le,Ho=Function.prototype,ov=ka&&Object.getOwnPropertyDescriptor,yi=sv(Ho,"name"),uv=yi&&(function(){}).name==="something",lv=yi&&(!ka||ka&&ov(Ho,"name").configurable),yr={EXISTS:yi,PROPER:uv,CONFIGURABLE:lv},hv=k,vv=V,Ba=gi,cv=hv(Function.toString);vv(Ba.inspectSource)||(Ba.inspectSource=function(a){return cv(a)});var mi=Ba.inspectSource,fv=F,gv=V,En=fv.WeakMap,dv=gv(En)&&/native code/.test(String(En)),pv=di,yv=Uo,$n=pv("keys"),bi=function(a){return $n[a]||($n[a]=yv(a))},xi={},mv=dv,Yo=F,bv=xe,xv=Ot,ea=le,ta=gi,Ov=bi,Tv=xi,wn="Object already initialized",ja=Yo.TypeError,Sv=Yo.WeakMap,nr,mt,sr,Ev=function(a){return sr(a)?mt(a):nr(a,{})},$v=function(a){return function(e){var t;if(!bv(e)||(t=mt(e)).type!==a)throw new ja("Incompatible receiver, "+a+" required");return t}};if(mv||ta.state){var ce=ta.state||(ta.state=new Sv);ce.get=ce.get,ce.has=ce.has,ce.set=ce.set,nr=function(a,e){if(ce.has(a))throw new ja(wn);return e.facade=a,ce.set(a,e),e},mt=function(a){return ce.get(a)||{}},sr=function(a){return ce.has(a)}}else{var He=Ov("state");Tv[He]=!0,nr=function(a,e){if(ea(a,He))throw new ja(wn);return e.facade=a,xv(a,He,e),e},mt=function(a){return ea(a,He)?a[He]:{}},sr=function(a){return ea(a,He)}}var mr={set:nr,get:mt,has:sr,enforce:Ev,getterFor:$v},Oi=k,wv=L,Cv=V,Bt=le,Ua=fe,Av=yr.CONFIGURABLE,Pv=mi,Xo=mr,Rv=Xo.enforce,Iv=Xo.get,Cn=String,Zt=Object.defineProperty,Nv=Oi("".slice),Mv=Oi("".replace),_v=Oi([].join),Vv=Ua&&!wv(function(){return Zt(function(){},"length",{value:8}).length!==8}),Dv=String(String).split("String"),Lv=Go.exports=function(a,e,t){Nv(Cn(e),0,7)==="Symbol("&&(e="["+Mv(Cn(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Bt(a,"name")||Av&&a.name!==e)&&(Ua?Zt(a,"name",{value:e,configurable:!0}):a.name=e),Vv&&t&&Bt(t,"arity")&&a.length!==t.arity&&Zt(a,"length",{value:t.arity});try{t&&Bt(t,"constructor")&&t.constructor?Ua&&Zt(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var r=Rv(a);return Bt(r,"source")||(r.source=_v(Dv,typeof e=="string"?e:"")),a};Function.prototype.toString=Lv(function(){return Cv(this)&&Iv(this).source||Pv(this)},"toString");var Wo=Go.exports,kv=V,Bv=de,jv=Wo,Uv=fi,Ue=function(a,e,t,r){r||(r={});var i=r.enumerable,n=r.name!==void 0?r.name:e;if(kv(t)&&jv(t,n,r),r.global)i?a[e]=t:Uv(e,t);else{try{r.unsafe?a[e]&&(i=!0):delete a[e]}catch{}i?a[e]=t:Bv.f(a,e,{value:t,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return a},qo={},Fv=Math.ceil,zv=Math.floor,Gv=Math.trunc||function(e){var t=+e;return(t>0?zv:Fv)(t)},Hv=Gv,br=function(a){var e=+a;return e!==e||e===0?0:Hv(e)},Yv=br,Xv=Math.max,Wv=Math.min,Qo=function(a,e){var t=Yv(a);return t<0?Xv(t+e,0):Wv(t,e)},qv=br,Qv=Math.min,nt=function(a){return a>0?Qv(qv(a),9007199254740991):0},Kv=nt,xr=function(a){return Kv(a.length)},Zv=xt,Jv=Qo,ec=xr,An=function(a){return function(e,t,r){var i=Zv(e),n=ec(i),o=Jv(r,n),s;if(a&&t!==t){for(;n>o;)if(s=i[o++],s!==s)return!0}else for(;n>o;o++)if((a||o in i)&&i[o]===t)return a||o||0;return!a&&-1}},Ko={includes:An(!0),indexOf:An(!1)},tc=k,ra=le,rc=xt,ac=Ko.indexOf,ic=xi,Pn=tc([].push),Zo=function(a,e){var t=rc(a),r=0,i=[],n;for(n in t)!ra(ic,n)&&ra(t,n)&&Pn(i,n);for(;e.length>r;)ra(t,n=e[r++])&&(~ac(i,n)||Pn(i,n));return i},Ti=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],nc=Zo,sc=Ti,oc=sc.concat("length","prototype");qo.f=Object.getOwnPropertyNames||function(e){return nc(e,oc)};var Jo={};Jo.f=Object.getOwnPropertySymbols;var uc=je,lc=k,hc=qo,vc=Jo,cc=K,fc=lc([].concat),gc=uc("Reflect","ownKeys")||function(e){var t=hc.f(cc(e)),r=vc.f;return r?fc(t,r(e)):t},Rn=le,dc=gc,pc=at,yc=de,mc=function(a,e,t){for(var r=dc(e),i=yc.f,n=pc.f,o=0;oc;c++)if(v=y(a[c]),v&&ss(us,v))return v;return new tr(!1)}l=yd(a,h)}for(d=n?a.next:l.next;!(g=cd(d,l)).done;){try{v=y(g.value)}catch(x){os(l,"throw",x)}if(typeof v=="object"&&v&&ss(us,v))return v}return new tr(!1)},xd=G,Iu=xd("iterator"),Nu=!1;try{var Od=0,ls={next:function(){return{done:!!Od++}},return:function(){Nu=!0}};ls[Iu]=function(){return this},Array.from(ls,function(){throw 2})}catch{}var Td=function(a,e){try{if(!e&&!Nu)return!1}catch{return!1}var t=!1;try{var r={};r[Iu]=function(){return{next:function(){return{done:t=!0}}}},a(r)}catch{}return t},Sd=Or,Ed=Td,$d=$t.CONSTRUCTOR,Mu=$d||!Ed(function(a){Sd.all(a).then(void 0,function(){})}),wd=ee,Cd=Y,Ad=Oe,Pd=st,Rd=Pi,Id=Ru,Nd=Mu;wd({target:"Promise",stat:!0,forced:Nd},{all:function(e){var t=this,r=Pd.f(t),i=r.resolve,n=r.reject,o=Rd(function(){var s=Ad(t.resolve),u=[],l=0,h=1;Id(e,function(c){var f=l++,v=!1;h++,Cd(s,t,c).then(function(d){v||(v=!0,u[f]=d,--h||i(u))},n)}),--h||i(u)});return o.error&&n(o.value),r.promise}});var Md=ee,_d=$t.CONSTRUCTOR,qa=Or,Vd=je,Dd=V,Ld=Ue,hs=qa&&qa.prototype;Md({target:"Promise",proto:!0,forced:_d,real:!0},{catch:function(a){return this.then(void 0,a)}});if(Dd(qa)){var vs=Vd("Promise").prototype.catch;hs.catch!==vs&&Ld(hs,"catch",vs,{unsafe:!0})}var kd=ee,Bd=Y,jd=Oe,Ud=st,Fd=Pi,zd=Ru,Gd=Mu;kd({target:"Promise",stat:!0,forced:Gd},{race:function(e){var t=this,r=Ud.f(t),i=r.reject,n=Fd(function(){var o=jd(t.resolve);zd(e,function(s){Bd(o,t,s).then(r.resolve,i)})});return n.error&&i(n.value),r.promise}});var Hd=ee,Yd=Y,Xd=st,Wd=$t.CONSTRUCTOR;Hd({target:"Promise",stat:!0,forced:Wd},{reject:function(e){var t=Xd.f(this);return Yd(t.reject,void 0,e),t.promise}});var qd=K,Qd=xe,Kd=st,Zd=function(a,e){if(qd(a),Qd(e)&&e.constructor===a)return e;var t=Kd.f(a),r=t.resolve;return r(e),t.promise},Jd=ee,ep=je,tp=$t.CONSTRUCTOR,rp=Zd;ep("Promise");Jd({target:"Promise",stat:!0,forced:tp},{resolve:function(e){return rp(this,e)}});function cs(a,e,t,r,i,n,o){try{var s=a[n](o),u=s.value}catch(l){return void t(l)}s.done?e(u):Promise.resolve(u).then(r,i)}function be(a){return function(){var e=this,t=arguments;return new Promise(function(r,i){var n=a.apply(e,t);function o(u){cs(n,r,i,o,s,"next",u)}function s(u){cs(n,r,i,o,s,"throw",u)}o(void 0)})}}var ap=Ei,ip=String,pe=function(a){if(ap(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return ip(a)},np=K,_u=function(){var a=np(this),e="";return a.hasIndices&&(e+="d"),a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.unicodeSets&&(e+="v"),a.sticky&&(e+="y"),e},_i=L,sp=F,Vi=sp.RegExp,Di=_i(function(){var a=Vi("a","y");return a.lastIndex=2,a.exec("abcd")!==null}),op=Di||_i(function(){return!Vi("a","y").sticky}),up=Di||_i(function(){var a=Vi("^r","gy");return a.lastIndex=2,a.exec("str")!==null}),Vu={BROKEN_CARET:up,MISSED_STICKY:op,UNSUPPORTED_Y:Di},Du={},lp=Zo,hp=Ti,vp=Object.keys||function(e){return lp(e,hp)},cp=fe,fp=zo,gp=de,dp=K,pp=xt,yp=vp;Du.f=cp&&!fp?Object.defineProperties:function(e,t){dp(e);for(var r=pp(t),i=yp(t),n=i.length,o=0,s;n>o;)gp.f(e,s=i[o++],r[s]);return e};var mp=K,bp=Du,fs=Ti,xp=xi,Op=lu,Tp=pr,Sp=bi,gs=">",ds="<",Qa="prototype",Ka="script",Lu=Sp("IE_PROTO"),da=function(){},ku=function(a){return ds+Ka+gs+a+ds+"/"+Ka+gs},ps=function(a){a.write(ku("")),a.close();var e=a.parentWindow.Object;return a=null,e},Ep=function(){var a=Tp("iframe"),e="java"+Ka+":",t;return a.style.display="none",Op.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(ku("document.F=Object")),t.close(),t.F},Yt,rr=function(){try{Yt=new ActiveXObject("htmlfile")}catch{}rr=typeof document<"u"?document.domain&&Yt?ps(Yt):Ep():ps(Yt);for(var a=fs.length;a--;)delete rr[Qa][fs[a]];return rr()};xp[Lu]=!0;var Li=Object.create||function(e,t){var r;return e!==null?(da[Qa]=mp(e),r=new da,da[Qa]=null,r[Lu]=e):r=rr(),t===void 0?r:bp.f(r,t)},$p=L,wp=F,Cp=wp.RegExp,Ap=$p(function(){var a=Cp(".","s");return!(a.dotAll&&a.test(` +import{z as on,A as Ol}from"./theme.Dd_Fb62b.js";import{_ as _a}from"./jspdf.es.min.DHD_tvxK.js";import{a as Fr}from"./index.Bl92Yfyi.js";import"./framework.CQBrk0Ry.js";var un={},ut=function(a){return a&&a.Math===Math&&a},F=ut(typeof globalThis=="object"&&globalThis)||ut(typeof window=="object"&&window)||ut(typeof self=="object"&&self)||ut(typeof un=="object"&&un)||ut(typeof on=="object"&&on)||function(){return this}()||Function("return this")(),at={},L=function(a){try{return!!a()}catch{return!0}},Tl=L,fe=!Tl(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),Sl=L,hr=!Sl(function(){var a=(function(){}).bind();return typeof a!="function"||a.hasOwnProperty("prototype")}),El=hr,Lt=Function.prototype.call,Y=El?Lt.bind(Lt):function(){return Lt.apply(Lt,arguments)},wo={},Co={}.propertyIsEnumerable,Ao=Object.getOwnPropertyDescriptor,$l=Ao&&!Co.call({1:2},1);wo.f=$l?function(e){var t=Ao(this,e);return!!t&&t.enumerable}:Co;var vr=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}},Po=hr,Ro=Function.prototype,Va=Ro.call,wl=Po&&Ro.bind.bind(Va,Va),k=Po?wl:function(a){return function(){return Va.apply(a,arguments)}},Io=k,Cl=Io({}.toString),Al=Io("".slice),ke=function(a){return Al(Cl(a),8,-1)},Pl=k,Rl=L,Il=ke,zr=Object,Nl=Pl("".split),No=Rl(function(){return!zr("z").propertyIsEnumerable(0)})?function(a){return Il(a)==="String"?Nl(a,""):zr(a)}:zr,Be=function(a){return a==null},Ml=Be,_l=TypeError,ge=function(a){if(Ml(a))throw new _l("Can't call method on "+a);return a},Vl=No,Dl=ge,xt=function(a){return Vl(Dl(a))},Da=typeof document=="object"&&document.all,Ll=typeof Da>"u"&&Da!==void 0,Mo={all:Da,IS_HTMLDDA:Ll},_o=Mo,kl=_o.all,V=_o.IS_HTMLDDA?function(a){return typeof a=="function"||a===kl}:function(a){return typeof a=="function"},ln=V,Vo=Mo,Bl=Vo.all,xe=Vo.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:ln(a)||a===Bl}:function(a){return typeof a=="object"?a!==null:ln(a)},Gr=F,jl=V,Ul=function(a){return jl(a)?a:void 0},je=function(a,e){return arguments.length<2?Ul(Gr[a]):Gr[a]&&Gr[a][e]},Fl=k,cr=Fl({}.isPrototypeOf),fr=typeof navigator<"u"&&String(navigator.userAgent)||"",Do=F,Hr=fr,hn=Do.process,vn=Do.Deno,cn=hn&&hn.versions||vn&&vn.version,fn=cn&&cn.v8,ue,ir;fn&&(ue=fn.split("."),ir=ue[0]>0&&ue[0]<4?1:+(ue[0]+ue[1]));!ir&&Hr&&(ue=Hr.match(/Edge\/(\d+)/),(!ue||ue[1]>=74)&&(ue=Hr.match(/Chrome\/(\d+)/),ue&&(ir=+ue[1])));var ci=ir,gn=ci,zl=L,Gl=F,Hl=Gl.String,Lo=!!Object.getOwnPropertySymbols&&!zl(function(){var a=Symbol("symbol detection");return!Hl(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&gn&&gn<41}),Yl=Lo,ko=Yl&&!Symbol.sham&&typeof Symbol.iterator=="symbol",Xl=je,Wl=V,ql=cr,Ql=ko,Kl=Object,Bo=Ql?function(a){return typeof a=="symbol"}:function(a){var e=Xl("Symbol");return Wl(e)&&ql(e.prototype,Kl(a))},Zl=String,gr=function(a){try{return Zl(a)}catch{return"Object"}},Jl=V,eh=gr,th=TypeError,Oe=function(a){if(Jl(a))return a;throw new th(eh(a)+" is not a function")},rh=Oe,ah=Be,it=function(a,e){var t=a[e];return ah(t)?void 0:rh(t)},Yr=Y,Xr=V,Wr=xe,ih=TypeError,nh=function(a,e){var t,r;if(e==="string"&&Xr(t=a.toString)&&!Wr(r=Yr(t,a))||Xr(t=a.valueOf)&&!Wr(r=Yr(t,a))||e!=="string"&&Xr(t=a.toString)&&!Wr(r=Yr(t,a)))return r;throw new ih("Can't convert object to primitive value")},jo={exports:{}},dn=F,sh=Object.defineProperty,fi=function(a,e){try{sh(dn,a,{value:e,configurable:!0,writable:!0})}catch{dn[a]=e}return e},oh=F,uh=fi,pn="__core-js_shared__",lh=oh[pn]||uh(pn,{}),gi=lh,yn=gi;(jo.exports=function(a,e){return yn[a]||(yn[a]=e!==void 0?e:{})})("versions",[]).push({version:"3.33.3",mode:"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.33.3/LICENSE",source:"https://github.com/zloirock/core-js"});var di=jo.exports,hh=ge,vh=Object,dr=function(a){return vh(hh(a))},ch=k,fh=dr,gh=ch({}.hasOwnProperty),le=Object.hasOwn||function(e,t){return gh(fh(e),t)},dh=k,ph=0,yh=Math.random(),mh=dh(1 .toString),Uo=function(a){return"Symbol("+(a===void 0?"":a)+")_"+mh(++ph+yh,36)},bh=F,xh=di,mn=le,Oh=Uo,Th=Lo,Sh=ko,Ke=bh.Symbol,qr=xh("wks"),Eh=Sh?Ke.for||Ke:Ke&&Ke.withoutSetter||Oh,G=function(a){return mn(qr,a)||(qr[a]=Th&&mn(Ke,a)?Ke[a]:Eh("Symbol."+a)),qr[a]},$h=Y,bn=xe,xn=Bo,wh=it,Ch=nh,Ah=G,Ph=TypeError,Rh=Ah("toPrimitive"),Ih=function(a,e){if(!bn(a)||xn(a))return a;var t=wh(a,Rh),r;if(t){if(e===void 0&&(e="default"),r=$h(t,a,e),!bn(r)||xn(r))return r;throw new Ph("Can't convert object to primitive value")}return e===void 0&&(e="number"),Ch(a,e)},Nh=Ih,Mh=Bo,pi=function(a){var e=Nh(a,"string");return Mh(e)?e:e+""},_h=F,On=xe,La=_h.document,Vh=On(La)&&On(La.createElement),pr=function(a){return Vh?La.createElement(a):{}},Dh=fe,Lh=L,kh=pr,Fo=!Dh&&!Lh(function(){return Object.defineProperty(kh("div"),"a",{get:function(){return 7}}).a!==7}),Bh=fe,jh=Y,Uh=wo,Fh=vr,zh=xt,Gh=pi,Hh=le,Yh=Fo,Tn=Object.getOwnPropertyDescriptor;at.f=Bh?Tn:function(e,t){if(e=zh(e),t=Gh(t),Yh)try{return Tn(e,t)}catch{}if(Hh(e,t))return Fh(!jh(Uh.f,e,t),e[t])};var de={},Xh=fe,Wh=L,zo=Xh&&Wh(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),qh=xe,Qh=String,Kh=TypeError,K=function(a){if(qh(a))return a;throw new Kh(Qh(a)+" is not an object")},Zh=fe,Jh=Fo,ev=zo,kt=K,Sn=pi,tv=TypeError,Qr=Object.defineProperty,rv=Object.getOwnPropertyDescriptor,Kr="enumerable",Zr="configurable",Jr="writable";de.f=Zh?ev?function(e,t,r){if(kt(e),t=Sn(t),kt(r),typeof e=="function"&&t==="prototype"&&"value"in r&&Jr in r&&!r[Jr]){var i=rv(e,t);i&&i[Jr]&&(e[t]=r.value,r={configurable:Zr in r?r[Zr]:i[Zr],enumerable:Kr in r?r[Kr]:i[Kr],writable:!1})}return Qr(e,t,r)}:Qr:function(e,t,r){if(kt(e),t=Sn(t),kt(r),Jh)try{return Qr(e,t,r)}catch{}if("get"in r||"set"in r)throw new tv("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var av=fe,iv=de,nv=vr,Ot=av?function(a,e,t){return iv.f(a,e,nv(1,t))}:function(a,e,t){return a[e]=t,a},Go={exports:{}},ka=fe,sv=le,Ho=Function.prototype,ov=ka&&Object.getOwnPropertyDescriptor,yi=sv(Ho,"name"),uv=yi&&(function(){}).name==="something",lv=yi&&(!ka||ka&&ov(Ho,"name").configurable),yr={EXISTS:yi,PROPER:uv,CONFIGURABLE:lv},hv=k,vv=V,Ba=gi,cv=hv(Function.toString);vv(Ba.inspectSource)||(Ba.inspectSource=function(a){return cv(a)});var mi=Ba.inspectSource,fv=F,gv=V,En=fv.WeakMap,dv=gv(En)&&/native code/.test(String(En)),pv=di,yv=Uo,$n=pv("keys"),bi=function(a){return $n[a]||($n[a]=yv(a))},xi={},mv=dv,Yo=F,bv=xe,xv=Ot,ea=le,ta=gi,Ov=bi,Tv=xi,wn="Object already initialized",ja=Yo.TypeError,Sv=Yo.WeakMap,nr,mt,sr,Ev=function(a){return sr(a)?mt(a):nr(a,{})},$v=function(a){return function(e){var t;if(!bv(e)||(t=mt(e)).type!==a)throw new ja("Incompatible receiver, "+a+" required");return t}};if(mv||ta.state){var ce=ta.state||(ta.state=new Sv);ce.get=ce.get,ce.has=ce.has,ce.set=ce.set,nr=function(a,e){if(ce.has(a))throw new ja(wn);return e.facade=a,ce.set(a,e),e},mt=function(a){return ce.get(a)||{}},sr=function(a){return ce.has(a)}}else{var He=Ov("state");Tv[He]=!0,nr=function(a,e){if(ea(a,He))throw new ja(wn);return e.facade=a,xv(a,He,e),e},mt=function(a){return ea(a,He)?a[He]:{}},sr=function(a){return ea(a,He)}}var mr={set:nr,get:mt,has:sr,enforce:Ev,getterFor:$v},Oi=k,wv=L,Cv=V,Bt=le,Ua=fe,Av=yr.CONFIGURABLE,Pv=mi,Xo=mr,Rv=Xo.enforce,Iv=Xo.get,Cn=String,Zt=Object.defineProperty,Nv=Oi("".slice),Mv=Oi("".replace),_v=Oi([].join),Vv=Ua&&!wv(function(){return Zt(function(){},"length",{value:8}).length!==8}),Dv=String(String).split("String"),Lv=Go.exports=function(a,e,t){Nv(Cn(e),0,7)==="Symbol("&&(e="["+Mv(Cn(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Bt(a,"name")||Av&&a.name!==e)&&(Ua?Zt(a,"name",{value:e,configurable:!0}):a.name=e),Vv&&t&&Bt(t,"arity")&&a.length!==t.arity&&Zt(a,"length",{value:t.arity});try{t&&Bt(t,"constructor")&&t.constructor?Ua&&Zt(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var r=Rv(a);return Bt(r,"source")||(r.source=_v(Dv,typeof e=="string"?e:"")),a};Function.prototype.toString=Lv(function(){return Cv(this)&&Iv(this).source||Pv(this)},"toString");var Wo=Go.exports,kv=V,Bv=de,jv=Wo,Uv=fi,Ue=function(a,e,t,r){r||(r={});var i=r.enumerable,n=r.name!==void 0?r.name:e;if(kv(t)&&jv(t,n,r),r.global)i?a[e]=t:Uv(e,t);else{try{r.unsafe?a[e]&&(i=!0):delete a[e]}catch{}i?a[e]=t:Bv.f(a,e,{value:t,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return a},qo={},Fv=Math.ceil,zv=Math.floor,Gv=Math.trunc||function(e){var t=+e;return(t>0?zv:Fv)(t)},Hv=Gv,br=function(a){var e=+a;return e!==e||e===0?0:Hv(e)},Yv=br,Xv=Math.max,Wv=Math.min,Qo=function(a,e){var t=Yv(a);return t<0?Xv(t+e,0):Wv(t,e)},qv=br,Qv=Math.min,nt=function(a){return a>0?Qv(qv(a),9007199254740991):0},Kv=nt,xr=function(a){return Kv(a.length)},Zv=xt,Jv=Qo,ec=xr,An=function(a){return function(e,t,r){var i=Zv(e),n=ec(i),o=Jv(r,n),s;if(a&&t!==t){for(;n>o;)if(s=i[o++],s!==s)return!0}else for(;n>o;o++)if((a||o in i)&&i[o]===t)return a||o||0;return!a&&-1}},Ko={includes:An(!0),indexOf:An(!1)},tc=k,ra=le,rc=xt,ac=Ko.indexOf,ic=xi,Pn=tc([].push),Zo=function(a,e){var t=rc(a),r=0,i=[],n;for(n in t)!ra(ic,n)&&ra(t,n)&&Pn(i,n);for(;e.length>r;)ra(t,n=e[r++])&&(~ac(i,n)||Pn(i,n));return i},Ti=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],nc=Zo,sc=Ti,oc=sc.concat("length","prototype");qo.f=Object.getOwnPropertyNames||function(e){return nc(e,oc)};var Jo={};Jo.f=Object.getOwnPropertySymbols;var uc=je,lc=k,hc=qo,vc=Jo,cc=K,fc=lc([].concat),gc=uc("Reflect","ownKeys")||function(e){var t=hc.f(cc(e)),r=vc.f;return r?fc(t,r(e)):t},Rn=le,dc=gc,pc=at,yc=de,mc=function(a,e,t){for(var r=dc(e),i=yc.f,n=pc.f,o=0;oc;c++)if(v=y(a[c]),v&&ss(us,v))return v;return new tr(!1)}l=yd(a,h)}for(d=n?a.next:l.next;!(g=cd(d,l)).done;){try{v=y(g.value)}catch(x){os(l,"throw",x)}if(typeof v=="object"&&v&&ss(us,v))return v}return new tr(!1)},xd=G,Iu=xd("iterator"),Nu=!1;try{var Od=0,ls={next:function(){return{done:!!Od++}},return:function(){Nu=!0}};ls[Iu]=function(){return this},Array.from(ls,function(){throw 2})}catch{}var Td=function(a,e){try{if(!e&&!Nu)return!1}catch{return!1}var t=!1;try{var r={};r[Iu]=function(){return{next:function(){return{done:t=!0}}}},a(r)}catch{}return t},Sd=Or,Ed=Td,$d=$t.CONSTRUCTOR,Mu=$d||!Ed(function(a){Sd.all(a).then(void 0,function(){})}),wd=ee,Cd=Y,Ad=Oe,Pd=st,Rd=Pi,Id=Ru,Nd=Mu;wd({target:"Promise",stat:!0,forced:Nd},{all:function(e){var t=this,r=Pd.f(t),i=r.resolve,n=r.reject,o=Rd(function(){var s=Ad(t.resolve),u=[],l=0,h=1;Id(e,function(c){var f=l++,v=!1;h++,Cd(s,t,c).then(function(d){v||(v=!0,u[f]=d,--h||i(u))},n)}),--h||i(u)});return o.error&&n(o.value),r.promise}});var Md=ee,_d=$t.CONSTRUCTOR,qa=Or,Vd=je,Dd=V,Ld=Ue,hs=qa&&qa.prototype;Md({target:"Promise",proto:!0,forced:_d,real:!0},{catch:function(a){return this.then(void 0,a)}});if(Dd(qa)){var vs=Vd("Promise").prototype.catch;hs.catch!==vs&&Ld(hs,"catch",vs,{unsafe:!0})}var kd=ee,Bd=Y,jd=Oe,Ud=st,Fd=Pi,zd=Ru,Gd=Mu;kd({target:"Promise",stat:!0,forced:Gd},{race:function(e){var t=this,r=Ud.f(t),i=r.reject,n=Fd(function(){var o=jd(t.resolve);zd(e,function(s){Bd(o,t,s).then(r.resolve,i)})});return n.error&&i(n.value),r.promise}});var Hd=ee,Yd=Y,Xd=st,Wd=$t.CONSTRUCTOR;Hd({target:"Promise",stat:!0,forced:Wd},{reject:function(e){var t=Xd.f(this);return Yd(t.reject,void 0,e),t.promise}});var qd=K,Qd=xe,Kd=st,Zd=function(a,e){if(qd(a),Qd(e)&&e.constructor===a)return e;var t=Kd.f(a),r=t.resolve;return r(e),t.promise},Jd=ee,ep=je,tp=$t.CONSTRUCTOR,rp=Zd;ep("Promise");Jd({target:"Promise",stat:!0,forced:tp},{resolve:function(e){return rp(this,e)}});function cs(a,e,t,r,i,n,o){try{var s=a[n](o),u=s.value}catch(l){return void t(l)}s.done?e(u):Promise.resolve(u).then(r,i)}function be(a){return function(){var e=this,t=arguments;return new Promise(function(r,i){var n=a.apply(e,t);function o(u){cs(n,r,i,o,s,"next",u)}function s(u){cs(n,r,i,o,s,"throw",u)}o(void 0)})}}var ap=Ei,ip=String,pe=function(a){if(ap(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return ip(a)},np=K,_u=function(){var a=np(this),e="";return a.hasIndices&&(e+="d"),a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.unicodeSets&&(e+="v"),a.sticky&&(e+="y"),e},_i=L,sp=F,Vi=sp.RegExp,Di=_i(function(){var a=Vi("a","y");return a.lastIndex=2,a.exec("abcd")!==null}),op=Di||_i(function(){return!Vi("a","y").sticky}),up=Di||_i(function(){var a=Vi("^r","gy");return a.lastIndex=2,a.exec("str")!==null}),Vu={BROKEN_CARET:up,MISSED_STICKY:op,UNSUPPORTED_Y:Di},Du={},lp=Zo,hp=Ti,vp=Object.keys||function(e){return lp(e,hp)},cp=fe,fp=zo,gp=de,dp=K,pp=xt,yp=vp;Du.f=cp&&!fp?Object.defineProperties:function(e,t){dp(e);for(var r=pp(t),i=yp(t),n=i.length,o=0,s;n>o;)gp.f(e,s=i[o++],r[s]);return e};var mp=K,bp=Du,fs=Ti,xp=xi,Op=lu,Tp=pr,Sp=bi,gs=">",ds="<",Qa="prototype",Ka="script",Lu=Sp("IE_PROTO"),da=function(){},ku=function(a){return ds+Ka+gs+a+ds+"/"+Ka+gs},ps=function(a){a.write(ku("")),a.close();var e=a.parentWindow.Object;return a=null,e},Ep=function(){var a=Tp("iframe"),e="java"+Ka+":",t;return a.style.display="none",Op.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(ku("document.F=Object")),t.close(),t.F},Yt,rr=function(){try{Yt=new ActiveXObject("htmlfile")}catch{}rr=typeof document<"u"?document.domain&&Yt?ps(Yt):Ep():ps(Yt);for(var a=fs.length;a--;)delete rr[Qa][fs[a]];return rr()};xp[Lu]=!0;var Li=Object.create||function(e,t){var r;return e!==null?(da[Qa]=mp(e),r=new da,da[Qa]=null,r[Lu]=e):r=rr(),t===void 0?r:bp.f(r,t)},$p=L,wp=F,Cp=wp.RegExp,Ap=$p(function(){var a=Cp(".","s");return!(a.dotAll&&a.test(` `)&&a.flags==="s")}),Pp=L,Rp=F,Ip=Rp.RegExp,Np=Pp(function(){var a=Ip("(?b)","g");return a.exec("b").groups.a!=="b"||"b".replace(a,"$c")!=="bc"}),Je=Y,Sr=k,Mp=pe,_p=_u,Vp=Vu,Dp=di,Lp=Li,kp=mr.get,Bp=Ap,jp=Np,Up=Dp("native-string-replace",String.prototype.replace),lr=RegExp.prototype.exec,Za=lr,Fp=Sr("".charAt),zp=Sr("".indexOf),Gp=Sr("".replace),pa=Sr("".slice),Ja=function(){var a=/a/,e=/b*/g;return Je(lr,a,"a"),Je(lr,e,"a"),a.lastIndex!==0||e.lastIndex!==0}(),Bu=Vp.BROKEN_CARET,ei=/()??/.exec("")[1]!==void 0,Hp=Ja||ei||Bu||Bp||jp;Hp&&(Za=function(e){var t=this,r=kp(t),i=Mp(e),n=r.raw,o,s,u,l,h,c,f;if(n)return n.lastIndex=t.lastIndex,o=Je(Za,n,i),t.lastIndex=n.lastIndex,o;var v=r.groups,d=Bu&&t.sticky,g=Je(_p,t),p=t.source,y=0,x=i;if(d&&(g=Gp(g,"y",""),zp(g,"g")===-1&&(g+="g"),x=pa(i,t.lastIndex),t.lastIndex>0&&(!t.multiline||t.multiline&&Fp(i,t.lastIndex-1)!==` `)&&(p="(?: "+p+")",x=" "+x,y++),s=new RegExp("^(?:"+p+")",g)),ei&&(s=new RegExp("^"+p+"$(?!\\s)",g)),Ja&&(u=t.lastIndex),l=Je(lr,d?s:t,x),d?l?(l.input=pa(l.input,y),l[0]=pa(l[0],y),l.index=t.lastIndex,t.lastIndex+=l[0].length):t.lastIndex=0:Ja&&l&&(t.lastIndex=t.global?l.index+l[0].length:u),ei&&l&&l.length>1&&Je(Up,l[0],s,function(){for(h=1;h=n?a?"":void 0:(o=Os(r,i),o<55296||o>56319||i+1===n||(s=Os(r,i+1))<56320||s>57343?a?Jp(r,i):o:a?ey(r,i,i+2):(o-55296<<10)+(s-56320)+65536)}},ty={codeAt:Ts(!1),charAt:Ts(!0)},ry=ty.charAt,ji=function(a,e,t){return e+(t?ry(a,e).length:1)},Ss=Y,ay=K,iy=V,ny=ke,sy=Er,oy=TypeError,Ui=function(a,e){var t=a.exec;if(iy(t)){var r=Ss(t,a,e);return r!==null&&ay(r),r}if(ny(a)==="RegExp")return Ss(sy,a,e);throw new oy("RegExp#exec called on incompatible receiver")},uy=Y,ly=ki,hy=K,vy=Be,cy=nt,ma=pe,fy=ge,gy=it,dy=ji,Es=Ui;ly("match",function(a,e,t){return[function(i){var n=fy(this),o=vy(i)?void 0:gy(i,a);return o?uy(o,i,n):new RegExp(i)[a](ma(n))},function(r){var i=hy(this),n=ma(r),o=t(e,i,n);if(o.done)return o.value;if(!i.global)return Es(i,n);var s=i.unicode;i.lastIndex=0;for(var u=[],l=0,h;(h=Es(i,n))!==null;){var c=ma(h[0]);u[l]=c,c===""&&(i.lastIndex=dy(n,cy(i.lastIndex),s)),l++}return l===0?null:u}]});var Fi=k,py=dr,yy=Math.floor,ba=Fi("".charAt),my=Fi("".replace),xa=Fi("".slice),by=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,xy=/\$([$&'`]|\d{1,2})/g,Oy=function(a,e,t,r,i,n){var o=t+a.length,s=r.length,u=xy;return i!==void 0&&(i=py(i),u=by),my(n,u,function(l,h){var c;switch(ba(h,0)){case"$":return"$";case"&":return a;case"`":return xa(e,0,t);case"'":return xa(e,o);case"<":c=i[xa(h,1,-1)];break;default:var f=+h;if(f===0)return l;if(f>s){var v=yy(f/10);return v===0?l:v<=s?r[v-1]===void 0?ba(h,1):r[v-1]+ba(h,1):l}c=r[f-1]}return c===void 0?"":c})},Ty=wi,$s=Y,$r=k,Sy=ki,Ey=L,$y=K,wy=V,Cy=Be,Ay=br,Py=nt,Xe=pe,Ry=ge,Iy=ji,Ny=it,My=Oy,_y=Ui,Vy=G,ti=Vy("replace"),Dy=Math.max,Ly=Math.min,ky=$r([].concat),Oa=$r([].push),ws=$r("".indexOf),Cs=$r("".slice),By=function(a){return a===void 0?a:String(a)},jy=function(){return"a".replace(/./,"$0")==="$0"}(),As=function(){return/./[ti]?/./[ti]("a","$0")==="":!1}(),Uy=!Ey(function(){var a=/./;return a.exec=function(){var e=[];return e.groups={a:"7"},e},"".replace(a,"$")!=="7"});Sy("replace",function(a,e,t){var r=As?"$":"$0";return[function(n,o){var s=Ry(this),u=Cy(n)?void 0:Ny(n,ti);return u?$s(u,n,s,o):$s(e,Xe(s),n,o)},function(i,n){var o=$y(this),s=Xe(i);if(typeof n=="string"&&ws(n,r)===-1&&ws(n,"$<")===-1){var u=t(e,o,s,n);if(u.done)return u.value}var l=wy(n);l||(n=Xe(n));var h=o.global,c;h&&(c=o.unicode,o.lastIndex=0);for(var f=[],v;v=_y(o,s),!(v===null||(Oa(f,v),!h));){var d=Xe(v[0]);d===""&&(o.lastIndex=Iy(s,Py(o.lastIndex),c))}for(var g="",p=0,y=0;y=p&&(g+=Cs(s,p,b)+$,p=b+x.length)}return g+Cs(s,p)}]},!Uy||!jy||As);var Fy=xe,zy=ke,Gy=G,Hy=Gy("match"),Uu=function(a){var e;return Fy(a)&&((e=a[Hy])!==void 0?!!e:zy(a)==="RegExp")},Yy=Uu,Xy=TypeError,zi=function(a){if(Yy(a))throw new Xy("The method doesn't accept regular expressions");return a},Wy=G,qy=Wy("match"),Gi=function(a){var e=/./;try{"/./"[a](e)}catch{try{return e[qy]=!1,"/./"[a](e)}catch{}}return!1},Qy=ee,Fu=Et,Ky=at.f,Zy=nt,Ps=pe,Jy=zi,em=ge,tm=Gi,Rs=Fu("".startsWith),rm=Fu("".slice),am=Math.min,zu=tm("startsWith"),im=!zu&&!!function(){var a=Ky(String.prototype,"startsWith");return a&&!a.writable}();Qy({target:"String",proto:!0,forced:!im&&!zu},{startsWith:function(e){var t=Ps(em(this));Jy(e);var r=Zy(am(arguments.length>1?arguments[1]:void 0,t.length)),i=Ps(e);return Rs?Rs(t,i,r):rm(t,r,r+i.length)===i}});var nm=G,sm=Li,om=de.f,ri=nm("unscopables"),ai=Array.prototype;ai[ri]===void 0&&om(ai,ri,{configurable:!0,value:sm(null)});var um=function(a){ai[ri][a]=!0},lm=L,hm=!lm(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype}),vm=le,cm=V,fm=dr,gm=bi,dm=hm,Is=gm("IE_PROTO"),ii=Object,pm=ii.prototype,Gu=dm?ii.getPrototypeOf:function(a){var e=fm(a);if(vm(e,Is))return e[Is];var t=e.constructor;return cm(t)&&e instanceof t?t.prototype:e instanceof ii?pm:null},ym=L,mm=V,bm=xe,Ns=Gu,xm=Ue,Om=G,ni=Om("iterator"),Hu=!1,De,Ta,Sa;[].keys&&(Sa=[].keys(),"next"in Sa?(Ta=Ns(Ns(Sa)),Ta!==Object.prototype&&(De=Ta)):Hu=!0);var Tm=!bm(De)||ym(function(){var a={};return De[ni].call(a)!==a});Tm&&(De={});mm(De[ni])||xm(De,ni,function(){return this});var Yu={IteratorPrototype:De,BUGGY_SAFARI_ITERATORS:Hu},Sm=Yu.IteratorPrototype,Em=Li,$m=vr,wm=Si,Cm=wt,Am=function(){return this},Pm=function(a,e,t,r){var i=e+" Iterator";return a.prototype=Em(Sm,{next:$m(+!r,t)}),wm(a,i,!1),Cm[i]=Am,a},Rm=ee,Im=Y,Xu=yr,Nm=V,Mm=Pm,Ms=Gu,_s=tu,_m=Si,Vm=Ot,Ea=Ue,Dm=G,Lm=wt,Wu=Yu,km=Xu.PROPER,Bm=Xu.CONFIGURABLE,Vs=Wu.IteratorPrototype,Xt=Wu.BUGGY_SAFARI_ITERATORS,ht=Dm("iterator"),Ds="keys",vt="values",Ls="entries",jm=function(){return this},Um=function(a,e,t,r,i,n,o){Mm(t,e,r);var s=function(y){if(y===i&&f)return f;if(!Xt&&y&&y in h)return h[y];switch(y){case Ds:return function(){return new t(this,y)};case vt:return function(){return new t(this,y)};case Ls:return function(){return new t(this,y)}}return function(){return new t(this)}},u=e+" Iterator",l=!1,h=a.prototype,c=h[ht]||h["@@iterator"]||i&&h[i],f=!Xt&&c||s(i),v=e==="Array"&&h.entries||c,d,g,p;if(v&&(d=Ms(v.call(new a)),d!==Object.prototype&&d.next&&(Ms(d)!==Vs&&(_s?_s(d,Vs):Nm(d[ht])||Ea(d,ht,jm)),_m(d,u,!0))),km&&i===vt&&c&&c.name!==vt&&(Bm?Vm(h,"name",vt):(l=!0,f=function(){return Im(c,this)})),i)if(g={values:s(vt),keys:n?f:s(Ds),entries:s(Ls)},o)for(p in g)(Xt||l||!(p in h))&&Ea(h,p,g[p]);else Rm({target:e,proto:!0,forced:Xt||l},g);return h[ht]!==f&&Ea(h,ht,f,{name:i}),Lm[e]=f,g},Fm=function(a,e){return{value:a,done:e}},zm=xt,Hi=um,ks=wt,qu=mr,Gm=de.f,Hm=Um,Wt=Fm,Ym=fe,Qu="Array Iterator",Xm=qu.set,Wm=qu.getterFor(Qu),qm=Hm(Array,"Array",function(a,e){Xm(this,{type:Qu,target:zm(a),index:0,kind:e})},function(){var a=Wm(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=void 0,Wt(void 0,!0);switch(a.kind){case"keys":return Wt(t,!1);case"values":return Wt(e[t],!1)}return Wt([t,e[t]],!1)},"values"),Bs=ks.Arguments=ks.Array;Hi("keys");Hi("values");Hi("entries");if(Ym&&Bs.name!=="values")try{Gm(Bs,"name",{value:"values"})}catch{}var Qm={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Km=pr,$a=Km("span").classList,js=$a&&$a.constructor&&$a.constructor.prototype,Zm=js===Object.prototype?void 0:js,Us=F,Ku=Qm,Jm=Zm,gt=qm,wa=Ot,Zu=G,Ca=Zu("iterator"),Fs=Zu("toStringTag"),Aa=gt.values,Ju=function(a,e){if(a){if(a[Ca]!==Aa)try{wa(a,Ca,Aa)}catch{a[Ca]=Aa}if(a[Fs]||wa(a,Fs,e),Ku[e]){for(var t in gt)if(a[t]!==gt[t])try{wa(a,t,gt[t])}catch{a[t]=gt[t]}}}};for(var Pa in Ku)Ju(Us[Pa]&&Us[Pa].prototype,Pa);Ju(Jm,"DOMTokenList");function e0(a,e){if(_a(a)!="object"||!a)return a;var t=a[Symbol.toPrimitive];if(t!==void 0){var r=t.call(a,e||"default");if(_a(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(a)}function t0(a){var e=e0(a,"string");return _a(e)=="symbol"?e:e+""}function Yi(a,e,t){return(e=t0(e))in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var r0=Oe,a0=dr,i0=No,n0=xr,s0=TypeError,zs=function(a){return function(e,t,r,i){r0(t);var n=a0(e),o=i0(n),s=n0(n),u=a?s-1:0,l=a?-1:1;if(r<2)for(;;){if(u in o){i=o[u],u+=l;break}if(u+=l,a?u<0:s<=u)throw new s0("Reduce of empty array with no initial value")}for(;a?u>=0:s>u;u+=l)u in o&&(i=t(i,o[u],u,n));return i}},o0={left:zs(!1),right:zs(!0)},u0=L,el=function(a,e){var t=[][a];return!!t&&u0(function(){t.call(null,e||function(){return 1},1)})},l0=ee,h0=o0.left,v0=el,Gs=ci,c0=St,f0=!c0&&Gs>79&&Gs<83,g0=f0||!v0("reduce");l0({target:"Array",proto:!0,forced:g0},{reduce:function(e){var t=arguments.length;return h0(this,e,t,t>1?arguments[1]:void 0)}});var d0=ee,tl=Et,p0=at.f,y0=nt,Hs=pe,m0=zi,b0=ge,x0=Gi,Ys=tl("".endsWith),O0=tl("".slice),T0=Math.min,rl=x0("endsWith"),S0=!rl&&!!function(){var a=p0(String.prototype,"endsWith");return a&&!a.writable}();d0({target:"String",proto:!0,forced:!S0&&!rl},{endsWith:function(e){var t=Hs(b0(this));m0(e);var r=arguments.length>1?arguments[1]:void 0,i=t.length,n=r===void 0?i:T0(y0(r),i),o=Hs(e);return Ys?Ys(t,o,n):O0(t,n-o.length,n)===o}});var E0=pi,$0=de,w0=vr,C0=function(a,e,t){var r=E0(e);r in a?$0.f(a,r,w0(0,t)):a[r]=t},Xs=Qo,A0=xr,P0=C0,R0=Array,I0=Math.max,N0=function(a,e,t){for(var r=A0(a),i=Xs(e,r),n=Xs(t===void 0?r:t,r),o=R0(I0(n-i,0)),s=0;i1||"".split(/.?/).length?r=function(i,n){var o=Ra(Ws(this)),s=n===void 0?Ks:n>>>0;if(s===0)return[];if(i===void 0)return[o];if(!L0(i))return ct(e,o,i,s);for(var u=[],l=(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(i.sticky?"y":""),h=0,c=new RegExp(i.source,l+"g"),f,v,d;(f=ct(F0,c,o))&&(v=c.lastIndex,!(v>h&&(qe(u,ft(o,h,f.index)),f.length>1&&f.index=s)));)c.lastIndex===f.index&&c.lastIndex++;return h===o.length?(d||!Y0(c,""))&&qe(u,""):qe(u,ft(o,h)),u.length>s?qs(u,0,s):u}:"0".split(void 0,0).length?r=function(i,n){return i===void 0&&n===0?[]:ct(e,this,i,n)}:r=e,[function(n,o){var s=Ws(this),u=D0(n)?void 0:U0(n,a);return u?ct(u,n,s,o):ct(r,Ra(s),n,o)},function(i,n){var o=V0(this),s=Ra(i),u=t(r,o,s,n,r!==e);if(u.done)return u.value;var l=k0(o,RegExp),h=o.unicode,c=(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.unicode?"u":"")+(We?"g":"y"),f=new l(We?"^(?:"+o.source+")":o,c),v=n===void 0?Ks:n>>>0;if(v===0)return[];if(s.length===0)return Qs(f,s)===null?[s]:[];for(var d=0,g=0,p=[];g3&&(this.alpha=s[3]),this.ok=!0}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"},this.toHex=function(){var u=this.r.toString(16),l=this.g.toString(16),h=this.b.toString(16);return u.length==1&&(u="0"+u),l.length==1&&(l="0"+l),h.length==1&&(h="0"+h),"#"+u+l+h},this.getHelpXML=function(){for(var u=new Array,l=0;l "+g.toRGB()+" -> "+g.toHex());d.appendChild(p),d.appendChild(y),v.appendChild(d)}catch{}return v}};const oi=Ol(sb);var ob=ee,ub=Et,lb=Ko.indexOf,hb=el,ui=ub([].indexOf),nl=!!ui&&1/ui([1],1,-0)<0,vb=nl||!hb("indexOf");ob({target:"Array",proto:!0,forced:vb},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return nl?ui(this,e,t)||0:lb(this,e,t)}});var cb=ee,fb=k,gb=zi,db=ge,to=pe,pb=Gi,yb=fb("".indexOf);cb({target:"String",proto:!0,forced:!pb("includes")},{includes:function(e){return!!~yb(to(db(this)),to(gb(e)),arguments.length>1?arguments[1]:void 0)}});var mb=ke,bb=Array.isArray||function(e){return mb(e)==="Array"},xb=ee,Ob=k,Tb=bb,Sb=Ob([].reverse),ro=[1,2];xb({target:"Array",proto:!0,forced:String(ro)===String(ro.reverse())},{reverse:function(){return Tb(this)&&(this.length=this.length),Sb(this)}});/*! ***************************************************************************** diff --git a/assets/chunks/jspdf.es.min.By_B_Pou.js b/assets/chunks/jspdf.es.min.DHD_tvxK.js similarity index 99% rename from assets/chunks/jspdf.es.min.By_B_Pou.js rename to assets/chunks/jspdf.es.min.DHD_tvxK.js index 6b20643780..509aab9391 100644 --- a/assets/chunks/jspdf.es.min.By_B_Pou.js +++ b/assets/chunks/jspdf.es.min.DHD_tvxK.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/index.es.B24Zf6PE.js","assets/chunks/theme.ClagsQLu.js","assets/chunks/framework.BR0mAPCP.js","assets/chunks/index.B57_cHY_.js"])))=>i.map(i=>d[i]); -import{_ as gs}from"./framework.BR0mAPCP.js";function fe(n){"@babel/helpers - typeof";return fe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fe(n)}var tr=Uint8Array,mr=Uint16Array,Ps=Int32Array,go=new tr([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),mo=new tr([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),ms=new tr([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Su=function(n,e){for(var r=new mr(31),a=0;a<31;++a)r[a]=e+=1<>1|(we&21845)<<1;kn=(kn&52428)>>2|(kn&13107)<<2,kn=(kn&61680)>>4|(kn&3855)<<4,bs[we]=((kn&65280)>>8|(kn&255)<<8)>>1}var Qr=function(n,e,r){for(var a=n.length,u=0,o=new mr(e);u>f]=g}else for(h=new mr(a),u=0;u>15-n[u]);return h},On=new tr(288);for(var we=0;we<144;++we)On[we]=8;for(var we=144;we<256;++we)On[we]=9;for(var we=256;we<280;++we)On[we]=7;for(var we=280;we<288;++we)On[we]=8;var va=new tr(32);for(var we=0;we<32;++we)va[we]=5;var Il=Qr(On,9,0),Cl=Qr(On,9,1),jl=Qr(va,5,0),Ol=Qr(va,5,1),os=function(n){for(var e=n[0],r=1;re&&(e=n[r]);return e},Er=function(n,e,r){var a=e/8|0;return(n[a]|n[a+1]<<8)>>(e&7)&r},ss=function(n,e){var r=e/8|0;return(n[r]|n[r+1]<<8|n[r+2]<<16)>>(e&7)},ks=function(n){return(n+7)/8|0},Fu=function(n,e,r){return(r==null||r>n.length)&&(r=n.length),new tr(n.subarray(e,r))},Bl=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Dr=function(n,e,r){var a=new Error(e||Bl[n]);if(a.code=n,Error.captureStackTrace&&Error.captureStackTrace(a,Dr),!r)throw a;return a},Ml=function(n,e,r,a){var u=n.length,o=0;if(!u||e.f&&!e.l)return r||new tr(0);var c=!r,h=c||e.i!=2,f=e.i;c&&(r=new tr(u*3));var g=function(Nt){var Ft=r.length;if(Nt>Ft){var _t=new tr(Math.max(Ft*2,Nt));_t.set(r),r=_t}},y=e.f||0,w=e.p||0,S=e.b||0,p=e.l,O=e.d,F=e.m,q=e.n,_=u*8;do{if(!p){y=Er(n,w,1);var B=Er(n,w+1,3);if(w+=3,B)if(B==1)p=Cl,O=Ol,F=9,q=5;else if(B==2){var wt=Er(n,w,31)+257,tt=Er(n,w+10,15)+4,z=wt+Er(n,w+5,31)+1;w+=14;for(var nt=new tr(z),dt=new tr(19),P=0;P>4;if(Y<16)nt[P++]=Y;else{var it=0,ct=0;for(Y==16?(ct=3+Er(n,w,3),w+=2,it=nt[P-1]):Y==17?(ct=3+Er(n,w,7),w+=3):Y==18&&(ct=11+Er(n,w,127),w+=7);ct--;)nt[P++]=it}}var $=nt.subarray(0,wt),ht=nt.subarray(wt);F=os($),q=os(ht),p=Qr($,F,1),O=Qr(ht,q,1)}else Dr(1);else{var Y=ks(w)+4,ot=n[Y-4]|n[Y-3]<<8,lt=Y+ot;if(lt>u){f&&Dr(0);break}h&&g(S+ot),r.set(n.subarray(Y,lt),S),e.b=S+=ot,e.p=w=lt*8,e.f=y;continue}if(w>_){f&&Dr(0);break}}h&&g(S+131072);for(var pt=(1<>4;if(w+=it&15,w>_){f&&Dr(0);break}if(it||Dr(2),C<256)r[S++]=C;else if(C==256){N=w,p=null;break}else{var M=C-254;if(C>264){var P=C-257,R=go[P];M=Er(n,w,(1<>4;J||Dr(3),w+=J&15;var ht=Fl[Q];if(Q>3){var R=mo[Q];ht+=ss(n,w)&(1<_){f&&Dr(0);break}h&&g(S+131072);var et=S+M;if(S>8},ca=function(n,e,r){r<<=e&7;var a=e/8|0;n[a]|=r,n[a+1]|=r>>8,n[a+2]|=r>>16},us=function(n,e){for(var r=[],a=0;aS&&(S=o[a].s);var p=new mr(S+1),O=ys(r[y-1],p,0);if(O>e){var a=0,F=0,q=O-e,_=1<e)F+=_-(1<>=q;F>0;){var Y=o[a].s;p[Y]=0&&F;--a){var ot=o[a].s;p[ot]==e&&(--p[ot],++F)}O=e}return{t:new tr(p),l:O}},ys=function(n,e,r){return n.s==-1?Math.max(ys(n.l,e,r+1),ys(n.r,e,r+1)):e[n.s]=r},au=function(n){for(var e=n.length;e&&!n[--e];);for(var r=new mr(++e),a=0,u=n[0],o=1,c=function(f){r[a++]=f},h=1;h<=e;++h)if(n[h]==u&&h!=e)++o;else{if(!u&&o>2){for(;o>138;o-=138)c(32754);o>2&&(c(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(c(u),--o;o>6;o-=6)c(8304);o>2&&(c(o-3<<5|8208),o=0)}for(;o--;)c(u);o=1,u=n[h]}return{c:r.subarray(0,a),n:e}},ha=function(n,e){for(var r=0,a=0;a>8,n[u+2]=n[u]^255,n[u+3]=n[u+1]^255;for(var o=0;o4&&!dt[ms[k-1]];--k);var W=g+5<<3,D=ha(u,On)+ha(o,va)+c,st=ha(u,S)+ha(o,F)+c+14+3*k+ha(tt,dt)+2*tt[16]+3*tt[17]+7*tt[18];if(f>=0&&W<=D&&W<=st)return Iu(e,y,n.subarray(f,f+g));var it,ct,$,ht;if(dn(e,y,1+(st15&&(dn(e,y,C[z]>>5&127),y+=C[z]>>12)}}else it=Il,ct=On,$=jl,ht=va;for(var z=0;z255){var M=R>>18&31;ca(e,y,it[M+257]),y+=ct[M+257],M>7&&(dn(e,y,R>>23&31),y+=go[M]);var J=R&31;ca(e,y,$[J]),y+=ht[J],J>3&&(ca(e,y,R>>5&8191),y+=mo[J])}else ca(e,y,it[R]),y+=ct[R]}return ca(e,y,it[256]),y+ct[256]},El=new Ps([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Cu=new tr(0),ql=function(n,e,r,a,u,o){var c=o.z||n.length,h=new tr(a+c+5*(1+Math.ceil(c/7e3))+u),f=h.subarray(a,h.length-u),g=o.l,y=(o.r||0)&7;if(e){y&&(f[0]=o.r>>3);for(var w=El[e-1],S=w>>13,p=w&8191,O=(1<7e3||dt>24576)&&(it>423||!g)){y=ou(n,f,0,ot,lt,wt,z,dt,k,nt-k,y),dt=tt=z=0,k=nt;for(var ct=0;ct<286;++ct)lt[ct]=0;for(var ct=0;ct<30;++ct)wt[ct]=0}var $=2,ht=0,pt=p,It=D-st&32767;if(it>2&&W==Y(nt-It))for(var N=Math.min(S,it)-1,C=Math.min(32767,nt),M=Math.min(258,it);It<=C&&--pt&&D!=st;){if(n[nt+$]==n[nt+$-It]){for(var R=0;R$){if($=R,ht=It,R>N)break;for(var J=Math.min(It,R-2),Q=0,ct=0;ctQ&&(Q=At,st=et)}}}D=st,st=F[D],It+=D-st&32767}if(ht){ot[dt++]=268435456|vs[$]<<18|iu[ht];var Nt=vs[$]&31,Ft=iu[ht]&31;z+=go[Nt]+mo[Ft],++lt[257+Nt],++wt[Ft],P=nt+$,++tt}else ot[dt++]=n[nt],++lt[n[nt]]}}for(nt=Math.max(nt,P);nt=c&&(f[y/8|0]=g,_t=c),y=Iu(f,y+1,n.subarray(nt,_t))}o.i=c}return Fu(h,0,a+ks(y)+u)},ju=function(){var n=1,e=0;return{p:function(r){for(var a=n,u=e,o=r.length|0,c=0;c!=o;){for(var h=Math.min(c+2655,o);c>16),u=(u&65535)+15*(u>>16)}n=a,e=u},d:function(){return n%=65521,e%=65521,(n&255)<<24|(n&65280)<<8|(e&255)<<8|e>>8}}},Dl=function(n,e,r,a,u){if(!u&&(u={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),c=new tr(o.length+n.length);c.set(o),c.set(n,o.length),n=c,u.w=o.length}return ql(n,e.level==null?6:e.level,e.mem==null?u.l?Math.ceil(Math.max(8,Math.min(13,Math.log(n.length)))*1.5):20:12+e.mem,r,a,u)},Ou=function(n,e,r){for(;r;++e)n[e]=r,r>>>=8},Tl=function(n,e){var r=e.level,a=r==0?0:r<6?1:r==9?3:2;if(n[0]=120,n[1]=a<<6|(e.dictionary&&32),n[1]|=31-(n[0]<<8|n[1])%31,e.dictionary){var u=ju();u.p(e.dictionary),Ou(n,2,u.d())}},Rl=function(n,e){return((n[0]&15)!=8||n[0]>>4>7||(n[0]<<8|n[1])%31)&&Dr(6,"invalid zlib data"),(n[1]>>5&1)==+!e&&Dr(6,"invalid zlib data: "+(n[1]&32?"need":"unexpected")+" dictionary"),(n[1]>>3&4)+2};function ws(n,e){e||(e={});var r=ju();r.p(n);var a=Dl(n,e,e.dictionary?6:2,4);return Tl(a,e),Ou(a,a.length-4,r.d()),a}function zl(n,e){return Ml(n.subarray(Rl(n,e),-4),{i:2},e,e)}var Ul=typeof TextDecoder<"u"&&new TextDecoder,Hl=0;try{Ul.decode(Cu,{stream:!0}),Hl=1}catch{}var su={},Ht=function(){return typeof window<"u"?window:typeof su<"u"?su:typeof self<"u"?self:this}();function ls(){Ht.console&&typeof Ht.console.log=="function"&&Ht.console.log.apply(Ht.console,arguments)}var ve={log:ls,warn:function(n){Ht.console&&(typeof Ht.console.warn=="function"?Ht.console.warn.apply(Ht.console,arguments):ls.call(null,arguments))},error:function(n){Ht.console&&(typeof Ht.console.error=="function"?Ht.console.error.apply(Ht.console,arguments):ls(n))}};function cs(n,e,r){var a=new XMLHttpRequest;a.open("GET",n),a.responseType="blob",a.onload=function(){Yn(a.response,e,r)},a.onerror=function(){ve.error("could not download file")},a.send()}function uu(n){var e=new XMLHttpRequest;e.open("HEAD",n,!1);try{e.send()}catch{}return e.status>=200&&e.status<=299}function lo(n){try{n.dispatchEvent(new MouseEvent("click"))}catch{var e=document.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),n.dispatchEvent(e)}}var fa,Ls,Yn=Ht.saveAs||((typeof window>"u"?"undefined":fe(window))!=="object"||window!==Ht?function(){}:typeof HTMLAnchorElement<"u"&&"download"in HTMLAnchorElement.prototype?function(n,e,r){var a=Ht.URL||Ht.webkitURL,u=document.createElement("a");e=e||n.name||"download",u.download=e,u.rel="noopener",typeof n=="string"?(u.href=n,u.origin!==location.origin?uu(u.href)?cs(n,e,r):lo(u,u.target="_blank"):lo(u)):(u.href=a.createObjectURL(n),setTimeout(function(){a.revokeObjectURL(u.href)},4e4),setTimeout(function(){lo(u)},0))}:"msSaveOrOpenBlob"in navigator?function(n,e,r){if(e=e||n.name||"download",typeof n=="string")if(uu(n))cs(n,e,r);else{var a=document.createElement("a");a.href=n,a.target="_blank",setTimeout(function(){lo(a)})}else navigator.msSaveOrOpenBlob(function(u,o){return o===void 0?o={autoBom:!1}:fe(o)!=="object"&&(ve.warn("Deprecated: Expected third argument to be a object"),o={autoBom:!o}),o.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(u.type)?new Blob(["\uFEFF",u],{type:u.type}):u}(n,r),e)}:function(n,e,r,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),typeof n=="string")return cs(n,e,r);var u=n.type==="application/octet-stream",o=/constructor/i.test(Ht.HTMLElement)||Ht.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||u&&o)&&(typeof FileReader>"u"?"undefined":fe(FileReader))==="object"){var h=new FileReader;h.onloadend=function(){var y=h.result;y=c?y:y.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=y:location=y,a=null},h.readAsDataURL(n)}else{var f=Ht.URL||Ht.webkitURL,g=f.createObjectURL(n);a?a.location=g:location.href=g,a=null,setTimeout(function(){f.revokeObjectURL(g)},4e4)}});/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/index.es.DIBt9NKW.js","assets/chunks/theme.Dd_Fb62b.js","assets/chunks/framework.CQBrk0Ry.js","assets/chunks/index.Bl92Yfyi.js"])))=>i.map(i=>d[i]); +import{_ as gs}from"./framework.CQBrk0Ry.js";function fe(n){"@babel/helpers - typeof";return fe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fe(n)}var tr=Uint8Array,mr=Uint16Array,Ps=Int32Array,go=new tr([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),mo=new tr([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),ms=new tr([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Su=function(n,e){for(var r=new mr(31),a=0;a<31;++a)r[a]=e+=1<>1|(we&21845)<<1;kn=(kn&52428)>>2|(kn&13107)<<2,kn=(kn&61680)>>4|(kn&3855)<<4,bs[we]=((kn&65280)>>8|(kn&255)<<8)>>1}var Qr=function(n,e,r){for(var a=n.length,u=0,o=new mr(e);u>f]=g}else for(h=new mr(a),u=0;u>15-n[u]);return h},On=new tr(288);for(var we=0;we<144;++we)On[we]=8;for(var we=144;we<256;++we)On[we]=9;for(var we=256;we<280;++we)On[we]=7;for(var we=280;we<288;++we)On[we]=8;var va=new tr(32);for(var we=0;we<32;++we)va[we]=5;var Il=Qr(On,9,0),Cl=Qr(On,9,1),jl=Qr(va,5,0),Ol=Qr(va,5,1),os=function(n){for(var e=n[0],r=1;re&&(e=n[r]);return e},Er=function(n,e,r){var a=e/8|0;return(n[a]|n[a+1]<<8)>>(e&7)&r},ss=function(n,e){var r=e/8|0;return(n[r]|n[r+1]<<8|n[r+2]<<16)>>(e&7)},ks=function(n){return(n+7)/8|0},Fu=function(n,e,r){return(r==null||r>n.length)&&(r=n.length),new tr(n.subarray(e,r))},Bl=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Dr=function(n,e,r){var a=new Error(e||Bl[n]);if(a.code=n,Error.captureStackTrace&&Error.captureStackTrace(a,Dr),!r)throw a;return a},Ml=function(n,e,r,a){var u=n.length,o=0;if(!u||e.f&&!e.l)return r||new tr(0);var c=!r,h=c||e.i!=2,f=e.i;c&&(r=new tr(u*3));var g=function(Nt){var Ft=r.length;if(Nt>Ft){var _t=new tr(Math.max(Ft*2,Nt));_t.set(r),r=_t}},y=e.f||0,w=e.p||0,S=e.b||0,p=e.l,O=e.d,F=e.m,q=e.n,_=u*8;do{if(!p){y=Er(n,w,1);var B=Er(n,w+1,3);if(w+=3,B)if(B==1)p=Cl,O=Ol,F=9,q=5;else if(B==2){var wt=Er(n,w,31)+257,tt=Er(n,w+10,15)+4,z=wt+Er(n,w+5,31)+1;w+=14;for(var nt=new tr(z),dt=new tr(19),P=0;P>4;if(Y<16)nt[P++]=Y;else{var it=0,ct=0;for(Y==16?(ct=3+Er(n,w,3),w+=2,it=nt[P-1]):Y==17?(ct=3+Er(n,w,7),w+=3):Y==18&&(ct=11+Er(n,w,127),w+=7);ct--;)nt[P++]=it}}var $=nt.subarray(0,wt),ht=nt.subarray(wt);F=os($),q=os(ht),p=Qr($,F,1),O=Qr(ht,q,1)}else Dr(1);else{var Y=ks(w)+4,ot=n[Y-4]|n[Y-3]<<8,lt=Y+ot;if(lt>u){f&&Dr(0);break}h&&g(S+ot),r.set(n.subarray(Y,lt),S),e.b=S+=ot,e.p=w=lt*8,e.f=y;continue}if(w>_){f&&Dr(0);break}}h&&g(S+131072);for(var pt=(1<>4;if(w+=it&15,w>_){f&&Dr(0);break}if(it||Dr(2),C<256)r[S++]=C;else if(C==256){N=w,p=null;break}else{var M=C-254;if(C>264){var P=C-257,R=go[P];M=Er(n,w,(1<>4;J||Dr(3),w+=J&15;var ht=Fl[Q];if(Q>3){var R=mo[Q];ht+=ss(n,w)&(1<_){f&&Dr(0);break}h&&g(S+131072);var et=S+M;if(S>8},ca=function(n,e,r){r<<=e&7;var a=e/8|0;n[a]|=r,n[a+1]|=r>>8,n[a+2]|=r>>16},us=function(n,e){for(var r=[],a=0;aS&&(S=o[a].s);var p=new mr(S+1),O=ys(r[y-1],p,0);if(O>e){var a=0,F=0,q=O-e,_=1<e)F+=_-(1<>=q;F>0;){var Y=o[a].s;p[Y]=0&&F;--a){var ot=o[a].s;p[ot]==e&&(--p[ot],++F)}O=e}return{t:new tr(p),l:O}},ys=function(n,e,r){return n.s==-1?Math.max(ys(n.l,e,r+1),ys(n.r,e,r+1)):e[n.s]=r},au=function(n){for(var e=n.length;e&&!n[--e];);for(var r=new mr(++e),a=0,u=n[0],o=1,c=function(f){r[a++]=f},h=1;h<=e;++h)if(n[h]==u&&h!=e)++o;else{if(!u&&o>2){for(;o>138;o-=138)c(32754);o>2&&(c(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(c(u),--o;o>6;o-=6)c(8304);o>2&&(c(o-3<<5|8208),o=0)}for(;o--;)c(u);o=1,u=n[h]}return{c:r.subarray(0,a),n:e}},ha=function(n,e){for(var r=0,a=0;a>8,n[u+2]=n[u]^255,n[u+3]=n[u+1]^255;for(var o=0;o4&&!dt[ms[k-1]];--k);var W=g+5<<3,D=ha(u,On)+ha(o,va)+c,st=ha(u,S)+ha(o,F)+c+14+3*k+ha(tt,dt)+2*tt[16]+3*tt[17]+7*tt[18];if(f>=0&&W<=D&&W<=st)return Iu(e,y,n.subarray(f,f+g));var it,ct,$,ht;if(dn(e,y,1+(st15&&(dn(e,y,C[z]>>5&127),y+=C[z]>>12)}}else it=Il,ct=On,$=jl,ht=va;for(var z=0;z255){var M=R>>18&31;ca(e,y,it[M+257]),y+=ct[M+257],M>7&&(dn(e,y,R>>23&31),y+=go[M]);var J=R&31;ca(e,y,$[J]),y+=ht[J],J>3&&(ca(e,y,R>>5&8191),y+=mo[J])}else ca(e,y,it[R]),y+=ct[R]}return ca(e,y,it[256]),y+ct[256]},El=new Ps([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Cu=new tr(0),ql=function(n,e,r,a,u,o){var c=o.z||n.length,h=new tr(a+c+5*(1+Math.ceil(c/7e3))+u),f=h.subarray(a,h.length-u),g=o.l,y=(o.r||0)&7;if(e){y&&(f[0]=o.r>>3);for(var w=El[e-1],S=w>>13,p=w&8191,O=(1<7e3||dt>24576)&&(it>423||!g)){y=ou(n,f,0,ot,lt,wt,z,dt,k,nt-k,y),dt=tt=z=0,k=nt;for(var ct=0;ct<286;++ct)lt[ct]=0;for(var ct=0;ct<30;++ct)wt[ct]=0}var $=2,ht=0,pt=p,It=D-st&32767;if(it>2&&W==Y(nt-It))for(var N=Math.min(S,it)-1,C=Math.min(32767,nt),M=Math.min(258,it);It<=C&&--pt&&D!=st;){if(n[nt+$]==n[nt+$-It]){for(var R=0;R$){if($=R,ht=It,R>N)break;for(var J=Math.min(It,R-2),Q=0,ct=0;ctQ&&(Q=At,st=et)}}}D=st,st=F[D],It+=D-st&32767}if(ht){ot[dt++]=268435456|vs[$]<<18|iu[ht];var Nt=vs[$]&31,Ft=iu[ht]&31;z+=go[Nt]+mo[Ft],++lt[257+Nt],++wt[Ft],P=nt+$,++tt}else ot[dt++]=n[nt],++lt[n[nt]]}}for(nt=Math.max(nt,P);nt=c&&(f[y/8|0]=g,_t=c),y=Iu(f,y+1,n.subarray(nt,_t))}o.i=c}return Fu(h,0,a+ks(y)+u)},ju=function(){var n=1,e=0;return{p:function(r){for(var a=n,u=e,o=r.length|0,c=0;c!=o;){for(var h=Math.min(c+2655,o);c>16),u=(u&65535)+15*(u>>16)}n=a,e=u},d:function(){return n%=65521,e%=65521,(n&255)<<24|(n&65280)<<8|(e&255)<<8|e>>8}}},Dl=function(n,e,r,a,u){if(!u&&(u={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),c=new tr(o.length+n.length);c.set(o),c.set(n,o.length),n=c,u.w=o.length}return ql(n,e.level==null?6:e.level,e.mem==null?u.l?Math.ceil(Math.max(8,Math.min(13,Math.log(n.length)))*1.5):20:12+e.mem,r,a,u)},Ou=function(n,e,r){for(;r;++e)n[e]=r,r>>>=8},Tl=function(n,e){var r=e.level,a=r==0?0:r<6?1:r==9?3:2;if(n[0]=120,n[1]=a<<6|(e.dictionary&&32),n[1]|=31-(n[0]<<8|n[1])%31,e.dictionary){var u=ju();u.p(e.dictionary),Ou(n,2,u.d())}},Rl=function(n,e){return((n[0]&15)!=8||n[0]>>4>7||(n[0]<<8|n[1])%31)&&Dr(6,"invalid zlib data"),(n[1]>>5&1)==+!e&&Dr(6,"invalid zlib data: "+(n[1]&32?"need":"unexpected")+" dictionary"),(n[1]>>3&4)+2};function ws(n,e){e||(e={});var r=ju();r.p(n);var a=Dl(n,e,e.dictionary?6:2,4);return Tl(a,e),Ou(a,a.length-4,r.d()),a}function zl(n,e){return Ml(n.subarray(Rl(n,e),-4),{i:2},e,e)}var Ul=typeof TextDecoder<"u"&&new TextDecoder,Hl=0;try{Ul.decode(Cu,{stream:!0}),Hl=1}catch{}var su={},Ht=function(){return typeof window<"u"?window:typeof su<"u"?su:typeof self<"u"?self:this}();function ls(){Ht.console&&typeof Ht.console.log=="function"&&Ht.console.log.apply(Ht.console,arguments)}var ve={log:ls,warn:function(n){Ht.console&&(typeof Ht.console.warn=="function"?Ht.console.warn.apply(Ht.console,arguments):ls.call(null,arguments))},error:function(n){Ht.console&&(typeof Ht.console.error=="function"?Ht.console.error.apply(Ht.console,arguments):ls(n))}};function cs(n,e,r){var a=new XMLHttpRequest;a.open("GET",n),a.responseType="blob",a.onload=function(){Yn(a.response,e,r)},a.onerror=function(){ve.error("could not download file")},a.send()}function uu(n){var e=new XMLHttpRequest;e.open("HEAD",n,!1);try{e.send()}catch{}return e.status>=200&&e.status<=299}function lo(n){try{n.dispatchEvent(new MouseEvent("click"))}catch{var e=document.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),n.dispatchEvent(e)}}var fa,Ls,Yn=Ht.saveAs||((typeof window>"u"?"undefined":fe(window))!=="object"||window!==Ht?function(){}:typeof HTMLAnchorElement<"u"&&"download"in HTMLAnchorElement.prototype?function(n,e,r){var a=Ht.URL||Ht.webkitURL,u=document.createElement("a");e=e||n.name||"download",u.download=e,u.rel="noopener",typeof n=="string"?(u.href=n,u.origin!==location.origin?uu(u.href)?cs(n,e,r):lo(u,u.target="_blank"):lo(u)):(u.href=a.createObjectURL(n),setTimeout(function(){a.revokeObjectURL(u.href)},4e4),setTimeout(function(){lo(u)},0))}:"msSaveOrOpenBlob"in navigator?function(n,e,r){if(e=e||n.name||"download",typeof n=="string")if(uu(n))cs(n,e,r);else{var a=document.createElement("a");a.href=n,a.target="_blank",setTimeout(function(){lo(a)})}else navigator.msSaveOrOpenBlob(function(u,o){return o===void 0?o={autoBom:!1}:fe(o)!=="object"&&(ve.warn("Deprecated: Expected third argument to be a object"),o={autoBom:!o}),o.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(u.type)?new Blob(["\uFEFF",u],{type:u.type}):u}(n,r),e)}:function(n,e,r,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),typeof n=="string")return cs(n,e,r);var u=n.type==="application/octet-stream",o=/constructor/i.test(Ht.HTMLElement)||Ht.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||u&&o)&&(typeof FileReader>"u"?"undefined":fe(FileReader))==="object"){var h=new FileReader;h.onloadend=function(){var y=h.result;y=c?y:y.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=y:location=y,a=null},h.readAsDataURL(n)}else{var f=Ht.URL||Ht.webkitURL,g=f.createObjectURL(n);a?a.location=g:location.href=g,a=null,setTimeout(function(){f.revokeObjectURL(g)},4e4)}});/** * A class to parse color values * @author Stoyan Stefanov * {@link http://www.phpied.com/rgb-color-parser-in-javascript/} @@ -164,7 +164,7 @@ endobj\r * http://opensource.org/licenses/mit-license */function qr(n,e){if(this.pos=0,this.buffer=n,this.datav=new DataView(n.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,["BM","BA","CI","CP","IC","PT"].indexOf(this.flag)===-1)throw new Error("Invalid BMP File");this.parseHeader(),this.parseBGR()}function Au(n){function e(z){if(!z)throw Error("assert :P")}function r(z,nt,dt){for(var P=0;4>P;P++)if(z[nt+P]!=dt.charCodeAt(P))return!0;return!1}function a(z,nt,dt,P,k){for(var W=0;WW+1?[]:new nt),!(D.length>>0;t&l;)l>>>=1;return l?(t&l-1)+l:t}function dt(t,i,l,d,m){e(!(d%l));do t[i+(d-=l)]=m;while(0=m),512>=m)var b=o(512);else if((b=o(m))==null)return 0;return function(L,A,x,I,U,K){var Z,G,vt=A,at=1<Z;++Z){if(H[Z]>1<(Tt-=H[Z]))return 0;for(;0=Z;++Z,U<<=1){if(St+=Tt<<=1,0>(Tt-=H[Z]))return 0;for(;0bt&&!(0>=(gt-=H[bt]));)++bt,gt<<=1;at+=Pt=1<<(gt=bt-x),L[A+(bt=Bt&mt)].g=gt+x,L[A+bt].value=vt-A-bt}I.g=Z-x,I.value=K[G++],dt(L,vt+(Bt>>x),U,Pt,I),Bt=nt(Bt,Z)}}return St!=2*V[15]-1?0:at}(t,i,l,d,m,b)}function k(){this.value=this.g=0}function W(){this.value=this.g=0}function D(){this.G=c(5,k),this.H=o(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=c(Ve,W)}function st(t,i,l,d){e(t!=null),e(i!=null),e(2147483648>d),t.Ca=254,t.I=0,t.b=-8,t.Ka=0,t.oa=i,t.pa=l,t.Jd=i,t.Yc=l+d,t.Zc=4<=d?l+d-4+1:l,Q(t)}function it(t,i){for(var l=0;0d),t.Sb=d,t.Ra=0,t.u=0,t.h=0,4>>=8,t.Ra+=t.oa[t.pa+t.bb]<>>0,++t.bb,t.u-=8;M(t)&&(t.h=1,t.u=0)}function pt(t,i){if(e(0<=i),!t.h&&i<=yi){var l=C(t)&bi[i];return t.u+=i,ht(t),l}return t.h=1,t.u=0}function It(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function N(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function C(t){return t.Ra>>>(t.u&wi-1)>>>0}function M(t){return e(t.bb<=t.Sb),t.h||t.bb==t.Sb&&t.u>wi}function R(t,i){t.u=i,t.h=M(t)}function J(t){t.u>=$i&&(e(t.u>=$i),ht(t))}function Q(t){e(t!=null&&t.oa!=null),t.pa>>0,t.b+=8):(e(t!=null&&t.oa!=null),t.pat.b&&Q(t);var d=t.b,m=l*i>>>8,b=(t.I>>>d>m)+0;for(b?(l-=m,t.I-=m+1<>>0):l=m+1,d=l,m=0;256<=d;)m+=8,d>>=8;return d=7^m+or[d],t.b-=d,t.Ca=(l<>24&255,t[i+1]=l>>16&255,t[i+2]=l>>8&255,t[i+3]=l>>0&255}function Nt(t,i){return t[i+0]<<0|t[i+1]<<8}function Ft(t,i){return Nt(t,i)|t[i+2]<<16}function _t(t,i){return Nt(t,i)|Nt(t,i+2)<<16}function Ut(t,i){var l=1<=m||0>=b?0:(l[0]=m,d[0]=b,1)}function Et(t,i){return t+(1<>>i}function Lt(t,i){return((4278255360&t)+(4278255360&i)>>>0&4278255360)+((16711935&t)+(16711935&i)>>>0&16711935)>>>0}function xt(t,i){z[i]=function(l,d,m,b,L,A,x){var I;for(I=0;I>>1)+(t&i)>>>0}function qt(t){return 0<=t&&256>t?t:0>t?0:255>1))}function Qt(t,i,l){return Math.abs(i-l)-Math.abs(t-l)}function te(t,i,l,d,m,b,L){for(d=b[L-1],l=0;l>8&255,x=16711935&(x=(x=16711935&L)+((A<<16)+A));d[m+b]=(4278255360&L)+x>>>0}}function de(t,i){i.jd=t>>0&255,i.hd=t>>8&255,i.ud=t>>16&255}function Wt(t,i,l,d,m,b){var L;for(L=0;L>>8,I=A,U=255&(U=(U=A>>>16)+((t.jd<<24>>24)*(x<<24>>24)>>>5));I=255&(I=(I=I+((t.hd<<24>>24)*(x<<24>>24)>>>5))+((t.ud<<24>>24)*(U<<24>>24)>>>5)),m[b+L]=(4278255360&A)+(U<<16)+I}}function ee(t,i,l,d,m){z[i]=function(b,L,A,x,I,U,K,Z,G){for(x=K;x>b.b,G=b.Ea,vt=b.K[0],at=b.w;if(8>Z)for(b=(1<>=Z}else z["VP8LMapColor"+l](x,I,vt,at,U,K,L,A,G)}}function jt(t,i,l,d,m){for(l=i+l;i>16&255,d[m++]=b>>8&255,d[m++]=b>>0&255}}function Je(t,i,l,d,m){for(l=i+l;i>16&255,d[m++]=b>>8&255,d[m++]=b>>0&255,d[m++]=b>>24&255}}function oe(t,i,l,d,m){for(l=i+l;i>16&240|L>>12&15,L=L>>0&240|L>>28&15;d[m++]=b,d[m++]=L}}function Sr(t,i,l,d,m){for(l=i+l;i>16&248|L>>13&7,L=L>>5&224|L>>3&31;d[m++]=b,d[m++]=L}}function ge(t,i,l,d,m){for(l=i+l;i>0&255,d[m++]=b>>8&255,d[m++]=b>>16&255}}function Le(t,i,l,d,m,b){if(b==0)for(l=i+l;i>24|b[1]>>8&65280|b[2]<<8&16711680|b[3]<<24)>>>0),m+=32;else a(d,m,t,i,l)}function zr(t,i){z[i][0]=z[t+"0"],z[i][1]=z[t+"1"],z[i][2]=z[t+"2"],z[i][3]=z[t+"3"],z[i][4]=z[t+"4"],z[i][5]=z[t+"5"],z[i][6]=z[t+"6"],z[i][7]=z[t+"7"],z[i][8]=z[t+"8"],z[i][9]=z[t+"9"],z[i][10]=z[t+"10"],z[i][11]=z[t+"11"],z[i][12]=z[t+"12"],z[i][13]=z[t+"13"],z[i][14]=z[t+"0"],z[i][15]=z[t+"0"]}function ue(t){return t==Vo||t==Go||t==Xa||t==Jo}function Mn(){this.eb=[],this.size=this.A=this.fb=0}function Ae(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function _r(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new Mn,this.f.kb=new Ae,this.sd=null}function en(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function xe(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function Jt(t){return alert("todo:WebPSamplerProcessPlane"),t.T}function le(t,i){var l=t.T,d=i.ba.f.RGBA,m=d.eb,b=d.fb+t.ka*d.A,L=Ar[i.ba.S],A=t.y,x=t.O,I=t.f,U=t.N,K=t.ea,Z=t.W,G=i.cc,vt=i.dc,at=i.Mc,H=i.Nc,V=t.ka,gt=t.ka+t.T,bt=t.U,mt=bt+1>>1;for(V==0?L(A,x,null,null,I,U,K,Z,I,U,K,Z,m,b,null,null,bt):(L(i.ec,i.fc,A,x,G,vt,at,H,I,U,K,Z,m,b-d.A,m,b,bt),++l);V+2l,m=l==Ga||l==Ja||l==Ya||l==Wo||l==12||ue(l);if(i.memory=null,i.Ib=null,i.Jb=null,i.Nd=null,!Ki(i.Oa,t,m?11:12))return 0;if(m&&ue(l)&&yt(),t.da)alert("todo:use_scaling");else{if(d){if(i.Ib=Jt,t.Kb){if(l=t.U+1>>1,i.memory=o(t.U+2*l),i.memory==null)return 0;i.ec=i.memory,i.fc=0,i.cc=i.ec,i.dc=i.fc+t.U,i.Mc=i.cc,i.Nc=i.dc+l,i.Ib=le,yt()}}else alert("todo:EmitYUV");m&&(i.Jb=En,d&&X())}if(d&&!Rs){for(t=0;256>t;++t)cl[t]=89858*(t-128)+Za>>Ka,dl[t]=-22014*(t-128)+Za,fl[t]=-45773*(t-128),hl[t]=113618*(t-128)+Za>>Ka;for(t=aa;t>Ka,pl[t-aa]=fr(i,255),gl[t-aa]=fr(i+8>>4,15);Rs=1}return 1}function Ur(t){var i=t.ma,l=t.U,d=t.T;return e(!(1&t.ka)),0>=l||0>=d?0:(l=i.Ib(t,i),i.Jb!=null&&i.Jb(t,i,l),i.Dc+=l,1)}function Hr(t){t.ma.memory=null}function zt(t,i,l,d){return pt(t,8)!=47?0:(i[0]=pt(t,14)+1,l[0]=pt(t,14)+1,d[0]=pt(t,1),pt(t,3)!=0?0:!t.h)}function Pr(t,i){if(4>t)return t+1;var l=t-2>>1;return(2+(1&t)<>4)*t+(8-(15&l)))?l:1;var l}function ir(t,i,l){var d=C(l),m=t[i+=255&d].g-8;return 0>>0,e(8>=l.g),t.g}function Be(t,i,l){var d=t.xc;return e((i=d==0?0:t.vc[t.md*(l>>d)+(i>>d)])>Pt.b)*St;atbt&&(re=bt),(0,vn[se[ce++]>>8&15])(Z,G+ +ae,V,gt+ae-bt,re-ae,V,gt+ae),ae=re}G+=bt,gt+=bt,++at&Bt||(Pt+=St)}K!=I.nc&&a(x,A-vt,x,A+(K-U-1)*vt,vt);break;case 1:for(vt=Z,H=G,bt=(Z=I.Ea)-(gt=Z&~(V=(G=1<>I.b)*at;U=m),0b.o&&(d=b.o),l=d?l=0:(m[0]+=4*b.v,b.ka=l-b.j,b.U=b.va-b.v,b.T=d-l,l=1),l){if(A=A[0],11>(l=t.ca).S){var U=l.f.RGBA,K=(d=l.S,m=b.U,b=b.T,I=U.eb,U.A),Z=b;for(U=U.fb+t.Ma*U.A;0d){var m=t.l.width,b=l.ca,L=l.tb+m*d,A=t.V,x=t.Ba+t.c*d,I=t.gc;e(t.ab==1),e(I[0].hc==3),Ra(I[0],d,i,A,x,b,L),kr(l,d,i,b,L,m)}t.C=t.Ma=i}function Ir(t,i,l,d,m,b,L){var A=t.$/d,x=t.$%d,I=t.m,U=t.s,K=l+t.$,Z=K;m=l+d*m;var G=l+d*b,vt=280+U.ua,at=t.Pb?A:16777216,H=0=at){var Bt=K-l;e((at=t).Pb),at.wd=at.m,at.xd=Bt,0Tt.g?(R(mt,mt.u+Tt.g),Bt[St]=Tt.value,mt=0):(R(mt,mt.u+Tt.g-256),e(256<=Tt.value),mt=Tt.value),mt==0&&(bt=!0)}else mt=ir(gt.G[0],gt.H[0],I);if(I.h)break;if(bt||256>mt){if(!bt)if(gt.nd)i[K]=(gt.qb|mt<<8)>>>0;else{if(J(I),bt=ir(gt.G[1],gt.H[1],I),J(I),Bt=ir(gt.G[2],gt.H[2],I),St=ir(gt.G[3],gt.H[3],I),I.h)break;i[K]=(St<<24|bt<<16|mt<<8|Bt)>>>0}if(bt=!1,++K,++x>=d&&(x=0,++A,L!=null&&A<=b&&!(A%16)&&L(t,A),H!=null))for(;Z>>H.Mb]=mt}else if(280>mt){if(mt=Pr(mt-256,I),Bt=ir(gt.G[4],gt.H[4],I),J(I),Bt=Wr(d,Bt=Pr(Bt,I)),I.h)break;if(K-l=d;)x-=d,++A,L!=null&&A<=b&&!(A%16)&&L(t,A);if(e(K<=m),x&V&&(gt=Be(U,x,A)),H!=null)for(;Z>>H.Mb]=mt}else{if(!(mt>>H.Mb]=mt;mt=K,e(!(bt>>>(Bt=H).Xa)),i[mt]=Bt.X[bt],bt=!0}bt||e(I.h==M(I))}if(t.Pb&&I.h&&Kb?b:A),t.a=0,t.$=K-l}return 1}return t.a=3,0}function Vr(t){e(t!=null),t.vc=null,t.yc=null,t.Ya=null;var i=t.Wa;i!=null&&(i.X=null),t.vb=null,e(t!=null)}function vr(){var t=new zo;return t==null?null:(t.a=0,t.xb=Bs,zr("Predictor","VP8LPredictors"),zr("Predictor","VP8LPredictors_C"),zr("PredictorAdd","VP8LPredictorsAdd"),zr("PredictorAdd","VP8LPredictorsAdd_C"),Ta=ie,Un=Wt,sr=jt,er=Je,bn=oe,on=Sr,sn=ge,z.VP8LMapColor32b=Li,z.VP8LMapColor8b=za,t)}function Gr(t,i,l,d,m){var b=1,L=[t],A=[i],x=d.m,I=d.s,U=null,K=0;t:for(;;){if(l)for(;b&&pt(x,1);){var Z=L,G=A,vt=d,at=1,H=vt.m,V=vt.gc[vt.ab],gt=pt(H,2);if(vt.Oc&1<=vt.ab),gt){case 0:case 1:V.b=pt(H,3)+2,at=Gr(Et(V.Ea,V.b),Et(V.nc,V.b),0,vt,V.K),V.K=V.K[0];break;case 3:var bt,mt=pt(H,8)+1,Bt=16>Pt.b),ce=o(se);if(ce==null)bt=0;else{var ae=Pt.K[0],re=Pt.w;for(ce[0]=Pt.K[0][0],St=1;St<1*Tt;++St)ce[St]=Lt(ae[re+St],ce[St-1]);for(;St<4*se;++St)ce[St]=0;Pt.K[0]=null,Pt.K[0]=ce,bt=1}}at=bt;break;case 2:break;default:e(0)}b=at}}if(L=L[0],A=A[0],b&&pt(x,1)&&!(b=1<=(K=pt(x,4))&&11>=K)){d.a=3;break t}var me;if(me=b)e:{var pe,$t,Ee,ur=d,qe=L,lr=A,he=K,pr=l,gr=ur.m,Ue=ur.s,Ge=[null],nr=1,xr=0,Kr=Zu[he];r:for(;;){if(pr&&pt(gr,1)){var He=pt(gr,3)+2,hn=Et(qe,He),Jn=Et(lr,He),_i=hn*Jn;if(!Gr(hn,Jn,0,ur,Ge))break r;for(Ge=Ge[0],Ue.xc=He,pe=0;pe<_i;++pe){var An=Ge[pe]>>8&65535;Ge[pe]=An,An>=nr&&(nr=An+1)}}if(gr.h)break r;for($t=0;5>$t;++$t){var _e=js[$t];!$t&&0=Hs),Qa=Ws;var oa=o(xr);if(Qa==null||oa==null||Zo==null){ur.a=1;break r}var to=Zo;for(pe=Ee=0;pe$t;++$t){_e=js[$t],Pi[$t]=to,ki[$t]=Ee,!$t&&0oo)break n}else ts=oo;for(ua=0;uaFi)Zs[ua++]=Fi,Fi!=0&&($s=Fi);else{var Sl=Fi==16,eu=Fi-16,_l=Ju[eu],ru=pt(Sn,Gu[eu])+_l;if(ua+ru>oo)break n;for(var Pl=Sl?$s:0;0=$t){var la,rs=oa[0];for(la=1;la<_e;++la)oa[la]>rs&&(rs=oa[la]);Gs+=rs}}if(Mr.nd=eo,Mr.Qb=0,eo&&(Mr.qb=(Pi[3][ki[3]+0].value<<24|Pi[1][ki[1]+0].value<<16|Pi[2][ki[2]+0].value)>>>0,Vs==0&&256>Pi[0][ki[0]+0].value&&(Mr.Qb=1,Mr.qb+=Pi[0][ki[0]+0].value<<8)),Mr.jc=!Mr.Qb&&6>Gs,Mr.jc){var so,fn=Mr;for(so=0;so>=De(uo,8,Pn),_n>>=De(fn.G[1][fn.H[1]+_n],16,Pn),_n>>=De(fn.G[2][fn.H[2]+_n],0,Pn),De(fn.G[3][fn.H[3]+_n],24,Pn))}}}Ue.vc=Ge,Ue.Wb=nr,Ue.Ya=Qa,Ue.yc=Zo,me=1;break e}me=0}if(!(b=me)){d.a=3;break t}if(0d+1?[]:0),!(m.lengthm)return ke(t,7,"Truncated header.");var b=l[d+0]|l[d+1]<<8|l[d+2]<<16,L=t.Od;if(L.Rb=!(1&b),L.td=b>>1&7,L.yd=b>>4&1,L.ub=b>>5,3m)return ke(t,7,"cannot parse picture header");if(!Na(l,d,m))return ke(t,3,"Bad code word");A.c=16383&(l[d+4]<<8|l[d+3]),A.Td=l[d+4]>>6,A.i=16383&(l[d+6]<<8|l[d+5]),A.Ud=l[d+6]>>6,d+=7,m-=7,t.za=A.c+15>>4,t.Ub=A.i+15>>4,i.width=A.c,i.height=A.i,i.Da=0,i.j=0,i.v=0,i.va=i.width,i.o=i.height,i.da=0,i.ib=i.width,i.hb=i.height,i.U=i.width,i.T=i.height,u((b=t.Pa).jb,0,255,b.jb.length),e((b=t.Qa)!=null),b.Cb=0,b.Bb=0,b.Fb=1,u(b.Zb,0,0,b.Zb.length),u(b.Lb,0,0,b.Lb)}if(L.ub>m)return ke(t,7,"bad partition length");st(b=t.m,l,d,L.ub),d+=L.ub,m-=L.ub,L.Rb&&(A.Ld=et(b),A.Kd=et(b)),A=t.Qa;var x,I=t.Pa;if(e(b!=null),e(A!=null),A.Cb=et(b),A.Cb){if(A.Bb=et(b),et(b)){for(A.Fb=et(b),x=0;4>x;++x)A.Zb[x]=et(b)?ct(b,7):0;for(x=0;4>x;++x)A.Lb[x]=et(b)?ct(b,6):0}if(A.Bb)for(x=0;3>x;++x)I.jb[x]=et(b)?it(b,8):255}else A.Bb=0;if(b.Ka)return ke(t,3,"cannot parse segment header");if((A=t.ed).zd=et(b),A.Tb=it(b,6),A.wb=it(b,3),A.Pc=et(b),A.Pc&&et(b)){for(I=0;4>I;++I)et(b)&&(A.vd[I]=ct(b,6));for(I=0;4>I;++I)et(b)&&(A.od[I]=ct(b,6))}if(t.L=A.Tb==0?0:A.zd?1:2,b.Ka)return ke(t,3,"cannot parse filter header");var U=m;if(m=x=d,d=x+U,A=U,t.Xb=(1<A&&(K=A),st(t.Jc[+U],l,x,K),x+=K,A-=K,m+=3}st(t.Jc[+I],l,x,A),l=xK;++K){if(U.Cb){var Z=U.Zb[K];U.Fb||(Z+=l)}else{if(0>16,8>G.Eb[1]&&(G.Eb[1]=8),G.Qc[0]=Yo[fr(Z+I,117)],G.Qc[1]=Xo[fr(Z+x,127)],G.lc=Z+x}if(!L.Rb)return ke(t,4,"Not a key frame.");for(et(b),L=t.Pa,l=0;4>l;++l){for(m=0;8>m;++m)for(d=0;3>d;++d)for(A=0;11>A;++A)I=rt(b,nl[l][m][d][A])?it(b,8):el[l][m][d][A],L.Wc[l][m].Yb[d][A]=I;for(m=0;17>m;++m)L.Xc[l][m]=L.Wc[l][il[m]]}return t.kc=et(b),t.kc&&(t.Bd=it(b,8)),t.cb=1}function xa(t,i,l,d,m,b,L){var A=i[m].Yb[l];for(l=0;16>m;++m){if(!rt(t,A[l+0]))return m;for(;!rt(t,A[l+1]);)if(A=i[++m].Yb[0],l=0,m==16)return 16;var x=i[m+1].Yb;if(rt(t,A[l+2])){var I=t,U=0;if(rt(I,(Z=A)[(K=l)+3]))if(rt(I,Z[K+6])){for(A=0,K=2*(U=rt(I,Z[K+8]))+(Z=rt(I,Z[K+9+U])),U=0,Z=Qu[K];Z[A];++A)U+=U+rt(I,Z[A]);U+=3+(8<(I=t).b&&Q(I);var K,Z=I.b,G=(K=I.Ca>>1)-(I.I>>Z)>>31;--I.b,I.Ca+=G,I.Ca|=1,I.I-=(K+1&G)<>4,t.zb=i.j-l>>4,0>t.yb&&(t.yb=0),0>t.zb&&(t.zb=0)),t.Va=i.o+15+l>>4,t.Hb=i.va+15+l>>4,t.Hb>t.za&&(t.Hb=t.za),t.Va>t.Ub&&(t.Va=t.Ub),0l;++l){var m;if(t.Qa.Cb){var b=t.Qa.Lb[l];t.Qa.Fb||(b+=d.Tb)}else b=d.Tb;for(m=0;1>=m;++m){var L=t.gd[l][m],A=b;if(d.Pc&&(A+=d.vd[0],m&&(A+=d.od[0])),0<(A=0>A?0:63>2:x>>1)>9-d.wb&&(x=9-d.wb),1>x&&(x=1),L.dd=x,L.tc=2*A+x,L.ld=40<=A?2:15<=A?1:0}else L.tc=0;L.La=m}}}l=0}else ke(t,6,"Frame setup failed"),l=t.a;if(l=l==0){if(l){t.$c=0,0t.Vb){if(t.Vb=0,t.Ec=o(L),t.Fc=0,t.Ec==null){l=ke(t,1,"no memory during frame initialization.");break t}t.Vb=L}L=t.Ec,A=t.Fc,t.Ac=L,t.Bc=A,A+=d,t.Gd=c(I,La),t.Hd=0,t.rb=c(U+1,wa),t.sb=1,t.wa=K?c(K,oi):null,t.Y=0,t.D.Nb=0,t.D.wa=t.wa,t.D.Y=t.Y,0=l;++l)Te[255+l]=0>l?-l:l;for(l=-1020;1020>=l;++l)ln[1020+l]=-128>l?-128:127=l;++l)na[112+l]=-16>l?-16:15=l;++l)Si[255+l]=0>l?0:255mt;++mt){var ae,re=Tt[0+mt];for(ae=0;4>ae;++ae){re=rl[Bt[St+ae]][re];for(var me=Os[rt(bt,re[0])];0>3;for(me=0;256>me;me+=16)mt[se+me]=lr}Ee=1,ur=St[0]}var he=15&bt.la,pr=15&ce.la;for(me=0;4>me;++me){var gr=1≺for(lr=$t=0;4>lr;++lr)he=he>>1|(gr=(qe=ia(Bt,ur,qe=gr+(1&he),Pt.Sc,Ee,mt,se))>Ee)<<7,$t=$t<<2|(3>=4,pr=pr>>1|gr<<7,ae=(ae<<8|$t)>>>0}for(ur=he,Ee=pr>>4,pe=0;4>pe;pe+=2){for($t=0,he=bt.la>>4+pe,pr=ce.la>>4+pe,me=0;2>me;++me){for(gr=1&pr,lr=0;2>lr;++lr)qe=gr+(1&he),he=he>>1|(gr=0<(qe=ia(Bt,St[2],qe,Pt.Qc,0,mt,se)))<<3,$t=$t<<2|(3>=2,pr=pr>>1|gr<<5}re|=$t<<4*pe,ur|=he<<4<=H.zb&&H.M<=H.Va,H.Aa==0)t:{if(at.M=H.M,at.uc=bt,Xi(H,at),gt=1,at=($t=H.D).Nb,bt=(re=$a[H.L])*H.R,Bt=re/2*H.B,me=16*at*H.R,lr=8*at*H.B,St=H.sa,Tt=H.ta-bt+me,Pt=H.qa,mt=H.ra-Bt+lr,se=H.Ha,ce=H.Ia-Bt+lr,pr=(he=$t.M)==0,ae=he>=H.Va-1,H.Aa==2&&Xi(H,$t),$t.uc)for(gr=(qe=H).D.M,e(qe.D.uc),$t=qe.yb;$tV.o&&(he=V.o),V.F=null,V.J=null,H.Fa!=null&&0>1),V.W+=H.B*(re>>1),V.F!=null&&(V.J+=V.width*re)),$t>1,V.W+=V.v>>1,V.F!=null&&(V.J+=V.v),V.ka=$t-V.j,V.U=V.va-V.v,V.T=he-$t,gt=V.put(V))}at+1!=H.Ic||ae||(a(H.sa,H.ta-bt,St,Tt+16*H.R,bt),a(H.qa,H.ra-Bt,Pt,mt+8*H.B,Bt),a(H.Ha,H.Ia-Bt,se,ce+8*H.B,Bt))}if(!gt)return ke(G,6,"Output aborted.")}return 1}(t,i)),i.bc!=null&&i.bc(i),l&=1}return l?(t.cb=0,l):0}function Cr(t,i,l,d,m){m=t[i+l+32*d]+(m>>3),t[i+l+32*d]=-256&m?0>m?0:255:m}function ui(t,i,l,d,m,b){Cr(t,i,0,l,d+m),Cr(t,i,1,l,d+b),Cr(t,i,2,l,d-b),Cr(t,i,3,l,d-m)}function ar(t){return(20091*t>>16)+t}function Ei(t,i,l,d){var m,b=0,L=o(16);for(m=0;4>m;++m){var A=t[i+0]+t[i+8],x=t[i+0]-t[i+8],I=(35468*t[i+4]>>16)-ar(t[i+12]),U=ar(t[i+4])+(35468*t[i+12]>>16);L[b+0]=A+U,L[b+1]=x+I,L[b+2]=x-I,L[b+3]=A-U,b+=4,i++}for(m=b=0;4>m;++m)A=(t=L[b+0]+4)+L[b+8],x=t-L[b+8],I=(35468*L[b+4]>>16)-ar(L[b+12]),Cr(l,d,0,0,A+(U=ar(L[b+4])+(35468*L[b+12]>>16))),Cr(l,d,1,0,x+I),Cr(l,d,2,0,x-I),Cr(l,d,3,0,A-U),b++,d+=32}function Sa(t,i,l,d){var m=t[i+0]+4,b=35468*t[i+4]>>16,L=ar(t[i+4]),A=35468*t[i+1]>>16;ui(l,d,0,m+L,t=ar(t[i+1]),A),ui(l,d,1,m+b,t,A),ui(l,d,2,m-b,t,A),ui(l,d,3,m-L,t,A)}function So(t,i,l,d,m){Ei(t,i,l,d),m&&Ei(t,i+16,l,d+4)}function _a(t,i,l,d){un(t,i+0,l,d,1),un(t,i+32,l,d+128,1)}function _o(t,i,l,d){var m;for(t=t[i+0]+4,m=0;4>m;++m)for(i=0;4>i;++i)Cr(l,d,i,m,t)}function Pa(t,i,l,d){t[i+0]&&rr(t,i+0,l,d),t[i+16]&&rr(t,i+16,l,d+4),t[i+32]&&rr(t,i+32,l,d+128),t[i+48]&&rr(t,i+48,l,d+128+4)}function Po(t,i,l,d){var m,b=o(16);for(m=0;4>m;++m){var L=t[i+0+m]+t[i+12+m],A=t[i+4+m]+t[i+8+m],x=t[i+4+m]-t[i+8+m],I=t[i+0+m]-t[i+12+m];b[0+m]=L+A,b[8+m]=L-A,b[4+m]=I+x,b[12+m]=I-x}for(m=0;4>m;++m)L=(t=b[0+4*m]+3)+b[3+4*m],A=b[1+4*m]+b[2+4*m],x=b[1+4*m]-b[2+4*m],I=t-b[3+4*m],l[d+0]=L+A>>3,l[d+16]=I+x>>3,l[d+32]=L-A>>3,l[d+48]=I-x>>3,d+=64}function qi(t,i,l){var d,m=i-32,b=dr,L=255-t[m-1];for(d=0;dl;++l)a(t,i+32*l,t,i-32,16)}function li(t,i){var l;for(l=16;0d;++d)u(i,l+32*d,t,16)}function ka(t,i){var l,d=16;for(l=0;16>l;++l)d+=t[i-1+32*l]+t[i+l-32];ci(d>>5,t,i)}function Ye(t,i){var l,d=8;for(l=0;16>l;++l)d+=t[i-1+32*l];ci(d>>4,t,i)}function Co(t,i){var l,d=8;for(l=0;16>l;++l)d+=t[i+l-32];ci(d>>4,t,i)}function Fa(t,i){ci(128,t,i)}function Vt(t,i,l){return t+2*i+l+2>>2}function jo(t,i){var l,d=i-32;for(d=new Uint8Array([Vt(t[d-1],t[d+0],t[d+1]),Vt(t[d+0],t[d+1],t[d+2]),Vt(t[d+1],t[d+2],t[d+3]),Vt(t[d+2],t[d+3],t[d+4])]),l=0;4>l;++l)a(t,i+32*l,d,0,d.length)}function Oo(t,i){var l=t[i-1],d=t[i-1+32],m=t[i-1+64],b=t[i-1+96];At(t,i+0,16843009*Vt(t[i-1-32],l,d)),At(t,i+32,16843009*Vt(l,d,m)),At(t,i+64,16843009*Vt(d,m,b)),At(t,i+96,16843009*Vt(m,b,b))}function Jr(t,i){var l,d=4;for(l=0;4>l;++l)d+=t[i+l-32]+t[i-1+32*l];for(d>>=3,l=0;4>l;++l)u(t,i+32*l,d,4)}function Ia(t,i){var l=t[i-1+0],d=t[i-1+32],m=t[i-1+64],b=t[i-1-32],L=t[i+0-32],A=t[i+1-32],x=t[i+2-32],I=t[i+3-32];t[i+0+96]=Vt(d,m,t[i-1+96]),t[i+1+96]=t[i+0+64]=Vt(l,d,m),t[i+2+96]=t[i+1+64]=t[i+0+32]=Vt(b,l,d),t[i+3+96]=t[i+2+64]=t[i+1+32]=t[i+0+0]=Vt(L,b,l),t[i+3+64]=t[i+2+32]=t[i+1+0]=Vt(A,L,b),t[i+3+32]=t[i+2+0]=Vt(x,A,L),t[i+3+0]=Vt(I,x,A)}function Ca(t,i){var l=t[i+1-32],d=t[i+2-32],m=t[i+3-32],b=t[i+4-32],L=t[i+5-32],A=t[i+6-32],x=t[i+7-32];t[i+0+0]=Vt(t[i+0-32],l,d),t[i+1+0]=t[i+0+32]=Vt(l,d,m),t[i+2+0]=t[i+1+32]=t[i+0+64]=Vt(d,m,b),t[i+3+0]=t[i+2+32]=t[i+1+64]=t[i+0+96]=Vt(m,b,L),t[i+3+32]=t[i+2+64]=t[i+1+96]=Vt(b,L,A),t[i+3+64]=t[i+2+96]=Vt(L,A,x),t[i+3+96]=Vt(A,x,x)}function hi(t,i){var l=t[i-1+0],d=t[i-1+32],m=t[i-1+64],b=t[i-1-32],L=t[i+0-32],A=t[i+1-32],x=t[i+2-32],I=t[i+3-32];t[i+0+0]=t[i+1+64]=b+L+1>>1,t[i+1+0]=t[i+2+64]=L+A+1>>1,t[i+2+0]=t[i+3+64]=A+x+1>>1,t[i+3+0]=x+I+1>>1,t[i+0+96]=Vt(m,d,l),t[i+0+64]=Vt(d,l,b),t[i+0+32]=t[i+1+96]=Vt(l,b,L),t[i+1+32]=t[i+2+96]=Vt(b,L,A),t[i+2+32]=t[i+3+96]=Vt(L,A,x),t[i+3+32]=Vt(A,x,I)}function Di(t,i){var l=t[i+0-32],d=t[i+1-32],m=t[i+2-32],b=t[i+3-32],L=t[i+4-32],A=t[i+5-32],x=t[i+6-32],I=t[i+7-32];t[i+0+0]=l+d+1>>1,t[i+1+0]=t[i+0+64]=d+m+1>>1,t[i+2+0]=t[i+1+64]=m+b+1>>1,t[i+3+0]=t[i+2+64]=b+L+1>>1,t[i+0+32]=Vt(l,d,m),t[i+1+32]=t[i+0+96]=Vt(d,m,b),t[i+2+32]=t[i+1+96]=Vt(m,b,L),t[i+3+32]=t[i+2+96]=Vt(b,L,A),t[i+3+64]=Vt(L,A,x),t[i+3+96]=Vt(A,x,I)}function Bo(t,i){var l=t[i-1+0],d=t[i-1+32],m=t[i-1+64],b=t[i-1+96];t[i+0+0]=l+d+1>>1,t[i+2+0]=t[i+0+32]=d+m+1>>1,t[i+2+32]=t[i+0+64]=m+b+1>>1,t[i+1+0]=Vt(l,d,m),t[i+3+0]=t[i+1+32]=Vt(d,m,b),t[i+3+32]=t[i+1+64]=Vt(m,b,b),t[i+3+64]=t[i+2+64]=t[i+0+96]=t[i+1+96]=t[i+2+96]=t[i+3+96]=b}function Mo(t,i){var l=t[i-1+0],d=t[i-1+32],m=t[i-1+64],b=t[i-1+96],L=t[i-1-32],A=t[i+0-32],x=t[i+1-32],I=t[i+2-32];t[i+0+0]=t[i+2+32]=l+L+1>>1,t[i+0+32]=t[i+2+64]=d+l+1>>1,t[i+0+64]=t[i+2+96]=m+d+1>>1,t[i+0+96]=b+m+1>>1,t[i+3+0]=Vt(A,x,I),t[i+2+0]=Vt(L,A,x),t[i+1+0]=t[i+3+32]=Vt(l,L,A),t[i+1+32]=t[i+3+64]=Vt(d,l,L),t[i+1+64]=t[i+3+96]=Vt(m,d,l),t[i+1+96]=Vt(b,m,d)}function Eo(t,i){var l;for(l=0;8>l;++l)a(t,i+32*l,t,i-32,8)}function Ti(t,i){var l;for(l=0;8>l;++l)u(t,i,t[i-1],8),i+=32}function Dn(t,i,l){var d;for(d=0;8>d;++d)u(i,l+32*d,t,8)}function pn(t,i){var l,d=8;for(l=0;8>l;++l)d+=t[i+l-32]+t[i-1+32*l];Dn(d>>4,t,i)}function qo(t,i){var l,d=4;for(l=0;8>l;++l)d+=t[i+l-32];Dn(d>>3,t,i)}function Tn(t,i){var l,d=4;for(l=0;8>l;++l)d+=t[i-1+32*l];Dn(d>>3,t,i)}function Ri(t,i){Dn(128,t,i)}function fi(t,i,l){var d=t[i-l],m=t[i+0],b=3*(m-d)+Ho[1020+t[i-2*l]-t[i+l]],L=Wa[112+(b+4>>3)];t[i-l]=dr[255+d+Wa[112+(b+3>>3)]],t[i+0]=dr[255+m-L]}function ja(t,i,l,d){var m=t[i+0],b=t[i+l];return Nr[255+t[i-2*l]-t[i-l]]>d||Nr[255+b-m]>d}function Oa(t,i,l,d){return 4*Nr[255+t[i-l]-t[i+0]]+Nr[255+t[i-2*l]-t[i+l]]<=d}function Ba(t,i,l,d,m){var b=t[i-3*l],L=t[i-2*l],A=t[i-l],x=t[i+0],I=t[i+l],U=t[i+2*l],K=t[i+3*l];return 4*Nr[255+A-x]+Nr[255+L-I]>d?0:Nr[255+t[i-4*l]-b]<=m&&Nr[255+b-L]<=m&&Nr[255+L-A]<=m&&Nr[255+K-U]<=m&&Nr[255+U-I]<=m&&Nr[255+I-x]<=m}function Ma(t,i,l,d){var m=2*d+1;for(d=0;16>d;++d)Oa(t,i+d,l,m)&&fi(t,i+d,l)}function Yr(t,i,l,d){var m=2*d+1;for(d=0;16>d;++d)Oa(t,i+d*l,1,m)&&fi(t,i+d*l,1)}function an(t,i,l,d){var m;for(m=3;0>7,V=18*gt+63>>7,gt=9*gt+63>>7;x[I-3*U]=dr[255+x[I-3*U]+gt],x[I-2*U]=dr[255+K+V],x[I-U]=dr[255+Z+H],x[I+0]=dr[255+G-H],x[I+U]=dr[255+vt-V],x[I+2*U]=dr[255+at-gt]}i+=d}}function jr(t,i,l,d,m,b,L,A){for(b=2*b+1;0>3)],at=Wa[112+(at+3>>3)],H=vt+1>>1;x[I-2*U]=dr[255+x[I-2*U]+H],x[I-U]=dr[255+K+at],x[I+0]=dr[255+Z-vt],x[I+U]=dr[255+G-H]}i+=d}}function zi(t,i,l,d,m,b){gn(t,i,l,1,16,d,m,b)}function Rn(t,i,l,d,m,b){gn(t,i,1,l,16,d,m,b)}function To(t,i,l,d,m,b){var L;for(L=3;0I?0:255:I)&255,I=x,m[b+A]=U}}function Ji(t,i,l,d){var m=i.width,b=i.o;if(e(t!=null&&i!=null),0>l||0>=d||l+d>b)return null;if(!t.Cc){if(t.ga==null){var L;if(t.ga=new gi,(L=t.ga==null)||(L=i.width*i.o,e(t.Gb.length==0),t.Gb=o(L),t.Uc=0,t.Gb==null?L=0:(t.mb=t.Gb,t.nb=t.Uc,t.rc=null,L=1),L=!L),!L){L=t.ga;var A=t.Fa,x=t.P,I=t.qc,U=t.mb,K=t.nb,Z=x+1,G=I-1,vt=L.l;if(e(A!=null&&U!=null&&i!=null),Nn[0]=null,Nn[1]=zn,Nn[2]=Gi,Nn[3]=mn,L.ca=U,L.tb=K,L.c=i.width,L.i=i.height,e(0=I)i=0;else if(L.$a=A[x+0]>>0&3,L.Z=A[x+0]>>2&3,L.Lc=A[x+0]>>4&3,x=A[x+0]>>6&3,0>L.$a||1=L.c*L.i;L=!i}if(L)return null;t.ga.Lc!=1?t.Ga=0:d=b-l}e(t.ga!=null),e(l+d<=b);t:{if(i=(A=t.ga).c,b=A.l.o,A.$a==0){if(Z=t.rc,G=t.Vc,vt=t.Fa,x=t.P+1+l*i,I=t.mb,U=t.nb+l*i,e(x<=t.P+t.qc),A.Z!=0)for(e(Nn[A.Z]!=null),L=0;L=i)i=1;else if(A.ic||X(),A.ic){A=L.V,Z=L.Ba,G=L.c;var at=L.i,H=(vt=1,x=L.$/G,I=L.$%G,U=L.m,K=L.s,L.$),V=G*at,gt=G*i,bt=K.wc,mt=H(at=ir(mt.G[0],mt.H[0],U)))A[Z+H]=at,++H,++I>=G&&(I=0,++x<=i&&!(x%16)&&Fr(L,x));else{if(!(280>at)){vt=0;break e}at=Pr(at-256,U);var Bt,St=ir(mt.G[4],mt.H[4],U);if(J(U),!(H>=(St=Wr(G,St=Pr(St,U)))&&V-H>=at)){vt=0;break e}for(Bt=0;Bt=G;)I-=G,++x<=i&&!(x%16)&&Fr(L,x);Hi?i:x);break e}!vt||U.h&&H=b&&(t.Cc=1),d=1}if(!d)return null;if(t.Cc&&((d=t.ga)!=null&&(d.mc=null),t.ga=null,0>23,A[x+4*L+1]=A[x+4*L+1]*K>>23,A[x+4*L+2]=A[x+4*L+2]*K>>23)}i+=b}}function v(t,i,l,d,m){for(;0>4)*x>>16;t[i+2*b+0]=(240&L|L>>4)*x>>16&240|(15&L|L<<4)*x>>16>>4&15,t[i+2*b+1]=240&I|A}i+=m}}function j(t,i,l,d,m,b,L,A){var x,I,U=255;for(I=0;I>8}function X(){Lr=s,be=v,ye=j,Ie=T}function ut(t,i,l){z[t]=function(d,m,b,L,A,x,I,U,K,Z,G,vt,at,H,V,gt,bt){var mt,Bt=bt-1>>1,St=A[x+0]|I[U+0]<<16,Tt=K[Z+0]|G[vt+0]<<16;e(d!=null);var Pt=3*St+Tt+131074>>2;for(i(d[m+0],255&Pt,Pt>>16,at,H),b!=null&&(Pt=3*Tt+St+131074>>2,i(b[L+0],255&Pt,Pt>>16,V,gt)),mt=1;mt<=Bt;++mt){var se=A[x+mt]|I[U+mt]<<16,ce=K[Z+mt]|G[vt+mt]<<16,ae=St+se+Tt+ce+524296,re=ae+2*(se+Tt)>>3;Pt=re+St>>1,St=(ae=ae+2*(St+ce)>>3)+se>>1,i(d[m+2*mt-1],255&Pt,Pt>>16,at,H+(2*mt-1)*l),i(d[m+2*mt-0],255&St,St>>16,at,H+(2*mt-0)*l),b!=null&&(Pt=ae+Tt>>1,St=re+ce>>1,i(b[L+2*mt-1],255&Pt,Pt>>16,V,gt+(2*mt-1)*l),i(b[L+2*mt+0],255&St,St>>16,V,gt+(2*mt+0)*l)),St=se,Tt=ce}1&bt||(Pt=3*St+Tt+131074>>2,i(d[m+bt-1],255&Pt,Pt>>16,at,H+(bt-1)*l),b!=null&&(Pt=3*Tt+St+131074>>2,i(b[L+bt-1],255&Pt,Pt>>16,V,gt+(bt-1)*l)))}}function yt(){Ar[Va]=ol,Ar[Ga]=Ms,Ar[Is]=sl,Ar[Ja]=Es,Ar[Ya]=qs,Ar[Wo]=Ds,Ar[Cs]=ul,Ar[Vo]=Ms,Ar[Go]=Es,Ar[Xa]=qs,Ar[Jo]=Ds}function Ot(t){return t&~ll?0>t?0:255:t>>Ts}function Dt(t,i){return Ot((19077*t>>8)+(26149*i>>8)-14234)}function Zt(t,i,l){return Ot((19077*t>>8)-(6419*i>>8)-(13320*l>>8)+8708)}function Yt(t,i){return Ot((19077*t>>8)+(33050*i>>8)-17685)}function ne(t,i,l,d,m){d[m+0]=Dt(t,l),d[m+1]=Zt(t,i,l),d[m+2]=Yt(t,i)}function Ne(t,i,l,d,m){d[m+0]=Yt(t,i),d[m+1]=Zt(t,i,l),d[m+2]=Dt(t,l)}function Se(t,i,l,d,m){var b=Zt(t,i,l);i=b<<3&224|Yt(t,i)>>3,d[m+0]=248&Dt(t,l)|b>>5,d[m+1]=i}function Me(t,i,l,d,m){var b=240&Yt(t,i)|15;d[m+0]=240&Dt(t,l)|Zt(t,i,l)>>4,d[m+1]=b}function Xe(t,i,l,d,m){d[m+0]=255,ne(t,i,l,d,m+1)}function ze(t,i,l,d,m){Ne(t,i,l,d,m),d[m+3]=255}function Or(t,i,l,d,m){ne(t,i,l,d,m),d[m+3]=255}function fr(t,i){return 0>t?0:t>i?i:t}function Xr(t,i,l){z[t]=function(d,m,b,L,A,x,I,U,K){for(var Z=U+(-2&K)*l;U!=Z;)i(d[m+0],b[L+0],A[x+0],I,U),i(d[m+1],b[L+0],A[x+0],I,U+l),m+=2,++L,++x,U+=2*l;1&K&&i(d[m+0],b[L+0],A[x+0],I,U)}}function Da(t,i,l){return l==0?t==0?i==0?6:5:i==0?4:0:l}function Yi(t,i,l,d,m){switch(t>>>30){case 3:un(i,l,d,m,0);break;case 2:Fe(i,l,d,m);break;case 1:rr(i,l,d,m)}}function Xi(t,i){var l,d,m=i.M,b=i.Nb,L=t.oc,A=t.pc+40,x=t.oc,I=t.pc+584,U=t.oc,K=t.pc+600;for(l=0;16>l;++l)L[A+32*l-1]=129;for(l=0;8>l;++l)x[I+32*l-1]=129,U[K+32*l-1]=129;for(0l;++l)a(L,A+32*l-4,L,A+32*l+12,4);for(l=-1;8>l;++l)a(x,I+32*l-4,x,I+32*l+4,4),a(U,K+32*l-4,U,K+32*l+4,4)}var G=t.Gd,vt=t.Hd+d,at=Z.ad,H=Z.Hc;if(0=t.za-1?u(V,gt,G[vt].y[15],4):a(V,gt,G[vt+1].y,0,4)),l=0;4>l;l++)V[gt+128+l]=V[gt+256+l]=V[gt+384+l]=V[gt+0+l];for(l=0;16>l;++l,H<<=2)V=L,gt=A+zs[l],Br[Z.Ob[l]](V,gt),Yi(H,at,16*+l,V,gt)}else if(V=Da(d,m,Z.Ob[0]),Ln[V](L,A),H!=0)for(l=0;16>l;++l,H<<=2)Yi(H,at,16*+l,L,A+zs[l]);for(l=Z.Gc,V=Da(d,m,Z.Dd),cn[V](x,I),cn[V](U,K),H=at,V=x,gt=I,255&(Z=l>>0)&&(170&Z?ta(H,256,V,gt):yr(H,256,V,gt)),Z=U,H=K,255&(l>>=8)&&(170&l?ta(at,320,Z,H):yr(at,320,Z,H)),ml;++l)a(G,vt+l*t.R,L,A+32*l,16);for(l=0;8>l;++l)a(at,Z+l*t.B,x,I+32*l,8),a(H,V+l*t.B,U,K+32*l,8)}}function mi(t,i,l,d,m,b,L,A,x){var I=[0],U=[0],K=0,Z=x!=null?x.kd:0,G=x??new Wi;if(t==null||12>l)return 7;G.data=t,G.w=i,G.ha=l,i=[i],l=[l],G.gb=[G.gb];t:{var vt=i,at=l,H=G.gb;if(e(t!=null),e(at!=null),e(H!=null),H[0]=0,12<=at[0]&&!r(t,vt[0],"RIFF")){if(r(t,vt[0]+8,"WEBP")){H=3;break t}var V=_t(t,vt[0]+4);if(12>V||4294967286at[0]-8){H=7;break t}H[0]=V,vt[0]+=12,at[0]-=12}H=0}if(H!=0)return H;for(V=0H[0])H=7;else{if(!r(gt,at[0],"VP8X")){if(_t(gt,at[0]+4)!=10){H=3;break t}if(18>H[0]){H=7;break t}var St=_t(gt,at[0]+8),Tt=1+Ft(gt,at[0]+12);if(2147483648<=Tt*(gt=1+Ft(gt,at[0]+15))){H=3;break t}Bt!=null&&(Bt[0]=St),bt!=null&&(bt[0]=Tt),mt!=null&&(mt[0]=gt),at[0]+=18,H[0]-=18,Pt[0]=1}H=0}}if(K=K[0],vt=vt[0],H!=0)return H;if(at=!!(2&vt),!V&&K)return 3;if(b!=null&&(b[0]=!!(16&vt)),L!=null&&(L[0]=at),A!=null&&(A[0]=0),L=I[0],vt=U[0],K&&at&&x==null){H=0;break}if(4>l){H=7;break}if(V&&K||!V&&!K&&!r(t,i[0],"ALPH")){l=[l],G.na=[G.na],G.P=[G.P],G.Sa=[G.Sa];t:{St=t,H=i,V=l;var Pt=G.gb;bt=G.na,mt=G.P,Bt=G.Sa,Tt=22,e(St!=null),e(V!=null),gt=H[0];var se=V[0];for(e(bt!=null),e(Bt!=null),bt[0]=null,mt[0]=null,Bt[0]=0;;){if(H[0]=gt,V[0]=se,8>se){H=7;break t}var ce=_t(St,gt+4);if(4294967286Pt){H=3;break t}if(!r(St,gt,"VP8 ")||!r(St,gt,"VP8L")){H=0;break t}if(se[0]V[0])H=7;else{if(gt||Tt){if(Pt=_t(Pt,St+4),12<=bt&&Pt>bt-12){H=3;break t}if(Z&&Pt>V[0]-8){H=7;break t}mt[0]=Pt,H[0]+=8,V[0]-=8,Bt[0]=Tt}else Bt[0]=5<=V[0]&&Pt[St+0]==47&&!(Pt[St+4]>>5),mt[0]=V[0];H=0}if(l=l[0],G.Ja=G.Ja[0],G.xa=G.xa[0],i=i[0],H!=0)break;if(4294967286l){H=7;break}A=L,Z=vt,at=b,t==null||5>l?t=0:5<=l&&t[i+0]==47&&!(t[i+4]>>5)?(V=[0],Pt=[0],bt=[0],$(mt=new N,t,i,l),zt(mt,V,Pt,bt)?(A!=null&&(A[0]=V[0]),Z!=null&&(Z[0]=Pt[0]),at!=null&&(at[0]=bt[0]),t=1):t=0):t=0}else{if(10>l){H=7;break}A=vt,t==null||10>l||!Na(t,i+3,l-3)?t=0:(Z=t[i+0]|t[i+1]<<8|t[i+2]<<16,at=16383&(t[i+7]<<8|t[i+6]),t=16383&(t[i+9]<<8|t[i+8]),1&Z||3<(Z>>1&7)||!(Z>>4&1)||Z>>5>=G.Ja||!at||!t?t=0:(L&&(L[0]=at),A&&(A[0]=t),t=1))}if(!t||(L=L[0],vt=vt[0],K&&(I[0]!=L||U[0]!=vt)))return 3;x!=null&&(x[0]=G,x.offset=i-x.w,e(4294967286>i-x.w),e(x.offset==x.ha-l));break}return H==0||H==7&&K&&x==null?(b!=null&&(b[0]|=G.na!=null&&0l||(b&=-2,L&=-2),0>b||0>L||0>=A||0>=x||b+A>d||L+x>m))return 0;if(i.v=b,i.j=L,i.va=b+A,i.o=L+x,i.U=A,i.T=x,i.da=t!=null&&0t.S){var i=t.f.RGBA;i.fb+=(t.height-1)*i.A,i.A=-i.A}else i=t.f.kb,t=t.height,i.O+=(t-1)*i.fa,i.fa=-i.fa,i.N+=(t-1>>1)*i.Ab,i.Ab=-i.Ab,i.W+=(t-1>>1)*i.Db,i.Db=-i.Db,i.F!=null&&(i.J+=(t-1)*i.lb,i.lb=-i.lb);return 0}function vi(t,i,l,d){if(d==null||0>=t||0>=i)return 2;if(l!=null){if(l.Da){var m=l.cd,b=l.bd,L=-2&l.v,A=-2&l.j;if(0>L||0>A||0>=m||0>=b||L+m>t||A+b>i)return 2;t=m,i=b}if(l.da){if(!Kt(t,i,m=[l.ib],b=[l.hb]))return 2;t=m[0],i=b[0]}}d.width=t,d.height=i;t:{var x=d.width,I=d.height;if(t=d.S,0>=x||0>=I||!(t>=Va&&13>t))t=2;else{if(0>=d.Rd&&d.sd==null){L=b=m=i=0;var U=(A=x*Us[t])*I;if(11>t||(b=(I+1)/2*(i=(x+1)/2),t==12&&(L=(m=x)*I)),(I=o(U+2*b+L))==null){t=1;break t}d.sd=I,11>t?((x=d.f.RGBA).eb=I,x.fb=0,x.A=A,x.size=U):((x=d.f.kb).y=I,x.O=0,x.fa=A,x.Fd=U,x.f=I,x.N=0+U,x.Ab=i,x.Cd=b,x.ea=I,x.W=0+U+b,x.Db=i,x.Ed=b,t==12&&(x.F=I,x.J=0+U+2*b),x.Tc=L,x.lb=m)}if(i=1,m=d.S,b=d.width,L=d.height,m>=Va&&13>m)if(11>m)t=d.f.RGBA,i&=(A=Math.abs(t.A))*(L-1)+b<=t.size,i&=A>=b*Us[m],i&=t.eb!=null;else{t=d.f.kb,A=(b+1)/2,U=(L+1)/2,x=Math.abs(t.fa),I=Math.abs(t.Ab);var K=Math.abs(t.Db),Z=Math.abs(t.lb),G=Z*(L-1)+b;i&=x*(L-1)+b<=t.Fd,i&=I*(U-1)+A<=t.Cd,i=(i&=K*(U-1)+A<=t.Ed)&x>=b&I>=A&K>=A,i&=t.y!=null,i&=t.f!=null,i&=t.ea!=null,m==12&&(i&=Z>=b,i&=G<=t.Tc,i&=t.F!=null)}else i=0;t=i?0:2}}return t!=0||l!=null&&l.fd&&(t=Zi(d)),t}var Ve=64,bi=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],yi=24,wi=32,$i=8,or=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];xt("Predictor0","PredictorAdd0"),z.Predictor0=function(){return 4278190080},z.Predictor1=function(t){return t},z.Predictor2=function(t,i,l){return i[l+0]},z.Predictor3=function(t,i,l){return i[l+1]},z.Predictor4=function(t,i,l){return i[l-1]},z.Predictor5=function(t,i,l){return kt(kt(t,i[l+1]),i[l+0])},z.Predictor6=function(t,i,l){return kt(t,i[l-1])},z.Predictor7=function(t,i,l){return kt(t,i[l+0])},z.Predictor8=function(t,i,l){return kt(i[l-1],i[l+0])},z.Predictor9=function(t,i,l){return kt(i[l+0],i[l+1])},z.Predictor10=function(t,i,l){return kt(kt(t,i[l-1]),kt(i[l+0],i[l+1]))},z.Predictor11=function(t,i,l){var d=i[l+0];return 0>=Qt(d>>24&255,t>>24&255,(i=i[l-1])>>24&255)+Qt(d>>16&255,t>>16&255,i>>16&255)+Qt(d>>8&255,t>>8&255,i>>8&255)+Qt(255&d,255&t,255&i)?d:t},z.Predictor12=function(t,i,l){var d=i[l+0];return(qt((t>>24&255)+(d>>24&255)-((i=i[l-1])>>24&255))<<24|qt((t>>16&255)+(d>>16&255)-(i>>16&255))<<16|qt((t>>8&255)+(d>>8&255)-(i>>8&255))<<8|qt((255&t)+(255&d)-(255&i)))>>>0},z.Predictor13=function(t,i,l){var d=i[l-1];return(Gt((t=kt(t,i[l+0]))>>24&255,d>>24&255)<<24|Gt(t>>16&255,d>>16&255)<<16|Gt(t>>8&255,d>>8&255)<<8|Gt(t>>0&255,d>>0&255))>>>0};var Uo=z.PredictorAdd0;z.PredictorAdd1=te,xt("Predictor2","PredictorAdd2"),xt("Predictor3","PredictorAdd3"),xt("Predictor4","PredictorAdd4"),xt("Predictor5","PredictorAdd5"),xt("Predictor6","PredictorAdd6"),xt("Predictor7","PredictorAdd7"),xt("Predictor8","PredictorAdd8"),xt("Predictor9","PredictorAdd9"),xt("Predictor10","PredictorAdd10"),xt("Predictor11","PredictorAdd11"),xt("Predictor12","PredictorAdd12"),xt("Predictor13","PredictorAdd13");var Qi=z.PredictorAdd2;ee("ColorIndexInverseTransform","MapARGB","32b",function(t){return t>>8&255},function(t){return t}),ee("VP8LColorIndexInverseTransformAlpha","MapAlpha","8b",function(t){return t},function(t){return t>>8&255});var Ta,br=z.ColorIndexInverseTransform,Li=z.MapARGB,Ra=z.VP8LColorIndexInverseTransformAlpha,za=z.MapAlpha,vn=z.VP8LPredictorsAdd=[];vn.length=16,(z.VP8LPredictors=[]).length=16,(z.VP8LPredictorsAdd_C=[]).length=16,(z.VP8LPredictors_C=[]).length=16;var Un,sr,er,bn,on,sn,Ni,un,Fe,ta,rr,yr,Ai,Ua,ea,Hn,Wn,yn,Vn,xi,Gn,wn,ra,wr,Lr,be,ye,Ie,Te=o(511),ln=o(2041),na=o(225),Si=o(767),Ha=0,Ho=ln,Wa=na,dr=Si,Nr=Te,Va=0,Ga=1,Is=2,Ja=3,Ya=4,Wo=5,Cs=6,Vo=7,Go=8,Xa=9,Jo=10,Gu=[2,3,7],Ju=[3,3,11],js=[280,256,256,256,40],Yu=[0,1,1,1,0],Xu=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],Ku=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Zu=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],$u=8,Yo=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],Xo=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],ia=null,Qu=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],tl=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],Os=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],el=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],rl=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],nl=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],il=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],Ln=[],Br=[],cn=[],al=1,Bs=2,Nn=[],Ar=[];ut("UpsampleRgbLinePair",ne,3),ut("UpsampleBgrLinePair",Ne,3),ut("UpsampleRgbaLinePair",Or,4),ut("UpsampleBgraLinePair",ze,4),ut("UpsampleArgbLinePair",Xe,4),ut("UpsampleRgba4444LinePair",Me,2),ut("UpsampleRgb565LinePair",Se,2);var ol=z.UpsampleRgbLinePair,sl=z.UpsampleBgrLinePair,Ms=z.UpsampleRgbaLinePair,Es=z.UpsampleBgraLinePair,qs=z.UpsampleArgbLinePair,Ds=z.UpsampleRgba4444LinePair,ul=z.UpsampleRgb565LinePair,Ka=16,Za=1<d.ca.S||(alert("todo:WebPInitConvertARGBToYUV"),d.ca.f.kb.F!=null&&X()),d.Pb&&0(x=l.Md)?0:100I;++I)12>(K=m.pb[I]).lc&&(K.ia=x*ml[0>K.lc?0:K.lc]>>3),U|=K.ia;U&&(alert("todo:VP8InitRandom"),m.ia=1)}m.Ga=l.Id,100m.Ga&&(m.Ga=0)}xo(t,d)||(i=t.a)}}else i=t.a}i==0&&L.Oa!=null&&L.Oa.fd&&(i=Zi(L.ba))}L=i}b=L!=0?null:11>b?A.f.RGBA.eb:A.f.kb.y}else b=null;return b};var Us=[3,4,3,4,4,2,2,4,4,4,2,1,1]};function g(z,nt){for(var dt="",P=0;P<4;P++)dt+=String.fromCharCode(z[nt++]);return dt}function y(z,nt){return(z[nt+0]<<0|z[nt+1]<<8|z[nt+2]<<16)>>>0}function w(z,nt){return(z[nt+0]<<0|z[nt+1]<<8|z[nt+2]<<16|z[nt+3]<<24)>>>0}new f;var S=[0],p=[0],O=[],F=new f,q=n,_=function(z,nt){var dt={},P=0,k=!1,W=0,D=0;if(dt.frames=[],!function(C,M,R,J){for(var Q=0;Q>1&1}ct!="ANMF"&&(nt+=ht)}return dt}}(q,0);_.response=q,_.rgbaoutput=!0,_.dataurl=!1;var B=_.header?_.header:null,Y=_.frames?_.frames:null;if(B){B.loop_counter=B.loop_count,S=[B.canvas_height],p=[B.canvas_width];for(var ot=0;ot>>1)&255;return _},f=function(S,p,O){var F,q,_,B,Y=[],ot=S.length;Y[0]=4;for(var lt=0;lt>>ct&255,ct+=B.bits;nt[W]=k>>>ct&255}}if(B.bits===16){z=(tt=new Uint32Array(B.decodePixels().buffer)).length,dt=new Uint8Array(z*(32/B.pixelBitlength)*B.colors),nt=new Uint8Array(z*(32/B.pixelBitlength)),P=B.colors>1,W=0,D=0;for(var ht=0;W>>0&255,P&&(dt[D++]=k>>>16&255,k=tt[W++],dt[D++]=k>>>0&255),nt[ht++]=k>>>16&255;_=8}F!==n.image_compression.NONE&&e()?(S=r(dt,B.width*B.colors,B.colors,F),wt=r(nt,B.width,1,F)):(S=dt,wt=nt,st=void 0)}if(B.colorType===3&&(q=this.color_spaces.INDEXED,lt=B.palette,B.transparency.indexed)){var pt=B.transparency.indexed,It=0;for(W=0,z=pt.length;W=0;n--){for(var a=this.bottom_up?n:this.height-1-n,u=0;u>7-h&1];this.data[c+4*h]=f.blue,this.data[c+4*h+1]=f.green,this.data[c+4*h+2]=f.red,this.data[c+4*h+3]=255}r!==0&&(this.pos+=4-r)}},qr.prototype.bit4=function(){for(var n=Math.ceil(this.width/2),e=n%4,r=this.height-1;r>=0;r--){for(var a=this.bottom_up?r:this.height-1-r,u=0;u>4,f=15&o,g=this.palette[h];if(this.data[c]=g.blue,this.data[c+1]=g.green,this.data[c+2]=g.red,this.data[c+3]=255,2*u+1>=this.width)break;g=this.palette[f],this.data[c+4]=g.blue,this.data[c+4+1]=g.green,this.data[c+4+2]=g.red,this.data[c+4+3]=255}e!==0&&(this.pos+=4-e)}},qr.prototype.bit8=function(){for(var n=this.width%4,e=this.height-1;e>=0;e--){for(var r=this.bottom_up?e:this.height-1-e,a=0;a=0;r--){for(var a=this.bottom_up?r:this.height-1-r,u=0;u>5&e)/e*255|0,f=(o>>10&e)/e*255|0,g=o>>15?255:0,y=a*this.width*4+4*u;this.data[y]=f,this.data[y+1]=h,this.data[y+2]=c,this.data[y+3]=g}this.pos+=n}},qr.prototype.bit16=function(){for(var n=this.width%3,e=parseInt("11111",2),r=parseInt("111111",2),a=this.height-1;a>=0;a--){for(var u=this.bottom_up?a:this.height-1-a,o=0;o>5&r)/r*255|0,g=(c>>11)/e*255|0,y=u*this.width*4+4*o;this.data[y]=g,this.data[y+1]=f,this.data[y+2]=h,this.data[y+3]=255}this.pos+=n}},qr.prototype.bit24=function(){for(var n=this.height-1;n>=0;n--){for(var e=this.bottom_up?n:this.height-1-n,r=0;r=0;n--)for(var e=this.bottom_up?n:this.height-1-n,r=0;ra&&(u.push(n.slice(f,o)),h=0,f=o),h+=e[o],o++;return f!==o&&u.push(n.slice(f,o)),u},Lu=function(n,e,r){r||(r={});var a,u,o,c,h,f,g,y=[],w=[y],S=r.textIndent||0,p=0,O=0,F=n.split(" "),q=fo.apply(this,[" ",r])[0];if(f=r.lineIndent===-1?F[0].length+2:r.lineIndent||0){var _=Array(f).join(" "),B=[];F.map(function(ot){(ot=ot.split(/\s*\n/)).length>1?B=B.concat(ot.map(function(lt,wt){return(wt&<.length?` `:"")+lt})):B.push(ot[0])}),F=B,f=yu.apply(this,[_,r])}for(o=0,c=F.length;oe||Y){if(O>e){for(h=wu.apply(this,[a,u,e-(S+p),e]),y.push(h.shift()),y=[h.pop()];h.length;)w.push([h.shift()]);O=u.slice(a.length-(y[0]?y[0].length:0)).reduce(function(ot,lt){return ot+lt},0)}else y=[a];w.push(y),S=O+f,p=q}else y.push(a),S+=p+O,p=q}return g=f?function(ot,lt){return(lt?_:"")+ot.join(" ")}:function(ot){return ot.join(" ")},w.map(g)},Ci.splitTextToSize=function(n,e,r){var a,u=(r=r||{}).fontSize||this.internal.getFontSize(),o=(function(y){if(y.widths&&y.kerning)return{widths:y.widths,kerning:y.kerning};var w=this.internal.getFont(y.fontName,y.fontStyle);return w.metadata.Unicode?{widths:w.metadata.Unicode.widths||{0:1},kerning:w.metadata.Unicode.kerning||{}}:{font:w.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}).call(this,r);a=Array.isArray(n)?n:String(n).split(/\r?\n/);var c=1*this.internal.scaleFactor*e/u;o.textIndent=r.textIndent?1*r.textIndent*this.internal.scaleFactor/u:0,o.lineIndent=r.lineIndent;var h,f,g=[];for(h=0,f=a.length;himport("./index.es.B24Zf6PE.js"),__vite__mapDeps([0,1,2,3]))).catch(function(r){return Promise.reject(new Error("Could not load canvg: "+r))}).then(function(r){return r.default?r.default:r})}Rt.API.addSvgAsImage=function(r,a,u,o,c,h,f,g){if(isNaN(a)||isNaN(u))throw ve.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(o)||isNaN(c))throw ve.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var y=document.createElement("canvas");y.width=o,y.height=c;var w=y.getContext("2d");w.fillStyle="#fff",w.fillRect(0,0,y.width,y.height);var S={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},p=this;return e().then(function(O){return O.fromString(w,r,S)},function(){return Promise.reject(new Error("Could not load canvg."))}).then(function(O){return O.render(S)}).then(function(){p.addImage(y.toDataURL("image/jpeg",1),a,u,o,c,f,g)})}}(),Rt.API.putTotalPages=function(n){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(n,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(n,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var a=1;a<=this.internal.getNumberOfPages();a++)for(var u=0;u1){for(y=0;ye||Y){if(O>e){for(h=wu.apply(this,[a,u,e-(S+p),e]),y.push(h.shift()),y=[h.pop()];h.length;)w.push([h.shift()]);O=u.slice(a.length-(y[0]?y[0].length:0)).reduce(function(ot,lt){return ot+lt},0)}else y=[a];w.push(y),S=O+f,p=q}else y.push(a),S+=p+O,p=q}return g=f?function(ot,lt){return(lt?_:"")+ot.join(" ")}:function(ot){return ot.join(" ")},w.map(g)},Ci.splitTextToSize=function(n,e,r){var a,u=(r=r||{}).fontSize||this.internal.getFontSize(),o=(function(y){if(y.widths&&y.kerning)return{widths:y.widths,kerning:y.kerning};var w=this.internal.getFont(y.fontName,y.fontStyle);return w.metadata.Unicode?{widths:w.metadata.Unicode.widths||{0:1},kerning:w.metadata.Unicode.kerning||{}}:{font:w.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}).call(this,r);a=Array.isArray(n)?n:String(n).split(/\r?\n/);var c=1*this.internal.scaleFactor*e/u;o.textIndent=r.textIndent?1*r.textIndent*this.internal.scaleFactor/u:0,o.lineIndent=r.lineIndent;var h,f,g=[];for(h=0,f=a.length;himport("./index.es.DIBt9NKW.js"),__vite__mapDeps([0,1,2,3]))).catch(function(r){return Promise.reject(new Error("Could not load canvg: "+r))}).then(function(r){return r.default?r.default:r})}Rt.API.addSvgAsImage=function(r,a,u,o,c,h,f,g){if(isNaN(a)||isNaN(u))throw ve.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(o)||isNaN(c))throw ve.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var y=document.createElement("canvas");y.width=o,y.height=c;var w=y.getContext("2d");w.fillStyle="#fff",w.fillRect(0,0,y.width,y.height);var S={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},p=this;return e().then(function(O){return O.fromString(w,r,S)},function(){return Promise.reject(new Error("Could not load canvg."))}).then(function(O){return O.render(S)}).then(function(){p.addImage(y.toDataURL("image/jpeg",1),a,u,o,c,f,g)})}}(),Rt.API.putTotalPages=function(n){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(n,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(n,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var a=1;a<=this.internal.getNumberOfPages();a++)for(var u=0;u1){for(y=0;yS[w]})}}}return Object.freeze(Object.defineProperty(C,Symbol.toStringTag,{value:"Module"}))}var G={exports:{}};(function(C,k){(function(M,S){C.exports=S()})(Z,function(){function M(e,t,a){for(var r,n=0,o=t.length;n0;n--)t[e-n]=t[n-1];return t},hamming:function(e){for(var t=new Float32Array(e),a=0;a1;)e/=2;return e===1}function I(e,t){if(t!=="rect"){if(t!==""&&t||(t="hanning"),w[t]||(w[t]={}),!w[t][e.length])try{w[t][e.length]=S[t](e.length)}catch{throw new Error("Invalid windowing function")}e=function(a,r){for(var n=[],o=0;ol;)i[h++]=c,l=h*a[u.length-1]/o;for(i[o]=u.length-1,c=0;ca&&(a=t.specific[r]);return Math.pow((t.total-a)/t.total,2)},powerSpectrum:N,rms:function(e){var t=e.signal;if(typeof t!="object")throw new TypeError;for(var a=0,r=0;rr?n:r}),a/=t.length,a=Math.sqrt(a),r/a},spectralFlatness:function(e){var t=e.ampSpectrum;if(typeof t!="object")throw new TypeError;for(var a=0,r=0,n=0;ns&&u>=0;)o-=r[u],--u;return(u+1)*n},spectralSkewness:function(e){var t=e.ampSpectrum;if(typeof t!="object")throw new TypeError;var a=_(1,t),r=_(2,t),n=_(3,t);return(2*Math.pow(a,3)-3*a*r+n)/Math.pow(Math.sqrt(r-Math.pow(a,2)),3)},spectralSlope:function(e){var t=e.ampSpectrum,a=e.sampleRate,r=e.bufferSize;if(typeof t!="object")throw new TypeError;for(var n=0,o=0,f=new Float32Array(t.length),s=0,u=0,i=0;i=0&&t[r]<0||t[r-1]<0&&t[r]>=0)&&a++;return a}});function L(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);tS[w]})}}}return Object.freeze(Object.defineProperty(C,Symbol.toStringTag,{value:"Module"}))}var G={exports:{}};(function(C,k){(function(M,S){C.exports=S()})(Z,function(){function M(e,t,a){for(var r,n=0,o=t.length;n0;n--)t[e-n]=t[n-1];return t},hamming:function(e){for(var t=new Float32Array(e),a=0;a1;)e/=2;return e===1}function I(e,t){if(t!=="rect"){if(t!==""&&t||(t="hanning"),w[t]||(w[t]={}),!w[t][e.length])try{w[t][e.length]=S[t](e.length)}catch{throw new Error("Invalid windowing function")}e=function(a,r){for(var n=[],o=0;ol;)i[h++]=c,l=h*a[u.length-1]/o;for(i[o]=u.length-1,c=0;ca&&(a=t.specific[r]);return Math.pow((t.total-a)/t.total,2)},powerSpectrum:N,rms:function(e){var t=e.signal;if(typeof t!="object")throw new TypeError;for(var a=0,r=0;rr?n:r}),a/=t.length,a=Math.sqrt(a),r/a},spectralFlatness:function(e){var t=e.ampSpectrum;if(typeof t!="object")throw new TypeError;for(var a=0,r=0,n=0;ns&&u>=0;)o-=r[u],--u;return(u+1)*n},spectralSkewness:function(e){var t=e.ampSpectrum;if(typeof t!="object")throw new TypeError;var a=_(1,t),r=_(2,t),n=_(3,t);return(2*Math.pow(a,3)-3*a*r+n)/Math.pow(Math.sqrt(r-Math.pow(a,2)),3)},spectralSlope:function(e){var t=e.ampSpectrum,a=e.sampleRate,r=e.bufferSize;if(typeof t!="object")throw new TypeError;for(var n=0,o=0,f=new Float32Array(t.length),s=0,u=0,i=0;i=0&&t[r]<0||t[r-1]<0&&t[r]>=0)&&a++;return a}});function L(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);ti)return!1;if(m+=o[I+1],m>=i)return!0}return!1}function te(i,o){return i<65?i===36:i<91?!0:i<97?i===95:i<123?!0:i<=65535?i>=170&&Et.test(String.fromCharCode(i)):o===!1?!1:D(i,Lt)}function ht(i,o){return i<48?i===36:i<58?!0:i<65?!1:i<91?!0:i<97?i===95:i<123?!0:i<=65535?i>=170&&ni.test(String.fromCharCode(i)):o===!1?!1:D(i,Lt)||D(i,Ot)}var kt=function(o,m){m===void 0&&(m={}),this.label=o,this.keyword=m.keyword,this.beforeExpr=!!m.beforeExpr,this.startsExpr=!!m.startsExpr,this.isLoop=!!m.isLoop,this.isAssign=!!m.isAssign,this.prefix=!!m.prefix,this.postfix=!!m.postfix,this.binop=m.binop||null,this.updateContext=null};function ut(i,o){return new kt(i,{beforeExpr:!0,binop:o})}var ue={beforeExpr:!0},xt={startsExpr:!0},Zt={};function It(i,o){return o===void 0&&(o={}),o.keyword=i,Zt[i]=new kt(i,o)}var A={num:new kt("num",xt),regexp:new kt("regexp",xt),string:new kt("string",xt),name:new kt("name",xt),privateId:new kt("privateId",xt),eof:new kt("eof"),bracketL:new kt("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new kt("]"),braceL:new kt("{",{beforeExpr:!0,startsExpr:!0}),braceR:new kt("}"),parenL:new kt("(",{beforeExpr:!0,startsExpr:!0}),parenR:new kt(")"),comma:new kt(",",ue),semi:new kt(";",ue),colon:new kt(":",ue),dot:new kt("."),question:new kt("?",ue),questionDot:new kt("?."),arrow:new kt("=>",ue),template:new kt("template"),invalidTemplate:new kt("invalidTemplate"),ellipsis:new kt("...",ue),backQuote:new kt("`",xt),dollarBraceL:new kt("${",{beforeExpr:!0,startsExpr:!0}),eq:new kt("=",{beforeExpr:!0,isAssign:!0}),assign:new kt("_=",{beforeExpr:!0,isAssign:!0}),incDec:new kt("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new kt("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:ut("||",1),logicalAND:ut("&&",2),bitwiseOR:ut("|",3),bitwiseXOR:ut("^",4),bitwiseAND:ut("&",5),equality:ut("==/!=/===/!==",6),relational:ut("/<=/>=",7),bitShift:ut("<>/>>>",8),plusMin:new kt("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:ut("%",10),star:ut("*",10),slash:ut("/",10),starstar:new kt("**",{beforeExpr:!0}),coalesce:ut("??",1),_break:It("break"),_case:It("case",ue),_catch:It("catch"),_continue:It("continue"),_debugger:It("debugger"),_default:It("default",ue),_do:It("do",{isLoop:!0,beforeExpr:!0}),_else:It("else",ue),_finally:It("finally"),_for:It("for",{isLoop:!0}),_function:It("function",xt),_if:It("if"),_return:It("return",ue),_switch:It("switch"),_throw:It("throw",ue),_try:It("try"),_var:It("var"),_const:It("const"),_while:It("while",{isLoop:!0}),_with:It("with"),_new:It("new",{beforeExpr:!0,startsExpr:!0}),_this:It("this",xt),_super:It("super",xt),_class:It("class",xt),_extends:It("extends",ue),_export:It("export"),_import:It("import",xt),_null:It("null",xt),_true:It("true",xt),_false:It("false",xt),_in:It("in",{beforeExpr:!0,binop:7}),_instanceof:It("instanceof",{beforeExpr:!0,binop:7}),_typeof:It("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:It("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:It("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},Ut=/\r\n?|\n|\u2028|\u2029/,Me=new RegExp(Ut.source,"g");function Kt(i){return i===10||i===13||i===8232||i===8233}function Ve(i,o,m){m===void 0&&(m=i.length);for(var I=o;I>10)+55296,(i&1023)+56320))}var ki=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,Re=function(o,m){this.line=o,this.column=m};Re.prototype.offset=function(o){return new Re(this.line,this.column+o)};var ke=function(o,m,I){this.start=m,this.end=I,o.sourceFile!==null&&(this.source=o.sourceFile)};function pi(i,o){for(var m=1,I=0;;){var N=Ve(i,I,o);if(N<0)return new Re(m,o-I);++m,I=N}}var Ft={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},We=!1;function di(i){var o={};for(var m in Ft)o[m]=i&&$(i,m)?i[m]:Ft[m];if(o.ecmaVersion==="latest"?o.ecmaVersion=1e8:o.ecmaVersion==null?(!We&&typeof console=="object"&&console.warn&&(We=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required. +import{a8 as Ur,z as dr,A as Hr}from"./theme.Dd_Fb62b.js";function Gr(ii){throw new Error('Could not dynamically require "'+ii+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var gr={exports:{}};const Wr={},jr=Object.freeze(Object.defineProperty({__proto__:null,default:Wr},Symbol.toStringTag,{value:"Module"})),cr=Ur(jr);var Fi={exports:{}},pr;function Zr(){return pr||(pr=1,function(ii,me){(function(Q,Ot){Ot(me)})(dr,function(Q){var Ot=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239],Lt=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],R="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",He="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",ae={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},Oe="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",ri={5:Oe,"5module":Oe+" export import",6:Oe+" const class extends export import super"},he=/^in(stanceof)?$/,Et=new RegExp("["+He+"]"),ni=new RegExp("["+He+R+"]");function D(i,o){for(var m=65536,I=0;Ii)return!1;if(m+=o[I+1],m>=i)return!0}return!1}function te(i,o){return i<65?i===36:i<91?!0:i<97?i===95:i<123?!0:i<=65535?i>=170&&Et.test(String.fromCharCode(i)):o===!1?!1:D(i,Lt)}function ht(i,o){return i<48?i===36:i<58?!0:i<65?!1:i<91?!0:i<97?i===95:i<123?!0:i<=65535?i>=170&&ni.test(String.fromCharCode(i)):o===!1?!1:D(i,Lt)||D(i,Ot)}var kt=function(o,m){m===void 0&&(m={}),this.label=o,this.keyword=m.keyword,this.beforeExpr=!!m.beforeExpr,this.startsExpr=!!m.startsExpr,this.isLoop=!!m.isLoop,this.isAssign=!!m.isAssign,this.prefix=!!m.prefix,this.postfix=!!m.postfix,this.binop=m.binop||null,this.updateContext=null};function ut(i,o){return new kt(i,{beforeExpr:!0,binop:o})}var ue={beforeExpr:!0},xt={startsExpr:!0},Zt={};function It(i,o){return o===void 0&&(o={}),o.keyword=i,Zt[i]=new kt(i,o)}var A={num:new kt("num",xt),regexp:new kt("regexp",xt),string:new kt("string",xt),name:new kt("name",xt),privateId:new kt("privateId",xt),eof:new kt("eof"),bracketL:new kt("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new kt("]"),braceL:new kt("{",{beforeExpr:!0,startsExpr:!0}),braceR:new kt("}"),parenL:new kt("(",{beforeExpr:!0,startsExpr:!0}),parenR:new kt(")"),comma:new kt(",",ue),semi:new kt(";",ue),colon:new kt(":",ue),dot:new kt("."),question:new kt("?",ue),questionDot:new kt("?."),arrow:new kt("=>",ue),template:new kt("template"),invalidTemplate:new kt("invalidTemplate"),ellipsis:new kt("...",ue),backQuote:new kt("`",xt),dollarBraceL:new kt("${",{beforeExpr:!0,startsExpr:!0}),eq:new kt("=",{beforeExpr:!0,isAssign:!0}),assign:new kt("_=",{beforeExpr:!0,isAssign:!0}),incDec:new kt("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new kt("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:ut("||",1),logicalAND:ut("&&",2),bitwiseOR:ut("|",3),bitwiseXOR:ut("^",4),bitwiseAND:ut("&",5),equality:ut("==/!=/===/!==",6),relational:ut("/<=/>=",7),bitShift:ut("<>/>>>",8),plusMin:new kt("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:ut("%",10),star:ut("*",10),slash:ut("/",10),starstar:new kt("**",{beforeExpr:!0}),coalesce:ut("??",1),_break:It("break"),_case:It("case",ue),_catch:It("catch"),_continue:It("continue"),_debugger:It("debugger"),_default:It("default",ue),_do:It("do",{isLoop:!0,beforeExpr:!0}),_else:It("else",ue),_finally:It("finally"),_for:It("for",{isLoop:!0}),_function:It("function",xt),_if:It("if"),_return:It("return",ue),_switch:It("switch"),_throw:It("throw",ue),_try:It("try"),_var:It("var"),_const:It("const"),_while:It("while",{isLoop:!0}),_with:It("with"),_new:It("new",{beforeExpr:!0,startsExpr:!0}),_this:It("this",xt),_super:It("super",xt),_class:It("class",xt),_extends:It("extends",ue),_export:It("export"),_import:It("import",xt),_null:It("null",xt),_true:It("true",xt),_false:It("false",xt),_in:It("in",{beforeExpr:!0,binop:7}),_instanceof:It("instanceof",{beforeExpr:!0,binop:7}),_typeof:It("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:It("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:It("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},Ut=/\r\n?|\n|\u2028|\u2029/,Me=new RegExp(Ut.source,"g");function Kt(i){return i===10||i===13||i===8232||i===8233}function Ve(i,o,m){m===void 0&&(m=i.length);for(var I=o;I>10)+55296,(i&1023)+56320))}var ki=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,Re=function(o,m){this.line=o,this.column=m};Re.prototype.offset=function(o){return new Re(this.line,this.column+o)};var ke=function(o,m,I){this.start=m,this.end=I,o.sourceFile!==null&&(this.source=o.sourceFile)};function pi(i,o){for(var m=1,I=0;;){var N=Ve(i,I,o);if(N<0)return new Re(m,o-I);++m,I=N}}var Ft={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},We=!1;function di(i){var o={};for(var m in Ft)o[m]=i&&$(i,m)?i[m]:Ft[m];if(o.ecmaVersion==="latest"?o.ecmaVersion=1e8:o.ecmaVersion==null?(!We&&typeof console=="object"&&console.warn&&(We=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required. Defaulting to 2020, but this will stop working in the future.`)),o.ecmaVersion=11):o.ecmaVersion>=2015&&(o.ecmaVersion-=2009),o.allowReserved==null&&(o.allowReserved=o.ecmaVersion<5),(!i||i.allowHashBang==null)&&(o.allowHashBang=o.ecmaVersion>=14),de(o.onToken)){var I=o.onToken;o.onToken=function(N){return I.push(N)}}return de(o.onComment)&&(o.onComment=gi(o,o.onComment)),o}function gi(i,o){return function(m,I,N,H,W,it){var nt={type:m?"Block":"Line",value:I,start:N,end:H};i.locations&&(nt.loc=new ke(this,W,it)),i.ranges&&(nt.range=[N,H]),o.push(nt)}}var Mt=1,Vt=2,Rt=4,Ii=8,je=16,Pi=32,si=64,Ai=128,Ze=256,_i=Mt|Vt|Ze;function vi(i,o){return Vt|(i?Rt:0)|(o?Ii:0)}var Ke=0,Ht=1,ge=2,Dt=3,mi=4,bt=5,t=function(o,m,I){this.options=o=di(o),this.sourceFile=o.sourceFile,this.keywords=St(ri[o.ecmaVersion>=6?6:o.sourceType==="module"?"5module":5]);var N="";o.allowReserved!==!0&&(N=ae[o.ecmaVersion>=6?6:o.ecmaVersion===5?5:3],o.sourceType==="module"&&(N+=" await")),this.reservedWords=St(N);var H=(N?N+" ":"")+ae.strict;this.reservedWordsStrict=St(H),this.reservedWordsStrictBind=St(H+" "+ae.strictBind),this.input=String(m),this.containsEsc=!1,I?(this.pos=I,this.lineStart=this.input.lastIndexOf(` `,I-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(Ut).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=A.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=o.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&o.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(Mt),this.regexpState=null,this.privateNameStack=[]},e={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};t.prototype.parse=function(){var o=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(o)},e.inFunction.get=function(){return(this.currentVarScope().flags&Vt)>0},e.inGenerator.get=function(){return(this.currentVarScope().flags&Ii)>0&&!this.currentVarScope().inClassFieldInit},e.inAsync.get=function(){return(this.currentVarScope().flags&Rt)>0&&!this.currentVarScope().inClassFieldInit},e.canAwait.get=function(){for(var i=this.scopeStack.length-1;i>=0;i--){var o=this.scopeStack[i];if(o.inClassFieldInit||o.flags&Ze)return!1;if(o.flags&Vt)return(o.flags&Rt)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},e.allowSuper.get=function(){var i=this.currentThisScope(),o=i.flags,m=i.inClassFieldInit;return(o&si)>0||m||this.options.allowSuperOutsideMethod},e.allowDirectSuper.get=function(){return(this.currentThisScope().flags&Ai)>0},e.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},e.allowNewDotTarget.get=function(){var i=this.currentThisScope(),o=i.flags,m=i.inClassFieldInit;return(o&(Vt|Ze))>0||m},e.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&Ze)>0},t.extend=function(){for(var o=[],m=arguments.length;m--;)o[m]=arguments[m];for(var I=this,N=0;N=,?^&]/.test(N)||N==="!"&&this.input.charAt(I+1)==="=")}i+=o[0].length,Xt.lastIndex=i,i+=Xt.exec(this.input)[0].length,this.input[i]===";"&&i++}},r.eat=function(i){return this.type===i?(this.next(),!0):!1},r.isContextual=function(i){return this.type===A.name&&this.value===i&&!this.containsEsc},r.eatContextual=function(i){return this.isContextual(i)?(this.next(),!0):!1},r.expectContextual=function(i){this.eatContextual(i)||this.unexpected()},r.canInsertSemicolon=function(){return this.type===A.eof||this.type===A.braceR||Ut.test(this.input.slice(this.lastTokEnd,this.start))},r.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},r.semicolon=function(){!this.eat(A.semi)&&!this.insertSemicolon()&&this.unexpected()},r.afterTrailingComma=function(i,o){if(this.type===i)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),o||this.next(),!0},r.expect=function(i){this.eat(i)||this.unexpected()},r.unexpected=function(i){this.raise(i??this.start,"Unexpected token")};var s=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};r.checkPatternErrors=function(i,o){if(i){i.trailingComma>-1&&this.raiseRecoverable(i.trailingComma,"Comma is not permitted after the rest element");var m=o?i.parenthesizedAssign:i.parenthesizedBind;m>-1&&this.raiseRecoverable(m,o?"Assigning to rvalue":"Parenthesized pattern")}},r.checkExpressionErrors=function(i,o){if(!i)return!1;var m=i.shorthandAssign,I=i.doubleProto;if(!o)return m>=0||I>=0;m>=0&&this.raise(m,"Shorthand property assignments are valid only in destructuring patterns"),I>=0&&this.raiseRecoverable(I,"Redefinition of __proto__ property")},r.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&I<56320)return!0;if(te(I,!0)){for(var N=m+1;ht(I=this.input.charCodeAt(N),!0);)++N;if(I===92||I>55295&&I<56320)return!0;var H=this.input.slice(m,N);if(!he.test(H))return!0}return!1},a.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;Xt.lastIndex=this.pos;var i=Xt.exec(this.input),o=this.pos+i[0].length,m;return!Ut.test(this.input.slice(this.pos,o))&&this.input.slice(o,o+8)==="function"&&(o+8===this.input.length||!(ht(m=this.input.charCodeAt(o+8))||m>55295&&m<56320))},a.parseStatement=function(i,o,m){var I=this.type,N=this.startNode(),H;switch(this.isLet(i)&&(I=A._var,H="let"),I){case A._break:case A._continue:return this.parseBreakContinueStatement(N,I.keyword);case A._debugger:return this.parseDebuggerStatement(N);case A._do:return this.parseDoStatement(N);case A._for:return this.parseForStatement(N);case A._function:return i&&(this.strict||i!=="if"&&i!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(N,!1,!i);case A._class:return i&&this.unexpected(),this.parseClass(N,!0);case A._if:return this.parseIfStatement(N);case A._return:return this.parseReturnStatement(N);case A._switch:return this.parseSwitchStatement(N);case A._throw:return this.parseThrowStatement(N);case A._try:return this.parseTryStatement(N);case A._const:case A._var:return H=H||this.value,i&&H!=="var"&&this.unexpected(),this.parseVarStatement(N,H);case A._while:return this.parseWhileStatement(N);case A._with:return this.parseWithStatement(N);case A.braceL:return this.parseBlock(!0,N);case A.semi:return this.parseEmptyStatement(N);case A._export:case A._import:if(this.options.ecmaVersion>10&&I===A._import){Xt.lastIndex=this.pos;var W=Xt.exec(this.input),it=this.pos+W[0].length,nt=this.input.charCodeAt(it);if(nt===40||nt===46)return this.parseExpressionStatement(N,this.parseExpression())}return this.options.allowImportExportEverywhere||(o||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),I===A._import?this.parseImport(N):this.parseExport(N,m);default:if(this.isAsyncFunction())return i&&this.unexpected(),this.next(),this.parseFunctionStatement(N,!0,!i);var wt=this.value,_t=this.parseExpression();return I===A.name&&_t.type==="Identifier"&&this.eat(A.colon)?this.parseLabeledStatement(N,wt,_t,i):this.parseExpressionStatement(N,_t)}},a.parseBreakContinueStatement=function(i,o){var m=o==="break";this.next(),this.eat(A.semi)||this.insertSemicolon()?i.label=null:this.type!==A.name?this.unexpected():(i.label=this.parseIdent(),this.semicolon());for(var I=0;I=6?this.eat(A.semi):this.semicolon(),this.finishNode(i,"DoWhileStatement")},a.parseForStatement=function(i){this.next();var o=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(u),this.enterScope(0),this.expect(A.parenL),this.type===A.semi)return o>-1&&this.unexpected(o),this.parseFor(i,null);var m=this.isLet();if(this.type===A._var||this.type===A._const||m){var I=this.startNode(),N=m?"let":this.value;return this.next(),this.parseVar(I,!0,N),this.finishNode(I,"VariableDeclaration"),(this.type===A._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&I.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===A._in?o>-1&&this.unexpected(o):i.await=o>-1),this.parseForIn(i,I)):(o>-1&&this.unexpected(o),this.parseFor(i,I))}var H=this.isContextual("let"),W=!1,it=this.containsEsc,nt=new s,wt=this.start,_t=o>-1?this.parseExprSubscripts(nt,"await"):this.parseExpression(!0,nt);return this.type===A._in||(W=this.options.ecmaVersion>=6&&this.isContextual("of"))?(o>-1?(this.type===A._in&&this.unexpected(o),i.await=!0):W&&this.options.ecmaVersion>=8&&(_t.start===wt&&!it&&_t.type==="Identifier"&&_t.name==="async"?this.unexpected():this.options.ecmaVersion>=9&&(i.await=!1)),H&&W&&this.raise(_t.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(_t,!1,nt),this.checkLValPattern(_t),this.parseForIn(i,_t)):(this.checkExpressionErrors(nt,!0),o>-1&&this.unexpected(o),this.parseFor(i,_t))},a.parseFunctionStatement=function(i,o,m){return this.next(),this.parseFunction(i,f|(m?0:g),!1,o)},a.parseIfStatement=function(i){return this.next(),i.test=this.parseParenExpression(),i.consequent=this.parseStatement("if"),i.alternate=this.eat(A._else)?this.parseStatement("if"):null,this.finishNode(i,"IfStatement")},a.parseReturnStatement=function(i){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(A.semi)||this.insertSemicolon()?i.argument=null:(i.argument=this.parseExpression(),this.semicolon()),this.finishNode(i,"ReturnStatement")},a.parseSwitchStatement=function(i){this.next(),i.discriminant=this.parseParenExpression(),i.cases=[],this.expect(A.braceL),this.labels.push(h),this.enterScope(0);for(var o,m=!1;this.type!==A.braceR;)if(this.type===A._case||this.type===A._default){var I=this.type===A._case;o&&this.finishNode(o,"SwitchCase"),i.cases.push(o=this.startNode()),o.consequent=[],this.next(),I?o.test=this.parseExpression():(m&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),m=!0,o.test=null),this.expect(A.colon)}else o||this.unexpected(),o.consequent.push(this.parseStatement(null));return this.exitScope(),o&&this.finishNode(o,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(i,"SwitchStatement")},a.parseThrowStatement=function(i){return this.next(),Ut.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),i.argument=this.parseExpression(),this.semicolon(),this.finishNode(i,"ThrowStatement")};var l=[];a.parseCatchClauseParam=function(){var i=this.parseBindingAtom(),o=i.type==="Identifier";return this.enterScope(o?Pi:0),this.checkLValPattern(i,o?mi:ge),this.expect(A.parenR),i},a.parseTryStatement=function(i){if(this.next(),i.block=this.parseBlock(),i.handler=null,this.type===A._catch){var o=this.startNode();this.next(),this.eat(A.parenL)?o.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),o.param=null,this.enterScope(0)),o.body=this.parseBlock(!1),this.exitScope(),i.handler=this.finishNode(o,"CatchClause")}return i.finalizer=this.eat(A._finally)?this.parseBlock():null,!i.handler&&!i.finalizer&&this.raise(i.start,"Missing catch or finally clause"),this.finishNode(i,"TryStatement")},a.parseVarStatement=function(i,o,m){return this.next(),this.parseVar(i,!1,o,m),this.semicolon(),this.finishNode(i,"VariableDeclaration")},a.parseWhileStatement=function(i){return this.next(),i.test=this.parseParenExpression(),this.labels.push(u),i.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(i,"WhileStatement")},a.parseWithStatement=function(i){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),i.object=this.parseParenExpression(),i.body=this.parseStatement("with"),this.finishNode(i,"WithStatement")},a.parseEmptyStatement=function(i){return this.next(),this.finishNode(i,"EmptyStatement")},a.parseLabeledStatement=function(i,o,m,I){for(var N=0,H=this.labels;N=0;nt--){var wt=this.labels[nt];if(wt.statementStart===i.start)wt.statementStart=this.start,wt.kind=it;else break}return this.labels.push({name:o,kind:it,statementStart:this.start}),i.body=this.parseStatement(I?I.indexOf("label")===-1?I+"label":I:"label"),this.labels.pop(),i.label=m,this.finishNode(i,"LabeledStatement")},a.parseExpressionStatement=function(i,o){return i.expression=o,this.semicolon(),this.finishNode(i,"ExpressionStatement")},a.parseBlock=function(i,o,m){for(i===void 0&&(i=!0),o===void 0&&(o=this.startNode()),o.body=[],this.expect(A.braceL),i&&this.enterScope(0);this.type!==A.braceR;){var I=this.parseStatement(null);o.body.push(I)}return m&&(this.strict=!1),this.next(),i&&this.exitScope(),this.finishNode(o,"BlockStatement")},a.parseFor=function(i,o){return i.init=o,this.expect(A.semi),i.test=this.type===A.semi?null:this.parseExpression(),this.expect(A.semi),i.update=this.type===A.parenR?null:this.parseExpression(),this.expect(A.parenR),i.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(i,"ForStatement")},a.parseForIn=function(i,o){var m=this.type===A._in;return this.next(),o.type==="VariableDeclaration"&&o.declarations[0].init!=null&&(!m||this.options.ecmaVersion<8||this.strict||o.kind!=="var"||o.declarations[0].id.type!=="Identifier")&&this.raise(o.start,(m?"for-in":"for-of")+" loop variable declaration may not have an initializer"),i.left=o,i.right=m?this.parseExpression():this.parseMaybeAssign(),this.expect(A.parenR),i.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(i,m?"ForInStatement":"ForOfStatement")},a.parseVar=function(i,o,m,I){for(i.declarations=[],i.kind=m;;){var N=this.startNode();if(this.parseVarId(N,m),this.eat(A.eq)?N.init=this.parseMaybeAssign(o):!I&&m==="const"&&!(this.type===A._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():!I&&N.id.type!=="Identifier"&&!(o&&(this.type===A._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):N.init=null,i.declarations.push(this.finishNode(N,"VariableDeclarator")),!this.eat(A.comma))break}return i},a.parseVarId=function(i,o){i.id=this.parseBindingAtom(),this.checkLValPattern(i.id,o==="var"?Ht:ge,!1)};var f=1,g=2,v=4;a.parseFunction=function(i,o,m,I,N){this.initFunction(i),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!I)&&(this.type===A.star&&o&g&&this.unexpected(),i.generator=this.eat(A.star)),this.options.ecmaVersion>=8&&(i.async=!!I),o&f&&(i.id=o&v&&this.type!==A.name?null:this.parseIdent(),i.id&&!(o&g)&&this.checkLValSimple(i.id,this.strict||i.generator||i.async?this.treatFunctionsAsVar?Ht:ge:Dt));var H=this.yieldPos,W=this.awaitPos,it=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(vi(i.async,i.generator)),o&f||(i.id=this.type===A.name?this.parseIdent():null),this.parseFunctionParams(i),this.parseFunctionBody(i,m,!1,N),this.yieldPos=H,this.awaitPos=W,this.awaitIdentPos=it,this.finishNode(i,o&f?"FunctionDeclaration":"FunctionExpression")},a.parseFunctionParams=function(i){this.expect(A.parenL),i.params=this.parseBindingList(A.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},a.parseClass=function(i,o){this.next();var m=this.strict;this.strict=!0,this.parseClassId(i,o),this.parseClassSuper(i);var I=this.enterClassBody(),N=this.startNode(),H=!1;for(N.body=[],this.expect(A.braceL);this.type!==A.braceR;){var W=this.parseClassElement(i.superClass!==null);W&&(N.body.push(W),W.type==="MethodDefinition"&&W.kind==="constructor"?(H&&this.raiseRecoverable(W.start,"Duplicate constructor in the same class"),H=!0):W.key&&W.key.type==="PrivateIdentifier"&&d(I,W)&&this.raiseRecoverable(W.key.start,"Identifier '#"+W.key.name+"' has already been declared"))}return this.strict=m,this.next(),i.body=this.finishNode(N,"ClassBody"),this.exitClassBody(),this.finishNode(i,o?"ClassDeclaration":"ClassExpression")},a.parseClassElement=function(i){if(this.eat(A.semi))return null;var o=this.options.ecmaVersion,m=this.startNode(),I="",N=!1,H=!1,W="method",it=!1;if(this.eatContextual("static")){if(o>=13&&this.eat(A.braceL))return this.parseClassStaticBlock(m),m;this.isClassElementNameStart()||this.type===A.star?it=!0:I="static"}if(m.static=it,!I&&o>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===A.star)&&!this.canInsertSemicolon()?H=!0:I="async"),!I&&(o>=9||!H)&&this.eat(A.star)&&(N=!0),!I&&!H&&!N){var nt=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?W=nt:I=nt)}if(I?(m.computed=!1,m.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),m.key.name=I,this.finishNode(m.key,"Identifier")):this.parseClassElementName(m),o<13||this.type===A.parenL||W!=="method"||N||H){var wt=!m.static&&p(m,"constructor"),_t=wt&&i;wt&&W!=="method"&&this.raise(m.key.start,"Constructor can't have get/set modifier"),m.kind=wt?"constructor":W,this.parseClassMethod(m,N,H,_t)}else this.parseClassField(m);return m},a.isClassElementNameStart=function(){return this.type===A.name||this.type===A.privateId||this.type===A.num||this.type===A.string||this.type===A.bracketL||this.type.keyword},a.parseClassElementName=function(i){this.type===A.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),i.computed=!1,i.key=this.parsePrivateIdent()):this.parsePropertyName(i)},a.parseClassMethod=function(i,o,m,I){var N=i.key;i.kind==="constructor"?(o&&this.raise(N.start,"Constructor can't be a generator"),m&&this.raise(N.start,"Constructor can't be an async method")):i.static&&p(i,"prototype")&&this.raise(N.start,"Classes may not have a static property named prototype");var H=i.value=this.parseMethod(o,m,I);return i.kind==="get"&&H.params.length!==0&&this.raiseRecoverable(H.start,"getter should have no params"),i.kind==="set"&&H.params.length!==1&&this.raiseRecoverable(H.start,"setter should have exactly one param"),i.kind==="set"&&H.params[0].type==="RestElement"&&this.raiseRecoverable(H.params[0].start,"Setter cannot use rest params"),this.finishNode(i,"MethodDefinition")},a.parseClassField=function(i){if(p(i,"constructor")?this.raise(i.key.start,"Classes can't have a field named 'constructor'"):i.static&&p(i,"prototype")&&this.raise(i.key.start,"Classes can't have a static field named 'prototype'"),this.eat(A.eq)){var o=this.currentThisScope(),m=o.inClassFieldInit;o.inClassFieldInit=!0,i.value=this.parseMaybeAssign(),o.inClassFieldInit=m}else i.value=null;return this.semicolon(),this.finishNode(i,"PropertyDefinition")},a.parseClassStaticBlock=function(i){i.body=[];var o=this.labels;for(this.labels=[],this.enterScope(Ze|si);this.type!==A.braceR;){var m=this.parseStatement(null);i.body.push(m)}return this.next(),this.exitScope(),this.labels=o,this.finishNode(i,"StaticBlock")},a.parseClassId=function(i,o){this.type===A.name?(i.id=this.parseIdent(),o&&this.checkLValSimple(i.id,ge,!1)):(o===!0&&this.unexpected(),i.id=null)},a.parseClassSuper=function(i){i.superClass=this.eat(A._extends)?this.parseExprSubscripts(null,!1):null},a.enterClassBody=function(){var i={declared:Object.create(null),used:[]};return this.privateNameStack.push(i),i.declared},a.exitClassBody=function(){var i=this.privateNameStack.pop(),o=i.declared,m=i.used;if(this.options.checkPrivateFields)for(var I=this.privateNameStack.length,N=I===0?null:this.privateNameStack[I-1],H=0;H=11&&(this.eatContextual("as")?(i.exported=this.parseModuleExportName(),this.checkExport(o,i.exported,this.lastTokStart)):i.exported=null),this.expectContextual("from"),this.type!==A.string&&this.unexpected(),i.source=this.parseExprAtom(),this.semicolon(),this.finishNode(i,"ExportAllDeclaration")},a.parseExport=function(i,o){if(this.next(),this.eat(A.star))return this.parseExportAllDeclaration(i,o);if(this.eat(A._default))return this.checkExport(o,"default",this.lastTokStart),i.declaration=this.parseExportDefaultDeclaration(),this.finishNode(i,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())i.declaration=this.parseExportDeclaration(i),i.declaration.type==="VariableDeclaration"?this.checkVariableExport(o,i.declaration.declarations):this.checkExport(o,i.declaration.id,i.declaration.id.start),i.specifiers=[],i.source=null;else{if(i.declaration=null,i.specifiers=this.parseExportSpecifiers(o),this.eatContextual("from"))this.type!==A.string&&this.unexpected(),i.source=this.parseExprAtom();else{for(var m=0,I=i.specifiers;m=13&&this.type===A.string){var i=this.parseLiteral(this.value);return ki.test(i.value)&&this.raise(i.start,"An export name cannot include a lone surrogate."),i}return this.parseIdent(!0)},a.adaptDirectivePrologue=function(i){for(var o=0;o=5&&i.type==="ExpressionStatement"&&i.expression.type==="Literal"&&typeof i.expression.value=="string"&&(this.input[i.start]==='"'||this.input[i.start]==="'")};var C=t.prototype;C.toAssignable=function(i,o,m){if(this.options.ecmaVersion>=6&&i)switch(i.type){case"Identifier":this.inAsync&&i.name==="await"&&this.raise(i.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":i.type="ObjectPattern",m&&this.checkPatternErrors(m,!0);for(var I=0,N=i.properties;I=8&&!it&&nt.name==="async"&&!this.canInsertSemicolon()&&this.eat(A._function))return this.overrideContext(b.f_expr),this.parseFunction(this.startNodeAt(H,W),0,!1,!0,o);if(N&&!this.canInsertSemicolon()){if(this.eat(A.arrow))return this.parseArrowExpression(this.startNodeAt(H,W),[nt],!1,o);if(this.options.ecmaVersion>=8&&nt.name==="async"&&this.type===A.name&&!it&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return nt=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(A.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(H,W),[nt],!0,o)}return nt;case A.regexp:var wt=this.value;return I=this.parseLiteral(wt.value),I.regex={pattern:wt.pattern,flags:wt.flags},I;case A.num:case A.string:return this.parseLiteral(this.value);case A._null:case A._true:case A._false:return I=this.startNode(),I.value=this.type===A._null?null:this.type===A._true,I.raw=this.type.keyword,this.next(),this.finishNode(I,"Literal");case A.parenL:var _t=this.start,Jt=this.parseParenAndDistinguishExpression(N,o);return i&&(i.parenthesizedAssign<0&&!this.isSimpleAssignTarget(Jt)&&(i.parenthesizedAssign=_t),i.parenthesizedBind<0&&(i.parenthesizedBind=_t)),Jt;case A.bracketL:return I=this.startNode(),this.next(),I.elements=this.parseExprList(A.bracketR,!0,!0,i),this.finishNode(I,"ArrayExpression");case A.braceL:return this.overrideContext(b.b_expr),this.parseObj(!1,i);case A._function:return I=this.startNode(),this.next(),this.parseFunction(I,0);case A._class:return this.parseClass(this.startNode(),!1);case A._new:return this.parseNew();case A.backQuote:return this.parseTemplate();case A._import:return this.options.ecmaVersion>=11?this.parseExprImport(m):this.unexpected();default:return this.parseExprAtomDefault()}},y.parseExprAtomDefault=function(){this.unexpected()},y.parseExprImport=function(i){var o=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import"),this.next(),this.type===A.parenL&&!i)return this.parseDynamicImport(o);if(this.type===A.dot){var m=this.startNodeAt(o.start,o.loc&&o.loc.start);return m.name="import",o.meta=this.finishNode(m,"Identifier"),this.parseImportMeta(o)}else this.unexpected()},y.parseDynamicImport=function(i){if(this.next(),i.source=this.parseMaybeAssign(),!this.eat(A.parenR)){var o=this.start;this.eat(A.comma)&&this.eat(A.parenR)?this.raiseRecoverable(o,"Trailing comma is not allowed in import()"):this.unexpected(o)}return this.finishNode(i,"ImportExpression")},y.parseImportMeta=function(i){this.next();var o=this.containsEsc;return i.property=this.parseIdent(!0),i.property.name!=="meta"&&this.raiseRecoverable(i.property.start,"The only valid meta property for import is 'import.meta'"),o&&this.raiseRecoverable(i.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(i.start,"Cannot use 'import.meta' outside a module"),this.finishNode(i,"MetaProperty")},y.parseLiteral=function(i){var o=this.startNode();return o.value=i,o.raw=this.input.slice(this.start,this.end),o.raw.charCodeAt(o.raw.length-1)===110&&(o.bigint=o.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(o,"Literal")},y.parseParenExpression=function(){this.expect(A.parenL);var i=this.parseExpression();return this.expect(A.parenR),i},y.shouldParseArrow=function(i){return!this.canInsertSemicolon()},y.parseParenAndDistinguishExpression=function(i,o){var m=this.start,I=this.startLoc,N,H=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var W=this.start,it=this.startLoc,nt=[],wt=!0,_t=!1,Jt=new s,Te=this.yieldPos,Ye=this.awaitPos,Fe;for(this.yieldPos=0,this.awaitPos=0;this.type!==A.parenR;)if(wt?wt=!1:this.expect(A.comma),H&&this.afterTrailingComma(A.parenR,!0)){_t=!0;break}else if(this.type===A.ellipsis){Fe=this.start,nt.push(this.parseParenItem(this.parseRestBinding())),this.type===A.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}else nt.push(this.parseMaybeAssign(!1,Jt,this.parseParenItem));var hi=this.lastTokEnd,De=this.lastTokEndLoc;if(this.expect(A.parenR),i&&this.shouldParseArrow(nt)&&this.eat(A.arrow))return this.checkPatternErrors(Jt,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=Te,this.awaitPos=Ye,this.parseParenArrowList(m,I,nt,o);(!nt.length||_t)&&this.unexpected(this.lastTokStart),Fe&&this.unexpected(Fe),this.checkExpressionErrors(Jt,!0),this.yieldPos=Te||this.yieldPos,this.awaitPos=Ye||this.awaitPos,nt.length>1?(N=this.startNodeAt(W,it),N.expressions=nt,this.finishNodeAt(N,"SequenceExpression",hi,De)):N=nt[0]}else N=this.parseParenExpression();if(this.options.preserveParens){var Le=this.startNodeAt(m,I);return Le.expression=N,this.finishNode(Le,"ParenthesizedExpression")}else return N},y.parseParenItem=function(i){return i},y.parseParenArrowList=function(i,o,m,I){return this.parseArrowExpression(this.startNodeAt(i,o),m,!1,I)};var k=[];y.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var i=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===A.dot){var o=this.startNodeAt(i.start,i.loc&&i.loc.start);o.name="new",i.meta=this.finishNode(o,"Identifier"),this.next();var m=this.containsEsc;return i.property=this.parseIdent(!0),i.property.name!=="target"&&this.raiseRecoverable(i.property.start,"The only valid meta property for new is 'new.target'"),m&&this.raiseRecoverable(i.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(i.start,"'new.target' can only be used in functions and class static block"),this.finishNode(i,"MetaProperty")}var I=this.start,N=this.startLoc;return i.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),I,N,!0,!1),this.eat(A.parenL)?i.arguments=this.parseExprList(A.parenR,this.options.ecmaVersion>=8,!1):i.arguments=k,this.finishNode(i,"NewExpression")},y.parseTemplateElement=function(i){var o=i.isTagged,m=this.startNode();return this.type===A.invalidTemplate?(o||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),m.value={raw:this.value.replace(/\r\n?/g,` `),cooked:null}):m.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,` diff --git a/assets/chunks/state.B52xOU23.js b/assets/chunks/state.B52xOU23.js new file mode 100644 index 0000000000..b78f646c99 --- /dev/null +++ b/assets/chunks/state.B52xOU23.js @@ -0,0 +1 @@ +import{b as e,u as o}from"./framework.CQBrk0Ry.js";const t=e({colorize:o("colorize-notes",!1)});export{t as s}; diff --git a/assets/chunks/state.D7Rc2kFZ.js b/assets/chunks/state.D7Rc2kFZ.js deleted file mode 100644 index 236fa1dcaa..0000000000 --- a/assets/chunks/state.D7Rc2kFZ.js +++ /dev/null @@ -1 +0,0 @@ -import{b as e,u as o}from"./framework.BR0mAPCP.js";const t=e({colorize:o("colorize-notes",!1)});export{t as s}; diff --git a/assets/chunks/svg2pdf.es.min.DXlvr2vZ.js b/assets/chunks/svg2pdf.es.min.CX1mGVxl.js similarity index 99% rename from assets/chunks/svg2pdf.es.min.DXlvr2vZ.js rename to assets/chunks/svg2pdf.es.min.CX1mGVxl.js index b0187c8804..fc47bff237 100644 --- a/assets/chunks/svg2pdf.es.min.DXlvr2vZ.js +++ b/assets/chunks/svg2pdf.es.min.CX1mGVxl.js @@ -1,4 +1,4 @@ -import{A as Et}from"./theme.ClagsQLu.js";import{E as Zt,j as Nt,B as xe,M as Se}from"./jspdf.es.min.By_B_Pou.js";import"./framework.BR0mAPCP.js";/*! https://mths.be/cssesc v3.0.0 by @mathias */var we={},ke=we.hasOwnProperty,Me=function(r,t){if(!r)return t;var i={};for(var n in t)i[n]=ke.call(r,n)?r[n]:t[n];return i},Ce=/[ -,\.\/:-@\[-\^`\{-~]/,Ae=/[ -,\.\/:-@\[\]\^`\{-~]/,Fe=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,Bt=function e(r,t){t=Me(t,e.options),t.quotes!="single"&&t.quotes!="double"&&(t.quotes="single");for(var i=t.quotes=="double"?'"':"'",n=t.isIdentifier,s=r.charAt(0),a="",o=0,l=r.length;o126){if(u>=55296&&u<=56319&&o=5760&&_e.indexOf(e)>=0}function Oe(e){switch(e|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:case 114:return!0}return!1}function Re(e){return(e|32)===97}function J(e){return e>=48&&e<=57}function De(e){return e>=48&&e<=57||e===43||e===45||e===46}function qe(e){this.index=0,this.path=e,this.max=e.length,this.result=[],this.param=0,this.err="",this.segmentStart=0,this.data=[]}function gt(e){for(;e.index=i){e.err="SvgPath: missed param (at pos "+t+")";return}if(l=e.path.charCodeAt(t),(l===43||l===45)&&(t++,l=t2&&(e.result.push([r,i[0],i[1]]),i=i.slice(2),t="l",r=r==="m"?"l":"L"),t==="r")e.result.push([r].concat(i));else for(;i.length>=dt[t]&&(e.result.push([r].concat(i.splice(0,dt[t]))),!!dt[t]););}function We(e){var r=e.max,t,i,n,s,a;if(e.segmentStart=e.index,t=e.path.charCodeAt(e.index),i=Re(t),!Oe(t)){e.err="SvgPath: bad command "+e.path[e.index]+" (at pos "+e.index+")";return}if(s=dt[e.path[e.index].toLowerCase()],e.index++,gt(e),e.data=[],!s){kt(e);return}for(n=!1;;){for(a=s;a>0;a--){if(i&&(a===3||a===4)?He(e):Ve(e),e.err.length){kt(e);return}e.data.push(e.param),gt(e),n=!1,e.index=e.max||!De(e.path.charCodeAt(e.index))))break}kt(e)}var je=function(r){var t=new qe(r),i=t.max;for(gt(t);t.index1&&(s=1),s<-1&&(s=-1),n*Math.acos(s)}function Qe(e,r,t,i,n,s,a,o,l,h){var u=h*(e-t)/2+l*(r-i)/2,f=-l*(e-t)/2+h*(r-i)/2,c=a*a,g=o*o,m=u*u,d=f*f,y=c*g-c*d-g*m;y<0&&(y=0),y/=c*d+g*m,y=Math.sqrt(y)*(n===s?-1:1);var v=y*a/o*f,x=y*-o/a*u,S=h*v-l*x+(e+t)/2,k=l*v+h*x+(r+i)/2,b=(u-v)/a,w=(f-x)/o,T=(-u-v)/a,I=(-f-x)/o,_=Gt(1,0,b,w),E=Gt(b,w,T,I);return s===0&&E>0&&(E-=nt),s===1&&E<0&&(E+=nt),[S,k,_,E]}function Ke(e,r){var t=1.3333333333333333*Math.tan(r/4),i=Math.cos(e),n=Math.sin(e),s=Math.cos(e+r),a=Math.sin(e+r);return[i,n,i-n*t,n+i*t,s+a*t,a-s*t,s,a]}var Je=function(r,t,i,n,s,a,o,l,h){var u=Math.sin(h*nt/360),f=Math.cos(h*nt/360),c=f*(r-i)/2+u*(t-n)/2,g=-u*(r-i)/2+f*(t-n)/2;if(c===0&&g===0)return[];if(o===0||l===0)return[];o=Math.abs(o),l=Math.abs(l);var m=c*c/(o*o)+g*g/(l*l);m>1&&(o*=Math.sqrt(m),l*=Math.sqrt(m));var d=Qe(r,t,i,n,s,a,o,l,u,f),y=[],v=d[2],x=d[3],S=Math.max(Math.ceil(Math.abs(x)/(nt/4)),1);x/=S;for(var k=0;kMath.abs(h-s)?(h-n)/l:l/(h-s))*180/Math.PI,this.ax>=0?(this.rx=Math.sqrt(h),this.ry=Math.sqrt(u)):(this.ax+=90,this.rx=Math.sqrt(u),this.ry=Math.sqrt(h)),this};st.prototype.isDegenerate=function(){return this.rx0,o=e.calc(i[1],i[2],u),l=["m",o[0],o[1]];break;default:for(h=i[0],l=[h],u=h.toLowerCase()===h,t=1;t=0;)e.matrix(this.__stack[r].toArray());this.__matrix(e),this.__stack=[]}};F.prototype.toString=function(){var e="",r="",t=!1;this.__evaluateStack();for(var i=0,n=this.segments.length;i=0&&(e+=" "):l>=0&&(e+=" "),e+=l}r=a}return e};F.prototype.translate=function(e,r){return this.__stack.push(Y().translate(e,r||0)),this};F.prototype.scale=function(e,r){return this.__stack.push(Y().scale(e,!r&&r!==0?e:r)),this};F.prototype.rotate=function(e,r,t){return this.__stack.push(Y().rotate(e,r||0,t||0)),this};F.prototype.skewX=function(e){return this.__stack.push(Y().skewX(e)),this};F.prototype.skewY=function(e){return this.__stack.push(Y().skewY(e)),this};F.prototype.matrix=function(e){return this.__stack.push(Y().matrix(e)),this};F.prototype.transform=function(e){return e.trim()?(this.__stack.push(er(e)),this):this};F.prototype.round=function(e){var r=0,t=0,i=0,n=0,s;return e=e||0,this.__evaluateStack(),this.segments.forEach(function(a){var o=a[0].toLowerCase()===a[0];switch(a[0]){case"H":case"h":o&&(a[1]+=i),i=a[1]-a[1].toFixed(e),a[1]=+a[1].toFixed(e);return;case"V":case"v":o&&(a[1]+=n),n=a[1]-a[1].toFixed(e),a[1]=+a[1].toFixed(e);return;case"Z":case"z":i=r,n=t;return;case"M":case"m":o&&(a[1]+=i,a[2]+=n),i=a[1]-a[1].toFixed(e),n=a[2]-a[2].toFixed(e),r=i,t=n,a[1]=+a[1].toFixed(e),a[2]=+a[2].toFixed(e);return;case"A":case"a":o&&(a[6]+=i,a[7]+=n),i=a[6]-a[6].toFixed(e),n=a[7]-a[7].toFixed(e),a[1]=+a[1].toFixed(e),a[2]=+a[2].toFixed(e),a[3]=+a[3].toFixed(e+2),a[6]=+a[6].toFixed(e),a[7]=+a[7].toFixed(e);return;default:s=a.length,o&&(a[s-2]+=i,a[s-1]+=n),i=a[s-2]-a[s-2].toFixed(e),n=a[s-1]-a[s-1].toFixed(e),a.forEach(function(l,h){h&&(a[h]=+a[h].toFixed(e))});return}}),this};F.prototype.iterate=function(e,r){var t=this.segments,i={},n=!1,s=0,a=0,o=0,l=0,h,u,f;if(r||this.__evaluateStack(),t.forEach(function(c,g){var m=e(c,g,s,a);Array.isArray(m)&&(i[g]=m,n=!0);var d=c[0]===c[0].toLowerCase();switch(c[0]){case"m":case"M":s=c[1]+(d?s:0),a=c[2]+(d?a:0),o=s,l=a;return;case"h":case"H":s=c[1]+(d?s:0);return;case"v":case"V":a=c[1]+(d?a:0);return;case"z":case"Z":s=o,a=l;return;default:s=c[c.length-2]+(d?s:0),a=c[c.length-1]+(d?a:0)}}),!n)return this;for(f=[],h=0;h~\.\[:\)]+)/g,o=/(\.[^\s\+>~\.\[:\)]+)/g,l=/(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi,h=/(:(?!not|global|local)[\w-]+\([^\)]*\))/gi,u=/(:(?!not|global|local)[^\s\+>~\.\[:]+)/g,f=/([^\s\+>~\.\[:]+)/g;return t=function(c,g){var m,d,y,v,x,S;if(c.test(r))for(m=r.match(c),d=0,y=m.length;d~]/g," "),r=r.replace(/[#\.]/g," "),r=r.replace(/:not/g," "),r=r.replace(/:local/g," "),r=r.replace(/:global/g," "),r=r.replace(/[\(\)]/g," "),t(f,"c"),n.sort(function(c,g){return c.index-g.index}),{selector:e,specificity:"0,"+i.a.toString()+","+i.b.toString()+","+i.c.toString(),specificityArray:[0,i.a,i.b,i.c],parts:n}},or=function(e,r){var t,i,n;if(typeof e=="string"){if(e.indexOf(",")!==-1)throw"Invalid CSS selector";t=zt(e).specificityArray}else if(Array.isArray(e)){if(e.filter(function(s){return typeof s=="number"}).length!==4)throw"Invalid specificity array";t=e}else throw"Invalid CSS selector or specificity array";if(typeof r=="string"){if(r.indexOf(",")!==-1)throw"Invalid CSS selector";i=zt(r).specificityArray}else if(Array.isArray(r)){if(r.filter(function(s){return typeof s=="number"}).length!==4)throw"Invalid specificity array";i=r}else throw"Invalid CSS selector or specificity array";for(n=0;n<4;n+=1){if(t[n]i[n])return 1}return 0};/*! ***************************************************************************** +import{A as Et}from"./theme.Dd_Fb62b.js";import{E as Zt,j as Nt,B as xe,M as Se}from"./jspdf.es.min.DHD_tvxK.js";import"./framework.CQBrk0Ry.js";/*! https://mths.be/cssesc v3.0.0 by @mathias */var we={},ke=we.hasOwnProperty,Me=function(r,t){if(!r)return t;var i={};for(var n in t)i[n]=ke.call(r,n)?r[n]:t[n];return i},Ce=/[ -,\.\/:-@\[-\^`\{-~]/,Ae=/[ -,\.\/:-@\[\]\^`\{-~]/,Fe=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,Bt=function e(r,t){t=Me(t,e.options),t.quotes!="single"&&t.quotes!="double"&&(t.quotes="single");for(var i=t.quotes=="double"?'"':"'",n=t.isIdentifier,s=r.charAt(0),a="",o=0,l=r.length;o126){if(u>=55296&&u<=56319&&o=5760&&_e.indexOf(e)>=0}function Oe(e){switch(e|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:case 114:return!0}return!1}function Re(e){return(e|32)===97}function J(e){return e>=48&&e<=57}function De(e){return e>=48&&e<=57||e===43||e===45||e===46}function qe(e){this.index=0,this.path=e,this.max=e.length,this.result=[],this.param=0,this.err="",this.segmentStart=0,this.data=[]}function gt(e){for(;e.index=i){e.err="SvgPath: missed param (at pos "+t+")";return}if(l=e.path.charCodeAt(t),(l===43||l===45)&&(t++,l=t2&&(e.result.push([r,i[0],i[1]]),i=i.slice(2),t="l",r=r==="m"?"l":"L"),t==="r")e.result.push([r].concat(i));else for(;i.length>=dt[t]&&(e.result.push([r].concat(i.splice(0,dt[t]))),!!dt[t]););}function We(e){var r=e.max,t,i,n,s,a;if(e.segmentStart=e.index,t=e.path.charCodeAt(e.index),i=Re(t),!Oe(t)){e.err="SvgPath: bad command "+e.path[e.index]+" (at pos "+e.index+")";return}if(s=dt[e.path[e.index].toLowerCase()],e.index++,gt(e),e.data=[],!s){kt(e);return}for(n=!1;;){for(a=s;a>0;a--){if(i&&(a===3||a===4)?He(e):Ve(e),e.err.length){kt(e);return}e.data.push(e.param),gt(e),n=!1,e.index=e.max||!De(e.path.charCodeAt(e.index))))break}kt(e)}var je=function(r){var t=new qe(r),i=t.max;for(gt(t);t.index1&&(s=1),s<-1&&(s=-1),n*Math.acos(s)}function Qe(e,r,t,i,n,s,a,o,l,h){var u=h*(e-t)/2+l*(r-i)/2,f=-l*(e-t)/2+h*(r-i)/2,c=a*a,g=o*o,m=u*u,d=f*f,y=c*g-c*d-g*m;y<0&&(y=0),y/=c*d+g*m,y=Math.sqrt(y)*(n===s?-1:1);var v=y*a/o*f,x=y*-o/a*u,S=h*v-l*x+(e+t)/2,k=l*v+h*x+(r+i)/2,b=(u-v)/a,w=(f-x)/o,T=(-u-v)/a,I=(-f-x)/o,_=Gt(1,0,b,w),E=Gt(b,w,T,I);return s===0&&E>0&&(E-=nt),s===1&&E<0&&(E+=nt),[S,k,_,E]}function Ke(e,r){var t=1.3333333333333333*Math.tan(r/4),i=Math.cos(e),n=Math.sin(e),s=Math.cos(e+r),a=Math.sin(e+r);return[i,n,i-n*t,n+i*t,s+a*t,a-s*t,s,a]}var Je=function(r,t,i,n,s,a,o,l,h){var u=Math.sin(h*nt/360),f=Math.cos(h*nt/360),c=f*(r-i)/2+u*(t-n)/2,g=-u*(r-i)/2+f*(t-n)/2;if(c===0&&g===0)return[];if(o===0||l===0)return[];o=Math.abs(o),l=Math.abs(l);var m=c*c/(o*o)+g*g/(l*l);m>1&&(o*=Math.sqrt(m),l*=Math.sqrt(m));var d=Qe(r,t,i,n,s,a,o,l,u,f),y=[],v=d[2],x=d[3],S=Math.max(Math.ceil(Math.abs(x)/(nt/4)),1);x/=S;for(var k=0;kMath.abs(h-s)?(h-n)/l:l/(h-s))*180/Math.PI,this.ax>=0?(this.rx=Math.sqrt(h),this.ry=Math.sqrt(u)):(this.ax+=90,this.rx=Math.sqrt(u),this.ry=Math.sqrt(h)),this};st.prototype.isDegenerate=function(){return this.rx0,o=e.calc(i[1],i[2],u),l=["m",o[0],o[1]];break;default:for(h=i[0],l=[h],u=h.toLowerCase()===h,t=1;t=0;)e.matrix(this.__stack[r].toArray());this.__matrix(e),this.__stack=[]}};F.prototype.toString=function(){var e="",r="",t=!1;this.__evaluateStack();for(var i=0,n=this.segments.length;i=0&&(e+=" "):l>=0&&(e+=" "),e+=l}r=a}return e};F.prototype.translate=function(e,r){return this.__stack.push(Y().translate(e,r||0)),this};F.prototype.scale=function(e,r){return this.__stack.push(Y().scale(e,!r&&r!==0?e:r)),this};F.prototype.rotate=function(e,r,t){return this.__stack.push(Y().rotate(e,r||0,t||0)),this};F.prototype.skewX=function(e){return this.__stack.push(Y().skewX(e)),this};F.prototype.skewY=function(e){return this.__stack.push(Y().skewY(e)),this};F.prototype.matrix=function(e){return this.__stack.push(Y().matrix(e)),this};F.prototype.transform=function(e){return e.trim()?(this.__stack.push(er(e)),this):this};F.prototype.round=function(e){var r=0,t=0,i=0,n=0,s;return e=e||0,this.__evaluateStack(),this.segments.forEach(function(a){var o=a[0].toLowerCase()===a[0];switch(a[0]){case"H":case"h":o&&(a[1]+=i),i=a[1]-a[1].toFixed(e),a[1]=+a[1].toFixed(e);return;case"V":case"v":o&&(a[1]+=n),n=a[1]-a[1].toFixed(e),a[1]=+a[1].toFixed(e);return;case"Z":case"z":i=r,n=t;return;case"M":case"m":o&&(a[1]+=i,a[2]+=n),i=a[1]-a[1].toFixed(e),n=a[2]-a[2].toFixed(e),r=i,t=n,a[1]=+a[1].toFixed(e),a[2]=+a[2].toFixed(e);return;case"A":case"a":o&&(a[6]+=i,a[7]+=n),i=a[6]-a[6].toFixed(e),n=a[7]-a[7].toFixed(e),a[1]=+a[1].toFixed(e),a[2]=+a[2].toFixed(e),a[3]=+a[3].toFixed(e+2),a[6]=+a[6].toFixed(e),a[7]=+a[7].toFixed(e);return;default:s=a.length,o&&(a[s-2]+=i,a[s-1]+=n),i=a[s-2]-a[s-2].toFixed(e),n=a[s-1]-a[s-1].toFixed(e),a.forEach(function(l,h){h&&(a[h]=+a[h].toFixed(e))});return}}),this};F.prototype.iterate=function(e,r){var t=this.segments,i={},n=!1,s=0,a=0,o=0,l=0,h,u,f;if(r||this.__evaluateStack(),t.forEach(function(c,g){var m=e(c,g,s,a);Array.isArray(m)&&(i[g]=m,n=!0);var d=c[0]===c[0].toLowerCase();switch(c[0]){case"m":case"M":s=c[1]+(d?s:0),a=c[2]+(d?a:0),o=s,l=a;return;case"h":case"H":s=c[1]+(d?s:0);return;case"v":case"V":a=c[1]+(d?a:0);return;case"z":case"Z":s=o,a=l;return;default:s=c[c.length-2]+(d?s:0),a=c[c.length-1]+(d?a:0)}}),!n)return this;for(f=[],h=0;h~\.\[:\)]+)/g,o=/(\.[^\s\+>~\.\[:\)]+)/g,l=/(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi,h=/(:(?!not|global|local)[\w-]+\([^\)]*\))/gi,u=/(:(?!not|global|local)[^\s\+>~\.\[:]+)/g,f=/([^\s\+>~\.\[:]+)/g;return t=function(c,g){var m,d,y,v,x,S;if(c.test(r))for(m=r.match(c),d=0,y=m.length;d~]/g," "),r=r.replace(/[#\.]/g," "),r=r.replace(/:not/g," "),r=r.replace(/:local/g," "),r=r.replace(/:global/g," "),r=r.replace(/[\(\)]/g," "),t(f,"c"),n.sort(function(c,g){return c.index-g.index}),{selector:e,specificity:"0,"+i.a.toString()+","+i.b.toString()+","+i.c.toString(),specificityArray:[0,i.a,i.b,i.c],parts:n}},or=function(e,r){var t,i,n;if(typeof e=="string"){if(e.indexOf(",")!==-1)throw"Invalid CSS selector";t=zt(e).specificityArray}else if(Array.isArray(e)){if(e.filter(function(s){return typeof s=="number"}).length!==4)throw"Invalid specificity array";t=e}else throw"Invalid CSS selector or specificity array";if(typeof r=="string"){if(r.indexOf(",")!==-1)throw"Invalid CSS selector";i=zt(r).specificityArray}else if(Array.isArray(r)){if(r.filter(function(s){return typeof s=="number"}).length!==4)throw"Invalid specificity array";i=r}else throw"Invalid CSS selector or specificity array";for(n=0;n<4;n+=1){if(t[n]i[n])return 1}return 0};/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any diff --git a/assets/chunks/theme.ClagsQLu.js b/assets/chunks/theme.ClagsQLu.js deleted file mode 100644 index f1ce4786c3..0000000000 --- a/assets/chunks/theme.ClagsQLu.js +++ /dev/null @@ -1,479 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/virtual_pwa-register.BhUC4ktq.js","assets/chunks/framework.BR0mAPCP.js","assets/chunks/index.B2gfHnEn.js"])))=>i.map(i=>d[i]); -import{i as My,c as H,r as ne,a as wh,t as Qi,b as Te,u as Ce,s as Wt,o as mn,w as Si,d as ye,e as Ny,f as $u,m as Un,g as Pl,h as el,j as Sy,_ as vo,k as ur,l as Ry,n as Ty,p as em,q as it,v as Yi,x as E,y as b,z as Ae,A as C,F as Me,B as Re,C as O,D as _t,E as p,G as z,H as he,I as V,J as Hn,K as _n,L as Fy,M as vn,N as Gy,O as na,P as re,Q as xy,R as tm,S as Is,T as at,U as Ze,V as uo,W as Uy,X as _y,Y as mr,Z as Jy,$ as di,a0 as nm,a1 as im,a2 as Yy,a3 as Ly,a4 as Ky,a5 as qy,a6 as jy,a7 as om,a8 as Do,a9 as Py,aa as Ho,ab as am,ac as xg,ad as Hy,ae as Oy,af as Vy,ag as RA,ah as tl,ai as zy,aj as os,ak as Wy,al as Zy,am as sm,an as Xy,ao as $y,ap as eB,aq as tB,ar as nB,as as iB}from"./framework.BR0mAPCP.js";function EL(t,e,n){const{pitch:i,octave:o}=oB(t-69);return ca(i,o,e,n)}function oB(t){return{pitch:t>0?t%12:12+t%12,octave:Math.floor(t/12)+4}}function QL(t=0,e=3,n=440,i="equal"){let o=0;const a=[0,112,204,316,386,498,590,702,814,884,1017,1088];if(i=="equal"&&(o=Number(n*Math.pow(2,e-3+t/12))),i=="just"){let s=Number(Math.pow(Math.pow(2,.0008333333333333334),a[t]));o=Number(n*Math.pow(2,e-4)*s)}return o}function ca(t=0,e=0,n=1,i=1){return e===void 0&&(e=Math.floor(t/12)+4),`hsla(${t%12*30},${n*100}%,${Math.abs(e+2)*8}%,${i})`}function wL(t,e,n){return ca(Am(t),3,e,n)}function Am(t,e=440){return 12*(Math.log(Number(t)/e)/Math.log(2))}function aB(t,e,n){return t.split("")[(24+n-e)%12]=="1"}function sB(t=0,e=12,n=35,i=100){let o=(t-e/4)/(e/2)*Math.PI,a=n*Math.cos(o)+i/2,s=n*Math.sin(o)+i/2;return{x:a,y:s}}function Kn(t,e=1){return[...t.slice(e,t.length),...t.slice(0,e)]}function Hl(t){return t!==null&&typeof t=="object"&&"name"in t&&typeof t.name=="string"}function Ol(t){return t!==null&&typeof t=="object"&&"step"in t&&typeof t.step=="number"&&"alt"in t&&typeof t.alt=="number"&&!isNaN(t.step)&&!isNaN(t.alt)}var rm=[0,2,4,-1,1,3,5],hm=rm.map(t=>Math.floor(t*7/12));function lm(t){const{step:e,alt:n,oct:i,dir:o=1}=t,a=rm[e]+7*n;if(i===void 0)return[o*a];const s=i-hm[e]-4*n;return[o*a,o*s]}var AB=[3,0,4,1,5,2,6];function cm(t){const[e,n,i]=t,o=AB[rB(e)],a=Math.floor((e+1)/7);if(n===void 0)return{step:o,alt:a,dir:i};const s=n+4*a+hm[o];return{step:o,alt:a,oct:s,dir:i}}function rB(t){const e=(t+1)%7;return e<0?7+e:e}var Ug=(t,e)=>Array(Math.abs(e)+1).join(t),nl=Object.freeze({empty:!0,name:"",num:NaN,q:"",type:"",step:NaN,alt:NaN,dir:NaN,simple:NaN,semitones:NaN,chroma:NaN,coord:[],oct:NaN}),hB="([-+]?\\d+)(d{1,4}|m|M|P|A{1,4})",lB="(AA|A|P|M|m|d|dd)([-+]?\\d+)",cB=new RegExp("^"+hB+"|"+lB+"$");function gB(t){const e=cB.exec(`${t}`);return e===null?["",""]:e[1]?[e[1],e[2]]:[e[4],e[3]]}var _g={};function Dt(t){return typeof t=="string"?_g[t]||(_g[t]=dB(t)):Ol(t)?Dt(mB(t)):Hl(t)?Dt(t.name):nl}var Jg=[0,2,4,5,7,9,11],gm="PMMPPMM";function dB(t){const e=gB(t);if(e[0]==="")return nl;const n=+e[0],i=e[1],o=(Math.abs(n)-1)%7,a=gm[o];if(a==="M"&&i==="P")return nl;const s=a==="M"?"majorable":"perfectable",A=""+n+i,r=n<0?-1:1,h=n===8||n===-8?n:r*(o+1),l=uB(s,i),c=Math.floor((Math.abs(n)-1)/7),g=r*(Jg[o]+l+12*c),d=(r*(Jg[o]+l)%12+12)%12,u=lm({step:o,alt:l,oct:c,dir:r});return{empty:!1,name:A,num:n,q:i,step:o,alt:l,dir:r,type:s,simple:h,semitones:g,chroma:d,coord:u,oct:c}}function Vl(t,e){const[n,i=0]=t,o=n*7+i*12<0,a=e||o?[-n,-i,-1]:[n,i,1];return Dt(cm(a))}function uB(t,e){return e==="M"&&t==="majorable"||e==="P"&&t==="perfectable"?0:e==="m"&&t==="majorable"?-1:/^A+$/.test(e)?e.length:/^d+$/.test(e)?-1*(t==="perfectable"?e.length:e.length+1):0}function mB(t){const{step:e,alt:n,oct:i=0,dir:o}=t;if(!o)return"";const a=e+1+7*i,s=a===0?e+1:a,A=o<0?"-":"",r=gm[e]==="M"?"majorable":"perfectable";return A+s+pB(r,n)}function pB(t,e){return e===0?t==="majorable"?"M":"P":e===-1&&t==="majorable"?"m":e>0?Ug("A",e):Ug("d",t==="perfectable"?e:e+1)}var Yg=(t,e)=>Array(Math.abs(e)+1).join(t),dm=Object.freeze({empty:!0,name:"",letter:"",acc:"",pc:"",step:NaN,alt:NaN,chroma:NaN,height:NaN,coord:[],midi:null,freq:null}),Lg=new Map,IB=t=>"CDEFGAB".charAt(t),um=t=>t<0?Yg("b",-t):Yg("#",t),mm=t=>t[0]==="b"?-t.length:t.length;function _e(t){const e=JSON.stringify(t),n=Lg.get(e);if(n)return n;const i=typeof t=="string"?BB(t):Ol(t)?_e(EB(t)):Hl(t)?_e(t.name):dm;return Lg.set(e,i),i}var fB=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function zl(t){const e=fB.exec(t);return e?[e[1].toUpperCase(),e[2].replace(/x/g,"##"),e[3],e[4]]:["","","",""]}function CB(t){return _e(cm(t))}var yB=(t,e)=>(t%e+e)%e,bh=[0,2,4,5,7,9,11];function BB(t){const e=zl(t);if(e[0]===""||e[3]!=="")return dm;const n=e[0],i=e[1],o=e[2],a=(n.charCodeAt(0)+3)%7,s=mm(i),A=o.length?+o:void 0,r=lm({step:a,alt:s,oct:A}),h=n+i+o,l=n+i,c=(bh[a]+s+120)%12,g=A===void 0?yB(bh[a]+s,12)-12*99:bh[a]+s+12*(A+1),d=g>=0&&g<=127?g:null,u=A===void 0?null:Math.pow(2,(g-69)/12)*440;return{empty:!1,acc:i,alt:s,chroma:c,coord:r,freq:u,height:g,letter:n,midi:d,name:h,oct:A,pc:l,step:a}}function EB(t){const{step:e,alt:n,oct:i}=t,o=IB(e);if(!o)return"";const a=o+um(n);return i||i===0?a+i:a}function Dn(t,e){const n=_e(t),i=Array.isArray(e)?e:Dt(e).coord;if(n.empty||!i||i.length<2)return"";const o=n.coord,a=o.length===1?[o[0]+i[0]]:[o[0]+i[0],o[1]+i[1]];return CB(a).name}function Wl(t,e){const n=t.length;return i=>{if(!e)return"";const o=i<0?(n- -i%n)%n:i%n,a=Math.floor(i/n),s=Dn(e,[0,a]);return Dn(s,t[o])}}function TA(t,e){const n=_e(t),i=_e(e);if(n.empty||i.empty)return"";const o=n.coord,a=i.coord,s=a[0]-o[0],A=o.length===2&&a.length===2?a[1]-o[1]:-Math.floor(s*7/12),r=i.height===n.height&&i.midi!==null&&n.oct===i.oct&&n.step>i.step;return Vl([s,A],r).name}function QB(t,e){const n=[];for(;e--;n[e]=e+t);return n}function wB(t,e){const n=[];for(;e--;n[e]=t-e);return n}function pm(t,e){return te===0||e)}var fo={empty:!0,name:"",setNum:0,chroma:"000000000000",normalized:"000000000000",intervals:[]},fm=t=>Number(t).toString(2).padStart(12,"0"),Kg=t=>parseInt(t,2),bB=/^[01]{12}$/;function Cm(t){return bB.test(t)}var vB=t=>typeof t=="number"&&t>=0&&t<=4095,DB=t=>t&&Cm(t.chroma),qg={[fo.chroma]:fo};function On(t){const e=Cm(t)?t:vB(t)?fm(t):Array.isArray(t)?FB(t):DB(t)?t.chroma:fo.chroma;return qg[e]=qg[e]||TB(e)}var bL=t=>On(t).intervals,vL=t=>On(t).setNum,kB=["1P","2m","2M","3m","3M","4P","5d","5P","6m","6M","7m","7M"];function MB(t){const e=[];for(let n=0;n<12;n++)t.charAt(n)==="1"&&e.push(kB[n]);return e}function NB(t,e=!0){const i=On(t).chroma.split("");return Im(i.map((o,a)=>{const s=pr(a,i);return e&&s[0]==="0"?null:s.join("")}))}function SB(t){const e=On(t).setNum;return n=>{const i=On(n).setNum;return e&&e!==i&&(i&e)===i}}function ym(t){const e=On(t).setNum;return n=>{const i=On(n).setNum;return e&&e!==i&&(i|e)===i}}function Bm(t){const e=On(t);return n=>{const i=_e(n);return e&&!i.empty&&e.chroma.charAt(i.chroma)==="1"}}function RB(t){const e=t.split("");return e.map((n,i)=>pr(i,e).join(""))}function TB(t){const e=Kg(t),n=RB(t).map(Kg).filter(a=>a>=2048).sort()[0],i=fm(n),o=MB(t);return{empty:!1,name:"",setNum:e,chroma:t,normalized:i,intervals:o}}function FB(t){if(t.length===0)return fo.chroma;let e;const n=[0,0,0,0,0,0,0,0,0,0,0,0];for(let i=0;i_B(o,a))}function _B(t,e){as[e]=t}function JB(t){const e=n=>t.indexOf(n)!==-1;return e("5A")?"Augmented":e("3M")?"Major":e("5d")?"Diminished":e("3m")?"Minor":"Unknown"}xB.forEach(([t,e,n])=>Em(t.split(" "),n.split(" "),e));Zl.sort((t,e)=>t.setNum-e.setNum);var YB=t=>{const e=t.reduce((n,i)=>{const o=_e(i).chroma;return o!==void 0&&(n[o]=n[o]||_e(i).name),n},{});return n=>e[n]};function $l(t,e={}){const n=t.map(o=>_e(o).pc).filter(o=>o);return _e.length===0?[]:OB(n,1,e).filter(o=>o.weight).sort((o,a)=>a.weight-o.weight).map(o=>o.name)}var Ir={anyThirds:384,perfectFifth:16,nonPerfectFifths:40,anySeventh:3},fr=t=>e=>!!(e&t),LB=fr(Ir.anyThirds),KB=fr(Ir.perfectFifth),qB=fr(Ir.anySeventh),jB=fr(Ir.nonPerfectFifths);function PB(t){const e=parseInt(t.chroma,2);return LB(e)&&KB(e)&&qB(e)}function HB(t){const e=parseInt(t,2);return jB(e)?t:(e|16).toString(2)}function OB(t,e,n){const i=t[0],o=_e(i).chroma,a=YB(t),s=NB(t,!1),A=[];return s.forEach((r,h)=>{const l=n.assumePerfectFifth&&HB(r);Xl().filter(g=>n.assumePerfectFifth&&PB(g)?g.chroma===l:g.chroma===r).forEach(g=>{const d=g.aliases[0],u=a(h);h!==o?A.push({weight:.5*e,name:`${u}${d}/${i}`}):A.push({weight:1*e,name:`${u}${d}`})})}),A}function Qm(){return"1P 2M 3M 4P 5P 6m 7m".split(" ")}var ec=Dt,wm=t=>Dt(t).name,bm=t=>Dt(t).semitones,vm=t=>Dt(t).q,Dm=t=>Dt(t).num;function km(t){const e=Dt(t);return e.empty?"":e.simple+e.q}function Mm(t){const e=Dt(t);if(e.empty)return"";const n=(7-e.step)%7,i=e.type==="perfectable"?-e.alt:-(e.alt+1);return Dt({step:n,alt:i,oct:e.oct,dir:e.dir}).name}var VB=[1,2,2,3,3,4,5,5,6,6,7,7],zB="P m M m M P d P m M m M".split(" ");function Nm(t){const e=t<0?-1:1,n=Math.abs(t),i=n%12,o=Math.floor(n/12);return e*(VB[i]+7*o)+zB[i]}var Sm=TA,tc=Fm((t,e)=>[t[0]+e[0],t[1]+e[1]]),Rm=t=>e=>tc(t,e),nc=Fm((t,e)=>[t[0]-e[0],t[1]-e[1]]);function Tm(t,e){const n=ec(t);if(n.empty)return"";const[i,o,a]=n.coord;return Vl([i+e,o,a]).name}var WB={names:Qm,get:ec,name:wm,num:Dm,semitones:bm,quality:vm,fromSemitones:Nm,distance:Sm,invert:Mm,simplify:km,add:tc,addTo:Rm,subtract:nc,transposeFifths:Tm};function Fm(t){return(e,n)=>{const i=Dt(e).coord,o=Dt(n).coord;if(i&&o){const a=t(i,o);return Vl(a).name}}}const ZB=Object.freeze(Object.defineProperty({__proto__:null,add:tc,addTo:Rm,default:WB,distance:Sm,fromSemitones:Nm,get:ec,invert:Mm,name:wm,names:Qm,num:Dm,quality:vm,semitones:bm,simplify:km,subtract:nc,transposeFifths:Tm},Symbol.toStringTag,{value:"Module"}));var XB=[["1P 2M 3M 5P 6M","major pentatonic","pentatonic"],["1P 2M 3M 4P 5P 6M 7M","major","ionian"],["1P 2M 3m 4P 5P 6m 7m","minor","aeolian"],["1P 2M 3m 3M 5P 6M","major blues"],["1P 3m 4P 5d 5P 7m","minor blues","blues"],["1P 2M 3m 4P 5P 6M 7M","melodic minor"],["1P 2M 3m 4P 5P 6m 7M","harmonic minor"],["1P 2M 3M 4P 5P 6M 7m 7M","bebop"],["1P 2M 3m 4P 5d 6m 6M 7M","diminished","whole-half diminished"],["1P 2M 3m 4P 5P 6M 7m","dorian"],["1P 2M 3M 4A 5P 6M 7M","lydian"],["1P 2M 3M 4P 5P 6M 7m","mixolydian","dominant"],["1P 2m 3m 4P 5P 6m 7m","phrygian"],["1P 2m 3m 4P 5d 6m 7m","locrian"],["1P 3M 4P 5P 7M","ionian pentatonic"],["1P 3M 4P 5P 7m","mixolydian pentatonic","indian"],["1P 2M 4P 5P 6M","ritusen"],["1P 2M 4P 5P 7m","egyptian"],["1P 3M 4P 5d 7m","neopolitan major pentatonic"],["1P 3m 4P 5P 6m","vietnamese 1"],["1P 2m 3m 5P 6m","pelog"],["1P 2m 4P 5P 6m","kumoijoshi"],["1P 2M 3m 5P 6m","hirajoshi"],["1P 2m 4P 5d 7m","iwato"],["1P 2m 4P 5P 7m","in-sen"],["1P 3M 4A 5P 7M","lydian pentatonic","chinese"],["1P 3m 4P 6m 7m","malkos raga"],["1P 3m 4P 5d 7m","locrian pentatonic","minor seven flat five pentatonic"],["1P 3m 4P 5P 7m","minor pentatonic","vietnamese 2"],["1P 3m 4P 5P 6M","minor six pentatonic"],["1P 2M 3m 5P 6M","flat three pentatonic","kumoi"],["1P 2M 3M 5P 6m","flat six pentatonic"],["1P 2m 3M 5P 6M","scriabin"],["1P 3M 5d 6m 7m","whole tone pentatonic"],["1P 3M 4A 5A 7M","lydian #5P pentatonic"],["1P 3M 4A 5P 7m","lydian dominant pentatonic"],["1P 3m 4P 5P 7M","minor #7M pentatonic"],["1P 3m 4d 5d 7m","super locrian pentatonic"],["1P 2M 3m 4P 5P 7M","minor hexatonic"],["1P 2A 3M 5P 5A 7M","augmented"],["1P 2M 4P 5P 6M 7m","piongio"],["1P 2m 3M 4A 6M 7m","prometheus neopolitan"],["1P 2M 3M 4A 6M 7m","prometheus"],["1P 2m 3M 5d 6m 7m","mystery #1"],["1P 2m 3M 4P 5A 6M","six tone symmetric"],["1P 2M 3M 4A 5A 6A","whole tone","messiaen's mode #1"],["1P 2m 4P 4A 5P 7M","messiaen's mode #5"],["1P 2M 3M 4P 5d 6m 7m","locrian major","arabian"],["1P 2m 3M 4A 5P 6m 7M","double harmonic lydian"],["1P 2m 2A 3M 4A 6m 7m","altered","super locrian","diminished whole tone","pomeroy"],["1P 2M 3m 4P 5d 6m 7m","locrian #2","half-diminished","aeolian b5"],["1P 2M 3M 4P 5P 6m 7m","mixolydian b6","melodic minor fifth mode","hindu"],["1P 2M 3M 4A 5P 6M 7m","lydian dominant","lydian b7","overtone"],["1P 2M 3M 4A 5A 6M 7M","lydian augmented"],["1P 2m 3m 4P 5P 6M 7m","dorian b2","phrygian #6","melodic minor second mode"],["1P 2m 3m 4d 5d 6m 7d","ultralocrian","superlocrian bb7","superlocrian diminished"],["1P 2m 3m 4P 5d 6M 7m","locrian 6","locrian natural 6","locrian sharp 6"],["1P 2A 3M 4P 5P 5A 7M","augmented heptatonic"],["1P 2M 3m 4A 5P 6M 7m","dorian #4","ukrainian dorian","romanian minor","altered dorian"],["1P 2M 3m 4A 5P 6M 7M","lydian diminished"],["1P 2M 3M 4A 5A 7m 7M","leading whole tone"],["1P 2M 3M 4A 5P 6m 7m","lydian minor"],["1P 2m 3M 4P 5P 6m 7m","phrygian dominant","spanish","phrygian major"],["1P 2m 3m 4P 5P 6m 7M","balinese"],["1P 2m 3m 4P 5P 6M 7M","neopolitan major"],["1P 2M 3M 4P 5P 6m 7M","harmonic major"],["1P 2m 3M 4P 5P 6m 7M","double harmonic major","gypsy"],["1P 2M 3m 4A 5P 6m 7M","hungarian minor"],["1P 2A 3M 4A 5P 6M 7m","hungarian major"],["1P 2m 3M 4P 5d 6M 7m","oriental"],["1P 2m 3m 3M 4A 5P 7m","flamenco"],["1P 2m 3m 4A 5P 6m 7M","todi raga"],["1P 2m 3M 4P 5d 6m 7M","persian"],["1P 2m 3M 5d 6m 7m 7M","enigmatic"],["1P 2M 3M 4P 5A 6M 7M","major augmented","major #5","ionian augmented","ionian #5"],["1P 2A 3M 4A 5P 6M 7M","lydian #9"],["1P 2m 2M 4P 4A 5P 6m 7M","messiaen's mode #4"],["1P 2m 3M 4P 4A 5P 6m 7M","purvi raga"],["1P 2m 3m 3M 4P 5P 6m 7m","spanish heptatonic"],["1P 2M 3m 3M 4P 5P 6M 7m","bebop minor"],["1P 2M 3M 4P 5P 5A 6M 7M","bebop major"],["1P 2m 3m 4P 5d 5P 6m 7m","bebop locrian"],["1P 2M 3m 4P 5P 6m 7m 7M","minor bebop"],["1P 2M 3M 4P 5d 5P 6M 7M","ichikosucho"],["1P 2M 3m 4P 5P 6m 6M 7M","minor six diminished"],["1P 2m 3m 3M 4A 5P 6M 7m","half-whole diminished","dominant diminished","messiaen's mode #2"],["1P 3m 3M 4P 5P 6M 7m 7M","kafi raga"],["1P 2M 3M 4P 4A 5A 6A 7M","messiaen's mode #6"],["1P 2M 3m 3M 4P 5d 5P 6M 7m","composite blues"],["1P 2M 3m 3M 4A 5P 6m 7m 7M","messiaen's mode #3"],["1P 2m 2M 3m 4P 4A 5P 6m 6M 7M","messiaen's mode #7"],["1P 2m 2M 3m 3M 4P 5d 5P 6m 6M 7m 7M","chromatic"]],$B=XB,Gm={...fo,intervals:[],aliases:[]},Cr=[],mo={};function xm(){return Cr.map(t=>t.name)}function Li(t){return mo[t]||Gm}var Um=Li;function ga(){return Cr.slice()}var _m=ga;function Jm(){return Object.keys(mo)}function Ym(){Cr=[],mo={}}function ic(t,e,n=[]){const i={...On(t),name:e,intervals:t,aliases:n};return Cr.push(i),mo[i.name]=i,mo[i.setNum]=i,mo[i.chroma]=i,i.aliases.forEach(o=>Lm(i,o)),i}function Lm(t,e){mo[e]=t}$B.forEach(([t,e,...n])=>ic(t.split(" "),e,n));var eE={names:xm,get:Li,all:ga,add:ic,removeAll:Ym,keys:Jm,entries:_m,scaleType:Um};const DL=Object.freeze(Object.defineProperty({__proto__:null,NoScaleType:Gm,add:ic,addAlias:Lm,all:ga,default:eE,entries:_m,get:Li,keys:Jm,names:xm,removeAll:Ym,scaleType:Um},Symbol.toStringTag,{value:"Module"}));var Km={empty:!0,name:"",symbol:"",root:"",bass:"",rootDegree:0,type:"",tonic:null,setNum:NaN,quality:"Unknown",chroma:"",normalized:"",aliases:[],notes:[],intervals:[]};function yr(t){const[e,n,i,o]=zl(t);return e===""?vh("",t):e==="A"&&o==="ug"?vh("","aug"):vh(e+n,i+o)}function vh(t,e){const n=e.split("/");if(n.length===1)return[t,n[0],""];const[i,o,a,s]=zl(n[1]);return i!==""&&a===""&&s===""?[t,n[0],i+o]:[t,e,""]}function mi(t){if(Array.isArray(t))return ss(t[1]||"",t[0],t[2]);if(t==="")return Km;{const[e,n,i]=yr(t),o=ss(n,e,i);return o.empty?ss(t):o}}function ss(t,e,n){const i=il(t),o=_e(e||""),a=_e(n||"");if(i.empty||e&&o.empty||n&&a.empty)return Km;const s=TA(o.pc,a.pc),A=i.intervals.indexOf(s),r=A>=0,h=r?a:_e(""),l=A===-1?NaN:A+1,c=a.pc&&a.pc!==o.pc,g=Array.from(i.intervals);if(r)for(let I=1;IDn(o.pc,I));t=i.aliases.indexOf(t)!==-1?t:i.aliases[0];const u=`${o.empty?"":o.pc}${t}${r&&l>1?"/"+h.pc:c?"/"+a.pc:""}`,m=`${e?o.pc+" ":""}${i.name}${r&&l>1?" over "+h.pc:c?" over "+a.pc:""}`;return{...i,name:m,symbol:u,tonic:o.pc,type:i.name,root:h.pc,bass:c?a.pc:"",intervals:g,rootDegree:l,notes:d}}var qm=mi;function jm(t,e){const[n,i,o]=yr(t);if(!n)return t;const a=Dn(o,e),s=a?"/"+a:"";return Dn(n,e)+i+s}function Pm(t){const e=mi(t),n=ym(e.chroma);return ga().filter(i=>n(i.chroma)).map(i=>i.name)}function Hm(t){const e=mi(t),n=ym(e.chroma);return Xl().filter(i=>n(i.chroma)).map(i=>e.tonic+i.aliases[0])}function Om(t){const e=mi(t),n=SB(e.chroma);return Xl().filter(i=>n(i.chroma)).map(i=>e.tonic+i.aliases[0])}function Vm(t,e){const n=mi(t),i=e||n.tonic;return!i||n.empty?[]:n.intervals.map(o=>Dn(i,o))}function zm(t,e){const n=mi(t),i=e||n.tonic,o=Wl(n.intervals,i);return a=>a?o(a>0?a-1:a):""}function Wm(t,e){const n=mi(t),i=e||n.tonic;return Wl(n.intervals,i)}var tE={getChord:ss,get:mi,detect:$l,chordScales:Pm,extended:Hm,reduced:Om,tokenize:yr,transpose:jm,degrees:zm,steps:Wm,notes:Vm,chord:qm};const kL=Object.freeze(Object.defineProperty({__proto__:null,chord:qm,chordScales:Pm,default:tE,degrees:zm,detect:$l,extended:Hm,get:mi,getChord:ss,notes:Vm,reduced:Om,steps:Wm,tokenize:yr,transpose:jm},Symbol.toStringTag,{value:"Module"}));function oc(t){return+t>=0&&+t<=127}function ac(t){if(oc(t))return+t;const e=_e(t);return e.empty?null:e.midi}function Zm(t,e=440){return Math.pow(2,(t-69)/12)*e}var nE=Math.log(2),iE=Math.log(440);function Br(t){const e=12*(Math.log(t)-iE)/nE+69;return Math.round(e*100)/100}var oE="C C# D D# E F F# G G# A A# B".split(" "),aE="C Db D Eb E F Gb G Ab A Bb B".split(" ");function pi(t,e={}){if(isNaN(t)||t===-1/0||t===1/0)return"";t=Math.round(t);const i=(e.sharps===!0?oE:aE)[t%12];if(e.pitchClass)return i;const o=Math.floor(t/12)-1;return i+o}function Er(t){return t%12}function sE(t){return t.split("").reduce((e,n,i)=>(i<12&&n==="1"&&e.push(i),e),[])}function AE(t){return t.map(Er).sort((e,n)=>e-n).filter((e,n,i)=>n===0||e!==i[n-1])}function Qr(t){return Array.isArray(t)?AE(t):sE(t)}function Xm(t){const e=Qr(t);return n=>{const i=Er(n);for(let o=0;o<12;o++){if(e.includes(i+o))return n+o;if(e.includes(i-o))return n-o}}}function sc(t,e){const n=Qr(t),i=n.length;return o=>{const a=o<0?(i- -o%i)%i:o%i,s=Math.floor(o/i);return n[a]+s*12+e}}function $m(t,e){const n=sc(t,e);return i=>{if(i!==0)return n(i>0?i-1:i)}}var rE={chroma:Er,freqToMidi:Br,isMidi:oc,midiToFreq:Zm,midiToNoteName:pi,pcsetNearest:Xm,pcset:Qr,pcsetDegrees:$m,pcsetSteps:sc,toMidi:ac};const ML=Object.freeze(Object.defineProperty({__proto__:null,chroma:Er,default:rE,freqToMidi:Br,isMidi:oc,midiToFreq:Zm,midiToNoteName:pi,pcset:Qr,pcsetDegrees:$m,pcsetNearest:Xm,pcsetSteps:sc,toMidi:ac},Symbol.toStringTag,{value:"Module"}));var hE=["C","D","E","F","G","A","B"],ep=t=>t.name,tp=t=>t.map(_e).filter(e=>!e.empty);function np(t){return t===void 0?hE.slice():Array.isArray(t)?tp(t).map(ep):[]}var gn=_e,ip=t=>gn(t).name,FA=t=>gn(t).pc,op=t=>gn(t).acc,ap=t=>gn(t).oct,sp=t=>gn(t).midi,Ap=t=>gn(t).freq,rp=t=>gn(t).chroma;function Ac(t){return pi(t)}function hp(t){return pi(Br(t))}function lp(t){return pi(Br(t),{sharps:!0})}function cp(t){return pi(t,{sharps:!0})}var gp=TA,Ea=Dn,dp=Dn,rc=t=>e=>Ea(e,t),up=rc,hc=t=>e=>Ea(t,e),mp=hc;function lc(t,e){return Ea(t,[e,0])}var pp=lc;function Ip(t,e){return Ea(t,[0,e])}var wr=(t,e)=>t.height-e.height,fp=(t,e)=>e.height-t.height;function br(t,e){return e=e||wr,tp(t).sort(e).map(ep)}function cc(t){return br(t,wr).filter((e,n,i)=>n===0||e!==i[n-1])}var Cp=t=>{const e=gn(t);return e.empty?"":pi(e.midi||e.chroma,{sharps:e.alt>0,pitchClass:e.midi===null})};function gc(t,e){const n=gn(t);if(n.empty)return"";const i=gn(e||pi(n.midi||n.chroma,{sharps:n.alt<0,pitchClass:!0}));if(i.empty||i.chroma!==n.chroma)return"";if(n.oct===void 0)return i.pc;const o=n.chroma-n.alt,a=i.chroma-i.alt,s=o>11||a<0?-1:o<0||a>11?1:0,A=n.oct+s;return i.pc+A}var lE={names:np,get:gn,name:ip,pitchClass:FA,accidentals:op,octave:ap,midi:sp,ascending:wr,descending:fp,distance:gp,sortedNames:br,sortedUniqNames:cc,fromMidi:Ac,fromMidiSharps:cp,freq:Ap,fromFreq:hp,fromFreqSharps:lp,chroma:rp,transpose:Ea,tr:dp,transposeBy:rc,trBy:up,transposeFrom:hc,trFrom:mp,transposeFifths:lc,transposeOctaves:Ip,trFifths:pp,simplify:Cp,enharmonic:gc};const jg=Object.freeze(Object.defineProperty({__proto__:null,accidentals:op,ascending:wr,chroma:rp,default:lE,descending:fp,distance:gp,enharmonic:gc,freq:Ap,fromFreq:hp,fromFreqSharps:lp,fromMidi:Ac,fromMidiSharps:cp,get:gn,midi:sp,name:ip,names:np,octave:ap,pitchClass:FA,simplify:Cp,sortedNames:br,sortedUniqNames:cc,tr:dp,trBy:up,trFifths:pp,trFrom:mp,transpose:Ea,transposeBy:rc,transposeFifths:lc,transposeFrom:hc,transposeOctaves:Ip},Symbol.toStringTag,{value:"Module"}));var yp={empty:!0,name:"",chordType:""},Pg={};function GA(t){return typeof t=="string"?Pg[t]||(Pg[t]=mE(t)):typeof t=="number"?GA(dc[t]||""):Ol(t)?cE(t):Hl(t)?GA(t.name):yp}function cE(t){return GA(um(t.alt)+dc[t.step])}var gE=/^(#{1,}|b{1,}|x{1,}|)(IV|I{1,3}|VI{0,2}|iv|i{1,3}|vi{0,2})([^IViv]*)$/;function dE(t){return gE.exec(t)||["","","",""]}var uE="I II III IV V VI VII",dc=uE.split(" ");function mE(t){const[e,n,i,o]=dE(t);if(!i)return yp;const a=i.toUpperCase(),s=dc.indexOf(a),A=mm(n),r=1;return{empty:!1,name:e,roman:i,interval:Dt({step:s,alt:A,dir:r}).name,acc:n,chordType:o,alt:A,step:s,major:i===a,oct:0,dir:r}}var uc=[[0,2773,0,"ionian","","Maj7","major"],[1,2902,2,"dorian","m","m7"],[2,3418,4,"phrygian","m","m7"],[3,2741,-1,"lydian","","Maj7"],[4,2774,1,"mixolydian","","7"],[5,2906,3,"aeolian","m","m7","minor"],[6,3434,5,"locrian","dim","m7b5"]],Hg={...fo,name:"",alt:0,modeNum:NaN,triad:"",seventh:"",aliases:[]},pE=uc.map(IE),ol={};pE.forEach(t=>{ol[t.name]=t,t.aliases.forEach(e=>{ol[e]=t})});function Bp(t){return typeof t=="string"?ol[t.toLowerCase()]||Hg:t&&t.name?Bp(t.name):Hg}function IE(t){const[e,n,i,o,a,s,A]=t,r=A?[A]:[],h=Number(n).toString(2);return{empty:!1,intervals:Li(o).intervals,modeNum:e,chroma:h,normalized:h,name:o,setNum:n,alt:i,triad:a,seventh:s,aliases:r}}function Ep(t){return(e,n)=>{const i=Bp(e);if(i.empty)return[];const o=pr(i.modeNum,t),a=i.intervals.map(s=>Dn(n,s));return o.map((s,A)=>a[A]+s)}}Ep(uc.map(t=>t[4]));Ep(uc.map(t=>t[5]));function NL(t,e){return e.map(GA).map(i=>Dn(t,Dt(i))+i.chordType)}function SL(t){const e=Im(t.map(n=>typeof n=="number"?n:ac(n)));return!t.length||e.length!==t.length?[]:e.reduce((n,i)=>{const o=n[n.length-1];return n.concat(pm(o,i).slice(1))},[e[0]])}var fE={empty:!0,name:"",type:"",tonic:null,setNum:NaN,chroma:"",normalized:"",aliases:[],notes:[],intervals:[]};function CE(t){if(typeof t!="string")return["",""];const e=t.indexOf(" "),n=_e(t.substring(0,e));if(n.empty){const o=_e(t);return o.empty?["",t]:[o.name,""]}const i=t.substring(n.name.length+1).toLowerCase();return[n.name,i.length?i:""]}function mc(t){const e=Array.isArray(t)?t:CE(t),n=_e(e[0]).name,i=Li(e[1]);if(i.empty)return fE;const o=i.name,a=n?i.intervals.map(A=>Dn(n,A)):[],s=n?n+" "+o:o;return{...i,name:s,type:o,tonic:n,notes:a}}function Qp(t){const e=t.map(o=>_e(o).pc).filter(o=>o),n=e[0],i=cc(e);return pr(i.indexOf(n),i)}function yE(t){const e=Array.isArray(t)?Qp(t):mc(t).notes,n=e.map(i=>_e(i).chroma);return i=>{const o=_e(typeof i=="number"?Ac(i):i),a=o.height;if(a===void 0)return;const s=a%12,A=n.indexOf(s);if(A!==-1)return gc(o.name,e[A])}}function RL(t){const e=yE(t);return(n,i)=>{const o=_e(n).height,a=_e(i).height;return o===void 0||a===void 0?[]:pm(o,a).map(e).filter(s=>s)}}function TL(t){const{intervals:e,tonic:n}=mc(t);return Wl(e,n)}const Og={"minor second":[["1P","2m"],["2m"]],"major second":[["1P","2M"],["2M"]],"minor third":[["1P","3m"],["3m"]],"major third":[["1P","3M"],["3M"]],"perfect fourth":[["1P","4P"],["4P"]],tritone:[["1P","5d"],["TT"]],"perfect fifth":[["1P","5P"],["5P"]],"minor sixth":[["1P","6m"],["6m"]],"major sixth":[["1P","6M"],["6M"]],"minor seventh":[["1P","7m"],["7m"]],"major seventh":[["1P","7M"],["7M"]]},FL=["1P","2m","2M","3m","3M","4P","TT","5P","6m","6M","7m","7M"],wp=["A","A#","B","C","C#","D","D#","E","F","F#","G","G#"],BE=["G##","A#","A##","B#","C#","C##","D#","D##","E#","F#","F##","G#"],bp=["Bbb","Bb","Cb","Dbb","Db","Ebb","Eb","Fb","Gbb","Gb","Abb","Ab"],vp={},EE=[...wp,...BE,...bp];EE.forEach((t,e)=>{vp[t]=e%12});vp.Fbb=6;const Jn=wp;for(let t in Og)Em(...Og[t],t);const Dp="15.0.4",Vg=(t,e,n)=>({endTime:e,insertTime:n,type:"exponentialRampToValue",value:t}),zg=(t,e,n)=>({endTime:e,insertTime:n,type:"linearRampToValue",value:t}),al=(t,e)=>({startTime:e,type:"setValue",value:t}),kp=(t,e,n)=>({duration:n,startTime:e,type:"setValueCurve",values:t}),Mp=(t,e,{startTime:n,target:i,timeConstant:o})=>i+(e-i)*Math.exp((n-t)/o),Xo=t=>t.type==="exponentialRampToValue",xA=t=>t.type==="linearRampToValue",ki=t=>Xo(t)||xA(t),pc=t=>t.type==="setValue",ri=t=>t.type==="setValueCurve",UA=(t,e,n,i)=>{const o=t[e];return o===void 0?i:ki(o)||pc(o)?o.value:ri(o)?o.values[o.values.length-1]:Mp(n,UA(t,e-1,o.startTime,i),o)},Wg=(t,e,n,i,o)=>n===void 0?[i.insertTime,o]:ki(n)?[n.endTime,n.value]:pc(n)?[n.startTime,n.value]:ri(n)?[n.startTime+n.duration,n.values[n.values.length-1]]:[n.startTime,UA(t,e-1,n.startTime,o)],sl=t=>t.type==="cancelAndHold",Al=t=>t.type==="cancelScheduledValues",Bi=t=>sl(t)||Al(t)?t.cancelTime:Xo(t)||xA(t)?t.endTime:t.startTime,Zg=(t,e,n,{endTime:i,value:o})=>n===o?o:0n+(t-e)/(i-e)*(o-n),QE=(t,e)=>{const n=Math.floor(e),i=Math.ceil(e);return n===i?t[n]:(1-(e-n))*t[n]+(1-(i-e))*t[i]},wE=(t,{duration:e,startTime:n,values:i})=>{const o=(t-n)/e*(i.length-1);return QE(i,o)},iA=t=>t.type==="setTarget";class bE{constructor(e){this._automationEvents=[],this._currenTime=0,this._defaultValue=e}[Symbol.iterator](){return this._automationEvents[Symbol.iterator]()}add(e){const n=Bi(e);if(sl(e)||Al(e)){const i=this._automationEvents.findIndex(a=>Al(e)&&ri(a)?a.startTime+a.duration>=n:Bi(a)>=n),o=this._automationEvents[i];if(i!==-1&&(this._automationEvents=this._automationEvents.slice(0,i)),sl(e)){const a=this._automationEvents[this._automationEvents.length-1];if(o!==void 0&&ki(o)){if(a!==void 0&&iA(a))throw new Error("The internal list is malformed.");const s=a===void 0?o.insertTime:ri(a)?a.startTime+a.duration:Bi(a),A=a===void 0?this._defaultValue:ri(a)?a.values[a.values.length-1]:a.value,r=Xo(o)?Zg(n,s,A,o):Xg(n,s,A,o),h=Xo(o)?Vg(r,n,this._currenTime):zg(r,n,this._currenTime);this._automationEvents.push(h)}if(a!==void 0&&iA(a)&&this._automationEvents.push(al(this.getValue(n),n)),a!==void 0&&ri(a)&&a.startTime+a.duration>n){const s=n-a.startTime,A=(a.values.length-1)/a.duration,r=Math.max(2,1+Math.ceil(s*A)),h=s/(r-1)*A,l=a.values.slice(0,r);if(h<1)for(let c=1;cBi(s)>n),o=i===-1?this._automationEvents[this._automationEvents.length-1]:this._automationEvents[i-1];if(o!==void 0&&ri(o)&&Bi(o)+o.duration>n)return!1;const a=Xo(e)?Vg(e.value,e.endTime,this._currenTime):xA(e)?zg(e.value,n,this._currenTime):e;if(i===-1)this._automationEvents.push(a);else{if(ri(e)&&n+e.duration>Bi(this._automationEvents[i]))return!1;this._automationEvents.splice(i,0,a)}}return!0}flush(e){const n=this._automationEvents.findIndex(i=>Bi(i)>e);if(n>1){const i=this._automationEvents.slice(n-1),o=i[0];iA(o)&&i.unshift(al(UA(this._automationEvents,n-2,o.startTime,this._defaultValue),o.startTime)),this._automationEvents=i}}getValue(e){if(this._automationEvents.length===0)return this._defaultValue;const n=this._automationEvents.findIndex(s=>Bi(s)>e),i=this._automationEvents[n],o=(n===-1?this._automationEvents.length:n)-1,a=this._automationEvents[o];if(a!==void 0&&iA(a)&&(i===void 0||!ki(i)||i.insertTime>e))return Mp(e,UA(this._automationEvents,o-1,a.startTime,this._defaultValue),a);if(a!==void 0&&pc(a)&&(i===void 0||!ki(i)))return a.value;if(a!==void 0&&ri(a)&&(i===void 0||!ki(i)||a.startTime+a.duration>e))return e({cancelTime:t,type:"cancelAndHold"}),DE=t=>({cancelTime:t,type:"cancelScheduledValues"}),kE=(t,e)=>({endTime:e,type:"exponentialRampToValue",value:t}),ME=(t,e)=>({endTime:e,type:"linearRampToValue",value:t}),NE=(t,e,n)=>({startTime:e,target:t,timeConstant:n,type:"setTarget"}),SE=()=>new DOMException("","AbortError"),RE=t=>(e,n,[i,o,a],s)=>{t(e[o],[n,i,a],A=>A[0]===n&&A[1]===i,s)},TE=t=>(e,n,i)=>{const o=[];for(let a=0;a(e,n)=>{t.set(e,{activeInputs:new Set,passiveInputs:new WeakMap,renderer:n})},da=new WeakSet,Np=new WeakMap,Ic=new WeakMap,Sp=new WeakMap,fc=new WeakMap,vr=new WeakMap,Rp=new WeakMap,rl=new WeakMap,hl=new WeakMap,ll=new WeakMap,Tp={construct(){return Tp}},GE=t=>{try{const e=new Proxy(t,Tp);new e}catch{return!1}return!0},$g=/^import(?:(?:[\s]+[\w]+|(?:[\s]+[\w]+[\s]*,)?[\s]*\{[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?(?:[\s]*,[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?)*[\s]*}|(?:[\s]+[\w]+[\s]*,)?[\s]*\*[\s]+as[\s]+[\w]+)[\s]+from)?(?:[\s]*)("([^"\\]|\\.)+"|'([^'\\]|\\.)+')(?:[\s]*);?/,ed=(t,e)=>{const n=[];let i=t.replace(/^[\s]+/,""),o=i.match($g);for(;o!==null;){const a=o[1].slice(1,-1),s=o[0].replace(/([\s]+)?;?$/,"").replace(a,new URL(a,e).toString());n.push(s),i=i.slice(o[0].length).replace(/^[\s]+/,""),o=i.match($g)}return[n.join(";"),i]},td=t=>{if(t!==void 0&&!Array.isArray(t))throw new TypeError("The parameterDescriptors property of given value for processorCtor is not an array.")},nd=t=>{if(!GE(t))throw new TypeError("The given value for processorCtor should be a constructor.");if(t.prototype===null||typeof t.prototype!="object")throw new TypeError("The given value for processorCtor should have a prototype.")},xE=(t,e,n,i,o,a,s,A,r,h,l,c,g)=>{let d=0;return(u,m,I={credentials:"omit"})=>{const f=l.get(u);if(f!==void 0&&f.has(m))return Promise.resolve();const Q=h.get(u);if(Q!==void 0){const B=Q.get(m);if(B!==void 0)return B}const y=a(u),w=y.audioWorklet===void 0?o(m).then(([B,k])=>{const[D,v]=ed(B,k),S=`${D};((a,b)=>{(a[b]=a[b]||[]).push((AudioWorkletProcessor,global,registerProcessor,sampleRate,self,window)=>{${v} -})})(window,'_AWGS')`;return n(S)}).then(()=>{const B=g._AWGS.pop();if(B===void 0)throw new SyntaxError;i(y.currentTime,y.sampleRate,()=>B(class{},void 0,(k,D)=>{if(k.trim()==="")throw e();const v=hl.get(y);if(v!==void 0){if(v.has(k))throw e();nd(D),td(D.parameterDescriptors),v.set(k,D)}else nd(D),td(D.parameterDescriptors),hl.set(y,new Map([[k,D]]))},y.sampleRate,void 0,void 0))}):Promise.all([o(m),Promise.resolve(t(c,c))]).then(([[B,k],D])=>{const v=d+1;d=v;const[S,R]=ed(B,k),G=`${S};((AudioWorkletProcessor,registerProcessor)=>{${R} -})(${D?"AudioWorkletProcessor":"class extends AudioWorkletProcessor {__b=new WeakSet();constructor(){super();(p=>p.postMessage=(q=>(m,t)=>q.call(p,m,t?t.filter(u=>!this.__b.has(u)):t))(p.postMessage))(this.port)}}"},(n,p)=>registerProcessor(n,class extends p{${D?"":"__c = (a) => a.forEach(e=>this.__b.add(e.buffer));"}process(i,o,p){${D?"":"i.forEach(this.__c);o.forEach(this.__c);this.__c(Object.values(p));"}return super.process(i.map(j=>j.some(k=>k.length===0)?[]:j),o,p)}}));registerProcessor('__sac${v}',class extends AudioWorkletProcessor{process(){return !1}})`,q=new Blob([G],{type:"application/javascript; charset=utf-8"}),Y=URL.createObjectURL(q);return y.audioWorklet.addModule(Y,I).then(()=>{if(A(y))return y;const x=s(y);return x.audioWorklet.addModule(Y,I).then(()=>x)}).then(x=>{if(r===null)throw new SyntaxError;try{new r(x,`__sac${v}`)}catch{throw new SyntaxError}}).finally(()=>URL.revokeObjectURL(Y))});return Q===void 0?h.set(u,new Map([[m,w]])):Q.set(m,w),w.then(()=>{const B=l.get(u);B===void 0?l.set(u,new Set([m])):B.add(m)}).finally(()=>{const B=h.get(u);B!==void 0&&B.delete(m)}),w}},kn=(t,e)=>{const n=t.get(e);if(n===void 0)throw new Error("A value with the given key could not be found.");return n},Dr=(t,e)=>{const n=Array.from(t).filter(e);if(n.length>1)throw Error("More than one element was found.");if(n.length===0)throw Error("No element was found.");const[i]=n;return t.delete(i),i},Fp=(t,e,n,i)=>{const o=kn(t,e),a=Dr(o,s=>s[0]===n&&s[1]===i);return o.size===0&&t.delete(e),a},Fs=t=>kn(Rp,t),ua=t=>{if(da.has(t))throw new Error("The AudioNode is already stored.");da.add(t),Fs(t).forEach(e=>e(!0))},Gp=t=>"port"in t,Gs=t=>{if(!da.has(t))throw new Error("The AudioNode is not stored.");da.delete(t),Fs(t).forEach(e=>e(!1))},cl=(t,e)=>{!Gp(t)&&e.every(n=>n.size===0)&&Gs(t)},UE=(t,e,n,i,o,a,s,A,r,h,l,c,g)=>{const d=new WeakMap;return(u,m,I,f,Q)=>{const{activeInputs:y,passiveInputs:w}=a(m),{outputs:B}=a(u),k=A(u),D=v=>{const S=r(m),R=r(u);if(v){const T=Fp(w,u,I,f);t(y,u,T,!1),!Q&&!c(u)&&n(R,S,I,f),g(m)&&ua(m)}else{const T=i(y,u,I,f);e(w,f,T,!1),!Q&&!c(u)&&o(R,S,I,f);const M=s(m);if(M===0)l(m)&&cl(m,y);else{const U=d.get(m);U!==void 0&&clearTimeout(U),d.set(m,setTimeout(()=>{l(m)&&cl(m,y)},M*1e3))}}};return h(B,[m,I,f],v=>v[0]===m&&v[1]===I&&v[2]===f,!0)?(k.add(D),l(u)?t(y,u,[I,f,D],!0):e(w,f,[u,I,D],!0),!0):!1}},_E=t=>(e,n,[i,o,a],s)=>{const A=e.get(i);A===void 0?e.set(i,new Set([[o,n,a]])):t(A,[o,n,a],r=>r[0]===o&&r[1]===n,s)},JE=t=>(e,n)=>{const i=t(e,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});n.connect(i).connect(e.destination);const o=()=>{n.removeEventListener("ended",o),n.disconnect(i),i.disconnect()};n.addEventListener("ended",o)},YE=t=>(e,n)=>{t(e).add(n)},LE={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",fftSize:2048,maxDecibels:-30,minDecibels:-100,smoothingTimeConstant:.8},KE=(t,e,n,i,o,a)=>class extends t{constructor(A,r){const h=o(A),l={...LE,...r},c=i(h,l),g=a(h)?e():null;super(A,!1,c,g),this._nativeAnalyserNode=c}get fftSize(){return this._nativeAnalyserNode.fftSize}set fftSize(A){this._nativeAnalyserNode.fftSize=A}get frequencyBinCount(){return this._nativeAnalyserNode.frequencyBinCount}get maxDecibels(){return this._nativeAnalyserNode.maxDecibels}set maxDecibels(A){const r=this._nativeAnalyserNode.maxDecibels;if(this._nativeAnalyserNode.maxDecibels=A,!(A>this._nativeAnalyserNode.minDecibels))throw this._nativeAnalyserNode.maxDecibels=r,n()}get minDecibels(){return this._nativeAnalyserNode.minDecibels}set minDecibels(A){const r=this._nativeAnalyserNode.minDecibels;if(this._nativeAnalyserNode.minDecibels=A,!(this._nativeAnalyserNode.maxDecibels>A))throw this._nativeAnalyserNode.minDecibels=r,n()}get smoothingTimeConstant(){return this._nativeAnalyserNode.smoothingTimeConstant}set smoothingTimeConstant(A){this._nativeAnalyserNode.smoothingTimeConstant=A}getByteFrequencyData(A){this._nativeAnalyserNode.getByteFrequencyData(A)}getByteTimeDomainData(A){this._nativeAnalyserNode.getByteTimeDomainData(A)}getFloatFrequencyData(A){this._nativeAnalyserNode.getFloatFrequencyData(A)}getFloatTimeDomainData(A){this._nativeAnalyserNode.getFloatTimeDomainData(A)}},Tt=(t,e)=>t.context===e,qE=(t,e,n)=>()=>{const i=new WeakMap,o=async(a,s)=>{let A=e(a);if(!Tt(A,s)){const h={channelCount:A.channelCount,channelCountMode:A.channelCountMode,channelInterpretation:A.channelInterpretation,fftSize:A.fftSize,maxDecibels:A.maxDecibels,minDecibels:A.minDecibels,smoothingTimeConstant:A.smoothingTimeConstant};A=t(s,h)}return i.set(s,A),await n(a,s,A),A};return{render(a,s){const A=i.get(s);return A!==void 0?Promise.resolve(A):o(a,s)}}},_A=t=>{try{t.copyToChannel(new Float32Array(1),0,-1)}catch{return!1}return!0},$n=()=>new DOMException("","IndexSizeError"),Cc=t=>{t.getChannelData=(e=>n=>{try{return e.call(t,n)}catch(i){throw i.code===12?$n():i}})(t.getChannelData)},jE={numberOfChannels:1},PE=(t,e,n,i,o,a,s,A)=>{let r=null;return class xp{constructor(l){if(o===null)throw new Error("Missing the native OfflineAudioContext constructor.");const{length:c,numberOfChannels:g,sampleRate:d}={...jE,...l};r===null&&(r=new o(1,1,44100));const u=i!==null&&e(a,a)?new i({length:c,numberOfChannels:g,sampleRate:d}):r.createBuffer(g,c,d);if(u.numberOfChannels===0)throw n();return typeof u.copyFromChannel!="function"?(s(u),Cc(u)):e(_A,()=>_A(u))||A(u),t.add(u),u}static[Symbol.hasInstance](l){return l!==null&&typeof l=="object"&&Object.getPrototypeOf(l)===xp.prototype||t.has(l)}}},qt=-34028234663852886e22,xt=-qt,ci=t=>da.has(t),HE={buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1},OE=(t,e,n,i,o,a,s,A)=>class extends t{constructor(h,l){const c=a(h),g={...HE,...l},d=o(c,g),u=s(c),m=u?e():null;super(h,!1,d,m),this._audioBufferSourceNodeRenderer=m,this._isBufferNullified=!1,this._isBufferSet=g.buffer!==null,this._nativeAudioBufferSourceNode=d,this._onended=null,this._playbackRate=n(this,u,d.playbackRate,xt,qt)}get buffer(){return this._isBufferNullified?null:this._nativeAudioBufferSourceNode.buffer}set buffer(h){if(this._nativeAudioBufferSourceNode.buffer=h,h!==null){if(this._isBufferSet)throw i();this._isBufferSet=!0}}get loop(){return this._nativeAudioBufferSourceNode.loop}set loop(h){this._nativeAudioBufferSourceNode.loop=h}get loopEnd(){return this._nativeAudioBufferSourceNode.loopEnd}set loopEnd(h){this._nativeAudioBufferSourceNode.loopEnd=h}get loopStart(){return this._nativeAudioBufferSourceNode.loopStart}set loopStart(h){this._nativeAudioBufferSourceNode.loopStart=h}get onended(){return this._onended}set onended(h){const l=typeof h=="function"?A(this,h):null;this._nativeAudioBufferSourceNode.onended=l;const c=this._nativeAudioBufferSourceNode.onended;this._onended=c!==null&&c===l?h:c}get playbackRate(){return this._playbackRate}start(h=0,l=0,c){if(this._nativeAudioBufferSourceNode.start(h,l,c),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.start=c===void 0?[h,l]:[h,l,c]),this.context.state!=="closed"){ua(this);const g=()=>{this._nativeAudioBufferSourceNode.removeEventListener("ended",g),ci(this)&&Gs(this)};this._nativeAudioBufferSourceNode.addEventListener("ended",g)}}stop(h=0){this._nativeAudioBufferSourceNode.stop(h),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.stop=h)}},VE=(t,e,n,i,o)=>()=>{const a=new WeakMap;let s=null,A=null;const r=async(h,l)=>{let c=n(h);const g=Tt(c,l);if(!g){const d={buffer:c.buffer,channelCount:c.channelCount,channelCountMode:c.channelCountMode,channelInterpretation:c.channelInterpretation,loop:c.loop,loopEnd:c.loopEnd,loopStart:c.loopStart,playbackRate:c.playbackRate.value};c=e(l,d),s!==null&&c.start(...s),A!==null&&c.stop(A)}return a.set(l,c),g?await t(l,h.playbackRate,c.playbackRate):await i(l,h.playbackRate,c.playbackRate),await o(h,l,c),c};return{set start(h){s=h},set stop(h){A=h},render(h,l){const c=a.get(l);return c!==void 0?Promise.resolve(c):r(h,l)}}},zE=t=>"playbackRate"in t,WE=t=>"frequency"in t&&"gain"in t,ZE=t=>"offset"in t,XE=t=>!("frequency"in t)&&"gain"in t,$E=t=>"detune"in t&&"frequency"in t,eQ=t=>"pan"in t,Jt=t=>kn(Np,t),xs=t=>kn(Sp,t),gl=(t,e)=>{const{activeInputs:n}=Jt(t);n.forEach(o=>o.forEach(([a])=>{e.includes(t)||gl(a,[...e,t])}));const i=zE(t)?[t.playbackRate]:Gp(t)?Array.from(t.parameters.values()):WE(t)?[t.Q,t.detune,t.frequency,t.gain]:ZE(t)?[t.offset]:XE(t)?[t.gain]:$E(t)?[t.detune,t.frequency]:eQ(t)?[t.pan]:[];for(const o of i){const a=xs(o);a!==void 0&&a.activeInputs.forEach(([s])=>gl(s,e))}ci(t)&&Gs(t)},Up=t=>{gl(t.destination,[])},tQ=t=>t===void 0||typeof t=="number"||typeof t=="string"&&(t==="balanced"||t==="interactive"||t==="playback"),nQ=(t,e,n,i,o,a,s,A,r)=>class extends t{constructor(l={}){if(r===null)throw new Error("Missing the native AudioContext constructor.");let c;try{c=new r(l)}catch(u){throw u.code===12&&u.message==="sampleRate is not in range"?n():u}if(c===null)throw i();if(!tQ(l.latencyHint))throw new TypeError(`The provided value '${l.latencyHint}' is not a valid enum value of type AudioContextLatencyCategory.`);if(l.sampleRate!==void 0&&c.sampleRate!==l.sampleRate)throw n();super(c,2);const{latencyHint:g}=l,{sampleRate:d}=c;if(this._baseLatency=typeof c.baseLatency=="number"?c.baseLatency:g==="balanced"?512/d:g==="interactive"||g===void 0?256/d:g==="playback"?1024/d:Math.max(2,Math.min(128,Math.round(g*d/128)))*128/d,this._nativeAudioContext=c,r.name==="webkitAudioContext"?(this._nativeGainNode=c.createGain(),this._nativeOscillatorNode=c.createOscillator(),this._nativeGainNode.gain.value=1e-37,this._nativeOscillatorNode.connect(this._nativeGainNode).connect(c.destination),this._nativeOscillatorNode.start()):(this._nativeGainNode=null,this._nativeOscillatorNode=null),this._state=null,c.state==="running"){this._state="suspended";const u=()=>{this._state==="suspended"&&(this._state=null),c.removeEventListener("statechange",u)};c.addEventListener("statechange",u)}}get baseLatency(){return this._baseLatency}get state(){return this._state!==null?this._state:this._nativeAudioContext.state}close(){return this.state==="closed"?this._nativeAudioContext.close().then(()=>{throw e()}):(this._state==="suspended"&&(this._state=null),this._nativeAudioContext.close().then(()=>{this._nativeGainNode!==null&&this._nativeOscillatorNode!==null&&(this._nativeOscillatorNode.stop(),this._nativeGainNode.disconnect(),this._nativeOscillatorNode.disconnect()),Up(this)}))}createMediaElementSource(l){return new o(this,{mediaElement:l})}createMediaStreamDestination(){return new a(this)}createMediaStreamSource(l){return new s(this,{mediaStream:l})}createMediaStreamTrackSource(l){return new A(this,{mediaStreamTrack:l})}resume(){return this._state==="suspended"?new Promise((l,c)=>{const g=()=>{this._nativeAudioContext.removeEventListener("statechange",g),this._nativeAudioContext.state==="running"?l():this.resume().then(l,c)};this._nativeAudioContext.addEventListener("statechange",g)}):this._nativeAudioContext.resume().catch(l=>{throw l===void 0||l.code===15?e():l})}suspend(){return this._nativeAudioContext.suspend().catch(l=>{throw l===void 0?e():l})}},iQ=(t,e,n,i,o,a,s,A)=>class extends t{constructor(h,l){const c=a(h),g=s(c),d=o(c,l,g),u=g?e(A):null;super(h,!1,d,u),this._isNodeOfNativeOfflineAudioContext=g,this._nativeAudioDestinationNode=d}get channelCount(){return this._nativeAudioDestinationNode.channelCount}set channelCount(h){if(this._isNodeOfNativeOfflineAudioContext)throw i();if(h>this._nativeAudioDestinationNode.maxChannelCount)throw n();this._nativeAudioDestinationNode.channelCount=h}get channelCountMode(){return this._nativeAudioDestinationNode.channelCountMode}set channelCountMode(h){if(this._isNodeOfNativeOfflineAudioContext)throw i();this._nativeAudioDestinationNode.channelCountMode=h}get maxChannelCount(){return this._nativeAudioDestinationNode.maxChannelCount}},oQ=t=>{const e=new WeakMap,n=async(i,o)=>{const a=o.destination;return e.set(o,a),await t(i,o,a),a};return{render(i,o){const a=e.get(o);return a!==void 0?Promise.resolve(a):n(i,o)}}},aQ=(t,e,n,i,o,a,s,A)=>(r,h)=>{const l=h.listener,c=()=>{const B=new Float32Array(1),k=e(h,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:9}),D=s(h);let v=!1,S=[0,0,-1,0,1,0],R=[0,0,0];const T=()=>{if(v)return;v=!0;const q=i(h,256,9,0);q.onaudioprocess=({inputBuffer:Y})=>{const x=[a(Y,B,0),a(Y,B,1),a(Y,B,2),a(Y,B,3),a(Y,B,4),a(Y,B,5)];x.some((P,Z)=>P!==S[Z])&&(l.setOrientation(...x),S=x);const $=[a(Y,B,6),a(Y,B,7),a(Y,B,8)];$.some((P,Z)=>P!==R[Z])&&(l.setPosition(...$),R=$)},k.connect(q)},M=q=>Y=>{Y!==S[q]&&(S[q]=Y,l.setOrientation(...S))},U=q=>Y=>{Y!==R[q]&&(R[q]=Y,l.setPosition(...R))},G=(q,Y,x)=>{const $=n(h,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:Y});$.connect(k,0,q),$.start(),Object.defineProperty($.offset,"defaultValue",{get(){return Y}});const P=t({context:r},D,$.offset,xt,qt);return A(P,"value",Z=>()=>Z.call(P),Z=>ae=>{try{Z.call(P,ae)}catch(Ie){if(Ie.code!==9)throw Ie}T(),D&&x(ae)}),P.cancelAndHoldAtTime=(Z=>D?()=>{throw o()}:(...ae)=>{const Ie=Z.apply(P,ae);return T(),Ie})(P.cancelAndHoldAtTime),P.cancelScheduledValues=(Z=>D?()=>{throw o()}:(...ae)=>{const Ie=Z.apply(P,ae);return T(),Ie})(P.cancelScheduledValues),P.exponentialRampToValueAtTime=(Z=>D?()=>{throw o()}:(...ae)=>{const Ie=Z.apply(P,ae);return T(),Ie})(P.exponentialRampToValueAtTime),P.linearRampToValueAtTime=(Z=>D?()=>{throw o()}:(...ae)=>{const Ie=Z.apply(P,ae);return T(),Ie})(P.linearRampToValueAtTime),P.setTargetAtTime=(Z=>D?()=>{throw o()}:(...ae)=>{const Ie=Z.apply(P,ae);return T(),Ie})(P.setTargetAtTime),P.setValueAtTime=(Z=>D?()=>{throw o()}:(...ae)=>{const Ie=Z.apply(P,ae);return T(),Ie})(P.setValueAtTime),P.setValueCurveAtTime=(Z=>D?()=>{throw o()}:(...ae)=>{const Ie=Z.apply(P,ae);return T(),Ie})(P.setValueCurveAtTime),P};return{forwardX:G(0,0,M(0)),forwardY:G(1,0,M(1)),forwardZ:G(2,-1,M(2)),positionX:G(6,0,U(0)),positionY:G(7,0,U(1)),positionZ:G(8,0,U(2)),upX:G(3,0,M(3)),upY:G(4,1,M(4)),upZ:G(5,0,M(5))}},{forwardX:g,forwardY:d,forwardZ:u,positionX:m,positionY:I,positionZ:f,upX:Q,upY:y,upZ:w}=l.forwardX===void 0?c():l;return{get forwardX(){return g},get forwardY(){return d},get forwardZ(){return u},get positionX(){return m},get positionY(){return I},get positionZ(){return f},get upX(){return Q},get upY(){return y},get upZ(){return w}}},JA=t=>"context"in t,Us=t=>JA(t[0]),ko=(t,e,n,i)=>{for(const o of t)if(n(o)){if(i)return!1;throw Error("The set contains at least one similar element.")}return t.add(e),!0},id=(t,e,[n,i],o)=>{ko(t,[e,n,i],a=>a[0]===e&&a[1]===n,o)},od=(t,[e,n,i],o)=>{const a=t.get(e);a===void 0?t.set(e,new Set([[n,i]])):ko(a,[n,i],s=>s[0]===n,o)},Qa=t=>"inputs"in t,YA=(t,e,n,i)=>{if(Qa(e)){const o=e.inputs[i];return t.connect(o,n,0),[o,n,0]}return t.connect(e,n,i),[e,n,i]},_p=(t,e,n)=>{for(const i of t)if(i[0]===e&&i[1]===n)return t.delete(i),i;return null},sQ=(t,e,n)=>Dr(t,i=>i[0]===e&&i[1]===n),Jp=(t,e)=>{if(!Fs(t).delete(e))throw new Error("Missing the expected event listener.")},Yp=(t,e,n)=>{const i=kn(t,e),o=Dr(i,a=>a[0]===n);return i.size===0&&t.delete(e),o},LA=(t,e,n,i)=>{Qa(e)?t.disconnect(e.inputs[i],n,0):t.disconnect(e,n,i)},je=t=>kn(Ic,t),fs=t=>kn(fc,t),Co=t=>rl.has(t),yA=t=>!da.has(t),ad=(t,e)=>new Promise(n=>{if(e!==null)n(!0);else{const i=t.createScriptProcessor(256,1,1),o=t.createGain(),a=t.createBuffer(1,2,44100),s=a.getChannelData(0);s[0]=1,s[1]=1;const A=t.createBufferSource();A.buffer=a,A.loop=!0,A.connect(i).connect(t.destination),A.connect(o),A.disconnect(o),i.onaudioprocess=r=>{const h=r.inputBuffer.getChannelData(0);Array.prototype.some.call(h,l=>l===1)?n(!0):n(!1),A.stop(),i.onaudioprocess=null,A.disconnect(i),i.disconnect(t.destination)},A.start()}}),Dh=(t,e)=>{const n=new Map;for(const i of t)for(const o of i){const a=n.get(o);n.set(o,a===void 0?1:a+1)}n.forEach((i,o)=>e(o,i))},KA=t=>"context"in t,AQ=t=>{const e=new Map;t.connect=(n=>(i,o=0,a=0)=>{const s=KA(i)?n(i,o,a):n(i,o),A=e.get(i);return A===void 0?e.set(i,[{input:a,output:o}]):A.every(r=>r.input!==a||r.output!==o)&&A.push({input:a,output:o}),s})(t.connect.bind(t)),t.disconnect=(n=>(i,o,a)=>{if(n.apply(t),i===void 0)e.clear();else if(typeof i=="number")for(const[s,A]of e){const r=A.filter(h=>h.output!==i);r.length===0?e.delete(s):e.set(s,r)}else if(e.has(i))if(o===void 0)e.delete(i);else{const s=e.get(i);if(s!==void 0){const A=s.filter(r=>r.output!==o&&(r.input!==a||a===void 0));A.length===0?e.delete(i):e.set(i,A)}}for(const[s,A]of e)A.forEach(r=>{KA(s)?t.connect(s,r.output,r.input):t.connect(s,r.output)})})(t.disconnect)},rQ=(t,e,n,i)=>{const{activeInputs:o,passiveInputs:a}=xs(e),{outputs:s}=Jt(t),A=Fs(t),r=h=>{const l=je(t),c=fs(e);if(h){const g=Yp(a,t,n);id(o,t,g,!1),!i&&!Co(t)&&l.connect(c,n)}else{const g=sQ(o,t,n);od(a,g,!1),!i&&!Co(t)&&l.disconnect(c,n)}};return ko(s,[e,n],h=>h[0]===e&&h[1]===n,!0)?(A.add(r),ci(t)?id(o,t,[n,r],!0):od(a,[t,n,r],!0),!0):!1},hQ=(t,e,n,i)=>{const{activeInputs:o,passiveInputs:a}=Jt(e),s=_p(o[i],t,n);return s===null?[Fp(a,t,n,i)[2],!1]:[s[2],!0]},lQ=(t,e,n)=>{const{activeInputs:i,passiveInputs:o}=xs(e),a=_p(i,t,n);return a===null?[Yp(o,t,n)[1],!1]:[a[2],!0]},yc=(t,e,n,i,o)=>{const[a,s]=hQ(t,n,i,o);if(a!==null&&(Jp(t,a),s&&!e&&!Co(t)&&LA(je(t),je(n),i,o)),ci(n)){const{activeInputs:A}=Jt(n);cl(n,A)}},Bc=(t,e,n,i)=>{const[o,a]=lQ(t,n,i);o!==null&&(Jp(t,o),a&&!e&&!Co(t)&&je(t).disconnect(fs(n),i))},cQ=(t,e)=>{const n=Jt(t),i=[];for(const o of n.outputs)Us(o)?yc(t,e,...o):Bc(t,e,...o),i.push(o[0]);return n.outputs.clear(),i},gQ=(t,e,n)=>{const i=Jt(t),o=[];for(const a of i.outputs)a[1]===n&&(Us(a)?yc(t,e,...a):Bc(t,e,...a),o.push(a[0]),i.outputs.delete(a));return o},dQ=(t,e,n,i,o)=>{const a=Jt(t);return Array.from(a.outputs).filter(s=>s[0]===n&&(i===void 0||s[1]===i)&&(o===void 0||s[2]===o)).map(s=>(Us(s)?yc(t,e,...s):Bc(t,e,...s),a.outputs.delete(s),s[0]))},uQ=(t,e,n,i,o,a,s,A,r,h,l,c,g,d,u,m)=>class extends h{constructor(f,Q,y,w){super(y),this._context=f,this._nativeAudioNode=y;const B=l(f);c(B)&&n(ad,()=>ad(B,m))!==!0&&AQ(y),Ic.set(this,y),Rp.set(this,new Set),f.state!=="closed"&&Q&&ua(this),t(this,w,y)}get channelCount(){return this._nativeAudioNode.channelCount}set channelCount(f){this._nativeAudioNode.channelCount=f}get channelCountMode(){return this._nativeAudioNode.channelCountMode}set channelCountMode(f){this._nativeAudioNode.channelCountMode=f}get channelInterpretation(){return this._nativeAudioNode.channelInterpretation}set channelInterpretation(f){this._nativeAudioNode.channelInterpretation=f}get context(){return this._context}get numberOfInputs(){return this._nativeAudioNode.numberOfInputs}get numberOfOutputs(){return this._nativeAudioNode.numberOfOutputs}connect(f,Q=0,y=0){if(Q<0||Q>=this._nativeAudioNode.numberOfOutputs)throw o();const w=l(this._context),B=u(w);if(g(f)||d(f))throw a();if(JA(f)){const v=je(f);try{const R=YA(this._nativeAudioNode,v,Q,y),T=yA(this);(B||T)&&this._nativeAudioNode.disconnect(...R),this.context.state!=="closed"&&!T&&yA(f)&&ua(f)}catch(R){throw R.code===12?a():R}if(e(this,f,Q,y,B)){const R=r([this],f);Dh(R,i(B))}return f}const k=fs(f);if(k.name==="playbackRate"&&k.maxValue===1024)throw s();try{this._nativeAudioNode.connect(k,Q),(B||yA(this))&&this._nativeAudioNode.disconnect(k,Q)}catch(v){throw v.code===12?a():v}if(rQ(this,f,Q,B)){const v=r([this],f);Dh(v,i(B))}}disconnect(f,Q,y){let w;const B=l(this._context),k=u(B);if(f===void 0)w=cQ(this,k);else if(typeof f=="number"){if(f<0||f>=this.numberOfOutputs)throw o();w=gQ(this,k,f)}else{if(Q!==void 0&&(Q<0||Q>=this.numberOfOutputs)||JA(f)&&y!==void 0&&(y<0||y>=f.numberOfInputs))throw o();if(w=dQ(this,k,f,Q,y),w.length===0)throw a()}for(const D of w){const v=r([this],D);Dh(v,A)}}},mQ=(t,e,n,i,o,a,s,A,r,h,l,c,g)=>(d,u,m,I=null,f=null)=>{const Q=m.value,y=new bE(Q),w=u?i(y):null,B={get defaultValue(){return Q},get maxValue(){return I===null?m.maxValue:I},get minValue(){return f===null?m.minValue:f},get value(){return m.value},set value(k){m.value=k,B.setValueAtTime(k,d.context.currentTime)},cancelAndHoldAtTime(k){if(typeof m.cancelAndHoldAtTime=="function")w===null&&y.flush(d.context.currentTime),y.add(o(k)),m.cancelAndHoldAtTime(k);else{const D=Array.from(y).pop();w===null&&y.flush(d.context.currentTime),y.add(o(k));const v=Array.from(y).pop();m.cancelScheduledValues(k),D!==v&&v!==void 0&&(v.type==="exponentialRampToValue"?m.exponentialRampToValueAtTime(v.value,v.endTime):v.type==="linearRampToValue"?m.linearRampToValueAtTime(v.value,v.endTime):v.type==="setValue"?m.setValueAtTime(v.value,v.startTime):v.type==="setValueCurve"&&m.setValueCurveAtTime(v.values,v.startTime,v.duration))}return B},cancelScheduledValues(k){return w===null&&y.flush(d.context.currentTime),y.add(a(k)),m.cancelScheduledValues(k),B},exponentialRampToValueAtTime(k,D){if(k===0)throw new RangeError;if(!Number.isFinite(D)||D<0)throw new RangeError;const v=d.context.currentTime;return w===null&&y.flush(v),Array.from(y).length===0&&(y.add(h(Q,v)),m.setValueAtTime(Q,v)),y.add(s(k,D)),m.exponentialRampToValueAtTime(k,D),B},linearRampToValueAtTime(k,D){const v=d.context.currentTime;return w===null&&y.flush(v),Array.from(y).length===0&&(y.add(h(Q,v)),m.setValueAtTime(Q,v)),y.add(A(k,D)),m.linearRampToValueAtTime(k,D),B},setTargetAtTime(k,D,v){return w===null&&y.flush(d.context.currentTime),y.add(r(k,D,v)),m.setTargetAtTime(k,D,v),B},setValueAtTime(k,D){return w===null&&y.flush(d.context.currentTime),y.add(h(k,D)),m.setValueAtTime(k,D),B},setValueCurveAtTime(k,D,v){const S=k instanceof Float32Array?k:new Float32Array(k);if(c!==null&&c.name==="webkitAudioContext"){const R=D+v,T=d.context.sampleRate,M=Math.ceil(D*T),U=Math.floor(R*T),G=U-M,q=new Float32Array(G);for(let x=0;x({replay(e){for(const n of t)if(n.type==="exponentialRampToValue"){const{endTime:i,value:o}=n;e.exponentialRampToValueAtTime(o,i)}else if(n.type==="linearRampToValue"){const{endTime:i,value:o}=n;e.linearRampToValueAtTime(o,i)}else if(n.type==="setTarget"){const{startTime:i,target:o,timeConstant:a}=n;e.setTargetAtTime(o,i,a)}else if(n.type==="setValue"){const{startTime:i,value:o}=n;e.setValueAtTime(o,i)}else if(n.type==="setValueCurve"){const{duration:i,startTime:o,values:a}=n;e.setValueCurveAtTime(a,o,i)}else throw new Error("Can't apply an unknown automation.")}});class Lp{constructor(e){this._map=new Map(e)}get size(){return this._map.size}entries(){return this._map.entries()}forEach(e,n=null){return this._map.forEach((i,o)=>e.call(n,i,o,this))}get(e){return this._map.get(e)}has(e){return this._map.has(e)}keys(){return this._map.keys()}values(){return this._map.values()}}const IQ={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:1,numberOfOutputs:1,parameterData:{},processorOptions:{}},fQ=(t,e,n,i,o,a,s,A,r,h,l,c,g,d)=>class extends e{constructor(m,I,f){var Q;const y=A(m),w=r(y),B=l({...IQ,...f});g(B);const k=hl.get(y),D=k==null?void 0:k.get(I),v=w||y.state!=="closed"?y:(Q=s(y))!==null&&Q!==void 0?Q:y,S=o(v,w?null:m.baseLatency,h,I,D,B),R=w?i(I,B,D):null;super(m,!0,S,R);const T=[];S.parameters.forEach((U,G)=>{const q=n(this,w,U);T.push([G,q])}),this._nativeAudioWorkletNode=S,this._onprocessorerror=null,this._parameters=new Lp(T),w&&t(y,this);const{activeInputs:M}=a(this);c(S,M)}get onprocessorerror(){return this._onprocessorerror}set onprocessorerror(m){const I=typeof m=="function"?d(this,m):null;this._nativeAudioWorkletNode.onprocessorerror=I;const f=this._nativeAudioWorkletNode.onprocessorerror;this._onprocessorerror=f!==null&&f===I?m:f}get parameters(){return this._parameters===null?this._nativeAudioWorkletNode.parameters:this._parameters}get port(){return this._nativeAudioWorkletNode.port}};function qA(t,e,n,i,o){if(typeof t.copyFromChannel=="function")e[n].byteLength===0&&(e[n]=new Float32Array(128)),t.copyFromChannel(e[n],i,o);else{const a=t.getChannelData(i);if(e[n].byteLength===0)e[n]=a.slice(o,o+128);else{const s=new Float32Array(a.buffer,o*Float32Array.BYTES_PER_ELEMENT,128);e[n].set(s)}}}const Kp=(t,e,n,i,o)=>{typeof t.copyToChannel=="function"?e[n].byteLength!==0&&t.copyToChannel(e[n],i,o):e[n].byteLength!==0&&t.getChannelData(i).set(e[n],o)},jA=(t,e)=>{const n=[];for(let i=0;i{const n=kn(ll,t),i=je(e);return kn(n,i)},yQ=async(t,e,n,i,o,a,s)=>{const A=e===null?Math.ceil(t.context.length/128)*128:e.length,r=i.channelCount*i.numberOfInputs,h=o.reduce((I,f)=>I+f,0),l=h===0?null:n.createBuffer(h,A,n.sampleRate);if(a===void 0)throw new Error("Missing the processor constructor.");const c=Jt(t),g=await CQ(n,t),d=jA(i.numberOfInputs,i.channelCount),u=jA(i.numberOfOutputs,o),m=Array.from(t.parameters.keys()).reduce((I,f)=>({...I,[f]:new Float32Array(128)}),{});for(let I=0;I0&&e!==null)for(let f=0;f{qA(e,m,f,r+Q,I)});for(let f=0;fc.activeInputs[w].size===0?[]:y),Q=s(I/n.sampleRate,n.sampleRate,()=>g.process(f,u,m));if(l!==null)for(let y=0,w=0;y(I,f,Q)=>{const y=new WeakMap;let w=null;const B=async(k,D)=>{let v=l(k),S=null;const R=Tt(v,D),T=Array.isArray(f.outputChannelCount)?f.outputChannelCount:Array.from(f.outputChannelCount);if(c===null){const M=T.reduce((Y,x)=>Y+x,0),U=o(D,{channelCount:Math.max(1,M),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,M)}),G=[];for(let Y=0;Y{const ae=new g(P,Math.ceil(k.context.length/128)*128,D.sampleRate),Ie=[],ht=[];for(let Qe=0;Qe{const ot=a(ae,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:Qe.value});return await d(ae,Qe,ot.offset),ot})),se=i(ae,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,x+$)});for(let Qe=0;Qeu(k,ae,Qe))),m(ae)})(),D,f,T,Q,h)}const M=await w,U=n(D,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),[G,q,Y]=S;M!==null&&(U.buffer=M,U.start(0)),U.connect(G);for(let x=0,$=0;xclass extends u{constructor(B,k){super(B,k),this._nativeContext=B,this._audioWorklet=t===void 0?void 0:{addModule:(D,v)=>t(this,D,v)}}get audioWorklet(){return this._audioWorklet}createAnalyser(){return new e(this)}createBiquadFilter(){return new o(this)}createBuffer(B,k,D){return new n({length:k,numberOfChannels:B,sampleRate:D})}createBufferSource(){return new i(this)}createChannelMerger(B=6){return new a(this,{numberOfInputs:B})}createChannelSplitter(B=6){return new s(this,{numberOfOutputs:B})}createConstantSource(){return new A(this)}createConvolver(){return new r(this)}createDelay(B=1){return new l(this,{maxDelayTime:B})}createDynamicsCompressor(){return new c(this)}createGain(){return new g(this)}createIIRFilter(B,k){return new d(this,{feedback:k,feedforward:B})}createOscillator(){return new m(this)}createPanner(){return new I(this)}createPeriodicWave(B,k,D={disableNormalization:!1}){return new f(this,{...D,imag:k,real:B})}createStereoPanner(){return new Q(this)}createWaveShaper(){return new y(this)}decodeAudioData(B,k,D){return h(this._nativeContext,B).then(v=>(typeof k=="function"&&k(v),v),v=>{throw typeof D=="function"&&D(v),v})}},QQ={Q:1,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:350,gain:0,type:"lowpass"},wQ=(t,e,n,i,o,a,s,A)=>class extends t{constructor(h,l){const c=a(h),g={...QQ,...l},d=o(c,g),u=s(c),m=u?n():null;super(h,!1,d,m),this._Q=e(this,u,d.Q,xt,qt),this._detune=e(this,u,d.detune,1200*Math.log2(xt),-1200*Math.log2(xt)),this._frequency=e(this,u,d.frequency,h.sampleRate/2,0),this._gain=e(this,u,d.gain,40*Math.log10(xt),qt),this._nativeBiquadFilterNode=d,A(this,1)}get detune(){return this._detune}get frequency(){return this._frequency}get gain(){return this._gain}get Q(){return this._Q}get type(){return this._nativeBiquadFilterNode.type}set type(h){this._nativeBiquadFilterNode.type=h}getFrequencyResponse(h,l,c){try{this._nativeBiquadFilterNode.getFrequencyResponse(h,l,c)}catch(g){throw g.code===11?i():g}if(h.length!==l.length||l.length!==c.length)throw i()}},bQ=(t,e,n,i,o)=>()=>{const a=new WeakMap,s=async(A,r)=>{let h=n(A);const l=Tt(h,r);if(!l){const c={Q:h.Q.value,channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,detune:h.detune.value,frequency:h.frequency.value,gain:h.gain.value,type:h.type};h=e(r,c)}return a.set(r,h),l?(await t(r,A.Q,h.Q),await t(r,A.detune,h.detune),await t(r,A.frequency,h.frequency),await t(r,A.gain,h.gain)):(await i(r,A.Q,h.Q),await i(r,A.detune,h.detune),await i(r,A.frequency,h.frequency),await i(r,A.gain,h.gain)),await o(A,r,h),h};return{render(A,r){const h=a.get(r);return h!==void 0?Promise.resolve(h):s(A,r)}}},vQ=(t,e)=>(n,i)=>{const o=e.get(n);if(o!==void 0)return o;const a=t.get(n);if(a!==void 0)return a;try{const s=i();return s instanceof Promise?(t.set(n,s),s.catch(()=>!1).then(A=>(t.delete(n),e.set(n,A),A))):(e.set(n,s),s)}catch{return e.set(n,!1),!1}},DQ={channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6},kQ=(t,e,n,i,o)=>class extends t{constructor(s,A){const r=i(s),h={...DQ,...A},l=n(r,h),c=o(r)?e():null;super(s,!1,l,c)}},MQ=(t,e,n)=>()=>{const i=new WeakMap,o=async(a,s)=>{let A=e(a);if(!Tt(A,s)){const h={channelCount:A.channelCount,channelCountMode:A.channelCountMode,channelInterpretation:A.channelInterpretation,numberOfInputs:A.numberOfInputs};A=t(s,h)}return i.set(s,A),await n(a,s,A),A};return{render(a,s){const A=i.get(s);return A!==void 0?Promise.resolve(A):o(a,s)}}},NQ={channelCount:6,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:6},SQ=(t,e,n,i,o,a)=>class extends t{constructor(A,r){const h=i(A),l=a({...NQ,...r}),c=n(h,l),g=o(h)?e():null;super(A,!1,c,g)}},RQ=(t,e,n)=>()=>{const i=new WeakMap,o=async(a,s)=>{let A=e(a);if(!Tt(A,s)){const h={channelCount:A.channelCount,channelCountMode:A.channelCountMode,channelInterpretation:A.channelInterpretation,numberOfOutputs:A.numberOfOutputs};A=t(s,h)}return i.set(s,A),await n(a,s,A),A};return{render(a,s){const A=i.get(s);return A!==void 0?Promise.resolve(A):o(a,s)}}},TQ=t=>(e,n,i)=>t(n,e,i),FQ=t=>(e,n,i=0,o=0)=>{const a=e[i];if(a===void 0)throw t();return KA(n)?a.connect(n,0,o):a.connect(n,0)},GQ=t=>(e,n)=>{const i=t(e,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),o=e.createBuffer(1,2,44100);return i.buffer=o,i.loop=!0,i.connect(n),i.start(),()=>{i.stop(),i.disconnect(n)}},xQ={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",offset:1},UQ=(t,e,n,i,o,a,s)=>class extends t{constructor(r,h){const l=o(r),c={...xQ,...h},g=i(l,c),d=a(l),u=d?n():null;super(r,!1,g,u),this._constantSourceNodeRenderer=u,this._nativeConstantSourceNode=g,this._offset=e(this,d,g.offset,xt,qt),this._onended=null}get offset(){return this._offset}get onended(){return this._onended}set onended(r){const h=typeof r=="function"?s(this,r):null;this._nativeConstantSourceNode.onended=h;const l=this._nativeConstantSourceNode.onended;this._onended=l!==null&&l===h?r:l}start(r=0){if(this._nativeConstantSourceNode.start(r),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.start=r),this.context.state!=="closed"){ua(this);const h=()=>{this._nativeConstantSourceNode.removeEventListener("ended",h),ci(this)&&Gs(this)};this._nativeConstantSourceNode.addEventListener("ended",h)}}stop(r=0){this._nativeConstantSourceNode.stop(r),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.stop=r)}},_Q=(t,e,n,i,o)=>()=>{const a=new WeakMap;let s=null,A=null;const r=async(h,l)=>{let c=n(h);const g=Tt(c,l);if(!g){const d={channelCount:c.channelCount,channelCountMode:c.channelCountMode,channelInterpretation:c.channelInterpretation,offset:c.offset.value};c=e(l,d),s!==null&&c.start(s),A!==null&&c.stop(A)}return a.set(l,c),g?await t(l,h.offset,c.offset):await i(l,h.offset,c.offset),await o(h,l,c),c};return{set start(h){s=h},set stop(h){A=h},render(h,l){const c=a.get(l);return c!==void 0?Promise.resolve(c):r(h,l)}}},JQ=t=>e=>(t[0]=e,t[0]),YQ={buffer:null,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",disableNormalization:!1},LQ=(t,e,n,i,o,a)=>class extends t{constructor(A,r){const h=i(A),l={...YQ,...r},c=n(h,l),d=o(h)?e():null;super(A,!1,c,d),this._isBufferNullified=!1,this._nativeConvolverNode=c,l.buffer!==null&&a(this,l.buffer.duration)}get buffer(){return this._isBufferNullified?null:this._nativeConvolverNode.buffer}set buffer(A){if(this._nativeConvolverNode.buffer=A,A===null&&this._nativeConvolverNode.buffer!==null){const r=this._nativeConvolverNode.context;this._nativeConvolverNode.buffer=r.createBuffer(1,1,r.sampleRate),this._isBufferNullified=!0,a(this,0)}else this._isBufferNullified=!1,a(this,this._nativeConvolverNode.buffer===null?0:this._nativeConvolverNode.buffer.duration)}get normalize(){return this._nativeConvolverNode.normalize}set normalize(A){this._nativeConvolverNode.normalize=A}},KQ=(t,e,n)=>()=>{const i=new WeakMap,o=async(a,s)=>{let A=e(a);if(!Tt(A,s)){const h={buffer:A.buffer,channelCount:A.channelCount,channelCountMode:A.channelCountMode,channelInterpretation:A.channelInterpretation,disableNormalization:!A.normalize};A=t(s,h)}return i.set(s,A),Qa(A)?await n(a,s,A.inputs[0]):await n(a,s,A),A};return{render(a,s){const A=i.get(s);return A!==void 0?Promise.resolve(A):o(a,s)}}},qQ=(t,e)=>(n,i,o)=>{if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");try{return new e(n,i,o)}catch(a){throw a.name==="SyntaxError"?t():a}},jQ=()=>new DOMException("","DataCloneError"),sd=t=>{const{port1:e,port2:n}=new MessageChannel;return new Promise(i=>{const o=()=>{n.onmessage=null,e.close(),n.close(),i()};n.onmessage=()=>o();try{e.postMessage(t,[t])}catch{}finally{o()}})},PQ=(t,e,n,i,o,a,s,A,r,h,l)=>(c,g)=>{const d=s(c)?c:a(c);if(o.has(g)){const u=n();return Promise.reject(u)}try{o.add(g)}catch{}return e(r,()=>r(d))?d.decodeAudioData(g).then(u=>(sd(g).catch(()=>{}),e(A,()=>A(u))||l(u),t.add(u),u)):new Promise((u,m)=>{const I=async()=>{try{await sd(g)}catch{}},f=Q=>{m(Q),I()};try{d.decodeAudioData(g,Q=>{typeof Q.copyFromChannel!="function"&&(h(Q),Cc(Q)),t.add(Q),I().then(()=>u(Q))},Q=>{f(Q===null?i():Q)})}catch(Q){f(Q)}})},HQ=(t,e,n,i,o,a,s,A)=>(r,h)=>{const l=e.get(r);if(l===void 0)throw new Error("Missing the expected cycle count.");const c=a(r.context),g=A(c);if(l===h){if(e.delete(r),!g&&s(r)){const d=i(r),{outputs:u}=n(r);for(const m of u)if(Us(m)){const I=i(m[0]);t(d,I,m[1],m[2])}else{const I=o(m[0]);d.connect(I,m[1])}}}else e.set(r,l-h)},OQ={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",delayTime:0,maxDelayTime:1},VQ=(t,e,n,i,o,a,s)=>class extends t{constructor(r,h){const l=o(r),c={...OQ,...h},g=i(l,c),d=a(l),u=d?n(c.maxDelayTime):null;super(r,!1,g,u),this._delayTime=e(this,d,g.delayTime),s(this,c.maxDelayTime)}get delayTime(){return this._delayTime}},zQ=(t,e,n,i,o)=>a=>{const s=new WeakMap,A=async(r,h)=>{let l=n(r);const c=Tt(l,h);if(!c){const g={channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,delayTime:l.delayTime.value,maxDelayTime:a};l=e(h,g)}return s.set(h,l),c?await t(h,r.delayTime,l.delayTime):await i(h,r.delayTime,l.delayTime),await o(r,h,l),l};return{render(r,h){const l=s.get(h);return l!==void 0?Promise.resolve(l):A(r,h)}}},WQ=t=>(e,n,i,o)=>t(e[o],a=>a[0]===n&&a[1]===i),ZQ=t=>(e,n)=>{t(e).delete(n)},XQ=t=>"delayTime"in t,$Q=(t,e,n)=>function i(o,a){const s=JA(a)?a:n(t,a);if(XQ(s))return[];if(o[0]===s)return[o];if(o.includes(s))return[];const{outputs:A}=e(s);return Array.from(A).map(r=>i([...o,s],r[0])).reduce((r,h)=>r.concat(h),[])},oA=(t,e,n)=>{const i=e[n];if(i===void 0)throw t();return i},ew=t=>(e,n=void 0,i=void 0,o=0)=>n===void 0?e.forEach(a=>a.disconnect()):typeof n=="number"?oA(t,e,n).disconnect():KA(n)?i===void 0?e.forEach(a=>a.disconnect(n)):o===void 0?oA(t,e,i).disconnect(n,0):oA(t,e,i).disconnect(n,0,o):i===void 0?e.forEach(a=>a.disconnect(n)):oA(t,e,i).disconnect(n,0),tw={attack:.003,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",knee:30,ratio:12,release:.25,threshold:-24},nw=(t,e,n,i,o,a,s,A)=>class extends t{constructor(h,l){const c=a(h),g={...tw,...l},d=i(c,g),u=s(c),m=u?n():null;super(h,!1,d,m),this._attack=e(this,u,d.attack),this._knee=e(this,u,d.knee),this._nativeDynamicsCompressorNode=d,this._ratio=e(this,u,d.ratio),this._release=e(this,u,d.release),this._threshold=e(this,u,d.threshold),A(this,.006)}get attack(){return this._attack}get channelCount(){return this._nativeDynamicsCompressorNode.channelCount}set channelCount(h){const l=this._nativeDynamicsCompressorNode.channelCount;if(this._nativeDynamicsCompressorNode.channelCount=h,h>2)throw this._nativeDynamicsCompressorNode.channelCount=l,o()}get channelCountMode(){return this._nativeDynamicsCompressorNode.channelCountMode}set channelCountMode(h){const l=this._nativeDynamicsCompressorNode.channelCountMode;if(this._nativeDynamicsCompressorNode.channelCountMode=h,h==="max")throw this._nativeDynamicsCompressorNode.channelCountMode=l,o()}get knee(){return this._knee}get ratio(){return this._ratio}get reduction(){return typeof this._nativeDynamicsCompressorNode.reduction.value=="number"?this._nativeDynamicsCompressorNode.reduction.value:this._nativeDynamicsCompressorNode.reduction}get release(){return this._release}get threshold(){return this._threshold}},iw=(t,e,n,i,o)=>()=>{const a=new WeakMap,s=async(A,r)=>{let h=n(A);const l=Tt(h,r);if(!l){const c={attack:h.attack.value,channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,knee:h.knee.value,ratio:h.ratio.value,release:h.release.value,threshold:h.threshold.value};h=e(r,c)}return a.set(r,h),l?(await t(r,A.attack,h.attack),await t(r,A.knee,h.knee),await t(r,A.ratio,h.ratio),await t(r,A.release,h.release),await t(r,A.threshold,h.threshold)):(await i(r,A.attack,h.attack),await i(r,A.knee,h.knee),await i(r,A.ratio,h.ratio),await i(r,A.release,h.release),await i(r,A.threshold,h.threshold)),await o(A,r,h),h};return{render(A,r){const h=a.get(r);return h!==void 0?Promise.resolve(h):s(A,r)}}},ow=()=>new DOMException("","EncodingError"),aw=t=>e=>new Promise((n,i)=>{if(t===null){i(new SyntaxError);return}const o=t.document.head;if(o===null)i(new SyntaxError);else{const a=t.document.createElement("script"),s=new Blob([e],{type:"application/javascript"}),A=URL.createObjectURL(s),r=t.onerror,h=()=>{t.onerror=r,URL.revokeObjectURL(A)};t.onerror=(l,c,g,d,u)=>{if(c===A||c===t.location.href&&g===1&&d===1)return h(),i(u),!1;if(r!==null)return r(l,c,g,d,u)},a.onerror=()=>{h(),i(new SyntaxError)},a.onload=()=>{h(),n()},a.src=A,a.type="module",o.appendChild(a)}}),sw=t=>class{constructor(n){this._nativeEventTarget=n,this._listeners=new WeakMap}addEventListener(n,i,o){if(i!==null){let a=this._listeners.get(i);a===void 0&&(a=t(this,i),typeof i=="function"&&this._listeners.set(i,a)),this._nativeEventTarget.addEventListener(n,a,o)}}dispatchEvent(n){return this._nativeEventTarget.dispatchEvent(n)}removeEventListener(n,i,o){const a=i===null?void 0:this._listeners.get(i);this._nativeEventTarget.removeEventListener(n,a===void 0?null:a,o)}},Aw=t=>(e,n,i)=>{Object.defineProperties(t,{currentFrame:{configurable:!0,get(){return Math.round(e*n)}},currentTime:{configurable:!0,get(){return e}}});try{return i()}finally{t!==null&&(delete t.currentFrame,delete t.currentTime)}},rw=t=>async e=>{try{const n=await fetch(e);if(n.ok)return[await n.text(),n.url]}catch{}throw t()},hw={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",gain:1},lw=(t,e,n,i,o,a)=>class extends t{constructor(A,r){const h=o(A),l={...hw,...r},c=i(h,l),g=a(h),d=g?n():null;super(A,!1,c,d),this._gain=e(this,g,c.gain,xt,qt)}get gain(){return this._gain}},cw=(t,e,n,i,o)=>()=>{const a=new WeakMap,s=async(A,r)=>{let h=n(A);const l=Tt(h,r);if(!l){const c={channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,gain:h.gain.value};h=e(r,c)}return a.set(r,h),l?await t(r,A.gain,h.gain):await i(r,A.gain,h.gain),await o(A,r,h),h};return{render(A,r){const h=a.get(r);return h!==void 0?Promise.resolve(h):s(A,r)}}},gw=(t,e)=>n=>e(t,n),dw=t=>e=>{const n=t(e);if(n.renderer===null)throw new Error("Missing the renderer of the given AudioNode in the audio graph.");return n.renderer},uw=t=>e=>{var n;return(n=t.get(e))!==null&&n!==void 0?n:0},mw=t=>e=>{const n=t(e);if(n.renderer===null)throw new Error("Missing the renderer of the given AudioParam in the audio graph.");return n.renderer},pw=t=>e=>t.get(e),wt=()=>new DOMException("","InvalidStateError"),Iw=t=>e=>{const n=t.get(e);if(n===void 0)throw wt();return n},fw=(t,e)=>n=>{let i=t.get(n);if(i!==void 0)return i;if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");return i=new e(1,1,44100),t.set(n,i),i},Cw=t=>e=>{const n=t.get(e);if(n===void 0)throw new Error("The context has no set of AudioWorkletNodes.");return n},kr=()=>new DOMException("","InvalidAccessError"),yw=t=>{t.getFrequencyResponse=(e=>(n,i,o)=>{if(n.length!==i.length||i.length!==o.length)throw kr();return e.call(t,n,i,o)})(t.getFrequencyResponse)},Bw={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers"},Ew=(t,e,n,i,o,a)=>class extends t{constructor(A,r){const h=i(A),l=o(h),c={...Bw,...r},g=e(h,l?null:A.baseLatency,c),d=l?n(c.feedback,c.feedforward):null;super(A,!1,g,d),yw(g),this._nativeIIRFilterNode=g,a(this,1)}getFrequencyResponse(A,r,h){return this._nativeIIRFilterNode.getFrequencyResponse(A,r,h)}},qp=(t,e,n,i,o,a,s,A,r,h,l)=>{const c=h.length;let g=A;for(let d=0;d{const o=n instanceof Float64Array?n:new Float64Array(n),a=i instanceof Float64Array?i:new Float64Array(i),s=o.length,A=a.length,r=Math.min(s,A);if(o[0]!==1){for(let u=0;u(a,s)=>{const A=new WeakMap;let r=null;const h=async(l,c)=>{let g=null,d=e(l);const u=Tt(d,c);if(c.createIIRFilter===void 0?g=t(c,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}):u||(d=c.createIIRFilter(s,a)),A.set(c,g===null?d:g),g!==null){if(r===null){if(n===null)throw new Error("Missing the native OfflineAudioContext constructor.");const I=new n(l.context.destination.channelCount,l.context.length,c.sampleRate);r=(async()=>{await i(l,I,I.destination);const f=await o(I);return Qw(f,c,a,s)})()}const m=await r;return g.buffer=m,g.start(0),g}return await i(l,c,d),d};return{render(l,c){const g=A.get(c);return g!==void 0?Promise.resolve(g):h(l,c)}}},bw=(t,e,n,i,o,a)=>s=>(A,r)=>{const h=t.get(A);if(h===void 0){if(!s&&a(A)){const l=i(A),{outputs:c}=n(A);for(const g of c)if(Us(g)){const d=i(g[0]);e(l,d,g[1],g[2])}else{const d=o(g[0]);l.disconnect(d,g[1])}}t.set(A,r)}else t.set(A,h+r)},vw=(t,e)=>n=>{const i=t.get(n);return e(i)||e(n)},Dw=(t,e)=>n=>t.has(n)||e(n),kw=(t,e)=>n=>t.has(n)||e(n),Mw=(t,e)=>n=>{const i=t.get(n);return e(i)||e(n)},Nw=t=>e=>t!==null&&e instanceof t,Sw=t=>e=>t!==null&&typeof t.AudioNode=="function"&&e instanceof t.AudioNode,Rw=t=>e=>t!==null&&typeof t.AudioParam=="function"&&e instanceof t.AudioParam,Tw=(t,e)=>n=>t(n)||e(n),Fw=t=>e=>t!==null&&e instanceof t,Gw=t=>t!==null&&t.isSecureContext,xw=(t,e,n,i)=>class extends t{constructor(a,s){const A=n(a),r=e(A,s);if(i(A))throw TypeError();super(a,!0,r,null),this._nativeMediaElementAudioSourceNode=r}get mediaElement(){return this._nativeMediaElementAudioSourceNode.mediaElement}},Uw={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers"},_w=(t,e,n,i)=>class extends t{constructor(a,s){const A=n(a);if(i(A))throw new TypeError;const r={...Uw,...s},h=e(A,r);super(a,!1,h,null),this._nativeMediaStreamAudioDestinationNode=h}get stream(){return this._nativeMediaStreamAudioDestinationNode.stream}},Jw=(t,e,n,i)=>class extends t{constructor(a,s){const A=n(a),r=e(A,s);if(i(A))throw new TypeError;super(a,!0,r,null),this._nativeMediaStreamAudioSourceNode=r}get mediaStream(){return this._nativeMediaStreamAudioSourceNode.mediaStream}},Yw=(t,e,n)=>class extends t{constructor(o,a){const s=n(o),A=e(s,a);super(o,!0,A,null)}},Lw=(t,e,n,i,o,a)=>class extends n{constructor(A,r){super(A),this._nativeContext=A,vr.set(this,A),i(A)&&o.set(A,new Set),this._destination=new t(this,r),this._listener=e(this,A),this._onstatechange=null}get currentTime(){return this._nativeContext.currentTime}get destination(){return this._destination}get listener(){return this._listener}get onstatechange(){return this._onstatechange}set onstatechange(A){const r=typeof A=="function"?a(this,A):null;this._nativeContext.onstatechange=r;const h=this._nativeContext.onstatechange;this._onstatechange=h!==null&&h===r?A:h}get sampleRate(){return this._nativeContext.sampleRate}get state(){return this._nativeContext.state}},Cs=t=>{const e=new Uint32Array([1179011410,40,1163280727,544501094,16,131073,44100,176400,1048580,1635017060,4,0]);try{const n=t.decodeAudioData(e.buffer,()=>{});return n===void 0?!1:(n.catch(()=>{}),!0)}catch{}return!1},Kw=(t,e)=>(n,i,o)=>{const a=new Set;return n.connect=(s=>(A,r=0,h=0)=>{const l=a.size===0;if(e(A))return s.call(n,A,r,h),t(a,[A,r,h],c=>c[0]===A&&c[1]===r&&c[2]===h,!0),l&&i(),A;s.call(n,A,r),t(a,[A,r],c=>c[0]===A&&c[1]===r,!0),l&&i()})(n.connect),n.disconnect=(s=>(A,r,h)=>{const l=a.size>0;if(A===void 0)s.apply(n),a.clear();else if(typeof A=="number"){s.call(n,A);for(const g of a)g[1]===A&&a.delete(g)}else{e(A)?s.call(n,A,r,h):s.call(n,A,r);for(const g of a)g[0]===A&&(r===void 0||g[1]===r)&&(h===void 0||g[2]===h)&&a.delete(g)}const c=a.size===0;l&&c&&o()})(n.disconnect),n},He=(t,e,n)=>{const i=e[n];i!==void 0&&i!==t[n]&&(t[n]=i)},ft=(t,e)=>{He(t,e,"channelCount"),He(t,e,"channelCountMode"),He(t,e,"channelInterpretation")},Ad=t=>typeof t.getFloatTimeDomainData=="function",qw=t=>{t.getFloatTimeDomainData=e=>{const n=new Uint8Array(e.length);t.getByteTimeDomainData(n);const i=Math.max(n.length,t.fftSize);for(let o=0;o(n,i)=>{const o=n.createAnalyser();if(ft(o,i),!(i.maxDecibels>i.minDecibels))throw e();return He(o,i,"fftSize"),He(o,i,"maxDecibels"),He(o,i,"minDecibels"),He(o,i,"smoothingTimeConstant"),t(Ad,()=>Ad(o))||qw(o),o},Pw=t=>t===null?null:t.hasOwnProperty("AudioBuffer")?t.AudioBuffer:null,tt=(t,e,n)=>{const i=e[n];i!==void 0&&i!==t[n].value&&(t[n].value=i)},Hw=t=>{t.start=(e=>{let n=!1;return(i=0,o=0,a)=>{if(n)throw wt();e.call(t,i,o,a),n=!0}})(t.start)},Ec=t=>{t.start=(e=>(n=0,i=0,o)=>{if(typeof o=="number"&&o<0||i<0||n<0)throw new RangeError("The parameters can't be negative.");e.call(t,n,i,o)})(t.start)},Qc=t=>{t.stop=(e=>(n=0)=>{if(n<0)throw new RangeError("The parameter can't be negative.");e.call(t,n)})(t.stop)},Ow=(t,e,n,i,o,a,s,A,r,h,l)=>(c,g)=>{const d=c.createBufferSource();return ft(d,g),tt(d,g,"playbackRate"),He(d,g,"buffer"),He(d,g,"loop"),He(d,g,"loopEnd"),He(d,g,"loopStart"),e(n,()=>n(c))||Hw(d),e(i,()=>i(c))||r(d),e(o,()=>o(c))||h(d,c),e(a,()=>a(c))||Ec(d),e(s,()=>s(c))||l(d,c),e(A,()=>A(c))||Qc(d),t(c,d),d},Vw=t=>t===null?null:t.hasOwnProperty("AudioContext")?t.AudioContext:t.hasOwnProperty("webkitAudioContext")?t.webkitAudioContext:null,zw=(t,e)=>(n,i,o)=>{const a=n.destination;if(a.channelCount!==i)try{a.channelCount=i}catch{}o&&a.channelCountMode!=="explicit"&&(a.channelCountMode="explicit"),a.maxChannelCount===0&&Object.defineProperty(a,"maxChannelCount",{value:i});const s=t(n,{channelCount:i,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,gain:1});return e(s,"channelCount",A=>()=>A.call(s),A=>r=>{A.call(s,r);try{a.channelCount=r}catch(h){if(r>a.maxChannelCount)throw h}}),e(s,"channelCountMode",A=>()=>A.call(s),A=>r=>{A.call(s,r),a.channelCountMode=r}),e(s,"channelInterpretation",A=>()=>A.call(s),A=>r=>{A.call(s,r),a.channelInterpretation=r}),Object.defineProperty(s,"maxChannelCount",{get:()=>a.maxChannelCount}),s.connect(a),s},Ww=t=>t===null?null:t.hasOwnProperty("AudioWorkletNode")?t.AudioWorkletNode:null,Zw=t=>{const{port1:e}=new MessageChannel;try{e.postMessage(t)}finally{e.close()}},Xw=(t,e,n,i,o)=>(a,s,A,r,h,l)=>{if(A!==null)try{const c=new A(a,r,l),g=new Map;let d=null;if(Object.defineProperties(c,{channelCount:{get:()=>l.channelCount,set:()=>{throw t()}},channelCountMode:{get:()=>"explicit",set:()=>{throw t()}},onprocessorerror:{get:()=>d,set:u=>{typeof d=="function"&&c.removeEventListener("processorerror",d),d=typeof u=="function"?u:null,typeof d=="function"&&c.addEventListener("processorerror",d)}}}),c.addEventListener=(u=>(...m)=>{if(m[0]==="processorerror"){const I=typeof m[1]=="function"?m[1]:typeof m[1]=="object"&&m[1]!==null&&typeof m[1].handleEvent=="function"?m[1].handleEvent:null;if(I!==null){const f=g.get(m[1]);f!==void 0?m[1]=f:(m[1]=Q=>{Q.type==="error"?(Object.defineProperties(Q,{type:{value:"processorerror"}}),I(Q)):I(new ErrorEvent(m[0],{...Q}))},g.set(I,m[1]))}}return u.call(c,"error",m[1],m[2]),u.call(c,...m)})(c.addEventListener),c.removeEventListener=(u=>(...m)=>{if(m[0]==="processorerror"){const I=g.get(m[1]);I!==void 0&&(g.delete(m[1]),m[1]=I)}return u.call(c,"error",m[1],m[2]),u.call(c,m[0],m[1],m[2])})(c.removeEventListener),l.numberOfOutputs!==0){const u=n(a,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return c.connect(u).connect(a.destination),o(c,()=>u.disconnect(),()=>u.connect(a.destination))}return c}catch(c){throw c.code===11?i():c}if(h===void 0)throw i();return Zw(l),e(a,s,h,l)},jp=(t,e)=>t===null?512:Math.max(512,Math.min(16384,Math.pow(2,Math.round(Math.log2(t*e))))),$w=t=>new Promise((e,n)=>{const{port1:i,port2:o}=new MessageChannel;i.onmessage=({data:a})=>{i.close(),o.close(),e(a)},i.onmessageerror=({data:a})=>{i.close(),o.close(),n(a)},o.postMessage(t)}),eb=async(t,e)=>{const n=await $w(e);return new t(n)},tb=(t,e,n,i)=>{let o=ll.get(t);o===void 0&&(o=new WeakMap,ll.set(t,o));const a=eb(n,i);return o.set(e,a),a},nb=(t,e,n,i,o,a,s,A,r,h,l,c,g)=>(d,u,m,I)=>{if(I.numberOfInputs===0&&I.numberOfOutputs===0)throw r();const f=Array.isArray(I.outputChannelCount)?I.outputChannelCount:Array.from(I.outputChannelCount);if(f.some(X=>X<1))throw r();if(f.length!==I.numberOfOutputs)throw e();if(I.channelCountMode!=="explicit")throw r();const Q=I.channelCount*I.numberOfInputs,y=f.reduce((X,le)=>X+le,0),w=m.parameterDescriptors===void 0?0:m.parameterDescriptors.length;if(Q+w>6||y>6)throw r();const B=new MessageChannel,k=[],D=[];for(let X=0;XX===void 0?0:X},maxValue:{get:()=>le===void 0?xt:le},minValue:{get:()=>ut===void 0?qt:ut}}),v.push(Se)}const S=i(d,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,Q+w)}),R=jp(u,d.sampleRate),T=A(d,R,Q+w,Math.max(1,y)),M=o(d,{channelCount:Math.max(1,y),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,y)}),U=[];for(let X=0;X{const ut=v[le];return ut.connect(S,0,Q+le),ut.start(0),[X,ut.offset]}));S.connect(T);let q=I.channelInterpretation,Y=null;const x=I.numberOfOutputs===0?[T]:U,$={get bufferSize(){return R},get channelCount(){return I.channelCount},set channelCount(X){throw n()},get channelCountMode(){return I.channelCountMode},set channelCountMode(X){throw n()},get channelInterpretation(){return q},set channelInterpretation(X){for(const le of k)le.channelInterpretation=X;q=X},get context(){return T.context},get inputs(){return k},get numberOfInputs(){return I.numberOfInputs},get numberOfOutputs(){return I.numberOfOutputs},get onprocessorerror(){return Y},set onprocessorerror(X){typeof Y=="function"&&$.removeEventListener("processorerror",Y),Y=typeof X=="function"?X:null,typeof Y=="function"&&$.addEventListener("processorerror",Y)},get parameters(){return G},get port(){return B.port2},addEventListener(...X){return T.addEventListener(X[0],X[1],X[2])},connect:t.bind(null,x),disconnect:h.bind(null,x),dispatchEvent(...X){return T.dispatchEvent(X[0])},removeEventListener(...X){return T.removeEventListener(X[0],X[1],X[2])}},P=new Map;B.port1.addEventListener=(X=>(...le)=>{if(le[0]==="message"){const ut=typeof le[1]=="function"?le[1]:typeof le[1]=="object"&&le[1]!==null&&typeof le[1].handleEvent=="function"?le[1].handleEvent:null;if(ut!==null){const Oe=P.get(le[1]);Oe!==void 0?le[1]=Oe:(le[1]=Se=>{l(d.currentTime,d.sampleRate,()=>ut(Se))},P.set(ut,le[1]))}}return X.call(B.port1,le[0],le[1],le[2])})(B.port1.addEventListener),B.port1.removeEventListener=(X=>(...le)=>{if(le[0]==="message"){const ut=P.get(le[1]);ut!==void 0&&(P.delete(le[1]),le[1]=ut)}return X.call(B.port1,le[0],le[1],le[2])})(B.port1.removeEventListener);let Z=null;Object.defineProperty(B.port1,"onmessage",{get:()=>Z,set:X=>{typeof Z=="function"&&B.port1.removeEventListener("message",Z),Z=typeof X=="function"?X:null,typeof Z=="function"&&(B.port1.addEventListener("message",Z),B.port1.start())}}),m.prototype.port=B.port1;let ae=null;tb(d,$,m,I).then(X=>ae=X);const ht=jA(I.numberOfInputs,I.channelCount),lt=jA(I.numberOfOutputs,f),se=m.parameterDescriptors===void 0?[]:m.parameterDescriptors.reduce((X,{name:le})=>({...X,[le]:new Float32Array(128)}),{});let Qe=!0;const ot=()=>{I.numberOfOutputs>0&&T.disconnect(M);for(let X=0,le=0;X{if(ae!==null){const ut=c($);for(let Oe=0;Oe{qA(X,se,Se,Q+We,Oe)});for(let Se=0;Se{if(ut[yi].size>0)return ie.set(yi,R/128),en;const Qh=ie.get(yi);return Qh===void 0?[]:(en.every(Dy=>Dy.every(ky=>ky===0))&&(Qh===1?ie.delete(yi):ie.set(yi,Qh-1)),en)});Qe=l(d.currentTime+Oe/d.sampleRate,d.sampleRate,()=>ae.process(Se,lt,se));for(let en=0,yi=0;enT.connect(Mt).connect(d.destination),pn=()=>{T.disconnect(Mt),Mt.disconnect()},by=()=>{if(Qe){pn(),I.numberOfOutputs>0&&T.connect(M);for(let X=0,le=0;X{Qe&&(Fn(),ot()),Tn=!1};return Fn(),g($,by,vy)},Pp=(t,e)=>{const n=t.createBiquadFilter();return ft(n,e),tt(n,e,"Q"),tt(n,e,"detune"),tt(n,e,"frequency"),tt(n,e,"gain"),He(n,e,"type"),n},ib=(t,e)=>(n,i)=>{const o=n.createChannelMerger(i.numberOfInputs);return t!==null&&t.name==="webkitAudioContext"&&e(n,o),ft(o,i),o},ob=t=>{const e=t.numberOfOutputs;Object.defineProperty(t,"channelCount",{get:()=>e,set:n=>{if(n!==e)throw wt()}}),Object.defineProperty(t,"channelCountMode",{get:()=>"explicit",set:n=>{if(n!=="explicit")throw wt()}}),Object.defineProperty(t,"channelInterpretation",{get:()=>"discrete",set:n=>{if(n!=="discrete")throw wt()}})},_s=(t,e)=>{const n=t.createChannelSplitter(e.numberOfOutputs);return ft(n,e),ob(n),n},ab=(t,e,n,i,o)=>(a,s)=>{if(a.createConstantSource===void 0)return n(a,s);const A=a.createConstantSource();return ft(A,s),tt(A,s,"offset"),e(i,()=>i(a))||Ec(A),e(o,()=>o(a))||Qc(A),t(a,A),A},wa=(t,e)=>(t.connect=e.connect.bind(e),t.disconnect=e.disconnect.bind(e),t),sb=(t,e,n,i)=>(o,{offset:a,...s})=>{const A=o.createBuffer(1,2,44100),r=e(o,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),h=n(o,{...s,gain:a}),l=A.getChannelData(0);l[0]=1,l[1]=1,r.buffer=A,r.loop=!0;const c={get bufferSize(){},get channelCount(){return h.channelCount},set channelCount(u){h.channelCount=u},get channelCountMode(){return h.channelCountMode},set channelCountMode(u){h.channelCountMode=u},get channelInterpretation(){return h.channelInterpretation},set channelInterpretation(u){h.channelInterpretation=u},get context(){return h.context},get inputs(){return[]},get numberOfInputs(){return r.numberOfInputs},get numberOfOutputs(){return h.numberOfOutputs},get offset(){return h.gain},get onended(){return r.onended},set onended(u){r.onended=u},addEventListener(...u){return r.addEventListener(u[0],u[1],u[2])},dispatchEvent(...u){return r.dispatchEvent(u[0])},removeEventListener(...u){return r.removeEventListener(u[0],u[1],u[2])},start(u=0){r.start.call(r,u)},stop(u=0){r.stop.call(r,u)}},g=()=>r.connect(h),d=()=>r.disconnect(h);return t(o,r),i(wa(c,h),g,d)},Ab=(t,e)=>(n,i)=>{const o=n.createConvolver();if(ft(o,i),i.disableNormalization===o.normalize&&(o.normalize=!i.disableNormalization),He(o,i,"buffer"),i.channelCount>2||(e(o,"channelCount",a=>()=>a.call(o),a=>s=>{if(s>2)throw t();return a.call(o,s)}),i.channelCountMode==="max"))throw t();return e(o,"channelCountMode",a=>()=>a.call(o),a=>s=>{if(s==="max")throw t();return a.call(o,s)}),o},Hp=(t,e)=>{const n=t.createDelay(e.maxDelayTime);return ft(n,e),tt(n,e,"delayTime"),n},rb=t=>(e,n)=>{const i=e.createDynamicsCompressor();if(ft(i,n),n.channelCount>2||n.channelCountMode==="max")throw t();return tt(i,n,"attack"),tt(i,n,"knee"),tt(i,n,"ratio"),tt(i,n,"release"),tt(i,n,"threshold"),i},Ht=(t,e)=>{const n=t.createGain();return ft(n,e),tt(n,e,"gain"),n},hb=t=>(e,n,i)=>{if(e.createIIRFilter===void 0)return t(e,n,i);const o=e.createIIRFilter(i.feedforward,i.feedback);return ft(o,i),o};function lb(t,e){const n=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/n,(t[1]*e[0]-t[0]*e[1])/n]}function cb(t,e){return[t[0]*e[0]-t[1]*e[1],t[0]*e[1]+t[1]*e[0]]}function rd(t,e){let n=[0,0];for(let i=t.length-1;i>=0;i-=1)n=cb(n,e),n[0]+=t[i];return n}const gb=(t,e,n,i)=>(o,a,{channelCount:s,channelCountMode:A,channelInterpretation:r,feedback:h,feedforward:l})=>{const c=jp(a,o.sampleRate),g=h instanceof Float64Array?h:new Float64Array(h),d=l instanceof Float64Array?l:new Float64Array(l),u=g.length,m=d.length,I=Math.min(u,m);if(u===0||u>20)throw i();if(g[0]===0)throw e();if(m===0||m>20)throw i();if(d[0]===0)throw e();if(g[0]!==1){for(let v=0;v{const S=v.inputBuffer,R=v.outputBuffer,T=S.numberOfChannels;for(let M=0;Mt.createMediaElementSource(e.mediaElement),ub=(t,e)=>{const n=t.createMediaStreamDestination();return ft(n,e),n.numberOfOutputs===1&&Object.defineProperty(n,"numberOfOutputs",{get:()=>0}),n},mb=(t,{mediaStream:e})=>{const n=e.getAudioTracks();n.sort((a,s)=>a.ids.id?1:0);const i=n.slice(0,1),o=t.createMediaStreamSource(new MediaStream(i));return Object.defineProperty(o,"mediaStream",{value:e}),o},pb=(t,e)=>(n,{mediaStreamTrack:i})=>{if(typeof n.createMediaStreamTrackSource=="function")return n.createMediaStreamTrackSource(i);const o=new MediaStream([i]),a=n.createMediaStreamSource(o);if(i.kind!=="audio")throw t();if(e(n))throw new TypeError;return a},Ib=t=>t===null?null:t.hasOwnProperty("OfflineAudioContext")?t.OfflineAudioContext:t.hasOwnProperty("webkitOfflineAudioContext")?t.webkitOfflineAudioContext:null,fb=(t,e,n,i,o,a)=>(s,A)=>{const r=s.createOscillator();return ft(r,A),tt(r,A,"detune"),tt(r,A,"frequency"),A.periodicWave!==void 0?r.setPeriodicWave(A.periodicWave):He(r,A,"type"),e(n,()=>n(s))||Ec(r),e(i,()=>i(s))||a(r,s),e(o,()=>o(s))||Qc(r),t(s,r),r},Cb=t=>(e,n)=>{const i=e.createPanner();return i.orientationX===void 0?t(e,n):(ft(i,n),tt(i,n,"orientationX"),tt(i,n,"orientationY"),tt(i,n,"orientationZ"),tt(i,n,"positionX"),tt(i,n,"positionY"),tt(i,n,"positionZ"),He(i,n,"coneInnerAngle"),He(i,n,"coneOuterAngle"),He(i,n,"coneOuterGain"),He(i,n,"distanceModel"),He(i,n,"maxDistance"),He(i,n,"panningModel"),He(i,n,"refDistance"),He(i,n,"rolloffFactor"),i)},yb=(t,e,n,i,o,a,s,A,r,h)=>(l,{coneInnerAngle:c,coneOuterAngle:g,coneOuterGain:d,distanceModel:u,maxDistance:m,orientationX:I,orientationY:f,orientationZ:Q,panningModel:y,positionX:w,positionY:B,positionZ:k,refDistance:D,rolloffFactor:v,...S})=>{const R=l.createPanner();if(S.channelCount>2||S.channelCountMode==="max")throw s();ft(R,S);const T={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},M=n(l,{...T,channelInterpretation:"speakers",numberOfInputs:6}),U=i(l,{...S,gain:1}),G=i(l,{...T,gain:1}),q=i(l,{...T,gain:0}),Y=i(l,{...T,gain:0}),x=i(l,{...T,gain:0}),$=i(l,{...T,gain:0}),P=i(l,{...T,gain:0}),Z=o(l,256,6,1),ae=a(l,{...T,curve:new Float32Array([1,1]),oversample:"none"});let Ie=[I,f,Q],ht=[w,B,k];const lt=new Float32Array(1);Z.onaudioprocess=({inputBuffer:ie})=>{const Tn=[r(ie,lt,0),r(ie,lt,1),r(ie,lt,2)];Tn.some((Fn,pn)=>Fn!==Ie[pn])&&(R.setOrientation(...Tn),Ie=Tn);const Mt=[r(ie,lt,3),r(ie,lt,4),r(ie,lt,5)];Mt.some((Fn,pn)=>Fn!==ht[pn])&&(R.setPosition(...Mt),ht=Mt)},Object.defineProperty(q.gain,"defaultValue",{get:()=>0}),Object.defineProperty(Y.gain,"defaultValue",{get:()=>0}),Object.defineProperty(x.gain,"defaultValue",{get:()=>0}),Object.defineProperty($.gain,"defaultValue",{get:()=>0}),Object.defineProperty(P.gain,"defaultValue",{get:()=>0});const se={get bufferSize(){},get channelCount(){return R.channelCount},set channelCount(ie){if(ie>2)throw s();U.channelCount=ie,R.channelCount=ie},get channelCountMode(){return R.channelCountMode},set channelCountMode(ie){if(ie==="max")throw s();U.channelCountMode=ie,R.channelCountMode=ie},get channelInterpretation(){return R.channelInterpretation},set channelInterpretation(ie){U.channelInterpretation=ie,R.channelInterpretation=ie},get coneInnerAngle(){return R.coneInnerAngle},set coneInnerAngle(ie){R.coneInnerAngle=ie},get coneOuterAngle(){return R.coneOuterAngle},set coneOuterAngle(ie){R.coneOuterAngle=ie},get coneOuterGain(){return R.coneOuterGain},set coneOuterGain(ie){if(ie<0||ie>1)throw e();R.coneOuterGain=ie},get context(){return R.context},get distanceModel(){return R.distanceModel},set distanceModel(ie){R.distanceModel=ie},get inputs(){return[U]},get maxDistance(){return R.maxDistance},set maxDistance(ie){if(ie<0)throw new RangeError;R.maxDistance=ie},get numberOfInputs(){return R.numberOfInputs},get numberOfOutputs(){return R.numberOfOutputs},get orientationX(){return G.gain},get orientationY(){return q.gain},get orientationZ(){return Y.gain},get panningModel(){return R.panningModel},set panningModel(ie){R.panningModel=ie},get positionX(){return x.gain},get positionY(){return $.gain},get positionZ(){return P.gain},get refDistance(){return R.refDistance},set refDistance(ie){if(ie<0)throw new RangeError;R.refDistance=ie},get rolloffFactor(){return R.rolloffFactor},set rolloffFactor(ie){if(ie<0)throw new RangeError;R.rolloffFactor=ie},addEventListener(...ie){return U.addEventListener(ie[0],ie[1],ie[2])},dispatchEvent(...ie){return U.dispatchEvent(ie[0])},removeEventListener(...ie){return U.removeEventListener(ie[0],ie[1],ie[2])}};c!==se.coneInnerAngle&&(se.coneInnerAngle=c),g!==se.coneOuterAngle&&(se.coneOuterAngle=g),d!==se.coneOuterGain&&(se.coneOuterGain=d),u!==se.distanceModel&&(se.distanceModel=u),m!==se.maxDistance&&(se.maxDistance=m),I!==se.orientationX.value&&(se.orientationX.value=I),f!==se.orientationY.value&&(se.orientationY.value=f),Q!==se.orientationZ.value&&(se.orientationZ.value=Q),y!==se.panningModel&&(se.panningModel=y),w!==se.positionX.value&&(se.positionX.value=w),B!==se.positionY.value&&(se.positionY.value=B),k!==se.positionZ.value&&(se.positionZ.value=k),D!==se.refDistance&&(se.refDistance=D),v!==se.rolloffFactor&&(se.rolloffFactor=v),(Ie[0]!==1||Ie[1]!==0||Ie[2]!==0)&&R.setOrientation(...Ie),(ht[0]!==0||ht[1]!==0||ht[2]!==0)&&R.setPosition(...ht);const Qe=()=>{U.connect(R),t(U,ae,0,0),ae.connect(G).connect(M,0,0),ae.connect(q).connect(M,0,1),ae.connect(Y).connect(M,0,2),ae.connect(x).connect(M,0,3),ae.connect($).connect(M,0,4),ae.connect(P).connect(M,0,5),M.connect(Z).connect(l.destination)},ot=()=>{U.disconnect(R),A(U,ae,0,0),ae.disconnect(G),G.disconnect(M),ae.disconnect(q),q.disconnect(M),ae.disconnect(Y),Y.disconnect(M),ae.disconnect(x),x.disconnect(M),ae.disconnect($),$.disconnect(M),ae.disconnect(P),P.disconnect(M),M.disconnect(Z),Z.disconnect(l.destination)};return h(wa(se,R),Qe,ot)},Bb=t=>(e,{disableNormalization:n,imag:i,real:o})=>{const a=i instanceof Float32Array?i:new Float32Array(i),s=o instanceof Float32Array?o:new Float32Array(o),A=e.createPeriodicWave(s,a,{disableNormalization:n});if(Array.from(i).length<2)throw t();return A},Js=(t,e,n,i)=>t.createScriptProcessor(e,n,i),Eb=(t,e)=>(n,i)=>{const o=i.channelCountMode;if(o==="clamped-max")throw e();if(n.createStereoPanner===void 0)return t(n,i);const a=n.createStereoPanner();return ft(a,i),tt(a,i,"pan"),Object.defineProperty(a,"channelCountMode",{get:()=>o,set:s=>{if(s!==o)throw e()}}),a},Qb=(t,e,n,i,o,a)=>{const A=new Float32Array([1,1]),r=Math.PI/2,h={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},l={...h,oversample:"none"},c=(u,m,I,f)=>{const Q=new Float32Array(16385),y=new Float32Array(16385);for(let S=0;S<16385;S+=1){const R=S/16384*r;Q[S]=Math.cos(R),y[S]=Math.sin(R)}const w=n(u,{...h,gain:0}),B=i(u,{...l,curve:Q}),k=i(u,{...l,curve:A}),D=n(u,{...h,gain:0}),v=i(u,{...l,curve:y});return{connectGraph(){m.connect(w),m.connect(k.inputs===void 0?k:k.inputs[0]),m.connect(D),k.connect(I),I.connect(B.inputs===void 0?B:B.inputs[0]),I.connect(v.inputs===void 0?v:v.inputs[0]),B.connect(w.gain),v.connect(D.gain),w.connect(f,0,0),D.connect(f,0,1)},disconnectGraph(){m.disconnect(w),m.disconnect(k.inputs===void 0?k:k.inputs[0]),m.disconnect(D),k.disconnect(I),I.disconnect(B.inputs===void 0?B:B.inputs[0]),I.disconnect(v.inputs===void 0?v:v.inputs[0]),B.disconnect(w.gain),v.disconnect(D.gain),w.disconnect(f,0,0),D.disconnect(f,0,1)}}},g=(u,m,I,f)=>{const Q=new Float32Array(16385),y=new Float32Array(16385),w=new Float32Array(16385),B=new Float32Array(16385),k=Math.floor(16385/2);for(let x=0;x<16385;x+=1)if(x>k){const $=(x-k)/(16384-k)*r;Q[x]=Math.cos($),y[x]=Math.sin($),w[x]=0,B[x]=1}else{const $=x/(16384-k)*r;Q[x]=1,y[x]=0,w[x]=Math.cos($),B[x]=Math.sin($)}const D=e(u,{channelCount:2,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:2}),v=n(u,{...h,gain:0}),S=i(u,{...l,curve:Q}),R=n(u,{...h,gain:0}),T=i(u,{...l,curve:y}),M=i(u,{...l,curve:A}),U=n(u,{...h,gain:0}),G=i(u,{...l,curve:w}),q=n(u,{...h,gain:0}),Y=i(u,{...l,curve:B});return{connectGraph(){m.connect(D),m.connect(M.inputs===void 0?M:M.inputs[0]),D.connect(v,0),D.connect(R,0),D.connect(U,1),D.connect(q,1),M.connect(I),I.connect(S.inputs===void 0?S:S.inputs[0]),I.connect(T.inputs===void 0?T:T.inputs[0]),I.connect(G.inputs===void 0?G:G.inputs[0]),I.connect(Y.inputs===void 0?Y:Y.inputs[0]),S.connect(v.gain),T.connect(R.gain),G.connect(U.gain),Y.connect(q.gain),v.connect(f,0,0),U.connect(f,0,0),R.connect(f,0,1),q.connect(f,0,1)},disconnectGraph(){m.disconnect(D),m.disconnect(M.inputs===void 0?M:M.inputs[0]),D.disconnect(v,0),D.disconnect(R,0),D.disconnect(U,1),D.disconnect(q,1),M.disconnect(I),I.disconnect(S.inputs===void 0?S:S.inputs[0]),I.disconnect(T.inputs===void 0?T:T.inputs[0]),I.disconnect(G.inputs===void 0?G:G.inputs[0]),I.disconnect(Y.inputs===void 0?Y:Y.inputs[0]),S.disconnect(v.gain),T.disconnect(R.gain),G.disconnect(U.gain),Y.disconnect(q.gain),v.disconnect(f,0,0),U.disconnect(f,0,0),R.disconnect(f,0,1),q.disconnect(f,0,1)}}},d=(u,m,I,f,Q)=>{if(m===1)return c(u,I,f,Q);if(m===2)return g(u,I,f,Q);throw o()};return(u,{channelCount:m,channelCountMode:I,pan:f,...Q})=>{if(I==="max")throw o();const y=t(u,{...Q,channelCount:1,channelCountMode:I,numberOfInputs:2}),w=n(u,{...Q,channelCount:m,channelCountMode:I,gain:1}),B=n(u,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:f});let{connectGraph:k,disconnectGraph:D}=d(u,m,w,B,y);Object.defineProperty(B.gain,"defaultValue",{get:()=>0}),Object.defineProperty(B.gain,"maxValue",{get:()=>1}),Object.defineProperty(B.gain,"minValue",{get:()=>-1});const v={get bufferSize(){},get channelCount(){return w.channelCount},set channelCount(M){w.channelCount!==M&&(S&&D(),{connectGraph:k,disconnectGraph:D}=d(u,M,w,B,y),S&&k()),w.channelCount=M},get channelCountMode(){return w.channelCountMode},set channelCountMode(M){if(M==="clamped-max"||M==="max")throw o();w.channelCountMode=M},get channelInterpretation(){return w.channelInterpretation},set channelInterpretation(M){w.channelInterpretation=M},get context(){return w.context},get inputs(){return[w]},get numberOfInputs(){return w.numberOfInputs},get numberOfOutputs(){return w.numberOfOutputs},get pan(){return B.gain},addEventListener(...M){return w.addEventListener(M[0],M[1],M[2])},dispatchEvent(...M){return w.dispatchEvent(M[0])},removeEventListener(...M){return w.removeEventListener(M[0],M[1],M[2])}};let S=!1;const R=()=>{k(),S=!0},T=()=>{D(),S=!1};return a(wa(v,y),R,T)}},wb=(t,e,n,i,o,a,s)=>(A,r)=>{const h=A.createWaveShaper();if(a!==null&&a.name==="webkitAudioContext"&&A.createGain().gain.automationRate===void 0)return n(A,r);ft(h,r);const l=r.curve===null||r.curve instanceof Float32Array?r.curve:new Float32Array(r.curve);if(l!==null&&l.length<2)throw e();He(h,{curve:l},"curve"),He(h,r,"oversample");let c=null,g=!1;return s(h,"curve",m=>()=>m.call(h),m=>I=>(m.call(h,I),g&&(i(I)&&c===null?c=t(A,h):!i(I)&&c!==null&&(c(),c=null)),I)),o(h,()=>{g=!0,i(h.curve)&&(c=t(A,h))},()=>{g=!1,c!==null&&(c(),c=null)})},bb=(t,e,n,i,o)=>(a,{curve:s,oversample:A,...r})=>{const h=a.createWaveShaper(),l=a.createWaveShaper();ft(h,r),ft(l,r);const c=n(a,{...r,gain:1}),g=n(a,{...r,gain:-1}),d=n(a,{...r,gain:1}),u=n(a,{...r,gain:-1});let m=null,I=!1,f=null;const Q={get bufferSize(){},get channelCount(){return h.channelCount},set channelCount(B){c.channelCount=B,g.channelCount=B,h.channelCount=B,d.channelCount=B,l.channelCount=B,u.channelCount=B},get channelCountMode(){return h.channelCountMode},set channelCountMode(B){c.channelCountMode=B,g.channelCountMode=B,h.channelCountMode=B,d.channelCountMode=B,l.channelCountMode=B,u.channelCountMode=B},get channelInterpretation(){return h.channelInterpretation},set channelInterpretation(B){c.channelInterpretation=B,g.channelInterpretation=B,h.channelInterpretation=B,d.channelInterpretation=B,l.channelInterpretation=B,u.channelInterpretation=B},get context(){return h.context},get curve(){return f},set curve(B){if(B!==null&&B.length<2)throw e();if(B===null)h.curve=B,l.curve=B;else{const k=B.length,D=new Float32Array(k+2-k%2),v=new Float32Array(k+2-k%2);D[0]=B[0],v[0]=-B[k-1];const S=Math.ceil((k+1)/2),R=(k+1)/2-1;for(let T=1;T{c.connect(h).connect(d),c.connect(g).connect(l).connect(u).connect(d),I=!0,i(f)&&(m=t(a,c))},w=()=>{c.disconnect(h),h.disconnect(d),c.disconnect(g),g.disconnect(l),l.disconnect(u),u.disconnect(d),I=!1,m!==null&&(m(),m=null)};return o(wa(Q,d),y,w)},Yt=()=>new DOMException("","NotSupportedError"),vb={numberOfChannels:1},Db=(t,e,n,i,o)=>class extends t{constructor(s,A,r){let h;if(typeof s=="number"&&A!==void 0&&r!==void 0)h={length:A,numberOfChannels:s,sampleRate:r};else if(typeof s=="object")h=s;else throw new Error("The given parameters are not valid.");const{length:l,numberOfChannels:c,sampleRate:g}={...vb,...h},d=i(c,l,g);e(Cs,()=>Cs(d))||d.addEventListener("statechange",(()=>{let u=0;const m=I=>{this._state==="running"&&(u>0?(d.removeEventListener("statechange",m),I.stopImmediatePropagation(),this._waitForThePromiseToSettle(I)):u+=1)};return m})()),super(d,c),this._length=l,this._nativeOfflineAudioContext=d,this._state=null}get length(){return this._nativeOfflineAudioContext.length===void 0?this._length:this._nativeOfflineAudioContext.length}get state(){return this._state===null?this._nativeOfflineAudioContext.state:this._state}startRendering(){return this._state==="running"?Promise.reject(n()):(this._state="running",o(this.destination,this._nativeOfflineAudioContext).finally(()=>{this._state=null,Up(this)}))}_waitForThePromiseToSettle(s){this._state===null?this._nativeOfflineAudioContext.dispatchEvent(s):setTimeout(()=>this._waitForThePromiseToSettle(s))}},kb={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:440,periodicWave:void 0,type:"sine"},Mb=(t,e,n,i,o,a,s)=>class extends t{constructor(r,h){const l=o(r),c={...kb,...h},g=n(l,c),d=a(l),u=d?i():null,m=r.sampleRate/2;super(r,!1,g,u),this._detune=e(this,d,g.detune,153600,-153600),this._frequency=e(this,d,g.frequency,m,-m),this._nativeOscillatorNode=g,this._onended=null,this._oscillatorNodeRenderer=u,this._oscillatorNodeRenderer!==null&&c.periodicWave!==void 0&&(this._oscillatorNodeRenderer.periodicWave=c.periodicWave)}get detune(){return this._detune}get frequency(){return this._frequency}get onended(){return this._onended}set onended(r){const h=typeof r=="function"?s(this,r):null;this._nativeOscillatorNode.onended=h;const l=this._nativeOscillatorNode.onended;this._onended=l!==null&&l===h?r:l}get type(){return this._nativeOscillatorNode.type}set type(r){this._nativeOscillatorNode.type=r,this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=null)}setPeriodicWave(r){this._nativeOscillatorNode.setPeriodicWave(r),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=r)}start(r=0){if(this._nativeOscillatorNode.start(r),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.start=r),this.context.state!=="closed"){ua(this);const h=()=>{this._nativeOscillatorNode.removeEventListener("ended",h),ci(this)&&Gs(this)};this._nativeOscillatorNode.addEventListener("ended",h)}}stop(r=0){this._nativeOscillatorNode.stop(r),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.stop=r)}},Nb=(t,e,n,i,o)=>()=>{const a=new WeakMap;let s=null,A=null,r=null;const h=async(l,c)=>{let g=n(l);const d=Tt(g,c);if(!d){const u={channelCount:g.channelCount,channelCountMode:g.channelCountMode,channelInterpretation:g.channelInterpretation,detune:g.detune.value,frequency:g.frequency.value,periodicWave:s===null?void 0:s,type:g.type};g=e(c,u),A!==null&&g.start(A),r!==null&&g.stop(r)}return a.set(c,g),d?(await t(c,l.detune,g.detune),await t(c,l.frequency,g.frequency)):(await i(c,l.detune,g.detune),await i(c,l.frequency,g.frequency)),await o(l,c,g),g};return{set periodicWave(l){s=l},set start(l){A=l},set stop(l){r=l},render(l,c){const g=a.get(c);return g!==void 0?Promise.resolve(g):h(l,c)}}},Sb={channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",coneInnerAngle:360,coneOuterAngle:360,coneOuterGain:0,distanceModel:"inverse",maxDistance:1e4,orientationX:1,orientationY:0,orientationZ:0,panningModel:"equalpower",positionX:0,positionY:0,positionZ:0,refDistance:1,rolloffFactor:1},Rb=(t,e,n,i,o,a,s)=>class extends t{constructor(r,h){const l=o(r),c={...Sb,...h},g=n(l,c),d=a(l),u=d?i():null;super(r,!1,g,u),this._nativePannerNode=g,this._orientationX=e(this,d,g.orientationX,xt,qt),this._orientationY=e(this,d,g.orientationY,xt,qt),this._orientationZ=e(this,d,g.orientationZ,xt,qt),this._positionX=e(this,d,g.positionX,xt,qt),this._positionY=e(this,d,g.positionY,xt,qt),this._positionZ=e(this,d,g.positionZ,xt,qt),s(this,1)}get coneInnerAngle(){return this._nativePannerNode.coneInnerAngle}set coneInnerAngle(r){this._nativePannerNode.coneInnerAngle=r}get coneOuterAngle(){return this._nativePannerNode.coneOuterAngle}set coneOuterAngle(r){this._nativePannerNode.coneOuterAngle=r}get coneOuterGain(){return this._nativePannerNode.coneOuterGain}set coneOuterGain(r){this._nativePannerNode.coneOuterGain=r}get distanceModel(){return this._nativePannerNode.distanceModel}set distanceModel(r){this._nativePannerNode.distanceModel=r}get maxDistance(){return this._nativePannerNode.maxDistance}set maxDistance(r){this._nativePannerNode.maxDistance=r}get orientationX(){return this._orientationX}get orientationY(){return this._orientationY}get orientationZ(){return this._orientationZ}get panningModel(){return this._nativePannerNode.panningModel}set panningModel(r){this._nativePannerNode.panningModel=r}get positionX(){return this._positionX}get positionY(){return this._positionY}get positionZ(){return this._positionZ}get refDistance(){return this._nativePannerNode.refDistance}set refDistance(r){this._nativePannerNode.refDistance=r}get rolloffFactor(){return this._nativePannerNode.rolloffFactor}set rolloffFactor(r){this._nativePannerNode.rolloffFactor=r}},Tb=(t,e,n,i,o,a,s,A,r,h)=>()=>{const l=new WeakMap;let c=null;const g=async(d,u)=>{let m=null,I=a(d);const f={channelCount:I.channelCount,channelCountMode:I.channelCountMode,channelInterpretation:I.channelInterpretation},Q={...f,coneInnerAngle:I.coneInnerAngle,coneOuterAngle:I.coneOuterAngle,coneOuterGain:I.coneOuterGain,distanceModel:I.distanceModel,maxDistance:I.maxDistance,panningModel:I.panningModel,refDistance:I.refDistance,rolloffFactor:I.rolloffFactor},y=Tt(I,u);if("bufferSize"in I)m=i(u,{...f,gain:1});else if(!y){const w={...Q,orientationX:I.orientationX.value,orientationY:I.orientationY.value,orientationZ:I.orientationZ.value,positionX:I.positionX.value,positionY:I.positionY.value,positionZ:I.positionZ.value};I=o(u,w)}if(l.set(u,m===null?I:m),m!==null){if(c===null){if(s===null)throw new Error("Missing the native OfflineAudioContext constructor.");const T=new s(6,d.context.length,u.sampleRate),M=e(T,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6});M.connect(T.destination),c=(async()=>{const U=await Promise.all([d.orientationX,d.orientationY,d.orientationZ,d.positionX,d.positionY,d.positionZ].map(async(G,q)=>{const Y=n(T,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:q===0?1:0});return await A(T,G,Y.offset),Y}));for(let G=0;G<6;G+=1)U[G].connect(M,0,G),U[G].start(0);return h(T)})()}const w=await c,B=i(u,{...f,gain:1});await r(d,u,B);const k=[];for(let T=0;TG!==D[q])||U.some((G,q)=>G!==v[q])){D=M,v=U;const G=T/u.sampleRate;S.gain.setValueAtTime(0,G),S=i(u,{...f,gain:0}),R=o(u,{...Q,orientationX:D[0],orientationY:D[1],orientationZ:D[2],positionX:v[0],positionY:v[1],positionZ:v[2]}),S.gain.setValueAtTime(1,G),B.connect(S).connect(R.inputs[0]),R.connect(m)}}return m}return y?(await t(u,d.orientationX,I.orientationX),await t(u,d.orientationY,I.orientationY),await t(u,d.orientationZ,I.orientationZ),await t(u,d.positionX,I.positionX),await t(u,d.positionY,I.positionY),await t(u,d.positionZ,I.positionZ)):(await A(u,d.orientationX,I.orientationX),await A(u,d.orientationY,I.orientationY),await A(u,d.orientationZ,I.orientationZ),await A(u,d.positionX,I.positionX),await A(u,d.positionY,I.positionY),await A(u,d.positionZ,I.positionZ)),Qa(I)?await r(d,u,I.inputs[0]):await r(d,u,I),I};return{render(d,u){const m=l.get(u);return m!==void 0?Promise.resolve(m):g(d,u)}}},Fb={disableNormalization:!1},Gb=(t,e,n,i)=>class Op{constructor(a,s){const A=e(a),r=i({...Fb,...s}),h=t(A,r);return n.add(h),h}static[Symbol.hasInstance](a){return a!==null&&typeof a=="object"&&Object.getPrototypeOf(a)===Op.prototype||n.has(a)}},xb=(t,e)=>(n,i,o)=>(t(i).replay(o),e(i,n,o)),Ub=(t,e,n)=>async(i,o,a)=>{const s=t(i);await Promise.all(s.activeInputs.map((A,r)=>Array.from(A).map(async([h,l])=>{const g=await e(h).render(h,o),d=i.context.destination;!n(h)&&(i!==d||!n(i))&&g.connect(a,l,r)})).reduce((A,r)=>[...A,...r],[]))},_b=(t,e,n)=>async(i,o,a)=>{const s=e(i);await Promise.all(Array.from(s.activeInputs).map(async([A,r])=>{const l=await t(A).render(A,o);n(A)||l.connect(a,r)}))},Jb=(t,e,n,i)=>o=>t(Cs,()=>Cs(o))?Promise.resolve(t(i,i)).then(a=>{if(!a){const s=n(o,512,0,1);o.oncomplete=()=>{s.onaudioprocess=null,s.disconnect()},s.onaudioprocess=()=>o.currentTime,s.connect(o.destination)}return o.startRendering()}):new Promise(a=>{const s=e(o,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});o.oncomplete=A=>{s.disconnect(),a(A.renderedBuffer)},s.connect(o.destination),o.startRendering()}),Yb=t=>(e,n)=>{t.set(e,n)},Lb=t=>(e,n)=>t.set(e,n),Kb=(t,e,n,i,o,a,s,A)=>(r,h)=>n(r).render(r,h).then(()=>Promise.all(Array.from(i(h)).map(l=>n(l).render(l,h)))).then(()=>o(h)).then(l=>(typeof l.copyFromChannel!="function"?(s(l),Cc(l)):e(a,()=>a(l))||A(l),t.add(l),l)),qb={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",pan:0},jb=(t,e,n,i,o,a)=>class extends t{constructor(A,r){const h=o(A),l={...qb,...r},c=n(h,l),g=a(h),d=g?i():null;super(A,!1,c,d),this._pan=e(this,g,c.pan)}get pan(){return this._pan}},Pb=(t,e,n,i,o)=>()=>{const a=new WeakMap,s=async(A,r)=>{let h=n(A);const l=Tt(h,r);if(!l){const c={channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,pan:h.pan.value};h=e(r,c)}return a.set(r,h),l?await t(r,A.pan,h.pan):await i(r,A.pan,h.pan),Qa(h)?await o(A,r,h.inputs[0]):await o(A,r,h),h};return{render(A,r){const h=a.get(r);return h!==void 0?Promise.resolve(h):s(A,r)}}},Hb=t=>()=>{if(t===null)return!1;try{new t({length:1,sampleRate:44100})}catch{return!1}return!0},Ob=(t,e)=>async()=>{if(t===null)return!0;if(e===null)return!1;const n=new Blob(['class A extends AudioWorkletProcessor{process(i){this.port.postMessage(i,[i[0][0].buffer])}}registerProcessor("a",A)'],{type:"application/javascript; charset=utf-8"}),i=new e(1,128,44100),o=URL.createObjectURL(n);let a=!1,s=!1;try{await i.audioWorklet.addModule(o);const A=new t(i,"a",{numberOfOutputs:0}),r=i.createOscillator();A.port.onmessage=()=>a=!0,A.onprocessorerror=()=>s=!0,r.connect(A),r.start(0),await i.startRendering(),await new Promise(h=>setTimeout(h))}catch{}finally{URL.revokeObjectURL(o)}return a&&!s},Vb=(t,e)=>()=>{if(e===null)return Promise.resolve(!1);const n=new e(1,1,44100),i=t(n,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return new Promise(o=>{n.oncomplete=()=>{i.disconnect(),o(n.currentTime!==0)},n.startRendering()})},zb=()=>new DOMException("","UnknownError"),Wb={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",curve:null,oversample:"none"},Zb=(t,e,n,i,o,a,s)=>class extends t{constructor(r,h){const l=o(r),c={...Wb,...h},g=n(l,c),u=a(l)?i():null;super(r,!0,g,u),this._isCurveNullified=!1,this._nativeWaveShaperNode=g,s(this,1)}get curve(){return this._isCurveNullified?null:this._nativeWaveShaperNode.curve}set curve(r){if(r===null)this._isCurveNullified=!0,this._nativeWaveShaperNode.curve=new Float32Array([0,0]);else{if(r.length<2)throw e();this._isCurveNullified=!1,this._nativeWaveShaperNode.curve=r}}get oversample(){return this._nativeWaveShaperNode.oversample}set oversample(r){this._nativeWaveShaperNode.oversample=r}},Xb=(t,e,n)=>()=>{const i=new WeakMap,o=async(a,s)=>{let A=e(a);if(!Tt(A,s)){const h={channelCount:A.channelCount,channelCountMode:A.channelCountMode,channelInterpretation:A.channelInterpretation,curve:A.curve,oversample:A.oversample};A=t(s,h)}return i.set(s,A),Qa(A)?await n(a,s,A.inputs[0]):await n(a,s,A),A};return{render(a,s){const A=i.get(s);return A!==void 0?Promise.resolve(A):o(a,s)}}},$b=()=>typeof window>"u"?null:window,e0=(t,e)=>n=>{n.copyFromChannel=(i,o,a=0)=>{const s=t(a),A=t(o);if(A>=n.numberOfChannels)throw e();const r=n.length,h=n.getChannelData(A),l=i.length;for(let c=s<0?-s:0;c+s{const s=t(a),A=t(o);if(A>=n.numberOfChannels)throw e();const r=n.length,h=n.getChannelData(A),l=i.length;for(let c=s<0?-s:0;c+se=>{e.copyFromChannel=(n=>(i,o,a=0)=>{const s=t(a),A=t(o);if(s(i,o,a=0)=>{const s=t(a),A=t(o);if(s(e,n)=>{const i=n.createBuffer(1,1,44100);e.buffer===null&&(e.buffer=i),t(e,"buffer",o=>()=>{const a=o.call(e);return a===i?null:a},o=>a=>o.call(e,a===null?i:a))},i0=(t,e)=>(n,i)=>{i.channelCount=1,i.channelCountMode="explicit",Object.defineProperty(i,"channelCount",{get:()=>1,set:()=>{throw t()}}),Object.defineProperty(i,"channelCountMode",{get:()=>"explicit",set:()=>{throw t()}});const o=n.createBufferSource();e(i,()=>{const A=i.numberOfInputs;for(let r=0;ro.disconnect(i))},Vp=(t,e,n)=>t.copyFromChannel===void 0?t.getChannelData(n)[0]:(t.copyFromChannel(e,n),e[0]),zp=t=>{if(t===null)return!1;const e=t.length;return e%2!==0?t[Math.floor(e/2)]!==0:t[e/2-1]+t[e/2]!==0},Ys=(t,e,n,i)=>{let o=t;for(;!o.hasOwnProperty(e);)o=Object.getPrototypeOf(o);const{get:a,set:s}=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(t,e,{get:n(a),set:i(s)})},o0=t=>({...t,outputChannelCount:t.outputChannelCount!==void 0?t.outputChannelCount:t.numberOfInputs===1&&t.numberOfOutputs===1?[t.channelCount]:Array.from({length:t.numberOfOutputs},()=>1)}),a0=t=>({...t,channelCount:t.numberOfOutputs}),s0=t=>{const{imag:e,real:n}=t;return e===void 0?n===void 0?{...t,imag:[0,0],real:[0,0]}:{...t,imag:Array.from(n,()=>0),real:n}:n===void 0?{...t,imag:e,real:Array.from(e,()=>0)}:{...t,imag:e,real:n}},Wp=(t,e,n)=>{try{t.setValueAtTime(e,n)}catch(i){if(i.code!==9)throw i;Wp(t,e,n+1e-7)}},A0=t=>{const e=t.createBufferSource();e.start();try{e.start()}catch{return!0}return!1},r0=t=>{const e=t.createBufferSource(),n=t.createBuffer(1,1,44100);e.buffer=n;try{e.start(0,1)}catch{return!1}return!0},h0=t=>{const e=t.createBufferSource();e.start();try{e.stop()}catch{return!1}return!0},wc=t=>{const e=t.createOscillator();try{e.start(-1)}catch(n){return n instanceof RangeError}return!1},Zp=t=>{const e=t.createBuffer(1,1,44100),n=t.createBufferSource();n.buffer=e,n.start(),n.stop();try{return n.stop(),!0}catch{return!1}},bc=t=>{const e=t.createOscillator();try{e.stop(-1)}catch(n){return n instanceof RangeError}return!1},l0=t=>{const{port1:e,port2:n}=new MessageChannel;try{e.postMessage(t)}finally{e.close(),n.close()}},c0=t=>{t.start=(e=>(n=0,i=0,o)=>{const a=t.buffer,s=a===null?i:Math.min(a.duration,i);a!==null&&s>a.duration-.5/t.context.sampleRate?e.call(t,n,0,0):e.call(t,n,s,o)})(t.start)},Xp=(t,e)=>{const n=e.createGain();t.connect(n);const i=(o=>()=>{o.call(t,n),t.removeEventListener("ended",i)})(t.disconnect);t.addEventListener("ended",i),wa(t,n),t.stop=(o=>{let a=!1;return(s=0)=>{if(a)try{o.call(t,s)}catch{n.gain.setValueAtTime(0,s)}else o.call(t,s),a=!0}})(t.stop)},ba=(t,e)=>n=>{const i={value:t};return Object.defineProperties(n,{currentTarget:i,target:i}),typeof e=="function"?e.call(t,n):e.handleEvent.call(t,n)},g0=RE(ko),d0=_E(ko),u0=WQ(Dr),$p=new WeakMap,m0=uw($p),Nn=vQ(new Map,new WeakMap),Vn=$b(),eI=jw(Nn,$n),vc=dw(Jt),kt=Ub(Jt,vc,Co),p0=qE(eI,je,kt),Ke=Iw(vr),Ii=Ib(Vn),Je=Fw(Ii),tI=new WeakMap,nI=sw(ba),Ls=Vw(Vn),Dc=Nw(Ls),kc=Sw(Vn),iI=Rw(Vn),ys=Ww(Vn),rt=uQ(TE(Np),UE(g0,d0,YA,u0,LA,Jt,m0,Fs,je,ko,ci,Co,yA),Nn,bw(rl,LA,Jt,je,fs,ci),$n,kr,Yt,HQ(YA,rl,Jt,je,fs,Ke,ci,Je),$Q(tI,Jt,kn),nI,Ke,Dc,kc,iI,Je,ys),I0=KE(rt,p0,$n,eI,Ke,Je),Mc=new WeakSet,hd=Pw(Vn),oI=JQ(new Uint32Array(1)),Nc=e0(oI,$n),Sc=t0(oI),aI=PE(Mc,Nn,Yt,hd,Ii,Hb(hd),Nc,Sc),Mr=JE(Ht),sI=_b(vc,xs,Co),ei=TQ(sI),va=Ow(Mr,Nn,A0,r0,h0,wc,Zp,bc,c0,n0(Ys),Xp),ti=xb(mw(xs),sI),f0=VE(ei,va,je,ti,kt),Sn=mQ(FE(Sp),tI,fc,pQ,vE,DE,kE,ME,NE,al,kp,Ls,Wp),C0=OE(rt,f0,Sn,wt,va,Ke,Je,ba),y0=iQ(rt,oQ,$n,wt,zw(Ht,Ys),Ke,Je,kt),B0=bQ(ei,Pp,je,ti,kt),Mo=Lb($p),E0=wQ(rt,Sn,B0,kr,Pp,Ke,Je,Mo),Pi=Kw(ko,kc),Q0=i0(wt,Pi),Hi=ib(Ls,Q0),w0=MQ(Hi,je,kt),b0=kQ(rt,w0,Hi,Ke,Je),v0=RQ(_s,je,kt),D0=SQ(rt,v0,_s,Ke,Je,a0),k0=sb(Mr,va,Ht,Pi),Da=ab(Mr,Nn,k0,wc,bc),M0=_Q(ei,Da,je,ti,kt),N0=UQ(rt,Sn,M0,Da,Ke,Je,ba),AI=Ab(Yt,Ys),S0=KQ(AI,je,kt),R0=LQ(rt,S0,AI,Ke,Je,Mo),T0=zQ(ei,Hp,je,ti,kt),F0=VQ(rt,Sn,T0,Hp,Ke,Je,Mo),rI=rb(Yt),G0=iw(ei,rI,je,ti,kt),x0=nw(rt,Sn,G0,rI,Yt,Ke,Je,Mo),U0=cw(ei,Ht,je,ti,kt),_0=lw(rt,Sn,U0,Ht,Ke,Je),J0=gb(kr,wt,Js,Yt),Nr=Jb(Nn,Ht,Js,Vb(Ht,Ii)),Y0=ww(va,je,Ii,kt,Nr),L0=hb(J0),K0=Ew(rt,L0,Y0,Ke,Je,Mo),q0=aQ(Sn,Hi,Da,Js,Yt,Vp,Je,Ys),hI=new WeakMap,j0=Lw(y0,q0,nI,Je,hI,ba),lI=fb(Mr,Nn,wc,Zp,bc,Xp),P0=Nb(ei,lI,je,ti,kt),H0=Mb(rt,Sn,lI,P0,Ke,Je,ba),cI=GQ(va),O0=bb(cI,wt,Ht,zp,Pi),Sr=wb(cI,wt,O0,zp,Pi,Ls,Ys),V0=yb(YA,wt,Hi,Ht,Js,Sr,Yt,LA,Vp,Pi),gI=Cb(V0),z0=Tb(ei,Hi,Da,Ht,gI,je,Ii,ti,kt,Nr),W0=Rb(rt,Sn,gI,z0,Ke,Je,Mo),Z0=Bb($n),X0=Gb(Z0,Ke,new WeakSet,s0),$0=Qb(Hi,_s,Ht,Sr,Yt,Pi),dI=Eb($0,Yt),ev=Pb(ei,dI,je,ti,kt),tv=jb(rt,Sn,dI,ev,Ke,Je),nv=Xb(Sr,je,kt),iv=Zb(rt,wt,Sr,nv,Ke,Je,Mo),uI=Gw(Vn),Rc=Aw(Vn),mI=new WeakMap,ov=fw(mI,Ii),av=uI?xE(Nn,Yt,aw(Vn),Rc,rw(SE),Ke,ov,Je,ys,new WeakMap,new WeakMap,Ob(ys,Ii),Vn):void 0,sv=Tw(Dc,Je),Av=PQ(Mc,Nn,jQ,ow,new WeakSet,Ke,sv,_A,Cs,Nc,Sc),pI=EQ(av,I0,aI,C0,E0,b0,D0,N0,R0,Av,F0,x0,_0,K0,j0,H0,W0,X0,tv,iv),rv=xw(rt,db,Ke,Je),hv=_w(rt,ub,Ke,Je),lv=Jw(rt,mb,Ke,Je),cv=pb(wt,Je),gv=Yw(rt,cv,Ke),dv=nQ(pI,wt,Yt,zb,rv,hv,lv,gv,Ls),Tc=Cw(hI),uv=YE(Tc),II=FQ($n),mv=ZQ(Tc),fI=ew($n),CI=new WeakMap,pv=gw(CI,kn),Iv=nb(II,$n,wt,Hi,_s,Da,Ht,Js,Yt,fI,Rc,pv,Pi),fv=Xw(wt,Iv,Ht,Yt,Pi),Cv=BQ(ei,II,va,Hi,_s,Da,Ht,mv,fI,Rc,je,ys,Ii,ti,kt,Nr),yv=pw(mI),Bv=Yb(CI),ld=uI?fQ(uv,rt,Sn,Cv,fv,Jt,yv,Ke,Je,ys,o0,Bv,l0,ba):void 0,Ev=qQ(Yt,Ii),Qv=Kb(Mc,Nn,vc,Tc,Nr,_A,Nc,Sc),wv=Db(pI,Nn,wt,Ev,Qv),bv=vw(vr,Dc),vv=Dw(Ic,kc),Dv=kw(fc,iI),kv=Mw(vr,Je);function Zt(t){return t===void 0}function pe(t){return t!==void 0}function Mv(t){return typeof t=="function"}function dn(t){return typeof t=="number"}function Ri(t){return Object.prototype.toString.call(t)==="[object Object]"&&t.constructor===Object}function yI(t){return typeof t=="boolean"}function Rt(t){return Array.isArray(t)}function zn(t){return typeof t=="string"}function aA(t){return zn(t)&&/^([a-g]{1}(?:b|#|x|bb)?)(-?[0-9]+)/i.test(t)}function oe(t,e){if(!t)throw new Error(e)}function un(t,e,n=1/0){if(!(e<=t&&t<=n))throw new RangeError(`Value must be within [${e}, ${n}], got: ${t}`)}function BI(t){!t.isOffline&&t.state!=="running"&&Ks('The AudioContext is "suspended". Invoke Tone.start() from a user action to start the audio.')}let EI=!1,cd=!1;function gd(t){EI=t}function Nv(t){Zt(t)&&EI&&!cd&&(cd=!0,Ks("Events scheduled inside of scheduled callbacks should use the passed in scheduling time. See https://github.com/Tonejs/Tone.js/wiki/Accurate-Timing"))}let QI=console;function Sv(...t){QI.log(...t)}function Ks(...t){QI.warn(...t)}function Rv(t){return new dv(t)}function Tv(t,e,n){return new wv(t,e,n)}const Ut=typeof self=="object"?self:null,Fv=Ut&&(Ut.hasOwnProperty("AudioContext")||Ut.hasOwnProperty("webkitAudioContext"));function Gv(t,e,n){return oe(pe(ld),"AudioWorkletNode only works in a secure context (https or localhost)"),new(t instanceof(Ut==null?void 0:Ut.BaseAudioContext)?Ut==null?void 0:Ut.AudioWorkletNode:ld)(t,e,n)}function Rn(t,e,n,i){var o=arguments.length,a=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,n):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,n,i);else for(var A=t.length-1;A>=0;A--)(s=t[A])&&(a=(o<3?s(a):o>3?s(e,n,a):s(e,n))||a);return o>3&&a&&Object.defineProperty(e,n,a),a}function qe(t,e,n,i){function o(a){return a instanceof n?a:new n(function(s){s(a)})}return new(n||(n=Promise))(function(a,s){function A(l){try{h(i.next(l))}catch(c){s(c)}}function r(l){try{h(i.throw(l))}catch(c){s(c)}}function h(l){l.done?a(l.value):o(l.value).then(A,r)}h((i=i.apply(t,e||[])).next())})}class xv{constructor(e,n,i,o){this._callback=e,this._type=n,this._minimumUpdateInterval=Math.max(128/(o||44100),.001),this.updateInterval=i,this._createClock()}_createWorker(){const e=new Blob([` - // the initial timeout time - let timeoutTime = ${(this._updateInterval*1e3).toFixed(1)}; - // onmessage callback - self.onmessage = function(msg){ - timeoutTime = parseInt(msg.data); - }; - // the tick function which posts a message - // and schedules a new tick - function tick(){ - setTimeout(tick, timeoutTime); - self.postMessage('tick'); - } - // call tick initially - tick(); - `],{type:"text/javascript"}),n=URL.createObjectURL(e),i=new Worker(n);i.onmessage=this._callback.bind(this),this._worker=i}_createTimeout(){this._timeout=setTimeout(()=>{this._createTimeout(),this._callback()},this._updateInterval*1e3)}_createClock(){if(this._type==="worker")try{this._createWorker()}catch{this._type="timeout",this._createClock()}else this._type==="timeout"&&this._createTimeout()}_disposeClock(){this._timeout&&clearTimeout(this._timeout),this._worker&&(this._worker.terminate(),this._worker.onmessage=null)}get updateInterval(){return this._updateInterval}set updateInterval(e){var n;this._updateInterval=Math.max(e,this._minimumUpdateInterval),this._type==="worker"&&((n=this._worker)===null||n===void 0||n.postMessage(this._updateInterval*1e3))}get type(){return this._type}set type(e){this._disposeClock(),this._type=e,this._createClock()}dispose(){this._disposeClock()}}function yo(t){return Dv(t)}function Ti(t){return vv(t)}function BA(t){return kv(t)}function Oo(t){return bv(t)}function Uv(t){return t instanceof aI}function _v(t,e){return t==="value"||yo(e)||Ti(e)||Uv(e)}function Fi(t,...e){if(!e.length)return t;const n=e.shift();if(Ri(t)&&Ri(n))for(const i in n)_v(i,n[i])?t[i]=n[i]:Ri(n[i])?(t[i]||Object.assign(t,{[i]:{}}),Fi(t[i],n[i])):Object.assign(t,{[i]:n[i]});return Fi(t,...e)}function Jv(t,e){return t.length===e.length&&t.every((n,i)=>e[i]===n)}function L(t,e,n=[],i){const o={},a=Array.from(e);if(Ri(a[0])&&i&&!Reflect.has(a[0],i)&&(Object.keys(a[0]).some(A=>Reflect.has(t,A))||(Fi(o,{[i]:a[0]}),n.splice(n.indexOf(i),1),a.shift())),a.length===1&&Ri(a[0]))Fi(o,a[0]);else for(let s=0;s{Reflect.has(t,n)&&delete t[n]}),t}/** - * Tone.js - * @author Yotam Mann - * @license http://opensource.org/licenses/MIT MIT License - * @copyright 2014-2024 Yotam Mann - */class fi{constructor(){this.debug=!1,this._wasDisposed=!1}static getDefaults(){return{}}log(...e){(this.debug||Ut&&this.toString()===Ut.TONE_DEBUG_CLASS)&&Sv(this,...e)}dispose(){return this._wasDisposed=!0,this}get disposed(){return this._wasDisposed}toString(){return this.name}}fi.version=Dp;const Fc=1e-6;function ma(t,e){return t>e+Fc}function dl(t,e){return ma(t,e)||Bn(t,e)}function PA(t,e){return t+Fcthis.memory){const n=this.length-this.memory;this._timeline.splice(0,n)}return this}remove(e){const n=this._timeline.indexOf(e);return n!==-1&&this._timeline.splice(n,1),this}get(e,n="time"){const i=this._search(e,n);return i!==-1?this._timeline[i]:null}peek(){return this._timeline[0]}shift(){return this._timeline.shift()}getAfter(e,n="time"){const i=this._search(e,n);return i+10&&this._timeline[n-1].time=0?this._timeline[i-1]:null}cancel(e){if(this._timeline.length>1){let n=this._search(e);if(n>=0)if(Bn(this._timeline[n].time,e)){for(let i=n;i>=0&&Bn(this._timeline[i].time,e);i--)n=i;this._timeline=this._timeline.slice(0,n)}else this._timeline=this._timeline.slice(0,n+1);else this._timeline=[]}else this._timeline.length===1&&dl(this._timeline[0].time,e)&&(this._timeline=[]);return this}cancelBefore(e){const n=this._search(e);return n>=0&&(this._timeline=this._timeline.slice(n+1)),this}previousEvent(e){const n=this._timeline.indexOf(e);return n>0?this._timeline[n-1]:null}_search(e,n="time"){if(this._timeline.length===0)return-1;let i=0;const o=this._timeline.length;let a=o;if(o>0&&this._timeline[o-1][n]<=e)return o-1;for(;i=0&&this._timeline[i].time>=e;)i--;return this._iterate(n,i+1),this}forEachAtTime(e,n){const i=this._search(e);if(i!==-1&&Bn(this._timeline[i].time,e)){let o=i;for(let a=i;a>=0&&Bn(this._timeline[a].time,e);a--)o=a;this._iterate(a=>{n(a)},o,i)}return this}dispose(){return super.dispose(),this._timeline=[],this}}const wI=[];function Rr(t){wI.push(t)}function Lv(t){wI.forEach(e=>e(t))}const bI=[];function Tr(t){bI.push(t)}function Kv(t){bI.forEach(e=>e(t))}class qs extends fi{constructor(){super(...arguments),this.name="Emitter"}on(e,n){return e.split(/\W+/).forEach(o=>{Zt(this._events)&&(this._events={}),this._events.hasOwnProperty(o)||(this._events[o]=[]),this._events[o].push(n)}),this}once(e,n){const i=(...o)=>{n(...o),this.off(e,i)};return this.on(e,i),this}off(e,n){return e.split(/\W+/).forEach(o=>{if(Zt(this._events)&&(this._events={}),this._events.hasOwnProperty(o))if(Zt(n))this._events[o]=[];else{const a=this._events[o];for(let s=a.length-1;s>=0;s--)a[s]===n&&a.splice(s,1)}}),this}emit(e,...n){if(this._events&&this._events.hasOwnProperty(e)){const i=this._events[e].slice(0);for(let o=0,a=i.length;o{const i=Object.getOwnPropertyDescriptor(qs.prototype,n);Object.defineProperty(e.prototype,n,i)})}dispose(){return super.dispose(),this._events=void 0,this}}class vI extends qs{constructor(){super(...arguments),this.isOffline=!1}toJSON(){return{}}}class js extends vI{constructor(){var e,n;super(),this.name="Context",this._constants=new Map,this._timeouts=new cn,this._timeoutIds=0,this._initialized=!1,this._closeStarted=!1,this.isOffline=!1,this._workletPromise=null;const i=L(js.getDefaults(),arguments,["context"]);i.context?(this._context=i.context,this._latencyHint=((e=arguments[0])===null||e===void 0?void 0:e.latencyHint)||""):(this._context=Rv({latencyHint:i.latencyHint}),this._latencyHint=i.latencyHint),this._ticker=new xv(this.emit.bind(this,"tick"),i.clockSource,i.updateInterval,this._context.sampleRate),this.on("tick",this._timeoutLoop.bind(this)),this._context.onstatechange=()=>{this.emit("statechange",this.state)},this[!((n=arguments[0])===null||n===void 0)&&n.hasOwnProperty("updateInterval")?"_lookAhead":"lookAhead"]=i.lookAhead}static getDefaults(){return{clockSource:"worker",latencyHint:"interactive",lookAhead:.1,updateInterval:.05}}initialize(){return this._initialized||(Lv(this),this._initialized=!0),this}createAnalyser(){return this._context.createAnalyser()}createOscillator(){return this._context.createOscillator()}createBufferSource(){return this._context.createBufferSource()}createBiquadFilter(){return this._context.createBiquadFilter()}createBuffer(e,n,i){return this._context.createBuffer(e,n,i)}createChannelMerger(e){return this._context.createChannelMerger(e)}createChannelSplitter(e){return this._context.createChannelSplitter(e)}createConstantSource(){return this._context.createConstantSource()}createConvolver(){return this._context.createConvolver()}createDelay(e){return this._context.createDelay(e)}createDynamicsCompressor(){return this._context.createDynamicsCompressor()}createGain(){return this._context.createGain()}createIIRFilter(e,n){return this._context.createIIRFilter(e,n)}createPanner(){return this._context.createPanner()}createPeriodicWave(e,n,i){return this._context.createPeriodicWave(e,n,i)}createStereoPanner(){return this._context.createStereoPanner()}createWaveShaper(){return this._context.createWaveShaper()}createMediaStreamSource(e){return oe(Oo(this._context),"Not available if OfflineAudioContext"),this._context.createMediaStreamSource(e)}createMediaElementSource(e){return oe(Oo(this._context),"Not available if OfflineAudioContext"),this._context.createMediaElementSource(e)}createMediaStreamDestination(){return oe(Oo(this._context),"Not available if OfflineAudioContext"),this._context.createMediaStreamDestination()}decodeAudioData(e){return this._context.decodeAudioData(e)}get currentTime(){return this._context.currentTime}get state(){return this._context.state}get sampleRate(){return this._context.sampleRate}get listener(){return this.initialize(),this._listener}set listener(e){oe(!this._initialized,"The listener cannot be set after initialization."),this._listener=e}get transport(){return this.initialize(),this._transport}set transport(e){oe(!this._initialized,"The transport cannot be set after initialization."),this._transport=e}get draw(){return this.initialize(),this._draw}set draw(e){oe(!this._initialized,"Draw cannot be set after initialization."),this._draw=e}get destination(){return this.initialize(),this._destination}set destination(e){oe(!this._initialized,"The destination cannot be set after initialization."),this._destination=e}createAudioWorkletNode(e,n){return Gv(this.rawContext,e,n)}addAudioWorkletModule(e){return qe(this,void 0,void 0,function*(){oe(pe(this.rawContext.audioWorklet),"AudioWorkletNode is only available in a secure context (https or localhost)"),this._workletPromise||(this._workletPromise=this.rawContext.audioWorklet.addModule(e)),yield this._workletPromise})}workletsAreReady(){return qe(this,void 0,void 0,function*(){(yield this._workletPromise)?this._workletPromise:Promise.resolve()})}get updateInterval(){return this._ticker.updateInterval}set updateInterval(e){this._ticker.updateInterval=e}get clockSource(){return this._ticker.type}set clockSource(e){this._ticker.type=e}get lookAhead(){return this._lookAhead}set lookAhead(e){this._lookAhead=e,this.updateInterval=e?e/2:.01}get latencyHint(){return this._latencyHint}get rawContext(){return this._context}now(){return this._context.currentTime+this._lookAhead}immediate(){return this._context.currentTime}resume(){return Oo(this._context)?this._context.resume():Promise.resolve()}close(){return qe(this,void 0,void 0,function*(){Oo(this._context)&&this.state!=="closed"&&!this._closeStarted&&(this._closeStarted=!0,yield this._context.close()),this._initialized&&Kv(this)})}getConstant(e){if(this._constants.has(e))return this._constants.get(e);{const n=this._context.createBuffer(1,128,this._context.sampleRate),i=n.getChannelData(0);for(let a=0;athis._constants[e].disconnect()),this.close(),this}_timeoutLoop(){const e=this.now();let n=this._timeouts.peek();for(;this._timeouts.length&&n&&n.time<=e;)n.callback(),this._timeouts.shift(),n=this._timeouts.peek()}setTimeout(e,n){this._timeoutIds++;const i=this.now();return this._timeouts.add({callback:e,id:this._timeoutIds,time:i+n}),this._timeoutIds}clearTimeout(e){return this._timeouts.forEach(n=>{n.id===e&&this._timeouts.remove(n)}),this}clearInterval(e){return this.clearTimeout(e)}setInterval(e,n){const i=++this._timeoutIds,o=()=>{const a=this.now();this._timeouts.add({callback:()=>{e(),o()},id:i,time:a+n})};return o(),i}}class qv extends vI{constructor(){super(...arguments),this.lookAhead=0,this.latencyHint=0,this.isOffline=!1}createAnalyser(){return{}}createOscillator(){return{}}createBufferSource(){return{}}createBiquadFilter(){return{}}createBuffer(e,n,i){return{}}createChannelMerger(e){return{}}createChannelSplitter(e){return{}}createConstantSource(){return{}}createConvolver(){return{}}createDelay(e){return{}}createDynamicsCompressor(){return{}}createGain(){return{}}createIIRFilter(e,n){return{}}createPanner(){return{}}createPeriodicWave(e,n,i){return{}}createStereoPanner(){return{}}createWaveShaper(){return{}}createMediaStreamSource(e){return{}}createMediaElementSource(e){return{}}createMediaStreamDestination(){return{}}decodeAudioData(e){return Promise.resolve({})}createAudioWorkletNode(e,n){return{}}get rawContext(){return{}}addAudioWorkletModule(e){return qe(this,void 0,void 0,function*(){return Promise.resolve()})}resume(){return Promise.resolve()}setTimeout(e,n){return 0}clearTimeout(e){return this}setInterval(e,n){return 0}clearInterval(e){return this}getConstant(e){return{}}get currentTime(){return 0}get state(){return{}}get sampleRate(){return 0}get listener(){return{}}get transport(){return{}}get draw(){return{}}set draw(e){}get destination(){return{}}set destination(e){}now(){return 0}immediate(){return 0}}function Ee(t,e){Rt(e)?e.forEach(n=>Ee(t,n)):Object.defineProperty(t,e,{enumerable:!0,writable:!1})}function Gc(t,e){Rt(e)?e.forEach(n=>Gc(t,n)):Object.defineProperty(t,e,{writable:!0})}const Ne=()=>{};class Ge extends fi{constructor(){super(),this.name="ToneAudioBuffer",this.onload=Ne;const e=L(Ge.getDefaults(),arguments,["url","onload","onerror"]);this.reverse=e.reverse,this.onload=e.onload,zn(e.url)?this.load(e.url).catch(e.onerror):e.url&&this.set(e.url)}static getDefaults(){return{onerror:Ne,onload:Ne,reverse:!1}}get sampleRate(){return this._buffer?this._buffer.sampleRate:st().sampleRate}set(e){return e instanceof Ge?e.loaded?this._buffer=e.get():e.onload=()=>{this.set(e),this.onload(this)}:this._buffer=e,this._reversed&&this._reverse(),this}get(){return this._buffer}load(e){return qe(this,void 0,void 0,function*(){const n=Ge.load(e).then(i=>{this.set(i),this.onload(this)});Ge.downloads.push(n);try{yield n}finally{const i=Ge.downloads.indexOf(n);Ge.downloads.splice(i,1)}return this})}dispose(){return super.dispose(),this._buffer=void 0,this}fromArray(e){const n=Rt(e)&&e[0].length>0,i=n?e.length:1,o=n?e[0].length:e.length,a=st(),s=a.createBuffer(i,o,a.sampleRate),A=!n&&i===1?[e]:e;for(let r=0;ro/i),this.fromArray(n)}return this}toArray(e){if(dn(e))return this.getChannelData(e);if(this.numberOfChannels===1)return this.toArray(0);{const n=[];for(let i=0;i0}get duration(){return this._buffer?this._buffer.duration:0}get length(){return this._buffer?this._buffer.length:0}get numberOfChannels(){return this._buffer?this._buffer.numberOfChannels:0}get reverse(){return this._reversed}set reverse(e){this._reversed!==e&&(this._reversed=e,this._reverse())}static fromArray(e){return new Ge().fromArray(e)}static fromUrl(e){return qe(this,void 0,void 0,function*(){return yield new Ge().load(e)})}static load(e){return qe(this,void 0,void 0,function*(){const n=e.match(/\[([^\]\[]+\|.+)\]$/);if(n){const r=n[1].split("|");let h=r[0];for(const l of r)if(Ge.supportsType(l)){h=l;break}e=e.replace(n[0],h)}const i=Ge.baseUrl===""||Ge.baseUrl.endsWith("/")?Ge.baseUrl:Ge.baseUrl+"/",o=document.createElement("a");o.href=i+e,o.pathname=(o.pathname+o.hash).split("/").map(encodeURIComponent).join("/");const a=yield fetch(o.href);if(!a.ok)throw new Error(`could not load url: ${e}`);const s=yield a.arrayBuffer();return yield st().decodeAudioData(s)})}static supportsType(e){const n=e.split("."),i=n[n.length-1];return document.createElement("audio").canPlayType("audio/"+i)!==""}static loaded(){return qe(this,void 0,void 0,function*(){for(yield Promise.resolve();Ge.downloads.length;)yield Ge.downloads[0]})}}Ge.baseUrl="";Ge.downloads=[];class Fr extends js{constructor(){super({clockSource:"offline",context:BA(arguments[0])?arguments[0]:Tv(arguments[0],arguments[1]*arguments[2],arguments[2]),lookAhead:0,updateInterval:BA(arguments[0])?128/arguments[0].sampleRate:128/arguments[2]}),this.name="OfflineContext",this._currentTime=0,this.isOffline=!0,this._duration=BA(arguments[0])?arguments[0].length/arguments[0].sampleRate:arguments[1]}now(){return this._currentTime}get currentTime(){return this._currentTime}_renderClock(e){return qe(this,void 0,void 0,function*(){let n=0;for(;this._duration-this._currentTime>=0;){this.emit("tick"),this._currentTime+=128/this.sampleRate,n++;const i=Math.floor(this.sampleRate/128);e&&n%i===0&&(yield new Promise(o=>setTimeout(o,1)))}})}render(){return qe(this,arguments,void 0,function*(e=!0){yield this.workletsAreReady(),yield this._renderClock(e);const n=yield this._context.startRendering();return new Ge(n)})}close(){return Promise.resolve()}}const DI=new qv;let Ao=DI;function st(){return Ao===DI&&Fv&&jv(new js),Ao}function jv(t,e=!1){e&&Ao.dispose(),Oo(t)?Ao=new js(t):BA(t)?Ao=new Fr(t):Ao=t}function Gr(){return Ao.resume()}if(Ut&&!Ut.TONE_SILENCE_LOGGING){const e=` * Tone.js v${Dp} * `;console.log(`%c${e}`,"background: #000; color: #fff")}function HA(t){return Math.pow(10,t/20)}function Oi(t){return 20*(Math.log(t)/Math.LN10)}function kI(t){return Math.pow(2,t/12)}let xr=440;function Pv(){return xr}function Hv(t){xr=t}function ro(t){return Math.round(MI(t))}function MI(t){return 69+12*Math.log2(t/xr)}function NI(t){return xr*Math.pow(2,(t-69)/12)}class xc extends fi{constructor(e,n,i){super(),this.defaultUnits="s",this._val=n,this._units=i,this.context=e,this._expressions=this._getExpressions()}_getExpressions(){return{hz:{method:e=>this._frequencyToUnits(parseFloat(e)),regexp:/^(\d+(?:\.\d+)?)hz$/i},i:{method:e=>this._ticksToUnits(parseInt(e,10)),regexp:/^(\d+)i$/i},m:{method:e=>this._beatsToUnits(parseInt(e,10)*this._getTimeSignature()),regexp:/^(\d+)m$/i},n:{method:(e,n)=>{const i=parseInt(e,10),o=n==="."?1.5:1;return i===1?this._beatsToUnits(this._getTimeSignature())*o:this._beatsToUnits(4/i)*o},regexp:/^(\d+)n(\.?)$/i},number:{method:e=>this._expressions[this.defaultUnits].method.call(this,e),regexp:/^(\d+(?:\.\d+)?)$/},s:{method:e=>this._secondsToUnits(parseFloat(e)),regexp:/^(\d+(?:\.\d+)?)s$/},samples:{method:e=>parseInt(e,10)/this.context.sampleRate,regexp:/^(\d+)samples$/},t:{method:e=>{const n=parseInt(e,10);return this._beatsToUnits(8/(Math.floor(n)*3))},regexp:/^(\d+)t$/i},tr:{method:(e,n,i)=>{let o=0;return e&&e!=="0"&&(o+=this._beatsToUnits(this._getTimeSignature()*parseFloat(e))),n&&n!=="0"&&(o+=this._beatsToUnits(parseFloat(n))),i&&i!=="0"&&(o+=this._beatsToUnits(parseFloat(i)/4)),o},regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?$/}}}valueOf(){if(this._val instanceof xc&&this.fromType(this._val),Zt(this._val))return this._noArg();if(zn(this._val)&&Zt(this._units)){for(const e in this._expressions)if(this._expressions[e].regexp.test(this._val.trim())){this._units=e;break}}else if(Ri(this._val)){let e=0;for(const n in this._val)if(pe(this._val[n])){const i=this._val[n],o=new this.constructor(this.context,n).valueOf()*i;e+=o}return e}if(pe(this._units)){const e=this._expressions[this._units],n=this._val.toString().trim().match(e.regexp);return n?e.method.apply(this,n.slice(1)):e.method.call(this,this._val)}else return zn(this._val)?parseFloat(this._val):this._val}_frequencyToUnits(e){return 1/e}_beatsToUnits(e){return 60/this._getBpm()*e}_secondsToUnits(e){return e}_ticksToUnits(e){return e*this._beatsToUnits(1)/this._getPPQ()}_noArg(){return this._now()}_getBpm(){return this.context.transport.bpm.value}_getTimeSignature(){return this.context.transport.timeSignature}_getPPQ(){return this.context.transport.PPQ}fromType(e){switch(this._units=void 0,this.defaultUnits){case"s":this._val=e.toSeconds();break;case"i":this._val=e.toTicks();break;case"hz":this._val=e.toFrequency();break;case"midi":this._val=e.toMidi();break}return this}toFrequency(){return 1/this.toSeconds()}toSamples(){return this.toSeconds()*this.context.sampleRate}toMilliseconds(){return this.toSeconds()*1e3}}class An extends xc{constructor(){super(...arguments),this.name="TimeClass"}_getExpressions(){return Object.assign(super._getExpressions(),{now:{method:e=>this._now()+new this.constructor(this.context,e).valueOf(),regexp:/^\+(.+)/},quantize:{method:e=>{const n=new An(this.context,e).valueOf();return this._secondsToUnits(this.context.transport.nextSubdivision(n))},regexp:/^@(.+)/}})}quantize(e,n=1){const i=new this.constructor(this.context,e).valueOf(),o=this.valueOf(),A=Math.round(o/i)*i-o;return o+A*n}toNotation(){const e=this.toSeconds(),n=["1m"];for(let a=1;a<9;a++){const s=Math.pow(2,a);n.push(s+"n."),n.push(s+"n"),n.push(s+"t")}n.push("0");let i=n[0],o=new An(this.context,n[0]).toSeconds();return n.forEach(a=>{const s=new An(this.context,a).toSeconds();Math.abs(s-e)3&&(o=parseFloat(parseFloat(a).toFixed(3))),[i,n,o].join(":")}toTicks(){const e=this._beatsToUnits(1);return this.valueOf()/e*this._getPPQ()}toSeconds(){return this.valueOf()}toMidi(){return ro(this.toFrequency())}_now(){return this.context.now()}}function Ov(t,e){return new An(st(),t,e)}class Pt extends An{constructor(){super(...arguments),this.name="Frequency",this.defaultUnits="hz"}static get A4(){return Pv()}static set A4(e){Hv(e)}_getExpressions(){return Object.assign({},super._getExpressions(),{midi:{regexp:/^(\d+(?:\.\d+)?midi)/,method(e){return this.defaultUnits==="midi"?e:Pt.mtof(e)}},note:{regexp:/^([a-g]{1}(?:b|#|##|x|bb|###|#x|x#|bbb)?)(-?[0-9]+)/i,method(e,n){const o=Vv[e.toLowerCase()]+(parseInt(n,10)+1)*12;return this.defaultUnits==="midi"?o:Pt.mtof(o)}},tr:{regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?/,method(e,n,i){let o=1;return e&&e!=="0"&&(o*=this._beatsToUnits(this._getTimeSignature()*parseFloat(e))),n&&n!=="0"&&(o*=this._beatsToUnits(parseFloat(n))),i&&i!=="0"&&(o*=this._beatsToUnits(parseFloat(i)/4)),o}}})}transpose(e){return new Pt(this.context,this.valueOf()*kI(e))}harmonize(e){return e.map(n=>this.transpose(n))}toMidi(){return ro(this.valueOf())}toNote(){const e=this.toFrequency(),n=Math.log2(e/Pt.A4);let i=Math.round(12*n)+57;const o=Math.floor(i/12);return o<0&&(i+=-12*o),zv[i%12]+o.toString()}toSeconds(){return 1/super.toSeconds()}toTicks(){const e=this._beatsToUnits(1),n=this.valueOf()/e;return Math.floor(n*this._getPPQ())}_noArg(){return 0}_frequencyToUnits(e){return e}_ticksToUnits(e){return 1/(e*60/(this._getBpm()*this._getPPQ()))}_beatsToUnits(e){return 1/super._beatsToUnits(e)}_secondsToUnits(e){return 1/e}static mtof(e){return NI(e)}static ftom(e){return ro(e)}}const Vv={cbbb:-3,cbb:-2,cb:-1,c:0,"c#":1,cx:2,"c##":2,"c###":3,"cx#":3,"c#x":3,dbbb:-1,dbb:0,db:1,d:2,"d#":3,dx:4,"d##":4,"d###":5,"dx#":5,"d#x":5,ebbb:1,ebb:2,eb:3,e:4,"e#":5,ex:6,"e##":6,"e###":7,"ex#":7,"e#x":7,fbbb:2,fbb:3,fb:4,f:5,"f#":6,fx:7,"f##":7,"f###":8,"fx#":8,"f#x":8,gbbb:4,gbb:5,gb:6,g:7,"g#":8,gx:9,"g##":9,"g###":10,"gx#":10,"g#x":10,abbb:6,abb:7,ab:8,a:9,"a#":10,ax:11,"a##":11,"a###":12,"ax#":12,"a#x":12,bbbb:8,bbb:9,bb:10,b:11,"b#":12,bx:13,"b##":13,"b###":14,"bx#":14,"b#x":14},zv=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"];function pa(t,e){return new Pt(st(),t,e)}class ia extends An{constructor(){super(...arguments),this.name="TransportTime"}_now(){return this.context.transport.seconds}}class bt extends fi{constructor(){super();const e=L(bt.getDefaults(),arguments,["context"]);this.defaultContext?this.context=this.defaultContext:this.context=e.context}static getDefaults(){return{context:st()}}now(){return this.context.currentTime+this.context.lookAhead}immediate(){return this.context.currentTime}get sampleTime(){return 1/this.context.sampleRate}get blockTime(){return 128/this.context.sampleRate}toSeconds(e){return Nv(e),new An(this.context,e).toSeconds()}toFrequency(e){return new Pt(this.context,e).toFrequency()}toTicks(e){return new ia(this.context,e).toTicks()}_getPartialProperties(e){const n=this.get();return Object.keys(n).forEach(i=>{Zt(e[i])&&delete n[i]}),n}get(){const e=Yv(this);return Object.keys(e).forEach(n=>{if(Reflect.has(this,n)){const i=this[n];pe(i)&&pe(i.value)&&pe(i.setValueAtTime)?e[n]=i.value:i instanceof bt?e[n]=i._getPartialProperties(e[n]):Rt(i)||dn(i)||zn(i)||yI(i)?e[n]=i:delete e[n]}}),e}set(e){return Object.keys(e).forEach(n=>{Reflect.has(this,n)&&pe(this[n])&&(this[n]&&pe(this[n].value)&&pe(this[n].setValueAtTime)?this[n].value!==e[n]&&(this[n].value=e[n]):this[n]instanceof bt?this[n].set(e[n]):this[n]=e[n])}),this}}class Ps extends cn{constructor(e="stopped"){super(),this.name="StateTimeline",this._initial=e,this.setStateAtTime(this._initial,0)}getValueAtTime(e){const n=this.get(e);return n!==null?n.state:this._initial}setStateAtTime(e,n,i){return un(n,0),this.add(Object.assign({},i,{state:e,time:n})),this}getLastState(e,n){const i=this._search(n);for(let o=i;o>=0;o--){const a=this._timeline[o];if(a.state===e)return a}}getNextState(e,n){const i=this._search(n);if(i!==-1)for(let o=i;o0,"timeConstant must be a number greater than 0");const a=this.toSeconds(n);return this._assertRange(o),oe(isFinite(o)&&isFinite(a),`Invalid argument(s) to setTargetAtTime: ${JSON.stringify(e)}, ${JSON.stringify(n)}`),this._events.add({constant:i,time:a,type:"setTargetAtTime",value:o}),this.log(this.units,"setTargetAtTime",e,a,i),this._param.setTargetAtTime(o,a,i),this}setValueCurveAtTime(e,n,i,o=1){i=this.toSeconds(i),n=this.toSeconds(n);const a=this._fromType(e[0])*o;this.setValueAtTime(this._toType(a),n);const s=i/(e.length-1);for(let A=1;A{o.type==="cancelScheduledValues"?e.cancelScheduledValues(o.time):o.type==="setTargetAtTime"?e.setTargetAtTime(o.value,o.time,o.constant):e[o.type](o.value,o.time)}),this}setParam(e){oe(this._swappable,"The Param must be assigned as 'swappable' in the constructor");const n=this.input;return n.disconnect(this._param),this.apply(e),this._param=e,n.connect(this._param),this}dispose(){return super.dispose(),this._events.dispose(),this}get defaultValue(){return this._toType(this._param.defaultValue)}_exponentialApproach(e,n,i,o,a){return i+(n-i)*Math.exp(-(a-e)/o)}_linearInterpolate(e,n,i,o,a){return n+(o-n)*((a-e)/(i-e))}_exponentialInterpolate(e,n,i,o,a){return n*Math.pow(o/n,(a-e)/(i-e))}}class j extends bt{constructor(){super(...arguments),this._internalChannels=[]}get numberOfInputs(){return pe(this.input)?yo(this.input)||this.input instanceof fe?1:this.input.numberOfInputs:0}get numberOfOutputs(){return pe(this.output)?this.output.numberOfOutputs:0}_isAudioNode(e){return pe(e)&&(e instanceof j||Ti(e))}_getInternalNodes(){const e=this._internalChannels.slice(0);return this._isAudioNode(this.input)&&e.push(this.input),this._isAudioNode(this.output)&&this.input!==this.output&&e.push(this.output),e}_setChannelProperties(e){this._getInternalNodes().forEach(i=>{i.channelCount=e.channelCount,i.channelCountMode=e.channelCountMode,i.channelInterpretation=e.channelInterpretation})}_getChannelProperties(){const e=this._getInternalNodes();oe(e.length>0,"ToneAudioNode does not have any internal nodes");const n=e[0];return{channelCount:n.channelCount,channelCountMode:n.channelCountMode,channelInterpretation:n.channelInterpretation}}get channelCount(){return this._getChannelProperties().channelCount}set channelCount(e){const n=this._getChannelProperties();this._setChannelProperties(Object.assign(n,{channelCount:e}))}get channelCountMode(){return this._getChannelProperties().channelCountMode}set channelCountMode(e){const n=this._getChannelProperties();this._setChannelProperties(Object.assign(n,{channelCountMode:e}))}get channelInterpretation(){return this._getChannelProperties().channelInterpretation}set channelInterpretation(e){const n=this._getChannelProperties();this._setChannelProperties(Object.assign(n,{channelInterpretation:e}))}connect(e,n=0,i=0){return Xt(this,e,n,i),this}toDestination(){return this.connect(this.context.destination),this}toMaster(){return Ks("toMaster() has been renamed toDestination()"),this.toDestination()}disconnect(e,n=0,i=0){return SI(this,e,n,i),this}chain(...e){return Wn(this,...e),this}fan(...e){return e.forEach(n=>this.connect(n)),this}dispose(){return super.dispose(),pe(this.input)&&(this.input instanceof j?this.input.dispose():Ti(this.input)&&this.input.disconnect()),pe(this.output)&&(this.output instanceof j?this.output.dispose():Ti(this.output)&&this.output.disconnect()),this._internalChannels=[],this}}function Wn(...t){const e=t.shift();t.reduce((n,i)=>(n instanceof j?n.connect(i):Ti(n)&&Xt(n,i),i),e)}function Xt(t,e,n=0,i=0){for(oe(pe(t),"Cannot connect from undefined node"),oe(pe(e),"Cannot connect to undefined node"),(e instanceof j||Ti(e))&&oe(e.numberOfInputs>0,"Cannot connect to node with no inputs"),oe(t.numberOfOutputs>0,"Cannot connect from node with no outputs");e instanceof j||e instanceof fe;)pe(e.input)&&(e=e.input);for(;t instanceof j;)pe(t.output)&&(t=t.output);yo(e)?t.connect(e,n):t.connect(e,n,i)}function SI(t,e,n=0,i=0){if(pe(e))for(;e instanceof j;)e=e.input;for(;!Ti(t);)pe(t.output)&&(t=t.output);yo(e)?t.disconnect(e,n):Ti(e)?t.disconnect(e,n,i):t.disconnect()}class ue extends j{constructor(){const e=L(ue.getDefaults(),arguments,["gain","units"]);super(e),this.name="Gain",this._gainNode=this.context.createGain(),this.input=this._gainNode,this.output=this._gainNode,this.gain=new fe({context:this.context,convert:e.convert,param:this._gainNode.gain,units:e.units,value:e.gain,minValue:e.minValue,maxValue:e.maxValue}),Ee(this,"gain")}static getDefaults(){return Object.assign(j.getDefaults(),{convert:!0,gain:1,units:"gain"})}dispose(){return super.dispose(),this._gainNode.disconnect(),this.gain.dispose(),this}}class Ia extends j{constructor(e){super(e),this.onended=Ne,this._startTime=-1,this._stopTime=-1,this._timeout=-1,this.output=new ue({context:this.context,gain:0}),this._gainNode=this.output,this.getStateAtTime=function(n){const i=this.toSeconds(n);return this._startTime!==-1&&i>=this._startTime&&(this._stopTime===-1||i<=this._stopTime)?"started":"stopped"},this._fadeIn=e.fadeIn,this._fadeOut=e.fadeOut,this._curve=e.curve,this.onended=e.onended}static getDefaults(){return Object.assign(j.getDefaults(),{curve:"linear",fadeIn:0,fadeOut:0,onended:Ne})}_startGain(e,n=1){oe(this._startTime===-1,"Source cannot be started more than once");const i=this.toSeconds(this._fadeIn);return this._startTime=e+i,this._startTime=Math.max(this._startTime,this.context.currentTime),i>0?(this._gainNode.gain.setValueAtTime(0,e),this._curve==="linear"?this._gainNode.gain.linearRampToValueAtTime(n,e+i):this._gainNode.gain.exponentialApproachValueAtTime(n,e,i)):this._gainNode.gain.setValueAtTime(n,e),this}stop(e){return this.log("stop",e),this._stopGain(this.toSeconds(e)),this}_stopGain(e){oe(this._startTime!==-1,"'start' must be called before 'stop'"),this.cancelStop();const n=this.toSeconds(this._fadeOut);return this._stopTime=this.toSeconds(e)+n,this._stopTime=Math.max(this._stopTime,this.now()),n>0?this._curve==="linear"?this._gainNode.gain.linearRampTo(0,n,e):this._gainNode.gain.targetRampTo(0,n,e):(this._gainNode.gain.cancelAndHoldAtTime(e),this._gainNode.gain.setValueAtTime(0,e)),this.context.clearTimeout(this._timeout),this._timeout=this.context.setTimeout(()=>{const i=this._curve==="exponential"?n*2:0;this._stopSource(this.now()+i),this._onended()},this._stopTime-this.context.currentTime),this}_onended(){if(this.onended!==Ne&&(this.onended(this),this.onended=Ne,!this.context.isOffline)){const e=()=>this.dispose();typeof window.requestIdleCallback<"u"?window.requestIdleCallback(e):setTimeout(e,1e3)}}get state(){return this.getStateAtTime(this.now())}cancelStop(){return this.log("cancelStop"),oe(this._startTime!==-1,"Source is not started"),this._gainNode.gain.cancelScheduledValues(this._startTime+this.sampleTime),this.context.clearTimeout(this._timeout),this._stopTime=-1,this}dispose(){return super.dispose(),this._gainNode.dispose(),this.onended=Ne,this}}class Uc extends Ia{constructor(){const e=L(Uc.getDefaults(),arguments,["offset"]);super(e),this.name="ToneConstantSource",this._source=this.context.createConstantSource(),Xt(this._source,this._gainNode),this.offset=new fe({context:this.context,convert:e.convert,param:this._source.offset,units:e.units,value:e.offset,minValue:e.minValue,maxValue:e.maxValue})}static getDefaults(){return Object.assign(Ia.getDefaults(),{convert:!0,offset:1,units:"number"})}start(e){const n=this.toSeconds(e);return this.log("start",n),this._startGain(n),this._source.start(n),this}_stopSource(e){this._source.stop(e)}dispose(){return super.dispose(),this.state==="started"&&this.stop(),this._source.disconnect(),this.offset.dispose(),this}}class be extends j{constructor(){const e=L(be.getDefaults(),arguments,["value","units"]);super(e),this.name="Signal",this.override=!0,this.output=this._constantSource=new Uc({context:this.context,convert:e.convert,offset:e.value,units:e.units,minValue:e.minValue,maxValue:e.maxValue}),this._constantSource.start(0),this.input=this._param=this._constantSource.offset}static getDefaults(){return Object.assign(j.getDefaults(),{convert:!0,units:"number",value:0})}connect(e,n=0,i=0){return Ur(this,e,n,i),this}dispose(){return super.dispose(),this._param.dispose(),this._constantSource.dispose(),this}setValueAtTime(e,n){return this._param.setValueAtTime(e,n),this}getValueAtTime(e){return this._param.getValueAtTime(e)}setRampPoint(e){return this._param.setRampPoint(e),this}linearRampToValueAtTime(e,n){return this._param.linearRampToValueAtTime(e,n),this}exponentialRampToValueAtTime(e,n){return this._param.exponentialRampToValueAtTime(e,n),this}exponentialRampTo(e,n,i){return this._param.exponentialRampTo(e,n,i),this}linearRampTo(e,n,i){return this._param.linearRampTo(e,n,i),this}targetRampTo(e,n,i){return this._param.targetRampTo(e,n,i),this}exponentialApproachValueAtTime(e,n,i){return this._param.exponentialApproachValueAtTime(e,n,i),this}setTargetAtTime(e,n,i){return this._param.setTargetAtTime(e,n,i),this}setValueCurveAtTime(e,n,i,o){return this._param.setValueCurveAtTime(e,n,i,o),this}cancelScheduledValues(e){return this._param.cancelScheduledValues(e),this}cancelAndHoldAtTime(e){return this._param.cancelAndHoldAtTime(e),this}rampTo(e,n,i){return this._param.rampTo(e,n,i),this}get value(){return this._param.value}set value(e){this._param.value=e}get convert(){return this._param.convert}set convert(e){this._param.convert=e}get units(){return this._param.units}get overridden(){return this._param.overridden}set overridden(e){this._param.overridden=e}get maxValue(){return this._param.maxValue}get minValue(){return this._param.minValue}apply(e){return this._param.apply(e),this}}function Ur(t,e,n,i){(e instanceof fe||yo(e)||e instanceof be&&e.override)&&(e.cancelScheduledValues(0),e.setValueAtTime(0,0),e instanceof be&&(e.overridden=!0)),Xt(t,e,n,i)}class _c extends fe{constructor(){const e=L(_c.getDefaults(),arguments,["value"]);super(e),this.name="TickParam",this._events=new cn(1/0),this._multiplier=1,this._multiplier=e.multiplier,this._events.cancel(0),this._events.add({ticks:0,time:0,type:"setValueAtTime",value:this._fromType(e.value)}),this.setValueAtTime(e.value,0)}static getDefaults(){return Object.assign(fe.getDefaults(),{multiplier:1,units:"hertz",value:1})}setTargetAtTime(e,n,i){n=this.toSeconds(n),this.setRampPoint(n);const o=this._fromType(e),a=this._events.get(n),s=Math.round(Math.max(1/i,1));for(let A=0;A<=s;A++){const r=i*A+n,h=this._exponentialApproach(a.time,a.value,o,i,r);this.linearRampToValueAtTime(this._toType(h),r)}return this}setValueAtTime(e,n){const i=this.toSeconds(n);super.setValueAtTime(e,n);const o=this._events.get(i),a=this._events.previousEvent(o),s=this._getTicksUntilEvent(a,i);return o.ticks=Math.max(s,0),this}linearRampToValueAtTime(e,n){const i=this.toSeconds(n);super.linearRampToValueAtTime(e,n);const o=this._events.get(i),a=this._events.previousEvent(o),s=this._getTicksUntilEvent(a,i);return o.ticks=Math.max(s,0),this}exponentialRampToValueAtTime(e,n){n=this.toSeconds(n);const i=this._fromType(e),o=this._events.get(n),a=Math.round(Math.max((n-o.time)*10,1)),s=(n-o.time)/a;for(let A=0;A<=a;A++){const r=s*A+o.time,h=this._exponentialInterpolate(o.time,o.value,n,i,r);this.linearRampToValueAtTime(this._toType(h),r)}return this}_getTicksUntilEvent(e,n){if(e===null)e={ticks:0,time:0,type:"setValueAtTime",value:0};else if(Zt(e.ticks)){const s=this._events.previousEvent(e);e.ticks=this._getTicksUntilEvent(s,e.time)}const i=this._fromType(this.getValueAtTime(e.time));let o=this._fromType(this.getValueAtTime(n));const a=this._events.get(n);return a&&a.time===n&&a.type==="setValueAtTime"&&(o=this._fromType(this.getValueAtTime(n-this.sampleTime))),.5*(n-e.time)*(i+o)+e.ticks}getTicksAtTime(e){const n=this.toSeconds(e),i=this._events.get(n);return Math.max(this._getTicksUntilEvent(i,n),0)}getDurationOfTicks(e,n){const i=this.toSeconds(n),o=this.getTicksAtTime(n);return this.getTimeOfTick(o+e)-i}getTimeOfTick(e){const n=this._events.get(e,"ticks"),i=this._events.getAfter(e,"ticks");if(n&&n.ticks===e)return n.time;if(n&&i&&i.type==="linearRampToValueAtTime"&&n.value!==i.value){const o=this._fromType(this.getValueAtTime(n.time)),s=(this._fromType(this.getValueAtTime(i.time))-o)/(i.time-n.time),A=Math.sqrt(Math.pow(o,2)-2*s*(n.ticks-e)),r=(-o+A)/s,h=(-o-A)/s;return(r>0?r:h)+n.time}else return n?n.value===0?1/0:n.time+(e-n.ticks)/n.value:e/this._initialValue}ticksToTime(e,n){return this.getDurationOfTicks(e,n)}timeToTicks(e,n){const i=this.toSeconds(n),o=this.toSeconds(e),a=this.getTicksAtTime(i);return this.getTicksAtTime(i+o)-a}_fromType(e){return this.units==="bpm"&&this.multiplier?1/(60/e/this.multiplier):super._fromType(e)}_toType(e){return this.units==="bpm"&&this.multiplier?e/this.multiplier*60:super._toType(e)}get multiplier(){return this._multiplier}set multiplier(e){const n=this.value;this._multiplier=e,this.cancelScheduledValues(0),this.setValueAtTime(n,0)}}class Jc extends be{constructor(){const e=L(Jc.getDefaults(),arguments,["value"]);super(e),this.name="TickSignal",this.input=this._param=new _c({context:this.context,convert:e.convert,multiplier:e.multiplier,param:this._constantSource.offset,units:e.units,value:e.value})}static getDefaults(){return Object.assign(be.getDefaults(),{multiplier:1,units:"hertz",value:1})}ticksToTime(e,n){return this._param.ticksToTime(e,n)}timeToTicks(e,n){return this._param.timeToTicks(e,n)}getTimeOfTick(e){return this._param.getTimeOfTick(e)}getDurationOfTicks(e,n){return this._param.getDurationOfTicks(e,n)}getTicksAtTime(e){return this._param.getTicksAtTime(e)}get multiplier(){return this._param.multiplier}set multiplier(e){this._param.multiplier=e}dispose(){return super.dispose(),this._param.dispose(),this}}class Yc extends bt{constructor(){const e=L(Yc.getDefaults(),arguments,["frequency"]);super(e),this.name="TickSource",this._state=new Ps,this._tickOffset=new cn,this._ticksAtTime=new cn,this._secondsAtTime=new cn,this.frequency=new Jc({context:this.context,units:e.units,value:e.frequency}),Ee(this,"frequency"),this._state.setStateAtTime("stopped",0),this.setTicksAtTime(0,0)}static getDefaults(){return Object.assign({frequency:1,units:"hertz"},bt.getDefaults())}get state(){return this.getStateAtTime(this.now())}start(e,n){const i=this.toSeconds(e);return this._state.getValueAtTime(i)!=="started"&&(this._state.setStateAtTime("started",i),pe(n)&&this.setTicksAtTime(n,i),this._ticksAtTime.cancel(i),this._secondsAtTime.cancel(i)),this}stop(e){const n=this.toSeconds(e);if(this._state.getValueAtTime(n)==="stopped"){const i=this._state.get(n);i&&i.time>0&&(this._tickOffset.cancel(i.time),this._state.cancel(i.time))}return this._state.cancel(n),this._state.setStateAtTime("stopped",n),this.setTicksAtTime(0,n),this._ticksAtTime.cancel(n),this._secondsAtTime.cancel(n),this}pause(e){const n=this.toSeconds(e);return this._state.getValueAtTime(n)==="started"&&(this._state.setStateAtTime("paused",n),this._ticksAtTime.cancel(n),this._secondsAtTime.cancel(n)),this}cancel(e){return e=this.toSeconds(e),this._state.cancel(e),this._tickOffset.cancel(e),this._ticksAtTime.cancel(e),this._secondsAtTime.cancel(e),this}getTicksAtTime(e){const n=this.toSeconds(e),i=this._state.getLastState("stopped",n),o=this._ticksAtTime.get(n),a={state:"paused",time:n};this._state.add(a);let s=o||i,A=o?o.ticks:0,r=null;return this._state.forEachBetween(s.time,n+this.sampleTime,h=>{let l=s.time;const c=this._tickOffset.get(h.time);c&&c.time>=s.time&&(A=c.ticks,l=c.time),s.state==="started"&&h.state!=="started"&&(A+=this.frequency.getTicksAtTime(h.time)-this.frequency.getTicksAtTime(l),h.time!==a.time&&(r={state:h.state,time:h.time,ticks:A})),s=h}),this._state.remove(a),r&&this._ticksAtTime.add(r),A}get ticks(){return this.getTicksAtTime(this.now())}set ticks(e){this.setTicksAtTime(e,this.now())}get seconds(){return this.getSecondsAtTime(this.now())}set seconds(e){const n=this.now(),i=this.frequency.timeToTicks(e,n);this.setTicksAtTime(i,n)}getSecondsAtTime(e){e=this.toSeconds(e);const n=this._state.getLastState("stopped",e),i={state:"paused",time:e};this._state.add(i);const o=this._secondsAtTime.get(e);let a=o||n,s=o?o.seconds:0,A=null;return this._state.forEachBetween(a.time,e+this.sampleTime,r=>{let h=a.time;const l=this._tickOffset.get(r.time);l&&l.time>=a.time&&(s=l.seconds,h=l.time),a.state==="started"&&r.state!=="started"&&(s+=r.time-h,r.time!==i.time&&(A={state:r.state,time:r.time,seconds:s})),a=r}),this._state.remove(i),A&&this._secondsAtTime.add(A),s}setTicksAtTime(e,n){return n=this.toSeconds(n),this._tickOffset.cancel(n),this._tickOffset.add({seconds:this.frequency.getDurationOfTicks(e,n),ticks:e,time:n}),this._ticksAtTime.cancel(n),this._secondsAtTime.cancel(n),this}getStateAtTime(e){return e=this.toSeconds(e),this._state.getValueAtTime(e)}getTimeOfTick(e,n=this.now()){const i=this._tickOffset.get(n),o=this._state.get(n),a=Math.max(i.time,o.time),s=this.frequency.getTicksAtTime(a)+e-i.ticks;return this.frequency.getTimeOfTick(s)}forEachTickBetween(e,n,i){let o=this._state.get(e);this._state.forEachBetween(e,n,s=>{o&&o.state==="started"&&s.state!=="started"&&this.forEachTickBetween(Math.max(o.time,e),s.time-this.sampleTime,i),o=s});let a=null;if(o&&o.state==="started"){const s=Math.max(o.time,e),A=this.frequency.getTicksAtTime(s),r=this.frequency.getTicksAtTime(o.time),h=A-r;let l=Math.ceil(h)-h;l=Bn(l,1)?0:l;let c=this.frequency.getTimeOfTick(A+l);for(;c{switch(i.state){case"started":const o=this._tickSource.getTicksAtTime(i.time);this.emit("start",i.time,o);break;case"stopped":i.time!==0&&this.emit("stop",i.time);break;case"paused":this.emit("pause",i.time);break}}),this._tickSource.forEachTickBetween(e,n,(i,o)=>{this.callback(i,o)}))}getStateAtTime(e){const n=this.toSeconds(e);return this._state.getValueAtTime(n)}dispose(){return super.dispose(),this.context.off("tick",this._boundLoop),this._tickSource.dispose(),this._state.dispose(),this}}qs.mixin(_r);class As extends j{constructor(){const e=L(As.getDefaults(),arguments,["delayTime","maxDelay"]);super(e),this.name="Delay";const n=this.toSeconds(e.maxDelay);this._maxDelay=Math.max(n,this.toSeconds(e.delayTime)),this._delayNode=this.input=this.output=this.context.createDelay(n),this.delayTime=new fe({context:this.context,param:this._delayNode.delayTime,units:"time",value:e.delayTime,minValue:0,maxValue:this.maxDelay}),Ee(this,"delayTime")}static getDefaults(){return Object.assign(j.getDefaults(),{delayTime:0,maxDelay:1})}get maxDelay(){return this._maxDelay}dispose(){return super.dispose(),this._delayNode.disconnect(),this.delayTime.dispose(),this}}class Vi extends j{constructor(){const e=L(Vi.getDefaults(),arguments,["volume"]);super(e),this.name="Volume",this.input=this.output=new ue({context:this.context,gain:e.volume,units:"decibels"}),this.volume=this.output.gain,Ee(this,"volume"),this._unmutedVolume=e.volume,this.mute=e.mute}static getDefaults(){return Object.assign(j.getDefaults(),{mute:!1,volume:0})}get mute(){return this.volume.value===-1/0}set mute(e){!this.mute&&e?(this._unmutedVolume=this.volume.value,this.volume.value=-1/0):this.mute&&!e&&(this.volume.value=this._unmutedVolume)}dispose(){return super.dispose(),this.input.dispose(),this.volume.dispose(),this}}class Lc extends j{constructor(){const e=L(Lc.getDefaults(),arguments);super(e),this.name="Destination",this.input=new Vi({context:this.context}),this.output=new ue({context:this.context}),this.volume=this.input.volume,Wn(this.input,this.output,this.context.rawContext.destination),this.mute=e.mute,this._internalChannels=[this.input,this.context.rawContext.destination,this.output]}static getDefaults(){return Object.assign(j.getDefaults(),{mute:!1,volume:0})}get mute(){return this.input.mute}set mute(e){this.input.mute=e}chain(...e){return this.input.disconnect(),e.unshift(this.input),e.push(this.output),Wn(...e),this}get maxChannelCount(){return this.context.rawContext.destination.maxChannelCount}dispose(){return super.dispose(),this.volume.dispose(),this}}Rr(t=>{t.destination=new Lc({context:t})});Tr(t=>{t.destination.dispose()});class Wv extends j{constructor(){super(...arguments),this.name="Listener",this.positionX=new fe({context:this.context,param:this.context.rawContext.listener.positionX}),this.positionY=new fe({context:this.context,param:this.context.rawContext.listener.positionY}),this.positionZ=new fe({context:this.context,param:this.context.rawContext.listener.positionZ}),this.forwardX=new fe({context:this.context,param:this.context.rawContext.listener.forwardX}),this.forwardY=new fe({context:this.context,param:this.context.rawContext.listener.forwardY}),this.forwardZ=new fe({context:this.context,param:this.context.rawContext.listener.forwardZ}),this.upX=new fe({context:this.context,param:this.context.rawContext.listener.upX}),this.upY=new fe({context:this.context,param:this.context.rawContext.listener.upY}),this.upZ=new fe({context:this.context,param:this.context.rawContext.listener.upZ})}static getDefaults(){return Object.assign(j.getDefaults(),{positionX:0,positionY:0,positionZ:0,forwardX:0,forwardY:0,forwardZ:-1,upX:0,upY:1,upZ:0})}dispose(){return super.dispose(),this.positionX.dispose(),this.positionY.dispose(),this.positionZ.dispose(),this.forwardX.dispose(),this.forwardY.dispose(),this.forwardZ.dispose(),this.upX.dispose(),this.upY.dispose(),this.upZ.dispose(),this}}Rr(t=>{t.listener=new Wv({context:t})});Tr(t=>{t.listener.dispose()});class Kc extends fi{constructor(){super(),this.name="ToneAudioBuffers",this._buffers=new Map,this._loadingCount=0;const e=L(Kc.getDefaults(),arguments,["urls","onload","baseUrl"],"urls");this.baseUrl=e.baseUrl,Object.keys(e.urls).forEach(n=>{this._loadingCount++;const i=e.urls[n];this.add(n,i,this._bufferLoaded.bind(this,e.onload),e.onerror)})}static getDefaults(){return{baseUrl:"",onerror:Ne,onload:Ne,urls:{}}}has(e){return this._buffers.has(e.toString())}get(e){return oe(this.has(e),`ToneAudioBuffers has no buffer named: ${e}`),this._buffers.get(e.toString())}_bufferLoaded(e){this._loadingCount--,this._loadingCount===0&&e&&e()}get loaded(){return Array.from(this._buffers).every(([e,n])=>n.loaded)}add(e,n,i=Ne,o=Ne){return zn(n)?(this.baseUrl&&n.trim().substring(0,11).toLowerCase()==="data:audio/"&&(this.baseUrl=""),this._buffers.set(e.toString(),new Ge(this.baseUrl+n,i,o))):this._buffers.set(e.toString(),new Ge(n,i,o)),this}dispose(){return super.dispose(),this._buffers.forEach(e=>e.dispose()),this._buffers.clear(),this}}class Bs extends Pt{constructor(){super(...arguments),this.name="MidiClass",this.defaultUnits="midi"}_frequencyToUnits(e){return ro(super._frequencyToUnits(e))}_ticksToUnits(e){return ro(super._ticksToUnits(e))}_beatsToUnits(e){return ro(super._beatsToUnits(e))}_secondsToUnits(e){return ro(super._secondsToUnits(e))}toMidi(){return this.valueOf()}toFrequency(){return NI(this.toMidi())}transpose(e){return new Bs(this.context,this.toMidi()+e)}}function Zv(t,e){return new Bs(st(),t,e)}class Xe extends ia{constructor(){super(...arguments),this.name="Ticks",this.defaultUnits="i"}_now(){return this.context.transport.ticks}_beatsToUnits(e){return this._getPPQ()*e}_secondsToUnits(e){return Math.floor(e/(60/this._getBpm())*this._getPPQ())}_ticksToUnits(e){return e}toTicks(){return this.valueOf()}toSeconds(){return this.valueOf()/this._getPPQ()*(60/this._getBpm())}}class Xv extends bt{constructor(){super(...arguments),this.name="Draw",this.expiration=.25,this.anticipation=.008,this._events=new cn,this._boundDrawLoop=this._drawLoop.bind(this),this._animationFrame=-1}schedule(e,n){return this._events.add({callback:e,time:this.toSeconds(n)}),this._events.length===1&&(this._animationFrame=requestAnimationFrame(this._boundDrawLoop)),this}cancel(e){return this._events.cancel(this.toSeconds(e)),this}_drawLoop(){const e=this.context.currentTime;for(;this._events.length&&this._events.peek().time-this.anticipation<=e;){const n=this._events.shift();n&&e-n.time<=this.expiration&&n.callback()}this._events.length>0&&(this._animationFrame=requestAnimationFrame(this._boundDrawLoop))}dispose(){return super.dispose(),this._events.dispose(),cancelAnimationFrame(this._animationFrame),this}}Rr(t=>{t.draw=new Xv({context:t})});Tr(t=>{t.draw.dispose()});class $v extends fi{constructor(){super(...arguments),this.name="IntervalTimeline",this._root=null,this._length=0}add(e){oe(pe(e.time),"Events must have a time property"),oe(pe(e.duration),"Events must have a duration parameter"),e.time=e.time.valueOf();let n=new eD(e.time,e.time+e.duration,e);for(this._root===null?this._root=n:this._root.insert(n),this._length++;n!==null;)n.updateHeight(),n.updateMax(),this._rebalance(n),n=n.parent;return this}remove(e){if(this._root!==null){const n=[];this._root.search(e.time,n);for(const i of n)if(i.event===e){this._removeNode(i),this._length--;break}}return this}get length(){return this._length}cancel(e){return this.forEachFrom(e,n=>this.remove(n)),this}_setRoot(e){this._root=e,this._root!==null&&(this._root.parent=null)}_replaceNodeInParent(e,n){e.parent!==null?(e.isLeftChild()?e.parent.left=n:e.parent.right=n,this._rebalance(e.parent)):this._setRoot(n)}_removeNode(e){if(e.left===null&&e.right===null)this._replaceNodeInParent(e,null);else if(e.right===null)this._replaceNodeInParent(e,e.left);else if(e.left===null)this._replaceNodeInParent(e,e.right);else{const n=e.getBalance();let i,o=null;if(n>0)if(e.left.right===null)i=e.left,i.right=e.right,o=i;else{for(i=e.left.right;i.right!==null;)i=i.right;i.parent&&(i.parent.right=i.left,o=i.parent,i.left=e.left,i.right=e.right)}else if(e.right.left===null)i=e.right,i.left=e.left,o=i;else{for(i=e.right.left;i.left!==null;)i=i.left;i.parent&&(i.parent.left=i.right,o=i.parent,i.left=e.left,i.right=e.right)}e.parent!==null?e.isLeftChild()?e.parent.left=i:e.parent.right=i:this._setRoot(i),o&&this._rebalance(o)}e.dispose()}_rotateLeft(e){const n=e.parent,i=e.isLeftChild(),o=e.right;o&&(e.right=o.left,o.left=e),n!==null?i?n.left=o:n.right=o:this._setRoot(o)}_rotateRight(e){const n=e.parent,i=e.isLeftChild(),o=e.left;o&&(e.left=o.right,o.right=e),n!==null?i?n.left=o:n.right=o:this._setRoot(o)}_rebalance(e){const n=e.getBalance();n>1&&e.left?e.left.getBalance()<0?this._rotateLeft(e.left):this._rotateRight(e):n<-1&&e.right&&(e.right.getBalance()>0?this._rotateRight(e.right):this._rotateLeft(e))}get(e){if(this._root!==null){const n=[];if(this._root.search(e,n),n.length>0){let i=n[0];for(let o=1;oi.low&&(i=n[o]);return i.event}}return null}forEach(e){if(this._root!==null){const n=[];this._root.traverse(i=>n.push(i)),n.forEach(i=>{i.event&&e(i.event)})}return this}forEachAtTime(e,n){if(this._root!==null){const i=[];this._root.search(e,i),i.forEach(o=>{o.event&&n(o.event)})}return this}forEachFrom(e,n){if(this._root!==null){const i=[];this._root.searchAfter(e,i),i.forEach(o=>{o.event&&n(o.event)})}return this}dispose(){return super.dispose(),this._root!==null&&this._root.traverse(e=>e.dispose()),this._root=null,this}}class eD{constructor(e,n,i){this._left=null,this._right=null,this.parent=null,this.height=0,this.event=i,this.low=e,this.high=n,this.max=this.high}insert(e){e.low<=this.low?this.left===null?this.left=e:this.left.insert(e):this.right===null?this.right=e:this.right.insert(e)}search(e,n){e>this.max||(this.left!==null&&this.left.search(e,n),this.low<=e&&this.high>e&&n.push(this),!(this.low>e)&&this.right!==null&&this.right.search(e,n))}searchAfter(e,n){this.low>=e&&(n.push(this),this.left!==null&&this.left.searchAfter(e,n)),this.right!==null&&this.right.searchAfter(e,n)}traverse(e){e(this),this.left!==null&&this.left.traverse(e),this.right!==null&&this.right.traverse(e)}updateHeight(){this.left!==null&&this.right!==null?this.height=Math.max(this.left.height,this.right.height)+1:this.right!==null?this.height=this.right.height+1:this.left!==null?this.height=this.left.height+1:this.height=0}updateMax(){this.max=this.high,this.left!==null&&(this.max=Math.max(this.max,this.left.max)),this.right!==null&&(this.max=Math.max(this.max,this.right.max))}getBalance(){let e=0;return this.left!==null&&this.right!==null?e=this.left.height-this.right.height:this.left!==null?e=this.left.height+1:this.right!==null&&(e=-(this.right.height+1)),e}isLeftChild(){return this.parent!==null&&this.parent.left===this}get left(){return this._left}set left(e){this._left=e,e!==null&&(e.parent=this),this.updateHeight(),this.updateMax()}get right(){return this._right}set right(e){this._right=e,e!==null&&(e.parent=this),this.updateHeight(),this.updateMax()}dispose(){this.parent=null,this._left=null,this._right=null,this.event=null}}class tD extends fi{constructor(e){super(),this.name="TimelineValue",this._timeline=new cn({memory:10}),this._initialValue=e}set(e,n){return this._timeline.add({value:e,time:n}),this}get(e){const n=this._timeline.get(e);return n?n.value:this._initialValue}}class $t extends j{constructor(){super(L($t.getDefaults(),arguments,["context"]))}connect(e,n=0,i=0){return Ur(this,e,n,i),this}}class zi extends $t{constructor(){const e=L(zi.getDefaults(),arguments,["mapping","length"]);super(e),this.name="WaveShaper",this._shaper=this.context.createWaveShaper(),this.input=this._shaper,this.output=this._shaper,Rt(e.mapping)||e.mapping instanceof Float32Array?this.curve=Float32Array.from(e.mapping):Mv(e.mapping)&&this.setMap(e.mapping,e.length)}static getDefaults(){return Object.assign(be.getDefaults(),{length:1024})}setMap(e,n=1024){const i=new Float32Array(n);for(let o=0,a=n;oi.includes(e));oe(n,"oversampling must be either 'none', '2x', or '4x'"),this._shaper.oversample=e}dispose(){return super.dispose(),this._shaper.disconnect(),this}}class Jr extends $t{constructor(){const e=L(Jr.getDefaults(),arguments,["value"]);super(e),this.name="Pow",this._exponentScaler=this.input=this.output=new zi({context:this.context,mapping:this._expFunc(e.value),length:8192}),this._exponent=e.value}static getDefaults(){return Object.assign($t.getDefaults(),{value:1})}_expFunc(e){return n=>Math.pow(Math.abs(n),e)}get value(){return this._exponent}set value(e){this._exponent=e,this._exponentScaler.setMap(this._expFunc(this._exponent))}dispose(){return super.dispose(),this._exponentScaler.dispose(),this}}class Ki{constructor(e,n){this.id=Ki._eventId++,this._remainderTime=0;const i=Object.assign(Ki.getDefaults(),n);this.transport=e,this.callback=i.callback,this._once=i.once,this.time=Math.floor(i.time),this._remainderTime=i.time-this.time}static getDefaults(){return{callback:Ne,once:!1,time:0}}get floatTime(){return this.time+this._remainderTime}invoke(e){if(this.callback){const n=this.transport.bpm.getDurationOfTicks(1,e);this.callback(e+this._remainderTime*n),this._once&&this.transport.clear(this.id)}}dispose(){return this.callback=void 0,this}}Ki._eventId=0;class qc extends Ki{constructor(e,n){super(e,n),this._currentId=-1,this._nextId=-1,this._nextTick=this.time,this._boundRestart=this._restart.bind(this);const i=Object.assign(qc.getDefaults(),n);this.duration=i.duration,this._interval=i.interval,this._nextTick=i.time,this.transport.on("start",this._boundRestart),this.transport.on("loopStart",this._boundRestart),this.transport.on("ticks",this._boundRestart),this.context=this.transport.context,this._restart()}static getDefaults(){return Object.assign({},Ki.getDefaults(),{duration:1/0,interval:1,once:!1})}invoke(e){this._createEvents(e),super.invoke(e)}_createEvent(){return PA(this._nextTick,this.floatTime+this.duration)?this.transport.scheduleOnce(this.invoke.bind(this),new Xe(this.context,this._nextTick).toSeconds()):-1}_createEvents(e){PA(this._nextTick+this._interval,this.floatTime+this.duration)&&(this._nextTick+=this._interval,this._currentId=this._nextId,this._nextId=this.transport.scheduleOnce(this.invoke.bind(this),new Xe(this.context,this._nextTick).toSeconds()))}_restart(e){this.transport.clear(this._currentId),this.transport.clear(this._nextId),this._nextTick=this.floatTime;const n=this.transport.getTicksAtTime(e);ma(n,this.time)&&(this._nextTick=this.floatTime+Math.ceil((n-this.floatTime)/this._interval)*this._interval),this._currentId=this._createEvent(),this._nextTick+=this._interval,this._nextId=this._createEvent()}dispose(){return super.dispose(),this.transport.clear(this._currentId),this.transport.clear(this._nextId),this.transport.off("start",this._boundRestart),this.transport.off("loopStart",this._boundRestart),this.transport.off("ticks",this._boundRestart),this}}class Yr extends bt{constructor(){const e=L(Yr.getDefaults(),arguments);super(e),this.name="Transport",this._loop=new tD(!1),this._loopStart=0,this._loopEnd=0,this._scheduledEvents={},this._timeline=new cn,this._repeatedEvents=new $v,this._syncedSignals=[],this._swingAmount=0,this._ppq=e.ppq,this._clock=new _r({callback:this._processTick.bind(this),context:this.context,frequency:0,units:"bpm"}),this._bindClockEvents(),this.bpm=this._clock.frequency,this._clock.frequency.multiplier=e.ppq,this.bpm.setValueAtTime(e.bpm,0),Ee(this,"bpm"),this._timeSignature=e.timeSignature,this._swingTicks=e.ppq/2}static getDefaults(){return Object.assign(bt.getDefaults(),{bpm:120,loopEnd:"4m",loopStart:0,ppq:192,swing:0,swingSubdivision:"8n",timeSignature:4})}_processTick(e,n){if(this._loop.get(e)&&n>=this._loopEnd&&(this.emit("loopEnd",e),this._clock.setTicksAtTime(this._loopStart,e),n=this._loopStart,this.emit("loopStart",e,this._clock.getSecondsAtTime(e)),this.emit("loop",e)),this._swingAmount>0&&n%this._ppq!==0&&n%(this._swingTicks*2)!==0){const i=n%(this._swingTicks*2)/(this._swingTicks*2),o=Math.sin(i*Math.PI)*this._swingAmount;e+=new Xe(this.context,this._swingTicks*2/3).toSeconds()*o}gd(!0),this._timeline.forEachAtTime(n,i=>i.invoke(e)),gd(!1)}schedule(e,n){const i=new Ki(this,{callback:e,time:new ia(this.context,n).toTicks()});return this._addEvent(i,this._timeline)}scheduleRepeat(e,n,i,o=1/0){const a=new qc(this,{callback:e,duration:new An(this.context,o).toTicks(),interval:new An(this.context,n).toTicks(),time:new ia(this.context,i).toTicks()});return this._addEvent(a,this._repeatedEvents)}scheduleOnce(e,n){const i=new Ki(this,{callback:e,once:!0,time:new ia(this.context,n).toTicks()});return this._addEvent(i,this._timeline)}clear(e){if(this._scheduledEvents.hasOwnProperty(e)){const n=this._scheduledEvents[e.toString()];n.timeline.remove(n.event),n.event.dispose(),delete this._scheduledEvents[e.toString()]}return this}_addEvent(e,n){return this._scheduledEvents[e.id.toString()]={event:e,timeline:n},n.add(e),e.id}cancel(e=0){const n=this.toTicks(e);return this._timeline.forEachFrom(n,i=>this.clear(i.id)),this._repeatedEvents.forEachFrom(n,i=>this.clear(i.id)),this}_bindClockEvents(){this._clock.on("start",(e,n)=>{n=new Xe(this.context,n).toSeconds(),this.emit("start",e,n)}),this._clock.on("stop",e=>{this.emit("stop",e)}),this._clock.on("pause",e=>{this.emit("pause",e)})}get state(){return this._clock.getStateAtTime(this.now())}start(e,n){this.context.resume();let i;return pe(n)&&(i=this.toTicks(n)),this._clock.start(e,i),this}stop(e){return this._clock.stop(e),this}pause(e){return this._clock.pause(e),this}toggle(e){return e=this.toSeconds(e),this._clock.getStateAtTime(e)!=="started"?this.start(e):this.stop(e),this}get timeSignature(){return this._timeSignature}set timeSignature(e){Rt(e)&&(e=e[0]/e[1]*4),this._timeSignature=e}get loopStart(){return new An(this.context,this._loopStart,"i").toSeconds()}set loopStart(e){this._loopStart=this.toTicks(e)}get loopEnd(){return new An(this.context,this._loopEnd,"i").toSeconds()}set loopEnd(e){this._loopEnd=this.toTicks(e)}get loop(){return this._loop.get(this.now())}set loop(e){this._loop.set(e,this.now())}setLoopPoints(e,n){return this.loopStart=e,this.loopEnd=n,this}get swing(){return this._swingAmount}set swing(e){this._swingAmount=e}get swingSubdivision(){return new Xe(this.context,this._swingTicks).toNotation()}set swingSubdivision(e){this._swingTicks=this.toTicks(e)}get position(){const e=this.now(),n=this._clock.getTicksAtTime(e);return new Xe(this.context,n).toBarsBeatsSixteenths()}set position(e){const n=this.toTicks(e);this.ticks=n}get seconds(){return this._clock.seconds}set seconds(e){const n=this.now(),i=this._clock.frequency.timeToTicks(e,n);this.ticks=i}get progress(){if(this.loop){const e=this.now();return(this._clock.getTicksAtTime(e)-this._loopStart)/(this._loopEnd-this._loopStart)}else return 0}get ticks(){return this._clock.ticks}set ticks(e){if(this._clock.ticks!==e){const n=this.now();if(this.state==="started"){const i=this._clock.getTicksAtTime(n),o=this._clock.frequency.getDurationOfTicks(Math.ceil(i)-i,n),a=n+o;this.emit("stop",a),this._clock.setTicksAtTime(e,a),this.emit("start",a,this._clock.getSecondsAtTime(a))}else this.emit("ticks",n),this._clock.setTicksAtTime(e,n)}}getTicksAtTime(e){return this._clock.getTicksAtTime(e)}getSecondsAtTime(e){return this._clock.getSecondsAtTime(e)}get PPQ(){return this._clock.frequency.multiplier}set PPQ(e){this._clock.frequency.multiplier=e}nextSubdivision(e){if(e=this.toTicks(e),this.state!=="started")return 0;{const n=this.now(),i=this.getTicksAtTime(n),o=e-i%e;return this._clock.nextTickTime(o,n)}}syncSignal(e,n){const i=this.now();let o=this.bpm,a=1/(60/o.getValueAtTime(i)/this.PPQ),s=[];if(e.units==="time"){const r=.015625/a,h=new ue(r),l=new Jr(-1),c=new ue(r);o.chain(h,l,c),o=c,a=1/a,s=[h,l,c]}n||(e.getValueAtTime(i)!==0?n=e.getValueAtTime(i)/a:n=0);const A=new ue(n);return o.connect(A),A.connect(e._param),s.push(A),this._syncedSignals.push({initial:e.value,nodes:s,signal:e}),e.value=0,this}unsyncSignal(e){for(let n=this._syncedSignals.length-1;n>=0;n--){const i=this._syncedSignals[n];i.signal===e&&(i.nodes.forEach(o=>o.dispose()),i.signal.value=i.initial,this._syncedSignals.splice(n,1))}return this}dispose(){return super.dispose(),this._clock.dispose(),Gc(this,"bpm"),this._timeline.dispose(),this._repeatedEvents.dispose(),this}}qs.mixin(Yr);Rr(t=>{t.transport=new Yr({context:t})});Tr(t=>{t.transport.dispose()});class Ct extends j{constructor(e){super(e),this.input=void 0,this._state=new Ps("stopped"),this._synced=!1,this._scheduled=[],this._syncedStart=Ne,this._syncedStop=Ne,this._state.memory=100,this._state.increasing=!0,this._volume=this.output=new Vi({context:this.context,mute:e.mute,volume:e.volume}),this.volume=this._volume.volume,Ee(this,"volume"),this.onstop=e.onstop}static getDefaults(){return Object.assign(j.getDefaults(),{mute:!1,onstop:Ne,volume:0})}get state(){return this._synced?this.context.transport.state==="started"?this._state.getValueAtTime(this.context.transport.seconds):"stopped":this._state.getValueAtTime(this.now())}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}_clampToCurrentTime(e){return this._synced?e:Math.max(e,this.context.currentTime)}start(e,n,i){let o=Zt(e)&&this._synced?this.context.transport.seconds:this.toSeconds(e);if(o=this._clampToCurrentTime(o),!this._synced&&this._state.getValueAtTime(o)==="started")oe(ma(o,this._state.get(o).time),"Start time must be strictly greater than previous start time"),this._state.cancel(o),this._state.setStateAtTime("started",o),this.log("restart",o),this.restart(o,n,i);else if(this.log("start",o),this._state.setStateAtTime("started",o),this._synced){const a=this._state.get(o);a&&(a.offset=this.toSeconds(qn(n,0)),a.duration=i?this.toSeconds(i):void 0);const s=this.context.transport.schedule(A=>{this._start(A,n,i)},o);this._scheduled.push(s),this.context.transport.state==="started"&&this.context.transport.getSecondsAtTime(this.immediate())>o&&this._syncedStart(this.now(),this.context.transport.seconds)}else BI(this.context),this._start(o,n,i);return this}stop(e){let n=Zt(e)&&this._synced?this.context.transport.seconds:this.toSeconds(e);if(n=this._clampToCurrentTime(n),this._state.getValueAtTime(n)==="started"||pe(this._state.getNextState("started",n))){if(this.log("stop",n),!this._synced)this._stop(n);else{const i=this.context.transport.schedule(this._stop.bind(this),n);this._scheduled.push(i)}this._state.cancel(n),this._state.setStateAtTime("stopped",n)}return this}restart(e,n,i){return e=this.toSeconds(e),this._state.getValueAtTime(e)==="started"&&(this._state.cancel(e),this._restart(e,n,i)),this}sync(){return this._synced||(this._synced=!0,this._syncedStart=(e,n)=>{if(ma(n,0)){const i=this._state.get(n);if(i&&i.state==="started"&&i.time!==n){const o=n-this.toSeconds(i.time);let a;i.duration&&(a=this.toSeconds(i.duration)-o),this._start(e,this.toSeconds(i.offset)+o,a)}}},this._syncedStop=e=>{const n=this.context.transport.getSecondsAtTime(Math.max(e-this.sampleTime,0));this._state.getValueAtTime(n)==="started"&&this._stop(e)},this.context.transport.on("start",this._syncedStart),this.context.transport.on("loopStart",this._syncedStart),this.context.transport.on("stop",this._syncedStop),this.context.transport.on("pause",this._syncedStop),this.context.transport.on("loopEnd",this._syncedStop)),this}unsync(){return this._synced&&(this.context.transport.off("stop",this._syncedStop),this.context.transport.off("pause",this._syncedStop),this.context.transport.off("loopEnd",this._syncedStop),this.context.transport.off("start",this._syncedStart),this.context.transport.off("loopStart",this._syncedStart)),this._synced=!1,this._scheduled.forEach(e=>this.context.transport.clear(e)),this._scheduled=[],this._state.cancel(0),this._stop(0),this}dispose(){return super.dispose(),this.onstop=Ne,this.unsync(),this._volume.dispose(),this._state.dispose(),this}}class Hs extends Ia{constructor(){const e=L(Hs.getDefaults(),arguments,["url","onload"]);super(e),this.name="ToneBufferSource",this._source=this.context.createBufferSource(),this._internalChannels=[this._source],this._sourceStarted=!1,this._sourceStopped=!1,Xt(this._source,this._gainNode),this._source.onended=()=>this._stopSource(),this.playbackRate=new fe({context:this.context,param:this._source.playbackRate,units:"positive",value:e.playbackRate}),this.loop=e.loop,this.loopStart=e.loopStart,this.loopEnd=e.loopEnd,this._buffer=new Ge(e.url,e.onload,e.onerror),this._internalChannels.push(this._source)}static getDefaults(){return Object.assign(Ia.getDefaults(),{url:new Ge,loop:!1,loopEnd:0,loopStart:0,onload:Ne,onerror:Ne,playbackRate:1})}get fadeIn(){return this._fadeIn}set fadeIn(e){this._fadeIn=e}get fadeOut(){return this._fadeOut}set fadeOut(e){this._fadeOut=e}get curve(){return this._curve}set curve(e){this._curve=e}start(e,n,i,o=1){oe(this.buffer.loaded,"buffer is either not set or not loaded");const a=this.toSeconds(e);this._startGain(a,o),this.loop?n=qn(n,this.loopStart):n=qn(n,0);let s=Math.max(this.toSeconds(n),0);if(this.loop){const A=this.toSeconds(this.loopEnd)||this.buffer.duration,r=this.toSeconds(this.loopStart),h=A-r;dl(s,A)&&(s=(s-r)%h+r),Bn(s,this.buffer.duration)&&(s=0)}if(this._source.buffer=this.buffer.get(),this._source.loopEnd=this.toSeconds(this.loopEnd)||this.buffer.duration,PA(s,this.buffer.duration)&&(this._sourceStarted=!0,this._source.start(a,s)),pe(i)){let A=this.toSeconds(i);A=Math.max(A,0),this.stop(a+A)}return this}_stopSource(e){!this._sourceStopped&&this._sourceStarted&&(this._sourceStopped=!0,this._source.stop(this.toSeconds(e)),this._onended())}get loopStart(){return this._source.loopStart}set loopStart(e){this._source.loopStart=this.toSeconds(e)}get loopEnd(){return this._source.loopEnd}set loopEnd(e){this._source.loopEnd=this.toSeconds(e)}get buffer(){return this._buffer}set buffer(e){this._buffer.set(e)}get loop(){return this._source.loop}set loop(e){this._source.loop=e,this._sourceStarted&&this.cancelStop()}dispose(){return super.dispose(),this._source.onended=null,this._source.disconnect(),this._buffer.dispose(),this.playbackRate.dispose(),this}}class Bo extends Ct{constructor(){const e=L(Bo.getDefaults(),arguments,["type"]);super(e),this.name="Noise",this._source=null,this._playbackRate=e.playbackRate,this.type=e.type,this._fadeIn=e.fadeIn,this._fadeOut=e.fadeOut}static getDefaults(){return Object.assign(Ct.getDefaults(),{fadeIn:0,fadeOut:0,playbackRate:1,type:"white"})}get type(){return this._type}set type(e){if(oe(e in dd,"Noise: invalid type: "+e),this._type!==e&&(this._type=e,this.state==="started")){const n=this.now();this._stop(n),this._start(n)}}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e,this._source&&(this._source.playbackRate.value=e)}_start(e){const n=dd[this._type];this._source=new Hs({url:n,context:this.context,fadeIn:this._fadeIn,fadeOut:this._fadeOut,loop:!0,onended:()=>this.onstop(this),playbackRate:this._playbackRate}).connect(this.output),this._source.start(this.toSeconds(e),Math.random()*(n.duration-.001))}_stop(e){this._source&&(this._source.stop(this.toSeconds(e)),this._source=null)}get fadeIn(){return this._fadeIn}set fadeIn(e){this._fadeIn=e,this._source&&(this._source.fadeIn=this._fadeIn)}get fadeOut(){return this._fadeOut}set fadeOut(e){this._fadeOut=e,this._source&&(this._source.fadeOut=this._fadeOut)}_restart(e){this._stop(e),this._start(e)}dispose(){return super.dispose(),this._source&&this._source.disconnect(),this}}const Uo=44100*5,kh=2,ii={brown:null,pink:null,white:null},dd={get brown(){if(!ii.brown){const t=[];for(let e=0;ea.label===e||a.deviceId===e),!this._device&&n.length>0&&(this._device=n[0]),oe(pe(this._device),`No matching device ${e}`));const i={audio:{echoCancellation:!1,sampleRate:this.context.sampleRate,noiseSuppression:!1,mozNoiseSuppression:!1}};this._device&&(i.audio.deviceId=this._device.deviceId);const o=yield navigator.mediaDevices.getUserMedia(i);if(!this._stream){this._stream=o;const a=this.context.createMediaStreamSource(o);Xt(a,this.output),this._mediaStream=a}return this})}close(){return this._stream&&this._mediaStream&&(this._stream.getAudioTracks().forEach(e=>{e.stop()}),this._stream=void 0,this._mediaStream.disconnect(),this._mediaStream=void 0),this._device=void 0,this}static enumerateDevices(){return qe(this,void 0,void 0,function*(){return(yield navigator.mediaDevices.enumerateDevices()).filter(n=>n.kind==="audioinput")})}get state(){return this._stream&&this._stream.active?"started":"stopped"}get deviceId(){if(this._device)return this._device.deviceId}get groupId(){if(this._device)return this._device.groupId}get label(){if(this._device)return this._device.label}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}dispose(){return super.dispose(),this.close(),this._volume.dispose(),this.volume.dispose(),this}static get supported(){return pe(navigator.mediaDevices)&&pe(navigator.mediaDevices.getUserMedia)}}function So(t,e){return qe(this,void 0,void 0,function*(){const n=e/t.context.sampleRate,i=new Fr(1,n,t.context.sampleRate);return new t.constructor(Object.assign(t.get(),{frequency:2/n,detune:0,context:i})).toDestination().start(0),(yield i.render()).getChannelData(0)})}class jc extends Ia{constructor(){const e=L(jc.getDefaults(),arguments,["frequency","type"]);super(e),this.name="ToneOscillatorNode",this._oscillator=this.context.createOscillator(),this._internalChannels=[this._oscillator],Xt(this._oscillator,this._gainNode),this.type=e.type,this.frequency=new fe({context:this.context,param:this._oscillator.frequency,units:"frequency",value:e.frequency}),this.detune=new fe({context:this.context,param:this._oscillator.detune,units:"cents",value:e.detune}),Ee(this,["frequency","detune"])}static getDefaults(){return Object.assign(Ia.getDefaults(),{detune:0,frequency:440,type:"sine"})}start(e){const n=this.toSeconds(e);return this.log("start",n),this._startGain(n),this._oscillator.start(n),this}_stopSource(e){this._oscillator.stop(e)}setPeriodicWave(e){return this._oscillator.setPeriodicWave(e),this}get type(){return this._oscillator.type}set type(e){this._oscillator.type=e}dispose(){return super.dispose(),this.state==="started"&&this.stop(),this._oscillator.disconnect(),this.frequency.dispose(),this.detune.dispose(),this}}class nt extends Ct{constructor(){const e=L(nt.getDefaults(),arguments,["frequency","type"]);super(e),this.name="Oscillator",this._oscillator=null,this.frequency=new be({context:this.context,units:"frequency",value:e.frequency}),Ee(this,"frequency"),this.detune=new be({context:this.context,units:"cents",value:e.detune}),Ee(this,"detune"),this._partials=e.partials,this._partialCount=e.partialCount,this._type=e.type,e.partialCount&&e.type!=="custom"&&(this._type=this.baseType+e.partialCount.toString()),this.phase=e.phase}static getDefaults(){return Object.assign(Ct.getDefaults(),{detune:0,frequency:440,partialCount:0,partials:[],phase:0,type:"sine"})}_start(e){const n=this.toSeconds(e),i=new jc({context:this.context,onended:()=>this.onstop(this)});this._oscillator=i,this._wave?this._oscillator.setPeriodicWave(this._wave):this._oscillator.type=this._type,this._oscillator.connect(this.output),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),this._oscillator.start(n)}_stop(e){const n=this.toSeconds(e);this._oscillator&&this._oscillator.stop(n)}_restart(e){const n=this.toSeconds(e);return this.log("restart",n),this._oscillator&&this._oscillator.cancelStop(),this._state.cancel(n),this}syncFrequency(){return this.context.transport.syncSignal(this.frequency),this}unsyncFrequency(){return this.context.transport.unsyncSignal(this.frequency),this}_getCachedPeriodicWave(){if(this._type==="custom")return nt._periodicWaveCache.find(n=>n.phase===this._phase&&Jv(n.partials,this._partials));{const e=nt._periodicWaveCache.find(n=>n.type===this._type&&n.phase===this._phase);return this._partialCount=e?e.partialCount:this._partialCount,e}}get type(){return this._type}set type(e){this._type=e;const n=["sine","square","sawtooth","triangle"].indexOf(e)!==-1;if(this._phase===0&&n)this._wave=void 0,this._partialCount=0,this._oscillator!==null&&(this._oscillator.type=e);else{const i=this._getCachedPeriodicWave();if(pe(i)){const{partials:o,wave:a}=i;this._wave=a,this._partials=o,this._oscillator!==null&&this._oscillator.setPeriodicWave(this._wave)}else{const[o,a]=this._getRealImaginary(e,this._phase),s=this.context.createPeriodicWave(o,a);this._wave=s,this._oscillator!==null&&this._oscillator.setPeriodicWave(this._wave),nt._periodicWaveCache.push({imag:a,partialCount:this._partialCount,partials:this._partials,phase:this._phase,real:o,type:this._type,wave:this._wave}),nt._periodicWaveCache.length>100&&nt._periodicWaveCache.shift()}}}get baseType(){return this._type.replace(this.partialCount.toString(),"")}set baseType(e){this.partialCount&&this._type!=="custom"&&e!=="custom"?this.type=e+this.partialCount:this.type=e}get partialCount(){return this._partialCount}set partialCount(e){un(e,0);let n=this._type;const i=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(this._type);if(i&&(n=i[1]),this._type!=="custom")e===0?this.type=n:this.type=n+e.toString();else{const o=new Float32Array(e);this._partials.forEach((a,s)=>o[s]=a),this._partials=Array.from(o),this.type=this._type}}_getRealImaginary(e,n){let o=2048;const a=new Float32Array(o),s=new Float32Array(o);let A=1;if(e==="custom"){if(A=this._partials.length+1,this._partialCount=this._partials.length,o=A,this._partials.length===0)return[a,s]}else{const r=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(e);r?(A=parseInt(r[2],10)+1,this._partialCount=parseInt(r[2],10),e=r[1],A=Math.max(A,2),o=A):this._partialCount=0,this._partials=[]}for(let r=1;r>1&1?-1:1):l=0,this._partials[r-1]=l;break;case"custom":l=this._partials[r-1];break;default:throw new TypeError("Oscillator: invalid type: "+e)}l!==0?(a[r]=-l*Math.sin(n*r),s[r]=l*Math.cos(n*r)):(a[r]=0,s[r]=0)}return[a,s]}_inverseFFT(e,n,i){let o=0;const a=e.length;for(let s=0;s(e+1)/2}),this.input=this._norm,this.output=this._norm}dispose(){return super.dispose(),this._norm.dispose(),this}}class It extends be{constructor(){const e=L(It.getDefaults(),arguments,["value"]);super(e),this.name="Multiply",this.override=!1,this._mult=this.input=this.output=new ue({context:this.context,minValue:e.minValue,maxValue:e.maxValue}),this.factor=this._param=this._mult.gain,this.factor.setValueAtTime(e.value,0)}static getDefaults(){return Object.assign(be.getDefaults(),{value:0})}dispose(){return super.dispose(),this._mult.dispose(),this}}class Lr extends Ct{constructor(){const e=L(Lr.getDefaults(),arguments,["frequency","type","modulationType"]);super(e),this.name="AMOscillator",this._modulationScale=new RI({context:this.context}),this._modulationNode=new ue({context:this.context}),this._carrier=new nt({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase,type:e.type}),this.frequency=this._carrier.frequency,this.detune=this._carrier.detune,this._modulator=new nt({context:this.context,phase:e.phase,type:e.modulationType}),this.harmonicity=new It({context:this.context,units:"positive",value:e.harmonicity}),this.frequency.chain(this.harmonicity,this._modulator.frequency),this._modulator.chain(this._modulationScale,this._modulationNode.gain),this._carrier.chain(this._modulationNode,this.output),Ee(this,["frequency","detune","harmonicity"])}static getDefaults(){return Object.assign(nt.getDefaults(),{harmonicity:1,modulationType:"square"})}_start(e){this._modulator.start(e),this._carrier.start(e)}_stop(e){this._modulator.stop(e),this._carrier.stop(e)}_restart(e){this._modulator.restart(e),this._carrier.restart(e)}get type(){return this._carrier.type}set type(e){this._carrier.type=e}get baseType(){return this._carrier.baseType}set baseType(e){this._carrier.baseType=e}get partialCount(){return this._carrier.partialCount}set partialCount(e){this._carrier.partialCount=e}get modulationType(){return this._modulator.type}set modulationType(e){this._modulator.type=e}get phase(){return this._carrier.phase}set phase(e){this._carrier.phase=e,this._modulator.phase=e}get partials(){return this._carrier.partials}set partials(e){this._carrier.partials=e}asArray(){return qe(this,arguments,void 0,function*(e=1024){return So(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.detune.dispose(),this.harmonicity.dispose(),this._carrier.dispose(),this._modulator.dispose(),this._modulationNode.dispose(),this._modulationScale.dispose(),this}}class Kr extends Ct{constructor(){const e=L(Kr.getDefaults(),arguments,["frequency","type","modulationType"]);super(e),this.name="FMOscillator",this._modulationNode=new ue({context:this.context,gain:0}),this._carrier=new nt({context:this.context,detune:e.detune,frequency:0,onstop:()=>this.onstop(this),phase:e.phase,type:e.type}),this.detune=this._carrier.detune,this.frequency=new be({context:this.context,units:"frequency",value:e.frequency}),this._modulator=new nt({context:this.context,phase:e.phase,type:e.modulationType}),this.harmonicity=new It({context:this.context,units:"positive",value:e.harmonicity}),this.modulationIndex=new It({context:this.context,units:"positive",value:e.modulationIndex}),this.frequency.connect(this._carrier.frequency),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.frequency.chain(this.modulationIndex,this._modulationNode),this._modulator.connect(this._modulationNode.gain),this._modulationNode.connect(this._carrier.frequency),this._carrier.connect(this.output),this.detune.connect(this._modulator.detune),Ee(this,["modulationIndex","frequency","detune","harmonicity"])}static getDefaults(){return Object.assign(nt.getDefaults(),{harmonicity:1,modulationIndex:2,modulationType:"square"})}_start(e){this._modulator.start(e),this._carrier.start(e)}_stop(e){this._modulator.stop(e),this._carrier.stop(e)}_restart(e){return this._modulator.restart(e),this._carrier.restart(e),this}get type(){return this._carrier.type}set type(e){this._carrier.type=e}get baseType(){return this._carrier.baseType}set baseType(e){this._carrier.baseType=e}get partialCount(){return this._carrier.partialCount}set partialCount(e){this._carrier.partialCount=e}get modulationType(){return this._modulator.type}set modulationType(e){this._modulator.type=e}get phase(){return this._carrier.phase}set phase(e){this._carrier.phase=e,this._modulator.phase=e}get partials(){return this._carrier.partials}set partials(e){this._carrier.partials=e}asArray(){return qe(this,arguments,void 0,function*(e=1024){return So(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.harmonicity.dispose(),this._carrier.dispose(),this._modulator.dispose(),this._modulationNode.dispose(),this.modulationIndex.dispose(),this}}class Os extends Ct{constructor(){const e=L(Os.getDefaults(),arguments,["frequency","width"]);super(e),this.name="PulseOscillator",this._widthGate=new ue({context:this.context,gain:0}),this._thresh=new zi({context:this.context,mapping:n=>n<=0?-1:1}),this.width=new be({context:this.context,units:"audioRange",value:e.width}),this._triangle=new nt({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase,type:"triangle"}),this.frequency=this._triangle.frequency,this.detune=this._triangle.detune,this._triangle.chain(this._thresh,this.output),this.width.chain(this._widthGate,this._thresh),Ee(this,["width","frequency","detune"])}static getDefaults(){return Object.assign(Ct.getDefaults(),{detune:0,frequency:440,phase:0,type:"pulse",width:.2})}_start(e){e=this.toSeconds(e),this._triangle.start(e),this._widthGate.gain.setValueAtTime(1,e)}_stop(e){e=this.toSeconds(e),this._triangle.stop(e),this._widthGate.gain.cancelScheduledValues(e),this._widthGate.gain.setValueAtTime(0,e)}_restart(e){this._triangle.restart(e),this._widthGate.gain.cancelScheduledValues(e),this._widthGate.gain.setValueAtTime(1,e)}get phase(){return this._triangle.phase}set phase(e){this._triangle.phase=e}get type(){return"pulse"}get baseType(){return"pulse"}get partials(){return[]}get partialCount(){return 0}set carrierType(e){this._triangle.type=e}asArray(){return qe(this,arguments,void 0,function*(e=1024){return So(this,e)})}dispose(){return super.dispose(),this._triangle.dispose(),this.width.dispose(),this._widthGate.dispose(),this._thresh.dispose(),this}}class qr extends Ct{constructor(){const e=L(qr.getDefaults(),arguments,["frequency","type","spread"]);super(e),this.name="FatOscillator",this._oscillators=[],this.frequency=new be({context:this.context,units:"frequency",value:e.frequency}),this.detune=new be({context:this.context,units:"cents",value:e.detune}),this._spread=e.spread,this._type=e.type,this._phase=e.phase,this._partials=e.partials,this._partialCount=e.partialCount,this.count=e.count,Ee(this,["frequency","detune"])}static getDefaults(){return Object.assign(nt.getDefaults(),{count:3,spread:20,type:"sawtooth"})}_start(e){e=this.toSeconds(e),this._forEach(n=>n.start(e))}_stop(e){e=this.toSeconds(e),this._forEach(n=>n.stop(e))}_restart(e){this._forEach(n=>n.restart(e))}_forEach(e){for(let n=0;nn.type=e)}get spread(){return this._spread}set spread(e){if(this._spread=e,this._oscillators.length>1){const n=-e/2,i=e/(this._oscillators.length-1);this._forEach((o,a)=>o.detune.value=n+i*a)}}get count(){return this._oscillators.length}set count(e){if(un(e,1),this._oscillators.length!==e){this._forEach(n=>n.dispose()),this._oscillators=[];for(let n=0;nthis.onstop(this):Ne});this.type==="custom"&&(i.partials=this._partials),this.frequency.connect(i.frequency),this.detune.connect(i.detune),i.detune.overridden=!1,i.connect(this.output),this._oscillators[n]=i}this.spread=this._spread,this.state==="started"&&this._forEach(n=>n.start())}}get phase(){return this._phase}set phase(e){this._phase=e,this._forEach((n,i)=>n.phase=this._phase+i/this.count*360)}get baseType(){return this._oscillators[0].baseType}set baseType(e){this._forEach(n=>n.baseType=e),this._type=this._oscillators[0].type}get partials(){return this._oscillators[0].partials}set partials(e){this._partials=e,this._partialCount=this._partials.length,e.length&&(this._type="custom",this._forEach(n=>n.partials=e))}get partialCount(){return this._oscillators[0].partialCount}set partialCount(e){this._partialCount=e,this._forEach(n=>n.partialCount=e),this._type=this._oscillators[0].type}asArray(){return qe(this,arguments,void 0,function*(e=1024){return So(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.detune.dispose(),this._forEach(e=>e.dispose()),this}}class jr extends Ct{constructor(){const e=L(jr.getDefaults(),arguments,["frequency","modulationFrequency"]);super(e),this.name="PWMOscillator",this.sourceType="pwm",this._scale=new It({context:this.context,value:2}),this._pulse=new Os({context:this.context,frequency:e.modulationFrequency}),this._pulse.carrierType="sine",this.modulationFrequency=this._pulse.frequency,this._modulator=new nt({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase}),this.frequency=this._modulator.frequency,this.detune=this._modulator.detune,this._modulator.chain(this._scale,this._pulse.width),this._pulse.connect(this.output),Ee(this,["modulationFrequency","frequency","detune"])}static getDefaults(){return Object.assign(Ct.getDefaults(),{detune:0,frequency:440,modulationFrequency:.4,phase:0,type:"pwm"})}_start(e){e=this.toSeconds(e),this._modulator.start(e),this._pulse.start(e)}_stop(e){e=this.toSeconds(e),this._modulator.stop(e),this._pulse.stop(e)}_restart(e){this._modulator.restart(e),this._pulse.restart(e)}get type(){return"pwm"}get baseType(){return"pwm"}get partials(){return[]}get partialCount(){return 0}get phase(){return this._modulator.phase}set phase(e){this._modulator.phase=e}asArray(){return qe(this,arguments,void 0,function*(e=1024){return So(this,e)})}dispose(){return super.dispose(),this._pulse.dispose(),this._scale.dispose(),this._modulator.dispose(),this}}const ud={am:Lr,fat:qr,fm:Kr,oscillator:nt,pulse:Os,pwm:jr};class qi extends Ct{constructor(){const e=L(qi.getDefaults(),arguments,["frequency","type"]);super(e),this.name="OmniOscillator",this.frequency=new be({context:this.context,units:"frequency",value:e.frequency}),this.detune=new be({context:this.context,units:"cents",value:e.detune}),Ee(this,["frequency","detune"]),this.set(e)}static getDefaults(){return Object.assign(nt.getDefaults(),Kr.getDefaults(),Lr.getDefaults(),qr.getDefaults(),Os.getDefaults(),jr.getDefaults())}_start(e){this._oscillator.start(e)}_stop(e){this._oscillator.stop(e)}_restart(e){return this._oscillator.restart(e),this}get type(){let e="";return["am","fm","fat"].some(n=>this._sourceType===n)&&(e=this._sourceType),e+this._oscillator.type}set type(e){e.substr(0,2)==="fm"?(this._createNewOscillator("fm"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(2)):e.substr(0,2)==="am"?(this._createNewOscillator("am"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(2)):e.substr(0,3)==="fat"?(this._createNewOscillator("fat"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(3)):e==="pwm"?(this._createNewOscillator("pwm"),this._oscillator=this._oscillator):e==="pulse"?this._createNewOscillator("pulse"):(this._createNewOscillator("oscillator"),this._oscillator=this._oscillator,this._oscillator.type=e)}get partials(){return this._oscillator.partials}set partials(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&(this._oscillator.partials=e)}get partialCount(){return this._oscillator.partialCount}set partialCount(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&(this._oscillator.partialCount=e)}set(e){return Reflect.has(e,"type")&&e.type&&(this.type=e.type),super.set(e),this}_createNewOscillator(e){if(e!==this._sourceType){this._sourceType=e;const n=ud[e],i=this.now();if(this._oscillator){const o=this._oscillator;o.stop(i),this.context.setTimeout(()=>o.dispose(),this.blockTime)}this._oscillator=new n({context:this.context}),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),this._oscillator.connect(this.output),this._oscillator.onstop=()=>this.onstop(this),this.state==="started"&&this._oscillator.start(i)}}get phase(){return this._oscillator.phase}set phase(e){this._oscillator.phase=e}get sourceType(){return this._sourceType}set sourceType(e){let n="sine";this._oscillator.type!=="pwm"&&this._oscillator.type!=="pulse"&&(n=this._oscillator.type),e==="fm"?this.type="fm"+n:e==="am"?this.type="am"+n:e==="fat"?this.type="fat"+n:e==="oscillator"?this.type=n:e==="pulse"?this.type="pulse":e==="pwm"&&(this.type="pwm")}_getOscType(e,n){return e instanceof ud[n]}get baseType(){return this._oscillator.baseType}set baseType(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&e!=="pulse"&&e!=="pwm"&&(this._oscillator.baseType=e)}get width(){if(this._getOscType(this._oscillator,"pulse"))return this._oscillator.width}get count(){if(this._getOscType(this._oscillator,"fat"))return this._oscillator.count}set count(e){this._getOscType(this._oscillator,"fat")&&dn(e)&&(this._oscillator.count=e)}get spread(){if(this._getOscType(this._oscillator,"fat"))return this._oscillator.spread}set spread(e){this._getOscType(this._oscillator,"fat")&&dn(e)&&(this._oscillator.spread=e)}get modulationType(){if(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))return this._oscillator.modulationType}set modulationType(e){(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))&&zn(e)&&(this._oscillator.modulationType=e)}get modulationIndex(){if(this._getOscType(this._oscillator,"fm"))return this._oscillator.modulationIndex}get harmonicity(){if(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))return this._oscillator.harmonicity}get modulationFrequency(){if(this._getOscType(this._oscillator,"pwm"))return this._oscillator.modulationFrequency}asArray(){return qe(this,arguments,void 0,function*(e=1024){return So(this,e)})}dispose(){return super.dispose(),this.detune.dispose(),this.frequency.dispose(),this._oscillator.dispose(),this}}class Vs extends be{constructor(){super(L(Vs.getDefaults(),arguments,["value"])),this.override=!1,this.name="Add",this._sum=new ue({context:this.context}),this.input=this._sum,this.output=this._sum,this.addend=this._param,Wn(this._constantSource,this._sum)}static getDefaults(){return Object.assign(be.getDefaults(),{value:0})}dispose(){return super.dispose(),this._sum.dispose(),this}}class Pr extends $t{constructor(){const e=L(Pr.getDefaults(),arguments,["min","max"]);super(e),this.name="Scale",this._mult=this.input=new It({context:this.context,value:e.max-e.min}),this._add=this.output=new Vs({context:this.context,value:e.min}),this._min=e.min,this._max=e.max,this.input.connect(this.output)}static getDefaults(){return Object.assign($t.getDefaults(),{max:1,min:0})}get min(){return this._min}set min(e){this._min=e,this._setRange()}get max(){return this._max}set max(e){this._max=e,this._setRange()}_setRange(){this._add.value=this._min,this._mult.value=this._max-this._min}dispose(){return super.dispose(),this._add.dispose(),this._mult.dispose(),this}}class Pc extends $t{constructor(){super(L(Pc.getDefaults(),arguments)),this.name="Zero",this._gain=new ue({context:this.context}),this.output=this._gain,this.input=void 0,Xt(this.context.getConstant(0),this._gain)}dispose(){return super.dispose(),SI(this.context.getConstant(0),this._gain),this}}class Hc extends j{constructor(){const e=L(Hc.getDefaults(),arguments,["frequency","min","max"]);super(e),this.name="LFO",this._stoppedValue=0,this._units="number",this.convert=!0,this._fromType=fe.prototype._fromType,this._toType=fe.prototype._toType,this._is=fe.prototype._is,this._clampValue=fe.prototype._clampValue,this._oscillator=new nt(e),this.frequency=this._oscillator.frequency,this._amplitudeGain=new ue({context:this.context,gain:e.amplitude,units:"normalRange"}),this.amplitude=this._amplitudeGain.gain,this._stoppedSignal=new be({context:this.context,units:"audioRange",value:0}),this._zeros=new Pc({context:this.context}),this._a2g=new RI({context:this.context}),this._scaler=this.output=new Pr({context:this.context,max:e.max,min:e.min}),this.units=e.units,this.min=e.min,this.max=e.max,this._oscillator.chain(this._amplitudeGain,this._a2g,this._scaler),this._zeros.connect(this._a2g),this._stoppedSignal.connect(this._a2g),Ee(this,["amplitude","frequency"]),this.phase=e.phase}static getDefaults(){return Object.assign(nt.getDefaults(),{amplitude:1,frequency:"4n",max:1,min:0,type:"sine",units:"number"})}start(e){return e=this.toSeconds(e),this._stoppedSignal.setValueAtTime(0,e),this._oscillator.start(e),this}stop(e){return e=this.toSeconds(e),this._stoppedSignal.setValueAtTime(this._stoppedValue,e),this._oscillator.stop(e),this}sync(){return this._oscillator.sync(),this._oscillator.syncFrequency(),this}unsync(){return this._oscillator.unsync(),this._oscillator.unsyncFrequency(),this}_setStoppedValue(){this._stoppedValue=this._oscillator.getInitialValue(),this._stoppedSignal.value=this._stoppedValue}get min(){return this._toType(this._scaler.min)}set min(e){e=this._fromType(e),this._scaler.min=e}get max(){return this._toType(this._scaler.max)}set max(e){e=this._fromType(e),this._scaler.max=e}get type(){return this._oscillator.type}set type(e){this._oscillator.type=e,this._setStoppedValue()}get partials(){return this._oscillator.partials}set partials(e){this._oscillator.partials=e,this._setStoppedValue()}get phase(){return this._oscillator.phase}set phase(e){this._oscillator.phase=e,this._setStoppedValue()}get units(){return this._units}set units(e){const n=this.min,i=this.max;this._units=e,this.min=n,this.max=i}get state(){return this._oscillator.state}connect(e,n,i){return(e instanceof fe||e instanceof be)&&(this.convert=e.convert,this.units=e.units),Ur(this,e,n,i),this}dispose(){return super.dispose(),this._oscillator.dispose(),this._stoppedSignal.dispose(),this._zeros.dispose(),this._scaler.dispose(),this._a2g.dispose(),this._amplitudeGain.dispose(),this.amplitude.dispose(),this}}function TI(t,e=1/0){const n=new WeakMap;return function(i,o){Reflect.defineProperty(i,o,{configurable:!0,enumerable:!0,get:function(){return n.get(this)},set:function(a){un(a,t,e),n.set(this,a)}})}}function Ci(t,e=1/0){const n=new WeakMap;return function(i,o){Reflect.defineProperty(i,o,{configurable:!0,enumerable:!0,get:function(){return n.get(this)},set:function(a){un(this.toSeconds(a),t,e),n.set(this,a)}})}}class Hr extends Ct{constructor(){const e=L(Hr.getDefaults(),arguments,["url","onload"]);super(e),this.name="Player",this._activeSources=new Set,this._buffer=new Ge({onload:this._onload.bind(this,e.onload),onerror:e.onerror,reverse:e.reverse,url:e.url}),this.autostart=e.autostart,this._loop=e.loop,this._loopStart=e.loopStart,this._loopEnd=e.loopEnd,this._playbackRate=e.playbackRate,this.fadeIn=e.fadeIn,this.fadeOut=e.fadeOut}static getDefaults(){return Object.assign(Ct.getDefaults(),{autostart:!1,fadeIn:0,fadeOut:0,loop:!1,loopEnd:0,loopStart:0,onload:Ne,onerror:Ne,playbackRate:1,reverse:!1})}load(e){return qe(this,void 0,void 0,function*(){return yield this._buffer.load(e),this._onload(),this})}_onload(e=Ne){e(),this.autostart&&this.start()}_onSourceEnd(e){this.onstop(this),this._activeSources.delete(e),this._activeSources.size===0&&!this._synced&&this._state.getValueAtTime(this.now())==="started"&&(this._state.cancel(this.now()),this._state.setStateAtTime("stopped",this.now()))}start(e,n,i){return super.start(e,n,i),this}_start(e,n,i){this._loop?n=qn(n,this._loopStart):n=qn(n,0);const o=this.toSeconds(n),a=i;i=qn(i,Math.max(this._buffer.duration-o,0));let s=this.toSeconds(i);s=s/this._playbackRate,e=this.toSeconds(e);const A=new Hs({url:this._buffer,context:this.context,fadeIn:this.fadeIn,fadeOut:this.fadeOut,loop:this._loop,loopEnd:this._loopEnd,loopStart:this._loopStart,onended:this._onSourceEnd.bind(this),playbackRate:this._playbackRate}).connect(this.output);!this._loop&&!this._synced&&(this._state.cancel(e+s),this._state.setStateAtTime("stopped",e+s,{implicitEnd:!0})),this._activeSources.add(A),this._loop&&Zt(a)?A.start(e,o):A.start(e,o,s-this.toSeconds(this.fadeOut))}_stop(e){const n=this.toSeconds(e);this._activeSources.forEach(i=>i.stop(n))}restart(e,n,i){return super.restart(e,n,i),this}_restart(e,n,i){var o;(o=[...this._activeSources].pop())===null||o===void 0||o.stop(e),this._start(e,n,i)}seek(e,n){const i=this.toSeconds(n);if(this._state.getValueAtTime(i)==="started"){const o=this.toSeconds(e);this._stop(i),this._start(i,o)}return this}setLoopPoints(e,n){return this.loopStart=e,this.loopEnd=n,this}get loopStart(){return this._loopStart}set loopStart(e){this._loopStart=e,this.buffer.loaded&&un(this.toSeconds(e),0,this.buffer.duration),this._activeSources.forEach(n=>{n.loopStart=e})}get loopEnd(){return this._loopEnd}set loopEnd(e){this._loopEnd=e,this.buffer.loaded&&un(this.toSeconds(e),0,this.buffer.duration),this._activeSources.forEach(n=>{n.loopEnd=e})}get buffer(){return this._buffer}set buffer(e){this._buffer.set(e)}get loop(){return this._loop}set loop(e){if(this._loop!==e&&(this._loop=e,this._activeSources.forEach(n=>{n.loop=e}),e)){const n=this._state.getNextState("stopped",this.now());n&&this._state.cancel(n.time)}}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e;const n=this.now(),i=this._state.getNextState("stopped",n);i&&i.implicitEnd&&(this._state.cancel(i.time),this._activeSources.forEach(o=>o.cancelStop())),this._activeSources.forEach(o=>{o.playbackRate.setValueAtTime(e,n)})}get reverse(){return this._buffer.reverse}set reverse(e){this._buffer.reverse=e}get loaded(){return this._buffer.loaded}dispose(){return super.dispose(),this._activeSources.forEach(e=>e.dispose()),this._activeSources.clear(),this._buffer.dispose(),this}}Rn([Ci(0)],Hr.prototype,"fadeIn",void 0);Rn([Ci(0)],Hr.prototype,"fadeOut",void 0);class nD extends $t{constructor(){super(...arguments),this.name="Abs",this._abs=new zi({context:this.context,mapping:e=>Math.abs(e)<.001?0:Math.abs(e)}),this.input=this._abs,this.output=this._abs}dispose(){return super.dispose(),this._abs.dispose(),this}}class iD extends $t{constructor(){super(...arguments),this.name="GainToAudio",this._norm=new zi({context:this.context,mapping:e=>Math.abs(e)*2-1}),this.input=this._norm,this.output=this._norm}dispose(){return super.dispose(),this._norm.dispose(),this}}class oD extends $t{constructor(){super(...arguments),this.name="Negate",this._multiply=new It({context:this.context,value:-1}),this.input=this._multiply,this.output=this._multiply}dispose(){return super.dispose(),this._multiply.dispose(),this}}class ka extends be{constructor(){super(L(ka.getDefaults(),arguments,["value"])),this.override=!1,this.name="Subtract",this._sum=new ue({context:this.context}),this.input=this._sum,this.output=this._sum,this._neg=new oD({context:this.context}),this.subtrahend=this._param,Wn(this._constantSource,this._neg,this._sum)}static getDefaults(){return Object.assign(be.getDefaults(),{value:0})}dispose(){return super.dispose(),this._neg.dispose(),this._sum.dispose(),this}}class Oc extends $t{constructor(){super(L(Oc.getDefaults(),arguments)),this.name="GreaterThanZero",this._thresh=this.output=new zi({context:this.context,length:127,mapping:e=>e<=0?0:1}),this._scale=this.input=new It({context:this.context,value:1e4}),this._scale.connect(this._thresh)}dispose(){return super.dispose(),this._scale.dispose(),this._thresh.dispose(),this}}class Vc extends be{constructor(){const e=L(Vc.getDefaults(),arguments,["value"]);super(e),this.name="GreaterThan",this.override=!1,this._subtract=this.input=new ka({context:this.context,value:e.value}),this._gtz=this.output=new Oc({context:this.context}),this.comparator=this._param=this._subtract.subtrahend,Ee(this,"comparator"),this._subtract.connect(this._gtz)}static getDefaults(){return Object.assign(be.getDefaults(),{value:0})}dispose(){return super.dispose(),this._gtz.dispose(),this._subtract.dispose(),this.comparator.dispose(),this}}class Ot extends j{constructor(){const e=L(Ot.getDefaults(),arguments,["attack","decay","sustain","release"]);super(e),this.name="Envelope",this._sig=new be({context:this.context,value:0}),this.output=this._sig,this.input=void 0,this.attack=e.attack,this.decay=e.decay,this.sustain=e.sustain,this.release=e.release,this.attackCurve=e.attackCurve,this.releaseCurve=e.releaseCurve,this.decayCurve=e.decayCurve}static getDefaults(){return Object.assign(j.getDefaults(),{attack:.01,attackCurve:"linear",decay:.1,decayCurve:"exponential",release:1,releaseCurve:"exponential",sustain:.5})}get value(){return this.getValueAtTime(this.now())}_getCurve(e,n){if(zn(e))return e;{let i;for(i in sA)if(sA[i][n]===e)return i;return e}}_setCurve(e,n,i){if(zn(i)&&Reflect.has(sA,i)){const o=sA[i];Ri(o)?e!=="_decayCurve"&&(this[e]=o[n]):this[e]=o}else if(Rt(i)&&e!=="_decayCurve")this[e]=i;else throw new Error("Envelope: invalid curve: "+i)}get attackCurve(){return this._getCurve(this._attackCurve,"In")}set attackCurve(e){this._setCurve("_attackCurve","In",e)}get releaseCurve(){return this._getCurve(this._releaseCurve,"Out")}set releaseCurve(e){this._setCurve("_releaseCurve","Out",e)}get decayCurve(){return this._getCurve(this._decayCurve,"Out")}set decayCurve(e){this._setCurve("_decayCurve","Out",e)}triggerAttack(e,n=1){this.log("triggerAttack",e,n),e=this.toSeconds(e);let o=this.toSeconds(this.attack);const a=this.toSeconds(this.decay),s=this.getValueAtTime(e);if(s>0){const A=1/o;o=(1-s)/A}if(o0){const i=this.toSeconds(this.release);i{let e,n;const i=[];for(e=0;e<128;e++)i[e]=Math.sin(e/127*(Math.PI/2));const o=[],a=6.4;for(e=0;e<127;e++){n=e/127;const g=Math.sin(n*(Math.PI*2)*a-Math.PI/2)+1;o[e]=g/10+n*.83}o[127]=1;const s=[],A=5;for(e=0;e<128;e++)s[e]=Math.ceil(e/127*A)/A;const r=[];for(e=0;e<128;e++)n=e/127,r[e]=.5*(1-Math.cos(Math.PI*n));const h=[];for(e=0;e<128;e++){n=e/127;const g=Math.pow(n,3)*4+.2,d=Math.cos(g*Math.PI*2*n);h[e]=Math.abs(d*(1-n))}function l(g){const d=new Array(g.length);for(let u=0;uthis._original_triggerRelease(n),this._volume=this.output=new Vi({context:this.context,volume:e.volume}),this.volume=this._volume.volume,Ee(this,"volume")}static getDefaults(){return Object.assign(j.getDefaults(),{volume:0})}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",0),this.context.transport.on("stop",this._syncedRelease),this.context.transport.on("pause",this._syncedRelease),this.context.transport.on("loopEnd",this._syncedRelease)),this}_syncState(){let e=!1;return this._synced||(this._synced=!0,e=!0),e}_syncMethod(e,n){const i=this["_original_"+e]=this[e];this[e]=(...o)=>{const a=o[n],s=this.context.transport.schedule(A=>{o[n]=A,i.apply(this,o)},a);this._scheduledEvents.push(s)}}unsync(){return this._scheduledEvents.forEach(e=>this.context.transport.clear(e)),this._scheduledEvents=[],this._synced&&(this._synced=!1,this.triggerAttack=this._original_triggerAttack,this.triggerRelease=this._original_triggerRelease,this.context.transport.off("stop",this._syncedRelease),this.context.transport.off("pause",this._syncedRelease),this.context.transport.off("loopEnd",this._syncedRelease)),this}triggerAttackRelease(e,n,i,o){const a=this.toSeconds(i),s=this.toSeconds(n);return this.triggerAttack(e,a,o),this.triggerRelease(a+s),this}dispose(){return super.dispose(),this._volume.dispose(),this.unsync(),this._scheduledEvents=[],this}};class Mn extends Zn{constructor(){const e=L(Mn.getDefaults(),arguments);super(e),this.portamento=e.portamento,this.onsilence=e.onsilence}static getDefaults(){return Object.assign(Zn.getDefaults(),{detune:0,onsilence:Ne,portamento:0})}triggerAttack(e,n,i=1){this.log("triggerAttack",e,n,i);const o=this.toSeconds(n);return this._triggerEnvelopeAttack(o,i),this.setNote(e,o),this}triggerRelease(e){this.log("triggerRelease",e);const n=this.toSeconds(e);return this._triggerEnvelopeRelease(n),this}setNote(e,n){const i=this.toSeconds(n),o=e instanceof Pt?e.toFrequency():e;if(this.portamento>0&&this.getLevelAtTime(i)>.05){const a=this.toSeconds(this.portamento);this.frequency.exponentialRampTo(o,a,i)}else this.frequency.setValueAtTime(o,i);return this}}Rn([Ci(0)],Mn.prototype,"portamento",void 0);class zs extends Ot{constructor(){super(L(zs.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="AmplitudeEnvelope",this._gainNode=new ue({context:this.context,gain:0}),this.output=this._gainNode,this.input=this._gainNode,this._sig.connect(this._gainNode.gain),this.output=this._gainNode,this.input=this._gainNode}dispose(){return super.dispose(),this._gainNode.dispose(),this}}class Eo extends Mn{constructor(){const e=L(Eo.getDefaults(),arguments);super(e),this.name="Synth",this.oscillator=new qi(Object.assign({context:this.context,detune:e.detune,onstop:()=>this.onsilence(this)},e.oscillator)),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.envelope=new zs(Object.assign({context:this.context},e.envelope)),this.oscillator.chain(this.envelope,this.output),Ee(this,["oscillator","frequency","detune","envelope"])}static getDefaults(){return Object.assign(Mn.getDefaults(),{envelope:Object.assign(jt(Ot.getDefaults(),Object.keys(j.getDefaults())),{attack:.005,decay:.1,release:1,sustain:.3}),oscillator:Object.assign(jt(qi.getDefaults(),[...Object.keys(Ct.getDefaults()),"frequency","detune"]),{type:"triangle"})})}_triggerEnvelopeAttack(e,n){if(this.envelope.triggerAttack(e,n),this.oscillator.start(e),this.envelope.sustain===0){const i=this.toSeconds(this.envelope.attack),o=this.toSeconds(this.envelope.decay);this.oscillator.stop(e+i+o)}}_triggerEnvelopeRelease(e){this.envelope.triggerRelease(e),this.oscillator.stop(e+this.toSeconds(this.envelope.release))}getLevelAtTime(e){return e=this.toSeconds(e),this.envelope.getValueAtTime(e)}dispose(){return super.dispose(),this.oscillator.dispose(),this.envelope.dispose(),this}}class OA extends Mn{constructor(){const e=L(OA.getDefaults(),arguments);super(e),this.name="ModulationSynth",this._carrier=new Eo({context:this.context,oscillator:e.oscillator,envelope:e.envelope,onsilence:()=>this.onsilence(this),volume:-10}),this._modulator=new Eo({context:this.context,oscillator:e.modulation,envelope:e.modulationEnvelope,volume:-10}),this.oscillator=this._carrier.oscillator,this.envelope=this._carrier.envelope,this.modulation=this._modulator.oscillator,this.modulationEnvelope=this._modulator.envelope,this.frequency=new be({context:this.context,units:"frequency"}),this.detune=new be({context:this.context,value:e.detune,units:"cents"}),this.harmonicity=new It({context:this.context,value:e.harmonicity,minValue:0}),this._modulationNode=new ue({context:this.context,gain:0}),Ee(this,["frequency","harmonicity","oscillator","envelope","modulation","modulationEnvelope","detune"])}static getDefaults(){return Object.assign(Mn.getDefaults(),{harmonicity:3,oscillator:Object.assign(jt(qi.getDefaults(),[...Object.keys(Ct.getDefaults()),"frequency","detune"]),{type:"sine"}),envelope:Object.assign(jt(Ot.getDefaults(),Object.keys(j.getDefaults())),{attack:.01,decay:.01,sustain:1,release:.5}),modulation:Object.assign(jt(qi.getDefaults(),[...Object.keys(Ct.getDefaults()),"frequency","detune"]),{type:"square"}),modulationEnvelope:Object.assign(jt(Ot.getDefaults(),Object.keys(j.getDefaults())),{attack:.5,decay:0,sustain:1,release:.5})})}_triggerEnvelopeAttack(e,n){this._carrier._triggerEnvelopeAttack(e,n),this._modulator._triggerEnvelopeAttack(e,n)}_triggerEnvelopeRelease(e){return this._carrier._triggerEnvelopeRelease(e),this._modulator._triggerEnvelopeRelease(e),this}getLevelAtTime(e){return e=this.toSeconds(e),this.envelope.getValueAtTime(e)}dispose(){return super.dispose(),this._carrier.dispose(),this._modulator.dispose(),this.frequency.dispose(),this.detune.dispose(),this.harmonicity.dispose(),this._modulationNode.dispose(),this}}class VA extends j{constructor(){const e=L(VA.getDefaults(),arguments,["frequency","type"]);super(e),this.name="BiquadFilter",this._filter=this.context.createBiquadFilter(),this.input=this.output=this._filter,this.Q=new fe({context:this.context,units:"number",value:e.Q,param:this._filter.Q}),this.frequency=new fe({context:this.context,units:"frequency",value:e.frequency,param:this._filter.frequency}),this.detune=new fe({context:this.context,units:"cents",value:e.detune,param:this._filter.detune}),this.gain=new fe({context:this.context,units:"decibels",convert:!1,value:e.gain,param:this._filter.gain}),this.type=e.type}static getDefaults(){return Object.assign(j.getDefaults(),{Q:1,type:"lowpass",frequency:350,detune:0,gain:0})}get type(){return this._filter.type}set type(e){oe(["lowpass","highpass","bandpass","lowshelf","highshelf","notch","allpass","peaking"].indexOf(e)!==-1,`Invalid filter type: ${e}`),this._filter.type=e}getFrequencyResponse(e=128){const n=new Float32Array(e);for(let s=0;si.type=e)}get rolloff(){return this._rolloff}set rolloff(e){const n=dn(e)?e:parseInt(e,10),i=[-12,-24,-48,-96];let o=i.indexOf(n);oe(o!==-1,`rolloff can only be ${i.join(", ")}`),o+=1,this._rolloff=n,this.input.disconnect(),this._filters.forEach(a=>a.disconnect()),this._filters=new Array(o);for(let a=0;a1);return this._filters.forEach(()=>{n.getFrequencyResponse(e).forEach((a,s)=>i[s]*=a)}),n.dispose(),i}dispose(){return super.dispose(),this._filters.forEach(e=>{e.dispose()}),Gc(this,["detune","frequency","gain","Q"]),this.frequency.dispose(),this.Q.dispose(),this.detune.dispose(),this.gain.dispose(),this}}class zA extends Ot{constructor(){const e=L(zA.getDefaults(),arguments,["attack","decay","sustain","release"]);super(e),this.name="FrequencyEnvelope",this._octaves=e.octaves,this._baseFrequency=this.toFrequency(e.baseFrequency),this._exponent=this.input=new Jr({context:this.context,value:e.exponent}),this._scale=this.output=new Pr({context:this.context,min:this._baseFrequency,max:this._baseFrequency*Math.pow(2,this._octaves)}),this._sig.chain(this._exponent,this._scale)}static getDefaults(){return Object.assign(Ot.getDefaults(),{baseFrequency:200,exponent:1,octaves:4})}get baseFrequency(){return this._baseFrequency}set baseFrequency(e){const n=this.toFrequency(e);un(n,0),this._baseFrequency=n,this._scale.min=this._baseFrequency,this.octaves=this._octaves}get octaves(){return this._octaves}set octaves(e){this._octaves=e,this._scale.max=this._baseFrequency*Math.pow(2,e)}get exponent(){return this._exponent.value}set exponent(e){this._exponent.value=e}dispose(){return super.dispose(),this._exponent.dispose(),this._scale.dispose(),this}}class GI extends Mn{constructor(){const e=L(GI.getDefaults(),arguments);super(e),this.name="MonoSynth",this.oscillator=new qi(Object.assign(e.oscillator,{context:this.context,detune:e.detune,onstop:()=>this.onsilence(this)})),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.filter=new Es(Object.assign(e.filter,{context:this.context})),this.filterEnvelope=new zA(Object.assign(e.filterEnvelope,{context:this.context})),this.envelope=new zs(Object.assign(e.envelope,{context:this.context})),this.oscillator.chain(this.filter,this.envelope,this.output),this.filterEnvelope.connect(this.filter.frequency),Ee(this,["oscillator","frequency","detune","filter","filterEnvelope","envelope"])}static getDefaults(){return Object.assign(Mn.getDefaults(),{envelope:Object.assign(jt(Ot.getDefaults(),Object.keys(j.getDefaults())),{attack:.005,decay:.1,release:1,sustain:.9}),filter:Object.assign(jt(Es.getDefaults(),Object.keys(j.getDefaults())),{Q:1,rolloff:-12,type:"lowpass"}),filterEnvelope:Object.assign(jt(zA.getDefaults(),Object.keys(j.getDefaults())),{attack:.6,baseFrequency:200,decay:.2,exponent:2,octaves:3,release:2,sustain:.5}),oscillator:Object.assign(jt(qi.getDefaults(),Object.keys(Ct.getDefaults())),{type:"sawtooth"})})}_triggerEnvelopeAttack(e,n=1){if(this.envelope.triggerAttack(e,n),this.filterEnvelope.triggerAttack(e),this.oscillator.start(e),this.envelope.sustain===0){const i=this.toSeconds(this.envelope.attack),o=this.toSeconds(this.envelope.decay);this.oscillator.stop(e+i+o)}}_triggerEnvelopeRelease(e){this.envelope.triggerRelease(e),this.filterEnvelope.triggerRelease(e),this.oscillator.stop(e+this.toSeconds(this.envelope.release))}getLevelAtTime(e){return e=this.toSeconds(e),this.envelope.getValueAtTime(e)}dispose(){return super.dispose(),this.oscillator.dispose(),this.envelope.dispose(),this.filterEnvelope.dispose(),this.filter.dispose(),this}}class xI extends OA{constructor(){const e=L(xI.getDefaults(),arguments);super(e),this.name="FMSynth",this.modulationIndex=new It({context:this.context,value:e.modulationIndex}),this.frequency.connect(this._carrier.frequency),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.frequency.chain(this.modulationIndex,this._modulationNode),this.detune.fan(this._carrier.detune,this._modulator.detune),this._modulator.connect(this._modulationNode.gain),this._modulationNode.connect(this._carrier.frequency),this._carrier.connect(this.output)}static getDefaults(){return Object.assign(OA.getDefaults(),{modulationIndex:10})}dispose(){return super.dispose(),this.modulationIndex.dispose(),this}}class Or extends Eo{constructor(){const e=L(Or.getDefaults(),arguments);super(e),this.name="MembraneSynth",this.portamento=0,this.pitchDecay=e.pitchDecay,this.octaves=e.octaves,Ee(this,["oscillator","envelope"])}static getDefaults(){return Fi(Mn.getDefaults(),Eo.getDefaults(),{envelope:{attack:.001,attackCurve:"exponential",decay:.4,release:1.4,sustain:.01},octaves:10,oscillator:{type:"sine"},pitchDecay:.05})}setNote(e,n){const i=this.toSeconds(n),o=this.toFrequency(e instanceof Pt?e.toFrequency():e),a=o*this.octaves;return this.oscillator.frequency.setValueAtTime(a,i),this.oscillator.frequency.exponentialRampToValueAtTime(o,i+this.toSeconds(this.pitchDecay)),this}dispose(){return super.dispose(),this}}Rn([TI(0)],Or.prototype,"octaves",void 0);Rn([Ci(0)],Or.prototype,"pitchDecay",void 0);class UI extends Zn{constructor(){const e=L(UI.getDefaults(),arguments);super(e),this.name="NoiseSynth",this.noise=new Bo(Object.assign({context:this.context},e.noise)),this.envelope=new zs(Object.assign({context:this.context},e.envelope)),this.noise.chain(this.envelope,this.output)}static getDefaults(){return Object.assign(Zn.getDefaults(),{envelope:Object.assign(jt(Ot.getDefaults(),Object.keys(j.getDefaults())),{decay:.1,sustain:0}),noise:Object.assign(jt(Bo.getDefaults(),Object.keys(Ct.getDefaults())),{type:"white"})})}triggerAttack(e,n=1){return e=this.toSeconds(e),this.envelope.triggerAttack(e,n),this.noise.start(e),this.envelope.sustain===0&&this.noise.stop(e+this.toSeconds(this.envelope.attack)+this.toSeconds(this.envelope.decay)),this}triggerRelease(e){return e=this.toSeconds(e),this.envelope.triggerRelease(e),this.noise.stop(e+this.toSeconds(this.envelope.release)),this}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",0),this._syncMethod("triggerRelease",0)),this}triggerAttackRelease(e,n,i=1){return n=this.toSeconds(n),e=this.toSeconds(e),this.triggerAttack(n,i),this.triggerRelease(n+e),this}dispose(){return super.dispose(),this.noise.dispose(),this.envelope.dispose(),this}}const zc=new Set;function Wc(t){zc.add(t)}function _I(t,e){const n=`registerProcessor("${t}", ${e})`;zc.add(n)}function aD(){return Array.from(zc).join(` -`)}class ul extends j{constructor(e){super(e),this.name="ToneAudioWorklet",this.workletOptions={},this.onprocessorerror=Ne;const n=URL.createObjectURL(new Blob([aD()],{type:"text/javascript"})),i=this._audioWorkletName();this._dummyGain=this.context.createGain(),this._dummyParam=this._dummyGain.gain,this.context.addAudioWorkletModule(n).then(()=>{this.disposed||(this._worklet=this.context.createAudioWorkletNode(i,this.workletOptions),this._worklet.onprocessorerror=this.onprocessorerror.bind(this),this.onReady(this._worklet))})}dispose(){return super.dispose(),this._dummyGain.disconnect(),this._worklet&&(this._worklet.port.postMessage("dispose"),this._worklet.disconnect()),this}}const sD=` - /** - * The base AudioWorkletProcessor for use in Tone.js. Works with the {@link ToneAudioWorklet}. - */ - class ToneAudioWorkletProcessor extends AudioWorkletProcessor { - - constructor(options) { - - super(options); - /** - * If the processor was disposed or not. Keep alive until it's disposed. - */ - this.disposed = false; - /** - * The number of samples in the processing block - */ - this.blockSize = 128; - /** - * the sample rate - */ - this.sampleRate = sampleRate; - - this.port.onmessage = (event) => { - // when it receives a dispose - if (event.data === "dispose") { - this.disposed = true; - } - }; - } - } -`;Wc(sD);const AD=` - /** - * Abstract class for a single input/output processor. - * has a 'generate' function which processes one sample at a time - */ - class SingleIOProcessor extends ToneAudioWorkletProcessor { - - constructor(options) { - super(Object.assign(options, { - numberOfInputs: 1, - numberOfOutputs: 1 - })); - /** - * Holds the name of the parameter and a single value of that - * parameter at the current sample - * @type { [name: string]: number } - */ - this.params = {} - } - - /** - * Generate an output sample from the input sample and parameters - * @abstract - * @param input number - * @param channel number - * @param parameters { [name: string]: number } - * @returns number - */ - generate(){} - - /** - * Update the private params object with the - * values of the parameters at the given index - * @param parameters { [name: string]: Float32Array }, - * @param index number - */ - updateParams(parameters, index) { - for (const paramName in parameters) { - const param = parameters[paramName]; - if (param.length > 1) { - this.params[paramName] = parameters[paramName][index]; - } else { - this.params[paramName] = parameters[paramName][0]; - } - } - } - - /** - * Process a single frame of the audio - * @param inputs Float32Array[][] - * @param outputs Float32Array[][] - */ - process(inputs, outputs, parameters) { - const input = inputs[0]; - const output = outputs[0]; - // get the parameter values - const channelCount = Math.max(input && input.length || 0, output.length); - for (let sample = 0; sample < this.blockSize; sample++) { - this.updateParams(parameters, sample); - for (let channel = 0; channel < channelCount; channel++) { - const inputSample = input && input.length ? input[channel][sample] : 0; - output[channel][sample] = this.generate(inputSample, channel, this.params); - } - } - return !this.disposed; - } - }; -`;Wc(AD);const rD=` - /** - * A multichannel buffer for use within an AudioWorkletProcessor as a delay line - */ - class DelayLine { - - constructor(size, channels) { - this.buffer = []; - this.writeHead = [] - this.size = size; - - // create the empty channels - for (let i = 0; i < channels; i++) { - this.buffer[i] = new Float32Array(this.size); - this.writeHead[i] = 0; - } - } - - /** - * Push a value onto the end - * @param channel number - * @param value number - */ - push(channel, value) { - this.writeHead[channel] += 1; - if (this.writeHead[channel] > this.size) { - this.writeHead[channel] = 0; - } - this.buffer[channel][this.writeHead[channel]] = value; - } - - /** - * Get the recorded value of the channel given the delay - * @param channel number - * @param delay number delay samples - */ - get(channel, delay) { - let readHead = this.writeHead[channel] - Math.floor(delay); - if (readHead < 0) { - readHead += this.size; - } - return this.buffer[channel][readHead]; - } - } -`;Wc(rD);const JI="feedback-comb-filter",hD=` - class FeedbackCombFilterWorklet extends SingleIOProcessor { - - constructor(options) { - super(options); - this.delayLine = new DelayLine(this.sampleRate, options.channelCount || 2); - } - - static get parameterDescriptors() { - return [{ - name: "delayTime", - defaultValue: 0.1, - minValue: 0, - maxValue: 1, - automationRate: "k-rate" - }, { - name: "feedback", - defaultValue: 0.5, - minValue: 0, - maxValue: 0.9999, - automationRate: "k-rate" - }]; - } - - generate(input, channel, parameters) { - const delayedSample = this.delayLine.get(channel, parameters.delayTime * this.sampleRate); - this.delayLine.push(channel, input + delayedSample * parameters.feedback); - return delayedSample; - } - } -`;_I(JI,hD);class Zc extends ul{constructor(){const e=L(Zc.getDefaults(),arguments,["delayTime","resonance"]);super(e),this.name="FeedbackCombFilter",this.input=new ue({context:this.context}),this.output=new ue({context:this.context}),this.delayTime=new fe({context:this.context,value:e.delayTime,units:"time",minValue:0,maxValue:1,param:this._dummyParam,swappable:!0}),this.resonance=new fe({context:this.context,value:e.resonance,units:"normalRange",param:this._dummyParam,swappable:!0}),Ee(this,["resonance","delayTime"])}_audioWorkletName(){return JI}static getDefaults(){return Object.assign(j.getDefaults(),{delayTime:.1,resonance:.5})}onReady(e){Wn(this.input,e,this.output);const n=e.parameters.get("delayTime");this.delayTime.setParam(n);const i=e.parameters.get("feedback");this.resonance.setParam(i)}dispose(){return super.dispose(),this.input.dispose(),this.output.dispose(),this.delayTime.dispose(),this.resonance.dispose(),this}}class Vr extends j{constructor(){const e=L(Vr.getDefaults(),arguments,["frequency","type"]);super(e),this.name="OnePoleFilter",this._frequency=e.frequency,this._type=e.type,this.input=new ue({context:this.context}),this.output=new ue({context:this.context}),this._createFilter()}static getDefaults(){return Object.assign(j.getDefaults(),{frequency:880,type:"lowpass"})}_createFilter(){const e=this._filter,n=this.toFrequency(this._frequency),i=1/(2*Math.PI*n);if(this._type==="lowpass"){const o=1/(i*this.context.sampleRate),a=o-1;this._filter=this.context.createIIRFilter([o,0],[1,a])}else{const o=1/(i*this.context.sampleRate)-1;this._filter=this.context.createIIRFilter([1,-1],[1,o])}this.input.chain(this._filter,this.output),e&&this.context.setTimeout(()=>{this.disposed||(this.input.disconnect(e),e.disconnect())},this.blockTime)}get frequency(){return this._frequency}set frequency(e){this._frequency=e,this._createFilter()}get type(){return this._type}set type(e){this._type=e,this._createFilter()}getFrequencyResponse(e=128){const n=new Float32Array(e);for(let a=0;athis.releaseAll(o),oe(!dn(e.voice),"DEPRECATED: The polyphony count is no longer the first argument.");const n=e.voice.getDefaults();this.options=Object.assign(n,e.options),this.voice=e.voice,this.maxPolyphony=e.maxPolyphony,this._dummyVoice=this._getNextAvailableVoice();const i=this._voices.indexOf(this._dummyVoice);this._voices.splice(i,1),this._gcTimeout=this.context.setInterval(this._collectGarbage.bind(this),1)}static getDefaults(){return Object.assign(Zn.getDefaults(),{maxPolyphony:32,options:{},voice:Eo})}get activeVoices(){return this._activeVoices.length}_makeVoiceAvailable(e){this._availableVoices.push(e);const n=this._activeVoices.findIndex(i=>i.voice===e);this._activeVoices.splice(n,1)}_getNextAvailableVoice(){if(this._availableVoices.length)return this._availableVoices.shift();if(this._voices.lengthMath.ceil(this._averageActiveVoices+1)){const e=this._availableVoices.shift(),n=this._voices.indexOf(e);this._voices.splice(n,1),this.context.isOffline||e.dispose()}}_triggerAttack(e,n,i){e.forEach(o=>{const a=new Bs(this.context,o).toMidi(),s=this._getNextAvailableVoice();s&&(s.triggerAttack(o,n,i),this._activeVoices.push({midi:a,voice:s,released:!1}),this.log("triggerAttack",o,n))})}_triggerRelease(e,n){e.forEach(i=>{const o=new Bs(this.context,i).toMidi(),a=this._activeVoices.find(({midi:s,released:A})=>s===o&&!A);a&&(a.voice.triggerRelease(n),a.released=!0,this.log("triggerRelease",i,n))})}_scheduleEvent(e,n,i,o){oe(!this.disposed,"Synth was already disposed"),i<=this.now()?e==="attack"?this._triggerAttack(n,i,o):this._triggerRelease(n,i):this.context.setTimeout(()=>{this.disposed||this._scheduleEvent(e,n,i,o)},i-this.now())}triggerAttack(e,n,i){Array.isArray(e)||(e=[e]);const o=this.toSeconds(n);return this._scheduleEvent("attack",e,o,i),this}triggerRelease(e,n){Array.isArray(e)||(e=[e]);const i=this.toSeconds(n);return this._scheduleEvent("release",e,i),this}triggerAttackRelease(e,n,i,o){const a=this.toSeconds(i);if(this.triggerAttack(e,a,o),Rt(n)){oe(Rt(e),"If the duration is an array, the notes must also be an array"),e=e;for(let s=0;s0,"The duration must be greater than 0"),this.triggerRelease(e[s],a+r)}}else{const s=this.toSeconds(n);oe(s>0,"The duration must be greater than 0"),this.triggerRelease(e,a+s)}return this}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1),this.context.transport.on("stop",this._syncedRelease),this.context.transport.on("pause",this._syncedRelease),this.context.transport.on("loopEnd",this._syncedRelease)),this}set(e){const n=jt(e,["onsilence","context"]);return this.options=Fi(this.options,n),this._voices.forEach(i=>i.set(n)),this._dummyVoice.set(n),this}get(){return this._dummyVoice.get()}releaseAll(e){const n=this.toSeconds(e);return this._activeVoices.forEach(({voice:i})=>{i.triggerRelease(n)}),this}dispose(){return super.dispose(),this._dummyVoice.dispose(),this._voices.forEach(e=>e.dispose()),this._activeVoices=[],this._availableVoices=[],this.context.clearInterval(this._gcTimeout),this}}class Ma extends Zn{constructor(){const e=L(Ma.getDefaults(),arguments,["urls","onload","baseUrl"],"urls");super(e),this.name="Sampler",this._activeSources=new Map;const n={};Object.keys(e.urls).forEach(i=>{const o=parseInt(i,10);if(oe(aA(i)||dn(o)&&isFinite(o),`url key is neither a note or midi pitch: ${i}`),aA(i)){const a=new Pt(this.context,i).toMidi();n[a]=e.urls[i]}else dn(o)&&isFinite(o)&&(n[o]=e.urls[o])}),this._buffers=new Kc({urls:n,onload:e.onload,baseUrl:e.baseUrl,onerror:e.onerror}),this.attack=e.attack,this.release=e.release,this.curve=e.curve,this._buffers.loaded&&Promise.resolve().then(e.onload)}static getDefaults(){return Object.assign(Zn.getDefaults(),{attack:0,baseUrl:"",curve:"exponential",onload:Ne,onerror:Ne,release:.1,urls:{}})}_findClosest(e){let i=0;for(;i<96;){if(this._buffers.has(e+i))return-i;if(this._buffers.has(e-i))return i;i++}throw new Error(`No available buffers for note: ${e}`)}triggerAttack(e,n,i=1){return this.log("triggerAttack",e,n,i),Array.isArray(e)||(e=[e]),e.forEach(o=>{const a=MI(new Pt(this.context,o).toFrequency()),s=Math.round(a),A=a-s,r=this._findClosest(s),h=s-r,l=this._buffers.get(h),c=kI(r+A),g=new Hs({url:l,context:this.context,curve:this.curve,fadeIn:this.attack,fadeOut:this.release,playbackRate:c}).connect(this.output);g.start(n,0,l.duration/c,i),Rt(this._activeSources.get(s))||this._activeSources.set(s,[]),this._activeSources.get(s).push(g),g.onended=()=>{if(this._activeSources&&this._activeSources.has(s)){const d=this._activeSources.get(s),u=d.indexOf(g);u!==-1&&d.splice(u,1)}}}),this}triggerRelease(e,n){return this.log("triggerRelease",e,n),Array.isArray(e)||(e=[e]),e.forEach(i=>{const o=new Pt(this.context,i).toMidi();if(this._activeSources.has(o)&&this._activeSources.get(o).length){const a=this._activeSources.get(o);n=this.toSeconds(n),a.forEach(s=>{s.stop(n)}),this._activeSources.set(o,[])}}),this}releaseAll(e){const n=this.toSeconds(e);return this._activeSources.forEach(i=>{for(;i.length;)i.shift().stop(n)}),this}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1)),this}triggerAttackRelease(e,n,i,o=1){const a=this.toSeconds(i);return this.triggerAttack(e,a,o),Rt(n)?(oe(Rt(e),"notes must be an array when duration is array"),e.forEach((s,A)=>{const r=n[Math.min(A,n.length-1)];this.triggerRelease(s,a+this.toSeconds(r))})):this.triggerRelease(e,a+this.toSeconds(n)),this}add(e,n,i){if(oe(aA(e)||isFinite(e),`note must be a pitch or midi: ${e}`),aA(e)){const o=new Pt(this.context,e).toMidi();this._buffers.add(o,n,i)}else this._buffers.add(e,n,i);return this}get loaded(){return this._buffers.loaded}dispose(){return super.dispose(),this._buffers.dispose(),this._activeSources.forEach(e=>{e.forEach(n=>n.dispose())}),this._activeSources.clear(),this}}Rn([Ci(0)],Ma.prototype,"attack",void 0);Rn([Ci(0)],Ma.prototype,"release",void 0);class hi extends bt{constructor(){const e=L(hi.getDefaults(),arguments,["callback","value"]);super(e),this.name="ToneEvent",this._state=new Ps("stopped"),this._startOffset=0,this._loop=e.loop,this.callback=e.callback,this.value=e.value,this._loopStart=this.toTicks(e.loopStart),this._loopEnd=this.toTicks(e.loopEnd),this._playbackRate=e.playbackRate,this._probability=e.probability,this._humanize=e.humanize,this.mute=e.mute,this._playbackRate=e.playbackRate,this._state.increasing=!0,this._rescheduleEvents()}static getDefaults(){return Object.assign(bt.getDefaults(),{callback:Ne,humanize:!1,loop:!1,loopEnd:"1m",loopStart:0,mute:!1,playbackRate:1,probability:1,value:null})}_rescheduleEvents(e=-1){this._state.forEachFrom(e,n=>{let i;if(n.state==="started"){n.id!==-1&&this.context.transport.clear(n.id);const o=n.time+Math.round(this.startOffset/this._playbackRate);if(this._loop===!0||dn(this._loop)&&this._loop>1){i=1/0,dn(this._loop)&&(i=this._loop*this._getLoopDuration());const a=this._state.getAfter(o);a!==null&&(i=Math.min(i,a.time-o)),i!==1/0&&(i=new Xe(this.context,i));const s=new Xe(this.context,this._getLoopDuration());n.id=this.context.transport.scheduleRepeat(this._tick.bind(this),s,new Xe(this.context,o),i)}else n.id=this.context.transport.schedule(this._tick.bind(this),new Xe(this.context,o))}})}get state(){return this._state.getValueAtTime(this.context.transport.ticks)}get startOffset(){return this._startOffset}set startOffset(e){this._startOffset=e}get probability(){return this._probability}set probability(e){this._probability=e}get humanize(){return this._humanize}set humanize(e){this._humanize=e}start(e){const n=this.toTicks(e);return this._state.getValueAtTime(n)==="stopped"&&(this._state.add({id:-1,state:"started",time:n}),this._rescheduleEvents(n)),this}stop(e){this.cancel(e);const n=this.toTicks(e);if(this._state.getValueAtTime(n)==="started"){this._state.setStateAtTime("stopped",n,{id:-1});const i=this._state.getBefore(n);let o=n;i!==null&&(o=i.time),this._rescheduleEvents(o)}return this}cancel(e){e=qn(e,-1/0);const n=this.toTicks(e);return this._state.forEachFrom(n,i=>{this.context.transport.clear(i.id)}),this._state.cancel(n),this}_tick(e){const n=this.context.transport.getTicksAtTime(e);if(!this.mute&&this._state.getValueAtTime(n)==="started"){if(this.probability<1&&Math.random()>this.probability)return;if(this.humanize){let i=.02;yI(this.humanize)||(i=this.toSeconds(this.humanize)),e+=(Math.random()*2-1)*i}this.callback(e,this.value)}}_getLoopDuration(){return(this._loopEnd-this._loopStart)/this._playbackRate}get loop(){return this._loop}set loop(e){this._loop=e,this._rescheduleEvents()}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e,this._rescheduleEvents()}get loopEnd(){return new Xe(this.context,this._loopEnd).toSeconds()}set loopEnd(e){this._loopEnd=this.toTicks(e),this._loop&&this._rescheduleEvents()}get loopStart(){return new Xe(this.context,this._loopStart).toSeconds()}set loopStart(e){this._loopStart=this.toTicks(e),this._loop&&this._rescheduleEvents()}get progress(){if(this._loop){const e=this.context.transport.ticks,n=this._state.get(e);if(n!==null&&n.state==="started"){const i=this._getLoopDuration();return(e-n.time)%i/i}else return 0}else return 0}dispose(){return super.dispose(),this.cancel(),this._state.dispose(),this}}class fa extends bt{constructor(){const e=L(fa.getDefaults(),arguments,["callback","interval"]);super(e),this.name="Loop",this._event=new hi({context:this.context,callback:this._tick.bind(this),loop:!0,loopEnd:e.interval,playbackRate:e.playbackRate,probability:e.probability,humanize:e.humanize}),this.callback=e.callback,this.iterations=e.iterations}static getDefaults(){return Object.assign(bt.getDefaults(),{interval:"4n",callback:Ne,playbackRate:1,iterations:1/0,probability:1,mute:!1,humanize:!1})}start(e){return this._event.start(e),this}stop(e){return this._event.stop(e),this}cancel(e){return this._event.cancel(e),this}_tick(e){this.callback(e)}get state(){return this._event.state}get progress(){return this._event.progress}get interval(){return this._event.loopEnd}set interval(e){this._event.loopEnd=e}get playbackRate(){return this._event.playbackRate}set playbackRate(e){this._event.playbackRate=e}get humanize(){return this._event.humanize}set humanize(e){this._event.humanize=e}get probability(){return this._event.probability}set probability(e){this._event.probability=e}get mute(){return this._event.mute}set mute(e){this._event.mute=e}get iterations(){return this._event.loop===!0?1/0:this._event.loop}set iterations(e){e===1/0?this._event.loop=!0:this._event.loop=e}dispose(){return super.dispose(),this._event.dispose(),this}}class WA extends hi{constructor(){const e=L(WA.getDefaults(),arguments,["callback","events"]);super(e),this.name="Part",this._state=new Ps("stopped"),this._events=new Set,this._state.increasing=!0,e.events.forEach(n=>{Rt(n)?this.add(n[0],n[1]):this.add(n)})}static getDefaults(){return Object.assign(hi.getDefaults(),{events:[]})}start(e,n){const i=this.toTicks(e);if(this._state.getValueAtTime(i)!=="started"){n=qn(n,this._loop?this._loopStart:0),this._loop?n=qn(n,this._loopStart):n=qn(n,0);const o=this.toTicks(n);this._state.add({id:-1,offset:o,state:"started",time:i}),this._forEach(a=>{this._startNote(a,i,o)})}return this}_startNote(e,n,i){n-=i,this._loop?e.startOffset>=this._loopStart&&e.startOffset=i&&(e.loop=!1,e.start(new Xe(this.context,n))):e.startOffset>=i&&e.start(new Xe(this.context,n))}get startOffset(){return this._startOffset}set startOffset(e){this._startOffset=e,this._forEach(n=>{n.startOffset+=this._startOffset})}stop(e){const n=this.toTicks(e);return this._state.cancel(n),this._state.setStateAtTime("stopped",n),this._forEach(i=>{i.stop(e)}),this}at(e,n){const i=new ia(this.context,e).toTicks(),o=new Xe(this.context,1).toSeconds(),a=this._events.values();let s=a.next();for(;!s.done;){const A=s.value;if(Math.abs(i-A.startOffset){n.state==="started"?this._startNote(e,n.time,n.offset):e.stop(new Xe(this.context,n.time))})}remove(e,n){return Ri(e)&&e.hasOwnProperty("time")&&(n=e,e=n.time),e=this.toTicks(e),this._events.forEach(i=>{i.startOffset===e&&(Zt(n)||pe(n)&&i.value===n)&&(this._events.delete(i),i.dispose())}),this}clear(){return this._forEach(e=>e.dispose()),this._events.clear(),this}cancel(e){return this._forEach(n=>n.cancel(e)),this._state.cancel(this.toTicks(e)),this}_forEach(e){return this._events&&this._events.forEach(n=>{n instanceof WA?n._forEach(e):e(n)}),this}_setAll(e,n){this._forEach(i=>{i[e]=n})}_tick(e,n){this.mute||this.callback(e,n)}_testLoopBoundries(e){this._loop&&(e.startOffset=this._loopEnd)?e.cancel(0):e.state==="stopped"&&this._restartEvent(e)}get probability(){return this._probability}set probability(e){this._probability=e,this._setAll("probability",e)}get humanize(){return this._humanize}set humanize(e){this._humanize=e,this._setAll("humanize",e)}get loop(){return this._loop}set loop(e){this._loop=e,this._forEach(n=>{n.loopStart=this.loopStart,n.loopEnd=this.loopEnd,n.loop=e,this._testLoopBoundries(n)})}get loopEnd(){return new Xe(this.context,this._loopEnd).toSeconds()}set loopEnd(e){this._loopEnd=this.toTicks(e),this._loop&&this._forEach(n=>{n.loopEnd=e,this._testLoopBoundries(n)})}get loopStart(){return new Xe(this.context,this._loopStart).toSeconds()}set loopStart(e){this._loopStart=this.toTicks(e),this._loop&&this._forEach(n=>{n.loopStart=this.loopStart,this._testLoopBoundries(n)})}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e,this._setAll("playbackRate",e)}get length(){return this._events.size}dispose(){return super.dispose(),this.clear(),this}}function*lD(t){let e=0;for(;e=0;)e=No(e,0,t-1),yield e,e--}function*Ya(t,e){for(;;)yield*e(t)}function*md(t,e){let n=e?0:t-1;for(;;)n=No(n,0,t-1),yield n,e?(n++,n>=t-1&&(e=!1)):(n--,n<=0&&(e=!0))}function*gD(t){let e=0,n=0;for(;e=0;)e=No(e,0,t-1),yield e,n++,e+=n%2?-2:1}function*uD(t){for(;;)yield Math.floor(Math.random()*t)}function*mD(t){const e=[];for(let n=0;n0;){const n=e.splice(Math.floor(e.length*Math.random()),1);yield No(n[0],0,t-1)}}function*pD(t){let e=Math.floor(Math.random()*t);for(;;)e===0?e++:e===t-1||Math.random()<.5?e--:e++,yield e}function*pd(t,e="up",n=0){switch(oe(t>=1,"The number of values must be at least one"),e){case"up":yield*Ya(t,lD);case"down":yield*Ya(t,cD);case"upDown":yield*md(t,!0);case"downUp":yield*md(t,!1);case"alternateUp":yield*Ya(t,gD);case"alternateDown":yield*Ya(t,dD);case"random":yield*uD(t);case"randomOnce":yield*Ya(t,mD);case"randomWalk":yield*pD(t)}}class LI extends fa{constructor(){const e=L(LI.getDefaults(),arguments,["callback","values","pattern"]);super(e),this.name="Pattern",this.callback=e.callback,this._values=e.values,this._pattern=pd(e.values.length,e.pattern),this._type=e.pattern}static getDefaults(){return Object.assign(fa.getDefaults(),{pattern:"up",values:[],callback:Ne})}_tick(e){const n=this._pattern.next();this._index=n.value,this._value=this._values[n.value],this.callback(e,this._value)}get values(){return this._values}set values(e){this._values=e,this.pattern=this._type}get value(){return this._value}get index(){return this._index}get pattern(){return this._type}set pattern(e){this._type=e,this._pattern=pd(this._values.length,this._type)}}class zr extends hi{constructor(){const e=L(zr.getDefaults(),arguments,["callback","events","subdivision"]);super(e),this.name="Sequence",this._part=new WA({callback:this._seqCallback.bind(this),context:this.context}),this._events=[],this._eventsArray=[],this._subdivision=this.toTicks(e.subdivision),this.events=e.events,this.loop=e.loop,this.loopStart=e.loopStart,this.loopEnd=e.loopEnd,this.playbackRate=e.playbackRate,this.probability=e.probability,this.humanize=e.humanize,this.mute=e.mute,this.playbackRate=e.playbackRate}static getDefaults(){return Object.assign(jt(hi.getDefaults(),["value"]),{events:[],loop:!0,loopEnd:0,loopStart:0,subdivision:"8n"})}_seqCallback(e,n){n!==null&&!this.mute&&this.callback(e,n)}get events(){return this._events}set events(e){this.clear(),this._eventsArray=e,this._events=this._createSequence(this._eventsArray),this._eventsUpdated()}start(e,n){return this._part.start(e,n&&this._indexTime(n)),this}stop(e){return this._part.stop(e),this}get subdivision(){return new Xe(this.context,this._subdivision).toSeconds()}_createSequence(e){return new Proxy(e,{get:(n,i)=>n[i],set:(n,i,o)=>(zn(i)&&isFinite(parseInt(i,10))&&Rt(o)?n[i]=this._createSequence(o):n[i]=o,this._eventsUpdated(),!0)})}_eventsUpdated(){this._part.clear(),this._rescheduleSequence(this._eventsArray,this._subdivision,this.startOffset),this.loopEnd=this.loopEnd}_rescheduleSequence(e,n,i){e.forEach((o,a)=>{const s=a*n+i;if(Rt(o))this._rescheduleSequence(o,n/o.length,s);else{const A=new Xe(this.context,s,"i").toSeconds();this._part.add(A,o)}})}_indexTime(e){return new Xe(this.context,e*this._subdivision+this.startOffset).toSeconds()}clear(){return this._part.clear(),this}dispose(){return super.dispose(),this._part.dispose(),this}get loop(){return this._part.loop}set loop(e){this._part.loop=e}get loopStart(){return this._loopStart}set loopStart(e){this._loopStart=e,this._part.loopStart=this._indexTime(e)}get loopEnd(){return this._loopEnd}set loopEnd(e){this._loopEnd=e,e===0?this._part.loopEnd=this._indexTime(this._eventsArray.length):this._part.loopEnd=this._indexTime(e)}get startOffset(){return this._part.startOffset}set startOffset(e){this._part.startOffset=e}get playbackRate(){return this._part.playbackRate}set playbackRate(e){this._part.playbackRate=e}get probability(){return this._part.probability}set probability(e){this._part.probability=e}get progress(){return this._part.progress}get humanize(){return this._part.humanize}set humanize(e){this._part.humanize=e}get length(){return this._part.length}}class Wr extends j{constructor(){const e=L(Wr.getDefaults(),arguments,["fade"]);super(e),this.name="CrossFade",this._panner=this.context.createStereoPanner(),this._split=this.context.createChannelSplitter(2),this._g2a=new iD({context:this.context}),this.a=new ue({context:this.context,gain:0}),this.b=new ue({context:this.context,gain:0}),this.output=new ue({context:this.context}),this._internalChannels=[this.a,this.b],this.fade=new be({context:this.context,units:"normalRange",value:e.fade}),Ee(this,"fade"),this.context.getConstant(1).connect(this._panner),this._panner.connect(this._split),this._panner.channelCount=1,this._panner.channelCountMode="explicit",Xt(this._split,this.a.gain,0),Xt(this._split,this.b.gain,1),this.fade.chain(this._g2a,this._panner.pan),this.a.connect(this.output),this.b.connect(this.output)}static getDefaults(){return Object.assign(j.getDefaults(),{fade:.5})}dispose(){return super.dispose(),this.a.dispose(),this.b.dispose(),this.output.dispose(),this.fade.dispose(),this._g2a.dispose(),this._panner.disconnect(),this._split.disconnect(),this}}class Qo extends j{constructor(e){super(e),this.name="Effect",this._dryWet=new Wr({context:this.context}),this.wet=this._dryWet.fade,this.effectSend=new ue({context:this.context}),this.effectReturn=new ue({context:this.context}),this.input=new ue({context:this.context}),this.output=this._dryWet,this.input.fan(this._dryWet.a,this.effectSend),this.effectReturn.connect(this._dryWet.b),this.wet.setValueAtTime(e.wet,0),this._internalChannels=[this.effectReturn,this.effectSend],Ee(this,"wet")}static getDefaults(){return Object.assign(j.getDefaults(),{wet:1})}connectEffect(e){return this._internalChannels.push(e),this.effectSend.chain(e,this.effectReturn),this}dispose(){return super.dispose(),this._dryWet.dispose(),this.effectSend.dispose(),this.effectReturn.dispose(),this.wet.dispose(),this}}class ZA extends Qo{constructor(e){super(e),this.name="LFOEffect",this._lfo=new Hc({context:this.context,frequency:e.frequency,amplitude:e.depth}),this.depth=this._lfo.amplitude,this.frequency=this._lfo.frequency,this.type=e.type,Ee(this,["frequency","depth"])}static getDefaults(){return Object.assign(Qo.getDefaults(),{frequency:1,type:"sine",depth:1})}start(e){return this._lfo.start(e),this}stop(e){return this._lfo.stop(e),this}sync(){return this._lfo.sync(),this}unsync(){return this._lfo.unsync(),this}get type(){return this._lfo.type}set type(e){this._lfo.type=e}dispose(){return super.dispose(),this._lfo.dispose(),this.frequency.dispose(),this.depth.dispose(),this}}class KI extends ZA{constructor(){const e=L(KI.getDefaults(),arguments,["frequency","baseFrequency","octaves"]);super(e),this.name="AutoFilter",this.filter=new Es(Object.assign(e.filter,{context:this.context})),this.connectEffect(this.filter),this._lfo.connect(this.filter.frequency),this.octaves=e.octaves,this.baseFrequency=e.baseFrequency}static getDefaults(){return Object.assign(ZA.getDefaults(),{baseFrequency:200,octaves:2.6,filter:{type:"lowpass",rolloff:-12,Q:1}})}get baseFrequency(){return this._lfo.min}set baseFrequency(e){this._lfo.min=this.toFrequency(e),this.octaves=this._octaves}get octaves(){return this._octaves}set octaves(e){this._octaves=e,this._lfo.max=this._lfo.min*Math.pow(2,e)}dispose(){return super.dispose(),this.filter.dispose(),this}}class Zr extends j{constructor(){const e=L(Zr.getDefaults(),arguments,["pan"]);super(e),this.name="Panner",this._panner=this.context.createStereoPanner(),this.input=this._panner,this.output=this._panner,this.pan=new fe({context:this.context,param:this._panner.pan,value:e.pan,minValue:-1,maxValue:1}),this._panner.channelCount=e.channelCount,this._panner.channelCountMode="explicit",Ee(this,"pan")}static getDefaults(){return Object.assign(j.getDefaults(),{pan:0,channelCount:1})}dispose(){return super.dispose(),this._panner.disconnect(),this.pan.dispose(),this}}class qI extends ZA{constructor(){const e=L(qI.getDefaults(),arguments,["frequency"]);super(e),this.name="AutoPanner",this._panner=new Zr({context:this.context,channelCount:e.channelCount}),this.connectEffect(this._panner),this._lfo.connect(this._panner.pan),this._lfo.min=-1,this._lfo.max=1}static getDefaults(){return Object.assign(ZA.getDefaults(),{channelCount:1})}dispose(){return super.dispose(),this._panner.dispose(),this}}class eg extends j{constructor(){const e=L(eg.getDefaults(),arguments,["smoothing"]);super(e),this.name="Follower",this._abs=this.input=new nD({context:this.context}),this._lowpass=this.output=new Vr({context:this.context,frequency:1/this.toSeconds(e.smoothing),type:"lowpass"}),this._abs.connect(this._lowpass),this._smoothing=e.smoothing}static getDefaults(){return Object.assign(j.getDefaults(),{smoothing:.05})}get smoothing(){return this._smoothing}set smoothing(e){this._smoothing=e,this._lowpass.frequency=1/this.toSeconds(this.smoothing)}dispose(){return super.dispose(),this._abs.dispose(),this._lowpass.dispose(),this}}const jI="bit-crusher",ID=` - class BitCrusherWorklet extends SingleIOProcessor { - - static get parameterDescriptors() { - return [{ - name: "bits", - defaultValue: 12, - minValue: 1, - maxValue: 16, - automationRate: 'k-rate' - }]; - } - - generate(input, _channel, parameters) { - const step = Math.pow(0.5, parameters.bits - 1); - const val = step * Math.floor(input / step + 0.5); - return val; - } - } -`;_I(jI,ID);class PI extends Qo{constructor(){const e=L(PI.getDefaults(),arguments,["bits"]);super(e),this.name="BitCrusher",this._bitCrusherWorklet=new tg({context:this.context,bits:e.bits}),this.connectEffect(this._bitCrusherWorklet),this.bits=this._bitCrusherWorklet.bits}static getDefaults(){return Object.assign(Qo.getDefaults(),{bits:4})}dispose(){return super.dispose(),this._bitCrusherWorklet.dispose(),this}}class tg extends ul{constructor(){const e=L(tg.getDefaults(),arguments);super(e),this.name="BitCrusherWorklet",this.input=new ue({context:this.context}),this.output=new ue({context:this.context}),this.bits=new fe({context:this.context,value:e.bits,units:"positive",minValue:1,maxValue:16,param:this._dummyParam,swappable:!0})}static getDefaults(){return Object.assign(ul.getDefaults(),{bits:12})}_audioWorkletName(){return jI}onReady(e){Wn(this.input,e,this.output);const n=e.parameters.get("bits");this.bits.setParam(n)}dispose(){return super.dispose(),this.input.dispose(),this.output.dispose(),this.bits.dispose(),this}}class Na extends j{constructor(){const e=L(Na.getDefaults(),arguments,["channels"]);super(e),this.name="Split",this._splitter=this.input=this.output=this.context.createChannelSplitter(e.channels),this._internalChannels=[this._splitter]}static getDefaults(){return Object.assign(j.getDefaults(),{channels:2})}dispose(){return super.dispose(),this._splitter.disconnect(),this}}class Sa extends j{constructor(){const e=L(Sa.getDefaults(),arguments,["channels"]);super(e),this.name="Merge",this._merger=this.output=this.input=this.context.createChannelMerger(e.channels)}static getDefaults(){return Object.assign(j.getDefaults(),{channels:2})}dispose(){return super.dispose(),this._merger.disconnect(),this}}class Id extends j{constructor(e){super(e),this.name="StereoEffect",this.input=new ue({context:this.context}),this.input.channelCount=2,this.input.channelCountMode="explicit",this._dryWet=this.output=new Wr({context:this.context,fade:e.wet}),this.wet=this._dryWet.fade,this._split=new Na({context:this.context,channels:2}),this._merge=new Sa({context:this.context,channels:2}),this.input.connect(this._split),this.input.connect(this._dryWet.a),this._merge.connect(this._dryWet.b),Ee(this,["wet"])}connectEffectLeft(...e){this._split.connect(e[0],0,0),Wn(...e),Xt(e[e.length-1],this._merge,0,0)}connectEffectRight(...e){this._split.connect(e[0],1,0),Wn(...e),Xt(e[e.length-1],this._merge,0,1)}static getDefaults(){return Object.assign(j.getDefaults(),{wet:1})}dispose(){return super.dispose(),this._dryWet.dispose(),this._split.dispose(),this._merge.dispose(),this}}class fD extends Id{constructor(e){super(e),this.feedback=new be({context:this.context,value:e.feedback,units:"normalRange"}),this._feedbackL=new ue({context:this.context}),this._feedbackR=new ue({context:this.context}),this._feedbackSplit=new Na({context:this.context,channels:2}),this._feedbackMerge=new Sa({context:this.context,channels:2}),this._merge.connect(this._feedbackSplit),this._feedbackMerge.connect(this._split),this._feedbackSplit.connect(this._feedbackL,0,0),this._feedbackL.connect(this._feedbackMerge,0,0),this._feedbackSplit.connect(this._feedbackR,1,0),this._feedbackR.connect(this._feedbackMerge,0,1),this.feedback.fan(this._feedbackL.gain,this._feedbackR.gain),Ee(this,["feedback"])}static getDefaults(){return Object.assign(Id.getDefaults(),{feedback:.5})}dispose(){return super.dispose(),this.feedback.dispose(),this._feedbackL.dispose(),this._feedbackR.dispose(),this._feedbackSplit.dispose(),this._feedbackMerge.dispose(),this}}class fd extends fD{constructor(e){super(e),this._feedbackL.disconnect(),this._feedbackL.connect(this._feedbackMerge,0,1),this._feedbackR.disconnect(),this._feedbackR.connect(this._feedbackMerge,0,0),Ee(this,["feedback"])}}class HI extends fd{constructor(){const e=L(HI.getDefaults(),arguments,["delayTime","feedback"]);super(e),this.name="PingPongDelay",this._leftDelay=new As({context:this.context,maxDelay:e.maxDelay}),this._rightDelay=new As({context:this.context,maxDelay:e.maxDelay}),this._rightPreDelay=new As({context:this.context,maxDelay:e.maxDelay}),this.delayTime=new be({context:this.context,units:"time",value:e.delayTime}),this.connectEffectLeft(this._leftDelay),this.connectEffectRight(this._rightPreDelay,this._rightDelay),this.delayTime.fan(this._leftDelay.delayTime,this._rightDelay.delayTime,this._rightPreDelay.delayTime),this._feedbackL.disconnect(),this._feedbackL.connect(this._rightDelay),Ee(this,["delayTime"])}static getDefaults(){return Object.assign(fd.getDefaults(),{delayTime:.25,maxDelay:1})}dispose(){return super.dispose(),this._leftDelay.dispose(),this._rightDelay.dispose(),this._rightPreDelay.dispose(),this.delayTime.dispose(),this}}let CD=class OI extends Qo{constructor(){const e=L(OI.getDefaults(),arguments,["decay"]);super(e),this.name="Reverb",this._convolver=this.context.createConvolver(),this.ready=Promise.resolve(),this._decay=e.decay,this._preDelay=e.preDelay,this.generate(),this.connectEffect(this._convolver)}static getDefaults(){return Object.assign(Qo.getDefaults(),{decay:1.5,preDelay:.01})}get decay(){return this._decay}set decay(e){e=this.toSeconds(e),un(e,.001),this._decay=e,this.generate()}get preDelay(){return this._preDelay}set preDelay(e){e=this.toSeconds(e),un(e,0),this._preDelay=e,this.generate()}generate(){return qe(this,void 0,void 0,function*(){const e=this.ready,n=new Fr(2,this._decay+this._preDelay,this.context.sampleRate),i=new Bo({context:n}),o=new Bo({context:n}),a=new Sa({context:n});i.connect(a,0,0),o.connect(a,0,1);const s=new ue({context:n}).toDestination();a.connect(s),i.start(0),o.start(0),s.gain.setValueAtTime(0,0),s.gain.setValueAtTime(1,this._preDelay),s.gain.exponentialApproachValueAtTime(0,this._preDelay,this.decay);const A=n.render();return this.ready=A.then(Ne),yield e,this._convolver.buffer=(yield A).get(),this})}dispose(){return super.dispose(),this._convolver.disconnect(),this}};class ng extends j{constructor(){super(L(ng.getDefaults(),arguments)),this.name="MidSideSplit",this._split=this.input=new Na({channels:2,context:this.context}),this._midAdd=new Vs({context:this.context}),this.mid=new It({context:this.context,value:Math.SQRT1_2}),this._sideSubtract=new ka({context:this.context}),this.side=new It({context:this.context,value:Math.SQRT1_2}),this._split.connect(this._midAdd,0),this._split.connect(this._midAdd.addend,1),this._split.connect(this._sideSubtract,0),this._split.connect(this._sideSubtract.subtrahend,1),this._midAdd.connect(this.mid),this._sideSubtract.connect(this.side)}dispose(){return super.dispose(),this.mid.dispose(),this.side.dispose(),this._midAdd.dispose(),this._sideSubtract.dispose(),this._split.dispose(),this}}class ig extends j{constructor(){super(L(ig.getDefaults(),arguments)),this.name="MidSideMerge",this.mid=new ue({context:this.context}),this.side=new ue({context:this.context}),this._left=new Vs({context:this.context}),this._leftMult=new It({context:this.context,value:Math.SQRT1_2}),this._right=new ka({context:this.context}),this._rightMult=new It({context:this.context,value:Math.SQRT1_2}),this._merge=this.output=new Sa({context:this.context}),this.mid.fan(this._left),this.side.connect(this._left.addend),this.mid.connect(this._right),this.side.connect(this._right.subtrahend),this._left.connect(this._leftMult),this._right.connect(this._rightMult),this._leftMult.connect(this._merge,0,0),this._rightMult.connect(this._merge,0,1)}dispose(){return super.dispose(),this.mid.dispose(),this.side.dispose(),this._leftMult.dispose(),this._rightMult.dispose(),this._left.dispose(),this._right.dispose(),this}}class Cd extends Qo{constructor(e){super(e),this.name="MidSideEffect",this._midSideMerge=new ig({context:this.context}),this._midSideSplit=new ng({context:this.context}),this._midSend=this._midSideSplit.mid,this._sideSend=this._midSideSplit.side,this._midReturn=this._midSideMerge.mid,this._sideReturn=this._midSideMerge.side,this.effectSend.connect(this._midSideSplit),this._midSideMerge.connect(this.effectReturn)}connectEffectMid(...e){this._midSend.chain(...e,this._midReturn)}connectEffectSide(...e){this._sideSend.chain(...e,this._sideReturn)}dispose(){return super.dispose(),this._midSideSplit.dispose(),this._midSideMerge.dispose(),this._midSend.dispose(),this._sideSend.dispose(),this._midReturn.dispose(),this._sideReturn.dispose(),this}}class VI extends Cd{constructor(){const e=L(VI.getDefaults(),arguments,["width"]);super(e),this.name="StereoWidener",this.width=new be({context:this.context,value:e.width,units:"normalRange"}),Ee(this,["width"]),this._twoTimesWidthMid=new It({context:this.context,value:2}),this._twoTimesWidthSide=new It({context:this.context,value:2}),this._midMult=new It({context:this.context}),this._twoTimesWidthMid.connect(this._midMult.factor),this.connectEffectMid(this._midMult),this._oneMinusWidth=new ka({context:this.context}),this._oneMinusWidth.connect(this._twoTimesWidthMid),Xt(this.context.getConstant(1),this._oneMinusWidth),this.width.connect(this._oneMinusWidth.subtrahend),this._sideMult=new It({context:this.context}),this.width.connect(this._twoTimesWidthSide),this._twoTimesWidthSide.connect(this._sideMult.factor),this.connectEffectSide(this._sideMult)}static getDefaults(){return Object.assign(Cd.getDefaults(),{width:.5})}dispose(){return super.dispose(),this.width.dispose(),this._midMult.dispose(),this._sideMult.dispose(),this._twoTimesWidthMid.dispose(),this._twoTimesWidthSide.dispose(),this._oneMinusWidth.dispose(),this}}class Xr extends j{constructor(){const e=L(Xr.getDefaults(),arguments,["type","size"]);super(e),this.name="Analyser",this._analysers=[],this._buffers=[],this.input=this.output=this._gain=new ue({context:this.context}),this._split=new Na({context:this.context,channels:e.channels}),this.input.connect(this._split),un(e.channels,1);for(let n=0;n{const i=this._buffers[n];this._type==="fft"?e.getFloatFrequencyData(i):this._type==="waveform"&&e.getFloatTimeDomainData(i)}),this.channels===1?this._buffers[0]:this._buffers}get size(){return this._analysers[0].frequencyBinCount}set size(e){this._analysers.forEach((n,i)=>{n.fftSize=e*2,this._buffers[i]=new Float32Array(e)})}get channels(){return this._analysers.length}get type(){return this._type}set type(e){oe(e==="waveform"||e==="fft",`Analyser: invalid type: ${e}`),this._type=e}get smoothing(){return this._analysers[0].smoothingTimeConstant}set smoothing(e){this._analysers.forEach(n=>n.smoothingTimeConstant=e)}dispose(){return super.dispose(),this._analysers.forEach(e=>e.disconnect()),this._split.dispose(),this._gain.dispose(),this}}class Qs extends j{constructor(){super(L(Qs.getDefaults(),arguments)),this.name="MeterBase",this.input=this.output=this._analyser=new Xr({context:this.context,size:256,type:"waveform"})}dispose(){return super.dispose(),this._analyser.dispose(),this}}class Ws extends Qs{constructor(){const e=L(Ws.getDefaults(),arguments,["smoothing"]);super(e),this.name="Meter",this.input=this.output=this._analyser=new Xr({context:this.context,size:256,type:"waveform",channels:e.channelCount}),this.smoothing=e.smoothing,this.normalRange=e.normalRange,this._rms=new Array(e.channelCount),this._rms.fill(0)}static getDefaults(){return Object.assign(Qs.getDefaults(),{smoothing:.8,normalRange:!1,channelCount:1})}getLevel(){return Ks("'getLevel' has been changed to 'getValue'"),this.getValue()}getValue(){const e=this._analyser.getValue(),i=(this.channels===1?[e]:e).map((o,a)=>{const s=o.reduce((r,h)=>r+h*h,0),A=Math.sqrt(s/o.length);return this._rms[a]=Math.max(A,this._rms[a]*this.smoothing),this.normalRange?this._rms[a]:Oi(this._rms[a])});return this.channels===1?i[0]:i}get channels(){return this._analyser.channels}dispose(){return super.dispose(),this._analyser.dispose(),this}}class zI extends Qs{constructor(){const e=L(zI.getDefaults(),arguments,["size"]);super(e),this.name="FFT",this.normalRange=e.normalRange,this._analyser.type="fft",this.size=e.size}static getDefaults(){return Object.assign(j.getDefaults(),{normalRange:!1,size:1024,smoothing:.8})}getValue(){return this._analyser.getValue().map(n=>this.normalRange?HA(n):n)}get size(){return this._analyser.size}set size(e){this._analyser.size=e}get smoothing(){return this._analyser.smoothing}set smoothing(e){this._analyser.smoothing=e}getFrequencyOfIndex(e){return oe(0<=e&&en._updateSolo())}get muted(){return this.input.gain.value===0}_addSolo(){ct._soloed.has(this.context)||ct._soloed.set(this.context,new Set),ct._soloed.get(this.context).add(this)}_removeSolo(){ct._soloed.has(this.context)&&ct._soloed.get(this.context).delete(this)}_isSoloed(){return ct._soloed.has(this.context)&&ct._soloed.get(this.context).has(this)}_noSolos(){return!ct._soloed.has(this.context)||ct._soloed.has(this.context)&&ct._soloed.get(this.context).size===0}_updateSolo(){this._isSoloed()?this.input.gain.value=1:this._noSolos()?this.input.gain.value=1:this.input.gain.value=0}dispose(){return super.dispose(),ct._allSolos.get(this.context).delete(this),this._removeSolo(),this}}ct._allSolos=new Map;ct._soloed=new Map;class Zs extends j{constructor(){const e=L(Zs.getDefaults(),arguments,["pan","volume"]);super(e),this.name="PanVol",this._panner=this.input=new Zr({context:this.context,pan:e.pan,channelCount:e.channelCount}),this.pan=this._panner.pan,this._volume=this.output=new Vi({context:this.context,volume:e.volume}),this.volume=this._volume.volume,this._panner.connect(this._volume),this.mute=e.mute,Ee(this,["pan","volume"])}static getDefaults(){return Object.assign(j.getDefaults(),{mute:!1,pan:0,volume:0,channelCount:1})}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}dispose(){return super.dispose(),this._panner.dispose(),this.pan.dispose(),this._volume.dispose(),this.volume.dispose(),this}}let yD=class Xa extends j{constructor(){const e=L(Xa.getDefaults(),arguments,["volume","pan"]);super(e),this.name="Channel",this._solo=this.input=new ct({solo:e.solo,context:this.context}),this._panVol=this.output=new Zs({context:this.context,pan:e.pan,volume:e.volume,mute:e.mute,channelCount:e.channelCount}),this.pan=this._panVol.pan,this.volume=this._panVol.volume,this._solo.connect(this._panVol),Ee(this,["pan","volume"])}static getDefaults(){return Object.assign(j.getDefaults(),{pan:0,volume:0,mute:!1,solo:!1,channelCount:1})}get solo(){return this._solo.solo}set solo(e){this._solo.solo=e}get muted(){return this._solo.muted||this.mute}get mute(){return this._panVol.mute}set mute(e){this._panVol.mute=e}_getBus(e){return Xa.buses.has(e)||Xa.buses.set(e,new ue({context:this.context})),Xa.buses.get(e)}send(e,n=0){const i=this._getBus(e),o=new ue({context:this.context,units:"decibels",gain:n});return this.connect(o),o.connect(i),o}receive(e){return this._getBus(e).connect(this),this}dispose(){return super.dispose(),this._panVol.dispose(),this.pan.dispose(),this.volume.dispose(),this._solo.dispose(),this}};yD.buses=new Map;class ws extends j{constructor(){const e=L(ws.getDefaults(),arguments);super(e),this.name="Recorder",this.input=new ue({context:this.context}),oe(ws.supported,"Media Recorder API is not available"),this._stream=this.context.createMediaStreamDestination(),this.input.connect(this._stream),this._recorder=new MediaRecorder(this._stream.stream,{mimeType:e.mimeType})}static getDefaults(){return j.getDefaults()}get mimeType(){return this._recorder.mimeType}static get supported(){return Ut!==null&&Reflect.has(Ut,"MediaRecorder")}get state(){return this._recorder.state==="inactive"?"stopped":this._recorder.state==="paused"?"paused":"started"}start(){return qe(this,void 0,void 0,function*(){oe(this.state!=="started","Recorder is already started");const e=new Promise(n=>{const i=()=>{this._recorder.removeEventListener("start",i,!1),n()};this._recorder.addEventListener("start",i,!1)});return this._recorder.start(),yield e})}stop(){return qe(this,void 0,void 0,function*(){oe(this.state!=="stopped","Recorder is not started");const e=new Promise(n=>{const i=o=>{this._recorder.removeEventListener("dataavailable",i,!1),n(o.data)};this._recorder.addEventListener("dataavailable",i,!1)});return this._recorder.stop(),yield e})}pause(){return oe(this.state==="started","Recorder must be started"),this._recorder.pause(),this}dispose(){return super.dispose(),this.input.dispose(),this._stream.disconnect(),this}}class $r extends j{constructor(){const e=L($r.getDefaults(),arguments,["threshold","ratio"]);super(e),this.name="Compressor",this._compressor=this.context.createDynamicsCompressor(),this.input=this._compressor,this.output=this._compressor,this.threshold=new fe({minValue:this._compressor.threshold.minValue,maxValue:this._compressor.threshold.maxValue,context:this.context,convert:!1,param:this._compressor.threshold,units:"decibels",value:e.threshold}),this.attack=new fe({minValue:this._compressor.attack.minValue,maxValue:this._compressor.attack.maxValue,context:this.context,param:this._compressor.attack,units:"time",value:e.attack}),this.release=new fe({minValue:this._compressor.release.minValue,maxValue:this._compressor.release.maxValue,context:this.context,param:this._compressor.release,units:"time",value:e.release}),this.knee=new fe({minValue:this._compressor.knee.minValue,maxValue:this._compressor.knee.maxValue,context:this.context,convert:!1,param:this._compressor.knee,units:"decibels",value:e.knee}),this.ratio=new fe({minValue:this._compressor.ratio.minValue,maxValue:this._compressor.ratio.maxValue,context:this.context,convert:!1,param:this._compressor.ratio,units:"positive",value:e.ratio}),Ee(this,["knee","release","attack","ratio","threshold"])}static getDefaults(){return Object.assign(j.getDefaults(),{attack:.003,knee:30,ratio:12,release:.25,threshold:-24})}get reduction(){return this._compressor.reduction}dispose(){return super.dispose(),this._compressor.disconnect(),this.attack.dispose(),this.release.dispose(),this.threshold.dispose(),this.ratio.dispose(),this.knee.dispose(),this}}class og extends j{constructor(){const e=L(og.getDefaults(),arguments,["threshold","smoothing"]);super(e),this.name="Gate",this._follower=new eg({context:this.context,smoothing:e.smoothing}),this._gt=new Vc({context:this.context,value:HA(e.threshold)}),this.input=new ue({context:this.context}),this._gate=this.output=new ue({context:this.context}),this.input.connect(this._gate),this.input.chain(this._follower,this._gt,this._gate.gain)}static getDefaults(){return Object.assign(j.getDefaults(),{smoothing:.1,threshold:-40})}get threshold(){return Oi(this._gt.value)}set threshold(e){this._gt.value=HA(e)}get smoothing(){return this._follower.smoothing}set smoothing(e){this._follower.smoothing=e}dispose(){return super.dispose(),this.input.dispose(),this._follower.dispose(),this._gt.dispose(),this._gate.dispose(),this}}class eh extends j{constructor(){const e=L(eh.getDefaults(),arguments,["threshold"]);super(e),this.name="Limiter",this._compressor=this.input=this.output=new $r({context:this.context,ratio:20,attack:.003,release:.01,threshold:e.threshold}),this.threshold=this._compressor.threshold,Ee(this,"threshold")}static getDefaults(){return Object.assign(j.getDefaults(),{threshold:-12})}get reduction(){return this._compressor.reduction}dispose(){return super.dispose(),this._compressor.dispose(),this.threshold.dispose(),this}}function hK(){return st().now()}st().transport;function BD(){return st().transport}st().destination;st().destination;function ED(){return st().destination}st().listener;st().draw;function ag(){return st().draw}const lK=st();function dt(t,e,n){if(typeof t=="function"||My(t))return H(()=>wh(Qi(t),Qi(e),Qi(n)));const i=ne(t);return H({get(){return i.value=wh(i.value,Qi(e),Qi(n))},set(o){i.value=wh(o,Qi(e),Qi(n))}})}function cK(t){return H(()=>Math.round(Qi(t)))}var AA={};let Ra=class $a{constructor(e=!1){this.eventMap={},this.eventsSuspended=e==!0}addListener(e,n,i={}){if(typeof e=="string"&&e.length<1||e instanceof String&&e.length<1||typeof e!="string"&&!(e instanceof String)&&e!==$a.ANY_EVENT)throw new TypeError("The 'event' parameter must be a string or EventEmitter.ANY_EVENT.");if(typeof n!="function")throw new TypeError("The callback must be a function.");const o=new yd(e,this,n,i);return this.eventMap[e]||(this.eventMap[e]=[]),i.prepend?this.eventMap[e].unshift(o):this.eventMap[e].push(o),o}addOneTimeListener(e,n,i={}){i.remaining=1,this.addListener(e,n,i)}static get ANY_EVENT(){return Symbol.for("Any event")}hasListener(e,n){return e===void 0?this.eventMap[$a.ANY_EVENT]&&this.eventMap[$a.ANY_EVENT].length>0?!0:Object.entries(this.eventMap).some(([,i])=>i.length>0):this.eventMap[e]&&this.eventMap[e].length>0?n instanceof yd?this.eventMap[e].filter(o=>o===n).length>0:typeof n=="function"?this.eventMap[e].filter(o=>o.callback===n).length>0:n==null:!1}get eventNames(){return Object.keys(this.eventMap)}getListeners(e){return this.eventMap[e]||[]}suspendEvent(e){this.getListeners(e).forEach(n=>{n.suspended=!0})}unsuspendEvent(e){this.getListeners(e).forEach(n=>{n.suspended=!1})}getListenerCount(e){return this.getListeners(e).length}emit(e,...n){if(typeof e!="string"&&!(e instanceof String))throw new TypeError("The 'event' parameter must be a string.");if(this.eventsSuspended)return;let i=[],o=this.eventMap[$a.ANY_EVENT]||[];return this.eventMap[e]&&(o=o.concat(this.eventMap[e])),o.forEach(a=>{if(a.suspended)return;let s=[...n];Array.isArray(a.arguments)&&(s=s.concat(a.arguments)),a.remaining>0&&(i.push(a.callback.apply(a.context,s)),a.count++),--a.remaining<1&&a.remove()}),i}removeListener(e,n,i={}){if(e===void 0){this.eventMap={};return}else if(!this.eventMap[e])return;let o=this.eventMap[e].filter(a=>n&&a.callback!==n||i.remaining&&i.remaining!==a.remaining||i.context&&i.context!==a.context);o.length?this.eventMap[e]=o:delete this.eventMap[e]}async waitFor(e,n={}){return n.duration=parseInt(n.duration),(isNaN(n.duration)||n.duration<=0)&&(n.duration=1/0),new Promise((i,o)=>{let a,s=this.addListener(e,()=>{clearTimeout(a),i()},{remaining:1});n.duration!==1/0&&(a=setTimeout(()=>{s.remove(),o("The duration expired before the event was emitted.")},n.duration))})}get eventCount(){return Object.keys(this.eventMap).length}};class yd{constructor(e,n,i,o={}){if(typeof e!="string"&&!(e instanceof String)&&e!==Ra.ANY_EVENT)throw new TypeError("The 'event' parameter must be a string or EventEmitter.ANY_EVENT.");if(!n)throw new ReferenceError("The 'target' parameter is mandatory.");if(typeof i!="function")throw new TypeError("The 'callback' must be a function.");o.arguments!==void 0&&!Array.isArray(o.arguments)&&(o.arguments=[o.arguments]),o=Object.assign({context:n,remaining:1/0,arguments:void 0,duration:1/0},o),o.duration!==1/0&&setTimeout(()=>this.remove(),o.duration),this.arguments=o.arguments,this.callback=i,this.context=o.context,this.count=0,this.event=e,this.remaining=parseInt(o.remaining)>=1?parseInt(o.remaining):1/0,this.suspended=!1,this.target=n}remove(){this.target.removeListener(this.event,this.callback,{context:this.context,remaining:this.remaining})}}/** - * The `Enumerations` class contains enumerations and arrays of elements used throughout the - * library. All its properties are static and should be referenced using the class name. For - * example: `Enumerations.CHANNEL_MESSAGES`. - * - * @license Apache-2.0 - * @since 3.0.0 - */class _{static get MIDI_CHANNEL_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MESSAGES enum has been deprecated. Use the Enumerations.CHANNEL_MESSAGES enum instead."),_.CHANNEL_MESSAGES}static get CHANNEL_MESSAGES(){return{noteoff:8,noteon:9,keyaftertouch:10,controlchange:11,programchange:12,channelaftertouch:13,pitchbend:14}}static get CHANNEL_NUMBERS(){return[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}static get MIDI_CHANNEL_NUMBERS(){return this.validation&&console.warn("The MIDI_CHANNEL_NUMBERS array has been deprecated. Use the Enumerations.CHANNEL_NUMBERS array instead."),[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}static get CHANNEL_MODE_MESSAGES(){return{allsoundoff:120,resetallcontrollers:121,localcontrol:122,allnotesoff:123,omnimodeoff:124,omnimodeon:125,monomodeon:126,polymodeon:127}}static get MIDI_CHANNEL_MODE_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MODE_MESSAGES enum has been deprecated. Use the Enumerations.CHANNEL_MODE_MESSAGES enum instead."),_.CHANNEL_MODE_MESSAGES}static get MIDI_CONTROL_CHANGE_MESSAGES(){return this.validation&&console.warn("The MIDI_CONTROL_CHANGE_MESSAGES enum has been deprecated. Use the Enumerations.CONTROL_CHANGE_MESSAGES array instead."),{bankselectcoarse:0,modulationwheelcoarse:1,breathcontrollercoarse:2,controller3:3,footcontrollercoarse:4,portamentotimecoarse:5,dataentrycoarse:6,volumecoarse:7,balancecoarse:8,controller9:9,pancoarse:10,expressioncoarse:11,effectcontrol1coarse:12,effectcontrol2coarse:13,controller14:14,controller15:15,generalpurposeslider1:16,generalpurposeslider2:17,generalpurposeslider3:18,generalpurposeslider4:19,controller20:20,controller21:21,controller22:22,controller23:23,controller24:24,controller25:25,controller26:26,controller27:27,controller28:28,controller29:29,controller30:30,controller31:31,bankselectfine:32,modulationwheelfine:33,breathcontrollerfine:34,controller35:35,footcontrollerfine:36,portamentotimefine:37,dataentryfine:38,volumefine:39,balancefine:40,controller41:41,panfine:42,expressionfine:43,effectcontrol1fine:44,effectcontrol2fine:45,controller46:46,controller47:47,controller48:48,controller49:49,controller50:50,controller51:51,controller52:52,controller53:53,controller54:54,controller55:55,controller56:56,controller57:57,controller58:58,controller59:59,controller60:60,controller61:61,controller62:62,controller63:63,holdpedal:64,portamento:65,sustenutopedal:66,softpedal:67,legatopedal:68,hold2pedal:69,soundvariation:70,resonance:71,soundreleasetime:72,soundattacktime:73,brightness:74,soundcontrol6:75,soundcontrol7:76,soundcontrol8:77,soundcontrol9:78,soundcontrol10:79,generalpurposebutton1:80,generalpurposebutton2:81,generalpurposebutton3:82,generalpurposebutton4:83,controller84:84,controller85:85,controller86:86,controller87:87,controller88:88,controller89:89,controller90:90,reverblevel:91,tremololevel:92,choruslevel:93,celestelevel:94,phaserlevel:95,databuttonincrement:96,databuttondecrement:97,nonregisteredparametercoarse:98,nonregisteredparameterfine:99,registeredparametercoarse:100,registeredparameterfine:101,controller102:102,controller103:103,controller104:104,controller105:105,controller106:106,controller107:107,controller108:108,controller109:109,controller110:110,controller111:111,controller112:112,controller113:113,controller114:114,controller115:115,controller116:116,controller117:117,controller118:118,controller119:119,allsoundoff:120,resetallcontrollers:121,localcontrol:122,allnotesoff:123,omnimodeoff:124,omnimodeon:125,monomodeon:126,polymodeon:127}}static get CONTROL_CHANGE_MESSAGES(){return[{number:0,name:"bankselectcoarse",description:"Bank Select (Coarse)",position:"msb"},{number:1,name:"modulationwheelcoarse",description:"Modulation Wheel (Coarse)",position:"msb"},{number:2,name:"breathcontrollercoarse",description:"Breath Controller (Coarse)",position:"msb"},{number:3,name:"controller3",description:"Undefined",position:"msb"},{number:4,name:"footcontrollercoarse",description:"Foot Controller (Coarse)",position:"msb"},{number:5,name:"portamentotimecoarse",description:"Portamento Time (Coarse)",position:"msb"},{number:6,name:"dataentrycoarse",description:"Data Entry (Coarse)",position:"msb"},{number:7,name:"volumecoarse",description:"Channel Volume (Coarse)",position:"msb"},{number:8,name:"balancecoarse",description:"Balance (Coarse)",position:"msb"},{number:9,name:"controller9",description:"Controller 9 (Coarse)",position:"msb"},{number:10,name:"pancoarse",description:"Pan (Coarse)",position:"msb"},{number:11,name:"expressioncoarse",description:"Expression Controller (Coarse)",position:"msb"},{number:12,name:"effectcontrol1coarse",description:"Effect Control 1 (Coarse)",position:"msb"},{number:13,name:"effectcontrol2coarse",description:"Effect Control 2 (Coarse)",position:"msb"},{number:14,name:"controller14",description:"Undefined",position:"msb"},{number:15,name:"controller15",description:"Undefined",position:"msb"},{number:16,name:"generalpurposecontroller1",description:"General Purpose Controller 1 (Coarse)",position:"msb"},{number:17,name:"generalpurposecontroller2",description:"General Purpose Controller 2 (Coarse)",position:"msb"},{number:18,name:"generalpurposecontroller3",description:"General Purpose Controller 3 (Coarse)",position:"msb"},{number:19,name:"generalpurposecontroller4",description:"General Purpose Controller 4 (Coarse)",position:"msb"},{number:20,name:"controller20",description:"Undefined",position:"msb"},{number:21,name:"controller21",description:"Undefined",position:"msb"},{number:22,name:"controller22",description:"Undefined",position:"msb"},{number:23,name:"controller23",description:"Undefined",position:"msb"},{number:24,name:"controller24",description:"Undefined",position:"msb"},{number:25,name:"controller25",description:"Undefined",position:"msb"},{number:26,name:"controller26",description:"Undefined",position:"msb"},{number:27,name:"controller27",description:"Undefined",position:"msb"},{number:28,name:"controller28",description:"Undefined",position:"msb"},{number:29,name:"controller29",description:"Undefined",position:"msb"},{number:30,name:"controller30",description:"Undefined",position:"msb"},{number:31,name:"controller31",description:"Undefined",position:"msb"},{number:32,name:"bankselectfine",description:"Bank Select (Fine)",position:"lsb"},{number:33,name:"modulationwheelfine",description:"Modulation Wheel (Fine)",position:"lsb"},{number:34,name:"breathcontrollerfine",description:"Breath Controller (Fine)",position:"lsb"},{number:35,name:"controller35",description:"Undefined",position:"lsb"},{number:36,name:"footcontrollerfine",description:"Foot Controller (Fine)",position:"lsb"},{number:37,name:"portamentotimefine",description:"Portamento Time (Fine)",position:"lsb"},{number:38,name:"dataentryfine",description:"Data Entry (Fine)",position:"lsb"},{number:39,name:"channelvolumefine",description:"Channel Volume (Fine)",position:"lsb"},{number:40,name:"balancefine",description:"Balance (Fine)",position:"lsb"},{number:41,name:"controller41",description:"Undefined",position:"lsb"},{number:42,name:"panfine",description:"Pan (Fine)",position:"lsb"},{number:43,name:"expressionfine",description:"Expression Controller (Fine)",position:"lsb"},{number:44,name:"effectcontrol1fine",description:"Effect control 1 (Fine)",position:"lsb"},{number:45,name:"effectcontrol2fine",description:"Effect control 2 (Fine)",position:"lsb"},{number:46,name:"controller46",description:"Undefined",position:"lsb"},{number:47,name:"controller47",description:"Undefined",position:"lsb"},{number:48,name:"controller48",description:"General Purpose Controller 1 (Fine)",position:"lsb"},{number:49,name:"controller49",description:"General Purpose Controller 2 (Fine)",position:"lsb"},{number:50,name:"controller50",description:"General Purpose Controller 3 (Fine)",position:"lsb"},{number:51,name:"controller51",description:"General Purpose Controller 4 (Fine)",position:"lsb"},{number:52,name:"controller52",description:"Undefined",position:"lsb"},{number:53,name:"controller53",description:"Undefined",position:"lsb"},{number:54,name:"controller54",description:"Undefined",position:"lsb"},{number:55,name:"controller55",description:"Undefined",position:"lsb"},{number:56,name:"controller56",description:"Undefined",position:"lsb"},{number:57,name:"controller57",description:"Undefined",position:"lsb"},{number:58,name:"controller58",description:"Undefined",position:"lsb"},{number:59,name:"controller59",description:"Undefined",position:"lsb"},{number:60,name:"controller60",description:"Undefined",position:"lsb"},{number:61,name:"controller61",description:"Undefined",position:"lsb"},{number:62,name:"controller62",description:"Undefined",position:"lsb"},{number:63,name:"controller63",description:"Undefined",position:"lsb"},{number:64,name:"damperpedal",description:"Damper Pedal On/Off"},{number:65,name:"portamento",description:"Portamento On/Off"},{number:66,name:"sostenuto",description:"Sostenuto On/Off"},{number:67,name:"softpedal",description:"Soft Pedal On/Off"},{number:68,name:"legatopedal",description:"Legato Pedal On/Off"},{number:69,name:"hold2",description:"Hold 2 On/Off"},{number:70,name:"soundvariation",description:"Sound Variation",position:"lsb"},{number:71,name:"resonance",description:"Resonance",position:"lsb"},{number:72,name:"releasetime",description:"Release Time",position:"lsb"},{number:73,name:"attacktime",description:"Attack Time",position:"lsb"},{number:74,name:"brightness",description:"Brightness",position:"lsb"},{number:75,name:"decaytime",description:"Decay Time",position:"lsb"},{number:76,name:"vibratorate",description:"Vibrato Rate",position:"lsb"},{number:77,name:"vibratodepth",description:"Vibrato Depth",position:"lsb"},{number:78,name:"vibratodelay",description:"Vibrato Delay",position:"lsb"},{number:79,name:"controller79",description:"Undefined",position:"lsb"},{number:80,name:"generalpurposecontroller5",description:"General Purpose Controller 5",position:"lsb"},{number:81,name:"generalpurposecontroller6",description:"General Purpose Controller 6",position:"lsb"},{number:82,name:"generalpurposecontroller7",description:"General Purpose Controller 7",position:"lsb"},{number:83,name:"generalpurposecontroller8",description:"General Purpose Controller 8",position:"lsb"},{number:84,name:"portamentocontrol",description:"Portamento Control",position:"lsb"},{number:85,name:"controller85",description:"Undefined"},{number:86,name:"controller86",description:"Undefined"},{number:87,name:"controller87",description:"Undefined"},{number:88,name:"highresolutionvelocityprefix",description:"High Resolution Velocity Prefix",position:"lsb"},{number:89,name:"controller89",description:"Undefined"},{number:90,name:"controller90",description:"Undefined"},{number:91,name:"effect1depth",description:"Effects 1 Depth (Reverb Send Level)"},{number:92,name:"effect2depth",description:"Effects 2 Depth"},{number:93,name:"effect3depth",description:"Effects 3 Depth (Chorus Send Level)"},{number:94,name:"effect4depth",description:"Effects 4 Depth"},{number:95,name:"effect5depth",description:"Effects 5 Depth"},{number:96,name:"dataincrement",description:"Data Increment"},{number:97,name:"datadecrement",description:"Data Decrement"},{number:98,name:"nonregisteredparameterfine",description:"Non-Registered Parameter Number (Fine)",position:"lsb"},{number:99,name:"nonregisteredparametercoarse",description:"Non-Registered Parameter Number (Coarse)",position:"msb"},{number:100,name:"registeredparameterfine",description:"Registered Parameter Number (Fine)",position:"lsb"},{number:101,name:"registeredparametercoarse",description:"Registered Parameter Number (Coarse)",position:"msb"},{number:102,name:"controller102",description:"Undefined"},{number:103,name:"controller103",description:"Undefined"},{number:104,name:"controller104",description:"Undefined"},{number:105,name:"controller105",description:"Undefined"},{number:106,name:"controller106",description:"Undefined"},{number:107,name:"controller107",description:"Undefined"},{number:108,name:"controller108",description:"Undefined"},{number:109,name:"controller109",description:"Undefined"},{number:110,name:"controller110",description:"Undefined"},{number:111,name:"controller111",description:"Undefined"},{number:112,name:"controller112",description:"Undefined"},{number:113,name:"controller113",description:"Undefined"},{number:114,name:"controller114",description:"Undefined"},{number:115,name:"controller115",description:"Undefined"},{number:116,name:"controller116",description:"Undefined"},{number:117,name:"controller117",description:"Undefined"},{number:118,name:"controller118",description:"Undefined"},{number:119,name:"controller119",description:"Undefined"},{number:120,name:"allsoundoff",description:"All Sound Off"},{number:121,name:"resetallcontrollers",description:"Reset All Controllers"},{number:122,name:"localcontrol",description:"Local Control On/Off"},{number:123,name:"allnotesoff",description:"All Notes Off"},{number:124,name:"omnimodeoff",description:"Omni Mode Off"},{number:125,name:"omnimodeon",description:"Omni Mode On"},{number:126,name:"monomodeon",description:"Mono Mode On"},{number:127,name:"polymodeon",description:"Poly Mode On"}]}static get REGISTERED_PARAMETERS(){return{pitchbendrange:[0,0],channelfinetuning:[0,1],channelcoarsetuning:[0,2],tuningprogram:[0,3],tuningbank:[0,4],modulationrange:[0,5],azimuthangle:[61,0],elevationangle:[61,1],gain:[61,2],distanceratio:[61,3],maximumdistance:[61,4],maximumdistancegain:[61,5],referencedistanceratio:[61,6],panspreadangle:[61,7],rollangle:[61,8]}}static get MIDI_REGISTERED_PARAMETERS(){return this.validation&&console.warn("The MIDI_REGISTERED_PARAMETERS enum has been deprecated. Use the Enumerations.REGISTERED_PARAMETERS enum instead."),_.MIDI_REGISTERED_PARAMETERS}static get SYSTEM_MESSAGES(){return{sysex:240,timecode:241,songposition:242,songselect:243,tunerequest:246,tuningrequest:246,sysexend:247,clock:248,start:250,continue:251,stop:252,activesensing:254,reset:255,midimessage:0,unknownsystemmessage:-1}}static get MIDI_SYSTEM_MESSAGES(){return this.validation&&console.warn("The MIDI_SYSTEM_MESSAGES enum has been deprecated. Use the Enumerations.SYSTEM_MESSAGES enum instead."),_.SYSTEM_MESSAGES}static get CHANNEL_EVENTS(){return["noteoff","controlchange","noteon","keyaftertouch","programchange","channelaftertouch","pitchbend","allnotesoff","allsoundoff","localcontrol","monomode","omnimode","resetallcontrollers","nrpn","nrpn-dataentrycoarse","nrpn-dataentryfine","nrpn-dataincrement","nrpn-datadecrement","rpn","rpn-dataentrycoarse","rpn-dataentryfine","rpn-dataincrement","rpn-datadecrement","nrpn-databuttonincrement","nrpn-databuttondecrement","rpn-databuttonincrement","rpn-databuttondecrement"]}}/** - * The `Note` class represents a single musical note such as `"D3"`, `"G#4"`, `"F-1"`, `"Gb7"`, etc. - * - * `Note` objects can be played back on a single channel by calling - * [`OutputChannel.playNote()`]{@link OutputChannel#playNote} or, on multiple channels of the same - * output, by calling [`Output.playNote()`]{@link Output#playNote}. - * - * The note has [`attack`](#attack) and [`release`](#release) velocities set at `0.5` by default. - * These can be changed by passing in the appropriate option. It is also possible to set a - * system-wide default for attack and release velocities by using the - * [`WebMidi.defaults`](WebMidi#defaults) property. - * - * If you prefer to work with raw MIDI values (`0` to `127`), you can use [`rawAttack`](#rawAttack) and - * [`rawRelease`](#rawRelease) to both get and set the values. - * - * The note may have a [`duration`](#duration). If it does, playback will be automatically stopped - * when the duration has elapsed by sending a `"noteoff"` event. By default, the duration is set to - * `Infinity`. In this case, it will never stop playing unless explicitly stopped by calling a - * method such as [`OutputChannel.stopNote()`]{@link OutputChannel#stopNote}, - * [`Output.stopNote()`]{@link Output#stopNote} or similar. - * - * @license Apache-2.0 - * @since 3.0.0 - */let ho=class{constructor(e,n={}){this.duration=J.defaults.note.duration,this.attack=J.defaults.note.attack,this.release=J.defaults.note.release,n.duration!=null&&(this.duration=n.duration),n.attack!=null&&(this.attack=n.attack),n.rawAttack!=null&&(this.attack=K.from7bitToFloat(n.rawAttack)),n.release!=null&&(this.release=n.release),n.rawRelease!=null&&(this.release=K.from7bitToFloat(n.rawRelease)),Number.isInteger(e)?this.identifier=K.toNoteIdentifier(e):this.identifier=e}get identifier(){return this._name+(this._accidental||"")+this._octave}set identifier(e){const n=K.getNoteDetails(e);if(J.validation&&!e)throw new Error("Invalid note identifier");this._name=n.name,this._accidental=n.accidental,this._octave=n.octave}get name(){return this._name}set name(e){if(J.validation&&(e=e.toUpperCase(),!["C","D","E","F","G","A","B"].includes(e)))throw new Error("Invalid name value");this._name=e}get accidental(){return this._accidental}set accidental(e){if(J.validation&&(e=e.toLowerCase(),!["#","##","b","bb"].includes(e)))throw new Error("Invalid accidental value");this._accidental=e}get octave(){return this._octave}set octave(e){if(J.validation&&(e=parseInt(e),isNaN(e)))throw new Error("Invalid octave value");this._octave=e}get duration(){return this._duration}set duration(e){if(J.validation&&(e=parseFloat(e),isNaN(e)||e===null||e<0))throw new RangeError("Invalid duration value.");this._duration=e}get attack(){return this._attack}set attack(e){if(J.validation&&(e=parseFloat(e),isNaN(e)||!(e>=0&&e<=1)))throw new RangeError("Invalid attack value.");this._attack=e}get release(){return this._release}set release(e){if(J.validation&&(e=parseFloat(e),isNaN(e)||!(e>=0&&e<=1)))throw new RangeError("Invalid release value.");this._release=e}get rawAttack(){return K.fromFloatTo7Bit(this._attack)}set rawAttack(e){this._attack=K.from7bitToFloat(e)}get rawRelease(){return K.fromFloatTo7Bit(this._release)}set rawRelease(e){this._release=K.from7bitToFloat(e)}get number(){return K.toNoteNumber(this.identifier)}getOffsetNumber(e=0,n=0){return J.validation&&(e=parseInt(e)||0,n=parseInt(n)||0),Math.min(Math.max(this.number+e*12+n,0),127)}};/** - * The `Utilities` class contains general-purpose utility methods. All methods are static and - * should be called using the class name. For example: `Utilities.getNoteDetails("C4")`. - * - * @license Apache-2.0 - * @since 3.0.0 - */class K{static toNoteNumber(e,n=0){if(n=n==null?0:parseInt(n),isNaN(n))throw new RangeError("Invalid 'octaveOffset' value");typeof e!="string"&&(e="");const i=this.getNoteDetails(e);if(!i)throw new TypeError("Invalid note identifier");const o={C:0,D:2,E:4,F:5,G:7,A:9,B:11};let a=(i.octave+1+n)*12;if(a+=o[i.name],i.accidental&&(i.accidental.startsWith("b")?a-=i.accidental.length:a+=i.accidental.length),a<0||a>127)throw new RangeError("Invalid octaveOffset value");return a}static getNoteDetails(e){Number.isInteger(e)&&(e=this.toNoteIdentifier(e));const n=e.match(/^([CDEFGAB])(#{0,2}|b{0,2})(-?\d+)$/i);if(!n)throw new TypeError("Invalid note identifier");const i=n[1].toUpperCase(),o=parseInt(n[3]);let a=n[2].toLowerCase();return a=a===""?void 0:a,{accidental:a,identifier:i+(a||"")+o,name:i,octave:o}}static sanitizeChannels(e){let n;if(J.validation){if(e==="all")n=["all"];else if(e==="none")return[]}return Array.isArray(e)?n=e:n=[e],n.indexOf("all")>-1&&(n=_.MIDI_CHANNEL_NUMBERS),n.map(function(i){return parseInt(i)}).filter(function(i){return i>=1&&i<=16})}static toTimestamp(e){let n=!1;const i=parseFloat(e);return isNaN(i)?!1:(typeof e=="string"&&e.substring(0,1)==="+"?i>=0&&(n=J.time+i):i>=0&&(n=i),n)}static guessNoteNumber(e,n){n=parseInt(n)||0;let i=!1;if(Number.isInteger(e)&&e>=0&&e<=127)i=parseInt(e);else if(parseInt(e)>=0&&parseInt(e)<=127)i=parseInt(e);else if(typeof e=="string"||e instanceof String)try{i=this.toNoteNumber(e.trim(),n)}catch{return!1}return i}static toNoteIdentifier(e,n){if(e=parseInt(e),isNaN(e)||e<0||e>127)throw new RangeError("Invalid note number");if(n=n==null?0:parseInt(n),isNaN(n))throw new RangeError("Invalid octaveOffset value");const i=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],o=Math.floor(e/12-1)+n;return i[e%12]+o.toString()}static buildNote(e,n={}){if(n.octaveOffset=parseInt(n.octaveOffset)||0,e instanceof ho)return e;let i=this.guessNoteNumber(e,n.octaveOffset);if(i===!1)throw new TypeError(`The input could not be parsed as a note (${e})`);return n.octaveOffset=void 0,new ho(i,n)}static buildNoteArray(e,n={}){let i=[];return Array.isArray(e)||(e=[e]),e.forEach(o=>{i.push(this.buildNote(o,n))}),i}static from7bitToFloat(e){return e===1/0&&(e=127),e=parseInt(e)||0,Math.min(Math.max(e/127,0),1)}static fromFloatTo7Bit(e){return e===1/0&&(e=1),e=parseFloat(e)||0,Math.min(Math.max(Math.round(e*127),0),127)}static fromMsbLsbToFloat(e,n=0){J.validation&&(e=Math.min(Math.max(parseInt(e)||0,0),127),n=Math.min(Math.max(parseInt(n)||0,0),127));const i=((e<<7)+n)/16383;return Math.min(Math.max(i,0),1)}static fromFloatToMsbLsb(e){J.validation&&(e=Math.min(Math.max(parseFloat(e)||0,0),1));const n=Math.round(e*16383);return{msb:n>>7,lsb:n&127}}static offsetNumber(e,n=0,i=0){if(J.validation){if(e=parseInt(e),isNaN(e))throw new Error("Invalid note number");n=parseInt(n)||0,i=parseInt(i)||0}return Math.min(Math.max(e+n*12+i,0),127)}static getPropertyByValue(e,n){return Object.keys(e).find(i=>e[i]===n)}static getCcNameByNumber(e){if(!(J.validation&&(e=parseInt(e),!(e>=0&&e<=127))))return _.CONTROL_CHANGE_MESSAGES[e].name}static getCcNumberByName(e){let n=_.CONTROL_CHANGE_MESSAGES.find(i=>i.name===e);return n?n.number:_.MIDI_CONTROL_CHANGE_MESSAGES[e]}static getChannelModeByNumber(e){if(!(e>=120&&e<=127))return!1;for(let n in _.CHANNEL_MODE_MESSAGES)if(_.CHANNEL_MODE_MESSAGES.hasOwnProperty(n)&&e===_.CHANNEL_MODE_MESSAGES[n])return n;return!1}static get isNode(){return typeof process<"u"&&process.versions!=null&&process.versions.node!=null}static get isBrowser(){return typeof window<"u"&&typeof window.document<"u"}}/** - * The `OutputChannel` class represents a single output MIDI channel. `OutputChannel` objects are - * provided by an [`Output`](Output) port which, itself, is made available by a device. The - * `OutputChannel` object is derived from the host's MIDI subsystem and should not be instantiated - * directly. - * - * All 16 `OutputChannel` objects can be found inside the parent output's - * [`channels`]{@link Output#channels} property. - * - * @param {Output} output The [`Output`](Output) this channel belongs to. - * @param {number} number The MIDI channel number (`1` - `16`). - * - * @extends EventEmitter - * @license Apache-2.0 - * @since 3.0.0 - */class QD extends Ra{constructor(e,n){super(),this._output=e,this._number=n,this._octaveOffset=0}destroy(){this._output=null,this._number=null,this._octaveOffset=0,this.removeListener()}send(e,n={time:0}){return this.output.send(e,n),this}sendKeyAftertouch(e,n,i={}){if(J.validation){if(i.useRawValue&&(i.rawValue=i.useRawValue),isNaN(parseFloat(n)))throw new RangeError("Invalid key aftertouch value.");if(i.rawValue){if(!(n>=0&&n<=127&&Number.isInteger(n)))throw new RangeError("Key aftertouch raw value must be an integer between 0 and 127.")}else if(!(n>=0&&n<=1))throw new RangeError("Key aftertouch value must be a float between 0 and 1.")}i.rawValue||(n=K.fromFloatTo7Bit(n));const o=J.octaveOffset+this.output.octaveOffset+this.octaveOffset;return Array.isArray(e)||(e=[e]),K.buildNoteArray(e).forEach(a=>{this.send([(_.CHANNEL_MESSAGES.keyaftertouch<<4)+(this.number-1),a.getOffsetNumber(o),n],{time:K.toTimestamp(i.time)})}),this}sendControlChange(e,n,i={}){if(typeof e=="string"&&(e=K.getCcNumberByName(e)),Array.isArray(n)||(n=[n]),J.validation){if(e===void 0)throw new TypeError("Control change must be identified with a valid name or an integer between 0 and 127.");if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new TypeError("Control change number must be an integer between 0 and 127.");if(n=n.map(o=>{const a=Math.min(Math.max(parseInt(o),0),127);if(isNaN(a))throw new TypeError("Values must be integers between 0 and 127");return a}),n.length===2&&e>=32)throw new TypeError("To use a value array, the controller must be between 0 and 31")}return n.forEach((o,a)=>{this.send([(_.CHANNEL_MESSAGES.controlchange<<4)+(this.number-1),e+a*32,n[a]],{time:K.toTimestamp(i.time)})}),this}_selectNonRegisteredParameter(e,n={}){return this.sendControlChange(99,e[0],n),this.sendControlChange(98,e[1],n),this}_deselectRegisteredParameter(e={}){return this.sendControlChange(101,127,e),this.sendControlChange(100,127,e),this}_deselectNonRegisteredParameter(e={}){return this.sendControlChange(101,127,e),this.sendControlChange(100,127,e),this}_selectRegisteredParameter(e,n={}){return this.sendControlChange(101,e[0],n),this.sendControlChange(100,e[1],n),this}_setCurrentParameter(e,n={}){return e=[].concat(e),this.sendControlChange(6,e[0],n),e.length<2?this:(this.sendControlChange(38,e[1],n),this)}sendRpnDecrement(e,n={}){if(Array.isArray(e)||(e=_.REGISTERED_PARAMETERS[e]),J.validation){if(e===void 0)throw new TypeError("The specified registered parameter is invalid.");let i=!1;if(Object.getOwnPropertyNames(_.REGISTERED_PARAMETERS).forEach(o=>{_.REGISTERED_PARAMETERS[o][0]===e[0]&&_.REGISTERED_PARAMETERS[o][1]===e[1]&&(i=!0)}),!i)throw new TypeError("The specified registered parameter is invalid.")}return this._selectRegisteredParameter(e,n),this.sendControlChange(97,0,n),this._deselectRegisteredParameter(n),this}sendRpnIncrement(e,n={}){if(Array.isArray(e)||(e=_.REGISTERED_PARAMETERS[e]),J.validation){if(e===void 0)throw new TypeError("The specified registered parameter is invalid.");let i=!1;if(Object.getOwnPropertyNames(_.REGISTERED_PARAMETERS).forEach(o=>{_.REGISTERED_PARAMETERS[o][0]===e[0]&&_.REGISTERED_PARAMETERS[o][1]===e[1]&&(i=!0)}),!i)throw new TypeError("The specified registered parameter is invalid.")}return this._selectRegisteredParameter(e,n),this.sendControlChange(96,0,n),this._deselectRegisteredParameter(n),this}playNote(e,n={}){this.sendNoteOn(e,n);const i=Array.isArray(e)?e:[e];for(let o of i)if(parseInt(o.duration)>0){const a={time:(K.toTimestamp(n.time)||J.time)+parseInt(o.duration),release:o.release,rawRelease:o.rawRelease};this.sendNoteOff(o,a)}else if(parseInt(n.duration)>0){const a={time:(K.toTimestamp(n.time)||J.time)+parseInt(n.duration),release:n.release,rawRelease:n.rawRelease};this.sendNoteOff(o,a)}return this}sendNoteOff(e,n={}){if(J.validation){if(n.rawRelease!=null&&!(n.rawRelease>=0&&n.rawRelease<=127))throw new RangeError("The 'rawRelease' option must be an integer between 0 and 127");if(n.release!=null&&!(n.release>=0&&n.release<=1))throw new RangeError("The 'release' option must be an number between 0 and 1");n.rawVelocity&&(n.rawRelease=n.velocity,console.warn("The 'rawVelocity' option is deprecated. Use 'rawRelease' instead.")),n.velocity&&(n.release=n.velocity,console.warn("The 'velocity' option is deprecated. Use 'attack' instead."))}let i=64;n.rawRelease!=null?i=n.rawRelease:isNaN(n.release)||(i=Math.round(n.release*127));const o=J.octaveOffset+this.output.octaveOffset+this.octaveOffset;return K.buildNoteArray(e,{rawRelease:parseInt(i)}).forEach(a=>{this.send([(_.CHANNEL_MESSAGES.noteoff<<4)+(this.number-1),a.getOffsetNumber(o),a.rawRelease],{time:K.toTimestamp(n.time)})}),this}stopNote(e,n={}){return this.sendNoteOff(e,n)}sendNoteOn(e,n={}){if(J.validation){if(n.rawAttack!=null&&!(n.rawAttack>=0&&n.rawAttack<=127))throw new RangeError("The 'rawAttack' option must be an integer between 0 and 127");if(n.attack!=null&&!(n.attack>=0&&n.attack<=1))throw new RangeError("The 'attack' option must be an number between 0 and 1");n.rawVelocity&&(n.rawAttack=n.velocity,n.rawRelease=n.release,console.warn("The 'rawVelocity' option is deprecated. Use 'rawAttack' or 'rawRelease'.")),n.velocity&&(n.attack=n.velocity,console.warn("The 'velocity' option is deprecated. Use 'attack' instead."))}let i=64;n.rawAttack!=null?i=n.rawAttack:isNaN(n.attack)||(i=Math.round(n.attack*127));const o=J.octaveOffset+this.output.octaveOffset+this.octaveOffset;return K.buildNoteArray(e,{rawAttack:i}).forEach(a=>{this.send([(_.CHANNEL_MESSAGES.noteon<<4)+(this.number-1),a.getOffsetNumber(o),a.rawAttack],{time:K.toTimestamp(n.time)})}),this}sendChannelMode(e,n=0,i={}){if(typeof e=="string"&&(e=_.CHANNEL_MODE_MESSAGES[e]),J.validation){if(e===void 0)throw new TypeError("Invalid channel mode message name or number.");if(isNaN(e)||!(e>=120&&e<=127))throw new TypeError("Invalid channel mode message number.");if(isNaN(parseInt(n))||n<0||n>127)throw new RangeError("Value must be an integer between 0 and 127.")}return this.send([(_.CHANNEL_MESSAGES.controlchange<<4)+(this.number-1),e,n],{time:K.toTimestamp(i.time)}),this}sendOmniMode(e,n={}){return e===void 0||e?this.sendChannelMode("omnimodeon",0,n):this.sendChannelMode("omnimodeoff",0,n),this}sendChannelAftertouch(e,n={}){if(J.validation){if(isNaN(parseFloat(e)))throw new RangeError("Invalid channel aftertouch value.");if(n.rawValue){if(!(e>=0&&e<=127&&Number.isInteger(e)))throw new RangeError("Channel aftertouch raw value must be an integer between 0 and 127.")}else if(!(e>=0&&e<=1))throw new RangeError("Channel aftertouch value must be a float between 0 and 1.")}return n.rawValue||(e=K.fromFloatTo7Bit(e)),this.send([(_.CHANNEL_MESSAGES.channelaftertouch<<4)+(this.number-1),Math.round(e)],{time:K.toTimestamp(n.time)}),this}sendMasterTuning(e,n={}){if(e=parseFloat(e)||0,J.validation&&!(e>-65&&e<64))throw new RangeError("The value must be a decimal number larger than -65 and smaller than 64.");let i=Math.floor(e)+64,o=e-Math.floor(e);o=Math.round((o+1)/2*16383);let a=o>>7&127,s=o&127;return this.sendRpnValue("channelcoarsetuning",i,n),this.sendRpnValue("channelfinetuning",[a,s],n),this}sendModulationRange(e,n,i={}){if(J.validation){if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new RangeError("The semitones value must be an integer between 0 and 127.");if(n!=null&&(!Number.isInteger(n)||!(n>=0&&n<=127)))throw new RangeError("If specified, the cents value must be an integer between 0 and 127.")}return n>=0&&n<=127||(n=0),this.sendRpnValue("modulationrange",[e,n],i),this}sendNrpnValue(e,n,i={}){if(n=[].concat(n),J.validation){if(!Array.isArray(e)||!Number.isInteger(e[0])||!Number.isInteger(e[1]))throw new TypeError("The specified NRPN is invalid.");if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The first byte of the NRPN must be between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The second byte of the NRPN must be between 0 and 127.");n.forEach(o=>{if(!(o>=0&&o<=127))throw new RangeError("The data bytes of the NRPN must be between 0 and 127.")})}return this._selectNonRegisteredParameter(e,i),this._setCurrentParameter(n,i),this._deselectNonRegisteredParameter(i),this}sendPitchBend(e,n={}){if(J.validation)if(n.rawValue&&Array.isArray(e)){if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The pitch bend MSB must be an integer between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The pitch bend LSB must be an integer between 0 and 127.")}else if(n.rawValue&&!Array.isArray(e)){if(!(e>=0&&e<=127))throw new RangeError("The pitch bend MSB must be an integer between 0 and 127.")}else{if(isNaN(e)||e===null)throw new RangeError("Invalid pitch bend value.");if(!(e>=-1&&e<=1))throw new RangeError("The pitch bend value must be a float between -1 and 1.")}let i=0,o=0;if(n.rawValue&&Array.isArray(e))i=e[0],o=e[1];else if(n.rawValue&&!Array.isArray(e))i=e;else{const a=K.fromFloatToMsbLsb((e+1)/2);i=a.msb,o=a.lsb}return this.send([(_.CHANNEL_MESSAGES.pitchbend<<4)+(this.number-1),o,i],{time:K.toTimestamp(n.time)}),this}sendPitchBendRange(e,n,i={}){if(J.validation){if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new RangeError("The semitones value must be an integer between 0 and 127.");if(!Number.isInteger(n)||!(n>=0&&n<=127))throw new RangeError("The cents value must be an integer between 0 and 127.")}return this.sendRpnValue("pitchbendrange",[e,n],i),this}sendProgramChange(e,n={}){if(e=parseInt(e)||0,J.validation&&!(e>=0&&e<=127))throw new RangeError("The program number must be between 0 and 127.");return this.send([(_.CHANNEL_MESSAGES.programchange<<4)+(this.number-1),e],{time:K.toTimestamp(n.time)}),this}sendRpnValue(e,n,i={}){if(Array.isArray(e)||(e=_.REGISTERED_PARAMETERS[e]),J.validation){if(!Number.isInteger(e[0])||!Number.isInteger(e[1]))throw new TypeError("The specified NRPN is invalid.");if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The first byte of the RPN must be between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The second byte of the RPN must be between 0 and 127.");[].concat(n).forEach(o=>{if(!(o>=0&&o<=127))throw new RangeError("The data bytes of the RPN must be between 0 and 127.")})}return this._selectRegisteredParameter(e,i),this._setCurrentParameter(n,i),this._deselectRegisteredParameter(i),this}sendTuningBank(e,n={}){if(J.validation&&(!Number.isInteger(e)||!(e>=0&&e<=127)))throw new RangeError("The tuning bank number must be between 0 and 127.");return this.sendRpnValue("tuningbank",e,n),this}sendTuningProgram(e,n={}){if(J.validation&&(!Number.isInteger(e)||!(e>=0&&e<=127)))throw new RangeError("The tuning program number must be between 0 and 127.");return this.sendRpnValue("tuningprogram",e,n),this}sendLocalControl(e,n={}){return e?this.sendChannelMode("localcontrol",127,n):this.sendChannelMode("localcontrol",0,n)}sendAllNotesOff(e={}){return this.sendChannelMode("allnotesoff",0,e)}sendAllSoundOff(e={}){return this.sendChannelMode("allsoundoff",0,e)}sendResetAllControllers(e={}){return this.sendChannelMode("resetallcontrollers",0,e)}sendPolyphonicMode(e,n={}){return e==="mono"?this.sendChannelMode("monomodeon",0,n):this.sendChannelMode("polymodeon",0,n)}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get output(){return this._output}get number(){return this._number}}/** - * The `Output` class represents a single MIDI output port (not to be confused with a MIDI channel). - * A port is made available by a MIDI device. A MIDI device can advertise several input and output - * ports. Each port has 16 MIDI channels which can be accessed via the [`channels`](#channels) - * property. - * - * The `Output` object is automatically instantiated by the library according to the host's MIDI - * subsystem and should not be directly instantiated. - * - * You can access all available `Output` objects by referring to the - * [`WebMidi.outputs`](WebMidi#outputs) array or by using methods such as - * [`WebMidi.getOutputByName()`](WebMidi#getOutputByName) or - * [`WebMidi.getOutputById()`](WebMidi#getOutputById). - * - * @fires Output#opened - * @fires Output#disconnected - * @fires Output#closed - * - * @extends EventEmitter - * @license Apache-2.0 - */class ml extends Ra{constructor(e){super(),this._midiOutput=e,this._octaveOffset=0,this.channels=[];for(let n=1;n<=16;n++)this.channels[n]=new QD(this,n);this._midiOutput.onstatechange=this._onStateChange.bind(this)}async destroy(){this.removeListener(),this.channels.forEach(e=>e.destroy()),this.channels=[],this._midiOutput&&(this._midiOutput.onstatechange=null),await this.close(),this._midiOutput=null}_onStateChange(e){let n={timestamp:J.time};e.port.connection==="open"?(n.type="opened",n.target=this,n.port=n.target,this.emit("opened",n)):e.port.connection==="closed"&&e.port.state==="connected"?(n.type="closed",n.target=this,n.port=n.target,this.emit("closed",n)):e.port.connection==="closed"&&e.port.state==="disconnected"?(n.type="disconnected",n.port={connection:e.port.connection,id:e.port.id,manufacturer:e.port.manufacturer,name:e.port.name,state:e.port.state,type:e.port.type},this.emit("disconnected",n)):e.port.connection==="pending"&&e.port.state==="disconnected"||console.warn("This statechange event was not caught:",e.port.connection,e.port.state)}async open(){try{return await this._midiOutput.open(),Promise.resolve(this)}catch(e){return Promise.reject(e)}}async close(){this._midiOutput?await this._midiOutput.close():await Promise.resolve()}send(e,n={time:0},i=0){if(e instanceof WI&&(e=K.isNode?e.data:e.rawData),e instanceof Uint8Array&&K.isNode&&(e=Array.from(e)),J.validation){if(!Array.isArray(e)&&!(e instanceof Uint8Array)&&(e=[e],Array.isArray(n)&&(e=e.concat(n)),n=isNaN(i)?{time:0}:{time:i}),!(parseInt(e[0])>=128&&parseInt(e[0])<=255))throw new RangeError("The first byte (status) must be an integer between 128 and 255.");e.slice(1).forEach(o=>{if(o=parseInt(o),!(o>=0&&o<=255))throw new RangeError("Data bytes must be integers between 0 and 255.")}),n||(n={time:0})}return this._midiOutput.send(e,K.toTimestamp(n.time)),this}sendSysex(e,n=[],i={}){if(e=[].concat(e),n instanceof Uint8Array){const o=new Uint8Array(1+e.length+n.length+1);o[0]=_.SYSTEM_MESSAGES.sysex,o.set(Uint8Array.from(e),1),o.set(n,1+e.length),o[o.length-1]=_.SYSTEM_MESSAGES.sysexend,this.send(o,{time:i.time})}else{const o=e.concat(n,_.SYSTEM_MESSAGES.sysexend);this.send([_.SYSTEM_MESSAGES.sysex].concat(o),{time:i.time})}return this}clear(){return this._midiOutput.clear?this._midiOutput.clear():J.validation&&console.warn("The 'clear()' method has not yet been implemented in your environment."),this}sendTimecodeQuarterFrame(e,n={}){if(J.validation&&(e=parseInt(e),isNaN(e)||!(e>=0&&e<=127)))throw new RangeError("The value must be an integer between 0 and 127.");return this.send([_.SYSTEM_MESSAGES.timecode,e],{time:n.time}),this}sendSongPosition(e=0,n={}){e=Math.floor(e)||0;var i=e>>7&127,o=e&127;return this.send([_.SYSTEM_MESSAGES.songposition,i,o],{time:n.time}),this}sendSongSelect(e=0,n={}){if(J.validation&&(e=parseInt(e),isNaN(e)||!(e>=0&&e<=127)))throw new RangeError("The program value must be between 0 and 127");return this.send([_.SYSTEM_MESSAGES.songselect,e],{time:n.time}),this}sendTuneRequest(e={}){return this.send([_.SYSTEM_MESSAGES.tunerequest],{time:e.time}),this}sendClock(e={}){return this.send([_.SYSTEM_MESSAGES.clock],{time:e.time}),this}sendStart(e={}){return this.send([_.SYSTEM_MESSAGES.start],{time:e.time}),this}sendContinue(e={}){return this.send([_.SYSTEM_MESSAGES.continue],{time:e.time}),this}sendStop(e={}){return this.send([_.SYSTEM_MESSAGES.stop],{time:e.time}),this}sendActiveSensing(e={}){return this.send([_.SYSTEM_MESSAGES.activesensing],{time:e.time}),this}sendReset(e={}){return this.send([_.SYSTEM_MESSAGES.reset],{time:e.time}),this}sendTuningRequest(e={}){return J.validation&&console.warn("The sendTuningRequest() method has been deprecated. Use sendTuningRequest() instead."),this.sendTuneRequest(e)}sendKeyAftertouch(e,n,i={}){return i.channels==null&&(i.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(i.channels).forEach(o=>{this.channels[o].sendKeyAftertouch(e,n,i)}),this}sendControlChange(e,n,i={},o={}){if(J.validation&&(Array.isArray(i)||Number.isInteger(i)||i==="all")){const a=i;i=o,i.channels=a,i.channels==="all"&&(i.channels=_.MIDI_CHANNEL_NUMBERS)}return i.channels==null&&(i.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(i.channels).forEach(a=>{this.channels[a].sendControlChange(e,n,i)}),this}sendPitchBendRange(e=0,n=0,i={}){return i.channels==null&&(i.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(i.channels).forEach(o=>{this.channels[o].sendPitchBendRange(e,n,i)}),this}setPitchBendRange(e=0,n=0,i="all",o={}){return J.validation&&(console.warn("The setPitchBendRange() method is deprecated. Use sendPitchBendRange() instead."),o.channels=i,o.channels==="all"&&(o.channels=_.MIDI_CHANNEL_NUMBERS)),this.sendPitchBendRange(e,n,o)}sendRpnValue(e,n,i={}){return i.channels==null&&(i.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(i.channels).forEach(o=>{this.channels[o].sendRpnValue(e,n,i)}),this}setRegisteredParameter(e,n=[],i="all",o={}){return J.validation&&(console.warn("The setRegisteredParameter() method is deprecated. Use sendRpnValue() instead."),o.channels=i,o.channels==="all"&&(o.channels=_.MIDI_CHANNEL_NUMBERS)),this.sendRpnValue(e,n,o)}sendChannelAftertouch(e,n={},i={}){if(J.validation&&(Array.isArray(n)||Number.isInteger(n)||n==="all")){const o=n;n=i,n.channels=o,n.channels==="all"&&(n.channels=_.MIDI_CHANNEL_NUMBERS)}return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(o=>{this.channels[o].sendChannelAftertouch(e,n)}),this}sendPitchBend(e,n={},i={}){if(J.validation&&(Array.isArray(n)||Number.isInteger(n)||n==="all")){const o=n;n=i,n.channels=o,n.channels==="all"&&(n.channels=_.MIDI_CHANNEL_NUMBERS)}return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(o=>{this.channels[o].sendPitchBend(e,n)}),this}sendProgramChange(e=0,n={},i={}){if(J.validation&&(Array.isArray(n)||Number.isInteger(n)||n==="all")){const o=n;n=i,n.channels=o,n.channels==="all"&&(n.channels=_.MIDI_CHANNEL_NUMBERS)}return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(o=>{this.channels[o].sendProgramChange(e,n)}),this}sendModulationRange(e,n,i={}){return i.channels==null&&(i.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(i.channels).forEach(o=>{this.channels[o].sendModulationRange(e,n,i)}),this}setModulationRange(e=0,n=0,i="all",o={}){return J.validation&&(console.warn("The setModulationRange() method is deprecated. Use sendModulationRange() instead."),o.channels=i,o.channels==="all"&&(o.channels=_.MIDI_CHANNEL_NUMBERS)),this.sendModulationRange(e,n,o)}sendMasterTuning(e,n={}){return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(i=>{this.channels[i].sendMasterTuning(e,n)}),this}setMasterTuning(e,n={},i={}){return J.validation&&(console.warn("The setMasterTuning() method is deprecated. Use sendMasterTuning() instead."),i.channels=n,i.channels==="all"&&(i.channels=_.MIDI_CHANNEL_NUMBERS)),this.sendMasterTuning(e,i)}sendTuningProgram(e,n={}){return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(i=>{this.channels[i].sendTuningProgram(e,n)}),this}setTuningProgram(e,n="all",i={}){return J.validation&&(console.warn("The setTuningProgram() method is deprecated. Use sendTuningProgram() instead."),i.channels=n,i.channels==="all"&&(i.channels=_.MIDI_CHANNEL_NUMBERS)),this.sendTuningProgram(e,i)}sendTuningBank(e=0,n={}){return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(i=>{this.channels[i].sendTuningBank(e,n)}),this}setTuningBank(e,n="all",i={}){return J.validation&&(console.warn("The setTuningBank() method is deprecated. Use sendTuningBank() instead."),i.channels=n,i.channels==="all"&&(i.channels=_.MIDI_CHANNEL_NUMBERS)),this.sendTuningBank(e,i)}sendChannelMode(e,n=0,i={},o={}){if(J.validation&&(Array.isArray(i)||Number.isInteger(i)||i==="all")){const a=i;i=o,i.channels=a,i.channels==="all"&&(i.channels=_.MIDI_CHANNEL_NUMBERS)}return i.channels==null&&(i.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(i.channels).forEach(a=>{this.channels[a].sendChannelMode(e,n,i)}),this}sendAllSoundOff(e={}){return e.channels==null&&(e.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(e.channels).forEach(n=>{this.channels[n].sendAllSoundOff(e)}),this}sendAllNotesOff(e={}){return e.channels==null&&(e.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(e.channels).forEach(n=>{this.channels[n].sendAllNotesOff(e)}),this}sendResetAllControllers(e={},n={}){if(J.validation&&(Array.isArray(e)||Number.isInteger(e)||e==="all")){const i=e;e=n,e.channels=i,e.channels==="all"&&(e.channels=_.MIDI_CHANNEL_NUMBERS)}return e.channels==null&&(e.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(e.channels).forEach(i=>{this.channels[i].sendResetAllControllers(e)}),this}sendPolyphonicMode(e,n={},i={}){if(J.validation&&(Array.isArray(n)||Number.isInteger(n)||n==="all")){const o=n;n=i,n.channels=o,n.channels==="all"&&(n.channels=_.MIDI_CHANNEL_NUMBERS)}return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(o=>{this.channels[o].sendPolyphonicMode(e,n)}),this}sendLocalControl(e,n={},i={}){if(J.validation&&(Array.isArray(n)||Number.isInteger(n)||n==="all")){const o=n;n=i,n.channels=o,n.channels==="all"&&(n.channels=_.MIDI_CHANNEL_NUMBERS)}return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(o=>{this.channels[o].sendLocalControl(e,n)}),this}sendOmniMode(e,n={},i={}){if(J.validation&&(Array.isArray(n)||Number.isInteger(n)||n==="all")){const o=n;n=i,n.channels=o,n.channels==="all"&&(n.channels=_.MIDI_CHANNEL_NUMBERS)}return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(o=>{this.channels[o].sendOmniMode(e,n)}),this}sendNrpnValue(e,n,i={}){return i.channels==null&&(i.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(i.channels).forEach(o=>{this.channels[o].sendNrpnValue(e,n,i)}),this}setNonRegisteredParameter(e,n=[],i="all",o={}){return J.validation&&(console.warn("The setNonRegisteredParameter() method is deprecated. Use sendNrpnValue() instead."),o.channels=i,o.channels==="all"&&(o.channels=_.MIDI_CHANNEL_NUMBERS)),this.sendNrpnValue(e,n,o)}sendRpnIncrement(e,n={}){return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(i=>{this.channels[i].sendRpnIncrement(e,n)}),this}incrementRegisteredParameter(e,n="all",i={}){return J.validation&&(console.warn("The incrementRegisteredParameter() method is deprecated. Use sendRpnIncrement() instead."),i.channels=n,i.channels==="all"&&(i.channels=_.MIDI_CHANNEL_NUMBERS)),this.sendRpnIncrement(e,i)}sendRpnDecrement(e,n={}){return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(i=>{this.channels[i].sendRpnDecrement(e,n)}),this}decrementRegisteredParameter(e,n="all",i={}){return J.validation&&(console.warn("The decrementRegisteredParameter() method is deprecated. Use sendRpnDecrement() instead."),i.channels=n,i.channels==="all"&&(i.channels=_.MIDI_CHANNEL_NUMBERS)),this.sendRpnDecrement(e,i)}sendNoteOff(e,n={},i={}){if(J.validation&&(Array.isArray(n)||Number.isInteger(n)||n==="all")){const o=n;n=i,n.channels=o,n.channels==="all"&&(n.channels=_.MIDI_CHANNEL_NUMBERS)}return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(o=>{this.channels[o].sendNoteOff(e,n)}),this}stopNote(e,n){return this.sendNoteOff(e,n)}playNote(e,n={},i={}){if(J.validation&&(n.rawVelocity&&console.warn("The 'rawVelocity' option is deprecated. Use 'rawAttack' instead."),n.velocity&&console.warn("The 'velocity' option is deprecated. Use 'velocity' instead."),Array.isArray(n)||Number.isInteger(n)||n==="all")){const o=n;n=i,n.channels=o,n.channels==="all"&&(n.channels=_.MIDI_CHANNEL_NUMBERS)}return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(o=>{this.channels[o].playNote(e,n)}),this}sendNoteOn(e,n={},i={}){if(J.validation&&(Array.isArray(n)||Number.isInteger(n)||n==="all")){const o=n;n=i,n.channels=o,n.channels==="all"&&(n.channels=_.MIDI_CHANNEL_NUMBERS)}return n.channels==null&&(n.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(n.channels).forEach(o=>{this.channels[o].sendNoteOn(e,n)}),this}get name(){return this._midiOutput.name}get id(){return this._midiOutput.id}get connection(){return this._midiOutput.connection}get manufacturer(){return this._midiOutput.manufacturer}get state(){return this._midiOutput.state}get type(){return this._midiOutput.type}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}}/** - * The `Forwarder` class allows the forwarding of MIDI messages to predetermined outputs. When you - * call its [`forward()`](#forward) method, it will send the specified [`Message`](Message) object - * to all the outputs listed in its [`destinations`](#destinations) property. - * - * If specific channels or message types have been defined in the [`channels`](#channels) or - * [`types`](#types) properties, only messages matching the channels/types will be forwarded. - * - * While it can be manually instantiated, you are more likely to come across a `Forwarder` object as - * the return value of the [`Input.addForwarder()`](Input#addForwarder) method. - * - * @license Apache-2.0 - * @since 3.0.0 - */class Bd{constructor(e=[],n={}){this.destinations=[],this.types=[...Object.keys(_.SYSTEM_MESSAGES),...Object.keys(_.CHANNEL_MESSAGES)],this.channels=_.MIDI_CHANNEL_NUMBERS,this.suspended=!1,Array.isArray(e)||(e=[e]),n.types&&!Array.isArray(n.types)&&(n.types=[n.types]),n.channels&&!Array.isArray(n.channels)&&(n.channels=[n.channels]),J.validation&&(e.forEach(i=>{if(!(i instanceof ml))throw new TypeError("Destinations must be of type 'Output'.")}),n.types!==void 0&&n.types.forEach(i=>{if(!_.SYSTEM_MESSAGES.hasOwnProperty(i)&&!_.CHANNEL_MESSAGES.hasOwnProperty(i))throw new TypeError("Type must be a valid message type.")}),n.channels!==void 0&&n.channels.forEach(i=>{if(!_.MIDI_CHANNEL_NUMBERS.includes(i))throw new TypeError("MIDI channel must be between 1 and 16.")})),this.destinations=e,n.types&&(this.types=n.types),n.channels&&(this.channels=n.channels)}forward(e){this.suspended||this.types.includes(e.type)&&(e.channel&&!this.channels.includes(e.channel)||this.destinations.forEach(n=>{J.validation&&!(n instanceof ml)||n.send(e)}))}}/** - * The `InputChannel` class represents a single MIDI input channel (1-16) from a single input - * device. This object is derived from the host's MIDI subsystem and should not be instantiated - * directly. - * - * All 16 `InputChannel` objects can be found inside the input's [`channels`](Input#channels) - * property. - * - * @fires InputChannel#midimessage - * @fires InputChannel#unknownmessage - * - * @fires InputChannel#noteoff - * @fires InputChannel#noteon - * @fires InputChannel#keyaftertouch - * @fires InputChannel#programchange - * @fires InputChannel#channelaftertouch - * @fires InputChannel#pitchbend - * - * @fires InputChannel#allnotesoff - * @fires InputChannel#allsoundoff - * @fires InputChannel#localcontrol - * @fires InputChannel#monomode - * @fires InputChannel#omnimode - * @fires InputChannel#resetallcontrollers - * - * @fires InputChannel#event:nrpn - * @fires InputChannel#event:nrpn-dataentrycoarse - * @fires InputChannel#event:nrpn-dataentryfine - * @fires InputChannel#event:nrpn-dataincrement - * @fires InputChannel#event:nrpn-datadecrement - * @fires InputChannel#event:rpn - * @fires InputChannel#event:rpn-dataentrycoarse - * @fires InputChannel#event:rpn-dataentryfine - * @fires InputChannel#event:rpn-dataincrement - * @fires InputChannel#event:rpn-datadecrement - * - * @fires InputChannel#controlchange - * @fires InputChannel#event:controlchange-controllerxxx - * @fires InputChannel#event:controlchange-bankselectcoarse - * @fires InputChannel#event:controlchange-modulationwheelcoarse - * @fires InputChannel#event:controlchange-breathcontrollercoarse - * @fires InputChannel#event:controlchange-footcontrollercoarse - * @fires InputChannel#event:controlchange-portamentotimecoarse - * @fires InputChannel#event:controlchange-dataentrycoarse - * @fires InputChannel#event:controlchange-volumecoarse - * @fires InputChannel#event:controlchange-balancecoarse - * @fires InputChannel#event:controlchange-pancoarse - * @fires InputChannel#event:controlchange-expressioncoarse - * @fires InputChannel#event:controlchange-effectcontrol1coarse - * @fires InputChannel#event:controlchange-effectcontrol2coarse - * @fires InputChannel#event:controlchange-generalpurposecontroller1 - * @fires InputChannel#event:controlchange-generalpurposecontroller2 - * @fires InputChannel#event:controlchange-generalpurposecontroller3 - * @fires InputChannel#event:controlchange-generalpurposecontroller4 - * @fires InputChannel#event:controlchange-bankselectfine - * @fires InputChannel#event:controlchange-modulationwheelfine - * @fires InputChannel#event:controlchange-breathcontrollerfine - * @fires InputChannel#event:controlchange-footcontrollerfine - * @fires InputChannel#event:controlchange-portamentotimefine - * @fires InputChannel#event:controlchange-dataentryfine - * @fires InputChannel#event:controlchange-channelvolumefine - * @fires InputChannel#event:controlchange-balancefine - * @fires InputChannel#event:controlchange-panfine - * @fires InputChannel#event:controlchange-expressionfine - * @fires InputChannel#event:controlchange-effectcontrol1fine - * @fires InputChannel#event:controlchange-effectcontrol2fine - * @fires InputChannel#event:controlchange-damperpedal - * @fires InputChannel#event:controlchange-portamento - * @fires InputChannel#event:controlchange-sostenuto - * @fires InputChannel#event:controlchange-softpedal - * @fires InputChannel#event:controlchange-legatopedal - * @fires InputChannel#event:controlchange-hold2 - * @fires InputChannel#event:controlchange-soundvariation - * @fires InputChannel#event:controlchange-resonance - * @fires InputChannel#event:controlchange-releasetime - * @fires InputChannel#event:controlchange-attacktime - * @fires InputChannel#event:controlchange-brightness - * @fires InputChannel#event:controlchange-decaytime - * @fires InputChannel#event:controlchange-vibratorate - * @fires InputChannel#event:controlchange-vibratodepth - * @fires InputChannel#event:controlchange-vibratodelay - * @fires InputChannel#event:controlchange-generalpurposecontroller5 - * @fires InputChannel#event:controlchange-generalpurposecontroller6 - * @fires InputChannel#event:controlchange-generalpurposecontroller7 - * @fires InputChannel#event:controlchange-generalpurposecontroller8 - * @fires InputChannel#event:controlchange-portamentocontrol - * @fires InputChannel#event:controlchange-highresolutionvelocityprefix - * @fires InputChannel#event:controlchange-effect1depth - * @fires InputChannel#event:controlchange-effect2depth - * @fires InputChannel#event:controlchange-effect3depth - * @fires InputChannel#event:controlchange-effect4depth - * @fires InputChannel#event:controlchange-effect5depth - * @fires InputChannel#event:controlchange-dataincrement - * @fires InputChannel#event:controlchange-datadecrement - * @fires InputChannel#event:controlchange-nonregisteredparameterfine - * @fires InputChannel#event:controlchange-nonregisteredparametercoarse - * @fires InputChannel#event:controlchange-registeredparameterfine - * @fires InputChannel#event:controlchange-registeredparametercoarse - * @fires InputChannel#event:controlchange-allsoundoff - * @fires InputChannel#event:controlchange-resetallcontrollers - * @fires InputChannel#event:controlchange-localcontrol - * @fires InputChannel#event:controlchange-allnotesoff - * @fires InputChannel#event:controlchange-omnimodeoff - * @fires InputChannel#event:controlchange-omnimodeon - * @fires InputChannel#event:controlchange-monomodeon - * @fires InputChannel#event:controlchange-polymodeon - * @fires InputChannel#event: - * - * @extends EventEmitter - * @license Apache-2.0 - * @since 3.0.0 - */class wD extends Ra{constructor(e,n){super(),this._input=e,this._number=n,this._octaveOffset=0,this._nrpnBuffer=[],this._rpnBuffer=[],this.parameterNumberEventsEnabled=!0,this.notesState=new Array(128).fill(!1)}destroy(){this._input=null,this._number=null,this._octaveOffset=0,this._nrpnBuffer=[],this.notesState=new Array(128).fill(!1),this.parameterNumberEventsEnabled=!1,this.removeListener()}_processMidiMessageEvent(e){const n=Object.assign({},e);n.port=this.input,n.target=this,n.type="midimessage",this.emit(n.type,n),this._parseEventForStandardMessages(n)}_parseEventForStandardMessages(e){const n=Object.assign({},e);n.type=n.message.type||"unknownmessage";const i=e.message.dataBytes[0],o=e.message.dataBytes[1];if(n.type==="noteoff"||n.type==="noteon"&&o===0)this.notesState[i]=!1,n.type="noteoff",n.note=new ho(K.offsetNumber(i,this.octaveOffset+this.input.octaveOffset+J.octaveOffset),{rawAttack:0,rawRelease:o}),n.value=K.from7bitToFloat(o),n.rawValue=o,n.velocity=n.note.release,n.rawVelocity=n.note.rawRelease;else if(n.type==="noteon")this.notesState[i]=!0,n.note=new ho(K.offsetNumber(i,this.octaveOffset+this.input.octaveOffset+J.octaveOffset),{rawAttack:o}),n.value=K.from7bitToFloat(o),n.rawValue=o,n.velocity=n.note.attack,n.rawVelocity=n.note.rawAttack;else if(n.type==="keyaftertouch")n.note=new ho(K.offsetNumber(i,this.octaveOffset+this.input.octaveOffset+J.octaveOffset)),n.value=K.from7bitToFloat(o),n.rawValue=o,n.identifier=n.note.identifier,n.key=n.note.number,n.rawKey=i;else if(n.type==="controlchange"){n.controller={number:i,name:_.CONTROL_CHANGE_MESSAGES[i].name,description:_.CONTROL_CHANGE_MESSAGES[i].description,position:_.CONTROL_CHANGE_MESSAGES[i].position},n.subtype=n.controller.name||"controller"+i,n.value=K.from7bitToFloat(o),n.rawValue=o;const a=Object.assign({},n);a.type=`${n.type}-controller${i}`,delete a.subtype,this.emit(a.type,a);const s=Object.assign({},n);s.type=`${n.type}-`+_.CONTROL_CHANGE_MESSAGES[i].name,delete s.subtype,s.type.indexOf("controller")!==0&&this.emit(s.type,s),n.message.dataBytes[0]>=120&&this._parseChannelModeMessage(n),this.parameterNumberEventsEnabled&&this._isRpnOrNrpnController(n.message.dataBytes[0])&&this._parseEventForParameterNumber(n)}else n.type==="programchange"?(n.value=i,n.rawValue=n.value):n.type==="channelaftertouch"?(n.value=K.from7bitToFloat(i),n.rawValue=i):n.type==="pitchbend"?(n.value=((o<<7)+i-8192)/8192,n.rawValue=(o<<7)+i):n.type="unknownmessage";this.emit(n.type,n)}_parseChannelModeMessage(e){const n=Object.assign({},e);n.type=n.controller.name,n.type==="localcontrol"&&(n.value=n.message.data[2]===127,n.rawValue=n.message.data[2]),n.type==="omnimodeon"?(n.type="omnimode",n.value=!0,n.rawValue=n.message.data[2]):n.type==="omnimodeoff"&&(n.type="omnimode",n.value=!1,n.rawValue=n.message.data[2]),n.type==="monomodeon"?(n.type="monomode",n.value=!0,n.rawValue=n.message.data[2]):n.type==="polymodeon"&&(n.type="monomode",n.value=!1,n.rawValue=n.message.data[2]),this.emit(n.type,n)}_parseEventForParameterNumber(e){const n=e.message.dataBytes[0],i=e.message.dataBytes[1];n===99||n===101?(this._nrpnBuffer=[],this._rpnBuffer=[],n===99?this._nrpnBuffer=[e.message]:i!==127&&(this._rpnBuffer=[e.message])):n===98||n===100?n===98?(this._rpnBuffer=[],this._nrpnBuffer.length===1?this._nrpnBuffer.push(e.message):this._nrpnBuffer=[]):(this._nrpnBuffer=[],this._rpnBuffer.length===1&&i!==127?this._rpnBuffer.push(e.message):this._rpnBuffer=[]):(n===6||n===38||n===96||n===97)&&(this._rpnBuffer.length===2?this._dispatchParameterNumberEvent("rpn",this._rpnBuffer[0].dataBytes[1],this._rpnBuffer[1].dataBytes[1],e):this._nrpnBuffer.length===2?this._dispatchParameterNumberEvent("nrpn",this._nrpnBuffer[0].dataBytes[1],this._nrpnBuffer[1].dataBytes[1],e):(this._nrpnBuffer=[],this._rpnBuffer=[]))}_isRpnOrNrpnController(e){return e===6||e===38||e===96||e===97||e===98||e===99||e===100||e===101}_dispatchParameterNumberEvent(e,n,i,o){e=e==="nrpn"?"nrpn":"rpn";const a={target:o.target,timestamp:o.timestamp,message:o.message,parameterMsb:n,parameterLsb:i,value:K.from7bitToFloat(o.message.dataBytes[1]),rawValue:o.message.dataBytes[1]};e==="rpn"?a.parameter=Object.keys(_.REGISTERED_PARAMETERS).find(r=>_.REGISTERED_PARAMETERS[r][0]===n&&_.REGISTERED_PARAMETERS[r][1]===i):a.parameter=(n<<7)+i;const s=_.CONTROL_CHANGE_MESSAGES[o.message.dataBytes[0]].name;a.type=`${e}-${s}`,this.emit(a.type,a);const A=Object.assign({},a);A.type==="nrpn-dataincrement"?A.type="nrpn-databuttonincrement":A.type==="nrpn-datadecrement"?A.type="nrpn-databuttondecrement":A.type==="rpn-dataincrement"?A.type="rpn-databuttonincrement":A.type==="rpn-datadecrement"&&(A.type="rpn-databuttondecrement"),this.emit(A.type,A),a.type=e,a.subtype=s,this.emit(a.type,a)}getChannelModeByNumber(e){return J.validation&&(console.warn("The 'getChannelModeByNumber()' method has been moved to the 'Utilities' class."),e=Math.floor(e)),K.getChannelModeByNumber(e)}getCcNameByNumber(e){if(J.validation&&(console.warn("The 'getCcNameByNumber()' method has been moved to the 'Utilities' class."),e=parseInt(e),!(e>=0&&e<=127)))throw new RangeError("Invalid control change number.");return K.getCcNameByNumber(e)}getNoteState(e){e instanceof ho&&(e=e.identifier);const n=K.guessNoteNumber(e,J.octaveOffset+this.input.octaveOffset+this.octaveOffset);return this.notesState[n]}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get input(){return this._input}get number(){return this._number}get nrpnEventsEnabled(){return this.parameterNumberEventsEnabled}set nrpnEventsEnabled(e){this.validation&&(e=!!e),this.parameterNumberEventsEnabled=e}}/** - * The `Message` class represents a single MIDI message. It has several properties that make it - * easy to make sense of the binary data it contains. - * - * @license Apache-2.0 - * @since 3.0.0 - */class WI{constructor(e){this.rawData=e,this.data=Array.from(this.rawData),this.statusByte=this.rawData[0],this.rawDataBytes=this.rawData.slice(1),this.dataBytes=this.data.slice(1),this.isChannelMessage=!1,this.isSystemMessage=!1,this.command=void 0,this.channel=void 0,this.manufacturerId=void 0,this.type=void 0,this.statusByte<240?(this.isChannelMessage=!0,this.command=this.statusByte>>4,this.channel=(this.statusByte&15)+1):(this.isSystemMessage=!0,this.command=this.statusByte),this.isChannelMessage?this.type=K.getPropertyByValue(_.CHANNEL_MESSAGES,this.command):this.isSystemMessage&&(this.type=K.getPropertyByValue(_.SYSTEM_MESSAGES,this.command)),this.statusByte===_.SYSTEM_MESSAGES.sysex&&(this.dataBytes[0]===0?(this.manufacturerId=this.dataBytes.slice(0,3),this.dataBytes=this.dataBytes.slice(3,this.rawDataBytes.length-1),this.rawDataBytes=this.rawDataBytes.slice(3,this.rawDataBytes.length-1)):(this.manufacturerId=[this.dataBytes[0]],this.dataBytes=this.dataBytes.slice(1,this.dataBytes.length-1),this.rawDataBytes=this.rawDataBytes.slice(1,this.rawDataBytes.length-1)))}}/** - * The `Input` class represents a single MIDI input port. This object is automatically instantiated - * by the library according to the host's MIDI subsystem and does not need to be directly - * instantiated. Instead, you can access all `Input` objects by referring to the - * [`WebMidi.inputs`](WebMidi#inputs) array. You can also retrieve inputs by using methods such as - * [`WebMidi.getInputByName()`](WebMidi#getInputByName) and - * [`WebMidi.getInputById()`](WebMidi#getInputById). - * - * Note that a single MIDI device may expose several inputs and/or outputs. - * - * **Important**: the `Input` class does not directly fire channel-specific MIDI messages - * (such as [`noteon`](InputChannel#event:noteon) or - * [`controlchange`](InputChannel#event:controlchange), etc.). The [`InputChannel`](InputChannel) - * object does that. However, you can still use the - * [`Input.addListener()`](#addListener) method to listen to channel-specific events on multiple - * [`InputChannel`](InputChannel) objects at once. - * - * @fires Input#opened - * @fires Input#disconnected - * @fires Input#closed - * @fires Input#midimessage - * - * @fires Input#sysex - * @fires Input#timecode - * @fires Input#songposition - * @fires Input#songselect - * @fires Input#tunerequest - * @fires Input#clock - * @fires Input#start - * @fires Input#continue - * @fires Input#stop - * @fires Input#activesensing - * @fires Input#reset - * - * @fires Input#unknownmidimessage - * - * @extends EventEmitter - * @license Apache-2.0 - */class bD extends Ra{constructor(e){super(),this._midiInput=e,this._octaveOffset=0,this.channels=[];for(let n=1;n<=16;n++)this.channels[n]=new wD(this,n);this._forwarders=[],this._midiInput.onstatechange=this._onStateChange.bind(this),this._midiInput.onmidimessage=this._onMidiMessage.bind(this)}async destroy(){this.removeListener(),this.channels.forEach(e=>e.destroy()),this.channels=[],this._forwarders=[],this._midiInput&&(this._midiInput.onstatechange=null,this._midiInput.onmidimessage=null),await this.close(),this._midiInput=null}_onStateChange(e){let n={timestamp:J.time,target:this,port:this};e.port.connection==="open"?(n.type="opened",this.emit("opened",n)):e.port.connection==="closed"&&e.port.state==="connected"?(n.type="closed",this.emit("closed",n)):e.port.connection==="closed"&&e.port.state==="disconnected"?(n.type="disconnected",n.port={connection:e.port.connection,id:e.port.id,manufacturer:e.port.manufacturer,name:e.port.name,state:e.port.state,type:e.port.type},this.emit("disconnected",n)):e.port.connection==="pending"&&e.port.state==="disconnected"||console.warn("This statechange event was not caught: ",e.port.connection,e.port.state)}_onMidiMessage(e){const n=new WI(e.data),i={port:this,target:this,message:n,timestamp:e.timeStamp,type:"midimessage",data:n.data,rawData:n.data,statusByte:n.data[0],dataBytes:n.dataBytes};this.emit("midimessage",i),n.isSystemMessage?this._parseEvent(i):n.isChannelMessage&&this.channels[n.channel]._processMidiMessageEvent(i),this._forwarders.forEach(o=>o.forward(n))}_parseEvent(e){const n=Object.assign({},e);n.type=n.message.type||"unknownmidimessage",n.type==="songselect"&&(n.song=e.data[1]+1,n.value=e.data[1],n.rawValue=n.value),this.emit(n.type,n)}async open(){try{await this._midiInput.open()}catch(e){return Promise.reject(e)}return Promise.resolve(this)}async close(){if(!this._midiInput)return Promise.resolve(this);try{await this._midiInput.close()}catch(e){return Promise.reject(e)}return Promise.resolve(this)}getChannelModeByNumber(){J.validation&&console.warn("The 'getChannelModeByNumber()' method has been moved to the 'Utilities' class.")}addListener(e,n,i={}){if(J.validation&&typeof i=="function"){let o=n!=null?[].concat(n):void 0;n=i,i={channels:o}}if(_.CHANNEL_EVENTS.includes(e)){i.channels===void 0&&(i.channels=_.MIDI_CHANNEL_NUMBERS);let o=[];return K.sanitizeChannels(i.channels).forEach(a=>{o.push(this.channels[a].addListener(e,n,i))}),o}else return super.addListener(e,n,i)}addOneTimeListener(e,n,i={}){return i.remaining=1,this.addListener(e,n,i)}on(e,n,i,o){return this.addListener(e,n,i,o)}hasListener(e,n,i={}){if(J.validation&&typeof i=="function"){let o=[].concat(n);n=i,i={channels:o}}return _.CHANNEL_EVENTS.includes(e)?(i.channels===void 0&&(i.channels=_.MIDI_CHANNEL_NUMBERS),K.sanitizeChannels(i.channels).every(o=>this.channels[o].hasListener(e,n))):super.hasListener(e,n)}removeListener(e,n,i={}){if(J.validation&&typeof i=="function"){let o=[].concat(n);n=i,i={channels:o}}if(i.channels===void 0&&(i.channels=_.MIDI_CHANNEL_NUMBERS),e==null)return K.sanitizeChannels(i.channels).forEach(o=>{this.channels[o]&&this.channels[o].removeListener()}),super.removeListener();_.CHANNEL_EVENTS.includes(e)?K.sanitizeChannels(i.channels).forEach(o=>{this.channels[o].removeListener(e,n,i)}):super.removeListener(e,n,i)}addForwarder(e,n={}){let i;return e instanceof Bd?i=e:i=new Bd(e,n),this._forwarders.push(i),i}removeForwarder(e){this._forwarders=this._forwarders.filter(n=>n!==e)}hasForwarder(e){return this._forwarders.includes(e)}get name(){return this._midiInput.name}get id(){return this._midiInput.id}get connection(){return this._midiInput.connection}get manufacturer(){return this._midiInput.manufacturer}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get state(){return this._midiInput.state}get type(){return this._midiInput.type}get nrpnEventsEnabled(){return J.validation&&console.warn("The 'nrpnEventsEnabled' property has been moved to the 'InputChannel' class."),!1}}/** - * The `WebMidi` object makes it easier to work with the low-level Web MIDI API. Basically, it - * simplifies sending outgoing MIDI messages and reacting to incoming MIDI messages. - * - * When using the WebMidi.js library, you should know that the `WebMidi` class has already been - * instantiated. You cannot instantiate it yourself. If you use the **IIFE** version, you should - * simply use the global object called `WebMidi`. If you use the **CJS** (CommonJS) or **ESM** (ES6 - * module) version, you get an already-instantiated object when you import the module. - * - * @fires WebMidi#connected - * @fires WebMidi#disabled - * @fires WebMidi#disconnected - * @fires WebMidi#enabled - * @fires WebMidi#error - * @fires WebMidi#midiaccessgranted - * @fires WebMidi#portschanged - * - * @extends EventEmitter - * @license Apache-2.0 - */class vD extends Ra{constructor(){super(),this.defaults={note:{attack:K.from7bitToFloat(64),release:K.from7bitToFloat(64),duration:1/0}},this.interface=null,this.validation=!0,this._inputs=[],this._disconnectedInputs=[],this._outputs=[],this._disconnectedOutputs=[],this._stateChangeQueue=[],this._octaveOffset=0}async enable(e={},n=!1){if(K.isNode){try{window.navigator}catch{let A=await Object.getPrototypeOf(async function(){}).constructor(` - let jzz = await import("jzz"); - return jzz.default; - `)();AA.navigator||(AA.navigator={}),Object.assign(AA.navigator,A)}try{}catch{AA.performance=await Object.getPrototypeOf(async function(){}).constructor(` - let perf_hooks = await import("perf_hooks"); - return perf_hooks.performance; - `)()}}if(this.validation=e.validation!==!1,this.validation&&(typeof e=="function"&&(e={callback:e,sysex:n}),n&&(e.sysex=!0)),this.enabled)return typeof e.callback=="function"&&e.callback(),Promise.resolve();const i={timestamp:this.time,target:this,type:"error",error:void 0},o={timestamp:this.time,target:this,type:"midiaccessgranted"},a={timestamp:this.time,target:this,type:"enabled"};try{typeof e.requestMIDIAccessFunction=="function"?this.interface=await e.requestMIDIAccessFunction({sysex:e.sysex,software:e.software}):this.interface=await navigator.requestMIDIAccess({sysex:e.sysex,software:e.software})}catch(s){return i.error=s,this.emit("error",i),typeof e.callback=="function"&&e.callback(s),Promise.reject(s)}this.emit("midiaccessgranted",o),this.interface.onstatechange=this._onInterfaceStateChange.bind(this);try{await this._updateInputsAndOutputs()}catch(s){return i.error=s,this.emit("error",i),typeof e.callback=="function"&&e.callback(s),Promise.reject(s)}return this.emit("enabled",a),typeof e.callback=="function"&&e.callback(),Promise.resolve(this)}async disable(){return this.interface&&(this.interface.onstatechange=void 0),this._destroyInputsAndOutputs().then(()=>{navigator&&typeof navigator.close=="function"&&navigator.close(),this.interface=null;let e={timestamp:this.time,target:this,type:"disabled"};this.emit("disabled",e),this.removeListener()})}getInputById(e,n={disconnected:!1}){if(this.validation){if(!this.enabled)throw new Error("WebMidi is not enabled.");if(!e)return}if(n.disconnected){for(let i=0;i=0&&e<=127?K.getNoteDetails(K.offsetNumber(e,this.octaveOffset)).octave:!1}sanitizeChannels(e){return this.validation&&console.warn("The sanitizeChannels() method has been moved to the utilities class."),K.sanitizeChannels(e)}toMIDIChannels(e){return this.validation&&console.warn("The toMIDIChannels() method has been deprecated. Use Utilities.sanitizeChannels() instead."),K.sanitizeChannels(e)}guessNoteNumber(e){return this.validation&&console.warn("The guessNoteNumber() method has been deprecated. Use Utilities.guessNoteNumber() instead."),K.guessNoteNumber(e,this.octaveOffset)}getValidNoteArray(e,n={}){return this.validation&&console.warn("The getValidNoteArray() method has been moved to the Utilities.buildNoteArray()"),K.buildNoteArray(e,n)}convertToTimestamp(e){return this.validation&&console.warn("The convertToTimestamp() method has been moved to Utilities.toTimestamp()."),K.toTimestamp(e)}async _destroyInputsAndOutputs(){let e=[];return this.inputs.forEach(n=>e.push(n.destroy())),this.outputs.forEach(n=>e.push(n.destroy())),Promise.all(e).then(()=>{this._inputs=[],this._outputs=[]})}_onInterfaceStateChange(e){this._updateInputsAndOutputs();let n={timestamp:e.timeStamp,type:e.port.state,target:this};if(e.port.state==="connected"&&e.port.connection==="open"){e.port.type==="output"?n.port=this.getOutputById(e.port.id):e.port.type==="input"&&(n.port=this.getInputById(e.port.id)),this.emit(e.port.state,n);const i=Object.assign({},n);i.type="portschanged",this.emit(i.type,i)}else if(e.port.state==="disconnected"&&e.port.connection==="pending"){e.port.type==="input"?n.port=this.getInputById(e.port.id,{disconnected:!0}):e.port.type==="output"&&(n.port=this.getOutputById(e.port.id,{disconnected:!0})),this.emit(e.port.state,n);const i=Object.assign({},n);i.type="portschanged",this.emit(i.type,i)}}async _updateInputsAndOutputs(){return Promise.all([this._updateInputs(),this._updateOutputs()])}async _updateInputs(){if(!this.interface)return;for(let n=this._inputs.length-1;n>=0;n--){const i=this._inputs[n];Array.from(this.interface.inputs.values()).find(a=>a===i._midiInput)||(this._disconnectedInputs.push(i),this._inputs.splice(n,1))}let e=[];return this.interface.inputs.forEach(n=>{if(!this._inputs.find(i=>i._midiInput===n)){let i=this._disconnectedInputs.find(o=>o._midiInput===n);i||(i=new bD(n)),this._inputs.push(i),e.push(i.open())}}),Promise.all(e)}async _updateOutputs(){if(!this.interface)return;for(let n=this._outputs.length-1;n>=0;n--){const i=this._outputs[n];Array.from(this.interface.outputs.values()).find(a=>a===i._midiOutput)||(this._disconnectedOutputs.push(i),this._outputs.splice(n,1))}let e=[];return this.interface.outputs.forEach(n=>{if(!this._outputs.find(i=>i._midiOutput===n)){let i=this._disconnectedOutputs.find(o=>o._midiOutput===n);i||(i=new ml(n)),this._outputs.push(i),e.push(i.open())}}),Promise.all(e)}get enabled(){return this.interface!==null}get inputs(){return this._inputs}get isNode(){return this.validation&&console.warn("WebMidi.isNode has been deprecated. Use Utilities.isNode instead."),K.isNode}get isBrowser(){return this.validation&&console.warn("WebMidi.isBrowser has been deprecated. Use Utilities.isBrowser instead."),K.isBrowser}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get outputs(){return this._outputs}get supported(){return typeof navigator<"u"&&!!navigator.requestMIDIAccess}get sysexEnabled(){return!!(this.interface&&this.interface.sysexEnabled)}get time(){return performance.now()}get version(){return"3.1.11"}get flavour(){return"esm"}get CHANNEL_EVENTS(){return this.validation&&console.warn("The CHANNEL_EVENTS enum has been moved to Enumerations.CHANNEL_EVENTS."),_.CHANNEL_EVENTS}get MIDI_SYSTEM_MESSAGES(){return this.validation&&console.warn("The MIDI_SYSTEM_MESSAGES enum has been moved to Enumerations.SYSTEM_MESSAGES."),_.SYSTEM_MESSAGES}get MIDI_CHANNEL_MODE_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MODE_MESSAGES enum has been moved to Enumerations.CHANNEL_MODE_MESSAGES."),_.CHANNEL_MODE_MESSAGES}get MIDI_CONTROL_CHANGE_MESSAGES(){return this.validation&&console.warn("The MIDI_CONTROL_CHANGE_MESSAGES enum has been replaced by the Enumerations.CONTROL_CHANGE_MESSAGES array."),_.MIDI_CONTROL_CHANGE_MESSAGES}get MIDI_REGISTERED_PARAMETER(){return this.validation&&console.warn("The MIDI_REGISTERED_PARAMETER enum has been moved to Enumerations.REGISTERED_PARAMETERS."),_.REGISTERED_PARAMETERS}get NOTES(){return this.validation&&console.warn("The NOTES enum has been deprecated."),["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"]}}const J=new vD;J.constructor=null;const _o={KeyQ:{note:"F",offset:1},Digit2:{note:"F#",offset:1},KeyW:{note:"G",offset:1},Digit3:{note:"G#",offset:1},KeyE:{note:"A",offset:1},Digit4:{note:"A#",offset:1},KeyR:{note:"B",offset:1},KeyT:{note:"C",offset:2},Digit6:{note:"C#",offset:2},KeyY:{note:"D",offset:2},Digit7:{note:"D#",offset:2},KeyU:{note:"E",offset:2},KeyI:{note:"F",offset:2},Digit9:{note:"F#",offset:2},KeyO:{note:"G",offset:2},Digit0:{note:"G#",offset:2},KeyP:{note:"A",offset:2},Minus:{note:"A#",offset:2},BracketLeft:{note:"B",offset:2},BracketRIght:{note:"C",offset:3},KeyZ:{note:"C",offset:0},KeyS:{note:"C#",offset:0},KeyX:{note:"D",offset:0},KeyD:{note:"D#",offset:0},KeyC:{note:"E",offset:0},KeyV:{note:"F",offset:0},KeyG:{note:"F#",offset:0},KeyB:{note:"G",offset:0},KeyH:{note:"G#",offset:0},KeyN:{note:"A",offset:0},KeyJ:{note:"A#",offset:0},KeyM:{note:"B",offset:0},Comma:{note:"C",offset:1},KeyL:{note:"C#",offset:1},Period:{note:"D",offset:1},Semicolon:{note:"D#",offset:1},Slash:{note:"E",offset:1}};function DD(){document.addEventListener("keydown",t=>{t.code=="Digit1"&&te.offset--,t.code=="Equal"&&te.offset++,!(t.repeat||!te.keyboard||!_o[t.code])&&(t.ctrlKey||t.altKey||t.metaKey||(t.code=="Slash"&&t.preventDefault(),Ca(_o[t.code].note+(_o[t.code].offset+4+te.offset),1)))}),document.addEventListener("keyup",t=>{_o[t.code]&&Ca(_o[t.code].note+(_o[t.code].offset+4+te.offset),0)})}var Ed={},lo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof Ed<"u"?Ed:typeof self<"u"?self:{};function th(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function kD(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function i(){return this instanceof i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(i){var o=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(n,i,o.get?o:{enumerable:!0,get:function(){return t[i]}})}),n}var ZI={exports:{}};(function(t,e){(function(n,i){t.exports=i()})(lo,function(){const n=(A,r,h,l)=>{const c=(r*h+2*A)/h**3,g=-(2*r*h+3*A)/h**2,d=r,u=A;return c*l**3+g*l**2+d*l+u},i=(A,r,h,l)=>{const c=(r*h+2*A)/h**3,g=-(2*r*h+3*A)/h**2,d=r;return 3*c*l**2+2*g*l+d},o=function(A,r){Object.entries(typeof A=="number"?{value:A}:A).map(([l,c])=>r(c,l))};function a(A,r){this.start=new Date/1e3,this.time=r,this.from=A,this.current=A,this.to=A,this.speed=0}a.prototype.get=function(A){const r=A/1e3-this.start;if(r<0)throw new Error("Cannot read in the past");return r>=this.time?this.to:this.to-n(this.to-this.from,this.speed,this.time,r)},a.prototype.getSpeed=function(A){const r=A/1e3-this.start;return r>=this.time?0:i(this.to-this.from,this.speed,this.time,r)},a.prototype.set=function(A,r){const h=new Date,l=this.get(h);return this.speed=this.getSpeed(h),this.start=h/1e3,this.from=l,this.to=A,r&&(this.time=r),l};function s(A,r=300){return typeof A=="number"&&(A={value:A}),o(A,(h,l)=>{const c=new a(h,r/1e3);Object.defineProperty(A,"_"+l,{value:c}),Object.defineProperty(A,"$"+l,{get:()=>c.to}),Object.defineProperty(A,l,{get:()=>c.get(new Date),set:g=>c.set(g),enumerable:!0})}),Object.defineProperty(A,"get",{get:()=>function(h="value",l=new Date){return this["_"+h].get(l)}}),Object.defineProperty(A,"set",{get:()=>function(h,l=0){o(h,(c,g)=>{this["_"+g].set(c,l/1e3)})}}),A}return s})})(ZI);var MD=ZI.exports;const ND=th(MD),SD="global-midi-channel",RD="global-midi-filter",te=Te({enabled:!1,initiated:!1,playing:!1,stopped:!1,out:!0,channel:Ce(SD,1),note:{pitch:0,channel:1,velocity:0},offset:dt(0,-3,3),keyboard:!0,cc:{},ccLearn:{},filter:Ce(RD,{}),monoAftertouch:{},polyAftertouch:{},pitchbend:{}}),Nt=Te({}),rn=Wt({}),nh=Wt({}),TD=ne(null),XI=ne(0),EA=Wt([]),es=Wt({}),FD=H(()=>Object.keys(nh).length>0),Gi=H(()=>Object.values(Nt).reduce((t,e)=>({...t,...e.activeNotes}),{})),GD=H(()=>{const t=new Array(12).fill(0);return Object.keys(Gi.value).forEach(e=>{const n=(Number(e)-9)%12;t[n]=1}),t.join("")}),Xi=H(()=>{const t=Object.keys(Gi.value).map(e=>pi(Number(e),{sharps:!0}));return t.length>2?$l(t):[]}),QA=H(()=>{const t=new Array(12).fill(0);return Object.keys(Gi.value).forEach(e=>{const n=(Number(e)-9)%12;t[n]=Number(e)}),t});function $I({number:t,channel:e}){const n=ne(0);return ye(()=>te.cc,i=>{(!e||i.channel===e)&&t===i.number&&(n.value=i.value)}),n}function sg(t=69,e=0,n=1,i=!0){requestAnimationFrame(()=>{const o=new ho(t,{attack:e,release:e,duration:n});pl({type:e==0?"noteoff":"noteon",note:o,port:{id:"Chromatone.center"},timestamp:XI.value,target:{number:0},channel:0,message:{}}),i&&(e>0?ah(o.number,{attack:e}):Ag(o.number,{attack:e}))})}function ih(){return te.initiated||(te.initiated=!0,mn(()=>{DD(),UD()}),Si(()=>{if(!te.out)return;const t=te.playing?"sendContinue":"sendStop";Object.values(J.outputs).forEach(e=>e[t]())}),te.stopped=!1),{log:EA,midi:te,clock:XI,channels:Nt,inputs:rn,outputs:nh,forwards:es,activeNotes:Gi,available:FD,guessChords:Xi,activeChroma:GD,activeChromaMidi:QA,midiAttack:WD,midiRelease:tf,midiOnce:ZD,setCC:XD,midiPlay:ah,midiStop:Ag,playKey:sg,stopAll:rg,getPitchBend:zD,sendPitchBend:$D,getMonoAftertouch:t=>te.monoAftertouch[t]||0,getPolyAftertouch:(t,e)=>{var n;return((n=te.polyAftertouch[t])==null?void 0:n[e])||0}}}async function xD(){if(navigator.permissions)try{const t=await navigator.permissions.query({name:"midi",sysex:!0});return t.addEventListener("change",e=>console.log(e)),t.state==="granted"?!0:t.state==="prompt"?null:!1}catch(t){console.error("Error checking MIDI permission:",t)}return null}async function UD(){if(await xD()===!1){console.error("MIDI permission denied. Please enable MIDI access in your browser settings.");return}try{await J.enable({sysex:!0}),te.enabled=!0,Qd(),J.addListener("connected",Qd),J.addListener("disconnected",OD)}catch(e){console.error("Failed to enable WebMidi:",e)}}function Qd(){te.enabled=!0,J.inputs.forEach(_D),J.outputs.forEach(HD)}function _D(t){rn[t.id]={name:t.name,manufacturer:t.manufacturer,forwarder:t.addForwarder(),clock:0,event:null,note:null,cc:null},t.removeListener(),JD(t)}function JD(t){Object.entries({start:()=>{te.playing=!0,te.stopped=!1},stop:()=>{te.playing=!1,te.stopped=Date.now()},clock:YD(t),midimessage:LD(t),noteon:e=>rn[t.id].note=pl(e),noteoff:e=>rn[t.id].note=pl(e),controlchange:KD(t),channelaftertouch:jD(),keyaftertouch:PD(),pitchbend:qD()}).forEach(([e,n])=>{t.addListener(e,n)})}function YD(t){const e=[],n=ND({value:15});return i=>{const o=i.timestamp-rn[t.id].clock;e.push(o),e.length>50&&e.shift(),n.value=e.reduce((a,s)=>a+s,0)/e.length,rn[t.id].diff=n.value,rn[t.id].bpm=1e3/n.value/24*60,rn[t.id].clock=i.timestamp}}function LD(t){return e=>{var n;((n=e==null?void 0:e.message)==null?void 0:n.type)!=="clock"&&(rn[t.id].event=e,TD.value=e.message,EA.unshift(e),EA.length>100&&EA.pop())}}function KD(t){return e=>{const n=VD(e);n&&(rn[t.id].cc=n,te.cc=n)}}function qD(t){return e=>{te.pitchbend[e.port.name]=e.value}}function jD(t){return e=>{let n=e.channel||0;oh(n),te.monoAftertouch[n]=e.value,Nt[n].monoAftertouch=e.value}}function PD(t){return e=>{let n=e.channel||0;oh(n),te.polyAftertouch[n]||(te.polyAftertouch[n]={}),te.polyAftertouch[n][e.note.number]=e.value,Nt[n].polyAftertouch[e.note.number]=e.value}}function HD(t){nh[t.id]={name:t.name,manufacturer:t.manufacturer}}function OD(t){t.port.type=="input"?delete rn[t.port.id]:t.port.type=="output"&&delete nh[t.port.id]}function pl(t){var n;const e={...t.note,port:t.port.id,type:t.type,timestamp:t.timestamp,channel:t.target.number,velocity:0,number:t.note.number,pitch:(t.note.number+3)%12,octA:Math.floor((t.note.number+3)/12)-1};if(!te.filter[e.channel])return oh(e.channel),Nt[e.channel].notes[e.number]=e,t.type==="noteoff"?(e.velocity=0,delete Nt[e.channel].activeNotes[e.number],(n=te.polyAftertouch[e.channel])==null||delete n[e.number]):(e.velocity=120*(t.note.attack||1),Nt[e.channel].activeNotes[e.number]=t.note.attack),te.note=e,e}function VD(t){if(te.filter[t.message.channel])return;const e={channel:t.message.channel,timestamp:t.timestamp,number:t.controller.number,value:Number(t.value),raw:t.rawValue,port:t.port.id};return oh(e.channel),Nt[e.channel].cc[e.number]=e,e}function oh(t){Nt[t]||(Nt[t]=Te({num:t,activeNotes:{},notes:{},cc:{},monoAftertouch:0,polyAftertouch:{},pitchbend:0}))}function zD(t){return te.pitchbend[t]||0}function ef(t,e,n){Nt[t]=Nt[t]||{notes:{}},Nt[t].notes[e]=Nt[t].notes[e]||{velocity:0},Nt[t].notes[e].velocity=n}function WD(t,e,n=100){if(!te.out)return;const i=(t==null?void 0:t.channel)||te.channel;ef(i,t==null?void 0:t.number,n),J.outputs.forEach(o=>{o.playNote(t.number,{channels:i,...e})})}function ah(t,e){te.out&&J.outputs.forEach(n=>{n.playNote(t,{channels:te.channel,...e})})}function Ag(t,e){te.out&&(t?J.outputs.forEach(n=>{n.stopNote(t,{channels:te.channel,...e})}):(J.outputs.forEach(n=>{n.sendAllNotesOff(),n.sendAllSoundOff({time:"+1"})}),te.stopped=!0))}function tf(t){if(te.out)if(t){const e=(t==null?void 0:t.channel)||te.channel;ef(e,t==null?void 0:t.number,0),J.outputs.forEach(n=>{n.stopNote(t.number,{channels:e})})}else J.outputs.forEach(e=>{e.sendAllNotesOff(),e.sendAllSoundOff({time:"+1"})})}function ZD(t,e,n=300){!te.out||te.filter[te.channel]||(ah(t,e),setTimeout(()=>{Ag(t,e)},n))}function XD(t,e){te.out&&J.outputs.forEach(n=>{n.sendControlChange(Number(t.number),e,t.channel)})}function $D(t,e={}){if(!te.out)return;const n=e.channel||te.channel;J.outputs.forEach(i=>{i.sendPitchBend(t,{channels:n,...e})})}function rg(){te.out&&(Object.assign(Nt,{}),te.monoAftertouch={},te.polyAftertouch={},te.playing=!1,J.outputs.forEach(t=>{t.sendAllNotesOff(),t.sendAllSoundOff(),t.sendReset(),t.sendSongPosition(0),t.sendPitchBend(0)}),te.stopped=!0)}function dK(t,e){var a;const n=J.outputs.find(s=>s.id===e),i=rn[t].forwarder.destinations,o=i.indexOf(n);o===-1?(i.push(n),es[t]=es[t]||{},es[t][e]=!0):(i.splice(o,1),(a=es[t])==null||delete a[e])}function uK(t,e=!1){return t?Object.values(t).sort((n,i)=>{const o=n.number>i.number?-1:1;return e?-o:o}):[]}function mK(t,e,n=300){Ca(t,e),setTimeout(()=>sh(t),n)}function Ca(t,e=.9){Array.isArray(t)?t.forEach(n=>Ca(n)):sg(K.guessNoteNumber(t),e)}function sh(t){if(!t){rg();return}Array.isArray(t)?t.forEach(e=>sh(e)):sg(K.guessNoteNumber(t),0)}const ek=[...Jn].map((t,e)=>({name:t,pitch:e})),Ue=Te({tonic:dt(Ce("global-tonic",0),0,11),note:H(()=>ek[Ue.tonic]),chroma:Ce("global-chroma","101011010101"),set:H(()=>Li(Ue.chroma)),full:H(()=>{let t=Ue.note.name+"4 "+Ue.set.name;return mc(t)}),pcs:H(()=>Qp(Ue.full.notes)),isIn:H(()=>Bm(Ue.pcs))}),tk=[...Jn].map((t,e)=>({name:t,pitch:e}));function nf(t=Ue.chroma,e=Ue.tonic){let n=Kn(t.split(""),-e),o=Kn(tk,-e).map(a=>pa(a.pitch+e+57,"midi").toNote()).filter((a,s)=>{if(n[s]=="1")return!0});return br(o)}function nk(t,e){let n=nf(t,e);Ca(n)}function Mh(t,e){let n=nf(t,e);sh(n)}var ik={grad:.9,turn:360,rad:360/(2*Math.PI)},oi=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},Bt=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=Math.pow(10,e)),Math.round(n*t)/n+0},hn=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=1),t>n?n:t>e?t:e},of=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},wd=function(t){return{r:hn(t.r,0,255),g:hn(t.g,0,255),b:hn(t.b,0,255),a:hn(t.a)}},Nh=function(t){return{r:Bt(t.r),g:Bt(t.g),b:Bt(t.b),a:Bt(t.a,3)}},ok=/^#([0-9a-f]{3,8})$/i,rA=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},af=function(t){var e=t.r,n=t.g,i=t.b,o=t.a,a=Math.max(e,n,i),s=a-Math.min(e,n,i),A=s?a===e?(n-i)/s:a===n?2+(i-e)/s:4+(e-n)/s:0;return{h:60*(A<0?A+6:A),s:a?s/a*100:0,v:a/255*100,a:o}},sf=function(t){var e=t.h,n=t.s,i=t.v,o=t.a;e=e/360*6,n/=100,i/=100;var a=Math.floor(e),s=i*(1-n),A=i*(1-(e-a)*n),r=i*(1-(1-e+a)*n),h=a%6;return{r:255*[i,A,s,s,r,i][h],g:255*[r,i,i,A,s,s][h],b:255*[s,s,r,i,i,A][h],a:o}},bd=function(t){return{h:of(t.h),s:hn(t.s,0,100),l:hn(t.l,0,100),a:hn(t.a)}},vd=function(t){return{h:Bt(t.h),s:Bt(t.s),l:Bt(t.l),a:Bt(t.a,3)}},Dd=function(t){return sf((n=(e=t).s,{h:e.h,s:(n*=((i=e.l)<50?i:100-i)/100)>0?2*n/(i+n)*100:0,v:i+n,a:e.a}));var e,n,i},rs=function(t){return{h:(e=af(t)).h,s:(o=(200-(n=e.s))*(i=e.v)/100)>0&&o<200?n*i/100/(o<=100?o:200-o)*100:0,l:o/2,a:e.a};var e,n,i,o},ak=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,sk=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ak=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,rk=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Il={string:[[function(t){var e=ok.exec(t);return e?(t=e[1]).length<=4?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?Bt(parseInt(t[3]+t[3],16)/255,2):1}:t.length===6||t.length===8?{r:parseInt(t.substr(0,2),16),g:parseInt(t.substr(2,2),16),b:parseInt(t.substr(4,2),16),a:t.length===8?Bt(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var e=Ak.exec(t)||rk.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:wd({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:e[7]===void 0?1:Number(e[7])/(e[8]?100:1)}):null},"rgb"],[function(t){var e=ak.exec(t)||sk.exec(t);if(!e)return null;var n,i,o=bd({h:(n=e[1],i=e[2],i===void 0&&(i="deg"),Number(n)*(ik[i]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return Dd(o)},"hsl"]],object:[[function(t){var e=t.r,n=t.g,i=t.b,o=t.a,a=o===void 0?1:o;return oi(e)&&oi(n)&&oi(i)?wd({r:Number(e),g:Number(n),b:Number(i),a:Number(a)}):null},"rgb"],[function(t){var e=t.h,n=t.s,i=t.l,o=t.a,a=o===void 0?1:o;if(!oi(e)||!oi(n)||!oi(i))return null;var s=bd({h:Number(e),s:Number(n),l:Number(i),a:Number(a)});return Dd(s)},"hsl"],[function(t){var e=t.h,n=t.s,i=t.v,o=t.a,a=o===void 0?1:o;if(!oi(e)||!oi(n)||!oi(i))return null;var s=function(A){return{h:of(A.h),s:hn(A.s,0,100),v:hn(A.v,0,100),a:hn(A.a)}}({h:Number(e),s:Number(n),v:Number(i),a:Number(a)});return sf(s)},"hsv"]]},kd=function(t,e){for(var n=0;n=.5},t.prototype.toHex=function(){return e=Nh(this.rgba),n=e.r,i=e.g,o=e.b,s=(a=e.a)<1?rA(Bt(255*a)):"","#"+rA(n)+rA(i)+rA(o)+s;var e,n,i,o,a,s},t.prototype.toRgb=function(){return Nh(this.rgba)},t.prototype.toRgbString=function(){return e=Nh(this.rgba),n=e.r,i=e.g,o=e.b,(a=e.a)<1?"rgba("+n+", "+i+", "+o+", "+a+")":"rgb("+n+", "+i+", "+o+")";var e,n,i,o,a},t.prototype.toHsl=function(){return vd(rs(this.rgba))},t.prototype.toHslString=function(){return e=vd(rs(this.rgba)),n=e.h,i=e.s,o=e.l,(a=e.a)<1?"hsla("+n+", "+i+"%, "+o+"%, "+a+")":"hsl("+n+", "+i+"%, "+o+"%)";var e,n,i,o,a},t.prototype.toHsv=function(){return e=af(this.rgba),{h:Bt(e.h),s:Bt(e.s),v:Bt(e.v),a:Bt(e.a,3)};var e},t.prototype.invert=function(){return Ve({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},t.prototype.saturate=function(e){return e===void 0&&(e=.1),Ve(Sh(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),Ve(Sh(this.rgba,-e))},t.prototype.grayscale=function(){return Ve(Sh(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),Ve(Md(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),Ve(Md(this.rgba,-e))},t.prototype.rotate=function(e){return e===void 0&&(e=15),this.hue(this.hue()+e)},t.prototype.alpha=function(e){return typeof e=="number"?Ve({r:(n=this.rgba).r,g:n.g,b:n.b,a:e}):Bt(this.rgba.a,3);var n},t.prototype.hue=function(e){var n=rs(this.rgba);return typeof e=="number"?Ve({h:e,s:n.s,l:n.l,a:n.a}):Bt(n.h)},t.prototype.isEqual=function(e){return this.toHex()===Ve(e).toHex()},t}(),Ve=function(t){return t instanceof fl?t:new fl(t)},Nd=[],lk=function(t){t.forEach(function(e){Nd.indexOf(e)<0&&(e(fl,Il),Nd.push(e))})},ck={grad:.9,turn:360,rad:360/(2*Math.PI)},Th=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},$o=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=Math.pow(10,e)),Math.round(n*t)/n+0},li=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=1),t>n?n:t>e?t:e},Fh=function(t){var e=t/255;return e<.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},Gh=function(t){return 255*(t>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t)},hg=96.422,lg=100,cg=82.521,gk=function(t){var e,n,i={x:.9555766*(e=t).x+-.0230393*e.y+.0631636*e.z,y:-.0282895*e.x+1.0099416*e.y+.0210077*e.z,z:.0122982*e.x+-.020483*e.y+1.3299098*e.z};return n={r:Gh(.032404542*i.x-.015371385*i.y-.004985314*i.z),g:Gh(-.00969266*i.x+.018760108*i.y+41556e-8*i.z),b:Gh(556434e-9*i.x-.002040259*i.y+.010572252*i.z),a:t.a},{r:li(n.r,0,255),g:li(n.g,0,255),b:li(n.b,0,255),a:li(n.a)}},dk=function(t){var e=Fh(t.r),n=Fh(t.g),i=Fh(t.b);return function(o){return{x:li(o.x,0,hg),y:li(o.y,0,lg),z:li(o.z,0,cg),a:li(o.a)}}(function(o){return{x:1.0478112*o.x+.0228866*o.y+-.050127*o.z,y:.0295424*o.x+.9904844*o.y+-.0170491*o.z,z:-.0092345*o.x+.0150436*o.y+.7521316*o.z,a:o.a}}({x:100*(.4124564*e+.3575761*n+.1804375*i),y:100*(.2126729*e+.7151522*n+.072175*i),z:100*(.0193339*e+.119192*n+.9503041*i),a:t.a}))},hs=216/24389,aa=24389/27,Af=function(t){return{l:li(t.l,0,100),c:t.c,h:(e=t.h,(e=isFinite(e)?e%360:0)>0?e:e+360),a:t.a};var e},Sd=function(t){return{l:$o(t.l,2),c:$o(t.c,2),h:$o(t.h,2),a:$o(t.a,3)}},uk=function(t){var e=t.l,n=t.c,i=t.h,o=t.a,a=o===void 0?1:o;if(!Th(e)||!Th(n)||!Th(i))return null;var s=Af({l:Number(e),c:Number(n),h:Number(i),a:Number(a)});return rf(s)},Rd=function(t){var e=function(a){var s=dk(a),A=s.x/hg,r=s.y/lg,h=s.z/cg;return A=A>hs?Math.cbrt(A):(aa*A+16)/116,{l:116*(r=r>hs?Math.cbrt(r):(aa*r+16)/116)-16,a:500*(A-r),b:200*(r-(h=h>hs?Math.cbrt(h):(aa*h+16)/116)),alpha:s.a}}(t),n=$o(e.a,3),i=$o(e.b,3),o=Math.atan2(i,n)/Math.PI*180;return{l:e.l,c:Math.sqrt(n*n+i*i),h:o<0?o+360:o,a:e.alpha}},rf=function(t){return e={l:t.l,a:t.c*Math.cos(t.h*Math.PI/180),b:t.c*Math.sin(t.h*Math.PI/180),alpha:t.a},i=e.a/500+(n=(e.l+16)/116),o=n-e.b/200,gk({x:(Math.pow(i,3)>hs?Math.pow(i,3):(116*i-16)/aa)*hg,y:(e.l>8?Math.pow((e.l+16)/116,3):e.l/aa)*lg,z:(Math.pow(o,3)>hs?Math.pow(o,3):(116*o-16)/aa)*cg,a:e.alpha});var e,n,i,o},mk=/^lch\(\s*([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,pk=function(t){var e=mk.exec(t);if(!e)return null;var n,i,o=Af({l:Number(e[1]),c:Number(e[2]),h:(n=e[3],i=e[4],i===void 0&&(i="deg"),Number(n)*(ck[i]||1)),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return rf(o)};function Ik(t,e){t.prototype.toLch=function(){return Sd(Rd(this.rgba))},t.prototype.toLchString=function(){return n=Sd(Rd(this.rgba)),i=n.l,o=n.c,a=n.h,(s=n.a)<1?"lch("+i+"% "+o+" "+a+" / "+s+")":"lch("+i+"% "+o+" "+a+")";var n,i,o,a,s},e.string.push([pk,"lch"]),e.object.push([uk,"lch"])}var Yn=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=1),t>n?n:t>e?t:e},xh=function(t){var e=t/255;return e<.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},Uh=function(t){return 255*(t>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t)},gg=96.422,dg=100,ug=82.521,fk=function(t){var e,n,i={x:.9555766*(e=t).x+-.0230393*e.y+.0631636*e.z,y:-.0282895*e.x+1.0099416*e.y+.0210077*e.z,z:.0122982*e.x+-.020483*e.y+1.3299098*e.z};return n={r:Uh(.032404542*i.x-.015371385*i.y-.004985314*i.z),g:Uh(-.00969266*i.x+.018760108*i.y+41556e-8*i.z),b:Uh(556434e-9*i.x-.002040259*i.y+.010572252*i.z),a:t.a},{r:Yn(n.r,0,255),g:Yn(n.g,0,255),b:Yn(n.b,0,255),a:Yn(n.a)}},Ck=function(t){var e=xh(t.r),n=xh(t.g),i=xh(t.b);return function(o){return{x:Yn(o.x,0,gg),y:Yn(o.y,0,dg),z:Yn(o.z,0,ug),a:Yn(o.a)}}(function(o){return{x:1.0478112*o.x+.0228866*o.y+-.050127*o.z,y:.0295424*o.x+.9904844*o.y+-.0170491*o.z,z:-.0092345*o.x+.0150436*o.y+.7521316*o.z,a:o.a}}({x:100*(.4124564*e+.3575761*n+.1804375*i),y:100*(.2126729*e+.7151522*n+.072175*i),z:100*(.0193339*e+.119192*n+.9503041*i),a:t.a}))},ls=216/24389,sa=24389/27,Td=function(t){var e=Ck(t),n=e.x/gg,i=e.y/dg,o=e.z/ug;return n=n>ls?Math.cbrt(n):(sa*n+16)/116,{l:116*(i=i>ls?Math.cbrt(i):(sa*i+16)/116)-16,a:500*(n-i),b:200*(i-(o=o>ls?Math.cbrt(o):(sa*o+16)/116)),alpha:e.a}},yk=function(t,e,n){var i,o=Td(t),a=Td(e);return function(s){var A=(s.l+16)/116,r=s.a/500+A,h=A-s.b/200;return fk({x:(Math.pow(r,3)>ls?Math.pow(r,3):(116*r-16)/sa)*gg,y:(s.l>8?Math.pow((s.l+16)/116,3):s.l/sa)*dg,z:(Math.pow(h,3)>ls?Math.pow(h,3):(116*h-16)/sa)*ug,a:s.alpha})}({l:Yn((i={l:o.l*(1-n)+a.l*n,a:o.a*(1-n)+a.a*n,b:o.b*(1-n)+a.b*n,alpha:o.alpha*(1-n)+a.alpha*n}).l,0,400),a:i.a,b:i.b,alpha:Yn(i.alpha)})};function Bk(t){function e(n,i,o){o===void 0&&(o=5);for(var a=[],s=1/(o-1),A=0;A<=o-1;A++)a.push(n.mix(i,s*A));return a}t.prototype.mix=function(n,i){i===void 0&&(i=.5);var o=n instanceof t?n:new t(n),a=yk(this.toRgb(),o.toRgb(),i);return new t(a)},t.prototype.tints=function(n){return e(this,"#fff",n)},t.prototype.shades=function(n){return e(this,"#000",n)},t.prototype.tones=function(n){return e(this,"#808080",n)}}function Ek(t,e){var n={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},i={};for(var o in n)i[n[o]]=o;var a={};t.prototype.toName=function(s){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var A,r,h=i[this.toHex()];if(h)return h;if(s!=null&&s.closest){var l=this.toRgb(),c=1/0,g="black";if(!a.length)for(var d in n)a[d]=new t(n[d]).toRgb();for(var u in n){var m=(A=l,r=a[u],Math.pow(A.r-r.r,2)+Math.pow(A.g-r.g,2)+Math.pow(A.b-r.b,2));m0:typeof t=="number"},La=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=Math.pow(10,e)),Math.round(n*t)/n+0},Qn=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=1),t>n?n:t>e?t:e},Jh=function(t){var e=t/255;return e<.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},Yh=function(t){return 255*(t>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t)},mg=96.422,pg=100,Ig=82.521,Qk=function(t){var e,n,i={x:.9555766*(e=t).x+-.0230393*e.y+.0631636*e.z,y:-.0282895*e.x+1.0099416*e.y+.0210077*e.z,z:.0122982*e.x+-.020483*e.y+1.3299098*e.z};return n={r:Yh(.032404542*i.x-.015371385*i.y-.004985314*i.z),g:Yh(-.00969266*i.x+.018760108*i.y+41556e-8*i.z),b:Yh(556434e-9*i.x-.002040259*i.y+.010572252*i.z),a:t.a},{r:Qn(n.r,0,255),g:Qn(n.g,0,255),b:Qn(n.b,0,255),a:Qn(n.a)}},wk=function(t){var e=Jh(t.r),n=Jh(t.g),i=Jh(t.b);return function(o){return{x:Qn(o.x,0,mg),y:Qn(o.y,0,pg),z:Qn(o.z,0,Ig),a:Qn(o.a)}}(function(o){return{x:1.0478112*o.x+.0228866*o.y+-.050127*o.z,y:.0295424*o.x+.9904844*o.y+-.0170491*o.z,z:-.0092345*o.x+.0150436*o.y+.7521316*o.z,a:o.a}}({x:100*(.4124564*e+.3575761*n+.1804375*i),y:100*(.2126729*e+.7151522*n+.072175*i),z:100*(.0193339*e+.119192*n+.9503041*i),a:t.a}))},cs=216/24389,Aa=24389/27,bk=function(t){var e=t.l,n=t.a,i=t.b,o=t.alpha,a=o===void 0?1:o;if(!_h(e)||!_h(n)||!_h(i))return null;var s=function(A){return{l:Qn(A.l,0,400),a:A.a,b:A.b,alpha:Qn(A.alpha)}}({l:Number(e),a:Number(n),b:Number(i),alpha:Number(a)});return vk(s)},vk=function(t){var e=(t.l+16)/116,n=t.a/500+e,i=e-t.b/200;return Qk({x:(Math.pow(n,3)>cs?Math.pow(n,3):(116*n-16)/Aa)*mg,y:(t.l>8?Math.pow((t.l+16)/116,3):t.l/Aa)*pg,z:(Math.pow(i,3)>cs?Math.pow(i,3):(116*i-16)/Aa)*Ig,a:t.alpha})};function Dk(t,e){t.prototype.toLab=function(){return i=wk(this.rgba),a=i.y/pg,s=i.z/Ig,o=(o=i.x/mg)>cs?Math.cbrt(o):(Aa*o+16)/116,n={l:116*(a=a>cs?Math.cbrt(a):(Aa*a+16)/116)-16,a:500*(o-a),b:200*(a-(s=s>cs?Math.cbrt(s):(Aa*s+16)/116)),alpha:i.a},{l:La(n.l,2),a:La(n.a,2),b:La(n.b,2),alpha:La(n.alpha,3)};var n,i,o,a,s},t.prototype.delta=function(n){n===void 0&&(n="#FFF");var i=n instanceof t?n:new t(n),o=function(a,s){var A=a.l,r=a.a,h=a.b,l=s.l,c=s.a,g=s.b,d=180/Math.PI,u=Math.PI/180,m=Math.pow(Math.pow(r,2)+Math.pow(h,2),.5),I=Math.pow(Math.pow(c,2)+Math.pow(g,2),.5),f=(A+l)/2,Q=Math.pow((m+I)/2,7),y=.5*(1-Math.pow(Q/(Q+Math.pow(25,7)),.5)),w=r*(1+y),B=c*(1+y),k=Math.pow(Math.pow(w,2)+Math.pow(h,2),.5),D=Math.pow(Math.pow(B,2)+Math.pow(g,2),.5),v=(k+D)/2,S=w===0&&h===0?0:Math.atan2(h,w)*d,R=B===0&&g===0?0:Math.atan2(g,B)*d;S<0&&(S+=360),R<0&&(R+=360);var T=R-S,M=Math.abs(R-S);M>180&&R<=S?T+=360:M>180&&R>S&&(T-=360);var U=S+R;M<=180?U/=2:U=(S+R<360?U+360:U-360)/2;var G=1-.17*Math.cos(u*(U-30))+.24*Math.cos(2*u*U)+.32*Math.cos(u*(3*U+6))-.2*Math.cos(u*(4*U-63)),q=l-A,Y=D-k,x=2*Math.sin(u*T/2)*Math.pow(k*D,.5),$=1+.015*Math.pow(f-50,2)/Math.pow(20+Math.pow(f-50,2),.5),P=1+.045*v,Z=1+.015*v*G,ae=30*Math.exp(-1*Math.pow((U-275)/25,2)),Ie=-2*Math.pow(Q/(Q+Math.pow(25,7)),.5)*Math.sin(2*u*ae);return Math.pow(Math.pow(q/1/$,2)+Math.pow(Y/1/P,2)+Math.pow(x/1/Z,2)+Ie*Y*x/(1*P*1*Z),.5)}(this.toLab(),i.toLab())/100;return Qn(La(o,3))},e.object.push([bk,"lab"])}var hA=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},an=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=Math.pow(10,e)),Math.round(n*t)/n+0},Ka=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=1),t>n?n:t>e?t:e},hf=function(t){return{c:Ka(t.c,0,100),m:Ka(t.m,0,100),y:Ka(t.y,0,100),k:Ka(t.k,0,100),a:Ka(t.a)}},Fd=function(t){return{c:an(t.c,2),m:an(t.m,2),y:an(t.y,2),k:an(t.k,2),a:an(t.a,3)}};function lf(t){return{r:an(255*(1-t.c/100)*(1-t.k/100)),g:an(255*(1-t.m/100)*(1-t.k/100)),b:an(255*(1-t.y/100)*(1-t.k/100)),a:t.a}}function Gd(t){var e=1-Math.max(t.r/255,t.g/255,t.b/255),n=(1-t.r/255-e)/(1-e),i=(1-t.g/255-e)/(1-e),o=(1-t.b/255-e)/(1-e);return{c:isNaN(n)?0:an(100*n),m:isNaN(i)?0:an(100*i),y:isNaN(o)?0:an(100*o),k:an(100*e),a:t.a}}function kk(t){var e=t.c,n=t.m,i=t.y,o=t.k,a=t.a,s=a===void 0?1:a;return hA(e)&&hA(n)&&hA(i)&&hA(o)?lf(hf({c:Number(e),m:Number(n),y:Number(i),k:Number(o),a:Number(s)})):null}var Mk=/^device-cmyk\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Nk=function(t){var e=Mk.exec(t);return e?lf(hf({c:Number(e[1])*(e[2]?1:100),m:Number(e[3])*(e[4]?1:100),y:Number(e[5])*(e[6]?1:100),k:Number(e[7])*(e[8]?1:100),a:e[9]===void 0?1:Number(e[9])/(e[10]?100:1)})):null};function Sk(t,e){t.prototype.toCmyk=function(){return Fd(Gd(this.rgba))},t.prototype.toCmykString=function(){return n=Fd(Gd(this.rgba)),i=n.c,o=n.m,a=n.y,s=n.k,(A=n.a)<1?"device-cmyk("+i+"% "+o+"% "+a+"% "+s+"% / "+A+")":"device-cmyk("+i+"% "+o+"% "+a+"% "+s+"%)";var n,i,o,a,s,A},e.object.push([kk,"cmyk"]),e.string.push([Nk,"cmyk"])}var Rk={grad:.9,turn:360,rad:360/(2*Math.PI)},Lh=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},lA=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=Math.pow(10,e)),Math.round(n*t)/n+0},Kh=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=1),t>n?n:t>e?t:e},cf=function(t){return{h:(e=t.h,(e=isFinite(e)?e%360:0)>0?e:e+360),w:Kh(t.w,0,100),b:Kh(t.b,0,100),a:Kh(t.a)};var e},xd=function(t){return{h:lA(t.h),w:lA(t.w),b:lA(t.b),a:lA(t.a,3)}},Ud=function(t){return{h:function(e){var n=e.r,i=e.g,o=e.b,a=e.a,s=Math.max(n,i,o),A=s-Math.min(n,i,o),r=A?s===n?(i-o)/A:s===i?2+(o-n)/A:4+(n-i)/A:0;return{h:60*(r<0?r+6:r),s:s?A/s*100:0,v:s/255*100,a}}(t).h,w:Math.min(t.r,t.g,t.b)/255*100,b:100-Math.max(t.r,t.g,t.b)/255*100,a:t.a}},gf=function(t){return function(e){var n=e.h,i=e.s,o=e.v,a=e.a;n=n/360*6,i/=100,o/=100;var s=Math.floor(n),A=o*(1-i),r=o*(1-(n-s)*i),h=o*(1-(1-n+s)*i),l=s%6;return{r:255*[o,r,A,A,h,o][l],g:255*[h,o,o,r,A,A][l],b:255*[A,A,h,o,o,r][l],a}}({h:t.h,s:t.b===100?0:100-t.w/(100-t.b)*100,v:100-t.b,a:t.a})},Tk=function(t){var e=t.h,n=t.w,i=t.b,o=t.a,a=o===void 0?1:o;if(!Lh(e)||!Lh(n)||!Lh(i))return null;var s=cf({h:Number(e),w:Number(n),b:Number(i),a:Number(a)});return gf(s)},Fk=/^hwb\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Gk=function(t){var e=Fk.exec(t);if(!e)return null;var n,i,o=cf({h:(n=e[1],i=e[2],i===void 0&&(i="deg"),Number(n)*(Rk[i]||1)),w:Number(e[3]),b:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return gf(o)};function xk(t,e){t.prototype.toHwb=function(){return xd(Ud(this.rgba))},t.prototype.toHwbString=function(){return n=xd(Ud(this.rgba)),i=n.h,o=n.w,a=n.b,(s=n.a)<1?"hwb("+i+" "+o+"% "+a+"% / "+s+")":"hwb("+i+" "+o+"% "+a+"%)";var n,i,o,a,s},e.string.push([Gk,"hwb"]),e.object.push([Tk,"hwb"])}lk([Bk,Ik,Ek,Dk,Sk,xk]);const co=Array(12).fill(!0).map((t,e)=>Ve(ca(e)).toHex()),gt=Te({default:[...co],custom:Ce("custom-colors",[...co]),isDefault:H(()=>gt.custom.every((t,e)=>t==co[e])),customize:!1,reset(){gt.custom=[...co]}});function $e(t=0,e=2,n=1,i=1){e+=Math.floor(t/12);const o=e-2;return gt.custom[t%12]!=gt.default[t%12]?Ve(gt.custom[t%12]).lighten(o*.1).alpha(i).toHex():ca(t,e,n,i)}const Uk="101101011010";function pK(t,e,n="hsla(0,0%,100%,0.3)",i="hsla(0,0%,10%,0.3)"){return e==1?$e((t+(Ue==null?void 0:Ue.tonic))%12,3):Uk[(t+(Ue==null?void 0:Ue.tonic))%12]=="1"?n:i}function St(t=0,e=12,n=1,i=20,o=60){let a=`lch(${o}% ${i} ${t*(360/e)} / ${n})`;return Ve(a).toHslString()}function IK(t){const e=Ve(t);return{dark:e.isDark(),hex:e.toHex(),rgb:e.toRgbString(),name:e.toName({closest:!0}),cmyk:e.toCmykString(),hsl:e.toHslString(),lab:e.toLab()}}function fK(t=0,e=3,n=.5,i=.8,o=.5,a=!1){return a&&(t=e-t-1),`hsla(${t*(360/e)}, ${i*100}%, ${o*100}%, ${n})`}function _k(t,e,n=.2,i=4){let o=Ve(ca(e)),a=Ve(St(e,12,1,40,6*i));return t.split("").forEach((s,A)=>{aB(t,e,A)&&(o=o.mix(ca(A,i),n),a=a.mix(St(A,12,1,40,6*i),n))}),{hsl:o.toHslString(),lch:a.toHslString()}}let ra;const XA=ne(!1),df=Ny(XA),Jk=$u(),Yk=H(()=>Jk.value-df.value),Lk={start(){ra||Ah(),ra.start(),XA.value=!0},async stop(){XA.value=!1;const t=await ra.stop(),e=URL.createObjectURL(t),n=document.createElement("a");n.download=bs("rec"),n.href=e,n.click()}};function Ah(){return ra||(ra=new ws),{recorder:ra,record:Lk,recording:XA,toggled:df,duration:Yk}}const uf={"video/webm":"webm","video/webm;codecs=h264":"mp4","video/x-matroska;codecs=avc1":"mkv"};function bs(t,e){const n=new Date,i=s=>`${s}`.padStart(2,"0"),o=`${i(n.getMonth()+1)}${i(n.getDate())}-${i(n.getHours())}${i(n.getMinutes())}`,a=e?uf[e]:"webm";return`${[o,t].filter(s=>!!s).join("-")}.${a}`}const Jo=Te({initiated:!1,mute:Ce("mute",!1),volume:dt(Ce("main-vol",1),0,2),meter:0}),mt=Te({}),mf=Wt({});function rh(){if(!Jo.initiated){Gr(),mt.context=Un(new AudioContext),mt.destination=ED();const{recorder:t}=Ah();mt.stream=Un(st().createMediaStreamDestination()),mt.meter=Un(new Ws().toDestination()),mt.meter.normalRange=!0,mt.meter.connect(mt.stream),mt.meter.connect(t),Pl(()=>{Jo.meter=mt.meter.getValue()}),mt.limiter=Un(new eh(-18).connect(mt.meter)),mt.reverb=Un(new CD({decay:1,wet:.5}).connect(mt.meter)),mt.limiter.connect(mt.reverb),Si(()=>{mt.destination.mute=Jo.mute}),Si(()=>{mt.destination.volume.targetRampTo(Oi(Jo.volume),.1)}),Jo.initiated=!0}return{audio:Jo,master:mt,channels:mf}}function hh(t=(Math.random()*1e3).toFixed(0),e){const{master:n}=rh(),i=new Vi().connect(n.limiter),{recorder:o}=Ah();i.connect(o);const a=new eh(e).connect(i);return mf[t]={channel:a,volume:i}}function Kk(){if(!(typeof window>"u")){if(window.AudioContext=window.AudioContext||window.webkitAudioContext,!window.AudioContext)throw new Error("AudioContext not supported");navigator.mediaDevices===void 0&&(navigator.mediaDevices={}),navigator.mediaDevices.getUserMedia===void 0&&(navigator.mediaDevices.getUserMedia=function(t){const e=navigator.webkitGetUserMedia||navigator.mozGetUserMedia;if(!e)throw new Error("getUserMedia is not implemented in this browser");return new Promise((n,i)=>{e.call(navigator,t,n,i)})})}}const pf=dt(Ce("tempo-bpm",100),10,500),ge=Te({initialized:!1,bpm:pf,midiClock:Ce("midi-clock",!0),tabSync:Ce("tab-sync",!1),blink:!1,started:!1,playing:!1,stopped:!1,mute:Ce("tempo-mute",!0),volume:dt(Ce("tempo-volume",.5),0,1),progress:0,position:null,ticks:0,hz:H(()=>(ge.bpm/60).toFixed(2)),note:H(()=>FA(pa(ge.hz).toNote())),tune:H(()=>FA(ge.note)+4),pitch:H(()=>Am(Number(ge.hz))),digit:H(()=>(pa(ge.hz).toMidi()+12*10+3)%12),color:H(()=>$e(ge.digit)),set(t){ge.bpm=Math.round(t+ge.bpm)}});function If(){if(ge.initialized)return ge;const t=ag(),e=BD(),n=Wt({counter:0,pluck:null,clock:null,loop:null});mn(()=>{const{channel:a}=hh("tempo-tick");n.pluck=new Ma({urls:{E1:$A.low,E2:$A.high},volume:-20,attack:.001,release:2}).connect(a),n.clock=new fa(s=>{ge.midiClock&&t.schedule(()=>{J.outputs.forEach(A=>A.sendClock())},s)},"8i").start(0),n.loop=new fa(s=>{let A=n.counter%2==0;A?t.schedule(()=>{ge.blink=!1},s):t.schedule(()=>{ge.blink=!0},s),ge.mute||n.pluck.triggerAttackRelease(A?"E1":"E2","16n",s,A?1:.2),n.counter++},"8n").start(0),Pl(()=>{ge.position=e.position,ge.ticks=e.ticks,ge.progress=n.loop.progress}),el(" ",s=>{const A=s.target;["TEXTAREA","INPUT"].includes(A.nodeName)||(s.preventDefault(),ge.playing=!ge.playing)}),el("Enter",s=>{const A=s.target;["TEXTAREA","INPUT"].includes(A.nodeName)||(s.preventDefault(),ge.stopped=Date.now())})});const{data:i,post:o}=Sy({name:"chromatone-tempo"});return ye(i,a=>{ge.tabSync&&(ge.playing=!!(a!=null&&a.playing),ge.stopped=!!(a!=null&&a.stopped))}),ye(()=>ge.volume,a=>{var s,A;return(A=(s=n==null?void 0:n.pluck)==null?void 0:s.volume)==null?void 0:A.rampTo(Oi(a))},{immediate:!0}),ye(pf,a=>e.bpm.rampTo(a,"4n"),{immediate:!0}),ye(()=>ge.stopped,a=>{a&&(e.stop(),rg(),ge.playing=!1,ge.tabSync&&o({stopped:a}))}),ye(()=>ge.playing,a=>{a?(ge.started||(Gr(),ge.started=!0),ge.stopped=!1,e.start(),te.playing=!0,ge.tabSync&&o({playing:!0})):(te.playing=!1,e.pause(),ge.tabSync&&o({playing:!1}))},{immediate:!0}),ye(()=>te.playing,a=>ge.playing=a),ye(()=>te.stopped,a=>ge.stopped=a),ge.initialized=!0,ge}const Le=Te({timer:null,last:0,diff:0,timeout:2e3,times:[],bpm:null,tap:qk,refresh:ff});function qk(){let t=performance.now();Le.last&&(Le.diff=t-Le.last,Le.times.push(Le.diff),ff()),Le.last=t,clearTimeout(Le.timer),Le.timer=setTimeout(function(){Le.times=[Le.diff],Le.last=null},Le.timeout)}function ff(){if(Le.times.length>2){let e=1/(Le.times.reduce((n,i)=>n+=i)/Le.times.length/1e3)*60;Le.bpm=e}}const $A={low:"data:@file/wav;base64,UklGRqoEAABXQVZFZm10IBAAAAABAAEARKwAAMwEAgADABgAZGF0YYYEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr1BAakh+PpCsipjQ1XzoAxjyZ+zsgRzhiDzJd0ykpIiCrkhWHuwqoKwDEY/YG0e0eyea/h+GhLd7fwNysLt0cTt/T4+JZpufJQu2kYfN9q/lQzf9KfAXheAojkQ4qohG7mBMKcRTENRR0/hJh7RALLQ537QpjYQeJuwMhLACt3vwm+Pmrlfeey/VPpfQYJfTpRPQ39/Q3KPZTv/e6oPkBr/u2zP3Y3f8cyQH+eAOE3ATE5wUZlAYR4AYazwYAaQYvuQXhzQQztwM0hgL5SwHIGABT+/4iAP4XMf0rlfxEMPxHA/xADPy1RvwMrPwMNP1e1f0fhv5lPP+87v+alACzJgFEnwE8+gFONQLwTwI9SwLHKQJe7wHEoAFiQwHz3AA5cwCwCwBQq/9YVv8iEP8Q2/58uP65qP4oq/5Ovv743/5lDf9zQ//Qfv8jvP8++P8+MACpYQCLigCAqQC+vQARxwDTxQDeugB4pwA3jQDtbQCHSwD0JwAQBQCH5P/Jx//7r//rnf8Skv+PjP8ujf9zk/+hnv/Mrf/pv//Y0/966P+7/P+jDwBaIAA3LgC/OACuPwDxQgCjQgANPwCcOADYLwBcJQDPGQDYDQAVAgAa9/9h7f9P5f8q3/8b2/8u2f9T2f9f2/8V3/8m5P836v/p8P/a9/+t/v8PBQC2CgBpDwD/EgBfFQCCFgByFgBGFQAiEwA1EACyDADRCADKBADUAAAf/f/V+f8Z9/8C9f+e8//y8v/58v+k8//f9P+Q9v+Z+P/Y+v8u/f97//+iAQCMAwAjBQBbBgAsBwCRBwCPBwAtBwB3BgB9BQBQBAADAwCoAQBSAAAS///1/f8I/f9S/P/Y+/+c+/+c+//U+/89/P/N/P98/f89/v8G///M//+GAAAsAQC2AQAgAgBoAgCLAgCLAgBrAgAvAgDcAQB3AQAHAQCSAAAfAACz//9T//8C///E/v+b/v+G/v+F/v+X/v+6/v/q/v8l//9m//+p///s//8rAABjAACSAAC2AADOAADbAADbAADRAAC9AAChAAB/AABZAAAyAAALAADn///G//+r//+W//+I//+B//+A//+G//+S//+i//+1///L///i///4//8NAAAgAAAwAAA9AABFAABJAABJAABGAAA/AAA2AAArAAAeAAARAAAEAAD4///t///j///c///X///V///V///X///a///g///m///u///1///9//8EAAAKAAAQAAAUAAAXAAAYAAAYAAAXAAAVAAASAAAOAAAKAAAGAAABAAD9///5///2///0///y///x///x///y///z///1///4///6///9//8AAAAAAAACAAAEAAAFAAAFAAAGAAAGAAAGAAAFAAAEAAACAAACAAABAAAAAAAAAAD////+///+///+///+///+///+///+//////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",high:"data:@file/wav;base64,UklGRhgFAABXQVZFZm10IBAAAAABAAEARKwAAMwEAgADABgAZGF0YY8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv+wgYUREH2hjDdR+0CiVYhilW3SxfCy/wEjDn/C8I2C5UuCxftimA7iUHgCFkjBxNNhfsoBEN7wtjQgbTugDYdfv8jfZkGvJ7Lu6z2epfJ+irHuaiwuRaEuQlCeTenuRDyOVgd+f6m+kPJOxN/O6VEPJzTPWam/hS6vvjJf/wPALKHwWwwAcJFAqIEAxArw216w7Mww/BNxAEShAP/w8yXQ9abA7ONQ3qwwvUIQo2Wwj0ewbljwSRogLzvgBE7/7JPP2qr/vUTvrhH/kGJ/gTZ/dv4fYllvb3g/ZxqPYJAPdBhvfMNfi2CPmR+Pmb/vrrE/yaMf3rUP5sa/8aewB7egG6ZAK1NQMO6gM2fwRv8wTLRQUpdgUphQUhdAULRQVy+gRdlwQ3HwS2lQPD/gJhXgKWuAFSEQFdbABAzf81N/8brf5oMf4gxv3RbP2QJv348/wq1fzayfxN0fxq6vzAE/2WS/31j/263v2iNf5Ykv6E8v7ZU/8itP9IEQBmaQDHugD1AwG5QwEkeQGLowGJwgEC1gEb3gE32wHyzQEetwG1lwHXcAHAQwHAEQEv3ABspADOawChMwAe/f9lyf93mf8ybv9RSP9mKP/ZDv/o+/6t7/4U6v7q6v7Y8f5o/v4LEP8dJv/mP/+nXP+Ve//nm//SvP+V3f94/f/RGwAJOACaUQAWaAAkewCFigAQlgC2nQB7oQB9oQDsnQAKlwAojQCkgADocQBiYQCITwDPPACtKQCUFgDvAwAi8v+I4f9u0v8Yxf+6uf98sP92qf+1pP82ov/qof+3o/94p///rP8WtP+AvP/9xf9J0P8g2/895v9e8f9E/P+0BgB4EABhGQBJIQAQKACcLQDfMQDRNAByNgDKNgDnNQDdMwDIMADGLAD5JwCHIgCXHABRFgDdDwBhCQADAwDm/P8o9//m8f837f8u6f/a5f9F4/904f9n4P8b4P+H4P+g4f9X4/+a5f9X6P926//i7v+D8v9C9v8I+v/A/f9VAQC1BADPBwCUCgD7DAD5DgCJEACnEQBTEgCOEgBeEgDHEQDUEACNDwD+DQA0DAA8CgAjCAD2BQDEAwCYAQB///+E/f+w+/8M+v+f+P9t9/989v/M9f9f9f809f9I9f+Y9f8f9v/X9v+59//A+P/i+f8Y+/9b/P+i/f/m/v8hAABLAQBeAgBXAwAwBADmBAB4BQDjBQAoBgBGBgA/BgAVBgDLBQBkBQDjBABNBACmAwDzAgA4AgB5AQC8AAAEAABW//+z/v8g/v+g/f8z/f/b/P+Z/P9u/P9a/P9b/P9x/P+Z/P/T/P8c/f9y/f/S/f86/v+m/v8V//+D///u//9VAAC0AAALAQBYAQCZAQDNAQD1AQAQAgAeAgAfAgAUAgDuAQDAAQCNAQBVAQAbAQDfAAClAABuAAA7AAAMAADk///A//+k//+O//9+//90//9v//9x//92//9+//+K//+X//+m//+1///E///S///f///q///z///6//////8BAAABAAAATElTVFwAAABJTkZPSUNSRAsAAAAyMDA1LTA2LTA3AABJRU5HFgAAAEdSQUJBQ0lPTkVTX01JVElDQVMgIABJU0ZUHgAAAFNvbmljIEZvdW5kcnkgU291bmQgRm9yZ2UgNS4wAA=="};var Cf={},lh={};function jk(t){var e=new Lt(t),n=e.readChunk();if(n.id!="MThd")throw"Bad MIDI file. Expected 'MHdr', got: '"+n.id+"'";for(var i=Pk(n.data),o=[],a=0;!e.eof()&&a>8),o.ticksPerFrame=a&255):o.ticksPerBeat=a,o}function Hk(t){for(var e=new Lt(t),n=[];!e.eof();){var i=a();n.push(i)}return n;var o;function a(){var s={};s.deltaTime=e.readVarInt();var A=e.readUInt8();if((A&240)===240)if(A===255){s.meta=!0;var r=e.readUInt8(),h=e.readVarInt();switch(r){case 0:if(s.type="sequenceNumber",h!==2)throw"Expected length for sequenceNumber event is 2, got "+h;return s.number=e.readUInt16(),s;case 1:return s.type="text",s.text=e.readString(h),s;case 2:return s.type="copyrightNotice",s.text=e.readString(h),s;case 3:return s.type="trackName",s.text=e.readString(h),s;case 4:return s.type="instrumentName",s.text=e.readString(h),s;case 5:return s.type="lyrics",s.text=e.readString(h),s;case 6:return s.type="marker",s.text=e.readString(h),s;case 7:return s.type="cuePoint",s.text=e.readString(h),s;case 32:if(s.type="channelPrefix",h!=1)throw"Expected length for channelPrefix event is 1, got "+h;return s.channel=e.readUInt8(),s;case 33:if(s.type="portPrefix",h!=1)throw"Expected length for portPrefix event is 1, got "+h;return s.port=e.readUInt8(),s;case 47:if(s.type="endOfTrack",h!=0)throw"Expected length for endOfTrack event is 0, got "+h;return s;case 81:if(s.type="setTempo",h!=3)throw"Expected length for setTempo event is 3, got "+h;return s.microsecondsPerBeat=e.readUInt24(),s;case 84:if(s.type="smpteOffset",h!=5)throw"Expected length for smpteOffset event is 5, got "+h;var l=e.readUInt8(),c={0:24,32:25,64:29,96:30};return s.frameRate=c[l&96],s.hour=l&31,s.min=e.readUInt8(),s.sec=e.readUInt8(),s.frame=e.readUInt8(),s.subFrame=e.readUInt8(),s;case 88:if(s.type="timeSignature",h!=2&&h!=4)throw"Expected length for timeSignature event is 4 or 2, got "+h;return s.numerator=e.readUInt8(),s.denominator=1<>4;switch(s.channel=A&15,d){case 8:return s.type="noteOff",s.noteNumber=g,s.velocity=e.readUInt8(),s;case 9:var u=e.readUInt8();return s.type=u===0?"noteOff":"noteOn",s.noteNumber=g,s.velocity=u,u===0&&(s.byte9=!0),s;case 10:return s.type="noteAftertouch",s.noteNumber=g,s.amount=e.readUInt8(),s;case 11:return s.type="controller",s.controllerType=g,s.value=e.readUInt8(),s;case 12:return s.type="programChange",s.programNumber=g,s;case 13:return s.type="channelAftertouch",s.amount=g,s;case 14:return s.type="pitchBend",s.value=g+(e.readUInt8()<<7)-8192,s;default:throw"Unrecognised MIDI event type: "+d}}}}function Lt(t){this.buffer=t,this.bufferLen=this.buffer.length,this.pos=0}Lt.prototype.eof=function(){return this.pos>=this.bufferLen};Lt.prototype.readUInt8=function(){var t=this.buffer[this.pos];return this.pos+=1,t};Lt.prototype.readInt8=function(){var t=this.readUInt8();return t&128?t-256:t};Lt.prototype.readUInt16=function(){var t=this.readUInt8(),e=this.readUInt8();return(t<<8)+e};Lt.prototype.readInt16=function(){var t=this.readUInt16();return t&32768?t-65536:t};Lt.prototype.readUInt24=function(){var t=this.readUInt8(),e=this.readUInt8(),n=this.readUInt8();return(t<<16)+(e<<8)+n};Lt.prototype.readInt24=function(){var t=this.readUInt24();return t&8388608?t-16777216:t};Lt.prototype.readUInt32=function(){var t=this.readUInt8(),e=this.readUInt8(),n=this.readUInt8(),i=this.readUInt8();return(t<<24)+(e<<16)+(n<<8)+i};Lt.prototype.readBytes=function(t){var e=this.buffer.slice(this.pos,this.pos+t);return this.pos+=t,e};Lt.prototype.readString=function(t){var e=this.readBytes(t);return String.fromCharCode.apply(null,e)};Lt.prototype.readVarInt=function(){for(var t=0;!this.eof();){var e=this.readUInt8();if(e&128)t+=e&127,t<<=7;else return t+e}return t};Lt.prototype.readChunk=function(){var t=this.readString(4),e=this.readUInt32(),n=this.readBytes(e);return{id:t,length:e,data:n}};var Ok=jk;function Vk(t,e){if(typeof t!="object")throw"Invalid MIDI data";e=e||{};var n=t.header||{},i=t.tracks||[],o,a=i.length,s=new yt;for(zk(s,n,a),o=0;o>7&127;t.writeUInt8(u),t.writeUInt8(m);break;default:throw"Unrecognized event type: "+o}return r}function yt(){this.buffer=[]}yt.prototype.writeUInt8=function(t){this.buffer.push(t&255)};yt.prototype.writeInt8=yt.prototype.writeUInt8;yt.prototype.writeUInt16=function(t){var e=t>>8&255,n=t&255;this.writeUInt8(e),this.writeUInt8(n)};yt.prototype.writeInt16=yt.prototype.writeUInt16;yt.prototype.writeUInt24=function(t){var e=t>>16&255,n=t>>8&255,i=t&255;this.writeUInt8(e),this.writeUInt8(n),this.writeUInt8(i)};yt.prototype.writeInt24=yt.prototype.writeUInt24;yt.prototype.writeUInt32=function(t){var e=t>>24&255,n=t>>16&255,i=t>>8&255,o=t&255;this.writeUInt8(e),this.writeUInt8(n),this.writeUInt8(i),this.writeUInt8(o)};yt.prototype.writeInt32=yt.prototype.writeUInt32;yt.prototype.writeBytes=function(t){this.buffer=this.buffer.concat(Array.prototype.slice.call(t,0))};yt.prototype.writeString=function(t){var e,n=t.length,i=[];for(e=0;e>=7;e;){var i=e&127|128;n.push(i),e>>=7}this.writeBytes(n.reverse())}};yt.prototype.writeChunk=function(t,e){this.writeString(t),this.writeUInt32(e.length),this.writeBytes(e)};var Xk=Vk;lh.parseMidi=Ok;lh.writeMidi=Xk;var er={},wo={};Object.defineProperty(wo,"__esModule",{value:!0});wo.insert=wo.search=void 0;function yf(t,e,n){n===void 0&&(n="ticks");var i=0,o=t.length,a=o;if(o>0&&t[o-1][n]<=e)return o-1;for(;ie)return s;A[n]>e?a=s:A[n]0?a.tempos[h-1].bpm:a.tempos[0].bpm,c=r.ticks/a.ppq-A,g=60/l*c;r.time=g+s,s=r.time,A+=c}),this.timeSignatures.sort(function(r,h){return r.ticks-h.ticks}),this.timeSignatures.forEach(function(r,h){var l=h>0?a.timeSignatures[h-1]:a.timeSignatures[0],c=(r.ticks-l.ticks)/a.ppq,g=c/l.timeSignature[0]/(l.timeSignature[1]/4);l.measures=l.measures||0,r.measures=g+l.measures})},o.prototype.ticksToSeconds=function(a){var s=(0,e.search)(this.tempos,a);if(s!==-1){var A=this.tempos[s],r=A.time,h=(a-A.ticks)/this.ppq;return r+60/A.bpm*h}else{var l=a/this.ppq;return 60/120*l}},o.prototype.ticksToMeasures=function(a){var s=(0,e.search)(this.timeSignatures,a);if(s!==-1){var A=this.timeSignatures[s],r=(a-A.ticks)/this.ppq;return A.measures+r/(A.timeSignature[0]/A.timeSignature[1])/4}else return a/this.ppq/4},Object.defineProperty(o.prototype,"ppq",{get:function(){return n.get(this)},enumerable:!1,configurable:!0}),o.prototype.secondsToTicks=function(a){var s=(0,e.search)(this.tempos,a,"time");if(s!==-1){var A=this.tempos[s],r=A.time,h=a-r,l=h/(60/A.bpm);return Math.round(A.ticks+l*this.ppq)}else{var c=a/.5;return Math.round(c*this.ppq)}},o.prototype.toJSON=function(){return{keySignatures:this.keySignatures,meta:this.meta,name:this.name,ppq:this.ppq,tempos:this.tempos.map(function(a){return{bpm:a.bpm,ticks:a.ticks}}),timeSignatures:this.timeSignatures}},o.prototype.fromJSON=function(a){this.name=a.name,this.tempos=a.tempos.map(function(s){return Object.assign({},s)}),this.timeSignatures=a.timeSignatures.map(function(s){return Object.assign({},s)}),this.keySignatures=a.keySignatures.map(function(s){return Object.assign({},s)}),this.meta=a.meta.map(function(s){return Object.assign({},s)}),n.set(this,a.ppq),this.update()},o.prototype.setTempo=function(a){this.tempos=[{bpm:a,ticks:0}],this.update()},o}();t.Header=i})(er);var vs={},fg={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ControlChange=t.controlChangeIds=t.controlChangeNames=void 0,t.controlChangeNames={1:"modulationWheel",2:"breath",4:"footController",5:"portamentoTime",7:"volume",8:"balance",10:"pan",64:"sustain",65:"portamentoTime",66:"sostenuto",67:"softPedal",68:"legatoFootswitch",84:"portamentoControl"},t.controlChangeIds=Object.keys(t.controlChangeNames).reduce(function(o,a){return o[t.controlChangeNames[a]]=a,o},{});var e=new WeakMap,n=new WeakMap,i=function(){function o(a,s){e.set(this,s),n.set(this,a.controllerType),this.ticks=a.absoluteTime,this.value=a.value}return Object.defineProperty(o.prototype,"number",{get:function(){return n.get(this)},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"name",{get:function(){return t.controlChangeNames[this.number]?t.controlChangeNames[this.number]:null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"time",{get:function(){var a=e.get(this);return a.ticksToSeconds(this.ticks)},set:function(a){var s=e.get(this);this.ticks=s.secondsToTicks(a)},enumerable:!1,configurable:!0}),o.prototype.toJSON=function(){return{number:this.number,ticks:this.ticks,time:this.time,value:this.value}},o}();t.ControlChange=i})(fg);var ch={};Object.defineProperty(ch,"__esModule",{value:!0});ch.createControlChanges=void 0;var cA=fg;function eM(){return new Proxy({},{get:function(t,e){if(t[e])return t[e];if(cA.controlChangeIds.hasOwnProperty(e))return t[cA.controlChangeIds[e]]},set:function(t,e,n){return cA.controlChangeIds.hasOwnProperty(e)?t[cA.controlChangeIds[e]]=n:t[e]=n,!0}})}ch.createControlChanges=eM;var gh={};Object.defineProperty(gh,"__esModule",{value:!0});gh.PitchBend=void 0;var qh=new WeakMap,tM=function(){function t(e,n){qh.set(this,n),this.ticks=e.absoluteTime,this.value=e.value}return Object.defineProperty(t.prototype,"time",{get:function(){var e=qh.get(this);return e.ticksToSeconds(this.ticks)},set:function(e){var n=qh.get(this);this.ticks=n.secondsToTicks(e)},enumerable:!1,configurable:!0}),t.prototype.toJSON=function(){return{ticks:this.ticks,time:this.time,value:this.value}},t}();gh.PitchBend=tM;var dh={},xi={};Object.defineProperty(xi,"__esModule",{value:!0});xi.DrumKitByPatchID=xi.InstrumentFamilyByID=xi.instrumentByPatchID=void 0;xi.instrumentByPatchID=["acoustic grand piano","bright acoustic piano","electric grand piano","honky-tonk piano","electric piano 1","electric piano 2","harpsichord","clavi","celesta","glockenspiel","music box","vibraphone","marimba","xylophone","tubular bells","dulcimer","drawbar organ","percussive organ","rock organ","church organ","reed organ","accordion","harmonica","tango accordion","acoustic guitar (nylon)","acoustic guitar (steel)","electric guitar (jazz)","electric guitar (clean)","electric guitar (muted)","overdriven guitar","distortion guitar","guitar harmonics","acoustic bass","electric bass (finger)","electric bass (pick)","fretless bass","slap bass 1","slap bass 2","synth bass 1","synth bass 2","violin","viola","cello","contrabass","tremolo strings","pizzicato strings","orchestral harp","timpani","string ensemble 1","string ensemble 2","synthstrings 1","synthstrings 2","choir aahs","voice oohs","synth voice","orchestra hit","trumpet","trombone","tuba","muted trumpet","french horn","brass section","synthbrass 1","synthbrass 2","soprano sax","alto sax","tenor sax","baritone sax","oboe","english horn","bassoon","clarinet","piccolo","flute","recorder","pan flute","blown bottle","shakuhachi","whistle","ocarina","lead 1 (square)","lead 2 (sawtooth)","lead 3 (calliope)","lead 4 (chiff)","lead 5 (charang)","lead 6 (voice)","lead 7 (fifths)","lead 8 (bass + lead)","pad 1 (new age)","pad 2 (warm)","pad 3 (polysynth)","pad 4 (choir)","pad 5 (bowed)","pad 6 (metallic)","pad 7 (halo)","pad 8 (sweep)","fx 1 (rain)","fx 2 (soundtrack)","fx 3 (crystal)","fx 4 (atmosphere)","fx 5 (brightness)","fx 6 (goblins)","fx 7 (echoes)","fx 8 (sci-fi)","sitar","banjo","shamisen","koto","kalimba","bag pipe","fiddle","shanai","tinkle bell","agogo","steel drums","woodblock","taiko drum","melodic tom","synth drum","reverse cymbal","guitar fret noise","breath noise","seashore","bird tweet","telephone ring","helicopter","applause","gunshot"];xi.InstrumentFamilyByID=["piano","chromatic percussion","organ","guitar","bass","strings","ensemble","brass","reed","pipe","synth lead","synth pad","synth effects","world","percussive","sound effects"];xi.DrumKitByPatchID={0:"standard kit",8:"room kit",16:"power kit",24:"electronic kit",25:"tr-808 kit",32:"jazz kit",40:"brush kit",48:"orchestra kit",56:"sound fx kit"};Object.defineProperty(dh,"__esModule",{value:!0});dh.Instrument=void 0;var gA=xi,_d=new WeakMap,nM=function(){function t(e,n){if(this.number=0,_d.set(this,n),this.number=0,e){var i=e.find(function(o){return o.type==="programChange"});i&&(this.number=i.programNumber)}}return Object.defineProperty(t.prototype,"name",{get:function(){return this.percussion?gA.DrumKitByPatchID[this.number]:gA.instrumentByPatchID[this.number]},set:function(e){var n=gA.instrumentByPatchID.indexOf(e);n!==-1&&(this.number=n)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"family",{get:function(){return this.percussion?"drums":gA.InstrumentFamilyByID[Math.floor(this.number/8)]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"percussion",{get:function(){var e=_d.get(this);return e.channel===9},enumerable:!1,configurable:!0}),t.prototype.toJSON=function(){return{family:this.family,number:this.number,name:this.name}},t.prototype.fromJSON=function(e){this.number=e.number},t}();dh.Instrument=nM;var uh={};Object.defineProperty(uh,"__esModule",{value:!0});uh.Note=void 0;function iM(t){var e=Math.floor(t/12)-1;return Bf(t)+e.toString()}function Bf(t){var e=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],n=t%12;return e[n]}function oM(t){var e=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"];return e.indexOf(t)}var aM=function(){var t=/^([a-g]{1}(?:b|#|x|bb)?)(-?[0-9]+)/i,e={cbb:-2,cb:-1,c:0,"c#":1,cx:2,dbb:0,db:1,d:2,"d#":3,dx:4,ebb:2,eb:3,e:4,"e#":5,ex:6,fbb:3,fb:4,f:5,"f#":6,fx:7,gbb:5,gb:6,g:7,"g#":8,gx:9,abb:7,ab:8,a:9,"a#":10,ax:11,bbb:9,bb:10,b:11,"b#":12,bx:13};return function(n){var i=t.exec(n),o=i[1],a=i[2],s=e[o.toLowerCase()];return s+(parseInt(a,10)+1)*12}}(),Yo=new WeakMap,sM=function(){function t(e,n,i){Yo.set(this,i),this.midi=e.midi,this.velocity=e.velocity,this.noteOffVelocity=n.velocity,this.ticks=e.ticks,this.durationTicks=n.ticks-e.ticks}return Object.defineProperty(t.prototype,"name",{get:function(){return iM(this.midi)},set:function(e){this.midi=aM(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"octave",{get:function(){return Math.floor(this.midi/12)-1},set:function(e){var n=e-this.octave;this.midi+=n*12},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pitch",{get:function(){return Bf(this.midi)},set:function(e){this.midi=12*(this.octave+1)+oM(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"duration",{get:function(){var e=Yo.get(this);return e.ticksToSeconds(this.ticks+this.durationTicks)-e.ticksToSeconds(this.ticks)},set:function(e){var n=Yo.get(this),i=n.secondsToTicks(this.time+e);this.durationTicks=i-this.ticks},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"time",{get:function(){var e=Yo.get(this);return e.ticksToSeconds(this.ticks)},set:function(e){var n=Yo.get(this);this.ticks=n.secondsToTicks(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bars",{get:function(){var e=Yo.get(this);return e.ticksToMeasures(this.ticks)},enumerable:!1,configurable:!0}),t.prototype.toJSON=function(){return{duration:this.duration,durationTicks:this.durationTicks,midi:this.midi,name:this.name,ticks:this.ticks,time:this.time,velocity:this.velocity}},t}();uh.Note=sM;Object.defineProperty(vs,"__esModule",{value:!0});vs.Track=void 0;var jh=wo,AM=fg,rM=ch,hM=gh,Jd=dh,lM=uh,dA=new WeakMap,cM=function(){function t(e,n){var i=this;if(this.name="",this.notes=[],this.controlChanges=(0,rM.createControlChanges)(),this.pitchBends=[],dA.set(this,n),e){var o=e.find(function(g){return g.type==="trackName"});this.name=o?o.text:""}if(this.instrument=new Jd.Instrument(e,this),this.channel=0,e){for(var a=e.filter(function(g){return g.type==="noteOn"}),s=e.filter(function(g){return g.type==="noteOff"}),A=function(){var g=a.shift();r.channel=g.channel;var d=s.findIndex(function(m){return m.noteNumber===g.noteNumber&&m.absoluteTime>=g.absoluteTime});if(d!==-1){var u=s.splice(d,1)[0];r.addNote({durationTicks:u.absoluteTime-g.absoluteTime,midi:g.noteNumber,noteOffVelocity:u.velocity/127,ticks:g.absoluteTime,velocity:g.velocity/127})}},r=this;a.length;)A();var h=e.filter(function(g){return g.type==="controller"});h.forEach(function(g){i.addCC({number:g.controllerType,ticks:g.absoluteTime,value:g.value/127})});var l=e.filter(function(g){return g.type==="pitchBend"});l.forEach(function(g){i.addPitchBend({ticks:g.absoluteTime,value:g.value/Math.pow(2,13)})});var c=e.find(function(g){return g.type==="endOfTrack"});this.endOfTrackTicks=c!==void 0?c.absoluteTime:void 0}}return t.prototype.addNote=function(e){var n=dA.get(this),i=new lM.Note({midi:0,ticks:0,velocity:1},{ticks:0,velocity:0},n);return Object.assign(i,e),(0,jh.insert)(this.notes,i,"ticks"),this},t.prototype.addCC=function(e){var n=dA.get(this),i=new AM.ControlChange({controllerType:e.number},n);return delete e.number,Object.assign(i,e),Array.isArray(this.controlChanges[i.number])||(this.controlChanges[i.number]=[]),(0,jh.insert)(this.controlChanges[i.number],i,"ticks"),this},t.prototype.addPitchBend=function(e){var n=dA.get(this),i=new hM.PitchBend({},n);return Object.assign(i,e),(0,jh.insert)(this.pitchBends,i,"ticks"),this},Object.defineProperty(t.prototype,"duration",{get:function(){if(!this.notes.length)return 0;for(var e=this.notes[this.notes.length-1].time+this.notes[this.notes.length-1].duration,n=0;n0&&I[I.length-1])&&(w[0]===6||w[0]===2)){d=0;continue}if(w[0]===3&&(!I||w[1]>I[0]&&w[1]import("./index.Bb7WnkDj.js").then(e=>e.i),[]).then(e=>{let n=[];t.forEach((a,s)=>{let A,r=512/((A=a==null?void 0:a.meter)===null||A===void 0?void 0:A.under),h=new e.Track;h.setTempo(ge.bpm,0),h.addInstrumentName("116"),h.addTrackName("Chromatone beat "+s),h.setTimeSignature(4,4,24,8),a.steps.forEach((l,c)=>{l.forEach(g=>{if(a.mutes[c]||a.mutes[g])return;let[d,u]=g.split("-").map(Number),m=r/l.length,I=0;l.length>1&&(I=u*m),h.addEvent(new e.NoteEvent({pitch:a.accents[c]?Yd[s*2]+"2":Yd[s*2+1]+"2",duration:`T${m}`,startTick:r*d+I,velocity:a.accents[c]||a.accents[g]?100:64}))})}),n[s]=h});const i=new e.Writer(n);let o=new Cf.Midi(i.buildFile());o.tracks.forEach((a,s)=>{o.tracks[s].instrument.number=119}),Qf(o.toArray(),"Chromatone-beat")})}function Qf(t,e,n="mid"){const i=new Blob([t]),o=`${e}.${n}`;if(navigator.msSaveBlob)navigator.msSaveBlob(i,o);else{const a=document.createElement("a");if(a.download!==void 0){const s=URL.createObjectURL(i);a.setAttribute("href",s),a.setAttribute("download",o),a.setAttribute("target","_blank"),a.style.visibility="hidden",document.body.appendChild(a),a.click(),document.body.removeChild(a)}}}const Cl=Te([]),SM=(t,e)=>`${t}-${e}`;function yK(t=0){const e=g=>SM(`grid-${t}`,g),n=Te({pitch:H(()=>Ue.tonic),chroma:H(()=>Ue.set.chroma),metre:{over:Ce(e("over"),4),under:Ce(e("under"),4)},octave:Ce(e("octave"),3),volume:Ce(e("vol"),1),pan:Ce(e("pan"),t%2?-.5:.5),probability:Ce(e("probability"),1),tonic:H(()=>n.pitch+12*n.octave-3),steps:Ce(e("steps"),[]),current:[],progress:H(()=>ge.ticks?s==null?void 0:s.progress:0),clear(){n.steps.forEach((g,d)=>{n.steps[d]=[{}]})},rotate(g=1){n.steps=Kn(n.steps,g)}});Cl[t]=n;const{channel:i}=hh(`grid-loop-${t}`),o=new Zs(n.pan,0).connect(i),a=new $c().connect(o);a.maxPolyphony=100;let s=A();ye(()=>n.metre.under,r),ye(()=>n.metre.over,h,{immediate:!0}),Si(()=>{s.events=n.steps}),Si(()=>{ge.stopped&&(n.current=null)}),Si(l);function A(){return new zr((g,d)=>c(d,g),n.steps,`${n.metre.under}n`).start(0)}function r(){s.stop().dispose(),s=A(),s.probability=n.probability}function h(){if(n.steps.length>n.metre.over)n.steps.length=n.metre.over;else for(let g=n.steps.length;gf!=="sub").map(([f,Q])=>Q?Zv(Number(f)+n.tonic):null).filter(Boolean),m={[n.metre.under+"n"]:1/(g.sub||1)};a.triggerAttackRelease(u,m,d),ag().schedule(()=>{const f=Ov(m).toMilliseconds(),Q=u.map(y=>y.toMidi());ah(Q,{duration:f,attack:n.volume})},d)}return ur(()=>{Cl.splice(t,1),s.stop().dispose(),o.dispose(),a.dispose()}),n}async function BK(){const t=await vo(()=>import("./index.Bb7WnkDj.js").then(i=>i.i),[]),e=Cl.map((i,o)=>{const a=512/i.metre.under,s=new t.Track;return s.setTempo(ge.bpm,0),s.addInstrumentName("piano"),s.addTrackName(`Chromatone grid ${o}`),s.setTimeSignature(4,4,24,8),i.steps.forEach((A,r)=>{A.forEach((h,l)=>{const c=a/A.length,g=Object.entries(h).filter(([,d])=>d===!0).map(([d])=>Number(d)+i.tonic).map(d=>pa(d,"midi").toNote());s.addEvent(new t.NoteEvent({pitch:g,duration:`T${c}`,startTick:a*r+l*c,velocity:i.volume*100}))})}),s}),n=new t.Writer(e);Qf(n.buildFile(),"Chromatone-grid")}const xn=Te({initiated:!1,open:!1,opened:!1,recording:!0,monitor:!1,meter:0,volume:dt(Ce("mic-vol",1),0,5),gate:dt(Ce("mic-gate",-60),-100,-40)});let Lo,Ko,uA,Ld;function RM(){if(!xn.initiated){Lo=new Ws,Lo.normalRange=!0,Ko=new oa,Ld=new $r({threshold:-20,ratio:2}).connect(Lo),uA=new og({threshold:-60,smoothing:1}),Ko.connect(uA),uA.connect(Ld);const{channel:t}=hh("mic");ye(()=>xn.open,e=>{e?Ko.open().then(()=>{xn.opened=!0,Pl(()=>{xn.meter=Lo.getValue()})}):(Ko.close(),xn.opened=!1)}),ye(()=>xn.monitor,e=>e?Lo.connect(t):Lo.disconnect(t)),ye(()=>xn.volume,e=>Ko.volume.rampTo(Oi(e)),{immediate:!0}),ye(()=>xn.gate,e=>uA.threshold=e,{immediate:!0})}return{mic:xn,input:Ko}}function EK(){const t=ne(null),e=ne(null),{pressed:n}=Ry(),i=Te({x:0,y:0,normX:0,normY:0,pressed:n,inside:!1});mn(()=>{t.value.addEventListener("mousemove",o);const{isOutside:a}=Ty(e);ye(a,s=>{i.inside=!s})});function o(a,s=t.value,A=e.value){if(!s)return;let r=s.createSVGPoint();r.x=a.clientX,r.y=a.clientY;let h=r.matrixTransform(s.getScreenCTM().inverse());if(A){let l=A.getBBox();i.x=h.xMath.max(...wf.map(t=>t.meter.over/t.meter.under))),qa=(t,e,n,i)=>`${t}-${n}-${i}-${e}`;function wK(t={over:4,under:4,sound:"A",volume:1},e=0,n="bar",i=64){let o;const a=M=>qa("tempo-loop",e,n,M),s=Te({over:dt(Ce(a("over"),4),2,i),under:dt(Ce(a("under"),4),1,i),sound:Ce(a("sound"),"A"),volume:dt(Ce(a("volume"),1),0,1)}),A=ne("0-0"),r=H(()=>Array.from({length:s.over},(M,U)=>[`${U}-1`])),h=Ce(qa("metro",e,n,"mutes"),[]),l=Ce(qa("metro",e,n,"accents"),[!0]),c=dt(Ce(qa("metro",e,n,"vol"),(t==null?void 0:t.volume)||1),0,1),g=H(()=>r.value.filter((M,U)=>!h.value[U]).map(M=>Number(M[0].split("-")[0]))),d=H(()=>h.value.filter(M=>!M).length),u=H(()=>ge.ticks?o==null?void 0:o.progress:0),m=dt(Ce(qa("metro",e,n,"pan"),e%2?-.5:.5),-1,1),I=H(()=>h.value.map(M=>M?"0":"1").join("")),f=H(()=>d.value>0&&d.valuef.value===I.value);wf[e]={meter:s,mutes:h,accents:l,steps:r,reset:w};function w(){h.value=f.value.split("").map(M=>M!=="1")}function B(M){l.value=Kn(l.value,M),h.value=Kn(h.value,M)}const k=R(e,n),{sampler:D,micRec:v}=TM(k.synth),S=ag();ye(()=>s.under,()=>{var M;(M=o==null?void 0:o.stop())==null||M.dispose(),o=new zr(T,r.value,`${s.under}n`).start(0)},{immediate:!0}),ye(()=>s.over,()=>{o.events=r.value},{immediate:!0}),ye(r,M=>{o.events=M,l.value.length=M.length,h.value.length=M.length,h.value.fill(!1,h.value.length)},{immediate:!0}),ye(()=>ge.stopped,M=>{M&&(A.value="1000-1")}),ye(Q,M=>{k.volume.mute=M}),ye(()=>s.sound,M=>{M!=="F"&&(D.main=!1,D.accent=!1)}),ye(c,M=>{k.panner.volume.targetRampTo(Oi(M),1)},{immediate:!0}),ye(m,M=>{k.panner.pan.targetRampTo(M,1)},{immediate:!0});function R(M,U){const G=Wt({...hh(`sequence-${U}-${M}`),panner:Un(new Zs(M%2?-.5:.5,0)),synth:Un(new Ma({urls:{A1:$A.high,A2:$A.low,...Object.fromEntries(Object.entries({B:"synth",C:"seiko",D:"ping",E:"tongue"}).flatMap(([q,Y])=>[[`${q}1`,`/audio/metronome/${Y}/high.mp3`],[`${q}2`,`/audio/metronome/${Y}/low.mp3`]]))},volume:1,attack:.001,release:2}))});return G.synth.connect(G.panner),G.panner.connect(G.channel),G}function T(M,U){st().state==="suspended"&&Gr();const[G,q]=U.split("-").map(Number);if(S.schedule(()=>{A.value=U},M),h.value[G]||h.value[U])return;const Y=l.value[G]&&q===1;s.sound==="F"&&(Y&&!D.accent||!Y&&!D.main)||k.synth.triggerAttackRelease(`${s.sound}${Y?2:1}`,`${s.under}n`,M)}return ur(()=>{o.stop().dispose(),[k,v].forEach(M=>{Object.values(M).forEach(U=>{var G;return(G=U==null?void 0:U.dispose)==null?void 0:G.call(U)})})}),{sampler:D,meter:s,current:A,steps:r,mutes:h,accents:l,volume:c,activeSteps:g,progress:u,mutesCount:d,pan:m,mute:Q,isEuclidean:y,rotateAccents:B,reset:w}}function TM(t){const e={mic:new oa(1),meter:new Ws,recorder:new ws};e.mic.connect(e.meter),e.meter.connect(e.recorder);const n=Te({started:!1,recording:!1,main:!1,accent:!1,both:H(()=>n.main&&n.accent),async load(i="main",o){const a=await o.arrayBuffer(),s=await e.recorder.context.decodeAudioData(a);t.add(i==="main"?"F1":"F2",s),n[i]=!0,n.recording=!1},async rec(i="main"){if(n.recording){const a=await(await e.recorder.stop()).arrayBuffer(),s=await e.recorder.context.decodeAudioData(a);t.add(i==="main"?"F1":"F2",s),n[i]=!0,n.recording=!1}else if(n.started)n.recording=i,e.recorder.start();else try{await e.mic.open(),n.started=!0,n.recording=i,e.recorder.start()}catch(o){console.log("mic not open",o)}}});return{sampler:n,micRec:e}}function FM(t,e){function n(i,o,a){a=a||Array(i).fill("1").concat(Array(o).fill("0"));const s=[];for(let A=0;A1?n(s.length,a.length,s.concat(a)):s.concat(a)}return n(t,e-t,null)}const Ds=4096,tr=512,bf=440,GM=69,xM=Kn(Jn,3),xe=Te({initiated:!1,initiating:!1,stream:null,middleA:bf,semitone:GM,note:{name:"A",value:69,cents:0,octave:4,frequency:440,color:Df(440),silent:!1},span:64,bufferSize:Ds,tempoBufferSize:tr,running:!1,frame:0,beat:0,bpm:0,confidence:0,listenBeat:!1,prevBeat:0,blink:!1,chroma:new Array(12).fill(0),spec:[],rms:0,aChroma:H(()=>Kn(xe.chroma,-3)),chromaAvg:H(()=>xe.chroma.reduce((t,e)=>t+e,0)/12)}),De={};function vf(){return Kk(),mn(()=>{ye(()=>xe.frame,UM)}),{init:_M,tuner:xe,chain:De}}function UM(){!xe.listenBeat||xe.beat<=xe.prevBeat||(xe.prevBeat=xe.beat,xe.blink=!0,setTimeout(()=>{xe.blink=!1},60))}async function _M(){if(xe.initiated)return;xe.initiating=!0;const{master:t}=rh();JM(t.context),await YM(),await KM(),xe.running=!0,qM(),xe.initiated=!0,xe.initiating=!1}function JM(t){De.audioContext=t,De.analyser=De.audioContext.createAnalyser(),De.scriptProcessor=De.audioContext.createScriptProcessor(Ds,1,1),De.beatProcessor=De.audioContext.createScriptProcessor(tr,1,1)}async function YM(){const t=await vo(()=>import("./meyda.min.FXK0Oede.js").then(e=>e.m),[]);De.meyda=t.createMeydaAnalyzer({audioContext:De.audioContext,source:De.analyser,bufferSize:Ds,featureExtractors:["chroma","amplitudeSpectrum","rms"],callback:LM}),De.meyda.start()}function LM(t){Object.assign(xe,{rms:t.rms,chroma:t.chroma,spec:t.amplitudeSpectrum})}async function KM(){const{default:t}=await vo(async()=>{const{default:n}=await import("./aubio.esm.DXHrTUMj.js");return{default:n}},[]),e=await t();De.pitchDetector=new e.Pitch("default",Ds*4,Ds,De.audioContext.sampleRate),De.tempoAnalyzer=new e.Tempo(tr*4,tr,De.audioContext.sampleRate)}function qM(){if(typeof navigator>"u"||!navigator.mediaDevices){console.warn("MediaDevices API not available");return}navigator.mediaDevices.getUserMedia({audio:!0}).then(jM).catch(t=>console.log(`${t.name}: ${t.message}`))}function jM(t){xe.stream=t,De.audioContext.createMediaStreamSource(t).connect(De.analyser),De.analyser.connect(De.scriptProcessor),De.analyser.connect(De.beatProcessor),De.scriptProcessor.connect(De.audioContext.destination),De.beatProcessor.connect(De.audioContext.destination),De.beatProcessor.addEventListener("audioprocess",PM),De.scriptProcessor.addEventListener("audioprocess",HM)}function PM(t){if(!De.tempoAnalyzer)return;De.tempoAnalyzer.do(t.inputBuffer.getChannelData(0))&&(xe.beat++,xe.confidence=De.tempoAnalyzer.getConfidence(),xe.bpm=De.tempoAnalyzer.getBpm())}function HM(t){if(!De.pitchDetector)return;const e=De.pitchDetector.do(t.inputBuffer.getChannelData(0));xe.frame++,OM(e)}function OM(t){if(t){const e=VM(t);xe.note={name:xM[e%12],value:e,cents:WM(t,e),octave:Math.floor(e/12)-1,frequency:t,color:Df(t),silent:!1}}else xe.note.silent=!0}function VM(t){return Math.round(12*(Math.log(t/xe.middleA)/Math.log(2)))+xe.semitone}function zM(t){return xe.middleA*Math.pow(2,(t-xe.semitone)/12)}function WM(t,e){return Math.floor(1200*Math.log(t/zM(e))/Math.log(2))}function Df(t){const e=ZM(t);if(typeof e!="number")return"#333";const n=Math.floor(e/12)+2;return $e(e,n)}function ZM(t){return 12*(Math.log(t/bf)/Math.log(2))%12}var XM=function(e,n,i,o){var a=i?i.call(o,e,n):void 0;if(a!==void 0)return!!a;if(e===n)return!0;if(typeof e!="object"||!e||typeof n!="object"||!n)return!1;var s=Object.keys(e),A=Object.keys(n);if(s.length!==A.length)return!1;for(var r=Object.prototype.hasOwnProperty.bind(n),h=0;he in t?Mf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,et=(t,e)=>{for(var n in e||(e={}))A1.call(e,n)&&qd(t,n,e[n]);if(Kd)for(var n of Kd(e))r1.call(e,n)&&qd(t,n,e[n]);return t},h1=(t,e)=>a1(t,s1(e)),ni=(t,e)=>{for(var n in e)Mf(t,n,{get:e[n],enumerable:!0})},Cg={};ni(Cg,{_1:()=>Nf,_2:()=>Sf,_3:()=>Tf,_4:()=>Ff,_5:()=>Gf,_6:()=>xf,_7:()=>Uf,_8:()=>_f,__1:()=>yg,__2:()=>Rf,__3:()=>l1,__4:()=>c1,__5:()=>g1,__6:()=>d1,__7:()=>u1,__8:()=>m1,app:()=>we});function jd(t,e,n){for(var i=new Array(n),o=0,a=e;o=0)return function(r,h){return function(l){return we(r,h.concat([l]))}}(i,n);e=jd(n,a,-A|0),t=i.apply(null,jd(n,0,a))}}function Nf(t,e){var n=t.length;if(n===1)return t(e);switch(n){case 1:return t(e);case 2:return function(i){return t(e,i)};case 3:return function(i,o){return t(e,i,o)};case 4:return function(i,o,a){return t(e,i,o,a)};case 5:return function(i,o,a,s){return t(e,i,o,a,s)};case 6:return function(i,o,a,s,A){return t(e,i,o,a,s,A)};case 7:return function(i,o,a,s,A,r){return t(e,i,o,a,s,A,r)};default:return we(t,[e])}}function yg(t){var e=t.length;return e===1?t:function(n){return Nf(t,n)}}function Sf(t,e,n){var i=t.length;if(i===2)return t(e,n);switch(i){case 1:return we(t(e),[n]);case 2:return t(e,n);case 3:return function(o){return t(e,n,o)};case 4:return function(o,a){return t(e,n,o,a)};case 5:return function(o,a,s){return t(e,n,o,a,s)};case 6:return function(o,a,s,A){return t(e,n,o,a,s,A)};case 7:return function(o,a,s,A,r){return t(e,n,o,a,s,A,r)};default:return we(t,[e,n])}}function Rf(t){var e=t.length;return e===2?t:function(n,i){return Sf(t,n,i)}}function Tf(t,e,n,i){var o=t.length;if(o===3)return t(e,n,i);switch(o){case 1:return we(t(e),[n,i]);case 2:return we(t(e,n),[i]);case 3:return t(e,n,i);case 4:return function(a){return t(e,n,i,a)};case 5:return function(a,s){return t(e,n,i,a,s)};case 6:return function(a,s,A){return t(e,n,i,a,s,A)};case 7:return function(a,s,A,r){return t(e,n,i,a,s,A,r)};default:return we(t,[e,n,i])}}function l1(t){var e=t.length;return e===3?t:function(n,i,o){return Tf(t,n,i,o)}}function Ff(t,e,n,i,o){var a=t.length;if(a===4)return t(e,n,i,o);switch(a){case 1:return we(t(e),[n,i,o]);case 2:return we(t(e,n),[i,o]);case 3:return we(t(e,n,i),[o]);case 4:return t(e,n,i,o);case 5:return function(s){return t(e,n,i,o,s)};case 6:return function(s,A){return t(e,n,i,o,s,A)};case 7:return function(s,A,r){return t(e,n,i,o,s,A,r)};default:return we(t,[e,n,i,o])}}function c1(t){var e=t.length;return e===4?t:function(n,i,o,a){return Ff(t,n,i,o,a)}}function Gf(t,e,n,i,o,a){var s=t.length;if(s===5)return t(e,n,i,o,a);switch(s){case 1:return we(t(e),[n,i,o,a]);case 2:return we(t(e,n),[i,o,a]);case 3:return we(t(e,n,i),[o,a]);case 4:return we(t(e,n,i,o),[a]);case 5:return t(e,n,i,o,a);case 6:return function(A){return t(e,n,i,o,a,A)};case 7:return function(A,r){return t(e,n,i,o,a,A,r)};default:return we(t,[e,n,i,o,a])}}function g1(t){var e=t.length;return e===5?t:function(n,i,o,a,s){return Gf(t,n,i,o,a,s)}}function xf(t,e,n,i,o,a,s){var A=t.length;if(A===6)return t(e,n,i,o,a,s);switch(A){case 1:return we(t(e),[n,i,o,a,s]);case 2:return we(t(e,n),[i,o,a,s]);case 3:return we(t(e,n,i),[o,a,s]);case 4:return we(t(e,n,i,o),[a,s]);case 5:return we(t(e,n,i,o,a),[s]);case 6:return t(e,n,i,o,a,s);case 7:return function(r){return t(e,n,i,o,a,s,r)};default:return we(t,[e,n,i,o,a,s])}}function d1(t){var e=t.length;return e===6?t:function(n,i,o,a,s,A){return xf(t,n,i,o,a,s,A)}}function Uf(t,e,n,i,o,a,s,A){var r=t.length;if(r===7)return t(e,n,i,o,a,s,A);switch(r){case 1:return we(t(e),[n,i,o,a,s,A]);case 2:return we(t(e,n),[i,o,a,s,A]);case 3:return we(t(e,n,i),[o,a,s,A]);case 4:return we(t(e,n,i,o),[a,s,A]);case 5:return we(t(e,n,i,o,a),[s,A]);case 6:return we(t(e,n,i,o,a,s),[A]);case 7:return t(e,n,i,o,a,s,A);default:return we(t,[e,n,i,o,a,s,A])}}function u1(t){var e=t.length;return e===7?t:function(n,i,o,a,s,A,r){return Uf(t,n,i,o,a,s,A,r)}}function _f(t,e,n,i,o,a,s,A,r){var h=t.length;if(h===8)return t(e,n,i,o,a,s,A,r);switch(h){case 1:return we(t(e),[n,i,o,a,s,A,r]);case 2:return we(t(e,n),[i,o,a,s,A,r]);case 3:return we(t(e,n,i),[o,a,s,A,r]);case 4:return we(t(e,n,i,o),[a,s,A,r]);case 5:return we(t(e,n,i,o,a),[s,A,r]);case 6:return we(t(e,n,i,o,a,s),[A,r]);case 7:return we(t(e,n,i,o,a,s,A),[r]);default:return we(t,[e,n,i,o,a,s,A,r])}}function m1(t){var e=t.length;return e===8?t:function(n,i,o,a,s,A,r,h){return _f(t,n,i,o,a,s,A,r,h)}}var Jf={};ni(Jf,{$$Map:()=>x1,$$Set:()=>U1,RenderDelegate:()=>_1,mount:()=>zf,renderWithDelegate:()=>J1,stepGarbageCollector:()=>Y1,visit:()=>Wf});var Yf={};ni(Yf,{create:()=>Of,isNode:()=>F1,shallowCopy:()=>Vf,symbol:()=>Bg});function Pd(t){var e=typeof t;return e==="undefined"?3:t===null?2:e==="number"?{TAG:0,_0:t}:e==="bigint"?{TAG:5,_0:t}:e==="string"?{TAG:1,_0:t}:e==="boolean"?t===!0?1:0:e==="symbol"?{TAG:4,_0:t}:e==="function"?{TAG:2,_0:t}:{TAG:3,_0:t}}function p1(t,e){switch(e){case 0:return typeof t>"u";case 1:return t===null;case 2:return typeof t=="boolean";case 3:return typeof t=="number";case 4:return typeof t=="string";case 5:return typeof t=="function";case 6:return typeof t=="object";case 7:return typeof t=="symbol";case 8:return typeof t=="bigint"}}function I1(t){return t===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:t!==null&&t.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:t.BS_PRIVATE_NESTED_SOME_NONE+1|0}:t}function f1(t){if(!(t!==null&&t.BS_PRIVATE_NESTED_SOME_NONE!==void 0))return t;var e=t.BS_PRIVATE_NESTED_SOME_NONE;if(e!==0)return{BS_PRIVATE_NESTED_SOME_NONE:e-1|0}}function C1(t,e){return{hd:e,tl:t}}function y1(t,e){for(;;){var n=e,i=t;if(!i)return n;var o={hd:i.hd,tl:0};n.tl=o,e=o,t=i.tl}}function B1(t,e,n){for(;;){var i=e,o=t;if(!o)return;var a={hd:n(o.hd),tl:0};i.tl=a,e=a,t=o.tl}}function E1(t,e,n,i){for(;;){var o=i,a=n,s=e;if(!a)return;var A={hd:t(s,a.hd),tl:0};o.tl=A,i=A,n=a.tl,e=s+1|0}}function Q1(t,e){if(!t)return e;var n={hd:t.hd,tl:0};return y1(t.tl,n).tl=e,n}function w1(t,e){if(!t)return 0;var n={hd:e(t.hd),tl:0};return B1(t.tl,n,e),n}function Lf(t,e){return w1(t,yg(e))}function b1(t,e){if(!t)return 0;var n={hd:e(0,t.hd),tl:0};return E1(e,1,t.tl,n),n}function v1(t,e){return b1(t,Rf(e))}function Kf(t){for(var e=t,n=0;;){var i=n,o=e;if(!o)return i;n=i+1|0,e=o.tl}}function D1(t,e,n){for(;;){var i=n,o=e;if(!i)return;t[o]=i.hd,n=i.tl,e=o+1|0}}function qf(t){for(var e=t.length-1|0,n=0;;){var i=n,o=e;if(o<0)return i;n={hd:t[o],tl:i},e=o-1|0}}function k1(t){var e=Kf(t),n=new Array(e);return D1(n,0,t),n}function M1(t,e){for(;;){var n=t;if(!n)return;e(n.hd),t=n.tl}}function jf(t,e){M1(t,yg(e))}function N1(t,e,n){for(;;){var i=e,o=t;if(!o)return i;e=n(i,o.hd),t=o.tl}}function Pf(t,e,n,i){for(let o in i)if(i.hasOwnProperty(o)){const a=i[o];(!n.hasOwnProperty(o)||!$M(n[o],a))&&((typeof a>"u"||a===null||typeof a=="number"&&isNaN(a)||typeof a=="number"&&!isFinite(a))&&console.warn(`Warning: applying a potentially erroneous property value. ${o}: ${a}`),t.setProperty(e,o,a),n[o]=a)}}function S1(t,e){if(e in t)return I1(t[e])}function R1(t){if(t!==void 0)return f1(t);throw new Error("getExn")}function Hd(t,e,n,i){Pf(t,e,n,i)}function Hf(t,e){return Math.imul(t^e,16777619)}function Ph(t,e){for(var n=t,i=0,o=e.length;i<=o;++i)n=Hf(n,e.charCodeAt(i)|0);return n}function T1(t,e,n){var i=Ph(-2128831035,t),o=S1(e,"key"),a=o!==void 0&&p1(o,4)?Ph(i,o):Ph(i,R1(JSON.stringify(e)));return N1(n,a,Hf)&2147483647}var Bg="__ELEM_NODE__";function Of(t,e,n){var i=qf(n),o=Lf(i,function(a){return a.hash});return{symbol:Bg,hash:T1(t,e,o),kind:t,props:e,children:i}}function F1(t){var e=Pd(t);if(typeof e=="number"||e.TAG!==3)return!1;var n=Pd(t.symbol);return typeof n=="number"||n.TAG!==1?!1:n._0===Bg}function Vf(t){return{symbol:t.symbol,hash:t.hash,kind:t.kind,props:Object.assign({},t.props),generation:{contents:0}}}function G1(t){return Array.from(t.values())}var x1={valuesArray:G1},U1={},_1={};function zf(t,e){var n=t.getNodeMap();if(n.has(e.hash)){var i=n.get(e.hash);Hd(t,i.hash,i.props,e.props),i.generation.contents=0;return}t.createNode(e.hash,e.kind),Hd(t,e.hash,{},e.props),jf(e.children,function(o){t.appendChild(e.hash,o.hash)}),n.set(e.hash,Vf(e))}function Wf(t,e,n){for(;;){var i=n,o=function(A){e.add(A.hash)};if(!i)return;var a=i.tl,s=i.hd;if(e.has(s.hash)){n=a;continue}o(s),zf(t,s),n=Q1(s.children,a)}}function J1(t,e){var n=new Set,i=v1(qf(e),function(o,a){return Of("root",{channel:o},[a])});Wf(t,n,i),t.activateRoots(k1(Lf(i,function(o){return o.hash}))),t.commitUpdates()}function Y1(t){var e=t.getNodeMap(),n=t.getTerminalGeneration(),i=Array.from(e.values()).reduce(function(o,a){return a.generation.contents=a.generation.contents+1|0,a.generation.contents>=n?(t.deleteNode(a.hash),C1(o,a)):o},0);if(Kf(i)>0)return t.commitUpdates(),jf(i,function(o){e.delete(o.hash)})}var L1=Cg,Zf=Jf,K1=function(t,e){return L1._2(Zf.renderWithDelegate,t,e)};Zf.stepGarbageCollector;var q1=Cg,Eg=Yf,Xf=function(t,e,n){return q1._3(Eg.create,t,e,n)},j1=Eg.isNode;Eg.shallowCopy;function N(t){return typeof t=="number"?Xf("const",{value:t},[]):(n1(W(t),`Whoops, expecting a Node type here! Got: ${typeof t}`),t)}function W(t){return j1(t)}function F(t,e,n){return Xf(t,e,n.map(N))}var Ro={};ni(Ro,{accum:()=>V1,biquad:()=>yN,capture:()=>DN,constant:()=>$f,convolve:()=>oN,counter:()=>O1,delay:()=>uN,env:()=>gN,fft:()=>vN,latch:()=>Z1,maxhold:()=>X1,meter:()=>QN,metro:()=>tN,mm1p:()=>IN,once:()=>$1,phasor:()=>z1,pole:()=>cN,prewarp:()=>pN,rand:()=>eN,sample:()=>nN,sampleseq:()=>hN,sampleseq2:()=>lN,scope:()=>bN,sdelay:()=>mN,seq:()=>aN,seq2:()=>sN,snapshot:()=>wN,sparseq:()=>AN,sparseq2:()=>rN,sr:()=>P1,svf:()=>fN,svfshelf:()=>CN,syncphasor:()=>W1,table:()=>iN,tapIn:()=>BN,tapOut:()=>EN,time:()=>H1,z:()=>dN});function $f(t){return F("const",t,[])}function P1(){return F("sr",{},[])}function H1(){return F("time",{},[])}function O1(t,e){return typeof t=="number"||W(t)?F("counter",{},[N(t)]):F("counter",t,[N(e)])}function V1(t,e,n){return typeof t=="number"||W(t)?F("accum",{},[N(t),N(e)]):F("accum",t,[N(e),N(n)])}function z1(t,e){return typeof t=="number"||W(t)?F("phasor",{},[N(t)]):F("phasor",t,[N(e)])}function W1(t,e,n){return typeof t=="number"||W(t)?F("sphasor",{},[N(t),N(e)]):F("sphasor",t,[N(e),N(n)])}function Z1(t,e,n){return typeof t=="number"||W(t)?F("latch",{},[N(t),N(e)]):F("latch",t,[N(e),N(n)])}function X1(t,e,n){return typeof t=="number"||W(t)?F("maxhold",{},[N(t),N(e)]):F("maxhold",t,[N(e),N(n)])}function $1(t,e){return typeof t=="number"||W(t)?F("once",{},[N(t)]):F("once",t,[N(e)])}function eN(t){return typeof t<"u"?F("rand",t,[]):F("rand",{},[])}function tN(t){return typeof t<"u"?F("metro",t,[]):F("metro",{},[])}function nN(t,e,n){return F("sample",t,[N(e),N(n)])}function iN(t,e){return F("table",t,[N(e)])}function oN(t,e){return F("convolve",t,[N(e)])}function aN(t,e,n){return F("seq",t,[N(e),N(n)])}function sN(t,e,n){return F("seq2",t,[N(e),N(n)])}function AN(t,e,n){return F("sparseq",t,[N(e),N(n)])}function rN(t,e){return F("sparseq2",t,[N(e)])}function hN(t,e){return F("sampleseq",t,[N(e)])}function lN(t,e){return F("sampleseq2",t,[N(e)])}function cN(t,e,n){return typeof t=="number"||W(t)?F("pole",{},[N(t),N(e)]):F("pole",t,[N(e),N(n)])}function gN(t,e,n,i){return typeof t=="number"||W(t)?F("env",{},[N(t),N(e),N(n)]):F("env",t,[N(e),N(n),N(i)])}function dN(t,e){return typeof t=="number"||W(t)?F("z",{},[N(t)]):F("z",t,[N(e)])}function uN(t,e,n,i){return typeof t=="number"||W(t)?F("delay",{},[N(t),N(e),N(n)]):F("delay",t,[N(e),N(n),N(i)])}function mN(t,e){return F("sdelay",t,[N(e)])}function pN(t){return F("prewarp",{},[t])}function IN(t,e,n){return typeof t=="number"||W(t)?F("mm1p",{},[N(t),N(e)]):F("mm1p",t,[N(e),N(n)])}function fN(t,e,n,i){return typeof t=="number"||W(t)?F("svf",{},[N(t),N(e),N(n)]):F("svf",t,[N(e),N(n),N(i)])}function CN(t,e,n,i,o){return typeof t=="number"||W(t)?F("svfshelf",{},[N(t),N(e),N(n),N(i)]):F("svfshelf",t,[N(e),N(n),N(i),N(o)])}function yN(t,e,n,i,o,a,s){return typeof t=="number"||W(t)?F("biquad",{},[N(t),N(e),N(n),N(i),N(o),N(a)]):F("biquad",t,[N(e),N(n),N(i),N(o),N(a),N(s)])}function BN(t){return F("tapIn",t,[])}function EN(t,e){return F("tapOut",t,[N(e)])}function QN(t,e){return typeof t=="number"||W(t)?F("meter",{},[N(t)]):F("meter",t,[N(e)])}function wN(t,e,n){return typeof t=="number"||W(t)?F("snapshot",{},[N(t),N(e)]):F("snapshot",t,[N(e),N(n)])}function bN(t,...e){return typeof t=="number"||W(t)?F("scope",{},[t,...e].map(N)):F("scope",t,e.map(N))}function vN(t,e){return typeof t=="number"||W(t)?F("fft",{},[N(t)]):F("fft",t,[N(e)])}function DN(t,e,n){return typeof t=="number"||W(t)?F("capture",{},[N(t),N(e)]):F("capture",t,[N(e),N(n)])}var eC={};ni(eC,{compress:()=>rS,skcompress:()=>hS});var To={};ni(To,{abs:()=>LN,add:()=>WN,and:()=>VN,asinh:()=>RN,ceil:()=>xN,cos:()=>MN,div:()=>$N,eq:()=>ON,exp:()=>YN,floor:()=>UN,ge:()=>jN,geq:()=>PN,identity:()=>tC,le:()=>KN,leq:()=>qN,ln:()=>TN,log:()=>FN,log2:()=>GN,max:()=>nS,min:()=>tS,mod:()=>eS,mul:()=>XN,or:()=>zN,pow:()=>HN,round:()=>_N,sin:()=>kN,sqrt:()=>JN,sub:()=>ZN,tan:()=>NN,tanh:()=>SN});function tC(t,e){return typeof t=="number"||W(t)?F("in",{},[N(t)]):typeof e=="number"||W(e)?F("in",t,[N(e)]):F("in",t,[])}function kN(t,e){return typeof t=="number"||W(t)?F("sin",{},[N(t)]):F("sin",t,[N(e)])}function MN(t,e){return typeof t=="number"||W(t)?F("cos",{},[N(t)]):F("cos",t,[N(e)])}function NN(t,e){return typeof t=="number"||W(t)?F("tan",{},[N(t)]):F("tan",t,[N(e)])}function SN(t,e){return typeof t=="number"||W(t)?F("tanh",{},[N(t)]):F("tanh",t,[N(e)])}function RN(t,e){return typeof t=="number"||W(t)?F("asinh",{},[N(t)]):F("asinh",t,[N(e)])}function TN(t,e){return typeof t=="number"||W(t)?F("ln",{},[N(t)]):F("ln",t,[N(e)])}function FN(t,e){return typeof t=="number"||W(t)?F("log",{},[N(t)]):F("log",t,[N(e)])}function GN(t,e){return typeof t=="number"||W(t)?F("log2",{},[N(t)]):F("log2",t,[N(e)])}function xN(t,e){return typeof t=="number"||W(t)?F("ceil",{},[N(t)]):F("ceil",t,[N(e)])}function UN(t,e){return typeof t=="number"||W(t)?F("floor",{},[N(t)]):F("floor",t,[N(e)])}function _N(t,e){return typeof t=="number"||W(t)?F("round",{},[N(t)]):F("round",t,[N(e)])}function JN(t,e){return typeof t=="number"||W(t)?F("sqrt",{},[N(t)]):F("sqrt",t,[N(e)])}function YN(t,e){return typeof t=="number"||W(t)?F("exp",{},[N(t)]):F("exp",t,[N(e)])}function LN(t,e){return typeof t=="number"||W(t)?F("abs",{},[N(t)]):F("abs",t,[N(e)])}function KN(t,e,n){return typeof t=="number"||W(t)?F("le",{},[N(t),N(e)]):F("le",t,[N(e),N(n)])}function qN(t,e,n){return typeof t=="number"||W(t)?F("leq",{},[N(t),N(e)]):F("leq",t,[N(e),N(n)])}function jN(t,e,n){return typeof t=="number"||W(t)?F("ge",{},[N(t),N(e)]):F("ge",t,[N(e),N(n)])}function PN(t,e,n){return typeof t=="number"||W(t)?F("geq",{},[N(t),N(e)]):F("geq",t,[N(e),N(n)])}function HN(t,e,n){return typeof t=="number"||W(t)?F("pow",{},[N(t),N(e)]):F("pow",t,[N(e),N(n)])}function ON(t,e,n){return typeof t=="number"||W(t)?F("eq",{},[N(t),N(e)]):F("eq",t,[N(e),N(n)])}function VN(t,e,n){return typeof t=="number"||W(t)?F("and",{},[N(t),N(e)]):F("and",t,[N(e),N(n)])}function zN(t,e,n){return typeof t=="number"||W(t)?F("or",{},[N(t),N(e)]):F("or",t,[N(e),N(n)])}function WN(t,...e){return typeof t=="number"||W(t)?F("add",{},[t,...e].map(N)):F("add",t,e.map(N))}function ZN(t,...e){return typeof t=="number"||W(t)?F("sub",{},[t,...e].map(N)):F("sub",t,e.map(N))}function XN(t,...e){return typeof t=="number"||W(t)?F("mul",{},[t,...e].map(N)):F("mul",t,e.map(N))}function $N(t,...e){return typeof t=="number"||W(t)?F("div",{},[t,...e].map(N)):F("div",t,e.map(N))}function eS(t,...e){return typeof t=="number"||W(t)?F("mod",{},[t,...e].map(N)):F("mod",t,e.map(N))}function tS(t,...e){return typeof t=="number"||W(t)?F("min",{},[t,...e].map(N)):F("min",t,e.map(N))}function nS(t,...e){return typeof t=="number"||W(t)?F("max",{},[t,...e].map(N)):F("max",t,e.map(N))}var Xs={};ni(Xs,{db2gain:()=>aS,gain2db:()=>sS,hann:()=>AS,ms2samps:()=>iS,select:()=>nC,tau2pole:()=>oS});var At=et(et({},Ro),To);function iS(t){return At.mul(At.sr(),At.div(t,1e3))}function oS(t){return At.exp(At.div(-1,At.mul(t,At.sr())))}function aS(t){return At.pow(10,At.mul(t,1/20))}function sS(t){return nC(At.ge(t,0),At.max(-120,At.mul(20,At.log(t))),-120)}function nC(t,e,n){return At.add(At.mul(t,e),At.mul(At.sub(1,t),n))}function AS(t){return At.mul(.5,At.sub(1,At.cos(At.mul(2*Math.PI,t))))}var Be=et(et(et({},Ro),To),Xs);function rS(t,e,n,i,o,a){const s=Be.env(Be.tau2pole(Be.mul(.001,t)),Be.tau2pole(Be.mul(.001,e)),o),A=Be.gain2db(s),r=Be.sub(1,Be.div(1,i)),h=Be.mul(r,Be.sub(n,A)),l=Be.min(0,h),c=Be.db2gain(l);return Be.mul(a,c)}function hS(t,e,n,i,o,a,s){const A=Be.env(Be.tau2pole(Be.mul(.001,t)),Be.tau2pole(Be.mul(.001,e)),a),r=Be.gain2db(A),h=Be.sub(n,Be.div(o,2)),l=Be.add(n,Be.div(o,2)),c=Be.and(Be.geq(r,h),Be.leq(r,l)),g=Be.sub(1,Be.div(1,i)),d=Be.select(c,Be.mul(Be.div(g,2),Be.mul(Be.div(Be.sub(r,h),o),Be.sub(h,r))),Be.mul(g,Be.sub(n,r))),u=Be.min(0,d),m=Be.db2gain(u);return Be.mul(s,m)}var iC={};ni(iC,{adsr:()=>ES});var ph={};ni(ph,{allpass:()=>IS,bandpass:()=>mS,dcblock:()=>cS,df11:()=>gS,highpass:()=>uS,highshelf:()=>yS,lowpass:()=>dS,lowshelf:()=>CS,notch:()=>pS,peak:()=>fS,pink:()=>BS,sm:()=>lS,smooth:()=>yl,zero:()=>Qg});var me=et(et(et({},Ro),To),Xs);function yl(t,e,n){return typeof t=="number"||W(t)?me.pole(t,me.mul(me.sub(1,t),e)):me.pole(t,e,me.mul(me.sub(1,e),n))}function lS(t,e){return typeof t=="number"||W(t)?yl(me.tau2pole(.02),t):yl(t,me.tau2pole(.02),e)}function Qg(t,e,n,i){let[o,a,s]=typeof t=="number"||W(t)?[t,e,n]:[e,n,i];return me.sub(me.mul(o,s),me.mul(a,me.z(s)))}function cS(t,e){let n=typeof t=="number"||W(t)?t:e;return me.pole(.995,Qg(1,1,n))}function gS(t,e,n,i,o){let[a,s,A,r]=typeof t=="number"||W(t)?[t,e,n,i]:[e,n,i,o];return me.pole(A,Qg(a,s,r))}function dS(t,e,n,i){return typeof t=="number"||W(t)?me.svf({mode:"lowpass"},t,e,n):me.svf(Object.assign({},t,{mode:"lowpass"}),e,n,i)}function uS(t,e,n,i){return typeof t=="number"||W(t)?me.svf({mode:"highpass"},t,e,n):me.svf(Object.assign({},t,{mode:"highpass"}),e,n,i)}function mS(t,e,n,i){return typeof t=="number"||W(t)?me.svf({mode:"bandpass"},t,e,n):me.svf(Object.assign({},t,{mode:"bandpass"}),e,n,i)}function pS(t,e,n,i){return typeof t=="number"||W(t)?me.svf({mode:"notch"},t,e,n):me.svf(Object.assign({},t,{mode:"notch"}),e,n,i)}function IS(t,e,n,i){return typeof t=="number"||W(t)?me.svf({mode:"allpass"},t,e,n):me.svf(Object.assign({},t,{mode:"allpass"}),e,n,i)}function fS(t,e,n,i,o){return typeof t=="number"||W(t)?me.svfshelf({mode:"peak"},t,e,n,i):me.svfshelf(Object.assign({},t,{mode:"peak"}),e,n,i,o)}function CS(t,e,n,i,o){return typeof t=="number"||W(t)?me.svfshelf({mode:"lowshelf"},t,e,n,i):me.svfshelf(Object.assign({},t,{mode:"lowshelf"}),e,n,i,o)}function yS(t,e,n,i,o){return typeof t=="number"||W(t)?me.svfshelf({mode:"highshelf"},t,e,n,i):me.svfshelf(Object.assign({},t,{mode:"highshelf"}),e,n,i,o)}function BS(t,e){let n=typeof t=="number"||W(t)?t:e;return((o,a,s)=>me.min(a,me.max(o,s)))(-1,1,me.mul(me.db2gain(-30),me.add(me.pole(.99765,me.mul(n,.099046)),me.pole(.963,me.mul(n,.2965164)),me.pole(.57,me.mul(n,1.0526913)),me.mul(.1848,n))))}var In=et(et(et(et({},Ro),To),ph),Xs);function ES(t,e,n,i,o,a){let s=typeof t=="number"||W(t)?[t,e,n,i,o]:[e,n,i,o,a],[A,r,h,l,c]=s,g=In.mul(A,In.sr()),d=In.le(In.counter(c),g),u=In.select(c,In.select(d,1,h),0),m=In.select(c,In.select(d,A,r),l),I=In.tau2pole(In.div(m,6.91));return In.smooth(I,u)}var oC={};ni(oC,{blepsaw:()=>vS,blepsquare:()=>DS,bleptriangle:()=>kS,cycle:()=>QS,noise:()=>Ql,pinknoise:()=>MS,saw:()=>El,square:()=>wS,train:()=>Bl,triangle:()=>bS});var ke=et(et(et({},Ro),To),ph);function Bl(t,e){return typeof t=="number"||W(t)?ke.le(ke.phasor(t,0),.5):ke.le(ke.phasor(t,e,0),.5)}function QS(t,e){return typeof t=="number"||W(t)?ke.sin(ke.mul(2*Math.PI,ke.phasor(t,0))):ke.sin(ke.mul(2*Math.PI,ke.phasor(t,e,0)))}function El(t,e){return typeof t=="number"||W(t)?ke.sub(ke.mul(2,ke.phasor(t,0)),1):ke.sub(ke.mul(2,ke.phasor(t,e,0)),1)}function wS(t,e){return typeof t=="number"||W(t)?ke.sub(ke.mul(2,Bl(t)),1):ke.sub(ke.mul(2,Bl(t,e)),1)}function bS(t,e){return typeof t=="number"||W(t)?ke.mul(2,ke.sub(.5,ke.abs(El(t)))):ke.mul(2,ke.sub(.5,ke.abs(El(t,e))))}function vS(t,e){let i=!(typeof t=="number"||W(t))?e:t;return F("blepsaw",{},[i])}function DS(t,e){let i=!(typeof t=="number"||W(t))?e:t;return F("blepsquare",{},[i])}function kS(t,e){let i=!(typeof t=="number"||W(t))?e:t;return F("bleptriangle",{},[i])}function Ql(t){return typeof t>"u"?ke.sub(ke.mul(2,ke.rand()),1):ke.sub(ke.mul(2,ke.rand(t)),1)}function MS(t){return typeof t>"u"?ke.pink(Ql()):ke.pink(Ql(t))}var NS=class extends o1{constructor(){super()}},ce=h1(et(et(et(et(et(et(et({},Ro),eC),iC),ph),To),oC),Xs),{const:$f,in:tC}),qo={CREATE_NODE:0,DELETE_NODE:1,APPEND_CHILD:2,SET_PROPERTY:3,ACTIVATE_ROOTS:4,COMMIT_UPDATES:5},SS=class{constructor(){this.nodeMap=new Map,this.currentActiveRoots=new Set,this.clear()}clear(){this.nodesAdded=0,this.nodesRemoved=0,this.edgesAdded=0,this.propsWritten=0,this.batch={createNode:[],deleteNode:[],appendChild:[],setProperty:[],activateRoots:[],commitUpdates:[]}}getNodeMap(){return this.nodeMap}getTerminalGeneration(){return 4}createNode(t,e){this.nodesAdded++,this.batch.createNode.push([qo.CREATE_NODE,t,e])}deleteNode(t){this.nodesRemoved++,this.batch.deleteNode.push([qo.DELETE_NODE,t])}appendChild(t,e){this.edgesAdded++,this.batch.appendChild.push([qo.APPEND_CHILD,t,e])}setProperty(t,e,n){this.propsWritten++,this.batch.setProperty.push([qo.SET_PROPERTY,t,e,n])}activateRoots(t){t.length===this.currentActiveRoots.size&&t.every(n=>this.currentActiveRoots.has(n))||(this.batch.activateRoots.push([qo.ACTIVATE_ROOTS,t]),this.currentActiveRoots=new Set(t))}commitUpdates(){this.batch.commitUpdates.push([qo.COMMIT_UPDATES])}getPackedInstructions(){return[...this.batch.createNode,...this.batch.deleteNode,...this.batch.appendChild,...this.batch.setProperty,...this.batch.activateRoots,...this.batch.commitUpdates]}};function Od(){return typeof performance>"u"?Date.now():performance.now()}var RS=class{constructor(t){this._delegate=new SS,this._sendMessage=t,this._nextRefId=0}createRef(t,e,n){let i=`__refKey:${this._nextRefId++}`,o=F(t,Object.assign({key:i},e),n);return[o,s=>{if(!this._delegate.nodeMap.has(o.hash))throw new Error("Cannot update a ref that has not been mounted; make sure you render your node first");const A=this._delegate.nodeMap.get(o.hash);this._delegate.clear(),Pf(this._delegate,o.hash,A.props,s),this._delegate.commitUpdates();const r=this._delegate.getPackedInstructions();return Promise.resolve(this._sendMessage(r))}]}render(...t){const e=Od();this._delegate.clear(),K1(this._delegate,t.map(N));const n=Od(),i=this._delegate.getPackedInstructions();return Promise.resolve(this._sendMessage(i)).then(o=>({result:o,nodesAdded:this._delegate.nodesAdded,edgesAdded:this._delegate.edgesAdded,propsWritten:this._delegate.propsWritten,elapsedTimeMs:n-e}))}};function TS(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,i=Object.getOwnPropertySymbols(t);oA())))}(A,I,g)}var r,X=A=>{throw new q(A.O.S.P.name+" instance already deleted")},m=!1,x=()=>{},e=(A,I,g)=>I===g?A:void 0===g.U||null===(A=e(A,I,g.U))?null:g.pa(A),z={},P=[],p=()=>{for(;P.length;){var A=P.pop();A.O.aa=!1,A.delete()}},u={},v=(A,I)=>{if(!I.S||!I.R)throw new W("makeClassHandle requires ptr and ptrType");if(!!I.V!=!!I.T)throw new W("Both smartPtrType and smartPtr must be specified");return I.count={value:1},$(Object.create(A,{O:{value:I,writable:!0}}))},$=A=>"undefined"==typeof FinalizationRegistry?($=A=>A,A):(m=new FinalizationRegistry((A=>{--(A=A.O).count.value,0===A.count.value&&(A.T?A.V.Z(A.T):A.S.P.Z(A.R))})),x=A=>{m.unregister(A)},($=A=>{var I=A.O;return I.T&&m.register(A,{O:I},A),A})(A));function _(){}var AA=(A,I)=>Object.defineProperty(I,"name",{value:A}),IA=(A,I,g)=>{if(void 0===A[I].Y){var C=A[I];A[I]=function(){if(!A[I].Y.hasOwnProperty(arguments.length))throw new q(`Function \'${g}\' called with an invalid number of arguments (${arguments.length}) - expects one of (${A[I].Y})!`);return A[I].Y[arguments.length].apply(this,arguments)},A[I].Y=[],A[I].Y[C.ea]=C}};function gA(A,I,g,C,Q,B,E,D){this.name=A,this.constructor=I,this.ba=g,this.Z=C,this.U=Q,this.qa=B,this.da=E,this.pa=D,this.va=[]}var CA=(A,I,g)=>{for(;I!==g;){if(!I.da)throw new q(`Expected null or instance of ${g.name}, got an instance of ${I.name}`);A=I.da(A),I=I.U}return A};function QA(A,I){if(null===I){if(this.ha)throw new q(`null is not a valid ${this.name}`);return 0}if(!I.O)throw new q(`Cannot pass "${TA(I)}" as a ${this.name}`);if(!I.O.R)throw new q(`Cannot pass deleted object as a pointer of type ${this.name}`);return CA(I.O.R,I.O.S.P,this.P)}function BA(A,I){if(null===I){if(this.ha)throw new q(`null is not a valid ${this.name}`);if(this.ga){var g=this.wa();return null!==A&&A.push(this.Z,g),g}return 0}if(!I||!I.O)throw new q(`Cannot pass "${TA(I)}" as a ${this.name}`);if(!I.O.R)throw new q(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.fa&&I.O.S.fa)throw new q(`Cannot convert argument of type ${I.O.V?I.O.V.name:I.O.S.name} to parameter type ${this.name}`);if(g=CA(I.O.R,I.O.S.P,this.P),this.ga){if(void 0===I.O.T)throw new q("Passing raw pointer to smart pointer is illegal");switch(this.ya){case 0:if(I.O.V!==this)throw new q(`Cannot convert argument of type ${I.O.V?I.O.V.name:I.O.S.name} to parameter type ${this.name}`);g=I.O.T;break;case 1:g=I.O.T;break;case 2:if(I.O.V===this)g=I.O.T;else{var C=I.clone();g=this.xa(g,LA((()=>C.delete()))),null!==A&&A.push(this.Z,g)}break;default:throw new q("Unsupporting sharing policy")}}return g}function EA(A,I){if(null===I){if(this.ha)throw new q(`null is not a valid ${this.name}`);return 0}if(!I.O)throw new q(`Cannot pass "${TA(I)}" as a ${this.name}`);if(!I.O.R)throw new q(`Cannot pass deleted object as a pointer of type ${this.name}`);if(I.O.S.fa)throw new q(`Cannot convert argument of type ${I.O.S.name} to parameter type ${this.name}`);return CA(I.O.R,I.O.S.P,this.P)}function DA(A){return this.fromWireType(F[A>>2])}function iA(A,I,g,C,Q,B,E,D,i,w,R){this.name=A,this.P=I,this.ha=g,this.fa=C,this.ga=Q,this.ua=B,this.ya=E,this.ma=D,this.wa=i,this.xa=w,this.Z=R,Q||void 0!==I.U?this.toWireType=BA:(this.toWireType=C?QA:EA,this.W=null)}var wA,RA,oA=[],NA=A=>{var I=oA[A];return I||(A>=oA.length&&(oA.length=A+1),oA[A]=I=wA.get(A)),I},GA=(A,I)=>{var g=(A=d(A)).includes("j")?((A,I)=>{var g=[];return function(){if(g.length=0,Object.assign(g,arguments),A.includes("j")){var Q=C["dynCall_"+A];Q=g&&g.length?Q.apply(null,[I].concat(g)):Q.call(null,I)}else Q=NA(I).apply(null,g);return Q}})(A,I):NA(I);if("function"!=typeof g)throw new q(`unknown function pointer with signature ${A}: ${I}`);return g},FA=A=>{A=AI(A);var I=d(A);return II(A),I},UA=(A,I)=>{var g=[],C={};throw I.forEach((function A(I){C[I]||b[I]||(t[I]?t[I].forEach(A):(g.push(I),C[I]=!0))})),new RA(`${A}: `+g.map(FA).join([", "]))},MA=(A,I)=>{for(var g=[],C=0;C>2]);return g},JA=A=>{for(;A.length;){var I=A.pop();A.pop()(I)}};function yA(A){for(var I=1;IE)throw new q("argTypes array size mismatch! Must at least get return value and \'this\' types!");var D=null!==I[1]&&null!==g,i=yA(I);for(g="void"!==I[0].name,C=[O,C,Q,JA,I[0],I[1]],Q=0;Q{A>=SA.ja&&0==--SA.get(A).na&&(SA.X[A]=void 0,SA.ia.push(A))},cA=A=>{if(!A)throw new q("Cannot use deleted val. handle = "+A);return SA.get(A).value},LA=A=>{switch(A){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:A={na:1,value:A};var I=SA.ia.pop()||SA.X.length;return SA.X[I]=A,I}};function lA(A){return this.fromWireType(G[A>>2])}for(var HA={name:"emscripten::val",fromWireType:A=>{var I=cA(A);return KA(A),I},toWireType:(A,I)=>LA(I),argPackAdvance:8,readValueFromPointer:lA,W:null},TA=A=>{if(null===A)return"null";var I=typeof A;return"object"===I||"array"===I||"function"===I?A.toString():""+A},ZA=(A,I)=>{switch(I){case 4:return function(A){return this.fromWireType(U[A>>2])};case 8:return function(A){return this.fromWireType(M[A>>3])};default:throw new TypeError(`invalid float width (${I}): ${A}`)}},VA=(A,I,g)=>{switch(I){case 1:return g?A=>w[A>>0]:A=>R[A>>0];case 2:return g?A=>o[A>>1]:A=>N[A>>1];case 4:return g?A=>G[A>>2]:A=>F[A>>2];default:throw new TypeError(`invalid integer width (${I}): ${A}`)}},qA="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,WA="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,dA=(A,I)=>{for(var g=A>>1,C=g+I/2;!(g>=C)&&N[g];)++g;if(32<(g<<=1)-A&&WA)return WA.decode(R.subarray(A,g));for(g="",C=0;!(C>=I/2);++C){var Q=o[A+2*C>>1];if(0==Q)break;g+=String.fromCharCode(Q)}return g},jA=(A,I,g)=>{if(g??=2147483647,2>g)return 0;var C=I;g=(g-=2)<2*A.length?g/2:A.length;for(var Q=0;Q>1]=A.charCodeAt(Q),I+=2;return o[I>>1]=0,I-C},bA=A=>2*A.length,tA=(A,I)=>{for(var g=0,C="";!(g>=I/4);){var Q=G[A+4*g>>2];if(0==Q)break;++g,65536<=Q?(Q-=65536,C+=String.fromCharCode(55296|Q>>10,56320|1023&Q)):C+=String.fromCharCode(Q)}return C},OA=(A,I,g)=>{if(g??=2147483647,4>g)return 0;var C=I;g=C+g-4;for(var Q=0;Q=B)B=65536+((1023&B)<<10)|1023&A.charCodeAt(++Q);if(G[I>>2]=B,(I+=4)+4>g)break}return G[I>>2]=0,I-C},nA=A=>{for(var I=0,g=0;g=C&&++g,I+=4}return I},fA=(A,I)=>{var g=b[A];if(void 0===g)throw A=I+" has unknown type "+FA(A),new q(A);return g},rA=(A,I,g)=>{var C=[];return A=A.toWireType(C,g),C.length&&(F[I>>2]=LA(C)),A},XA=[],mA={},xA=A=>{var I=mA[A];return void 0===I?d(A):I},eA=()=>"object"==typeof globalThis?globalThis:Function("return this")(),zA=A=>(zA=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return A=>crypto.getRandomValues(A);c("initRandomDevice")})())(A),PA=Array(256),pA=0;256>pA;++pA)PA[pA]=String.fromCharCode(pA);V=PA,q=C.BindingError=class extends Error{constructor(A){super(A),this.name="BindingError"}},W=C.InternalError=class extends Error{constructor(A){super(A),this.name="InternalError"}},Object.assign(_.prototype,{isAliasOf:function(A){if(!(this instanceof _&&A instanceof _))return!1;var I=this.O.S.P,g=this.O.R;A.O=A.O;var C=A.O.S.P;for(A=A.O.R;I.U;)g=I.da(g),I=I.U;for(;C.U;)A=C.da(A),C=C.U;return I===C&&g===A},clone:function(){if(this.O.R||X(this),this.O.ca)return this.O.count.value+=1,this;var A=$,I=Object,g=I.create,C=Object.getPrototypeOf(this),Q=this.O;return(A=A(g.call(I,C,{O:{value:{count:Q.count,aa:Q.aa,ca:Q.ca,R:Q.R,S:Q.S,T:Q.T,V:Q.V}}}))).O.count.value+=1,A.O.aa=!1,A},delete(){if(this.O.R||X(this),this.O.aa&&!this.O.ca)throw new q("Object already scheduled for deletion");x(this);var A=this.O;--A.count.value,0===A.count.value&&(A.T?A.V.Z(A.T):A.S.P.Z(A.R)),this.O.ca||(this.O.T=void 0,this.O.R=void 0)},isDeleted:function(){return!this.O.R},deleteLater:function(){if(this.O.R||X(this),this.O.aa&&!this.O.ca)throw new q("Object already scheduled for deletion");return P.push(this),1===P.length&&r&&r(p),this.O.aa=!0,this}}),C.getInheritedInstanceCount=()=>Object.keys(u).length,C.getLiveInheritedInstances=()=>{var A,I=[];for(A in u)u.hasOwnProperty(A)&&I.push(u[A]);return I},C.flushPendingDeletes=p,C.setDelayFunction=A=>{r=A,P.length&&r&&r(p)},Object.assign(iA.prototype,{ra(A){return this.ma&&(A=this.ma(A)),A},la(A){this.Z?.(A)},argPackAdvance:8,readValueFromPointer:DA,fromWireType:function(A){function I(){return this.ga?v(this.P.ba,{S:this.ua,R:g,V:this,T:A}):v(this.P.ba,{S:this,R:A})}var g=this.ra(A);if(!g)return this.la(A),null;var C=((A,I)=>{if(void 0===I)throw new q("ptr should not be undefined");for(;A.U;)I=A.da(I),A=A.U;return u[I]})(this.P,g);if(void 0!==C)return 0===C.O.count.value?(C.O.R=g,C.O.T=A,C.clone()):(C=C.clone(),this.la(A),C);if(C=this.P.qa(g),!(C=z[C]))return I.call(this);C=this.fa?C.oa:C.pointerType;var Q=e(g,this.P,C.P);return null===Q?I.call(this):this.ga?v(C.P.ba,{S:C,R:Q,V:this,T:A}):v(C.P.ba,{S:C,R:Q})}}),RA=C.UnboundTypeError=(hA=Error,(aA=AA(kA="UnboundTypeError",(function(A){this.name=kA,this.message=A,void 0!==(A=Error(A).stack)&&(this.stack=this.toString()+"\\n"+A.replace(/^Error(:[^\\n]*)?\\n/,""))}))).prototype=Object.create(hA.prototype),aA.prototype.constructor=aA,aA.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},aA),SA.X.push({value:void 0},{value:null},{value:!0},{value:!1}),Object.assign(SA,{ja:SA.X.length}),C.count_emval_handles=()=>{for(var A=0,I=SA.ja;I{var C=new Z(A);throw F[C.R+16>>2]=0,F[C.R+4>>2]=I,F[C.R+8>>2]=g,A},x:()=>{},C:(A,I,g,C)=>{f(A,{name:I=d(I),fromWireType:function(A){return!!A},toWireType:function(A,I){return I?g:C},argPackAdvance:8,readValueFromPointer:function(A){return this.fromWireType(R[A])},W:null})},H:(A,I,g,Q,B,E,D,i,w,R,o,N,G)=>{o=d(o),E=GA(B,E),i&&=GA(D,i),R&&=GA(w,R),G=GA(N,G);var F=(A=>{if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=I&&57>=I?`_${A}`:A})(o);((A,I)=>{if(C.hasOwnProperty(A))throw new q(`Cannot register public name \'${A}\' twice`);C[A]=I})(F,(function(){UA(`Cannot construct ${o} due to unbound types`,[Q])})),n([A,I,g],Q?[Q]:[],(function(I){if(I=I[0],Q)var g=I.P,B=g.ba;else B=_.prototype;I=AA(o,(function(){if(Object.getPrototypeOf(this)!==D)throw new q("Use \'new\' to construct "+o);if(void 0===N.$)throw new q(o+" has no accessible constructor");var A=N.$[arguments.length];if(void 0===A)throw new q(`Tried to invoke ctor of ${o} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(N.$).toString()}) parameters instead!`);return A.apply(this,arguments)}));var D=Object.create(B,{constructor:{value:I}});I.prototype=D;var w,N=new gA(o,I,D,G,g,E,i,R);N.U&&((w=N.U).ka??(w.ka=[]),N.U.ka.push(N));return g=new iA(o,N,!0,!1,!1),w=new iA(o+"*",N,!1,!1,!1),B=new iA(o+" const*",N,!1,!0,!1),z[A]={pointerType:w,oa:B},((A,I)=>{if(!C.hasOwnProperty(A))throw new W("Replacing nonexistant public symbol");C[A]=I,C[A].ea=void 0})(F,I),[g,w,B]}))},G:(A,I,g,C,Q,B)=>{var E=MA(I,g);Q=GA(C,Q),n([],[A],(function(A){var g=`constructor ${(A=A[0]).name}`;if(void 0===A.P.$&&(A.P.$=[]),void 0!==A.P.$[I-1])throw new q(`Cannot register multiple constructors with identical number of parameters (${I-1}) for class \'${A.name}\'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return A.P.$[I-1]=()=>{UA(`Cannot construct ${A.name} due to unbound types`,E)},n([],E,(C=>(C.splice(1,0,null),A.P.$[I-1]=sA(g,C,null,Q,B),[]))),[]}))},e:(A,I,g,C,Q,B,E,D,i)=>{var w=MA(g,C);I=(A=>{const I=(A=A.trim()).indexOf("(");return-1!==I?A.substr(0,I):A})(I=d(I)),B=GA(Q,B),n([],[A],(function(A){function C(){UA(`Cannot call ${Q} due to unbound types`,w)}var Q=`${(A=A[0]).name}.${I}`;I.startsWith("@@")&&(I=Symbol[I.substring(2)]),D&&A.P.va.push(I);var R=A.P.ba,o=R[I];return void 0===o||void 0===o.Y&&o.className!==A.name&&o.ea===g-2?(C.ea=g-2,C.className=A.name,R[I]=C):(IA(R,I,Q),R[I].Y[g-2]=C),n([],w,(function(C){return C=sA(Q,C,A,B,E,i),void 0===R[I].Y?(C.ea=g-2,R[I]=C):R[I].Y[g-2]=C,[]})),[]}))},B:A=>f(A,HA),u:(A,I,g)=>{f(A,{name:I=d(I),fromWireType:A=>A,toWireType:(A,I)=>I,argPackAdvance:8,readValueFromPointer:ZA(I,g),W:null})},g:(A,I,g,C,Q)=>{if(I=d(I),-1===Q&&(Q=4294967295),Q=A=>A,0===C){var B=32-8*g;Q=A=>A<>>B}var E=I.includes("unsigned")?function(A,I){return I>>>0}:function(A,I){return I};f(A,{name:I,fromWireType:Q,toWireType:E,argPackAdvance:8,readValueFromPointer:VA(I,g,0!==C),W:null})},b:(A,I,g)=>{function C(A){return new Q(w.buffer,F[A+4>>2],F[A>>2])}var Q=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];f(A,{name:g=d(g),fromWireType:C,argPackAdvance:8,readValueFromPointer:C},{sa:!0})},t:(A,I)=>{var g="std::string"===(I=d(I));f(A,{name:I,fromWireType:function(A){var I=F[A>>2],C=A+4;if(g)for(var Q=C,B=0;B<=I;++B){var E=C+B;if(B==I||0==R[E]){if(Q){var D=Q,i=R,w=D+(E-Q);for(Q=D;i[Q]&&!(Q>=w);)++Q;if(16(o=224==(240&o)?(15&o)<<12|N<<6|G:(7&o)<<18|N<<12|G<<6|63&i[D++])?w+=String.fromCharCode(o):(o-=65536,w+=String.fromCharCode(55296|o>>10,56320|1023&o))}}else w+=String.fromCharCode(o)}D=w}}else D="";if(void 0===U)var U=D;else U+=String.fromCharCode(0),U+=D;Q=E+1}}else{for(U=Array(I),B=0;B=E?Q++:2047>=E?Q+=2:55296<=E&&57343>=E?(Q+=4,++C):Q+=3}else Q=I.length;if(E=(Q=_A(4+(C=Q)+1))+4,F[Q>>2]=C,g&&B){if(B=E,E=C+1,C=R,0=i)i=65536+((1023&i)<<10)|1023&I.charCodeAt(++D);if(127>=i){if(B>=E)break;C[B++]=i}else{if(2047>=i){if(B+1>=E)break;C[B++]=192|i>>6}else{if(65535>=i){if(B+2>=E)break;C[B++]=224|i>>12}else{if(B+3>=E)break;C[B++]=240|i>>18,C[B++]=128|i>>12&63}C[B++]=128|i>>6&63}C[B++]=128|63&i}}C[B]=0}}else if(B)for(B=0;B{if(g=d(g),2===I)var C=dA,Q=jA,B=bA,E=()=>N,D=1;else 4===I&&(C=tA,Q=OA,B=nA,E=()=>F,D=2);f(A,{name:g,fromWireType:A=>{for(var g,Q=F[A>>2],B=E(),i=A+4,w=0;w<=Q;++w){var R=A+4+w*I;w!=Q&&0!=B[R>>D]||(i=C(i,R-i),void 0===g?g=i:(g+=String.fromCharCode(0),g+=i),i=R+I)}return II(A),g},toWireType:(A,C)=>{if("string"!=typeof C)throw new q(`Cannot pass non-string to C++ string type ${g}`);var E=B(C),i=_A(4+E+I);return F[i>>2]=E>>D,Q(C,i+4,E+I),null!==A&&A.push(II,i),i},argPackAdvance:8,readValueFromPointer:lA,W(A){II(A)}})},D:(A,I)=>{f(A,{ta:!0,name:I=d(I),argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}})},k:(A,I,g)=>(A=cA(A),I=fA(I,"emval::as"),rA(I,g,A)),p:(A,I,g,C)=>(A=XA[A])(null,I=cA(I),g,C),s:(A,I,g,C,Q)=>(A=XA[A])(I=cA(I),I[g=xA(g)],C,Q),a:KA,j:A=>0===A?LA(eA()):(A=xA(A),LA(eA()[A])),h:(A,I,g)=>{I=((A,I)=>{for(var g=Array(A),C=0;C>2],"parameter "+C);return g})(A,I);var C=I.shift();A--;var Q="return function (obj, func, destructorsRef, args) {\\n",B=0,E=[];0===g&&E.push("obj");for(var D=["retType"],i=[C],w=0;wA.name)).join(", ")}) => ${C.name}>`,(A=>{var I=XA.length;return XA.push(A),I})(AA(g,A))},i:(A,I)=>(A=cA(A),I=cA(I),LA(A[I])),f:A=>{4(A=cA(A))instanceof(I=cA(I)),F:A=>"number"==typeof(A=cA(A)),E:A=>"string"==typeof(A=cA(A)),w:()=>LA([]),l:A=>LA(xA(A)),v:()=>LA({}),d:A=>{var I=cA(A);JA(I),KA(A)},n:(A,I,g)=>{A=cA(A),I=cA(I),g=cA(g),A[I]=g},c:(A,I)=>(A=(A=fA(A,"_emval_take_value")).readValueFromPointer(I),LA(A)),q:()=>{c("")},A:(A,I,g)=>R.copyWithin(A,I,I+g),z:A=>{var I=R.length;if(2147483648<(A>>>=0))return!1;for(var g=1;4>=g;g*=2){var C=I*(1+.2/g);C=Math.min(C,A+100663296);var Q=Math;C=Math.max(A,C);A:{Q=(Q.min.call(Q,2147483648,C+(65536-C%65536)%65536)-i.buffer.byteLength+65535)/65536;try{i.grow(Q),y();var B=1;break A}catch(A){}B=void 0}if(B)return!0}return!1},y:(A,I)=>(zA(R.subarray(A,A+I)),0)},$A=function(){function A(A){return $A=A.exports,i=$A.I,y(),wA=$A.L,s.unshift($A.J),a--,C.monitorRunDependencies?.(a),0==a&&(null!==S&&(clearInterval(S),S=null),K&&(A=K,K=null,A())),$A}var I={a:vA};if(a++,C.monitorRunDependencies?.(a),C.instantiateWasm)try{return C.instantiateWasm(I,A)}catch(A){D(`Module.instantiateWasm callback failed with error: ${A}`),g(A)}return I=function(A){if(L==L&&E)var I=new Uint8Array(E);else{if(l(I=L)){I=atob(I.slice(37));for(var g=new Uint8Array(I.length),C=0;CModule));';class US extends NS{initialize(e,n={},i=16){return ai(this,void 0,void 0,function*(){ja(typeof e=="object"&&e!==null,"First argument to initialize must be a valid AudioContext instance."),ja(typeof n=="object"&&n!==null,"The optional second argument to initialize must be an object."),typeof e._elemWorkletRegistry!="object"&&(e._elemWorkletRegistry={});const o=e._elemWorkletRegistry;if(!o.hasOwnProperty(Hh)){const a=new Blob([xS,GS],{type:"text/javascript"}),s=URL.createObjectURL(a);if(!e.audioWorklet)throw new Error("BaseAudioContext.audioWorklet is missing; are you running in a secure context (https)?");yield e.audioWorklet.addModule(s),o[Hh]=!0}return this._promiseMap=new Map,this._nextRequestId=0,this._worklet=new AudioWorkletNode(e,`ElementaryAudioWorkletProcessor@${Hh}`,Object.assign({numberOfInputs:0,numberOfOutputs:1,outputChannelCount:[2]},n)),yield new Promise((a,s)=>{this._worklet.port.onmessage=A=>{const[r,h]=A.data;if(r==="load")return this._renderer=new RS(l=>ai(this,void 0,void 0,function*(){return yield this._sendWorkletRequest("renderInstructions",{batch:l})})),a(this._worklet),this.emit(r,h);if(r==="events")return h.forEach(l=>{this.emit(l.type,l.event)});if(r==="reply"){const{requestId:l,result:c}=h,{resolve:g,reject:d}=this._promiseMap.get(l);return this._promiseMap.delete(l),g(c)}},this._timer=window.setInterval(()=>{this._worklet.port.postMessage({requestType:"processQueuedEvents"})},i)})})}_sendWorkletRequest(e,n){ja(this._worklet,"Can't send request before worklet is ready. Have you initialized your WebRenderer instance?");let i=this._nextRequestId++;return this._worklet.port.postMessage({requestId:i,requestType:e,payload:n}),new Promise((o,a)=>{this._promiseMap.set(i,{resolve:o,reject:a})})}createRef(e,n,i){return this._renderer.createRef(e,n,i)}render(...e){return ai(this,void 0,void 0,function*(){const n=yield this._renderer.render(...e),{result:i}=n,o=TS(n,["result"]);return i.success?Promise.resolve(o):Promise.reject(i)})}updateVirtualFileSystem(e){return ai(this,void 0,void 0,function*(){return ja(typeof e=="object"&&e!==null,"Virtual file system must be an object mapping string type keys to Array|Float32Array type values"),Object.keys(e).forEach(function(i){const o=typeof e[i]=="object"&&(Array.isArray(e[i])||e[i]instanceof Float32Array);ja(o,"Virtual file system must be an object mapping string type keys to Array|Float32Array type values")}),yield this._sendWorkletRequest("updateSharedResourceMap",{resources:e})})}pruneVirtualFileSystem(){return ai(this,void 0,void 0,function*(){return yield this._sendWorkletRequest("pruneVirtualFileSystem",{})})}listVirtualFileSystem(){return ai(this,void 0,void 0,function*(){return yield this._sendWorkletRequest("listVirtualFileSystem",{})})}reset(){return ai(this,void 0,void 0,function*(){return yield this._sendWorkletRequest("reset",{})})}setCurrentTime(e){return ai(this,void 0,void 0,function*(){return yield this._sendWorkletRequest("setCurrentTime",{time:e})})}setCurrentTimeMs(e){return ai(this,void 0,void 0,function*(){return yield this._sendWorkletRequest("setCurrentTimeMs",{time:e})})}}const Fe=Wt({initiating:!1,initiated:!1,started:!1,running:!1,ctx:null,core:null,node:null}),wl=Wt({}),aC=Te({}),sC=Te({}),AC=Te({});async function bl(){return Fe.initiating||Fe.initiated?Promise.resolve(!1):(Fe.initiating=!0,Fe.ctx=new(window.AudioContext||window.webkitAudioContext),Fe.core=Fe.core||new US,Fe.node=await Fe.core.initialize(Fe.ctx,{numberOfInputs:1,numberOfOutputs:1,outputChannelCount:[2]}),Fe.node.connect(Fe.ctx.destination),Fe.core.on("meter",t=>aC[t.source]={max:t.max,min:t.min}),Fe.core.on("scope",t=>sC[t.source]=Array.from(t==null?void 0:t.data[0].values())),Fe.core.on("fft",t=>AC[t.source]=[Array.from(t==null?void 0:t.data.real.values()),Array.from(t==null?void 0:t.data.imag.values())]),Fe.core.on("error",t=>console.log(t)),Fe.initiated=!0,Fe.initiating=!1,Promise.resolve(!0))}function vl(){var n;if(!Fe.initiated)return bl().then(vl);if(((n=Fe==null?void 0:Fe.ctx)==null?void 0:n.state)==="suspended"&&Fe.ctx.resume(),Fe.started)return;const e=[0,ce.mul(0,ce.meter({name:"main:sample-rate"},ce.sr()))];Object.values(wl).forEach(i=>{i&&i.signal.forEach((o,a)=>{e[a]=ce.tanh(ce.add(e[a],o))})}),Fe.core.render(e[1],ce.fft({name:"main:fft",size:2048},e[0])),Fe.started=Date.now()}function rC(){return em()&&(mn(bl),ur(()=>{Fe.core&&Fe.core.reset()})),ye(wl,vl,{deep:!0}),{audio:Fe,initAudio:bl,render:vl,meters:aC,scopes:sC,FFTs:AC,layers:wl}}function _S(t){return ce.mul(440,ce.pow(2,ce.smooth(ce.tau2pole(.001),ce.div(ce.sub(t,69),12))))}Wt({isOpen:!1,stream:null,streamSource:null,gain:dt(1,0,10),gainRef:null,gainSetter:null});function Vd(t,e="ref"){const{audio:n}=rC(),i=Te({}),o=Wt({}),a=Wt({}),s=Wt({});for(let A in t){const r=t[A];if(i[A]=dt(r!=null&&r.nostore?r.value:Ce(`${e}:${A}`,r.value),r.min,r.max),r!=null&&r.hidden)continue;const[h,l]=A.split(":");!h||!l||(s[h]=s[h]||{},s[h][l]=r)}return ye(()=>n.initiated,A=>{if(A)for(let r in t){let[h,l]=n.core.createRef("const",{value:i[r]},[]);o[r]=ce.smooth(ce.tau2pole(.01),h),a[r]=l}},{immediate:!0}),ye(()=>({...i}),(A,r)=>{if(n.initiated)for(let h in i)A[h]!=r[h]&&a[h]({value:i[h]})}),{controls:i,cv:o,setters:a,groups:s}}const zd={"string:volume":{value:.7,min:0,max:1,step:.01,nostore:!0},"string:smooth":{value:0,min:1e-4,max:.1,step:.001,fixed:3,nostore:!0},"string:feedback":{value:.99,min:.9,max:.9999,step:.001,fixed:3,nostore:!0}},JS={"string:trigger":{value:0,min:0,max:1,step:1,nostore:!0},"string:midi":{value:42,min:1,max:127,step:1,nostore:!0},"string:velocity":{value:0,min:1,max:1,step:1,nostore:!0}};function bK(t="string"+Math.floor(Math.random()*300)){const{audio:e,layers:n,render:i,meters:o}=rC(),{controls:a,cv:s}=Vd(zd,"string"),{controls:A,cv:r}=Vd(JS,`${t}-midi`),h=Te({number:69,velocity:0});ye(h,g=>{A["string:trigger"]=g.velocity,A["string:midi"]=g==null?void 0:g.number,A["string:velocity"]=g==null?void 0:g.velocity});const l=H(()=>{var g,d;return(Math.abs(((g=o==null?void 0:o[`${t}:volume`])==null?void 0:g.min)||.5)+Math.abs(((d=o==null?void 0:o[`${t}:volume`])==null?void 0:d.max)||.5))/2});function c(){if(!e.initiated)return;let g=ce.mul(440,ce.pow(2,ce.div(ce.sub(r["string:midi"],69),12))),d=ce.mul(ce.div(1,g),1e3),u=ce.adsr(.02,.7,.1,.9,r["string:trigger"]),m=ce.mul(u,ce.noise(),r["string:velocity"]),I=ce.lowpass(ce.mul(4,_S(r["string:midi"])),6,m),f=ce.delay({size:44100},ce.smooth(ce.tau2pole(s["string:smooth"]),ce.ms2samps(d)),s["string:feedback"],I),Q=ce.mul(.3,ce.add(ce.bandpass(ce.mul(g,1),1,f),ce.bandpass(ce.mul(g,1.5),2,f),ce.bandpass(ce.mul(g,3),3,f))),y=ce.adsr(.05,.2,1,1.2,r["string:trigger"]),w=ce.mul(y,ce.cycle(ce.mul(1,g)),.8),B=ce.tanh(ce.add(ce.mul(f,.4),w,Q));const k=ce.meter({name:`${t}:volume`},ce.mul(s["string:volume"],B));n[t]={volume:1,signal:[k,k]}}return{audio:e,controls:a,params:zd,note:h,render:i,init:c,meter:l}}var YS=Object.defineProperty,LS=Object.defineProperties,KS=Object.getOwnPropertyDescriptors,Wd=Object.getOwnPropertySymbols,qS=Object.prototype.hasOwnProperty,jS=Object.prototype.propertyIsEnumerable,Zd=(t,e,n)=>e in t?YS(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,wA=(t,e)=>{for(var n in e||(e={}))qS.call(e,n)&&Zd(t,n,e[n]);if(Wd)for(var n of Wd(e))jS.call(e,n)&&Zd(t,n,e[n]);return t},bA=(t,e)=>LS(t,KS(e)),hC=(t,e,n)=>{if(!e.has(t))throw TypeError("Cannot "+n)},ee=(t,e,n)=>(hC(t,e,"read from private field"),n?n.call(t):e.get(t)),Et=(t,e,n)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,n)},Pe=(t,e,n,i)=>(hC(t,e,"write to private field"),e.set(t,n),n),ya=(t,e,n)=>new Promise((i,o)=>{var a=r=>{try{A(n.next(r))}catch(h){o(h)}},s=r=>{try{A(n.throw(r))}catch(h){o(h)}},A=r=>r.done?i(r.value):Promise.resolve(r.value).then(a,s);A((n=n.apply(t,e)).next())});function vA(t){const e=t.filter(n=>!!n);return e.reduce((n,i)=>{const o="output"in n?n.output:n,a="input"in i?i.input:i;return o.connect(a),i}),()=>{e.reduce((n,i)=>{const o="output"in n?n.output:n,a="input"in i?i.input:i;return o.disconnect(a),i})}}function PS(t){let e=t;const n=new Set;function i(s){return n.add(s),s(e),()=>{n.delete(s)}}function o(s){e=s,n.forEach(A=>A(e))}function a(){return e}return{subscribe:i,set:o,get:a}}function HS(){const t=new Set;function e(i){return t.add(i),()=>{t.delete(i)}}function n(i){t.forEach(o=>o(i))}return{subscribe:e,trigger:n}}function OS(t){let e=!1;return()=>{e||(e=!0,t.forEach(n=>n==null?void 0:n()))}}function lC(t){return t*t/16129}function VS(t){return Math.pow(10,t/20)}var $i,wi,Vo,zo,DA,eo,to,zS=class{constructor(t,e){this.context=t,Et(this,$i,void 0),Et(this,wi,void 0),Et(this,Vo,void 0),Et(this,zo,void 0),Et(this,DA,void 0),Et(this,eo,void 0),Et(this,to,!1);var n,i,o;Pe(this,eo,{destination:(n=e==null?void 0:e.destination)!=null?n:t.destination,volume:(i=e==null?void 0:e.volume)!=null?i:100,volumeToGain:(o=e==null?void 0:e.volumeToGain)!=null?o:lC}),this.input=t.createGain(),Pe(this,$i,t.createGain()),Pe(this,zo,vA([this.input,ee(this,$i),ee(this,eo).destination]));const a=PS(ee(this,eo).volume);this.setVolume=a.set,Pe(this,DA,a.subscribe(s=>{ee(this,$i).gain.value=ee(this,eo).volumeToGain(s)}))}addInsert(t){var e;if(ee(this,to))throw Error("Can't add insert to disconnected channel");(e=ee(this,Vo))!=null||Pe(this,Vo,[]),ee(this,Vo).push(t),ee(this,zo).call(this),Pe(this,zo,vA([this.input,...ee(this,Vo),ee(this,$i),ee(this,eo).destination]))}addEffect(t,e,n){var i;if(ee(this,to))throw Error("Can't add effect to disconnected channel");const o=this.context.createGain();o.gain.value=n;const a="input"in e?e.input:e,s=vA([ee(this,$i),o,a]);(i=ee(this,wi))!=null||Pe(this,wi,[]),ee(this,wi).push({name:t,mix:o,disconnect:s})}sendEffect(t,e){var n;if(ee(this,to))throw Error("Can't send effect to disconnected channel");const i=(n=ee(this,wi))==null?void 0:n.find(o=>o.name===t);i?i.mix.gain.value=e:console.warn("Send bus not found: "+t)}disconnect(){var t;ee(this,to)||(Pe(this,to,!0),ee(this,zo).call(this),ee(this,DA).call(this),(t=ee(this,wi))==null||t.forEach(e=>e.disconnect()),Pe(this,wi,void 0))}};$i=new WeakMap;wi=new WeakMap;Vo=new WeakMap;zo=new WeakMap;DA=new WeakMap;eo=new WeakMap;to=new WeakMap;var Vt,WS=class{constructor(t){this.compare=t,Et(this,Vt,[])}push(t){const e=ee(this,Vt).length;let n=0,i=e-1,o=e;for(;n<=i;){const a=Math.floor((n+i)/2);this.compare(t,ee(this,Vt)[a])<0?(o=a,i=a-1):n=a+1}ee(this,Vt).splice(o,0,t)}pop(){return ee(this,Vt).shift()}peek(){return ee(this,Vt)[0]}removeAll(t){const e=ee(this,Vt).length;return Pe(this,Vt,ee(this,Vt).filter(n=>!t(n))),ee(this,Vt).length!==e}clear(){Pe(this,Vt,[])}size(){return ee(this,Vt).length}};Vt=new WeakMap;function Xd(t,e){return t&&e?n=>{t(n),e(n)}:t??e}function ZS(t){var e,n,i;const o={disableScheduler:(e=t.disableScheduler)!=null?e:!1,scheduleLookaheadMs:(n=t.scheduleLookaheadMs)!=null?n:200,scheduleIntervalMs:(i=t.scheduleIntervalMs)!=null?i:50,onStart:t.onStart,onEnded:t.onEnded};if(o.scheduleLookaheadMs<1)throw Error("scheduleLookaheadMs must be greater than 0");if(o.scheduleIntervalMs<1)throw Error("scheduleIntervalMs must be greater than 0");if(o.scheduleLookaheadMsn.time-i.time)),this.player=t}get context(){return this.player.context}get buffers(){return this.player.buffers}get isRunning(){return ee(this,no)!==void 0}start(t){var e;if(ee(this,si).disableScheduler)return this.player.start(t);const n=this.player.context,i=n.currentTime,o=(e=t.time)!=null?e:i,a=ee(this,si).scheduleLookaheadMs/1e3;return t.onStart=Xd(t.onStart,ee(this,si).onStart),t.onEnded=Xd(t.onEnded,ee(this,si).onEnded),o{const s=n.currentTime+a;for(;ee(this,tn).size()&&ee(this,tn).peek().time<=s;){const A=ee(this,tn).pop();A&&this.player.start(A)}ee(this,tn).size()||(clearInterval(ee(this,no)),Pe(this,no,void 0))},ee(this,si).scheduleIntervalMs)),s=>{!s||sA===t)||this.player.stop(bA(wA({},t),{time:s})):this.player.stop(bA(wA({},t),{time:s}))})}stop(t){var e;if(ee(this,si).disableScheduler)return this.player.stop(t);if(this.player.stop(t),!t){ee(this,tn).clear();return}const n=(e=t==null?void 0:t.time)!=null?e:0,i=t==null?void 0:t.stopId;i?ee(this,tn).removeAll(o=>o.time>=n&&o.stopId?o.stopId===i:o.note===i):ee(this,tn).removeAll(o=>o.time>=n)}disconnect(){this.player.disconnect()}};si=new WeakMap;tn=new WeakMap;no=new WeakMap;var ts,Wo,ns,$S=class{constructor(t,e){this.context=t,this.options=e,Et(this,ts,void 0),Et(this,Wo,!1),Et(this,ns,void 0);var n,i;Pe(this,ts,{velocityToGain:(n=e.velocityToGain)!=null?n:lC,destination:(i=e.destination)!=null?i:t.destination}),this.buffers={},Pe(this,ns,HS())}start(t){var e,n,i,o,a,s,A,r,h,l,c,g,d,u;if(ee(this,Wo))throw new Error("Can't start a sample on disconnected player");const m=this.context,I=t.name&&this.buffers[t.name]||this.buffers[t.note];if(!I)return console.warn(`Sample not found: '${t.note}'`),()=>{};const f=m.createBufferSource();f.buffer=I;const Q=(n=(e=t.detune)!=null?e:this.options.detune)!=null?n:0;f.detune?f.detune.value=Q:f.playbackRate&&(f.playbackRate.value=Math.pow(2,Q/1200));const y=(i=t.lpfCutoffHz)!=null?i:this.options.lpfCutoffHz,w=y?m.createBiquadFilter():void 0;y&&w&&(w.type="lowpass",w.frequency.value=y);const B=m.createGain(),k=(a=(o=t.velocity)!=null?o:this.options.velocity)!=null?a:100;B.gain.value=ee(this,ts).velocityToGain(k),((s=t.loop)!=null?s:this.options.loop)&&(f.loop=!0,f.loopStart=(A=t.loopStart)!=null?A:0,f.loopEnd=(r=t.loopEnd)!=null?r:I.duration);const v=(h=t.decayTime)!=null?h:this.options.decayTime,[S,R]=eR(m,v);function T(x){if(x??(x=m.currentTime),x<=q)f.stop(x);else{const $=R(x);f.stop($)}}const M=t.gainOffset?m.createGain():void 0;M&&t.gainOffset&&(M.gain.value=t.gainOffset);const U=(l=t.stopId)!=null?l:t.note,G=OS([vA([f,w,B,S,M,ee(this,ts).destination]),(c=t.stop)==null?void 0:c.call(t,T),ee(this,ns).subscribe(x=>{(!x||x.stopId===void 0||x.stopId===U)&&T(x==null?void 0:x.time)})]);f.onended=()=>{var x;G(),(x=t.onEnded)==null||x.call(t,t)},(g=t.onStart)==null||g.call(t,t);const q=Math.max((d=t.time)!=null?d:0,m.currentTime);f.start(t.time);let Y=(u=t.duration)!=null?u:I.duration;return typeof t.duration=="number"&&T(q+Y),T}stop(t){ee(this,ns).trigger(t)}disconnect(){ee(this,Wo)||(Pe(this,Wo,!0),this.stop(),Object.keys(this.buffers).forEach(t=>{delete this.buffers[t]}))}get connected(){return!ee(this,Wo)}};ts=new WeakMap;Wo=new WeakMap;ns=new WeakMap;function eR(t,e=.2){let n=0;const i=t.createGain();i.gain.value=1;function o(a){if(n)return n;i.gain.cancelScheduledValues(a);const s=a||t.currentTime;return n=s+e,i.gain.setValueAtTime(1,s),i.gain.linearRampToValueAtTime(0,n),n}return[i,o]}var tR=class{constructor(t,e){this.context=t;const n=new zS(t,e);this.player=new XS(new $S(t,bA(wA({},e),{destination:n.input})),e),this.output=n}get buffers(){return this.player.buffers}start(t){return this.player.start(t)}stop(t){this.player.stop(typeof t=="object"?t:t!==void 0?{stopId:t}:void 0)}disconnect(){this.output.disconnect(),this.player.disconnect()}};function nR(t){if(typeof document>"u")return null;const e=document.createElement("audio");for(let n=0;n=((a=i.midiLow)!=null?a:0)&&t<((s=i.midiHigh)!=null?s:127)+1)||!(n.velocity===void 0||n.velocity>=((A=i.velLow)!=null?A:0)&&n.velocity<=((r=i.velHigh)!=null?r:127)))return;if(i.seqLength){const lt=e%i.seqLength,se=((h=i.seqPosition)!=null?h:1)-1;if(lt!==se)return}const P=t-i.midiPitch,Z=(l=n.velocity)!=null?l:o==null?void 0:o.velocity,ae=i.volume?VS(i.volume):0,Ie=(g=(c=n.gainOffset)!=null?c:o==null?void 0:o.gainOffset)!=null?g:0,ht=(d=n.detune)!=null?d:0;return{decayTime:(I=(m=n==null?void 0:n.decayTime)!=null?m:(u=i.sample)==null?void 0:u.decayTime)!=null?I:o==null?void 0:o.decayTime,detune:100*(P+((f=i.tune)!=null?f:0))+ht,duration:(w=(y=n==null?void 0:n.duration)!=null?y:(Q=i.sample)==null?void 0:Q.duration)!=null?w:o==null?void 0:o.duration,gainOffset:Ie+ae||void 0,loop:(D=(k=n==null?void 0:n.loop)!=null?k:(B=i.sample)==null?void 0:B.loop)!=null?D:o==null?void 0:o.loop,loopEnd:(R=(S=n==null?void 0:n.loopEnd)!=null?S:(v=i.sample)==null?void 0:v.loopEnd)!=null?R:o==null?void 0:o.loopEnd,loopStart:(U=(M=n==null?void 0:n.loopStart)!=null?M:(T=i.sample)==null?void 0:T.loopStart)!=null?U:o==null?void 0:o.loopStart,lpfCutoffHz:(Y=(q=n==null?void 0:n.lpfCutoffHz)!=null?q:(G=i.sample)==null?void 0:G.lpfCutoffHz)!=null?Y:o==null?void 0:o.lpfCutoffHz,name:i.sampleName,note:t,onEnded:n.onEnded,onStart:n.onStart,stopId:n.name,time:n.time,velocity:Z??void 0}}function rR(t){if(t.length===0)return[];if(t.sort((e,n)=>e.midiPitch-n.midiPitch),t[0].midiLow=0,t[0].midiHigh=127,t.length===1)return t;for(let e=1;e(this.input.connect(e),e.connect(ee(this,Zo)),Pe(this,bi,e),this)))}get paramNames(){return lR}getParam(t){var e;return(e=ee(this,bi))==null?void 0:e.parameters.get("preDelay")}get isReady(){return ee(this,bi)!==void 0}ready(){return ee(this,kA)}connect(t){ee(this,bi)&&(ee(this,bi).disconnect(ee(this,Zo)),ee(this,bi).connect(t)),Pe(this,Zo,t)}};bi=new WeakMap;kA=new WeakMap;Zo=new WeakMap;function dR(t,e){var n;const i=(n=nR(["ogg","mp3"]))!=null?n:"mp3";return`https://gleitz.github.io/midi-js-soundfonts/${e}/${t}-${i}.js`}function uR(t,e,n){return(i,o)=>ya(this,null,function*(){const a=yield(yield o.fetch(t)).text(),s=mR(a),A=Object.keys(s);yield Promise.all(A.map(r=>ya(this,null,function*(){const h=wg(r);if(!h)return;const l=IR(pR(s[r])),c=yield i.decodeAudioData(l);e[r]=c,n.regions.push({sampleName:r,midiPitch:h})}))),rR(n.regions)})}function mR(t){const e=t.indexOf("MIDI.Soundfont.");if(e<0)throw Error("Invalid MIDI.js Soundfont format");const n=t.indexOf("=",e)+2,i=t.lastIndexOf(",");return JSON.parse(t.slice(n,i)+"}")}function pR(t){return t.slice(t.indexOf(",")+1)}function IR(t){const e=window.atob(t),n=e.length,i=new Uint8Array(n);for(let o=0;o{const s=wg(a);if(s){const A=i[a];o[s]=[A[0]/e,A[1]/e]}}),o}catch{return}})}function BR(){return fR}var is,ER=class{constructor(t,e){this.context=t,Et(this,is,void 0),this.config=wR(e),this.player=new tR(t,e),this.group=aR(),Pe(this,is,!1);const n=QR(this.config.instrumentUrl,this.config.loopDataUrl,this.player.buffers,this.group);this.load=n(t,this.config.storage).then(o=>(Pe(this,is,o),this));const i=t.createGain();i.gain.value=this.config.extraGain,this.player.output.addInsert(i)}get output(){return this.player.output}get hasLoops(){return ee(this,is)}loaded(){return ya(this,null,function*(){return console.warn("deprecated: use load instead"),this.load})}disconnect(){this.player.disconnect()}start(t){const e=sR(this.group,typeof t=="object"?t:{note:t});return e?this.player.start(e):()=>{}}stop(t){return this.player.stop(t)}};is=new WeakMap;function QR(t,e,n,i){const o=uR(t,n,i);return(a,s)=>ya(this,null,function*(){const[A,r]=yield Promise.all([o(a,s),yR(e)]);return r&&i.regions.forEach(h=>{var l;const c=r[h.midiPitch];c&&((l=h.sample)!=null||(h.sample={}),h.sample.loop=!0,h.sample.loopStart=c[0],h.sample.loopEnd=c[1])}),!!r})}function wR(t){var e,n,i,o;if(!t.instrument&&!t.instrumentUrl)throw Error("Soundfont: instrument or instrumentUrl is required");const a={kit:"MusyngKite",instrument:t.instrument,storage:(e=t.storage)!=null?e:iR,extraGain:(n=t.extraGain)!=null?n:5,loadLoopData:(i=t.loadLoopData)!=null?i:!1,loopDataUrl:t.loopDataUrl,instrumentUrl:(o=t.instrumentUrl)!=null?o:""};return a.instrument&&a.instrument.startsWith("http")&&(console.warn("Use 'instrumentUrl' instead of 'instrument' to load from a URL"),a.instrumentUrl=a.instrument,a.instrument=void 0),a.instrument&&!a.instrumentUrl&&(a.instrumentUrl=dR(a.instrument,a.kit)),a.loadLoopData&&a.instrument&&!a.loopDataUrl&&(a.loopDataUrl=CR(a.instrument,a.kit)),a}const Oh=Ce("sound-font","marimba"),eu=Te([]),mA=ne(!1),Vh=ne(!1),tu=dt(Ce("sound-font-volume",1),0,1),ea=Ce("sound-font-enabled",!0);function bR(){const{master:t}=rh(),{midi:e}=ih();ye(Oh,a=>{eu[a]=!0});const n=t.context,i=new gR(n),o=H(()=>{mA.value=!1;const a=new ER(n,{instrument:Oh.value});return a.output.addEffect("reverb",i,.9),a.load.then(()=>mA.value=!0),a});return ye(tu,a=>o.value.output.setVolume(a*127),{immediate:!0}),ye(()=>e.note,a=>{!mA.value||!ea.value||(a.type=="noteon"?(o.value.start({note:a.number,velocity:a.velocity}),Vh.value=!0):(o.value.stop(a.number),Vh.value=!1))}),{active:Vh,inst:o,getSoundfontNames:BR,cached:eu,loaded:mA,instrument:Oh,synthEnabled:ea,volume:tu}}const vR={class:"white"},DR=["transform","onMousedown"],kR=["fill"],MR=["fill"],NR=["fill"],SR=["font-weight"],RR={class:"black"},TR=["transform","onMousedown"],FR=["fill","data-check"],GR=["fill","stroke"],xR=["fill","font-weight"],UR={y:"111",x:"45"},_R={y:"40",x:"45"},JR={class:"absolute right-4"},YR={class:"font-bold text-lg flex-1 text-center"},LR={__name:"ChromaKeys",props:{chroma:{type:String,default:"100000000000"},letters:{type:Boolean,default:!0},pitch:{type:Number,default:0},scale:{type:String},roman:{type:String,default:""},title:{type:Boolean,default:!0},playAll:{type:Boolean,default:!1}},emits:["update:pitch"],setup(t,{emit:e}){const{isDark:n}=Yi(),i=t,o=Te({white:[3,5,7,8,10,0,2],black:[4,6,null,9,11,1],chroma:H(()=>Kn(i.chroma.split(""),-i.pitch)),scale:H(()=>Kn(Ue.chroma.split(""),-i.pitch)),color:H(()=>_k(Kn(i.chroma.split(""),-i.pitch).join(""),i.pitch,.3,n.value?4:12)),title:H(()=>{var l,c;return(l=il(i.chroma))!=null&&l.empty?(c=Li(i.chroma))!=null&&c.empty?"":Li(i.chroma).aliases[0]:il(i.chroma).aliases[0]})}),{midi:a,activeChroma:s}=ih();function A(l){return l!=null&&o.chroma[l]=="1"}function r(l){return i.scale&&l!=null&&o.chroma[l]=="1"}function h(l,c){return l==null?"transparent":l==i.pitch?Ve($e(l,4)).toHex():A(l)&&!c?Ve($e(l,3.5)).toHex():Jn[l].length!=2?"#eee":"#999"}return(l,c)=>(E(),b("div",{class:"flex flex-col rounded-lg cursor-pointer transition-all duration-300 ease relative select-none touch-none",onPointerdown:c[0]||(c[0]=g=>t.playAll&&_n(p(nk)(t.chroma,t.pitch))),onPointerup:c[1]||(c[1]=g=>t.playAll&&_n(p(Mh)(t.chroma,t.pitch))),onPointerleave:c[2]||(c[2]=g=>t.playAll&&_n(p(Mh)(t.chroma,t.pitch))),onPointerout:c[3]||(c[3]=g=>t.playAll&&_n(p(Mh)(t.chroma,t.pitch))),style:he({backgroundColor:o.color.lch})},[(E(),b("svg",{class:Ae(["w-full",{letters:t.letters}]),id:"chroma-keys",version:"1.1",baseProfile:"full",viewBox:"-10 -20 720 250",xmlns:"http://www.w3.org/2000/svg","font-family":"Commissioner, sans-serif","font-weight":"200","font-size":"40","text-anchor":"middle","dominant-baseline":"middle"},[c[4]||(c[4]=C("defs",null,[C("filter",{id:"shadowButton",x:"-50%",height:"200%",width:"300%"},[C("feDropShadow",{dx:"0",dy:"3",stdDeviation:"4","flood-color":"#2225"})])],-1)),C("g",vR,[(E(!0),b(Me,null,Re(o.white,(g,d)=>(E(),b("g",{class:"key",key:g,transform:`translate(${d*100+5} 30)`,onMousedown:u=>l.$emit("update:pitch",g)},[C("rect",{class:"transition-all duration-300 ease-out",width:"90",height:"190",rx:"45",fill:h(g,!0),style:{filter:"url(#shadowButton)"}},null,8,kR),C("circle",{class:"transition-all duration-300 ease-out",cy:"145",cx:"45",r:"45",fill:h(g)},null,8,MR),O(C("text",{class:"pointer-events-none",y:"152",x:"45",fill:p(Ve)(p($e)(g)).isDark()?"white":"black"},[C("tspan",{"font-weight":g==t.pitch?800:200},z(p(Jn)[g]),9,SR)],8,NR),[[_t,A(g)&&t.letters]]),C("circle",{style:he({opacity:p(s)[g]==1?1:0}),cy:"145",cx:"45",r:"18",fill:"#3339"},null,4)],40,DR))),128))]),C("g",RR,[(E(!0),b(Me,null,Re(o.black,(g,d)=>(E(),b("g",{class:"key",key:g,transform:`translate(${d*100+55} -10)`,onMousedown:u=>l.$emit("update:pitch",g)},[g?(E(),b("rect",{key:0,class:"transition-all duration-300 ease-out",width:"90",height:"150",rx:"45",style:{filter:"url(#shadowButton)"},fill:h(g,!0),"data-check":g},null,8,FR)):V("",!0),g?(E(),b("circle",{key:1,class:"transition-all duration-300 ease-out",cy:"105",cx:"45",r:"45",fill:h(g),"stroke-width":"8",stroke:r(g)?p($e)(g,3):"transparent"},null,8,GR)):V("",!0),O(C("text",{class:"pointer-events-none",fill:p(Ve)(p($e)(g)).isDark()?"white":"black","font-weight":g==t.pitch?800:200},[C("tspan",UR,z(p(Jn)[g]),1),C("tspan",_R,z(p(bp)[g]),1)],8,xR),[[_t,A(g)&&t.letters]]),C("circle",{style:he({opacity:p(s)[g]==1?1:0}),cy:"75",cx:"45",r:"18",fill:"#3339"},null,4)],40,TR))),128))])],2)),Hn(l.$slots,"default",{},()=>[t.title?(E(),b("div",{key:0,class:"flex justify-center my-2 px-2",style:he({color:p(Ve)(p($e)(t.pitch,2,1,1)).isDark()?"white":"black"})},[C("div",JR,z(t.roman),1),C("div",YR,z(p(Jn)[t.pitch])+z(o.title),1)],4)):V("",!0)],!0)],36))}},KR=it(LR,[["__scopeId","data-v-9e761a62"]]);function qR(){try{return"constructor"in GestureEvent}catch{return!1}}function cC(){return typeof window<"u"&&"ontouchstart"in window}function gC(t){return"pointerId"in t?null:t.type==="touchend"?t.changedTouches:t.targetTouches}function bg(t){return Array.from(gC(t)).map(e=>e.identifier)}function on(t){const e="buttons"in t?t.buttons:0,{shiftKey:n,altKey:i,metaKey:o,ctrlKey:a}=t;return{buttons:e,shiftKey:n,altKey:i,metaKey:o,ctrlKey:a}}const $s=t=>t;function ta(t,e=$s){const n=gC(t),{clientX:i,clientY:o}=n?n[0]:t;return e([i,o])}function nu(t,e,n=$s){const[i,o]=Array.from(t.touches).filter(d=>e.includes(d.identifier));if(!i||!o)throw Error("The event doesn't have two pointers matching the pointerIds");const a=o.clientX-i.clientX,s=o.clientY-i.clientY,A=(o.clientX+i.clientX)/2,r=(o.clientY+i.clientY)/2,h=Math.hypot(a,s),l=-(Math.atan2(a,s)*180)/Math.PI,c=n([h,l]),g=n([A,r]);return{values:c,origin:g}}function jR(t,e=$s){const{scrollX:n,scrollY:i,scrollLeft:o,scrollTop:a}=t.currentTarget;return e([n||o||0,i||a||0])}const iu=40,ou=800;function dC(t,e=$s){let{deltaX:n,deltaY:i,deltaMode:o}=t;return o===1?(n*=iu,i*=iu):o===2&&(n*=ou,i*=ou),e([n,i])}function au(t,e=$s){return e([t.scale,t.rotation])}function uC(){}function mC(...t){return t.length===0?uC:t.length===1?t[0]:function(){var e;for(let n of t)e=n.apply(this,arguments)||e;return e}}function Ni(t,e){if(t===void 0){if(e===void 0)throw new Error("Must define fallback value if undefined is expected");t=e}return Array.isArray(t)?t:[t,t]}function su(t,e){return Object.assign({},e,t||{})}function nr(t,...e){return typeof t=="function"?t(...e):t}function Pa(t){return{_active:!1,_blocked:!1,_intentional:[!1,!1],_movement:[0,0],_initial:[0,0],_bounds:[[-1/0,1/0],[-1/0,1/0]],_lastEventType:void 0,_dragStarted:!1,_dragPreventScroll:!1,_dragIsTap:!0,_dragDelayed:!1,event:void 0,intentional:!1,values:[0,0],velocities:[0,0],delta:[0,0],movement:[0,0],offset:[0,0],lastOffset:[0,0],direction:[0,0],initial:[0,0],previous:[0,0],first:!1,last:!1,active:!1,timeStamp:0,startTime:0,elapsedTime:0,cancel:uC,canceled:!1,memo:void 0,args:void 0,...t}}function Dl(){const t={hovering:!1,scrolling:!1,wheeling:!1,dragging:!1,moving:!1,pinching:!1,touches:0,buttons:0,down:!1,shiftKey:!1,altKey:!1,metaKey:!1,ctrlKey:!1,locked:!1},e=Pa({_pointerId:void 0,axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0,tap:!1,swipe:[0,0]}),n=Pa({_pointerIds:[],da:[0,0],vdva:[0,0],origin:void 0,turns:0}),i=Pa({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0}),o=Pa({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0}),a=Pa({axis:void 0,xy:[0,0],vxvy:[0,0],velocity:0,distance:0});return{shared:t,drag:e,pinch:n,wheel:i,move:o,scroll:a}}var PR=Object.defineProperty,HR=(t,e,n)=>e in t?PR(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Kt=(t,e,n)=>(HR(t,typeof e!="symbol"?e+"":e,n),n);class OR{constructor(e){this.classes=e,Kt(this,"nativeRefs"),Kt(this,"config"),Kt(this,"handlers"),Kt(this,"state"),Kt(this,"timeouts"),Kt(this,"domListeners"),Kt(this,"windowListeners"),Kt(this,"pointerIds",new Set),Kt(this,"touchIds",new Set),Kt(this,"supportsTouchEvents",cC()),Kt(this,"supportsGestureEvents",qR()),Kt(this,"bind",(...n)=>{const i={};for(let o of this.classes)new o(this,n).addBindings(i);for(let o in this.nativeRefs)ze(i,o,a=>this.nativeRefs[o]({...this.state.shared,event:a,args:n}));return this.config.domTarget?ZR(this,i):XR(this,i)}),Kt(this,"clean",()=>{const{eventOptions:n,domTarget:i}=this.config,o=p(i);o&&eA(o,fC(this.domListeners),n),Object.values(this.timeouts).forEach(clearTimeout),VR(this)}),Kt(this,"reset",()=>{this.state=Dl()}),this.classes=e,this.state=Dl(),this.timeouts={},this.domListeners=[],this.windowListeners={}}}function pC(t,e){"pointerId"in e?t.pointerIds.add(e.pointerId):t.touchIds=new Set(bg(e))}function IC(t,e){"pointerId"in e?t.pointerIds.delete(e.pointerId):bg(e).forEach(n=>t.touchIds.delete(n))}function VR(t){const{config:{window:e,eventOptions:n},windowListeners:i}=t,o=p(e);if(o){for(let a in i){const s=i[a];eA(o,s,n)}t.windowListeners={}}}function zR({config:t,windowListeners:e},n,i=t.eventOptions){const o=p(t.window);o&&(eA(o,e[n],i),delete e[n])}function WR({config:t,windowListeners:e},n,i=[],o=t.eventOptions){const a=p(t.window);a&&(eA(a,e[n],o),CC(a,e[n]=i,o))}function ZR({config:t,domListeners:e},n){const{eventOptions:i,domTarget:o}=t,a=p(o);if(!a)throw new Error("domTarget must be defined");eA(a,fC(e),i);for(let[s,A]of Object.entries(n)){const r=s.slice(2).toLowerCase();e.push([r,mC(...A)])}CC(a,e,i)}function XR({config:t},e){const n={},i=t.eventOptions.capture?"Capture":"";for(let[o,a]of Object.entries(e)){const s=Array.isArray(a)?a:[a],A=o+i;n[A]=mC(...s)}return n}function fC(t=[]){return t.splice(0,t.length)}function ze(t,e,n){t[e]||(t[e]=[]),t[e].push(n)}function CC(t,e=[],n={}){if(t)for(let[i,o]of e)t.addEventListener(i,o,n)}function eA(t,e=[],n={}){if(t)for(let[i,o]of e)t.removeEventListener(i,o,n)}function ir(t,e){return t.map((n,i)=>n+e[i])}function vg(t,e){return t.map((n,i)=>n-e[i])}function ks(t){return Math.hypot(...t)}function yC(t,e=t){const n=ks(e),i=n===0?0:1/n,o=e.map(s=>i*s);return{distance:ks(t),direction:o}}function BC(t,e,n){const i=ks(e),o=i===0?0:1/i,a=n===0?0:1/n,s=a*i,A=e.map(l=>a*l),r=e.map(l=>o*l),h=ks(t);return{velocities:A,velocity:s,distance:h,direction:r}}function or(t){return Math.sign?Math.sign(t):+(t>0)-+(t<0)||+t}function $R(t,e,n){return Math.max(e,Math.min(t,n))}function e2(t,e){return Math.pow(t,e*5)}function Au(t,e,n){return e===0||Math.abs(e)===1/0?e2(t,n):t*e*n/(e+n*t)}function ru(t,e,n,i=.15){return i===0?$R(t,e,n):tn?+Au(t-n,n-e,i)+n:t}var t2=Object.defineProperty,n2=(t,e,n)=>e in t?t2(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,pA=(t,e,n)=>(n2(t,typeof e!="symbol"?e+"":e,n),n);const Qt=new Map,i2=t=>t;class EC{constructor(e,n=[]){this.controller=e,this.args=n,pA(this,"debounced",!0),pA(this,"setTimeout",(i,o=140,...a)=>{clearTimeout(this.controller.timeouts[this.stateKey]),this.controller.timeouts[this.stateKey]=window.setTimeout(i,o,...a)}),pA(this,"clearTimeout",()=>{clearTimeout(this.controller.timeouts[this.stateKey])}),pA(this,"fireGestureHandler",(i=!1)=>{if(this.state._blocked)return this.debounced||(this.state._active=!1,this.clean()),null;if(!i&&!this.state.intentional&&!this.config.triggerAllEvents)return null;if(this.state.intentional){const r=this.state.active,h=this.state._active;this.state.active=h,this.state.first=h&&!r,this.state.last=r&&!h,this.controller.state.shared[this.ingKey]=h}const o=this.controller.pointerIds.size||this.controller.touchIds.size,a=this.controller.state.shared.buttons>0||o>0,s={...this.controller.state.shared,...this.state,...this.mapStateValues(this.state),locked:!!document.pointerLockElement,touches:o,down:a},A=this.handler(s);return this.state.memo=A!==void 0?A:this.state.memo,s}),this.controller=e,this.args=n}get config(){return this.controller.config[this.stateKey]}get enabled(){return this.controller.config.enabled&&this.config.enabled}get state(){return this.controller.state[this.stateKey]}get handler(){return this.controller.handlers[this.stateKey]}get transform(){return this.config.transform||this.controller.config.transform||i2}updateSharedState(e){Object.assign(this.controller.state.shared,e)}updateGestureState(e){Object.assign(this.state,e)}checkIntentionality(e,n){return{_intentional:e,_blocked:!1}}getMovement(e){const{rubberband:n,threshold:i}=this.config,{_bounds:o,_initial:a,_active:s,_intentional:A,lastOffset:r,movement:h}=this.state,l=this.getInternalMovement(e,this.state),c=this.transform(i).map(Math.abs),g=A[0]===!1?hu(l[0],c[0]):A[0],d=A[1]===!1?hu(l[1],c[1]):A[1],u=this.checkIntentionality([g,d],l);if(u._blocked)return{...u,_movement:l,delta:[0,0]};const m=u._intentional,I=l;let f=[m[0]!==!1?l[0]-m[0]:0,m[1]!==!1?l[1]-m[1]:0];const Q=ir(f,r),y=s?n:[0,0];return f=lu(o,ir(f,a),y),{...u,intentional:m[0]!==!1||m[1]!==!1,_initial:a,_movement:I,movement:f,values:e,offset:lu(o,Q,y),delta:vg(f,h)}}clean(){this.clearTimeout()}}function hu(t,e){return Math.abs(t)>=e?or(t)*e:!1}function lu(t,[e,n],[i,o]){const[[a,s],[A,r]]=t;return[ru(e,a,s,i),ru(n,A,r,o)]}function pt({state:t},e,n){const{timeStamp:i,type:o}=e,a=t.values,s=n?0:i-t.startTime;return{_lastEventType:o,event:e,timeStamp:i,elapsedTime:s,previous:a}}function po({state:t,config:e,stateKey:n,args:i},o,a){const s=t.offset,A=a.timeStamp,{initial:r,bounds:h}=e,l={...Dl()[n],_active:!0,args:i,values:o,initial:o,offset:s,lastOffset:s,startTime:A};return{...l,_initial:nr(r,l),_bounds:nr(h,l)}}class Ih extends EC{getInternalMovement(e,n){return vg(e,n.initial)}checkIntentionality(e,n){if(e[0]===!1&&e[1]===!1)return{_intentional:e,axis:this.state.axis};const[i,o]=n.map(Math.abs),a=this.state.axis||(i>o?"x":ie in t?o2(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,vt=(t,e,n)=>(a2(t,typeof e!="symbol"?e+"":e,n),n);const s2=3;function cu(t){"persist"in t&&typeof t.persist=="function"&&t.persist()}class QC extends Ih{constructor(){super(...arguments),vt(this,"ingKey","dragging"),vt(this,"stateKey","drag"),vt(this,"setPointerCapture",e=>{if(this.config.useTouch||document.pointerLockElement)return;const{target:n,pointerId:i}=e;n&&"setPointerCapture"in n&&n.setPointerCapture(i),this.updateGestureState({_dragTarget:n,_dragPointerId:i})}),vt(this,"releasePointerCapture",()=>{if(this.config.useTouch||document.pointerLockElement)return;const{_dragTarget:e,_dragPointerId:n}=this.state;if(n&&e&&"releasePointerCapture"in e&&(!("hasPointerCapture"in e)||e.hasPointerCapture(n)))try{e.releasePointerCapture(n)}catch{}}),vt(this,"preventScroll",e=>{this.state._dragPreventScroll&&e.cancelable&&e.preventDefault()}),vt(this,"getEventId",e=>this.config.useTouch?e.changedTouches[0].identifier:e.pointerId),vt(this,"isValidEvent",e=>this.state._pointerId===this.getEventId(e)),vt(this,"shouldPreventWindowScrollY",this.config.preventWindowScrollY&&this.controller.supportsTouchEvents),vt(this,"setUpWindowScrollDetection",e=>{cu(e),WR(this.controller,this.stateKey,[["touchmove",this.preventScroll],["touchend",this.clean.bind(this)],["touchcancel",this.clean.bind(this)]],{passive:!1}),this.setTimeout(this.startDrag.bind(this),250,e)}),vt(this,"setUpDelayedDragTrigger",e=>{this.state._dragDelayed=!0,cu(e),this.setTimeout(this.startDrag.bind(this),this.config.delay,e)}),vt(this,"setStartState",e=>{const n=ta(e,this.transform);this.updateSharedState(on(e)),this.updateGestureState({...po(this,n,e),...pt(this,e,!0),_pointerId:this.getEventId(e)}),this.updateGestureState(this.getMovement(n))}),vt(this,"onDragStart",e=>{pC(this.controller,e),!(!this.enabled||this.state._active)&&(this.setStartState(e),this.setPointerCapture(e),this.shouldPreventWindowScrollY?this.setUpWindowScrollDetection(e):this.config.delay>0?this.setUpDelayedDragTrigger(e):this.startDrag(e,!0))}),vt(this,"onDragChange",e=>{if(this.state.canceled||!this.state._active||!this.isValidEvent(e)||this.state._lastEventType===e.type&&e.timeStamp===this.state.timeStamp)return;let n;if(document.pointerLockElement){const{movementX:r,movementY:h}=e;n=ir(this.transform([r,h]),this.state.values)}else n=ta(e,this.transform);const i=this.getKinematics(n,e);if(!this.state._dragStarted){if(this.state._dragDelayed){this.startDrag(e);return}if(this.shouldPreventWindowScrollY)if(!this.state._dragPreventScroll&&i.axis)if(i.axis==="x")this.startDrag(e);else{this.state._active=!1;return}else return;else return}const o=on(e);this.updateSharedState(o);const a=pt(this,e),s=ks(i._movement);let{_dragIsTap:A}=this.state;A&&s>=s2&&(A=!1),this.updateGestureState({...a,...i,_dragIsTap:A}),this.fireGestureHandler()}),vt(this,"onDragEnd",e=>{if(IC(this.controller,e),!this.isValidEvent(e)||(this.clean(),!this.state._active))return;this.state._active=!1;const n=this.state._dragIsTap,[i,o]=this.state.velocities,[a,s]=this.state.movement,[A,r]=this.state._intentional,[h,l]=this.config.swipeVelocity,[c,g]=this.config.swipeDistance,d=this.config.swipeDuration,u={...pt(this,e),...this.getMovement(this.state.values)},m=[0,0];u.elapsedTimeh&&Math.abs(a)>c&&(m[0]=or(i)),r!==!1&&Math.abs(o)>l&&Math.abs(s)>g&&(m[1]=or(o))),this.updateSharedState({buttons:0}),this.updateGestureState({...u,tap:n,swipe:m}),this.fireGestureHandler(this.config.filterTaps&&n===!0)}),vt(this,"clean",()=>{super.clean(),this.state._dragStarted=!1,this.releasePointerCapture(),zR(this.controller,this.stateKey)}),vt(this,"onCancel",()=>{this.state.canceled||(this.updateGestureState({canceled:!0,_active:!1}),this.updateSharedState({buttons:0}),_n(this.fireGestureHandler))}),vt(this,"onClick",e=>{this.state._dragIsTap||e.stopPropagation()})}startDrag(e,n=!1){!this.state._active||this.state._dragStarted||(n||this.setStartState(e),this.updateGestureState({_dragStarted:!0,_dragPreventScroll:!0,cancel:this.onCancel}),this.clearTimeout(),this.fireGestureHandler())}addBindings(e){if(this.config.useTouch?(ze(e,"onTouchStart",this.onDragStart),ze(e,"onTouchMove",this.onDragChange),ze(e,"onTouchEnd",this.onDragEnd),ze(e,"onTouchCancel",this.onDragEnd)):(ze(e,"onPointerDown",this.onDragStart),ze(e,"onPointerMove",this.onDragChange),ze(e,"onPointerUp",this.onDragEnd),ze(e,"onPointerCancel",this.onDragEnd)),this.config.filterTaps){const n=this.controller.config.eventOptions.capture?"onClick":"onClickCapture";ze(e,n,this.onClick)}}}function Ta(t,e){let n,i=[],o,a=!1;function s(...A){return a&&n===this&&e(A,i)||(o=t.apply(this,A),a=!0,n=this,i=A),o}return s}function MA(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){if(t.constructor!==e.constructor)return!1;let n,i,o;if(Array.isArray(t)){if(n=t.length,n!==e.length)return!1;for(i=n;i--!==0;)if(!MA(t[i],e[i]))return!1;return!0}let a;if(typeof Map=="function"&&t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(a=t.entries();!(i=a.next()).done;)if(!e.has(i.value[0]))return!1;for(a=t.entries();!(i=a.next()).done;)if(!MA(i.value[1],e.get(i.value[0])))return!1;return!0}if(typeof Set=="function"&&t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(a=t.entries();!(i=a.next()).done;)if(!e.has(i.value[0]))return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if(o=Object.keys(t),n=o.length,n!==Object.keys(e).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(e,o[i]))return!1;if(typeof Element<"u"&&t instanceof Element)return!1;for(i=n;i--!==0;)if(!(o[i]==="_owner"&&t.$$typeof)&&!MA(t[o[i]],e[o[i]]))return!1;return!0}return t!==t&&e!==e}function Fa(t,e){try{return MA(t,e)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}function tA(t={},e){const n={};for(const[i,o]of Object.entries(e))switch(typeof o){case"function":n[i]=o.call(n,t[i],i,t);break;case"object":n[i]=tA(t[i],o);break;case"boolean":o&&(n[i]=t[i]);break}return n}const A2=180,r2=.15,h2=.5,l2=50,c2=250,wC={threshold(t=0){return Ni(t)},rubberband(t=0){switch(t){case!0:return Ni(r2);case!1:return Ni(0);default:return Ni(t)}},enabled(t=!0){return t},triggerAllEvents(t=!1){return t},initial(t=0){return typeof t=="function"?t:Ni(t)},transform:!0},Dg={...wC,axis:!0,lockDirection(t=!1){return t},bounds(t={}){if(typeof t=="function")return a=>Dg.bounds(t(a));const{left:e=-1/0,right:n=1/0,top:i=-1/0,bottom:o=1/0}=t;return[[e,n],[i,o]]}},g2=typeof window<"u"&&window.document&&window.document.createElement,d2={enabled(t=!0){return t},domTarget:!0,window(t=g2?window:void 0){return t},eventOptions({passive:t=!0,capture:e=!1}={}){return{passive:t,capture:e}},transform:!0},u2={...wC,bounds(t,e,{distanceBounds:n={},angleBounds:i={}}){const o=s=>{const A=su(nr(n,s),{min:-1/0,max:1/0});return[A.min,A.max]},a=s=>{const A=su(nr(i,s),{min:-1/0,max:1/0});return[A.min,A.max]};return typeof n!="function"&&typeof i!="function"?[o(),a()]:s=>[o(s),a(s)]}},m2={...Dg,useTouch(t=!0){return t&&cC()},preventWindowScrollY(t=!1){return t},threshold(t,e,{filterTaps:n=!1,lockDirection:i=!1,axis:o=void 0}){const a=Ni(t,n?3:i||o?1:0);return this.filterTaps=n,a},swipeVelocity(t=h2){return Ni(t)},swipeDistance(t=l2){return Ni(t)},swipeDuration(t=c2){return t},delay(t=0){switch(t){case!0:return A2;case!1:return 0;default:return t}}};function Fo(t){return tA(t,d2)}function ha(t={}){return tA(t,Dg)}function bC(t={}){return tA(t,u2)}function vC(t={}){return tA(t,m2)}function p2({domTarget:t,eventOptions:e,window:n,enabled:i,...o}){const a=Fo({domTarget:t,eventOptions:e,window:n,enabled:i});return a.move=ha(o),a}function I2({domTarget:t,eventOptions:e,window:n,enabled:i,...o}){const a=Fo({domTarget:t,eventOptions:e,window:n,enabled:i});return a.hover={enabled:!0,...o},a}function f2({domTarget:t,eventOptions:e,window:n,enabled:i,...o}){const a=Fo({domTarget:t,eventOptions:e,window:n,enabled:i});return a.drag=vC(o),a}function C2({domTarget:t,eventOptions:e,window:n,enabled:i,...o}){const a=Fo({domTarget:t,eventOptions:e,window:n,enabled:i});return a.pinch=bC(o),a}function y2({domTarget:t,eventOptions:e,window:n,enabled:i,...o}){const a=Fo({domTarget:t,eventOptions:e,window:n,enabled:i});return a.scroll=ha(o),a}function B2({domTarget:t,eventOptions:e,window:n,enabled:i,...o}){const a=Fo({domTarget:t,eventOptions:e,window:n,enabled:i});return a.wheel=ha(o),a}function E2(t,e=new Set){const{drag:n,wheel:i,move:o,scroll:a,pinch:s,hover:A,eventOptions:r,window:h,transform:l,domTarget:c,enabled:g}=t,d=Fo({domTarget:c,eventOptions:r,transform:l,window:h,enabled:g});return e.has("onDrag")&&(d.drag=vC(n)),e.has("onWheel")&&(d.wheel=ha(i)),e.has("onScroll")&&(d.scroll=ha(a)),e.has("onMove")&&(d.move=ha(o)),e.has("onPinch")&&(d.pinch=bC(s)),e.has("onHover")&&(d.hover={enabled:!0,...A}),d}function Go(t,e,n={}){const i=Q2(t),o=new OR(i);return o.config=e,o.handlers=t,o.nativeRefs=n,em()&&!e.manual&&(mn(o.bind),Fy(o.clean)),o}function Q2(t){const e=new Set;return t.drag&&e.add(Qt.get("drag")),t.wheel&&e.add(Qt.get("wheel")),t.scroll&&e.add(Qt.get("scroll")),t.move&&e.add(Qt.get("move")),t.pinch&&e.add(Qt.get("pinch")),t.hover&&e.add(Qt.get("hover")),e}function DC(t,e={}){Qt.set("drag",QC);const n=ne();return n.value||(n.value=Ta(f2,Fa)),Go({drag:t},n.value(e))}var w2=Object.defineProperty,b2=(t,e,n)=>e in t?w2(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Gn=(t,e,n)=>(b2(t,typeof e!="symbol"?e+"":e,n),n);class ar extends Ih{constructor(){super(...arguments),Gn(this,"ingKey","moving"),Gn(this,"stateKey","move"),Gn(this,"debounced",!0),Gn(this,"onMove",e=>{this.enabled&&(this.setTimeout(this.onMoveEnd),this.state._active?this.onMoveChange(e):this.onMoveStart(e))}),Gn(this,"onMoveStart",e=>{this.updateSharedState(on(e));const n=ta(e,this.transform);this.updateGestureState({...po(this,n,e),...pt(this,e,!0)}),this.updateGestureState(this.getMovement(n)),this.fireGestureHandler()}),Gn(this,"onMoveChange",e=>{this.updateSharedState(on(e));const n=ta(e,this.transform);this.updateGestureState({...pt(this,e),...this.getKinematics(n,e)}),this.fireGestureHandler()}),Gn(this,"onMoveEnd",()=>{if(this.clean(),!this.state._active)return;const e=this.state.values;this.updateGestureState(this.getMovement(e)),this.updateGestureState({velocities:[0,0],velocity:0,_active:!1}),this.fireGestureHandler()}),Gn(this,"hoverTransform",()=>this.controller.config.hover.transform||this.controller.config.transform),Gn(this,"onPointerEnter",e=>{if(this.controller.state.shared.hovering=!0,!!this.controller.config.enabled){if(this.controller.config.hover.enabled){const n=ta(e,this.hoverTransform()),i={...this.controller.state.shared,...this.state,...pt(this,e,!0),args:this.args,values:n,active:!0,hovering:!0};this.controller.handlers.hover({...i,...this.mapStateValues(i)})}"move"in this.controller.handlers&&this.onMoveStart(e)}}),Gn(this,"onPointerLeave",e=>{if(this.controller.state.shared.hovering=!1,"move"in this.controller.handlers&&this.onMoveEnd(),!this.controller.config.hover.enabled)return;const n=ta(e,this.hoverTransform()),i={...this.controller.state.shared,...this.state,...pt(this,e),args:this.args,values:n,active:!1};this.controller.handlers.hover({...i,...this.mapStateValues(i)})})}addBindings(e){"move"in this.controller.handlers&&ze(e,"onPointerMove",this.onMove),"hover"in this.controller.handlers&&(ze(e,"onPointerEnter",this.onPointerEnter),ze(e,"onPointerLeave",this.onPointerLeave))}}class v2 extends EC{getInternalMovement(e,n){const i=n.values[1];let[o,a=i]=e,s=a-i,A=n.turns;return Math.abs(s)>270&&(A+=or(s)),vg([o,a-360*A],n.initial)}getKinematics(e,n){const i=this.getMovement(e),o=(e[1]-i._movement[1]-this.state.initial[1])/360,a=n.timeStamp-this.state.timeStamp,{distance:s,velocity:A,...r}=BC(i.movement,i.delta,a);return{turns:o,...i,...r}}mapStateValues(e){return{da:e.values,vdva:e.velocities}}}var D2=Object.defineProperty,k2=(t,e,n)=>e in t?D2(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ft=(t,e,n)=>(k2(t,typeof e!="symbol"?e+"":e,n),n);const M2=7,N2=260;class kC extends v2{constructor(){super(...arguments),Ft(this,"ingKey","pinching"),Ft(this,"stateKey","pinch"),Ft(this,"onPinchStart",e=>{pC(this.controller,e);const n=this.controller.touchIds;if(!this.enabled||this.state._active&&this.state._pointerIds.every(s=>n.has(s))||n.size<2)return;const i=Array.from(n).slice(0,2),{values:o,origin:a}=nu(e,i,this.transform);this.updateSharedState(on(e)),this.updateGestureState({...po(this,o,e),...pt(this,e,!0),_pointerIds:i,cancel:this.onCancel,origin:a}),this.updateGestureState(this.getMovement(o)),this.fireGestureHandler()}),Ft(this,"onPinchChange",e=>{const{canceled:n,_active:i}=this.state;if(n||!i||e.timeStamp===this.state.timeStamp)return;const o=on(e);this.updateSharedState(o);try{const{values:a,origin:s}=nu(e,this.state._pointerIds,this.transform),A=this.getKinematics(a,e);this.updateGestureState({...pt(this,e),...A,origin:s}),this.fireGestureHandler()}catch{this.onPinchEnd(e)}}),Ft(this,"onPinchEnd",e=>{IC(this.controller,e);const n=bg(e);this.state._pointerIds.every(i=>!n.includes(i))||(this.clean(),this.state._active&&(this.updateGestureState({...pt(this,e),...this.getMovement(this.state.values),_active:!1}),this.fireGestureHandler()))}),Ft(this,"onCancel",()=>{this.state.canceled||(this.updateGestureState({_active:!1,canceled:!0}),this.fireGestureHandler())}),Ft(this,"onGestureStart",e=>{if(!this.enabled)return;e.preventDefault();const n=au(e,this.transform);this.updateSharedState(on(e)),this.updateGestureState({...po(this,n,e),...pt(this,e,!0),origin:[e.clientX,e.clientY],cancel:this.onCancel}),this.updateGestureState(this.getMovement(n)),this.fireGestureHandler()}),Ft(this,"onGestureChange",e=>{const{canceled:n,_active:i}=this.state;if(n||!i)return;e.preventDefault();const o=on(e);this.updateSharedState(o);const a=au(e,this.transform);a[0]=(a[0]-this.state.event.scale)*N2+this.state.values[0];const s=this.getKinematics(a,e);this.updateGestureState({...pt(this,e),...s,origin:[e.clientX,e.clientY]}),this.fireGestureHandler()}),Ft(this,"onGestureEnd",e=>{this.clean(),this.state._active&&(this.updateGestureState({...pt(this,e),...this.getMovement(this.state.values),_active:!1,origin:[e.clientX,e.clientY]}),this.fireGestureHandler())}),Ft(this,"wheelShouldRun",e=>this.enabled&&e.ctrlKey),Ft(this,"getWheelValuesFromEvent",e=>{const[,n]=dC(e,this.transform),{values:[i,o]}=this.state;return{values:[i-n*M2,o!==void 0?o:0],origin:[e.clientX,e.clientY],delta:[0,n]}}),Ft(this,"onWheel",e=>{this.wheelShouldRun(e)&&(this.setTimeout(this.onWheelEnd),this.state._active?this.onWheelChange(e):this.onWheelStart(e))}),Ft(this,"onWheelStart",e=>{const{values:n,delta:i,origin:o}=this.getWheelValuesFromEvent(e);e.cancelable&&e.preventDefault(),this.updateSharedState(on(e)),this.updateGestureState({...po(this,n,e),...pt(this,e,!0),initial:this.state.values,offset:n,delta:i,origin:o}),this.updateGestureState(this.getMovement(n)),this.fireGestureHandler()}),Ft(this,"onWheelChange",e=>{e.cancelable&&e.preventDefault(),this.updateSharedState(on(e));const{values:n,origin:i,delta:o}=this.getWheelValuesFromEvent(e);this.updateGestureState({...pt(this,e),...this.getKinematics(n,e),origin:i,delta:o}),this.fireGestureHandler()}),Ft(this,"onWheelEnd",()=>{this.clean(),this.state._active&&(this.state._active=!1,this.updateGestureState(this.getMovement(this.state.values)),this.fireGestureHandler())})}addBindings(e){this.controller.config.domTarget&&!this.controller.supportsTouchEvents&&this.controller.supportsGestureEvents?(ze(e,"onGestureStart",this.onGestureStart),ze(e,"onGestureChange",this.onGestureChange),ze(e,"onGestureEnd",this.onGestureEnd)):(ze(e,"onTouchStart",this.onPinchStart),ze(e,"onTouchMove",this.onPinchChange),ze(e,"onTouchEnd",this.onPinchEnd),ze(e,"onTouchCancel",this.onPinchEnd),ze(e,"onWheel",this.onWheel))}}var S2=Object.defineProperty,R2=(t,e,n)=>e in t?S2(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ha=(t,e,n)=>(R2(t,typeof e!="symbol"?e+"":e,n),n);class MC extends Ih{constructor(){super(...arguments),Ha(this,"ingKey","scrolling"),Ha(this,"stateKey","scroll"),Ha(this,"debounced",!0),Ha(this,"handleEvent",e=>{if(!this.enabled)return;this.clearTimeout(),this.setTimeout(this.onEnd);const n=jR(e,this.transform);if(this.updateSharedState(on(e)),this.state._active)this.updateGestureState({...pt(this,e),...this.getKinematics(n,e)});else{this.updateGestureState({...po(this,n,e),...pt(this,e,!0),initial:this.state.values});const i=this.getMovement(n),o=yC(i.delta);this.updateGestureState(i),this.updateGestureState(o)}this.fireGestureHandler()}),Ha(this,"onEnd",()=>{this.clean(),this.state._active&&(this.updateGestureState({...this.getMovement(this.state.values),_active:!1,velocities:[0,0],velocity:0}),this.fireGestureHandler())})}addBindings(e){ze(e,"onScroll",this.handleEvent)}}var T2=Object.defineProperty,F2=(t,e,n)=>e in t?T2(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Oa=(t,e,n)=>(F2(t,typeof e!="symbol"?e+"":e,n),n);class NC extends Ih{constructor(){super(...arguments),Oa(this,"ingKey","wheeling"),Oa(this,"stateKey","wheel"),Oa(this,"debounced",!0),Oa(this,"handleEvent",e=>{if(e.ctrlKey&&"pinch"in this.controller.handlers||!this.enabled)return;this.setTimeout(this.onEnd),this.updateSharedState(on(e));const n=ir(dC(e,this.transform),this.state.values);if(this.state._active)this.updateGestureState({...pt(this,e),...this.getKinematics(n,e)});else{this.updateGestureState({...po(this,n,e),...pt(this,e,!0),initial:this.state.values});const i=this.getMovement(n),o=yC(i.delta);this.updateGestureState(i),this.updateGestureState(o)}this.fireGestureHandler()}),Oa(this,"onEnd",()=>{if(this.clean(),!this.state._active)return;const e=this.getMovement(this.state.values);this.updateGestureState(e),this.updateGestureState({_active:!1,velocities:[0,0],velocity:0}),this.fireGestureHandler()})}addBindings(e){ze(e,"onWheel",this.handleEvent)}}const G2=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function x2(t){const e={},n={},i=new Set;for(let o in t)G2.test(o)?(i.add(RegExp.lastMatch),n[o]=t[o]):e[o]=t[o];return[n,e,i]}function U2(t,e){const[n,i,o]=x2(t);Qt.set("drag",QC),Qt.set("hover",ar),Qt.set("move",ar),Qt.set("pinch",kC),Qt.set("scroll",MC),Qt.set("wheel",NC);const a=E2(e,o),s={};return o.has("onDrag")&&(s.drag=Va(n,"onDrag")),o.has("onWheel")&&(s.wheel=Va(n,"onWheel")),o.has("onScroll")&&(s.scroll=Va(n,"onScroll")),o.has("onMove")&&(s.move=Va(n,"onMove")),o.has("onPinch")&&(s.pinch=Va(n,"onPinch")),o.has("onHover")&&(s.hover=n.onHover),Go(s,a,i)}function Va(t,e){const n=e+"Start",i=e+"End";return a=>{let s;return a.first&&n in t&&t[n](a),e in t&&(s=t[e](a)),a.last&&i in t&&t[i](a),s}}function _2(t,e={}){Qt.set("hover",ar);const n=ne();return n.value||(n.value=Ta(I2,Fa)),Go({hover:t},n.value(e))}function J2(t,e={}){Qt.set("move",ar);const n=ne();return n.value||(n.value=Ta(p2,Fa)),Go({move:t},n.value(e))}function Y2(t,e={}){Qt.set("pinch",kC);const n=ne();return n.value||(n.value=Ta(C2,Fa)),Go({pinch:t},n.value(e))}function L2(t,e={}){Qt.set("scroll",MC);const n=ne();return n.value||(n.value=Ta(y2,Fa)),Go({scroll:t},n.value(e))}function K2(t,e={}){Qt.set("wheel",NC);const n=ne();return n.value||(n.value=Ta(B2,Fa)),Go({wheel:t},n.value(e))}const Ga=(t,e)=>({created:t,unmounted:e,bind:t,unbind:e}),xa=t=>`Your v-${t} directive must have a handler specified as a value`,q2=()=>Ga((n,i,o)=>{if(!i.value)throw new Error(xa("drag"));n.gestures||(n.gestures={});const a=DC(i.value,{domTarget:n,manual:!0});a.bind(),n.gestures.drag=a},(n,i,o)=>{!n.gestures||!n.gestures.drag||n.gestures.drag.clean()}),j2=()=>Ga((n,i,o)=>{if(!i.value)throw new Error(xa("move"));n.gestures||(n.gestures={});const a=J2(i.value,{domTarget:n,manual:!0});a.bind(),n.gestures.move=a},(n,i,o)=>{!n.gestures||!n.gestures.move||n.gestures.move.clean()}),P2=()=>Ga((n,i,o)=>{if(!i.value)throw new Error(xa("hover"));n.gestures||(n.gestures={});const a=_2(i.value,{domTarget:n,manual:!0});a.bind(),n.gestures.hover=a},(n,i,o)=>{!n.gestures||!n.gestures.hover||n.gestures.hover.clean()}),H2=()=>Ga((n,i,o)=>{if(!i.value)throw new Error(xa("pinch"));n.gestures||(n.gestures={});const a=Y2(i.value,{domTarget:n,manual:!0});a.bind(),n.gestures.pinch=a},(n,i,o)=>{!n.gestures||!n.gestures.pinch||n.gestures.pinch.clean()}),O2=()=>Ga((n,i,o)=>{if(!i.value)throw new Error(xa("wheel"));n.gestures||(n.gestures={});const a=K2(i.value,{domTarget:n,manual:!0});a.bind(),n.gestures.wheel=a},(n,i,o)=>{!n.gestures||!n.gestures.wheel||n.gestures.wheel.clean()}),V2=()=>Ga((n,i,o)=>{if(!i.value)throw new Error(xa("scroll"));n.gestures||(n.gestures={});const a=L2(i.value,{domTarget:n,manual:!0});a.bind(),n.gestures.drag=a},(n,i,o)=>{!n.gestures||!n.gestures.drag||n.gestures.drag.clean()}),z2={install(t,e){Object.entries({drag:q2,hover:P2,move:j2,pinch:H2,scroll:V2,wheel:O2}).forEach(([i,o])=>t.directive(i,o()))}},W2={class:"py-2 px-1"},Z2={class:"text-md"},X2={class:"text-sm"},$2={__name:"ControlKnob",props:{max:{type:Number,default:100},min:{type:Number,default:0},modelValue:{type:Number,default:50},step:{type:Number,default:1},param:{type:String,default:"param"},unit:{type:String,default:""},fixed:{type:Number,default:1},cc:{type:Number,default:0},channel:{type:Number,default:0}},emits:["update:modelValue"],setup(t,{emit:e}){const n=t,i=e,o=ne();DC(g=>{A(g)},{domTarget:o,preventWindowScrollY:!0});const a=Te({active:!1,internal:0,initial:0,external:H(()=>l(a.internal))}),s=$I({number:n.cc,channel:n.channel});ye(s,g=>{a.internal=g*100,i("update:modelValue",a.external)});function A(g){const{delta:[d,u],dragging:m,shiftKey:I}=g;a.active=m;let f=I?12:4;a.internal-=u/f,a.internal+=d/f,a.internal>100&&(a.internal=100),a.internal<0&&(a.internal=0),i("update:modelValue",a.external)}Si(()=>{a.internal=h(n.modelValue)});function r(){a.internal=a.initial,i("update:modelValue",a.external)}function h(g){return c(g,n.min,n.max,0,100,n.step)}function l(g){return c(g,0,100,n.min,n.max,n.step)}function c(g,d=0,u=100,m=0,I=100,f=1){I=Number(I),m=Number(m),u=Number(u),d=Number(d);let Q=(g-d)*(I-m)/(u-d)+m;return Math.round(Q/f)*f}return(g,d)=>(E(),b("div",{class:"knob",ref_key:"knob",ref:o,onDblclick:d[0]||(d[0]=u=>r())},[C("div",{class:"level",style:he({height:a.internal+"%"})},null,4),C("div",W2,[C("div",Z2,z(t.modelValue.toFixed(t.fixed))+z(t.unit),1),C("div",X2,z(t.param.toUpperCase()),1)])],544))}},eT=it($2,[["__scopeId","data-v-891dc91f"]]),tT={class:"flex is-group p-2 items-center flex-wrap justify-between"},nT={class:"flex flex-col gap-1"},iT={class:"grid grid-cols-8"},oT=["onClick"],aT={__name:"MidiFilterChannels",setup(t){function e(){let n=te.filter[1];for(let i=1;i<=16;i++)te.filter[i]=!n;n&&tf()}return(n,i)=>(E(),b("div",tT,[C("div",nT,[i[1]||(i[1]=C("div",{class:"font-bold mr-2"},"Channel filter",-1)),C("div",{class:"channel filtered flex items-center justify-center",onClick:i[0]||(i[0]=o=>e())},"TOGGLE ALL")]),C("div",iT,[(E(),b(Me,null,Re(16,o=>C("div",{class:Ae(["channel",{filtered:!p(te).filter[o],active:p(te).note.channel==o}]),key:o,onClick:a=>p(te).filter[o]=!p(te).filter[o]},z(o),11,oT)),64))])]))}},sT=it(aT,[["__scopeId","data-v-01994688"]]),AT="/media/apps/pc-keyboard-3.svg",rT={class:"layer w-full z-40 flex flex-col"},hT={key:0,class:"flex flex-col gap-2"},lT={key:1,class:"flex flex-col gap-1 justify-center flex-wrap bg-light-400 dark-bg-dark-400"},cT={class:"flex is-group"},gT={class:"flex m-2"},dT={class:"font-normal p-2 border border-green-500 text-green-500 select-none rounded-lg",href:"/practice/midi/monitor/"},uT={key:0},mT={key:1},pT={class:"flex"},IT={class:"is-group flex"},fT={key:0,class:"i-la-play"},CT={key:1,class:"i-la-pause"},yT={class:"w-2em"},BT={class:"flex-1"},ET={class:"is-group flex flex-wrap"},QT={class:"text-button border"},wT={class:"flex flex-wrap is-group"},bT={key:0,class:"i-bi-volume-up"},vT={key:1,class:"i-bi-volume-off"},DT={class:"flex-button"},kT=["value"],MT={__name:"MidiPanel",setup(t){const e=If(),{midi:n,stopAll:i,midiAttack:o,midiRelease:a,outputs:s,available:A}=ih();return navigator.userAgent.toLowerCase().indexOf("firefox")>-1,(r,h)=>{var g;const l=sT,c=vn("tooltip");return E(),b("div",rT,[p(n).enabled?(E(),b("div",lT,[C("div",cT,[C("div",gT,[C("a",dT,[p(A)?(E(),b("span",uT,"MIDI ")):(E(),b("span",mT,"Plug in your MIDI device"))])]),C("div",pT,[C("div",IT,[C("button",{class:"play text-button",onClick:h[0]||(h[0]=d=>p(n).playing=!p(n).playing)},[p(n).playing?(E(),b("div",CT)):(E(),b("div",fT))]),C("button",{class:"text-button border",onClick:h[1]||(h[1]=d=>p(i)())},h[11]||(h[11]=[C("div",{class:"i-la-stop"},null,-1)]))]),(g=p(n).note)!=null&&g._name?(E(),b("div",{key:0,class:"text-button items-center flex w-4em transition-all duration-50 cursor-pointer flex",onMousedown:h[2]||(h[2]=d=>p(o)(p(n).note)),onMouseup:h[3]||(h[3]=d=>p(a)(p(n).note)),style:he({borderColor:p($e)(p(n).note.pitch,p(n).note.octA),color:p($e)(p(n).note.pitch,p(n).note.octA)})},[C("div",yT,z(p(n).note._name),1),C("div",BT,z(p(n).note._accidental),1)],36)):V("",!0)])]),C("div",ET,[(E(!0),b(Me,null,Re(p(s),d=>(E(),b("button",QT,[C("span",null,z(d.name),1)]))),256))]),C("div",wT,[O((E(),b("button",{class:Ae(["flex-button border opacity-30",{active:p(n).keyboard}]),onClick:h[4]||(h[4]=d=>p(n).keyboard=!p(n).keyboard),"aria-label":"Play MIDI with PC keyboard"},h[12]||(h[12]=[C("div",{class:"i-tabler-keyboard"},null,-1),C("div",{class:"m-0"},"PC keyboard",-1)]),2)),[[c,"Play MIDI with PC keyboard",void 0,{bottom:!0}]]),O((E(),b("button",{class:Ae(["flex-button opacity-30",{active:p(n).out}]),onClick:h[5]||(h[5]=d=>p(n).out=!p(n).out)},h[13]||(h[13]=[C("div",{class:"i-fad-midiplug"},null,-1),C("div",{class:"m-0"},"MIDI OUT",-1)]),2)),[[c,"Output MIDI to external devices",void 0,{bottom:!0}]]),O((E(),b("button",{class:Ae(["flex-button opacity-30",{active:p(e).midiClock}]),onClick:h[6]||(h[6]=d=>p(e).midiClock=!p(e).midiClock)},h[14]||(h[14]=[C("div",{class:"i-la-clock"},null,-1),C("div",{class:"m-0"},"CLOCK OUT",-1)]),2)),[[c,"Output MIDI CLOCK to external devices",void 0,{bottom:!0}]]),O((E(),b("button",{class:Ae(["flex-button opacity-30",{active:p(e).tabSync}]),onClick:h[7]||(h[7]=d=>p(e).tabSync=!p(e).tabSync)},h[15]||(h[15]=[C("div",{class:"i-la-sync"},null,-1),C("div",{class:"m-0"},"SYNC TABS",-1)]),2)),[[c,"Sync multiple tabs transpost",void 0,{bottom:!0}]]),O((E(),b("button",{class:Ae(["flex-button border opacity-30",{active:p(ea)}]),onClick:h[8]||(h[8]=d=>ea.value=!p(ea))},[p(ea)?(E(),b("div",bT)):(E(),b("div",vT)),h[16]||(h[16]=C("div",{class:"m-0"},"MIDI Synth",-1))],2)),[[c,"Play synth on MIDI input",void 0,{bottom:!0}]]),O((E(),b("button",DT,[h[17]||(h[17]=C("span",null,"OUT CH",-1)),O(C("select",{class:"bg-transparent text-xl font-bold","onUpdate:modelValue":h[9]||(h[9]=d=>p(n).channel=d)},[(E(),b(Me,null,Re(16,d=>C("option",{key:d,value:d},z(d),9,kT)),64))],512),[[na,p(n).channel]])])),[[c,"Output MIDI channel",void 0,{bottom:!0}]])]),re(l,{style:{flex:"1 1 100px"}}),Hn(r.$slots,"default",{class:"is-group mx-1 p-1"},void 0,!0)])):(E(),b("div",hT,h[10]||(h[10]=[Gy('',2)])))])}}},NT=it(MT,[["__scopeId","data-v-aa90ecdf"]]),ST={viewBox:"-2 -2 104 124"},RT={stroke:"currentColor"},TT=["stroke","stroke-dashoffset"],FT=["transform"],GT={transform:"translate(50,50)","text-anchor":"middle","dominant-baseline":"middle",fill:"currentColor"},xT=["transform"],UT={transform:"translate(0,20)"},_T={class:"font-bold",transform:"translate(0,58)"},JT=45,YT={__name:"ControlRotary",props:xy({max:{type:Number,default:100},min:{type:Number,default:0},step:{type:Number,default:1},param:{type:String,default:"param"},unit:{type:String,default:""},fixed:{type:Number,default:1},cc:{type:Number,default:0},channel:{type:Number,default:0}},{modelValue:{default:50},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const e=t,n=tm(t,"modelValue"),i=Te({internal:dt(0,0,100),initial:H(()=>(n.value-e.min)/(e.max-e.min)*100)}),o=H({get:()=>Math.round((i.internal/100*(e.max-e.min)+e.min)/e.step)*e.step,set:A=>{i.internal=(A-e.min)/(e.max-e.min)*100}});ye(n,A=>{o.value=A},{immediate:!0}),ye($I({param:e.param,number:e.cc,channel:e.channel}),A=>{i.internal=A*100,n.value=o.value});const a=ne();U2({onDrag:({delta:[A,r],dragging:h,shiftKey:l,event:c})=>{c&&c.preventDefault();const g=l?12:c.type==="wheel"?-8:2;i.internal=dt(0,i.internal-r/g+A/g,100),n.value=o.value},onWheel:({delta:[A,r],event:h})=>{h&&h.preventDefault(),i.internal=dt(0,i.internal+r/8-A/8,100),n.value=o.value}},{wheel:{preventWindowScrollY:!0},eventOptions:{capture:!1,passive:!1},domTarget:a});const s=Math.PI*2*JT-50;return(A,r)=>(E(),b("div",{class:"knob",ref_key:"knob",ref:a,onDblclick:r[0]||(r[0]=h=>{i.internal=i.initial,n.value=o.value})},[r[3]||(r[3]=C("div",{class:"i-ph-arrows-horizontal absolute text-10px top-14px opacity-70"},null,-1)),(E(),b("svg",ST,[C("g",RT,[r[2]||(r[2]=C("path",{d:"M25,90 a 45,45,1,1,1,50,0",fill:"none",stroke:"#9996","stroke-width":"8","stroke-linecap":"round"},null,-1)),C("path",{d:"M25,90 a 45,45,1,1,1,50,0",fill:"none",stroke:`hsla(${i.internal*3.6}deg,70%,50%,0.8)`,"stroke-width":"12","stroke-linecap":"round","stroke-dasharray":s,"stroke-dashoffset":s-s*(i.internal/100)},null,8,TT),C("g",{transform:`translate(50,52.5) rotate(${i.internal*2.9}) `},r[1]||(r[1]=[C("circle",{"stroke-width":"2",fill:"none",r:38,opacity:"0.6"},null,-1)]),8,FT)]),C("g",GT,[C("text",{class:"font-bold text-2xl",transform:`translate(0,${t.unit?-3:5})`},[Hn(A.$slots,"default",{},()=>[C("tspan",null,z(o.value.toFixed(t.fixed)),1)],!0)],8,xT),C("text",UT,[C("tspan",null,z(t.unit),1)]),C("text",_T,[C("tspan",null,z(t.param.toUpperCase()),1)])])]))],544))}},SC=it(YT,[["__scopeId","data-v-9003453f"]]),LT=["viewBox","stroke-width"],KT=["r","stroke"],qT={__name:"BeatMove",props:{color:String,progress:Number,size:{type:Number,default:10},stroke:{type:Number,default:2}},setup(t){const e=t,n=H(()=>e.size/2-1),i=H(()=>n.value*Math.PI*2);return(o,a)=>(E(),b("svg",{version:"1.1",baseProfile:"full",viewBox:`${-t.size/2} ${-t.size/2} ${t.size} ${t.size}`,xmlns:"http://www.w3.org/2000/svg","stroke-width":t.stroke},[C("circle",{r:n.value,fill:"none",stroke:t.color,transform:"rotate(-90)",style:he({strokeDasharray:`${i.value/2}, ${i.value/2}`,strokeDashoffset:1.5*i.value-t.progress*i.value})},null,12,KT)],8,LT))}},jT={class:"flex flex-col w-full mx-auto justify-center gap-2"},PT={class:"tempo-grid text-xl"},HT=["transform"],OT={key:0,class:"i-la-play"},VT={key:1,class:"i-la-pause"},zT={class:"font-bold font-mono flex-1 -mt-4 flex justify-center items-end",style:{"font-variant-numeric":"tabular-nums"}},WT={class:"text-4xl"},ZT={class:"m-0"},XT={class:"text-4xl font-bold"},$T={class:"flex-1 -mt-2 font-bold font-mono"},eF={key:0,class:"font-bold"},tF={key:1,class:"opacity-40"},nF={key:0,class:"i-tabler-ear"},iF={key:1,class:"i-tabler-ear-off"},oF={key:0,class:"font-bold"},aF={key:1,class:"opacity-40"},sF={class:"flex font-mono text-sm gap-4"},AF={class:"flex-1"},rF={class:"flex-1"},hF={__name:"StateTransport",props:{secondary:Boolean},setup(t){const e=If(),{init:n,tuner:i}=vf();function o(a){e.bpm+=(a.delta[0]-a.delta[1])/16}return(a,s)=>{const A=qT,r=eT,h=vn("tooltip"),l=vn("drag");return E(),b("div",jT,[C("div",PT,[O((E(),b("button",{class:"relative overflow-hidden",style:he([{"grid-area":"CLICK"},{color:p(e).blink?p(e).color:"currentColor"}]),onClick:s[0]||(s[0]=c=>p(e).mute=!p(e).mute),"aria-label":"Toggle metronome"},[C("div",{class:"i-mdi-metronome z-4",style:he([{transition:"all 300ms ease-out"},{opacity:p(e).mute?.3:1}]),transform:`scale(${!p(e).mute&&p(e).blink?1.1:1})`},null,12,HT),re(A,{class:"opacity-30 z-2 absolute top-0 bottom-0 w-full h-full",progress:p(e).progress,color:p(e).color,stroke:10},null,8,["progress","color"])],4)),[[h,"Toggle metronome",void 0,{top:!0}]]),O((E(),b("button",{style:{"grid-area":"PLAY"},onClick:s[1]||(s[1]=c=>p(e).playing=!p(e).playing)},[p(e).playing?(E(),b("div",VT)):(E(),b("div",OT))])),[[h,"Play",void 0,{top:!0}]]),O((E(),b("button",{style:{"grid-area":"STOP"},onClick:s[2]||(s[2]=c=>p(e).stopped=Date.now())},s[13]||(s[13]=[C("div",{class:"i-la-stop"},null,-1)]))),[[h,"Stop",void 0,{bottom:!0}]]),O((E(),b("button",{style:{"grid-area":"MINUS"},onClick:s[3]||(s[3]=c=>p(e).set(-1))},s[14]||(s[14]=[C("div",{class:"i-la-minus"},null,-1)]))),[[h,"Subtract 1 BPM",void 0,{bottom:!0}]]),O((E(),b("button",{style:{"grid-area":"PLUS"},onClick:s[4]||(s[4]=c=>p(e).set(1))},s[15]||(s[15]=[C("div",{class:"i-la-plus"},null,-1)]))),[[h,"Add 1 BPM",void 0,{bottom:!0}]]),O((E(),b("button",{style:{"grid-area":"DIVIDE"},onClick:s[5]||(s[5]=c=>p(e).set(-p(e).bpm/2))},s[16]||(s[16]=[C("div",{class:"i-la-slash"},null,-1)]))),[[h,"Half speed",void 0,{top:!0}]]),O((E(),b("button",{style:{"grid-area":"MULTIPLY"},onClick:s[6]||(s[6]=c=>p(e).set(p(e).bpm))},s[17]||(s[17]=[C("div",{class:"i-la-times"},null,-1)]))),[[h,"Double speed",void 0,{top:!0}]]),O((E(),b("button",{class:Ae(["relative touch-none text-center flex",{active:p(i).blink}]),style:he([{"grid-area":"BPM"},{borderColor:p(e).blink?p(e).color:"currentColor"}])},[C("div",zT,[C("div",WT,z(p(e).bpm.toFixed(0)),1),C("div",ZT,z((p(e).bpm-Math.floor(p(e).bpm)).toFixed(1).substring(1)),1)]),s[18]||(s[18]=C("div",{class:"text-sm mt-1px ml-1 absolute bottom-3"},"BPM",-1))],6)),[[l,o]]),O((E(),b("button",{class:"relative flex flex-col gap-2 touch-none",style:he([{"grid-area":"Hz"},{color:p(e).color,borderColor:p(e).color}])},[C("div",XT,z(p(e).note),1),C("div",$T,z(p(e).hz),1),s[19]||(s[19]=C("div",{class:"text-sm mt-1px absolute bottom-3"},"Hz",-1))],4)),[[l,o],[h,"Tempo frequency and pitch class",void 0,{top:!0}]]),O(re(r,{class:"font-bold w-full",style:{"grid-area":"NOTE"},modelValue:p(e).volume,"onUpdate:modelValue":s[7]||(s[7]=c=>p(e).volume=c),min:0,max:1,step:.01,param:"VOL",cc:16},null,8,["modelValue"]),[[h,"Metronome volume",void 0,{top:!0}]]),O((E(),b("button",{style:{"grid-area":"TAP"},onMousedown:s[8]||(s[8]=Is(c=>p(Le).tap(),["stop","prevent"])),onTouchstart:s[9]||(s[9]=Is(c=>p(Le).tap(),["stop","prevent"])),class:Ae({active:p(Le).last})},s[20]||(s[20]=[C("div",{class:"i-fluent-tap-double-20-regular mt-1"},null,-1)]),34)),[[h,"Tap tempo",void 0,{bottom:!0}]]),O((E(),b("button",{style:{"grid-area":"TAPPED"},onClick:s[10]||(s[10]=c=>p(Le).bpm&&p(Le).last?p(e).bpm=p(Le).bpm:p(Le).tap())},[p(Le).bpm&&p(Le).last?(E(),b("div",eF,z(p(Le).bpm.toFixed(1)),1)):(E(),b("div",tF,"TAP"))])),[[h,"Click to set tap tempo",void 0,{bottom:!0}]]),O((E(),b("button",{style:{"grid-area":"GUESS"},onClick:s[11]||(s[11]=c=>p(i).initiated?p(i).listen=!p(i).listen:p(n)())},[p(i).listen?(E(),b("div",iF)):(E(),b("div",nF))])),[[h,"Guess tempo from audio",void 0,{top:!0}]]),O((E(),b("button",{class:Ae(["duration-100",{active:p(i).blink}]),style:{"grid-area":"GUESSED"},onClick:s[12]||(s[12]=c=>p(i).initiated?p(i).listen&&p(i).bpm?p(e).bpm=p(i).bpm:p(i).listen=!0:p(n)())},[p(i).listen?(E(),b("div",oF,z(p(i).bpm.toFixed(0)),1)):(E(),b("div",aF,"GUESS"))],2)),[[h,"Click to set guessed tempo",void 0,{top:!0}]])]),C("div",sF,[C("div",AF,"POS "+z(p(e).position),1),C("div",rF,"TICK "+z(p(e).ticks),1)])])}}},lF=it(hF,[["__scopeId","data-v-eda57216"]]),cF=["label"],gF=["value"],dF={__name:"ControlScale",setup(t){H(()=>ga().sort((n,i)=>n.intervals.length>i.intervals.length?1:n.intervals.lengthi.name?1:-1));const e=H(()=>{let n={};ga().forEach(i=>{let o=i.intervals.length;n[o]=n[o]||[],n[o].push(i)});for(let i in n)n[i].sort((o,a)=>o.intervals.length>a.intervals.length?1:o.intervals.lengtha.name?1:-1);return n});return(n,i)=>{const o=KR;return E(),at(o,{class:"w-300px",pitch:p(Ue).tonic,"onUpdate:pitch":i[1]||(i[1]=a=>p(Ue).tonic=a),chroma:p(Ue).set.chroma,title:!1},{default:Ze(()=>[O(C("select",{class:"m-2 rounded-xl font-bold","onUpdate:modelValue":i[0]||(i[0]=a=>p(Ue).chroma=a)},[(E(!0),b(Me,null,Re(e.value,(a,s)=>(E(),b("optgroup",{label:s+" notes",key:a},[(E(!0),b(Me,null,Re(a,A=>(E(),b("option",{key:A.chroma,value:A.chroma},z(p(Jn)[p(Ue).tonic])+" "+z(A.name),9,gF))),128))],8,cF))),128))],512),[[na,p(Ue).chroma]]),Hn(n.$slots,"default",{},void 0,!0)]),_:3},8,["pitch","chroma"])}}},uF=it(dF,[["__scopeId","data-v-a420dd4c"]]),mF={class:"iframe-container shadow-lg rounded-lg bg-cover min-h-60"},pF=["src"],IF=["src"],fF={__name:"YoutubeEmbed",props:{video:{type:String}},setup(t){const e=ne(!1);return(n,i)=>(E(),b("div",mF,[e.value?(E(),b("iframe",{key:1,class:"overflow-hidden",loading:"lazy",src:`https://www.youtube-nocookie.com/embed/${t.video}`,title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""},null,8,IF)):(E(),b("div",{key:0,class:"flex items-center relative w-full bg-cover cursor-pointer op-80 hover-op-100 transition",onClick:i[0]||(i[0]=o=>e.value=!0)},[C("img",{class:"w-full",src:`https://img.youtube.com/vi/${t.video}/hqdefault.jpg`},null,8,pF),i[1]||(i[1]=C("div",{class:"i-la-play-circle text-xl"},null,-1))]))]))}},CF=it(fF,[["__scopeId","data-v-b6ef4150"]]),yF={class:"flex flex-col bg-light-900 dark-bg-dark-100 rounded-lg bg-opacity-60 backdrop-blur-md dark-bg-opacity-60"},BF={class:"flex flex gap-4 items-center justify-start p-2"},EF={key:0,class:"i-la-spinner animate-pulse"},QF={key:1,class:"i-la-power-off"},wF=["value"],bF={__name:"SynthFont",setup(t){const{getSoundfontNames:e,inst:n,cached:i,loaded:o,instrument:a,synthEnabled:s,active:A,volume:r}=bR(),h=l=>l&&l[0].toUpperCase()+l.slice(1);return(l,c)=>{const g=SC;return E(),b("div",yF,[C("div",BF,[C("button",{class:Ae(["flex text-lg transition text-button items-center justify-center",{active:p(s)}]),onClick:c[0]||(c[0]=d=>s.value=!p(s))},[p(o)?(E(),b("div",QF)):(E(),b("div",EF)),C("div",{class:"p-2px rounded-full bg-current absolute",style:he({opacity:p(A)?1:0})},null,4)],2),O(C("select",{class:"flex-1 min-w-8 p-1 bg-light-500 dark-bg-dark-500","onUpdate:modelValue":c[1]||(c[1]=d=>uo(a)?a.value=d:null)},[(E(!0),b(Me,null,Re(p(e)(),d=>(E(),b("option",{key:d,value:d},z(h(d.replaceAll("_"," ")))+" "+z(p(i)[d]?"✔":""),9,wF))),128))],512),[[na,p(a)]]),re(g,{class:"scale-80 -m-4 -ml-2",modelValue:p(r),"onUpdate:modelValue":c[2]||(c[2]=d=>uo(r)?r.value=d:null),max:1,step:.01,param:"VOL"},null,8,["modelValue"])])])}}},vF=["top","right","bottom","left"],gu=["start","end"],du=vF.reduce((t,e)=>t.concat(e,e+"-"+gu[0],e+"-"+gu[1]),[]),Ms=Math.min,io=Math.max,DF={left:"right",right:"left",bottom:"top",top:"bottom"},kF={start:"end",end:"start"};function kl(t,e,n){return io(t,Ms(e,n))}function xo(t,e){return typeof t=="function"?t(e):t}function Xn(t){return t.split("-")[0]}function wn(t){return t.split("-")[1]}function RC(t){return t==="x"?"y":"x"}function kg(t){return t==="y"?"height":"width"}function nA(t){return["top","bottom"].includes(Xn(t))?"y":"x"}function Mg(t){return RC(nA(t))}function TC(t,e,n){n===void 0&&(n=!1);const i=wn(t),o=Mg(t),a=kg(o);let s=o==="x"?i===(n?"end":"start")?"right":"left":i==="start"?"bottom":"top";return e.reference[a]>e.floating[a]&&(s=Ar(s)),[s,Ar(s)]}function MF(t){const e=Ar(t);return[sr(t),e,sr(e)]}function sr(t){return t.replace(/start|end/g,e=>kF[e])}function NF(t,e,n){const i=["left","right"],o=["right","left"],a=["top","bottom"],s=["bottom","top"];switch(t){case"top":case"bottom":return n?e?o:i:e?i:o;case"left":case"right":return e?a:s;default:return[]}}function SF(t,e,n,i){const o=wn(t);let a=NF(Xn(t),n==="start",i);return o&&(a=a.map(s=>s+"-"+o),e&&(a=a.concat(a.map(sr)))),a}function Ar(t){return t.replace(/left|right|bottom|top/g,e=>DF[e])}function RF(t){return{top:0,right:0,bottom:0,left:0,...t}}function FC(t){return typeof t!="number"?RF(t):{top:t,right:t,bottom:t,left:t}}function gs(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}function uu(t,e,n){let{reference:i,floating:o}=t;const a=nA(e),s=Mg(e),A=kg(s),r=Xn(e),h=a==="y",l=i.x+i.width/2-o.width/2,c=i.y+i.height/2-o.height/2,g=i[A]/2-o[A]/2;let d;switch(r){case"top":d={x:l,y:i.y-o.height};break;case"bottom":d={x:l,y:i.y+i.height};break;case"right":d={x:i.x+i.width,y:c};break;case"left":d={x:i.x-o.width,y:c};break;default:d={x:i.x,y:i.y}}switch(wn(e)){case"start":d[s]-=g*(n&&h?-1:1);break;case"end":d[s]+=g*(n&&h?-1:1);break}return d}const TF=async(t,e,n)=>{const{placement:i="bottom",strategy:o="absolute",middleware:a=[],platform:s}=n,A=a.filter(Boolean),r=await(s.isRTL==null?void 0:s.isRTL(e));let h=await s.getElementRects({reference:t,floating:e,strategy:o}),{x:l,y:c}=uu(h,i,r),g=i,d={},u=0;for(let m=0;m({name:"arrow",options:t,async fn(e){const{x:n,y:i,placement:o,rects:a,platform:s,elements:A,middlewareData:r}=e,{element:h,padding:l=0}=xo(t,e)||{};if(h==null)return{};const c=FC(l),g={x:n,y:i},d=Mg(o),u=kg(d),m=await s.getDimensions(h),I=d==="y",f=I?"top":"left",Q=I?"bottom":"right",y=I?"clientHeight":"clientWidth",w=a.reference[u]+a.reference[d]-g[d]-a.floating[u],B=g[d]-a.reference[d],k=await(s.getOffsetParent==null?void 0:s.getOffsetParent(h));let D=k?k[y]:0;(!D||!await(s.isElement==null?void 0:s.isElement(k)))&&(D=A.floating[y]||a.floating[u]);const v=w/2-B/2,S=D/2-m[u]/2-1,R=Ms(c[f],S),T=Ms(c[Q],S),M=R,U=D-m[u]-T,G=D/2-m[u]/2+v,q=kl(M,G,U),Y=!r.arrow&&wn(o)!=null&&G!=q&&a.reference[u]/2-(Gwn(o)===t),...n.filter(o=>wn(o)!==t)]:n.filter(o=>Xn(o)===o)).filter(o=>t?wn(o)===t||(e?sr(o)!==o:!1):!0)}const xF=function(t){return t===void 0&&(t={}),{name:"autoPlacement",options:t,async fn(e){var n,i,o;const{rects:a,middlewareData:s,placement:A,platform:r,elements:h}=e,{crossAxis:l=!1,alignment:c,allowedPlacements:g=du,autoAlignment:d=!0,...u}=xo(t,e),m=c!==void 0||g===du?GF(c||null,d,g):g,I=await fh(e,u),f=((n=s.autoPlacement)==null?void 0:n.index)||0,Q=m[f];if(Q==null)return{};const y=TC(Q,a,await(r.isRTL==null?void 0:r.isRTL(h.floating)));if(A!==Q)return{reset:{placement:m[0]}};const w=[I[Xn(Q)],I[y[0]],I[y[1]]],B=[...((i=s.autoPlacement)==null?void 0:i.overflows)||[],{placement:Q,overflows:w}],k=m[f+1];if(k)return{data:{index:f+1,overflows:B},reset:{placement:k}};const D=B.map(R=>{const T=wn(R.placement);return[R.placement,T&&l?R.overflows.slice(0,2).reduce((M,U)=>M+U,0):R.overflows[0],R.overflows]}).sort((R,T)=>R[1]-T[1]),S=((o=D.filter(R=>R[2].slice(0,wn(R[0])?2:3).every(T=>T<=0))[0])==null?void 0:o[0])||D[0][0];return S!==A?{data:{index:f+1,overflows:B},reset:{placement:S}}:{}}}},UF=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,i;const{placement:o,middlewareData:a,rects:s,initialPlacement:A,platform:r,elements:h}=e,{mainAxis:l=!0,crossAxis:c=!0,fallbackPlacements:g,fallbackStrategy:d="bestFit",fallbackAxisSideDirection:u="none",flipAlignment:m=!0,...I}=xo(t,e);if((n=a.arrow)!=null&&n.alignmentOffset)return{};const f=Xn(o),Q=Xn(A)===A,y=await(r.isRTL==null?void 0:r.isRTL(h.floating)),w=g||(Q||!m?[Ar(A)]:MF(A));!g&&u!=="none"&&w.push(...SF(A,m,u,y));const B=[A,...w],k=await fh(e,I),D=[];let v=((i=a.flip)==null?void 0:i.overflows)||[];if(l&&D.push(k[f]),c){const M=TC(o,s,y);D.push(k[M[0]],k[M[1]])}if(v=[...v,{placement:o,overflows:D}],!D.every(M=>M<=0)){var S,R;const M=(((S=a.flip)==null?void 0:S.index)||0)+1,U=B[M];if(U)return{data:{index:M,overflows:v},reset:{placement:U}};let G=(R=v.filter(q=>q.overflows[0]<=0).sort((q,Y)=>q.overflows[1]-Y.overflows[1])[0])==null?void 0:R.placement;if(!G)switch(d){case"bestFit":{var T;const q=(T=v.map(Y=>[Y.placement,Y.overflows.filter(x=>x>0).reduce((x,$)=>x+$,0)]).sort((Y,x)=>Y[1]-x[1])[0])==null?void 0:T[0];q&&(G=q);break}case"initialPlacement":G=A;break}if(o!==G)return{reset:{placement:G}}}return{}}}};async function _F(t,e){const{placement:n,platform:i,elements:o}=t,a=await(i.isRTL==null?void 0:i.isRTL(o.floating)),s=Xn(n),A=wn(n),r=nA(n)==="y",h=["left","top"].includes(s)?-1:1,l=a&&r?-1:1,c=xo(e,t);let{mainAxis:g,crossAxis:d,alignmentAxis:u}=typeof c=="number"?{mainAxis:c,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...c};return A&&typeof u=="number"&&(d=A==="end"?u*-1:u),r?{x:d*l,y:g*h}:{x:g*h,y:d*l}}const JF=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){const{x:n,y:i}=e,o=await _F(e,t);return{x:n+o.x,y:i+o.y,data:o}}}},YF=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:i,placement:o}=e,{mainAxis:a=!0,crossAxis:s=!1,limiter:A={fn:I=>{let{x:f,y:Q}=I;return{x:f,y:Q}}},...r}=xo(t,e),h={x:n,y:i},l=await fh(e,r),c=nA(Xn(o)),g=RC(c);let d=h[g],u=h[c];if(a){const I=g==="y"?"top":"left",f=g==="y"?"bottom":"right",Q=d+l[I],y=d-l[f];d=kl(Q,d,y)}if(s){const I=c==="y"?"top":"left",f=c==="y"?"bottom":"right",Q=u+l[I],y=u-l[f];u=kl(Q,u,y)}const m=A.fn({...e,[g]:d,[c]:u});return{...m,data:{x:m.x-n,y:m.y-i}}}}},LF=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){const{placement:n,rects:i,platform:o,elements:a}=e,{apply:s=()=>{},...A}=xo(t,e),r=await fh(e,A),h=Xn(n),l=wn(n),c=nA(n)==="y",{width:g,height:d}=i.floating;let u,m;h==="top"||h==="bottom"?(u=h,m=l===(await(o.isRTL==null?void 0:o.isRTL(a.floating))?"start":"end")?"left":"right"):(m=h,u=l==="end"?"top":"bottom");const I=d-r[u],f=g-r[m],Q=!e.middlewareData.shift;let y=I,w=f;if(c){const k=g-r.left-r.right;w=l||Q?Ms(f,k):k}else{const k=d-r.top-r.bottom;y=l||Q?Ms(I,k):k}if(Q&&!l){const k=io(r.left,0),D=io(r.right,0),v=io(r.top,0),S=io(r.bottom,0);c?w=g-2*(k!==0||D!==0?k+D:io(r.left,r.right)):y=d-2*(v!==0||S!==0?v+S:io(r.top,r.bottom))}await s({...e,availableWidth:w,availableHeight:y});const B=await o.getDimensions(a.floating);return g!==B.width||d!==B.height?{reset:{rects:!0}}:{}}}};function ln(t){var e;return((e=t.ownerDocument)==null?void 0:e.defaultView)||window}function jn(t){return ln(t).getComputedStyle(t)}const mu=Math.min,ds=Math.max,rr=Math.round;function GC(t){const e=jn(t);let n=parseFloat(e.width),i=parseFloat(e.height);const o=t.offsetWidth,a=t.offsetHeight,s=rr(n)!==o||rr(i)!==a;return s&&(n=o,i=a),{width:n,height:i,fallback:s}}function ji(t){return UC(t)?(t.nodeName||"").toLowerCase():""}let IA;function xC(){if(IA)return IA;const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?(IA=t.brands.map(e=>e.brand+"/"+e.version).join(" "),IA):navigator.userAgent}function Pn(t){return t instanceof ln(t).HTMLElement}function Ui(t){return t instanceof ln(t).Element}function UC(t){return t instanceof ln(t).Node}function pu(t){return typeof ShadowRoot>"u"?!1:t instanceof ln(t).ShadowRoot||t instanceof ShadowRoot}function Ch(t){const{overflow:e,overflowX:n,overflowY:i,display:o}=jn(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&!["inline","contents"].includes(o)}function KF(t){return["table","td","th"].includes(ji(t))}function Ml(t){const e=/firefox/i.test(xC()),n=jn(t),i=n.backdropFilter||n.WebkitBackdropFilter;return n.transform!=="none"||n.perspective!=="none"||!!i&&i!=="none"||e&&n.willChange==="filter"||e&&!!n.filter&&n.filter!=="none"||["transform","perspective"].some(o=>n.willChange.includes(o))||["paint","layout","strict","content"].some(o=>{const a=n.contain;return a!=null&&a.includes(o)})}function _C(){return!/^((?!chrome|android).)*safari/i.test(xC())}function Ng(t){return["html","body","#document"].includes(ji(t))}function JC(t){return Ui(t)?t:t.contextElement}const YC={x:1,y:1};function la(t){const e=JC(t);if(!Pn(e))return YC;const n=e.getBoundingClientRect(),{width:i,height:o,fallback:a}=GC(e);let s=(a?rr(n.width):n.width)/i,A=(a?rr(n.height):n.height)/o;return s&&Number.isFinite(s)||(s=1),A&&Number.isFinite(A)||(A=1),{x:s,y:A}}function Ns(t,e,n,i){var o,a;e===void 0&&(e=!1),n===void 0&&(n=!1);const s=t.getBoundingClientRect(),A=JC(t);let r=YC;e&&(i?Ui(i)&&(r=la(i)):r=la(t));const h=A?ln(A):window,l=!_C()&&n;let c=(s.left+(l&&((o=h.visualViewport)==null?void 0:o.offsetLeft)||0))/r.x,g=(s.top+(l&&((a=h.visualViewport)==null?void 0:a.offsetTop)||0))/r.y,d=s.width/r.x,u=s.height/r.y;if(A){const m=ln(A),I=i&&Ui(i)?ln(i):i;let f=m.frameElement;for(;f&&i&&I!==m;){const Q=la(f),y=f.getBoundingClientRect(),w=getComputedStyle(f);y.x+=(f.clientLeft+parseFloat(w.paddingLeft))*Q.x,y.y+=(f.clientTop+parseFloat(w.paddingTop))*Q.y,c*=Q.x,g*=Q.y,d*=Q.x,u*=Q.y,c+=y.x,g+=y.y,f=ln(f).frameElement}}return{width:d,height:u,top:g,right:c+d,bottom:g+u,left:c,x:c,y:g}}function _i(t){return((UC(t)?t.ownerDocument:t.document)||window.document).documentElement}function yh(t){return Ui(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function LC(t){return Ns(_i(t)).left+yh(t).scrollLeft}function Ss(t){if(ji(t)==="html")return t;const e=t.assignedSlot||t.parentNode||pu(t)&&t.host||_i(t);return pu(e)?e.host:e}function KC(t){const e=Ss(t);return Ng(e)?e.ownerDocument.body:Pn(e)&&Ch(e)?e:KC(e)}function hr(t,e){var n;e===void 0&&(e=[]);const i=KC(t),o=i===((n=t.ownerDocument)==null?void 0:n.body),a=ln(i);return o?e.concat(a,a.visualViewport||[],Ch(i)?i:[]):e.concat(i,hr(i))}function Iu(t,e,n){return e==="viewport"?gs(function(i,o){const a=ln(i),s=_i(i),A=a.visualViewport;let r=s.clientWidth,h=s.clientHeight,l=0,c=0;if(A){r=A.width,h=A.height;const g=_C();(g||!g&&o==="fixed")&&(l=A.offsetLeft,c=A.offsetTop)}return{width:r,height:h,x:l,y:c}}(t,n)):Ui(e)?gs(function(i,o){const a=Ns(i,!0,o==="fixed"),s=a.top+i.clientTop,A=a.left+i.clientLeft,r=Pn(i)?la(i):{x:1,y:1};return{width:i.clientWidth*r.x,height:i.clientHeight*r.y,x:A*r.x,y:s*r.y}}(e,n)):gs(function(i){const o=_i(i),a=yh(i),s=i.ownerDocument.body,A=ds(o.scrollWidth,o.clientWidth,s.scrollWidth,s.clientWidth),r=ds(o.scrollHeight,o.clientHeight,s.scrollHeight,s.clientHeight);let h=-a.scrollLeft+LC(i);const l=-a.scrollTop;return jn(s).direction==="rtl"&&(h+=ds(o.clientWidth,s.clientWidth)-A),{width:A,height:r,x:h,y:l}}(_i(t)))}function fu(t){return Pn(t)&&jn(t).position!=="fixed"?t.offsetParent:null}function Cu(t){const e=ln(t);let n=fu(t);for(;n&&KF(n)&&jn(n).position==="static";)n=fu(n);return n&&(ji(n)==="html"||ji(n)==="body"&&jn(n).position==="static"&&!Ml(n))?e:n||function(i){let o=Ss(i);for(;Pn(o)&&!Ng(o);){if(Ml(o))return o;o=Ss(o)}return null}(t)||e}function qF(t,e,n){const i=Pn(e),o=_i(e),a=Ns(t,!0,n==="fixed",e);let s={scrollLeft:0,scrollTop:0};const A={x:0,y:0};if(i||!i&&n!=="fixed")if((ji(e)!=="body"||Ch(o))&&(s=yh(e)),Pn(e)){const r=Ns(e,!0);A.x=r.x+e.clientLeft,A.y=r.y+e.clientTop}else o&&(A.x=LC(o));return{x:a.left+s.scrollLeft-A.x,y:a.top+s.scrollTop-A.y,width:a.width,height:a.height}}const jF={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:i,strategy:o}=t;const a=n==="clippingAncestors"?function(h,l){const c=l.get(h);if(c)return c;let g=hr(h).filter(I=>Ui(I)&&ji(I)!=="body"),d=null;const u=jn(h).position==="fixed";let m=u?Ss(h):h;for(;Ui(m)&&!Ng(m);){const I=jn(m),f=Ml(m);(u?f||d:f||I.position!=="static"||!d||!["absolute","fixed"].includes(d.position))?d=I:g=g.filter(Q=>Q!==m),m=Ss(m)}return l.set(h,g),g}(e,this._c):[].concat(n),s=[...a,i],A=s[0],r=s.reduce((h,l)=>{const c=Iu(e,l,o);return h.top=ds(c.top,h.top),h.right=mu(c.right,h.right),h.bottom=mu(c.bottom,h.bottom),h.left=ds(c.left,h.left),h},Iu(e,A,o));return{width:r.right-r.left,height:r.bottom-r.top,x:r.left,y:r.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:i}=t;const o=Pn(n),a=_i(n);if(n===a)return e;let s={scrollLeft:0,scrollTop:0},A={x:1,y:1};const r={x:0,y:0};if((o||!o&&i!=="fixed")&&((ji(n)!=="body"||Ch(a))&&(s=yh(n)),Pn(n))){const h=Ns(n);A=la(n),r.x=h.x+n.clientLeft,r.y=h.y+n.clientTop}return{width:e.width*A.x,height:e.height*A.y,x:e.x*A.x-s.scrollLeft*A.x+r.x,y:e.y*A.y-s.scrollTop*A.y+r.y}},isElement:Ui,getDimensions:function(t){return Pn(t)?GC(t):t.getBoundingClientRect()},getOffsetParent:Cu,getDocumentElement:_i,getScale:la,async getElementRects(t){let{reference:e,floating:n,strategy:i}=t;const o=this.getOffsetParent||Cu,a=this.getDimensions;return{reference:qF(e,await o(n),i),floating:{x:0,y:0,...await a(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>jn(t).direction==="rtl"},PF=(t,e,n)=>{const i=new Map,o={platform:jF,...n},a={...o.platform,_c:i};return TF(t,e,{...o,platform:a})};function qC(t,e){for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(typeof e[n]=="object"&&t[n]?qC(t[n],e[n]):t[n]=e[n])}const bn={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:150,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,autoHideOnMousedown:!1,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:t=>[...t,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover"],delay:{show:0,hide:400}}}};function Rs(t,e){let n=bn.themes[t]||{},i;do i=n[e],typeof i>"u"?n.$extend?n=bn.themes[n.$extend]||{}:(n=null,i=bn[e]):n=null;while(n);return i}function HF(t){const e=[t];let n=bn.themes[t]||{};do n.$extend&&!n.$resetCss?(e.push(n.$extend),n=bn.themes[n.$extend]||{}):n=null;while(n);return e.map(i=>`v-popper--theme-${i}`)}function yu(t){const e=[t];let n=bn.themes[t]||{};do n.$extend?(e.push(n.$extend),n=bn.themes[n.$extend]||{}):n=null;while(n);return e}let Ba=!1;if(typeof window<"u"){Ba=!1;try{const t=Object.defineProperty({},"passive",{get(){Ba=!0}});window.addEventListener("test",null,t)}catch{}}let jC=!1;typeof window<"u"&&typeof navigator<"u"&&(jC=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const PC=["auto","top","bottom","left","right"].reduce((t,e)=>t.concat([e,`${e}-start`,`${e}-end`]),[]),Bu={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart",pointer:"pointerdown"},Eu={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend",pointer:"pointerup"};function Qu(t,e){const n=t.indexOf(e);n!==-1&&t.splice(n,1)}function zh(){return new Promise(t=>requestAnimationFrame(()=>{requestAnimationFrame(t)}))}const En=[];let Zi=null;const wu={};function bu(t){let e=wu[t];return e||(e=wu[t]=[]),e}let Nl=function(){};typeof window<"u"&&(Nl=window.Element);function ve(t){return function(e){return Rs(e.theme,t)}}const Wh="__floating-vue__popper",HC=()=>mr({name:"VPopper",provide(){return{[Wh]:{parentPopper:this}}},inject:{[Wh]:{default:null}},props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,default:null},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:ve("disabled")},positioningDisabled:{type:Boolean,default:ve("positioningDisabled")},placement:{type:String,default:ve("placement"),validator:t=>PC.includes(t)},delay:{type:[String,Number,Object],default:ve("delay")},distance:{type:[Number,String],default:ve("distance")},skidding:{type:[Number,String],default:ve("skidding")},triggers:{type:Array,default:ve("triggers")},showTriggers:{type:[Array,Function],default:ve("showTriggers")},hideTriggers:{type:[Array,Function],default:ve("hideTriggers")},popperTriggers:{type:Array,default:ve("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:ve("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:ve("popperHideTriggers")},container:{type:[String,Object,Nl,Boolean],default:ve("container")},boundary:{type:[String,Nl],default:ve("boundary")},strategy:{type:String,validator:t=>["absolute","fixed"].includes(t),default:ve("strategy")},autoHide:{type:[Boolean,Function],default:ve("autoHide")},handleResize:{type:Boolean,default:ve("handleResize")},instantMove:{type:Boolean,default:ve("instantMove")},eagerMount:{type:Boolean,default:ve("eagerMount")},popperClass:{type:[String,Array,Object],default:ve("popperClass")},computeTransformOrigin:{type:Boolean,default:ve("computeTransformOrigin")},autoMinSize:{type:Boolean,default:ve("autoMinSize")},autoSize:{type:[Boolean,String],default:ve("autoSize")},autoMaxSize:{type:Boolean,default:ve("autoMaxSize")},autoBoundaryMaxSize:{type:Boolean,default:ve("autoBoundaryMaxSize")},preventOverflow:{type:Boolean,default:ve("preventOverflow")},overflowPadding:{type:[Number,String],default:ve("overflowPadding")},arrowPadding:{type:[Number,String],default:ve("arrowPadding")},arrowOverflow:{type:Boolean,default:ve("arrowOverflow")},flip:{type:Boolean,default:ve("flip")},shift:{type:Boolean,default:ve("shift")},shiftCrossAxis:{type:Boolean,default:ve("shiftCrossAxis")},noAutoFocus:{type:Boolean,default:ve("noAutoFocus")},disposeTimeout:{type:Number,default:ve("disposeTimeout")}},emits:{show:()=>!0,hide:()=>!0,"update:shown":t=>!0,"apply-show":()=>!0,"apply-hide":()=>!0,"close-group":()=>!0,"close-directive":()=>!0,"auto-hide":()=>!0,resize:()=>!0},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},randomId:`popper_${[Math.random(),Date.now()].map(t=>t.toString(36).substring(2,10)).join("_")}`,shownChildren:new Set,lastAutoHide:!0,pendingHide:!1,containsGlobalTarget:!1,isDisposed:!0,mouseDownContains:!1}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:typeof this.autoHide=="function"?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:{...this.classes,popperClass:this.popperClass},result:this.positioningDisabled?null:this.result,attrs:this.$attrs}},parentPopper(){var t;return(t=this[Wh])==null?void 0:t.parentPopper},hasPopperShowTriggerHover(){var t,e;return((t=this.popperTriggers)==null?void 0:t.includes("hover"))||((e=this.popperShowTriggers)==null?void 0:e.includes("hover"))}},watch:{shown:"$_autoShowHide",disabled(t){t?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())},triggers:{handler:"$_refreshListeners",deep:!0},positioningDisabled:"$_refreshListeners",...["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((t,e)=>(t[e]="$_computePosition",t),{})},created(){this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeUnmount(){this.dispose()},methods:{show({event:t=null,skipDelay:e=!1,force:n=!1}={}){var i,o;(i=this.parentPopper)!=null&&i.lockedChild&&this.parentPopper.lockedChild!==this||(this.pendingHide=!1,(n||!this.disabled)&&(((o=this.parentPopper)==null?void 0:o.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(t,e),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit("update:shown",!0))},hide({event:t=null,skipDelay:e=!1}={}){var n;if(!this.$_hideInProgress){if(this.shownChildren.size>0){this.pendingHide=!0;return}if(this.hasPopperShowTriggerHover&&this.$_isAimingPopper()){this.parentPopper&&(this.parentPopper.lockedChild=this,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout(()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:e}),this.parentPopper.lockedChild=null)},1e3));return}((n=this.parentPopper)==null?void 0:n.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.pendingHide=!1,this.$_scheduleHide(t,e),this.$emit("hide"),this.$emit("update:shown",!1)}},init(){var t;this.isDisposed&&(this.isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=((t=this.referenceNode)==null?void 0:t.call(this))??this.$el,this.$_targetNodes=this.targetNodes().filter(e=>e.nodeType===e.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.isDisposed||(this.isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs("data-original-title","title"))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"))},async $_computePosition(){if(this.isDisposed||this.positioningDisabled)return;const t={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&t.middleware.push(JF({mainAxis:this.distance,crossAxis:this.skidding}));const e=this.placement.startsWith("auto");if(e?t.middleware.push(xF({alignment:this.placement.split("-")[1]??""})):t.placement=this.placement,this.preventOverflow&&(this.shift&&t.middleware.push(YF({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!e&&this.flip&&t.middleware.push(UF({padding:this.overflowPadding,boundary:this.boundary}))),t.middleware.push(FF({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&t.middleware.push({name:"arrowOverflow",fn:({placement:i,rects:o,middlewareData:a})=>{let s;const{centerOffset:A}=a.arrow;return i.startsWith("top")||i.startsWith("bottom")?s=Math.abs(A)>o.reference.width/2:s=Math.abs(A)>o.reference.height/2,{data:{overflow:s}}}}),this.autoMinSize||this.autoSize){const i=this.autoSize?this.autoSize:this.autoMinSize?"min":null;t.middleware.push({name:"autoSize",fn:({rects:o,placement:a,middlewareData:s})=>{var A;if((A=s.autoSize)!=null&&A.skip)return{};let r,h;return a.startsWith("top")||a.startsWith("bottom")?r=o.reference.width:h=o.reference.height,this.$_innerNode.style[i==="min"?"minWidth":i==="max"?"maxWidth":"width"]=r!=null?`${r}px`:null,this.$_innerNode.style[i==="min"?"minHeight":i==="max"?"maxHeight":"height"]=h!=null?`${h}px`:null,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,t.middleware.push(LF({boundary:this.boundary,padding:this.overflowPadding,apply:({availableWidth:i,availableHeight:o})=>{this.$_innerNode.style.maxWidth=i!=null?`${i}px`:null,this.$_innerNode.style.maxHeight=o!=null?`${o}px`:null}})));const n=await PF(this.$_referenceNode,this.$_popperNode,t);Object.assign(this.result,{x:n.x,y:n.y,placement:n.placement,strategy:n.strategy,arrow:{...n.middlewareData.arrow,...n.middlewareData.arrowOverflow}})},$_scheduleShow(t,e=!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),Zi&&this.instantMove&&Zi.instantMove&&Zi!==this.parentPopper){Zi.$_applyHide(!0),this.$_applyShow(!0);return}e?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"))},$_scheduleHide(t,e=!1){if(this.shownChildren.size>0){this.pendingHide=!0;return}this.$_updateParentShownChildren(!1),this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(Zi=this),e?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"))},$_computeDelay(t){const e=this.delay;return parseInt(e&&e[t]||e||0)},async $_applyShow(t=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=t,!this.isShown&&(this.$_ensureTeleport(),await zh(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...hr(this.$_referenceNode),...hr(this.$_popperNode)],"scroll",()=>{this.$_computePosition()}))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const e=this.$_referenceNode.getBoundingClientRect(),n=this.$_popperNode.querySelector(".v-popper__wrapper"),i=n.parentNode.getBoundingClientRect(),o=e.x+e.width/2-(i.left+n.offsetLeft),a=e.y+e.height/2-(i.top+n.offsetTop);this.result.transformOrigin=`${o}px ${a}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const t=this.showGroup;if(t){let e;for(let n=0;n0){this.pendingHide=!0,this.$_hideInProgress=!1;return}if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=t,Qu(En,this),En.length===0&&document.body.classList.remove("v-popper--some-open");for(const n of yu(this.theme)){const i=bu(n);Qu(i,this),i.length===0&&document.body.classList.remove(`v-popper--some-open--${n}`)}Zi===this&&(Zi=null),this.isShown=!1,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),clearTimeout(this.$_disposeTimer);const e=this.disposeTimeout;e!==null&&(this.$_disposeTimer=setTimeout(()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},e)),this.$_removeEventListeners("scroll"),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await zh(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.isDisposed)return;let t=this.container;if(typeof t=="string"?t=window.document.querySelector(t):t===!1&&(t=this.$_targetNodes[0].parentNode),!t)throw new Error("No container for popover: "+this.container);t.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){const t=n=>{this.isShown&&!this.$_hideInProgress||(n.usedByTooltip=!0,!this.$_preventShow&&this.show({event:n}))};this.$_registerTriggerListeners(this.$_targetNodes,Bu,this.triggers,this.showTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],Bu,this.popperTriggers,this.popperShowTriggers,t);const e=n=>{n.usedByTooltip||this.hide({event:n})};this.$_registerTriggerListeners(this.$_targetNodes,Eu,this.triggers,this.hideTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],Eu,this.popperTriggers,this.popperHideTriggers,e)},$_registerEventListeners(t,e,n){this.$_events.push({targetNodes:t,eventType:e,handler:n}),t.forEach(i=>i.addEventListener(e,n,Ba?{passive:!0}:void 0))},$_registerTriggerListeners(t,e,n,i,o){let a=n;i!=null&&(a=typeof i=="function"?i(a):i),a.forEach(s=>{const A=e[s];A&&this.$_registerEventListeners(t,A,o)})},$_removeEventListeners(t){const e=[];this.$_events.forEach(n=>{const{targetNodes:i,eventType:o,handler:a}=n;!t||t===o?i.forEach(s=>s.removeEventListener(o,a)):e.push(n)}),this.$_events=e},$_refreshListeners(){this.isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(t,e=!1){this.$_showFrameLocked||(this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),e&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(t,e){for(const n of this.$_targetNodes){const i=n.getAttribute(t);i&&(n.removeAttribute(t),n.setAttribute(e,i))}},$_applyAttrsToTarget(t){for(const e of this.$_targetNodes)for(const n in t){const i=t[n];i==null?e.removeAttribute(n):e.setAttribute(n,i)}},$_updateParentShownChildren(t){let e=this.parentPopper;for(;e;)t?e.shownChildren.add(this.randomId):(e.shownChildren.delete(this.randomId),e.pendingHide&&e.hide()),e=e.parentPopper},$_isAimingPopper(){const t=this.$_referenceNode.getBoundingClientRect();if(us>=t.left&&us<=t.right&&ms>=t.top&&ms<=t.bottom){const e=this.$_popperNode.getBoundingClientRect(),n=us-vi,i=ms-Di,o=e.left+e.width/2-vi+(e.top+e.height/2)-Di+e.width+e.height,a=vi+n*o,s=Di+i*o;return fA(vi,Di,a,s,e.left,e.top,e.left,e.bottom)||fA(vi,Di,a,s,e.left,e.top,e.right,e.top)||fA(vi,Di,a,s,e.right,e.top,e.right,e.bottom)||fA(vi,Di,a,s,e.left,e.bottom,e.right,e.bottom)}return!1}},render(){return this.$slots.default(this.slotData)}});if(typeof document<"u"&&typeof window<"u"){if(jC){const t=Ba?{passive:!0,capture:!0}:!0;document.addEventListener("touchstart",e=>vu(e,!0),t),document.addEventListener("touchend",e=>Du(e,!0),t)}else window.addEventListener("mousedown",t=>vu(t,!1),!0),window.addEventListener("click",t=>Du(t,!1),!0);window.addEventListener("resize",VF)}function vu(t,e){if(bn.autoHideOnMousedown)OC(t,e);else for(let n=0;n=0;i--){const o=En[i];try{const a=o.containsGlobalTarget=o.mouseDownContains||o.popperNode().contains(t.target);o.pendingHide=!1,requestAnimationFrame(()=>{if(o.pendingHide=!1,!n[o.randomId]&&ku(o,a,t)){if(o.$_handleGlobalClose(t,e),!t.closeAllPopover&&t.closePopover&&a){let A=o.parentPopper;for(;A;)n[A.randomId]=!0,A=A.parentPopper;return}let s=o.parentPopper;for(;s&&ku(s,s.containsGlobalTarget,t);)s.$_handleGlobalClose(t,e),s=s.parentPopper}})}catch{}}}function ku(t,e,n){return n.closeAllPopover||n.closePopover&&e||OF(t,n)&&!e}function OF(t,e){if(typeof t.autoHide=="function"){const n=t.autoHide(e);return t.lastAutoHide=n,n}return t.autoHide}function VF(){for(let t=0;t{vi=us,Di=ms,us=t.clientX,ms=t.clientY},Ba?{passive:!0}:void 0);function fA(t,e,n,i,o,a,s,A){const r=((s-o)*(e-a)-(A-a)*(t-o))/((A-a)*(n-t)-(s-o)*(i-e)),h=((n-t)*(e-a)-(i-e)*(t-o))/((A-a)*(n-t)-(s-o)*(i-e));return r>=0&&r<=1&&h>=0&&h<=1}const zF={extends:HC()},Bh=(t,e)=>{const n=t.__vccOpts||t;for(const[i,o]of e)n[i]=o;return n};function WF(t,e,n,i,o,a){return E(),b("div",{ref:"reference",class:Ae(["v-popper",{"v-popper--shown":t.slotData.isShown}])},[Hn(t.$slots,"default",Yy(Ly(t.slotData)))],2)}const ZF=Bh(zF,[["render",WF]]);function XF(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);var n=t.indexOf("Trident/");if(n>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var o=t.indexOf("Edge/");return o>0?parseInt(t.substring(o+5,t.indexOf(".",o)),10):-1}let NA;function Sl(){Sl.init||(Sl.init=!0,NA=XF()!==-1)}var Eh={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){Sl(),_n(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",NA&&this.$el.appendChild(t),t.data="about:blank",NA||this.$el.appendChild(t)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!NA&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const $F=Jy();Uy("data-v-b329ee4c");const eG={class:"resize-observer",tabindex:"-1"};_y();const tG=$F((t,e,n,i,o,a)=>(E(),at("div",eG)));Eh.render=tG;Eh.__scopeId="data-v-b329ee4c";Eh.__file="src/components/ResizeObserver.vue";const VC=(t="theme")=>({computed:{themeClass(){return HF(this[t])}}}),nG=mr({name:"VPopperContent",components:{ResizeObserver:Eh},mixins:[VC()],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:["hide","resize"],methods:{toPx(t){return t!=null&&!isNaN(t)?`${t}px`:null}}}),iG=["id","aria-hidden","tabindex","data-popper-placement"],oG={ref:"inner",class:"v-popper__inner"},aG=C("div",{class:"v-popper__arrow-outer"},null,-1),sG=C("div",{class:"v-popper__arrow-inner"},null,-1),AG=[aG,sG];function rG(t,e,n,i,o,a){const s=di("ResizeObserver");return E(),b("div",{id:t.popperId,ref:"popover",class:Ae(["v-popper__popper",[t.themeClass,t.classes.popperClass,{"v-popper__popper--shown":t.shown,"v-popper__popper--hidden":!t.shown,"v-popper__popper--show-from":t.classes.showFrom,"v-popper__popper--show-to":t.classes.showTo,"v-popper__popper--hide-from":t.classes.hideFrom,"v-popper__popper--hide-to":t.classes.hideTo,"v-popper__popper--skip-transition":t.skipTransition,"v-popper__popper--arrow-overflow":t.result&&t.result.arrow.overflow,"v-popper__popper--no-positioning":!t.result}]]),style:he(t.result?{position:t.result.strategy,transform:`translate3d(${Math.round(t.result.x)}px,${Math.round(t.result.y)}px,0)`}:void 0),"aria-hidden":t.shown?"false":"true",tabindex:t.autoHide?0:void 0,"data-popper-placement":t.result?t.result.placement:void 0,onKeyup:e[2]||(e[2]=nm(A=>t.autoHide&&t.$emit("hide"),["esc"]))},[C("div",{class:"v-popper__backdrop",onClick:e[0]||(e[0]=A=>t.autoHide&&t.$emit("hide"))}),C("div",{class:"v-popper__wrapper",style:he(t.result?{transformOrigin:t.result.transformOrigin}:void 0)},[C("div",oG,[t.mounted?(E(),b(Me,{key:0},[C("div",null,[Hn(t.$slots,"default")]),t.handleResize?(E(),at(s,{key:0,onNotify:e[1]||(e[1]=A=>t.$emit("resize",A))})):V("",!0)],64)):V("",!0)],512),C("div",{ref:"arrow",class:"v-popper__arrow-container",style:he(t.result?{left:t.toPx(t.result.arrow.x),top:t.toPx(t.result.arrow.y)}:void 0)},AG,4)],4)],46,iG)}const zC=Bh(nG,[["render",rG]]),WC={methods:{show(...t){return this.$refs.popper.show(...t)},hide(...t){return this.$refs.popper.hide(...t)},dispose(...t){return this.$refs.popper.dispose(...t)},onResize(...t){return this.$refs.popper.onResize(...t)}}};let Rl=function(){};typeof window<"u"&&(Rl=window.Element);const hG=mr({name:"VPopperWrapper",components:{Popper:ZF,PopperContent:zC},mixins:[WC,VC("finalTheme")],props:{theme:{type:String,default:null},referenceNode:{type:Function,default:null},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:void 0},positioningDisabled:{type:Boolean,default:void 0},placement:{type:String,default:void 0},delay:{type:[String,Number,Object],default:void 0},distance:{type:[Number,String],default:void 0},skidding:{type:[Number,String],default:void 0},triggers:{type:Array,default:void 0},showTriggers:{type:[Array,Function],default:void 0},hideTriggers:{type:[Array,Function],default:void 0},popperTriggers:{type:Array,default:void 0},popperShowTriggers:{type:[Array,Function],default:void 0},popperHideTriggers:{type:[Array,Function],default:void 0},container:{type:[String,Object,Rl,Boolean],default:void 0},boundary:{type:[String,Rl],default:void 0},strategy:{type:String,default:void 0},autoHide:{type:[Boolean,Function],default:void 0},handleResize:{type:Boolean,default:void 0},instantMove:{type:Boolean,default:void 0},eagerMount:{type:Boolean,default:void 0},popperClass:{type:[String,Array,Object],default:void 0},computeTransformOrigin:{type:Boolean,default:void 0},autoMinSize:{type:Boolean,default:void 0},autoSize:{type:[Boolean,String],default:void 0},autoMaxSize:{type:Boolean,default:void 0},autoBoundaryMaxSize:{type:Boolean,default:void 0},preventOverflow:{type:Boolean,default:void 0},overflowPadding:{type:[Number,String],default:void 0},arrowPadding:{type:[Number,String],default:void 0},arrowOverflow:{type:Boolean,default:void 0},flip:{type:Boolean,default:void 0},shift:{type:Boolean,default:void 0},shiftCrossAxis:{type:Boolean,default:void 0},noAutoFocus:{type:Boolean,default:void 0},disposeTimeout:{type:Number,default:void 0}},emits:{show:()=>!0,hide:()=>!0,"update:shown":t=>!0,"apply-show":()=>!0,"apply-hide":()=>!0,"close-group":()=>!0,"close-directive":()=>!0,"auto-hide":()=>!0,resize:()=>!0},computed:{finalTheme(){return this.theme??this.$options.vPopperTheme}},methods:{getTargetNodes(){return Array.from(this.$el.children).filter(t=>t!==this.$refs.popperContent.$el)}}});function lG(t,e,n,i,o,a){const s=di("PopperContent"),A=di("Popper");return E(),at(A,im({ref:"popper"},t.$props,{theme:t.finalTheme,"target-nodes":t.getTargetNodes,"popper-node":()=>t.$refs.popperContent.$el,class:[t.themeClass],onShow:e[0]||(e[0]=()=>t.$emit("show")),onHide:e[1]||(e[1]=()=>t.$emit("hide")),"onUpdate:shown":e[2]||(e[2]=r=>t.$emit("update:shown",r)),onApplyShow:e[3]||(e[3]=()=>t.$emit("apply-show")),onApplyHide:e[4]||(e[4]=()=>t.$emit("apply-hide")),onCloseGroup:e[5]||(e[5]=()=>t.$emit("close-group")),onCloseDirective:e[6]||(e[6]=()=>t.$emit("close-directive")),onAutoHide:e[7]||(e[7]=()=>t.$emit("auto-hide")),onResize:e[8]||(e[8]=()=>t.$emit("resize"))}),{default:Ze(({popperId:r,isShown:h,shouldMountContent:l,skipTransition:c,autoHide:g,show:d,hide:u,handleResize:m,onResize:I,classes:f,result:Q})=>[Hn(t.$slots,"default",{shown:h,show:d,hide:u}),re(s,{ref:"popperContent","popper-id":r,theme:t.finalTheme,shown:h,mounted:l,"skip-transition":c,"auto-hide":g,"handle-resize":m,classes:f,result:Q,onHide:u,onResize:I},{default:Ze(()=>[Hn(t.$slots,"popper",{shown:h,hide:u})]),_:2},1032,["popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:3},16,["theme","target-nodes","popper-node","class"])}const Sg=Bh(hG,[["render",lG]]),cG={...Sg,name:"VDropdown",vPopperTheme:"dropdown"},gG={...Sg,name:"VMenu",vPopperTheme:"menu"},dG={...Sg,name:"VTooltip",vPopperTheme:"tooltip"},uG=mr({name:"VTooltipDirective",components:{Popper:HC(),PopperContent:zC},mixins:[WC],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default:t=>Rs(t.theme,"html")},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:t=>Rs(t.theme,"loadingContent")},targetNodes:{type:Function,required:!0}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(t){if(typeof this.content=="function"&&this.$_isShown&&(t||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;const e=++this.$_fetchId,n=this.content(this);n.then?n.then(i=>this.onResult(e,i)):this.onResult(e,n)}},onResult(t,e){t===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=e)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}}),mG=["innerHTML"],pG=["textContent"];function IG(t,e,n,i,o,a){const s=di("PopperContent"),A=di("Popper");return E(),at(A,im({ref:"popper"},t.$attrs,{theme:t.theme,"target-nodes":t.targetNodes,"popper-node":()=>t.$refs.popperContent.$el,onApplyShow:t.onShow,onApplyHide:t.onHide}),{default:Ze(({popperId:r,isShown:h,shouldMountContent:l,skipTransition:c,autoHide:g,hide:d,handleResize:u,onResize:m,classes:I,result:f})=>[re(s,{ref:"popperContent",class:Ae({"v-popper--tooltip-loading":t.loading}),"popper-id":r,theme:t.theme,shown:h,mounted:l,"skip-transition":c,"auto-hide":g,"handle-resize":u,classes:I,result:f,onHide:d,onResize:m},{default:Ze(()=>[t.html?(E(),b("div",{key:0,innerHTML:t.finalContent},null,8,mG)):(E(),b("div",{key:1,textContent:z(t.finalContent)},null,8,pG))]),_:2},1032,["class","popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:1},16,["theme","target-nodes","popper-node","onApplyShow","onApplyHide"])}const fG=Bh(uG,[["render",IG]]),ZC="v-popper--has-tooltip";function CG(t,e){let n=t.placement;if(!n&&e)for(const i of PC)e[i]&&(n=i);return n||(n=Rs(t.theme||"tooltip","placement")),n}function XC(t,e,n){let i;const o=typeof e;return o==="string"?i={content:e}:e&&o==="object"?i=e:i={content:!1},i.placement=CG(i,n),i.targetNodes=()=>[t],i.referenceNode=()=>t,i}let Zh,Ts,yG=0;function BG(){if(Zh)return;Ts=ne([]),Zh=Ky({name:"VTooltipDirectiveApp",setup(){return{directives:Ts}},render(){return this.directives.map(e=>qy(fG,{...e.options,shown:e.shown||e.options.shown,key:e.id}))},devtools:{hide:!0}});const t=document.createElement("div");document.body.appendChild(t),Zh.mount(t)}function EG(t,e,n){BG();const i=ne(XC(t,e,n)),o=ne(!1),a={id:yG++,options:i,shown:o};return Ts.value.push(a),t.classList&&t.classList.add(ZC),t.$_popper={options:i,item:a,show(){o.value=!0},hide(){o.value=!1}}}function $C(t){if(t.$_popper){const e=Ts.value.indexOf(t.$_popper.item);e!==-1&&Ts.value.splice(e,1),delete t.$_popper,delete t.$_popperOldShown,delete t.$_popperMountTarget}t.classList&&t.classList.remove(ZC)}function Mu(t,{value:e,modifiers:n}){const i=XC(t,e,n);if(!i.content||Rs(i.theme||"tooltip","disabled"))$C(t);else{let o;t.$_popper?(o=t.$_popper,o.options.value=i):o=EG(t,e,n),typeof e.shown<"u"&&e.shown!==t.$_popperOldShown&&(t.$_popperOldShown=e.shown,e.shown?o.show():o.hide())}}const QG={beforeMount:Mu,updated:Mu,beforeUnmount(t){$C(t)}};function Nu(t){t.addEventListener("mousedown",lr),t.addEventListener("click",lr),t.addEventListener("touchstart",ey,Ba?{passive:!0}:!1)}function Su(t){t.removeEventListener("mousedown",lr),t.removeEventListener("click",lr),t.removeEventListener("touchstart",ey),t.removeEventListener("touchend",ty),t.removeEventListener("touchcancel",ny)}function lr(t){const e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function ey(t){if(t.changedTouches.length===1){const e=t.currentTarget;e.$_vclosepopover_touch=!0;const n=t.changedTouches[0];e.$_vclosepopover_touchPoint=n,e.addEventListener("touchend",ty),e.addEventListener("touchcancel",ny)}}function ty(t){const e=t.currentTarget;if(e.$_vclosepopover_touch=!1,t.changedTouches.length===1){const n=t.changedTouches[0],i=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(n.screenY-i.screenY)<20&&Math.abs(n.screenX-i.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function ny(t){const e=t.currentTarget;e.$_vclosepopover_touch=!1}const wG={beforeMount(t,{value:e,modifiers:n}){t.$_closePopoverModifiers=n,(typeof e>"u"||e)&&Nu(t)},updated(t,{value:e,oldValue:n,modifiers:i}){t.$_closePopoverModifiers=i,e!==n&&(typeof e>"u"||e?Nu(t):Su(t))},beforeUnmount(t){Su(t)}};function bG(t,e={}){t.$_vTooltipInstalled||(t.$_vTooltipInstalled=!0,qC(bn,e),t.directive("tooltip",QG),t.directive("close-popper",wG),t.component("VTooltip",dG),t.component("VDropdown",cG),t.component("VMenu",gG))}const vG={version:"5.2.2",install:bG,options:bn};var DG=Object.defineProperty,Ru=Object.getOwnPropertySymbols,kG=Object.prototype.hasOwnProperty,MG=Object.prototype.propertyIsEnumerable,Tu=(t,e,n)=>e in t?DG(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Tl=(t,e)=>{for(var n in e||(e={}))kG.call(e,n)&&Tu(t,n,e[n]);if(Ru)for(var n of Ru(e))MG.call(e,n)&&Tu(t,n,e[n]);return t},NG=()=>({emit(t,...e){for(let n=0,i=this.events[t]||[],o=i.length;n{var i;this.events[t]=(i=this.events[t])==null?void 0:i.filter(o=>e!==o)}}});function Fu(t,e,n,i=o=>o){return t*i(.5-e*(.5-n))}function SG(t){return[-t[0],-t[1]]}function yn(t,e){return[t[0]+e[0],t[1]+e[1]]}function nn(t,e){return[t[0]-e[0],t[1]-e[1]]}function Cn(t,e){return[t[0]*e,t[1]*e]}function RG(t,e){return[t[0]/e,t[1]/e]}function za(t){return[t[1],-t[0]]}function Gu(t,e){return t[0]*e[0]+t[1]*e[1]}function TG(t,e){return t[0]===e[0]&&t[1]===e[1]}function FG(t){return Math.hypot(t[0],t[1])}function GG(t){return t[0]*t[0]+t[1]*t[1]}function xu(t,e){return GG(nn(t,e))}function iy(t){return RG(t,FG(t))}function xG(t,e){return Math.hypot(t[1]-e[1],t[0]-e[0])}function Wa(t,e,n){let i=Math.sin(n),o=Math.cos(n),a=t[0]-e[0],s=t[1]-e[1],A=a*o-s*i,r=a*i+s*o;return[A+e[0],r+e[1]]}function Fl(t,e,n){return yn(t,Cn(nn(e,t),n))}function Uu(t,e,n){return yn(t,Cn(e,n))}var{min:jo,PI:UG}=Math,_u=.275,Za=UG+1e-4;function _G(t,e={}){let{size:n=16,smoothing:i=.5,thinning:o=.5,simulatePressure:a=!0,easing:s=x=>x,start:A={},end:r={},last:h=!1}=e,{cap:l=!0,easing:c=x=>x*(2-x)}=A,{cap:g=!0,easing:d=x=>--x*x*x+1}=r;if(t.length===0||n<=0)return[];let u=t[t.length-1].runningLength,m=A.taper===!1?0:A.taper===!0?Math.max(n,u):A.taper,I=r.taper===!1?0:r.taper===!0?Math.max(n,u):r.taper,f=Math.pow(n*i,2),Q=[],y=[],w=t.slice(0,10).reduce((x,$)=>{let P=$.pressure;if(a){let Z=jo(1,$.distance/n),ae=jo(1,1-Z);P=jo(1,x+(ae-x)*(Z*_u))}return(x+P)/2},t[0].pressure),B=Fu(n,o,t[t.length-1].pressure,s),k,D=t[0].vector,v=t[0].point,S=v,R=v,T=S,M=!1;for(let x=0;xf)&&(Q.push(R),v=R),T=yn(P,Tn),(x<=1||xu(S,T)>f)&&(y.push(T),S=T),w=$,D=Z}let U=t[0].point.slice(0,2),G=t.length>1?t[t.length-1].point.slice(0,2):yn(t[0].point,[1,1]),q=[],Y=[];if(t.length===1){if(!(m||I)||h){let x=Uu(U,iy(za(nn(U,G))),-(k||B)),$=[];for(let P=1/13,Z=P;Z<=1;Z+=P)$.push(Wa(x,U,Za*2*Z));return $}}else{if(!(m||I&&t.length===1))if(l)for(let $=1/13,P=$;P<=1;P+=$){let Z=Wa(y[0],U,Za*P);q.push(Z)}else{let $=nn(Q[0],y[0]),P=Cn($,.5),Z=Cn($,.51);q.push(nn(U,P),nn(U,Z),yn(U,Z),yn(U,P))}let x=za(SG(t[t.length-1].vector));if(I||m&&t.length===1)Y.push(G);else if(g){let $=Uu(G,x,B);for(let P=1/29,Z=P;Z<1;Z+=P)Y.push(Wa($,G,Za*3*Z))}else Y.push(yn(G,Cn(x,B)),yn(G,Cn(x,B*.99)),nn(G,Cn(x,B*.99)),nn(G,Cn(x,B)))}return Q.concat(Y,y.reverse(),q)}function JG(t,e={}){var n;let{streamline:i=.5,size:o=16,last:a=!1}=e;if(t.length===0)return[];let s=.15+(1-i)*.85,A=Array.isArray(t[0])?t:t.map(({x:d,y:u,pressure:m=.5})=>[d,u,m]);if(A.length===2){let d=A[1];A=A.slice(0,-1);for(let u=1;u<5;u++)A.push(Fl(A[0],d,u/4))}A.length===1&&(A=[...A,[...yn(A[0],[1,1]),...A[0].slice(2)]]);let r=[{point:[A[0][0],A[0][1]],pressure:A[0][2]>=0?A[0][2]:.25,vector:[1,1],distance:0,runningLength:0}],h=!1,l=0,c=r[0],g=A.length-1;for(let d=1;d=0?A[d][2]:.5,vector:iy(nn(c.point,u)),distance:m,runningLength:l},r.push(c)}return r[0].vector=((n=r[1])==null?void 0:n.vector)||[0,0],r}function YG(t,e={}){return _G(JG(t,e),e)}function cr(t,e){return t-e}function LG(t){return t<0?-1:1}function gr(t){return[Math.abs(t),LG(t)]}function oy(){const t=()=>((1+Math.random())*65536|0).toString(16).substring(1);return`${t()+t()}-${t()}-${t()}-${t()}-${t()}${t()}${t()}`}var KG=2,Ai=KG,Ua=class{constructor(t){this.drauu=t,this.event=void 0,this.point=void 0,this.start=void 0,this.el=null}onSelected(t){}onUnselected(){}onStart(t){}onMove(t){return!1}onEnd(t){}get brush(){return this.drauu.brush}get shiftPressed(){return this.drauu.shiftPressed}get altPressed(){return this.drauu.altPressed}get svgElement(){return this.drauu.el}getMousePosition(t){var e,n,i;const o=this.drauu.el,a=(e=this.drauu.options.coordinateScale)!=null?e:1,s=(n=this.drauu.options.offset)!=null?n:{x:0,y:0};if(this.drauu.options.coordinateTransform===!1){const A=this.drauu.el.getBoundingClientRect();return{x:(t.pageX-A.left+s.x)*a,y:(t.pageY-A.top+s.y)*a,pressure:t.pressure}}else{const A=this.drauu.svgPoint;A.x=t.clientX+s.x,A.y=t.clientY+s.y;const r=A.matrixTransform((i=o.getScreenCTM())==null?void 0:i.inverse());return{x:r.x*a,y:r.y*a,pressure:t.pressure}}}createElement(t,e){var n;const i=document.createElementNS("http://www.w3.org/2000/svg",t),o=e?Tl(Tl({},this.brush),e):this.brush;return i.setAttribute("fill",(n=o.fill)!=null?n:"transparent"),i.setAttribute("stroke",o.color),i.setAttribute("stroke-width",o.size.toString()),i.setAttribute("stroke-linecap","round"),o.dasharray&&i.setAttribute("stroke-dasharray",o.dasharray),i}attr(t,e){this.el.setAttribute(t,typeof e=="string"?e:e.toFixed(Ai))}_setEvent(t){this.event=t,this.point=this.getMousePosition(t)}_eventDown(t){return this._setEvent(t),this.start=this.point,this.onStart(this.point)}_eventMove(t){return this._setEvent(t),this.onMove(this.point)}_eventUp(t){return this._setEvent(t),this.onEnd(this.point)}},qG=class ay extends Ua{constructor(){super(...arguments),this.points=[]}onStart(e){return this.el=document.createElementNS("http://www.w3.org/2000/svg","path"),this.points=[e],this.attr("fill",this.brush.color),this.attr("d",this.getSvgData(this.points)),this.el}onMove(e){return this.el||this.onStart(e),this.points[this.points.length-1]!==e&&this.points.push(e),this.attr("d",this.getSvgData(this.points)),!0}onEnd(){const e=this.el;return this.el=null,!!e}getSvgData(e){return ay.getSvgData(e,this.brush)}static getSvgData(e,n){const i=YG(e,Tl({size:n.size,thinning:.9,simulatePressure:!1,start:{taper:5},end:{taper:5}},n.stylusOptions));if(!i.length)return"";const o=i.reduce((a,[s,A],r,h)=>{const[l,c]=h[(r+1)%h.length];return a.push(s,A,(s+l)/2,(A+c)/2),a},["M",...i[0],"Q"]);return o.push("Z"),o.map(a=>typeof a=="number"?a.toFixed(2):a).join(" ")}},jG=class extends Ua{onStart(t){return this.el=this.createElement("ellipse"),this.attr("cx",t.x),this.attr("cy",t.y),this.el}onMove(t){if(!this.el||!this.start)return!1;let[e,n]=gr(t.x-this.start.x),[i,o]=gr(t.y-this.start.y);if(this.shiftPressed){const a=Math.min(e,i);e=a,i=a}if(this.altPressed)this.attr("cx",this.start.x),this.attr("cy",this.start.y),this.attr("rx",e),this.attr("ry",i);else{const[a,s]=[this.start.x,this.start.x+e*n].sort(cr),[A,r]=[this.start.y,this.start.y+i*o].sort(cr);this.attr("cx",(a+s)/2),this.attr("cy",(A+r)/2),this.attr("rx",(s-a)/2),this.attr("ry",(r-A)/2)}return!0}onEnd(){const t=this.el;return this.el=null,!(!t||!t.getTotalLength())}};function sy(t,e){const n=document.createElementNS("http://www.w3.org/2000/svg","defs"),i=document.createElementNS("http://www.w3.org/2000/svg","marker"),o=document.createElementNS("http://www.w3.org/2000/svg","path");return o.setAttribute("fill",e),i.setAttribute("id",t),i.setAttribute("viewBox","0 -5 10 10"),i.setAttribute("refX","5"),i.setAttribute("refY","0"),i.setAttribute("markerWidth","4"),i.setAttribute("markerHeight","4"),i.setAttribute("orient","auto"),o.setAttribute("d","M0,-5L10,0L0,5"),i.appendChild(o),n.appendChild(i),n}var PG=class extends Ua{onStart(t){if(this.el=this.createElement("line",{fill:"transparent"}),this.attr("x1",t.x),this.attr("y1",t.y),this.attr("x2",t.x),this.attr("y2",t.y),this.brush.arrowEnd){const e=oy(),n=document.createElementNS("http://www.w3.org/2000/svg","g");return n.append(sy(e,this.brush.color)),n.append(this.el),this.attr("marker-end",`url(#${e})`),n}return this.el}onMove(t){if(!this.el)return!1;let{x:e,y:n}=t;if(this.shiftPressed){const i=t.x-this.start.x,o=t.y-this.start.y;if(o!==0){let a=i/o;a=Math.round(a),Math.abs(a)<=1?(e=this.start.x+o*a,n=this.start.y+o):(e=this.start.x+i,n=this.start.y)}}return this.altPressed?(this.attr("x1",this.start.x*2-e),this.attr("y1",this.start.y*2-n),this.attr("x2",e),this.attr("y2",n)):(this.attr("x1",this.start.x),this.attr("y1",this.start.y),this.attr("x2",e),this.attr("y2",n)),!0}onEnd(){const t=this.el;return this.el=null,!(!t||t.getTotalLength()<5)}},HG=class extends Ua{onStart(t){return this.el=this.createElement("rect"),this.brush.cornerRadius&&(this.attr("rx",this.brush.cornerRadius),this.attr("ry",this.brush.cornerRadius)),this.attr("x",t.x),this.attr("y",t.y),this.el}onMove(t){if(!this.el||!this.start)return!1;let[e,n]=gr(t.x-this.start.x),[i,o]=gr(t.y-this.start.y);if(this.shiftPressed){const a=Math.min(e,i);e=a,i=a}if(this.altPressed)this.attr("x",this.start.x-e),this.attr("y",this.start.y-i),this.attr("width",e*2),this.attr("height",i*2);else{const[a,s]=[this.start.x,this.start.x+e*n].sort(cr),[A,r]=[this.start.y,this.start.y+i*o].sort(cr);this.attr("x",a),this.attr("y",A),this.attr("width",s-a),this.attr("height",r-A)}return!0}onEnd(){const t=this.el;return this.el=null,!(!t||!t.getTotalLength())}};function OG(t,e){const n=t.x-e.x,i=t.y-e.y;return n*n+i*i}function VG(t,e,n){let i=e.x,o=e.y,a=n.x-i,s=n.y-o;if(a!==0||s!==0){const A=((t.x-i)*a+(t.y-o)*s)/(a*a+s*s);A>1?(i=n.x,o=n.y):A>0&&(i+=a*A,o+=s*A)}return a=t.x-i,s=t.y-o,a*a+s*s}function zG(t,e){let n=t[0];const i=[n];let o;for(let a=1,s=t.length;ae&&(i.push(o),n=o);return n!==o&&o&&i.push(o),i}function Gl(t,e,n,i,o){let a=i,s=0;for(let A=e+1;Aa&&(s=A,a=r)}a>i&&(s-e>1&&Gl(t,e,s,i,o),o.push(t[s]),n-s>1&&Gl(t,s,n,i,o))}function WG(t,e){const n=t.length-1,i=[t[0]];return Gl(t,0,n,e,i),i.push(t[n]),i}function Ju(t,e,n=!1){if(t.length<=2)return t;const i=e*e;return t=n?t:zG(t,i),t=WG(t,i),t}var ZG=class oo extends Ua{constructor(){super(...arguments),this.points=[],this.count=0}onStart(e){if(this.el=this.createElement("path",{fill:"transparent"}),this.points=[e],this.brush.arrowEnd){this.arrowId=oy();const n=sy(this.arrowId,this.brush.color);this.el.appendChild(n)}return this.el}onMove(e){return this.el||this.onStart(e),this.points[this.points.length-1]!==e&&(this.points.push(e),this.count+=1),this.count>5&&(this.points=Ju(this.points,1,!0),this.count=0),this.attr("d",oo.toSvgData(this.points)),!0}onEnd(){const e=this.el;if(this.el=null,!e)return!1;if(e.setAttribute("d",oo.toSvgData(Ju(this.points,1,!0))),!e.getTotalLength()){const{x:n,y:i}=this.points[0],o=this.brush.size/2;e.setAttribute("d",`M ${n-o} ${i} a ${o},${o} 0 1,0 ${o*2},0 a ${o},${o} 0 1,0 ${-o*2},0`),e.setAttribute("fill",this.brush.color),e.setAttribute("stroke-width","0")}return!0}static line(e,n){const i=n.x-e.x,o=n.y-e.y;return{length:Math.sqrt(i**2+o**2),angle:Math.atan2(o,i)}}static controlPoint(e,n,i,o){const a=n||e,s=i||e,A=.2,r=oo.line(a,s),h=r.angle+(o?Math.PI:0),l=r.length*A,c=e.x+Math.cos(h)*l,g=e.y+Math.sin(h)*l;return{x:c,y:g}}static bezierCommand(e,n,i){const o=oo.controlPoint(i[n-1],i[n-2],e),a=oo.controlPoint(e,i[n-1],i[n+1],!0);return`C ${o.x.toFixed(Ai)},${o.y.toFixed(Ai)} ${a.x.toFixed(Ai)},${a.y.toFixed(Ai)} ${e.x.toFixed(Ai)},${e.y.toFixed(Ai)}`}static toSvgData(e){return e.reduce((n,i,o,a)=>o===0?`M ${i.x.toFixed(Ai)},${i.y.toFixed(Ai)}`:`${n} ${oo.bezierCommand(i,o,a)}`,"")}},XG=class extends Ua{constructor(){super(...arguments),this.pathSubFactor=20,this.pathFragments=[],this._erased=[]}onSelected(t){const e=(n,i)=>{if(n&&n.length)for(let o=0;ot.forEach(e=>this.drauu._restoreNode(e)),redo:()=>t.forEach(e=>this.drauu._removeNode(e))}}checkAndEraseElement(){if(this.pathFragments.length)for(let t=0;t!this._erased.includes(t.element))),this._erased.length>0}lineLineIntersect(t,e){const n=t.x1,i=t.x2,o=e.x1,a=e.x2,s=t.y1,A=t.y2,r=e.y1,h=e.y2,l=(n-i)*(r-h)-(s-A)*(o-a),c=(n*A-s*i)*(o-a)-(n-i)*(o*h-r*a),g=(n*A-s*i)*(r-h)-(s-A)*(o*h-r*a),d=(u,m,I)=>u>=m&&u<=I?!0:u>=I&&u<=m;if(l===0)return!1;{const u={x:c/l,y:g/l};return d(u.x,n,i)&&d(u.y,s,A)&&d(u.x,o,a)&&d(u.y,r,h)}}};function $G(t){return{draw:new ZG(t),stylus:new qG(t),line:new PG(t),rectangle:new HG(t),ellipse:new jG(t),eraseLine:new XG(t)}}var ex=class{constructor(t={}){this.options=t,this.el=null,this.svgPoint=null,this.eventEl=null,this.shiftPressed=!1,this.altPressed=!1,this.drawing=!1,this._emitter=NG(),this._originalPointerId=null,this._models=$G(this),this._opStack=[],this._opIndex=0,this._disposables=[],this._elements=[],this.options.brush||(this.options.brush={color:"black",size:3,mode:"stylus"}),t.el&&this.mount(t.el,t.eventTarget,t.window)}get model(){return this._models[this.mode]}get mounted(){return!!this.el}get mode(){return this.options.brush.mode||"stylus"}set mode(t){this._models[this.mode].onUnselected(),this.options.brush.mode=t,this.model.onSelected(this.el)}get brush(){return this.options.brush}set brush(t){this.options.brush=t}resolveSelector(t){return typeof t=="string"?document.querySelector(t):t||null}mount(t,e,n=window){if(this.el)throw new Error("[drauu] already mounted, unmount previous target first");if(this.el=this.resolveSelector(t),!this.el)throw new Error("[drauu] target element not found");if(this.el.tagName.toLocaleLowerCase()!=="svg")throw new Error("[drauu] can only mount to a SVG element");if(!this.el.createSVGPoint)throw new Error("[drauu] SVG element must be create by document.createElementNS('http://www.w3.org/2000/svg', 'svg')");this.svgPoint=this.el.createSVGPoint();const i=this.resolveSelector(e)||this.el,o=this.eventStart.bind(this),a=this.eventMove.bind(this),s=this.eventEnd.bind(this),A=this.eventKeyboard.bind(this);i.addEventListener("pointerdown",o,{passive:!1}),n.addEventListener("pointermove",a,{passive:!1}),n.addEventListener("pointerup",s,{passive:!1}),n.addEventListener("pointercancel",s,{passive:!1}),n.addEventListener("keydown",A,!1),n.addEventListener("keyup",A,!1),this._disposables.push(()=>{i.removeEventListener("pointerdown",o),n.removeEventListener("pointermove",a),n.removeEventListener("pointerup",s),n.removeEventListener("pointercancel",s),n.removeEventListener("keydown",A,!1),n.removeEventListener("keyup",A,!1)}),this._emitter.emit("mounted")}unmount(){this._disposables.forEach(t=>t()),this._disposables.length=0,this._elements.length=0,this.el=null,this._emitter.emit("unmounted")}on(t,e){return this._emitter.on(t,e)}undo(){return!this.canUndo()||this.drawing?!1:(this._opStack[--this._opIndex].undo(),this._emitter.emit("changed"),!0)}redo(){return!this.canRedo()||this.drawing?!1:(this._opStack[this._opIndex++].redo(),this._emitter.emit("changed"),!0)}canRedo(){return this._opIndex0}eventMove(t){!this.acceptsInput(t)||!this.drawing||this.model._eventMove(t)&&(t.stopPropagation(),t.preventDefault(),this._emitter.emit("changed"))}eventStart(t){this.acceptsInput(t)&&(t.stopPropagation(),t.preventDefault(),this._currentNode&&this.cancel(),this.drawing=!0,this._originalPointerId=t.pointerId,this._emitter.emit("start"),this._currentNode=this.model._eventDown(t),this._currentNode&&this.mode!=="eraseLine"&&this.el.appendChild(this._currentNode),this._emitter.emit("changed"))}eventEnd(t){if(!this.acceptsInput(t)||!this.drawing)return;const e=this.model._eventUp(t);if(!e)this.cancel();else if(e===!0){const n=this._currentNode;this._appendNode(n),this.commit({undo:()=>this._removeNode(n),redo:()=>this._restoreNode(n)})}else this.commit(e);this.drawing=!1,this._emitter.emit("end"),this._emitter.emit("changed"),this._originalPointerId=null}acceptsInput(t){return(!this.options.acceptsInputTypes||this.options.acceptsInputTypes.includes(t.pointerType))&&!(this._originalPointerId&&this._originalPointerId!==t.pointerId)}eventKeyboard(t){this.shiftPressed===t.shiftKey&&this.altPressed===t.altKey||(this.shiftPressed=t.shiftKey,this.altPressed=t.altKey,this.model.point&&this.model.onMove(this.model.point)&&this._emitter.emit("changed"))}commit(t){this._opStack.length=this._opIndex,this._opStack.push(t),this._opIndex++;const e=this._currentNode;this._currentNode=void 0,this._emitter.emit("committed",e)}clear(){this._opStack.length=0,this._opIndex=0,this._elements=[],this.cancel(),this.el.innerHTML="",this._emitter.emit("changed")}cancel(){this._currentNode&&(this.el.removeChild(this._currentNode),this._currentNode=void 0,this._emitter.emit("canceled"))}dump(){return this.el.innerHTML}load(t){this.clear(),this.el.innerHTML=t}_appendNode(t){const e=this._elements.at(-1);e?e.after(t):this.el.append(t);const n=this._elements.push(t)-1;t.dataset.drauu_index=n.toString()}_removeNode(t){t.remove(),this._elements[+t.dataset.drauu_index]=null}_restoreNode(t){const e=+t.dataset.drauu_index;this._elements[e]=t;for(let n=e-1;n>=0;n--){const i=this._elements[n];if(i){i.after(t);return}}this.el.prepend(t)}};function tx(t){return new ex(t)}const SA=["#000000",...new Array(12).fill(!0).map((t,e)=>`hsl(${e*30}, 100%,50%)`),"#ffffff"],nx=jy([4,8,16,24]);ne();const fn=om(Ce("drawings",{})),ao=ne("/");ne();const Ji=ne(!1),Ay=Ce("drawing-pinned",!1),ry=ne(!1),hy=ne(!1),ly=ne(!1),Yu=ne(!1),Lu=ne(!1),go=om(Ce("drawing-brush",{color:SA[0],size:10,mode:"stylus"})),Ku=ne("stylus");let ps=!1;const ix=H({get(){return Ku.value},set(t){Ku.value=t,t==="arrow"?(go.mode="line",go.arrowEnd=!0):(go.mode=t,go.arrowEnd=!1)}}),ox=Te({brush:go,acceptsInputTypes:H(()=>Ji.value?void 0:["pen"]),coordinateTransform:!0}),Gt=Un(tx(ox));function qu(){Gt.clear()}function ju(){var t;hy.value=Gt.canRedo(),ry.value=Gt.canUndo(),ly.value=!!((t=Gt.el)!=null&&t.children.length)}function Pu(t){ps=!0;const e=fn[t||ao.value];e!=null?Gt.load(e):Gt.clear(),ps=!1}function cy(){return Lu.value||(Gt.on("changed",()=>{if(ju(),!ps){const t=Gt.dump(),e=ao.value;(fn[e]||"")!==t&&(fn[e]=t)}}),mn(()=>{_n(()=>{(fn==null?void 0:fn[ao.value])!=null&&Gt.load((fn==null?void 0:fn[ao.value])||"")})}),ye(ao,t=>{ps=!0,fn[t]!=null&&Gt.load(fn[t]||""),ps=!1,ju()}),_n(()=>{ye(ao,()=>{Pu()},{immediate:!0})}),Gt.on("start",()=>Yu.value=!0),Gt.on("end",()=>Yu.value=!1),window.addEventListener("keydown",t=>{if(!Ji.value)return;const e=!t.ctrlKey&&!t.altKey&&!t.shiftKey&&!t.metaKey;let n=!0;t.code==="KeyZ"&&(t.ctrlKey||t.metaKey)?t.shiftKey?Gt.redo():Gt.undo():t.code==="Escape"?Ji.value=!1:t.code==="KeyC"&&(t.ctrlKey||t.metaKey)?qu():t.code.startsWith("Digit")&&e&&+t.code[5]<=SA.length?go.color=SA[+t.code[5]-1]:n=!1,n&&(t.preventDefault(),t.stopPropagation())},!1)),Lu.value=!0,{brush:go,brushColors:SA,brushSizes:nx,canClear:ly,canRedo:hy,canUndo:ry,clearDrauu:qu,currentPage:ao,drauu:Gt,drawingEnabled:Ji,drawingMode:ix,drawingPinned:Ay,loadCanvas:Pu}}const ax={class:"is-group flex gap-2 px-2 py-1"},sx={class:"is-group flex flex-wrap"},Ax=["onClick"],rx={class:"is-group flex gap-2 px-2"},hx={class:"i-carbon-pin-filled transform -rotate-45"},lx={class:"i-carbon-pin"},cx={class:"i-carbon-error"},gx={class:"i-carbon-close-outline"},dx={__name:"DrawControls",setup(t){const e=Do(),{brush:n,brushColors:i,canClear:o,canRedo:a,canUndo:s,clearDrauu:A,drauu:r,drawingEnabled:h,drawingMode:l,brushSizes:c,drawingPinned:g,currentPage:d}=cy();mn(()=>{ye(e,Q=>d.value=Q.path,{immediate:!0})});function u(){r.undo()}function m(){r.redo()}function I(Q){l.value=Q,h.value=!0}function f(Q){n.color=Q,h.value=!0}return ye(()=>te.note,Q=>{n.color=$e(Q.pitch)}),(Q,y)=>(E(),b("div",{class:Ae(["panel",p(h)?"":p(g)?"opacity-40 hover-opacity-90":"opacity-0 pointer-events-none"]),"storage-key":"slidev-drawing-pos","initial-x":10,"initial-y":10},[C("button",{class:"w-6 flex items-center justify-center",onClick:y[0]||(y[0]=w=>p(n).size=p(c).next())},[C("div",{class:"bg-current rounded-full",style:he({width:p(n).size+4+"px",height:p(n).size+4+"px",backgroundColor:p(n).color})},null,4)]),C("div",ax,[C("button",{class:Ae({active:p(l)=="stylus"}),onClick:y[1]||(y[1]=w=>I("stylus"))},y[11]||(y[11]=[C("div",{class:"i-carbon-pen"},null,-1)]),2),C("button",{class:Ae({active:p(l)=="line"}),onClick:y[2]||(y[2]=w=>I("line"))},y[12]||(y[12]=[C("svg",{class:"-mt-1",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24"},[C("path",{d:"M21.71 3.29a1 1 0 0 0-1.42 0l-18 18a1 1 0 0 0 0 1.42a1 1 0 0 0 1.42 0l18-18a1 1 0 0 0 0-1.42z",fill:"currentColor"})],-1)]),2),C("button",{class:Ae({active:p(l)=="arrow"}),onClick:y[3]||(y[3]=w=>I("arrow"))},y[13]||(y[13]=[C("div",{class:"i-carbon-arrow-up-right"},null,-1)]),2),C("button",{class:Ae({active:p(l)=="ellipse"}),onClick:y[4]||(y[4]=w=>I("ellipse"))},y[14]||(y[14]=[C("div",{class:"i-carbon-radio-button"},null,-1)]),2),C("button",{class:Ae({active:p(l)=="rectangle"}),onClick:y[5]||(y[5]=w=>I("rectangle"))},y[15]||(y[15]=[C("div",{class:"i-carbon-checkbox"},null,-1)]),2)]),C("div",sx,[(E(!0),b(Me,null,Re(p(i),w=>(E(),b("button",{key:w,class:Ae(p(n).color===w?"active":"shallow"),onClick:B=>f(w)},[C("div",{class:Ae(["w-6 h-6 transition-all transform border border-gray-400 border-opacity-50",p(n).color!==w?"rounded-1/2 scale-85":"rounded-md"]),style:he(p(h)?{background:w}:{borderColor:w})},null,6)],10,Ax))),128))]),C("div",rx,[C("button",{class:Ae({disabled:!p(s)}),onClick:y[6]||(y[6]=w=>u())},y[16]||(y[16]=[C("div",{class:"i-carbon-undo"},null,-1)]),2),C("button",{class:Ae({disabled:!p(a)}),onClick:y[7]||(y[7]=w=>m())},y[17]||(y[17]=[C("div",{class:"i-carbon-redo"},null,-1)]),2),C("button",{class:Ae({disabled:!p(o)}),onClick:y[8]||(y[8]=w=>p(A)())},y[18]||(y[18]=[C("div",{class:"i-carbon-delete"},null,-1)]),2)]),y[19]||(y[19]=C("div",{class:"flex-1"},null,-1)),C("button",{class:Ae({shallow:!p(g)}),onClick:y[9]||(y[9]=w=>g.value=!p(g))},[O(C("div",hx,null,512),[[_t,p(g)]]),O(C("div",lx,null,512),[[_t,!p(g)]])],2),p(h)?(E(),b("button",{key:0,class:Ae({shallow:!p(h)}),onClick:y[10]||(y[10]=w=>h.value=!p(h))},[O(C("div",cx,null,512),[[_t,p(g)]]),O(C("div",gx,null,512),[[_t,!p(g)]])],2)):V("",!0)],2))}},ux=it(dx,[["__scopeId","data-v-86455f2f"]]),sn=Ce("cast-camera","default"),gi=Ce("cast-mic","default");ne();const Xh=ne(""),Mi=ne(!0),Io=Ce("slidev-record-mimetype","video/webm");function mx(){return MediaRecorder&&typeof(MediaRecorder==null?void 0:MediaRecorder.isTypeSupported)=="function"?Object.keys(mimeExtMap).filter(t=>MediaRecorder.isTypeSupported(t)):[]}const Hu=Te({screen:H(()=>bs("screen",Io.value)),camera:H(()=>bs("camera",Io.value))}),{devices:vK,videoInputs:xl,audioInputs:Ul,ensurePermissions:_l}=Py({onUpdated:function(){var t,e;sn.value!=="none"&&(xl.value.find(n=>n.deviceId===sn.value)||(sn.value=((t=xl.value[0])==null?void 0:t.deviceId)||"default")),gi.value!=="none"&&(Ul.value.find(n=>n.deviceId===gi.value)||(gi.value=((e=Ul.value[0])==null?void 0:e.deviceId)||"default"))}});function Ou(t,e){const n=document.createElement("a");n.setAttribute("href",e),n.setAttribute("download",t),document.body.appendChild(n),n.click(),document.body.removeChild(n)}function px(){const t=ne(!1),e=ne(),n=$u();ye(t,f=>f?e.value=Date.now():e.value=null);const i=H(()=>e.value?n.value-e.value:0),o=ne(!1),a=Ho(),s=Ho(),A=Ho(),r=Ho(),h=Ho(),l={type:"video",bitsPerSecond:4*256*8*1024,timeSlice:24*60*60*1e3};async function c(){sn.value!=="none"&&(o.value?(o.value=!1,t.value||m(A)):(await g(),A.value&&(o.value=!!A.value)))}async function g(){if(await _l(),await _n(),!A.value){if(sn.value==="none"&&gi.value==="none")return;A.value=await navigator.mediaDevices.getUserMedia({video:sn.value==="none"||Mi.value!==!0?!1:{deviceId:sn.value},audio:gi.value==="none"?!1:{deviceId:gi.value}})}}ye(sn,async f=>{if(f==="none")m(A);else{if(t.value)return;A.value&&(m(A),await g())}});async function d(f){var y;await _l();const{default:Q}=await vo(async()=>{const{default:w}=await import("./RecordRTC.B7sXnKZ4.js").then(B=>B.R);return{default:w}},[]);await g(),r.value=await navigator.mediaDevices.getDisplayMedia({video:{frameRate:30,width:3840,height:2160}}),r.value.addEventListener("inactive",u),h.value=new MediaStream,r.value.getVideoTracks().forEach(w=>h.value.addTrack(w)),Object.assign(l,f),A.value&&(h.value.addTrack((y=mt.stream.stream.getAudioTracks())==null?void 0:y[0]),a.value=new Q(A.value,l),a.value.startRecording()),s.value=new Q(h.value,l),s.value.startRecording(),t.value=!0}async function u(){var f,Q;t.value=!1,(f=a.value)==null||f.stopRecording(()=>{if(Mi.value){const y=a.value.getBlob(),w=URL.createObjectURL(y);Ou(bs("camera",Io.value),w),window.URL.revokeObjectURL(w)}a.value=void 0,o.value||m(A)}),(Q=s.value)==null||Q.stopRecording(()=>{const y=s.value.getBlob(),w=URL.createObjectURL(y);Ou(bs("screen",Io.value),w),window.URL.revokeObjectURL(w),m(r),m(h),s.value=void 0})}function m(f){const Q=f.value;Q&&(Q.getTracks().forEach(y=>{y.stop(),Q.removeTrack(y)}),f.value=void 0)}function I(){t.value?u():d()}return am("beforeunload",f=>{t.value&&(confirm("Recording is not saved yet, do you want to leave?")||(f.preventDefault(),f.returnValue=""))}),{recording:t,recordingTime:i,showAvatar:o,toggleRecording:I,startRecording:d,stopRecording:u,toggleAvatar:c,recorderCamera:a,recorderSlides:s,streamCamera:A,streamCapture:r,streamSlides:h}}const gy=px(),Ix={__name:"CastCamera",setup(t){const e=dt(Ce("cast-cam-size",Math.round(Math.min(window.innerHeight,window.innerWidth/4))),140,600),n=dt(Ce("cast-cam-zoom",1),1,3),i=ne({x:window.innerWidth-e.value-30,y:window.innerHeight-e.value-30}),o=ne(),a=ne();ne();const s=ne(),{streamCamera:A,showAvatar:r}=gy,{style:h}=xg(o,{initialValue:i}),{isDragging:l}=xg(a,{onMove({x:I,y:f}){e.value=Math.max(10,Math.min(I-i.value.x,f-i.value.y)/.8536)}});function c(I){n.value-=I.delta[1]/100}Si(()=>{s.value&&(s.value.srcObject=A.value)},{flush:"post"});const g=H(()=>({width:`${e.value}px`,height:`${e.value}px`})),d=H(()=>({width:"14px",height:"14px",top:`${e.value*.8536-7}px`,left:`${e.value*.8536-7}px`,cursor:"nwse-resize"})),u=H(()=>({width:"14px",height:"14px",top:`${(1-(n.value-1)/2)*e.value}px`,right:"12px",cursor:"ns-resize"}));function m(){i.value.x>=window.innerWidth&&(i.value.x=window.innerWidth-e.value-30),i.value.y>=window.innerHeight&&(i.value.y=window.innerHeight-e.value-30)}return am("resize",m),mn(m),(I,f)=>{const Q=vn("drag");return p(A)&&p(r)&&p(sn)!=="none"?(E(),b("div",{key:0,class:"avatar fixed z-1000",style:he(p(h))},[C("div",{class:"rounded-full shadow bg-gray-400 bg-opacity-10 overflow-hidden object-cover shadow-lg",ref_key:"frame",ref:o,style:he(g.value)},[C("video",{class:"object-cover min-w-full min-h-full rounded-full",ref_key:"video",ref:s,autoplay:"",muted:"",volume:"0",style:he(`transform: rotateY(180deg) scale(${p(n)})`)},null,4)],4),O(C("div",{class:"absolute bottom-0 right-0 rounded-full shadow-lg shadow z-30 p-2 bg-violet-500 bg-opacity-40 hover-bg-opacity-100",style:he(u.value)},null,4),[[Q,c]]),C("div",{class:Ae(["absolute bottom-0 right-0 rounded-full shadow-lg shadow z-300 p-2 bg-purple-500 bg-opacity-40 hover-bg-opacity-100",p(l)?"!opacity-100":""]),ref_key:"handler",ref:a,style:he(d.value)},null,6)],4)):V("",!0)}}},fx={__name:"DrawLayer",setup(t){const e=ne(),{drauu:n,drawingEnabled:i,loadCanvas:o}=cy();return mn(()=>{n.mount(e.value,e.value.parentElement),o()}),ur(()=>{n.unmount()}),(a,s)=>(E(),b("svg",{class:Ae(["absolute w-full h-full top-0 bottom-0 left-0 right-0",{"pointer-events-none":!p(i),"touch-none":p(i)}]),ref_key:"svg",ref:e},null,2))}};function Rg(t,e){const n=ne(e),i=H(()=>Tg(n.value)),o=H(()=>i.value[Ye(t.path)]),a=H(()=>Bx(t.path,n.value)),s=H(()=>Ex(t.path,n.value));return{pages:i,siblings:s,children:o,parents:a}}function dy(t,e){return H(()=>Tg(e)[t.path])}function Cx(t,e){return H(()=>yx(t.path,e))}function yx(t,e){return e.find(n=>Ye(n.url)==Ye(t))}function Tg(t){var n;let e={};for(let i of t){const o=Fg(i.url.split("/").slice(0,-2).join("/"));(n=i.frontmatter)!=null&&n.hidden||i.url=="/"||(e[o]=e[o]||[],e[o].push(i))}for(let i in e)e[i].sort((o,a)=>{var s,A;return(s=o.frontmatter)!=null&&s.date&&((A=a.frontmatter)!=null&&A.date)?o.frontmatter.date>a.frontmatter.date?-1:1:0});return e}function Bx(t,e){t=Ye(t);const n=[],i=t.split("/").filter(Boolean);for(let o=0;o<=i.length;o++){const a=Fg("/"+i.slice(0,o).join("/"));n.push(e.find(s=>Ye(s.url)==a))}return n.filter(Boolean)}function Ex(t,e){let n=null,i=null,o=0,a=0;const s=Fg(t.split("/").slice(0,-2).join("/")),A=Tg(e)[s];return A&&(a=A.length,o=A.findIndex(r=>Ye(r.url)==Ye(t)),o>=0&&o<=A.length&&(i=A[o+1]),o>0&&(n=A[o-1])),{next:i,prev:n,index:o,total:a}}function Fg(t){return t+=t.endsWith("/")?"":"/"}function Ye(t){return(t||"").replace(/\/[^/]*\.(html)$/,"/")}const Qx=["href"],wx={class:"link"},bx={class:"text -mt-1"},vx=["href"],Dx={class:"link"},kx={class:"text -mt-1"},Mx=["href"],Nx={class:"link"},Sx={class:"text -mt-1"},Rx={__name:"NavNextPrev",props:{parents:{type:Array},siblings:{type:Object}},setup(t){const e=t,n=Te({current:H(()=>St(e.siblings.index,e.siblings.total,.9,20,50)),prev:H(()=>St(e.siblings.index-1,e.siblings.total,.8,20,50)),next:H(()=>St(e.siblings.index+1,e.siblings.total,.8,20,50))});return(i,o)=>{var a,s,A,r,h,l,c,g,d,u,m,I,f,Q,y;return E(),b("div",{class:"flex flex-wrap gap-2 p-2",style:he({borderColor:n==null?void 0:n.current})},[(a=t.siblings)!=null&&a.prev?(E(),b("a",{key:0,class:"pad",style:he([{flex:"1 1"},{backgroundColor:n.prev,backgroundImage:`url(${(r=(A=(s=t.siblings)==null?void 0:s.prev)==null?void 0:A.frontmatter)==null?void 0:r.cover})`}]),href:p(Ye)(t.siblings.prev.url)},[C("div",wx,[o[0]||(o[0]=C("div",{class:"i-la-angle-double-left icon icon-prev"},null,-1)),C("span",bx,z((c=(l=(h=t.siblings)==null?void 0:h.prev)==null?void 0:l.frontmatter)==null?void 0:c.title),1)])],12,Qx)):V("",!0),(E(!0),b(Me,null,Re([...t.parents].slice(1,-1),(w,B)=>{var k,D;return E(),b("a",{class:"pad",style:he([{flex:"1 1"},{backgroundColor:n==null?void 0:n.next,backgroundImage:`url(${(k=w==null?void 0:w.frontmatter)==null?void 0:k.cover})`}]),key:w,href:p(Ye)(w==null?void 0:w.url)},[C("div",Dx,[o[1]||(o[1]=C("div",{class:"i-la-angle-double-up mr-1"},null,-1)),C("div",kx,z((D=w==null?void 0:w.frontmatter)==null?void 0:D.title),1)])],12,vx)}),128)),(g=t.siblings)!=null&&g.next?(E(),b("a",{key:1,class:"pad",style:he([{flex:"1 1"},{backgroundColor:n==null?void 0:n.next,backgroundImage:`url(${(m=(u=(d=t.siblings)==null?void 0:d.next)==null?void 0:u.frontmatter)==null?void 0:m.cover})`}]),href:p(Ye)((I=t.siblings.next)==null?void 0:I.url)},[C("div",Nx,[C("span",Sx,z((y=(Q=(f=t.siblings)==null?void 0:f.next)==null?void 0:Q.frontmatter)==null?void 0:y.title),1),o[2]||(o[2]=C("div",{class:"i-la-angle-double-right icon icon-next"},null,-1))])],12,Mx)):V("",!0)],4)}}},Tx=it(Rx,[["__scopeId","data-v-e8617bae"]]),Fx={key:0,class:"flex flex-wrap mt-4"},Gx=["href"],xx={key:0,class:"i-la-link"},Ux={key:1,class:"i-la-github"},_x={key:2,class:"i-la-instagram"},Jx={key:3,class:"i-la-heart"},Yx={key:4,class:"i-la-discord"},Lx={key:5,class:"i-la-reddit"},Kx={__name:"PageButtons",props:{buttons:Array,color:{type:String,default:""}},setup(t){return(e,n)=>t.buttons&&t.buttons.length>0?(E(),b("div",Fx,[(E(!0),b(Me,null,Re(t.buttons,i=>(E(),b("a",{class:"button",key:i.url,href:i.url,target:"_blank",style:he({backgroundColor:t.color})},[(i==null?void 0:i.type)=="primary"?(E(),b("div",xx)):V("",!0),(i==null?void 0:i.type)=="github"?(E(),b("div",Ux)):V("",!0),(i==null?void 0:i.type)=="instagram"?(E(),b("div",_x)):V("",!0),(i==null?void 0:i.type)=="heart"?(E(),b("div",Jx)):V("",!0),(i==null?void 0:i.type)=="discord"?(E(),b("div",Yx)):V("",!0),(i==null?void 0:i.type)=="reddit"?(E(),b("div",Lx)):V("",!0),C("span",null,z(i.text),1)],12,Gx))),128))])):V("",!0)}},uy=it(Kx,[["__scopeId","data-v-c522640e"]]),qx={key:0,class:"text-sm rounded-full flex items-center"},jx={key:0,class:"i-mdi-watering-can can"},Px={key:1,class:"i-mdi-watering-can-outline can"},Hx={class:"flex-1 font-normal"},Ox={__name:"CardDate",props:{date:String},setup(t){const e=t,n=H(()=>Date.now()-new Date(e.date).getTime()),i=H(()=>n.value<1e3*60*60*24),o=H(()=>n.value<1e3*60*60*24*7),a=Hy(new Date(e.date),{messages:{justNow:" now",past:s=>s.match(/\d/)?`${s}`:s,future:s=>s.match(/\d/)?`in ${s}`:s,month:s=>`${s} mo`,year:s=>`${s} y`,day:s=>`${s} d`,week:s=>`${s} w`,hour:s=>`${s} h`,minute:s=>`${s} m`,second:s=>`${s} s`}});return(s,A)=>o.value?(E(),b("div",qx,[i.value?(E(),b("div",jx)):(E(),b("div",Px)),C("div",Hx,z(p(a)),1)])):V("",!0)}},Vx=it(Ox,[["__scopeId","data-v-fcdd3eb4"]]),bo=JSON.parse(`[{"src":"---\\ntitle: Pianolizer\\ndescription: More musical Sliding DTF\\ndate: 2024-09-04\\nhidden: true\\n---\\n\\nhttps://sysd.org/pianolizer/\\nhttps://github.com/creaktive/pianolizer/tree/master\\n\\n\\n","frontmatter":{"title":"Pianolizer","description":"More musical Sliding DTF","date":"2024-09-04T00:00:00.000Z","hidden":true},"url":"/practice/experiments/pianolizer/"},{"src":"---\\ntitle: Draw on a canvas\\ndescription: Atrament experiment\\ndate: 2024-08-21\\nlayout: app\\ncover: drawing.png\\nlinks:\\n - https://github.com/jakubfiala/atrament\\n---\\n\\n - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Contacts
The project and its author

Chromatone is a self sustaining ecosystem of music learners, music teachers and new tools to learn, practice, compose and perform music visually. The source code for them is open and is developed as an internationally funded social initiative.

Our mission is to build a complete visual music ecosystem built by international community of learners, teachers and performers. With open music labs as the new form of real time creative collaboration.

The stickers and printable files sales bring fuel to feed the research and development process. Charity funding is very welcome! We are building a whole language here - and the wider we can reach and share the joy of playing Visual Music together. ✨

Denis Starov
Founder, designer and developer
Born in 1987 and dwelling
I'm a broad range designer and enthusiastic open source developer. So I explore music with the web browser. And share my experiments and explorations with everyone here.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/feed.rss b/feed.rss index ce4eee2a16..9031972202 100644 --- a/feed.rss +++ b/feed.rss @@ -4,7 +4,7 @@ Chromatone https://chromatone.center Visual Music Language development updates and more - Wed, 20 Nov 2024 16:58:28 GMT + Wed, 27 Nov 2024 06:47:38 GMT https://validator.w3.org/feed/docs/rss2.html https://github.com/jpmonette/feed en-EN @@ -13,7 +13,7 @@ <![CDATA[Words sequencing]]> https://chromatone.center/practice/generative/words/ https://chromatone.center/practice/generative/words/ - Wed, 20 Nov 2024 16:52:56 GMT + Wed, 27 Nov 2024 06:45:49 GMT @@ -24,7 +24,7 @@ const Words = defineClientCompone]]> <![CDATA[Words sequencing]]> https://chromatone.center/practice/sequencing/words/ https://chromatone.center/practice/sequencing/words/ - Wed, 20 Nov 2024 16:52:56 GMT + Wed, 27 Nov 2024 06:45:49 GMT This page is moved to https://chromatone.center/practice/generative/words/

]]>
@@ -34,7 +34,7 @@ const Words = defineClientCompone]]> <![CDATA[ZZFXM]]> https://chromatone.center/practice/sequencing/zzfxm/ https://chromatone.center/practice/sequencing/zzfxm/ - Wed, 20 Nov 2024 16:52:56 GMT + Wed, 27 Nov 2024 06:45:49 GMT @@ -46,7 +46,7 @@ const ZzFxm = defineClientCompone]]> <![CDATA[Synth snippets]]> https://chromatone.center/practice/synth/snippets.html https://chromatone.center/practice/synth/snippets.html - Wed, 20 Nov 2024 16:52:56 GMT + Wed, 27 Nov 2024 06:45:49 GMT Skew by upheaver

Sharing a useful snippet. JUCE's logskew function in Typescript, if anyone wants to scale their parameter values (for example convert 0-1 range to 20-20000 hz in a non linear way) :

@@ -72,7 +72,7 @@ const ZzFxm = defineClientCompone]]> <![CDATA[Reharmonization]]> https://chromatone.center/theory/harmony/reharmonization/ https://chromatone.center/theory/harmony/reharmonization/ - Wed, 20 Nov 2024 16:52:56 GMT + Wed, 27 Nov 2024 06:45:49 GMT

Reharmonization = Chord substitution but for the whole chord progression

Reharmonization is used to:

@@ -324,6 +324,15 @@ const ZzFxm = defineClientCompone]]>

These projects incorporating Gnawa and Western musicians are essentially Gnawa fusions.

]]>
+ + <![CDATA[MIDI Grid]]> + https://chromatone.center/practice/midi/grid/ + https://chromatone.center/practice/midi/grid/ + Wed, 23 Oct 2024 00:00:00 GMT + + ]]> + + <![CDATA[Interval reference songs]]> https://chromatone.center/theory/notes/ear-traning/reference-songs/ diff --git a/hashmap.json b/hashmap.json index 41ae625b7d..a8f838d6ab 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"404.md":"CyDpcGm_","academy_index.md":"CPE5jG2t","contacts_index.md":"BvtabNb0","index.md":"BjCaf5EF","practice_chord_array_index.md":"B0RCz53m","practice_chord_chord-sheets_index.md":"DQCix0Q_","practice_chord_fifths_index.md":"BA8MAUE9","practice_chord_index.md":"C5tVOYbx","practice_chord_modes_index.md":"0DVjLjE1","practice_chord_progressions_index.md":"BwCbtmnc","practice_chord_real-book_index.md":"Buz-usm5","practice_chord_sequencer_index.md":"-GhsCuUC","practice_chord_tabs_index.md":"DpB4_quP","practice_chroma_compass_index.md":"Dkosk3q2","practice_chroma_gram_index.md":"BZwrD5sC","practice_chroma_grid_index.md":"CsPHbL9F","practice_chroma_hand_index.md":"CtYBxCZC","practice_chroma_index.md":"DNS8-FzW","practice_chroma_palette_feedback_index.md":"CCjnNabW","practice_chroma_palette_index.md":"BdFj2rN-","practice_chroma_profile_index.md":"Baf9jHpD","practice_chroma_see_index.md":"CPkWhMdD","practice_chroma_shader_index.md":"olvgvKtI","practice_chroma_touch_index.md":"CoBHIHYb","practice_chroma_waveform_index.md":"WsMkxRtb","practice_color_cmyk_index.md":"Bgp22bir","practice_color_hsl_index.md":"BWA28tBA","practice_color_index.md":"BNcyuBjZ","practice_color_lab_index.md":"B_-WH2ey","practice_color_mix_index.md":"BDkzfbEv","practice_color_palette_index.md":"Cnq5BJDP","practice_color_rgb_index.md":"C2lohTLD","practice_experiments_dev_index.md":"Ckb9Mul8","practice_experiments_draw_index.md":"BHU5DQ2W","practice_experiments_elementary_index.md":"tYccpN-l","practice_experiments_extract_index.md":"D-A0cb9V","practice_experiments_index.md":"sVkzgDJG","practice_experiments_lab_index.md":"DJ1P_I4C","practice_experiments_moire_index.md":"DuoBXTiw","practice_experiments_p2p_index.md":"B59og9HF","practice_experiments_pianolizer_index.md":"C7EhNFuW","practice_experiments_pixel-sort_index.md":"Blun40bT","practice_experiments_printables_circles-a4_index.md":"7GBubCej","practice_experiments_printables_index.md":"gMKBA-SK","practice_experiments_printables_piano-a4_index.md":"B4nP6Cd6","practice_experiments_rows_index.md":"Zkavls2m","practice_experiments_sensors_index.md":"aARxnRce","practice_experiments_simplex_index.md":"DnjLhbKK","practice_external_index.md":"BSg62HeM","practice_generative_ambience_index.md":"C0senr3i","practice_generative_bounce_index.md":"CCq5jOKk","practice_generative_index.md":"B3FmStYp","practice_generative_matter_index.md":"B8wsfWV6","practice_generative_numbers_index.md":"D8BPd5mu","practice_generative_pendulums_index.md":"CvTe7IR4","practice_generative_words_index.md":"XhJZgWwY","practice_index.md":"BMrd2gMS","practice_jam_index.md":"CLWdZT65","practice_jam_random_index.md":"cExCWef3","practice_jam_session_index.md":"pzeTLARY","practice_jam_table_index.md":"BXXsmOBx","practice_midi_index.md":"CwXbZJjn","practice_midi_ios_index.md":"CAFe804D","practice_midi_keys_index.md":"Db9Kevoc","practice_midi_log_index.md":"Czcv60qP","practice_midi_monitor_index.md":"ByNFYpPf","practice_midi_radar_index.md":"CDXw-fT7","practice_midi_recorder_index.md":"645G4tKB","practice_midi_roll_index.md":"FyKQ7bXv","practice_midi_router_index.md":"IAhvC_RN","practice_midi_visualizer_index.md":"DXDDQB7b","practice_pitch_drone_index.md":"DZl30fxJ","practice_pitch_fretboard_index.md":"CruY1tH4","practice_pitch_index.md":"dNIpMEF-","practice_pitch_roll_index.md":"DtGjhSQ6","practice_pitch_spectrogram_index.md":"Byx7mL2u","practice_pitch_table_index.md":"BaK8O0K4","practice_pitch_tuner_index.md":"iOfKjiL9","practice_rhythm_bars_index.md":"Bt9DjbMZ","practice_rhythm_circle_index.md":"DOfOvpvu","practice_rhythm_drum-machine_index.md":"D_rvKU6B","practice_rhythm_index.md":"BpJGUIKF","practice_rhythm_rudiments_index.md":"DDBiHWXi","practice_rhythm_time_index.md":"BoFa7GP4","practice_rhythm_wheel_index.md":"Cm-BCHY4","practice_scale_chords_index.md":"DlLLOfvY","practice_scale_index.md":"DQNMDrL6","practice_scale_list_index.md":"DsM8mAog","practice_scale_raga_index.md":"BvyFOKCy","practice_sequencing_ambience_index.md":"BaA-rXdc","practice_sequencing_bounce_index.md":"BJhHEwXb","practice_sequencing_grid_index.md":"C6OLdo9I","practice_sequencing_index.md":"B7Twqgcu","practice_sequencing_matter_index.md":"BtD4dxKE","practice_sequencing_numbers_index.md":"C5zKHQlM","practice_sequencing_pendulums_index.md":"Dd7SPB2q","practice_sequencing_sequencer_index.md":"BPgEZIlS","practice_sequencing_words_index.md":"BH9po7-g","practice_sequencing_zzfxm_index.md":"BabrwRvR","practice_sound_dissonance_index.md":"XYN_Csk3","practice_sound_index.md":"Cv08V_z8","practice_sound_loudness_index.md":"Cl4k38P_","practice_sound_mic_index.md":"HP-qiPi_","practice_sound_monochord_index.md":"Wa6o0gkj","practice_sound_overtones_index.md":"Cw5vVNwK","practice_synth_amy_index.md":"eFf7KD5F","practice_synth_chuck_index.md":"BgeaTxl2","practice_synth_elementary_index.md":"D6b_33pf","practice_synth_elements_index.md":"B2b53V7G","practice_synth_index.md":"DtplPCO3","practice_synth_karplus-strong_index.md":"Ciz0s8pS","practice_synth_noise_index.md":"BgC4tO1y","practice_synth_snippets.md":"Bzi72qLj","practice_synth_soundfont_index.md":"BAz3NpYP","practice_synth_zzfx_index.md":"CGFOtznU","practice_visual_hydra_index.md":"BWx1qONF","practice_visual_index.md":"C751NWnN","practice_visual_paper_index.md":"CqbQRxRK","shop_index.md":"DFbKY_hq","support_index.md":"CgTR19Mm","theory_chords_clusters_index.md":"6wsc7c3G","theory_chords_index.md":"CTFUPuLi","theory_chords_more_index.md":"DJlyC2Mu","theory_chords_pentads_index.md":"UaCByGbi","theory_chords_tetrads_index.md":"F8lOxBSm","theory_chords_triads_index.md":"DNEAK84u","theory_color_index.md":"CI03Ku3v","theory_color_light_em-field_index.md":"kLCvXhHh","theory_color_light_em-waves_index.md":"7ZYPU21k","theory_color_light_index.md":"D6QXpL3r","theory_color_light_spectrum_index.md":"DN4wFole","theory_color_light_sun_index.md":"B7ccSWEO","theory_color_models_additive_index.md":"CWEM_kNx","theory_color_models_index.md":"DXUNLR9O","theory_color_models_perceptual_index.md":"CHTyhIhq","theory_color_models_subtractive_index.md":"BmVlUcBv","theory_color_names_index.md":"ujDaZ19-","theory_color_perception_index.md":"DhqaOtoX","theory_composition_composers_index.md":"C-zx3CZQ","theory_composition_electronic_index.md":"CPdRAP6r","theory_composition_form_index.md":"EKySuOBT","theory_composition_generative_index.md":"7hiMjjgC","theory_composition_index.md":"s2JmMVpB","theory_composition_serialism_index.md":"Czf3nSgx","theory_composition_song_index.md":"BdxEcmg7","theory_composition_sound-painting_index.md":"heClJrY6","theory_composition_texture_index.md":"q4ScOm3l","theory_harmony_chord-scale_index.md":"BfU2C53N","theory_harmony_index.md":"Hfmrz4Vt","theory_harmony_modal_index.md":"CTdPgqqe","theory_harmony_modulation_index.md":"CALwuwBy","theory_harmony_movement_index.md":"-qrffvnX","theory_harmony_non-chord_index.md":"BkWPRyHV","theory_harmony_polytonality_index.md":"cPEZsQvk","theory_harmony_reharmonization_index.md":"Drwy_sXe","theory_harmony_study_index.md":"CKlxOMKE","theory_harmony_tonal_index.md":"46ma3SX1","theory_index.md":"B8OHquOB","theory_interplay_index.md":"Bga4T4c1","theory_interplay_spectrum_index.md":"BtcMbkqx","theory_interplay_synesthesia_index.md":"86SfHclI","theory_interplay_visual-music_index.md":"DLQ9OGVN","theory_intervals_cycles_index.md":"D_TTwrJh","theory_intervals_dissonance_index.md":"BsOCub9X","theory_intervals_emancipation_index.md":"MWHB7sEd","theory_intervals_fifth-fourth_index.md":"0i_ksS6N","theory_intervals_index.md":"C-PzJDEA","theory_intervals_second-seventh_index.md":"DoxGRDTz","theory_intervals_third-sixth_index.md":"DUjkPBrG","theory_intervals_unison-octave_index.md":"C7a7ZaG6","theory_melody_articulation_index.md":"DPeLZ6C1","theory_melody_drone_index.md":"DXzfKeXX","theory_melody_index.md":"Bjz0dxWr","theory_melody_motif_index.md":"8TBuqtVl","theory_melody_motion_index.md":"l-EzSunn","theory_melody_singing_index.md":"BDeAykFL","theory_melody_study_index.md":"Cl9bG-T0","theory_notes_alternative_bilinear_index.md":"BP4EHRXS","theory_notes_alternative_chromatic-staff_index.md":"DFJXNYhI","theory_notes_alternative_dodeka_index.md":"BtI9BwSC","theory_notes_alternative_index.md":"V6vEA0pe","theory_notes_alternative_integer_index.md":"DmDPeEBN","theory_notes_alternative_klavar_index.md":"CSjuiFYR","theory_notes_alternative_numbered_index.md":"BL5tvYze","theory_notes_alternative_parsons_index.md":"DkgFha3d","theory_notes_alternative_scientific_index.md":"pVZR8f6i","theory_notes_alternative_tabulature_index.md":"3xrf-nnk","theory_notes_color_index.md":"CID1gNbi","theory_notes_computer_abc_index.md":"DU8v3_d-","theory_notes_computer_index.md":"DL3PRmZB","theory_notes_computer_midi_index.md":"CTMwAUoj","theory_notes_computer_piano-roll_index.md":"Dj6uGevh","theory_notes_computer_ring-tone_index.md":"Cv7V6RVO","theory_notes_ear-traning_absolute-pitch_index.md":"ClFzJyUA","theory_notes_ear-traning_eguchi_index.md":"Cin7ncsD","theory_notes_ear-traning_index.md":"BmeNrG07","theory_notes_ear-traning_reference-songs_index.md":"CnomtRZv","theory_notes_index.md":"DFlnJbVO","theory_notes_national_index.md":"DQHsUmY7","theory_notes_solmization_index.md":"C1N8Fmbc","theory_notes_staff_evolution_index.md":"GEWKoXrA","theory_notes_staff_index.md":"M0q4IfF5","theory_notes_staff_real-book_index.md":"BOBG0afy","theory_notes_staff_sight-reading_index.md":"DH8lSkwe","theory_notes_temperaments_equal_index.md":"DWvuzrdo","theory_notes_temperaments_index.md":"Cp0Uw0Re","theory_notes_temperaments_just_index.md":"Dkoq1Wyd","theory_notes_temperaments_pythagorean_index.md":"BiIpVuBt","theory_notes_temperaments_tunings_index.md":"CB6HGIvh","theory_resources_index.md":"Bob1sdTL","theory_rhythm_counting_index.md":"BbV01WnP","theory_rhythm_groove_index.md":"QxarXMFw","theory_rhythm_index.md":"CXR-mxE1","theory_rhythm_meter_complex_index.md":"Bat3viii","theory_rhythm_meter_compound_index.md":"CGyLpzxn","theory_rhythm_meter_index.md":"DPerFMJA","theory_rhythm_meter_simple_index.md":"DdxK0z89","theory_rhythm_meter_time_index.md":"CH0LBjFe","theory_rhythm_pulse_index.md":"C2IJeuOb","theory_rhythm_rudiments_index.md":"BnstM6oj","theory_rhythm_study_index.md":"BRNi7kDJ","theory_rhythm_system_balkan_index.md":"C1hDyi4V","theory_rhythm_system_clave_index.md":"DoYqYWjT","theory_rhythm_system_crossbeat_gnawa_index.md":"B-b3fUfk","theory_rhythm_system_crossbeat_index.md":"CIlTaQXq","theory_rhythm_system_euclidean_index.md":"4jmutbT_","theory_rhythm_system_flamenco_index.md":"Dg7scQ3k","theory_rhythm_system_index.md":"CHI7aLr_","theory_rhythm_system_tala_index.md":"BAtlsOGN","theory_rhythm_system_turkish_index.md":"9yJNMSwy","theory_scales_degrees_index.md":"CrcjGKn0","theory_scales_diatonic_index.md":"BCTDtndy","theory_scales_double_index.md":"CMlfaiBI","theory_scales_index.md":"CaqinQSG","theory_scales_melodic_index.md":"iqT-3C2n","theory_scales_pentatonic_index.md":"DXgcRGe7","theory_scales_raga_index.md":"CgDyKchp","theory_scales_study_index.md":"COmELgKw","theory_scales_symmetrical_index.md":"Dqw0ptSD","theory_sound_hearing_index.md":"DfIjWFCp","theory_sound_index.md":"BhKYROZq","theory_sound_nature_index.md":"CDTDOsDT","theory_sound_pitch_index.md":"Cw99YPsG","theory_sound_psychoacoustics_illusions_index.md":"BOfxpZac","theory_sound_psychoacoustics_index.md":"Dsmealq-","theory_sound_timbre_index.md":"BGcIrrAo","theory_synthesis_audio-programming_index.md":"BAkrF4Yr","theory_synthesis_distortion_index.md":"AduojIrS","theory_synthesis_index.md":"Cw1z3KNs","theory_synthesis_karplus-strong_index.md":"C1DQOQcG","theory_synthesis_modulation_index.md":"CwjServw","theory_synthesis_osc-sync_index.md":"CS0nOZiH","theory_synthesis_spectral_index.md":"DA3LXYST","tutor_index.md":"D2Du_Juu"} +{"404.md":"CXR0cFhq","academy_index.md":"BYtJ9Ket","contacts_index.md":"DsbBGM59","index.md":"CeW4XYvb","practice_chord_array_index.md":"BnZU_5uQ","practice_chord_chord-sheets_index.md":"DStOExRJ","practice_chord_fifths_index.md":"DS4R8Xbx","practice_chord_index.md":"BYhOPIMd","practice_chord_modes_index.md":"BTFa1ox8","practice_chord_progressions_index.md":"CboLGnOI","practice_chord_real-book_index.md":"B5kQv7QY","practice_chord_sequencer_index.md":"BZ8JOpYx","practice_chord_tabs_index.md":"urIbLrbb","practice_chroma_compass_index.md":"CfSfTZ53","practice_chroma_gram_index.md":"AlnNYTkD","practice_chroma_grid_index.md":"B8DHvqIt","practice_chroma_hand_index.md":"DhOHmedi","practice_chroma_index.md":"DqjPUQIr","practice_chroma_palette_feedback_index.md":"Dm6AJimy","practice_chroma_palette_index.md":"l9R8NKA-","practice_chroma_profile_index.md":"YJDjp4Jm","practice_chroma_see_index.md":"BZk6eB1r","practice_chroma_shader_index.md":"D0rIVrrA","practice_chroma_touch_index.md":"Cok1epSp","practice_chroma_waveform_index.md":"9dWzZy7J","practice_color_cmyk_index.md":"BpYl5wj8","practice_color_hsl_index.md":"oHdeSSeu","practice_color_index.md":"4T2FNkXD","practice_color_lab_index.md":"CvFKQxxZ","practice_color_mix_index.md":"AWfELDwD","practice_color_palette_index.md":"DTrhHX55","practice_color_rgb_index.md":"ni82g3C1","practice_experiments_dev_index.md":"Dg--yumK","practice_experiments_draw_index.md":"Bu37uccn","practice_experiments_elementary_index.md":"CWcMVrtz","practice_experiments_extract_index.md":"DmSdYf1E","practice_experiments_index.md":"BZkot_D_","practice_experiments_lab_index.md":"Cf7-lJJN","practice_experiments_moire_index.md":"tmpdv66v","practice_experiments_p2p_index.md":"BOH0Xzp_","practice_experiments_pianolizer_index.md":"d9a8-O08","practice_experiments_pixel-sort_index.md":"BADHlf9x","practice_experiments_printables_circles-a4_index.md":"4RwkoNZq","practice_experiments_printables_index.md":"DyejVemq","practice_experiments_printables_piano-a4_index.md":"DwjPLXle","practice_experiments_rows_index.md":"D3TxUw6_","practice_experiments_sensors_index.md":"ZFhV_FxF","practice_experiments_simplex_index.md":"CTPo88RN","practice_external_index.md":"CG1b5dbU","practice_generative_ambience_index.md":"9q1aAQ51","practice_generative_bounce_index.md":"IMNeLAFm","practice_generative_index.md":"BPjaQs1T","practice_generative_matter_index.md":"YcNjrvJN","practice_generative_numbers_index.md":"CbkYCQ5Y","practice_generative_pendulums_index.md":"DciVbwbr","practice_generative_words_index.md":"8E1WzdZf","practice_index.md":"Q651ZLHX","practice_jam_index.md":"BMYOQMHs","practice_jam_random_index.md":"DfXYKu7P","practice_jam_session_index.md":"E2uCUZZc","practice_jam_table_index.md":"CRT95tX4","practice_midi_grid_index.md":"BHHkgBQB","practice_midi_index.md":"tdQZXdkp","practice_midi_ios_index.md":"DMtOC0L9","practice_midi_keys_index.md":"C_zn56T1","practice_midi_log_index.md":"D-lRS1I4","practice_midi_monitor_index.md":"wUQ9TMer","practice_midi_radar_index.md":"DTorXBzg","practice_midi_recorder_index.md":"CVmU8t3q","practice_midi_roll_index.md":"CCKjxF1W","practice_midi_router_index.md":"CYPTI4PX","practice_midi_visualizer_index.md":"BUDPdZ0d","practice_pitch_drone_index.md":"DwofVZwn","practice_pitch_fretboard_index.md":"Dhschyrp","practice_pitch_index.md":"HKbeNva5","practice_pitch_roll_index.md":"-tj0KoN6","practice_pitch_spectrogram_index.md":"lFryi1Iu","practice_pitch_table_index.md":"H7e0USBW","practice_pitch_tuner_index.md":"Czf5P9Sb","practice_rhythm_bars_index.md":"DyuYsjze","practice_rhythm_circle_index.md":"B_U8otry","practice_rhythm_drum-machine_index.md":"BeO9h28_","practice_rhythm_index.md":"Bk8lCVJr","practice_rhythm_rudiments_index.md":"B3HKviKa","practice_rhythm_time_index.md":"BDMoPBXv","practice_rhythm_wheel_index.md":"Bpb-KyR4","practice_scale_chords_index.md":"CpN-1gx0","practice_scale_index.md":"C7M2m0uk","practice_scale_list_index.md":"DFmW6XtZ","practice_scale_raga_index.md":"C8vubp-D","practice_sequencing_ambience_index.md":"CubMS52_","practice_sequencing_bounce_index.md":"e8gZiTjB","practice_sequencing_grid_index.md":"8aE5zJxc","practice_sequencing_index.md":"CHCTqp-o","practice_sequencing_matter_index.md":"ZdR7V6dF","practice_sequencing_numbers_index.md":"CbYnZfzu","practice_sequencing_pendulums_index.md":"Dqob1kYK","practice_sequencing_sequencer_index.md":"DbLSQ4h4","practice_sequencing_words_index.md":"CaRjCKM_","practice_sequencing_zzfxm_index.md":"1SvLgqX9","practice_sound_dissonance_index.md":"B_D9G1I2","practice_sound_index.md":"q7QKepvs","practice_sound_loudness_index.md":"NuGvLZRt","practice_sound_mic_index.md":"jO2CJwAN","practice_sound_monochord_index.md":"CUMevFTb","practice_sound_overtones_index.md":"JIrKbRRs","practice_synth_amy_index.md":"DhvHWlCQ","practice_synth_chuck_index.md":"C6Y5X6mK","practice_synth_elementary_index.md":"CnX9qRDx","practice_synth_elements_index.md":"BDA34zyG","practice_synth_index.md":"OpS3Sjrm","practice_synth_karplus-strong_index.md":"CflmnxL_","practice_synth_noise_index.md":"BJ6wF_aY","practice_synth_snippets.md":"vEreBI3d","practice_synth_soundfont_index.md":"DydeujGJ","practice_synth_zzfx_index.md":"B0Z-oRZx","practice_visual_hydra_index.md":"VW3lWnni","practice_visual_index.md":"Bs4qvReC","practice_visual_paper_index.md":"Cp3097mi","shop_index.md":"Dj_ia5h9","support_index.md":"GsqhcinP","theory_chords_clusters_index.md":"Djc9IPyi","theory_chords_index.md":"BwAn0k5c","theory_chords_more_index.md":"DwWhX0ZV","theory_chords_pentads_index.md":"C27ekJb-","theory_chords_tetrads_index.md":"C-2vlegM","theory_chords_triads_index.md":"DBPbwIij","theory_color_index.md":"DmE-3CKv","theory_color_light_em-field_index.md":"Bp4DRTNu","theory_color_light_em-waves_index.md":"CkrxqElk","theory_color_light_index.md":"BRkUJSp1","theory_color_light_spectrum_index.md":"76kLWIxX","theory_color_light_sun_index.md":"b0ae0Hfm","theory_color_models_additive_index.md":"0qUQ-Y0Q","theory_color_models_index.md":"D-0lhdpW","theory_color_models_perceptual_index.md":"8vzurRXC","theory_color_models_subtractive_index.md":"IbgFi8kJ","theory_color_names_index.md":"BuWPAXmx","theory_color_perception_index.md":"BboJ-qxO","theory_composition_composers_index.md":"BibHWBa7","theory_composition_electronic_index.md":"BmxNjROa","theory_composition_form_index.md":"DWNwIMsb","theory_composition_generative_index.md":"BT1exoVC","theory_composition_index.md":"bkicc-Vf","theory_composition_serialism_index.md":"B6MiTLtt","theory_composition_song_index.md":"MYh4F2wv","theory_composition_sound-painting_index.md":"BpNW1XmT","theory_composition_texture_index.md":"C4E1g_qF","theory_harmony_chord-scale_index.md":"CkMAaUUO","theory_harmony_index.md":"BRCdtYlt","theory_harmony_modal_index.md":"DUVh3EIJ","theory_harmony_modulation_index.md":"TtUMbhoD","theory_harmony_movement_index.md":"VlN8AxVe","theory_harmony_non-chord_index.md":"ByIq3bKB","theory_harmony_polytonality_index.md":"Di2hKM_t","theory_harmony_reharmonization_index.md":"By_5wj85","theory_harmony_study_index.md":"DxiU_NT1","theory_harmony_tonal_index.md":"BuDcItlo","theory_index.md":"CZd-ky21","theory_interplay_index.md":"CFgmaOsh","theory_interplay_spectrum_index.md":"C5n3Wd2y","theory_interplay_synesthesia_index.md":"8QHNt8p1","theory_interplay_visual-music_index.md":"w9oHxGzW","theory_intervals_cycles_index.md":"C2azQ-5r","theory_intervals_dissonance_index.md":"BtmTvoFs","theory_intervals_emancipation_index.md":"B9i0UwlI","theory_intervals_fifth-fourth_index.md":"C_-UxPNp","theory_intervals_index.md":"BqW0pGCB","theory_intervals_second-seventh_index.md":"DgFZQ2fy","theory_intervals_third-sixth_index.md":"DcJYc72x","theory_intervals_unison-octave_index.md":"laom_Ze5","theory_melody_articulation_index.md":"DAETlc8B","theory_melody_drone_index.md":"OBAKhKYu","theory_melody_index.md":"BIiNHSu1","theory_melody_motif_index.md":"CO8i_bjW","theory_melody_motion_index.md":"AHU-zCRT","theory_melody_singing_index.md":"DaRBknfo","theory_melody_study_index.md":"CzMBi_oc","theory_notes_alternative_bilinear_index.md":"CuvqMXic","theory_notes_alternative_chromatic-staff_index.md":"CQe1nU0S","theory_notes_alternative_dodeka_index.md":"BsBg_UJi","theory_notes_alternative_index.md":"B0hxJ5LX","theory_notes_alternative_integer_index.md":"BFCAxcp9","theory_notes_alternative_klavar_index.md":"CsEw1BgC","theory_notes_alternative_numbered_index.md":"B0mcjHUJ","theory_notes_alternative_parsons_index.md":"DiTUuVmR","theory_notes_alternative_scientific_index.md":"BR--beEE","theory_notes_alternative_tabulature_index.md":"DZu0kDui","theory_notes_color_index.md":"Cftd2oO4","theory_notes_computer_abc_index.md":"C76Ncguw","theory_notes_computer_index.md":"VXHubVTp","theory_notes_computer_midi_index.md":"DXyKKEs8","theory_notes_computer_piano-roll_index.md":"BxhSrCD2","theory_notes_computer_ring-tone_index.md":"CUPXz8FB","theory_notes_ear-traning_absolute-pitch_index.md":"CLSrtk3S","theory_notes_ear-traning_eguchi_index.md":"-n3NSg_O","theory_notes_ear-traning_index.md":"DZPV1DdX","theory_notes_ear-traning_reference-songs_index.md":"BLBx7F7A","theory_notes_index.md":"D3vXCezR","theory_notes_national_index.md":"DZVJTlim","theory_notes_solmization_index.md":"BQS-FeDf","theory_notes_staff_evolution_index.md":"r-aNolCS","theory_notes_staff_index.md":"DzuyG2VL","theory_notes_staff_real-book_index.md":"CLSMmmxb","theory_notes_staff_sight-reading_index.md":"C5jB66kv","theory_notes_temperaments_equal_index.md":"CAdMg8wN","theory_notes_temperaments_index.md":"DNvGigjj","theory_notes_temperaments_just_index.md":"BTmYkiFP","theory_notes_temperaments_pythagorean_index.md":"D-rpU3jA","theory_notes_temperaments_tunings_index.md":"gBMu6Cdy","theory_resources_index.md":"BO2Woc7_","theory_rhythm_counting_index.md":"CShJ2ifj","theory_rhythm_groove_index.md":"B-ajheCv","theory_rhythm_index.md":"CvQeo3Fo","theory_rhythm_meter_complex_index.md":"BZjMMWgl","theory_rhythm_meter_compound_index.md":"CQkLzggP","theory_rhythm_meter_index.md":"oaEv07kl","theory_rhythm_meter_simple_index.md":"BkT-rtDt","theory_rhythm_meter_time_index.md":"CKxI6B_0","theory_rhythm_pulse_index.md":"B0_Zm13L","theory_rhythm_rudiments_index.md":"C_eimZW1","theory_rhythm_study_index.md":"DdE7-Vbr","theory_rhythm_system_balkan_index.md":"DAbsyJj1","theory_rhythm_system_clave_index.md":"Bn5Snk3j","theory_rhythm_system_crossbeat_gnawa_index.md":"EnQn1SQT","theory_rhythm_system_crossbeat_index.md":"DYpJZaeW","theory_rhythm_system_euclidean_index.md":"BUaCLTWU","theory_rhythm_system_flamenco_index.md":"B9ute_fv","theory_rhythm_system_index.md":"CE976fB9","theory_rhythm_system_tala_index.md":"C0RmKphu","theory_rhythm_system_turkish_index.md":"CDO78Sta","theory_scales_degrees_index.md":"CkhrKQNQ","theory_scales_diatonic_index.md":"BZOanKLd","theory_scales_double_index.md":"C_d6OsmM","theory_scales_index.md":"CvawYLLx","theory_scales_melodic_index.md":"AYMsj9-c","theory_scales_pentatonic_index.md":"CnCNu-7r","theory_scales_raga_index.md":"Daqgc3E1","theory_scales_study_index.md":"Dq0PN9Yo","theory_scales_symmetrical_index.md":"b8w-KAhM","theory_sound_hearing_index.md":"IQYwC27c","theory_sound_index.md":"BQiLpleG","theory_sound_nature_index.md":"BonZwmc0","theory_sound_pitch_index.md":"Ev3Xe3mt","theory_sound_psychoacoustics_illusions_index.md":"Deb7Q-NH","theory_sound_psychoacoustics_index.md":"BZaRQakI","theory_sound_timbre_index.md":"BOkxhNtF","theory_synthesis_audio-programming_index.md":"OkFcfuBc","theory_synthesis_distortion_index.md":"741F7fWx","theory_synthesis_index.md":"DkSBGEQv","theory_synthesis_karplus-strong_index.md":"Dg1V6kBf","theory_synthesis_modulation_index.md":"BIV1Cvgy","theory_synthesis_osc-sync_index.md":"DMOaTvJh","theory_synthesis_spectral_index.md":"Be4XWI-I","tutor_index.md":"CXI7HdfD"} diff --git a/index.html b/index.html index 9c64e8b9d0..f85bfebb3f 100644 --- a/index.html +++ b/index.html @@ -6,13 +6,13 @@ Chromatone | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
AA#BCC#DD#EFF#GG#
Chromatone
Visual Music Language
to learn, explore and communicate with

Chromatic Spectrum

Chromatone is an open source research and design project to explore, develop and implement the scientific way of visual music education, communication and performance.

Imagine if we once agree on a standard way to interconnect colors and notes? It will empower our music perception with vision, most humans primary sensory channel, especially in our modern screen time. Why not view music the visual way today? Let's explore 12 notes, 12 colors and infinite space of their possible combinations.

We've discovered complete and coherent Visual Music Language there. It's evolving through further merging colors with notes, rhythms with shapes, intervals with gradients, chords and scales with palettes. And we pave the way for new generations of visual music explorers.

We're creating the Visual Music Theory study, that helps beginners learn complex music concepts in color. Interactive web-apps in the Practice section expand the knowledge and grow deeper music awareness. Those, who want to go beyond personal explorations and get guided educational programs and community learning experience, can become members of Chromatone Academy. And we are just getting started! Also for those, who want to touch and feel the colorful notes we have a cozy Sticker Shop.

If you have any questions or ideas to share - feel free to contact us today.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/media_files/cover/practice-midi-grid-cover.png b/media_files/cover/practice-midi-grid-cover.png new file mode 100644 index 0000000000000000000000000000000000000000..fd63808a83f393095383518bf048c83ab4113b9e GIT binary patch literal 30052 zcmc$_V~{OdxGh-rF59+k+vYCYwr%aQZF`q(+qP|WopWFJ>yCKwZg<=p(d$=6tjw8X zjyb+DzBMzKqJ*gEZ)X4iH4#C1Re5%N`JZF>9pEfL%0=)KU|wt16p2E@B4Ye`@|)aW z;ifk4V{%*uZ)o3Nk-@`Xt>3C`7tL-AIm%AHGcBJc4-luV!{4Ik=$mqfY?b-CuS&1x zkI{^}p}bTN{hx4*p9P=S>(|q^Z(UvAlO93ejSusu854YWws&}qUuS&RzURJK&yk;z z3&5}4AG+$k>TqX#PdvfhQNGdN-mj^9k5 z)1$hhyjdTy&#~*>h9Bck)@9FQU58)u@7LFGgVzV$+rGJ zf2nr47`E`_buE4BzCAyd4}E*V7ky{Hsm^j%`95@Z_@;eZzGt79zH%bOc6?91*1SM{ znZB9cEiZb%mp||%@P7Mjd_a8*e#0%Z&EbPNO9te`BRPEvuj$qewoVfha5Q#7D zrZ{d+1O!v${fw!MftLHAgg)l`U{y8LQ^I3t{W|9dN;MIhb_K6cL~w(#0j)jNw#>UTDw`S0h$uM$Ls;YOk7st$W*)P~|(#9Ue^L04@1;!C;HO|_@ zIR=M-3o0%7(<8##E7+iJBEFXksc=hxgebd5Pe+96)enwR^&aiXjkK?xCl|hMB6!xm zO0RQ|lDA|p4 zV%d}f`e5yDQ7ovV@Dh7|x7Z?Gx2sVVH^J`!ZxPT0iAYHXvy$D;X?X1c@fBbS6Qsfh z7UhOsaLM=_4!dYeuwm7=s{E1<_enm-3*4YC9`H>Wg4&QgXBk(&vs$A0K@~{ z;+WC*&FmY^-#UHSpIHGS?$$iY#g<|`yu~jb0-)9ZS>1U#qguc$ETJ$)YWkatE6)U+ z6t!NpjZZc}EhQhr-1O_UFEA9Wk8?~^Eu42SQUvxBURHq_33zdk+(dA$-c8U3V%oYo zhG&iuPfI+UImlesWSkUPV;y{owIh8(po$yj9CqcslD2+e*zgnUPpw_E%S4bWXw3*z zDO{@{E5NsBdQa0UpbC&p9*r{)uwY7!i02)i=vzEi*Q06jaRA%xlpzovza62G04j00Svo_N&U$>ST_k26c$WJ1kJ=%?l>|rD9T?Ya@SB6f6F_da^MG5 z&?@K5uQ!de)W~|GR`+TY3r(CIritpfj|{&y{A)e%VO1RaqN5bm;{HyVSnMa9g!0i4%f z6czL2ftfFZ`OE!2QT#1$X`~;2E+`T6=ZYQt3zjQfA7p>2&^v*@`WQ8@2;sUpZW%B) z`jEi49eI@YU6KU!RA|}>Q3*{zU#nsxe9yg%S&GYi-2WQ8{-b7ryHmQ*xirZE2DwwCe{_DN zP;u$XQln(>r*wr)%@R67)9;NPGp%`6#;K|>P*o7kK-f_o%|!ayM3C}TzPu3(b;E#> zU=Qb%;-7W=X2l z#{a!;Z0T?{F5+L!|IcwMp>;Wb&nfOhk&fy`2~;;~v;HDK@JLt=95G2qp|$Dy$S`f3-6qvT2 zj=4aM=7n3FFCVn36sA=J;})bSBiI(5*t$MV1kNmxmLzO1$Ax^=aTB)dXXHxcJ{+(8_;~_DF`ysuApkP`U#lm!|7Tf#sPo-~~ z2c6bslyoZ=BP*#7{pLLq5>Uj&62FvBs;3rq;MCzo*?lD)zXf?k$tDCmj=zY22+33_ z6bJMi4EFFK%Ie9lTs95+wj;Z|1~I@L46@H=!_=BPDr*jc&VZCqaytZCx28B_{WW)u z%Qy{m$+37pMl|BJ!qX5SP?JO-$*GKAnmRKDiCEZiMC&SCf<%ryOxRSOZR#yBRr;+4 zQz_ZO^?&f*i3Ize&x6K=LacxeKz7MMOS%JQn_DN{oC z)wJYJVzkl{Ty9FHdj{11fLC~|Gt;JaJ}ErJ;?O%~0wPn8KfZbc0wPkfocL813SV4? zRjOi;)W_8tzqiW22+|55N)E)54cH)kOL6baj|v2ZUaHq(5Hkjkcf}X9aD5bzmMHWB)hpweN<9Go6T-4 zuKyzXNF8d8s!CLZ;+}InJVd*q4P=A;P2fd!tPA)pOPUVf$A5DAj+nIUsKiDJHnxu; zjC)+PZh4{7(&++HkR&m%b68ZADJ>zE0u|Rqe2mF7z>J!RkMzUk!#bcMi1e)ZW>yN?MS zS51X|LqWc!p6tG#rh0?em)VM|wpVsWFY&TmWutB}-TR)QgwEJ3SJ0};pNo?{zl}7w z$|?L#PXeOE+MVfGeYFV*c->Ki@ZE~Xe#!!6>eo^hohW;sP_WsRRplh|G`bk&T`61)ceR>!m1%<=Ab7plO3T&+oGf4T6%b;k^zRl*-ndN@eki68@qwyN;sPBomwt_2`96_WC( zf=D38%}_X;hTKG}GQW&sz12|zrils3F@>FSBlg1d?O>!mYK z({zv?z;bmM66b09?OtUBq16qnLjORjcBJj|DsZsDS3#U;#JbgMZFWO!QjNR z>mG4ZiGXpN5wXDLHDHwv^cQ}q87oU09n8qY-svL|5P}1FO7Q3@?bS4GzNujYktB1b zb%U#Y?|k>huwinrq#?OvQbGWcV-X2A$=?_5Cnw;uB6=Nl~ ztfiY%FS7M;5uw2>>zT$%IbU1*vf7h}TIPLH46SR2Vx!FY%MrX!XN{5GsadN$jV_u& z3BJWoG&Bp!-qG)$w0oWn?p0~R6l7A8j%zsIp0w->cHj`RUJGlRJE|E8lA26W#O&?f zmytdfxzBg*T?@C}TDguXM}{2b5R&^?%FmsmCOd$?YwtW0p>JMKcvZ?6ZVEZ65^`hg ziEF`A`lgAie6`l3v#c{vmE3gkl&Si-M8#q|7{T!lXaYKCr{Fz`()h(r^2$_#w8LTP zKYu0%P1`$^ly-b`Ejf!pfr#b!7f};KgDI{IyS>(>?5b#`;60gW>3c9gxOiawjeuA_ zI>JXR<{J}Il_lXASI@9rg62t)X3Ii+%V!?L$Bx949nn^&#YtS-5e5tIqMVBuKFzR4 z_voaq^O{TLCe)DG6F-aI1n&m))rh52H{F9HoJL!av%ziDq?{g_IQQFa&Z3V?fL-j( z{Tk!TEr#Lrs~kSd5Z6y`Uk1TIe#DgbT4>jSbjy&}9Io`iki3_6Spnn78yK&pwdk)>>k1j6LJZlB_y#G4TTT!n*c@%G}oZ zg$ltdk2!$#+k^nA%#*%ZgdZ4*R8>k&D$lSu{e=qjyatYJd_+_evq5*3Ci9=Ch+TOE zx%=2nH^2Jb`mLQUy=Y{%f|c3(ZCfWDy<-qrNaIk6_b2V{bY{x$_hLz;B?*(e116VW z=5TqqBn!dZ=GseJoe{Ywdo+7O;b|Xg5cj}7hVn29sdDtW*7Fz3c|3wp2F5ls+OAsz z;oH)}x~X}Da*%U;J*!SgeLXJtovJ;4Xp_!iwGof#Q^5+)#L^aICjuNvqS$4T(pBHd z)SwTAeC8Ii=1@hhTLI%G$@#o3fbp3&JrGtsbWWWN;R0t``= z4*rS&0j)a^LELf6b+GADuul++Q6198FHJSYn-y!TjBRW~=#(jMNnN|tai!zfIW-WU zZaJ4tXxMD~72ZUx<9B%LAzd)ke{EUr{5TU-*NI&w2u#+oBkOdX2H55yK=|l6TCy)g z(We(kPO_i*yzVe{4cCKuzV$rKRaB_~hAKxBczjPPiX#Z5dFni1I}oV>GDy8nlptkr zEs^_Or?%&H>1As%oTol7UGzOj%aRK>I+J*vL!d5gb7)|e$3Oc#FX+(qo@GbrC7fF>@EFiEvp?;C1%f z=c+$uw`d)JfGx~Z>$j{Q8a&~=GDzhe%gzxMTvs6cQlQ82*Y5=ufdDluHVkh<0{L?J zs!M(PIjy`Wz;uvTyG&a~iAJK;lhW%P24!uVSDq9UMfY1IH@NGm-EwS&|1pYQ;{VMY zr=ww!C-=l3Vu65b$*ZRYAE{>lMyqm`yKTe)o5$>w(3v2wHfkB4Tm4U5davtB$Lg@; zCWVgj7_zP`tn2^IsAv^6-8=6Ptczk@NBVUMIO=LVbGQ5$9-s41uu*Db>u9-W6+nL z^lFw~ul%XVD!!kn0jTe5mo-%Sz)SSKB;Wbf>Eyxm|1fhSUJGQEcAqCr!t7qD^lO{T zSH`QCv&VRumzmSZCMz?jPfQ%C0puKTSW6s!xbSq`IUq%1QMC_H{Rfx+W+BPB!|(Ry zH5HYJMwcLtN`<31ULPPsot|2+|A<{x%Gv&Pm5i-amH!0S95(KxHJcKRD+4P!g;A{& z)#|!AWIg&%|F}l1yEwcc_%Dw5dD+51DMEUlhIGH6)t}UcuSJ{2Cpsu3%I~nmF7=Iv@D2q$4G%|soC+(@&GEG zChS@B^>U`RmzZ!@I>A-c;iX?n#+#_h%8kp|=#1sE^aI+pj>kZH@+-bi8sS^EmaW~j zAaLtKAn86)oMwe7LYwIXmIFlmkc_6Yp!6vUCJj<;epF$31i1uE+j^TfPvmrQK#Iu8 zpOs4XzvJt0vw5z(Ql+4gVA3F#+5i3q3G)dw@Yq_h`Y@)vPBjL1t#a$3ui`(!6}R(b zY2KD**&1HkD@78Rr!%!KE)zGzOI|%o_*KoD|1S>Wm~>}iObrD8%ghB3($O5w9{Z&^ z5QbAuhfTerIcJqxKh=Lq+tnP>VEBez~3XLkCunBw$$TYVY`U{cn@W(jajGNZg zwEp~GlAz+Nh_cUGB@79L#1W>5*(r^u_{XeLj5N)kLK87x{-cG4WooB&45`TE_dAnB z@nUVKw$cf#KB5S9iA$*(b%c~Z{K(hi0_qO{i}0u-bQpk_XPeX>w$Qfr9e~{@2 zuXe?@^kU5fhbQINC3LE$F0Wi^D9Y}yNC9Z?OPA%OTK{u&y+7ZxYCKsV|FZDhbaB}j zvB?PIL(&1Xt!Xo2BMoN9j zRBf+z)%_umo`TBvgC>O5wPkZhRS=wdKS;_~M4MSYa{rGRpZ5~>K-Qa11=AI0423CI7x_73=)Vh###1Icz%`Dzm4Nu`; z9Ef5voPT~%hxI&7SpfZGBYN!T=0NBVSsXUCil?0AEBsVAt_;##jX|9@QmK-m|80D= zUR)oW{Mb}%=YItkp0S)<0fBXCyf1kwY)|cue|`{9-8{p)k$*B3xpAp>l)NVSo!uJ?LC+>bwnHPaC{>O}UAW;Ei5_p{`f{J5V zBJ|sjZBJ`{OcbW=cqmjldcGkpRs0mlMel#hSBlHJMo(Ue3U1C9`M0!xDzr2*1 zJN_v~jLj5|ew8VFerFP>E-dY2)}H`#MDBf3et2U(A-|K!}FDhLuU#oeXknMIm~%=qd*7FNCVdgo71UjF??148rMw63Gt2VSWkAoVSx z&8z^W|Bt!s#Os0lbPIy1l4ken#aLY~U+J$uX+B=$hS!co0o65s0sWT?~sr>j%0Xf^yNHA9;# z*gEOU{}Wt=>^$jfHpQA(239|-qj#d#&^(7^#1I=n)hOOw5nK8nIEad~B*2n|^*l{k z0ROR(T5RV=e;5zh%ocSDrz{n#pXRSUwHRkjP^X1tf>4Y`ga$;lSHPv~fNCAAA$jCwPy7b46y zOcC0Wvva?nj&E7~Y=>5qGh7?wnfg;GJse4$L= zNmfpNtkSa{O7-d^K-l>lZ5K>nm$14g%`E3}5wF)-b~2acZc|{#rluYXZ5OJ1X5HG3 z1dZJ)I-jV)AhFeWTwqjzOO|ZGit;1(KYm44D1UxSwVk{J{KBMqW${{#Q5Y#ac^=T& zpkZ0i>iKFUzNBhfC8uct2{n|7{zRH`VZcf757RCMUd%vi`vi(-Qx64m{>E(v7aoPh z;Qo8(mDT=TfT^;D6k3T5pLF5w7eL;k%v|hl0^Tf4zNO-AMxtR$^?)Pu(9ud$Pao_o zi?CPYNNMymyr-m?8`w6|^6>h#+a#}YTDF{TBZC#79!W=i*418>!Lzs7wUe`SaN+vhDAj^*2`Mgl2naZ*||T928`FtpYb2W=!_ zqd#dI?p?BX44h)#{?pa+&))&hctHlBhS%BCjZXyqSHS781TNv!onWveGNF=73jms!-+u?cco{SvO-n(ES>8~b0?1jIGS%MT%c$0iN_3&Fystv^@>n_Z z$zOXCUV16km8;34Ib6CYv0z`z8X1OMO)%}K^nQ}AHG z)zJhm$ZDo}9{g|oS$2Qway<2MlG6+!`pY#Cb^yM1N$m!&2p!#BWaJ5$h#p;>){S+`sG>vo`@G+3_9ee z0gINu#F)Q<*Pgu_uwbgIUoAv%Ip?*(aZx;crry3FCusNMXG{G&94y_o`(+<)S}_wO z9NloIvtbe=7jqgh7?=4vW5(UGJ3ZO)^?Z9n1urcOw=0pcFW-e=iI|#l=(m*!vY^YQ zoSV?e`{|nM4LuMWag`_q3lJYav>zI8sbH59{<%bC2Yk>tdCtCyVLAN@WEF z?`FakVp9@_sx308j&e=X)4CVh@i5l24xk?Cpy^Jo^emb6E$Q1IcQ6a`!bEkl3HxN*@)`z%7>;eq%GzaU!T^rR->J5@njdWDaNpxHUd%t_`52iUx>uT zwmHLvSU1aDxeJmBA7<2e+^Dxo_J?awC}-fbi?#2v7VVV+)-t}|vDp`#dQyjuC7h2= zzJ=PGQ4HQIrT8Dh91jB8(-!6>@BU_Qti}-@At|)a09`wWd7vSipwZQRtwDpy7$Q&9T#aBGk|xLKxbYT=X$S&yK29uH%SQ-k%TLyPFtaKuPdkx(4IUWg|qA5$ET zH5Xpw7Y6@%=J0LTDPEiXaCt+3Lh?g}0n>Imz_RT*nV|(f=?au!t$^FKuQYf4P`wC+ zTaxZ<$4a=mr!(Ry)jQNZ$Z-(XCP2s_tBmxN>;VaKDBUyv zmXcR2o?jE_lDdeLf~cRb%2U{AX*5?wjhNM4?lHlvAf=r<3larz*u~$B0Hf+drM!n2 z_J}ofN!p_3+cX;vKm~p8LNDkqsS6LnA5-P$fAmbV?glpzbmU)s*wDG>npA(G5Ymbx z`6d^^Xe9IIKuIozcKJsB-4TDO_lnfAXnj@NkyWTE&@LzKBkMc>ly)pVSYX_5t(Gzp zNMq{t`+#4Z6@&!2S#fCb+M$w;5WlqD(THEgAu)foE4pnMkP5@zG- z^cK#3@P@Wm388ok71+n-A>c7|-q9uAtkWJ{Xnbb-NBz3-T-7VioUaB|DP|BKC058+ zc7A)yc?gpb=uenhfz3NLQ=~LN8_ki72Cn{m*;-VC|BkJ%Nf>l^XC$0xKLzM-IXgaE z*^u>AV@9R)B~;fAsELrz4GLDa(WSmhOQ|76KMWd7Gc?9uOSnBuBPr#9!P)_#LWo3f zE#c9>PCJo>D(NPl1TH+W?g3i*GFv`eW%&!cax-d}XBj$h+A+ zTf~WmL*h(lgVm_SV)OI_qlr><$h-9SsQ|@D&q--qkC?QIU(6U{_^C({SL4>9(r7vCV>hNu zO^!~CM9YG!ZO{{K2IPx=in56fOJlEg&|f_fs5*mFa&));Vs9Ws^21ur3E6FC2aM8l z;i$K75(00F-GZVeElj~oe6&fIwg_0)HX8=DpXk^QBMKs>n~t>KY~#@guDWP;ec0>J ze;)?i@PFO8*6n%UrY8e6rv+oHKJn6o>p$3iHw5Vt$<@iV=Isg`Awt8moe`78wf-%${Bfiym8N6JcP(hg8kY7Uo8=~T)}r5l)usbM^Nob#9t}D zi_pW5A)w-&c79{1$=Gm_LNENfba`k~0v-kC@ zoHpE`8R1tj1N?mIWX5E$vZtEzX^r3)RX?IRg#mVUY=sN*y-yv>U1}qo1nMXQg-X#-N2!u1 zQ}DFAVeOw?Z(FZkL5iOZk_eyFgn0JNXo+1OZt&j)03SpyO6-j@N&UtB%dbo_#l_^L zW*5jiDZB%duY2SMfNJV};!$1t2%B=CSzV?M3saTWep|)+A*%#EQHWUrGsmG`rIgK{ zus0Iy^cPh=QLlx&X&`*h!X5GwRBi;)hAbmp%fYypHIv+bpQkE?$e=Sgr`sovtYokX zrrCIhzg{~A(fpN~Kiq|`k#ZqKF!c5+D?P(K1U|X(ZUvtoAm|r0W)+Da01P{GM-xDn zsUmSULiGOKh&!+^pp%*r?z#9# z6H)NPhde8#t@tpp65bHiYKC0xejnt4R>xD6$vCgFtkQ0cszD0wF=+=tvJz)WcO{hj zfKlhz;{2)w^~KYI4CWR#ZAH~`5(_A00XK@FSc`0oZFXUI@Wbg|iU)MV7TD0KU*;w* zRRXB#sj8m_6k2`s*`*`b%1VyJC!IIV9f-kkNTH4@ug~7R(Yr}x+R707c`dND0Dn{A zx6ZnOT9_O2IAWfwX>*@~Wj<7cTxCGwcIFkh)RuVCVIW;OZIw$rfl3Vf7ObDGXZ;*y z;*P@)QW<=U_wcgRc9%dOrjR+_Zg<8)WEmL)aU$OtN!-nyd}yqot^Vfo!w443I9bMl z<}ESX$yNVm_Z0zD$vI-)FLSu-P9)d7!C6CAB@pk-Q=kuR0rop#e3PfSYi z5A|?re)`&Ryv6~9mM?1x=d2T$e`whIkomZPur6DN2w9A}32$i-i#+VGF&Fdko^>p7;D0@0u$nTNI?=A6Du# ziZOhWrv!QvhX!R&!axnz7j4EW@hsb&O^%A)3?^#&;RwrqL{0G6IZCxuegJ4L7#=b! zDSaBzP?j#CI7^r)KkNwzpN_?9Y@kEOFQ~couLE{Fw)TI zdRRT#M!SSE_D)lx^p!L?gDJq@YG=Ls;m0DJ3(9)`>R&XQ*B>(P zRALNE6fV(z#a!R4I80yf9+aDCQh+jqSGW9kwT6HFfM7QM^q*3NTLZvF;VXG{Y*$g| z|0Z>Qt4Vhl6yEA8ot$7wboqJH*bnbz#`LRT=lgK`f-bXmr0te%AC8#(8zAap4@aN{l#rbHn=EEMnpI=$N$jps9@Pb-|v|_DAo{) z>KImrIY4OQsUg+5!b@%bx4^GXa3Bpc2RMXkLLXq~*mau7Equ>k4Ie9jrWh(ox1DEf zs8>pq5am`y<&3x4nMzGw=}_D{bjsW!-|tFCxX3fCc8{>oTfKKX4BAzCxwDP?RG4^7 z>mP!Q{;6`VP=(U3_U_6-J z>dQNsVd=EDm)y?FVI`Ts1QwgALfv2T>;F~*M%3U<-edp0j)K3UP+gPM%S(=b`kH5& z6;A}S0HhS;JVQu&SXq$qR!zj8nV-5l8p$^W>9{>3R;sXQ?#yHC47 z0*k}VTMY#+%0@uXZT(C=k_3JR`wJocZDUKTe?onPPbO0 zisWFXkBpbnQ-K%5Ibf}h^zFtY@@`|&J#~ZrUQzeDIxwQoVN;>s*+<%Vq>O;&Ywo5A z&t5O!i^2@q_F<7m50_p9nzIV`r0GRBX$Dc+L$Lq_0rtaOy~!P4Cew%2wKpE!H|Rq_ zy!tDQ{6kSY%?1$k&R2522=)USHdg)bn++se(T<3>zBjjJQ_==DX0euP`rMQq*nZ z1PS*P-g+NFE_SvW>G53V$3#&;vCa!Phll6}B-EQjP5=OQv`meoFAU$JP7HSYX|r2( zvzTdbGED&nuFuXurKpcczoIV?TZ{+uu`R5IOuVs^VGIjq#Z-bI-p@DV7=+#QUuGv+ zp&8RJ#_s2HlUv5No^a~3JU2roTmU0ylXu_S0Gv~4-~l-v0d-lQ=>;~twAiq9T}g))|^m7td%6HwNR z8UK})T2PW8XHt3A;f-64Xs+1!^Gt>Z>p$tJ6Wj^M=J~PP*eUfcCcKVBJ!&hwNop7iZ3~zDup+NSvmj z8B?(hKvayvvlk;=(+v%A_Ih#pR0PyuwMAeig5P6lZ%Q-Mj?qVeH)&#e%xuNfY-7{A z&lf8Z5!aW2^ZXiWk)LXroKf#WH7}l>{x^k{i%m@}>qY`6>FnP;E5vxqLQ*v`S|EE0 za*OMHnS;9HSKx1}*H1^U+_!9l&ms^r_&HIlf%==gNPq&TB7^e8S2J)g`@^e8sz(OG zFslm&2z>ECsr97DHyC-tWXoeFcwwd{aYaU}aGN@Cj>DArYDnoHg=!*$1FY)y!7XGM z6}EJx1Ks%EEe<>yU*oDjJ=w5hUO&k<_^WpaS_4)qUAx{)V|?jXN4(!}O$Mgs71MDN zAqq*k> zFlg0@O$z|W{p)Ew+zs3&(95hr{7g-Hm+O z1}IrpFy}(zH%Z~XD5rUNp8T!-OX^+yW}XFsHOcvXfY;`fIPl}q<*#z{(@OiSwz}d9 z!1~;2y$=y`C`19JR9V_jS3m#2X0t#^IZDYU?6ClJ|fH3 z{+{VGvOX*?60lbXX#Jqpk3MoqrunnIWIdut0^%-KRqArRC`*kl+_1$m?b5HAAoo>x zq^NPLx+t7KsT7Vn=F)*HIny8MoPKdn0013P5EfU*$|L?w-)^s-j0SBFN|61%-0$s0 zy?%|jNv;Bk1Q94MN+7xX8ic3^I{*N>dti#+ppG;2fCw^*L_Q%Zdxh7krcmhVmE-Z? zWwEu9v?(x$YAmDa*Fb*>sf@sAPzzxYO=V@wY-+!g7Ez7Fv>pA(V%(%C-Hvi4jdcA0 zkkx)h4Su)u!zu6i>Fmq!0a{G~U|FYK38>|`8s0Em{9=F8my~sZQ+ShdK(6hE{T@k` zh&ceL#v>+}R?mPsjl&v0P5CfHxso75y?G#HNT)l3xV+HU&6^3K0w8V~?9AQ*M#;bh z+wjnYbaG~(l|=wD3);I=m@n9+lK0~p5V2;QYcyDbD5gJ{ z9j0!tV@@16%L$mq6rFfMO{7X-JoBSDIqUq~?YD zsVP*+E4k6=N_@K8xPbI}$n?7}ZTfvA=Y9jUugk=BC2kp=s0(Z;rKg@FdYI%lx!jpo z_X~V$)Ib=B^+55&5=ABI=dqB|KMn6>JC;oW`ebSC&N8TH#>=_9n#EJ?n zBig%^To-;&ECz2Z{(CIiYLprSI|GUwBE(Hzye|d@9Th+kQ6#IYZTmxsqQuX}TM4U_ zLUHj6+ZC^bUF79s6sg>YqNG2|gl{oZ_=XK$zi! zTW9K7e(K;jxg6-RzLrI2BGKNUi1JLFJDxBdLx7T&mS`IM)qoe7H-C{D1fLx&*}M-| zm=7fix&Veu_+H@1F465br}CtI(v2e#z`=Y3Qo2mh6WqhF6{iKB zR~2FZC9oGzNi;PL3BuBuvYWJvzXzzHI~=G#ex+VJtJH`ZaBz_&S<#x7m;(}_I~ix2 zUO14+Q2B4{@XMBx>K=yIr4K*V!GfPVa5+Cw2{Bi9{QXwE!Z%0(os8J z!pdcE!^{bTLN(p21KCft2v;SeEgvTW;k0)7jkQz<=to4n5#pk%Dg=WErp z@M(UHE1{RacRme#Zb2{$9~tn5Mvp zS}cOy3dtyWqa=8DF>O(;hdtoZPyRHeyDG>pEYmCSfK@&B$-xV@iOBZz4~-eLnhx>_qynbmWw(eD~10_C6d-uCmfCx z##p-V@NG{b-!6bh8f%U>;I{i$XX`UyZ^9n-QVDF#WGA%$FYuMPh5mQtejcO?J$e6B z@X04~(^oA`(!hqJk9+qjop{tW9CVW|`o!R4ZIj{9M553ASr`t++H4g{svg=mrdJY# zp`d;Upi9ZiaNQI~loS@d7=b(?E)Njzgtd6tGay+$ePxeP$5b-KQ!npm01EhQKP%aO z4WzneDNtz*f=M>*kzAO^W}3&1q%&+il67FrfK7PktH6*9A_4}cDGyayhz=TwOrI*g zw6B!7s^&U_Q7BC`LXe3xy4Zl0rul^&*^rxXP8I;jN+uZxPRu)7btm_cN)97_%333Q z*em4c`M+1GiK{M^nBFCDvx&rQV_Mh{MS>279XK5~B?M~Fj zDrm)-g@llz&Z<%XbS+8mcap~!=?#XxqoJlGX}FEbiBR%GEw2Z#O2ttNl#yFF{-mMP ziO!?X6g2LSIH+c{n6$g`A|au`wP;Vw*?>^t5RrQ7j}W|&tp{v@%#K$?dV%+rjC}-1 z{(&F}wM2PeovN0n@)nyT4_RKk3FFCON2pF<=ej$2uR{svw}ml-ph;+SzqD5j>)XF- z3|v(B8c@UM*($n66ce>He3a1IaC&kXi^D!YtX!48GKViMa_} zXF8=8YgDeGa)#d~QVxK8kM~vP%dAqn6{e8G<3Nt3cJ;TrQopNL2@ES4!wD)85ksWe zB{#^mQh{)JK;vgy^bDFWUV&Vv@B|$nb6JqVPr@Ri?%{>nBfl8B`|*8n2U@Ff!`%;in-~;dO`dE1i~kPe@%y=gGefyh_+x5 zpv@hznzy{)XZzSB6?Yq}x5!ARP411e6UK@ZUk=)Z9HX-Ju$`)p9|9kw zH|98?4PV5&yiKGA2bjlx1=_V*J`t(=4Tk@139AX0vzA6R9Ju~w%=X1>o6u++zj;p?zX}W0+nz-6Lb6 zc^-}F+azo0gX2ZF%lF5O?C6i7Z}HPr*<|}(ki+t)j=pMN-=%DCMqU|nr9(6M^SWh; zf^QY$jPg4eLH@|+8IaD8A`(%cZTjt;={ZZaQ^~hyfoWII-mZK21l)>uUUCYE$VB9t zVX%Uvb5;=d0T(H@ApoJ7wsf$iAoEj(N@yV~Z7g6z?-kn2X-A9YaMqdc@=95-ob6g;%cX`4fakD)d8MgFS>_ClW8_8xr#Clp}i?7!K z-dE}ro9aIq1O^bWNV@&MXoGy;sj_->t+dP+Hf!Dj0(zSM+RSg?PD`lxhWCikdom3a z{pm()s~`2Vio-CNC>mH=-8PsQ4aSy#it{Pc)fW%0y>g6dRR?{D@!(-cp-Tzd5Etwc zz{DWV=Bt69dRt0JUN;RoO1q=3=X3aFT^&VM%lffqX%!~V3PnUWgjUx9RGUIwb%Vz% z2J&Ql<=1O7Sxe<`Q#QrN{ed+{-oteu+M+^ljTqQ1-OEf*CL2etIhm;xz)j(YLN_{+ zQX)@~7u3~iwwl;79acZ*q3*p45K9XXx?U~hUr-wI(la)`I=SLg{i?(x4$;-De5=-} z_TE9bh9qH>a0dh8HmPeAlX1Wb&9C{dMn8I|$va%VlyMi~gwLpj({= zo8fAgr5K*ua7C~p1J3AHsk?S8Mz+8Vh}?EYX8F>gmZvm3j0Q1-TVmASAMF1;G>+>8 zNI)PM;ye2u=YS%)!&Yo>FR%m8z{Cy3Jj(^d!Y)~WeG`%&pjmhQ2B1%YkSgZ@LJv*} zMnpCI2A9}YDmf32NK2ftvf0yIVlfqHUQ)_Rlif}@WrY4!)WVT*IzV?W$N4R4Z;948 ze+|$ji{xEe|SFB zC>)DBdbVB_mQ#)m{*JIpP&tB9Ra15L%a7}{qw$<#$JJf2twe53G64nw@Oc38{9B>> ztNo=aM~1tvj~dz*tfc#|;f;3)^j_H0QaXg?6$kES9^oDRhXLA2W)d!s_3r`mT>r0F zHY<$o>GOFM$E+nUN5*SCg}a_7MDy4|7d5^W+hqF7mK5_peUON){W(Xv`TIB%kbB5v zzJ?hh4GlVMZE&I;7)DdGO`Z+5%($U+0a^mf`MIL3Q#-95sYIkuBk-zhKIaL3_bt~>FN~m8T z3_Rb{micJ7qF!7tWb0&SQ%%!j>jrt-BGyF70YZ5@&<}){ z58DF##`3vk^~AAGC%-AF)+>aRKnZr~{(wEs>+wQV1`M{N`hE;f3q(Y-VuEnG>0`|a zF~9J%SBtTdb+n$Y;1v1X1e{2O_`15sdMZ@Q0qADlPoMP48=(MQ+G9Ix#PS~`Z zGy3!WlbMxIc*53>UV}mUHkjB}%sVE_!|TY#DOikG-s_|Ci4TZ~%0_;~GJ%D;8ybEp zeI1Y#WP2S_C+>n+K%d>?CJw5Id^fix*WPn+=%XhECeE>96}7#iVET?744_I;$WNqf zsD?E}J(0$?NjJGR>)yrgDg!x1z;afgXUKZ$>OnePki(Mk3AfPUjG9s9CeqBE2>_+D zawbeQb7^NdhbehLk&xP~UWY>h;msu_)95+nE4ACJvk_>M@P;z02-v{5fe_XX_rC3P zrc$t9^P70mNLFqweX-`(7IANX&NbSOacoTi9tfCf!*$4!QKw;VrUkFH+ZYKp=I3e4@XIA4 z!og5#9JrlHnc~LhoSJcI3$!a+?ph`|luKIz)EoTIKM5&imPvnJs#u&B3>mu#hT(6` zb6wrU14pd_R`Dx|))aju7(M%!*kV&R$T{cUeWpBy- zMk7sI3h*pB>G#zVZZLVbxR0zj{+`Mg6?9d4hcgyO^;%E4xET{w!6417`?56@-GoI& z8p-(JS(lNMHY4Dm{(Lr5+b}ZrMwmCa<9$gcYe6w*Z-haJf20~UnmBP6%+Q{}nT2!k zstp%|;~mf5GN1@3r`%c+k>7W-vPQ*v@b<-xA1*{6*jmg%h}Q_dN2ZOyd*0|~y6gMu z3iP|D)rbKW(3}ZsU4n)?CL5=fsU%10xvQy@wYCunQ~@Tk+s|t*GpE=tVZ@T9edPZr z<{W!8fwm}J_FJ}X+qP}nW|wUnU1pbU+qTUvo6~nDlbM^$_xS@mD|=k79Gh(T|=*n)ho5T#j^7v zcIp!E$SKiY{Zo+t{>BnatZFaTc{{4(l;e?`a+@TM_%=?*sntJg4DD;*#@7c<=X;(7 z;mwdwYAO4Uk%_n=`NHQ*rJzmn-nK@@KnfgmoX_5yC3y-p%h%+<5$duM7;bK-?`JTC z8u@2zc`M@0|8LO}k6x7Tqr=;tN70tV(e@4vLwhN}G2XN3DBE+o$Y(wzG6SST5td>) zB#R3q_85lq<)lryCEfGWqD@){3AzAQd~4*(_|O?@0@{+W6NdRu0Adxtx$2L}cq5YX zGgvmJzw#zI;qlk-l*s}Fjc183mN6%I`Fz^&LM((D;#kF-?N{=yh;z}1rPCmY!w1m~IAd=!!`U$>BDpA=ug3v( zh)TQQHalO;1#MQ34Ww~o=v^AS7gZmbROJ)6$ir7pj38zT^{5$()=JcKE@uW2YOq0k zk1i$#-E9{@JukCVMMaWqYym?b{z-2fTjTSucFz>5w3WBjA=(M5S=q@^NR&is%iy5P zN8H#_=CY2#G1lGde6ct33DsZFPe(YHfBF{~m(&}Ug5gGY*@N((K{(*Ocq`Z|R8qjk z55}&%A=Yy9f8nR)n=lu*dFy&;$7VUcHiX2j@Tyul8Usg+=1Zx6AcbKwqwMNYc`Iv>MX5vMk6ZQsK_+-C!2(Z)20wB9Ky%`w@Y49U9(%nu72&L1vi zyd-QFvIO_`BEr+($aZz{^1mO!?J4VVdELodpb~%N+=-&WP>7bG3TslRq7B&&4P=M# z*z5VRJ)e8Br1e|_rtbna`>wSEX_cGKl5zF8<`>Z~; zrGZm9QjbI6+Lu#*gQZklemHoxph!>{g#&+os`x&HVD|e0*&B}eve+G$c?!_W9u~wq zfoK_4Z`imk(74dHtQxhhX3V?cV|X!y8V&P0?y;p+uHcr+*NwFyNv6T6;_6A z{reQ(L9?huUBYw>af$50-K? zj7}^#4K9xom5Bp4w@XBa2^1s7k=fE6&jusAGHBpv2-Nys%Qd;&5>Z;5jf@@u3{{*7 zlZLLdqXg3cb&iV{YJ_3-JgceZO*`ZdK4)E?9E&ymSN_d;D6Ut6#;O?0bVU1KkVCY6 z=fT9)MuQMaPUzMybhMt=iCf2#0_>G9MrNDbRW(U$M!Zw z($#2B8NnIK92YiK3%Q*G%;c@y0NEF&!$xtVxB*g<9mcFS%rCgA-7Eez>k=m4?mRXv z6g&&msP@@%h(svs8n4{nP6(!7106dKZ8lTeK4u5Bl@?j#`mF_!L3374BG2OFvyCAk z7UgbAA5$l>%dP?4$dsEA8$3aa{vS8~uYj1tAK4wvT}4LS3yhjx9e?)PLVL~nWrc?%ZDRI3h-u5l<+lT-?syJy?y z9oRV?9djrJ$3`G*{yW_uJCyDT?g4+eA+e^@M{w}HlzohL9Ov`GOejib^vwT2pEB>} zY0(zzku}VnU^=wK(8vLi<+Br($T=7ym=bsPz+y1g2q*+eJ()U)Z_yItUbW z(n`Y@)|^2sj9OX{059E`y;h!HW5`tuI+#z24^}uJLVyOI`$r({3M8EOCKO(U<9BB| zAsLr-Tt7U*ev3Ao=Ci#UX@Fm=Om%l%_hX?o*qP-ssP?Zir z6I5_8v$bCN3sb=)jR3dLJEmSD2a#FoC$Ux`c6`YjQKbCc!9hEEfU%RE9SL4ClvuKH zor1oiMgGowS8TI#BQG>ehw1DtGdT0dRR1SsN-;L^t0pLS!W!^BOC3-}o;!Rhm9nJSrDJ$FvUmSO>fc(B4c`-Za+9fC7Yttv3mwl6s={>P~F zNPu<5CsA8yPRpbzZ|RGVqer?{^y*^B@=zdL6CK<#1PO_l78ie24%4oYMNg4a=U1VK zxnOutMY2?84?U$zVAhrpC+-lTX0SK}_4rhkR9yP{1aX{d0B^@Ydhw=Hi}>~jb#d6? z{6iS(7ypPHnW{uM01hz=tQJ>S9TK8`z*i*?k6IJB;DHHcgf0?XJu0H*Bjv*Or2NH! zy-;v1b29h$=P}7WgTUd?9{%n5)Nv7Wpp1VI${?eYLXq*+Dpl&u1k4A4)i}D*D*i(Z zENB&+CUkk*?Xx<9coBp1&rWgUBPqR?!jTe-1uEb9QJiIPnh&%r+hT`lXf03U(``}@{P@m*~V1xo_$tnq|FWf z5kZvcDI>gQz^q)={K^NBcl7&({7Xd>)1Rmnguu3A?j_y%2yytw1`1%Fb#UtOS`j&< z;ot!yj-9`2SbY&b1nzrFMwt#vNv_S zLSBARL%Gii+nM+GAe+Vc)`Q+77iMv8q4bg~-&97LnjAS_uGt_XM}3fBXQb&oei?ZW z0yah|{yR~N@#N2j*V}cLf|UDPVzC?p@`k`R@t$zm{ieIDbrKwzVzxdu9JrhE22|P< zzBy*64?Xn!6t+yn7q?Uyt0zo%;Zn4!iQ1@?n&xYwAAn-1Y^bM|fVbJr;m1SX0Hlz_ zZhPyypi-6TXls!*gZrAHMDO|7MhjI&>)}nTvkTrIUaWhkfdYcm)QW>W9L1_oMxKFV z$M_fLVtlxK;P{HLNYw?1dG}o`bW!OOHe;mw?Oy9c{?P5Vwn`cpo3r=t;-KYEtKIN! zN^5<^Y{!E`-_y%A0@nkLl=}`1gr0c1o{YOaYXS}3L65~>MiFbJ-9#NXg+l&qvan9%32K@?%d z@oNm%9L~Mkmbxzb5rRAV;bLG^tY?IEeV4a1G|k_FLp0Po=-01YuJT00A$Cyqm^pJ8 ziFQXF+=(x6cA2JOj7gyd(Xcd=t6m^WEsBparJF z*UJwVZTNovl%1SIC?J<2@QDferOpR@Mo|A9ruXe1v^F|d;S*SYQpi4(el6gUX~*FH z-$mxeY6D7%j|R2e_y|?EiTS}Dghsz3?s4CIR#5@u6OUt6ppjY1? zBAUy1PK+xJEW_snhiST0(igPxE70xyXAsw#U|9~5^5@H!>wgIgXuZKeSpZPK`bgxiTF?&hresJI}_?-^xce3HI~_ zeRVtXX}c@Bl-PzC;QgC*CG*%r&PfqA$~H|9Wt|3cE=STqj&`|(!z0ws_gTaF(~+9q zy@&|hqyV^2`9y^0G6Oo$gz3k|88$=6aO=R<1wF?k^rqSTcfY7PbJ4I`@m(go3&din+mW%Q3MVRuNfF zsDse2QoRF9CzktL{IT zYSRhM^iC8gouqqACv`xlu}3cvMi4gaQ3?$3()nDu;dq`B(A!z02ySz@H2 zZc-=X$XWBn$;z*zv}pOX;hiVkeTXnq+FpLRG`^6%O+@5_z993xpk@LIiTpyB9YVl9 zeW9QvHe_+JN>{^q8hz{*R!PZ-iX}c)BMRxoTQb|KD`W~XT1~n~8=ZOy?Wo)#_I?n3 zzzV7JBQ)@61)T(ptL8Ved-LRRA3_p25IC~-umVbe+DYO;(pj$2opr1G)Di_X6N;!2 ziS{fw{zI4)PnYAa-ylK&(q|mtF#6EP$%4;sA20}VjHF3A0JCxl2%SKg#Ej|(Up&sv zuJ{fUPv-;Eg_4{cHfGv#v;QF{U`Mzg)4t(jXdR)en67uJqwifkI}Qq^j0(1t9wQju zg&_(eyeH{jCbAyfVFGC z1CgCudoD*gzd-sv3T0Dlk0+fayLJw!(R{o1&=rcUIH(D=YB1O;q|711Io8d1b)>{! zU00eWy{b@XEHFB^kc@}koM}M3&P}o{hZYyG?UJ!dx>lxTtQyd-b8*&5Y1DwtZgnp!+Q8|xomL^ zn?5IF*Y$m%p`FK`fQE2QHGvI{j*=;X#k_)w)Ejq@$0G^6id)d=LEw?^+->tws0*V$ z@_$RZksvFQKysnaTz$y#aCLWTHa_t@fJECu+=bFywklA-C`GzLd3Jx69&W zQvk!5K#pEo7#vBdaTM?aamCL$s%{#J=JU8eS?~dLO`C(M)mT*?J3& zgNNVZyYk%|MSy))fls(@3A$Lz2o4{9bhqPW-$9i^t-I*P5MsqOg5O*t)m!V2J?k=S zv0y$qcE*x%88*4H==G$L1Zo**3dw*d=UU#MK%!2w1I0g;m4FD`cQ*$OP7kjb7Zcp; z=u_h_9?sc*DR;*OCk}vMH#a@p<%ofjCNc^*_MNJPE1o;RP2_*Bq*Nw_sbMS&6Bmz& zmiT(D$Zf=^1j4#;I}CGQDv92E_}N{|ww{ucZWtRUcO;dn#HE7S-RDsLlJ=H@LBP8d z#lAXWOd~V(AhIV!wFipBZZl*EOVJ4TAIdYfkxQKIzwTv5)z; zX3)TD(B`8+Rq<*3{X#bPyR^y)g6lwAE}({*F!@#O%1WX?cD?wYC7=q?dMG^ra>tJMu?w6p@n(fq>MU9{yp z0iFn@J5i%8s-4>X3nxKLD;nyEZ5?=Ni*M}1fk&8hX0A>{ngu93tGSmmZ@_nu!u)n` z@pWHzwtGDM`)L||hm_*V3y`C_?P+W6(85e0bvnm-%Ee5s{tCTS6Sr?jvuV19K$4|J zEm{hGJ&d-3Q@bV3|kRz8H7!{xN2VKOq{)%Jn(~?|M*H$-_a# zK))0=X&_(|W}macE?1;d3*%PY(!N?a&Ei&#qFZ%mkC954M_kV|jcis^zPbSrr&Oi~ zx7+%$W=>1Bd}g#c!2(it`esS|ZXJzBV&dCrVmZ>_# zDtN69!ge_ZT!gK3)88z2I5lY0YFh>7Xdm;U^6anjZsF>D!jY2@Lv6ZXhOOI$(}i0l zI%g61Kfp@?5o`L{$hL1`_1~fQJte+QKwHPM$PsQJ(9)Z=a z5@?izqk?*)PY4WlumDj)i{trE4+i)MCKb}onov5+<}7bCJ#~-?UyfiZkh%(j=rcol zNK^4Sr2m>Kz86Z!<6XBH^oF4Hx&$IkhO`^|~Tj2tzGh8lK8CXo7$l)qd zjR|&oi;!9e=?wDzH9vgV1HBW?>+fsSc~MRbO@20aZY78ERt9c0Nj#cD+NX%}E$&Vv zdZLST4}o0YEcwPbd6x1{@X3ju{{U0m`4I%6kK4QOErx7SxWXjrNDK3`?aNE)460`c z&!D7+Wi6OyR*eYr!I9r|qXr-$yQaC`0yf!nEHDO#I&j-joA~zfnZV5A7|tJ#Q^8zf zMmcxv*TpQC#XBUh%&^g-$3!943PiXa`kc^U%Enxcit#Tf1=gBzL4V1uL)Rd2L*P0& z>u$SNR^V;-_5f*nD3vU*;5$g*fX5SFIXzp!I}II#l98mh@JMNjyl$p?4(<(Ud82@v7ufNqCS$p*Wl}(lk@Y4= zNZAnF-*;aK@Elo{+b{gYTQ(3Q7X)t{z>bNX+V|O)Z$v z>r=bZ({{`Q*RP$+h65MH++v!HG}`zVX7?T+;>Q#iMuoN8mjP=;=15sEDxP5qxvW2; z7)$lOpI0I9O%}zVwz+5&?e6(Me?383p=O*$)=j%$$V_p+#4h?1&cqH@9zsicR*HiL z8M7zaI2#V)W{zMwzh{@lQC&m2*5K7+8@t&;k)QXovvJjQkiy%Z zw}a7zm+SGCR;~JE+xX1XHfS@R?Iy^zdq^)#=1)1`>nCvkw86y^%BN-fT+R82%SB|q z2f_T_E_kCq0pM>drWqt8)_7m9EPh+DbE$^O=rS9ymEmgwLy6a$Nr#Gb#B+MBMDF`B zX(`*#d>QGSv~GZDu82)`mqbX04QR#EVgBxGoYTD~EifwJr3R*yeB5wgXS(pwcDQV= z8%sTepnn6mZMyK!!bmY31NU+KCzTm3e7Iu{_$Avia zaVsjR_nw8{dh2Rb`cKy@zry54KpkVX|DqX|OBZIu7f>qg*L$P{+O$`M z5a!mg8TX5Sk(a?$?J)$sfKs`A!TZt=O99<@VHyz4nO{Oip%jKww=S5C{%d z8RuPVY=%0V$&Hws@#T&INyUfFLtu0@jjv#q$|PdPpl7H9kvsD|UfX1iqV%YaQ=(GT zXl$2X>rLf&7sQficOeNnrW3;S{+f@7yr;@ZQqm^ZO2Q`^ryO=aBPFT8fZutbJok3w zc6NKbOw56@fUJzeh_O-|VD&CGv*c`BsA3JrFBw{o^{>&v<_FGrsgxEHyqcbSH~F5z zlq~JMAy%5!Thle*Yx==2HJLN=i%SD6Fo~ybbIkk!R!Fu=k`0&lvS7)jiFKQgl&Z^u z{a+j~gYgJk`=1AyP$v|mxVB`lGLc)eoQE`M2_inakLM+?wRZjj+!AMX9oAeVh;izn zxsOz|ea=sOw;%%c&n>qW0|GH5Wg&!ZO38G?UHkr$?N$QD?DQ#HqgO2R0M_sZXUF%$ zQveueUh$q_752wmX8)ASzC?!a!$Hicz_^>%g5W6^m->h&iJEI;7*i|T&XIk8#{g}! z0d-UnUkKB+$`se=*AEYV!fc?1W*ptX>`|5rSIAAuA>qRV= z@zPw$-b0^vU$9El2H&Qx{nwm#w>rJ@9z!8FP<6J zO)Uey+k@b_OO3D?+IoF9Oged@>3qeLtG)9ezm`p$EN=F3MqD=)NgcRh{y+g(WujH; zFUl+AA;y8?tK+R0J}{DJO-+56dxRN0@e2wvEFE8)+W=OX_k%UjY(i#y0i&4?9u^J- zm?WUVvb;me8|_+GnG=wD4WRco$n_Hr>$twz7Ky@;x8EVh;UDS;s#U$KZ1`4iJnf76 ztb3MwqXGJruQ1@-FKy~~58i=Gi3RE+zfHP%j7@$xq$^Vbp2@BmZZMpjM;?K8yHz^S zF<$OU)bI#JwK+CU!pC~GD=A(jk36RQdMw$f^@YDP7s&bAAmf+PFZ2L0U|}>`kG!}K z!m(T+h$2=7CNDsBj~*}sj&0A5kAAmN(Bjf=3E@KPz4Tg7j=f1Ixs^;NIJZQ2E;etr z=r6>$W&&Xp!`vq#P3j>>duxoS6m~SC(erA}NWmt&%t#?2)1A?oAviV&8|SIPN3;7W zG2@l7Ke_R_nBmj2BfKi3sF*w(f+N&viYnuD!wdwm5H4#suI}uXbfcS|LY0l95x*=+ zfzRKLG=*Dy1RXgBSMtdkE_XTQ>(saH%xnq18W;;*dXug=*By@<%mN;i0Pp1uIxOx< z76W^xeFK$Rh)#u#NpQiwUY{t{$n?Y&B9`M4LbjqiF1c83plMD_y~x%}je|8is4LU< z!-dF=hD}_R6SahZz$ddd|PCjAmoVx)0MB|^W>h5am*i#fE zVojZ>Cc&rXQjHDjgBTq=CTd%advY3HRW$v{8_V3AZHW~B#Q;~VTAI!R|IzfsRjO4} z#pMIJBPnWQ8u47_{;u=-b#G#UAX#NOt(_F6K9hcGuj0g~w^YqujRfk7nbh)QriXW| zWVd+%pj$3Qcb%bOx~6RwzDbmNNe8KqEjn*Mjuvp>-2+b1>lgM5jihCW-IrU4)_efe zS04CMGh*eb0dKW5imi)w~tlTs2!bbrcsl5_iZu`x*JMl)M>%-Kp)RNuIqqtN^EFpkij@}$TNQe z_BFTF_@Evu+B*XW-_~=2Pb;I@_0eKxs1?)H#CmxCg5}N)n1giHUYGBgQxK-3P=|y1 zPJAmHnhj_^xDxKd-Hqo8Q9kzs=3w#Wm1 z137XW{ASphrf!xp_}LA`Pt``*cWZG!`t!zvrs888YF$f-IKporSjl4N?~2ns6@1rL z1e}<{eCl5aeG01R0&Lhno*P#+LDMUti*fINYqubA&>QiWHvb~~c4>q$_(Ju%%2-$L zb-wmd{Sq!eHM3D@igQqz!-kv=`L?DW7{2#CC_Ng6=BM=;`iMZ5=?*wYaO#UE62C{a zLQQS3f3v46&Q4h)7kst;x9sYDZTuJ3hMEe1wUfzL!5Ha$M;@}iRIml706kRMH~si6 z_w8G=#mp|O{(|{jm|s!PWHN;~4UTKNYcB`}|Ewr6>Y=Hip#hP22+l7K+m&mtz=pa~ zxSDif@@j(+*VfH~bgb8gUdD#usUGJeP=A?5tQq{xK}d9c^(t>b=@4iz{j;R)A+qQl ziz#5_MQFWPL7tA%B^aQo3>aTm3S5q`WJ{}FXtHd?=}P{i#}tH|{P8l{nQkOB-@N=s znu559MTNAynSY_A9D^+ETE?2^9*&kJ4YSyDe%J!ZFe0ps)yk^Bo{qk3Lt~ zaEl{nXoQ1`+l6;3n$K0|sQ!bsKvVY?&V-X!gRVz^1mC(j=k;^~ho0Ds8ccz@h&kNU zREi=ov^uYKN_SI7o8X9103x0ib|7%Wluqv30r5GJD&oY=;cH8zpE)AMAc^$Y04|g? zVrj&D9A*uw!%5mGpodPI=KyQvwDRbpI(^k{S7I)DTXXpW`}kdd30c|3gGTn0KX$f3lP>X)@$^4S89L zsOTh{R*bBg8KJv9L!6L7R>ssikq$71Je4dX#&8jDKiuW3E3|;u9ym?^JD76I@x7qg z_CQIPaFWbfAuh|XAT?p%%}k)>rv{nFZA_X85ntvw_b>0l6`ERyAEtkWFCYJ-`1vh5 z+r~!ZGYoQX{y5N6UPU&vqIdcLe}RmNbfjT#Vf(KN=GLDH;bt)d+@M}IrpyN677+Rz z~iOnc6$m%$pojPyFl%+515cjJ{;Wktd z3d{cgfDwfsNmJ1z5>}VMVkOHTl~cz61A=v3E%z-)_Lw9~K;D*>tAvE|KTV>R61d*h zLw9wHp9Q4R4-p__1^d}QH6)QEncVW=6_hc~oK#Nc4xsyoXSY2)+geJVXOmoxwEzFc zGo#&k^Z3f>q*7}(&ZnT^I8!yrt>d45(;_m|n`^rlA8yrG^(Im)iPH85r zihuSHU$L~YRIFKlN#{l>Q@dJ9sC85i7r39b35#i{Etno>31goDdN|(QKRm@*e!!BG zTp#bMs!~_G=3riu0m!-H=q22dZX^<`c1FaV<^B+9z z)$Yh#{<*KFbRHgiKybQ*@txYauZxmhp`)4OjWvBiiqR+Qz|jl|iFsPx1O-h?5-&UY zFhS#_l!aYVy-#d0N(B!5PS=4^g!>y0L}AAh*gz>z5CfVkGR9un_3IzY1KYBIHQj_4 zG5-v%jPMLG{Mc_fPE5Q1W4{SSdKp9eqeGAVgyPht4WdC!Nvx()0x@|_j8M>~v44Q> z5d9@qL7KYQ{b&mhGDD*5C6$`!!Ge)Os)(6RLaRe^JxCb@_R((g7-Fg2$DI8{mX}&w z+(xh0^PUE(^vaXy0Wkh6}bt7iRp9#UMEdy44 z&-|15>0})$u6VeIk{M0qp)+}KCr?$3LW2FmPx~0DD&~XG; zjkn;;h?-BOv)!Y`z_9Drw;RTyo6lr9T`I z-jXRp$=H*@G9JycCeD>qFw1B@&M=?Cl8KZ)25kHs>q!XX}jMhm|K+x(kK6#tS489%N7!tEp7Cu`Y*T? zZS&l$9qz3dijxfA*oOB0W9_V}5pwE=1Rf5IQNr43S##Tj>VW7n)KW~?gSH*Rf6>Ja zme+L)(o+NyK#%N#g1J?E{{D~U(2fk8x^|-Ls2@fbCIp7}mEI83Ml9&7nSaw8X=u>U z|BsA}%GL9K+PJl98)T;|M%^9-@BBJO8E=9prdM~lYO>~%-kMecby4W$@o0Zeb@vWy#3CQDQs}j^G?RgUncgwKW*_qQv|35_V26eeSe@ou zi@Au~dYPiS%U%H2f_##rF7n)&3E1S(r-mcMZThz_>8(5%x0R>U5m-MUQ3{oM)2^hu z;Oa>|STLuPnk;<_)_ z9%vyJD`dWedz|(hEi5ueg;YIsezP?tCHu*(NSLIJdeyj%C@X<4AZGp_{PesK2P6dN ziQK;oy{IoJ{OaV5AYnbqHlxi)@=}RUio_s+q%oJ43imvrpEV^Ai4J3R->vIdrKg_} zlV%i8vc~$L)muBGg`*&VaU_j_mLNDqQHBqfl`nF5M{N+9k!cOR^x5i25UgYB<>5(z ztctSJQXEjDW+Np;1gcgF4f^*^KhLM%?JPU^epv7BGWBnIq4{8VrWgMFz|xmB zf`3MEQ8SR)@tT5?+~L<#Wgc9qSC-)2QQ5SC-4i?G7`vnbdGK{@LQava(aPSK2^V2S z%z95DC0)J559}i;u-KX$q|+#YrAN80=YZ$`-tVRiA0Nei_1At#ZyS4i(|D?}&!oNK zGjx^2#exzC$-Tsz&P+$Wt^khlptxxXM;8M}4_!F%@*E)jVP2cA9^D)%LQAY4VC#s3 zD&TC^i$wgFir45x(D4(WtpDWw>Pc1|TRHWUFpFOQWyR;LoI{fk1Ini1p7uR)fqz@n zP>7-M+nmvVX+D;vnTRaK7cxRv?REr&s);5ry51%D9P){DOE*Zx#f8}I_4t~F_kHT? ziRxVbYLuEBK&dm+jgs$rGjx_4l|EP%nkWjw{HH2ONe(}6@fy~&__!sh7yIOEoxOxr zTeRy}S6-w4_~;8gE(-t#?mC88{h0+miJs;y2!fbf+4R`)B zpm07Rgf8W95zj*(PoF#R!Zxye8 zhGN{Jw)`(c4-T?_%!$?GHMOI>ontLvEUZbk;fcin0bObDX>^ zz_~0r2iN%;agw1#)ajz}t^&%gVv);@&1hj3gHBuv#pH>oaBZwrHO-w}YlwUFp&f{` plMJ{uu#@#^xzNYGl`U9D3BOVX?H`0a{cSFj{c}n$_;1y~{{XL%oGkzV literal 0 HcmV?d00001 diff --git a/practice/chord/array/index.html b/practice/chord/array/index.html index a683e14357..8d25fc6acb 100644 --- a/practice/chord/array/index.html +++ b/practice/chord/array/index.html @@ -6,14 +6,14 @@ Tonal array | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/chord/chord-sheets/index.html b/practice/chord/chord-sheets/index.html index 744a276533..d89d8557e6 100644 --- a/practice/chord/chord-sheets/index.html +++ b/practice/chord/chord-sheets/index.html @@ -6,14 +6,14 @@ Chord Sheets Lab | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/chord/fifths/index.html b/practice/chord/fifths/index.html index 91669c8111..20d3428621 100644 --- a/practice/chord/fifths/index.html +++ b/practice/chord/fifths/index.html @@ -6,13 +6,13 @@ Circle of fifths | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
- + \ No newline at end of file diff --git a/practice/chord/index.html b/practice/chord/index.html index 4180a1aa56..e99e25ec4d 100644 --- a/practice/chord/index.html +++ b/practice/chord/index.html @@ -6,13 +6,13 @@ Chords | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Chords
Three and more note collections

There are thousands of possible 3-5 notes combinations, that are used as chords in modern music. If you need the get the shape of chords on a string instument - try the Chord Tabs app.

To navigate the multitude of chord combinations and sequences you can explore their Modal functions in different scales. The relations between chords really shine in multiaxis interpretations like the Tonnetz Tonal array or the interactive Circle of fifths chords wheel.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/chord/modes/index.html b/practice/chord/modes/index.html index 32c1beb675..67202a8f7f 100644 --- a/practice/chord/modes/index.html +++ b/practice/chord/modes/index.html @@ -6,17 +6,17 @@ Mode degrees | Chromatone.center - + - - - - - - - - + + + + + + + + @@ -45,7 +45,7 @@
Chromatone logo
DEABC#DbF#GbG#Ab
A Major
Imaj7-IIm7-IIIm7-IVmaj7-V7-VIm7-VIIm7b5
Ukulele
Guitar
Piano
Circles
Squares
Bars
Amaj7
Imaj7
Bm7
IIm7
C#m7
IIIm7
Dmaj7
IVmaj7
E7
V7
F#m7
VIm7
G#m7b5
VIIm7b5
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/chord/progressions/index.html b/practice/chord/progressions/index.html index 516933b234..7a8458102a 100644 --- a/practice/chord/progressions/index.html +++ b/practice/chord/progressions/index.html @@ -6,17 +6,17 @@ Chord progressions | Chromatone.center - + - - - - - - - - + + + + + + + + @@ -45,7 +45,7 @@
Chromatone logo
DEABC#DbF#GbG#Ab
A Major
I-IV-bVII-IV
Ukulele
Guitar
Piano
Circles
Squares
Bars
AM
I
DM
IV
GM
bVII
DM
IV
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/chord/real-book/index.html b/practice/chord/real-book/index.html index d190919497..8f2fb8cd43 100644 --- a/practice/chord/real-book/index.html +++ b/practice/chord/real-book/index.html @@ -6,13 +6,13 @@ Real book online | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
- + \ No newline at end of file diff --git a/practice/chord/sequencer/index.html b/practice/chord/sequencer/index.html index 548ace7057..6b14b867af 100644 --- a/practice/chord/sequencer/index.html +++ b/practice/chord/sequencer/index.html @@ -6,13 +6,13 @@ Step sequencer | Chromatone.center - + - - - - + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/chord/tabs/index.html b/practice/chord/tabs/index.html index 4d33ef1b72..edf66d3c3c 100644 --- a/practice/chord/tabs/index.html +++ b/practice/chord/tabs/index.html @@ -6,14 +6,14 @@ Tabs | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/chroma/compass/index.html b/practice/chroma/compass/index.html index 66934f214c..2cee98f299 100644 --- a/practice/chroma/compass/index.html +++ b/practice/chroma/compass/index.html @@ -6,13 +6,13 @@ Compass | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/practice/chroma/gram/index.html b/practice/chroma/gram/index.html index af8b7ce656..12387d3d78 100644 --- a/practice/chroma/gram/index.html +++ b/practice/chroma/gram/index.html @@ -6,14 +6,14 @@ Сhromagram | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

INFO

This app shows the chromagram or the 12 tone harmonic pitch class profile of the incoming signal. It means is analyzes the frequency spectrum and sums them according to one of the 12 pitch classes. The relative power of every pitch class is plotted, showing the primary tones of the audio signal. Pure sine tone will give us one line filled and noise will make all the bands glow equally bright.

  1. Drag the canvas graph to change the roll speed.
  2. Press the () button to change the plot direction
  3. Press the button to expand the app to full screen
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/chroma/grid/index.html b/practice/chroma/grid/index.html index 8eec6016c5..b071045178 100644 --- a/practice/chroma/grid/index.html +++ b/practice/chroma/grid/index.html @@ -6,13 +6,13 @@ Chroma Grid | Chromatone.center - + - - - - + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/chroma/hand/index.html b/practice/chroma/hand/index.html index deecf64e8e..6744a09dbc 100644 --- a/practice/chroma/hand/index.html +++ b/practice/chroma/hand/index.html @@ -6,14 +6,14 @@ Chromatic hands | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/chroma/index.html b/practice/chroma/index.html index cb3f4f64b4..748bc82b9c 100644 --- a/practice/chroma/index.html +++ b/practice/chroma/index.html @@ -6,13 +6,13 @@ Chroma | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Chroma
Explore all possible combinations of all the 12 chromatic notes

Navigating the multifarious space of pitch class combinations is a wonderful journey that may be accompanied with different tools we've made. Plot a mathematically perfect Chroma Waveform of a sine wave pitch oscillations collections.

Or just explore the collections of all possible note combinations of chroma with the Chroma profile. Or construct any note collection with the Chroma Compass. And in case you'll need to organize all those notes in loops in time - that's what the Chroma grid is designed for.

There's another endless Chroma Roll that will plot the relative pitch class power for any incoming audio. The same data may help you see the pitch class content of any sound with the Chroma See.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/chroma/palette/feedback/index.html b/practice/chroma/palette/feedback/index.html index 38973888c8..0b399e7cb1 100644 --- a/practice/chroma/palette/feedback/index.html +++ b/practice/chroma/palette/feedback/index.html @@ -6,14 +6,14 @@ Palette with feedback | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/chroma/palette/index.html b/practice/chroma/palette/index.html index dd5c3275fa..fbd0338c71 100644 --- a/practice/chroma/palette/index.html +++ b/practice/chroma/palette/index.html @@ -6,14 +6,14 @@ Palette | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

INFO

Chroma Palette is an immersive digital artwork that leverages Denis Starov's Chromatone system to translate the aural into the visual. Incorporating a microphone to capture live ambient audio, the installation analyzes the sounds and assigns one of twelve unique colors to each of the twelve distinct pitch classes, effectively rendering a visual representation of the sound's frequency content on a screen. This innovative approach not only allows for the visualization of music but also creates a multisensory feedback loop, engaging both sight and hearing in a unified perceptual experience.

The artwork operates within the broader context of the Chromatone music web-apps ecosystem, which is designed to facilitate the study and appreciation of music through visual means. By interacting with Pitch Palette, participants influence the soundscape, thereby altering the visual output in real-time. This participatory element is key, transforming viewers into an integral part of the installation and inviting them to explore the symbiotic relationship between different senses and the environment. Through Pitch Palette, Starov extends an invitation to journey into a synesthetic space where sound and color intersect and are experienced in unison.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/chroma/profile/index.html b/practice/chroma/profile/index.html index b474d1d306..6812f32b9d 100644 --- a/practice/chroma/profile/index.html +++ b/practice/chroma/profile/index.html @@ -6,20 +6,20 @@ Profile | Chromatone.center - + - - - - - - - - - - - + + + + + + + + + + + @@ -48,7 +48,7 @@
Chromatone logo
60000 px/sec
A 5P
AEA5P
EA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000010000
1P
5P
7
# 2064
A
E
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/chroma/see/index.html b/practice/chroma/see/index.html index 89528ed0c8..0f9f6ed534 100644 --- a/practice/chroma/see/index.html +++ b/practice/chroma/see/index.html @@ -6,14 +6,14 @@ See Chroma | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

Features:

  • Drag over the scene horizontally to adjust circles blur
  • Drag over the scene vertically to adjust circles size

Standalone visualizer at see.chromatone.center

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/chroma/shader/index.html b/practice/chroma/shader/index.html index f59136a65e..8306099989 100644 --- a/practice/chroma/shader/index.html +++ b/practice/chroma/shader/index.html @@ -6,13 +6,13 @@ GPU shader | Chromatone.center - + - - - - + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/chroma/touch/index.html b/practice/chroma/touch/index.html index e503d2ce09..3411f4b767 100644 --- a/practice/chroma/touch/index.html +++ b/practice/chroma/touch/index.html @@ -6,14 +6,14 @@ Chroma Touch | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/chroma/waveform/index.html b/practice/chroma/waveform/index.html index 3fca43c9c7..ca74258d98 100644 --- a/practice/chroma/waveform/index.html +++ b/practice/chroma/waveform/index.html @@ -6,14 +6,14 @@ Waveform | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

Choose any of the notes to see the wavefrom of their combination.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/color/cmyk/index.html b/practice/color/cmyk/index.html index 0fa4aaf0b5..c147e477b3 100644 --- a/practice/color/cmyk/index.html +++ b/practice/color/cmyk/index.html @@ -6,15 +6,15 @@ CMYK | Chromatone.center - + - - - - - - + + + + + + @@ -43,7 +43,7 @@ - + \ No newline at end of file diff --git a/practice/color/hsl/index.html b/practice/color/hsl/index.html index b46c7f45cf..4675ef5076 100644 --- a/practice/color/hsl/index.html +++ b/practice/color/hsl/index.html @@ -6,17 +6,17 @@ HSL, Lch, HWB | Chromatone.center - + - - - - - - - - + + + + + + + + @@ -45,7 +45,7 @@ - + \ No newline at end of file diff --git a/practice/color/index.html b/practice/color/index.html index 7f3625697f..338bab5daf 100644 --- a/practice/color/index.html +++ b/practice/color/index.html @@ -6,13 +6,13 @@ Color | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Color
Tools to work with color models
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/color/lab/index.html b/practice/color/lab/index.html index 73e48cba60..2760069779 100644 --- a/practice/color/lab/index.html +++ b/practice/color/lab/index.html @@ -6,15 +6,15 @@ Lab | Chromatone.center - + - - - - - - + + + + + + @@ -43,7 +43,7 @@ - + \ No newline at end of file diff --git a/practice/color/mix/index.html b/practice/color/mix/index.html index 300c5cb294..44fe248862 100644 --- a/practice/color/mix/index.html +++ b/practice/color/mix/index.html @@ -6,14 +6,14 @@ MIDI color mixing | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

INFO

Press any key on your keyboard to hear a note and to see the corresponding color. Go fullscreen with the button at the top right.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/color/palette/index.html b/practice/color/palette/index.html index 501355e408..3429ba61cc 100644 --- a/practice/color/palette/index.html +++ b/practice/color/palette/index.html @@ -6,14 +6,14 @@ Color palette generator | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo
  • Drag top and bottom rectangles to change Hue, Saturation and Lightness of both start and end colors of your palette.
  • Drag the list of steps to change the number of steps in your palette
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/color/rgb/index.html b/practice/color/rgb/index.html index ee48e66281..093ee5a786 100644 --- a/practice/color/rgb/index.html +++ b/practice/color/rgb/index.html @@ -6,15 +6,15 @@ RGB | Chromatone.center - + - - - - - - + + + + + + @@ -43,7 +43,7 @@
Chromatone logo

INFO

Mix Red, Green and Blue lights in the dark to get any given color accessible whithin this color space

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/experiments/dev/index.html b/practice/experiments/dev/index.html index 1a58af7d60..47e73e2bd9 100644 --- a/practice/experiments/dev/index.html +++ b/practice/experiments/dev/index.html @@ -6,13 +6,13 @@ Dev experiments | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/practice/experiments/draw/index.html b/practice/experiments/draw/index.html index 9e2d6cd239..483d080c66 100644 --- a/practice/experiments/draw/index.html +++ b/practice/experiments/draw/index.html @@ -6,14 +6,14 @@ Draw on a canvas | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/experiments/elementary/index.html b/practice/experiments/elementary/index.html index bcf1c7bcb7..9dc920b114 100644 --- a/practice/experiments/elementary/index.html +++ b/practice/experiments/elementary/index.html @@ -6,14 +6,14 @@ Elementary playground | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/experiments/extract/index.html b/practice/experiments/extract/index.html index c5a6f921f2..6c0449825a 100644 --- a/practice/experiments/extract/index.html +++ b/practice/experiments/extract/index.html @@ -6,14 +6,14 @@ Extract colors | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/experiments/index.html b/practice/experiments/index.html index f8d0f7553a..1d4a5aa631 100644 --- a/practice/experiments/index.html +++ b/practice/experiments/index.html @@ -6,13 +6,13 @@ Experiments | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/practice/experiments/lab/index.html b/practice/experiments/lab/index.html index 96a2c51b1b..b958dee481 100644 --- a/practice/experiments/lab/index.html +++ b/practice/experiments/lab/index.html @@ -6,13 +6,13 @@ Sound laboratory | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/practice/experiments/moire/index.html b/practice/experiments/moire/index.html index 3a9f803b56..fa88eb0482 100644 --- a/practice/experiments/moire/index.html +++ b/practice/experiments/moire/index.html @@ -6,14 +6,14 @@ Moire | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/experiments/p2p/index.html b/practice/experiments/p2p/index.html index 9e064afd57..da47f3ccbf 100644 --- a/practice/experiments/p2p/index.html +++ b/practice/experiments/p2p/index.html @@ -6,15 +6,15 @@ P2P connections | Chromatone.center - + - - - - - - + + + + + + @@ -42,8 +42,8 @@ -
Chromatone logo
AmajorA3B61P45A2M47B3M49C#4P50D5P52E6M54F#7M56G#1P57A2M59B3M61C#4P62D5P64E6M66F#7M68G#1P69A2M71B3M73C#4P74D5P76E6M78F#7M80G#1P81A2M83B
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
AmajorA3B61P45A2M47B3M49C#4P50D5P52E6M54F#7M56G#1P57A2M59B3M61C#4P62D5P64E6M66F#7M68G#1P69A2M71B3M73C#4P74D5P76E6M78F#7M80G#1P81A2M83B
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/experiments/pianolizer/index.html b/practice/experiments/pianolizer/index.html index 614a2c9727..2875fe5a18 100644 --- a/practice/experiments/pianolizer/index.html +++ b/practice/experiments/pianolizer/index.html @@ -6,13 +6,13 @@ Pianolizer | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/practice/experiments/pixel-sort/index.html b/practice/experiments/pixel-sort/index.html index 259e5ec36c..74686b5444 100644 --- a/practice/experiments/pixel-sort/index.html +++ b/practice/experiments/pixel-sort/index.html @@ -6,14 +6,14 @@ Pixel sort | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/experiments/printables/circles-a4/index.html b/practice/experiments/printables/circles-a4/index.html index b8bb28c87a..4f7ed3997a 100644 --- a/practice/experiments/printables/circles-a4/index.html +++ b/practice/experiments/printables/circles-a4/index.html @@ -6,15 +6,15 @@ A4 cheat-sheet | Chromatone.center - + - - - - - - + + + + + + @@ -42,8 +42,8 @@ -
Chromatone logo

Diatonic scales and modes

MajorMinorIonianLydianMyxolydianAeolianDorianPhrygianLocrianABCDEFGCBCEGCM7ACEFFM7BDFGG7ACEGAm7ACDFDm7BDEGEm7ABDFBø7ACDEFGABA#CC#D#FF#G#C#CC#FG#C#M7A#C#FF#F#M7CD#F#G#G#7A#C#FG#A#m7A#C#D#F#D#m7CD#FG#Fm7A#CD#F#Cø7A#CFC#DbD#EbF#GbG#AbA#BbABC#DEF#GDAC#DF#DM7BDF#GGM7AC#EGA7ABDF#Bm7BDEGEm7AC#EF#F#m7BC#EGC#ø7BDEGABC#DbF#GbA#CDD#FGG#D#A#DD#GD#M7CD#GG#G#M7A#DFG#A#7A#CD#GCm7CD#FG#Fm7A#DFGGm7CDFG#Dø7CCDFGD#EbG#AbA#BbABC#D#EF#G#EBD#EG#EM7AC#EG#AM7ABD#F#B7BC#EG#C#m7AC#EF#F#m7BD#F#G#G#m7AC#D#F#D#ø7C#EABC#DbD#EbF#GbG#AbAA#CDEFGFACEFFM7AA#DFA#M7A#CEGC7ACDFDm7A#DFGGm7ACEGAm7A#DEGEø7DCDEFGAA#BbA#BC#D#FF#G#F#A#C#FF#F#M7A#BD#F#BM7BC#FG#C#7A#C#D#F#D#m7BD#F#G#G#m7A#C#FG#A#m7BD#FG#Fø7D#FBC#DbD#EbF#GbG#AbA#BbABCDEF#GGBDF#GGM7BCEGCM7ACDF#D7BDEGEm7ACEGAm7ABDF#Bm7ACEF#F#ø7ECDEGABF#GbA#CC#D#FGG#G#CD#GG#G#M7CC#FG#C#M7A#C#D#GD#7CD#FG#Fm7A#C#FG#A#m7A#CD#GCm7A#C#FGGø7FCFGC#DbD#EbG#AbA#BbABC#DEF#G#AAC#EG#AM7AC#DF#DM7BDEG#E7AC#EF#F#m7ABDF#Bm7BC#EG#C#m7BDF#G#G#ø7F#DEABC#DbF#GbG#AbAA#CDD#FGA#AA#DFA#M7A#DD#GD#M7ACD#FF7A#DFGGm7A#CD#GCm7ACDFDm7ACD#GAø7GCDFGAD#EbA#BbA#BC#D#EF#G#BA#BD#F#BM7BD#EG#EM7A#C#EF#F#7BD#F#G#G#m7BC#EG#C#m7A#C#D#F#D#m7A#C#EG#A#ø7G#EBC#DbD#EbF#GbG#AbA#Bb
Download file:
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo

Diatonic scales and modes

MajorMinorIonianLydianMyxolydianAeolianDorianPhrygianLocrianABCDEFGCBCEGCM7ACEFFM7BDFGG7ACEGAm7ACDFDm7BDEGEm7ABDFBø7ACDEFGABA#CC#D#FF#G#C#CC#FG#C#M7A#C#FF#F#M7CD#F#G#G#7A#C#FG#A#m7A#C#D#F#D#m7CD#FG#Fm7A#CD#F#Cø7A#CFC#DbD#EbF#GbG#AbA#BbABC#DEF#GDAC#DF#DM7BDF#GGM7AC#EGA7ABDF#Bm7BDEGEm7AC#EF#F#m7BC#EGC#ø7BDEGABC#DbF#GbA#CDD#FGG#D#A#DD#GD#M7CD#GG#G#M7A#DFG#A#7A#CD#GCm7CD#FG#Fm7A#DFGGm7CDFG#Dø7CCDFGD#EbG#AbA#BbABC#D#EF#G#EBD#EG#EM7AC#EG#AM7ABD#F#B7BC#EG#C#m7AC#EF#F#m7BD#F#G#G#m7AC#D#F#D#ø7C#EABC#DbD#EbF#GbG#AbAA#CDEFGFACEFFM7AA#DFA#M7A#CEGC7ACDFDm7A#DFGGm7ACEGAm7A#DEGEø7DCDEFGAA#BbA#BC#D#FF#G#F#A#C#FF#F#M7A#BD#F#BM7BC#FG#C#7A#C#D#F#D#m7BD#F#G#G#m7A#C#FG#A#m7BD#FG#Fø7D#FBC#DbD#EbF#GbG#AbA#BbABCDEF#GGBDF#GGM7BCEGCM7ACDF#D7BDEGEm7ACEGAm7ABDF#Bm7ACEF#F#ø7ECDEGABF#GbA#CC#D#FGG#G#CD#GG#G#M7CC#FG#C#M7A#C#D#GD#7CD#FG#Fm7A#C#FG#A#m7A#CD#GCm7A#C#FGGø7FCFGC#DbD#EbG#AbA#BbABC#DEF#G#AAC#EG#AM7AC#DF#DM7BDEG#E7AC#EF#F#m7ABDF#Bm7BC#EG#C#m7BDF#G#G#ø7F#DEABC#DbF#GbG#AbAA#CDD#FGA#AA#DFA#M7A#DD#GD#M7ACD#FF7A#DFGGm7A#CD#GCm7ACDFDm7ACD#GAø7GCDFGAD#EbA#BbA#BC#D#EF#G#BA#BD#F#BM7BD#EG#EM7A#C#EF#F#7BD#F#G#G#m7BC#EG#C#m7A#C#D#F#D#m7A#C#EG#A#ø7G#EBC#DbD#EbF#GbG#AbA#Bb
Download file:
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/experiments/printables/index.html b/practice/experiments/printables/index.html index 5dda15cb7f..b3c6c7d7b3 100644 --- a/practice/experiments/printables/index.html +++ b/practice/experiments/printables/index.html @@ -6,13 +6,13 @@ Printables | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Printables
Hand crafted PDF files for you to print locally

New way to enjoy Chromatone yourself and share with friends, even offline. Printable PDF cheat-sheets and posters are a growing collection of digital goods, that will be made available in upcoming weeks and months.

The main thing about these files is that they will be evolving with time and we will be able to send updates to previous customers as well as immediately give every new customer to receive the most recent and refined file to print.

The purpose of these pages are to become a guide and helper in a long and sometimes difficult journey into deep understanding and creative exploration of music. With just one sheet of paper you can

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/experiments/printables/piano-a4/index.html b/practice/experiments/printables/piano-a4/index.html index 9ef08d58a5..2d0db22197 100644 --- a/practice/experiments/printables/piano-a4/index.html +++ b/practice/experiments/printables/piano-a4/index.html @@ -6,15 +6,15 @@ Printable A4 piano chords | Chromatone.center - + - - - - - - + + + + + + @@ -42,8 +42,8 @@ -
Chromatone logo

Diatonic scales and modes

AeolianLocrianIonianDorianPhrygianLydianMyxolydianAm7CEGABø7DFBG#AbCM7CEGBDm7CDFAEm7DEGBFM7CEFAG7DFGBACDEFGABA#m7FC#DbG#AbA#BbCø7CAD#EbF#GbC#M7CFC#DbG#AbD#m7C#DbD#EbF#GbA#BbFm7CFD#EbG#AbF#M7FC#DbF#GbA#BbG#7CD#EbF#GbG#AbA#CFC#DbD#EbF#GbG#AbA#BbBm7DABF#GbC#ø7EGC#DbA#BbDM7DAC#DbF#GbEm7DEGBF#m7EAC#DbF#GbGM7DGBF#GbA7EGAC#DbBDEGABC#DbF#GbCm7CGD#EbA#BbDø7DFBG#AbD#M7DGD#EbA#BbFm7CFD#EbG#AbGm7DFGA#BbG#M7CGD#EbG#AbA#7DFG#AbA#BbCCDFGD#EbG#AbA#BbC#m7EBC#DbG#AbD#ø7CAD#EbF#GbEM7EBD#EbG#AbF#m7EAC#DbF#GbG#m7BD#EbF#GbG#AbAM7EAC#DbG#AbB7ABD#EbF#GbC#EABC#DbD#EbF#GbG#AbDm7CDFAEø7EGC#DbA#BbFM7CEFAGm7DFGA#BbAm7CEGAA#M7DFAA#BbC7CEGA#BbDCDEFGAA#BbD#m7C#DbD#EbF#GbA#BbFø7DFBG#AbF#M7FC#DbF#GbA#BbG#m7BD#EbF#GbG#AbA#m7FC#DbG#AbA#BbBM7BD#EbF#GbA#BbC#7FBC#DbG#AbD#FBC#DbD#EbF#GbG#AbA#BbEm7DEGBF#ø7CAD#EbF#GbGM7DGBF#GbAm7CEGABm7DABF#GbCM7CEGBD7CDAF#GbECDEGABF#GbFm7CFD#EbG#AbGø7EGC#DbA#BbG#M7CGD#EbG#AbA#m7FC#DbG#AbA#BbCm7CGD#EbA#BbC#M7CFC#DbG#AbD#7GC#DbD#EbA#BbFCFGC#DbD#EbG#AbA#BbF#m7EAC#DbF#GbG#ø7DFBG#AbAM7EAC#DbG#AbBm7DABF#GbC#m7EBC#DbG#AbDM7DAC#DbF#GbE7DEBG#AbF#DEABC#DbF#GbG#AbGm7DFGA#BbAø7CAD#EbF#GbA#M7DFAA#BbCm7CGD#EbA#BbDm7CDFAD#M7DGD#EbA#BbF7CFAD#EbGCDFGAD#EbA#BbG#m7BD#EbF#GbG#AbA#ø7EGC#DbA#BbBM7BD#EbF#GbA#BbC#m7EBC#DbG#AbD#m7C#DbD#EbF#GbA#BbEM7EBD#EbG#AbF#7EC#DbF#GbA#BbG#EBC#DbD#EbF#GbG#AbA#BbCHROMATONEPIANO CHORDS
Download file:
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo

Diatonic scales and modes

AeolianLocrianIonianDorianPhrygianLydianMyxolydianAm7CEGABø7DFBG#AbCM7CEGBDm7CDFAEm7DEGBFM7CEFAG7DFGBACDEFGABA#m7FC#DbG#AbA#BbCø7CAD#EbF#GbC#M7CFC#DbG#AbD#m7C#DbD#EbF#GbA#BbFm7CFD#EbG#AbF#M7FC#DbF#GbA#BbG#7CD#EbF#GbG#AbA#CFC#DbD#EbF#GbG#AbA#BbBm7DABF#GbC#ø7EGC#DbA#BbDM7DAC#DbF#GbEm7DEGBF#m7EAC#DbF#GbGM7DGBF#GbA7EGAC#DbBDEGABC#DbF#GbCm7CGD#EbA#BbDø7DFBG#AbD#M7DGD#EbA#BbFm7CFD#EbG#AbGm7DFGA#BbG#M7CGD#EbG#AbA#7DFG#AbA#BbCCDFGD#EbG#AbA#BbC#m7EBC#DbG#AbD#ø7CAD#EbF#GbEM7EBD#EbG#AbF#m7EAC#DbF#GbG#m7BD#EbF#GbG#AbAM7EAC#DbG#AbB7ABD#EbF#GbC#EABC#DbD#EbF#GbG#AbDm7CDFAEø7EGC#DbA#BbFM7CEFAGm7DFGA#BbAm7CEGAA#M7DFAA#BbC7CEGA#BbDCDEFGAA#BbD#m7C#DbD#EbF#GbA#BbFø7DFBG#AbF#M7FC#DbF#GbA#BbG#m7BD#EbF#GbG#AbA#m7FC#DbG#AbA#BbBM7BD#EbF#GbA#BbC#7FBC#DbG#AbD#FBC#DbD#EbF#GbG#AbA#BbEm7DEGBF#ø7CAD#EbF#GbGM7DGBF#GbAm7CEGABm7DABF#GbCM7CEGBD7CDAF#GbECDEGABF#GbFm7CFD#EbG#AbGø7EGC#DbA#BbG#M7CGD#EbG#AbA#m7FC#DbG#AbA#BbCm7CGD#EbA#BbC#M7CFC#DbG#AbD#7GC#DbD#EbA#BbFCFGC#DbD#EbG#AbA#BbF#m7EAC#DbF#GbG#ø7DFBG#AbAM7EAC#DbG#AbBm7DABF#GbC#m7EBC#DbG#AbDM7DAC#DbF#GbE7DEBG#AbF#DEABC#DbF#GbG#AbGm7DFGA#BbAø7CAD#EbF#GbA#M7DFAA#BbCm7CGD#EbA#BbDm7CDFAD#M7DGD#EbA#BbF7CFAD#EbGCDFGAD#EbA#BbG#m7BD#EbF#GbG#AbA#ø7EGC#DbA#BbBM7BD#EbF#GbA#BbC#m7EBC#DbG#AbD#m7C#DbD#EbF#GbA#BbEM7EBD#EbG#AbF#7EC#DbF#GbA#BbG#EBC#DbD#EbF#GbG#AbA#BbCHROMATONEPIANO CHORDS
Download file:
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/experiments/rows/index.html b/practice/experiments/rows/index.html index aab7465fcc..aed1e452c7 100644 --- a/practice/experiments/rows/index.html +++ b/practice/experiments/rows/index.html @@ -6,13 +6,13 @@ MIDI Rows | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/practice/experiments/sensors/index.html b/practice/experiments/sensors/index.html index 3086fe30db..4bed7fafce 100644 --- a/practice/experiments/sensors/index.html +++ b/practice/experiments/sensors/index.html @@ -6,14 +6,14 @@ Sensors | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/experiments/simplex/index.html b/practice/experiments/simplex/index.html index 5fe8535692..d080568dd4 100644 --- a/practice/experiments/simplex/index.html +++ b/practice/experiments/simplex/index.html @@ -6,14 +6,14 @@ Simplex | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/external/index.html b/practice/external/index.html index 6fde135209..b113be3d0c 100644 --- a/practice/external/index.html +++ b/practice/external/index.html @@ -6,14 +6,14 @@ External tools | Chromatone.center - + - - - - - + + + + + @@ -68,7 +68,7 @@
Music calculations online
http://www.sengpielaudio.com/Calculations03.htm
A collection of useful music math tools of Alexander Sengpiel
Music pattern generator
https://github.com/hisschemoller/music-pattern-generator
Music Pattern Generator is an app to create musical rhythms. It sends MIDI data, so it won’t make any sounds by itself. For that you need to connect it to MIDI soft- or hardware that can handle MIDI data to produce sound.
NoiseCraft
https://noisecraft.app/
NoiseCraft is an open source, visual programming language and platform for sound synthesis and music making, with the goal of creating a community for the open exchange of musical ideas.
Rainbow Maze
https://rainbowmazes.com
These mazes are generated with an algorithm that is similar in principle to the Growing Tree algorithm.
Science to touch: LaLaLab
http://science-to-touch.com/LaLaLab/
A collection of visual mathematical tools to explore music possibilities
Seeing music Google experiment
https://experiments.withgoogle.com/seeing-music
This is a tool for visualizing music. You can turn on your mic to sing or play sounds. You can also drop in your own audio or video file. Some modes – like Hilbert Scope and Spectrogram – show the subtle textures of sound. Others show the paths and shapes of different melodies.
Sequencer64
https://www.sequencer64.com
Sequencer64 is a progressive web application that allows you to quickly sequence a 64-step pattern for a 9-sound sampler.
Signal
https://signal.vercel.app/
Fully Open-sourced Online MIDI Editor
Songcraft
https://songcraft.io/
The first all-in-one online platform for songwriters. 5 songs limited free plan.
Strudel
https://strudel.tidalcycles.org/
Strudel, a new live coding platform to write dynamic music pieces in the browser! It is free and open-source and made for beginners and experts alike.
Teoria
http://saebekassebil.github.io/teoria/
It's a demo of a JS lib for music theory. It shows the compound waveform of any given chord. Already implemented in Chromatone.center practice apps.
The Music Lab
https://www.themusiclab.org/
We do citizen science to learn how the human mind creates and perceives music. Pick a game to get started!
Time Stretch
https://29a.ch/timestretch/
TimeStretch Player is a free online audio player that allows you to loop, speed up, slow down and pitch shift sections of an audio file. This makes it a great tool for practicing or transcribing music.
Tone.js demos
https://tonejs.github.io/demos
A collection of interactive WebAudio online apps built with Tone.js library
Uke Buddy
https://ukebuddy.com/
A comprehensive tool to explore ukulele chords, scales and song tabs.
WebSynths.org
https://www.websynths.org/
A collection of web based tools for music learning and practice
Инструменты для преподавания и исследования музыки (на русском)
https://shorstok.github.io/3k-project/
Кварто-квинтовый круг, аппликатуры, клавиши, с возможностью скачать нарисованное
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/generative/ambience/index.html b/practice/generative/ambience/index.html index b86eaa44d1..11e2efb02a 100644 --- a/practice/generative/ambience/index.html +++ b/practice/generative/ambience/index.html @@ -6,15 +6,15 @@ Ambient drone box | Chromatone.center - + - - - + + + - - + + @@ -43,7 +43,7 @@ - + \ No newline at end of file diff --git a/practice/generative/bounce/index.html b/practice/generative/bounce/index.html index cde5fccd05..0003df00ed 100644 --- a/practice/generative/bounce/index.html +++ b/practice/generative/bounce/index.html @@ -6,14 +6,14 @@ Bouncing sinusoids | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/generative/index.html b/practice/generative/index.html index 96abf742e2..9b7c1cb43b 100644 --- a/practice/generative/index.html +++ b/practice/generative/index.html @@ -6,13 +6,13 @@ Generative | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Generative
Algorhythmic and randomized music choices and performance

Sequencing

Sequencing is the stringing together of a precisely-timed sequence of commands to the computer to make sound.

The commands can be things like “play an audio sample” or “send a note-on command on this MIDI channel to this MIDI port” or “select the instrument for a MIDI channel”. In the old days, there was a clear distinction between sequencers, which knew how to record, edit and play back sequences of MIDI commands, but had no ability to record or play back sound on their own, and sound sources, which knew how to respond to MIDI commands by producing actual sound. These days, most applications can do at least something of both.

Sequencers

A music sequencer is a tool that allows you to program and playback sequences of notes, rhythms, and effects automatically instead of performing or recording each part in real-time. Sequencers don’t generate their own sounds. Rather, they send MIDI and CV information to trigger other instruments or effect parameters.

When programming a sequencer, you typically have control over several things: note/pitch, note length, pattern length, velocity, effect parameters and more. In other words, sequencers allow you to program a performance over a specified period of time.

Sequencers are at the core of modern electronic music production, with arrangements built from loops of sequenced drum beats and synthesizer patterns. They’re also useful as an accompaniment for live musicians.

Sequencers take many different forms, both in music sequencer hardware and music sequencer software. External instruments like a piano can be synced with a sequencer to keep everything locked to the same tempo, while computer DAWs take non-linear composition to expansive new levels. The most common sequencers music producers use today, however, are the DAW’s piano roll and step sequencers.

Web-apps

Ambient drone box is an experiment where simplex noise meets generative music.

Pendulums are fun. Game like Matter simulation is even more fun. But orderly Bouncers are a bit more pleasant to listen to. For weird vibes go for Number sequences and English words sonification.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/generative/matter/index.html b/practice/generative/matter/index.html index 9cee820810..2ae9a381f7 100644 --- a/practice/generative/matter/index.html +++ b/practice/generative/matter/index.html @@ -6,14 +6,14 @@ Matter physics | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/generative/numbers/index.html b/practice/generative/numbers/index.html index 777a743c5d..e0e14a2c74 100644 --- a/practice/generative/numbers/index.html +++ b/practice/generative/numbers/index.html @@ -6,14 +6,14 @@ Number Sequences | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/generative/pendulums/index.html b/practice/generative/pendulums/index.html index fd78421473..46876bc49b 100644 --- a/practice/generative/pendulums/index.html +++ b/practice/generative/pendulums/index.html @@ -6,14 +6,14 @@ Pendulums | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/generative/words/index.html b/practice/generative/words/index.html index 4b18919217..fb2d39cb15 100644 --- a/practice/generative/words/index.html +++ b/practice/generative/words/index.html @@ -6,14 +6,14 @@ Words sequencing | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/index.html b/practice/index.html index 9ee2e3771c..cf4d662616 100644 --- a/practice/index.html +++ b/practice/index.html @@ -6,13 +6,13 @@ Practice | Chromatone.center - + - - - - + + + + @@ -40,8 +40,8 @@ -
Chromatone logo
Practice
Web apps for music education and independent research

Here's a growing collection of free and open source interactive web experiences for everyone to explore. You can have a direct experience of natural patterns in human sound perception with just your laptop or a smartphone.

We are building tools for everyone to use in many ways. Some may consider them as toys, but there's much depth for diving yourself or with other musicians. There's huge value for visuals and non-musicians also. Chromatone enables us to see and understand multiple layers of music theory without advanced ear-training. And vice versa! Here we can learn and explore more about our color perception and the multitude of models engineered to navigate the color space.

Music has many faces and it grows through a number of different modes of perception and comprehension. It's a multi-axis space that is build on the sensory and cognitive phenomena. One of the main is time. It gets quite emphasized with note durations and evolving rhythmic structures of organized noise. It demonstrates and utilizes our ability to recognize patterns in repetitions of sounds at frequency range between tens and thousands of events per minute. With higher oscillation speeds we get to a distinct mode of pitch perception.

All 12 pitch classes form the so called Chroma space, where numerous combinations of notes combine to become intervals, chords and scales. We can interact with the notes via MIDI protocol commands, or build our own experimental visual music tools. There are also some apps for Jamming together in harmony and in sync.

And there's a ever growing collection of external music web-apps found on the internet.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
Practice
Web apps for music education and independent research

Here's a growing collection of free and open source interactive web experiences for everyone to explore. You can have a direct experience of natural patterns in human sound perception with just your laptop or a smartphone.

We are building tools for everyone to use in many ways. Some may consider them as toys, but there's much depth for diving yourself or with other musicians. There's huge value for visuals and non-musicians also. Chromatone enables us to see and understand multiple layers of music theory without advanced ear-training. And vice versa! Here we can learn and explore more about our color perception and the multitude of models engineered to navigate the color space.

Music has many faces and it grows through a number of different modes of perception and comprehension. It's a multi-axis space that is build on the sensory and cognitive phenomena. One of the main is time. It gets quite emphasized with note durations and evolving rhythmic structures of organized noise. It demonstrates and utilizes our ability to recognize patterns in repetitions of sounds at frequency range between tens and thousands of events per minute. With higher oscillation speeds we get to a distinct mode of pitch perception.

All 12 pitch classes form the so called Chroma space, where numerous combinations of notes combine to become intervals, chords and scales. We can interact with the notes via MIDI protocol commands, or build our own experimental visual music tools. There are also some apps for Jamming together in harmony and in sync.

And there's a ever growing collection of external music web-apps found on the internet.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/jam/index.html b/practice/jam/index.html index 7670eb7243..0a4aab1da0 100644 --- a/practice/jam/index.html +++ b/practice/jam/index.html @@ -6,13 +6,13 @@ Jam | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Jam
A visual guide for collaborative music events

Apps for improvisational performances and casual jams. You can use our Jam Session to display all the vital parameters of a session. Or put your device with Jam Table app on the screen in front of your synths and players. Or press the Random button in Random Jam app and play to a cleverly generated set of BPM, tonic note and a scale. We can add more for your need - feel free to contact us.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/jam/random/index.html b/practice/jam/random/index.html index ae4c0eeb48..22c808fb1d 100644 --- a/practice/jam/random/index.html +++ b/practice/jam/random/index.html @@ -6,14 +6,14 @@ Random Jam | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/jam/session/index.html b/practice/jam/session/index.html index a581e708fa..0659771898 100644 --- a/practice/jam/session/index.html +++ b/practice/jam/session/index.html @@ -6,14 +6,14 @@ Jam session | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/jam/table/index.html b/practice/jam/table/index.html index 11e3448229..df0aea95c1 100644 --- a/practice/jam/table/index.html +++ b/practice/jam/table/index.html @@ -6,14 +6,14 @@ Jam table | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/midi/grid/index.html b/practice/midi/grid/index.html new file mode 100644 index 0000000000..a800f1c770 --- /dev/null +++ b/practice/midi/grid/index.html @@ -0,0 +1,47 @@ + + + + + + MIDI Grid | Chromatone.center + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Chromatone logo
Amajor25A245B247Db349D350E352Gb354Ab356A357B359Db461D462E464Gb466Ab468A469B471Db573D574E576Gb578Ab5801P2M3M4P5P6M7M
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ + + + \ No newline at end of file diff --git a/practice/midi/index.html b/practice/midi/index.html index 1d6213c302..955e5cd447 100644 --- a/practice/midi/index.html +++ b/practice/midi/index.html @@ -6,13 +6,13 @@ MIDI | Chromatone.center - + - - - - + + + + @@ -40,8 +40,8 @@ -
Chromatone logo
MIDI
Seeing digital music information streams

MIDI is the global standard for transfering music information. It's a protocol, that consists of small realtime commands, that you can observe with any MIDI-enabled browser and MIDI conroller connected to your device with the MIDI Log app.

MIDI Router may help you transfer messages from certain inputs to certain outputs for building even quite complex setups. All the notes played and all the knobs changed are nicely visualised in the MIDI monitor or drawn on an endless MIDI Roll. And if we loop the roll around a central axis, we get the MIDI radar that spins at the speed of current clock signal and marks all events on the circular timeline.

If you've found some nice melodic or harmonic moves and want to save it for later - try the MIDI Recorder. Save the .mid files to your device and analyze them later with the experimental MIDI File Visualizer.

How to output MIDI from Chromatone web-apps to your DAW

1. Set up the MIDI Driver

  • On a Mac:
    • Open the "Audio-Midi Setup" app.
    • In the menu, select Window -> Midi-Studio.
    • Double Click "IAC Driver".
    • Make sure "Device is ready" is checked.
  • On a Windows PC: Install loopMidi

Check out Ableton's guide for more information and screenshots (applies to all DAWs).

2. Enable the Midi device in your DAW

Depending on the DAW you use, there might be additional steps you have to take.

In Ableton Live, open up Preferences -> Link | Tempo | Midi. Under "Midi Ports" there is an entry called "In: IAC Driver". Make sure "Track" and "Remote" is checked.

3. Make sure MIDI OUT is enabled in Chromatone

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
MIDI
Seeing digital music information streams

MIDI is the global standard for transfering music information. It's a protocol, that consists of small realtime commands, that you can observe with any MIDI-enabled browser and MIDI conroller connected to your device with the MIDI Log app.

MIDI Router may help you transfer messages from certain inputs to certain outputs for building even quite complex setups. All the notes played and all the knobs changed are nicely visualised in the MIDI monitor or drawn on an endless MIDI Roll. And if we loop the roll around a central axis, we get the MIDI radar that spins at the speed of current clock signal and marks all events on the circular timeline.

If you've found some nice melodic or harmonic moves and want to save it for later - try the MIDI Recorder. Save the .mid files to your device and analyze them later with the experimental MIDI File Visualizer.

How to output MIDI from Chromatone web-apps to your DAW

1. Set up the MIDI Driver

  • On a Mac:
    • Open the "Audio-Midi Setup" app.
    • In the menu, select Window -> Midi-Studio.
    • Double Click "IAC Driver".
    • Make sure "Device is ready" is checked.
  • On a Windows PC: Install loopMidi

Check out Ableton's guide for more information and screenshots (applies to all DAWs).

2. Enable the Midi device in your DAW

Depending on the DAW you use, there might be additional steps you have to take.

In Ableton Live, open up Preferences -> Link | Tempo | Midi. Under "Midi Ports" there is an entry called "In: IAC Driver". Make sure "Track" and "Remote" is checked.

3. Make sure MIDI OUT is enabled in Chromatone

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/midi/ios/index.html b/practice/midi/ios/index.html index 630211eacf..1d0ed788de 100644 --- a/practice/midi/ios/index.html +++ b/practice/midi/ios/index.html @@ -6,13 +6,13 @@ Why WebMIDI is not supported in iOS? | Chromatone.center - + - - - - + + + + @@ -40,8 +40,8 @@ -
Chromatone logo
Why WebMIDI is not supported in iOS?
The story of WebMIDI browser abandonment

https://apps.apple.com/us/app/web-midi-browser/id953846217

https://forum.pianoworld.com/ubbthreads.php/topics/3295753/ios-midi-compatible-web-browser.html

I gave it a quick try and it didn't seem to work either on the referenced tonesavvy.com site or on my own velocitester.com. It only worked on the default page that simply logs the notes being played. I didn't spend time trying to debug it however. kanefsky 12/21/22

https://www.reddit.com/r/WebMIDI/submit/

Looks like WebMIDI browser on iPad is finally dead after 8 years of no updates, at least for my webapp, that had 7 years of constant updates

Hi! My name is Denis and I'm the author and developer of Chromatone - the Visual Music Language online research hub. I'm building it as an open source web-app from 2017 here https://chromatone.center/ . It was a move from limitations of Wordpress to freedom of creativity with Vue, Vite, Vitepress, Tone.js, Elementary.js and, of course, WebMIDI.js. Now we're at 2.9.x version and approaching 3.0. I started with WebMIDI even before

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
Why WebMIDI is not supported in iOS?
The story of WebMIDI browser abandonment

https://apps.apple.com/us/app/web-midi-browser/id953846217

https://forum.pianoworld.com/ubbthreads.php/topics/3295753/ios-midi-compatible-web-browser.html

I gave it a quick try and it didn't seem to work either on the referenced tonesavvy.com site or on my own velocitester.com. It only worked on the default page that simply logs the notes being played. I didn't spend time trying to debug it however. kanefsky 12/21/22

https://www.reddit.com/r/WebMIDI/submit/

Looks like WebMIDI browser on iPad is finally dead after 8 years of no updates, at least for my webapp, that had 7 years of constant updates

Hi! My name is Denis and I'm the author and developer of Chromatone - the Visual Music Language online research hub. I'm building it as an open source web-app from 2017 here https://chromatone.center/ . It was a move from limitations of Wordpress to freedom of creativity with Vue, Vite, Vitepress, Tone.js, Elementary.js and, of course, WebMIDI.js. Now we're at 2.9.x version and approaching 3.0. I started with WebMIDI even before

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/midi/keys/index.html b/practice/midi/keys/index.html index 7510e49ac2..bb4200b951 100644 --- a/practice/midi/keys/index.html +++ b/practice/midi/keys/index.html @@ -6,14 +6,14 @@ MIDI Keys | Chromatone.center - + - - - - - + + + + + @@ -41,8 +41,8 @@ -
Chromatone logo
AmajorA3B61P45A2M47B3M49C#4P50D5P52E6M54F#7M56G#1P57A2M59B3M61C#4P62D5P64E6M66F#7M68G#1P69A2M71B3M73C#4P74D5P76E6M78F#7M80G#1P81A2M83B
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
AmajorA3B61P45A2M47B3M49C#4P50D5P52E6M54F#7M56G#1P57A2M59B3M61C#4P62D5P64E6M66F#7M68G#1P69A2M71B3M73C#4P74D5P76E6M78F#7M80G#1P81A2M83B
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/midi/log/index.html b/practice/midi/log/index.html index a56ae5db32..62ab0787f6 100644 --- a/practice/midi/log/index.html +++ b/practice/midi/log/index.html @@ -6,13 +6,13 @@ MIDI Log | Chromatone.center - + - - - - + + + + @@ -40,8 +40,8 @@ - - + + \ No newline at end of file diff --git a/practice/midi/monitor/index.html b/practice/midi/monitor/index.html index 9cabe92f0c..e4d5e697e5 100644 --- a/practice/midi/monitor/index.html +++ b/practice/midi/monitor/index.html @@ -6,13 +6,13 @@ MIDI Monitor | Chromatone.center - + - - - - + + + + @@ -40,8 +40,8 @@ - - + + \ No newline at end of file diff --git a/practice/midi/radar/index.html b/practice/midi/radar/index.html index d1a65dea7a..4ce65bda62 100644 --- a/practice/midi/radar/index.html +++ b/practice/midi/radar/index.html @@ -6,14 +6,14 @@ MIDI Radar | Chromatone.center - + - - - - - + + + + + @@ -41,8 +41,8 @@ -
Chromatone logo

INFO

See all the MIDI signals on the clock

Press play on your sequencer to start run the radar by incoming MIDI-clock signal, or just press spacebar to start internal metronome, that will drive the radar clocks.

Drag across the circle up and down to adjust temporal zoom - ther higher the zoom, the longer the loop (from one to 8 measures).

Use MIDI channel filter section to cut visualize the exact voices of a multichannel MIDI signal.

You can toggle the internal synth on and off for using your MIDI-controller or enable audio input monitoring for your using your synths and sequencers.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo

INFO

See all the MIDI signals on the clock

Press play on your sequencer to start run the radar by incoming MIDI-clock signal, or just press spacebar to start internal metronome, that will drive the radar clocks.

Drag across the circle up and down to adjust temporal zoom - ther higher the zoom, the longer the loop (from one to 8 measures).

Use MIDI channel filter section to cut visualize the exact voices of a multichannel MIDI signal.

You can toggle the internal synth on and off for using your MIDI-controller or enable audio input monitoring for your using your synths and sequencers.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/midi/recorder/index.html b/practice/midi/recorder/index.html index 926364615f..d71180ad75 100644 --- a/practice/midi/recorder/index.html +++ b/practice/midi/recorder/index.html @@ -6,14 +6,14 @@ MIDI Recorder | Chromatone.center - + - - - - - + + + + + @@ -41,8 +41,8 @@ -
Chromatone logo

Work in progress

This app is a draft to be iterated on. The idea is to make a tool to record some kind of visual midi sketches and store them as mid files and also directly in the browser.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo

Work in progress

This app is a draft to be iterated on. The idea is to make a tool to record some kind of visual midi sketches and store them as mid files and also directly in the browser.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/midi/roll/index.html b/practice/midi/roll/index.html index 02fdcd8296..5c3afed1a9 100644 --- a/practice/midi/roll/index.html +++ b/practice/midi/roll/index.html @@ -6,14 +6,14 @@ MIDI Roll | Chromatone.center - + - - - - - + + + + + @@ -41,8 +41,8 @@ -
Chromatone logo

INFO

  1. Play some notes on your MIDI controller or computer keyboard and watch them appear on the endless roll.
  2. Drag or scroll over the canvas to change the roll speed.
  3. Press the ( ) button to change the plot direction
  4. Press the button to expand the app to full screen
  5. Press the / icon or anywhere on the canvas to send MIDI play/pause signal to all connected MIDI devices
  6. Press the icon or double click on the canvas to send MIDI play/pause signal to all connected MIDI devices
  7. Use MIDI channel filter to show only the desired channels.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo

INFO

  1. Play some notes on your MIDI controller or computer keyboard and watch them appear on the endless roll.
  2. Drag or scroll over the canvas to change the roll speed.
  3. Press the ( ) button to change the plot direction
  4. Press the button to expand the app to full screen
  5. Press the / icon or anywhere on the canvas to send MIDI play/pause signal to all connected MIDI devices
  6. Press the icon or double click on the canvas to send MIDI play/pause signal to all connected MIDI devices
  7. Use MIDI channel filter to show only the desired channels.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/midi/router/index.html b/practice/midi/router/index.html index d906111a09..df36c06de2 100644 --- a/practice/midi/router/index.html +++ b/practice/midi/router/index.html @@ -6,13 +6,13 @@ MIDI Router | Chromatone.center - + - - - - + + + + @@ -40,8 +40,8 @@ -
Chromatone logo

Click on the desired output under the input you want to send signals from.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo

Click on the desired output under the input you want to send signals from.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/midi/visualizer/index.html b/practice/midi/visualizer/index.html index 6e71a1870f..814edfa7ea 100644 --- a/practice/midi/visualizer/index.html +++ b/practice/midi/visualizer/index.html @@ -6,14 +6,14 @@ MIDI File visualizer | Chromatone.center - + - - - - - + + + + + @@ -41,8 +41,8 @@ - - + + \ No newline at end of file diff --git a/practice/pitch/drone/index.html b/practice/pitch/drone/index.html index 7c9eb32b28..4f78718526 100644 --- a/practice/pitch/drone/index.html +++ b/practice/pitch/drone/index.html @@ -6,13 +6,13 @@ Drone | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/practice/pitch/fretboard/index.html b/practice/pitch/fretboard/index.html index e031a16796..8a44c775bc 100644 --- a/practice/pitch/fretboard/index.html +++ b/practice/pitch/fretboard/index.html @@ -6,15 +6,15 @@ Fretboard calculator | Chromatone.center - + - - - - - - + + + + + + @@ -43,7 +43,7 @@
Chromatone logo
- + \ No newline at end of file diff --git a/practice/pitch/index.html b/practice/pitch/index.html index 563737b662..45c5ae79b1 100644 --- a/practice/pitch/index.html +++ b/practice/pitch/index.html @@ -6,13 +6,13 @@ Pitch | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Pitch
Explorations of the acoustic frequency domain

Find any giver pitch on any giver instrument with the colorful Tuner that analyzes incoming audio and exactly shows you the main pitch.

Or you may start plotting the detected pitch an endless Pitch Roll and have fun drawing ups and downs with sound. Much more complex and information rich plot is produced by the Spectrograph that draws FFT frequency content of any incoming audio.

We can not only analyze, but produce different pitches with this web-site. There's a traditional Drone machine that will generate a rich in upper harmonics sound of any desired pitch and a fifth above it to generate a pleasant background for vocal practice and instrument tuning.

If you want to combine more simultaneous drone pitches - feel free to browse the Pitch table of all audible audio frequencies and beyond!

And there's the universal Fretboard calculator that may help you build your own custom fretted string instrument with any given dimestions.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/pitch/roll/index.html b/practice/pitch/roll/index.html index fe38cce4fa..613b57c711 100644 --- a/practice/pitch/roll/index.html +++ b/practice/pitch/roll/index.html @@ -6,14 +6,14 @@ Pitch roll | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

INFO

This app listens to the incoming audio and analyzes it for the base pitch and tempo. The note with the cents difference is show at the top left. Tempo is shown at the top right. The pitch is plotted on the vertical axis with colored circles while beats are drawn as vertical lines.

  1. Press to start plotting the audio parameters. Press to pause the process. You can also do this by clicking the graph itself or by pressing the Spacebar key on your keyboard.
  2. Press to clear the graph. Double clicking the graph and pressing the Enter key will have the same effect
  3. Drag across the graph plain left or right to increase or decrease the speed of the plot head.
  4. If you see the button at the bottom right, you browser is capable of stretching the graph to the full screen. Have fun!
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/pitch/spectrogram/index.html b/practice/pitch/spectrogram/index.html index f9748777e8..fbf9b7bb4a 100644 --- a/practice/pitch/spectrogram/index.html +++ b/practice/pitch/spectrogram/index.html @@ -6,13 +6,13 @@ Spectrogram | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
- + \ No newline at end of file diff --git a/practice/pitch/table/index.html b/practice/pitch/table/index.html index 11efa9d4c1..03c20892fc 100644 --- a/practice/pitch/table/index.html +++ b/practice/pitch/table/index.html @@ -6,14 +6,14 @@ Table | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/pitch/tuner/index.html b/practice/pitch/tuner/index.html index fc82d966cb..7dc2b26728 100644 --- a/practice/pitch/tuner/index.html +++ b/practice/pitch/tuner/index.html @@ -6,14 +6,14 @@ Tuner | Chromatone.center - + - - - - - + + + + + @@ -41,8 +41,8 @@ -
Chromatone logo

INFO

Start the tuner with the button at the center and produce the sound you want to find the pitch for. It may be your guitar, ukulele or any other string instrument. It may be your voice. The app will show the base frequency of the sound as well as the cents difference with the closes 12-TET note. The color of the background gradient corresponds to the exact frequency the app has detected.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo

INFO

Start the tuner with the button at the center and produce the sound you want to find the pitch for. It may be your guitar, ukulele or any other string instrument. It may be your voice. The app will show the base frequency of the sound as well as the cents difference with the closes 12-TET note. The color of the background gradient corresponds to the exact frequency the app has detected.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/practice/rhythm/bars/index.html b/practice/rhythm/bars/index.html index ad984be2c3..ed3c8a5ebc 100644 --- a/practice/rhythm/bars/index.html +++ b/practice/rhythm/bars/index.html @@ -6,15 +6,15 @@ Rhythm bars | Chromatone.center - + - - - - - - + + + + + + @@ -43,7 +43,7 @@
Chromatone logo

Flexible metronome bars to construct any possible rhythm

Here you have a linear version of the colorful metronome to play with.

  1. You can add any number of tracks to explore different rhythm combinations.
  2. For each bar you can set a number of beats (1-16) with the top left slider. It's corresponding to the top number of a meter.
  3. Set the number of subdivisions (1-16) of a measure with the top right slider. If the left and right numbers are equal you get a full loop cycle equal to one measure. But many more combinations are possible!
  4. Turn steps on and off by clicking the colored segments. The colorful lines connect all active steps of the sequence.
  5. You can set accents on certain steps by clicking the step number. Filled circles produce an accented sound, hollow ones are regular beats.
  6. The most powerful thing is the subdivisions of any step – just click and drag the bottom of any beat to subdivide it into any number of steps. Compose very complex patterns with triplets, quadriplets, quintuplets and more. You can even mute any of the subdivisions – pure rhythmic freedom to play and to see. Change the BPM by dragging across the tempo information at the top right. Or by clicking the add/multiply buttons.
  7. You can choose one of 5 sound kits for the bar independently. Just drag or click the bottom right slider (that one with the letters A-D).
  8. Adjust the panning and the volume of each loop with the sliders on the bottom left. You can even set two independent rhythms to play in two separate channels (left and right).
  9. Press play button at the top left of the control bar and listen to the patterns you've created. The playback may be paused and resumed from that place or stopped and reset with the stop button . If you don't hear any sound on you mobile – just turn off the silent mode. Tested on iOS, it works!
  10. There are two arrows and near the meter numbers at the top of the loops. With them you can rotate the pattern left or right at any moment, producing even more complex and evolving sequences.
  11. Use the and buttons of the control bar at the top to incrementally change the tempo by one BPM. Or press and button to divide/multiply the tempo by two. It's like traversing the octaves of sound pitches. Notice that you get the same 'note' and starting color for these tempos.
  12. You can also just tap and drag the section with the BPM numbers to change the tempo gradually, either with touch on mobile or mouse pointer on desktop.
  13. At the control bar you can find buttons to get the tempo from the world around you. The ear button activates the sophisticated analyser that can determine the tempo from any incoming audio signal. Turn it on and let the microphone hear your rhythm: clap it, stomp it, sign it or just turn the music on. The app will listen to the audio and show its guess in the box near the button. If you like what you get just press the number and the tempo will be set to the metronome itself.
  14. The hand button is just good old tap tempo. Tap it three times or more to see the tempo you've imagined or hear playing. The more you tap – the more precise the result gets. Then tap the number to set the main tempo to the new value.
  15. If you see a square icon at the bottom left corner, you are able to open the circle metronome to the full screen. What an immense experience!
  16. Once you build some interesting patterns you can export them as a MIDI file to use in any DAW or other MIDI-compatible tool. Just press the button at the bottom and choose a place to save it to your system. Then you can drag and drop it to your DAW timeline, choose intrument for the tracks and transpose the notes to desired notes.
  17. Explore our rhythm theory section for inspiration about what to dial into the loops. This app can act as a simple visual and audial cue for your music practice or become a tool to explore the enormous space of possible rhythmic combinations. Polyrhythms have never been so easy to see and internalise. The colors and the form of the metronome can help sticking to the tempo even in silence. Be creative and feel the power of this rhythm visualisation tool.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/rhythm/circle/index.html b/practice/rhythm/circle/index.html index 023e521107..160d2fdcee 100644 --- a/practice/rhythm/circle/index.html +++ b/practice/rhythm/circle/index.html @@ -6,13 +6,13 @@ Circular metronome | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
- + \ No newline at end of file diff --git a/practice/rhythm/drum-machine/index.html b/practice/rhythm/drum-machine/index.html index bd6e346591..c349435304 100644 --- a/practice/rhythm/drum-machine/index.html +++ b/practice/rhythm/drum-machine/index.html @@ -6,16 +6,16 @@ Drum machine | Chromatone.center - + - - - - - - - + + + + + + + @@ -44,7 +44,7 @@
Chromatone logo

Very basic drum machine made with Elementary.js. All sounds are synthesized by low level sound engine commands and run in independent Web Audio and WASM threads, ensuring high quality and no glitches in the sound.

TODO

  • sync with musical transport
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/rhythm/index.html b/practice/rhythm/index.html index 9ea1db922e..477b01d00c 100644 --- a/practice/rhythm/index.html +++ b/practice/rhythm/index.html @@ -6,13 +6,13 @@ Rhythm | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/practice/rhythm/rudiments/index.html b/practice/rhythm/rudiments/index.html index f832b1f9ea..f1ed34d970 100644 --- a/practice/rhythm/rudiments/index.html +++ b/practice/rhythm/rudiments/index.html @@ -6,14 +6,14 @@ Drum rudiments | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/rhythm/time/index.html b/practice/rhythm/time/index.html index a00c41da59..1f5b1bad13 100644 --- a/practice/rhythm/time/index.html +++ b/practice/rhythm/time/index.html @@ -6,15 +6,15 @@ Musical transport | Chromatone.center - + - - - - - - + + + + + + @@ -43,7 +43,7 @@ - + \ No newline at end of file diff --git a/practice/rhythm/wheel/index.html b/practice/rhythm/wheel/index.html index 7c284b89ae..14321ddc8d 100644 --- a/practice/rhythm/wheel/index.html +++ b/practice/rhythm/wheel/index.html @@ -6,14 +6,14 @@ Wheels | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/scale/chords/index.html b/practice/scale/chords/index.html index e7cb0dcce3..1351b728c9 100644 --- a/practice/scale/chords/index.html +++ b/practice/scale/chords/index.html @@ -6,14 +6,14 @@ Scale chords | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo
DEABC#DbF#GbG#Ab
1P
A
Asus2
AM
Asus4
AMadd9
Asus24
A6
Amaj7
AM7sus4
A6add9
Amaj9
AM9sus4
AM7add13
Amaj13
2M
B
Bsus2
Bm
Bsus4
Bmadd9
Bsus24
Bmadd4
B4
Bm6
Bm7
B7sus4
Bm69
Bm9
B9sus4
B11
Bm7add11
Bm11
Bm13
B13sus4
3M
C#
C#m
C#m#5
C#sus4
C#mb6b9
C#madd4
C#4
C#m7
C#m7#5
C#7sus4
C#7#5sus4
C#11b9
C#b9sus
C#m7add11
C#7sus4b9b13
4P
D
Dsus2
DMb5
DM
DMadd9
DM7b5
D6
Dmaj7
DM9b5
D6add9
Dmaj9
DM6#11
Dmaj#4
D69#11
Dmaj9#11
DM7add13
Dmaj13
DM13#11
5P
E
Esus2
EM
E7no5
Esus4
EMadd9
E9no5
Esus24
E6
E7
E7sus4
E6add9
E9
E13no5
E9sus4
E11
E7add6
E13
E13sus4
6M
F#
F#sus2
F#m
F#m#5
F#sus4
F#madd9
F#sus24
F#madd4
F#4
F#m7
F#m7#5
F#7sus4
F#7#5sus4
F#m9
F#m9#5
F#9sus4
F#11
F#m7add11
F#m11
F#m11A
7M
G#
G#dim
G#m#5
G#mb6b9
G#4
G#m7b5
G#m7#5
G#7#5sus4

How to use it

  1. Select a scale from the drop down menu.
  2. Select a tonic pitch with the top keyboard.
  3. Get lists of chords fit for each degree of the scale.
  4. Play a chord by pressing its block.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/scale/index.html b/practice/scale/index.html index 5e0a73fc05..1b73838717 100644 --- a/practice/scale/index.html +++ b/practice/scale/index.html @@ -6,13 +6,13 @@ Scales | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/practice/scale/list/index.html b/practice/scale/list/index.html index 14eedb2b2b..f3b862db47 100644 --- a/practice/scale/list/index.html +++ b/practice/scale/list/index.html @@ -6,14 +6,14 @@ All scales list | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/scale/raga/index.html b/practice/scale/raga/index.html index f729ddffa7..b1452e38c4 100644 --- a/practice/scale/raga/index.html +++ b/practice/scale/raga/index.html @@ -6,14 +6,14 @@ Indian ragas | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/sequencing/ambience/index.html b/practice/sequencing/ambience/index.html index 01664ee277..4258bb899f 100644 --- a/practice/sequencing/ambience/index.html +++ b/practice/sequencing/ambience/index.html @@ -6,13 +6,13 @@ Ambient drone box | Chromatone.center - + - - - - + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/sequencing/bounce/index.html b/practice/sequencing/bounce/index.html index bcebaff186..b26b07d90e 100644 --- a/practice/sequencing/bounce/index.html +++ b/practice/sequencing/bounce/index.html @@ -6,13 +6,13 @@ Bouncing sinusoids | Chromatone.center - + - - - - + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/sequencing/grid/index.html b/practice/sequencing/grid/index.html index 42b8538d0a..6112569223 100644 --- a/practice/sequencing/grid/index.html +++ b/practice/sequencing/grid/index.html @@ -6,14 +6,14 @@ Chroma Grid | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/sequencing/index.html b/practice/sequencing/index.html index 267985e7dc..9f4e739b00 100644 --- a/practice/sequencing/index.html +++ b/practice/sequencing/index.html @@ -6,13 +6,13 @@ Sequencing | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Sequencing
Digital music composition

Sequencing

Sequencing is the stringing together of a precisely-timed sequence of commands to the computer to make sound.

The commands can be things like “play an audio sample” or “send a note-on command on this MIDI channel to this MIDI port” or “select the instrument for a MIDI channel”. In the old days, there was a clear distinction between sequencers, which knew how to record, edit and play back sequences of MIDI commands, but had no ability to record or play back sound on their own, and sound sources, which knew how to respond to MIDI commands by producing actual sound. These days, most applications can do at least something of both.

Sequencers

A music sequencer is a tool that allows you to program and playback sequences of notes, rhythms, and effects automatically instead of performing or recording each part in real-time. Sequencers don’t generate their own sounds. Rather, they send MIDI and CV information to trigger other instruments or effect parameters.

When programming a sequencer, you typically have control over several things: note/pitch, note length, pattern length, velocity, effect parameters and more. In other words, sequencers allow you to program a performance over a specified period of time.

Sequencers are at the core of modern electronic music production, with arrangements built from loops of sequenced drum beats and synthesizer patterns. They’re also useful as an accompaniment for live musicians.

Sequencers take many different forms, both in music sequencer hardware and music sequencer software. External instruments like a piano can be synced with a sequencer to keep everything locked to the same tempo, while computer DAWs take non-linear composition to expansive new levels. The most common sequencers music producers use today, however, are the DAW’s piano roll and step sequencers.

Web-apps

Ambient drone box is an experiment where simplex noise meets generative music.

Pendulums are fun. Game like Matter simulation is even more fun. But orderly Bouncers are a bit more pleasant to listen to. For weird vibes go for Number sequences and English words sonification.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/sequencing/matter/index.html b/practice/sequencing/matter/index.html index 0e109cf9c6..52ed3eafce 100644 --- a/practice/sequencing/matter/index.html +++ b/practice/sequencing/matter/index.html @@ -6,13 +6,13 @@ Matter physics | Chromatone.center - + - - - - + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/sequencing/numbers/index.html b/practice/sequencing/numbers/index.html index 128e76c4b2..cb7bab5c89 100644 --- a/practice/sequencing/numbers/index.html +++ b/practice/sequencing/numbers/index.html @@ -6,13 +6,13 @@ Number Sequences | Chromatone.center - + - - - - + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/sequencing/pendulums/index.html b/practice/sequencing/pendulums/index.html index 88ed274b7e..a9666a7012 100644 --- a/practice/sequencing/pendulums/index.html +++ b/practice/sequencing/pendulums/index.html @@ -6,13 +6,13 @@ Pendulums | Chromatone.center - + - - - - + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/sequencing/sequencer/index.html b/practice/sequencing/sequencer/index.html index 367c0fbffc..45ea9e2ae7 100644 --- a/practice/sequencing/sequencer/index.html +++ b/practice/sequencing/sequencer/index.html @@ -6,14 +6,14 @@ Step sequencer | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/sequencing/words/index.html b/practice/sequencing/words/index.html index 9fc9778010..30d38c4f8e 100644 --- a/practice/sequencing/words/index.html +++ b/practice/sequencing/words/index.html @@ -6,13 +6,13 @@ Words sequencing | Chromatone.center - + - - - - + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/sequencing/zzfxm/index.html b/practice/sequencing/zzfxm/index.html index 9c982c14c9..be1a547c79 100644 --- a/practice/sequencing/zzfxm/index.html +++ b/practice/sequencing/zzfxm/index.html @@ -6,14 +6,14 @@ ZZFXM | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

Work in progress. You can edit only the bpm value for now. Stay tuned!

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/sound/dissonance/index.html b/practice/sound/dissonance/index.html index 5d4ff4bd02..891fc9d595 100644 --- a/practice/sound/dissonance/index.html +++ b/practice/sound/dissonance/index.html @@ -6,14 +6,14 @@ Sensory dissonance curve | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

INFO

A simple curve for two sine waves is readily established and then we can calculate and explore sensory dissonance curves for complex sounds as the sum of interactions between their partials.

Try dragging the note to hear the exact interval. Toggle the plain sine and rich sawtooth waveforms. Compare the feeling of consonance and the dips in the curve yourself.

More info in the Theory research.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/sound/index.html b/practice/sound/index.html index e11d135626..2826ab27b3 100644 --- a/practice/sound/index.html +++ b/practice/sound/index.html @@ -6,13 +6,13 @@ Sound | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Sound
Exploration of sound and hearing

Experience the basic observations about sound physics and human sound perception phenomena yourself. You can build your own Equal loudness contour with the tool to match any pitch and volume.

You can imagine youself exploring basic music maths with Pythagoras and his Monochord without going any where in space and time.

Visualized String overtones can teach about the shapes of an oscillating string or column of air gets and how it affects the sound. And then by superimposing two complex sounds overtones we can establish the Sensory dissonance curve that lays in the basis of all modern music harmony.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/sound/loudness/index.html b/practice/sound/loudness/index.html index f63edbe24b..529b363fee 100644 --- a/practice/sound/loudness/index.html +++ b/practice/sound/loudness/index.html @@ -6,14 +6,14 @@ Equal loudness contour | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

Find your own equal loudness contour
Place sine oscillators on the 2D-plane where vertical axis is the volume and horizontal is the frequency of the sounds being played. You can build up a curve for your absolute threshold of hearing, or explore your own feeling of really loud sounds. Be careful clicking at the top of the graph!

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/sound/mic/index.html b/practice/sound/mic/index.html index 8324d4c834..a82371a3f1 100644 --- a/practice/sound/mic/index.html +++ b/practice/sound/mic/index.html @@ -6,16 +6,16 @@ Microphone audio analysis | Chromatone.center - + - - - - - - - + + + + + + + @@ -44,7 +44,7 @@ - + \ No newline at end of file diff --git a/practice/sound/monochord/index.html b/practice/sound/monochord/index.html index 3203ca7f56..77ff46ce73 100644 --- a/practice/sound/monochord/index.html +++ b/practice/sound/monochord/index.html @@ -6,14 +6,14 @@ Monochord | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

INFO

Drag the divider to explore the string divisions of a monochord, just like Pythagoras did.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/sound/overtones/index.html b/practice/sound/overtones/index.html index 390e786ca8..50a449bba3 100644 --- a/practice/sound/overtones/index.html +++ b/practice/sound/overtones/index.html @@ -6,14 +6,14 @@ String overtones | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

A string fixed from both ends produces a harmonic set of incremental frequency partials, also called harmonics.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/synth/amy/index.html b/practice/synth/amy/index.html index ffd7034102..d8daad5299 100644 --- a/practice/synth/amy/index.html +++ b/practice/synth/amy/index.html @@ -6,14 +6,14 @@ AMY synth | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

AMY Synth

the Additive Music synthesizer librarY

Highly experimental. Issue pending

  • Press A on your keyboard to play a note. Or push the PLAY button.
  • Use and keys to browse patches

AMY repository

AMY accepts commands in ASCII, like so:

v0w4f440.0l0.9

Here's the full list:

CodePythonType-rangeNotes
aampfloat 0-1+use after a note on is triggered with velocity to adjust amplitude without re-triggering the note
Abp0stringin commas, like 100,0.5,150,0.25,200,0 -- envelope generator with alternating time(ms) and ratio. last pair triggers on note off
Bbp1stringset the second breakpoint generator. see breakpoint 0
bfeedbackfloat 0-1use for the ALGO synthesis type in FM, or partial synthesis (for bandwidth) or for karplus-strong, or to indicate PCM looping (0 off, >0, on)
Cbp2string3rd breakpoint generator
ddutyfloat 0.001-0.999duty cycle for pulse wave, default 0.5
Ddebuguint, 2-42 shows queue sample, 3 shows oscillator data, 4 shows modified oscillator. will interrupt audio!
ffreqfloatfrequency of oscillator
Ffilter_freqfloatcenter frequency for biquad filter
gmod_targetuint maskWhich parameter modulation/LFO controls. 1=amp, 2=duty, 4=freq, 8=filter freq, 16=resonance, 32=feedback. Can handle any combo, add them together
Gfilter_type0-30 = none (default.) 1 = low pass, 2 = band pass, 3 = hi pass.
Iratiofloatfor ALGO types, where the base note frequency controls the modulators, or for the ALGO base note and PARTIALS base note, where the ratio controls the speed of the playback
Lmod_source0 to OSCS-1Which oscillator is used as an modulation/LFO source for this oscillator. Source oscillator will be silent.
lvelfloat 0-1+velocity - >0 to trigger note on, 0 to trigger note off. sets amplitude
Nlatency_msuintsets latency in ms. default 0
nnoteuint 0-127midi note, sets frequency
oalgorithmuint 1-32DX7 algorith to use for ALGO type
Oalgo_sourcestringwhich oscillators to use for the algorithm. list of six, use -1 for not used, e.g 0,1,2,-1,-1-1
ppatchuintchoose a preloaded PCM sample, partial patch or FM patch number for ALGO waveforms.
Pphasefloat 0-1where in the oscillator's cycle to start sampling from (also works on the PCM buffer). default 0
Rresonancefloatq factor of biquad filter. in practice, 0-10.0. default 0.7
Sresetuintresets given oscillator. set to > OSCS to reset all oscillators, gain and EQ
Tbp0_targetuint maskWhich parameter bp0 controls. 1=amp, 2=duty, 4=freq, 8=filter freq, 16=resonance, 32=feedback (can be added together). Can add 64 for linear ramp, otherwise exponential
ttimestampuintms of expected playback since some fixed start point on your host. you should always give this if you can.
voscuint 0 to OSCS-1which oscillator to control
Vvolumefloat 0-10volume knob for entire synth, default 1.0
wwaveuint 0-11waveform: [0=SINE, PULSE, SAW_DOWN, SAW_UP, TRIANGLE, NOISE, KS, PCM, ALGO, PARTIAL, PARTIALS, OFF]. default: 0/SINE
Wbp1_targetuint masksee bp0_target
xeq_lfloatin dB, fc=800Hz amount, -15 to 15. 0 is off. default 0.
Xbp2_targetuint masksee bp0_target
yeq_mfloatin dB, fc=2500Hz amount, -15 to 15. 0 is off. default 0.
zeq_hfloatin dB, fc=7500Hz amount, -15 to 15. 0 is off. default 0.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/synth/chuck/index.html b/practice/synth/chuck/index.html index 1ddd3a0aa2..2cb83bdbf1 100644 --- a/practice/synth/chuck/index.html +++ b/practice/synth/chuck/index.html @@ -6,14 +6,14 @@ ChucK | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

Strongly-timed | Concurrent | On-the-fly

ChucK is a programming language for real-time sound synthesis and music creation. ChucK offers a unique time-based, concurrent programming model that is precise and expressive (we call this strongly-timed), dynamic control rates, and the ability to add and modify code on-the-fly. In addition, ChucK supports MIDI, OpenSoundControl, HID device, and multi-channel audio. It is open-source and freely available on macOS, Windows, and Linux. It's fun and easy to learn, and offers composers, researchers, and performers a powerful programming tool for building and experimenting with complex audio synthesis/analysis programs, and real-time interactive music.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/synth/elementary/index.html b/practice/synth/elementary/index.html index e4861ea514..338644fbb0 100644 --- a/practice/synth/elementary/index.html +++ b/practice/synth/elementary/index.html @@ -6,13 +6,13 @@ Elementary synth | Chromatone.center - + - - - - + + + + @@ -42,7 +42,7 @@
Chromatone logo
- + \ No newline at end of file diff --git a/practice/synth/elements/index.html b/practice/synth/elements/index.html index e11334c519..c01fa18f92 100644 --- a/practice/synth/elements/index.html +++ b/practice/synth/elements/index.html @@ -6,13 +6,13 @@ Elements synth | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
- + \ No newline at end of file diff --git a/practice/synth/index.html b/practice/synth/index.html index 40b65f708b..9ee1e5b39b 100644 --- a/practice/synth/index.html +++ b/practice/synth/index.html @@ -6,13 +6,13 @@ Synthesis | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/practice/synth/karplus-strong/index.html b/practice/synth/karplus-strong/index.html index 0b2bb9171a..6045cdcf52 100644 --- a/practice/synth/karplus-strong/index.html +++ b/practice/synth/karplus-strong/index.html @@ -6,14 +6,14 @@ Karplus–Strong synthesis | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/synth/noise/index.html b/practice/synth/noise/index.html index d4a394756d..5f07d53630 100644 --- a/practice/synth/noise/index.html +++ b/practice/synth/noise/index.html @@ -6,14 +6,14 @@ Noise lab | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

Noise generation tool

A simple tool to generate some noise. Let's look at the possibilities.

  1. The noise generator section
    1. You can start the noise by tapping the NOISE button at the top left. There's a latch in the bottom of this button to fix the noise playing. Click it again to unlatch the sound playing. The other way is to press A – the sound will play as long as you hold it.
    2. The DRY slider determines the volume of the initial noise source.
    3. Choose the type of the noise (its 'color') between Brown, Pink and White.
      1. White noise is a random signal having equal intensity at different frequencies, giving it a constant power spectral density.
      2. Pink noise or 1⁄f noise is a signal or process with a frequency spectrum such that the power spectral density (power per frequency interval) is inversely proportional to the frequency of the signal. In pink noise, each octave interval (halving or doubling in frequency) carries an equal amount of noise energy. Pink noise is one of the most common signals in biological systems.
      3. The spectral density of the Brown noise is inversely proportional to f^2, meaning it has higher intensity at lower frequencies, even more so than pink noise. It decreases in intensity by 6 dB per octave (20 dB per decade) and, when heard, has a "damped" or "soft" quality compared to white and pink noise.
    4. Next is the ADSR controls group: drag ATTACK, DECAY, SUSTAIN and RELEASE sliders to adjust the signal envelope.
  2. Auto-filter section. Press or latch the FILTER button to engage the filter. Change the FREQUENCY, OCTAVES and Q-FACTOR of the filter. Choose LP (Low-Pass), HP (High-pass) or BP (Band-pass) filter type. Then goes the PLAY button to turn on the LFO of the filter. LFO and DEPTH sliders set the swing of the filter and next you have the choise of the Low Frequency Oscillator.
  3. A Bitcrusher is an audio effect that produces distortion by reducing of the resolution or bandwidth of digital audio data. The resulting quantization noise may produce a "warmer" sound impression, or a harsh one, depending on the amount of reduction. Set the volume of the bus, the BITS resolution and the WET parameter of how much of the signal should come through.
  4. Auto-panner section makes the sound move from left to right with another LFO. Turn on the PAN to turn on the effect. Latch the PLAY button to make the panning move. LFO sets the frequency of the movement, DEPTH sets the amplitude of it.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/synth/snippets.html b/practice/synth/snippets.html index dc022e5885..19e03f3661 100644 --- a/practice/synth/snippets.html +++ b/practice/synth/snippets.html @@ -6,13 +6,13 @@ Synth snippets | Chromatone.center - + - - - - + + + + @@ -56,7 +56,7 @@ } console.log(logskew( 20, 20000, 0.5, 1000)) // will output 1000
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/synth/soundfont/index.html b/practice/synth/soundfont/index.html index bbab166295..e560a74b05 100644 --- a/practice/synth/soundfont/index.html +++ b/practice/synth/soundfont/index.html @@ -6,14 +6,14 @@ Soundfont sampler synth | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/practice/synth/zzfx/index.html b/practice/synth/zzfx/index.html index 5de6370265..75cc42f729 100644 --- a/practice/synth/zzfx/index.html +++ b/practice/synth/zzfx/index.html @@ -6,14 +6,14 @@ ZZFX | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

ZzFX

A Tiny JavaScript Sound FX System

ZzFX is a tiny sound generator designed to produce a wide variety of sound effects with minimal code overhead. It's perfect for games, prototypes, and any web application that needs sound without the bulk of traditional sound files.

https://zzfx.3d2k.com

https://github.com/KilledByAPixel/ZzFX

Features

  • Compact: Less than 1 kilobyte when compressed!
  • Versatile: 20 controllable parameters for diverse sound effects.
  • No Dependencies: Standalone with no external libraries.
  • Cross-Browser: Compatible with nearly all web browsers.
  • Open Source: MIT licensed, use it anywhere!
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/visual/hydra/index.html b/practice/visual/hydra/index.html index 7df51fdcc0..d9206d6ff2 100644 --- a/practice/visual/hydra/index.html +++ b/practice/visual/hydra/index.html @@ -6,14 +6,14 @@ Hydra synth | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo

Hydra

Set of tools for livecoding networked visuals. Inspired by analog modular synthesizers, these tools are an exploration into using streaming over the web for routing video sources and outputs in realtime.

Hydra uses multiple framebuffers to allow dynamically mixing, compositing, and collaborating between connected browser-visual-streams. Coordinate and color transforms can be applied to each output via chained functions.

https://hydra.ojack.xyz

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/visual/index.html b/practice/visual/index.html index f2c21cbf89..6d5cb033f2 100644 --- a/practice/visual/index.html +++ b/practice/visual/index.html @@ -6,13 +6,13 @@ Visuals | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Visuals
Apps that don't produce sound, but show pictures and react to sound or midi

Chromatone can be very precise in assigning colors to frequencies and we can use it to analyze and communicate music. But we can use this new music communication layer as a base for new visual explorations. Visual apps reacting to audio and MIDI are created here.

One of the most complex no-build client-side Vue JS apps in our library is such a visualization of the incoming MIDI signals. Midi-paper is a multichannel reactive 2D MIDI visualization canvas with more than 8 layers of meaningful minimalistic vector graphics appearing on the screen. Made with Paper.js and Vue it's lightweight and efficient. Layers are pluggable and the app is self-contained in a folder nicely.

Hydra synth is just a minimalistic experiment to run Hydra - the JS tool to live code shader effects with quite simple syntax. Minimal working prototype is here, now anyone can use it as a starter template for their own creations. What direction will this take at Chromatone - we'll see sometime soon.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/practice/visual/paper/index.html b/practice/visual/paper/index.html index baa1548cfb..e1a4633126 100644 --- a/practice/visual/paper/index.html +++ b/practice/visual/paper/index.html @@ -6,13 +6,13 @@ Paper | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Paper
A 8 channel MIDI visualization app, simulating drawing on a fading out virtual paper
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/shop/index.html b/shop/index.html index 34bee35dc4..5d042e706a 100644 --- a/shop/index.html +++ b/shop/index.html @@ -6,13 +6,13 @@ Shop | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
- + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 551d481166..8c08175fd1 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://chromatone.center/404.html2024-11-20T16:52:56.000Zhttps://chromatone.center/academy/2024-11-20T16:52:56.000Zhttps://chromatone.center/contacts/2024-11-20T16:52:56.000Zhttps://chromatone.center/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chord/array/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chord/chord-sheets/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chord/fifths/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chord/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chord/modes/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chord/progressions/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chord/real-book/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chord/sequencer/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chord/tabs/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/compass/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/gram/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/grid/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/hand/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/palette/feedback/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/palette/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/profile/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/see/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/shader/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/touch/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/chroma/waveform/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/color/cmyk/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/color/hsl/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/color/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/color/lab/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/color/mix/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/color/palette/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/color/rgb/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/dev/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/draw/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/elementary/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/extract/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/lab/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/moire/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/p2p/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/pianolizer/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/pixel-sort/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/printables/circles-a4/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/printables/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/printables/piano-a4/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/rows/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/sensors/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/experiments/simplex/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/external/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/generative/ambience/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/generative/bounce/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/generative/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/generative/matter/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/generative/numbers/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/generative/pendulums/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/generative/words/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/jam/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/jam/random/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/jam/session/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/jam/table/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/midi/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/midi/ios/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/midi/keys/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/midi/log/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/midi/monitor/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/midi/radar/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/midi/recorder/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/midi/roll/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/midi/router/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/midi/visualizer/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/pitch/drone/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/pitch/fretboard/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/pitch/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/pitch/roll/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/pitch/spectrogram/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/pitch/table/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/pitch/tuner/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/rhythm/bars/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/rhythm/circle/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/rhythm/drum-machine/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/rhythm/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/rhythm/rudiments/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/rhythm/time/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/rhythm/wheel/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/scale/chords/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/scale/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/scale/list/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/scale/raga/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sequencing/ambience/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sequencing/bounce/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sequencing/grid/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sequencing/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sequencing/matter/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sequencing/numbers/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sequencing/pendulums/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sequencing/sequencer/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sequencing/words/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sequencing/zzfxm/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sound/dissonance/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sound/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sound/loudness/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sound/mic/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sound/monochord/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/sound/overtones/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/synth/amy/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/synth/chuck/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/synth/elementary/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/synth/elements/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/synth/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/synth/karplus-strong/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/synth/noise/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/synth/snippets.html2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/synth/soundfont/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/synth/zzfx/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/visual/hydra/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/visual/2024-11-20T16:52:56.000Zhttps://chromatone.center/practice/visual/paper/2024-11-20T16:52:56.000Zhttps://chromatone.center/shop/2024-11-20T16:52:56.000Zhttps://chromatone.center/support/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/chords/clusters/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/chords/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/chords/more/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/chords/pentads/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/chords/tetrads/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/chords/triads/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/light/em-field/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/light/em-waves/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/light/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/light/spectrum/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/light/sun/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/models/additive/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/models/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/models/perceptual/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/models/subtractive/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/names/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/color/perception/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/composition/composers/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/composition/electronic/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/composition/form/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/composition/generative/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/composition/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/composition/serialism/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/composition/song/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/composition/sound-painting/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/composition/texture/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/harmony/chord-scale/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/harmony/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/harmony/modal/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/harmony/modulation/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/harmony/movement/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/harmony/non-chord/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/harmony/polytonality/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/harmony/reharmonization/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/harmony/study/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/harmony/tonal/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/interplay/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/interplay/spectrum/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/interplay/synesthesia/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/interplay/visual-music/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/intervals/cycles/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/intervals/dissonance/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/intervals/emancipation/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/intervals/fifth-fourth/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/intervals/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/intervals/second-seventh/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/intervals/third-sixth/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/intervals/unison-octave/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/melody/articulation/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/melody/drone/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/melody/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/melody/motif/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/melody/motion/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/melody/singing/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/melody/study/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/alternative/bilinear/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/alternative/chromatic-staff/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/alternative/dodeka/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/alternative/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/alternative/integer/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/alternative/klavar/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/alternative/numbered/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/alternative/parsons/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/alternative/scientific/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/alternative/tabulature/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/color/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/computer/abc/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/computer/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/computer/midi/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/computer/piano-roll/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/computer/ring-tone/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/ear-traning/absolute-pitch/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/ear-traning/eguchi/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/ear-traning/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/ear-traning/reference-songs/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/national/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/solmization/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/staff/evolution/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/staff/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/staff/real-book/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/staff/sight-reading/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/temperaments/equal/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/temperaments/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/temperaments/just/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/temperaments/pythagorean/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/notes/temperaments/tunings/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/resources/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/counting/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/groove/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/meter/complex/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/meter/compound/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/meter/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/meter/simple/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/meter/time/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/pulse/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/rudiments/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/study/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/system/balkan/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/system/clave/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/system/crossbeat/gnawa/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/system/crossbeat/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/system/euclidean/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/system/flamenco/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/system/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/system/tala/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/rhythm/system/turkish/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/scales/degrees/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/scales/diatonic/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/scales/double/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/scales/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/scales/melodic/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/scales/pentatonic/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/scales/raga/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/scales/study/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/scales/symmetrical/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/sound/hearing/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/sound/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/sound/nature/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/sound/pitch/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/sound/psychoacoustics/illusions/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/sound/psychoacoustics/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/sound/timbre/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/synthesis/audio-programming/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/synthesis/distortion/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/synthesis/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/synthesis/karplus-strong/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/synthesis/modulation/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/synthesis/osc-sync/2024-11-20T16:52:56.000Zhttps://chromatone.center/theory/synthesis/spectral/2024-11-20T16:52:56.000Zhttps://chromatone.center/tutor/2024-11-20T16:52:56.000Z \ No newline at end of file +https://chromatone.center/404.html2024-11-27T06:45:49.000Zhttps://chromatone.center/academy/2024-11-27T06:45:49.000Zhttps://chromatone.center/contacts/2024-11-27T06:45:49.000Zhttps://chromatone.center/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chord/array/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chord/chord-sheets/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chord/fifths/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chord/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chord/modes/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chord/progressions/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chord/real-book/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chord/sequencer/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chord/tabs/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/compass/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/gram/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/grid/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/hand/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/palette/feedback/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/palette/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/profile/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/see/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/shader/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/touch/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/chroma/waveform/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/color/cmyk/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/color/hsl/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/color/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/color/lab/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/color/mix/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/color/palette/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/color/rgb/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/dev/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/draw/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/elementary/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/extract/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/lab/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/moire/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/p2p/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/pianolizer/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/pixel-sort/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/printables/circles-a4/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/printables/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/printables/piano-a4/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/rows/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/sensors/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/experiments/simplex/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/external/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/generative/ambience/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/generative/bounce/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/generative/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/generative/matter/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/generative/numbers/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/generative/pendulums/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/generative/words/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/jam/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/jam/random/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/jam/session/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/jam/table/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/midi/grid/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/midi/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/midi/ios/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/midi/keys/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/midi/log/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/midi/monitor/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/midi/radar/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/midi/recorder/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/midi/roll/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/midi/router/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/midi/visualizer/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/pitch/drone/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/pitch/fretboard/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/pitch/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/pitch/roll/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/pitch/spectrogram/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/pitch/table/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/pitch/tuner/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/rhythm/bars/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/rhythm/circle/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/rhythm/drum-machine/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/rhythm/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/rhythm/rudiments/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/rhythm/time/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/rhythm/wheel/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/scale/chords/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/scale/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/scale/list/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/scale/raga/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sequencing/ambience/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sequencing/bounce/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sequencing/grid/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sequencing/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sequencing/matter/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sequencing/numbers/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sequencing/pendulums/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sequencing/sequencer/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sequencing/words/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sequencing/zzfxm/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sound/dissonance/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sound/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sound/loudness/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sound/mic/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sound/monochord/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/sound/overtones/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/synth/amy/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/synth/chuck/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/synth/elementary/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/synth/elements/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/synth/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/synth/karplus-strong/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/synth/noise/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/synth/snippets.html2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/synth/soundfont/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/synth/zzfx/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/visual/hydra/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/visual/2024-11-27T06:45:49.000Zhttps://chromatone.center/practice/visual/paper/2024-11-27T06:45:49.000Zhttps://chromatone.center/shop/2024-11-27T06:45:49.000Zhttps://chromatone.center/support/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/chords/clusters/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/chords/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/chords/more/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/chords/pentads/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/chords/tetrads/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/chords/triads/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/light/em-field/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/light/em-waves/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/light/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/light/spectrum/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/light/sun/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/models/additive/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/models/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/models/perceptual/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/models/subtractive/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/names/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/color/perception/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/composition/composers/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/composition/electronic/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/composition/form/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/composition/generative/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/composition/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/composition/serialism/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/composition/song/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/composition/sound-painting/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/composition/texture/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/harmony/chord-scale/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/harmony/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/harmony/modal/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/harmony/modulation/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/harmony/movement/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/harmony/non-chord/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/harmony/polytonality/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/harmony/reharmonization/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/harmony/study/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/harmony/tonal/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/interplay/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/interplay/spectrum/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/interplay/synesthesia/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/interplay/visual-music/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/intervals/cycles/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/intervals/dissonance/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/intervals/emancipation/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/intervals/fifth-fourth/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/intervals/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/intervals/second-seventh/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/intervals/third-sixth/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/intervals/unison-octave/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/melody/articulation/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/melody/drone/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/melody/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/melody/motif/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/melody/motion/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/melody/singing/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/melody/study/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/alternative/bilinear/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/alternative/chromatic-staff/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/alternative/dodeka/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/alternative/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/alternative/integer/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/alternative/klavar/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/alternative/numbered/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/alternative/parsons/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/alternative/scientific/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/alternative/tabulature/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/color/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/computer/abc/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/computer/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/computer/midi/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/computer/piano-roll/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/computer/ring-tone/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/ear-traning/absolute-pitch/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/ear-traning/eguchi/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/ear-traning/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/ear-traning/reference-songs/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/national/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/solmization/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/staff/evolution/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/staff/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/staff/real-book/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/staff/sight-reading/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/temperaments/equal/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/temperaments/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/temperaments/just/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/temperaments/pythagorean/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/notes/temperaments/tunings/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/resources/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/counting/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/groove/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/meter/complex/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/meter/compound/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/meter/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/meter/simple/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/meter/time/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/pulse/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/rudiments/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/study/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/system/balkan/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/system/clave/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/system/crossbeat/gnawa/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/system/crossbeat/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/system/euclidean/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/system/flamenco/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/system/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/system/tala/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/rhythm/system/turkish/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/scales/degrees/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/scales/diatonic/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/scales/double/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/scales/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/scales/melodic/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/scales/pentatonic/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/scales/raga/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/scales/study/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/scales/symmetrical/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/sound/hearing/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/sound/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/sound/nature/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/sound/pitch/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/sound/psychoacoustics/illusions/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/sound/psychoacoustics/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/sound/timbre/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/synthesis/audio-programming/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/synthesis/distortion/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/synthesis/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/synthesis/karplus-strong/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/synthesis/modulation/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/synthesis/osc-sync/2024-11-27T06:45:49.000Zhttps://chromatone.center/theory/synthesis/spectral/2024-11-27T06:45:49.000Zhttps://chromatone.center/tutor/2024-11-27T06:45:49.000Z \ No newline at end of file diff --git a/support/index.html b/support/index.html index 7aeb285719..3b18687e55 100644 --- a/support/index.html +++ b/support/index.html @@ -6,14 +6,14 @@ Support | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo
Support
Share links, contribute code or donate funds to the ongoing research and development

Chromatone is an open source initiative made not to be a proprietary standard, but to become a wide spread language, used by musicians, visual artists along with music gear companies and app developers all over the world.

Follow and share

We have a subreddit to hang around and an Instagram account to tag in your posts. And it's important to let more people join the growing community of visual musicians. So follow us and spread the word about Chromatone through your social media and beyond.

We are those, who learn, teach, explore and produce music with help of the new clean visual language. And it's getting better with every contribution. Say hi and someone will reply. Everything starts from the first step. More to build together!

Contribute code

If you're a designer, JS developer, audio analysis library or know how else the site may be better - contribute code to our open GitHub repository. Or at least press that star button in the right top corner.

Give us a star

In future the project will grow big enough to become an Open Collective to be transparent about all the funding and expenses. We need to have at least 100 stars at the repository on GitHub. Let's do it!

Star History Chart

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/chords/clusters/index.html b/theory/chords/clusters/index.html index 1cb68090fa..dc423e17c6 100644 --- a/theory/chords/clusters/index.html +++ b/theory/chords/clusters/index.html @@ -6,13 +6,13 @@ Tone clusters | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Tone clusters
Multiple adjacent tones played simultaneously

A tone cluster is a musical chord comprising at least three adjacent tones in a scale. Prototypical tone clusters are based on the chromatic scale and are separated by semitones. For instance, three adjacent piano keys (such as C, C♯, and D) struck simultaneously produce a tone cluster. Variants of the tone cluster include chords comprising adjacent tones separated diatonically, pentatonically, or microtonally. On the piano, such clusters often involve the simultaneous striking of neighboring white or black keys.

The early years of the twentieth century saw tone clusters elevated to central roles in pioneering works by ragtime artists Jelly Roll Morton and Scott Joplin. In the 1910s, two classical avant-gardists, composer-pianists Leo Ornstein and Henry Cowell, were recognized as making the first extensive explorations of the tone cluster. During the same period, Charles Ives employed them in several compositions that were not publicly performed until the late 1920s or 1930s. Composers such as Béla Bartók and, later, Lou Harrison and Karlheinz Stockhausen became proponents of the tone cluster, which feature in the work of many 20th- and 21st-century classical composers. Tone clusters also play a significant role in the work of free jazz musicians such as Cecil Taylor and Matthew Shipp.

In most Western music, tone clusters tend to be heard as dissonant. Clusters may be performed with almost any individual instrument on which three or more notes can be played simultaneously, as well as by most groups of instruments or voices. Keyboard instruments are particularly suited to the performance of tone clusters because it is relatively easy to play multiple notes in unison on them.

In standard Western classical music practice, all tone clusters are classifiable as secundal chords—that is, they are constructed from minor seconds (intervals of one semitone), major seconds (intervals of two semitones), or, in the case of certain pentatonic clusters, augmented seconds (intervals of three semitones). Stacks of adjacent microtonal pitches also constitute tone clusters.

In tone clusters, the notes are sounded fully and in unison, distinguishing them from ornamented figures involving acciaccaturas and the like. Their effect also tends to be different: where ornamentation is used to draw attention to the harmony or the relationship between harmony and melody, tone clusters are for the most part employed as independent sounds. While, by definition, the notes that form a cluster must sound at the same time, there is no requirement that they must all begin sounding at the same moment. For example, in R. Murray Schafer's choral Epitaph for Moonlight (1968), a tone cluster is constructed by dividing each choir section (soprano/alto/tenor/bass) into four parts. Each of the sixteen parts enters separately, humming a note one semitone lower than the note hummed by the previous part, until all sixteen are contributing to the cluster.

Tone clusters have generally been thought of as dissonant musical textures, and even defined as such. As noted by Alan Belkin, however, instrumental timbre can have a significant impact on their effect: "Clusters are quite aggressive on the organ, but soften enormously when played by strings (possibly because slight, continuous fluctuations of pitch in the latter provide some inner mobility)." In his first published work on the topic, Henry Cowell observed that a tone cluster is "more pleasing" and "acceptable to the ear if its outer limits form a consonant interval." Cowell explains, "the natural spacing of so-called dissonances is as seconds, as in the overtone series, rather than sevenths and ninths....Groups spaced in seconds may be made to sound euphonious, particularly if played in conjunction with fundamental chord notes taken from lower in the same overtone series. Blends them together and explains them to the ear." Tone clusters have also been considered noise. As Mauricio Kagel says, "clusters have generally been used as a kind of anti-harmony, as a transition between sound and noise." Tone clusters thus also lend themselves to use in a percussive manner. Historically, they were sometimes discussed with a hint of disdain. One 1969 textbook defines the tone cluster as "an extra-harmonic clump of notes.

Notation and execution

In his 1917 piece The Tides of Manaunaun, Cowell introduced a new notation for tone clusters on the piano and other keyboard instruments. In this notation, only the top and bottom notes of a cluster, connected by a single line or a pair of lines, are represented. This developed into the solid-bar style seen in the image on the right. Here, the first chord—stretching two octaves from D2 to D4—is a diatonic (so-called white-note) cluster, indicated by the natural sign below the staff. The second is a pentatonic (so-called black-note) cluster, indicated by the flat sign; a sharp sign would be required if the notes showing the limit of the cluster were spelled as sharps. A chromatic cluster—black and white keys together—is shown in this method by a solid bar with no sign at all. In scoring the large, dense clusters of the solo organ work Volumina in the early 1960s, György Ligeti, using graphical notation, blocked in whole sections of the keyboard.

The performance of keyboard tone clusters is widely considered an "extended technique"—large clusters require unusual playing methods often involving the fist, the flat of the hand, or the forearm. Thelonious Monk and Karlheinz Stockhausen each performed clusters with their elbows; Stockhausen developed a method for playing cluster glissandi with special gloves. Don Pullen would play moving clusters by rolling the backs of his hands over the keyboard. Boards of various dimension are sometimes employed, as in the Concord Sonata (c. 1904–19) of Charles Ives; they can be weighted down to execute clusters of long duration. Several of Lou Harrison's scores call for the use of an "octave bar", crafted to facilitate high-speed keyboard cluster performance. Designed by Harrison with his partner William Colvig, the octave bar is

a flat wooden device approximately two inches high with a grip on top and sponge rubber on the bottom, with which the player strikes the keys. Its length spans an octave on a grand piano. The sponge rubber bottom is sculpted so that its ends are slightly lower than its center, making the outer tones of the octave sound with greater force than the intermediary pitches. The pianist can thus rush headlong through fearfully rapid passages, precisely spanning an octave at each blow.

In jazz

Scott Joplin wrote the first known published composition to include a musical sequence built around specifically notated tone clusters.

Tone clusters have been employed by jazz artists in a variety of styles, since the very beginning of the form. Around the turn of the twentieth century, Storyville pianist Jelly Roll Morton began performing a ragtime adaptation of a French quadrille, introducing large chromatic tone clusters played by his left forearm. The growling effect led Morton to dub the piece his "Tiger Rag". In 1909, Scott Joplin's deliberately experimental "Wall Street Rag" included a section prominently featuring notated tone clusters.

The fourth of Artie Matthews's Pastime Rags (1913–20) features dissonant right-hand clusters. Thelonious Monk, in pieces such as "Bright Mississippi" (1962), "Introspection" (1946) and "Off Minor" (1947), uses clusters as dramatic figures within the central improvisation and to accent the tension at its conclusion. They are heard on Art Tatum's "Mr. Freddy Blues" (1950), undergirding the cross-rhythms. By 1953, Dave Brubeck was employing piano tone clusters and dissonance in a manner anticipating the style free jazz pioneer Cecil Taylor would soon develop. The approach of hard bop pianist Horace Silver is an even clearer antecedent to Taylor's use of clusters. During the same era, clusters appear as punctuation marks in the lead lines of Herbie Nichols. In "The Gig" (1955), described by Francis Davis as Nichols's masterpiece, "clashing notes and tone clusters depic[t] a pickup band at odds with itself about what to play." Recorded examples of Duke Ellington's piano cluster work include "Summertime" (1961) and ...And His Mother Called Him Bill (1967) and This One's for Blanton!, his tribute to a former bass player, recorded in 1972 with bassist Ray Brown. Bill Evans' interpretation of “Come Rain or Come Shine” from the album Portrait in Jazz (1960), opens with a striking 5-tone cluster.

In jazz, as in classical music, tone clusters have not been restricted to the keyboard. In the 1930s, the Jimmie Lunceford Orchestra's "Stratosphere" included ensemble clusters among an array of progressive elements. The Stan Kenton Orchestra's April 1947 recording of "If I Could Be With You One Hour Tonight," arranged by Pete Rugolo, features a dramatic four-note trombone cluster at the end of the second chorus. As described by critic Fred Kaplan, a 1950 performance by the Duke Ellington Orchestra features arrangements with the collective "blowing rich, dark, tone clusters that evoke Ravel." Chord clusters also feature in the scores of arranger Gil Evans. In his characteristically imaginative arrangement of George Gershwin's "There's a boat that's leaving soon for New York" from the album Porgy and Bess, Evans contributes chord clusters orchestrated on flutes, alto saxophone and muted trumpets as a background to accompany Miles Davis' solo improvisation. In the early 1960s, arrangements by Bob Brookmeyer and Gerry Mulligan for Mulligan's Concert Jazz Band employed tone clusters in a dense style bringing to mind both Ellington and Ravel. Eric Dolphy's bass clarinet solos would often feature "microtonal clusters summoned by frantic overblowing." Critic Robert Palmer called the "tart tone cluster" that "pierces a song's surfaces and penetrates to its heart" a specialty of guitarist Jim Hall's.

Clusters are especially prevalent in the realm of free jazz. Cecil Taylor has used them extensively as part of his improvisational method since the mid-1950s. Like much of his musical vocabulary, his clusters operate "on a continuum somewhere between melody and percussion." One of Taylor's primary purposes in adopting clusters was to avoid the dominance of any specific pitch. Leading free jazz composer, bandleader, and pianist Sun Ra often used them to rearrange the musical furniture, as described by scholar John F. Szwed:

When he sensed that [a] piece needed an introduction or an ending, a new direction or fresh material, he would call for a space chord, a collectively improvised tone cluster at high volume which "would suggest a new melody, maybe a rhythm." It was a pianistically conceived device which created another context for the music, a new mood, opening up fresh tonal areas.[105]

As free jazz spread in the 1960s, so did the use of tone clusters. In comparison with what John Litweiler describes as Taylor's "endless forms and contrasts," the solos of Muhal Richard Abrams employ tone clusters in a similarly free, but more lyrical, flowing context. Guitarist Sonny Sharrock made them a central part of his improvisations; in Palmer's description, he executed "glass-shattering tone clusters that sounded like someone was ripping the pickups out of the guitar without having bothered to unplug it from its overdriven amplifier." Pianist Marilyn Crispell has been another major free jazz proponent of the tone cluster, frequently in collaboration with Anthony Braxton, who played with Abrams early in his career. Since the 1990s, Matthew Shipp has built on Taylor's innovations with the form. European free jazz pianists who have contributed to the development of the tone cluster palette include Gunter Hampel and Alexander von Schlippenbach.

Don Pullen, who bridged free and mainstream jazz, "had a technique of rolling his wrists as he improvised—the outside edges of his hands became scarred from it—to create moving tone clusters," writes critic Ben Ratliff. "Building up from arpeggios, he could create eddies of noise on the keyboard...like concise Cecil Taylor outbursts." In the description of Joachim Berendt, Pullen "uniquely melodized cluster playing and made it tonal. He phrases impulsively raw clusters with his right hand and yet embeds them in clear, harmonically functional tonal chords simultaneously played with the left hand." John Medeski employs tone clusters as keyboardist for Medeski, Martin, and Wood, which mixes free jazz elements into its soul jazz/jam band style.

Like jazz, rock and roll has made use of tone clusters since its birth, if characteristically in a less deliberate manner—most famously, Jerry Lee Lewis's live-performance piano technique of the 1950s, involving fists, feet, and derrière. Since the 1960s, much drone music, which crosses the lines between rock, electronic, and experimental music, has been based on tone clusters. On The Velvet Underground's "Sister Ray," recorded in September 1967, organist John Cale uses tone clusters within the context of a drone; the song is apparently the closest approximation on record of the band's early live sound. Around the same time, Doors keyboardist Ray Manzarek began introducing clusters into his solos during live performances of the band's hit "Light My Fire."

Kraftwerk's self-titled 1970 debut album employs organ clusters to add variety to its repeated tape sequences. In 1971, critic Ed Ward lauded the "tone-cluster vocal harmonies" created by Jefferson Airplane's three lead singers, Grace Slick, Marty Balin, and Paul Kantner. Tangerine Dream's 1972 double album Zeit is replete with clusters performed on synthesizer. In later rock practice, the D add9 chord characteristic of jangle pop involves a three-note set separated by major seconds (D, E, F♯), the sort of guitar cluster that may be characterized as a harp effect. The Beatles' 1965 song "We Can Work It Out" features a momentarily grating tone cluster with voices singing A sharp and C sharp against the accompanying keyboard playing a sustained chord on B to the word "time." The Band's 1968 song "The Weight" from their debut album Music from Big Pink features a dissonant vocal refrain with suspensions culminating in a 3-note cluster to the words "you put the load right on me."

The sound of tone clusters played on the organ became a convention in radio drama for dreams. Clusters are often used in the scoring of horror and science-fiction films. For a 2004 production of the play Tone Clusters by Joyce Carol Oates, composer Jay Clarke—a member of the indie rock bands Dolorean and The Standard—employed clusters to "subtly build the tension", in contrast to what he perceived in the cluster pieces by Cowell and Ives suggested by Oates: “Some of it was like music to murder somebody to; it was like horror-movie music”.

Use in other music

In traditional Japanese gagaku, the imperial court music, a tone cluster performed on shō (a type of mouth organ) is generally employed as a harmonic matrix. Yoritsune Matsudaira, active from the late 1920s to the early 2000s, merged gagaku's harmonies and tonalities with avant-garde Western techniques. Much of his work is built on the shō's ten traditional cluster formations. Lou Harrison's Pacifika Rondo, which mixes Eastern and Western instrumentation and styles, mirrors the gagaku approach—sustained organ clusters emulate the sound and function of the shō. The shō also inspired Benjamin Britten in creating the instrumental texture of his 1964 dramatic church parable Curlew River. Its sound pervades the characteristically sustained cluster chords played on a chamber organ. Traditional Korean court and aristocratic music employs passages of simultaneous ornamentation on multiple instruments, creating dissonant clusters; this technique is reflected in the work of twentieth-century Korean German composer Isang Yun.

Several East Asian free reed instruments, including the shō, were modeled on the sheng, an ancient Chinese folk instrument later incorporated into more formal musical contexts. Wubaduhesheng, one of the traditional chord formations played on the sheng, involves a three-pitch cluster. Malayan folk musicians employ an indigenous mouth organ that, like the shō and sheng, produces tone clusters. The characteristic musical form played on the bin-baja, a strummed harp of central India's Pardhan people, has been described as a "rhythmic ostinato on a tone cluster."

Among the Asante, in the region that is today encompassed by Ghana, tone clusters are used in traditional trumpet music. A distinctive "tongue-rattling technique gives a greater vibrancy to...already dissonant tonal cluster[s].... [I]ntentional dissonance dispels evil spirits, and the greater the clangor, the greater the sound barrage.

Wendy Carlos used essentially the exact reverse of this methodology to derive her Alpha scale, Beta scale and Gamma scale; they are the most consonant scales one can derive by treating tone clusters as the only type of triad that really exists, which is paradoxically an anti-harmonic monistic method.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/chords/index.html b/theory/chords/index.html index a81e7bb9be..56d11621b5 100644 --- a/theory/chords/index.html +++ b/theory/chords/index.html @@ -6,13 +6,13 @@ Chords | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Chords
Harmonic sets of pitches/frequencies consisting of multiple notes that are heard as if sounding simultaneously

For many practical and theoretical purposes, arpeggios and broken chords (in which the notes of the chord are sounded one after the other, rather than simultaneously), or sequences of chord tones, may also be considered as chords in the right musical context.

Chords and sequences of chords are frequently used in modern West African and Oceanic music, Western classical music, and Western popular music; yet, they are absent from the music of many other parts of the world.

In tonal Western classical music (music with a tonic key or "home key"), the most frequently encountered chords are triads, so called because they consist of three distinct notes: the root note, and intervals of a third and a fifth above the root note. Chords with more than three notes include added tone chords, extended chords, even more extended chords and tone clusters, which are used in contemporary classical music, jazz and almost any other genre.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/chords/more/index.html b/theory/chords/more/index.html index 5404d91c2c..6fe6206a85 100644 --- a/theory/chords/more/index.html +++ b/theory/chords/more/index.html @@ -6,21 +6,21 @@ Hexads and more | Chromatone.center - + - - - - - - - - - - - - + + + + + + + + + + + + @@ -49,7 +49,7 @@
Chromatone logo
Hexads and more
Extended chords, added tone chords and other complex interval combinations

Chords with 6 and more notes

60000 px/sec
A 7b9#9
AA#CC#EGA7b9#9
CEGAC#DbA#Bb
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
110110010010
1P
2m
3m
3M
5P
7m
1-2-1-3-3
# 3474
A
A#
C
C#
E
G
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/chords/pentads/index.html b/theory/chords/pentads/index.html index b38579bcaa..39c3d2a742 100644 --- a/theory/chords/pentads/index.html +++ b/theory/chords/pentads/index.html @@ -6,22 +6,22 @@ Pentads | Chromatone.center - + - - - - + + + + - - - - - - - - + + + + + + + + @@ -50,7 +50,7 @@
Chromatone logo
Pentads
11th diatonic chord extensions and other 5-note chords

Pentads – the five note chords

60000 px/sec
A 9
ABC#EGA9
EGABC#Db
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
101010010010
1P
2M
3M
5P
7m
2-2-3-3
# 2706
A
B
C#
E
G
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/chords/tetrads/index.html b/theory/chords/tetrads/index.html index b20b3a4568..31e19327fb 100644 --- a/theory/chords/tetrads/index.html +++ b/theory/chords/tetrads/index.html @@ -6,22 +6,22 @@ Tetrads | Chromatone.center - + - - - - + + + + - - - - - - - - + + + + + + + + @@ -50,7 +50,7 @@
Chromatone logo
Tetrads
All musically meaningful combinations of 4 notes

Seventh chords

A seventh chord is a chord consisting of a triad plus a note forming an interval of a seventh above the chord's root. When not otherwise specified, a "seventh chord" usually means a dominant seventh chord: a major triad together with a minor seventh. However, a variety of sevenths may be added to a variety of triads, resulting in many different types of seventh chords.

In its earliest usage, the seventh was introduced solely as an embellishing or nonchord tone. The seventh destabilized the triad, and allowed the composer to emphasize movement in a given direction. As time passed and the collective ear of the western world became more accustomed to dissonance, the seventh was allowed to become a part of the chord itself, and in some modern music, jazz in particular, nearly every chord is a seventh chord. Additionally, the general acceptance of equal temperament during the 19th century reduced the dissonance of some earlier forms of sevenths.

Most textbooks name these chords formally by the type of triad and type of seventh; hence, a chord consisting of a major triad and a minor seventh above the root is referred to as a major/minor seventh chord. When the triad type and seventh type are identical (i.e. they are both major, minor, or diminished), the name is shortened. For instance, a major/major seventh is generally referred to as a major seventh. This rule is not valid for augmented chords: since the augmented/augmented chord is not commonly used, the abbreviation augmented is used for augmented/minor, rather than augmented/augmented. Additionally, half-diminished stands for diminished/minor, and dominant stands for major/minor. When the type is not specified at all, the triad is assumed to be major, and the seventh is understood as a minor seventh (e.g. a "C" chord is a "C major triad", and a "C7" chord is a "C major/minor seventh chord", also known as a "C dominant seventh chord").

Tertian

The most common chords are tertian, constructed using a sequence of major thirds (spanning 4 semitones) and/or minor thirds (3 semitones). Since there are 3 third intervals in a seventh chord (4 notes) and each can be major or minor, there are 8 possible combinations, however, only seven of them are commonly found in western music. The augmented augmented seventh chord, defined by a root, a major third, an augmented fifth, and an augmented seventh (i.e., a sequence of 3 major thirds, such as C–E–G♯–B♯), is a rarely used tertian seventh chord. The reason is that the augmented seventh interval is enharmonically equivalent to one entire octave (in equal temperament, 3 major thirds = 12 semitones = 1 octave) and is hence perfectly consonant with the chord root.

60000 px/sec
A 7
AC#EGA7
EGAC#Db
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100010010010
1P
3M
5P
7m
4-3-3
# 2194
A
C#
E
G

Non-tertian

Seventh chords can also be constructed using augmented or diminished thirds. These chords are not tertian and can be used in non-tertian harmony. There are many (mathematically, 64) chords that can be built, however, only few of them are used.

60000 px/sec
A 4
ACDGA4
CDGA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100101000010
1P
3m
4P
7m
3-2-5
# 2370
A
C
D
G
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/chords/triads/index.html b/theory/chords/triads/index.html index 95c01af0a1..35baa403e7 100644 --- a/theory/chords/triads/index.html +++ b/theory/chords/triads/index.html @@ -6,22 +6,22 @@ Triads | Chromatone.center - + - - - - + + + + - - - - - - - - + + + + + + + + @@ -50,7 +50,7 @@
Chromatone logo
Triads
Chords consisting of three notes

Major and minor

A major triad can also be described by its intervals: the interval between the bottom and middle notes is a major third and the interval between the middle and top notes is a minor third.

In Western classical music from 1600 to 1820 and in Western pop, folk and rock music, a major chord is usually played as a triad. Along with the minor triad, the major triad is one of the basic building blocks of tonal music in the Western common practice period and Western pop, folk and rock music. It is considered consonant, stable, or not requiring resolution. In Western music, a minor chord "sounds darker than a major chord", giving off a sense of sadness or somber feeling.

60000 px/sec
A M
AC#EAM
EAC#Db
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100010010000
1P
3M
5P
4-3
# 2192
A
C#
E

A unique particularity of the minor chord is that this is the only chord of three notes in which the three notes have one harmonic – hearable and with a not too high row – in common (more or less exactly, depending on the tuning system used). This harmonic, common to the three notes, is situated 2 octaves above the high note of the chord. This is the sixth harmonic of the root of the chord, the fifth of the middle note, and the fourth of the high note:

In the example C, E♭, G, the common harmonic is a G 2 octaves above.

Demonstration:

  • Minor third = 6:5 = 12:10
  • Major third = 5:4 = 15:12
  • So the ratios of minor chord are 10:12:15
  • And the explication of the unique harmonic in common, between the three notes, is verified by : 10 × 6 = 12 × 5 = 15 × 4

Suspended chords

A suspended chord (or sus chord) is a musical chord in which the (major or minor) third is omitted and replaced with a perfect fourth or, less commonly, a major second. The lack of a minor or a major third in the chord creates an open sound, while the dissonance between the fourth and fifth or second and root creates tension. When using popular-music symbols, they are indicated by the symbols "sus4" and "sus2".

The term is borrowed from the contrapuntal technique of suspension, where a note from a previous chord is carried over to the next chord, and then resolved down to the third or tonic, suspending a note from the previous chord. However, in modern usage, the term concerns only the notes played at a given time; in a suspended chord, the added tone does not necessarily resolve and is not necessarily "prepared" (i.e., held over) from the prior chord. As such, in C–F–G, F would resolve to E (or E♭, in the case of C minor), but in rock and popular music, "the term is used to indicate only the harmonic structure, with no implications about what comes before or after," though preparation of the fourth occurs about half the time and traditional resolution of the fourth occurs usually. In modern jazz, a third can be added to the chord voicing, as long as it is above the fourth.

Each suspended chord has two inversions. Suspended second chords are inversions of suspended fourth chords, and vice versa. For example, Gsus2 (G–A–D) is the first inversion of Dsus4 (D–G–A) which is the second inversion of Gsus2 (G–A–D). The sus2 and sus4 chords both have an inversion that creates a quartal chord (A–D–G) with two stacked perfect fourths.

Sevenths on suspended chords are "virtually always minor sevenths", while the 9sus4 chord is similar to an eleventh chord and may be notated as such. For example, C9sus4 (C–F–G–B♭–D) may be notated C11 (C–G–B♭–D–F).

60000 px/sec
A sus2
ABEAsus2
EAB
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
101000010000
1P
2M
5P
2-5
# 2576
A
B
E

Augmented and diminished

A diminished triad (also known as the minor flatted fifth) is a triad consisting of two minor thirds above the root. It is a minor triad with a lowered (flattened) fifth. When using chord symbols, it may be indicated by the symbols "dim", "o", "m♭5", or "MI(♭5)". However, in most popular-music chord books, the symbol "dim" and "o" represents a diminished seventh chord (a four-tone chord), which in some modern jazz books and music theory books is represented by the "dim7" or "o7" symbols.

In major scales, a diminished triad occurs only on the seventh scale degree. For instance, in the key of C, this is a B diminished triad (B, D, F). Since the triad is built on the seventh scale degree, it is also called the leading-tone triad. This chord has a dominant function. Unlike the dominant triad or dominant seventh, the leading-tone triad functions as a prolongational chord rather than a structural chord since the strong root motion by fifth is absent.

On the other hand, in natural minor scales, the diminished triad occurs on the second scale degree; in the key of C minor, this is the D diminished triad (D, F, A♭). This triad is consequently called the supertonic diminished triad. Like the supertonic triad found in a major key, the supertonic diminished triad has a predominant function, almost always resolving to a dominant functioning chord.

If the music is in a minor key, diminished triads can also be found on the raised seventh note, ♯viio. This is because the ascending melodic minor scale has a raised sixth and seventh degree. For example, the chord progression ♯viio–i is common.

The leading-tone diminished triad and supertonic diminished triad are usually found in first inversion (viio6 and iio6, respectively) since the spelling of the chord forms a diminished fifth with the bass. This differs from the fully diminished seventh chord, which commonly occurs in root position. In both cases, the bass resolves up and the upper voices move downwards in contrary motion.

60000 px/sec
A aug
AC#FAaug
FAC#Db
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100010001000
1P
3M
6m
4-4
# 2184
A
C#
F

The term augmented triad arises from an augmented triad being considered a major chord whose top note (fifth) is raised. When using popular-music symbols, it is indicated by the symbol "+" or "aug". For example, the augmented triad built on C, written as C+, has pitches C–E–G♯:

Whereas a major triad, such as C–E–G, contains a major third (C–E) and a minor third (E–G), with the interval of the fifth (C–G) being perfect, the augmented triad has an augmented fifth, becoming C–E–G♯. In other words, the top note is raised a semitone.

The augmented triad on the V may be used as a substitute dominant, and may also be considered as ♭III+. The example below shows ♭III+ as a substitute dominant in a ii-V-I turnaround in C major.

Though rare, the augmented chord occurs in rock music, "almost always as a linear embellishment linking an opening tonic chord with the next chord," for example John Lennon's "(Just Like) Starting Over" and The Beatles' "All My Loving". Thus, with an opening tonic chord, an augmented chord results from ascending or descending movement between the fifth and sixth degrees, such as in the chord progression I – I+ – vi. This progression forms the verse for Oasis's 2005 single "Let There Be Love" (I – I+ – vi – IV)

Synthetic triads

A synthetic chord is a made-up or non-traditional (synthetic) chord (collection of pitches) which cannot be analyzed in terms of traditional harmonic structures, such as the triad or seventh chord.

This title is applied to a group of notes, usually a scale-like succession of pitches, with a fixed progression of tones and semitones. This scale can obviously be transposed to any pitch, and depending on its intervallic makeup, will have a fixed number of possible transpositions. Furthermore, the sintetakkord can be used either vertically or horizontally; Roslavets' music is not concerned with the order of the pitches, but rather with the whole 'field' thus created, so that the system is less oriented toward themes and more toward harmonic fields.

— Sitsky (1994)

60000 px/sec
A Mb5
AC#D#AMb5
AC#DbD#Eb
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100010100000
1P
3M
5d
4-2
# 2208
A
C#
D#
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/color/index.html b/theory/color/index.html index f8d4b5c66d..288c32cc30 100644 --- a/theory/color/index.html +++ b/theory/color/index.html @@ -6,13 +6,13 @@ Color | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Color
The features of human light perception and modern color theory

Here's very start of our journey to the visual music theory. First we learn about the phenomenon of Light, its sources and its main properties as an electromagnetic emission.

Then we dive deep into the physiology of Human color perception that defines the way we interpret colors of the nature.

Color models study shows the research and the maths behind modern methods of reproducing any given color on the screen or on printed media.

We list 12 Main colors names to make sure we can use them later as 12 notes correspondents.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/color/light/em-field/index.html b/theory/color/light/em-field/index.html index a42f99b624..99f988c6b9 100644 --- a/theory/color/light/em-field/index.html +++ b/theory/color/light/em-field/index.html @@ -6,13 +6,13 @@ Electromagnetic fields | Chromatone.center - + - - - - + + + + @@ -40,8 +40,8 @@ -
Chromatone logo
Electromagnetic fields
EM-waves propagationg through space

An electromagnetic field (also EM field) is a physical field, mathematical functions of position and time, representing the influences on and due to electric charges. The field at any point in space and time can be regarded as a combination of an electric field and a magnetic field. Because of the interrelationship between the fields, a disturbance in the electric field can create a disturbance in the magnetic field which in turn affects the electric field, leading to an oscillation that propagates through space, known as an electromagnetic wave.

The way in which charges and currents (i.e. streams of charges) interact with the electromagnetic field is described by Maxwell's equation and the Lorentz force law. Maxwell's equations detail how the electric field converges towards or diverges away from electric charges, how the magnetic field curls around electrical currents, and how changes in the electric and magnetic fields influence each other. The Lorentz force law states that a charge subject to an electric field feels a force along the direction of the field, and a charge moving through a magnetic field feels a force that is perpendicular both to the magnetic field and to its direction of motion.

The electromagnetic field is described by classical electrodynamics, an example of a classical field theory. This theory describes many macroscopic physical phenomena accurately. However, it was unable to explain the photoelectric effect and atomic absorption spectroscopy, experiments at the atomic scale. That required the use of quantum mechanics, specifically the quantization of the electromagnetic field and the development of quantum electrodynamics.

Strongly magnetic materials (i.e., ferromagnetic, ferrimagnetic or paramagnetic) have a magnetization that is primarily due to electron spin.

Transformations of electromagnetic fields

Whether a physical effect is attributable to an electric field or to a magnetic field is dependent upon the observer, in a way that special relativity makes mathematically precise. For example, suppose that a laboratory contains a long straight wire that carries an electrical current. In the frame of reference where the laboratory is at rest, the wire is motionless and electrically neutral: the current, composed of negatively charged electrons, moves against a background of positively charged ions, and the densities of positive and negative charges cancel each other out. A test charge near the wire would feel no electrical force from the wire. However, if the test charge is in motion parallel to the current, the situation changes. In the rest frame of the test charge, the positive and negative charges in the wire are moving at different speeds, and so the positive and negative charge distributions are Lorentz-contracted by different amounts. Consequently, the wire has a nonzero net charge density, and the test charge must experience a nonzero electric field and thus a nonzero force. In the rest frame of the laboratory, there is no electric field to explain the test charge being pulled towards or pushed away from the wire. So, an observer in the laboratory rest frame concludes that a magnetic field must be present.

In general, a situation that one observer describes using only an electric field will be described by an observer in a different inertial frame using a combination of electric and magnetic fields. Analogously, a phenomenon that one observer describes using only a magnetic field will be, in a relatively moving reference frame, described by a combination of fields. The rules for relating the fields required in different reference frames are the Lorentz transformations of the fields.

Thus, electrostatics and magnetostatics are now seen as studies of the static EM field when a particular frame has been selected to suppress the other type of field, and since an EM field with both electric and magnetic will appear in any other frame, these "simpler" effects are merely a consequence of different frames of measurement. The fact that the two field variations can be reproduced just by changing the motion of the observer is further evidence that there is only a single actual field involved which is simply being observed differently.

Reciprocal behavior of electric and magnetic fields

The two Maxwell equations, Faraday's Law and the Ampère–Maxwell Law, illustrate a very practical feature of the electromagnetic field. Faraday's Law may be stated roughly as "a changing magnetic field inside a loop creates an electric voltage around the loop". This is the principle behind the electric generator.

Ampere's Law roughly states that "an electrical current around a loop creates a magnetic field through the loop". Thus, this law can be applied to generate a magnetic field and run an electric motor.

Behavior of the fields in the absence of charges or currents

A linearly polarized electromagnetic plane wave propagating parallel to the z-axis is a possible solution for the electromagnetic wave equations in free space. The electric field, E, and the magnetic field, B, are perpendicular to each other and the direction of propagation.

Maxwell's equations can be combined to derive wave equations. The solutions of these equations take the form of an electromagnetic wave. In a volume of space not containing charges or currents (free space) – that is, where ρ and J are zero, the electric and magnetic fields satisfy these electromagnetic wave equations:

James Clerk Maxwell was the first to obtain this relationship by his completion of Maxwell's equations with the addition of a displacement current term to Ampere's circuital law. This unified the physical understanding of electricity, magnetism, and light: visible light is but one portion of the full range of electromagnetic waves, the electromagnetic spectrum.

Time-varying EM fields in Maxwell's equations

An electromagnetic field very far from currents and charges (sources) is called electromagnetic radiation (EMR) since it radiates from the charges and currents in the source. Such radiation can occur across a wide range of frequencies called the electromagnetic spectrum, including radio waves, microwave, infrared, visible light, ultraviolet light, X-rays, and gamma rays. The many commercial applications of these radiations are discussed in the named and linked articles.

A notable application of visible light is that this type of energy from the Sun powers all life on Earth that either makes or uses oxygen.

A changing electromagnetic field which is physically close to currents and charges (see near and far field for a definition of "close") will have a dipole characteristic that is dominated by either a changing electric dipole, or a changing magnetic dipole. This type of dipole field near sources is called an electromagnetic near-field.

Changing electric dipole fields, as such, are used commercially as near-fields mainly as a source of dielectric heating. Otherwise, they appear parasitically around conductors which absorb EMR, and around antennas which have the purpose of generating EMR at greater distances.

Changing magnetic dipole fields (i.e., magnetic near-fields) are used commercially for many types of magnetic induction devices. These include motors and electrical transformers at low frequencies, and devices such as RFID tags, metal detectors, and MRI scanner coils at higher frequencies.

Health and safety

The potential effects of electromagnetic fields on human health vary widely depending on the frequency, intensity of the fields, and the length of the exposure. Low frequency, low intensity, and short duration exposure to electromagnetic radiation is generally considered safe. On the other hand, radiation from other parts of the electromagnetic spectrum, such as ultraviolet light and gamma rays, are known to cause significant harm in some circumstances.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
Electromagnetic fields
EM-waves propagationg through space

An electromagnetic field (also EM field) is a physical field, mathematical functions of position and time, representing the influences on and due to electric charges. The field at any point in space and time can be regarded as a combination of an electric field and a magnetic field. Because of the interrelationship between the fields, a disturbance in the electric field can create a disturbance in the magnetic field which in turn affects the electric field, leading to an oscillation that propagates through space, known as an electromagnetic wave.

The way in which charges and currents (i.e. streams of charges) interact with the electromagnetic field is described by Maxwell's equation and the Lorentz force law. Maxwell's equations detail how the electric field converges towards or diverges away from electric charges, how the magnetic field curls around electrical currents, and how changes in the electric and magnetic fields influence each other. The Lorentz force law states that a charge subject to an electric field feels a force along the direction of the field, and a charge moving through a magnetic field feels a force that is perpendicular both to the magnetic field and to its direction of motion.

The electromagnetic field is described by classical electrodynamics, an example of a classical field theory. This theory describes many macroscopic physical phenomena accurately. However, it was unable to explain the photoelectric effect and atomic absorption spectroscopy, experiments at the atomic scale. That required the use of quantum mechanics, specifically the quantization of the electromagnetic field and the development of quantum electrodynamics.

Strongly magnetic materials (i.e., ferromagnetic, ferrimagnetic or paramagnetic) have a magnetization that is primarily due to electron spin.

Transformations of electromagnetic fields

Whether a physical effect is attributable to an electric field or to a magnetic field is dependent upon the observer, in a way that special relativity makes mathematically precise. For example, suppose that a laboratory contains a long straight wire that carries an electrical current. In the frame of reference where the laboratory is at rest, the wire is motionless and electrically neutral: the current, composed of negatively charged electrons, moves against a background of positively charged ions, and the densities of positive and negative charges cancel each other out. A test charge near the wire would feel no electrical force from the wire. However, if the test charge is in motion parallel to the current, the situation changes. In the rest frame of the test charge, the positive and negative charges in the wire are moving at different speeds, and so the positive and negative charge distributions are Lorentz-contracted by different amounts. Consequently, the wire has a nonzero net charge density, and the test charge must experience a nonzero electric field and thus a nonzero force. In the rest frame of the laboratory, there is no electric field to explain the test charge being pulled towards or pushed away from the wire. So, an observer in the laboratory rest frame concludes that a magnetic field must be present.

In general, a situation that one observer describes using only an electric field will be described by an observer in a different inertial frame using a combination of electric and magnetic fields. Analogously, a phenomenon that one observer describes using only a magnetic field will be, in a relatively moving reference frame, described by a combination of fields. The rules for relating the fields required in different reference frames are the Lorentz transformations of the fields.

Thus, electrostatics and magnetostatics are now seen as studies of the static EM field when a particular frame has been selected to suppress the other type of field, and since an EM field with both electric and magnetic will appear in any other frame, these "simpler" effects are merely a consequence of different frames of measurement. The fact that the two field variations can be reproduced just by changing the motion of the observer is further evidence that there is only a single actual field involved which is simply being observed differently.

Reciprocal behavior of electric and magnetic fields

The two Maxwell equations, Faraday's Law and the Ampère–Maxwell Law, illustrate a very practical feature of the electromagnetic field. Faraday's Law may be stated roughly as "a changing magnetic field inside a loop creates an electric voltage around the loop". This is the principle behind the electric generator.

Ampere's Law roughly states that "an electrical current around a loop creates a magnetic field through the loop". Thus, this law can be applied to generate a magnetic field and run an electric motor.

Behavior of the fields in the absence of charges or currents

A linearly polarized electromagnetic plane wave propagating parallel to the z-axis is a possible solution for the electromagnetic wave equations in free space. The electric field, E, and the magnetic field, B, are perpendicular to each other and the direction of propagation.

Maxwell's equations can be combined to derive wave equations. The solutions of these equations take the form of an electromagnetic wave. In a volume of space not containing charges or currents (free space) – that is, where ρ and J are zero, the electric and magnetic fields satisfy these electromagnetic wave equations:

James Clerk Maxwell was the first to obtain this relationship by his completion of Maxwell's equations with the addition of a displacement current term to Ampere's circuital law. This unified the physical understanding of electricity, magnetism, and light: visible light is but one portion of the full range of electromagnetic waves, the electromagnetic spectrum.

Time-varying EM fields in Maxwell's equations

An electromagnetic field very far from currents and charges (sources) is called electromagnetic radiation (EMR) since it radiates from the charges and currents in the source. Such radiation can occur across a wide range of frequencies called the electromagnetic spectrum, including radio waves, microwave, infrared, visible light, ultraviolet light, X-rays, and gamma rays. The many commercial applications of these radiations are discussed in the named and linked articles.

A notable application of visible light is that this type of energy from the Sun powers all life on Earth that either makes or uses oxygen.

A changing electromagnetic field which is physically close to currents and charges (see near and far field for a definition of "close") will have a dipole characteristic that is dominated by either a changing electric dipole, or a changing magnetic dipole. This type of dipole field near sources is called an electromagnetic near-field.

Changing electric dipole fields, as such, are used commercially as near-fields mainly as a source of dielectric heating. Otherwise, they appear parasitically around conductors which absorb EMR, and around antennas which have the purpose of generating EMR at greater distances.

Changing magnetic dipole fields (i.e., magnetic near-fields) are used commercially for many types of magnetic induction devices. These include motors and electrical transformers at low frequencies, and devices such as RFID tags, metal detectors, and MRI scanner coils at higher frequencies.

Health and safety

The potential effects of electromagnetic fields on human health vary widely depending on the frequency, intensity of the fields, and the length of the exposure. Low frequency, low intensity, and short duration exposure to electromagnetic radiation is generally considered safe. On the other hand, radiation from other parts of the electromagnetic spectrum, such as ultraviolet light and gamma rays, are known to cause significant harm in some circumstances.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/theory/color/light/em-waves/index.html b/theory/color/light/em-waves/index.html index c46ae173fc..52618b1e00 100644 --- a/theory/color/light/em-waves/index.html +++ b/theory/color/light/em-waves/index.html @@ -6,13 +6,13 @@ Electromagnetic radiation | Chromatone.center - + - - - - + + + + @@ -40,8 +40,8 @@ -
Chromatone logo
Electromagnetic radiation
EM-waves propagationg through space

Synchronised oscillations (or their quanta, photons) of the electric and magnetic fields, propagating through space at the speed of ~300,000 km/s.

Visible light is a certain portion of electromagnetic spectrum between infrared (too weak to excite electrons in molecules) and ultraviolet (powerful enough to cause irreversible chemical reactions in organic matter).

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
Electromagnetic radiation
EM-waves propagationg through space

Synchronised oscillations (or their quanta, photons) of the electric and magnetic fields, propagating through space at the speed of ~300,000 km/s.

Visible light is a certain portion of electromagnetic spectrum between infrared (too weak to excite electrons in molecules) and ultraviolet (powerful enough to cause irreversible chemical reactions in organic matter).

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/theory/color/light/index.html b/theory/color/light/index.html index 5c4e044513..3e3b14980c 100644 --- a/theory/color/light/index.html +++ b/theory/color/light/index.html @@ -6,13 +6,13 @@ Light | Chromatone.center - + - - - - + + + + @@ -40,8 +40,8 @@ - - + + \ No newline at end of file diff --git a/theory/color/light/spectrum/index.html b/theory/color/light/spectrum/index.html index 2e9f8af016..dcfdeddf52 100644 --- a/theory/color/light/spectrum/index.html +++ b/theory/color/light/spectrum/index.html @@ -6,13 +6,13 @@ Light spectrum | Chromatone.center - + - - - - + + + + @@ -40,8 +40,8 @@ -
Chromatone logo
Light spectrum
Spectrum of solar radiation

svg

Black body emission

Black-body radiation is the thermal electromagnetic radiation within or surrounding a body in thermodynamic equilibrium with its environment, emitted by a black body (an idealized opaque, non-reflective body). It has a specific spectrum of wavelengths, inversely related to intensity that depend only on the body's temperature, which is assumed for the sake of calculations and theory to be uniform and constant.

svg

Black-body radiation has a characteristic, continuous frequency spectrum that depends only on the body's temperature, called the Planck spectrum or Planck's law. The spectrum is peaked at a characteristic frequency that shifts to higher frequencies with increasing temperature, and at room temperature most of the emission is in the infrared region of the electromagnetic spectrum. As the temperature increases past about 500 degrees Celsius, black bodies start to emit significant amounts of visible light. Viewed in the dark by the human eye, the first faint glow appears as a "ghostly" grey (the visible light is actually red, but low intensity light activates only the eye's grey-level sensors). With rising temperature, the glow becomes visible even when there is some background surrounding light: first as a dull red, then yellow, and eventually a "dazzling bluish-white" as the temperature rises. When the body appears white, it is emitting a substantial fraction of its energy as ultraviolet radiation. The Sun, with an effective temperature of approximately 5800 K, is an approximate black body with an emission spectrum peaked in the central, yellow-green part of the visible spectrum, but with significant power in the ultraviolet as well.

svg

In the longer wavelengths this deviation is not so noticeable, as hv are very small. In the shorter wavelengths of the ultraviolet range, however, classical theory predicts the energy emitted tends to infinity, hence the ultraviolet catastrophe. The theory even predicted that all bodies would emit most of their energy in the ultraviolet range, clearly contradicted by the experimental data which showed a different peak wavelength at different temperatures (see also Wien's law).

svg

As the temperature increases, the peak of the emitted black-body radiation curve moves to higher intensities and shorter wavelengths. The black-body radiation graph is also compared with the classical model of Rayleigh and Jeans.

Instead, in the quantum treatment of this problem, the numbers of the energy modes are quantized, attenuating the spectrum at high frequency in agreement with experimental observation and resolving the catastrophe. The modes that had more energy than the thermal energy of the substance itself were not considered, and because of quantization modes having infinitesimally little energy were excluded.

Thus for shorter wavelengths very few modes (having energy more than hν) were allowed, supporting the data that the energy emitted is reduced for wavelengths less than the wavelength of the observed peak of emission.

Notice that there are two factors responsible for the shape of the graph. Firstly, longer wavelengths have a larger number of modes associated with them. Secondly, shorter wavelengths have more energy associated per mode. The two factors combined give the characteristic maximum wavelength.

Calculating the black-body curve was a major challenge in theoretical physics during the late nineteenth century. The problem was solved in 1901 by Max Planck in the formalism now known as Planck's law of black-body radiation. By making changes to Wien's radiation law (not to be confused with Wien's displacement law) consistent with thermodynamics and electromagnetism, he found a mathematical expression fitting the experimental data satisfactorily. Planck had to assume that the energy of the oscillators in the cavity was quantized, i.e., it existed in integer multiples of some quantity. Einstein built on this idea and proposed the quantization of electromagnetic radiation itself in 1905 to explain the photoelectric effect. These theoretical advances eventually resulted in the superseding of classical electromagnetism by quantum electrodynamics. These quanta were called photons and the black-body cavity was thought of as containing a gas of photons. In addition, it led to the development of quantum probability distributions, called Fermi–Dirac statistics and Bose–Einstein statistics, each applicable to a different class of particles, fermions and bosons.

Earth atmosphere EM radiation absorption

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
Light spectrum
Spectrum of solar radiation

svg

Black body emission

Black-body radiation is the thermal electromagnetic radiation within or surrounding a body in thermodynamic equilibrium with its environment, emitted by a black body (an idealized opaque, non-reflective body). It has a specific spectrum of wavelengths, inversely related to intensity that depend only on the body's temperature, which is assumed for the sake of calculations and theory to be uniform and constant.

svg

Black-body radiation has a characteristic, continuous frequency spectrum that depends only on the body's temperature, called the Planck spectrum or Planck's law. The spectrum is peaked at a characteristic frequency that shifts to higher frequencies with increasing temperature, and at room temperature most of the emission is in the infrared region of the electromagnetic spectrum. As the temperature increases past about 500 degrees Celsius, black bodies start to emit significant amounts of visible light. Viewed in the dark by the human eye, the first faint glow appears as a "ghostly" grey (the visible light is actually red, but low intensity light activates only the eye's grey-level sensors). With rising temperature, the glow becomes visible even when there is some background surrounding light: first as a dull red, then yellow, and eventually a "dazzling bluish-white" as the temperature rises. When the body appears white, it is emitting a substantial fraction of its energy as ultraviolet radiation. The Sun, with an effective temperature of approximately 5800 K, is an approximate black body with an emission spectrum peaked in the central, yellow-green part of the visible spectrum, but with significant power in the ultraviolet as well.

svg

In the longer wavelengths this deviation is not so noticeable, as hv are very small. In the shorter wavelengths of the ultraviolet range, however, classical theory predicts the energy emitted tends to infinity, hence the ultraviolet catastrophe. The theory even predicted that all bodies would emit most of their energy in the ultraviolet range, clearly contradicted by the experimental data which showed a different peak wavelength at different temperatures (see also Wien's law).

svg

As the temperature increases, the peak of the emitted black-body radiation curve moves to higher intensities and shorter wavelengths. The black-body radiation graph is also compared with the classical model of Rayleigh and Jeans.

Instead, in the quantum treatment of this problem, the numbers of the energy modes are quantized, attenuating the spectrum at high frequency in agreement with experimental observation and resolving the catastrophe. The modes that had more energy than the thermal energy of the substance itself were not considered, and because of quantization modes having infinitesimally little energy were excluded.

Thus for shorter wavelengths very few modes (having energy more than hν) were allowed, supporting the data that the energy emitted is reduced for wavelengths less than the wavelength of the observed peak of emission.

Notice that there are two factors responsible for the shape of the graph. Firstly, longer wavelengths have a larger number of modes associated with them. Secondly, shorter wavelengths have more energy associated per mode. The two factors combined give the characteristic maximum wavelength.

Calculating the black-body curve was a major challenge in theoretical physics during the late nineteenth century. The problem was solved in 1901 by Max Planck in the formalism now known as Planck's law of black-body radiation. By making changes to Wien's radiation law (not to be confused with Wien's displacement law) consistent with thermodynamics and electromagnetism, he found a mathematical expression fitting the experimental data satisfactorily. Planck had to assume that the energy of the oscillators in the cavity was quantized, i.e., it existed in integer multiples of some quantity. Einstein built on this idea and proposed the quantization of electromagnetic radiation itself in 1905 to explain the photoelectric effect. These theoretical advances eventually resulted in the superseding of classical electromagnetism by quantum electrodynamics. These quanta were called photons and the black-body cavity was thought of as containing a gas of photons. In addition, it led to the development of quantum probability distributions, called Fermi–Dirac statistics and Bose–Einstein statistics, each applicable to a different class of particles, fermions and bosons.

Earth atmosphere EM radiation absorption

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/theory/color/light/sun/index.html b/theory/color/light/sun/index.html index 318d0e254a..52c94fe238 100644 --- a/theory/color/light/sun/index.html +++ b/theory/color/light/sun/index.html @@ -6,13 +6,13 @@ The Sun | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
The Sun
The Sun is the center of our Solar system and is the main source of all light on Earth.

The Sun, a 4.5 billion-year-old yellow dwarf star, is the center of our Solar system and is the main source of light on Earth.

The Sun has an absolute magnitude of +4.83, estimated to be brighter than about 85% of the stars in the Milky Way, most of which are red dwarfs.

The Sun is a G-type main-sequence star that comprises about 99.86% of the mass of the Solar System. Its mass is estimated at 2 octillion tons, while it's losing 5 million tons of material each second in form of radiation and ionized corona flares that cool down in space and propagate as solar wind.

svg

The Sun is by far the brightest object in the Earth's sky, with an apparent magnitude of −26.74. This is about 13 billion times brighter than the next brightest star, Sirius, which has an apparent magnitude of −1.46.

wind

The Sun is about 149.6 million kilometers away from Earth. Light travels at a speed of about 299,792 kilometers per second. So, it takes about 8 minutes and 20 seconds for light to travel from the Sun to Earth.

Thermonuclear reactions at temperatures about 14 million Kelvin in its core produce high energy gamma-rays that are absorbed and converted into lower energy radiation by ionized atoms in its relatively thin and much cooler (4000 - 6000 K) photosphere and chromosphere layers.

UV radiation of the Sun

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/color/models/additive/index.html b/theory/color/models/additive/index.html index 9658779e85..a4b5c90ee7 100644 --- a/theory/color/models/additive/index.html +++ b/theory/color/models/additive/index.html @@ -6,15 +6,15 @@ Additive color models | Chromatone.center - + - - - - - - + + + + + + @@ -43,7 +43,7 @@
Chromatone logo
Additive color models
The colors created by combining colored lights

A color model is additive in the sense that the three light beams are added together, and their light spectra add, wavelength for wavelength, to make the final color's spectrum. Because of properties, these three colors create white, this is in stark contrast to physical colors, such as dyes which create black when mixed.

Interactive RGB color mixer

Drag any of the color components up or right to increase its value.

RBG#bebebe silverrgb(190, 190, 190) hsl(0, 0%, 75%) lab(76.98, 0, 0) cmyk(0% 0% 0% 25%)

Zero intensity for each component gives the darkest color (no light, considered the black), and full intensity of each gives a white; the quality of this white depends on the nature of the primary light sources, but if they are properly balanced, the result is a neutral white matching the system's white point. When the intensities for all the components are the same, the result is a shade of gray, darker or lighter depending on the intensity. When the intensities are different, the result is a colorized hue, more or less saturated depending on the difference of the strongest and weakest of the intensities of the primary colors employed.

RGB

To form a color with RGB, three light beams (one red, one green, and one blue) must be superimposed (for example by emission from a black screen or by reflection from a white screen). Each of the three beams is called a component of that color, and each of them can have an arbitrary intensity, from fully off to fully on, in the mixture.

The RGB color model itself does not define what is meant by red, green, and blue colorimetrically, and so the results of mixing them are not specified as absolute, but relative to the primary colors. When the exact chromaticities of the red, green, and blue primaries are defined, the color model then becomes an absolute color space, such as sRGB or Adobe RGB.

Use of the three primary colors is not sufficient to reproduce all colors; only colors within the color triangle defined by the chromaticities of the primaries can be reproduced by additive mixing of non-negative amounts of those colors of light.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/color/models/index.html b/theory/color/models/index.html index 9aae4b30cb..d3a2095270 100644 --- a/theory/color/models/index.html +++ b/theory/color/models/index.html @@ -6,13 +6,13 @@ Color models | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/theory/color/models/perceptual/index.html b/theory/color/models/perceptual/index.html index d324768e0e..f62af98e96 100644 --- a/theory/color/models/perceptual/index.html +++ b/theory/color/models/perceptual/index.html @@ -6,18 +6,18 @@ Perceptual color models | Chromatone.center - + - - - - - - - - - + + + + + + + + + @@ -46,7 +46,7 @@
Chromatone logo
Perceptual color models
Color spaces based on the "standard observer" perception of colors

Munsell color system

In colorimetry, the Munsell color system is a color space that specifies colors based on three properties of color: hue (basic color), chroma (color intensity), and value (lightness). It was created by Professor Albert H. Munsell in the first decade of the 20th century and adopted by the United States Department of Agriculture (USDA) as the official color system for soil research in the 1930s.

Several earlier color order systems had placed colors into a three-dimensional color solid of one form or another, but Munsell was the first to separate hue, value, and chroma into perceptually uniform and independent dimensions, and he was the first to illustrate the colors systematically in three-dimensional space. Munsell's system, particularly the later renotations, is based on rigorous measurements of human subjects' visual responses to color, putting it on a firm experimental scientific basis. Because of this basis in human visual perception, Munsell's system has outlasted its contemporary color models, and though it has been superseded for some uses by models such as CIELAB (Lab*) and CIECAM02, it is still in wide use today.

Three-dimensional representation of the 1943 Munsell renotations (with portion cut away).

HSL, HSV and HSB color models

HSL (for hue, saturation, lightness) and HSV (for hue, saturation, value; also known as HSB, for hue, saturation, brightness) are alternative representations of the RGB color model, designed in the 1970s by computer graphics researchers to more closely align with the way human vision perceives color-making attributes. In these models, colors of each hue are arranged in a radial slice, around a central axis of neutral colors which ranges from black at the bottom to white at the top.

The HSL representation models the way different paints mix together to create colour in the real world, with the lightness dimension resembling the varying amounts of black or white paint in the mixture (e.g. to create "light red", a red pigment can be mixed with white paint; this white paint corresponds to a high "lightness" value in the HSL representation). Fully saturated colors are placed around a circle at a lightness value of ½, with a lightness value of 0 or 1 corresponding to fully black or white, respectively.

Meanwhile, the HSV representation models how colors appear under light. The difference between HSL and HSV is that a color with maximum lightness in HSL is pure white, but a color with maximum value/brightness in HSV is analogous to shining a white light on a colored object (e.g. shining a bright white light on a red object causes the object to still appear red, just brighter and more intense, while shining a dim light on a red object causes the object to appear darker and less bright).

The issue with both HSV and HSL is that these approaches do not effectively separate colour into their three value components according to human perception of color. This can be seen when the saturation settings are altered — it is quite easy to notice the difference in perceptual lightness despite the "V" or "L" setting being fixed.

HWB is a cylindrical-coordinate representation of points in an RGB color model, similar to HSL and HSV. It was developed by HSV’s creator Alvy Ray Smith in 1996 to address some of the issues with HSV. HWB was designed to be more intuitive for humans to use and slightly faster to compute. The first coordinate, H (Hue), is the same as the Hue coordinate in HSL and HSV. W and B stand for Whiteness and Blackness respectively and range from 0–100% (or 0–1). The mental model is that the user can pick a main hue and then “mix” it with white and/or black to produce the desired color.

HCL (Lch) color space

HCL (Hue-Chroma-Luminance) or Lch refers to any of the many cylindrical color space models that are designed to accord with human perception of color with the three parameters. Lch has been adopted by information visualization practitioners to present data without the bias implicit in using varying saturation. They are, in general, designed to have characteristics of both cylindrical translations of the RGB color space, such as HSL and HSV, and the Lab* color space.

CIE-based Lch color spaces are transformations of the two chroma values (ab or uv) into the polar coordinates. The source color spaces are still very well-regarded for their uniformity, and the transformation does not cause degradation in this aspect. See the respective articles for how the underlying coordinates are derived.

Interactive HSL, LCH and HWB color mixer

Choose any of the models by clicking on its name. You can define a hue for the color by clicking on its sector and then change two other parameters either by dragging the bars on the side or just swiping across the circle. Top-down motion is for the L (W) component and right-left is for the other one.

HSLLchHWB12 HUE STEPS #b25f37 siennargb(178, 95, 55) hsl(20, 53%, 46%) lab(49.91, 32.03, 38.02) cmyk(0% 47% 69% 30%) 50°L 50.0C 50.0

CIE 1931 XYZ

The CIE 1931 RGB color space and CIE 1931 XYZ color space were created by the International Commission on Illumination (CIE) in 1931. They resulted from a series of experiments done in the late 1920s by William David Wright using ten observers and John Guild using seven observers. The experimental results were combined into the specification of the CIE RGB color space, from which the CIE XYZ color space was derived.

Due to the distribution of cones in the eye, the tristimulus values depend on the observer's field of view. To eliminate this variable, the CIE defined a color-mapping function called the standard (colorimetric) observer, to represent an average human's chromatic response within a 2° arc inside the fovea. This angle was chosen owing to the belief that the color-sensitive cones resided within a 2° arc of the fovea. Thus the CIE 1931 Standard Observer function is also known as the CIE 1931 2° Standard Observer.

The CIE XYZ color space encompasses all color sensations that are visible to a person with average eyesight. That is why CIE XYZ (Tristimulus values) is a device-invariant representation of color. It serves as a standard reference against which many other color spaces are defined. A set of color-matching functions, like the spectral sensitivity curves of the LMS color space, but not restricted to non-negative sensitivities, associates physically produced light spectra with specific tristimulus values.

A color space maps a range of physically produced colors from mixed light, pigments, etc. to an objective description of color sensations registered in the human eye, typically in terms of tristimulus values, but not usually in the LMS color space defined by the spectral sensitivities of the cone cells. The tristimulus values associated with a color space can be conceptualized as amounts of three primary colors in a tri-chromatic, additive color model. In some color spaces, including the LMS and XYZ spaces, the primary colors used are not real colors in the sense that they cannot be generated in any light spectrum.

In the CIE 1931 model, Y is the luminance, Z is quasi-equal to blue (of CIE RGB), and X is a mix of the three CIE RGB curves chosen to be nonnegative (see § Definition of the CIE XYZ color space). Setting Y as luminance has the useful result that for any given Y value, the XZ plane will contain all possible chromaticities at that luminance.

The unit of the tristimulus values X, Y, and Z is often arbitrarily chosen so that Y = 1 or Y = 100 is the brightest white that a color display supports. In this case, the Y value is known as the relative luminance. The corresponding whitepoint values for X and Z can then be inferred using the standard illuminants.

n other words, the Z value is solely made up of the S cone response, the Y value a mix of L and M responses, and X value a mix of all three. This fact makes XYZ values analogous to, but different from, the LMS cone responses of the human eye.

CIELUV and CIELAB

CIELUV, is a color space adopted by the International Commission on Illumination (CIE) in 1976, as a simple-to-compute transformation of the 1931 CIE XYZ color space, but which attempted perceptual uniformity.

Due to the distribution of cones in the eye, the tristimulus values depend on the observer's field of view. To eliminate this variable, the CIE defined a color-mapping function called the standard (colorimetric) observer, to represent an average human's chromatic response within a 2° arc inside the fovea.

The CIELAB color space also referred to as Lab* is a color space defined by the International Commission on Illumination (abbreviated CIE) in 1976. It expresses color as three values: L* for perceptual lightness, and a* and b* for the four unique colors of human vision: red, green, blue, and yellow. CIELAB was intended as a perceptually uniform space, where a given numerical change corresponds to similar perceived change in color. While the LAB space is not truly perceptually uniform, it nevertheless is useful in industry for detecting small differences in color.

Like the CIEXYZ space it derives from, CIELAB colorspace is a device-independent, "standard observer" model. The colors it defines are not relative to any particular device such as a computer monitor or a printer, but instead relate to the CIE standard observer which is an averaging of the results of color matching experiments under laboratory conditions.

The CIELAB space is three-dimensional, and covers the entire range of human color perception, or gamut. It is based on the opponent color model of human vision, where red/green forms an opponent pair, and blue/yellow forms an opponent pair. The lightness value, L*, also referred to as "Lstar," defines black at 0 and white at 100. The a* axis is relative to the green–red opponent colors, with negative values toward green and positive values toward red. The b* axis represents the blue–yellow opponents, with negative numbers toward blue and positive toward yellow.

Interactive LAB color mixer

Mix any possible color out of three color components by dragging the bars on the sides or simply by swiping the central color panel. You can also change the grid resolution and the range of A and B components with the sliders below the grid.

#9e6956 siennargb(158, 105, 86) hsl(16, 30%, 48%) lab(50, 20, 20) cmyk(0% 33% 46% 38%) B 20.0L 50.0A 20.0RESOLUTION 10x10AB RANGE 100

While the intention behind CIELAB was to create a space that was more perceptually uniform than CIEXYZ using only a simple formula, CIELAB is known to lack perceptually uniformity, particularly in the area of blue hues.

The lightness value, L* in CIELAB is calculated using the cube root of the relative luminance with an offset near black. This results in an effective power curve with an exponent of approximately 0.43 which represents the human eye's response to light under daylight (photopic) conditions.

HSL and LCH 12 colors cycle comparison

HSLLCH
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/color/models/subtractive/index.html b/theory/color/models/subtractive/index.html index b350ff8222..7541c82371 100644 --- a/theory/color/models/subtractive/index.html +++ b/theory/color/models/subtractive/index.html @@ -6,15 +6,15 @@ Subtractive color models | Chromatone.center - + - - - - - - + + + + + + @@ -43,7 +43,7 @@
Chromatone logo
Subtractive color models
The colors produced by materials absorbing certain light frequencies. RYB and CMYK

Subtractive means that color is produced by absorbing some parts of white light spectrum by the material. Subtractive models are used in painting and printing, where different pigment mixtures make up different colors.

A color model is subtractive in the sense that mixtures of dyes subtract specific wavelengths from the spectral power distribution of the illuminating light which is scattered back into the viewer's eye and is perceived as colored. Mixing of dyes is used to reproduce a gamut of colors, the resultant color from this layer is predicted by multiplying (not subtracting) the absorbance profiles of the dyes.

RYB

An RYB color chart from George Field's 1841 Chromatography; or, A treatise on colours and pigments: and of their powers in painting.

RYB (an abbreviation of red–yellow–blue) is a subtractive color model used in art and applied design in which red, yellow, and blue pigments are considered primary colors.

In this context, the term primary color refers to three exemplar colors (red, yellow, and blue) as opposed to specific pigments. As illustrated, in the RYB color model, red, yellow, and blue are intermixed to create secondary color segments of orange, green, and purple. This set of primary colors emerged at a time when access to a large range of pigments was limited by availability and cost, and it encouraged artists and designers to explore the many nuances of color through mixing and intermixing a limited range of pigment colors. In art and design education, red, yellow, and blue pigments were usually augmented with white and black pigments, enabling the creation of a larger gamut of color nuances including tints and shades.

Jacob Christoph Le Blon was the first to apply the RYB color model to printing, specifically mezzotint printing, and he used separate plates for each color: yellow, red and blue plus black to add shades and contrast. In 'Coloritto', Le Blon asserted that “the art of mixing colours…(in) painting can represent all visible objects with three colours: yellow, red and blue; for all colours can be composed of these three, which I call Primitive”. Le Blon added that red and yellow make orange; red and blue, make purple; and blue and yellow make green (Le Blon, 1725, p6).

CMY and CMYK

The CMY color model is a subtractive color model in which cyan, magenta and yellow pigments or dyes are added together in various ways to reproduce a broad array of colors.

When the intensities for all the components are the same, the result is a shade of gray, lighter, or darker depending on the intensity. When the intensities are different, the result is a colorized hue, more or less saturated depending on the difference of the strongest and weakest of the intensities of the primary colors employed.

Interactive CMYK mixer

Drag any of the color components up or right to increase its value.

CYMK#737373 dimgrayrgb(115, 115, 115) hsl(0, 0%, 45%) lab(48.44, 0, 0) cmyk(0% 0% 0% 55%)

CMYK color model is a subtractive color model, based on the CMY color model, used in color printing, and is also used to describe the printing process itself, that is used in the layering technique by printers to create different colors on a white paper. CMYK refers to the four inks used in some color printing: cyan, magenta, yellow, and key. It uses K, black ink, since C, M, and Y inks are translucent and will only produce a gray color when laid on top of each other.

With CMYK printing, halftoning (also called screening) allows for less than full saturation of the primary colors; tiny dots of each primary color are printed in a pattern small enough that humans perceive a solid color.

Light, saturated colors often cannot be created with CMYK, and light colors in general may make visible the halftone pattern. Using a CcMmYK process, with the addition of light cyan and magenta inks to CMYK, can solve these problems.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/color/names/index.html b/theory/color/names/index.html index eba2b3fc3b..b984719cce 100644 --- a/theory/color/names/index.html +++ b/theory/color/names/index.html @@ -6,13 +6,13 @@ Color names | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Color names
Know how to name any color of 12 equally spaced hues
RedARedenRougefrRojoesКрасныйruสีแดงth700 nm#cc0000OrangeA#OrangeenOrangefrNaranjaesОранжевыйruสีส้มth30°600 nm#cc6600YellowBYellowenJaunefrAmarilloesЖелтыйruสีเหลืองth60°570 nm#cccc00LimeCLimeenChartreusefrLimaesЛаймовыйruสีมะนาวth90°564 nm#66cc00GreenC#GreenenVertfrVerdeesЗеленыйruสีเขียวth120°525 nm#00cc00MintDMintenTurquoisefrPrimaveraesМятныйruสีเขียวมิ้นท์th150°505 nm#00cc66CyanD#CyanenCyanfrCianesГолубойruสีฟ้าอ่อนth180°490 nm#00ccccAzureEAzureenAzurefrAzureesЛазурныйruสีฟ้าth210°488 nm#0066ccBlueFBlueenBleufrAzulesСинийruสีน้ำเงินth240°450 nm#0000ccVioletF#VioletenVioletfrVioletaesФиолетовыйruสีม่วงth270°400 nm#6600ccMagentaGMagentaenMagentafrMagentaesПурпурныйruสีม่วงแดงth300°-#cc00ccRoseG#RoseenCramoisifrCarmesíesМалиновыйruสีแดงเย็นth330°-#cc0066
#HueWavelengthEnglishFrançaisEspañolРусскийภาษาไทย
1700 nmRedRougeRojoКрасныйสีแดง
230º600 nmOrangeOrangeNaranjaОранжевыйสีส้ม
360º570 nmYellowJauneAmarilloЖелтыйสีเหลือง
490º564 nmLimeChartreuseLimaЛаймовыйสีมะนาว
5120º525 nmGreenVertVerdeЗеленыйสีเขียว
6150º505 nmMintTurquoisePrimaveraМятныйสีเขียวมิ้นท์
7180º490 nmCyanCyanCianГолубойสีฟ้าอ่อน
8210º488 nmAzureAzureAzureЛазурныйสีฟ้า
9240º450 nmBlueBleuAzulСинийสีน้ำเงิน
10270º400 nmVioletVioletVioletaФиолетовыйสีม่วง
11300º-MagentaMagentaMagentaПурпурныйสีม่วงแดง
12330º-RoseCramoisiCarmesíМалиновыйสีแดงเย็น

https://en.wikipedia.org/wiki/Tertiary_color

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/color/perception/index.html b/theory/color/perception/index.html index 4c3ac10b99..18ece7b3d1 100644 --- a/theory/color/perception/index.html +++ b/theory/color/perception/index.html @@ -6,13 +6,13 @@ Human color perception | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Human color perception
Physiology and features of the eyes

Human eye

Perception of color derives from the stimulation of cone cells in the human eye by visible light. Light, containing all spectral colors is perceived white. Color of an object depends on the range of wavelengths of light that are absorbed or reflected by its surface. The sense of a particular color is produced in nervous system by combining signal from three types of cones, sensitive to red, green and blue ranges of the spectrum.

Eye section

Retina cells

  • Cones
  • Rods

Retina structure

Distribution of cones and rods

Visual pathway

Visual pathway

Human eye with normal vision has three kinds of cone cells that sense light, having peaks of spectral sensitivity in short ("S", 420 nm – 440 nm), middle ("M", 530 nm – 540 nm), and long ("L", 560 nm – 580 nm) wavelengths. These cone cells underlie human color perception in conditions of medium and high brightness; in very dim light color vision diminishes, and the low-brightness, monochromatic "night vision" receptors, denominated "rod cells", become effective. Thus, three parameters corresponding to levels of stimulus of the three kinds of cone cells, in principle describe any human color sensation. Weighting a total light power spectrum by the individual spectral sensitivities of the three kinds of cone cells renders three effective values of stimulus; these three values compose a tristimulus specification of the objective color of the light spectrum. The three parameters, denoted "S", "M", and "L", are indicated using a 3-dimensional space denominated the "LMS color space", which is one of many color spaces devised to quantify human color vision.

Color sensitivity

Normalized cone response

The CIE XYZ standard observer color matching functions

The CIE XYZ standard observer color matching functions

Opposite color vision theory

Opponent process diagram

Just noticable difference

Tolerancing concerns the question "What is a set of colors that are imperceptibly/acceptably close to a given reference?" If the distance measure is perceptually uniform, then the answer is simply "the set of points whose distance to the reference is less than the just-noticeable-difference (JND) threshold." This requires a perceptually uniform metric in order for the threshold to be constant throughout the gamut (range of colors). Otherwise, the threshold will be a function of the reference color—cumbersome as a practical guide.

In the CIE 1931 color space, for example, the tolerance contours are defined by the MacAdam ellipse, which holds L* (lightness) fixed. As can be observed on the adjacent diagram, the ellipses denoting the tolerance contours vary in size. It is partly this non-uniformity that led to the creation of CIELUV and CIELAB.

A MacAdam diagram in the CIE 1931 color space. The ellipses are shown ten times their actual size.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/composition/composers/index.html b/theory/composition/composers/index.html index 73a7b8fb90..f0aa83c80d 100644 --- a/theory/composition/composers/index.html +++ b/theory/composition/composers/index.html @@ -6,13 +6,13 @@ Composers | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/theory/composition/electronic/index.html b/theory/composition/electronic/index.html index fd2693ed19..68361ce084 100644 --- a/theory/composition/electronic/index.html +++ b/theory/composition/electronic/index.html @@ -6,13 +6,13 @@ Electronic minimalism | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Electronic minimalism
Ways to produce compelling electronic compositions

The 4 principles of techno minimalism by Underdog

1. Subtle motifs

Two elements bouncing at each other

Ensure something is going on in the lows, in the mids & the highs. Choose a phrase length & design it to create a simple groove.

2. Movement

Too little is boring, too much is distracting

Create movement in the timbre of your elements. Use modulating effects, tweak filters, change envelope lengths, LFOs or automation to create movement.

3. Polymeters

Slightly unstable, but exciting in moderation

Simple grooves become endlesly listenable when you add 1 or 2 polymeters to them. During breaks polymeters make it hard to guess where the ‘1’ of the groove is, which is satisfying, when resolved.

4. Tension and release

Make the audience wait

Evolve the global story of the track to build up tension and then release that tension. Make them want it, tease them, drive them crazy! Use contrast (busy vs sparse). Use reversed reverb tails as buildups.

Making minimalist music

Only Having What You Need

Write as little as possible.

Rule of three

At maximum three layers of music can have listeners attention.

Avoid habits and answer questions

  • Why am I doing this?
  • What is doing this adding to the final result?
  • Is this really making any difference?
  • Is it really necessary?

Minimalism and why it might be the most effective way to finish more music.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/composition/form/index.html b/theory/composition/form/index.html index 3246169e06..a916232b44 100644 --- a/theory/composition/form/index.html +++ b/theory/composition/form/index.html @@ -6,13 +6,13 @@ Musical form | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Musical form
The structure of a musical composition or performance

In music, form refers to the structure of a musical composition or performance. In his book, Worlds of Music, Jeff Todd Titon suggests that a number of organizational elements may determine the formal structure of a piece of music, such as "the arrangement of musical units of rhythm, melody, and/or harmony that show repetition or variation, the arrangement of the instruments (as in the order of solos in a jazz or bluegrass performance), or the way a symphonic piece is orchestrated", among other factors.

These organizational elements may be broken into smaller units called phrases, which express a musical idea but lack sufficient weight to stand alone. Musical form unfolds over time through the expansion and development of these ideas.

Compositions that do not follow a fixed structure and rely more on improvisation are considered free-form. A fantasia is an example of this.

Labeling procedures

To aid in the process of describing form, musicians have developed a simple system of labeling musical units with letters. In his textbook "Listening to Music", professor Craig Wright writes,

The first statement of a musical idea is designated A. Subsequent contrasting sections are labeled B, C, D, and so on. If the first or any other musical unit returns in varied form, then that variation is indicated by a superscript number-- A1 and B2, for example. Subdivisions of each large musical unit are shown by lowercase letters (a, b, and so on).

Some writers also use a prime label (such as B', pronounced "B prime", or B'', pronounced "B double prime") to denote sections that are closely related, but vary slightly.

Levels of organization

The founding level of musical form can be divided into two parts:

  • The arrangement of the pulse into unaccented and accented beats, the cells of a measure that, when harmonized, may give rise to a motif or figure.
  • The further organization of such a measure, by repetition and variation, into a true musical phrase having a definite rhythm and duration that may be implied in melody and harmony, defined, for example, by a long final note and a breathing space. This "phrase" may be regarded as the fundamental unit of musical form: it may be broken down into measures of two or three beats, but its distinctive nature will then be lost. Even at this level, the importance of the principles of repetition and contrast, weak and strong, climax and repose, can be seen. Thus, form may be understood on three levels of organization. For the purpose of this exposition, these levels can be roughly designated as passage, piece, and cycle.

Passage

The smallest level of construction concerns the way musical phrases are organized into musical sentences and "paragraphs" such as the verse of a song. This may be compared to, and is often decided by, the verse form or meter of the words or the steps of a dance.

For example, the twelve bar blues is a specific verse form, while common meter is found in many hymns and ballads and, again, the Elizabethan galliard, like many dances, requires a certain rhythm, pace and length of melody to fit its repeating pattern of steps. Simpler styles of music may be more or less wholly defined at this level of form, which therefore does not differ greatly from the loose sense first mentioned and which may carry with it rhythmic, harmonic, timbral, occasional and melodic conventions.

Piece (or movement)

The next level concerns the entire structure of any single self-contained musical piece or movement. If the hymn, ballad, blues or dance alluded to above simply repeats the same musical material indefinitely then the piece is said to be in strophic form overall. If it repeats with distinct, sustained changes each time, for instance in setting, ornamentation or instrumentation, then the piece is a theme and variations. If two distinctly different themes are alternated indefinitely, as in a song alternating verse and chorus or in the alternating slow and fast sections of the Hungarian czardas, then this gives rise to a simple binary form. If the theme is played (perhaps twice), then a new theme is introduced, the piece then closing with a return to the first theme, we have a simple ternary form.

Great arguments and misunderstanding can be generated by such terms as 'ternary' and 'binary', as a complex piece may have elements of both at different organizational levels.[citation needed] A minuet, like any Baroque dance, generally had simple binary structure (AABB), however, this was frequently extended by the introduction of another minuet arranged for solo instruments (called the trio), after which the first was repeated again and the piece ended—this is a ternary form—ABA: the piece is binary on the lower compositional level but ternary on the higher. Organisational levels are not clearly and universally defined in western musicology, while words like "section" and "passage" are used at different levels by different scholars whose definitions, as Schlanker[full citation needed] points out, cannot keep pace with the myriad innovations and variations devised by musicians.

Cycle

The grandest level of organization may be referred to as "cyclical form".[citation needed] It concerns the arrangement of several self-contained pieces into a large-scale composition. For example, a set of songs with a related theme may be presented as a song-cycle, whereas a set of Baroque dances were presented as a suite. The opera and ballet may organize song and dance into even larger forms. The symphony, generally considered to be one piece, nevertheless divides into multiple movements (which can usually work as a self-contained piece if played alone). This level of musical form, though it again applies and gives rise to different genres, takes more account of the methods of musical organisation used. For example: a symphony, a concerto and a sonata differ in scale and aim, yet generally resemble one another in the manner of their organization. The individual pieces which make up the larger form may be called movements.

Common forms in Western music

Scholes suggested that European classical music had only six stand-alone forms: simple binary, simple ternary, compound binary, rondo, air with variations, and fugue (although musicologist Alfred Mann emphasized that the fugue is primarily a method of composition that has sometimes taken on certain structural conventions).

Charles Keil classified forms and formal detail as "sectional, developmental, or variational."

Sectional form

This form is built from a sequence of clear-cut units that may be referred to by letters but also often have generic names such as introduction and coda, exposition, development and recapitulation, verse, chorus or refrain, and bridge. Sectional forms include:

Strophic form

Strophic form – also called verse-repeating form, chorus form, AAA song form, or one-part song form – is a song structure in which all verses or stanzas of the text are sung to the same music. Contrasting song forms include through-composed, with new music written for every stanza, and ternary form, with a contrasting central section.

The term is derived from the Greek word στροφή, strophē, meaning "turn". It is the simplest and most durable of musical forms, extending a piece of music by repetition of a single formal section. This may be analyzed as "A A A...". This additive method is the musical analogue of repeated stanzas in poetry or lyrics and, in fact, where the text repeats the same rhyme scheme from one stanza to the next, the song's structure also often uses either the same or very similar material from one stanza to the next.

A modified strophic form varies the pattern in some stanzas (A A' A"...) somewhat like a rudimentary theme and variations. Contrasting verse-chorus form is a binary form that alternates between two sections of music (ABAB), although this may also be interpreted as constituting a larger strophic verse-refrain form. While the terms 'refrain' and 'chorus' are often used interchangeably, 'refrain' may indicate a recurring line of identical melody and lyrics as a part of the verse (as in "Blowin' in the Wind": "...the answer my friend..."), while 'chorus' means an independent form section (as in "Yellow Submarine": "We all live in...").

Many folk and popular songs are strophic in form, including the twelve-bar blues, ballads, hymns and chants. Examples include "Barbara Allen", "Erie Canal", and "Michael, Row the Boat Ashore". Also "Oh! Susanna" (A = verse & chorus).

Many classical art songs are also composed in strophic form, from the 17th century French air de cour to 19th century German lieder and beyond. Haydn used the strophic variation form in many of his string quartets and a few of his symphonies, employed almost always in the slow second movement. Franz Schubert composed many important strophic lieder, including settings of both narrative poems and simpler, folk-like texts, such as his "Heidenröslein" and "Der Fischer". Several of the songs in his song cycle Die schöne Müllerin use strophic form.

Medley or "chain" form

Medley, potpourri or chain form is the extreme opposite, that of "unrelieved variation": it is simply an indefinite sequence of self-contained sections (ABCD...), sometimes with repeats (AABBCCDD...).

Potpourri or Pot-Pourri (/ˌpoʊpʊˈriː/; French, literally "putrid pot") is a kind of musical form structured as ABCDEF..., the same as medley or, sometimes, fantasia. It is often used in light, easy-going and popular types of music.

This is a form of arrangement where the individual sections are simply juxtaposed with no strong connection or relationship. This type of form is organized by the principle of non-repetition. This is usually to be applied to a composition that consists of a string of favourite tunes, like a potpourri based on either some popular opera, operetta, or a collection of songs, dances, etc.

The term has been in use since the beginning of the 18th century, or to be more specific, since it was used by the French music publisher Christophe Ballard (1641–1715) for the edition of a collection of pieces in 1711. In the 18th century the term was used in France for collections of songs which, with a thematic link, were sometimes given stage presentation. Later the term was used also for instrumental collections, like the "Potpourry français", a collection of originally unconnected dance pieces issued by the publisher Bouïn.

Potpourris became especially popular in the 19th century. The opera overtures of French composers, such as François-Adrien Boïeldieu (1775–1834), Daniel Auber (1782–1871) and Ferdinand Hérold (1791–1833), or the Englishman Arthur Sullivan (1842–1900) belong to this type. Richard Strauss called the overture to his Die schweigsame Frau a "pot-pourri".

The "overtures" to light modern stage works (e.g. operettas or musicals) are almost always written in potpourri form, using airs from the work in question. There is usually some structure to the order presented though. The opening is usually a fanfare or majestic theme (presumably the supposed hoped-for most popular song number), followed by a romantic number, then a comical number; and finally a return to the opening theme or a variation thereof.

Binary form

The term "Binary Form" is used to describe a musical piece with two sections that are about equal in length. Binary Form can be written as AB or AABB. Using the example of Greensleeves provided, the first system is almost identical to the second system. We call the first system A and the second system A' (A prime) because of the slight difference in the last measure and a half. The next two systems (3rd and 4th) are almost identical as well, but a new musical idea entirely than the first two systems. We call the third system B and the fourth system B' (B prime) because of the slight difference in the last measure and a half. As a whole, this piece of music is in Binary Form: AA'BB'.

Binary form is a musical form in 2 related sections, both of which are usually repeated. Binary is also a structure used to choreograph dance. In music this is usually performed as A-A-B-B.

Binary form was popular during the Baroque period, often used to structure movements of keyboard sonatas. It was also used for short, one-movement works. Around the middle of the 18th century, the form largely fell from use as the principal design of entire movements as sonata form and organic development gained prominence. When it is found in later works, it usually takes the form of the theme in a set of variations, or the Minuet, Scherzo, or Trio sections of a "minuet and trio" or "scherzo and trio" movement in a sonata, symphony, etc. Many larger forms incorporate binary structures, and many more complicated forms (such as the 18th-century sonata form) share certain characteristics with binary form.

Structure

A typical example of a piece in binary form has two large sections of roughly equal duration. The first will begin in a certain key, which will often, (but not always), modulate to a closely related key. Pieces in a major key will usually modulate to the dominant, (the fifth scale degree above the tonic). Pieces in a minor key will generally modulate to the relative major key, (the key of the third scale degree above the minor tonic), or to the dominant minor. A piece in minor may also stay in the original key at the end of the first section, closing with an imperfect cadence.

The second section of the piece begins in the newly established key, where it remains for an indefinite period of time. After some harmonic activity, the piece will eventually modulate back to its original key before ending.

More often than not, especially in 18th-century compositions, the A and B sections are separated by double bars with repeat signs, meaning both sections were to be repeated.

Binary form is usually characterized as having the form AB, though since both sections repeat, a more accurate description would be AABB. Others, however, prefer to use the label AA′. This second designation points to the fact that there is no great change in character between the two sections. The rhythms and melodic material used will generally be closely related in each section, and if the piece is written for a musical ensemble, the instrumentation will generally be the same. This is in contrast to the use of verse-chorus form in popular music—the contrast between the two sections is primarily one of the keys used.

Further distinctions

A piece in binary form can be further classified according to a number of characteristics:

Simple vs. rounded

Occasionally, the B section will end with a "return" of the opening material from the A section. This is referred to as rounded binary, and is labeled as ABA′. In rounded binary, the beginning of the B section is sometimes referred to as the "bridge", and will usually conclude with a half cadence in the original key. Rounded binary is not to be confused with ternary form, also labeled ABA—the difference being that, in ternary form, the B section contrasts completely with the A material as in, for example, a minuet and trio. Another important difference between the rounded and ternary form is that in rounded binary, when the "A" section returns, it will typically contain only half of the full "A" section, whereas ternary form will end with the full "A" section.

Sometimes, as in the keyboard sonatas of Domenico Scarlatti, the return of the A theme may include much of the original A section in the tonic key, so much so that some of his sonatas can be regarded as precursors of sonata form.

Rounded binary form is sometimes referred to as small ternary form.

Rounded binary or minuet form:

A :||: B A or A'
I(->V) :||: V(or other closely related) I

If the B section lacks such a return of the opening A material, the piece is said to be in simple binary.

Simple:

A->B :||: A->B
I->V :||: V->I

Slow-movement form:

A' A"
I->V I->I

Many examples of rounded binary are found among the church sonatas of Vivaldi including his Sonata No. 1 for Cello and Continuo, First Movement, while certain Baroque composers such as Bach and Handel used the form rarely.

Sectional vs. continuous

If the A section ends with an Authentic (or Perfect) cadence in the original tonic key of the piece, the design is referred to as a sectional binary. This refers to the fact that the piece is in different tonal sections, each beginning in their own respective keys.

If the A section ends with any other kind of cadence, the design is referred to as a continuous binary. This refers to the fact that the B section will "continue on" with the new key established by the cadence at the end of A.

Symmetrical vs. asymmetrical

If the A and B sections are roughly equal in length, the design is referred to as symmetrical.

If the A and B sections are of unequal length, the design is referred to as asymmetrical. In such cases, the B section is usually substantially longer than the A section.

The asymmetrical binary form becomes more common than the symmetrical type from about the time of Beethoven, and is almost routine in the main sections of Minuet and Trio or Scherzo and Trio movements in works from this period. In such cases, occasionally only the first section of the binary structure is marked to be repeated.

Although most of Chopin's nocturnes are in an overall ternary form, quite often the individual sections (either the A, the B, or both) are in binary form, most often of the asymmetrical variety. If a section of this binary structure is repeated, in this case it is written out again in full, usually considerably varied, rather than enclosed between repeat signs.

Balanced binary

Balanced binary is when the end of the first section and the end of the second section have analogous material and are organized in a parallel way.

Ternary form

Ternary form is a three-part musical form in which the third part repeats or at least contains the principal idea of the first part, represented as A B A. There are both simple and compound ternary forms. Da capo arias are usually in simple ternary form (i.e. "from the head"). A compound ternary form (or trio form) similarly involves an ABA pattern, but each section is itself either in binary (two sub-sections which may be repeated) or (simple) ternary form.

Ternary form, sometimes called song form, is a three-part musical form consisting of an opening section (A), a following section (B) and then a repetition of the first section (A). It is usually schematized as A–B–A. Prominent examples include the da capo aria "The trumpet shall sound" from Handel's Messiah, Chopin's Prelude in D-Flat Major "Raindrop", (Op. 28) and the opening chorus of Bach's St John Passion.

Simple ternary form

In ternary form each section is self-contained both thematically as well as tonally (that is, each section contains distinct and complete themes), and ends with an authentic cadence. The B section is generally in a contrasting but closely related key, usually a perfect fifth above or the parallel minor of the home key of the A section (V or i); however, in many works of the Classical period, the B section stays in tonic but has contrasting thematic material. It usually also has a contrasting character; for example section A might be stiff and formal while the contrasting B section would be melodious and flowing. Da capo aria

Baroque opera arias and a considerable number of baroque sacred music arias was dominated by the Da capo aria which were in the ABA form. A frequent model of the form began with a long A section in a major key, a short B section in a relative minor key mildly developing the thematic material of the A section and then a repetition of the A section. By convention in the third section (the repeat of section A after section B) soloists may add some ornamentation or short improvised variations. In later classical music such changes may have been written into the score. In these cases the last section is sometimes labeled A’ or A1 to indicate that it is slightly different from the first A section.

Compound ternary or trio form

In a trio form each section is a dance movement in binary form (two sub-sections which are each repeated) and a contrasting trio movement also in binary form with repeats. An example is the minuet and trio from Haydn's Surprise Symphony. The minuet consists of one section (1A) which is repeated and a second section (1B) which is also repeated. The trio section follows the same format (2A repeated and 2B repeated). The complete minuet is then played again at the end of the trio represented as: [(1A–1A–1B–1B) (2A–2A–2B–2B) (1A–1A–1B–1B)]. By convention in the second rendition of the minuet, the sections are not repeated with the scheme [(1A–1A–1B–1B) (2A–2A–2B–2B) (1A–1B)]. The trio may also be referred to as a double or as I/II, such as in Bach's polonaise and double (or Polonaise I/II) from his second orchestral suite and his bouree and double (or Bouree I/II) from his second English Suite for harpsichord.

The scherzo and trio, which is identical in structure to other trio forms, developed in the late Classical and early Romantic periods. Examples include the scherzo and trio (second movement) from Beethoven's Symphony No. 9 and the scherzo and trio in Schubert's String Quintet. Another name for the latter is "composite ternary form".[citation needed]

Trio form movements (especially scherzos) written from the early romantic era sometimes include a short coda (a unique ending to complete the entire movement) and possibly a short introduction. The second movement of Beethoven's Symphony No. 9 is written in this style which can be diagrammed as [(INTRO) (1A–1A–1B–1B) (2A–2A–2B–2B) (1A–1B) (CODA)]

Marches by John Philip Sousa and others follow this form, and the middle section is called the "trio". Polkas are also often in compound-ternary form.

Quasi compound form

Occasionally the A section or B section of a dance like movement is not divided into two repeating parts. For example, in the Minuet in Haydn's String Quartet op. 76 no. 6, the Minuet is in standard binary form (section A and B) while the trio is in free form and not in two repeated sections. Haydn labeled the B section "Alternative", a label used in some Baroque pieces (though most such pieces were in proper compound ternary form).

Ternary form within a ternary form

In a complex ternary form each section is itself in ternary form in the scheme of [(A–B–A)(C–D–C)(A–B–A)] By convention each part is repeated and only on its first rendition: [(A–A–B–B–A)(C–C–D–D–C)(A–B–A)]. An example are the Impromptus (Op. 7) by Jan Voříšek.[9]

Expanded ternary forms are especially common among Romantic-era composers; for example, Chopin's "Military" Polonaise (Op. 40, No. 1) is in the form [(A–A–B–A-B–A)(C–C–D–C-D–C)(A–B–A)], where the A and B sections and C and D sections are repeated as a group, and the original theme returning at the end without repeats.

Rondo form

Rondo form has a recurring theme alternating with different (usually contrasting) sections called "episodes". It may be asymmetrical (ABACADAEA) or symmetrical (ABACABA). A recurring section, especially the main theme, is sometimes more thoroughly varied, or else one episode may be a "development" of it. A similar arrangement is the ritornello form of the Baroque concerto grosso. Arch form (ABCBA) resembles a symmetrical rondo without intermediate repetitions of the main theme.

Variational form

Variational forms are those in which variation is an important formative element.

Theme and Variations: a theme, which in itself can be of any shorter form (binary, ternary, etc.), forms the only "section" and is repeated indefinitely (as in strophic form) but is varied each time (A,B,A,F,Z,A), so as to make a sort of sectional chain form. An important variant of this, much used in 17th-century British music and in the Passacaglia and Chaconne, was that of the ground bass—a repeating bass theme or basso ostinato over and around which the rest of the structure unfolds, often, but not always, spinning polyphonic or contrapuntal threads, or improvising divisions and descants. This is said by Scholes (1977) to be the form par excellence of unaccompanied or accompanied solo instrumental music. The Rondo is often found with sections varied (AA1BA2CA3BA4) or (ABA1CA2B1A).

Sonata-allegro form

Sonata-allegro form (also sonata form or first movement form) is typically cast in a greater ternary form, having the nominal subdivisions of Exposition, Development and Recapitulation. Usually, but not always, the "A" parts (Exposition and Recapitulation, respectively) may be subdivided into two or three themes or theme groups which are taken asunder and recombined to form the "B" part (the development) —thus, e.g. (AabB[dev. of a and/or b]A1ab1+coda).

The sonata form is "the most important principle of musical form, or formal type from the classical period well into the twentieth century." It is usually used as the form of the first movement in multi-movement works. So, it is also called "first-movement form" or "sonata-allegro form"(Because usually the most common first movements are in allegro tempo).

Each section of Sonata Form movement has its own function:

  • It may have an introduction at the beginning.
  • Following the introduction, the exposition is the first required section. It lays out the thematic material in its basic version. There are usually two themes or theme groups in the exposition, and they are often in contrast styles and keys and connected by a transition. In the end of the exposition, there is a closing theme which concludes the section.
  • The exposition is followed by the development section in which the material in the exposition is developed.
  • After the development section, there is a returning section called recapitulation where the thematic material returns in the tonic key.
  • At the end of the movement, there may be a coda, after the recapitulation.

Some forms are used predominantly within popular music, including genre-specific forms. Popular music forms are often derived from strophic form (AAA song form), 32-bar form (AABA song form), verse-chorus form (AB song form) and 12-bar blues form (AAB song form).

Sectional forms

  • AABA a.k.a. American Popular
  • AB a.k.a. Verse/Chorus
    • ABC a.k.a. Verse/Chorus/Bridge
  • ABAB
  • ABAC a.k.a. Verse/Chorus/Verse/Bridge
  • ABCD a.k.a. Through-composed
  • Blues Song forms
    • AAB a.k.a. Twelve-bar blues
    • 8-Bar Blues
    • 16-Bar Blues

Extended forms

Extended form are forms that have their root in one of the forms above, however, they have been extended with additional sections. For example:

  • AAAAA
  • AABABA

Compound forms

Also called Hybrid song forms. Compound song forms blend together two or more song forms.

  • Introduction a.k.a. Intro
  • Verse
  • Refrain
  • Pre-chorus / Rise / Climb
  • Chorus
  • Post-chorus
  • Bridge
  • Middle-Eight
  • Solo / Instrumental Break
  • Collision
  • CODA / Outro
  • Ad Lib (Often in CODA / Outro)

Cyclical forms

In the 13th century the song cycle emerged, which is a set of related songs (as the suite is a set of related dances). The oratorio took shape in the second half of the 16th century as a narrative recounted—rather than acted—by the singers.

Matrix

In music, especially folk and popular music, a matrix is an element of variations which does not change. The term was derived from use in musical writings and from Arthur Koestler's The Act of Creation, who defines creativity as the bisociation of two sets of ideas or matrices. Musical matrices may be combined in any number, usually more than two, and may be — and must be for analysis — broken down into smaller ones. They may be intended by the composer and perceived by the listener, or they may not, and they may be purposefully ambiguous.

The simplest examples given by van der Merwe are fixed notes, definite intervals, and regular beats, while the most complex given are the Baroque fugue, Classical tonality, and Romantic chromaticism. The following examples are some matrices which are part of "Pop Goes the Weasel":

  • major mode
  • 6/8 time
  • four-bar phrasing
  • regular beat
  • rhyming tune structure
  • ending both halves of the tune with the same figure
  • melodic climax
  • perfect cadence
  • three primary triads implied

Co-ordinated matrices may possess "bound-upness" or "at-oddness", depending on the degree to which they are connected to each other or go their separate ways, respectively, and are more or less easy to reconcile. The matrices of the larger matrix known as sonata rondo form are more bound up than the matrices of rondo form, while African and Indian music feature more rhythmic at-oddness than European music's coinciding beats, and European harmony features more at-oddness (between the melody and bass) than the preceding organum. At-oddness is a matter of degree, and almost all at odd matrices are partially bound up.[3]

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/composition/generative/index.html b/theory/composition/generative/index.html index 8fb74e1630..16b96e9a74 100644 --- a/theory/composition/generative/index.html +++ b/theory/composition/generative/index.html @@ -6,13 +6,13 @@ Generative theory of tonal music | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Generative theory of tonal music
Formal description of the musical intuitions of a listener who is experienced in a musical idiom

A generative theory of tonal music (GTTM) is a theory of music conceived by American composer and music theorist Fred Lerdahl and American linguist Ray Jackendoff and presented in the 1983 book of the same title. It constitutes a "formal description of the musical intuitions of a listener who is experienced in a musical idiom" with the aim of illuminating the unique human capacity for musical understanding.

The musical collaboration between Lerdahl and Jackendoff was inspired by Leonard Bernstein's 1973 Charles Eliot Norton Lectures at Harvard University, wherein he called for researchers to uncover a musical grammar that could explain the human musical mind in a scientific manner comparable to Noam Chomsky's revolutionary transformational or generative grammar.

Unlike the major methodologies of music analysis that preceded it, GTTM construes the mental procedures under which the listener constructs an unconscious understanding of music, and uses these tools to illuminate the structure of individual compositions. The theory has been influential, spurring further work by its authors and other researchers in the fields of music theory, music cognition and cognitive musicology. Contents

Theory

GTTM focuses on four hierarchical systems that shape our musical intuitions. Each of these systems is expressed in a strict hierarchical structure where dominant regions contain smaller subordinate elements and equal elements exist contiguously within a particular and explicit hierarchical level. In GTTM any level can be small-scale or large-scale depending on the size of its elements.

Structures

I. Grouping structure

GTTM considers grouping analysis to be the most basic component of musical understanding. It expresses a hierarchical segmentation of a piece into motives, phrases, periods, and still larger sections.

II. Metrical structure

Metrical structure expresses the intuition that the events of a piece are related to a regular alternation of strong and weak beats at a number of hierarchical levels. It is a crucial basis for all the structures and reductions of GTTM.

III. Time-span reduction

Time-span reductions (TSRs) are based on information gleaned from metrical and grouping structures. They establish tree structure-style hierarchical organizations uniting time-spans at all temporal levels of a work. The TSR analysis begins at the smallest levels, where metrical structure marks off the music into beats of equal length (or more precisely into attack points separated by uniform time-spans) and moves through all larger levels where grouping structure divides the music into motives, phrases, periods, theme groups, and still greater divisions. It further specifies a “head” (or most structurally important event) for each time-span at all hierarchical levels of the analysis. A completed TSR analysis is often called a time-span tree.

IV. Prolongational reduction

Prolongational reduction (PR) provides our "psychological" awareness of tensing and relaxing patterns in a given piece with precise structural terms. In time-span reduction, the hierarchy of less and more important events is established according to rhythmic stability. In prolongational reduction, hierarchy is concerned with relative stability expressed in terms of continuity and progression, the movement toward tension or relaxation, and the degree of closure or non-closure. A PR analysis also produces a tree-structure style hierarchical analysis, but this information is often conveyed in a visually condensed modified "slur" notation.

The need for prolongational reduction mainly arises from two limitations of time-span reductions. The first is that time-span reduction fails to express the sense of continuity produced by harmonic rhythm. The second is that time-span reduction—even though it establishes that particular pitch-events are heard in relation to a particular beat, within a particular group—fails to say anything about how music flows across these segments.

More on TSR vs PR

It is helpful to note some basic differences between a time-span tree produced by TSR and a prolongational tree produced by PR. First, though the basic branching divisions produced by the two trees are often the same or similar at high structural levels, branching variations between the two trees often occur as one travels further down towards the musical surface.

A second and equally important differentiation is that a prolongational tree carries three types of branching: strong prolongation (represented by an open node at the branching point), weak prolongation (a filled node at the branching point) and progression (simple branching, with no node). Time-span trees do not make this distinction. All time-span tree branches are simple branches without nodes (though time-span tree branches are often annotated with other helpful comments).

Rules

Each of the four major hierarchical organizations (grouping structure, metrical structure, time-span reduction and prolongational reduction) is established through rules, which are in three categories:

  1. The well-formedness rules, which specify possible structural descriptions.
  2. The preference rules, which draw on possible structural descriptions eliciting those descriptions that correspond to experienced listeners’ hearings of any particular piece.
  3. The transformational rules, which provide a means of associating distorted structures with well-formed descriptions.

I. Grouping structure rules

Grouping well-formedness rules (G~WFRs)

  1. "Any contiguous sequence of pitch-events, drum beats, or the like can constitute a group, and only contiguous sequences can constitute a group."
  2. "A piece constitutes a group."
  3. "A group may contain smaller groups."
  4. "If a group G1 contains part of a group G2, it must contain all of G2."
  5. 'If a group G1 contains a smaller group G2, then G1 must be exhaustively partitioned into smaller groups."

Grouping preference rules (G~PRs)

  1. "Avoid analyses with very small groups – the smaller, the less preferable."
  2. Proximity: Consider a sequence of four notes, n1–n4, the transition n2–n3 may be heard as a group boundary if: a.(slur/rest) the interval of time from the end of n2 is greater than that from the end of n1 to the beginning of n2 and that from the end of n3 to the beginning of n4 or if b.(attack/point) the interval of time between the attack points of n2 and n3 is greater than between those of n1 and n2 and between those of n3 and n4.
  3. Change: Consider a sequence of four notes, n1–n4. The transition n2–n3 may be heard as a group boundary if marked by a. register, b. dynamics, c. articulation, or d. length.
  4. Intensification: A larger-level group may be placed where the effects picked out by GPRs 2 and 3 are more pronounced.
  5. Symmetry: "Prefer grouping analyses that most closely approach the ideal subdivision of groups into two parts of equal length."
  6. Parallelism: "Where two or more segments of music can be construed as parallel, they preferably form parallel parts of groups."
  7. Time-span and prolongational stability: "Prefer a grouping structure that results in more stable time-span and/or prolongational reductions."

Transformational grouping rules

  1. Grouping overlap (p. 60).
  2. Grouping elision (p. 61).

II. Metrical structure rules

Metrical well-formedness rules (M~WFRs)

  1. "Every attack point must be associated with a beat at the smallest metrical level present at that point in the piece."
  2. "Every beat at a given level must also be a beat at all smaller levels present at that point in that piece."
  3. "At each metrical level, strong beats are spaced either two or three beats apart."
  4. "The tactus and immediately larger metrical levels must consist of beats equally spaced throughout the piece. At subtactus metrical levels, weak beats must be equally spaced between the surrounding strong beats."

Metrical preference rules (M~PRs)

  1. Parallelism: "Where two or more groups or parts of groups can be construed as parallel, they preferably receive parallel metrical structure."
  2. Strong beat early: "Weakly prefer a metrical structure in which the strongest beat in a group appears relatively early in the group."
  3. Event: "Prefer a metrical structure in which beats of level Li that coincide with the inception of pitch-events are strong beats of Li."
  4. Stress: "Prefer a metrical structure in which beats of level Li that are stressed are strong beats of Li."
  5. Length: Prefer a metrical structure in which a relatively strong beat occurs at the inception of either relatively long: a. pitch-event; b. duration of a dynamic; c. slur; d. pattern of articulation; e. duration of a pitch in the relevant levels of the time-span reduction; f. duration of a harmony in the relevant levels of the time-span reduction (harmonic rhythm).
  6. Bass: "Prefer a metrically stable bass."
  7. Cadence: "Strongly prefer a metrical structure in which cadences are metrically stable; that is, strongly avoid violations of local preference rules within cadences."
  8. Suspension: "Strongly prefer a metrical structure in which a suspension is on a stronger beat than its resolution."
  9. Time-span interaction: "Prefer a metrical analysis that minimizes conflict in the time-span reduction."
  10. Binary regularity: "Prefer metrical structures in which at each level every other beat is strong."

Transformational metrical rule

  1. Metrical deletion (p. 101).

III. Time-span reduction rules

Time-span reduction rules begin with two segmentation rules and proceed to the standard WFRs, PRs and TRs.

Time-span segmentation rules

  1. "Every group in a piece is a time-span in the time-span segmentation of the piece."
  2. "In underlying grouping structure: a. each beat B of the smallest metrical level determines a time-span TB extending from B up to but not including the next beat of the smallest level; b. each beat B of metrical level Li determines a regular time-span of all beats of level Li-1 from B up to but not including (i) the next beat B’ of level Li or (ii) a group boundary, whichever comes sooner; and c. if a group boundary G intervenes between B and the preceding beat of the same level, B determines an augmented time-span T’B, which is the interval from G to the end of the regular time-span TB."

Time-span reduction well-formedness rules (TSR~WFRs)

  1. "For every time-span T there is an event e (or a sequence of events e1 – e2) that is the head of T."
  2. "If T does not contain any other time-span (that is, if T is the smallest level of time-spans), there e is whatever event occurs in T."
  3. If T contains other time-spans, let T1,...,Tn be the (regular or augmented) time-spans immediately contained in T and let e1,...,en be their respective heads. Then the head is defined depending on: a. ordinary reduction; b. fusion; c. transformation; d. cadential retention (p. 159).
  4. "If a two-element cadence is directly subordinate to the head e of a time-span T, the final is directly subordinate to e and the penult is directly subordinate to the final."

Time-span reduction preference rules (TSR~PRs)

  1. (Metrical position) "Of the possible choices for head of time-span T, prefer that is in a relatively strong metrical position."
  2. (Local harmony) "Of the possible choices for head of time-span T, prefer that is: a. relatively intrinsically consonant, b. relatively closely related to the local tonic."
  3. (Registral extremes) "Of the possible choices for head of time-span T, weakly prefer a choice that has: a. a higher melodic pitch; b. a lower bass pitch."
  4. (Parallelism) "If two or more time-spans can be construed as motivically and/or rhythmically parallel, preferably assign them parallel heads."
  5. (Metrical stability) "In choosing the head of a time-span T, prefer a choice that results in more stable choice of metrical structure."
  6. (Prolongational stability) "In choosing the head of a time-span T, prefer a choice that results in more stable choice of prolongational structure."
  7. (Cadential retention) (p. 170).
  8. (Structural beginning) "If for a time-span T there is a larger group G containing T for which the head of T can function as the structural beginning, then prefer as head of T an event relatively close to the beginning of T (and hence to the beginning of G as well)."
  9. "In choosing the head of a piece, prefer the structural ending to the structural beginning."

IV. Prolongational reduction rules

Prolongational reduction well-formedness rules (PR~WFRs)

  1. "There is a single event in the underlying grouping structure of every piece that functions as prolongational head."
  2. "An event ei can be a direct elaboration of another pitch ej in any of the following ways: a. ei is a strong prolongation of ej if the roots, bass notes, and melodic notes of the two events are identical; b. ei is a weak prolongation of ej if the roots of the two events are identical but the bass and/or melodic notes differ; c. ei is a progression to or from ej if the harmonic roots of the two events are different."
  3. "Every event in the underlying grouping structure is either the prolongational head or a recursive elaboration of the prolongational head."
  4. (No crossing branches) "If an event ei is a direct elaboration of an event ej, every event between ei and ej must be a direct elaboration of either ei, ej, or some event between them."

Prolongational reduction preference rules (PR~PRs)

  1. (Time-span importance) "In choosing the prolongational most important event ek of a prolongational region (ei – ej), strongly prefer a choice in which ek is relatively time-span important."
  2. (Time-span segmentation) "Let ek be the prolongationally most important region (ei – ej). If there is a time-span that contains ei and ek but not ej, prefer a prolongational reduction in which ek is an elaboration of ei; similarly with the roles of ei and ej reversed."
  3. (Prolongational connection) "In choosing the prolongationally most important region (ei – ej), prefer an ek that attaches to as to form a maximally stable prolongational connections with one of the endpoints of the region."
  4. (Prolongational importance) "Let ek be the prolongationally most important region (ei – ej). Prefer a prolongational reduction in which ek is an elaboration of the prolongationally more important of the endpoints."
  5. (Parallelism) "Prefer a prolongational reduction in which parallel passages receive parallel analyses."
  6. (Normative prolongational structure) "A cadenced group preferably contains four (five) elements in its prolongational structure: a. a prolongational beginning; b. a prolongational ending consisting of one element of the cadences; (c. a right-branching prolongational as the most important direct elaboration direct of the prolongational beginning); d. a right-branching progression as the (next) most important direct elaboration of the prolongational beginning; e. a left-branching ‘subdominant’ progression as the most important elaboration of the first element of the cadence."

Prolongational reduction transformational rules

  1. Stability conditions for prolongational connection (p. 224): a. Branching condition; b. Pitch-collection condition; c. Melodic condition; d. Harmonic condition.
  2. Interaction principle: "to make a sufficiently stable prolongational connection ek must be chosen from the events in the two most important levels of time-span reduction represented in (ei – ej)."
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/composition/index.html b/theory/composition/index.html index a23b9b4658..0982ca3403 100644 --- a/theory/composition/index.html +++ b/theory/composition/index.html @@ -6,13 +6,13 @@ Composition | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Composition
The act of conceiving a piece of music, the art of creating music, or the finished product

Here we try to tie up all the learned levels of music to establish systems if creating whole music pieces. Generative theory of tonal music views music evolution similar to human speach. The innovative rules of Atonality and serialism bring music to the edge of complex mathematics.

Musical form is the means of expression of the most complex ideas. Song structure is the way to build the bigger frame for the ideas that are sung about. We'll explore the resulting Texture of music created by many great Composers of all times,

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/composition/serialism/index.html b/theory/composition/serialism/index.html index f854ce724c..b9947cc3e6 100644 --- a/theory/composition/serialism/index.html +++ b/theory/composition/serialism/index.html @@ -6,13 +6,13 @@ Atonality and serialism | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Atonality and serialism
Arnold Schoenberg and his explorations of 12 tone composition techniques

Atonality

Atonality in its broadest sense is music that lacks a tonal center, or key. Atonality, in this sense, usually describes compositions written from about the early 20th-century to the present day, where a hierarchy of harmonies focusing on a single, central triad is not used, and the notes of the chromatic scale function independently of one another. More narrowly, the term atonality describes music that does not conform to the system of tonal hierarchies that characterized European classical music between the seventeenth and nineteenth centuries. "The repertory of atonal music is characterized by the occurrence of pitches in novel combinations, as well as by the occurrence of familiar pitch combinations in unfamiliar environments".

The term is also occasionally used to describe music that is neither tonal nor serial, especially the pre-twelve-tone music of the Second Viennese School, principally Alban Berg, Arnold Schoenberg, and Anton Webern. However, "as a categorical label, 'atonal' generally means only that the piece is in the Western tradition and is not 'tonal'", although there are longer periods, e.g., medieval, renaissance, and modern modal music to which this definition does not apply. "Serialism arose partly as a means of organizing more coherently the relations used in the pre-serial 'free atonal' music. ... Thus, many useful and crucial insights about even strictly serial music depend only on such basic atonal theory".

Late 19th- and early 20th-century composers such as Alexander Scriabin, Claude Debussy, Béla Bartók, Paul Hindemith, Sergei Prokofiev, Igor Stravinsky, and Edgard Varèse have written music that has been described, in full or in part, as atonal.

Free atonality

The twelve-tone technique was preceded by Schoenberg's freely atonal pieces of 1908 to 1923, which, though free, often have as an "integrative element...a minute intervallic cell" that in addition to expansion may be transformed as with a tone row, and in which individual notes may "function as pivotal elements, to permit overlapping statements of a basic cell or the linking of two or more basic cells".

The twelve-tone technique was also preceded by nondodecaphonic serial composition used independently in the works of Alexander Scriabin, Igor Stravinsky, Béla Bartók, Carl Ruggles, and others. "Essentially, Schoenberg and Hauer systematized and defined for their own dodecaphonic purposes a pervasive technical feature of 'modern' musical practice, the ostinato."

Composing atonal music

Setting out to compose atonal music may seem complicated because of both the vagueness and generality of the term. Additionally George Perle explains that, "the 'free' atonality that preceded dodecaphony precludes by definition the possibility of self-consistent, generally applicable compositional procedures". However, he provides one example as a way to compose atonal pieces, a pre-twelve-tone technique piece by Anton Webern, which rigorously avoids anything that suggests tonality, to choose pitches that do not imply tonality. In other words, reverse the rules of the common practice period so that what was not allowed is required and what was required is not allowed. This is what was done by Charles Seeger in his explanation of dissonant counterpoint, which is a way to write atonal counterpoint.

Kostka and Payne list four procedures as operational in the atonal music of Schoenberg, all of which may be taken as negative rules. Avoidance of melodic or harmonic octaves, avoidance of traditional pitch collections such as major or minor triads, avoidance of more than three successive pitches from the same diatonic scale, and use of disjunct melodies (avoidance of conjunct melodies).

Further, Perle agrees with Oster and Katz that, "the abandonment of the concept of a root-generator of the individual chord is a radical development that renders futile any attempt at a systematic formulation of chord structure and progression in atonal music along the lines of traditional harmonic theory". Atonal compositional techniques and results "are not reducible to a set of foundational assumptions in terms of which the compositions that are collectively designated by the expression 'atonal music' can be said to represent 'a system' of composition". Equal-interval chords are often of indeterminate root, mixed-interval chords are often best characterized by their interval content, while both lend themselves to atonal contexts.

Perle also points out that structural coherence is most often achieved through operations on intervallic cells. A cell "may operate as a kind of microcosmic set of fixed intervallic content, statable either as a chord or as a melodic figure or as a combination of both. Its components may be fixed with regard to order, in which event it may be employed, like the twelve-tone set, in its literal transformations. … Individual tones may function as pivotal elements, to permit overlapping statements of a basic cell or the linking of two or more basic cells".

Regarding the post-tonal music of Perle, one theorist wrote: "While ... montages of discrete-seeming elements tend to accumulate global rhythms other than those of tonal progressions and their rhythms, there is a similarity between the two sorts of accumulates spatial and temporal relationships: a similarity consisting of generalized arching tone-centers linked together by shared background referential materials".

Another approach of composition techniques for atonal music is given by Allen Forte who developed the theory behind atonal music. Forte describes two main operations: transposition and inversion. Transposition can be seen as a rotation of t either clockwise or anti-clockwise on a circle, where each note of the chord is rotated equally. For example, if t = 2 and the chord is [0 3 6], transposition (clockwise) will be [2 5 8]. Inversion can be seen as a symmetry with respect to the axis formed by 0 and 6. If we carry on with our example [0 3 6] becomes [0 9 6].

An important characteristic are the invariants, which are the notes which stay identical after a transformation. No difference is made between the octave in which the note is played so that, for example, all C♯s are equivalent, no matter the octave in which they actually occur. This is why the 12-note scale is represented by a circle. This leads us to the definition of the similarity between two chords which considers the subsets and the interval content of each chord.

Serialism

In music, serialism is a method of composition using series of pitches, rhythms, dynamics, timbres or other musical elements. Serialism began primarily with Arnold Schoenberg's twelve-tone technique, though some of his contemporaries were also working to establish serialism as a form of post-tonal thinking. Twelve-tone technique orders the twelve notes of the chromatic scale, forming a row or series and providing a unifying basis for a composition's melody, harmony, structural progressions, and variations. Other types of serialism also work with sets, collections of objects, but not necessarily with fixed-order series, and extend the technique to other musical dimensions (often called "parameters"), such as duration, dynamics, and timbre.

The idea of serialism is also applied in various ways in the visual arts, design, and architecture,and the musical concept has also been adapted in literature.

Integral serialism or total serialism is the use of series for aspects such as duration, dynamics, and register as well as pitch. Other terms, used especially in Europe to distinguish post–World War II serial music from twelve-tone music and its American extensions, are general serialism and multiple serialism.

Composers such as Arnold Schoenberg, Anton Webern, Alban Berg, Karlheinz Stockhausen, Pierre Boulez, Luigi Nono, Milton Babbitt, Elisabeth Lutyens, Henri Pousseur, Charles Wuorinen and Jean Barraqué used serial techniques of one sort or another in most of their music. Other composers such as Béla Bartók, Luciano Berio, Benjamin Britten, John Cage, Aaron Copland, Ernst Krenek, Gyorgy Ligeti, Olivier Messiaen, Arvo Pärt, Walter Piston, Ned Rorem, Alfred Schnittke, Ruth Crawford Seeger, Dmitri Shostakovich, and Igor Stravinsky used serialism only in some of their compositions or only in some sections of pieces, as did some jazz composers, such as Bill Evans, Yusef Lateef, and Bill Smith.

Basic definitions

Serialism is a method, "highly specialized technique", or "way" of composition. It may also be considered "a philosophy of life (Weltanschauung), a way of relating the human mind to the world and creating a completeness when dealing with a subject".

Serialism is not by itself a system of composition or a style. Neither is pitch serialism necessarily incompatible with tonality, though it is most often used as a means of composing atonal music.

"Serial music" is a problematic term because it is used differently in different languages and especially because, shortly after its coinage in French, it underwent essential alterations during its transmission to German. The term's use in connection with music was first introduced in French by René Leibowitz in 1947, and immediately afterward by Humphrey Searle in English, as an alternative translation of the German Zwölftontechnik (twelve-tone technique) or Reihenmusik (row music); it was independently introduced by Stockhausen and Herbert Eimert into German in 1955 as serielle Musik, with a different meaning, but also translated as "serial music". Twelve-tone serialism

Serialism of the first type is most specifically defined as a structural principle according to which a recurring series of ordered elements (normally a set—or row—of pitches or pitch classes) is used in order or manipulated in particular ways to give a piece unity. "Serial" is often broadly used to describe all music written in what Schoenberg called "The Method of Composing with Twelve Notes related only to one another", or dodecaphony, and methods that evolved from his methods. It is sometimes used more specifically to apply only to music in which at least one element other than pitch is treated as a row or series. Such methods are often called post-Webernian serialism. Other terms used to make the distinction are twelve-note serialism for the former and integral serialism for the latter.

A row may be assembled pre-compositionally (perhaps to embody particular intervallic or symmetrical properties), or derived from a spontaneously invented thematic or motivic idea. The row's structure does not in itself define the structure of a composition, which requires development of a comprehensive strategy. The choice of strategy often depends on the relationships contained in a row class, and rows may be constructed with an eye to producing the relationships needed to form desired strategies.

The basic set may have additional restrictions, such as the requirement that it use each interval only once.

Non-twelve-tone serialism

"The series is not an order of succession, but indeed a hierarchy—which may be independent of this order of succession".

Rules of analysis derived from twelve-tone theory do not apply to serialism of the second type: "in particular the ideas, one, that the series is an intervallic sequence, and two, that the rules are consistent". For example, Stockhausen's early serial works, such as Kreuzspiel and Formel, "advance in unit sections within which a preordained set of pitches is repeatedly reconfigured ... The composer's model for the distributive serial process corresponds to a development of the Zwölftonspiel of Josef Matthias Hauer". Goeyvaerts's Nummer 4

provides a classic illustration of the distributive function of seriality: 4 times an equal number of elements of equal duration within an equal global time is distributed in the most equable way, unequally with regard to one another, over the temporal space: from the greatest possible coïncidence to the greatest possible dispersion. This provides an exemplary demonstration of that logical principle of seriality: every situation must occur once and only once.

Henri Pousseur, after initially working with twelve-tone technique in works like Sept Versets (1950) and Trois Chants sacrés (1951),

evolved away from this bond in Symphonies pour quinze Solistes [1954–55] and in the Quintette [à la mémoire d’Anton Webern, 1955], and from around the time of Impromptu [1955] encounters whole new dimensions of application and new functions.

The twelve-tone series loses its imperative function as a prohibiting, regulating, and patterning authority; its working-out is abandoned through its own constant-frequent presence: all 66 intervallic relations among the 12 pitches being virtually present. Prohibited intervals, like the octave, and prohibited successional relations, such as premature note repetitions, frequently occur, although obscured in the dense contexture. The number twelve no longer plays any governing, defining rôle; the pitch constellations no longer hold to the limitation determined by their formation. The dodecaphonic series loses its significance as a concrete model of shape (or a well-defined collection of concrete shapes) is played out. And the chromatic total remains active only, and provisionally, as a general reference.

In the 1960s Pousseur took this a step further, applying a consistent set of predefined transformations to preexisting music. One example is the large orchestral work Couleurs croisées (Crossed Colours, 1967), which performs these transformations on the protest song "We Shall Overcome", creating a succession of different situations that are sometimes chromatic and dissonant and sometimes diatonic and consonant. In his opera Votre Faust (Your Faust, 1960–68) Pousseur used many quotations, themselves arranged into a "scale" for serial treatment. This "generalised" serialism (in the strongest possible sense) aims not to exclude any musical phenomena, no matter how heterogeneous, in order "to control the effects of tonal determinism, dialectize its causal functions, and overcome any academic prohibitions, especially the fixing of an anti-grammar meant to replace some previous one".

At about the same time, Stockhausen began using serial methods to integrate a variety of musical sources from recorded examples of folk and traditional music from around the world in his electronic composition Telemusik (1966), and from national anthems in Hymnen (1966–67). He extended this serial "polyphony of styles" in a series of "process-plan" works in the late 1960s, as well as later in portions of Licht, the cycle of seven operas he composed between 1977 and 2003.

History of serial music

Before World War II

In the late 19th and early 20th century, composers began to struggle against the ordered system of chords and intervals known as "functional tonality". Composers such as Debussy and Strauss found ways to stretch the limits of the tonal system to accommodate their ideas. After a brief period of free atonality, Schoenberg and others began exploring tone rows, in which an ordering of the 12 pitches of the equal-tempered chromatic scale is used as the source material of a composition. This ordered set, often called a row, allowed for new forms of expression and (unlike free atonality) the expansion of underlying structural organizing principles without recourse to common practice harmony.

Twelve-tone serialism first appeared in the 1920s, with antecedents predating that decade (instances of 12-note passages occur in Liszt's Faust Symphony and in Bach. Schoenberg was the composer most decisively involved in devising and demonstrating the fundamentals of twelve-tone serialism, though it is clear it is not the work of just one musician. In Schoenberg’s own words, his goal of l'invention contrariée was to show constraint in composition. Consequently, some reviewers have jumped to the conclusion that serialism acted as a predetermined method of composing to avoid the subjectivity and ego of a composer in favour of calculated measure and proportion.

After World War II

Along with John Cage's indeterminate music (music composed with the use of chance operations) and Werner Meyer-Eppler's aleatoricism, serialism was enormously influential in postwar music. Theorists such as Milton Babbitt and George Perle codified serial systems, leading to a mode of composition called "total serialism", in which every aspect of a piece, not just pitch, is serially constructed. Perle's 1962 text Serial Composition and Atonality became a standard work on the origins of serial composition in the music of Schoenberg, Berg, and Webern.[citation needed]

The serialization of rhythm, dynamics, and other elements of music was partly fostered by the work of Olivier Messiaen and his analysis students, including Karel Goeyvaerts and Boulez, in postwar Paris. Messiaen first used a chromatic rhythm scale in his Vingt Regards sur l'enfant-Jésus (1944), but he did not employ a rhythmic series until 1946–48, in the seventh movement, "Turangalîla II", of his Turangalîla-Symphonie. The first examples of such integral serialism are Babbitt's Three Compositions for Piano (1947), Composition for Four Instruments (1948), and Composition for Twelve Instruments (1948). He worked independently of the Europeans.[citation needed] Olivier Messiaen's unordered series for pitch, duration, dynamics, and articulation from the pre-serial Mode de valeurs et d'intensités, upper division only—which Pierre Boulez adapted as an ordered row for his Structures I.

Several of the composers associated with Darmstadt, notably Stockhausen, Goeyvaerts, and Pousseur, developed a form of serialism that initially rejected the recurring rows characteristic of twelve-tone technique in order to eradicate any lingering traces of thematicism. Instead of a recurring, referential row, "each musical component is subjected to control by a series of numerical proportions". In Europe, some serial and non-serial music of the early 1950s emphasized the determination of all parameters for each note independently, often resulting in widely spaced, isolated "points" of sound, an effect called first in German "punktuelle Musik" ("pointist" or "punctual music"), then in French "musique ponctuelle", but quickly confused with "pointillistic" (German "pointillistische", French "pointilliste"), the term associated with the densely packed dots in Seurat's paintings, even though the concept was unrelated.

Pieces were structured by closed sets of proportions, a method closely related to certain works from the de Stijl and Bauhaus movements in design and architecture some writers called "serial art", specifically the paintings of Piet Mondrian, Theo van Doesburg, Bart van Leck, Georg van Tongerloo, Richard Paul Lohse, and Burgoyne Diller, who had sought to "avoid repetition and symmetry on all structural levels and working with a limited number of elements".

Stockhausen described the final synthesis in this manner:

So serial thinking is something that's come into our consciousness and will be there forever: it's relativity and nothing else. It just says: Use all the components of any given number of elements, don't leave out individual elements, use them all with equal importance and try to find an equidistant scale so that certain steps are no larger than others. It's a spiritual and democratic attitude toward the world. The stars are organized in a serial way. Whenever you look at a certain star sign you find a limited number of elements with different intervals. If we more thoroughly studied the distances and proportions of the stars we'd probably find certain relationships of multiples based on some logarithmic scale or whatever the scale may be.

Stravinsky's adoption of twelve-tone serial techniques shows the level of influence serialism had after the Second World War. Previously Stravinsky had used series of notes without rhythmic or harmonic implications. Because many of the basic techniques of serial composition have analogs in traditional counterpoint, uses of inversion, retrograde, and retrograde inversion from before the war do not necessarily indicate Stravinsky was adopting Schoenbergian techniques. But after meeting Robert Craft and other younger composers, Stravinsky began to study Schoenberg's music, as well as that of Webern and later composers, and to adapt their techniques in his work, using, for example, serial techniques applied to fewer than twelve notes. During the 1950s he used procedures related to Messiaen, Webern and Berg. While it is inaccurate to call them all "serial" in the strict sense, all his major works of the period have clear serialist elements.[citation needed]

During this period, the concept of serialism influenced not only new compositions but also scholarly analysis of the classical masters. Adding to their professional tools of sonata form and tonality, scholars began to analyze previous works in the light of serial techniques; for example, they found the use of row technique in previous composers going back to Mozart and Beethoven. In particular, the orchestral outburst that introduces the development section halfway through the last movement of Mozart's Symphony No. 40 is a tone row that Mozart punctuates in a very modern and violent way that Michael Steinberg called "rude octaves and frozen silences".

Ruth Crawford Seeger extended serial control to parameters other than pitch and to formal planning as early as 1930–33 in a fashion that goes beyond Webern but was less thoroughgoing than the later practices of Babbitt and European postwar composers.[citation needed] Charles Ives's 1906 song "The Cage" begins with piano chords presented in incrementally decreasing durations, an early example of an overtly arithmetic duration series independent of meter (like Nono's six-element row shown above), and in that sense a precursor to Messiaen’s style of integral serialism. The idea of organizing pitch and rhythm according to similar or related principles is also suggested by both Henry Cowell's New Musical Resources (1930) and the work of Joseph Schillinger.[citation needed]

Reactions to serialism

the first time I ever heard Webern in a concert performance …[t]he impression it made on me was the same as I was to experience a few years later when … I first laid eyes on a Mondriaan canvas...: those things, of which I had acquired an extremely intimate knowledge, came across as crude and unfinished when seen in reality.

Karel Goeyvaerts on Anton Webern's music.

Some music theorists have criticized serialism on the basis that its compositional strategies are often incompatible with the way the human mind processes a piece of music. Nicolas Ruwet (1959) was one of the first to criticise serialism by a comparison with linguistic structures, citing theoretical claims by Boulez and Pousseur, taking as specific examples bars from Stockhausen's Klavierstücke I & II, and calling for a general reexamination of Webern's music. Ruwet specifically names three works as exempt from his criticism: Stockhausen's Zeitmaße and Gruppen, and Boulez's Le marteau sans maître.

In response, Pousseur questioned Ruwet's equivalence between phonemes and notes. He also suggested that, if analysis of Le marteau sans maître and Zeitmaße, "performed with sufficient insight", were to be made from the point of view of wave theory—taking into account the dynamic interaction of the different component phenomena, which creates "waves" that interact in a sort of frequency modulation—the analysis "would accurately reflect the realities of perception". This was because these composers had long since acknowledged the lack of differentiation found in punctual music and, becoming increasingly aware of the laws of perception and complying better with them, "paved the way to a more effective kind of musical communication, without in the least abandoning the emancipation that they had been allowed to achieve by this 'zero state' that was punctual music". One way this was achieved was by developing the concept of "groups", which allows structural relationships to be defined not only between individual notes but also at higher levels, up to the overall form of a piece. This is "a structural method par excellence", and a sufficiently simple conception that it remains easily perceptible. Pousseur also points out that serial composers were the first to recognize and attempt to move beyond the lack of differentiation within certain pointillist works. Pousseur later followed up on his own suggestion by developing his idea of "wave" analysis and applying it to Stockhausen's Zeitmaße in two essays.

Later writers have continued both lines of reasoning. Fred Lerdahl, for example, in his essay "Cognitive Constraints on Compositional Systems", argues that serialism's perceptual opacity ensures its aesthetic inferiority. Lerdahl has in turn been criticized for excluding "the possibility of other, non-hierarchical methods of achieving musical coherence," and for concentrating on the audibility of tone rows, and the portion of his essay focusing on Boulez's "multiplication" technique (exemplified in three movements of Le Marteau sans maître) has been challenged on perceptual grounds by Stephen Heinemann and Ulrich Mosch. Ruwet's critique has also been criticised for making "the fatal mistake of equating visual presentation (a score) with auditive presentation (the music as heard)".

In all these reactions discussed above, the "information extracted", "perceptual opacity", "auditive presentation" (and constraints thereof) pertain to what defines serialism, namely use of a series. And since Schoenberg remarked, "in the later part of a work, when the set [series] had already become familiar to the ear", it has been assumed that serial composers expect their series to be aurally perceived. This principle even became the premise of empirical investigation in the guise of "probe-tone" experiments testing listeners' familiarity with a row after exposure to its various forms (as would occur in a 12-tone work). In other words the supposition in critiques of serialism has been that, if a composition is so intricately structured by and around a series, that series should ultimately be clearly perceived or that a listener ought to become aware of its presence or importance. Babbitt denied this:

That's not the way I conceive of a set [series]. This is not a matter of finding the lost [series]. This is not a matter of cryptoanalysis (where's the hidden [series]?). What I'm interested in is the effect it might have, the way it might assert itself not necessarily explicitly.

Seemingly in accord with Babbitt's statement, but ranging over such issues as perception, aesthetic value, and the "poietic fallacy", Walter Horn offers a more extensive explanation of the serialism (and atonality) controversy.

Within the community of modern music, exactly what constituted serialism was also a matter of debate. The conventional English usage is that the word "serial" applies to all twelve-tone music, which is a subset of serial music, and it is this usage that is generally intended in reference works. Nevertheless, a large body of music exists that is called "serial" but does not employ note-rows at all, let alone twelve-tone technique, e.g., Stockhausen's Klavierstücke I–IV (which use permuted sets), his Stimmung (with pitches from the overtone series, which is also used as the model for the rhythms), and Pousseur's Scambi (where the permuted sounds are made exclusively from filtered white noise).[citation needed]

When serialism is not limited to twelve-tone techniques, a contributing problem is that the word "serial" is seldom if ever defined. In many published analyses of individual pieces the term is used while actual meaning is skated around.

Theory of twelve-tone serial music

Due to Babbitt's work, in the mid-20th century serialist thought became rooted in set theory and began to use a quasi-mathematical vocabulary for the manipulation of the basic sets. Musical set theory is often used to analyze and compose serial music, and is also sometimes used in tonal and nonserial atonal analysis.[citation needed]

The basis for serial composition is Schoenberg's twelve-tone technique, where the 12 notes of the chromatic scale are organized into a row. This "basic" row is then used to create permutations, that is, rows derived from the basic set by reordering its elements. The row may be used to produce a set of intervals, or a composer may derive the row from a particular succession of intervals. A row that uses all of the intervals in their ascending form once is an all-interval row. In addition to permutations, the basic row may have some set of notes derived from it, which is used to create a new row. These are derived sets.[citation needed]

Because there are tonal chord progressions that use all twelve notes, it is possible to create pitch rows with very strong tonal implications, and even to write tonal music using twelve-tone technique. Most tone rows contain subsets that can imply a pitch center; a composer can create music centered on one or more of the row's constituent pitches by emphasizing or avoiding these subsets, respectively, as well as through other, more complex compositional devices.

To serialize other elements of music, a system quantifying an identifiable element must be created or defined (this is called "parametrization", after the term in mathematics). For example, if duration is serialized, a set of durations must be specified; if tone colour (timbre) is serialized, a set of separate tone colours must be identified; and so on.[citation needed]

The selected set or sets, their permutations and derived sets form the composer's basic material.[citation needed]

Composition using twelve-tone serial methods focuses on each appearance of the collection of twelve chromatic notes, called an aggregate. (Sets of more or fewer pitches, or of elements other than pitch, may be treated analogously.) One principle operative in some serial compositions is that no element of the aggregate should be reused in the same contrapuntal strand (statement of a series) until all the other members have been used, and each member must appear only in its place in the series. Yet, since most serial compositions have multiple (at least two, sometimes as many as a few dozen) series statements occurring concurrently, interwoven with each other in time, and feature repetitions of some of their pitches, this principle as stated is more a referential abstraction than a description of the concrete reality of a musical work that is termed "serial".[citation needed]

A series may be divided into subsets, and the members of the aggregate not part of a subset are said to be its complement. A subset is self-complementing if it contains half of the set and its complement is also a permutation of the original subset. This is most commonly seen with hexachords, six-note segments of a tone row. A hexachord that is self-complementing for a particular permutation is called prime combinatorial. A hexachord that is self-complementing for all the canonic operations—inversion, retrograde, and retrograde inversion—is called all-combinatorial.

Twelve-tone technique

The twelve-tone technique — also known as dodecaphony, twelve-tone serialism, and (in British usage) twelve-note composition — is a method of musical composition first devised by Austrian composer Josef Matthias Hauer, who published his "law of the twelve tones" in 1919. In 1923, Arnold Schoenberg (1874–1951) developed his own, better-known version of 12-tone technique, which became associated with the "Second Viennese School" composers, who were the primary users of the technique in the first decades of its existence. The technique is a means of ensuring that all 12 notes of the chromatic scale are sounded as often as one another in a piece of music while preventing the emphasis of any one note through the use of tone rows, orderings of the 12 pitch classes. All 12 notes are thus given more or less equal importance, and the music avoids being in a key. Over time, the technique increased greatly in popularity and eventually became widely influential on 20th-century composers. Many important composers who had originally not subscribed to or actively opposed the technique, such as Aaron Copland and Igor Stravinsky,[clarification needed] eventually adopted it in their music.

Schoenberg himself described the system as a "Method of composing with twelve tones which are related only with one another". It is commonly considered a form of serialism.

Schoenberg's fellow countryman and contemporary Hauer also developed a similar system using unordered hexachords or tropes—but with no connection to Schoenberg's twelve-tone technique. Other composers have created systematic use of the chromatic scale, but Schoenberg's method is considered to be historically and aesthetically most significant.

https://www.musictheory.net/calculators/matrix

Tone row

The basis of the twelve-tone technique is the tone row, an ordered arrangement of the twelve notes of the chromatic scale (the twelve equal tempered pitch classes). There are four postulates or preconditions to the technique which apply to the row (also called a set or series), on which a work or section is based:

  1. The row is a specific ordering of all twelve notes of the chromatic scale (without regard to octave placement).
  2. No note is repeated within the row.
  3. The row may be subjected to interval-preserving transformations—that is, it may appear in inversion (denoted I), retrograde (R), or retrograde-inversion (RI), in addition to its "original" or prime form (P).
  4. The row in any of its four transformations may begin on any degree of the chromatic scale; in other words it may be freely transposed. (Transposition being an interval-preserving transformation, this is technically covered already by 3.) Transpositions are indicated by an integer between 0 and 11 denoting the number of semitones: thus, if the original form of the row is denoted P0, then P1 denotes its transposition upward by one semitone (similarly I1 is an upward transposition of the inverted form, R1 of the retrograde form, and RI1 of the retrograde-inverted form).

(In Hauer's system postulate 3 does not apply.)

A particular transformation (prime, inversion, retrograde, retrograde-inversion) together with a choice of transpositional level is referred to as a set form or row form. Every row thus has up to 48 different row forms. (Some rows have fewer due to symmetry; see the sections on derived rows and invariance below.)

https://en.wikipedia.org/wiki/List_of_tone_rows_and_series

Schoenberg's mature practice

Ten features of Schoenberg's mature twelve-tone practice are characteristic, interdependent, and interactive:

  1. Hexachordal inversional combinatoriality
  2. Aggregates
  3. Linear set presentation
  4. Partitioning
  5. Isomorphic partitioning
  6. Invariants
  7. Hexachordal levels
  8. Harmony, "consistent with and derived from the properties of the referential set"
  9. Metre, established through "pitch-relational characteristics"
  10. Multidimensional set presentations.

Unified field

In music, unified field is the 'unity of musical space' created by the free use of melodic material as harmonic material and vice versa.

The technique is most associated with the twelve-tone technique, created by its 'total thematicism' where a tone-row (melody) generates all (harmonic) material. It was also used by Alexander Scriabin, though from a diametrically opposed direction, created by his use of extremely slow harmonic rhythm which eventually led to his use of unordered pitch-class sets, usually hexachords (of six pitches) as harmony from which melody may also be created. (Samson 1977)

It may also be observed in Igor Stravinsky's Russian period, such as in Les Noces, derived from his use of folk melodies as generating material and influenced by shorter pieces by Claude Debussy, such as Voiles, and Modest Mussorgsky. In Béla Bartók's Bagatelles, and several of Alfredo Casella's Nine Piano Pieces such as No. 4 'In Modo Burlesco' the close intervallic relationship between motive and chord creates or justifies the great harmonic dissonance.

Webern was the only one...who was conscious of a new sound-dimension, of the abolition of horizontal-vertical opposition, so that he saw in the series only a way of giving structure to the sound-space....That functional redistribution of intervals toward which he tended marks an extremely important moment in the history of language. — Pierre Boulez, Notes of an Apprenticeship, p.149,

https://en.wikipedia.org/wiki/Who_Cares_if_You_Listen

Who cares if you listen?

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/composition/song/index.html b/theory/composition/song/index.html index e056799237..648b8f3167 100644 --- a/theory/composition/song/index.html +++ b/theory/composition/song/index.html @@ -6,13 +6,13 @@ Song structure | Chromatone.center - + - - - - + + + + @@ -43,7 +43,7 @@
Chromatone logo
Song structure
The form variations of a songwriting process

Song structure is the arrangement of a song, and is a part of the songwriting process. It is typically sectional, which uses repeating forms in songs. Common forms include bar form, 32-bar form, verse–chorus form, ternary form, strophic form, and the 12-bar blues. Popular music songs traditionally use the same music for each verse or stanza of lyrics (as opposed to songs that are "through-composed"—an approach used in classical music art songs). Pop and traditional forms can be used even with songs that have structural differences in melodies.[clarification needed] The most common format in modern popular music is introduction (intro), verse, pre-chorus, chorus (or refrain), verse, pre-chorus, chorus, bridge ("middle eight"), verse, chorus and outro. In rock music styles, notably heavy metal music, there is usually one or more guitar solos in the song, often found after the middle chorus part. In pop music, there may be a guitar solo, or a solo may be performed by a synthesizer player or sax player.

The foundation of popular music is the "verse" and "chorus" structure. Some writers use a simple "verse, hook, verse, hook, bridge, hook" method. "Pop and rock songs nearly always have both a verse and a chorus. The primary difference between the two is that when the music of the verse returns, it is almost always given a new set of lyrics, whereas the chorus usually retains the same set of lyrics every time its music appears." Both are essential elements, with the verse usually played first (exceptions abound, of course, with "She Loves You" by The Beatles being an early example in the rock music genre). Each verse usually employs the same melody (possibly with some slight modifications), while the lyrics usually change for each verse. The chorus (or "refrain") usually consists of a melodic and lyrical phrase that repeats. Pop songs may have an introduction and coda ("tag"), but these elements are not essential to the identity of most songs. Pop songs often connect the verse and chorus via a pre-chorus, with a bridge section usually appearing after the second chorus.

The verse and chorus are usually repeated throughout a song, while the intro, bridge, and coda (also called an "outro") are usually only used once. Some pop songs may have a solo section, particularly in rock or blues-influenced pop. During the solo section, one or more instruments play a melodic line which may be the melody used by the singer, or, in blues or jazz improvised.

Anatomy of songs

Elements

Introduction

The introduction is a unique section that comes at the beginning of the piece. Generally speaking, an introduction contains just music and no words. It usually builds up suspense for the listener so when the downbeat drops in, it creates a pleasing sense of release. The intro also creates the atmosphere of the song. As such, the rhythm section typically plays in the "feel" of the song that follows. For example, for a blues shuffle, a band starts playing a shuffle rhythm. In some songs, the intro is one or more bars of the tonic chord (the "home" key of the song). With songs, another role of the intro is to give the singer the key of the song. For this reason, even if an intro includes chords other than the tonic, it generally ends with a cadence, either on the tonic or dominant chord.

The introduction may also be based around the chords used in the verse, chorus, or bridge, or a stock "turnaround" progression may be played, such as the I–vi–ii–V progression (particularly in jazz influenced pop songs). More rarely, the introduction may begin by suggesting or implying another key. For example, a song in C Major might begin with an introduction in G Major, which makes the listener think that the song will eventually be in G Major. A cliche used to indicate to the listener that this G Major section is in fact the dominant chord of another key area is to add the dominant seventh, which in this case would shift the harmony to a G7 chord. In some cases, an introduction contains only drums or percussion parts that set the rhythm and "groove" for the song. Alternately the introduction may consist of a solo section sung by the lead singer (or a group of backup singers), or a riff played by an instrumentalist.

The most straightforward, and least risky way to write an introduction is to use a section from the song. This contains melodic themes from the song, chords from one of the song's sections, and the beat and style of the song. However, not all songs have an intro of this type. Some songs have an intro that does not use any of the material from the song that is to follow. With this type of intro, the goal is to create interest in the listener and make them unsure of what will happen. This type of intro could consist of a series of loud, accented chords, punctuated by cymbal, with a bassline beginning near the end, to act as a pitch reference point for the singer.

Verse

In popular music, a verse roughly corresponds to a poetic stanza because it consists of rhyming lyrics most often with an AABB or ABAB rhyme scheme. When two or more sections of the song have almost identical music but different lyrics, each section is considered one verse.

Musically, "the verse is to be understood as a unit that prolongs the tonic... The musical structure of the verse nearly always recurs at least once with a different set of lyrics." The tonic or "home key" chord of a song can be prolonged in a number of ways. Pop and rock songs often use chords closely related to the tonic, such as iii or vi, to prolong the tonic. In the key of C Major, the iii chord would be E Minor and the vi chord would be A Minor. These chords are considered closely related to the tonic because they share chord tones. For example, the chord E Minor includes the notes E and G, both of which are part of the C Major triad. Similarly, the chord A Minor includes the notes C and E, both part of the C Major triad.

Lyrically, "the verse contains the details of the song: the story, the events, images and emotions that the writer wishes to express....Each verse will have different lyrics from the others." "A verse exists primarily to support the chorus or refrain...both musically and lyrically." A verse of a song, is a repeated sung melody where the words change from use to use (though not necessarily a great deal).

Pre-chorus

An optional section that may occur after the verse is the pre-chorus. Also known as a "build", "channel", or "transitional bridge", the pre-chorus functions to connect the verse to the chorus with intermediary material, typically using subdominant (usually built on the IV chord or ii chord, which in the key of C Major would be an F Major or D minor chord) or similar transitional harmonies. "Often, a two-phrase verse containing basic chords is followed by a passage, often harmonically probing, that leads to the full chorus." Often, when verse and chorus use the same harmonic structure, the pre-chorus introduces a new harmonic pattern or harmony that prepares the verse chords to transition into the chorus.

For example, if a song is set in C Major, and the songwriter aims to get to a chorus that focuses on the dominant chord (G Major) being tonicized (treated like a "home key" for a short period), a chord progression could be used for the pre-chorus that gets the listener ready to hear the chorus' chord (G Major) as an arrival key. One widely used way to accomplish this is to precede the G Major chord with its own ii–V7 chords. In the key given, ii of G Major would be an A minor chord. V7 of G Major would be D7. As such, with the example song, this could be done by having a pre-chorus that consists of one bar of A minor and one bar of D7. This would allow the listener to expect a resolution from ii–V to I, which in this case is the temporary tonic of G Major. The chord A minor would not be unusual to the listener, as it is a shared chord that exists in both G Major and C Major. A minor is the ii chord in G Major, and it is the vi chord in C Major. The chord that would alert the listener that a change was taking place is the D7 chord. There is no D7 chord in C Major. A listener experienced with popular and traditional music would hear this as a secondary dominant. Harmonic theorists and arrangers would call it V7/V or five of five, as the D7 chord is the dominant (or fifth) chord of G Major.

Chorus or refrain

The terms chorus and refrain are often used interchangeably, both referring to a recurring part of a song. When a distinction is made, the chorus is the part that contains the hook or the "main idea" of a song's lyrics and music, and there is rarely variation from one repetition of the chorus to the next. A refrain is a repetitive phrase or phrases that serve the function of a chorus lyrically, but are not in a separate section or long enough to be a chorus. For example, refrains are found in the Beatles' "She Loves You" ("yeah, yeah, yeah"), AC/DC's "You Shook Me All Night Long", Paul Simon's "The Sound of Silence", and "Deck the Halls" ("fa la la la la").

The chorus or refrain is the element of the song that repeats at least once both musically and lyrically. It is always of greater musical and emotional intensity than the verse. "The chorus, which gets its name from a usual thickening of texture from the addition of backing vocals, is always a discrete section that nearly always prolongs the tonic and carries an unvaried poetic text." In terms of narrative, the chorus conveys the main message or theme of the song. Normally the most memorable element of the song for listeners, the chorus usually contains the hook.

Post-chorus

An optional section that may occur after the chorus is the post-chorus (or postchorus). The term can be used generically for any section that comes after a chorus, but more often refers to a section that has similar character to the chorus, but is distinguishable in close analysis. The concept of a post-chorus has been particularly popularized and analyzed by music theorist Asaf Peres, who is followed in this section.

Characterizations of post-chorus vary, but are broadly classed into simply a second chorus (in Peres's terms, a detached postchorus) or an extension of the chorus (in Peres's terms, an attached postchorus). Some restrict "post-chorus" to only cases where it is an extension of a chorus (attached postchorus), and do not consider the second part of two-part choruses (detached postchorus) as being a "post"-chorus.

As with distinguishing the pre-chorus from a verse, it can be difficult to distinguish the post-chorus from the chorus. In some cases they appear separately – for example, the post-chorus only appears after the second and third chorus, but not the first – and thus are clearly distinguishable. In other cases they always appear together, and thus a "chorus + post-chorus" can be considered a subdivision of the overall chorus, rather than an independent section.

Characterization of a post-chorus varies, beyond "comes immediately after the chorus"; Peres characterizes it by two conditions: it maintains or increases sonic energy, otherwise it's a bridge or verse; and contains a melodic hook (vocal or instrumental), otherwise it's a transition.

Detached post-choruses typically have distinct melody and lyrics from the chorus:

  • Chandelier (Sia, 2014): the chorus begins and ends with "I'm gonna swing from the chandelier / From the chandelier", while the post-chorus repeats instead "holding on", in "I'm holding on for dear life" and "I'm just holding on for tonight", and has a new melody, but the same chord progression as the chorus.

Lyrics of attached post-choruses typically repeat the hook/refrain from the chorus, with little additional content, often using vocables like "ah" or "oh". Examples include:

  • "Umbrella" (Rihanna, 2007): the chorus begins "When the sun shine, we shine together" and run through "You can stand under my umbrella / You can stand under my umbrella, ella, ella, eh, eh, eh", which is followed by three more repetitions of "Under my umbrella, ella, ella, eh, eh, eh", the last one adding another "eh, eh-eh". Here the division between chorus and post-chorus is blurred, as the "ella, ella" begins in the chorus, and was a play on the reverb effect.
  • "Shape of You" (Ed Sheeran, 2017): the chorus runs "I'm in love with the shape of you ... Every day discovering something brand new / I'm in love with your body", and the post-chorus repeats vocables and the hook "Oh—I—oh—I—oh—I—oh—I / I'm in love with your body", then repeats the end of the chorus, switching "your body" to "the shape of you": "Every day discovering something brand new / I'm in love with the shape of you"
  • "Girls Like You" (Maroon 5, 2018): the chorus runs "'Cause girls like you ... I need a girl like you, yeah, yeah ... I need a girl like you, yeah, yeah", and the post-chorus repeats the hook with added "yeah"s: "Yeah, yeah, yeah, yeah, yeah, yeah / I need a girl like you, yeah, yeah / Yeah yeah yeah, yeah, yeah, yeah / I need a girl like you".

Hybrids are also common (Peres: hybrid postchorus), where the post-chorus keeps the hook from the chorus (like an attached postchorus), but introduces some additional content (hook or melody, like a detached postchorus.

Bridge

A bridge may be a transition, but in popular music, it more often is "...a section that contrasts with the verse...[,] usually ends on the dominant...[,] [and] often culminates in a strong re-transitional." "The bridge is a device that is used to break up the repetitive pattern of the song and keep the listener's attention....In a bridge, the pattern of the words and music change." For example, John Denver's "Country Roads" is a song with a bridge while Stevie Wonder's "You Are the Sunshine of My Life" is a song without one.

In music theory, "middle eight" (a common type of bridge) refers to a section of a song with a significantly different melody and lyrics, which helps the song develop itself in a natural way by creating a contrast to the previously played, usually placed after the second chorus in a song.

A song employing a middle eight might look like:

      ....  ....    ....  ....    ........  ....     ....
 Intro-{Verse-Chorus}{Verse-Chorus}-Middle 8-{Chorus}-{Chorus}-(Outro)
 

By adding a powerful upbeat middle eight, musicians can then end the song with a hook in the end chorus and finale.

Conclusion or outro

The conclusion or (in popular-music terminology) outro of a song is a way of finishing or completing the song. It signals to the listeners that the song is nearing its close. The reason for having an outro is that if a song just ended at the last bar of a section, such as on the last verse or the last chorus, this might feel too abrupt for listeners. By using an outro, the songwriter signals that the song is, in fact, nearing its end. This gives the listeners a good sense of closure. For DJs, the outro is a signal that they need to be ready to mix in their next song.

In general, songwriters and arrangers do not introduce any new melodies or riffs in the outro. However, a melody or riff used throughout the song may be re-used as part of an outro. Generally, the outro is a section where the energy of the song, broadly defined, dissipates. For example, many songs end with a fade-out, in which the song gets quieter and quieter. In many songs, the band does a ritardando during the outro, a process of gradually slowing down the tempo. Both the fade-out and the ritardando are ways of decreasing the intensity of a song and signalling that it is nearing its conclusion.

For an outro that fades out, the arranger or songwriter typically repeats a short section of the music over and over. This can be the chorus, for example. An audio engineer then uses the fader on the mixing board to gradually decrease the volume of the recording. When a tribute band plays a cover song that, in the recorded version ends with a fade-out, the live band may imitate that by playing progressively quieter.

Another way many pop and rock songs end is with a tag. There are two types of tags: the instrumental tag and the instrumental/vocal tag. With an instrumental tag, the vocalist no longer sings, and the band's rhythm section takes over the music to finish off the song. A tag is often a vamp of a few chords that the band repeats. In a jazz song, this could be a standard turnaround, such as I–vi–ii–V7 or a stock progression, such as ii–V7. If the tag includes the tonic chord, such as a vamp on I–IV, the bandleader typically cues the last time that the penultimate chord (a IV chord in this case) is played, leading to an ending on the I chord. If the tag does not include the tonic chord, such as with a ii–V7 tag, the bandleader cues the band to do a cadence that resolves onto the tonic (I) chord. With an instrumental and vocal tag, the band and vocalist typically repeat a section of the song, such as the chorus, to give emphasis to its message. In some cases, the vocalist may use only a few words from the chorus or even one word. Some bands have the guitar player do a guitar solo during the outro, but it is not the focus of the section; instead, it is more to add interesting improvisation. A guitar solo during an outro is typically mixed lower than a mid-song guitar solo.

Elision

This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (February 2020) (Learn how and when to remove this template message)

An elision is a section of music where different sections overlap one another, usually for a short period. It is mostly used in fast-paced music, and it is designed to create tension and drama. Songwriters use elision to keep the song from losing its energy during cadences, the points at which the music comes to rest on, typically on a tonic or dominant chord. If a song has a section that ends with a cadence on the tonic, if the songwriter gives this cadence a full bar, with the chord held as a whole note, this makes the listener feel like the music is stopping. However, if songwriters use an elided cadence, they can bring the section to a cadence on the tonic, and then, immediately after this cadence, begin a new section of music which overlaps with the cadence. Another form of elision would, in a chorus later in the song, to interject musical elements from the bridge.

Instrumental solo

A solo is a section designed to showcase an instrumentalist (e.g. a guitarist or a harmonica player) or less commonly, more than one instrumentalist (e.g., a trumpeter and a sax player). Guitar solos are common in rock music, particularly heavy metal and in the blues. The solo section may take place over the chords from the verse, chorus, or bridge, or over a standard solo backing progression, such as the 12-bar blues progression. In some pop songs, the solo performer plays the same melodies that were performed by the lead singer, often with flourishes and embellishments, such as riffs, scale runs, and arpeggios. In blues- or jazz-influenced pop songs, the solo performers may improvise a solo.

Ad lib

An ad lib section of a song (usually in the coda or outro) occurs when the main lead vocal or a second lead vocal breaks away from the already established lyric and/or melody to add melodic interest and intensity to the end of the song. Often, the ad lib repeats the previously sung line using variations on phrasing, melodic shape, and/or lyric, but the vocalist may also use entirely new lyrics or a lyric from an earlier section of the song. During an ad lib section, the rhythm may become freer (with the rhythm section following the vocalist), or the rhythm section may stop entirely, giving the vocalist the freedom to use whichever tempo sounds right. During live performances, singers sometimes include ad libs not originally in the song, such as making a reference to the town of the audience or customizing the lyrics to the current events of the era.

There is a distinction between ad lib as a song section and ad lib as a general term. Ad lib as a general term can be applied to any free interpretation of the musical material.

AABA form

Thirty-two-bar form uses four sections, most often eight measures long each (4×8=32), two verses or A sections, a contrasting B section (the bridge or "middle-eight") and a return of the verse in one last A section (AABA). The B section is often intended as a contrast to the A sections that precede and follow it. The B section may be made to contrast by putting it in a new harmony. For example, with the jazz standard "I've Got Rhythm", the A sections are all tonic prolongations based around the I–vi–ii–V chord progression (B♭ in the standard key); however, the B section changes key and moves to V/vi, or D7 in the standard key, which then does a circle of fifths movement to G7, C7 and finally F7, setting the listener up for a return to the tonic Bb in the final A section.

The "I've Got Rhythm" example also provides contrast because the harmonic rhythm changes in the B section. Whereas the A sections contain a vibrant, exciting feel of two chord changes per bar (e.g., the first two bars are often B♭–g minor/c minor–F7), the B section consists of two bars of D7, two bars of G7, two bars of C7 and two bars of F7. In some songs, the "feel" also changes in the B section. For example, the A sections may be in swing feel, and the B section may be in Latin or Afro-Cuban feel.

While the form is often described as AABA, this does not mean that the A sections are all exactly the same. The first A section ends by going back to the next A section, and the second A section ends and transitions into the B section. As such, at the minimum, the composer or arranger often modifies the harmony of the end of the different A sections to guide the listener through the key changes. As well, the composer or arranger may re-harmonize the melody on one or more of the A sections, to provide variety. Note that with a reharmonization, the melody does not usually change; only the chords played by the accompaniment musicians change.

Examples include "Deck the Halls":

A: Deck the hall with boughs of holly, A: 'Tis the season to be jolly. B: Don we now our gay apparel, A: Troll the ancient Yuletide carol.

Variation on the basic structure

Verse-chorus form or ABA form may be combined with AABA form, in compound AABA forms. That means that every A section or B section can consist of more then one section (for example Verse-Chorus). In that way the modern popular song structure can be viewed as a AABA form, where the B is the bridge.

AAA format may be found in Bob Dylan's "The Times They Are a-Changin'", and songs like "The House of the Rising Sun", and "Clementine". Also "Old MacDonald", "Amazing Grace", "The Thrill Is Gone", and Gordon Lightfoot's "The Wreck of the Edmund Fitzgerald".

AABA may be found in Crystal Gayle's "Don't It Make My Brown Eyes Blue", Billy Joel's "Just the Way You Are", and The Beatles' "Yesterday".

ABA (verse/chorus or chorus/verse) format may be found in Pete Seeger's "Turn! Turn! Turn!" (chorus first) and The Rolling Stones's "Honky Tonk Woman" (verse first).

ABAB may be found in AC/DC's "Back in Black", Jimmy Buffett's "Margaritaville", The Archies's "Sugar, Sugar", and The Eagles's "Hotel California".

ABABCB format may be found in John Cougar Mellencamp's "Hurts So Good", Tina Turner's "What's Love Got to Do with It?", and ZZ Top's "Sharp Dressed Man". Variations include Smokey Robinson's "My Guy", The Beatles's "Ticket to Ride",[18] The Pretenders' "Back on the Chain Gang" (ABABCAB), Poison's "Every Rose Has Its Thorn" (ABABCBAB), and Billy Joel's "It's Still Rock and Roll to Me" (ABABCABCAB).

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/composition/sound-painting/index.html b/theory/composition/sound-painting/index.html index 7d22b44f46..8f9f27751c 100644 --- a/theory/composition/sound-painting/index.html +++ b/theory/composition/sound-painting/index.html @@ -6,13 +6,13 @@ Sound painting | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Sound painting
Sign language for live music composition

Introduction

Soundpainting is the universal multidisciplinary live composing sign language for musicians, actors, dancers, and visual Artists. Presently (2023) the language comprises more than 1500 gestures that are signed by the Soundpainter (composer) to indicate the type of material desired of the performers. The creation of the composition is realized, by the Soundpainter, through the parameters of each set of signed gestures. The Soundpainting language was created by Walter Thompson in Woodstock, New York in 1974.

Developing the creative mind

Soundpainting is an essential method for engaging students of all ages, ability levels, and art forms in the creative process. Unlike learning to create within a single style, Soundpainting develops the creative voices of students through an array of structural parameters allowing individual choice and stylistic parameters. Using the composer, or “Soundpainter,” as teacher, the innate creativity of students is drawn out and developed constructively by way of the gestural choices of the Soundpainter, enabling each individual, each group, to express their own character in an experiential learning format.

Analysis

The Soundpainter (the composer) standing in front (usually) of the group communicates a series of signs using hand and body gestures indicating specific and/or aleatoric material to be performed by the group. The Soundpainter develops the responses of the performers, molding and shaping them into the composition then signs another series of gestures, a phrase, and continues in this process of composing the piece.

The Soundpainter composes in real time utilizing the gestures to create the composition in any way they desire. The Soundpainter sometimes knows what he/she will receive from the performers and sometimes does not know what he/she will receive – the elements of specificity and chance. The Soundpainter composes with what happens in the moment, whether expected or not. The ability to compose with what happens in the moment, in real time, is what is required in order to attain a high level of fluency with the Soundpainting language.

The gestures of the Soundpainting language are signed using the syntax of Who, What, How and When. There are many types of gestures, some indicating specific material to be performed as well as others indicating specific styles, genres, aleatoric concepts, improvisation, disciplines, stage positions, costumes, props, and many others.

on stage

The Structure of Soundpainting

The Soundpainting gestures are grouped in two basic categories: Sculpting gestures and Function signals.

Sculpting gestures indicate What type of material and How it is to be performed and Function signals indicate Who performs and When to begin performing. Who, What, How, and When comprise the Soundpainting syntax. Note: The How gestures are not always employed. The Soundpainter often signs a phrase leaving out a How gesture. For example: Whole Group, Long Tone, Play. If you sign your phrase without a How gesture, then it is the performers choice in deciding the dynamics and quality of the material.

The Soundpainting syntax Who, What, How, When and the two basic categories Sculpting Gestures and Function Signals are further broken down into six subcategories: Identifiers, Content, Modifiers, Go gestures, Modes, and Palettes.

  1. Identifiers are in the Function category and are Who gestures such as Whole Group, Woodwinds, Brass, Group 1, Rest of the Group, etc.

  2. Content gestures are in the Sculpting category and identify What type of material is to be performed such as Pointillism, Minimalism, Long Tone, Play Can’t Play etc.

  3. Modifiers are in the Sculpting category and are How gestures such as Volume Fader and Tempo Fader.

  4. Go gestures are in the Function category and indicate When to enter or exit the composition and in some cases when to exit Content such as Snapshot or Launch Mode.

  5. Modes are in the Sculpting category and are Content gestures embodying specific performance parameters. Scanning, Point to Point, and Launch Mode are several examples of Modes.

  6. Palettes are in the Sculpting category and are primarily Content gestures identifying composed and/or rehearsed material

use of sound painting

Three Rates of Development

Certain gestures such as Point to Point, Scanning, Play Can’t Play, Relate To and Improvise are a few of the Content gestures that include parameters requiring specific rates of material development.

Rate 1: The performer develops their material in such a way that one minute later there would still be a relationship to their original idea.

Rate 2: The rate of development of material is about twice as fast as that of Rate 1. A minute later there would only be a vague relationship to the original idea.

Rate 3: Open rate of development. The performer may develop their material at any rate of their choosing.

drawing of sound painting

Imaginary Regions

There are four Imaginary Regions the Soundpainter utilizes when signing gestures.

  1. The Neutral position: The Neutral position is the place on stage where the Soundpainter’s body indicates silence and/or stillness. It is where the Soundpainter prepares the phrase for initiation.

  2. The Box: An imaginary space just in front of the Soundpainters Neutral position where phrases are initiated – the place of action. The Box is approximately 2 meters (6 feet) long and one meter wide. Important: Who, What, and How (sometimes) gestures are prepared out of the Box and then the Soundpainter steps into the Box initiating the phrase with a Go gesture. For example: Whole Group (out of the Box), Long Tone (out of the Box), Volume Fader (medium) (out of the Box), Play (in the Box). Important Note: Modifying Gestures such as Volume Fader and Tempo Fader can either be prepared out of the Box, then initiated with a Go gesture or, may be used in real time by stepping into the Box and signing the gesture for an immediate response from the performers.

  3. The Imaginary Staff: An imaginary vertical field 1 and ½ meters (3 ½ feet) just in front of the Soundpainter that indicates low to high pitch range with sound and slow to fast movement with certain gestures such as a Long Tone. Note: The name Imaginary Staff is derived from music language. It is related to the music staff, which is a set of five parallel lines with spaces between them, on which notes are written to indicate their pitch.

  4. The Imaginary Stage: A horizontal field (like a small square table top) approximately ¾ of a meter for each side (3/4 of a yard squared) at waist height positioned just in front of the Soundpainter. The Imaginary Stage is the region in which the Soundpainter indicates movement directions on the stage – where the movement will travel to and from. Such gestures as Directions and Space Fader are both signed on the Imaginary Stage.

Walter Thompson

Walter Thompson

Soundpainter, Composer, Woodwinds, Piano, Percussion, Educator

Walter Thompson has achieved international recognition as a composer and for the creation of Soundpainting, the universal multidisciplinary live composing sign language. Thompson has composed Soundpaintings with contemporary orchestras, dance companies, theatre ensembles and multidisciplinary groups in United States, Europe and South America.

In 1974, after attending Berklee School of Music, Walter Thompson moved to Woodstock and began an association with the Creative Music Studio. While there, he studied composition and woodwinds with Anthony Braxton and began to develop his interest in using hand and body gestures as a way to create real-time compositions. Beginning as a tool to help shape the direction of a performance, it has evolved to become a universal composing language for composers and artists off all disciplines and abilities.

The language continues to be developed through Thompson’s performances, international think tanks, and the contributions of a wide range of artists and educators. Soundpainting is now being used both professionally and in education in more than 35 countries around the world including; the United States, France, Canada, Australia, Czech Republic, China, Germany, Spain, Norway, Denmark, Sweden, Finland, Italy, Japan, South Africa, Brazil, Uruguay, Montenegro, Guadeloupe, Argentina, Kazakhstan, Mexico, Nigeria, Switzerland, Turkey, and the Netherlands.

WT on stage

Thompson has composed Soundpaintings with contemporary orchestras, dance companies, theatre ensembles and multidisciplinary groups in many cities, including Barcelona, Paris, New York, Chicago, Los Angeles, Boston, Oslo, Berlin, Bergen, Lucerne, Copenhagen, and Reykjavik, among others, and has taught Soundpainting at the Paris Conservatoire; Grieg Academy, Bergen, Norway; Iceland Academy of the Arts; Eastman School of Music; University of California San Diego; University of Michigan; University of Iowa; Oberlin College-Conservatory of Music; and New York University, among many others. Thompson is founder of and Soundpainter for The Walter Thompson Orchestra founded in 1984 and based in New York City.

In 2002, Premis FAD Sebastià Gasch d’Arts Parateatrals awarded Thompson the prestigious “Aplaudiment” for his work with Soundpainting in Barcelona, Spain. He has also received awards from the National Endowment for the Arts, Meet the Composer, the Mary Flagler Cary Charitable Trust, ASCAP, Rockefeller Foundation, Mid Atlantic Arts Foundation, New York State Council on the Arts, and the Jerome Foundation.

A New Approach In Music Education Improving Creativity: Soundpainting

Common characteristics of Orff, Kodaly and Dalcrose music education approaches are not only that they are the education methods improving the creativity but it is also that they gain aimed behaviours in dramatization, improve musical skills and ensure adaption into social environment thanks to music, acquire mental skills such as motivation, attention and self-confidence. Soundpainting is the universal live composing language created for musicians, dancers, actors, poets and visual artists working in their improvised environment. Soundpainting, a performance art based on improvisation, has started to be used in education in recent years. Just like other music education methods, education of Soundpainting is quite an important music education approach in terms of development in the creativity of individuals, their musical and mental skills. With this study, it has been tried to emphasize the Soundpainting's common points with other music education approaches by providing information about Soundpainting. Within this study, it is aimed at contributing to music education and teaching as a new approach. This research is one of the very few studies, which carried out in the fields of Soundpainting. Therefore, it is important in terms of its contribution to the both education and Soundpainting fields. This research is descriptive research and data were obtained by literature review. At the end of the research, it was emerged that Soundpainting has common ground with the other music education approaches and it could be used in music education. Read more

  • A New Approach In Music Education Improving Creativity: Soundpainting Download PDF
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/composition/texture/index.html b/theory/composition/texture/index.html index 1bed1524f2..bea76b7d9b 100644 --- a/theory/composition/texture/index.html +++ b/theory/composition/texture/index.html @@ -6,13 +6,13 @@ Texture | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo

Texture

In music, texture is how the tempo, melodic, and harmonic materials are combined in a musical composition, determining the overall quality of the sound in a piece. The texture is often described in regard to the density, or thickness, and range, or width, between lowest and highest pitches, in relative terms as well as more specifically distinguished according to the number of voices, or parts, and the relationship between these voices. For example, a thick texture contains many 'layers' of instruments. One of these layers could be a string section or another brass. The thickness also is changed by the amount and the richness of the instruments playing the piece. The thickness varies from light to thick. A piece's texture may be changed by the number and character of parts playing at once, the timbre of the instruments or voices playing these parts and the harmony, tempo, and rhythms used. The types categorized by number and relationship of parts are analyzed and determined through the labeling of primary textural elements: primary melody (PM), secondary melody (SM), parallel supporting melody (PSM), static support (SS), harmonic support (HS), rhythmic support (RS), and harmonic and rhythmic support (HRS).

Common types

In musical terms, particularly in the fields of music history and music analysis, some common terms for different types of texture are:

  • Monophonic - Monophonic texture includes a single melodic line with no accompaniment.PSMs often double or parallel the PM they support.
  • Biphonic - Two distinct lines, the lower sustaining a drone (constant pitch) while the other line creates a more elaborate melody above it. Pedal tones or ostinati would be an example of a SS. It is generally considered to be a type of polyphony. Pedal tone in Bach's Prelude No. 6 in D minor, BWV 851, from The Well-Tempered Clavier, Book I, mm. 1–2. All pedal tone notes are consonant except for the last three of the first measure.
  • Polyphonic or Counterpoint or Contrapuntal - Multiple melodic voices which are to a considerable extent independent from or in imitation with one another. Characteristic texture of the Renaissance music, also prevalent during the Baroque period. Polyphonic textures may contain several PMs.
  • Homophonic - The most common texture in Western music: melody and accompaniment. Multiple voices of which one, the melody, stands out prominently and the others form a background of harmonic accompaniment. If all the parts have much the same rhythm, the homophonic texture can also be described as homorhythmic. Characteristic texture of the Classical period and continued to predominate in Romantic music while in the 20th century, "popular music is nearly all homophonic," and, "much of jazz is also" though, "the simultaneous improvisations of some jazz musicians creates a true polyphony". Homophonic textures usually contain only one PM. HS and RS are often combined, thus labeled HRS.
  • Homorhythmic - Multiple voices with similar rhythmic material in all parts. Also known as "chordal". May be considered a condition of homophony or distinguished from it.
  • Heterophonic - Two or more voices simultaneously performing variations of the same melody.
  • Silence - No sound at all or the absence of intended sound

Many classical pieces feature different kinds of texture within a short space of time. An example is the Scherzo from Schubert’s piano sonata in B major, D575. The first four bars are monophonic, with both hands performing the same melody an octave apart. Bars 5–10 are homophonic, with all voices coinciding rhythmically.Bars 11–20 are polyphonic. There are three parts, the top two moving in parallel (interval of a tenth). The lowest part imitates the rhythm of the upper two at the distance of three beats. The passage climaxes abruptly with a bar’s silence.

After the silence, the polyphonic texture expands from three to four independent parts moving simultaneously in bars 21–24. The upper two parts are imitative, the lowest part consists of a repeated note (pedal point) and the remaining part weaves an independent melodic line. The final four bars revert to homophony, bringing the section to a close.

Additional types

Although in music instruction certain styles or repertoires of music are often identified with one of these descriptions this is basically added music (for example, Gregorian chant is described as monophonic, Bach Chorales are described as homophonic and fugues as polyphonic), many composers use more than one type of texture in the same piece of music.

A simultaneity is more than one complete musical texture occurring at the same time, rather than in succession.

A more recent type of texture first used by György Ligeti is micropolyphony. Other textures include polythematic, polyrhythmic, onomatopoeic, compound, and mixed or composite textures.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/harmony/chord-scale/index.html b/theory/harmony/chord-scale/index.html index b213e8e299..703e493107 100644 --- a/theory/harmony/chord-scale/index.html +++ b/theory/harmony/chord-scale/index.html @@ -6,13 +6,13 @@ Chord-scale system | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Chord-scale system
Harmony oragnization using different scales for the sounding chord

The chord-scale system is a method of matching, from a list of possible chords, a list of possible scales. The system has been widely used since the 1970s and is "generally accepted in the jazz world today".

However, the majority of older players used the chord tone/chord arpeggio method. The system is an example of the difference between the treatment of dissonance in jazz and classical harmony: "Classical treats all notes that don't belong to the chord...as potential dissonances to be resolved...Non-classical harmony just tells you which note in the scale to [potentially] avoid..., meaning that all the others are okay".

The chord-scale system may be compared with other common methods of improvisation, first, the older traditional chord tone/chord arpeggio method, and where one scale on one root note is used throughout all chords in a progression (for example the blues scale on A for all chords of the blues progression: A7 E7 D7). In contrast, in the chord-scale system, a different scale is used for each chord in the progression (for example Mixolydian scales on A, E, and D for chords A7, E7, and D7, respectively). Improvisation approaches may be mixed, such as using "the blues approach" for a section of a progression and using the chord-scale system for the rest. Dominant seventh chord normally paired with mixolydian scale, the fifth mode of the major scale.

The scales commonly used today consist of the seven modes of the diatonic scale, the seven modes of the melodic minor scale, the diminished scales, the whole-tone scale, and pentatonic and bebop scales. Students now typically learn as many as twenty-one scales, which may be compared with the four scales commonly used in jazz in the 1940s (major, minor, mixolydian, and blues) and the two later added by bebop (diminished and whole-tone) to the tonal resources of jazz. The corresponding scale for the C7♯11 chord, with added ninth and thirteenth tensions, is C lydian dominant, the fourth mode of the ascending melodic minor.

Originating with George Russell's Lydian Chromatic Concept of Tonal Organization (1959), the chord-scale system is now the "most widely used method for teaching jazz improvisation in college". This approach is found in instructional books including Jerry Bergonzi's Inside Improvisation series and characterized by the highly influential Play-A-Long series by Jamey Aebersold. Aebersold's materials, and their orientation to learning by applying theory over backing tracks, also provided the first known publication of the blues scale in the 1970 revision of Volume 1 There are differences of approach within the system. For example, Russell associated the C major chord with the lydian scale, while teachers including John Mehegan, David Baker, and Mark Levine teach the major scale as the best match for a C major chord.

Miles Davis's Lydian Chromatic Concept-influenced first modal jazz album Kind of Blue, is often given as an example of chord-scale relationships in practice.

The chord-scale system provides familiarity with typical chord progressions, technical facility from practicing scales and chord arpeggios, and generally succeeds in reducing "clams", or notes heard as mistakes (through providing note-choice possibilities for the chords of progressions), and building "chops", or virtuosity.

Disadvantages include the exclusion of non-chord tones characteristic of bop and free styles, the "in-between" sounds featured in the blues, and consideration of directionality created between the interaction of a solo and a chord progression: "The disadvantages of this system may become clear when students begin to question why their own playing does not sound like such outstanding linear-oriented players as Charlie Parker, Sonny Stitt or Johnny Griffin (or, for that matter, the freer jazz stylists)":

The chord-scale method's 'vertical' approach...is 'static,' offering little assistance in generating musical direction through the movement of chords. Hence the importance of knowing the older chord tone approach. But...Swing- and bop-era songforms operate teleologically with regard to harmony. Highly regarded soloists in those styles typically imply the movements of chords...either by creating lines that voice-lead smoothly from one chord to another or by confounding the harmony pull through anticipating or delaying harmonic resolution.

Essential considerations of a style such as Charlie Parker's, including "rhythm, phrase shape and length, dynamics, and tone color," as well as "passing tones, appoggiatura, and 'blue notes'" are unaddressed. This appears to have led educators to emphasize a specific repertoire of pieces most appropriate to the chord-scale system, such as John Coltrane's "Giant Steps", while excluding others, such as Coltrane's later styles of composition, and producing generations of "pattern" players among college-educated musicians.

https://en.wikipedia.org/wiki/Avoid_note

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/harmony/index.html b/theory/harmony/index.html index 1b1a003659..750b3ed6be 100644 --- a/theory/harmony/index.html +++ b/theory/harmony/index.html @@ -6,13 +6,13 @@ Harmony | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Harmony
Chord progressions and accompaniment

What is Harmony?

May two or more scales Sound nice simultaneously? Or how to Transition from one key to another? Let's explore all the possible Harmonic movements in different frames like Chord-scale system or the Chord and nonchord tones approach

Harmonic rhythm

In music theory, harmonic rhythm, also known as harmonic tempo, is the rate at which the chords change (or progress) in a musical composition, in relation to the rate of notes. Thus a passage in common time with a stream of sixteenth notes and chord changes every measure has a slow harmonic rhythm and a fast surface or "musical" rhythm (16 notes per chord change), while a piece with a trickle of half notes and chord changes twice a measure has a fast harmonic rhythm and a slow surface rhythm (1 note per chord change). Harmonic rhythm may be described as strong or weak.

According to William Russo harmonic rhythm is, "the duration of each different chord...in a succession of chords." According to Joseph Swain (2002 p. 4) harmonic rhythm, "is simply that perception of rhythm that depends on changes in aspects of harmony." According to Walter Piston (1944), "the rhythmic life contributed to music by means of the underlying changes of harmony. The pattern of the harmonic rhythm of a given piece of music, derived by noting the root changes as they occur, reveals important and distinctive features affecting the style and texture."

Strong harmonic rhythm is characterized by strong root progressions and emphasis of root positions, weak contrapuntal bass motion, strong rhythmic placement in the measure (especially downbeat), and relatively longer duration.

"The 'fastness' or 'slowness' of harmonic rhythm is not absolute, but relative,"[self-published source] and thus analysts compare the overall pace of harmonic rhythm from one piece to another, or the amount of variation of harmonic rhythm within a piece. For example, a key stylistic difference between Baroque music and Classical-period music is that the latter exhibits much more variety of harmonic rhythm, even though the harmony itself is less complex.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/harmony/modal/index.html b/theory/harmony/modal/index.html index 58964753a7..d51ce94095 100644 --- a/theory/harmony/modal/index.html +++ b/theory/harmony/modal/index.html @@ -6,13 +6,13 @@ Modality | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Modality
Modal harmony study

Introduction

The vast majority of music written in the last few centuries has been ‘tonal’. This is the type of music we are all used to hearing day to day. However, in the 1950’s Jazz musicians began feeling restricted by ‘tonality’ and started experimenting with other ways of structuring harmony (i.e. chords).

From Tonality (which encompasses your more traditional Jazz all the way through to Bebop, Hard-bop and Cool Jazz) Jazz musicians moved to Modality (Modal Jazz) and Atonality (Free Jazz – though Free Jazz is NOT necessarily atonal).

In this lesson we’re going to start with the difference between Tonal Harmony vs Modal Harmony.

Just as a semantic aside, when I say ‘modal harmony’ I am referring to the modern meaning of the term – that is Miles Davis/Kind of Blue/Modal Jazz Modal Harmony – and NOT Medieval music or Gregorian Modes.

Modality

Modality has the following features:

  • It uses all modes (Ionian, Dorian, Phrygian, etc.)
  • It does NOT use a Functional Harmony
  • It has a Tonal Centre (i.e. root note)

Modal songs can be written in any mode (not just major and minor), so for example it can be in the key of D Dorian.

In Modal Harmony, chords DO NOT have a function, so in a sense: all chords are equal. A chord DOES NOT need to resolve to any other chord. But there is still a Tonal Centre – for example the note D in the key of D Dorian (i.e. the root note).

But because there is no ‘functional harmony’ the chords DO NOT feel like they need to resolve to the tonic or Dm7 chord. Each chord just floats there by itself as a standalone entity.

In order to achieve this you have to avoid playing the diatonic tritone – because this tritone interval creates a dissonance which sounds like a Dominant Chord and feels like it wants to resolve to the Tonic Chord, thus turning the music tonal.

So it’s a delicate balance. You have to make D sound like the ‘tonal centre’ but you can’t do it by using the function of the diatonic chords. So you:

  • CAN’T use a dominant chord to establish the tonic (i.e. A7 to Dm)
  • CAN use Pedal point (Repeat Root Note)
  • CAN use Ostinato (Repetitive pattern)

Because the majority of music we hear (pop, rock, etc) is tonal and chords are usually built out of stacked 3rds, we’ve learned to associate chords built in thirds with tonal harmony. The way to get around this problem is to build chord with 4ths – that is, use Quartal Chords. By building chords in 4ths, you break that tonal anticipation of the Dominant chord wanting to move to the tonic and you create a more ambiguous, vague and modal sound.

Because modal chords don’t have ‘functions’, they don’t have to go anywhere (i.e. they don’t have to resolve to the tonic). They just float around. So modal songs usually don’t have chord progressions. They just state the key/scale/mode the song is in and it’s your job to play any diatonic chords (i.e. Dm7, Em7, FMaj7, G7, Am7, Bø7, & CMaj7 in the key of D Dorian) and make your own ‘chord progression’.

So then when playing a Modal Song you have to:

  • Emphasis the root note in the bass (to reinforce the tonal centre); and
  • Avoid playing the diatonic tritone (to avoid tonal sound)
    • DO NOT play Bø7
    • Play G Triad (instead of G7) to avoid the tritone interval
  • Move around the diatonic chords at random but smoothly (generally stepwise)
  • Keep the chord movements sparse and simple – not too busy, not too many chords, nice and boring. The chords are there just to create a harmonic underlay.
  • Use Quartal Chords (to avoid tonal sound)

Modal harmony creates a more ambiguous and vague sound and is now considered much more ‘modern’ than traditional tonal harmony. Modal Harmony completely changed the way people think about Jazz and improvisation. It gave the soloist greater freedom and choice in his or her solo (I’ll have much more to say about this in the next lesson).

Tonal Harmony vs Modal Harmony Summary

And that, in a nutshell, is the difference between Tonal Harmony vs Modal Harmony. So, in summary:

TonalityModality
Uses Major & minor keysUses all modes
Functional HarmonyNo Functional Harmony
Tonal Centre (root note)Tonal Centre

Tonal Harmony vs Modal Harmony

Have a Listen to

  • So What ~ Miles Davis
  • Milestones ~ Miles Davis
  • My Favorite Things ~ John Coltrane
  • Impressions ~ John Coltrane
  • Little Sunflower ~ Freddie Hubbard
  • Footprints ~ Wayne Shorter
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/harmony/modulation/index.html b/theory/harmony/modulation/index.html index 6c20883863..288180c097 100644 --- a/theory/harmony/modulation/index.html +++ b/theory/harmony/modulation/index.html @@ -6,13 +6,13 @@ Modulation | Chromatone.center - + - - - - + + + + @@ -51,7 +51,7 @@ | | | Am Em Bm

By using the relative minor keys one can find the specific key that the key can modulate into.

Many musicians use the circle of fifths to find these keys and make similar charts to help with the modulation.

Significance

In certain classical music forms, a modulation can have structural significance. In sonata form, for example, a modulation separates the first subject from the second subject. Frequent changes of key characterize the development section of sonatas. Moving to the subdominant is a standard practice in the trio section of a march in a major key, while a minor march will typically move to the relative major.

Changes of key may also represent changes in mood. In many genres of music, moving from a lower key to a higher often indicates an increase in energy.

Change of key is not possible in the full chromatic or the twelve tone technique, as the modulatory space is completely filled; i.e., if every pitch is equal and ubiquitous there is nowhere else to go. Thus other differentiating methods are used, most importantly ordering and permutation. However, certain pitch formations may be used as a "tonic" or home area.

Other types

Though modulation generally refers to changes of key, any parameter may be modulated, particularly in music of the 20th and 21st century. Metric modulation (known also as tempo modulation) is the most common, while timbral modulation (gradual changes in tone color), and spatial modulation (changing the location from which sound occurs) are also used.

Modulation may also occur from a single tonality to a polytonality, often by beginning with a duplicated tonic chord and modulating the chords in contrary motion until the desired polytonality is reached.

Chromatic mediant changes

https://youtu.be/mjFACmJ5ON8

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/harmony/movement/index.html b/theory/harmony/movement/index.html index 325d056459..d67c881da8 100644 --- a/theory/harmony/movement/index.html +++ b/theory/harmony/movement/index.html @@ -6,13 +6,13 @@ Harmonic movements | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Harmonic movements
Ways to move chords

Descending fifths progressions

Discusses chord progressions whose roots move by descending fifth, especially as they appear in Jazz standards.

Chord substitutions

In music theory, chord substitution is the technique of using a chord in place of another in a progression of chords, or a chord progression. Much of the European classical repertoire and the vast majority of blues, jazz and rock music songs are based on chord progressions. "A chord substitution occurs when a chord is replaced by another that is made to function like the original. Usually substituted chords possess two pitches in common with the triad that they are replacing."

A chord progression may be repeated to form a song or tune. Composers, songwriters and arrangers have developed a number of ways to add variety to a repeated chord progression. There are many ways to add variety to music, including changing the dynamics (loudness and softness).

The diminished triad can be used to substitute for the dominant seventh chord. In major scales, a diminished triad occurs only on the seventh scale degree. For instance, in the key of C, this is a B diminished triad (B, D, F). Since the triad is built on the seventh scale degree, it is also called the leading-tone triad. This chord has a dominant function. Unlike the dominant triad or dominant seventh, the leading-tone triad functions as a prolongational chord rather than a structural chord since the strong root motion by fifth is absent.

Use in blues, jazz and rock music

Jazz musicians often substitute chords in the original progression to create variety and add interest to a piece.

The substitute chord must have some harmonic quality and degree of function in common with the original chord, and often only differs by one or two notes. Scott DeVeaux describes a "penchant in modern jazz for harmonic substitution."

One simple type of chord substitution is to replace a given chord with a chord that has the same function. Thus, in the simple chord progression I–ii–V–I, which in the key of C major would be the chords C–DM–G–C, a musician could replace the I chords with "tonic substitutes". The most widely used substitutes are iii and vi (in a Major key), which in this case would be the chords "e minor" and "a minor".

This simple chord progression with tonic substitutes could become iii–ii–V–vi or, with chord names, "e minor–d minor–G Major–a minor". Given the overlap in notes between the original tonic chords and the chord substitutes (for example, C major is the notes "C, E, and G", and "e minor" is the notes "E, G and B"), the melody is likely to be supported by the new chords. The musician typically uses her/his "ear" (sense of the musical style and harmonic suitability) to determine if the chord substitution works with the melody.

There are also subdominant substitutes and dominant substitutes. For subdominant chords, in the key of C major, in the chord progression C major/F major/G7/C major (a simple I /IV/V7/I progression), the notes of the subdominant chord, F major, are "F, A, and C". As such, a performer or arranger who wished to add variety to the song could try using a chord substitution for a repetition of this progression. One simple chord substitute for IV is the "ii" chord, a minor chord built on the second scale degree. In the key of C major, the "ii" chord is "d minor", which is the notes "D, F, and A". As there are two shared notes between the IV and "ii" chords, a melody that works well over IV is likely to be supported by the "ii" chord.

Types

The ii–V substitution is when a chord or each chord in a progression is preceded by its supertonic (ii7) and dominant (V7), or simply its dominant. For example, a C major chord would be preceded by Dm7 and G7. Since secondary dominant chords are often inserted between the chords of a progression rather than replacing one, this may be considered as 'addition' rather than 'substitution'.

Chord quality alteration is when the quality of a chord is changed, and the new chord of similar root and construction, but with one pitch different, is substituted for the original chord, for example the minor sixth for the major seventh, or the major seventh for the minor.

The diminished seventh chord is often used in place of a dominant 7th chord. In the key of A Major the V chord, E dominant 7th (which is made up the notes E, G♯, B, and D) can be replaced with a G♯ diminished seventh chord (G♯, B, D, F). If the diminished seventh chord (G♯) is followed by the I chord (A), this creates chromatic (stepwise semitonal) root movement, which can add musical interest in a song mainly constructed around the interval of the fourth or fifth. The diminished seventh chord on the sharpened second scale degree, ♯IIo7, may be used as a substitute dominant, for example in C: ♯IIo7 = D♯–F♯–A–C♮ ↔ B–D♯–F♯–A = VII7, which creates the chromatic root movement D – D♭ – C. Contrast with the original ii–V–I progression in C, which creates the leading-tone B – C.

In a tritone substitution, the substitute chord only differs slightly from the original chord. If the original chord in a song is G7 (G, B, D, F), the tritone substitution would be D♭7 (D♭, F, A♭, C♭). Note that the 3rd and 7th notes of the G7 chord are found in the D♭7 chord (albeit with a change of role). The tritone substitution is widely used for V7 chords in the popular jazz chord progression "ii-V-I". In the key of C, this progression is "d minor, G7, C Major". With tritone substitution, this progression would become "d minor, D♭7, C Major," which contains chromatic root movement. When performed by the bass player, this chromatic root movement creates a smooth-sounding progression. "Tritone substitutions and altered dominants are nearly identical...Good improvisers will liberally sprinkle their solos with both devices. A simple comparison of the notes generally used with the given chord [notation] and the notes used in tri-tone substitution or altered dominants will reveal a rather stunning contrast, and could cause the unknowledgeable analyzer to suspect errors. ...(the distinction between the two [tri-tone substitution and altered dominant] is usually a moot point)."

Tonic substitution is the use of chords that sound similar to the tonic chord (or I chord) in place of the tonic. In major keys, the chords iii and vi are often substituted for the I chord, to add interest. In the key of C major, the I major 7 chord is "C, E, G, B," the iii chord ("III–7") is E minor 7 ("E, G, B, D") and the vi minor 7 chord is A minor 7 ("A, C, E, G"). Both of the tonic substitute chords use notes from the tonic chord, which means that they usually support a melody originally designed for the tonic (I) chord.

The relative major/minor substitution shares two common tones and is so called because it involves the relation between major and minor keys with the same key signatures, such as C major and A minor.

The augmented triad on the fifth scale degree may be used as a substitute dominant, and may also be considered as ♭III+, for example in C: V+ = G–B–D♯, ♭III+ = E♭–G–B♮, and since in every key: D♯ = E♭. "Backdoor ii–V" in C: IV7–♭VII7–I. Chord symbols for the conventional ii–V progression are above the staff, with the chord symbols for the substitution in parentheses.

The chord a minor third above, ♭VII7, may be substituted for the dominant, and may be preceded by its ii: iv7. Due to common use the two chords of the backdoor progression (IV7-♭VII7) may be substituted for the dominant chord. In C major the dominant would be G7: GBDF, sharing two common tones with B♭7: B♭DFA♭. A♭ and F serve as upper leading-tones back to G and E, respectively, rather than B♮ and F serving as the lower and upper leading-tones to C and E.

Application

In jazz, chord substitutions can be applied by composers, arrangers, or performers. Composers may use chord substitutions when they are basing a new jazz tune on an existing chord progression from an old jazz standard or a song from a musical; arrangers for a big band or jazz orchestra may use chord substitutions in their arrangement of a tune, to add harmonic interest or give a different "feel" to a song; and instrumentalists may use chord substitutions in their performance of a song. Given that many jazz songs have repetition of internal sections, such as with a 32-bar AABA song form, performers or arrangers may use chord substitution within the A sections to add variety to the song.

Jazz "comping" instruments (piano, guitar, organ, vibes) often use chord substitution to add harmonic interest to a jazz tune with slow harmonic change. For example, the jazz standard chord progression of "rhythm changes" uses a simple eight bar chord progression in the bridge with the chords III7, VI7, II7, V7; in the key of B♭, these chords are D7, G7, C7, and F7 (each for two bars). A jazz guitarist might add a "ii–V7" aspect to each chord, which would make the progression: "a minor, D7, d minor, G7, g minor, C7, c minor, F7. Alternatively, tritone substitutions could be applied to the progression.

Note that both the back door progression and ♯IIo7, when substituted for V7, introduces notes that seem wrong or anachronistic to the V7 chord (such as the fourth and the major seventh). They work only because the given instances of those chords are familiar to the ear; hence when an improviser uses them against the V7, the listener's ear hears the given precedents for the event, instead of the conflict with the V7. — Coker (1997), p. 82

Theoretically, any chord can substitute for any other chord, as long as the new chord supports the melody. In practice, though, only a few options sound musically and stylistically appropriate to a given melody. This technique is used in music such as bebop or fusion to provide more sophisticated harmony, or to create a new-sounding re-harmonization of an old jazz standard.

Jazz soloists and improvisers also use chord substitutions to help them add interest to their improvised solos. Jazz soloing instruments that can play chords, such as jazz guitar, piano, and organ players may use substitute chords to develop a chord solo over an existing jazz tune with slow-moving harmonies. Also, jazz improvisers may use chord substitution as a mental framework to help them create more interesting-sounding solos. For example, a saxophonist playing an improvised solo over the basic "rhythm changes" bridge (in B♭, this is "D7, G7, C7, and F7", each for two bars) might think of a more complex progression that uses substitute chords (e.g., "a minor, D7, d minor, G7, g minor, C7, c minor, F7). In doing so, this implies the substitute chords over the original progression, which adds interest for listeners.

Tritone substitution

The tritone substitution is a common chord substitution found in both jazz and classical music. Where jazz is concerned, it was the precursor to more complex substitution patterns like Coltrane changes. Tritone substitutions are sometimes used in improvisation—often to create tension during a solo. Though examples of the tritone substitution, known in the classical world as an augmented sixth chord, can be found extensively in classical music since the Renaissance period, they were not heard until much later in jazz by musicians such as Dizzy Gillespie and Charlie Parker in the 1940s, as well as Duke Ellington, Art Tatum, Coleman Hawkins, Roy Eldridge and Benny Goodman.

The tritone substitution can be performed by exchanging a dominant seventh chord for another dominant seven chord which is a tritone away from it. For example, in the key of C major one can use D♭7 instead of G7. (D♭ is a tritone away from G).

In tonal music, a conventional perfect cadence consists of a dominant seventh chord followed by a tonic chord. For example, in the key of C major, the chord of G7 is followed by a chord of C. In order to execute a tritone substitution, common variant of this progression, one would replace the dominant seventh chord with a dominant chord that has its root a tritone away from the original.

Franz Schubert's String Quintet in C major concludes with a dramatic final cadence that uses the third of the above progressions. The conventional G7 chord is replaced in bars 3 and 4 of the following example with a D♭7 chord, with a diminished fifth (G♮ as the enharmonic equivalent of Adouble flat); a chord otherwise known as a 'French sixth'.

Coltrane changes

Coltrane changes (Coltrane Matrix or cycle, also known as chromatic third relations and multi-tonic changes) are a harmonic progression variation using substitute chords over common jazz chord progressions. These substitution patterns were first demonstrated by jazz musician John Coltrane on the albums Bags & Trane (on the track "Three Little Words") and Cannonball Adderley Quintet in Chicago (on "Limehouse Blues"). Coltrane continued his explorations on the 1959 album Giant Steps and expanded on the substitution cycle in his compositions "Giant Steps" and "Countdown", the latter of which is a reharmonized version of Eddie Vinson's "Tune Up". The Coltrane changes are a standard advanced harmonic substitution used in jazz improvisation.

Function

The changes serve as a pattern of chord substitutions for the ii–V–I progression (supertonic–dominant–tonic) and are noted for the tonally unusual root movement by major thirds (either up or down by a major third interval), creating an augmented triad. Root movement by thirds is unusual in jazz, as the norm is circle of fifths root movement, such as ii-V-I, which in the key of C is D dorian, G7 and C major.

Influences

David Demsey, saxophonist and coordinator of jazz studies at William Paterson University, cites a number of influences leading to Coltrane's development of these changes. After Coltrane's death it was proposed that his "preoccupation with... chromatic third-relations" was inspired by religion or spirituality, with three equal key areas having numerological significance representing a "magic triangle", or, "the trinity, God, or unity." However, Demsey shows that though this meaning was of some importance, third relationships were much more "earthly", or rather historical, in origin. Mention should be made of his interests in Indian ragas during the early 1960s, the Trimurti of Vishnu, Brahma and Shiva may well have been an inherent reference in his chromatic third relations, tritone substitutes, and so on. In playing that style, Coltrane found it "easy to apply the harmonic ideas I had... I started experimenting because I was striving for more individual development." He developed his sheets of sound style while playing with Miles Davis and with pianist Thelonious Monk during this period. In terms of the origin of this “sheets of sound” technique, saxophonist Odean Pope considers pianist Hasaan Ibn Ali a major influence on Coltrane and his development of this signature style.

Coltrane studied harmony with Dennis Sandole and at the Granoff School of Music in Philadelphia. He explored contemporary techniques and theory. He also studied the Thesaurus of Scales and Melodic Patterns by Nicolas Slonimsky (1947).

The first appearance of the "Coltrane changes" appear in the verse to the standard "Till the Clouds Roll By" by Jerome Kern. The bridge of the Richard Rodgers song and jazz standard "Have You Met Miss Jones?" (1937) predated Tadd Dameron's "Lady Bird", after which Coltrane named his "Lazy Bird", by incorporating modulation by major third(s). (highlighted yellow below) "Giant Steps" and "Countdown" may both have taken the inspiration for their augmented tonal cycles from "Have You Met Miss Jones?".

"Have You Met Miss Jones?" B section chord progression (bridge):

│ B♭Maj7 │ A♭m7 D♭7 │ G♭Maj7 │ Em7 A7 | │ DMaj7 │ A♭m7 D♭7 │ G♭Maj7 │ Gm7 C7 │

Major thirds cycle

The harmonic use of the chromatic third relation originated in the Romantic era and may occur on any structural level, for example in chord progressions or through key changes. The standard Western chromatic scale has twelve equidistant semitones. When arranged according to the circle of fifths, it looks like this.

Precisely because of this equidistancy, the roots of these three chords can produce a destabilizing effect; if C, A♭ and E appear as the tonic pitches of three key areas on a larger level, the identity of the composition's tonal center can only be determined by the closure of the composition. — Demsey (1991)

Looking above at the marked chords from "Have You Met Miss Jones?", B♭, G♭ and D are spaced a major third apart. On the circle of fifths it appears as an equilateral triangle.

By rotating the triangle, all of the thirds cycles can be shown. Note that there are only four unique thirds cycles. This approach can be generalized; different interval cycles will appear as different polygons on the diagram.

Standard substitution

Although "Giant Steps" and "Countdown" are perhaps the most famous examples, both of these compositions use slight variants of the standard Coltrane changes (The first eight bars of "Giant Steps" uses a shortened version that does not return to the I chord, and in "Countdown" the progression begins on ii7 each time.) The standard substitution can be found in several Coltrane compositions and arrangements recorded around this time. These include: "26-2" (a reharmonization of Charlie Parker's "Confirmation"), "Satellite" (based on the standard "How High the Moon"), "Exotica" (loosely based on the harmonic form of "I Can't Get Started"), Coltrane's arrangement of "But Not for Me", and on the bridge of his arrangement of "Body and Soul".

In "Fifth House" (based on "Hot House", i.e. "What Is This Thing Called Love") the standard substitution is implied over an ostinato bass pattern with no chordal instrument instructed to play the chord changes. When Coltrane's improvisation superimposes this progression over the ostinato bass, it is easy to hear how he used this concept for his more free playing in later years.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/harmony/non-chord/index.html b/theory/harmony/non-chord/index.html index 03359e1a77..417275a3c6 100644 --- a/theory/harmony/non-chord/index.html +++ b/theory/harmony/non-chord/index.html @@ -6,13 +6,13 @@ Nonchord tones | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Nonchord tones
Notes in a piece of music or song that are not part of the chord set out by the harmonic framework

Non-chord tones

A nonchord tone (NCT), nonharmonic tone, or embellishing tone is a note in a piece of music or song that is not part of the implied or expressed chord set out by the harmonic framework. In contrast, a chord tone is a note that is a part of the functional chord (see: factor (chord)). Non-chord tones are most often discussed in the context of the common practice period of classical music, but they can be used in the analysis of other types of tonal music as well, such as Western popular music.

Nonchord tones are often categorized as accented non-chord tones and unaccented non-chord tones depending on whether the dissonance occurs on an accented or unaccented beat (or part of a beat).

Over time, some musical styles assimilated chord types outside of the common-practice style. In these chords, tones that might normally be considered nonchord tones are viewed as chord tones, such as the seventh of a minor seventh chord. For example, in 1940s-era bebop jazz, an F♯ played with a C 7 chord would be considered a chord tone if the chord were analyzed as C7(♯11). In European classical music, "[t]he greater use of dissonance from period to period as a result of the dialectic of linear/vertical forces led to gradual normalization of ninth, eleventh, and thirteenth chords [in analysis and theory]; each additional non-chord tone above the foundational triad became frozen into the chordal mass."

Theory

Chord and nonchord tones are defined by their membership (or lack of membership) in a chord: "The pitches which make up a chord are called chord-tones: any other pitches are called non-chord-tones." They are also defined by the time at which they sound: "Nonharmonic tones are pitches that sound along with a chord but are not chord pitches." For example, if an excerpt from a piece of music implies or uses a C-major chord, then the notes C, E and G are members of that chord, while any other note played at that time (e.g., notes such as F♯) is a nonchord tone. Such tones are most obvious in homophonic music but occur at least as frequently in contrapuntal music.

According to Music in Theory and Practice, "Most nonharmonic tones are dissonant and create intervals of a second, fourth or seventh", which are required to resolve to a chord tone in conventional ways. If the note fails to resolve until the next change of harmony, it may instead create a seventh chord or extended chord. While theoretically in a three-note chord, there are nine possible nonchord tones in equal temperament, in practice nonchord tones are usually in the prevailing key. Augmented and diminished intervals are also considered dissonant, and all nonharmonic tones are measured from the bass note, or lowest note sounding in the chord except in the case of nonharmonic bass tones.

Nonharmonic tones generally occur in a pattern of three pitches, of which the nonharmonic tone is the center:

Chord tone – Nonchord tone – Chord tone Preparation – Dissonance – Resolution

Nonchord tones are categorized by how they are used. The most important distinction is whether they occur on a strong or weak beat and are thus either accented or unaccented nonchord tones They are also distinguished by their direction of approach and departure and the voice or voices in which they occur and the number of notes they contain.

Unaccented

Anticipation

An anticipation (ANT) occurs when this note is approached by step and then remains the same. It is basically a note of the second chord played early.

A portamento is the late Renaissance precursor to the anticipation, though today it refers to a glissando.

Neighbor tone

A neighbor tone (NT) or auxiliary note (AUX) is a nonchord tone that passes stepwise from a chord tone directly above or below it (which frequently causes the NT to create dissonance with the chord) and resolves to the same chord tone.

In practice and analysis, neighboring tones are sometimes differentiated depending upon whether or not they are lower or higher than the chord tones surrounding them. A neighboring tone that is a step higher than the surrounding chord tones is called an upper neighboring tone or an upper auxiliary note while a neighboring tone that is a step lower than the surrounding chord tones is a lower neighboring tone or lower auxiliary note. However, following Heinrich Schenker's usage in Free Composition, some authors reserve the term "neighbor note" to the lower neighbor a half step below the main note.

The German term Nebennote is a somewhat broader category, including all nonchord tones approached from the main note by step.

Escape tone

An escape tone (ET) or echappée is a particular type of unaccented incomplete neighbor tone that is approached stepwise from a chord tone and resolved by a skip in the opposite direction back to the harmony.

Passing tone

A passing tone (PT) or passing note is a nonchord tone prepared by a chord tone a step above or below it and resolved by continuing in the same direction stepwise to the next chord tone (which is either part of the same chord or of the next chord in the harmonic progression).

Where two nonchord tones are before the resolution they are double passing tones or double passing notes.

Accented Non-Chord Tones

Passing tone

A tone that sits between two chord tones and is between them.

Neighbor tone

A neighbour tone is where you skip up or down from a note (or chord tone) and then move back to the original note.

Suspension and retardation

Endeavor, moreover, to introduce suspensions now in this voice, now in that, for it is incredible how much grace the melody acquires by this means. And every note which has a special function is rendered audible thereby. — Johann Joseph Fux (1725)

A suspension (SUS) (sometimes referred to as a syncope) occurs when the harmony shifts from one chord to another, but one or more notes of the first chord (the preparation) are either temporarily held over into or are played again against the second chord (against which they are nonchord tones called the suspension) before resolving downwards to a chord tone by step (the resolution). The whole process is called a suspension as well as the specific nonchord tone(s).

Suspensions may be further described with two numbers: (1) the interval between the suspended note and the bass note and (2) the interval between the resolution and the bass note. The most common suspensions are 4-3 suspension, 7-6 suspension, or 9-8 suspension. Note that except for the 9-8 suspensions, the numbers are typically referred to using the simple intervals, so for instance, if the intervals are actually an 11th and a 10th (the first example below), you would typically call it a 4-3 suspension. If the bass note is suspended, then the interval is calculated between the bass and the part that is most dissonant with it, often resulting in a 2-3 suspension.

Suspensions must resolve downwards. If a tied note is prepared like a suspension but resolves upwards, it is called a retardation. Common retardations include 2-3 and 7-8 retardations.

Decorated suspensions are common and consist of portamentos or double eighth notes, the second being a lower neighbor tone.

A chain of suspensions constitutes the fourth species of counterpoint; an example may be found in the second movement of Arcangelo Corelli's Christmas Concerto.

Appoggiatura

An appoggiatura (APP) is a type of accented incomplete neighbor tone approached skip-wise from one chord tone and resolved stepwise to another chord tone ("overshooting" the chord tone).

Nonharmonic bass

Nonharmonic bass notes are bass notes that are not a member of the chord below which they are written. Examples include the Elektra chord. An example of a nonharmonic bass from the third movement of Stravinsky's Symphony of Psalms.

Involving more than three notes

Changing tones

Changing tones (CT) are two successive nonharmonic tones. A chord tone steps to a nonchord tone which skips to another nonchord tone which leads by step to a chord tone, often the same chord tone. They may imply neighboring tones with a missing or implied note in the middle. Also called double neighboring tones or neighbor group.

Pedal point

Another form of nonchord tone is a pedal point or pedal tone (PD) or note, almost always the tonic or dominant, which is held through a series of chord changes. The pedal point is almost always in the lowest voice (the term originates from organ playing), but it may be in an upper voice; then it may be called an inverted pedal. It may also be between the upper and lower voices, in which case it is called an internal pedal.

Chromatic nonharmonic tone

A chromatic nonharmonic tone is a nonharmonic tone that is chromatic, or outside of the key and creates half-step motion. The use of which, especially chromatic appoggiaturas and chromatic passing tones, increased in the Romantic Period.

Outside (jazz)

In jazz improvisation, outside playing describes an approach where one plays over a scale, mode or chord that is harmonically distant from the given chord. There are several common techniques to playing outside, that include side-stepping or side-slipping, superimposition of Coltrane changes, and polytonality.

Side-slipping

The term side-slipping or side-stepping has been used to describe several similar yet distinct methods of playing outside. In one version, one plays only the five "'wrong'" non-scale notes for the given chord and none of the seven scale or three to four chord tones, given that there are twelve notes in the equal tempered scale and heptatonic scales are generally used. Another technique described as sideslipping is the addition of distant ii–V relationships, such as a half-step above the original ii–V. This increases chromatic tension as it first moves away and then towards the tonic. Lastly, side-slipping can be described as playing in a scale a half-step above or below a given chord, before resolving, creating tension and release.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/harmony/polytonality/index.html b/theory/harmony/polytonality/index.html index 8dd606ba19..ecc0bbe453 100644 --- a/theory/harmony/polytonality/index.html +++ b/theory/harmony/polytonality/index.html @@ -6,13 +6,13 @@ Polytonality | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Polytonality
The musical use of more than one key simultaneously.

Polytonality (also polyharmony) is the musical use of more than one key simultaneously. Bitonality is the use of only two different keys at the same time. Polyvalence is the use of more than one harmonic function, from the same key, at the same time.

History

In traditional music

Lithuanian traditional singing style sutartines is based on polytonality. A typical sutartines song is based on a six-bar melody, where the first three bars contains melody based on the notes of the triad of a major key (for example, in G major), and the next three bars is based on another key, always a major second higher or lower (for example, in A major). This six-bar melody is performed as a canon, and repetition starts from the fourth bar. As a result, parts are constantly singing in different tonality (key) simultaneously (in G and in A). As a traditional style, sutartines disappeared in Lithuanian villages by the first decades of the 20th century, but later became a national musical symbol of Lithuanian music.


Tribes throughout India—including the Kuravan of Kerala, the Jaunsari of Uttar Pradesh, the Gond, the Santal, and the Munda—also use bitonality, in responsorial song.

In classical music

In J. S. Bach's Clavier-Übung III, there is a two-part passage where, according to Scholes: "It will be seen that this is a canon at the fourth below; as it is a strict canon, all the intervals of the leading 'voice' are exactly imitated by the following 'voice', and since the key of the leading part is D minor modulating to G minor, that of the following part is necessarily A minor modulating to D minor. Here, then, we have a case of polytonality, but Bach has so adjusted his progressions (by the choice at the critical moment of notes common to two keys) that while the right hand is doubtless quite under the impression that the piece is in D minor, etc., and the left hand that it is in A minor, etc., the listener feels that the whole thing is homogeneous in key, though rather fluctuating from moment to moment. In other words, Bach is trying to make the best of both worlds—the homotonal one of his own day and (prophetically) the polytonal one of a couple of centuries ater."

Another early use of polytonality occurs in the classical period in the finale of Wolfgang Amadeus Mozart's composition A Musical Joke, which he deliberately ends with the violins, violas and horns playing in four discordant keys simultaneously. However, it was not featured prominently in non-programmatic contexts until the twentieth century, particularly in the work of Charles Ives (Psalm 67, c. 1898–1902), Béla Bartók (Fourteen Bagatelles, Op. 6, 1908), and Stravinsky (Petrushka, 1911). Ives claimed that he learned the technique of polytonality from his father, who taught him to sing popular songs in one key while harmonizing them in another.

Although it is only used in one section and intended to represent drunken soldiers, there is an early example of polytonality in Heinrich Ignaz Franz Biber's short composition Battalia, written in 1673.

Stravinsky's The Rite of Spring is widely credited with popularizing bitonality, and contemporary writers such as Casella (1924) describe him as progenitor of the technique: "the first work presenting polytonality in typical completeness—not merely in the guise of a more or less happy 'experiment', but responding throughout to the demands of expression—is beyond all question the grandiose Le Sacre du Printemps of Stravinsky (1913)".

Bartók's "Playsong" demonstrates easily perceivable bitonality through "the harmonic motion of each key ... [being] relatively uncomplicated and very diatonic". Here, the "duality of key" featured is A minor and C♯ minor.

Example of polytonality or extended tonality from Milhaud's Saudades do Brasil (1920), right hand in B major and left hand in G major, or both hands in extended G major.

Other polytonal composers influenced by Stravinsky include those in the French group, Les Six, particularly Darius Milhaud, as well as Americans such as Aaron Copland.

Benjamin Britten used bi- and polytonality in his operas, as well as enharmonic relationships, for example to signify the conflict between Claggart (F minor) and Billy (E major) in Billy Budd (note the shared enharmonically equivalent G♯/A♭) or to express the main character's "maladjustment" in Peter Grimes.

Polytonality and polychords

Polytonality requires the presentation of simultaneous key-centers. The term "polychord" describes chords that can be constructed by superimposing multiple familiar tonal sonorities. For example, familiar ninth, eleventh, and thirteenth chords can be built from or decomposed into separate chords:

Thus polychords do not necessarily suggest polytonality, but they may not be explained as a single tertian chord. The Petrushka chord is an example of a polychord. This is the norm in jazz, for example, which makes frequent use of "extended" and polychordal harmonies without any intended suggestion of "multiple keys."

Polyvalency

The following passage, taken from Beethoven's Piano Sonata in E♭, Op. 81a (Les Adieux), suggests clashes between tonic and dominant harmonies in the same key.

Leeuw points to Beethoven's use of the clash between tonic and dominant, such as in his Third Symphony, as polyvalency rather than bitonality, with polyvalency being, "the telescoping of diverse functions that should really occur in succession to one another".

Polymodality

Passages of music, such as Poulenc's Trois mouvements perpétuels, I., may be misinterpreted as polytonal rather than polymodal. In this case, two scales[clarification needed] are recognizable but are assimilated through the common tonic (B♭).

Polyscalarity

Polyscalarity is defined as "the simultaneous use of musical objects which clearly suggest different source-collections. Specifically in reference to Stravinsky's music, Tymoczko uses the term polyscalarity out of deference to terminological sensibilities. In other words, the term is meant to avoid any implication that the listener can perceive two keys at once. Though Tymoczko believes that polytonality is perceivable, he believes polyscalarity is better suited to describe Stravinsky's music. This term is also used as a response to Van den Toorn's analysis against polytonality. Van den Toorn, in an attempt to dismiss polytonal analysis used a monoscalar approach to analyze the music with the octatonic scale. However, Tymoczko states that this was problematic in that it does not resolve all instances of multiple interactions between scales and chords. Moreover, Tymoczko quotes Stravinsky's claim that the music of Petrouchka's second tableau was conceived "in two keys". Polyscalarity is then a term encompassing multiscalar superimpositions and cases which give a different explanation than the octatonic scale.

Challenges

Some music theorists, including Milton Babbitt and Paul Hindemith have questioned whether polytonality is a useful or meaningful notion or "viable auditory possibility". Babbitt called polytonality a "self-contradictory expression which, if it is to possess any meaning at all, can only be used as a label to designate a certain degree of expansion of the individual elements of a well-defined harmonic or voice-leading unit". Other theorists to question or reject polytonality include Allen Forte and Benjamin Boretz, who hold that the notion involves logical incoherence.

Other theorists, such as Dmitri Tymoczko, respond that the notion of "tonality" is a psychological, not a logical notion. Furthermore, Tymoczko argues that two separate key-areas can, at least at a rudimentary level, be heard at one and the same time: for example, when listening to two different pieces played by two different instruments in two areas of a room.

Octatonicism

Some critics of the notion of polytonality, such as Pieter van den Toorn, argue that the octatonic scale accounts in concrete pitch-relational terms for the qualities of "clashing", "opposition", "stasis", "polarity", and "superimposition" found in Stravinsky's music and, far from negating them, explains these qualities on a deeper level. For example, the passage from Petrushka, cited above, uses only notes drawn from the C octatonic collection C–C♯–D♯–E–F♯–G–A–A♯.

Polymodal chromaticism

In music, polymodal chromaticism is the use of any and all musical modes sharing the same tonic simultaneously or in succession and thus creating a texture involving all twelve notes of the chromatic scale (total chromatic). Alternately it is the free alteration of the other notes in a mode once its tonic has been established.

The term was coined by composer, ethnomusicologist, and pianist Béla Bartók. The technique became a means in Bartók's composition to avoid, expand, or develop major-minor tonality (i.e. common practice harmony). This approach differed from that used by Arnold Schoenberg and his followers in the Second Viennese School and later serialists.

The concept was indicated by Bartók's folk-music-derived view of each note of the chromatic scale as being "of equal value" and thus to be used "freely and independently" (autobiography) and supported by references to the conception below in his Harvard Lectures (1943). The concept may be extended to the construction of non-diatonic modes from the pitches of more than one diatonic mode such as distance models including 1:3, the alternation of semitones and minor thirds, for example C–E♭–E–G–A♭–B–C which includes both the tonic and dominant as well as "'two of the most typical degrees from both major and minor' (E and B, E♭ and A♭, respectively) Kárpáti 1975 p. 132)".

Bartók had realised that both melodic minor scales gave rise to four chromatic steps between the two scales' fifths and the rising melodic minor scale's seventh degrees when superimposed. Consequently, he started investigating if the same pattern could be established in some way in the beginning of any scales and came to realise that superimposing a Phrygian and a Lydian scale with the same tonic resulted in what looked like a chromatic scale. Bartók's twelve-tone Phrygian/Lydian polymode, however, differed from the chromatic scale as used by, for example, late-Romantic composers like Richard Strauss and Richard Wagner. During the late 19th century the chromatic altering of a chord or melody was a change in strict relation to its functional non-altered version. Alterations in the twelve-tone Phrygian/Lydian polymode, the other hand, were "diatonic ingredients of a diatonic modal scale."

Phrygian mode (C) C–D♭–E♭–F–G–A♭–B♭–C Lydian mode (C) C–D–E–F♯–G–A–B–C Twelve-tone Phrygian/Lydian polymode (C) C–D♭–D–E♭–E–F–F♯–G–A♭–A–B♭–B–C

Twelve-tone Phrygian-Lydian polymode

Melodies could be developed and transformed in novel ways through diatonic extension and chromatic compression, while still having coherent links to their original forms. Bartók described this as a new means to develop a melody.

Bartók started to superimpose all possible diatonic modes on each other in order to extend and compress melodies in ways that suited him, unrestricted by Baroque-Romantic tonality as well as strict serial methods such as the twelve-tone technique.

In 1941, Bartók's ethnomusicological studies brought him into contact with the music of Dalmatia and he realised that the Dalmatian folk-music used techniques that resembled polymodal chromaticism. Bartók had defined and used polymodal chromaticism in his own music before this. The discovery inspired him to continue to develop the technique.

Examples of Bartók's use of the technique include No. 80 ("Hommage à R. Sch.") from Mikrokosmos featuring C Phrygian/Lydian (C–D♭–E♭–F–G–A♭–B♭–C/C–D–E–F♯–G–A–B–C). Lendvai identifies the technique in the late works of Modest Mussorgsky, Richard Wagner, Franz Liszt, and Giuseppe Verdi.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/harmony/reharmonization/index.html b/theory/harmony/reharmonization/index.html index 22e637987f..0691829abe 100644 --- a/theory/harmony/reharmonization/index.html +++ b/theory/harmony/reharmonization/index.html @@ -6,13 +6,13 @@ Reharmonization | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Reharmonization
How to reharmonize a song

Reharmonization = Chord substitution but for the whole chord progression

Reharmonization is used to:

  • Make a song more ‘jazzy’ – that is, more harmonically and/or structurally complex;
  • Personalise a song and make it your own (it’s almost like composing a brand new song, or a variation of an existing song).

So, generally, a song consists of a:

  • Melody; and
  • Chord progression

Reharmonization involves changing the melody or chords or both – but changing them with regard to certain rules or ideas.

To reharmonize a song you need to take two things into account:

  • Harmony
    • This depends on the interaction between the melody and the chords
    • It depends on the quality of the chord (Maj, min, V7, etc.)
    • Goal: To ensure the melody note is an ‘acceptable harmony’ over the chord
  • Structure
    • This refers to the movement of chords & bass-line
    • It is NOT affected by the quality of the chord
    • Goal: The structure must be logical.
    • In practice this means that chords and bass-lines should move:
      • by Fixed Intervals;
      • by Diatonically;
      • be Melody based.

The Overarching Goal of Reharmonization is:

  • Change the chords and/or melody to ensure the melody is an ‘acceptable harmony’ over the chord.
  • Change chords and bass-line so they move in a ‘structured way’.

Key Melody Note

The first thing you have to do when reharmonizing a song is to identify the Key Melody Note (KMN) of each bar:

  • The KMN is harmonically the most important note in a bar – with all the other notes treated as passing notes (so NOT harmonically important)
  • This is largely subjective, but the KMN tends to be the:
    • Longest note in the bar
    • First note in the bar
    • Most repeated note in the bar
    • A note played on-the-beat
  • There may be more than one KMN in a bar, in which case:
    • Account for both; or
    • Look for the KMN in each half-bar (and so on)
  • There may be no obvious KMN – e.g. a fast run of notes, in this case:
    • Look at ALL or MOST of the notes in the bar
    • Structure > Harmony – more on this later

Harmony

First let’s deal with the Harmony:

  • Change the chord (tonality and quality) or KMN to ensure the KMN is an ‘acceptable harmony’ over the chord
  • We have already learned in previous lessons that not all notes are equal. Some notes sound strong when played over a chord (Guide Tones), some notes sound pleasant and complement the sound of a chord (Available Tensions), while some notes sound weak and dissonant (Avoid Notes). Well, I’ve defined ‘acceptable harmony’ as ‘guide tones’ (3rd & 7th) plus ‘available tensions’. These are the notes that sound good over a particular chord. I have allocated every note into the following categories:
    • Strong Harmony = Guide Tones
    • Weak Harmony = Root & 5th
    • Jazzy Harmony = Available Tensions
    • Unacceptable Harmony = Unavailable Tensions/Avoid Notes

Acceptable Harmony = Guide Tones + Available Tensions

Below are the Acceptable Harmonies for a number of chord types.

Acceptable Harmonies

How to Reharmonize a Song

Ok, so now let’s do the same exercise but in reverse. Instead of taking a chord and finding all its acceptable harmonies, let’s take a note and find all the chords where that note is an acceptable harmony. Let’s use the note ‘C’.

  • Below, all chords that create an ‘Acceptable Harmony’ with the Key Melody Note (C) are highlighted Green.
  • The tonality/root of the chord is given in the row labelled ‘Root’
  • The quality of the chord is given in the rows labelled ‘Chord Quality’
  • The row labelled ‘Degree’ will tell you what degree the Key Melody Note is in relation to the chord.

Reharmonization Chords

You can use any of the chords coloured Green above to substitute for a chord when the key melody note of a bar is ‘C’.

Structure

Next let’s deal with the Structure:

  • ‘Structure’ involves moving the chord and the bass-line in a ‘structured’ or ‘logical’ way, ignoring the quality of the chord.
  • In reality this means moving the chords and bass-line in:
    • Fixed intervals;
    • Diatonically;
    • Melody based; or
    • Some other logical structure
  • You can change chord inversions to create a smoother bass-line that doesn’t jump around too much
  • The bass-line and chords can move in different ways as long as they are both ‘structured’
**Chromatic (Fixed Intervals)**E♭7D7D♭7CMaj7
**Coltrane (Fixed Intervals)**CMaj7G#Maj7EMaj7CMaj7
**Diatonic**F7E7D7CMaj7
**Melody Based****Melody:** C **Chord:** Am7**Melody:** E **Chord:** CMaj7**Melody:** F **Chord:** D♭Maj7**Melody:** F **Chord:** Dm7
**Bassline (Pedal Point)****Chord:** E♭6 **Bass:** C**Chord:** D7 **Bass:** C**Chord:** D♭Maj7 **Bass:** C**Chord:** CMaj7 **Bass:** C
**Bassline (Stepwise)****Chord:** Em7 **Bass:** E**Chord:** A7 **Bass:** E**Chord:** Dm7 - G7 **Bass:** D - D**Chord:** CMaj7 **Bass:** C

Remember: The chords and bass-line can move independently and the chord quality doesn’t matter

Some Rules and Tips

  • Choose chords & melody that increase and then decrease tension
    • To increase tension – use higher extensions and alterations (e.g.♭13)
    • To decrease tension – use Guide Tones (3rd & 7th) & lower extensions (e.g. 9)
  • On a long melody note or repeated melody note, move through a number of chords (this makes the melody note a kind of pedal point, which sounds great)
  • While ideally we should have an acceptable harmony AND a logical structure, it is possible to have one without the other:
    • You can have a weak harmony (root or 5th) if you have a strong structure (II-V); OR
    • You can have a weak structure (no pattern) if you have a strong harmony (3rd or 7th)
  • If the melody is a fast run of notes with no obvious ‘key melody note’
    • Structure becomes more important than Harmony
      • Bebop songs often use fast melody runs with strong II-V structured chord progressions
    • Look at and consider all the notes in the bar

Further study

To make your reharmonization sound even more professional and smooth:

Google Doc

Below is an embedded Google Doc which outlines all the possible reharmonization (substitute) chords for all chord types and all 12 note. You’re welcome to export it to Excel. To do this:

  • Go to the Google Doc by clicking here
  • Press ‘File’
  • Select ‘Download as’
  • Select ‘Microsoft Excel’

To see the above theory in action, please watch the below video.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/harmony/study/index.html b/theory/harmony/study/index.html index b87bfeedf7..ba6edca643 100644 --- a/theory/harmony/study/index.html +++ b/theory/harmony/study/index.html @@ -6,13 +6,13 @@ Harmony study | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Harmony study
Different approaches to harmony in music and everything else

Ancient Greece

In Greek mythology, Harmonia (/hɑːrˈmoʊniə/; Ancient Greek: Ἁρμονία) is the immortal goddess of harmony and concord. Her Roman counterpart is Concordia. Her Greek opposite is Eris, whose Roman counterpart is Discordia.

According to one account, she is the daughter of Ares and Aphrodite. By another account, Harmonia was from Samothrace and was the daughter of Zeus and Electra, her brother Iasion being the founder of the mystic rites celebrated on the island.

Almost always, Harmonia is the wife of Cadmus. With Cadmus, she was the mother of Ino, Polydorus, Autonoë, Agave, and Semele. Their youngest son was Illyrius.

He was the first Greek hero and, alongside Perseus and Bellerophon, the greatest hero and slayer of monsters before the days of Heracles.

Cadmus was credited by the ancient Greeks (such as Herodotus c. 484 – c. 425 BC, one of the first Greek historians, but one who also wove standard myths and legends through his work) with introducing the original Phoenician alphabet to the Greeks, who adapted it to form their Greek alphabet. Herodotus estimates that Cadmus lived sixteen hundred years before his time, which would be around 2000 BC.

Pythagoreans

Pythagoras pioneered the mathematical and experimental study of music. He objectively measured physical quantities, such as the length of a string, and discovered quantitative mathematical relationships of music through arithmetic ratios. Pythagoras attempted to explain subjective psychological and aesthetic feelings, such as the enjoyment of musical harmony. Pythagoras and his students experimented systematically with strings of varying length and tension, with wind instruments, with brass discs of the same diameter but different thickness, and with identical vases filled with different levels of water. Early Pythagoreans established quantitative ratios between the length of a string or pipe and the pitch of notes and the frequency of string vibration.

Pythagoras is credited with discovering that the most harmonious musical intervals are created by the simple numerical ratio of the first four natural numbers which derive respectively from the relations of string length: the octave (1/2), the fifth (2/3) and the fourth (3/4). The sum of those numbers 1 + 2 + 3 + 4 = 10 was for Pythagoreans the perfect number, because it contained in itself "the whole essential nature of numbers". Werner Heisenberg has called this formulation of musical arithmetic as "among the most powerful advances of human science" because it enables the measurement of sound in space.

Pythagorean tuning is a system of musical tuning in which the frequency ratios of all intervals are based on the ratio 3:2. This ratio, also known as the "pure" perfect fifth, is chosen because it is one of the most consonant and easiest to tune by ear and because of importance attributed to the integer 3. As Novalis put it, "The musical proportions seem to me to be particularly correct natural proportions."

The fact that mathematics could explain the human sentimental world had a profound impact on the Pythagorean philosophy. Pythagoreanism became the quest for establishing the fundamental essences of reality. Pythagorean philosophers advanced the unshakable belief that the essence of all thing are numbers and that the universe was sustained by harmony. According to ancient sources music was central to the lives of those practicing Pythagoreanism. They used medicines for the purification (katharsis) of the body and, according to Aristoxenus, music for the purification of the soul. Pythagoreans used different types of music to arouse or calm their souls.

Medieval woodcut by Franchino Gaffurio, depicting Pythagoras and Philolaus conducting musical investigations.

For Pythagoreans, harmony signified the "unification of a multifarious composition and the agreement of unlike spirits". In Pythagoreanism, numeric harmony was applied in mathematical, medical, psychological, aesthetic, metaphysical and cosmological problems. For Pythagorean philosophers, the basic property of numbers was expressed in the harmonious interplay of opposite pairs. Harmony assured the balance of opposite forces. Pythagoras had in his teachings named numbers and the symmetries of them as the first principle, and called these numeric symmetries harmony. This numeric harmony could be discovered in rules throughout nature. Numbers governed the properties and conditions of all beings and were regarded the causes of being in everything else. Pythagorean philosophers believed that numbers were the elements of all beings and the universe as a whole was composed of harmony and numbers.

Ancient Rome

Concordia discors

Cum tu inter scabiem tantam et contagia lucri Nil parvum sapias et adhuc sublimia cures: Quae mare conpescant causae, quid temperet annum, Stellae sponte sua iussaene vagentur et errent, Quid premat obscurum lunae, quid proferat orbem, Quid velit et possit rerum concordia discors, Empedocles an Stertinium deliret acumen. — Horat. Epist. I,12 (23-20 BCE)

Temporis angusti mansit concordia discors Paxque fuit non sponte ducum … — Lucan. Bell. civ. I, vers.98-99 (48-65 AD)

Discordia concors

…faciuntque deum per quattuor artus Et mundi struxere globum prohibentque requiri Ultra se quicquam, cum per se cuncta crearint: Frigida nec calidis desint aut umida siccis, Spiritus aut solidis, sitque haec discordia concors Quae nexus habilis et opus generabile fingit Atque omnis partus elementa capacia reddit: Semper erit pugna ingeniis, dubiumque manebit Quod latet et tantum supra est hominemque deumque. — Manilius. Astronomica, I.137-146

Renaissance

Adriano Banchieri (1628)

Balkan Vocal Harmony

Greece

Georgia

Georgian polyphonic singing encompasses several distinct regional styles, each with its own unique characteristics. The most prominent styles include Eastern Georgian and Western Georgian polyphony. Eastern Georgian polyphony, found in regions like Kartli and Kakheti, typically employs pedal drone polyphony. This style features two highly embellished melodic lines developing rhythmically free against a background of sustained pitches. In contrast, Western Georgian polyphony, prevalent in areas such as Achara, Imereti, Samegrelo, and Guria, utilizes contrapuntal techniques, often resulting in three and four-part harmonies with highly individualized melodic lines in each part.

A key characteristic of Georgian polyphonic singing is its extensive use of sharp dissonant harmonies, including seconds, fourths, sevenths, and ninths. The so-called "Georgian Triad" (C-F-G), consisting of a fourth and a second above the bass note, is particularly common. Additionally, Georgian music is known for colorful modulations and unusual key changes. The vocal technique often involves male falsetto singers, known as "krimanchuli," performing high-pitched melodies above the main melody. This creates a unique and ethereal quality to the music.

Georgian polyphonic singing typically involves three main vocal parts: mtkmeli (second tenor), modzakhili (first tenor), and bani (baritone). Other specialized parts include krini (falsetto), dvrini (bass), gamqivani, shemkhmobari, and krimanchuli. While most songs are sung a cappella, some may feature instrumental accompaniment on traditional instruments like the chonguri or panduri. The polyphonic structure allows for partial improvisation, with singers often creating their own melodies and harmonies within the established framework, resulting in a dynamic and engaging musical dialogue between voices.

Pygmy music

Pygmy music refers to the sub-Saharan African music traditions of the Central African foragers (or "Pygmies"), predominantly in the Congo, the Central African Republic and Cameroon.

Pygmy groups include the Bayaka, the Mbuti, and the Batwa.

Music is an important part of Pygmy life, and casual performances take place during many of the day's events. Music comes in many forms, including the spiritual likanos stories, vocable singing and music played from a variety of instruments including the bow harp (ieta), ngombi (harp zither) and limbindi (a string bow).

Researchers who have studied Pygmy music include Simha Arom, Louis Sarno, Colin Turnbull and Jean-Pierre Hallet.

Polyphonic song

The Mbenga (Aka/Benzele) and Baka peoples in the west and the Mbuti (Efé) in the east are particularly known for their dense contrapuntal communal improvisation. Simha Arom says that the level of polyphonic complexity of Mbenga–Mbuti music was reached in Europe only in the 14th century. The polyphonic singing of the Aka Pygmies was relisted on the Representative List of the Intangible Cultural Heritage of Humanity in 2008.

Mbenga–Mbuti Pygmy music consists of up to four parts and can be described as an "ostinato with variations" similar to a passacaglia in that it is cyclical. It is based on repetition of periods of equal length that each singer divides using different rhythmic figures specific to different repertoires and songs. This creates a detailed surface and endless variations not only of the same period repeated but of various performances of the same piece of music. As in some Balinese gamelan music, these patterns are based on a super-pattern which is never heard. The Pygmies themselves do not learn or think of their music in this theoretical framework, but learn the music growing up.

Polyphonic music is only characteristic of the Mbenga and Mbuti. The Gyele/Kola, Great Lakes Twa and Southern Twa have very different musical styles.

Most of the literature on Baka music concentrates on their “spirit dances”. What is actually meant by “spirit” is rarely, if ever, mentioned in the literature. In English the language for such things as “spirit” and “enchantment” have been heavily influenced by 1000 years of Christianity and given negative connotations, so the true meanings of words get lost in translation.There seems to be an underlying inference that belief in “spirits” is a primitive animistic practice, rather than a rational interpretation of a real phenomenon that is indirectly revered in Western society in art, performance and sport, but which is never spoken about. The Baka call this mé. With their combination of polyphonic singing, polyrhythmic percussion and masked dancers, the Baka are experts at manifesting mé. Each “Spirit Dance” creates its own unique emotions personified in the mé. By being present at these “spirit dances” from before they are born, aware of sounds and movements while still in their mother’s womb, Baka children grow up learning that the purpose of “musicking” is not about performing songs, but about manifesting mé for the good of all.

Liquindi

Liquindi is water drumming, typically practiced by Pygmy women and girls. The sound is produced by persons standing in water, and hitting the surface of the water with their hands, such as to trap air in the hands and produce a percussive effect that arises by sudden change in air pressure of the trapped air. The sound cannot exist entirely in water, since it requires the air-water boundary as a surface to be struck, so the sound is not hydraulophonic.

Hindewhu

Hindewhu is a style of singing/whistle-playing of the BaBenzélé pygmies of the Central African Republic. The term hindewhu is an onomatopoeia of the sound of a performer alternately singing pitched syllables and blowing into a single-pitch papaya-stem whistle, in an interlocked rhythm similar to the gutera-kwakira structure of the Burundian akazehe. Hindewhu announces the return from a hunt and is performed solo, duo or in groups.

Western popularization

Colin M. Turnbull, an American anthropologist, wrote a book about the Efé Pygmies, The Forest People, in 1965. This introduced Mbuti culture to Western countries. Turnbull claimed that the Mbuti viewed the forest as a parental spirit with which they could communicate via song.

Some of Turnbull's recordings of Efé music were commercially released and inspired more ethnomusicological study such as by Simha Arom, a French-Israeli who recorded hindewhu, and Luis Devin, an Italian ethnomusicologist who studied in depth the musical rituals and instruments of Baka Pygmies.

Some popular musicians have used hindewhu in their music:

  • "Hunting", a song by Deep Forest from their album Made in Japan.
  • "Ba-Benzélé", a song by Jon Hassell and Brian Eno from the album Fourth World, Vol. 1: Possible Musics (1980).
  • "Fabulous" (1983), a tune by John Oswald and Dick Hyman from the album plunderphonics (1989).
  • Percussionist Bill Summers imitates hindewhu in the track "Watermelon Man" by Herbie Hancock from the 1973 album Head Hunters (see hocket).
  • "Sanctuary", a song by Madonna from the album Bedtime Stories (1994) samples the Herbie Hancock recording.
  • In 1992 the popularization of Pygmy music spread with the release of Eric Mouquet and Michel Sanchez's Deep Forest. A percentage of the proceeds from each album were donated to the Pygmy Fund set up to aid Zaire's Pygmies. The album was nevertheless subject to controversy, as the project used samples recorded by ethnomusicologist Hugo Zemp without permission; further controversy was stirred by the lack of consideration given to the original performer - a Northern Malaitian woman named Afunakwa - by either party during the resultant legal battle.
  • Also in 1992 Martin Cradick and Su Hart spent three months living with and recording Baka in Cameroon. result was the creation of the band Baka Beyond and the release of their collaboration with the Baka musicians, "Spirit of the Forest" alongside the album "Heart of the Forest", and a musical relationship that has lasted over twenty years. Proceeds from both these albums have returned to the Baka musicians through the charity Global Music Exchange which continues to work with the Baka helping them in their rapidly changing environment.
  • Pianist Pierre-Laurent Aimard programmed recordings of Pygmy songs (performed by the Aka Pygmies) with works of contemporary composers György Ligeti and Steve Reich on his African Rhythms (2003)

Other African traditions

Mbube and Isicathamiya (South Africa)

Zulu a cappella singing styles featuring complex harmonies.

Khoikhoi and San Music (Southern Africa)

Features overlapping vocal parts and complex rhythms.

West African Griot

While primarily melodic, some griot performances include harmonized choruses.

Sona Jobarteh is the first female Kora virtuoso to come from a west African Griot family. The Kora is one of the most important instruments belonging to the Manding peoples of West Africa (Gambia, Senegal, Mali, Guinea and Guinea-Bissau). It belongs exclusively to griot families, and usually only men who are born into these families have the right to take up the instrument professionally. Sona Jobarteh combines various genres of African Music and western musical elements.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/harmony/tonal/index.html b/theory/harmony/tonal/index.html index c647e29636..10866249a0 100644 --- a/theory/harmony/tonal/index.html +++ b/theory/harmony/tonal/index.html @@ -6,13 +6,13 @@ Functional tonal harmony | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Functional tonal harmony
Relating chords by their interval content

Functional means based on functions, tonal means based on tonality, harmony means lively movement through all that emotional space.

Tonality

So let’s begin with tonality. 99% of the songs you hear day to day are Tonal. Tonality is a system of harmony created & used in the Common-Practice Period (that is, in the Baroque, Classical and Romantic Eras of classical music), so from about 1700 to 1900. Tonal harmony is the ‘standard’ music theory that you learn through your Classical music studies. And, in fact, most of my previous lessons presuppose or function within ‘tonal harmony’.

Tonality has the following features:

  • It uses Major and minor keys
  • It uses a Functional Harmony
  • It has a Tonal Centre (i.e. root note)

So point one is self-explanatory. Points two and three are more interesting. Tonality uses a Functional Harmony and has a Tonal Centre (that is, a Tonic). In tonal harmony every chord has a function, it can be categorised as either:

  • Pre-Dominant;
  • Dominant; or
  • Tonic

The function of a Pre-Dominant chord is to get you to the Dominant chord. The function of a Dominant chord is to get you to the Tonic chord, thus the harmony (that is, the chords) are ‘functional’.

And the Tonic chord is the ‘Tonal Centre’. This can be thought of as a ‘Centre of Gravity’ to which all other chords gravitate and resolved into.

Thus, a tonal chord progression sounds like it is moving towards the tonic. For example, take the below chord progression:

Em7 A7 Dm7 G7 ???

What chord comes next?

We all know instinctively that it should be a CMaj7. It just SOUNDS like it needs to go back home and resolve to the tonic; thus there is a ‘tonal centre’. (Notice also that tonal chord progressions tend to move via the Circle of Fifths).

The G7 gravitates and wants to resolve to CMaj7. This is because all Dominant chords have a tritone interval between their 3rd and 7th (in the case of G7 – B & F). This is known as a ‘diatonic tritone‘. The tritone is a very unstable and dissonant interval that wants to resolve. And it does so either:

  • Inwards to C & E (1 & 3 of CMaj7 – creating a G7 to CMaj7 progression)
  • Outwards to B♭ & G♭ (3 & 1 of G♭Maj7 – creating a D♭7 to G♭Maj7 progression)

This ‘diatonic tritone’ is the basis of all tonal music. It is what makes the Dominant chord feel like it wants to resolve to the tonic (thus making the music ‘tonal’).

Functional Tonal Harmony 1

Part one of three. Discusses consonance and dissonance, construction of the major scale, tendency tones, and harmonic function.

Functional Tonal Harmony 2: Minor mode

Discusses harmony in the minor mode. The three versions of the scale: Natural minor, harmonic minor and Melodic minor, and why we use them.

Functional tonal harmony 3: Secondary dominants

In music theory, a secondary dominant chord is a type of chord that functions as the dominant (V) of a chord other than the tonic (I) chord. This means that it creates a sense of tension that resolves to a chord other than the tonic.

To create a secondary dominant chord, you use the dominant (V) chord of the chord you want to resolve to. For example, let's say we're in the key of C major, and we want to create a secondary dominant chord that resolves to the IV chord (F major). The V chord of F major is C7 (C dominant 7th), so we would play a C7 chord before the F major chord to create a sense of tension and resolution.

The use of secondary dominant chords is a common technique in many musical styles, including jazz, pop, and classical music. They can add interest and complexity to a chord progression by introducing unexpected harmonic changes and creating new tonal centers.

It's important to note that secondary dominant chords should be used tastefully and in moderation, as using them too frequently can create a sense of harmonic instability and disrupt the overall flow of a musical composition.

Harmony is in changes

We build harmony out of different chords as steps of the emotional ladder but what really counts is the movement itself. We can go down and up, slow down or speed up, jump and even fly above if we want to. This is the story the composer tells to the listeners and it's vowen with movements.

The functional relations between chords in a scale can be expanded quite drastically with deeper analysis of underlying intevals, that create the desired change in the mood of the music. Many new relations appear to build up into a huge landscape of the tonal space.

Tonal Harmony in 3D

Functional chords on scale degrees

Here are some common chords that can be constructed for each of the scale degrees in tonal harmony:

Tonic Scale Degrees

  • First scale degree (I): major triad (I), major seventh chord (IMaj7)
  • Third scale degree (iii): minor triad (iii), minor seventh chord (iiim7)
  • Sixth scale degree (vi): minor triad (vi), minor seventh chord (vim7), dominant seventh chord (V7/vi)

Subdominant Scale Degrees

  • Second scale degree (ii): minor triad (ii), minor seventh chord (iim7), dominant seventh chord (V7/ii)
  • Fourth scale degree (IV): major triad (IV), major seventh chord (IVMaj7), dominant seventh chord (V7/IV)

Dominant Scale Degrees

  • Fifth scale degree (V): dominant seventh chord (V7), dominant ninth chord (V9), dominant thirteenth chord (V13), altered dominant chord (V7alt)
  • Seventh scale degree (vii°): diminished triad (vii°), half-diminished seventh chord (viiø7), dominant seventh flat nine chord (V7b9/vii°), fully diminished seventh chord (vii°7)
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/index.html b/theory/index.html index 58f2df846d..6000cb4480 100644 --- a/theory/index.html +++ b/theory/index.html @@ -6,13 +6,13 @@ Theory | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Theory
All the knowledge of music becoming visible with the simple color coding system

Chroma - from Greek khrōma - "surface of the body, skin, color of the skin," also used generically for "color"

 +

Tone - from Greek tonos "vocal pitch, raising of voice, accent, key in music," originally "a stretching, tightening, taut string".

Welcome to the main research hub for establishing the Chromatone interpretation of basic and profound music theory concepts.

We start from the very beginning - the physical world around us and the ways we can perceive and interpret it. What is Light and Color and how do we see it? What is Sound and how do we hear it? This gives us the firm foundation for building more and more intricate structures on top of it.

Some sounds are more musical than others and we soon find the importance of their frequency profile. Notes are born from distinguishing particular sound pitches. And then all the combinations arise.

Two notes form Intervals and three or more of them from Chords. If there's too many sounds to be played simultaneously, but still they have pleasant relations to one another, we talk about Scales.

Then we start organizing all these sound structures in time based on Rhythm and dive deep into Harmony and Melody that evolve naturally to the whole Composition level.

There's quite a deep research here, and there's more External resources to explore for those, who needs to learn even more about music theory themselves.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/interplay/index.html b/theory/interplay/index.html index c1ee3e6828..c52eefac27 100644 --- a/theory/interplay/index.html +++ b/theory/interplay/index.html @@ -6,13 +6,13 @@ Modal interplay | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Modal interplay
Exploring the physical, physiological, neurological and psychological links between sight and hearing – the two main modalities of human perception.

Chromatone is a term composed of two parts. "Chroma" is an Ancient Greek word χρῶμα (khrôma) and stands for "color". "Tone" comes from Latin word tonus ("sound") derived from Ancient Greek τόνος (tónos, “strain, tension, pitch”). Together they form Chromatone – the colorful notation system. It's based on combining the two circular models – the octave equivalence in music and the color circle of visual arts. This gives not only the colors for each of 12 chromatic notes of modern music, but can be extended to derive a certain color for any acoustic frequency.

Circle of colors and notes

A is the lowest frequency note and red is the lowest frequency color. It’s the starting point. Then we divide the Light spectrum into 12 parts and get scientifically correspondent colors for every note in an octave. Now we can see the circle of musical intervals with our eyes and use it to remember all the musical semitones. It may be like an artificial Synesthesia to be developed to improve music learning and performing skills. Learn more about history of Visual Music with Michael Filimowicz.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/interplay/spectrum/index.html b/theory/interplay/spectrum/index.html index dd4f1c85d5..10530a3ebe 100644 --- a/theory/interplay/spectrum/index.html +++ b/theory/interplay/spectrum/index.html @@ -6,13 +6,13 @@ Chromatic spectrum | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Chromatic spectrum
The model in which musical octave meets color spectrum.

Sonic and electromagnetic waves have very different mediums as a carrier field. Sound is carried by air molecules, light travels through vacuum just because of ever present electromagnetic field.

But they're stil oscillations, so we an compare their frequencies and wavelenghts. But what to choose? Let's try both!

Frequency

svg

Let's start with frequencies. What is 1 Hz? It's one oscillation per second. For EM it corresponds to radiation far in the long radio spectrum. We can't hear such slow air oscillations and 1 Hz is in infrasonic range.

This juxtaposition shows that electromagnetic and acoustic oscillations are of entirely different nature and can’t be matched just as they are. Audible frequencies of oscillating air correspond to long radio range of EM spectrum. If compared by the wavelengths our notes are situated somewhere around the FM radio range. In turn the visible light oscillations are so fast, that they can be matched only with hypersonic waves in some rigid bodies.

These oscillations are so short that they are comparable with the size of atoms in a crystal grid. The faster atoms move – the more heat they carry. A heated body starts to emit electromagnetic waves, starting from infrared and coming to the visible light range after about 1000K. So we can say, that sound and light are two main forms of oscillating energy propagation mechanics. And the similarities between them can be better justified not by their physical nature, but by the nature of human perception of them.

40th octave imaginary sound

Let take it mathematically. Acoustic oscillations frequency multiplies by to with every octave. This means we can find an imaginary pitch for any given frequency. This means we can find rythm notes and also it's another way to bring light and sound together.

Let's keep multiplying our A = 440 Hz by two until we reach the visible light spectrum – about 0.4–1 PHz. We can calculate all the notes frequencies and place them in the spectrogram. What we get is that A is near orange red, C is green and E is blue. Roughly. But If we consider a little lower base A frequency, we can see pretty nice corellation.

We can conclude that it's a fundamental property of our perception to close perceived parts of any spectrum into a seamless circle. And these circles are not just illusions as the resonances and periodicities are based on fundamental principles of physics.

-5th octave, Hz3rd octave, Hz4th octave, Hz44th octave, THzA0.859220.0440.0483.8619.7A#0.910233.1466.2512.6584.9B0.965246.9493.9543.0552.1C1.022261.6523.3575.3521.1C#1.083277.2554.4609.5491.8D1.147293.7587.3645.8464.2D#1.215311.1622.3684.2438.2E1.288329.6659.3724.9413.6F1.364349.2698.5768.0390.4F#1.445370.0740.0813.6368.5G1.531392.0784.0862.0347.8G#1.622415.3830.6913.3328.3A1.719440.0880.0967.6309.8Frequency400 Hz1000 Hz749.5 nm299.8 nmWavelength
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/interplay/synesthesia/index.html b/theory/interplay/synesthesia/index.html index 63b5720668..3c3ef881cc 100644 --- a/theory/interplay/synesthesia/index.html +++ b/theory/interplay/synesthesia/index.html @@ -6,13 +6,13 @@ Synesthesia | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Synesthesia
Neurological phenomenon of interlinked sensory signals

The term Synesthesia comes from the Ancient Greek σύν syn, 'together', and αἴσθησις aisthēsis, 'sensation'.

Synesthesia (American English) or synaesthesia (British English) is a perceptual phenomenon in which stimulation of one sensory or cognitive pathway leads to involuntary experiences in a second sensory or cognitive pathway.People who report a lifelong history of such experiences are known as synesthetes. Awareness of synesthetic perceptions varies from person to person. In one common form of synesthesia, known as grapheme–color synesthesia or color–graphemic synesthesia, letters or numbers are perceived as inherently colored. In spatial-sequence, or number form synesthesia, numbers, months of the year, or days of the week elicit precise locations in space (for example, 1980 may be "farther away" than 1990), or may appear as a three-dimensional map (clockwise or counterclockwise). Synesthetic associations can occur in any combination and any number of senses or cognitive pathways.

Little is known about how synesthesia develops. It has been suggested that synesthesia develops during childhood when children are intensively engaged with abstract concepts for the first time. This hypothesis – referred to as semantic vacuum hypothesis – explains why the most common forms of synesthesia are grapheme–color, spatial sequence, and number form. These are usually the first abstract concepts that educational systems require children to learn.

Types

There are two overall forms of synesthesia:

  • projective synesthesia: people who see colors, forms, or shapes when stimulated (the widely understood version of synesthesia).
  • associative synesthesia: people who feel a very strong and involuntary connection between the stimulus and the sense that it triggers.

For example, in chromesthesia (sound to color), a projector may hear a trumpet, and see an orange triangle in space, while an associator might hear a trumpet, and think very strongly that it sounds "orange".

Synesthesia can occur between nearly any two senses or perceptual modes, and at least one synesthete, Solomon Shereshevsky, experienced synesthesia that linked all five senses.

While nearly every logically possible combination of experiences can occur, several types are more common than others.

Grapheme–color synesthesia

A picture from the 2009 non-fiction book Wednesday Is Indigo Blue. Note the numbers 1-12 form an upside-down clock face.

In one of the most common forms of synesthesia, individual letters of the alphabet and numbers (collectively referred to as graphemes) are "shaded" or "tinged" with a color. While different individuals usually do not report the same colors for all letters and numbers, studies with large numbers of synesthetes find some commonalities across letters (e.g., A is likely to be red).

Chromesthesia

Another common form of synesthesia is the association of sounds with colors. For some, everyday sounds such as doors opening, cars honking, or people talking can trigger seeing colors. For others, colors are triggered when musical notes or keys are being played. People with synesthesia related to music may also have perfect pitch because their ability to see/hear colors aids them in identifying notes or keys.

The colors triggered by certain sounds, and any other synesthetic visual experiences, are referred to as photisms.

Individuals rarely agree on what color a given sound is. B flat might be orange for one person and blue for another. Composers Franz Liszt and Nikolai Rimsky-Korsakov famously disagreed on the colors of musical keys.

Composers with synesthesia

Franz Liszt is a composer who was known for asking performers to play with color. He was noted telling his orchestra to play the music in a "Bluer Fashion," since that is what the tone required. Synesthesia was not a common term in Liszt's time; people thought he was playing a trick on them when he referred to a color instead of a musical term.

Leonard Bernstein openly discussed his chromesthesia, which he described as a "timbre to color." Although he does not reference specific songs as being a certain color, he does explain the way it should sound to the artist performing. There are recordings of him stopping orchestras and singers when they are changing the "timbre." If someone changes the “timbre” or tone in a piece, it does not necessarily change the sound to the listener, but the composer with Chromesthesia will automatically know.

Amy Beach was another composer who had synesthesia. According to her perspective, each key signature was associated with a particular color. If an artist changed the key to suit their voice, then she would become upset because it would change the intended sound, portrayal, and emotion of the piece.

Olivier Messiaen was influenced by the color of musical keys for his compositions.

Alexander Scriabin was a Russian composer and pianist. He is famously regarded as a synesthete, but there is a lot of controversy surrounding whether he had chromesthesia or not. Scriabin was a major proponent of Theosophy, which had a system associating colors to feelings and emotions. This influenced the musician, who distinguished "spiritual" tonalities (like F-sharp major) from "earthly, material" ones (C major, F major). Furthermore, Alexander Scriabin developed a "keyboard with lights" or clavier à lumières, which directly matched musical notes with colors.

svg

Scriabin's sound-to-color associations arranged into a circle of fifths, demonstrating its spectral quality.

Scriabin was friends with composer Nikolai Rimsky-Korsakov, who was a synesthete, and their sound-to-color associations were not the same. Specifically, Rimsky-Korsakov made a distinction between major and minor scales and his associations had a "more neutral, spontaneous character".

Other types

Spatial sequence synesthesia

Those with spatial sequence synesthesia (SSS) tend to see ordinal sequences as points in space. For example some people see months as a spiral or a column (this also happens with letters, numbers and any other sequence). People with SSS may have superior memories; in one study, they were able to recall past events and memories far better and in far greater detail than those without the condition. They can also see months or dates in the space around them, but most synesthetes "see" these sequences in their mind's eye. Some people see time like a clock above and around them.

Number form

A number form is a mental map of numbers that automatically and involuntarily appear whenever someone who experiences number-forms synesthesia thinks of numbers. These numbers might appear in different locations and the mapping changes and varies between individuals. Number forms were first documented and named in 1881 by Francis Galton in "The Visions of Sane Persons". It is suggested that this might be caused by "cross-activation" of the neural pathway that connects the parietal lobes and angular gyrus. Both of these areas are involved in numerical cognition and spatial cognition respectively.

Auditory–tactile synesthesia

In auditory–tactile synesthesia, certain sounds can induce sensations in parts of the body. For example, someone with auditory–tactile synesthesia may experience that hearing a specific word or sound feels like touch in one specific part of the body or may experience that certain sounds can create a sensation in the skin without being touched (not to be confused with the milder general reaction known as frisson, which affects approximately 50% of the population). It is one of the least common forms of synesthesia.

List of people with synesthesia

https://en.wikipedia.org/wiki/List_of_people_with_synesthesia

Frisson

Frisson (UK: /ˈfriːsɒn/ FREE-son, US: /friːˈsoʊn/ free-SOHN French: [fʁisɔ̃]; French for "shiver"), also known as aesthetic chills or musical chills is a psychophysiological response to rewarding auditory and/or visual stimuli that often induces a pleasurable or otherwise positively-valenced affective state and transient paresthesia (skin tingling or chills), sometimes along with piloerection (goose bumps) and mydriasis (pupil dilation).

Frisson is caused by violations of musical expectancy

Rhythmic, dynamic, harmonic, and/or melodic violations of a person’s explicit or implicit expectations are associated with musical frisson as a prerequisite. Loud, very high or low frequency, or quickly varying sounds (unexpected harmonies, moments of modulations, melodic appoggiaturas) has been shown to arouse the autonomic nervous system (ANS). Activation of the ANS has a consistent strong correlation with frisson, as one study showed that an opioid antagonist could block frisson from music. Leonard Meyer, a prominent philosopher of music, wrote in his text, “Emotion and Meaning in Music” that music’s ability to evoke emotion in the listener stems from its ability to meet and break expectations.

Ideasthesia

Ideasthesia (alternative spelling ideaesthesia) is a neuroscientific phenomenon in which activations of concepts (inducers) evoke perception-like sensory experiences (concurrents). The name comes from the Ancient Greek ἰδέα (idéa) and αἴσθησις (aísthēsis), meaning "sensing concepts" or "sensing ideas". The notion was introduced by neuroscientist Danko Nikolić as an alternative explanation for a set of phenomena traditionally covered by synesthesia.

While "synesthesia" meaning "union of senses" implies the association of two sensory elements with little connection to the cognitive level, empirical evidence indicated that most phenomena linked to synesthesia are in fact induced by semantic representations. That is, the linguistic meaning of the stimulus is what is important rather than its sensory properties. In other words, while synesthesia presumes that both the trigger (inducer) and the resulting experience (concurrent) are of sensory nature, ideasthesia presumes that only the resulting experience is of sensory nature while the trigger is semantic.

svg

Over the past decade, it has been suggested that the Bouba/Kiki phenomenon is a case of ideasthesia. Most people will agree that the star-shaped object on the left is named Kiki and the round one on the right Bouba. It has been assumed that these associations come from direct connections between visual and auditory cortices. However, Gomez et al. have shown that Kiki/Bouba associations are much richer as either word and either image is associated semantically to a number of concepts such as white or black color, feminine vs. masculine, cold vs. hot, and others. These sound-shape associations seem to be related through a large overlap between semantic networks of Kiki and star-shape on the one hand, and Bouba and round-shape on the other hand. For example, both Kiki and star-shape are clever, small, thin and nervous. This indicates that behind Kiki-Bouba effect lies a rich semantic network. In other words, our sensory experience is largely determined by the meaning that we assign to stimuli.

Implications for art theory

The concept of ideasthesia has been often discussed in relation to art, and also used to formulate a psychological theory of art. According to the theory, we consider something to be a piece of art when experiences induced by the piece are accurately balanced with semantics induced by the same piece. Thus, a piece of art makes us both strongly think and strongly experience. Moreover, the two must be perfectly balanced such that the most salient stimulus or event is both the one that evokes strongest experiences (fear, joy, ... ) and strongest cognition (recall, memory, ...) — in other words, idea is well balanced with aesthesia.

Ideasthesia theory of art may be used for psychological studies of aesthetics. It may also help explain classificatory disputes about art as its main tenet is that experience of art can only be individual, depending on person's unique knowledge, experiences and history. There could exist no general classification of art satisfactorily applicable to each and all individuals.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/interplay/visual-music/index.html b/theory/interplay/visual-music/index.html index 3db5821c77..2bb221da68 100644 --- a/theory/interplay/visual-music/index.html +++ b/theory/interplay/visual-music/index.html @@ -6,13 +6,13 @@ Visual Music & the Poetics of Synaesthesia | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Visual Music & the Poetics of Synaesthesia
by Michael Filimowicz, PhD

Visual Music and Audiovisual Aesthetics

Visual Music & the Poetics of Synaesthesia

Poetics in the context of this essay refers broadly to ‘principles of making’ and by extension, general design principles. The origins of poetics was with Aristotle’s Poetics which analyzed literary-theatrical narratives, but today the scope of poetics is much wider and can cover any media- and meaning-making terrain where patterns of making can be formally analyzed.

For most of its long history, the term poetics subsumed attempts to reveal the inner logic of a work of art in an examination of its formal and constituent features while inevitably raising problems of intention, meaning, and interpretation.

With the advent of new technologies and an increasing differentiation of media, the medium of print has lost some of its status while other technologies vie for acceptance alongside it. Accordingly, in critical discourse, new media studies have gained ascendancy over poetics. Poetics, broadly understood, takes as its subject matter a hermeneutic process productive of meaning and responsive to communication, even where this process is intentionally made difficult for artistic purposes, a view that has been hotly contested as a result of the emergence of new technologies (source).

Visual music predates the contemporary concept of the music video by at least half a millennia, depending on how one qualifies it. Most historical commentary on visual music finds an origin point in the Medieval color organ, which is the earliest known technological precursor to today’s iTunes Visualizer. Many commentators, however, do not go so far back, and relate visual music to early 20th Century trends in Modernism. In today’s maker culture, there is often a lack of deep historical sense and context. At the start of the first video embed below, an Arduino-tinkerer claims that the color organ originated in the 1970s (!) when there was a genre of music-light interactive consumer novelties that were also called color organs. Here is what Wikipedia has to say about color organs (all Wikipedia links will be left in place in case you want to explore more):

The term color organ refers to a tradition of mechanical devices built to represent sound and accompany music in a visual medium. The earliest created color organs were manual instruments based on the harpsichord design. By the 1900s they were electromechanical. In the early 20th century, a silent color organ tradition (Lumia) developed. In the 1960s and ’70s, the term “color organ” became popularly associated with electronic devices that responded to their music inputs with light shows. The term “light organ” is increasingly being used for these devices; allowing “color organ” to reassume its original meaning.

The dream of creating a visual music comparable to auditory music found its fulfillment in animated abstract films by artists such as Oskar Fischinger, Len Lye and Norman McLaren; but long before them, many people built instruments, usually called “color organs,” that would display modulated colored light in some kind of fluid fashion comparable to music.

William Moritz

In 1590, Gregorio Comanini described an invention by the Mannerist painter Arcimboldo of a system for creating color-music, based on apparent luminosity (light-dark contrast) instead of hue.

In 1725, French Jesuit monk Louis Bertrand Castel proposed the idea of Clavecin pour les yeux (Ocular Harpsichord). In the 1740s, German composer Telemann went to France to see it, composed some pieces for it and wrote a book about it. It had 60 small colored glass panes, each with a curtain that opened when a key was struck. In about 1742, Castel proposed the clavecin oculaire (a light organ) as an instrument to produce both sound and the ‘proper’ light colors.

organ

Castel’s Ocular Organ, Source. A caricature of Louis-Bertrand Castel’s “ocular organ” by Charles Germain de Saint Aubin

In 1743, Johann Gottlob Krüger, a professor at the University of Hall, proposed his own version of the ocular harpsichord.

In 1816, Sir David Brewster proposed the Kaleidoscope as a form of visual-music that became immediately popular.

In 1877, US artist, inventor Bainbridge Bishop gets a patent for his first Color Organ.The instruments were lighted attachments designed for pipe organs that could project colored lights onto a screen in synchronization with musical performance. Bishop built three of the instruments; each was destroyed in a fire, including one in the home of P. T. Barnum.

In 1893, British painter Alexander Wallace Rimington invented the Clavier à lumières. Rimington’s Colour Organ attracted much attention, including that of Richard Wagner and Sir George Grove. It has been incorrectly claimed that his device formed the basis of the moving lights that accompanied the New York City premiere of Alexander Scriabin’s synaesthetic symphony Prometheus: The Poem of Fire in 1915. The instrument that accompanied that premiere was lighting engineer Preston S. Millar’s chromola, which was similar to Rimington’s instrument.

In a 1916 art manifesto, the Italian Futurists Arnaldo Ginna and Bruno Corra described their experiments with “color organ” projection in 1909. They also painted nine abstract films, now lost….

In 1918, American concert pianist Mary Hallock-Greenewalt created an instrument she called the Sarabet. Also an inventor, she patented nine inventions related to her instrument, including the rheostat.

In 1921, Arthur C. Vinageras proposed the Chromopiano, an instrument resembling and played like a grand piano, but designed to project “chords” composed from colored lights.

In the 1920s, Danish-born Thomas Wilfred created the Clavilux, a color organ, ultimately patenting seven versions. By 1930, he had produced 16 “Home Clavilux” units. Glass disks bearing art were sold with these “Clavilux Juniors.” Wilfred coined the word lumia to describe the art. Significantly, Wilfred’s instruments were designed to project colored imagery, not just fields of colored light as with earlier instruments.

In 1925, Hungarian composer Alexander Laszlo wrote a text called Color-Light-Music ; Laszlo toured Europe with a color organ.

In Hamburg, Germany from the late 1920s–early 1930s, several color organs were demonstrated at a series of Colour-Sound Congresses (German:Kongreß für Farbe-Ton-Forschung).Ludwig Hirschfeld Mack performed his Farbenlichtspiel colour organ at these congresses and at several other festivals and events in Germany. He had developed this color organ at the Bauhaus school in Weimar, with Kurt Schwerdtfeger.

The 1939 London Daily Mail Ideal Home Exhibition featured a “72-way Light Console and Compton Organ for Colour Music”, as well as a 70 feet, 230 kW “Kaleidakon” tower.

From 1935–77, Charles Dockum built a series of Mobilcolor Projectors, his versions of silent color organs.

In the late 1940s, Oskar Fischinger created the Lumigraph that produced imagery by pressing objects/hands into a rubberized screen that would protrude into colored light. The imagery of this device was manually generated, and was performed with various accompanying music. It required two people to operate: one to make changes to colors, the other to manipulate the screen. Fischinger performed the Lumigraph in Los Angeles and San Francisco in the late 1940s through early 1950s. The Lumigraph was licensed by the producers of the 1964 sci-fi film, The Time Travelers. The Lumigraph does not have a keyboard, and does not generate music.

In 2000, Jack Ox and David Britton created “The Virtual Color Organ.” The 21st Century Virtual Reality Color Organ is a computational system for translating musical compositions into visual performance. It uses supercomputing power to produce 3D visual images and sound from Musical Instrument Digital Interface (MIDI) files and can play a variety of compositions. Performances take place in interactive, immersive, virtual reality environments such as the Cave Automatic Virtual Environment (CAVE), VisionDome, or Immersadesk. Because it’s a 3D immersive world, the Color Organ is also a place — that is, a performance space.(source)

12v LED

Contrary to the Young Maker at the start of the video below, the Color Organ did NOT originate in the 1970s. Image Source

There aren’t any videos on YouTube of the Medieval color organ, but in the 20th Century many artists were inspired by the concept, and with new electronic and audiovisual technologies, what is sometimes called sound-image or music-visual ‘synaesthesia’ was often pursued in a range of creative works in different media and performance contexts. Below is an excerpt from a performance of Scriabin’s Prometheus: Poem of Fire painstakingly recreated at Yale University in 2010.

Prometheus: Poem of Fire (Scriabin)

Scriabin suffered from the natural condition of synesthesia, which made him associate musical notes and keys with colors. For example, the pitch “D” represented bright yellow, while “A” looked like dark green, and “D flat” felt like deep purple. In addition, in his late works traditional tonality is replaced by a set of unique harmonic spaces that inhabit a world of polyrhythmic uncertainty. In his quest to transfigure the word, Scriabin thought it necessary to confront the forces of evil. His Ninth Sonata is aptly nicknamed “The Black Mass,” and Scriabin tellingly regarded the performance of this work as “practicing sorcery.” Whatever the case may be, it is certainly a work of great musical concentration and extreme emotional intensity. (source)

Many experimental filmmakers made use of optical representations of sound to manipulate the audio track that is played by analog projectors, reversing the usual process of transcribing optical audio by drawing sounds directly onto film to create the soundtrack.

Optical Sound

McLaren’s Dots

Visual music approaches are particularly popular in creative practices where electroacoustic composition and animation intersect, and the synaesthetic explorations that we saw above in the realm of analog film continue today in the use of integrating the output 3D modeling and animation software with sound synthesis.

Here is a very recent example of some new trends emerging in computational visual music (to use that term in a very broad sense, since ‘visual music’ can encompass quite a range of creative practices) related to an increasing interest in data and algorithms. Michele Zaccagnini is developing a process he calls Deep Mapping, which is

an approach that allows the composer to store and render musical data into visuals by “catching” the data at its source, at a compositional stage. The advantages of this approach are: accuracy and discreteness in the representation of musical features; computational efficiency; and, more abstractly, the stimulation of a practice of audiovisual composition that encourages composers to envision their multimedia output from the early stages of their work.The drawbacks are: prerecorded sounds cannot be deep-mapped and deep mapping presupposes an algorithmic compositional approach.

Deep Map #1

Visual Music in Film

Visual Music is a concept also sometimes employed in the purely visual arts, where some painters have found inspiration in the concept of music to describe their abstractions.

New Harmony

Paul Klee, New Harmony, 1936

New Harmony

Wassily Kandinsky, Improvisation (Dreamy), 1913

In Visual Music of the moving image variety (e.g. film and video, rather than music as the “referent” or metaphor for abstractions in painting, such as those of Kandinsky or Klee), the image track is often in a fantasia mode vis-à-vis the soundtrack. While as is usually the case with sound design, the script, footage and first edits usually precede the production of sound (though there are exceptions, as with Ben Burtt’s collection of sounds for Star Wars where he often recorded interesting sounds before knowing what to do with them), with visual music there is typically a pre-existent work of music, which the moving image takes as an inspiration or motivation for free form and abstract play. Visual Music as a form can range from abstraction (e.g. a play on geometric shapes, light or color), to specific references to technologies of mediation (e.g. bright flashes of overexposed film, video footage modulated by rhythms in a techno beat, or even the generative imagery produced by iTunes Visualizer), to highly stylized and very abstract characterizations of personae with degrees of recognizable action and even plot (for instance, the struggle of an orange triangle to escape from thick lines and grids of black, which metaphorically morph into the bars of a prison or cage, as below with Synchromy No 4 Escape).

Mary Ellen Bute’s Synchromy №4 Escape

Fan video, Black Eyed Peas “I Gotta Feeling” as motion-visual geometry.

Powercord vs Philter Phreak

Photo-collage and montage editing have also been a feature of Visual Music, and highly stylized music video production (especially for electronica genres) can often blur the usual stylistic boundaries between what one might typically refer to as a ‘music video’ versus a work of Visual Music.

One Dot Zero

The ident is based around the idea of the roots of computer technology in the pre digital world — a world of music boxes, jacquard looms, punch cards and relay switches. Music box mechanisms were the precursors to punch cards as ways of communicating binary information, the Jacquard loom used punch-cards to essentially program the loom to create complex textile patterns (looked at now they resemble 8-bit computer drawings). The first real computer circuit was created using telephone relay switches. Our contemporary digital world is linked to pre-electric era of automated crafts and musical automata. This has a resonance with the tenth anniversary of onedotzero — both in the way that it references history but also it is mirrored in a lot of the work that’s being produced now. Computers have become almost invisible, powerful tools which are being used to facilitate craft. (source)

In its ‘classic’ mode,’ visual music is often linked to the tradition of seeking an experience of synaesthesia as a spiritually heightened fusion of the senses. Its antecedents are in Wagner’s Gesamtkunstwerk (indeed, Richard Wagner’s “Evening Star” is the music of Mary Ellen Bute’s Synchrony №2) or total artwork (a fusion of the all the arts and consequently, of the senses), but it also has roots in the Symbolist and Spiritualist movements of the 19th century — all of this has its origins in Schopenhauer’s philosophy of music, in which music was framed as the highest art due to its ability to directly represent the Will (for Schopenhauer, the Will as a category included magnetism, love, rage, and electricity — in other words, forces in general, whether internal to one’s self and unconscious, or external in the workings of the world).

As an outgrowth of the Romantic and Symbolist movements, music was elevated to a status of supremacy over all the other forms of creative expression. The other arts, notably poetry and painting, were said to aspire to the “condition of music.” Artists came to believe that painting should be analogous to music.

Proponents of musical analogy based their aesthetic theories on an abstraction of the idea of music, rather than on a clear understanding of musicology. For them music represented a non-narrative, non-discursive mode of expression. They reasoned that music, in its direct appeal to emotions and senses, transcended language. Just as music was a universal form of expression, so should the visual arts attain universality by evoking sensual pleasure or an emotional response in the viewer.

Advocates of musical analogy and color music also depended upon the related notion of synaesthesia; that is, they believed in the subjective interaction of all sensory perceptions. This common acceptance of synaesthesia resulted from two divergent philosophical positions. According to the more romantically inclined artists and writers, the interchangeability of the senses was evidence of mystical correspondence to a higher reality. On the other hand, some artists joined forces with scientific researchers to study synaesthesia as a phenomenon of human perception. (Source)

Many works in the filmic synaesthetic tradition can be read as an a counter-modernist inclination, a vestige of romantic impulse in the development of 20th century mediation.

Sound Design

The term Sound Design came into vogue in the 1970s to describe a new role in the creation of the sound film, analogous to a “director” or “cinematographer” of the soundtrack. In the early ’70s Dolby noise reduction, which had already established itself widely in music production and distribution during the ’60s, expanded its application to the area of film sound. The specific properties of Dolby — increased dynamic range, improved spatialization, better frequency response, and reduction of the noise floor — combined with Dolby’s strategy of providing relatively affordable licensing to theater owners so that it’s noise reduction technology could be widely adapted, provided for the first time a universal standard in cinematic sound reproduction, allowing the sound mix heard in the theaters to be closer to that heard on the mix stage than at any time previously. (source)

The aesthetic possibilities opened up by this technological change were exploited by filmmakers, particularly those based in San Francisco’s “Hollywood North.” For instance, the two artist-technicians usually credited with being the first “sound designers” (the first to receive this designation), Ben Burtt and Walter Murch, were each given unprecedented periods of time to explore sound as a dimension of film. Burtt was given more than a year to build a sound effects library for George Lucas’s Star Wars film soundtrack, famously (in widely circulated images) “wandering the desert” with field recording gear, tapping on phone wires and recording sounds that would eventually support such futuristic technologies as X-Wing Fighters and light sabers. Murch spent a year mixing and remixing Francis Ford Coppola’s Apocalypse Now, trying out multiple edits and approaches to what is likewise (as in the case of Star Wars) regarded as a paradigm shift in film mixing.

In entertainment industry contexts, sound‘s role is often described in the relevant literature as a form of “subordination” to the film’s imagery. In other words, the work of the soundtrack is to reinforce, through its specific effects (heightened emotion, spatial depth, representing sound sources, clarity of speech, rhythmic pacing and the like) the narratological and often “realist” motivations of the image track (and reciprocally, reserving “weird sound.” often simply taken from the realm of avant-garde music — for dream sequences, aliens, monsters and the like (source). Such an approach is typical of more narrative, mainstream or commercial projects.

In contrast, experimental approaches to sound design tend to assert a relative autonomy for the soundtrack in relation to the moving image. But at the same time there is often an “associational intent” at work, in that there is an attempt to create poetic or connotational relationships between sound and image.

Experimental Music

In her paper “Experimental Music Semiotics,” Morag Josephine Grant elaborates an intriguing Peircean semiotic approach to understanding the distinction between experimental music and other forms of avant-garde, classical or “new” music. In her analysis, experimental music has a heightened interest in the indexical relationship to sound, whereas other forms may be better described as having a stronger affinity for the symbolic.

Definitive for the icon in similarity with the object referred to, definitive for the index is contiguity with the object referred to, definitive for the symbol is its dependence on a standard rule of interpretation. (source)

It is in this notion of “a standard rule of interpretation” that one can find a slew of correspondences to non-experimental (including avant-garde) music practices. For instance, an interval can be read as also referring to a moment in the score, a minor third, and all the rules of harmony with its allowances and strictures of what one is to do with a minor third (or not do with it). In the recapitulation of a theme, the work itself can be understood as the interpretant which contextualizes its significance. One can expand this to other fields of music as well. Jazz, for instance, can be understood as a metaphor or symbol for communication (call and response, dialogue). To draw her distinction sharply, she offers the striking example of the sound of a telephone:

So why don’t telephones ring in music? They ring all over the place in literature. They appear in pictures more often than they do in music. They are the hinge of countless film plots.

The case of experimental music is immediately different because it can deal with the telephone as a telephone.

Grant cites Winfried Nöth, noting that “the index makes no assertions regarding its object, but merely shows us the object or draws our attention to it,” the index is “of fact, of reality, and of experience in time and space.”

Experimental music does not draw a distinction between the realms of “music” and that of “sound and noise.” It forces our attention to the causal dimensions of sonic experience, the productions of sonorous bodies, rather than to the systemic embeddedness of a sound in a formal logic or system (such as score, or the rules of harmony). Indeed, to further bolster her argument that non-experimental (but still scored) music has more of a symbolic character, we need only note the aspects of rhetoric that accompany such compositions: themes, argument, development, recapitulation, verse, refrain, and the like.

Grant does not assert, however, that non-experimental music is only symbolic, or that experimental music is only indexical. Indeed, her essay devotes much time to exploring devil’s advocate, borderline, and seemingly contradictory examples to her schema. She notes that “signification generally involves complex hybrids of these categories (icon, index, symbol).” But as a general description of what may make some music “experimental” and others not, it does have a subtle cogency. For instance, John Cage’s silent work 4’33” can be understood in relation to Peirce’s example of the indexical weather vane signifying even the absence of wind.

Even if there is no wind at a particular moment, the weather vane still fulfills its purpose, confirming that there is no wind… It is specifically created to draw our attention to something by contiguous relationship with it. Even if there is never wind again, a weather vane will not stop being a weather vane…

The silence evoked by Cage in this work is analogous to the absence of wind — it is still significant (hence a work of experimental music) even though it does not sound.

What is interesting to note about visualized sound in a Peircean semiotic context is that the sound which results from such processes has its “origin” in an indexical (directly causal) relationship. The nature of the index-causality is different in these cases: pen or scratches on film emulsion in McLaren’s work, or digital drawing tablet in the case of Xenakis‘ UPIC system. However, once we as listener-viewers are experiencing the work, the synaesthetic play of visual-sonic percepts takes on an iconic dimension as well, as we start to see that the sounds high up in the visual frame also sound high-pitched, or thick bands may produce clusters, while thin bands produce purer tones, or as we notice the way in which rhythmic syncretism in sound and image reinforce each other. At times one feels that one is really ‘seeing the sound’ but simultaneously sounds and images have their own autonomy — in fact, in an iconic sense one is only seeing certain aspects of the sound — both the visual and sonic imagination have their own resonances which can’t be entirely merged.

New Visualizations in Music

In the context of visual music, we would be amiss if we didn’t touch on new practices of visualizing musical form that have gone far beyond traditional music notation using bass and treble clefs, note and rest values, bars, measures, time signatures, and all of the other inscription apparatus of classical music common practice. As musical form exploded in its sheer variety of approaches in the 20th Century, so too did ways of representing the new kinds of sounds and their composition. The images below are visualization of musical compositions, and are taken from Sylvia Smith’s article Visual Music.

blkk12qqwwyy

Note: some text above has been excerpted from a previous article in the Parsons Journal for Information Mapping.

Written by Michael Filimowicz, PhD

Original article at oundand.design

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/intervals/cycles/index.html b/theory/intervals/cycles/index.html index 0572eb9a75..c842a1c185 100644 --- a/theory/intervals/cycles/index.html +++ b/theory/intervals/cycles/index.html @@ -6,13 +6,13 @@ Interval cycles | Chromatone.center - + - - - - + + + + @@ -59,7 +59,7 @@ 1 11 | 0 1 2 3 4 5 6 7 8 9 10 11 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0

Generated collection

In diatonic set theory, a generated collection is a collection or scale formed by repeatedly adding a constant interval in integer notation, the generator, also known as an interval cycle, around the chromatic circle until a complete collection or scale is formed. All scales with the deep scale property can be generated by any interval coprime with (in twelve-tone equal temperament) twelve. (Johnson, 2003, p. 83)

The C major diatonic collection can be generated by adding a cycle of perfect fifths (C7) starting at F: F-C-G-D-A-E-B = C-D-E-F-G-A-B. Using integer notation and modulo 12: 5 + 7 = 0, 0 + 7 = 7, 7 + 7 = 2, 2 + 7 = 9, 9 + 7 = 4, 4 + 7 = 11. 7-note segment of C5: the C major scale as a generated collection

The C major scale could also be generated using cycle of perfect fourths (C5), as 12 minus any coprime of twelve is also coprime with twelve: 12 − 7 = 5. B-E-A-D-G-C-F.

A generated collection for which a single generic interval corresponds to the single generator or interval cycle used is a MOS (for "moment of symmetry") or well formed generated collection. For example, the diatonic collection is well formed, for the perfect fifth (the generic interval 4) corresponds to the generator 7. Though not all fifths in the diatonic collection are perfect (B-F is a diminished fifth, tritone, or 6), a well formed generated collection has only one specific interval between scale members (in this case 6)—which corresponds to the generic interval (4, a fifth) but to not the generator (7). The major and minor pentatonic scales are also well formed. (Johnson, 2003, p. 83)

The properties of generated and well-formedness were described by Norman Carey and David Clampitt in "Aspects of Well-Formed Scales" (1989), (Johnson, 2003, p. 151.) In earlier (1975) work, theoretician Erv Wilson defined the properties of the idea, and called such a scale a MOS, an acronym for "Moment of Symmetry". While unpublished, this terminology became widely known and used in the microtonal music community. For instance, the three-gap theorem implies that every generated collection has at most three different steps, the intervals between adjacent tones in the collection (Carey 2007).

A degenerate well-formed collection is a scale in which the generator and the interval required to complete the circle or return to the initial note are equivalent and include all scales with equal notes, such as the whole-tone scale. (Johnson, 2003, p. 158, n. 14)

A bisector is a more general concept used to create collections that cannot be generated but includes all collections which can be generated.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/intervals/dissonance/index.html b/theory/intervals/dissonance/index.html index f4ffae9856..69af1e4281 100644 --- a/theory/intervals/dissonance/index.html +++ b/theory/intervals/dissonance/index.html @@ -6,13 +6,13 @@ Sensory dissonance | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Sensory dissonance
The rather objective approach to pitch interval consonance and dissonance measure to model, calculate and extract

Research

The pleasantness of sensory dissonance is mediated by musical style and expertise

Western musical styles use a large variety of chords and vertical sonorities. Based on objective acoustical properties, chords can be situated on a dissonant-consonant continuum. While this might to some extent converge with the unpleasant-pleasant continuum, subjective liking might diverge for various chord forms from music across different styles. Our study aimed to investigate how well appraisals of the roughness and pleasantness dimensions of isolated chords taken from real-world music are predicted by Parncutt’s established model of sensory dissonance. Furthermore, we related these subjective ratings to style of origin and acoustical features of the chords as well as musical sophistication of the raters. Ratings were obtained for chords deemed representative of the harmonic language of three different musical styles (classical, jazz and avant-garde music), plus randomly generated chords. Results indicate that pleasantness and roughness ratings were, on average, mirror opposites; however, their relative distribution differed greatly across styles, reflecting different underlying aesthetic ideals. Parncutt’s model only weakly predicted ratings for all but Classical chords, suggesting that listeners’ appraisal of the dissonance and pleasantness of chords bears not only on stimulus-side but also on listener-side factors. Indeed, we found that levels of musical sophistication negatively predicted listeners’ tendency to rate the consonance and pleasantness of any one chord as coupled measures, suggesting that musical education and expertise may serve to individuate how these musical dimensions are apprehended.

Download the PDF article

An article by Naithan Bosse

While completing my doctoral studies at the University of Calgary, I wrote a Max external, nb.dissonance, to estimate the amount of “sensory dissonance” created for any input chord. The external is based on Sean Ferguson’s method for estimating sensory dissonance detailed in the document portion of his doctoral thesis, Concerto for Piano and Orchestra (2000), as well as Richard Parncutt’s descriptions in Harmony: A Psychoacoustical Approach (1989). This post summarizes Ferguson’s method for estimating sensory dissonance and includes examples of how I experimented with the concept of sensory dissonance during the early stages of composing my dissertation composition Through a Window. My intention in writing this post is mainly to solidify my understanding of the methods described by Ferguson and Parncutt and to recommend these sources to anyone interested in the topics described below.

Sensory Dissonance feature extraction: a case study by Anna Terzaroli

An audio feature can become relevant as a musical feature. This paper focuses on the “Sensory Dissonance” audio feature and its use as a musical parameter useful to analyze and compose music of all genres. It is possible by developing a software tool able to detect the presence of dissonance understood as Sensory Dissonance, to quantify the dissonance and then to draw a graphic function of the traced dissonance. This function is placed under the sound which it relates, while the music signal may be written according to the western notation system. The obtained curve does not only provide information concerning the degree of dissonance: it also allows a deeper reading of the entire analyzed musical work.

Download PDF article

Relating Tuning and Timbre by William A. Sethares

If you've ever attempted to play music in weird tunings (where "weird" means anything other than 12 tone equal temperament), then you've probably noticed that certain timbres (or tones) sound good in some scales and not in others. 17 and 19 tone equal temperament are easy to play in, for instance, because many of the standard timbres in synthesizers sound fine in these tunings. I remember when I first played in 16 tone. I had to audition hundreds of sounds before I found a few good timbres. When I tried to play in 10 tone, though, none of the timbres in my synthesizers sounded good. This article explains why this happens, and shows how to design timbres and scales that complement each other. This suggests a way to design new musical instruments with unusual timbres that can play consonantly in unusual scales.

Download the book "Tuning, Timbre, Spectrum, Scale"

Sensory Perceptions of Harmony, Dissonance, Color and Timbre: Creative Insights in the Fine Arts and Daily Communication by Ellen Gilmer

Although no two people see colors, hear sounds or express thoughts, feelings, desires or realizations in exactly the same way, by sharing our unique perceptions of these sensory stimuli, we can communicate and appreciate the perceptions and viewpoints of others. Even the most dissonant musical chords, painterly strokes or written and spoken words gain values of harmony and acceptance as their rhythms, hues and tonalities grow familiar and vital to us all.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/intervals/emancipation/index.html b/theory/intervals/emancipation/index.html index 68e947f7bb..79a0ed30de 100644 --- a/theory/intervals/emancipation/index.html +++ b/theory/intervals/emancipation/index.html @@ -6,13 +6,13 @@ Emancipation of dissonance | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Emancipation of dissonance
The process of gradual acceptance of the more dissonant intervals as consonant and musical

Schoenberg believed that the modern major and minor modes were artificial, produced by historical evolution rather than by or through nature. His first definition of the minor mode revolves around the notion of this mode as "synthetic" or "a product of art."

Though Schoenberg believed that the major-minor system had evolved historically, it was not present in nature but rather had undergone a transformation to last with it. The major mode, especially, had evolved to include all of the nondiatonic notes of the seven church modes that were “constructed on the seven diatonic tones of our major scale”. Here, Schoenberg defends his notion that each bass note can impose its own overtones, thus becoming the root of each chord; though they may be construed as “artificial,” they are not because they imitate a “prototype” in nature, the overtone series.

The major and minor modes are the simplification of an earlier modal system, with the addition of “nondiatonic phenomena.” In Harmonielehre, Schoenberg wrote of this central premise:

If we sum up the characteristics of the church modes, we get major and minor plus a number of nondiatonic phenomena. And the way in which the nondiatonic events of one church mode were carried over to the other modes I conceive as the process by which our two present-day modes (major and minor) crystallized out of the church modes. Accordingly, major and minor contain all those nondiatonic possibilities inherently, by virtue of this historical synthesis

Schoenberg characterized nondiatonic phenomena in the alteration of chords as a continuation of the major-minor system, and eventually taught that there is no difference between consonance and dissonance. This argument resulted in his famous theory of the ‘emancipation of the dissonance,’ a concept Schoenberg borrowed from Rudolph Louis’s Der Widerspruch in der Musik, which addresses historical connotations not intrinsic in the original meanings of consonance and dissonance. When working out the ‘emancipation of the dissonance,’ Schoenberg was “attacking a structural-ornamental distinction that claims to be valid for all music, not distinctions appropriate to individual pieces, styles or composers.”

There are, then, no non-harmonic tones, no tones foreign to harmony, but merely tones foreign to the harmonic system. Passing tones, changing tones, suspensions, etc., are, like sevenths and ninths, nothing else but attempts to include in the possibilities of tones sounding together – these are of course, by definition, harmonies – something that sounds similar to the more remote overtones. Whoever gives rules for their use is describing, at best, the ways in which they are most generally used. He does not have the right, though, to claim that he has then precisely separated those possibilities in which they sound good from those in which they sound bad.

"Harmonielehre"

Turning points, pivot tones, neutralization, chromatic substitutes, and nondiatonic phenomena are concepts Schoenberg began teaching to address the changing context of dissonance in late nineteenth-century harmonic theory. In his chapter titled “At the Frontiers of Tonality,” Schoenberg began to illustrate what he called “vagrant harmonies,” defining the diminished triad, diminished seventh chords, and the augmented sixth chord and explaining how each of these chords functions in harmony.

Just as the harmonic series was and is used as a justification for consonance, such as by Rameau, among others, the harmonic series is often used as physical or psychoacoustic justification for the gradual emancipation of intervals and chords found further and further up the harmonic series over time, such as is argued by Henry Cowell in defense of his tone clusters. Some argue further that they are not dissonances, but consonances higher up the harmonic series and thus more complex. Chailley (1951, 12); cited in Nattiez 1990 gives the following diagram, a specific timeline he proposes:

Cooper timeline

Cooper (1973, 6-7) proposes the following timeline:

  • A. unison and octave singing (magadizing) in Greek music and Ambrosian and Greek chant,
  • B. parallel fourths and fifths in organum, from c. 850
  • C. triadic music; from c. 1400
  • D. chordal seventh, from c. 1600
  • E. chordal ninth, from c. 1750
  • F. whole-tone scale, from c. 1880
  • G. total chromaticism, twelve-tone technique, and microtones in the early 20th-century.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/intervals/fifth-fourth/index.html b/theory/intervals/fifth-fourth/index.html index 8c94c51527..067ed65b52 100644 --- a/theory/intervals/fifth-fourth/index.html +++ b/theory/intervals/fifth-fourth/index.html @@ -6,20 +6,20 @@ Fifth and fourth | Chromatone.center - + - - - - - - - - - - - + + + + + + + + + + + @@ -47,8 +47,8 @@ -
Chromatone logo
Fifth and fourth
Perfect, but not equivalent intervals

Fifth P5

[A4e] Ae
60000 px/sec
A 5P
AEA5P
EA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000010000
1P
5P
7
# 2064
A
E

The second most harmonic interval is the fifth – a 3/2 of any given frequency. Pythagoras is claimed to be the first to use this law to construct pleasant musical notes combinations. This principle is foundational for the modern 12-TET equal temperament. Take the lowest starting frequency and go up in two ways:

  • multiplying it by two – stepping an octave above,
  • and also multiplying by 1.5 – stepping a fifth in a time.

After 7 octaves and 12 fifths you’ll end up on the same starting tone. And you’ll find that you’ve pressed all the other tones on the way. So any other step of fifth gives us a new note. Get the note frequencies, then divide them by two until they’re in the same octave with the starting frequency. And there you got it – 12 notes in any given octave.

This equation shows the approximate equality of the values of 12 perfect fifth intervals and 7 octaves. If we use the just interval of 3/2 we get the small difference, that represents the Pythagorean comma.

In musical tuning, the Pythagorean comma (or ditonic comma), named after the ancient mathematician and philosopher Pythagoras, is the small interval (or comma) existing in Pythagorean tuning between two enharmonically equivalent notes such as C and B♯ (Play), or D♭ and C♯. It is equal to the frequency ratio. (1.5)12⁄27 =. 531441⁄524288 ≈ 1.01364, or about 23.46 cents, roughly a quarter of a semitone (in between 75:74 and 74:73).

12-Tone Equal Temperament

Twelve-tone equal temperament is the musical system that divides the octave into 12 parts, all of which are equally tempered (equally spaced) on a logarithmic scale, with a ratio equal to the 12th root of 2 (12√2 ≈ 1.05946). That resulting smallest interval, 1⁄12 the width of an octave, is called a semitone or half step.

Perfect fourth P4

[A4d] Ad
60000 px/sec
A 4P
ADA4P
DA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100001000000
1P
4P
5
# 2112
A
D

Perfect fourth is the inverse of the perfect fifth.

The perfect fourth may be derived from the harmonic series as the interval between the third and fourth harmonics. The term perfect identifies this interval as belonging to the group of perfect intervals, so called because they are neither major nor minor.

A perfect fourth in just intonation corresponds to a pitch ratio of 4:3, or about 498 cents, while in equal temperament a perfect fourth is equal to five semitones, or 500 cents.

The perfect fourth is a perfect interval like the unison, octave, and perfect fifth, and it is a sensory consonance. In common practice harmony, however, it is considered a stylistic dissonance in certain contexts, namely in two-voice textures and whenever it occurs "above the bass in chords with three or more notes". If the bass note also happens to be the chord's root, the interval's upper note almost always temporarily displaces the third of any chord, and, in the terminology used in popular music, is then called a suspended fourth.

Quartal and quintal harmony

In music, quartal harmony is the building of harmonic structures built from the intervals of the perfect fourth, the augmented fourth and the diminished fourth. For instance, a three-note quartal chord on C can be built by stacking perfect fourths, C–F–B♭.

Quintal harmony is harmonic structure preferring the perfect fifth, the augmented fifth and the diminished fifth. For instance, a three-note quintal chord on C can be built by stacking perfect fifths, C–G–D.

Regarding chords built from perfect fourths alone, composer Vincent Persichetti writes that:

Chords by perfect fourth are ambiguous in that, like all chords built by equidistant intervals (diminished seventh chords or augmented triads), any member can function as the root. The indifference of this rootless harmony to tonality places the burden of key verification upon the voice with the most active melodic line.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
Fifth and fourth
Perfect, but not equivalent intervals

Fifth P5

[A4e] Ae
60000 px/sec
A 5P
AEA5P
EA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000010000
1P
5P
7
# 2064
A
E

The second most harmonic interval is the fifth – a 3/2 of any given frequency. Pythagoras is claimed to be the first to use this law to construct pleasant musical notes combinations. This principle is foundational for the modern 12-TET equal temperament. Take the lowest starting frequency and go up in two ways:

  • multiplying it by two – stepping an octave above,
  • and also multiplying by 1.5 – stepping a fifth in a time.

After 7 octaves and 12 fifths you’ll end up on the same starting tone. And you’ll find that you’ve pressed all the other tones on the way. So any other step of fifth gives us a new note. Get the note frequencies, then divide them by two until they’re in the same octave with the starting frequency. And there you got it – 12 notes in any given octave.

This equation shows the approximate equality of the values of 12 perfect fifth intervals and 7 octaves. If we use the just interval of 3/2 we get the small difference, that represents the Pythagorean comma.

In musical tuning, the Pythagorean comma (or ditonic comma), named after the ancient mathematician and philosopher Pythagoras, is the small interval (or comma) existing in Pythagorean tuning between two enharmonically equivalent notes such as C and B♯ (Play), or D♭ and C♯. It is equal to the frequency ratio. (1.5)12⁄27 =. 531441⁄524288 ≈ 1.01364, or about 23.46 cents, roughly a quarter of a semitone (in between 75:74 and 74:73).

12-Tone Equal Temperament

Twelve-tone equal temperament is the musical system that divides the octave into 12 parts, all of which are equally tempered (equally spaced) on a logarithmic scale, with a ratio equal to the 12th root of 2 (12√2 ≈ 1.05946). That resulting smallest interval, 1⁄12 the width of an octave, is called a semitone or half step.

Perfect fourth P4

[A4d] Ad
60000 px/sec
A 4P
ADA4P
DA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100001000000
1P
4P
5
# 2112
A
D

Perfect fourth is the inverse of the perfect fifth.

The perfect fourth may be derived from the harmonic series as the interval between the third and fourth harmonics. The term perfect identifies this interval as belonging to the group of perfect intervals, so called because they are neither major nor minor.

A perfect fourth in just intonation corresponds to a pitch ratio of 4:3, or about 498 cents, while in equal temperament a perfect fourth is equal to five semitones, or 500 cents.

The perfect fourth is a perfect interval like the unison, octave, and perfect fifth, and it is a sensory consonance. In common practice harmony, however, it is considered a stylistic dissonance in certain contexts, namely in two-voice textures and whenever it occurs "above the bass in chords with three or more notes". If the bass note also happens to be the chord's root, the interval's upper note almost always temporarily displaces the third of any chord, and, in the terminology used in popular music, is then called a suspended fourth.

Quartal and quintal harmony

In music, quartal harmony is the building of harmonic structures built from the intervals of the perfect fourth, the augmented fourth and the diminished fourth. For instance, a three-note quartal chord on C can be built by stacking perfect fourths, C–F–B♭.

Quintal harmony is harmonic structure preferring the perfect fifth, the augmented fifth and the diminished fifth. For instance, a three-note quintal chord on C can be built by stacking perfect fifths, C–G–D.

Regarding chords built from perfect fourths alone, composer Vincent Persichetti writes that:

Chords by perfect fourth are ambiguous in that, like all chords built by equidistant intervals (diminished seventh chords or augmented triads), any member can function as the root. The indifference of this rootless harmony to tonality places the burden of key verification upon the voice with the most active melodic line.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/theory/intervals/index.html b/theory/intervals/index.html index 6f4a9b3f69..55bdb3a3c6 100644 --- a/theory/intervals/index.html +++ b/theory/intervals/index.html @@ -6,13 +6,13 @@ Intervals | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Intervals
Different kinds of relations between two notes

svg

Two notes sounding simultaneously or sequentially form the basic building block for all the emotional expressiveness of music. They form some kind of relationships that bring up some distinct feeling.

The most basic is the 1:2 ratio of an Unison and octave, that are foundational for cyclic nature of pitch class space. Perfect Fifth and Fourth are the foundational consonances that bring joy of the simple 2:3 and 3:4 ratios. This is the root of the 12 note system as a whole.

Thirds and Sixth are the imperfect consonances to evoke deeper feelings while the Seconds and Sevenths are the sharper dissonances to spice everything up. We'll explore the process of the Emancipation of dissonance to find out how did we get at this point in our pitch pairs interpretation. And how science finally got a measure for sound consonance. And take a brief look at some mathematical implications of building interval chains.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/intervals/second-seventh/index.html b/theory/intervals/second-seventh/index.html index 0b358dd997..05cf5e2554 100644 --- a/theory/intervals/second-seventh/index.html +++ b/theory/intervals/second-seventh/index.html @@ -6,20 +6,20 @@ Seconds and sevenths | Chromatone.center - + - - - - - - - - - - - + + + + + + + + + + + @@ -47,8 +47,8 @@ -
Chromatone logo
Seconds and sevenths
The rather dissonant shortest intervals

Second

Major second M2

[A4B] AB
60000 px/sec
A 2M
ABA2M
AB
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
101000000000
1P
2M
2
# 2560
A
B

A major second (sometimes also called whole tone or a whole step) is a second spanning two semitones. The major second is the interval that occurs between the first and second degrees of a major scale, the tonic and the supertonic.

On a musical keyboard, a major second is the interval between two keys separated by one key, counting white and black keys alike. On a guitar string, it is the interval separated by two frets. In moveable-do solfège, it is the interval between do and re. It is considered a melodic step, as opposed to larger intervals called skips.

In just intonation, major seconds can occur in at least two different frequency ratios: 9:8 (about 203.9 cents) major tone and 10:9 minor tone (about 182.4 cents). The largest (9:8) ones are called major tones or greater tones, the smallest (10:9) are called minor tones or lesser tones. Their size differs by exactly one syntonic comma (81:80, or about 21.5 cents). Some equal temperaments, such as 15-ET and 22-ET, also distinguish between a greater and a lesser tone.

The major tone may be derived from the harmonic series as the interval between the eighth and ninth harmonics. The minor tone may be derived from the harmonic series as the interval between the ninth and tenth harmonics.

In Pythagorean music theory, the epogdoon (Ancient Greek: ἐπόγδοον) is the interval with the ratio 9 to 8. The word is composed of the prefix epi- meaning "on top of" and ogdoon meaning "one eighth"; so it means "one eighth in addition".

Diagram showing relations between epogdoon, diatessaron, diapente, and diapason

Minor second m2

[A4_B] A_B
60000 px/sec
A 2m
AA#A2m
AA#Bb
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
110000000000
1P
2m
1
# 3072
A
A#

A semitone, also called a half step or a half tone, is the smallest musical interval commonly used in Western tonal music, and it is considered the most dissonant when sounded harmonically. It is defined as the interval between two adjacent notes in a 12-tone scale.

In twelve-tone equal temperament all semitones are equal in size (100 cents). In other tuning systems, "semitone" refers to a family of intervals that may vary both in size and name. In Pythagorean tuning, seven semitones out of twelve are diatonic, with ratio 256:243 or 90.2 cents (Pythagorean limma), and the other five are chromatic, with ratio 2187:2048 or 113.7 cents (Pythagorean apotome); they differ by the Pythagorean comma of ratio 531441:524288 or 23.5 cents. In quarter-comma meantone, seven of them are diatonic, and 117.1 cents wide, while the other five are chromatic, and 76.0 cents wide; they differ by the lesser diesis of ratio 128:125 or 41.1 cents. 12-tone scales tuned in just intonation typically define three or four kinds of semitones. For instance, Asymmetric five-limit tuning yields chromatic semitones with ratios 25:24 (70.7 cents) and 135:128 (92.2 cents), and diatonic semitones with ratios 16:15 (111.7 cents) and 27:25 (133.2 cents).

Melodically, this interval is very frequently used, and is of particular importance in cadences. In the perfect and deceptive cadences it appears as a resolution of the leading-tone to the tonic. In the plagal cadence, it appears as the falling of the subdominant to the mediant. It also occurs in many forms of the imperfect cadence, wherever the tonic falls to the leading-tone.

Harmonically, the interval usually occurs as some form of dissonance or a nonchord tone that is not part of the functional harmony. It may also appear in inversions of a major seventh chord, and in many added tone chords.

Minor seventh m7

[A4g] Ag
60000 px/sec
A 7m
AGA7m
GA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000000010
1P
7m
10
# 2050
A
G

The minor seventh spans ten semitones.

Minor seventh intervals rarely feature in melodies (and especially in their openings) but occur more often than major sevenths.

Consonance and dissonance are relative, depending on context, the minor seventh being defined as a dissonance requiring resolution to a consonance.

In just intonation there is both a 16:9 "small just minor seventh", also called the "Pythagorean small minor seventh", equivalent to two perfect fourths stacked on top of each other, and a 9:5 "large just minor seventh" equivalent to a perfect fifth and a minor third on top of each other.

Major seventh M7

[A4^g] A^g
60000 px/sec
A 7M
AG#A7M
AG#Ab
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000000001
1P
7M
11
# 2049
A
G#

The major seventh spans eleven semitones.

A major seventh in just intonation most often corresponds to a pitch ratio of 15:8 (About this soundplay (help·info)); in 12-tone equal temperament, a major seventh is equal to eleven semitones, or 1100 cents, about 12 cents wider than the 15:8 major seventh.

The major seventh interval is considered one of the most dissonant intervals after its inversion the minor second. For this reason, its melodic use is infrequent in classical music.

The major seventh chord is however very common in jazz, especially 'cool' jazz, and has a characteristically soft and sweet sound.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
Seconds and sevenths
The rather dissonant shortest intervals

Second

Major second M2

[A4B] AB
60000 px/sec
A 2M
ABA2M
AB
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
101000000000
1P
2M
2
# 2560
A
B

A major second (sometimes also called whole tone or a whole step) is a second spanning two semitones. The major second is the interval that occurs between the first and second degrees of a major scale, the tonic and the supertonic.

On a musical keyboard, a major second is the interval between two keys separated by one key, counting white and black keys alike. On a guitar string, it is the interval separated by two frets. In moveable-do solfège, it is the interval between do and re. It is considered a melodic step, as opposed to larger intervals called skips.

In just intonation, major seconds can occur in at least two different frequency ratios: 9:8 (about 203.9 cents) major tone and 10:9 minor tone (about 182.4 cents). The largest (9:8) ones are called major tones or greater tones, the smallest (10:9) are called minor tones or lesser tones. Their size differs by exactly one syntonic comma (81:80, or about 21.5 cents). Some equal temperaments, such as 15-ET and 22-ET, also distinguish between a greater and a lesser tone.

The major tone may be derived from the harmonic series as the interval between the eighth and ninth harmonics. The minor tone may be derived from the harmonic series as the interval between the ninth and tenth harmonics.

In Pythagorean music theory, the epogdoon (Ancient Greek: ἐπόγδοον) is the interval with the ratio 9 to 8. The word is composed of the prefix epi- meaning "on top of" and ogdoon meaning "one eighth"; so it means "one eighth in addition".

Diagram showing relations between epogdoon, diatessaron, diapente, and diapason

Minor second m2

[A4_B] A_B
60000 px/sec
A 2m
AA#A2m
AA#Bb
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
110000000000
1P
2m
1
# 3072
A
A#

A semitone, also called a half step or a half tone, is the smallest musical interval commonly used in Western tonal music, and it is considered the most dissonant when sounded harmonically. It is defined as the interval between two adjacent notes in a 12-tone scale.

In twelve-tone equal temperament all semitones are equal in size (100 cents). In other tuning systems, "semitone" refers to a family of intervals that may vary both in size and name. In Pythagorean tuning, seven semitones out of twelve are diatonic, with ratio 256:243 or 90.2 cents (Pythagorean limma), and the other five are chromatic, with ratio 2187:2048 or 113.7 cents (Pythagorean apotome); they differ by the Pythagorean comma of ratio 531441:524288 or 23.5 cents. In quarter-comma meantone, seven of them are diatonic, and 117.1 cents wide, while the other five are chromatic, and 76.0 cents wide; they differ by the lesser diesis of ratio 128:125 or 41.1 cents. 12-tone scales tuned in just intonation typically define three or four kinds of semitones. For instance, Asymmetric five-limit tuning yields chromatic semitones with ratios 25:24 (70.7 cents) and 135:128 (92.2 cents), and diatonic semitones with ratios 16:15 (111.7 cents) and 27:25 (133.2 cents).

Melodically, this interval is very frequently used, and is of particular importance in cadences. In the perfect and deceptive cadences it appears as a resolution of the leading-tone to the tonic. In the plagal cadence, it appears as the falling of the subdominant to the mediant. It also occurs in many forms of the imperfect cadence, wherever the tonic falls to the leading-tone.

Harmonically, the interval usually occurs as some form of dissonance or a nonchord tone that is not part of the functional harmony. It may also appear in inversions of a major seventh chord, and in many added tone chords.

Minor seventh m7

[A4g] Ag
60000 px/sec
A 7m
AGA7m
GA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000000010
1P
7m
10
# 2050
A
G

The minor seventh spans ten semitones.

Minor seventh intervals rarely feature in melodies (and especially in their openings) but occur more often than major sevenths.

Consonance and dissonance are relative, depending on context, the minor seventh being defined as a dissonance requiring resolution to a consonance.

In just intonation there is both a 16:9 "small just minor seventh", also called the "Pythagorean small minor seventh", equivalent to two perfect fourths stacked on top of each other, and a 9:5 "large just minor seventh" equivalent to a perfect fifth and a minor third on top of each other.

Major seventh M7

[A4^g] A^g
60000 px/sec
A 7M
AG#A7M
AG#Ab
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000000001
1P
7M
11
# 2049
A
G#

The major seventh spans eleven semitones.

A major seventh in just intonation most often corresponds to a pitch ratio of 15:8 (About this soundplay (help·info)); in 12-tone equal temperament, a major seventh is equal to eleven semitones, or 1100 cents, about 12 cents wider than the 15:8 major seventh.

The major seventh interval is considered one of the most dissonant intervals after its inversion the minor second. For this reason, its melodic use is infrequent in classical music.

The major seventh chord is however very common in jazz, especially 'cool' jazz, and has a characteristically soft and sweet sound.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/theory/intervals/third-sixth/index.html b/theory/intervals/third-sixth/index.html index 213741ddcb..6d80e2412a 100644 --- a/theory/intervals/third-sixth/index.html +++ b/theory/intervals/third-sixth/index.html @@ -6,20 +6,20 @@ Third and sixth | Chromatone.center - + - - - - - - - - - - - + + + + + + + + + + + @@ -47,8 +47,8 @@ -
Chromatone logo
Third and sixth
The imperfect consonant intervals

Major third M3

[A^c] A^c
60000 px/sec
A 3M
AC#A3M
AC#Db
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100010000000
1P
3M
4
# 2176
A
C#

The major third may be derived from the harmonic series as the interval between the fourth and fifth harmonics. The major third is classed as an imperfect consonance and is considered one of the most consonant intervals after the unison, octave, perfect fifth, and perfect fourth.

A major third is slightly different in different musical tunings:

  • in just intonation corresponds to a pitch ratio of 5:4 (fifth harmonic in relation to the fourth) or 386.31 cents;
  • in equal temperament, a major third is equal to four semitones, a ratio of 21/3:1 (about 1.2599) or 400 cents, 13.69 cents wider than the 5:4 ratio.
  • The older concept of a ditone (two 9:8 major seconds) made a dissonantly wide major third with the ratio 81:64 (408 cents).
  • The septimal major third is 9:7 (435 cents), the undecimal major third is 14:11 (418 cents), and the tridecimal major third is 13:10 (452 cents).

In equal temperament three major thirds in a row are equal to an octave (for example, A♭ to C, C to E, and E to G♯; G♯ and A♭ represent the same note). This is sometimes called the "circle of thirds". In just intonation, however, three 5:4 major third, the 125th subharmonic, is less than an octave. For example, three 5:4 major thirds from C is B♯ (C to E to G♯ to B♯) (B♯ = 5^3 / 2^6 = 125 / 64 ). The difference between this just-tuned B♯ and C, like that between G♯ and A♭, is called the "enharmonic diesis", about 41 cents (the inversion of the 125/64 interval: 128 / 125 = 2^7 / 3^3 ).

Minor third m3

[A4c] Ac
60000 px/sec
A 3m
ACA3m
CA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100100000000
1P
3m
3
# 2304
A
C

A minor third is a musical interval that encompasses three half steps, or semitones. It is called minor because it is the smaller of the two: the major third spans an additional semitone.

The minor third may be derived from the harmonic series as the interval between the fifth and sixth harmonics, or from the 19th harmonic. The minor third is also obtainable in reference to a fundamental note from the undertone series, while the major third is obtainable as such from the overtone series. The 12-TET minor third (300 cents) more closely approximates the nineteenth harmonic with only 2.49 cents error.

  • A minor third, in just intonation, corresponds to a pitch ratio of 6:5 or 315.64 cents.
  • In an equal tempered tuning, a minor third is equal to three semitones, a ratio of 2^1/4:1 (about 1.189), or 300 cents, 15.64 cents narrower than the 6:5 ratio.

The minor third is commonly used to express sadness in music, and research shows that this mirrors its use in speech, as a tone similar to a minor third is produced during sad speech.

Minor sixth m6

[A4f] Af
60000 px/sec
A 6m
AFA6m
FA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000001000
1P
6m
8
# 2056
A
F

Minor sixth is the inverse the major third.

In the common practice period, sixths were considered interesting and dynamic consonances along with their inverses the thirds.

In just intonation multiple definitions of a minor sixth can exist:

  • In 3-limit tuning, i.e. Pythagorean tuning, the minor sixth is the ratio 128:81, or 792.18 cents, i.e. 7.82 cents flatter than the 12-ET-minor sixth. This is denoted with a "-" (minus) sign (see figure).

  • In 5-limit tuning, a minor sixth most often corresponds to a pitch ratio of 8:5 or 814 cents; i.e. 13.7 cents sharper than the 12-ET-minor sixth.

  • In 11-limit tuning, the 11:7 undecimal minor sixth is 782.49 cents.

In the common practice period, sixths were considered interesting and dynamic consonances along with their inverses the thirds, but in medieval times they were considered dissonances unusable in a stable final sonority. In that period they were tuned to the flatter Pythagorean minor sixth of 128:81. In 5-limit just intonation, the minor sixth of 8:5 is classed as a consonance.

Major sixth M6

[A4^f] A^f
60000 px/sec
A 6M
AF#A6M
AF#Gb
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000000100
1P
6M
9
# 2052
A
F#

Major sixth is the inverse the minor third.

The major sixth spans nine semitones. It is a sixth because it encompasses six note letter names (C, D, E, F, G, A) and six staff positions.

The major sixth is one of the consonances of common practice music, along with the unison, octave, perfect fifth, major and minor thirds, minor sixth, and (sometimes) the perfect fourth. In the common practice period, sixths were considered interesting and dynamic consonances along with their inverses the thirds. In medieval times theorists always described them as Pythagorean major sixths of 27/16 and therefore considered them dissonances unusable in a stable final sonority. We cannot know how major sixths actually were sung in the Middle Ages. In just intonation, the (5/3) major sixth is classed as a consonance of the 5-limit.

The nineteenth subharmonic is a major sixth, 32/19 = 902.49 cents.

  • In just intonation, the most common major sixth is the pitch ratio of 5:3 , approximately 884 cents.
  • In 12-tone equal temperament, a major sixth is equal to nine semitones, exactly 900 cents, with a frequency ratio of the (9/12) root of 2 over 1.
  • Another major sixth is the Pythagorean major sixth with a ratio of 27:16, approximately 906 cents,[4] called "Pythagorean" because it can be constructed from three just perfect fifths (C-A = C-G-D-A = 702+702+702-1200=906). It corresponds to the interval between the 27th and the 16th harmonics.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
Third and sixth
The imperfect consonant intervals

Major third M3

[A^c] A^c
60000 px/sec
A 3M
AC#A3M
AC#Db
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100010000000
1P
3M
4
# 2176
A
C#

The major third may be derived from the harmonic series as the interval between the fourth and fifth harmonics. The major third is classed as an imperfect consonance and is considered one of the most consonant intervals after the unison, octave, perfect fifth, and perfect fourth.

A major third is slightly different in different musical tunings:

  • in just intonation corresponds to a pitch ratio of 5:4 (fifth harmonic in relation to the fourth) or 386.31 cents;
  • in equal temperament, a major third is equal to four semitones, a ratio of 21/3:1 (about 1.2599) or 400 cents, 13.69 cents wider than the 5:4 ratio.
  • The older concept of a ditone (two 9:8 major seconds) made a dissonantly wide major third with the ratio 81:64 (408 cents).
  • The septimal major third is 9:7 (435 cents), the undecimal major third is 14:11 (418 cents), and the tridecimal major third is 13:10 (452 cents).

In equal temperament three major thirds in a row are equal to an octave (for example, A♭ to C, C to E, and E to G♯; G♯ and A♭ represent the same note). This is sometimes called the "circle of thirds". In just intonation, however, three 5:4 major third, the 125th subharmonic, is less than an octave. For example, three 5:4 major thirds from C is B♯ (C to E to G♯ to B♯) (B♯ = 5^3 / 2^6 = 125 / 64 ). The difference between this just-tuned B♯ and C, like that between G♯ and A♭, is called the "enharmonic diesis", about 41 cents (the inversion of the 125/64 interval: 128 / 125 = 2^7 / 3^3 ).

Minor third m3

[A4c] Ac
60000 px/sec
A 3m
ACA3m
CA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100100000000
1P
3m
3
# 2304
A
C

A minor third is a musical interval that encompasses three half steps, or semitones. It is called minor because it is the smaller of the two: the major third spans an additional semitone.

The minor third may be derived from the harmonic series as the interval between the fifth and sixth harmonics, or from the 19th harmonic. The minor third is also obtainable in reference to a fundamental note from the undertone series, while the major third is obtainable as such from the overtone series. The 12-TET minor third (300 cents) more closely approximates the nineteenth harmonic with only 2.49 cents error.

  • A minor third, in just intonation, corresponds to a pitch ratio of 6:5 or 315.64 cents.
  • In an equal tempered tuning, a minor third is equal to three semitones, a ratio of 2^1/4:1 (about 1.189), or 300 cents, 15.64 cents narrower than the 6:5 ratio.

The minor third is commonly used to express sadness in music, and research shows that this mirrors its use in speech, as a tone similar to a minor third is produced during sad speech.

Minor sixth m6

[A4f] Af
60000 px/sec
A 6m
AFA6m
FA
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000001000
1P
6m
8
# 2056
A
F

Minor sixth is the inverse the major third.

In the common practice period, sixths were considered interesting and dynamic consonances along with their inverses the thirds.

In just intonation multiple definitions of a minor sixth can exist:

  • In 3-limit tuning, i.e. Pythagorean tuning, the minor sixth is the ratio 128:81, or 792.18 cents, i.e. 7.82 cents flatter than the 12-ET-minor sixth. This is denoted with a "-" (minus) sign (see figure).

  • In 5-limit tuning, a minor sixth most often corresponds to a pitch ratio of 8:5 or 814 cents; i.e. 13.7 cents sharper than the 12-ET-minor sixth.

  • In 11-limit tuning, the 11:7 undecimal minor sixth is 782.49 cents.

In the common practice period, sixths were considered interesting and dynamic consonances along with their inverses the thirds, but in medieval times they were considered dissonances unusable in a stable final sonority. In that period they were tuned to the flatter Pythagorean minor sixth of 128:81. In 5-limit just intonation, the minor sixth of 8:5 is classed as a consonance.

Major sixth M6

[A4^f] A^f
60000 px/sec
A 6M
AF#A6M
AF#Gb
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000000100
1P
6M
9
# 2052
A
F#

Major sixth is the inverse the minor third.

The major sixth spans nine semitones. It is a sixth because it encompasses six note letter names (C, D, E, F, G, A) and six staff positions.

The major sixth is one of the consonances of common practice music, along with the unison, octave, perfect fifth, major and minor thirds, minor sixth, and (sometimes) the perfect fourth. In the common practice period, sixths were considered interesting and dynamic consonances along with their inverses the thirds. In medieval times theorists always described them as Pythagorean major sixths of 27/16 and therefore considered them dissonances unusable in a stable final sonority. We cannot know how major sixths actually were sung in the Middle Ages. In just intonation, the (5/3) major sixth is classed as a consonance of the 5-limit.

The nineteenth subharmonic is a major sixth, 32/19 = 902.49 cents.

  • In just intonation, the most common major sixth is the pitch ratio of 5:3 , approximately 884 cents.
  • In 12-tone equal temperament, a major sixth is equal to nine semitones, exactly 900 cents, with a frequency ratio of the (9/12) root of 2 over 1.
  • Another major sixth is the Pythagorean major sixth with a ratio of 27:16, approximately 906 cents,[4] called "Pythagorean" because it can be constructed from three just perfect fifths (C-A = C-G-D-A = 702+702+702-1200=906). It corresponds to the interval between the 27th and the 16th harmonics.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/theory/intervals/unison-octave/index.html b/theory/intervals/unison-octave/index.html index 4da7422b8d..1eb83650c2 100644 --- a/theory/intervals/unison-octave/index.html +++ b/theory/intervals/unison-octave/index.html @@ -6,20 +6,20 @@ Unison and octave | Chromatone.center - + - - - - - - - - - - - + + + + + + + + + + + @@ -47,8 +47,8 @@ -
Chromatone logo
Unison and octave
Intervals inside the same pitch class

Unison P1

[A4A4] AA
60000 px/sec
A
AA
A
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000000000
1P
# 2048
A

Unison is two or more musical parts that sound either the same pitch or pitches separated by intervals of one or more octaves, usually at the same time.

Unison or perfect unison (also called a prime, or perfect prime) may refer to the (pseudo-)interval formed by a tone and its duplication (in German, Unisono, Einklang, or Prime), for example C–C, as differentiated from the second, C–D, etc. In the unison the two pitches have the ratio of 1:1 or 0 half steps and zero cents. Although two tones in unison are considered to be the same pitch, they are still perceivable as coming from separate sources, whether played on instruments of a different type or of the same type. This is because a pair of tones in unison come from different locations or can have different "colors" (timbres), i.e. come from different musical instruments or human voices. Voices with different colors have, as sound waves, different waveforms. These waveforms have the same fundamental frequency but differ in the amplitudes of their higher harmonics. The unison is considered the most consonant interval while the near unison is considered the most dissonant. The unison is also the easiest interval to tune. The unison is abbreviated as "P1".

Octave P8

[A4a] Aa

An octave (Latin: octavus: eighth) or perfect octave (sometimes called the diapason) is the interval between one musical pitch and another with double its frequency. The octave relationship is a natural phenomenon that has been referred to as the "basic miracle of music," the use of which is "common in most musical systems." The interval between the first and second harmonics of the harmonic series is an octave.

Any two musical notes with fundamental frequencies in a ratio equal to 2n (n is any integer) are perceived as very similar and represent the simplest interval in music – an octave. Human pitch perception is periodic so that “color” or chroma of all the notes that are an octave apart seem circularly equivalent and brings them together into one pitch class.

To emphasize that it is one of the perfect intervals (including unison, perfect fourth, and perfect fifth), the octave is designated P8.

Notation

Octaves are identified with various naming systems. Among the most common are the scientific, Helmholtz, organ pipe, and MIDI note systems. In scientific pitch notation, a specific octave is indicated by a numerical subscript number after note name. In this notation, middle C is C4, because of the note's position as the fourth C key on a standard 88-key piano keyboard, while the C an octave higher is C5.

Octave equivalence

After the unison, the octave is the simplest interval in music. The human ear tends to hear both notes as being essentially "the same", due to closely related harmonics. Notes separated by an octave "ring" together, adding a pleasing sound to music. The interval is so natural to humans that when men and women are asked to sing in unison, they typically sing in octave.

For this reason, notes an octave apart are given the same note name in the Western system of music notation—the name of a note an octave above A is also A. This is called octave equivalence, the assumption that pitches one or more octaves apart are musically equivalent in many ways, leading to the convention "that scales are uniquely defined by specifying the intervals within an octave". The conceptualization of pitch as having two dimensions, pitch height (absolute frequency) and pitch class (relative position within the octave), inherently include octave circularity. Thus all C♯s, or all 1s (if C = 0), in any octave are part of the same pitch class.

A pitch class (p.c. or pc) is a set of all pitches that are a whole number of octaves apart, e.g., the pitch class A consists of the As in all octaves. "The pitch class A stands for all possible As, in whatever octave position."

Although there is no formal upper or lower limit to this sequence, only a few of these pitches are audible to the human ear. Yet we can imagine seeing the 40th octave as the frequency gets to the visual spectrum.

Pitch class is important because human pitch-perception is periodic: pitches belonging to the same pitch class are perceived as having a similar quality or color, a property called "octave equivalence".

Psychologists refer to the quality of a pitch as its "chroma". A chroma is an attribute of pitches (as opposed to tone height), just like hue is an attribute of color. A pitch class is a set of all pitches that share the same chroma, just like "the set of all yellow things" is the collection of all yellow objects.

Pitch class space

In music theory, pitch-class space is the circular space representing all the notes (pitch classes) in a musical octave. In this space, there is no distinction between tones that are separated by an integral number of octaves. For example, C4, C5, and C6, though different pitches, are represented by the same point in pitch class space.

Since pitch-class space is a circle, we return to our starting point by taking a series of steps in the same direction: beginning with C, we can move "upward" in pitch-class space, through the pitch classes C♯, D, D♯, E, F, F♯, G, G♯, A, A♯, and B, returning finally to C. By contrast, pitch space is a linear space: the more steps we take in a single direction, the further we get from our starting point.

Deutsch and Feroe (1981), and Lerdahl and Jackendoff (1983) use a "reductional format" to represent the perception of pitch-class relations in tonal contexts. These two-dimensional models resemble bar graphs, using height to represent a pitch class's degree of importance or centricity. Lerdahl's version uses five levels: the first (highest) contains only the tonic, the second contains tonic and dominant, the third contains tonic, mediant, and dominant, the fourth contains all the notes of the diatonic scale, and the fifth contains the chromatic scale. In addition to representing centricity or importance, the individual levels are also supposed to represent "alphabets" that describe the melodic possibilities in tonal music (Lerdahl 2001, 44–46). The model asserts that tonal melodies will be cognized in terms of one of the five levels a-e:

Level a: C C Level b: C G C Level c: C E G C Level d: C D E F G A B C Level e: C D♭ D E♭ E F F♯ G A♭ A B♭ B C

(Lerdahl 1992, 113)

Note that Lerdahl's model is meant to be cyclical, with its right edge identical to its left. One could therefore display Lerdahl's graph as a series of five concentric circles representing the five melodic "alphabets." In this way one could unite the circular representation depicted at the beginning of this article with Lerdahl's flat two-dimensional representation depicted above.

According to David Kopp (2002, 1), "Harmonic space, or tonal space as defined by Fred Lerdahl, is the abstract nexus of possible normative harmonic connections in a system, as opposed to the actual series of temporal connections in a realized work, linear or otherwise."

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- +
Chromatone logo
Unison and octave
Intervals inside the same pitch class

Unison P1

[A4A4] AA
60000 px/sec
A
AA
A
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
100000000000
1P
# 2048
A

Unison is two or more musical parts that sound either the same pitch or pitches separated by intervals of one or more octaves, usually at the same time.

Unison or perfect unison (also called a prime, or perfect prime) may refer to the (pseudo-)interval formed by a tone and its duplication (in German, Unisono, Einklang, or Prime), for example C–C, as differentiated from the second, C–D, etc. In the unison the two pitches have the ratio of 1:1 or 0 half steps and zero cents. Although two tones in unison are considered to be the same pitch, they are still perceivable as coming from separate sources, whether played on instruments of a different type or of the same type. This is because a pair of tones in unison come from different locations or can have different "colors" (timbres), i.e. come from different musical instruments or human voices. Voices with different colors have, as sound waves, different waveforms. These waveforms have the same fundamental frequency but differ in the amplitudes of their higher harmonics. The unison is considered the most consonant interval while the near unison is considered the most dissonant. The unison is also the easiest interval to tune. The unison is abbreviated as "P1".

Octave P8

[A4a] Aa

An octave (Latin: octavus: eighth) or perfect octave (sometimes called the diapason) is the interval between one musical pitch and another with double its frequency. The octave relationship is a natural phenomenon that has been referred to as the "basic miracle of music," the use of which is "common in most musical systems." The interval between the first and second harmonics of the harmonic series is an octave.

Any two musical notes with fundamental frequencies in a ratio equal to 2n (n is any integer) are perceived as very similar and represent the simplest interval in music – an octave. Human pitch perception is periodic so that “color” or chroma of all the notes that are an octave apart seem circularly equivalent and brings them together into one pitch class.

To emphasize that it is one of the perfect intervals (including unison, perfect fourth, and perfect fifth), the octave is designated P8.

Notation

Octaves are identified with various naming systems. Among the most common are the scientific, Helmholtz, organ pipe, and MIDI note systems. In scientific pitch notation, a specific octave is indicated by a numerical subscript number after note name. In this notation, middle C is C4, because of the note's position as the fourth C key on a standard 88-key piano keyboard, while the C an octave higher is C5.

Octave equivalence

After the unison, the octave is the simplest interval in music. The human ear tends to hear both notes as being essentially "the same", due to closely related harmonics. Notes separated by an octave "ring" together, adding a pleasing sound to music. The interval is so natural to humans that when men and women are asked to sing in unison, they typically sing in octave.

For this reason, notes an octave apart are given the same note name in the Western system of music notation—the name of a note an octave above A is also A. This is called octave equivalence, the assumption that pitches one or more octaves apart are musically equivalent in many ways, leading to the convention "that scales are uniquely defined by specifying the intervals within an octave". The conceptualization of pitch as having two dimensions, pitch height (absolute frequency) and pitch class (relative position within the octave), inherently include octave circularity. Thus all C♯s, or all 1s (if C = 0), in any octave are part of the same pitch class.

A pitch class (p.c. or pc) is a set of all pitches that are a whole number of octaves apart, e.g., the pitch class A consists of the As in all octaves. "The pitch class A stands for all possible As, in whatever octave position."

Although there is no formal upper or lower limit to this sequence, only a few of these pitches are audible to the human ear. Yet we can imagine seeing the 40th octave as the frequency gets to the visual spectrum.

Pitch class is important because human pitch-perception is periodic: pitches belonging to the same pitch class are perceived as having a similar quality or color, a property called "octave equivalence".

Psychologists refer to the quality of a pitch as its "chroma". A chroma is an attribute of pitches (as opposed to tone height), just like hue is an attribute of color. A pitch class is a set of all pitches that share the same chroma, just like "the set of all yellow things" is the collection of all yellow objects.

Pitch class space

In music theory, pitch-class space is the circular space representing all the notes (pitch classes) in a musical octave. In this space, there is no distinction between tones that are separated by an integral number of octaves. For example, C4, C5, and C6, though different pitches, are represented by the same point in pitch class space.

Since pitch-class space is a circle, we return to our starting point by taking a series of steps in the same direction: beginning with C, we can move "upward" in pitch-class space, through the pitch classes C♯, D, D♯, E, F, F♯, G, G♯, A, A♯, and B, returning finally to C. By contrast, pitch space is a linear space: the more steps we take in a single direction, the further we get from our starting point.

Deutsch and Feroe (1981), and Lerdahl and Jackendoff (1983) use a "reductional format" to represent the perception of pitch-class relations in tonal contexts. These two-dimensional models resemble bar graphs, using height to represent a pitch class's degree of importance or centricity. Lerdahl's version uses five levels: the first (highest) contains only the tonic, the second contains tonic and dominant, the third contains tonic, mediant, and dominant, the fourth contains all the notes of the diatonic scale, and the fifth contains the chromatic scale. In addition to representing centricity or importance, the individual levels are also supposed to represent "alphabets" that describe the melodic possibilities in tonal music (Lerdahl 2001, 44–46). The model asserts that tonal melodies will be cognized in terms of one of the five levels a-e:

Level a: C C Level b: C G C Level c: C E G C Level d: C D E F G A B C Level e: C D♭ D E♭ E F F♯ G A♭ A B♭ B C

(Lerdahl 1992, 113)

Note that Lerdahl's model is meant to be cyclical, with its right edge identical to its left. One could therefore display Lerdahl's graph as a series of five concentric circles representing the five melodic "alphabets." In this way one could unite the circular representation depicted at the beginning of this article with Lerdahl's flat two-dimensional representation depicted above.

According to David Kopp (2002, 1), "Harmonic space, or tonal space as defined by Fred Lerdahl, is the abstract nexus of possible normative harmonic connections in a system, as opposed to the actual series of temporal connections in a realized work, linear or otherwise."

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
+ \ No newline at end of file diff --git a/theory/melody/articulation/index.html b/theory/melody/articulation/index.html index 591e27842e..0af34cb769 100644 --- a/theory/melody/articulation/index.html +++ b/theory/melody/articulation/index.html @@ -6,13 +6,13 @@ Articulation and ornamentation | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Articulation and ornamentation
String techniques and way to play

Articulation elements

String technique instructions

Ornamentation

https://en.wikipedia.org/wiki/Ornament_(music)

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/melody/drone/index.html b/theory/melody/drone/index.html index edfac7aa15..32716c1a0d 100644 --- a/theory/melody/drone/index.html +++ b/theory/melody/drone/index.html @@ -6,13 +6,13 @@ Drone | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Drone
A harmonic or monophonic effect or accompaniment where a note or chord is continuously sounded throughout most or all of a piece

A drone is a harmonic or monophonic effect or accompaniment where a note or chord is continuously sounded throughout most or all of a piece. A drone may also be any part of a musical instrument used to produce this effect; an archaic term for this is burden (bourdon or burdon) such as a "drone [pipe] of a bagpipe", the pedal point in an organ, or the lowest course of a lute. Α burden is also part of a song that is repeated at the end of each stanza, such as the chorus or refrain.

Musical effect

"Of all harmonic devices, it [a drone] is not only the simplest, but probably also the most fertile."

A drone effect can be achieved through a sustained sound or through repetition of a note. It most often establishes a tonality upon which the rest of the piece is built. A drone can be instrumental, vocal or both. Drone (both instrumental and vocal) can be placed in different ranges of the polyphonic texture: in the lowest part, in the highest part, or in the middle. The drone is most often placed upon the tonic or dominant. A drone on the same pitch as a melodic note tends to both hide that note and to bring attention to it by increasing its importance.

A drone differs from a pedal tone or point in degree or quality. A pedal point may be a form of nonchord tone and thus required to resolve unlike a drone, or a pedal point may simply be considered a shorter drone, a drone being a longer pedal point.

History and distribution

A Lady Playing the Tanpura, ca. 1735.

The systematic use of drones originated in instrumental music of ancient Southwest Asia, and spread north and west to Europe, east to India, and south to Africa. It is used in Indian music and is played with the tanpura (or tambura) and other Indian drone instruments like the ottu, the ektar, the dotara (or dotar; dutar in Persian Central Asia), the surpeti, the surmandal (or swarmandal) and the shankh (conch shell). Most of the types of bagpipes that exist worldwide have up to three drones, making this one of the first instruments that comes to mind when speaking of drone music. In America, most forms of the African-influenced banjo contain a drone string. Since the 1960s, the drone has become a prominent feature in drone music and other forms of avant-garde music.

In vocal music drone is particularly widespread in traditional musical cultures, particularly in Europe, Polynesia and Melanesia. It is also present in some isolated regions of Asia (like among Pearl-divers in the Persian Gulf, some national minorities of South-West China, Taiwan, Vietnam, and Afghanistan).

Part(s) of a musical instrument

Highland bagpipes, with drone pipes over the pipers' left shoulders

Drone is also the term for the part of a musical instrument intended to produce the drone effect's sustained pitch, generally without the ongoing attention of the player. Different melodic Indian instruments (e.g. the sitar, the sarod, the sarangi and the rudra veena) contain a drone. For example, the sitar features three or four resonating drone strings, and Indian notes (sargam) are practiced to a drone. Bagpipes (like the Great Highland Bagpipe and the Zampogna) feature a number of drone pipes, giving the instruments their characteristic sounds. A hurdy-gurdy has one or more drone strings. The fifth string on a five-string banjo is a drone string with a separate tuning peg that places the end of the string five frets down the neck of the instrument; this string is usually tuned to the same note as that which the first string produces when played at the fifth fret, and the drone string is seldom fretted. The bass strings of the Slovenian drone zither also freely resonate as a drone. The Welsh Crwth also features two drone strings.

Use in musical compositions

Composers of Western classical music occasionally used a drone (especially one on open fifths) to evoke a rustic or archaic atmosphere, perhaps echoing that of Scottish or other early or folk music. Examples include the following:

  • Haydn, Symphony No. 104, "London", opening of finale, accompanying a folk melody
  • Beethoven, Symphony No. 6, "Pastoral", opening and trio section of scherzo
  • Mendelssohn, Symphony No. 3 in A minor, opus 56, 'Scottish', especially the finale.
  • Chopin, Mazurkas, Op. 7: all five contain a drone.
  • Berlioz, Harold in Italy, accompanying oboes as they imitate the piffero of Italian peasants
  • Richard Strauss, Also sprach Zarathustra, Introduction: the opening grows out of a drone effect in the orchestra.
  • Mahler, Symphony No. 1, introduction; a seven-octave drone on A evokes "the awakening of nature at the earliest dawn"
  • Bartók, in his adaptations for piano of Hungarian and other folk music

The best-known drone piece in the concert repertory is the Prelude to Wagner's Das Rheingold (1854) wherein low horns and bass instruments sustain an E♭ throughout the entire movement. The atmospheric ostinato effect that opens Beethoven's Ninth Symphony, which inspired similar gestures in the opening of all the symphonies of Anton Bruckner, represents a gesture derivative of drones.

One consideration for composers of common practice keyboard music was equal temperament. The adjustments lead to slight mistunings as heard against a sustained drone. Even so, drones have often been used to spotlight dissonance purposefully.

Modern concert musicians make frequent use of drones, often with just or other non-equal tempered tunings. Drones are a regular feature in the music of composers indebted to the chant tradition, such as Arvo Pärt, Sofia Gubaidulina, and John Tavener. The single-tones that provided the impetus for minimalism through the music of La Monte Young and many of his students qualify as drones. David First, the band Coil, the early experimental compilations of John Cale (Sun Blindness Music, Dream Interpretation, and Stainless Gamelan), Pauline Oliveros and Stuart Dempster, Alvin Lucier (Music On A Long Thin Wire), Ellen Fullman, Lawrence Chandler and Arnold Dreyblatt all make notable use of drones. The music of Italian composer Giacinto Scelsi is essentially drone-based. Shorter drones or the general concept of a continuous element are often used by many other composers. Other composers whose music is entirely based on drones include Charlemagne Palestine and Phill Niblock. The Immovable Do by Percy Grainger contains a sustained high C (heard in the upper woodwinds) that lasts for the entirety of the piece. Drone pieces also include Loren Rush's Hard Music (1970) and Folke Rabe's Was?? (1968), as well as Robert Erickson's Down at Piraeus. The avant-garde guitarist Glenn Branca also used drones extensively. French singer Camille uses a continuous B throughout her album Le_Fil.

Drones continue to be characteristic of folk music. Early songs by Bob Dylan employ the effect with a retuned guitar in "Masters of War" and "Mr. Tambourine Man". The song "You Will Be My Ain True Love", written by Sting for the 2003 movie Cold Mountain and performed by Alison Krauss and Sting, uses drone bass.

Drones are used widely in the blues and blues-derived genres. Jerry Lee Lewis featured drones in solos and fills. Drones were virtually absent in original rock and roll music, but gained popularity after the Beatles used drones in a few popular compositions (for example, "Blackbird" has a drone in the middle of a texture throughout the whole song, "Tomorrow Never Knows" makes use of tambura). They also used high drone for the dramatic effect in some sections of several of their compositions (like the last verses of "Yesterday" and "Eleanor Rigby"). The rock band U2 uses drones in their compositions particularly widely. In the Led Zeppelin song "In The Light", a keyboard drone is used throughout the song, mostly in the intro.

Use for musical training

Drones are used by a number of music education programs for ear training and pitch awareness, as well as a way to improvise ensemble music. A shruti box is often used by vocalists in this style of musical training. Drones, owing to their acoustic properties and following their longstanding use in ritual and chant, can be useful in constructing aural structures outside common practice expectations of harmony and melody.

Shruti box

A shruti box (sruti box or surpeti) is an instrument, originating from the Indian subcontinent, that traditionally works on a system of bellows. It is similar to a harmonium and is used to provide a drone in a practice session or concert of Indian classical music. It is used as an accompaniment to other instruments and notably the flute. The shruti box is also used in classical singing. In classical singing, the shruti box is used to help tune the voice. The use of the shruti box has widened with the cross-cultural influences of world music and new-age music to provide a drone for many other instruments as well as vocalists.

Adjustable buttons allow tuning. Nowadays, electronic shruti boxes are commonly used, which are called shruthi pettige in Kannada, shruti petti in Tamil and Telugu and sur peti in Hindi. Recent versions also allow for changes to be made in the tempo, and the notes such as Madhyamam, Nishadam to be played in place of the usual three notes (i.e., Lower shadjam, panchamam, and the upper shadjam)

History

Before the arrival of the harmonium in the Indian subcontinent, musicians used either a tambura or a specific pitch reference instrument, such as the nadaswaram, to produce the drone. Some forms of music such as Yakshagana used the pungi reedpipe as drone. After the Western small pump harmonium became popular, musicians would modify the harmonium to automatically produce the reference pitch. Typically, one would open up the cover and adjust the stop of the harmonium to produce a drone.

Later, a keyless version of the harmonium was invented for the specific purpose of producing the drone sound. It was given the name shruti box or sruti box. These types of instruments had controls on the top or on the side of the box for controlling the pitch.

The shruti box is enjoying a renaissance in the West amongst traditional and contemporary musicians, who are using it for a range of different styles. In the early nineties, traditional Irish singer Nóirín Ní Riain brought the shruti box to Ireland, giving it a minor place in traditional Irish music. More recently Scottish folk artist Karine Polwart and Julie Fowlis use the instrument, using it on some of their songs. Singers find it very useful as an accompaniment and instrumentalists enjoy the drone reference it gives to play along with.

Jivari

The Javari of a sitar, made from ebony, showing graphite marks from the first two strings

Javārī, (also: 'joārī', 'juvārī', 'jvārī' (alternately transcribed 'jawārī', 'jowārī', 'joyārī', 'juwārī', and 'jwārī')) in Indian classical music refers to the overtone-rich "buzzing" sound characteristic of classical Indian string instruments such as the tanpura, sitar, surbahar, rudra veena and Sarasvati veena. Javari can refer to the acoustic phenomenon itself and to the meticulously carved bone, ivory or wooden bridges that support the strings on the sounding board and produce this particular effect. A similar sort of bridge is used on traditional Ethiopian lyres, as well as on the ancient Greek kithara, and the "bray pins" of some early European harps operated on the same principle. A similar sound effect, called in Japanese sawari, is used on some traditional Japanese instruments as well.

Under the strings of tanpuras, which are unfretted (unstopped), and occasionally under those bass drone strings of sitars and surbahars which are seldom fretted, cotton threads are placed on the javari bridge to control the exact position of the node and its height above the curved surface, in order to more precisely refine the sound of javari. These cotton threads are known in Hindi as 'jīvā', meaning "life" and referring to the brighter tone heard from the plucked string once the thread has been slid into the correct position. This process is called "adjusting the javari". After a substantial time of playing, the surface directly under the string will wear out through the erosive impact of the strings. The sound will become thin and sharp and tuning also becomes a problem. Then a skilled, experienced craftsman needs to redress and polish the surface, which is called "doing the javari" ("'Javārī Sāf Karnā' or "Cleaning the Javārī'").

Top view of a rosewood tambura bridge. Notice the marks left by the strings as the javari-maker assures that the contact-lines on the surface of the bridge are continuous and even. As a further test strings are pulled sideways and lengthwise in order to rub the bridge with the string, to better judge the quality of the surface, as unevenness in the surface shows clearly as a gap.

The rich and very much 'alive' resonant sound requires great sensitivity and experience in the tuning process. In the actual tuning, the fundamentals are of lesser interest as attention is drawn to the sustained harmonics that should be clearly audible, particularly the octaves, fifths, major thirds and minor sevenths of the (fundamental) tone of the string. The actual tuning is done on three levels: firstly by means of the large pegs, secondly, by carefully shifting tuning-beads for micro-tuning and thirdly, on a tanpura, by even more careful shifting of the cotton threads that pass between the strings and the bridge, somewhat before the zenith of its curve.

Effect

Typical of javari on an instrument with preferably long strings, is that on the soundboard the strings run over a wide bridge with a very flat parabolic curve. The curvature of the bridge has been made in a precise relation to the optimum level of playing, or more exact, a precise amplitude of each string. Any string, given length, density, pitch and tension, wants to be plucked within the limits of its elasticity, and so vibrate harmoniously with a steady pitch. When a string of a tanpura is plucked properly, it produces a tone with a certain amplitude that will slowly decrease as the tone fades out. In this gradual process, the string, moving up and down according to its frequency, will make a periodic grazing contact with the curved surface of the bridge. The exact grazing-spot will gradually shift up the sloping surface, as a function of the decreasing amplitude, finally dissolving into the rest-position of the open string. In this complex dynamic sonation process, the shifting grazing will touch upon micro-nodes on the string, exciting a wide range of harmonics in a sweeping mode. The desired effect is that of a cascading row of harmonics in a rainbow of sound. As an analogy, a properly shaped and adjusted javari is similar to the refraction of white light through a prism. When the prism is of good proportions and quality and used properly, the phenomenon should produce itself. "The voice of an artist which is marked by a rich sound resembling that produced by two consonants played together, is often loosely known to have Javārī in it, although such use is arbitrary."

Construction

The javari of a tanpura is in a way fine-tuned with a cotton thread under the string. Both the thread itself and its function is called 'jiva'. The jiva lifts the string by its diameter off the bridge and gives the necessary clearance and adjustability. By carefully shifting the jiva the sequence of the shifting grazing on the parabolic surface of the bridge becomes 'tuneable' within limits. For each string there should be a spot relative to the curve of the bridge where optimum sound quality is found. Within the area of optimum resonance and sustain, a little play should be available for further fine-tuning, in which the jiva can hardly be seen to move. Staying with optics, shifting the jiva would be similar to using the manual fine focus on a camera. Experienced 'javari-makers' will agree that the 'javari' has to be made specific to certain string lengths, gauges and pitches and certain amplitudes.

Side view of a Tanjore-style rosewood tanpura bridge with cotton threads adjusted for full resonance.

The curvature of the bridge of the main strings of a sitar will be different from that of the smaller and lower bridge in front of the main bridge, which carries the sympathetic resonance-strings (tarafs). As this choir of thinner and shorter strings is excited solely by the sympathetic resonance with the tones played on the main strings, the general amplitude is smaller, so accordingly the curvature will be flatter. The making of a perfectly sounding javari for any instrument requires a very high degree of skill and expertise. Tanpuras are the only instruments that are always used with jiva-threads, except the octave-tamburis. Sitar, Rudra Veena, Sarasvati Veena, all have parabolic wide javari bridges for the main playing strings. Sarod and Sarangi have some of their sympathetic resonance strings (tarafs) on small, flat javari-bridges similar to that of the sitar. The javari of a sitar will be made according to the wishes of the player, either 'open',('khula') with a bright sounding javari-effect, or 'closed' ('band') with a relatively more plain tone, or something in between ('ghol'). The choice depends on the preference of the sitar-player and on the adapted playing style.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/melody/index.html b/theory/melody/index.html index 00087f62a6..ca16b0866a 100644 --- a/theory/melody/index.html +++ b/theory/melody/index.html @@ -6,13 +6,13 @@ Melody | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/theory/melody/motif/index.html b/theory/melody/motif/index.html index 7bfb1918c4..20abbdb4c8 100644 --- a/theory/melody/motif/index.html +++ b/theory/melody/motif/index.html @@ -6,13 +6,13 @@ Motif | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Motif
Constructing music piece per repetition and change of ideas

In music, a motif is a short musical idea, a salient recurring figure, musical fragment or succession of notes that has some special importance in or is characteristic of a composition. The motif is the smallest structural unit possessing thematic identity.

History

The Encyclopédie de la Pléiade regards it as a "melodic, rhythmic, or harmonic cell", whereas the 1958 Encyclopédie Fasquelle maintains that it may contain one or more cells, though it remains the smallest analyzable element or phrase within a subject. It is commonly regarded as the shortest subdivision of a theme or phrase that still maintains its identity as a musical idea. "The smallest structural unit possessing thematic identity". Grove and Larousse also agree that the motif may have harmonic, melodic and/or rhythmic aspects, Grove adding that it "is most often thought of in melodic terms, and it is this aspect of the motif that is connoted by the term 'figure'."

A harmonic motif is a series of chords defined in the abstract, that is, without reference to melody or rhythm. A melodic motif is a melodic formula, established without reference to intervals. A rhythmic motif is the term designating a characteristic rhythmic formula, an abstraction drawn from the rhythmic values of a melody.

A motif thematically associated with a person, place, or idea is called a leitmotif. Occasionally such a motif is a musical cryptogram of the name involved. A head-motif (German: Kopfmotiv) is a musical idea at the opening of a set of movements which serves to unite those movements.

Scruton, however, suggests that a motif is distinguished from a figure in that a motif is foreground while a figure is background: "A figure resembles a moulding in architecture: it is 'open at both ends', so as to be endlessly repeatable. In hearing a phrase as a figure, rather than a motif, we are at the same time placing it in the background, even if it is...strong and melodious".

Any motif may be used to construct complete melodies, themes and pieces. Musical development uses a distinct musical figure that is subsequently altered, repeated, or sequenced throughout a piece or section of a piece of music, guaranteeing its unity.

Examples

Such motivic development has its roots in the keyboard sonatas of Domenico Scarlatti and the sonata form of Haydn and Mozart's age. Arguably Beethoven achieved the highest elaboration of this technique; the famous "fate motif" —the pattern of three short notes followed by one long one—that opens his Fifth Symphony and reappears throughout the work in surprising and refreshing permutations is a classic example.

Motivic saturation is the "immersion of a musical motif in a composition", i.e., keeping motifs and themes below the surface or playing with their identity, and has been used by composers including Miriam Gideon, as in "Night is my Sister" (1952) and "Fantasy on a Javanese Motif" (1958), and Donald Erb. The use of motifs is discussed in Adolph Weiss' "The Lyceum of Schönberg".

Definitions

Hugo Riemann defines a motif as, "the concrete content of a rhythmically basic time-unit."

Anton Webern defines a motif as, "the smallest independent particle in a musical idea", which are recognizable through their repetition.

Arnold Schoenberg defines a motif as, "a unit which contains one or more features of interval and rhythm [whose] presence is maintained in constant use throughout a piece".

Head-motif

Head-motif (German: Kopfmotiv) refers to an opening musical idea of a set of movements which serves to unite those movements. It may also be called a motto, and is a frequent device in cyclic masses.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/melody/motion/index.html b/theory/melody/motion/index.html index f2992df66b..2d3a73df50 100644 --- a/theory/melody/motion/index.html +++ b/theory/melody/motion/index.html @@ -6,13 +6,13 @@ Motion | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Motion
Melodic motion of the voice

Melodic motion is the quality of movement of a melody, including nearness or farness of successive pitches or notes in a melody. This may be described as conjunct or disjunct, stepwise, skipwise or no movement, respectively. See also contrapuntal motion. In a conjunct melodic motion, the melodic phrase moves in a stepwise fashion; that is the subsequent notes move up or down a semitone or tone, but no greater. In a disjunct melodic motion, the melodic phrase leaps upwards or downwards; this movement is greater than a whole tone. In popular Western music, a melodic leap of disjunct motion is often present in the chorus of a song, to distinguish it from the verses and captivate the audience.

Bruno Nettl describes various types of melodic movement or contour (Nettl 1956, 51–53):

  • Ascending: Upwards melodic movement
  • Descending: Downwards melodic movement (prevalent in the New World and Australian music)
  • Undulating: Equal movement in both directions, using approximately the same intervals for ascent and descent (prevalent in Old World culture music)
  • Pendulum: Extreme undulation that covers a large range and uses large intervals is called pendulum-type melodic movement
  • Tile, terrace, or cascading: a number of descending phrases in which each phrase begins on a higher pitch than the last ended (prevalent in the North American Plain Indians music)
  • Arc: The melody rises and falls in roughly equal amounts, the curve ascending gradually to a climax and then dropping off (prevalent among Navaho Indians and North American Indian music)
  • Rise: may be considered a musical form, a contrasting section of higher pitch, a "musical plateau".

Other examples include:

  • Double tonic: smaller pendular motion in one direction

These all may be modal frames or parts of modal frames.

A modal frame in music is "a number of types permeating and unifying African, European, and American song" and melody. It may also be called a melodic mode. "Mode" and "frame" are used interchangeably in this context without reference to scalar or rhythmic modes. Melodic modes define and generate melodies that are not determined by harmony, but purely by melody. A note frame, is a melodic mode that is atonic (without a tonic), or has an unstable tonic.

Modal frames may be defined by their:

  • floor note: the bottom of the frame, felt to be the lowest note, though isolated notes may go lower,
  • ceiling note: the top of the frame,
  • central note: the center around which other notes cluster or gravitate,
  • upper or lower focus: portion of the mode on which the melody temporarily dwells, and can also defined by melody types, such as:
    • chant tunes: (Bob Dylan's "Subterranean Homesick Blues")
    • axial tunes: ("A Hard Day's Night", "Peggy Sue", Marvin Gaye's "Can I Get A Witness", and Roy Milton's "Do the Hucklebuck")
    • oscillating: (Rolling Stones' "Jumpin' Jack Flash")
    • open/closed: (Bo Diddley's "Hey Bo Diddley")
    • terrace
    • shout-and-fall
    • ladder of thirds

Further defined features include:

  • melodic dissonance: the quality of a note that is modally unstable and attracted to other more important tones in a non-harmonic way
  • melodic triad: arpeggiated triads in a melody. A non-harmonic arpeggio is most commonly a melodic triad, it is an arpeggio the notes of which do not appear in the harmony of the accompaniment.
  • level: a temporary modal frame contrasted with another built on a different foundation note. A change in levels is called a shift.
  • co-tonic: a melodic tonic different from and as important as the harmonic tonic
  • secondary tonic: a melodic tonic different from but subordinate to the harmonic tonic
  • pendular third: alternating notes a third apart, most often a neutral, see double tonic

Shout-and-fall

Shout-and-fall or tumbling strain is a modal frame, "very common in Afro-American-derived styles" and featured in songs such as "Shake, Rattle and Roll" and "My Generation".

"Gesturally, it suggests 'affective outpouring', 'self-offering of the body', 'emptying and relaxation'." The frame may be thought of as a deep structure common to the varied surface structures of songs in which it occurs.

Ladder of thirds

A ladder of thirds (coined by van der Merwe 1989, adapted from Curt Sachs) is similar to the circle of fifths, though a ladder of thirds differs in being composed of thirds, major or minor, and may or may not circle back to its starting note and thus may or may not be an interval cycle.

Triadic chords may be considered as part of a ladder of thirds.

It is a modal frame found in Blues and British folk music. Though a pentatonic scale is often analyzed as a portion of the circle of fifths, the blues scale and melodies in that scale come, "into being through piling up thirds below and/or above a tonic or central note."

They are "commonplace in post-rock 'n' roll popular music – and also appear in earlier tunes". Examples include The Beatles' "A Hard Day's Night", Buddy Holly's "Peggy Sue" and The Who's "My Generation", Ben Harney's "You've Been A Good Old Wagon" (1895) and Ben Bernie et al.'s "Sweet Georgia Brown" (1925).

Melodic expectation

In music cognition and musical analysis, the study of melodic expectation considers the engagement of the brain's predictive mechanisms in response to music. For example, if the ascending musical partial octave "do-re-mi-fa-sol-la-ti-..." is heard, listeners familiar with Western music will have a strong expectation to hear or provide one more note, "do", to complete the octave.

The notion of melodic expectation has prompted the existence of a corpus of studies in which authors often choose to provide their own terminology in place of using the literature's. This results in an important number of different terms that all point towards the phenomenon of musical expectation:

  • Anticipation
  • Arousal
  • Deduction
  • Directionality
  • Expectancy, expectation, expectedness, and in French attente
  • Facilitation
  • Implication / realization
  • Implication (independent from realization)
  • Induction
  • Inertia
  • Musical force(s)
  • Previsibility, predictability and prediction
  • Resolution
  • Tension / release, tension / relaxation
  • Closure, which may be used as the ending of the expectation process, as a group boundary, or as both simultaneously

Leonard Meyer's Emotion and Meaning in Music is the classic text in music expectation. Meyer's starting point is the belief that the experience of music (as a listener) is derived from one's emotions and feelings about the music, which themselves are a function of relationships within the music itself. Meyer writes that listeners bring with them a vast body of musical experiences that, as one listens to a piece, conditions one's response to that piece as it unfolds. Meyer argued that music's evocative power derives from its capacity to generate, suspend, prolongate, or violate these expectations.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/melody/singing/index.html b/theory/melody/singing/index.html index 4a0ce27f6c..9024b913c4 100644 --- a/theory/melody/singing/index.html +++ b/theory/melody/singing/index.html @@ -6,13 +6,13 @@ Singing | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Singing
Connecting melody and text through a human voice

Gregorian chant

Melismatic singing

Riffs and runs

Vocal techniques

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/melody/study/index.html b/theory/melody/study/index.html index 53b7404355..c65e90250a 100644 --- a/theory/melody/study/index.html +++ b/theory/melody/study/index.html @@ -6,13 +6,13 @@ Melody study | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Melody study
What is melody and how can we understand it

A melody (from Greek μελῳδία, melōidía, "singing, chanting"), also tune, voice or line, is a linear succession of musical tones that the listener perceives as a single entity. In its most literal sense, a melody is a combination of pitch and rhythm, while more figuratively, the term can include successions of other musical elements such as tonal color. It is the foreground to the background accompaniment. A line or part need not be a foreground melody.

Melodies often consist of one or more musical phrases or motifs, and are usually repeated throughout a composition in various forms. Melodies may also be described by their melodic motion or the pitches or the intervals between pitches (predominantly conjunct or disjunct or with further restrictions), pitch range, tension and release, continuity and coherence, cadence, and shape.

Function and elements

Johann Philipp Kirnberger argued:

The true goal of music—its proper enterprise—is melody. All the parts of harmony have as their ultimate purpose only beautiful melody. Therefore, the question of which is the more significant, melody or harmony, is futile. Beyond doubt, the means is subordinate to the end.
—  Johann Philipp Kirnberger (1771)

The Norwegian composer Marcus Paus has argued:

Melody is to music what a scent is to the senses: it jogs our memory. It gives face to form, and identity and character to the process and proceedings. It is not only a musical subject, but a manifestation of the musically subjective. It carries and radiates personality with as much clarity and poignancy as harmony and rhythm combined. As such a powerful tool of communication, melody serves not only as protagonist in its own drama, but as messenger from the author to the audience.
— Marcus Paus (2017)

Given the many and varied elements and styles of melody "many extant explanations [of melody] confine us to specific stylistic models, and they are too exclusive. Paul Narveson claimed in 1984 that more than three-quarters of melodic topics had not been explored thoroughly.

The melodies existing in most European music written before the 20th century, and popular music throughout the 20th century, featured "fixed and easily discernible frequency patterns", recurring "events, often periodic, at all structural levels" and "recurrence of durations and patterns of durations".

Melodies in the 20th century "utilized a greater variety of pitch resources than ha[d] been the custom in any other historical period of Western music." While the diatonic scale was still used, the chromatic scale became "widely employed." Composers also allotted a structural role to "the qualitative dimensions" that previously had been "almost exclusively reserved for pitch and rhythm". Kliewer states, "The essential elements of any melody are duration, pitch, and quality (timbre), texture, and loudness. Though the same melody may be recognizable when played with a wide variety of timbres and dynamics, the latter may still be an "element of linear ordering."

Examples

Different musical styles use melody in different ways. For example:

  • Jazz musicians use the term "lead" or "head" to refer to the main melody, which is used as a starting point for improvisation.
  • Rock music, and other forms of popular music and folk music tend to pick one or two melodies (verse and chorus, sometimes with a third, contrasting melody known as a bridge or middle eight) and stick with them; much variety may occur in the phrasing and lyrics.
  • Indian classical music relies heavily on melody and rhythm, and not so much on harmony, as the music contains no chord changes.
  • Balinese gamelan music often uses complicated variations and alterations of a single melody played simultaneously, called heterophony.
  • In western classical music, composers often introduce an initial melody, or theme, and then create variations. Classical music often has several melodic layers, called polyphony, such as those in a fugue, a type of counterpoint. Often, melodies are constructed from motifs or short melodic fragments, such as the opening of Beethoven's Fifth Symphony. Richard Wagner popularized the concept of a leitmotif: a motif or melody associated with a certain idea, person or place.
  • While in both most popular music and classical music of the common practice period pitch and duration are of primary importance in melodies, the contemporary music of the 20th and 21st centuries pitch and duration have lessened in importance and quality has gained importance, often primary. Examples include musique concrète, klangfarbenmelodie, Elliott Carter's Eight Etudes and a Fantasy (which contains a movement with only one note), the third movement of Ruth Crawford-Seeger's String Quartet 1931 (later re-orchestrated as Andante for string orchestra), which creates the melody from an unchanging set of pitches through "dissonant dynamics" alone, and György Ligeti's Aventures, in which recurring phonetics create the linear form.

Counterpoint

Voice leading

Voice leading (or part writing) is the linear progression of individual melodic lines (voices or parts) and their interaction with one another to create harmonies, typically in accordance with the principles of common-practice harmony and counterpoint.

Rigorous concern for voice leading is of greatest importance in common-practice music, although jazz and pop music also demonstrate attention to voice leading to varying degrees. In Jazz Theory, Gabriel Sakuma writes that "[a]t the surface level, jazz voice-leading conventions seem more relaxed than they are in common-practice music." Marc Schonbrun also states that while it is untrue that "popular music has no voice leading in it, [...] the largest amount of popular music is simply conceived with chords as blocks of information, and melodies are layered on top of the chords."

History

Voice leading developed as an independent concept when Heinrich Schenker stressed its importance in "free counterpoint", as opposed to strict counterpoint. He wrote:

All musical technique is derived from two basic ingredients: voice leading and the progression of scale degrees [i.e. of harmonic roots]. Of the two, voice leading is the earlier and the more original element. The theory of voice leading is to be presented here as a discipline unified in itself; that is, I shall show how […] it everywhere maintains its inner unity.

Schenker indeed did not present the rules of voice leading merely as contrapuntal rules, but showed how they are inseparable from the rules of harmony and how they form one of the most essential aspects of musical composition. (See Schenkerian analysis: voice leading.)

Common-practice conventions and pedagogy

Western musicians have tended to teach voice leading by focusing on connecting adjacent harmonies because that skill is foundational to meeting larger, structural objectives. Common-practice conventions dictate that melodic lines should be smooth and independent. To be smooth, they should be primarily conjunct (stepwise), avoid leaps that are difficult to sing, approach and follow leaps with movement in the opposite direction, and correctly handle tendency tones (primarily, the leading-tone, but also the scale degree 4, which often moves down to scale degree 3) To be independent, they should avoid parallel fifths and octaves.

Contrapuntal conventions likewise consider permitted or forbidden melodic intervals in individual parts, intervals between parts, the direction of the movement of the voices with respect to each other, etc. Whether dealing with counterpoint or harmony, these conventions emerge not only from a desire to create easy-to-sing parts but also from the constraints of tonal materials and from the objectives behind writing certain textures.

These conventions are discussed in more detail below.

  1. Move each voice the shortest distance possible. One of the main conventions of common-practice part-writing is that, between successive harmonies, voices should avoid leaps and retain common tones as much as possible. This principle was commonly discussed among 17th- and 18th-century musicians as a rule of thumb. For example, Rameau taught "one cannot pass from one note to another but by that which is closest." In the 19th century, as music pedagogy became a more theoretical discipline in some parts of Europe, the 18th-century rule of thumb became codified into a more strict definition. Organist Johann August Dürrnberger coined the term "rule of the shortest way" for it and delineated that:
  • When a chord contains one or more notes that will be reused in the chords immediately following, then these notes should remain, that is retained in the respective parts.
  • The parts which do not remain, follow the law of the shortest way (Gesetze des nächsten Weges), that is that each such part names the note of the following chord closest to itself if no forbidden succession arises from this.
  • If no note at all is present in a chord which can be reused in the chord immediately following, one must apply contrary motion according to the law of the shortest way, that is, if the root progresses upwards, the accompanying parts must move downwards, or inversely, if the root progresses downwards, the other parts move upwards and, in both cases, to the note of the following chord closest to them. This rule was taught by Bruckner to Schoenberg and Schenker, who both had followed his classes in Vienna. Schenker re-conceived the principle as the "rule of melodic fluency":

If one wants to avoid the dangers produced by larger intervals [...], the best remedy is simply to interrupt the series of leaps – that is, to prevent a second leap from occurring by continuing with a second or an only slightly larger interval after the first leap; or one may change the direction of the second interval altogether; finally both means can be used in combination. Such procedures yield a kind of wave-like melodic line which as a whole represents an animated entity, and which, with its ascending and descending curves, appears balanced in all its individual component parts. This kind of line manifests what is called melodic fluency [Fließender Gesang].

Schenker attributed the rule to Cherubini, but this is the result of a somewhat inexact German translation. Cherubini only said that conjunct movement should be preferred. Franz Stoepel, the German translator, used the expression Fließender Gesang to translate mouvement conjoint. The concept of Fließender Gesang is a common concept of German counterpoint theory. Modern Schenkerians made the concept of "melodic fluency" an important one in their teaching of voice leading.

  1. Voice crossing should be avoided except to create melodic interest.

  2. Avoid parallel fifths and octaves. To promote voice independence, melodic lines should avoid parallel unisons, parallel fifths, and parallel octaves between any two voices. They should also avoid hidden consecutives, perfect intervals reached by any two voices moving in the same direction, even if not by the same interval, particularly if the higher of the two voices makes a disjunct motion. In organ registers, certain interval combinations and chords are activated by a single key so that playing a melody results in parallel voice leading. These voices, losing independence, are fused into one and the parallel chords are perceived as single tones with a new timbre. This effect is also used in orchestral arrangements; for instance, in Ravel's Boléro #5[clarification needed] the parallel parts of flutes, horn and celesta resemble the sound of an electric organ. In counterpoint, parallel voices are prohibited because they violate the homogeneity of musical texture when independent voices occasionally disappear turning into a new timbre quality and vice versa.

Harmonic roles

As the Renaissance gave way to the Baroque era in the 1600s, part writing reflected the increasing stratification of harmonic roles. This differentiation between outer and inner voices was an outgrowth of both tonality and homophony. In this new Baroque style, the outer voices took a commanding role in determining the flow of the music and tended to move more often by leaps. Inner voices tended to move stepwise or repeat common tones.

A Schenkerian analysis perspective on these roles shifts the discussion somewhat from "outer and inner voices" to "upper and bass voices." Although the outer voices still play the dominant, form-defining role in this view, the leading soprano voice is often seen as a composite line that draws on the voice leadings in each of the upper voices of the imaginary continuo. Approaching harmony from a non-Schenkerian perspective, Dmitri Tymoczko nonetheless also demonstrates such "3+1" voice leading, where "three voices articulate a strongly crossing-free voice leading between complete triads [...], while a fourth voice adds doublings," as a feature of tonal writing.

Neo-Riemannian theory examines another facet of this principle. That theory decomposes movements from one chord to another into one or several "parsimonious movements" between pitch classes instead of actual pitches (i.e., neglecting octave shifts). Such analysis shows the deeper continuity underneath surface disjunctions, as in the Bach example from BWV 941 hereby.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/alternative/bilinear/index.html b/theory/notes/alternative/bilinear/index.html index 1b34c43253..cd98cd946e 100644 --- a/theory/notes/alternative/bilinear/index.html +++ b/theory/notes/alternative/bilinear/index.html @@ -6,13 +6,13 @@ Bilinear notation | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Bilinear notation
Upgraded staff notation by Jose A. Sotorrio

Bilinear is quite similar to Reed’s Twinline. Sotorrio maintains he had no prior knowledge of Twinline when designing Bilinear, since he relied primarily on Gardner Read’s Source Book of Proposed Music Notation Reforms which does not include Twinline. (It was published in 1987, just after Twinline was introduced in 1986.) Since Twinline is the earlier system (Bilinear was introduced in 1997), Sotorrio now offers Bilinear as a variant of Twinline.

The two systems share the same line pattern and the same alternating oval and triangle shaped noteheads, but there are differences in their details. Twinline’s triangles are right triangles with the 90 degree angle at their tip, while Bilinear’s triangles have a sharper angle at their tip. Also, the shape, color, and size of noteheads in Bilinear may be different depending on a note’s duration, as illustrated in the following image (courtesy of the Bilinear website):

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/alternative/chromatic-staff/index.html b/theory/notes/alternative/chromatic-staff/index.html index 93510a64d5..fa000b76c9 100644 --- a/theory/notes/alternative/chromatic-staff/index.html +++ b/theory/notes/alternative/chromatic-staff/index.html @@ -6,13 +6,13 @@ Chromatic staff | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Chromatic staff
Extension of the regular staff to have room for all the 12 notes

“The need for a new notation, or a radical improvement of the old, is greater than it seems, and the number of ingenious minds that have tackled the problem is greater than one might think.” — Arnold Schoenberg

Here is a chromatic scale on a traditional diatonic staff (above) and the same chromatic scale on a chromatic staff with five lines (below). This is just one of many versions of chromatic staff.

On a chromatic staff each note has its own line or space on the staff. On the traditional staff only seven notes have their own line or space, the notes from just one key (C major/A minor, the white keys on the piano). The remaining notes (the black keys) have to be represented by altering these seven notes with sharp signs (#) or flat signs (b), either in the key signature or as an accidental.

All of these features of traditional music notation combine to make reading music much more difficult than it might be with a better notation system. For an analogy, imagine trying to do arithmetic with Roman numerals. It can be done, but the notation system makes a big difference. Of course it is important to view traditional notation in its broader historical context and to keep in mind the innovations and reforms that it has undergone over time.

Music notation project

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/alternative/dodeka/index.html b/theory/notes/alternative/dodeka/index.html index 550ff7dbf0..30fbd097d4 100644 --- a/theory/notes/alternative/dodeka/index.html +++ b/theory/notes/alternative/dodeka/index.html @@ -6,13 +6,13 @@ Dodeka | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Dodeka
Keyboard and notation redesigned for consistence and ease of use

The Dodeka Keyboard Design is an isomorphic keyboard invented and designed by Jacques-Daniel Rochat. It is similar to a piano keyboard but with only a single row of keys containing each chromatic note.The keys corresponding to C, E and A flat are highlighted to provide visual landmarks. The creators aimed to create a rational and chromatic approach to music and performance. As an isomorphic keyboard, any musical sequence or interval has the same shape in each of the 12 keys.

The Dodeka Music Notation is an alternative music notation or musical notation system invented and designed in 1980s by inventor and musician Jacques-Daniel Rochat in an attempt to improve upon traditional music notation.

Unlike conventional musical notation, the Dodeka music notation system uses a chromatic scale of 12 pitches and follows an equal pitch intervals configuration, with 4 lines per octave. In this configuration, the 12 notes of an octave appear in four positions vis-à-vis the staff lines, that is, either on, between, above and below the lines.

Each pitch has its own unique place on the staff. And while conventional music notation may alter notes using accidental signs or key signatures, notes in the Dodeka notation appear as they are. There are no more key signatures or accidental signs in this musical system.

(Excerpt of Beethoven Für Elise written in Dodeka Notation)

The Dodeka notation system represents note duration in a visual manner. Note lengths are represented through the notes graphical shapes, similar to what can be found in sequencer programmes. The reference time unit or time value being the quarter note (or crotchet), all durations are expressed as visual ratios from this reference point. For example, a whole note is the representation of four quarter note lengths. At the opposite, an eighth note (or quaver) is twice as short as a quarter note. All the other symbols and articulation marks are also reimagined in Dodeka.

Dodeka note names

The objective was to create 2-letter names that convey a relationship between the names of the notes and their position on the staff. We did that using letters that are not present in the English (anglo-saxon) designation. For example, the note Do# (C#) is called Ka (K) because it shares the same position as La (A) (ie. both notes are above a line).

Following this logic, the 12 notes can be written as: Do / Ka / Ré / To(l) / Mi / Fa / Hu / So(l) / Pi / La / Vé / Si.

In English, we only use the first letters, which gives us the following sequence: C / K / D / T / E / F / H / G / P / A / V / B.

Dodeka music

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/alternative/index.html b/theory/notes/alternative/index.html index 9973ee5442..d02960ab25 100644 --- a/theory/notes/alternative/index.html +++ b/theory/notes/alternative/index.html @@ -6,13 +6,13 @@ Alternative notation systems | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/theory/notes/alternative/integer/index.html b/theory/notes/alternative/integer/index.html index 1bc6f111e5..f8dd0eb580 100644 --- a/theory/notes/alternative/integer/index.html +++ b/theory/notes/alternative/integer/index.html @@ -6,13 +6,13 @@ Integer notation | Chromatone.center - + - - - - + + + + @@ -42,7 +42,7 @@
Chromatone logo
Integer notation
System that uses numbers to show notes

In music, integer notation is the translation of pitch classes and/or interval classes into whole numbers. Thus if C = 0, then C♯ = 1 ... A♯ = 10, B = 11, with "10" and "11" substituted by "t" and "e" in some sources, A and B in others (like the duodecimal numeral system, which also uses "t" and "e", or A and B, for "10" and "11"). This allows the most economical presentation of information regarding post-tonal materials.

To avoid the problem of enharmonic spellings, theorists typically represent pitch classes using numbers beginning from zero, with each successively larger integer representing a pitch class that would be one semitone higher than the preceding one, if they were all realised as actual pitches in the same octave. Because octave-related pitches belong to the same class, when an octave is reached, the numbers begin again at zero. This cyclical system is referred to as modular arithmetic and, in the usual case of chromatic twelve-tone scales, pitch-class numbering is regarded as "modulo 12" (customarily abbreviated "mod 12" in the music-theory literature) — that is, every twelfth member is identical.

One can map a pitch's fundamental frequency f (measured in hertz) to a real number p using the equation

p = 9 + 12 log 2 (⁡ f / 440  Hz ).
 

This creates a linear pitch space in which octaves have size 12, semitones (the distance between adjacent keys on the piano keyboard) have size 1, and middle C (C4) is assigned the number 0 (thus, the pitches on piano are −39 to +48). Indeed, the mapping from pitch to real numbers defined in this manner forms the basis of the MIDI Tuning Standard, which uses the real numbers from 0 to 127 to represent the pitches C−1 to G9 (thus, middle C is 60).

To represent pitch classes, we need to identify or "glue together" all pitches belonging to the same pitch class. The result is a cyclical quotient group that musicians call pitch class space and mathematicians call R/12Z. Points in this space can be labelled using real numbers in the range 0 ≤ x < 12. These numbers provide numerical alternatives to the letter names of elementary music theory:

  • 0 = C,
  • 1 = C♯/D♭,
  • 2 = D,
  • 2.5 = Dhalf sharp (quarter tone sharp),
  • 3 = D♯/E♭,

and so on. In this system, pitch classes represented by integers are classes of twelve-tone equal temperament (assuming standard concert A).

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/alternative/klavar/index.html b/theory/notes/alternative/klavar/index.html index b17bc9dcc4..9f65d783d9 100644 --- a/theory/notes/alternative/klavar/index.html +++ b/theory/notes/alternative/klavar/index.html @@ -6,13 +6,13 @@ Klavarskribo | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Klavarskribo
Vertical chromatic staff notation by Cornelis Pot

Klavarskribo (sometimes shortened to klavar) is a music notation system that was introduced in 1931 by the Dutchman Cornelis Pot (1885–1977). The name means "keyboard writing" in Esperanto. It differs from conventional music notation in a number of ways and is intended to be easily readable.

The stave on which the notes are written is vertical so the music is read from top to bottom. Each note has its own individual position, low notes on the left and high notes on the right as on the piano. This stave consists of groups of two and three vertical lines corresponding to the black keys (notes) of the piano. White notes are written in the seven white spaces between the lines. Therefore sharps and flats are no longer needed, as each note has its own place in the octave. The evident correspondence between the stave and a piano induced Pot to use the name Klavarskribo.

All notes are provided with stems—stems to the right: play with the right hand, stems to the left: left hand.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/alternative/numbered/index.html b/theory/notes/alternative/numbered/index.html index 43648d1ffb..1347792288 100644 --- a/theory/notes/alternative/numbered/index.html +++ b/theory/notes/alternative/numbered/index.html @@ -6,13 +6,13 @@ Numbered notation | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Numbered notation
A simplified notation using numbers to show scale degrees

Jian pu - 'simplified notation'

A similar invention was presented by Jean-Jacques Rousseau in his work presented to the French Academy of Sciences in 1742. Due to its straightforward correspondence to the standard notation, it is possible that many other claims of independent invention are also true. Grove's credits Emile J.M. Chevé.

Although the system is used to some extent in Germany, France, and the Netherlands, and more by the Mennonites in Russia, it has never become popular in the Western world. Number notation was used extensively in the 1920s and 30s by Columbia University, Teachers College music educator Satis Coleman, who felt it "proved to be very effective for speed with adults, and also as a means simple enough for young children to use in writing and reading tunes which they sing, and which they play on simple instruments."

The system is very popular among some Asian people, making conventions to encode and decode music more accessible than in the West, as more Chinese can sight read jianpu than standard notation. Most Chinese traditional music scores and popular song books are published in jianpu, and jianpu notation is often included in vocal music with staff notation.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/alternative/parsons/index.html b/theory/notes/alternative/parsons/index.html index 4ffd31bcfa..a3944138d8 100644 --- a/theory/notes/alternative/parsons/index.html +++ b/theory/notes/alternative/parsons/index.html @@ -6,13 +6,13 @@ Parsons code | Chromatone.center - + - - - - + + + + @@ -52,7 +52,7 @@ * * *-* \ / *-*

The first note of a melody is denoted with an asterisk (*), although some Parsons code users omit the first note. All succeeding notes are denoted with one of three letters to indicate the relationship of its pitch to the previous note:

    • = first tone as reference,
  • u = "up", for when the note is higher than the previous note,
  • d = "down", for when the note is lower than the previous note,
  • r = "repeat", for when the note has the same pitch as the previous note.

Search a melody by its Parsons code at Musipedia

Some examples

  • Ode to Joy: *RUURDDDDRUURDR
  • "Twinkle Twinkle Little Star": *rururddrdrdrdurdrdrdurdrdrddrururddrdrdrd
  • "Silent Night": *udduuddurdurdurudddudduruddduddurudduuddduddd
  • "Aura Lea" ("Love Me Tender"): *uduududdduu
  • "White Christmas": *udduuuu
  • First verse in Madonna's "Like a Virgin": *rrurddrdrrurdudurrrrddrduuddrdu

There are studies showing that despite its simplicity, Parsons code is still too hard for non-musicians to formulate and interpret the code for melody search. Yet it may be useful for more skilled musicians, but the audio-based search becomes more widely spread and adopted.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/alternative/scientific/index.html b/theory/notes/alternative/scientific/index.html index 4a33bca7ef..d950b2b046 100644 --- a/theory/notes/alternative/scientific/index.html +++ b/theory/notes/alternative/scientific/index.html @@ -6,13 +6,13 @@ Standard pitch notation | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Standard pitch notation
American SPN

Scientific pitch notation (SPN), also known as American standard pitch notation (ASPN) and international pitch notation (IPN),[1] is a method of specifying musical pitch by combining a musical note name (with accidental if needed) and a number identifying the pitch's octave.

Although scientific pitch notation was originally designed as a companion to scientific pitch (see below), the two are not synonymous. Scientific pitch is a pitch standard—a system that defines the specific frequencies of particular pitches (see below). Scientific pitch notation concerns only how pitch names are notated, that is, how they are designated in printed and written text, and does not inherently specify actual frequencies. Thus, the use of scientific pitch notation to distinguish octaves does not depend on the pitch standard used.

The notation makes use of the traditional tone names (A to G) which are followed by numbers showing which octave they are part of.

For standard A440 pitch equal temperament, the system begins at a frequency of 16.35160 Hz, which is assigned the value C0.

The octave 0 of the scientific pitch notation is traditionally called the sub-contra octave, and the tone marked C0 in SPN is written as ,,C or C,, or CCC in traditional systems, such as Helmholtz notation. Octave 0 of SPN marks the low end of what humans can actually perceive, with the average person being able to hear frequencies no lower than 20 Hz as pitches.

Use

Scientific pitch notation is often used to specify the range of an instrument. It provides an unambiguous means of identifying a note in terms of textual notation rather than frequency, while at the same time avoiding the transposition conventions that are used in writing the music for instruments such as the clarinet and guitar. It is also easily translated into staff notation, as needed. In describing musical pitches, nominally enharmonic spellings can give rise to anomalies where, for example in meantone temperaments C♭ 4 is a lower frequency than B3; but such paradoxes usually do not arise in a scientific context.

Scientific pitch notation avoids possible confusion between various derivatives of Helmholtz notation which use similar symbols to refer to different notes. For example, "c" in Helmholtz's original notation refers to the C below middle C, whereas "C" in ABC Notation refers to middle C itself. With scientific pitch notation, middle C is always C4, and C4 is never any note but middle C. This notation system also avoids the "fussiness" of having to visually distinguish between four and five primes, as well as the typographic issues involved in producing acceptable subscripts or substitutes for them. C7 is much easier to quickly distinguish visually from C8, than is, for example, c′′′′ from c′′′′′, and the use of simple integers (e.g. C7 and C8) makes subscripts unnecessary altogether.

Although pitch notation is intended to describe sounds audibly perceptible as pitches, it can also be used to specify the frequency of non-pitch phenomena. Notes below E0 or higher than E♭ 10 are outside most humans' hearing range, although notes slightly outside the hearing range on the low end may still be indirectly perceptible as pitches due to their overtones falling within the hearing range.

Helmholtz pitch notation

Helmholtz pitch notation is a system for naming musical notes of the Western chromatic scale. Fully described and normalized by the German scientist Hermann von Helmholtz, it uses a combination of upper and lower case letters (A to G), and the sub- and super-prime symbols ( ͵  ′  or ⸜ ⸝) to denote each individual note of the scale. It is one of two formal systems for naming notes in a particular octave, the other being scientific pitch notation.

Use

The accenting of the scale in Helmholtz notation always starts on the note C and ends at B (e.g. C D E F G A B). The note C is shown in different octaves by using upper-case letters for low notes, and lower-case letters for high notes, and adding sub-primes and primes in the following sequence: C͵͵ C͵ C c c′ c″ c‴ (or ,,C ,C C c c′ c″ c‴ or C⸜⸜ C⸜ C c c⸝ c⸝⸝ c⸝⸝⸝) and so on.

Middle C is designated c′, therefore the octave from middle C upwards is c′–b′.

Whole octaves may also be given a name based on "English strokes notation". For example, the octave from c′–b′ is called the one-line octave or (less common) once-accented octave. Correspondingly, the notes in the octave may be called one-lined C (for c′), etc.

This diagram gives examples of the lowest and highest note in each octave, giving their name in the Helmholtz system, and the "German method" of octave nomenclature. (The octave below the contra octave is known as the sub-contra octave).

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/alternative/tabulature/index.html b/theory/notes/alternative/tabulature/index.html index 8e39794d1f..8c09621d01 100644 --- a/theory/notes/alternative/tabulature/index.html +++ b/theory/notes/alternative/tabulature/index.html @@ -6,13 +6,13 @@ Tabulature | Chromatone.center - + - - - - + + + + @@ -58,7 +58,7 @@ L2|---------|------b>>>>>a>>>>>g>>>>>|f>>>>>d>>>>>g>>>>>g>>>>>| C Am7 Cm7 Am7b5

tabnabber.com

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/color/index.html b/theory/notes/color/index.html index 81ed8b56fc..b0a39867a2 100644 --- a/theory/notes/color/index.html +++ b/theory/notes/color/index.html @@ -6,13 +6,13 @@ Chromatone color notation | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Chromatone color notation
Different ways to implementing the color-frequency equations for writing and reading music

There's a plenty of possible ways to make the Chromatone system work for written music communication. This whole web site is one big experiment to find the most useful implications of the simple equations. But there's more to explore!

Colorize the staff notation

First and the most obvious use of color in music is a simple coloring the regular staff notation. You can use 12 markers to denote any pitch on paper and we can modify existing apps and scripts to produce colored sheet music.

Chromatic hand

The extension of the ancient method of linking finger phalanges and musical notes. We can make it consistent enough to use intuitively after a little practice.

Chromatic hand

Interval hand

The 12 phalanges of fingers are ideal to reason not only about notes, but intervals too. Assume the tip of your index finger as a tonic note and build any interval, chord, or even scale just with your thumb. It enables you to practice melodies, progressions and more in any moment, at any place.

Interval hand

Colorful piano rolls

Try the MIDI-roll to look at incoming MIDI visualization.

Try the Pitch-roll to see the main note graph of incoming audio on an endless roll.

Colorful spectrogram

Adding the colors to a regular spectrogram makes you see much more about the musical contents of any sound. You can easily see the fundamental pitch and the colors of all the main overtones for simple sounds.

Try the Colorful spectrogram online now.

Both hands

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/computer/abc/index.html b/theory/notes/computer/abc/index.html index a9b2d1f6fe..32d586c920 100644 --- a/theory/notes/computer/abc/index.html +++ b/theory/notes/computer/abc/index.html @@ -6,16 +6,16 @@ ABC notation | Chromatone.center - + - - - - - - - + + + + + + + @@ -44,7 +44,7 @@
Chromatone logo
ABC notation
A shorthand form of musical notation for computers

ABC notation is a shorthand form of musical notation for computers. In basic form it uses the letter notation with a–g, A–G, and z, to represent the corresponding notes and rests, with other elements used to place added value on these – sharp, flat, raised or lowered octave, the note length, key, and ornamentation. This form of notation began from a combination of Helmholtz pitch notation and using ASCII characters to imitate standard musical notation (bar lines, tempo marks, etc.) that could facilitate the sharing of music online, and also added a new and simple language for software developers, not unlike other notations designed for ease, such as tablature and solfège.

Browse tunes

The earlier ABC notation was built on, standardized, and changed by Chris Walshaw to better fit the keyboard and an ASCII character set, with the help and input of others. Originally designed to encode folk and traditional Western European tunes (e.g., from England, Ireland, and Scotland) which are typically single-voice melodies that can be written in standard notation on a single staff line, the extensions by Walshaw and others has opened this up with an increased list of characters and headers in a syntax that can also support metadata for each tune:

  • The index, when there are more than one tune in a file (X:)- the title (T:),
  • the time signature (M:),
  • the default note length (L:),
  • the type of tune (R:),
  • the key (K:)
    • with the clef (K: clef=[treble|alto|tenor|bass|perc])

Lines following the key designation represent the tune.

After a surge of renewed interest in clarifying some ambiguities in the 2.0 draft and suggestions for new features, serious discussion of a new (and official) standard resumed in 2011, culminating in the release of ABC 2.1 as a new standard in late December 2011. Chris Walshaw has become involved again and is coordinating the effort to further improve and clarify the language, with plans for topics to be addressed in future versions to be known as ABC 2.2 and ABC 2.3 .

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/computer/index.html b/theory/notes/computer/index.html index 58be6418d8..e8685dc2e8 100644 --- a/theory/notes/computer/index.html +++ b/theory/notes/computer/index.html @@ -6,13 +6,13 @@ Computer notation | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Computer notation
Ways to describe, store and communicate musical notes in digital realm

Computers opened up the diverse methods for describing, reproducing, and communicating music in the digital era. This includes MIDI, Piano Roll, ABC notation, and other digital notation systems. As we continue to innovate and experiment with technology, these tools are not only used to transcribe traditional music but also to create new forms of sonic expression.

One of the most commonly used computer notations is MIDI (Musical Instrument Digital Interface). MIDI is a protocol that allows computers, synthesizers, MIDI controllers, sound cards, samplers and drum machines to control one another and exchange system data. It does not contain any sounds, but instructions that tell a device what to do.

Another important computer notation is the Piano roll. In modern digital audio workstations, the piano roll is a virtual grid representing time on the horizontal axis and MIDI notes on the vertical axis. This interface allows for precise control over the pitch, duration, and timing of notes. It has become a fundamental tool in digital music production, enabling composers to write, edit, and arrange their work in a visual interface.

ABC-notation is a simple yet powerful ASCII musical notation for folk and traditional music. It was designed as a language for notating music in plain text files. The simplicity of ABC notation makes it ideal for sharing tunes through email and over the internet. Ring Tone Text Transfer Language is another example of compact ASCII-based computer notation.

As we delve into the world of digital music notation, we also encounter innovative ways to represent music, such as colorizing staff notation or piano rolls. These methods provide a visual way to understand the tonal relationships and structures within a piece of music. For instance, the Chromatone system uses colors to denote different pitches, creating a vibrant and intuitive musical landscape.

In conclusion, computer notation is a vast and evolving field, opening up new possibilities for how we create, interact with, and understand music. As technology continues to advance, we can only imagine the future innovations that will further revolutionize the way we notate and perceive music.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/computer/midi/index.html b/theory/notes/computer/midi/index.html index 0f24975684..301aeadffc 100644 --- a/theory/notes/computer/midi/index.html +++ b/theory/notes/computer/midi/index.html @@ -6,13 +6,13 @@ MIDI | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
MIDI
Standard for digital music communication

At the 1983 Winter NAMM Show, Smith demonstrated a MIDI connection between Prophet 600 and Roland JP-6 synthesizers. The MIDI specification was published in August 1983. The MIDI standard was unveiled by Kakehashi and Smith, who received Technical Grammy Awards in 2013 for their work. In 1982, the first instruments were released with MIDI, the Roland Jupiter-6 and the Prophet 600. In 1983, the first MIDI drum machine, the Roland TR-909, and the first MIDI sequencer, the Roland MSQ-700 were released. The first computer to support MIDI, the NEC PC-88 and PC-98, was released in 1982. The MIDI standard connected ground-breaking hardware like Yamaha’s DX7 synthesiser and Roland’s TR-909 drum machine.

A MIDI message is an instruction that controls some aspect of the receiving device. A MIDI message consists of a status byte, which indicates the type of the message, followed by up to two data bytes that contain the parameters. MIDI messages can be channel messages sent on only one of the 16 channels and monitored only by devices on that channel, or system messages that all devices receive. Each receiving device ignores data not relevant to its function.There are five types of message: Channel Voice, Channel Mode, System Common, System Real-Time, and System Exclusive.

Channel Voice messages transmit real-time performance data over a single channel. Examples include "note-on" messages which contain a MIDI note number that specifies the note's pitch, a velocity value that indicates how forcefully the note was played, and the channel number; "note-off" messages that end a note; program change messages that change a device's patch; and control changes that allow adjustment of an instrument's parameters. MIDI notes are numbered from 0 to 127 assigned to C−1 to G9. This corresponds to a range of 8.175799 to 12543.85 Hz (assuming equal temperament and 440 Hz A4) and extends beyond the 88 note piano range from A0 to C8. Middle C has the number 60. A4 (A440) – 69.

svg

MIDI clock

MIDI beat clock, or simply MIDI clock, is a clock signal that is broadcast via MIDI to ensure that several MIDI-enabled devices such as a synthesizer or music sequencer stay in synchronization. Clock events are sent at a rate of 24 pulses per quarter note. Those pulses are used to maintain a synchronized tempo for synthesizers that have BPM-dependent voices and also for arpeggiator synchronization.

MIDI beat clock differs from MIDI timecode in that MIDI beat clock is tempo-dependent.

Location information can be specified using MIDI Song Position Pointer (SPP, see below), although many simple MIDI devices ignore this message. Messages

MIDI beat clock defines the following real-time messages:

  • clock (decimal 248, hex 0xF8)
  • start (decimal 250, hex 0xFA)
  • continue (decimal 251, hex 0xFB)
  • stop (decimal 252, hex 0xFC)

MIDI also specifies a System Common message called Song Position Pointer (SPP). SPP can be used in conjunction with the above realtime messages for complete sync. This message consists of 3 bytes; a status byte (decimal 242, hex 0xF2), followed by two 7-bit data bytes (least significant byte first) forming a 14-bit value which specifies the number of "MIDI beats" (1 MIDI beat = a 16th note = 6 clock pulses) since the start of the song. This message only needs to be sent once if a jump to a different position in the song is needed. Thereafter only realtime clock messages need to be sent to advance the song position one tick at a time.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/computer/piano-roll/index.html b/theory/notes/computer/piano-roll/index.html index 6616ec3adf..80fabd84a6 100644 --- a/theory/notes/computer/piano-roll/index.html +++ b/theory/notes/computer/piano-roll/index.html @@ -6,13 +6,13 @@ Piano roll | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Piano roll
A common form of music in modern DAWs

The Buffalo Convention of December 10, 1908 established two future roll formats for the US-producers of piano rolls for self-playing pianos. The two formats had different punchings of 65 and 88 notes, but the same width (11+1⁄4 inches or 286 millimetres); thus 65-note rolls would be perforated at 6 holes to the inch, and 88-note rolls at 9 holes to the inch, leaving margins at both ends for future developments. This made it possible to play the piano rolls on any self-playing instrument built according to the convention, albeit sometimes with a loss of special functionality. This format became a loose world standard.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/computer/ring-tone/index.html b/theory/notes/computer/ring-tone/index.html index b6a8e79ae9..c14de5e628 100644 --- a/theory/notes/computer/ring-tone/index.html +++ b/theory/notes/computer/ring-tone/index.html @@ -6,13 +6,13 @@ Ring Tone Text Transfer Language | Chromatone.center - + - - - - + + + + @@ -54,7 +54,7 @@ G - G G# - G♯ / A♭

Octave

The RTTTL format allows octaves starting from the A below middle C and going up four octaves. This corresponds with the inability of cellphones to reproduce certain tones audibly. These octaves are numbered from lowest pitch to highest pitch from 4 to 7.

The octave should be left out of the notation in the case of a rest or pause in the pattern. Example

An example of the RTTTL format would be

fifth:d=4,o=5,b=63:8P,8G5,8G5,8G5,2D#5

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/ear-traning/absolute-pitch/index.html b/theory/notes/ear-traning/absolute-pitch/index.html index 76d2285f22..de02e2cf04 100644 --- a/theory/notes/ear-traning/absolute-pitch/index.html +++ b/theory/notes/ear-traning/absolute-pitch/index.html @@ -6,13 +6,13 @@ Absolute (Perfect) Pitch | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Absolute (Perfect) Pitch
Basic research on the ability to discern note frequencies without reference tone

https://en.wikipedia.org/wiki/Absolute_pitch

Absolute pitch (AP), often called perfect pitch, is the ability to identify or re-create a given musical note without the benefit of a reference tone. AP may be demonstrated using linguistic labelling ("naming" a note), associating mental imagery with the note, or sensorimotor responses. For example, an AP possessor can accurately reproduce a heard tone on a musical instrument without "hunting" for the correct pitch.

About

The frequency of AP in the general population is not known. A proportion of 1 in 10,000 is widely reported, but not supported by evidence; a 2019 review indicated a prevalence of at least 4% amongst music students.

Generally, absolute pitch implies some or all of these abilities, achieved without a reference tone:

  • Identify by name individual pitches played on various instruments.
  • Name the key of a given piece of tonal music.
  • Identify and name all the tones of a given chord or other tonal mass.
  • Name the pitches of common everyday sounds such as car horns and alarms.

Absolute pitch is distinct from relative pitch. While the ability to name specific pitches can be used to infer intervals, relative pitch identifies an interval directly by its sound. Absolute pitch may complement relative pitch in musical listening and practice, but it may also influence its development.

Adults who possess relative pitch but do not already have absolute pitch can learn "pseudo-absolute pitch" and become able to identify notes in a way that superficially resembles absolute pitch. Some people have been able to develop accurate pitch identification in adulthood through training.

Scientific studies

History of study and terminologies

Scientific studies of absolute pitch commenced in the 19th century, focusing on the phenomenon of musical pitch and methods of measuring it. It would have been difficult for the notion of absolute pitch to have formed earlier because pitch references were not consistent. For example, the note known as 'A' varied in different local or national musical traditions between what is considered as G sharp and B flat before the standardisation of the late 19th century. While the term absolute pitch, or absolute ear, was in use by the late 19th century by both British and German researchers, its application was not universal; other terms such as musical ear, absolute tone consciousness, or positive pitch referred to the same ability. The skill is not exclusively musical.

Difference in cognition, not elementary sensation

Physically and functionally, the auditory system of an absolute listener evidently does not differ from that of a non-absolute listener. Rather, "it reflects a particular ability to analyze frequency information, presumably involving high-level cortical processing." Absolute pitch is an act of cognition, needing memory of the frequency, a label for the frequency (such as "B-flat"), and exposure to the range of sound encompassed by that categorical label. Absolute pitch may be directly analogous to recognizing colors, phonemes (speech sounds), or other categorical perception of sensory stimuli. For example, most people have learned to recognize and name the color blue by the range of frequencies of the electromagnetic radiation that are perceived as light; those who have been exposed to musical notes together with their names early in life may be more likely to identify the note C. Although it was once thought that it "might be nothing more than a general human capacity whose expression is strongly biased by the level and type of exposure to music that people experience in a given culture", absolute pitch may be influenced by genetic variation, possibly an autosomal dominant genetic trait.

Influence by music experience

Evidence suggests that absolute pitch sense is influenced by cultural exposure to music, especially in the familiarization of the equal-tempered C-major scale. Most of the absolute listeners that were tested in this respect identified the C-major tones more reliably and, except for B, more quickly than the five "black key" tones, which corresponds to the higher prevalence of these tones in ordinary musical experiences. One study of Dutch non-musicians also demonstrated a bias toward using C-major tones in ordinary speech, especially on syllables related to emphasis.

Linguistics

Absolute pitch is more common among speakers of tonal languages, such as most dialects of Chinese or Vietnamese, which depend on pitch variation to distinguish words that otherwise sound the same—e.g., Mandarin with four possible tonal variations, Cantonese with nine, Southern Min with seven or eight (depending on dialect), and Vietnamese with six. Speakers of Sino-Tibetan languages have been reported to speak a word in the same absolute pitch (within a quarter-tone) on different days; it has therefore been suggested that absolute pitch may be acquired by infants when they learn to speak a tonal language (and possibly also by infants when they learn to speak a pitch-accent language). However, the brains of tonal-language speakers do not naturally process musical sound as language; such speakers may be more likely to acquire absolute pitch for musical tones when they later receive musical training. Many native speakers of a tone language, even those with little musical training, are observed to sing a given song with consistent pitch. Among music students of East Asian ethnic heritage, those who speak a tone language fluently have a higher prevalence of absolute pitch than those who do not speak a tone language.

African level-tone languages—such as Yoruba, with three pitch levels, and Mambila, with four—may be better suited to study the role of absolute pitch in speech than the pitch and contour tone languages of East Asia.

Speakers of European languages make subconscious use of an absolute pitch memory when speaking.

Perception

Absolute pitch is the ability to perceive pitch class and to mentally categorize sounds according to perceived pitch class. A pitch class is the set of all pitches that are a whole number of octaves apart. While the boundaries of musical pitch categories vary among human cultures, the recognition of octave relationships is a natural characteristic of the mammalian auditory system. Accordingly, absolute pitch is not the ability to estimate a pitch value from the dimension of pitch-evoking frequency (30–5000 Hz), but to identify a pitch class category within the dimension of pitch class (e.g., C-C♯-D ... B-C).

An absolute listener's sense of hearing is typically no keener than that of a non-absolute ("normal") listener. Absolute pitch does not depend upon a refined ability to perceive and discriminate gradations of sound frequencies, but upon detecting and categorizing a subjective perceptual quality typically referred to as "chroma". The two tasks— of identification (recognizing and naming a pitch) and discrimination (detecting changes or differences in rate of vibration)— are accomplished with different brain mechanisms.

Special populations

The prevalence of absolute pitch is higher among those who are blind from birth as a result of optic nerve hypoplasia.

Absolute pitch is considerably more common among those whose early childhood was spent in East Asia. This might seem to be a genetic difference; however, people of East Asian ancestry who are reared in North America are significantly less likely to develop absolute pitch than those raised in East Asia, so the difference is more probably explained by experience. The language that is spoken may be an important factor; many East Asians speak tonal languages such as Mandarin, Cantonese, and Thai, while others (such as those in Japan and certain provinces of Korea) speak pitch-accent languages, and the prevalence of absolute pitch may be partly explained by exposure to pitches together with meaningful musical labels very early in life.

Absolute pitch ability has higher prevalence among those with Williams syndrome and those with an autism spectrum disorder, with claims estimating that up to 30% of autistic people have absolute pitch. A non-verbal piano-matching method resulted in a correlation of 97% between autism and absolute pitch, with a 53% correlation in non-autistic observers. However, the converse is not indicated by research which found no difference between those with absolute pitch and those without on measures of social and communication skills, which are core deficits in autistic spectrum disorders. Additionally, the absolute pitch group's autism-spectrum quotient was "way below clinical thresholds".

Nature vs. nurture

Absolute pitch might be achievable by any human being during a critical period of auditory development, after which period cognitive strategies favor global and relational processing. Proponents of the critical-period theory agree that the presence of absolute pitch ability is dependent on learning, but there is disagreement about whether training causes absolute skills to occur or lack of training causes absolute perception to be overwhelmed and obliterated by relative perception of musical intervals.

One or more genetic loci could affect absolute pitch ability, a predisposition for learning the ability or signal the likelihood of its spontaneous occurrence.

Researchers have been trying to teach absolute pitch ability in laboratory settings for more than a century, and various commercial absolute-pitch training courses have been offered to the public since the early 1900s. In 2013, experimenters reported that adult men who took the antiseizure drug valproate (VPA) "learned to identify pitch significantly better than those taking placebo—evidence that VPA facilitated critical-period learning in the adult human brain". However, no adult has ever been documented to have acquired absolute listening ability, because all adults who have been formally tested after AP training have failed to demonstrate "an unqualified level of accuracy... comparable to that of AP possessors".

While very few people have the ability to name a pitch with no external reference, pitch memory can be activated by repeated exposure. People who are not skilled singers will often sing popular songs in the correct key, and can usually recognize when TV themes have been shifted into the wrong key. Members of the Venda culture in South Africa also sing familiar children's songs in the key in which the songs were learned.

This phenomenon is apparently unrelated to musical training. The skill may be associated more closely with vocal production. Violin students learning the Suzuki method are required to memorize each composition in a fixed key and play it from memory on their instrument, but they are not required to sing. When tested, these students did not succeed in singing the memorized Suzuki songs in the original, fixed key.

Possible problems

Musicians with absolute perception may experience difficulties which do not exist for other musicians. Because absolute listeners are capable of recognizing that a musical composition has been transposed from its original key, or that a pitch is being produced at a nonstandard frequency (either sharp or flat), a musician with absolute pitch may become confused upon perceiving tones believed to be "wrong" or hearing a piece of music "in the wrong key". The relative pitch of the notes may be in tune to each other, but out of tune to the standard pitch or pitches the musician is familiar with or perceives as correct. This can especially apply to Baroque music, as many Baroque orchestras tune to A = 415 Hz as opposed to 440 Hz (i.e. roughly one standard semitone lower than the ISO standard for concert A), while other recordings of Baroque pieces (especially those of French Baroque music) are performed at 392 Hz. Historically, tuning forks for concert A used on keyboard instruments (which ensembles tune to when present), have varied widely in frequency, often between 415 Hz to 456.7 Hz.

Variances in the sizes of intervals for different keys and the method of tuning instruments also can affect musicians in their perception of correct pitch, especially with music synthesized digitally using alternative tunings (e.g. unequal well temperaments and alternative meantone tunings such as 19-tone equal temperament and 31-tone equal temperament) as opposed to 12-tone equal temperament. An absolute listener may also use absolute strategies for tasks which are more efficiently accomplished with relative strategies, such as transposition or producing harmony that is microtonal or whose frequencies do not match standard 12-tone equal temperament. It is also possible for some musicians to have displaced absolute pitch, where all notes are slightly flat or slightly sharp of their respective pitch as defined by a given convention. This may arise from learning the pitch names from an instrument that was tuned to a concert pitch convention other than the one in use (e.g. A = 435 Hz, the Paris Opera convention of the late 19th and early 20th centuries, as opposed to the modern Euro-American convention for concert A = 442 Hz). Concert pitches have shifted higher for a brighter sound. When playing in groups with other musicians, this may lead to playing in a tonality that is slightly different from that of the rest of the group, such as when soloists tune slightly sharp of the rest of the ensemble to stand out or to compensate for loosening strings during longer performances.

Synesthesia

Absolute pitch shows a genetic overlap with music-related and non-music-related synesthesia/ideasthesia. They may associate certain notes or keys with different colors, enabling them to tell what any note or key is. In this study, about 20% of people with absolute pitch are also synesthetes.

Correlations

There is evidence of a higher rate of absolute pitch in the autistic population. Many studies have examined pitch abilities in autism, but not rigidly perfect pitch, which makes them controversial. It is unclear just how many people with autism have perfect pitch because of this. In a 2009 study, researchers studied 72 teenagers with autism and found that 20 percent of the teenagers had a significant ability to detect pitches. Children with autism are especially sensitive to changes in pitch.

Correlation with musical talent

Absolute pitch is not a prerequisite for skilled musical performance or composition. However, there is evidence that musicians with absolute pitch tend to perform better on musical transcription tasks (controlling for age of onset and amount of musical training) compared to those without absolute pitch. It was previously argued that musicians with absolute pitch perform worse than those without absolute pitch on recognition of musical intervals; however, experiments on which this conclusion was based contained an artifact and, when this artifact was removed, absolute pitch possessors were found to perform better than nonpossessors on recognition of musical intervals.

aangeles @ https://forum.littlelearner.kids/t/eguchi-method-of-teaching-perfect-pitch/223376/12

The way I understood HH replies was that she was not so much criticizing the Eguchi method per se as she was saying that having perfect pitch alone may not be all that great. Perhaps I inadvertently contributed to this “misunderstanding” by the way I posted my very first message. (I started this thread just as I was leaving work the other day and I was in a hurry so I failed to elaborate.)

Even though I have been doing perfect pitch training with Ella using a modified Doman method for some time now, I have been kinda conflicted whether I should be doing this at all. In the back of my mind, I was always wondering whether I am teaching her an ability that she would later wish she did not have at all. (Apparently, once you develop perfect pitch, you will not be able to lose it even if you wanted to.) While there is a lot of contradictory information on the topic (and sometimes even on the DEFINITION of perfect pitch), most of the articles and posts in music/piano/violin forums I have read by people WITH perfect pitch seem to say that:

  1. It is no guarantee of musical success or, even, musical talent.
  2. Having this ability can be inconvenient, annoying, and can sometimes even get in the way of singing/playing an instrument because they get distracted/annoyed when they hear other people sing/play off-key, they have a problem transposing to a higher or lower key, they get too focused on pitch, pitch, pitch and fail to just enjoy the music, it is a hindrance to improvisation and creativity, etc. Granted, most of these people are not professional musicians so maybe that is another variable that has to be taken into consideration. I do remember reading somewhere in this forum that DrPrimo, one of our brillkids member, said that she has perfect pitch and she is very musical and that it is a nice skill to have!

So, anyway, I always had this nagging concern that teaching Ella to recognize individual notes/pitch (by using the glockenspiel, keyboard, or tuning forks) out of context of a holistic music education would not be a good thing at all. As of now, I don’t have enough information on the Eguchi method or on the Chordhopper ear training software to decide whether they are effective or not. They may be 100% effective for all I know (I don’t think HH ever said that these methods would not be effective). It’s just that I agree with HH that probably the best goal to aim for for Ella would not be having perfect pitch per se but having a combination of perfect pitch and what she calls “harmonical ear.”

For now, I will carry on with what I have been doing so far with Ella with regard to perfect pitch (modified Doman), until I receive my SM package and learn about the program firsthand. I had already ordered SM even before starting this thread so I guess I don’t have a choice anyway… lol

I do hope that Ella will like SM and that I will have encouraging updates to post soon about our experience with using this program.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/ear-traning/eguchi/index.html b/theory/notes/ear-traning/eguchi/index.html index e5c72ec353..e1bc3069f4 100644 --- a/theory/notes/ear-traning/eguchi/index.html +++ b/theory/notes/ear-traning/eguchi/index.html @@ -6,13 +6,13 @@ Eguchi method | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Eguchi method
Effective use of colors to train perfect pitch with kids

https://pganssle.github.io/cim/

https://www.washingtonpost.com/wp-dyn/content/article/2009/07/26/AR2009072602350.html?sid=ST2009072602370

An Elusive Musical Gift Could Be at Children's Fingertips

A 'Perfect' Way to Teach Music

A Japanese method of training may help young music students learn "perfect pitch," a skill that many thought was only innate. The method, as shown in this video, teaches children to raise a certain color flag when they hear a specific chord, starting with the red flag and the C chord. Throughout the training, more flags and different chords are introduced.Video courtesy of Ichionkai Music School, Edited by Ashley Barnas/The Washington Post

By Kathryn Tolbert Washington Post Staff Writer Monday, July 27, 2009 TOKYO

If you could give your child the gift of perfect pitch - the ability to identify a note simply by hearing it - would you? The few who are born with perfect pitch say notes have a concrete identity and presence, almost like colors, and being able to intuitively recognize them gives music an almost three-dimensional quality.

To put it simply, "if you taste a dish and you can name every ingredient - that is like having perfect pitch," said pianist and music teacher Chizuko Ozawa.

It is widely accepted that you cannot learn perfect pitch as an adult. But your child, it appears, can.

Kazuko Eguchi started developing a method 40 years ago, when she was a young college music instructor frustrated both by her own lack of perfect pitch and the weaknesses she saw in her students. She attributed the problem to poor early training.

U.S. piano teachers will get a glimpse of her eventual solution this week. Tomoko Kanamaru, pianist and assistant professor of music at The College of New Jersey, will give a presentation titled "Can Perfect Pitch be Taught? Introduction to the Eguchi Method" at the National Conference on Keyboard Pedagogy in Lombard, Ill.

The Eguchi Method is used by more than 800 teachers around Japan to teach perfect pitch to very young children, claiming a success rate of almost 100 percent for those who start before they are 4 years old. At the end of the training, which starts by matching chords with colored flags, a teacher will play random notes on the piano and the child, without looking, can identify them.

Once learned, perfect pitch stays with a child for life, the teachers believe. But attaining it is not quick or easy, even for a 3-year-old. It also requires a committed and patient parent willing to invest a few minutes several times a day for up to two years. And it is all separate from learning to play the piano or any other instrument. In fact, the child never touches the keyboard during these ear training sessions.

The teacher starts by playing the three-note C major chord on a piano, and the child is instructed to raise a red flag. (It doesn't have to be red, or even a flag; any simple symbol will do.) At home, the parent carries on the instruction by playing the C chord and the child, sitting where he cannot see the keyboard, raises the red flag. They do this a few times every day.

After a couple of weeks, a second chord and flag are added. Now the child has to raise a yellow flag for an F major chord, and the red for a C. Then a third and fourth chord join the mix. Eventually all the white-key chords are associated with a colored flag, then all those with black keys. The child names the chord only by its color.

Training sessions are meant to be quite short, a few minutes each, but repeated frequently. Chords are played in random sequence, never in the same order, to prevent the child from identifying any chord by its relation to another.

Later, the child calls out the individual notes that make up the chord. For C major, which is C-E-G, or do-mi-so, the child raises the red flag and says, "red, do-mi-so," for example.

Eventually, the parent or teacher, after playing the chord, takes the highest note and plays it separately. The child names the chord, the individual notes, and then upon hearing the single note, identifies that one.

The Eguchi Method - a course for children that focuses on the piano and includes perfect pitch development as part of ear training - differs from other pitch training by focusing initially on chords instead of single notes. Eguchi says that starting with notes instead of chords leads some children to identify the note by its relative position to another note. Ozawa says remembering chords is easier for children; she compares it to remembering a face rather than just the eyes.

But other than the perceptual satisfaction of having perfect pitch, what are the benefits?

Eugene Pridonoff, a pianist and artist in residence at the University of Cincinnati who visits Eguchi's Ichionkai Music School in Tokyo twice a year as a guest piano teacher, says he can see the results from early ear training.

"I'll explain and demonstrate: They understand, are able to absorb, hear it and immediately reproduce it on their piano," he said. "These kids were remarkably consistent and remarkably quick in that respect - in how sensitive their ears are to nuance.

"It's clear that the musical ears of these kids are so well developed. Is it the Eguchi Method? To a great degree, it's because they start so young," he said. "That sort of discerning differences in groups of chords has to be activating brain connections beyond what most kids are getting."

The music school has about 1,500 students, from toddlers to high-school teenagers. The ideal starting age is 2 1/2 to 3, and training is not effective after 8, said Kanamaru, the College of New Jersey professor.

A recent study by Ken'ichi Miyazawa and Yoko Ogawa published in the journal Music Perception looks at the incidence of perfect pitch among Japanese children who started music lessons at age 4 at an unnamed music school "run by the largest music corporation in Japan." They reported that the accuracy of pitch improved from near-chance at age 4 to around 80 percent at age 7 and did not improve much after that.

Eguchi, 67, who is confined to a wheelchair because she suffers from acute articular rheumatism and can no longer play the piano or teach, said in a telephone interview that because of her illness, she was only able to give her daughter, Ayako, partial training.

But her grandchildren have learned at her music school.

"Ayako's daughter can harmonize to the melody very smoothly. It's almost like when she sees the music, she hears it," Eguchi said. "She has a good ability to make judgments in sound. She can come up with different harmonization than she sees. When the key changes, it is very natural to her."

Pridonoff says he is impressed with Eguchi's success in Japan. But he is not sure how adaptable the method is to American society. "Very few children in the U.S. are able to start so young with such intensive guidance in the combination of teacher and parent," he said. "What we have seen in Japan is that the mother is working with those children on a regular basis every day in addition to their having lessons."

He added: "In our culture, in many families both parents are working, and we seem to want our children to be well-rounded, involved in a multitude of activities. It is rare in our country for children to start to specialize at such a young age."

See video of flag training at http://www.washington post.com/science.

To see if you have perfect pitch, Diana Deutsch of the University of California, San Diego, has a test at http://deutsch.ucsd.edu, clicking on the article "Perfect Pitch: Language Wins Out Over Genetics" and then going to the bottom of the page. Or go directly to http://www.acoustics.org/press/157th/deutsch3.htm.


https://ichionkai.co.jp/english4.html

Perfect Pitch Program

Developed by Japanese master pedagogue, Kazuko Eguchi, the Eguchi Method has proven that anyone under the age of six can acquire perfect pitch. To this date, more than 20000 children have acquired the perfect pitch through the method.

This method was first introduced in the U.S. at the National Conference on Keyboard Pedagogy, held in Chicago in July and August 2009, by faculty of Ichionkai: Ayako Eguchi, Ph.D (Ochanomizu University, Tokyo Japan) and Tomoko Kanamaru, DMA (currently also teaches at The College of New Jersey, Ewing, NJ). This workshop offered an oppotunity to become familier with this unique training, and was accepted with a great interest from an audience.

What is Perfect Pitch?

Perfect Pitch is the ability that a person can identify tones as a pitch name without any reference or external standard. In the Eguchi Method, we use the single-note labeling test (presented below) to recognize if a person has the perfect pitch ability. We consider him/her having perfect pitch by answering all the questions correct. In the test, he/she names (labels) several single pitches without any standard tone given. He/she is not allowed to realize if the answer is right or false until she/he finishes all the questions.

What advantages come with Perfect Pitch?

You can identify the tone as a pitch only by hearing it, without any reference. In other words, perfect pitch gives you the ability to image the right pitch without any instruments or tuners. This gives you an easier time to playing the music by ear, and writing the music onto the score. In addition, you will be able to memorize the music in pitches as well as you can obtain the stronger image for tones. This ability can preserve your memory fresh for a long term. All musicians will appreciate how it is useful to have perfect pitch for many kinds of musical activity, such as singing and composing.

So everything depends on perfect pitch?

Obtaining perfect pitch is not a goal for the overall musical skill. It is rather a tool to develop the musical sense and makes the further musical development smoother. In Eguchi method, we do not consider the perfect pitch as a goal for children, but recognize it as one of the general musical abilities.

As talked about in 「What advantages can you have with Perfect Pitch?」, the student with perfect pitch can participate the music only by "ear" - their internal perception. This allows them to have quicker and easier time for playing, singing and composing. In many cases, these students even become more careful and sensitive for sound. We believe that this skill encourages their musical independency for their further musical studying.

Perfect pitch is not a special ability for only a few people naturally given it. For anybody, it can be achieved under the proper training environment, at the certain stage of children's development. Not only for professionals, but also for anybody who love music, perfect pitch will be a useful skill to enjoy the music.

What kind of training process?

The main procedure of Eguchi Method Perfect Pitch Training System is listening to the chords and labeling them in "color" but not an actual pitch name. Each chord is applied different colors. Children do not perceive the chords as pitch names at first, but identify as a "color" image.

The internet lessons are easily accessible and will cause no difficulty for children. Access to our Perfect Pitch Training System website, and type password. Then start training! It requires no complicated process, but simply clicking the answers. The result needs to be sent to us, and we will give a feedback for each lesson.

Under what condition, can children have the training?

Since 1960s, one of the leading Japanese music pedagogues, Kazuko Eguchi, has started employing the perfect pitch training in her piano teaching.

The procedure was presented in public at the International Music Psychology Seminar in Czech Republic in 1981, for the first time. In the following year, Japanese academic journal "Music Pedagogy Studying" had featured about Eguchi's perfect pitch training. In 1991, a book about know-how of perfect pitch training had been published: "Tones flying to you like a rocket" by Niki-Publishing in Japan (current version: "New Perfect Pitch Program" by Zen-on Publishing). Later, Ayako Eguchi, psychologist, had started to systematize the perfect pitch training through a point of view as a psychologist.

She introduced and discussed about the method three times in the academic journal "educational psychology study", and five times at international conference (ICMPC). In 1999, the effectivity of Perfect Pitch Program is proved and accepted as a result of her Ph.D dissertation at Tokyo University. By 2002, Kazuko and Ayako Eguchi had published four books about Eguchi method Perfect Pitch Training System (all in Japanese).

The training method has been frequently introduced in the newspaper and media, and widely accepted in Japan.

Also in 2009 July, it has been introduced in Washington Post for the first time in United States.

At Ichionkai Music School, we are currently teaching about 1500 students.

All of them either acquired the perfect pitch by this training system or continuing training currently. Also other 500 students participate the training through the Internet perfect pitch program. So far, there a re total 20000 students who acquired the perfect pitch through the Eguchi Method Perfect Pitch Training System.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/ear-traning/index.html b/theory/notes/ear-traning/index.html index 1004853acd..7eaeec9a4c 100644 --- a/theory/notes/ear-traning/index.html +++ b/theory/notes/ear-traning/index.html @@ -6,13 +6,13 @@ Ear training | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Ear training
Aural skills development methods

In music, ear training is the study and practice in which musicians learn various aural skills to detect and identify pitches, intervals, melody, chords, rhythms, solfeges, and other basic elements of music, solely by hearing. Someone who can identify pitch accurately without any context is said to have perfect pitch, while someone who can only identify pitch provided a reference tone or other musical context is said to have relative pitch. Someone that can't perceive these qualities at all is said to be tone deaf. The application of this skill is somewhat analogous to taking dictation in written/spoken language. As a process, ear training is in essence the inverse of reading music, which is the ability to decipher a musical piece by reading musical notation. Ear training is typically a component of formal musical training and is a fundamental, essential skill required in music schools and the mastery of music.

Functional pitch recognition

Functional pitch recognition involves identifying the function or role of a single pitch in the context of an established tonic. Once a tonic has been established, each subsequent pitch may be classified without direct reference to accompanying pitches. For example, once the tonic G has been established, listeners may recognize that the pitch D plays the role of the dominant in the key of G. No reference to any other pitch is required to establish this fact.

Many musicians use functional pitch recognition in order to identify, understand, and appreciate the roles and meanings of pitches within a key. To this end, scale-degree numbers or movable-do solmization (do, re, mi, etc.) can be quite helpful. Using such systems, pitches with identical functions (the key note or tonic, for example) are associated with identical labels (1 or do, for example).

Functional pitch recognition is not the same as fixed-do solfège, e.g. do, re, mi, etc. Functional pitch recognition emphasizes the role of a pitch with respect to the tonic, while fixed-do solfège symbols are labels for absolute pitch values (do=C, re=D, etc., in any key). In the fixed-do system (used in the conservatories of the Romance language nations, e.g. Paris, Madrid, Rome, as well as the Juilliard School and the Curtis Institute in the USA), solfège symbols do not describe the role of pitches relative to a tonic, but rather actual pitches. In the movable-do system, there happens to be a correspondence between the solfège symbol and a pitch's role. However, there is no requirement that musicians associate the solfège symbols with the scale degrees. In fact, musicians may utilize the movable-do system to label pitches while mentally tracking intervals to determine the sequence of solfège symbols.

Functional pitch recognition has several strengths. Since a large body of music is tonal, the technique is widely applicable. Since reference pitches are not required, music may be broken up by complex and difficult to analyze pitch clusters, for example, a percussion sequence, and pitch analysis may resume immediately once an easier to identify pitch is played, for example, by a trumpet—no need to keep track of the last note of the previous line or solo nor any need to keep track of a series of intervals going back all the way to the start of a piece. Since the function of pitch classes is a key element, the problem of compound intervals with interval recognition is not an issue—whether the notes in a melody are played within a single octave or over many octaves is irrelevant.

Functional pitch recognition has some weaknesses. Music with no tonic or ambiguous tonality does not provide the frame of reference necessary for this type of analysis. When dealing with key changes, a student must know how to account for pitch function recognition after the key changes: retain the original tonic or change the frame of reference to the new tonic. This last aspect in particular, requires an ongoing real-time (even anticipatory) analysis of the music that is complicated by modulations and is the chief detriment to the movable-do system.

Interval recognition

Interval recognition is also a useful skill for musicians: in order to determine the notes in a melody, a musician must have some ability to recognize intervals. Some music teachers teach their students relative pitch by having them associate each possible interval with the first two notes of a popular song. However, others have shown that such familiar-melody associations are quite limited in scope, applicable only to the specific scale-degrees found in each melody.

In addition, there are various systems (including solfeggio, sargam, and numerical sight-singing) that assign specific syllables to different notes of the scale. Among other things, this makes it easier to hear how intervals sound in different contexts, such as starting on different notes of the same scale.

Chord recognition

Complementary to recognizing the melody of a song is hearing the harmonic structures that support it. Musicians often practice hearing different types of chords and their inversions out of context, just to hear the characteristic sound of the chord. They also learn chord progressions to hear how chords relate to one another in the context of a piece of music.

Microtonal chord and interval recognition

The process is similar to twelve-tone ear training, but with many more intervals to distinguish. Aspects of microtonal ear training are covered in Harmonic Experience, by W. A. Mathieu, with sight-singing exercises, such as singing over a drone, to learn to recognize just intonation intervals. There are also software projects underway or completed geared to ear training or to assist in microtonal performance.

Gro Shetelig at The Norwegian Academy of Music is working on the development of a Microtonal Ear Training method for singers[4] and has developed the software Micropalette,[5] a tool for listening to microtonal tones, chords and intervals. Aaron Hunt at Hi Pi instruments has developed Xentone,[6] another tool for microtonal ear training. Furthermore, Reel Ear Web Apps[7] have released a Melodic Microtone Ear Training App based on call and response dictations.

Rhythm recognition

One way musicians practise rhythms is by breaking them up into smaller, more easily identifiable sub-patterns. For example, one might start by learning the sound of all the combinations of four eighth notes and eighth rests, and then proceed to string different four-note patterns together.

Another way to practise rhythms is by muscle memory, or teaching rhythm to different muscles in the body. One may start by tapping a rhythm with the hands and feet individually, or singing a rhythm on a syllable (e.g. "ta"). Later stages may combine keeping time with the hand, foot, or voice and simultaneously tapping out the rhythm, and beating out multiple overlapping rhythms.

A metronome may be used to assist in maintaining accurate tempo.

Timbre recognition

Each type of musical instrument has a characteristic sound quality that is largely independent of pitch or loudness. Some instruments have more than one timbre, e.g. the sound of a plucked violin is different from the sound of a bowed violin. Some instruments employ multiple manual or embouchure techniques to achieve the same pitch through a variety of timbres. If these timbres are essential to the melody or function, as in shakuhachi music, then pitch training alone will not be enough to fully recognize the music. Learning to identify and differentiate various timbres is an important musical skill that can be acquired and improved by training.

Transcription

Music teachers often recommend transcribing recorded music as a way to practise all of the above, including recognizing rhythm, melody and harmony. The teacher may also perform ('dictate') short compositions, with the pupil listening and transcribing them on to paper.

Modern training methods

For accurate identification and reproduction of musical intervals, scales, chords, rhythms, and other audible parameters a great deal of practice is often necessary. Exercises involving identification often require a knowledgeable partner to play the passages in question and to assess the answers given. Specialised music theory software can remove the need for a partner, customise the training to the user's needs and accurately track progress. Conservatories and university music departments often license commercial software for their students, such as Meludia, EarMaster, Auralia, and MacGAMUT, so that they can track and manage student scores on a computer network. Similar data tracking software such as MyMusicianship and SonicFit focus on ear training for singers and are licensed by schools and community choirs. A variety of free software also exists, either as browser-based applications or as downloadable executables. For example, free and open source software under the GPL, such as GNU Solfege, often provides many features comparable with those of popular proprietary products.[citation needed] Most ear-training software is MIDI-based, permitting the user to customise the instruments used and even to receive input from MIDI-compatible devices such as electronic keyboards. Interactive ear-training applications are also available for smartphones.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/ear-traning/reference-songs/index.html b/theory/notes/ear-traning/reference-songs/index.html index 22c04dc796..bfb2da360f 100644 --- a/theory/notes/ear-traning/reference-songs/index.html +++ b/theory/notes/ear-traning/reference-songs/index.html @@ -6,13 +6,13 @@ Interval reference songs | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Interval reference songs
Popular songs that start or notably use intervals to be memorized and easily recognized

Interval recognition, the ability to name and reproduce musical intervals, is an important part of ear training, music transcription, musical intonation and sight-reading.

Reference songs

Some music teachers teach their students relative pitch by having them associate each possible interval with the first interval of a popular song. Such songs are known as "reference songs". However, others have shown that such familiar-melody associations are quite limited in scope, applicable only to the specific scale-degrees found in each melody.

0/unison"America the Beautiful" (on "Oh beautiful")' "God Save the King"/"My Country, 'Tis of Thee" "Hava Nagila" "Jingle Bells" "La Marseillaise""One Note Samba" "Twinkle, Twinkle, Little Star" (on "twin-kle")
Steps/intervalAscendingDescending
1/minor secondTheme of the One Ring from The Lord of the Rings Theme from Jaws "Nice Work If You Can Get It" "Isn't She Lovely" Ode to Joy (10)C↑C♯"Stella by Starlight" "Joy to the World" "Für Elise" Theme from Jurassic Park Wedding March MendelssohnC↓B
2/major second"Frère Jacques" "Silent Night" "Never Gonna Give You Up" "Strangers in the Night" "Do-Re-Mi"C↑D"Mary Had a Little Lamb" "Three Blind Mice" "Satin Doll" "The First Noel"C↓B♭
3/minor third"A Cruel Angel's Thesis" (theme from Neon Genesis Evangelion) "Axel F" the Beverly Hills Cop theme song "Greensleeves" "Smoke on the Water" "O Canada" "The Impossible Dream" "So Long, Farewell" "Oh where, oh where has my little dog gone" "Iron Man" by Black Sabbath "Bad" "Brahms's Lullaby" "Hallelujah"C↑E♭"Hey Jude" "The Star-Spangled Banner" "Frosty the Snowman" "This Old Man" "Can We Fix It?" from Bob the BuilderC↓A
4/major third"When the Saints Go Marching In" "Spring" from Vivaldi's "Four Seasons" "Kumbaya" "And did those feet in ancient time" "O mio babbino caro"C↑E"Summertime" "Swing Low, Sweet Chariot" "Goodnight, Ladies" Beethoven's Symphony No. 5C↓A♭
5/perfect fourth"Auld Lang Syne" "O Tannenbaum/Oh Christmas Tree" Here Comes the Bride "Amazing Grace"C↑FEine kleine Nachtmusik "O Come, All Ye Faithful" Theme from DynastyC↓G
6/tritone"Maria" from West Side Story "The Simpsons Theme"C↑F♯"YYZ" "Black Sabbath" "Even Flow"C↓F♯
7/perfect fifthAlso sprach Zarathustra "Can't Help Falling in Love" (on Wise Men) "My Favorite Things" "Scarborough Fair" Theme from Star Wars "Twinkle, Twinkle, Little Star" (from 1st to 2nd "twinkle") "Yeah!"C↑GBack to the Future Theme "Don't You (Forget About Me)" chorus The Flintstones Theme "Seven Steps to Heaven" "What Do You Do With A Drunken Sailor?"C↓F
8/minor sixth"Go Down Moses" on "When Is(-rael)" Theme of 1492: Conquest of Paradise "The Entertainer" (big interval after pick-up) "Close Every Door" "Nothing Compares 2 U"C↑A♭"You're Everything" from Light as a Feather "Where Do I Begin?" from the film Love StoryC↓E
9/major sixth"For He's a Jolly Good Fellow" "It Came Upon the Midnight Clear" "Jingle Bells" (on "dash-ing through the snow") "Leia's Theme" (from Star Wars) "Libiamo ne' lieti calici", brindisi from Verdi's 1853 opera La traviata"My Bonnie Lies over the Ocean" "My Way" NBC Theme SongC↑A"Man in the Mirror" (chorus) "The Music of the Night" "Nobody Knows the Trouble I've Seen" "Over There" "Sweet Caroline"C↓E♭
10/minor seventhTheme from Star Trek "Somewhere" from West Side Story "The Winner Takes It All"C↑B♭"Watermelon Man" "An American in Paris" "Lady Jane" (refrain)(9)C↓D
11/major seventh"Take On Me" Theme from Fantasy IslandC↑B"I Love You" “Have Yourself a Merry Little Christmas (Nat King Cole)” "Maybe"C↓C♯
12/octave"Over the Rainbow" "Blue Bossa" "The Christmas Song" "Starman" "Let It Snow! Let It Snow! Let It Snow!" "When You Wish Upon a Star"C↑C"Willow Weep for Me"C↓C

In addition, there are various solmization systems (including solfeggio, sargam, and numerical sight-singing) that assign specific syllables to different notes of the scale. Among other things, this makes it easier to hear how intervals sound in different contexts, such as starting on different notes of the same scale.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/index.html b/theory/notes/index.html index ebd01516aa..2b52a85432 100644 --- a/theory/notes/index.html +++ b/theory/notes/index.html @@ -6,13 +6,13 @@ Notes | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/theory/notes/national/index.html b/theory/notes/national/index.html index 786321cd75..82b11dba4d 100644 --- a/theory/notes/national/index.html +++ b/theory/notes/national/index.html @@ -6,13 +6,13 @@ National notation systems of ancient and modern cultures | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
National notation systems of ancient and modern cultures
Greece, Korea and others

Indian notation

The seven varnas of a saptak.

The Samaveda text (1200 BC – 1000 BC) contains notated melodies, and these are probably the world's oldest surviving ones.

https://en.wikipedia.org/wiki/Vedic_accent

The musical notation is written usually immediately above, sometimes within, the line of Samaveda text, either in syllabic or a numerical form depending on the Samavedic Sakha (school). The Indian scholar and musical theorist Pingala (c. 200 BC), in his Chanda Sutra, used marks indicating long and short syllables.

Saptak - सप्तक - 7 svaras - Octave

SolfegeSyllableNameMeaningVariantsColorPlanetChakra
DoSaṣaḍja (षड्ज)Giving birth to the sixshuddha sa (sa)GreenMercuryMūlādhāra
ReReṛṣabha (ऋषभ)Bullkomal re (ra), shuddha re (ri)RedMarsSvādhiṣṭhāna
MiGagāndhāra (गान्धार)Miniumkomal ga (ga), shuddha ma (gi)GoldSunMaṇipūra
FaMamadhyama (मध्यम)Middlemostshuddha ma (mi), tivra ma (mu)WhiteMoonAnāhata
SolPapañcama (पंचम)Fifthshuddha pa (pa)BlackSaturnViśuddha
LaDhadhaivata (धैवत)Steadykomal dha (dha), shuddha dha (dhi)YellowJupiterĀjñā
SiNiniṣāda (निषाद)Sittingkomal ni (na), shuddha ni (ni)MultiVenusSahasrāra

https://en.wikipedia.org/wiki/Svara

http://sanskritdictionary.com/ṣaḍja/242242/1

Hurrian songs - the worlds oldest music notation artefact

The Hurrian songs are a collection of music inscribed in cuneiform on clay tablets excavated from the ancient Amorite-Canaanite city of Ugarit, a headland in northern Syria, which date to approximately 1400 BCE. One of these tablets, which is nearly complete, contains the Hurrian Hymn to Nikkal (also known as the Hurrian cult hymn or A Zaluzi to the Gods, or simply h.6), making it the oldest surviving substantially complete work of notated music in the world.

The complete song is one of about 36 such hymns in cuneiform writing, found on fragments of clay tablets excavated in the 1950s from the Royal Palace at Ugarit (present-day Ras Shamra, Syria), in a stratum dating from the fourteenth century BC, but is the only one surviving in substantially complete form.

Ancient Greece

Hymn to Applo in Delphi

China

Gongche - 'mi re'

  1. 上 - [sɑ̄ːŋ] - shàng - do
  2. 尺 - [tsʰɛ́ː] - chě - re
  3. 工 - [kʊ́ŋ] - gōng - mi
  4. 凡 - [fɑ́ːn] - fán - fa
  5. 六 - [líːu] - liù - sol
  6. 五 - [wúː] - wǔ - la
  7. 乙 - [jìː] - yǐ - si

Korea

Jeongganbo musical notation system

Japan

Kunkunshi (工工四 (Okinawan) pronounced [kuŋkunɕiː]) is the traditional notation system by which music is recorded in the Ryukyu Islands. The term kunkunshi originally referred to the first three notes of a widely known Chinese melody, although today it is used almost exclusively in reference to the sheet music.

Kunkunshi is believed to have been first developed by Mongaku Terukina or by his student Choki Yakabi in the early to mid-1700s. However, it was not until the end of the 19th century that the form became standardized for writing sanshin music.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/solmization/index.html b/theory/notes/solmization/index.html index 3b61652de8..b9487f3e51 100644 --- a/theory/notes/solmization/index.html +++ b/theory/notes/solmization/index.html @@ -6,13 +6,13 @@ Solmization | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Solmization
Systems of attributing a distinct syllable to each note of a musical scale.

Solmization is a system of attributing a distinct syllable to each note of a musical scale. Various forms of solmization are in use and have been used throughout the world, but solfège is the most common convention in countries of Western culture.

Solfège

Syllables are assigned to the notes of the scale and enable the musician to audiate, or mentally hear, the pitches of a piece of music being seen for the first time and then to sing them aloud. Through the Renaissance (and much later in some shapenote publications) various interlocking 4, 5 and 6-note systems were employed to cover the octave. The tonic sol-fa method popularized the seven syllables commonly used in English-speaking countries: do (or doh in tonic sol-fa), re, mi, fa, so(l), la, and ti (or si).

The seven syllables normally used for this practice in English-speaking countries are: do, re, mi, fa, sol, la, and ti (with sharpened notes of di, ri, fi, si, li and flattened notes of te, le, se, me, ra). The system for other Western countries is similar, though si is often used as the final syllable rather than ti.

There are two current ways of applying solfège:

  1. fixed do, where the syllables are always tied to specific pitches (e.g. "do" is always "C-natural")
  2. movable do, where the syllables are assigned to scale degrees, with "do" always the first degree of the major scale.

In eleventh-century Italy, the music theorist Guido of Arezzo in his work "Micrologus" invented a notational system that named the six notes of the hexachord after the first syllable of each line of the Latin hymn Ut queant laxis, the "Hymn to St. John the Baptist", yielding ut, re, mi, fa, sol, la. Each successive line of this hymn begins on the next scale degree, so each note's name was the syllable sung at that pitch in this hymn.

Ut queant laxīs resonāre fībrīs ra gestōrum famulī tuōrum, Solve pollūtī labiī reātum, Sancte Iōhannēs.

The words were written by Paulus Diaconus in the 8th century. They translate as:

So that your servants may, with loosened voices, Resound the wonders of your deeds, Clean the guilt from our stained lips, O St. John.

"Ut" was changed in the 1600s in Italy to the open syllable Do, at the suggestion of the musicologist Giovanni Battista Doni (based on the first syllable of his surname), and Si (from the initials for "Sancte Iohannes") was added to complete the diatonic scale. In Anglophone countries, "si" was changed to "ti" by Sarah Glover in the nineteenth century so that every syllable might begin with a different letter. "Ti" is used in tonic sol-fa (and in the famed American show tune "Do-Re-Mi").

Movable do

In Movable do or tonic sol-fa, each syllable corresponds to a scale degree. This is analogous to the Guidonian practice of giving each degree of the hexachord a solfège name.

Movable do is frequently employed in Australia, China, Japan (with 5th being so, and 7th being si), Ireland, the United Kingdom, the United States, Hong Kong, and English-speaking Canada. The movable do system is a fundamental element of the Kodály method used primarily in Hungary, but with a dedicated following worldwide. In the movable do system, each solfège syllable corresponds not to a pitch, but to a scale degree: The first degree of a major scale is always sung as "do", the second as "re", etc. (For minor keys, see below.) In movable do, a given tune is therefore always sol-faed on the same syllables, no matter what key it is in.

Passages in a minor key may be sol-faed in one of two ways in movable do: either starting on do (using "me", "le", and "te" for the lowered third, sixth, and seventh degrees, and "la" and "ti" for the raised sixth and seventh degrees), which is referred to as "do-based minor", or starting on la (using "fi" and "si" for the raised sixth and seventh degrees). The latter (referred to as "la-based minor") is sometimes preferred in choral singing, especially with children.

Tonic sol-fa

Tonic sol-fa (or tonic sol-fah) is a pedagogical technique for teaching sight-singing, invented by Sarah Ann Glover (1785–1867) of Norwich, England and popularised by John Curwen, who adapted it from a number of earlier musical systems. It uses a system of musical notation based on movable do solfège, whereby every note is given a name according to its relationship with other notes in the key: the usual staff notation is replaced with anglicized solfège syllables (e.g. do, re, mi, fa, sol, la, ti, do) or their abbreviations (d, r, m, f, s, l, t, d). "Do" is chosen to be the tonic of whatever key is being used (thus the terminology moveable Do in contrast to the fixed Do system used by John Pyke Hullah). The original solfège sequence started with "Ut" which later became "Do".

Solmization that represents the functions of pitches (such as tonic sol-fa) is called "functional" solmization. All musicians that use functional solmization use "do" to represent the tonic (also known as the "keynote") in the major mode. However, approaches to the minor mode fall into two camps. Some musicians use "do" to represent the tonic in minor (a parallel approach), whereas others prefer to label the tonic in minor as "la" (a relative approach) Both systems have their advantages: The former system more directly represents the scale-degree functions of the pitches in a key; the latter more directly represents the intervals between pitches in any given key signature.

Fixed do

In Fixed do, each syllable corresponds to the name of a note. This is analogous to the Romance system naming pitches after the solfège syllables, and is used in Romance and Slavic countries, among others, including Spanish-speaking countries.

In the major Romance and Slavic languages, the syllables Do, Re, Mi, Fa, Sol, La, and Si are used to name notes the same way that the letters C, D, E, F, G, A, and B are used to name notes in English. For native speakers of these languages, solfège is simply singing the names of the notes, omitting any modifiers such as "sharp" or "flat" to preserve the rhythm.

Chromatic variants

Several chromatic fixed-do Systems that have also been devised to account for chromatic notes, and even for double-sharp and double-flat variants. The Yehnian being the first 24-EDO solfège, proposed even quartertonal syllables while having no exceptions of its rules, and usability for both Si and Ti users.

Note nameSyllable Pitch class
EnglishRomanceTraditionalShearerSilerSotorrioYehnian (chromatic)
C♭Do♭ dedo(Tsi)11
CDodododaDoDo0
C♯Do♯ dideGaDu1
D♭Re♭ raroGa1
DRerereraRayRe2
D♯Re♯ rireNuRu3
E♭Mi♭ memoNu3
EMimimimaMiMi4
E♯Mi♯ maime(Fa)Mu5
F♭Fa♭ fefo(Mi)4
FFafafafaFaFa5
F♯Fa♯ fifeJurFu6
G♭Sol♭ sesoJurSəl / Sə6
GSolsolsosaSolSol7
G♯Sol♯ siseKiSul / Su8
A♭La♭ leloKi8
ALalalalaLaLa9
A♯La♯ lilePeLu10
B♭Si♭ tetoPeSə / Tə10
BSisititaTsiSi / Ti11
B♯Si♯ taite(Do)Su / Tu0

Comparison of the two systems

Movable Do corresponds to our psychological experience of normal tunes. If the song is sung a tone higher it is still perceived to be the same song, and the notes have the same relationship to each other, but in a fixed Do all the note names would be different. A movable Do emphasizes the musicality of the tune as the psychological perception of the notes is always relative to a key for the vast majority of people that do not have absolute pitch.

Jose Sotorrio argues that fixed-do is preferable for serious musicians, as music involving complex modulations and vague tonality is often too ambiguous with regard to key for any movable system. That is, without a prior analysis of the music, any movable-do system would inevitably need to be used like a fixed-do system anyway, thus causing confusion. With fixed-do, the musician learns to regard any syllable as the tonic, which does not force them to make an analysis as to which note is the tonic when ambiguity occurs. Instead, with fixed-do the musician will already be practiced in thinking in multiple/undetermined tonalities using the corresponding syllables.

In comparison to the movable do system, which draws on short-term relative pitch skills involving comparison to a pitch identified as the tonic of the particular piece being performed, fixed do develops long-term relative pitch skills involving comparison to a pitch defined independently of its role in the piece, a practice closer to the definition of each note in absolute terms as found in absolute pitch.

Instrumentalists who begin sight-singing for the first time in college as music majors find movable do to be the system more consistent with the way they learned to read music.

For choirs, sight-singing fixed do using chromatic movable do syllables is more suitable than sight-singing movable do for reading atonal music, polytonal music, pandiatonic music, music that modulates or changes key often, or music in which the composer simply did not write a key signature. It is not uncommon for this to be the case in modern or contemporary choral works.

Tonic sol-fa notation

In Curwen's system, the notes of the major scale (of any key) are notated with the single letters d, r, m, f, s, l, and t. For notes above the principal octave, an apostrophe follows the letter; notes below the principal octave have a subscript mark. Chromatic alterations are marked by the following vowel, "e" for sharp (pronounced "ee") and "a" for flat (pronounced "aw"). Thus, the ascending and descending chromatic scale is notated:

d de r re m f fe s se l le t d'

d' t ta l la s sa f m ma r ra d

Such chromatic notes appear only as ornaments or as preparation for a modulation; once the music has modulated, then the names for the new key are used. The modulation itself is marked by superscript of the old note name preceding its new name; for example, in modulation to the dominant, the new tonic is notated as sd. The music then proceeds in the new key until another modulation is notated.

Arabic system

An alternative theory argues that the solfège syllables (do, re, mi, fa, sol, la, ti) derive from the syllables of an Arabic solmization system درر مفصّلات Durar Mufaṣṣalāt ("Detailed Pearls") (dāl, rā', mīm, fā', ṣād, lām, tā), mentioned in the works of Francisci a Mesgnien Meninski in 1680 and later discussed by Jean-Benjamin de La Borde in 1780. However, there is no documentary evidence for this theory.

Indian sargam

The Svara solmization of India has origins in Vedic texts like the Upanishads, which discuss a musical system of seven notes, realized ultimately in what is known as sargam. In Indian classical music, the notes in order are: sa, re, ga, ma, pa, dha, and ni, which correspond to the Western solfege system.

These seven degrees are shared by both major rāga system, that is the North Indian (Hindustani) and South Indian (Carnatic). The solfege (sargam) is learnt in abbreviated form: sa, ri (Carnatic) or re (Hindustani), ga, ma, pa, dha, ni, sa. Of these, the first that is "sa", and the fifth that is "pa", are considered anchors that are unalterable, while the remaining have flavors that differs between the two major systems.

Byzantine system

Byzantine music uses syllables derived from the Greek alphabet to name notes: starting with A, the notes are pa (alpha), vu (beta, pronounced v in modern greek), ga (gamma), di (delta), ke (epsilon), zo (zeta), ni (eta).

Asian systems

For Han people's music in China, the words used to name notes are (from fa to mi): 上 (siong or shàng), 尺 (cei or chǐ), 工 (gōng), 凡 (huan or fán), 六 (liuo or liù), 五 (ngou or wǔ), 乙 (yik or yǐ). The system is used for teaching sight-singing.

For Japanese music, the first line of Iroha, an ancient poem used as a tutorial of traditional kana, is used for solmization. The syllables representing the notes A, B, C, D, E, F, G are i, ro, ha, ni, ho, he, to respectively. Shakuhachi musical notation uses another solmization system beginning "Fu Ho U".

Javanese musicians derive syllables from numbers: ji-ro-lu-pat-ma-nem-pi. These names derive from one-syllable simplification of the Javanese numerals siji, loro, telu, papat, lima, enem, pitu. ([Pa]pat and pi[tu], corresponding to 4 and 7, are skipped in the pentatonic slendro scale.)

DODEKA system

The objective was to create 2-letter names that convey a relationship between the names of the notes and their position on the staff.

We did that using letters that are not present in the English (anglo-saxon) designation.

For example, the note Do# (C#) is called Ka (K) because it shares the same position as La (A) (ie. both notes are above a line).

Following this logic, the 12 notes can be written as: Do / Ka / Ré / To(l) / Mi / Fa / Hu / So(l) / Pi / La / Vé / Si.

In English, we only use the first letters, which gives us the following sequence: C / K / D / T / E / F / H / G / P / A / V / B.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/staff/evolution/index.html b/theory/notes/staff/evolution/index.html index 348c2bc65c..41d72afb8f 100644 --- a/theory/notes/staff/evolution/index.html +++ b/theory/notes/staff/evolution/index.html @@ -6,13 +6,13 @@ Evolution of european notation systems | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Evolution of european notation systems
From neumes to staves

Medieval neumes c. 500–1400

Early Western medieval notation was written with neumes, which did not specify exact pitches but only the shape of the melodies, i.e. indicating when the musical line went up or down; presumably these were intended as mnemonics for melodies which had been taught by rote.

During the 9th through 11th centuries a number of systems were developed to specify pitch more precisely, including diastematic neumes whose height on the page corresponded with their absolute pitch level (Longobardian and Beneventan manuscripts from Italy show this technique around AD 1000). Digraphic notation, using letter names similar to modern note names in conjunction with the neumes, made a brief appearance in a few manuscripts, but a number of manuscripts used one or more horizontal lines to indicate particular pitches.

Diastemic neumes

In the early 11th century, Beneventan neumes (from the churches of Benevento in southern Italy) were written at varying distances from the text to indicate the overall shape of the melody; such neumes are called "heightened" or "diastematic" neumes, which showed the relative pitches between neumes. A few manuscripts from the same period use "digraphic" notation in which note names are included below the neumes. Shortly after this, one to four staff lines—an innovation traditionally ascribed to Guido d'Arezzo—clarified the exact relationship between pitches. One line was marked as representing a particular pitch, usually C or F. These neumes resembled the same thin, scripty style of the chironomic notation. By the 11th century, chironomic neumes had evolved into square notation; in Germany, a variant called Gothic neumes continued to be used until the 16th century. This variant is also known as Hufnagel notation, as the used neumes resemble the nails (hufnagels) one uses to attach horseshoes.

Russian neumes

Znamenny Chant is a singing tradition used in the Russian Orthodox Church which uses a "hook and banner" notation. Znamenny Chant is unison, melismatic liturgical singing that has its own specific notation, called the stolp notation. The symbols used in the stolp notation are called kryuki (Russian: крюки, 'hooks') or znamena (Russian: знамёна, 'signs'). Often the names of the signs are used to refer to the stolp notation. Znamenny melodies are part of a system, consisting of Eight Modes (intonation structures; called glasy); the melodies are characterized by fluency and well-balancedness (Kholopov 2003, 192). There exist several types of Znamenny Chant: the so-called Stolpovoy, Malyj (Little) and Bolshoy (Great) Znamenny Chant. Ruthenian Chant (Prostopinije) is sometimes considered a sub-division of the Znamenny Chant tradition, with the Muscovite Chant (Znamenny Chant proper) being the second branch of the same musical continuum.

Znamenny Chants are not written with notes (the so-called linear notation), but with special signs, called Znamëna (Russian for "marks", "banners") or Kryuki ("hooks"), as some shapes of these signs resemble hooks. Each sign may include the following components: a large black hook or a black stroke, several smaller black 'points' and 'commas' and lines near the hook or crossing the hook. Some signs may mean only one note, some 2 to 4 notes, and some a whole melody of more than 10 notes with a complicated rhythmic structure. The stolp notation was developed in Kievan Rus' as an East Slavic refinement of the Byzantine neumatic musical notation.

The most notable feature of this notation system is that it records transitions of the melody, rather than notes. The signs also represent a mood and a gradation of how this part of melody is to be sung (tempo, strength, devotion, meekness, etc.) Every sign has its own name and also features as a spiritual symbol. For example, there is a specific sign, called "little dove" (Russian: голубчик (golubchik)), which represents two rising sounds, but which is also a symbol of the Holy Ghost. Gradually the system became more and more complicated. This system was also ambiguous, so that almost no one, except the most trained and educated singers, could sing an unknown melody at sight. The signs only helped to reproduce the melody, not coding it in an unambiguous way.

A musical manuscript of 1433 (Pantokratoros monastery, code 214) A musical manuscript of 1433 (Pantokratoros monastery, code 214)

Easter koinonikon тҍло христово / σῶμα χριστοῦ ("The body of Christ") in echos plagios protos notated with kondakarian notation in 2 rows: great (red names) and small signs (blue names)


Guido d'Arezzo

Guido of Arezzo or Guido d'Arezzo (c. 991–992 – after 1033) was an Italian music theorist and pedagogue of High medieval music. A Benedictine monk, he is regarded as the inventor—or by some, developer—of the modern staff notation that replaced the predominant neumatic notation and was thus massively influential to the development of Western musical notation and practice.

Guido (left) showing Tedald the monochord, depicted in an 11th-century medieval manuscript

By around 1013 he began teaching at Pomposa Abbey, but his antiphonary Prologus in antiphonarium and novel teaching methods based on staff notation brought considerable resentment from his colleagues. He thus moved to Arezzo in 1025 and under the patronage of Bishop Tedald of Arezzo he taught singers at the Arezzo Cathedral. Using staff notation, he was able to teach large amounts of music quickly and he wrote the multifaceted Micrologus, attracting attention from around Italy. Interested in his innovations, Pope John XIX called him to Rome. After arriving and beginning to explain his methods to the clergy, sickness sent him away in the summer. The rest of his life is largely unclear, but he settled in a monastery near Arezzo, probably one of the Avellana of the Camaldolese order.

Guido developed new techniques for teaching, such as staff notation and the use of the "ut–re–mi–fa–sol–la" (do–re–mi–fa–so–la) mnemonic (solmization). The ut–re–mi-fa-sol-la syllables are taken from the initial syllables of each of the first six half-lines of the first stanza of the hymn Ut queant laxis, whose text is attributed to the Italian monk and scholar Paulus Diaconus (though the musical line either shares a common ancestor with the earlier setting of Horace's "Ode to Phyllis" (Odes 4.11), recorded in the Montpellier manuscript H425, or may have been taken from it).[23] Giovanni Battista Doni is known for having changed the name of note "Ut" (C), renaming it "Do" (in the "Do Re Mi ..." sequence known as solfège).[24] A seventh note, "Si" (from the initials for "Sancte Iohannes," Latin for Saint John the Baptist) was added shortly after to complete the diatonic scale.[25] In anglophone countries, "Si" was changed to "Ti" by Sarah Glover in the nineteenth century so that every syllable might begin with a different letter (this also freed up Si for later use as Sol-sharp). "Ti" is used in tonic sol-fa and in the song "Do-Re-Mi".

Guidonian hand

Guido is somewhat erroneously credited with the invention of the Guidonian hand, a widely used mnemonic system where note names are mapped to parts of the human hand. Only a rudimentary form of the Guidonian hand is actually described by Guido, and the fully elaborated system of natural, hard, and soft hexachords cannot be securely attributed to him.

In the 12th century, a development in teaching and learning music in a more efficient manner had arisen. Guido of Arezzo's alleged development of the Guidonian hand, more than a hundred years after his death, allowed for musicians to label a specific joint or fingertip with the gamut (also referred to as the hexachord in the modern era).[citation needed] Using specific joints of the hand and fingertips transformed the way one would learn and memorize solmization syllables. Not only did the Guidonian hand become a standard use in preparing music in the 12th century, its popularity grew more widespread well into the 17th and 18th century. The knowledge and use of the Guidonian hand would allow a musician to simply transpose, identify intervals, and aid in use of notation and the creation of new music. Musicians were able to sing and memorize longer sections of music and counterpoint during performances and the amount of time spent diminished dramatically.

Guido's hand

Ut queant laxis
Resonare fibris,
Mira gestorum
Famuli tuorum,
Solve polluti
Labii reatum,
Sancte Johannes.

Ut_Queant_Laxis


Square notation

Gregorian chant

By the 13th century, the neumes of Gregorian chant were usually written in square notation on a staff with four lines and three spaces and a clef marker, as in the 14th–15th century Graduale Aboense shown here. In square notation, small groups of ascending notes on a syllable are shown as stacked squares, read from bottom to top, while descending notes are written with diamonds read from left to right. In melismatic chants, in which a syllable may be sung to a large number of notes, a series of smaller such groups of neumes are written in succession, read from left to right. A special symbol called the custos, placed at the end of a system, showed which pitch came next at the start of the following system. Special neumes such as the oriscus, quilisma, and liquescent neumes, indicate particular vocal treatments for these notes. This system of square notation is standard in modern chantbooks.


Mensural notation of Renaissance c. 1400–1600

Mensural notation is the musical notation system used for European vocal polyphonic music from the later part of the 13th century until about 1600. The term "mensural" refers to the ability of this system to describe precisely measured rhythmic durations in terms of numerical proportions between note values. Its modern name is inspired by the terminology of medieval theorists, who used terms like musica mensurata ("measured music") or cantus mensurabilis ("measurable song") to refer to the rhythmically defined polyphonic music of their age, as opposed to musica plana or musica choralis, i.e., Gregorian plainchant.

Early 16th-century manuscript in mensural notation, containing a Kyrie by J. Barbireau.

Mensural notation grew out of an earlier, more limited method of notating rhythms in terms of fixed repetitive patterns, the so-called rhythmic modes, which were developed in France around 1200. An early form of mensural notation was first described and codified in the treatise Ars cantus mensurabilis ("The art of measured chant") by Franco of Cologne (c. 1280). A much expanded system allowing for greater rhythmic complexity was introduced in France with the stylistic movement of the Ars nova in the 14th century, while Italian 14th-century music developed its own, somewhat different variant. Around 1400, the French system was adopted across Europe, and became the standard form of notation of the Renaissance music of the 15th and 16th centuries. After around 1600, mensural notation gradually evolved into modern measure (or bar) notation.

The decisive innovation of mensural notation was the systematic use of different note shapes to denote rhythmic durations that stood in well-defined, hierarchical numerical relations to each other. While less context dependent than notation in rhythmic modes, mensural notation differed from the modern system in that the values of notes were still somewhat context-dependent.


Baroque music c. 1580–1750

Baroque music forms a major portion of the "classical music" canon, and is now widely studied, performed, and listened to. The term "baroque" comes from the Portuguese word barroco, meaning "misshapen pearl". Key composers of the Baroque era include Johann Sebastian Bach, Antonio Vivaldi, George Frideric Handel, Claudio Monteverdi, Domenico Scarlatti, Alessandro Scarlatti, Henry Purcell, Georg Philipp Telemann, Jean-Baptiste Lully, Jean-Philippe Rameau, Marc-Antoine Charpentier, Arcangelo Corelli, François Couperin, Giuseppe Tartini, Heinrich Schütz, Jan Pieterszoon Sweelinck, Dieterich Buxtehude, and others.

A music piece for lute by Robert II Ballard, 1612

J.S. Bach

Galant music c. 1720–1770

In music, galant refers to the style which was fashionable from the 1720s to the 1770s. This movement featured a return to simplicity and immediacy of appeal after the complexity of the late Baroque era. This meant simpler, more song-like melodies, decreased use of polyphony, short, periodic phrases, a reduced harmonic vocabulary emphasizing tonic and dominant, and a clear distinction between soloist and accompaniment. C. P. E. Bach and Daniel Gottlob Türk, who were among the most significant theorists of the late 18th century, contrasted the galant with the "learned" or "strict" styles.


Classical period c. 1750–1820

Classical music has a lighter, clearer texture than Baroque music, but a more sophisticated use of form. It is mainly homophonic, using a clear melody line over a subordinate chordal accompaniment, but counterpoint was by no means forgotten, especially in liturgical vocal music and, later in the period, secular instrumental music. Variety and contrast within a piece became more pronounced than before and the orchestra increased in size, range, and power.

W.A. Mozart

The harpsichord was replaced as the main keyboard instrument by the piano (or fortepiano). Unlike the harpsichord, which plucks strings with quills, pianos strike the strings with leather-covered hammers when the keys are pressed, which enables the performer to play louder or softer (hence the original name "fortepiano," literally "loud soft") and play with more expression; in contrast, the force with which a performer plays the harpsichord keys does not change the sound. Instrumental music was considered important by Classical period composers. The main kinds of instrumental music were the sonata, trio, string quartet, quintet, symphony (performed by an orchestra) and the solo concerto, which featured a virtuoso solo performer playing a solo work for violin, piano, flute, or another instrument, accompanied by an orchestra. Vocal music, such as songs for a singer and piano (notably the work of Schubert), choral works, and opera (a staged dramatic work for singers and orchestra) were also important during this period.

The best-known composers from this period are Joseph Haydn, Wolfgang Amadeus Mozart, Ludwig van Beethoven, and Franz Schubert; other notable names include Carl Philipp Emanuel Bach, Johann Christian Bach, Luigi Boccherini, Domenico Cimarosa, Joseph Martin Kraus, Muzio Clementi, Christoph Willibald Gluck, Carl Ditters von Dittersdorf, André Grétry, Pierre-Alexandre Monsigny, Leopold Mozart, Michael Haydn, Giovanni Paisiello, Johann Baptist Wanhal, François-André Danican Philidor, Niccolò Piccinni, Antonio Salieri, Georg Christoph Wagenseil, Georg Matthias Monn, Johann Georg Albrechtsberger, Mauro Giuliani, Christian Cannabich and the Chevalier de Saint-Georges. Beethoven is regarded either as a Romantic composer or a Classical period composer who was part of the transition to the Romantic era. Schubert is also a transitional figure, as were Johann Nepomuk Hummel, Luigi Cherubini, Gaspare Spontini, Gioachino Rossini, Carl Maria von Weber, Jan Ladislav Dussek and Niccolò Paganini. The period is sometimes referred to as the era of Viennese Classicism (German: Wiener Klassik), since Gluck, Haydn, Salieri, Mozart, Beethoven, and Schubert all worked in Vienna.


Romantic period c. 1800–1910

Romantic music is a stylistic movement in Western Classical music associated with the period of the 19th century commonly referred to as the Romantic era (or Romantic period). It is closely related to the broader concept of Romanticism—the intellectual, artistic and literary movement that became prominent in Europe from approximately 1800 until 1910.

Romantic composers sought to create music that was individualistic, emotional, dramatic and often programmatic; reflecting broader trends within the movements of Romantic literature, poetry, art, and philosophy. Romantic music was often ostensibly inspired by (or else sought to evoke) non-musical stimuli, such as nature, literature, poetry, or the fine arts.

L.V. Beethoven

Influential composers of the early Romantic era include Adolphe Adam, Daniel Auber, Ludwig van Beethoven, Hector Berlioz, François-Adrien Boieldieu, Frédéric Chopin, Sophia Dussek, Ferdinand Hérold, Mikhail Glinka, Fanny Mendelssohn, Felix Mendelssohn, John Field, Ignaz Moscheles, Otto Nicolai, Gioachino Rossini, Ferdinand Ries, Vincenzo Bellini, Franz Berwald, Luigi Cherubini, Carl Czerny, Gaetano Donizetti, Johann Nepomuk Hummel, Carl Loewe, Niccolò Paganini, Giacomo Meyerbeer, Anton Reicha, Franz Schubert, Clara Schumann, Robert Schumann, Louis Spohr, Gaspare Spontini, Ambroise Thomas and Carl Maria von Weber. Later nineteenth-century composers would appear to build upon certain early Romantic ideas and musical techniques, such as the use of extended chromatic harmony and expanded orchestration. Such later Romantic composers include Albéniz, Bruckner, Granados, Smetana, Brahms, MacDowell, Tchaikovsky, Parker, Mussorgsky, Dvořák, Borodin, Delius, Liszt, Wagner, Mahler, Goldmark, Richard Strauss, Verdi, Puccini, Bizet, Lalo, Rimsky-Korsakov, Schoenberg, Sibelius, Stanford, Parry, Scriabin, Elgar, Grieg, Saint-Saëns, Fauré, Rachmaninoff, Glazunov, Chausson and Franck.

F. Chopin


Modernism c. 1890–1975

modernism is an aesthetic stance underlying the period of change and development in musical language that occurred around the turn of the 20th century, a period of diverse reactions in challenging and reinterpreting older categories of music, innovations that led to new ways of organizing and approaching harmonic, melodic, sonic, and rhythmic aspects of music, and changes in aesthetic worldviews in close relation to the larger identifiable period of modernism in the arts of the time. The operative word most associated with it is "innovation". Its leading feature is a "linguistic plurality", which is to say that no one music genre ever assumed a dominant position.

Inherent within musical modernism is the conviction that music is not a static phenomenon defined by timeless truths and classical principles, but rather something which is intrinsically historical and developmental. While belief in musical progress or in the principle of innovation is not new or unique to modernism, such values are particularly important within modernist aesthetic stances. — Edward Campbell (2010, p. 37)

Examples include the celebration of Arnold Schoenberg's rejection of tonality in chromatic post-tonal and twelve-tone works and Igor Stravinsky's move away from metrical rhythm.

Serialism and dodecaphony

In music, serialism is a method of composition using series of pitches, rhythms, dynamics, timbres or other musical elements. Serialism began primarily with Arnold Schoenberg's twelve-tone technique, though some of his contemporaries were also working to establish serialism as a form of post-tonal thinking.

Twelve-tone technique orders the twelve notes of the chromatic scale, forming a row or series and providing a unifying basis for a composition's melody, harmony, structural progressions, and variations. Other types of serialism also work with sets, collections of objects, but not necessarily with fixed-order series, and extend the technique to other musical dimensions (often called "parameters"), such as duration, dynamics, and timbre.

Olivier Messiaen: „La Ville d'En-Haut“, für Klavier und kleines Orchester (1987), Manuskriptseite.

Serialism of the first type is most specifically defined as a structural principle according to which a recurring series of ordered elements (normally a set—or row—of pitches or pitch classes) is used in order or manipulated in particular ways to give a piece unity. "Serial" is often broadly used to describe all music written in what Schoenberg called "The Method of Composing with Twelve Notes related only to one another", or dodecaphony, and methods that evolved from his methods. It is sometimes used more specifically to apply only to music in which at least one element other than pitch is treated as a row or series.

I. Xenakis

The twelve-tone technique—also known as dodecaphony, twelve-tone serialism, is a method of musical composition first devised by Austrian composer Josef Matthias Hauer, who published his "law of the twelve tones" in 1919. In 1923, Arnold Schoenberg (1874–1951) developed his own, better-known version of 12-tone technique, which became associated with the "Second Viennese School" composers, who were the primary users of the technique in the first decades of its existence. The technique is a means of ensuring that all 12 notes of the chromatic scale are sounded as often as one another in a piece of music while preventing the emphasis of any one note through the use of tone rows, orderings of the 12 pitch classes. All 12 notes are thus given more or less equal importance, and the music avoids being in a key. Over time, the technique increased greatly in popularity and eventually became widely influential on 20th-century composers. Many important composers who had originally not subscribed to or actively opposed the technique, such as Aaron Copland and Igor Stravinsky, eventually adopted it in their music.

Aleatoric music

Aleatoric music (also aleatory music or chance music; from the Latin word alea, meaning "dice") is music in which some element of the composition is left to chance, and/or some primary element of a composed work's realization is left to the determination of its performer(s). The term is most often associated with procedures in which the chance element involves a relatively limited number of possibilities.

L. Visconti

Some writers do not make a distinction between aleatory, chance, and indeterminancy in music, and use the terms interchangeably. From this point of view, indeterminate or chance music can be divided into three groups: (1) the use of random procedures to produce a determinate, fixed score, (2) mobile form, and (3) indeterminate notation, including graphic notation and texts.

Karlheinz Stockhausen’s Helicopter String Quartet. Watch an excerpt of the work performed live (in helicopters) from the 2003 Salzberg Festival.

The first group includes scores in which the chance element is involved only in the process of composition, so that every parameter is fixed before their performance. In John Cage's Music of Changes (1951), for example, the composer selected duration, tempo, and dynamics by using the I Ching, an ancient Chinese book which prescribes methods for arriving at random numbers. Because this work is absolutely fixed from performance to performance, Cage regarded it as an entirely determinate work made using chance procedures. On the level of detail, Iannis Xenakis used probability theories to define some microscopic aspects of Pithoprakta (1955–56), which is Greek for "actions by means of probability". This work contains four sections, characterized by textural and timbral attributes, such as glissandi and pizzicati. At the macroscopic level, the sections are designed and controlled by the composer while the single components of sound are controlled by mathematical theories.

Pithoprakta by I. Xenakis

In the second type of indeterminate music, chance elements involve the performance. Notated events are provided by the composer, but their arrangement is left to the determination of the performer. Karlheinz Stockhausen's Klavierstück XI (1956) presents nineteen events which are composed and notated in a traditional way, but the arrangement of these events is determined by the performer spontaneously during the performance. In Earle Brown's Available forms II (1962), the conductor is asked to decide the order of the events at the very moment of the performance.

Witold Roman Lutosławski (25 January 1913 – 7 February 1994) was a Polish composer and conductor.

The greatest degree of indeterminacy is reached by the third type of indeterminate music, where traditional musical notation is replaced by visual or verbal signs suggesting how a work can be performed, for example in graphic score pieces.

Earle Brown's December 1952

Earle Brown's December 1952 (1952) shows lines and rectangles of various lengths and thicknesses that can read as loudness, duration, or pitch. The performer chooses how to read them. Another example is Morton Feldman's Intersection No. 2 (1951) for piano solo, written on coordinate paper.

Time units are represented by the squares viewed horizontally, while relative pitch levels of high, middle, and low are indicated by three vertical squares in each row. The performer determines what particular pitches and rhythms to play.

I. Xenakis

John Cage

John Milton Cage Jr. (September 5, 1912 – August 12, 1992) was an American composer, music theorist, artist, and philosopher. A pioneer of indeterminacy in music, electroacoustic music, and non-standard use of musical instruments, Cage was one of the leading figures of the post-war avant-garde.

Earle Brown

Earle Brown (December 26, 1926 – July 2, 2002) was an American composer who established his own formal and notational systems. Brown was the creator of "open form," a style of musical construction.

Although Brown precisely notated compositions throughout his career using traditional notation, he also was an inventor and early practitioner of various innovative notations.

In Twenty-Five Pages, and in other works, Brown used what he called "time notation" or "proportional notation" where rhythms were indicated by their horizontal length and placement in relation to each other and were to be interpreted flexibly. However, by Modules I and II (1966), Brown more often used stemless note heads which could be interpreted with even greater flexibility.

In 1959, with Hodograph I, Brown sketched the contour and character abstractly in what he called "implicit areas" of the piece. This graphic style was more gestural and calligraphic than the geometric abstraction of December 1952. Beginning with Available Forms I, Brown used this graphic notation on the staff in some sections of the score.

parallels

3d notes

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/staff/index.html b/theory/notes/staff/index.html index ff32e2c18b..61785d16d5 100644 --- a/theory/notes/staff/index.html +++ b/theory/notes/staff/index.html @@ -6,16 +6,16 @@ Classic European music staff notation | Chromatone.center - + - - - - - - - + + + + + + + @@ -43,22 +43,22 @@ -
Chromatone logo
Classic European music staff notation
How the sheet notes are written and read from classic era till today

Standard notation is used to demonstrate how a piece is played. Unlike tablature, it applies to any instrument. It indicates key signatures, time signatures, rhythms, tempo, dynamics (how loud each instrument should be), and so on. A highly trained musician can sometimes take a piece of sheet music written in standard notation, look it over once or twice, and then play the song as though he or she had been playing it his or her whole life.

For instance, below is the C major scale, including a C at the end, in standard notation.

The standard notation staff has five lines and four spaces. From bottom to top the five lines are E G B D F, which is commonly memorized as an acrostic such as:

  • Every
  • Good
  • Boy
  • Does
  • Fine

The four spaces between the five lines are F, A, C, and E, which should surely be easy for an English speaker to remember, because together they spell "face".

But what about the first two notes, which are below the staff? Well, the second note is just below the E, so it must be D. The first is below that, so it must be C. It also has a line through it to indicate it is placed on an "invisible" line. This line is called a ledger line. A note could be placed below this ledger line, which would be B. Or a note could be placed below that, on another ledger line, and it would be A. Notes can continue to be placed on ledger lines above and below the staff infinitely, but extending too far from the staff is impractical, because the pitches will become very hard to read.

Clefs

  1. Treble (G)
    K:treble -G8
  2. Bass (F)
    K:bass -F,8
  3. Baritone (F)
    K:bass3 -F,8
  4. Tenor (C)
    K:tenor -c,8
  5. Alto (C)
    K:alto -c,8
  6. Mezzosoprano (C)
    K:alto2 -c,8
  7. Soprano (C)
    K:alto1 -c,8

Note pitch

Natural (G)

G8
K:Gb -=G8

Sharp (G#)

^G8
K:Gb -^^G8

Flat (Gb)

_G8
K:C# -__G8

Ascending

A A# B C C# D D# E F F# G G# A

A,^A,B,C^CD^DEF^FG^GA

Descending

A Ab G Gb F E Eb D Db C B Bb A

a,_a,G_GFE_ED_DCB,_B,A,

Note values (durations)

Whole note = 2 half notes = 4 quarter notes = 8 eighth notes = 16 sixteenth notes

M:4/4 -|G8|G4A4|G2A2B2c2|GDGDGDGD|G/D/G/D/G/D/G/D/G/D/G/D/G/D/G/D/|

Dotted notes

M:4/4 -|(G12|G4)|G5G2|G3GG3G|G3/2G/2G3/2G/2G3/2G/2G3/2G/2|

Triplets

M:4/4 -|(3G4A4B4|(3G2A2B2 (3G2A2B2| (3GAB (3GAB (3GAB (3GAB|

Other tuplets

M:4/4 -|(5G2A2B2c2d2|(7CDEFGAB|

Rests

M:4/4 -|z8|z4z4|z2z2z2z2|zzzzzzzz|z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/|

J.S.Bach Prelude

Alexander Scriabin - Piano Concerto in F sharp minor, Op. 20

Vector render of staff notation by ABCjs

Note colorization is very useful to build connections between classic and Chromatone music theory visualizations.

+
Chromatone logo
Classic European music staff notation
How the sheet notes are written and read from classic era till today

Standard notation is used to demonstrate how a piece is played. Unlike tablature, it applies to any instrument. It indicates key signatures, time signatures, rhythms, tempo, dynamics (how loud each instrument should be), and so on. A highly trained musician can sometimes take a piece of sheet music written in standard notation, look it over once or twice, and then play the song as though he or she had been playing it his or her whole life.

For instance, below is the C major scale, including a C at the end, in standard notation.

The standard notation staff has five lines and four spaces. From bottom to top the five lines are E G B D F, which is commonly memorized as an acrostic such as:

  • Every
  • Good
  • Boy
  • Does
  • Fine

The four spaces between the five lines are F, A, C, and E, which should surely be easy for an English speaker to remember, because together they spell "face".

But what about the first two notes, which are below the staff? Well, the second note is just below the E, so it must be D. The first is below that, so it must be C. It also has a line through it to indicate it is placed on an "invisible" line. This line is called a ledger line. A note could be placed below this ledger line, which would be B. Or a note could be placed below that, on another ledger line, and it would be A. Notes can continue to be placed on ledger lines above and below the staff infinitely, but extending too far from the staff is impractical, because the pitches will become very hard to read.

Clefs

  1. Treble (G)
    K:treble +G8
  2. Bass (F)
    K:bass +F,8
  3. Baritone (F)
    K:bass3 +F,8
  4. Tenor (C)
    K:tenor +c,8
  5. Alto (C)
    K:alto +c,8
  6. Mezzosoprano (C)
    K:alto2 +c,8
  7. Soprano (C)
    K:alto1 +c,8

Note pitch

Natural (G)

G8
K:Gb +=G8

Sharp (G#)

^G8
K:Gb +^^G8

Flat (Gb)

_G8
K:C# +__G8

Ascending

A A# B C C# D D# E F F# G G# A

A,^A,B,C^CD^DEF^FG^GA

Descending

A Ab G Gb F E Eb D Db C B Bb A

a,_a,G_GFE_ED_DCB,_B,A,

Note values (durations)

Whole note = 2 half notes = 4 quarter notes = 8 eighth notes = 16 sixteenth notes

M:4/4 +|G8|G4A4|G2A2B2c2|GDGDGDGD|G/D/G/D/G/D/G/D/G/D/G/D/G/D/G/D/|

Dotted notes

M:4/4 +|(G12|G4)|G5G2|G3GG3G|G3/2G/2G3/2G/2G3/2G/2G3/2G/2|

Triplets

M:4/4 +|(3G4A4B4|(3G2A2B2 (3G2A2B2| (3GAB (3GAB (3GAB (3GAB|

Other tuplets

M:4/4 +|(5G2A2B2c2d2|(7CDEFGAB|

Rests

M:4/4 +|z8|z4z4|z2z2z2z2|zzzzzzzz|z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/|

J.S.Bach Prelude

Alexander Scriabin - Piano Concerto in F sharp minor, Op. 20

Vector render of staff notation by ABCjs

Note colorization is very useful to build connections between classic and Chromatone music theory visualizations.

X:409 T:Minuet in G Major T:BWV Anhang 114 @@ -93,7 +93,7 @@ G,2 x | x3 | x3 | x3 | x3 | x3 | x3 | x3 |$ x3 | x3 | x3 | x3 | x3 | x3 | x3 | x3 ::$ x3 | x3 | x3 | x3 | x3 | x3 | x3 | x3 |$ B,2 B, | C2 C | x3 | x3 | D,3 | x3 | x3 | x3 :|

Play with the ABC notations editor

Sight reading

European tradition

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/staff/real-book/index.html b/theory/notes/staff/real-book/index.html index 399070f266..96a8258cbc 100644 --- a/theory/notes/staff/real-book/index.html +++ b/theory/notes/staff/real-book/index.html @@ -6,13 +6,13 @@ The Real Book | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
The Real Book
History of 20th century modern jazz notation developments

Quotes from the deep into the topic podcast by 99% Invisible

Since the mid-1970s, almost every jazz musician has owned a copy of the same book. It has a peach-colored cover, a chunky, 1970s-style logo, and a black plastic binding. It’s delightfully homemade-looking—like it was printed by a bunch of teenagers at a Kinkos. And inside is the sheet music for hundreds of common jazz tunes—also known as jazz “standards”—all meticulously notated by hand. It’s called the Real Book.

But if you were going to music school in the 1970s, you couldn’t just buy a copy of the Real Book at the campus bookstore. Because the Real Book… was illegal. The world’s most popular collection of jazz music was a totally unlicensed publication. It was a self-published book created without permission from music publishers or songwriters. It was duplicated at photocopy shops and sold on street corners, out of the trunks of cars, and under the table at music stores where people used secret code words to make the exchange. The full story of how the Real Book came to be this bootleg bible of jazz is a complicated one. It’s a story about what happens when an insurgent, improvisational art form like jazz gets codified and becomes something that you can learn from a book.

The History of Fake Books

Barry Kernfeld is a musicologist who has written a lot about the history of jazz and music piracy. Kernfeld says that long before the Real Book ever came out, jazz musicians were relying on collections of music they called fake books. Kernfeld says that the story of the first fake book began in the 1940s. “A man named George Goodwin in New York City, involved in radio in the early 1940s, was getting a little frustrated with all the intricacies of tracking licensing. And so he invented this thing that he called the Tune-Dex,” explains Kernfeld.

TuneDex card via Georgia State University Library

The Tune-Dex was an index card catalog designed for radio station employees to keep track of the songs they were playing on air. On one side the cards had information about a particular song, such as the composer, the publisher, and anything that one would need to know for payment rights. On the other side of the card were a few lines of bite-sized sheet music—just the song’s melody, lyrics, and chords so that radio station employees could glance at it and quickly recall the song. This abbreviated musical notation also made the cards useful to another group of people: working jazz musicians.

As a Black art form, jazz had developed out of a mix of other Black music traditions including spirituals and the blues. By the 1940s, a lot of “jazz” was popular dance music, and many jazz musicians were making their money playing live gigs in small clubs and bars. The standard jazz repertoire was mostly well-known pop songs from Broadway, or New York’s songwriting factory: “Tin Pan Alley.”

Jazz musicians would riff and freestyle over these songs. The art of improvisation has always been a key art form of jazz music. But what made the average gigging trumpeter or sax player truly valuable was their ability to play any one of hundreds of songs right there on the spot.

To be prepared for any request, musicians would bring stacks and stacks of sheet music to every gig. But lugging around a giant pile of paper could be really cumbersome—this is where the Tune-Dex came in. Someone figured out that you could gather together a bunch of Tune-Dex cards, print copies of them on sheets of paper, add a table of contents and a simple binding, and then sell the finished product directly to musicians in the form of a book. They called them “fake books” because they helped musicians fake their way through unfamiliar songs. These first fake books were cheaper than regular sheet music, and a lot more organized. They became an essential tool for this entire class of working musicians.

Bootleggers

Musicians loved these new fake books, but the music publishers hated them. They wanted musicians to buy legal sheet music, and so the publishing companies started cracking down on fake book bootleggers. That, of course, didn’t stop the bootleggers and by the 1950s, there were countless illegal fake books in existence, which were being used in nightclubs all across the country.

As helpful as fake books were, they had a lot of problems. They were notoriously illegible and confusingly laid out. The other big problem with these fake books at this point was that the music inside felt really out of date. The fake books hadn’t changed since the mid-40s, but jazz had. Disillusioned by commercial jazz that appealed to mainstream white audiences, a new generation of Black musicians took jazz improvisation to a new level. They experimented with more angular harmonies, technically demanding melodies and blindingly fast tempos. Their new style was called bebop.

Bebop was just the beginning. Over several decades, jazz exploded into this constellation of different styles. Meanwhile, the economics of jazz shifted too. There were fewer clubs, smaller paychecks, and more university jazz programs with steady teaching gigs. The ivory tower, not the nightclub, increasingly became a place for young musicians to learn, and for established musicians to earn a living. And if you’re going to jazz school, you need jazz books.

Berklee College of Music. Photo by Cryptic C62

The fake books at the time hadn’t kept up with the music. They still contained the same old-fashioned collection of standards with the same old-fashioned collection of chord changes. If a young jazz musician wanted to try and play like Charles Mingus or Sonny Rollins, they weren’t going to learn from a book. That is… until two college kids invented the Real Book.

The Two Guys

In the mid-70s, Steve Swallow began teaching at Boston’s Berklee College of Music, an elite private music school that boasted one of the first jazz performance programs in the country. Swallow had only been teaching at Berklee for a few months when two students approached him about a secret project. “I keep referring them to them as ‘the two guys who wrote the book,’ because…they swore me to secrecy. They made me agree that I would not divulge their names,” explains Swallow. The “two guys” wanted to make a new fake book, one that actually catered to the needs of contemporary jazz musicians and reflected the current state of jazz. And they needed Swallow’s help.

From the very beginning, the students envisioned the Real Book as a cooler and more contemporary fake book than the stodgy, outdated ones they’d grown up with. They wanted it to include new songs from jazz fusion artists like Herbie Hancock, and free jazz pioneers like Ornette Coleman who were pushing the boundaries of the genre. They also wanted to include the old jazz standards from Broadway and Tin Pan Alley, but they wanted to update those classics with alternate chord changes that reflected the way modern musicians, like Miles Davis, were actually playing them.

Modern jazz musicians had altered a lot of classic standards over the years, with new harmonies and more complex chord changes. And to capture these new sounds, the students spent hours listening to recordings and transcribing what they heard, as best they could. It was a huge undertaking because most of these chord changes had never actually been written down. They weren’t necessarily thinking about it like this at the time, but the students were effectively establishing a new set of standardized harmonies for a handful of classic songs.

The music wasn’t the only part of their new fake book that the students wanted to improve. They also wanted to fix the aesthetic problems with the old fake books, and make something that was nice to look at and easy to read. One of “the two guys” notated all of the music by hand in this very distinctive and expressive script. He also designed and silk-screened the logo on the front cover: “The Real Book,” written in chunky, SchoolHouse Rock-style block letters.

By the summer of 1975, the book was done, and the students took it to local photocopying shops where they cranked out hundreds of copies to sell directly to other students and a few local businesses near Berklee. Overnight, almost everyone had to have one. As the Real Book’s notoriety grew, so did the demand. The two students hadn’t printed enough copies to keep up, but it turns out, they didn’t need to. Not long after they created a few hundred copies of the book, bootleg versions began popping up all over the world. The Real Book had taken on a life of its own, and the students ironically found themselves in the same position as the music publishers and songwriters they’d originally cut out of the process, as they watched unlicensed copies of their work get duplicated and sold. After they released the first edition of the Real Book, the students put out two more editions to correct mistakes, and then their work was done. But the Real Book lived on, copied over and over again by new generations of bootleggers. And as the number of students in elite conservatory jazz programs continued to swell over the next few decades, the Real Book, with its modern repertoire, reharmonized standards, and beautiful handwriting, became the de-facto textbook for this new legion of jazz students. The unofficial official handbook of jazz.

The Real Real Book

Just like with old fake books, the success of the Real Book was a major problem for music publishers. Some companies released their own fake books, but they never managed to compete with the Real Book. The popularity of the Real Book meant that lots of people weren’t getting paid for their work. But in the mid-2000s, music executive Jeff Schroedl and the publisher Hal Leonard decided, if you can’t beat ’em, join ’em. They went through the Real Book page by page, secured the rights to almost every song, and published a completely legal version. You don’t need to buy the Real Book out of the back of someone’s car anymore. It’s available at your local music shop. They even wanted the same handwriting. Hal Leonard actually hired a copyist to mimic the old Real Book’s iconic script and turn it into a digital font, which means a digital copy of a physical copy of one anonymous Berklee student’s handwriting from the mid-70s will continue to live on for as long as new editions of the book are published.

The Hal Leonard version of the Real Book

When Hal Leonard finally published the legal version of the Real Book in 2004, it was great news if you were a composer with a song in there. You’d finally be getting royalties from the sale of the most popular jazz fake book of all time. But that didn’t totally solve the intellectual property problems with the Real Book. While the legalization of the Real Book did resolve most of its flagrant copyright violations, it didn’t clear up authorship disputes that go back to the early days of jazz. Many jazz songs arise out of collective tinkering and improvising in jam sessions. It’s sometimes quite hard to say who exactly wrote a given song, and power dynamics often impacted whose name actually got listed as an official songwriter. And so there are likely many musicians whose names will never appear on the songs they helped write, even if those songs appear in the legal Real Book.

Useful Tool, or Reductive Cheat Sheet?

Even if we put the intellectual property questions aside for a second, fake books like the Real Book still have plenty of critics. Nicholas Payton is a musician and record label owner, and he compares the Real Book to a study guide or a cheat sheet—a way to distill this complicated art form into a manageable packet of digestible information. To Payton, jazz isn’t just information to be learned. It’s a way of thinking and a form of expression. And it’s fundamentally a Black cultural phenomenon that can’t be taken out of its historical context. Payton says that reading books like the Real Book, even going to music school, can really only get you so far. If you want to learn to play, at some point you’re going to have to immerse yourself in the culture of the music. For Payton (and many musicians) learning directly from elders, in person, is a crucial part of what it means to really know the art form.

There’s also the question of codification, and whether it’s useful to have one songbook filled with definitive versions of all these jazz tunes. Carolyn Wilkins has taught ensembles at Berklee College of Music, and she says that the chords that are written down in the Real Book sometimes get treated like the right way to play a particular song. But even though jazz has all of these “standards,” they’re not supposed to be played in one standard way. As you listen to different recordings of the same song by different jazz artists, it becomes obvious that there’s no one right way to play it. Wilkins says that the Real Book does have its place in jazz education. Over her years at Berklee, she’s seen how it can be a useful starting place as a tool to bring young jazz musicians together. The key, she says, is to treat the Real Book as a starting place. From there you need to go out and explore all the other ways people have played a particular song. “And then ultimately you must find your own way.”


We see the Chromatone web-site as The Real Book for 21st century. As the old one enabled a whole class of professional jazz musicians, the new one enables the whole majority of casual visual musicians. It's a toolbox for everyone to study, explore and compose music themselves and with friends, at any place. And the more open and accessive it is - the more fun it will be for the world to start seeing music.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/staff/sight-reading/index.html b/theory/notes/staff/sight-reading/index.html index 7034f62ef7..db80f4e2e5 100644 --- a/theory/notes/staff/sight-reading/index.html +++ b/theory/notes/staff/sight-reading/index.html @@ -6,13 +6,13 @@ Sight reading | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Sight reading
The complexity of perfecting staff notaion reading

Sight-singing is used to describe a singer who is sight-reading. Both activities require the musician to play or sing the notated rhythms and pitches.

Psychology

The ability to sight-read partly depends on a strong short-term musical memory. An experiment on sight reading using an eye tracker indicates that highly skilled musicians tend to look ahead further in the music, storing and processing the notes until they are played; this is referred to as the eye–hand span.

Storage of notational information in working memory can be expressed in terms of the amount of information (load) and the time for which it must be held before being played (latency). The relationship between load and latency changes according to tempo, such that t = x/y, where t is the change in tempo, x is the change in load, and y is the change in latency. Some teachers and researchers have proposed that the eye–hand span can be trained to be larger than it would otherwise be under normal conditions, leading to more robust sight-reading ability.

Human memory can be divided into three broad categories: long-term memory, sensory memory, and short-term (working) memory. According to the formal definition, working memory is "a system for temporarily storing and managing the information required to carry out complex cognitive tasks such as learning, reasoning, and comprehension". The paramount feature that distinguishes the working memory from both the long-term and sensory memory is this system's ability to simultaneously process and store information. The knowledge has what is called a "limited capacity", so there is only a certain amount of information that can be stored and it is easily accessible for only a small window of time after it has been processed, with a recall time block of roughly fifteen seconds to one minute.

Experiments dealing with memory span have been conducted by George Miller in 1956 that indicated, "Most common number of items that can be stored in the working memory is five plus or minus two.” However, if this information is not retained and stored (“consolidated”) in one's long-term memory, it will fade quickly.

Research indicates that the main area of the brain associated with the working memory is the prefrontal cortex. The prefrontal cortex is located in the frontal lobe of the brain. This area deals with cognition and contains two major neural loops or pathways that are central to processing tasks via the working memory: the visual loop, which is necessary for the visual component of the task, and the phonological loop, which deals with the linguistic aspects of the task (i.e. repeating the word or phrase). Although the hippocampus, in the temporal lobe, is the brain structure most frequently paired with memories, studies have indicated that its role is more vital for consolidation of the short-term memories into long-term ones than the ability to process, carry out, and briefly recall certain tasks.

This type of memory has specifically come into focus when discussing sight reading, since the process of looking at musical notes for the first time and deciphering them while playing an instrument can be considered a complex task of comprehension. The main conclusion in terms of this idea is that working memory, short-term memory capacity and mental speed are three important predictors for sight reading achievement. Although none of the studies discredits the correlation between the amount of time one spends practicing and musical ability, specifically sight-reading proficiency, more studies are pointing to the level at which one’s working memory functions as the key factor in sight-reading abilities. As stated in one such study, "Working memory capacity made a statistically significant contribution as well (about 7 percent, a medium-size effect). In other words, if you took two pianists with the same amount of practice, but different levels of working memory capacity, it's likely that the one higher in working memory capacity would have performed considerably better on the sight-reading task."

Based on the research and opinions of multiple musicians and scientists, the take home message about one's sight-reading ability and working memory capacity seems to be that “The best sight-readers combined strong working memories with tens of thousands of hours of practice.”

Sight-reading also depends on familiarity with the musical idiom being performed; this permits the reader to recognize and process frequently occurring patterns of notes as a single unit, rather than individual notes, thus achieving greater efficiency. This phenomenon, which also applies to the reading of language, is referred to as chunking. Errors in sight-reading tend to occur in places where the music contains unexpected or unusual sequences; these defeat the strategy of "reading by expectation" that sight-readers typically employ.

Professional use

Studio musicians (e.g., musicians employed to record pieces for commercials, etc.) often record pieces on the first take without having seen them before. Often, the music played on television is played by musicians who are sight-reading. This practice has developed through intense commercial competition in these industries.

Kevin McNerney, jazz musician, professor, and private instructor, describes auditions for University of North Texas Jazz Lab Bands as being almost completely based on sight-reading: "you walk into a room and see three or four music stands in front of you, each with a piece of music on it (in different styles ...). You are then asked to read each piece in succession."

This emphasis on sight-reading, according to McNerney, prepares musicians for studio work "playing backing tracks for pop performers or recording [commercials]". The expense of the studio, musicians, and techs makes sight-reading skills essential. Typically, a studio performance is "rehearsed" only once to check for copying errors before recording the final track. Many professional big bands also sight-read every live performance. They are known as "rehearsal bands", even though their performance is the rehearsal.

According to Frazier, score reading is an important skill for those interested in the conducting profession and "Conductors such as the late Robert Shaw and Yoel Levi have incredibly strong piano skills and can read at sight full orchestral scores at the piano" (a process which requires the pianist to make an instant piano reduction of the key parts of the score).

Pedagogy

Although 86% of piano teachers polled rated sight-reading as the most important or a highly important skill, only 7% of them said they address it systematically. Reasons cited were a lack of knowledge of how to teach it, inadequacy of the training materials they use, and deficiency in their own sight-reading skills. Teachers also often emphasize rehearsed reading and repertoire building for successful recitals and auditions to the detriment of sight-reading and other functional skills.

Hardy reviewed research on piano sight-reading pedagogy and identified a number of specific skills essential to sight-reading proficiency:

  • Technical fundamentals in reading and fingering
  • Visualization of keyboard topography
  • Tactile facility (psychomotor skills) and memory
  • Ability to read, recognize, and remember groups of notes (directions, patterns, phrases, chords, rhythmic groupings, themes, inversions, intervals, etc.)
  • Ability to read and remember ahead of playing with more and wider progressive fixations
  • Aural imagery (ear-playing and sight-singing improves sight-reading)
  • Ability to keep the basic pulse, read, and remember rhythm
  • Awareness and knowledge of the music's structure and theory

Beauchamp identifies five building blocks in the development of piano sight-reading skills:

  • Grand-staff knowledge
  • Security within the five finger positions
  • Security with keyboard topography
  • Security with basic accompaniment patterns
  • Understanding of basic fingering principles

Grand-staff knowledge consists of fluency in both clefs such that reading a note evokes an automatic and immediate physical response to the appropriate position on the keyboard. Beauchamp asserts it is better to sense and know where the note is than what the note is. The performer does not have time to think of the note name and translate it to a position, and the non-scientific note name does not indicate the octave to be played. Beauchamp reports success using a Key/Note Visualizer, note-reading flashcards, and computer programs in group and individual practice to develop grand-staff fluency.

Udtaisuk also reports that a sense of keyboard geography and an ability to quickly and efficiently match notes to keyboard keys is important for sight-reading. He found that "computer programs and flash cards are effective ways to teach students to identify notes [and] enhance a sense of keyboard geography by highlighting the relationships between the keyboard and the printed notation".

Most students do not sight-read well because it requires specific instruction, which is seldom given. A major challenge in sight-reading instruction, according to Hardy, is obtaining enough practice material. Since practicing rehearsed reading does not help improve sight-reading, a student can only use a practice piece once. Moreover, the material must be at just the right level of difficulty for each student, and a variety of styles is preferred. Hardy suggests music teachers cooperate to build a large lending library of music and purchase inexpensive music from garage sales and store sales.

https://en.wikipedia.org/wiki/Sight-reading

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/temperaments/equal/index.html b/theory/notes/temperaments/equal/index.html index bbe1e35adb..64165f5198 100644 --- a/theory/notes/temperaments/equal/index.html +++ b/theory/notes/temperaments/equal/index.html @@ -6,13 +6,13 @@ Equal temperament | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Equal temperament
12-TET and other equal divisions of an octave

In classical music and Western music in general, the most common tuning system since the 18th century has been twelve-tone equal temperament (also known as 12 equal temperament, 12-TET or 12-ET; informally abbreviated to twelve equal), which divides the octave into 12 parts, all of which are equal on a logarithmic scale, with a ratio equal to the 12th root of 2 (12√2 ≈ 1.05946). That resulting smallest interval, 1⁄12 the width of an octave, is called a semitone or half step. In Western countries the term equal temperament, without qualification, generally means 12-TET.

Zhu Zaiyu

Zhu Zaiyu (朱載堉), a prince of the Ming court, spent thirty years on research based on the equal temperament idea originally postulated by his father. He described his new pitch theory in his Fusion of Music and Calendar 律暦融通 published in 1580. This was followed by the publication of a detailed account of the new theory of the equal temperament with a precise numerical specification for 12-TET in his 5,000-page work Complete Compendium of Music and Pitch (Yuelü quan shu 樂律全書) in 1584.

Zhu obtained his result mathematically by dividing the length of string and pipe successively by 12√2 ≈ 1.059463, and for pipe length by 24√2, such that after twelve divisions (an octave) the length was divided by a factor of 2:

svg

Similarly, after 84 divisions (7 octaves) the length was divided by a factor of 128.

svg

Zhu Zaiyu has been credited as the first person to solve the equal temperament problem mathematically.

Mathematics of 12-TET

svg

svg

svg

Tuning to the beats

A precise equal temperament is possible using the 17th-century Sabbatini method of splitting the octave first into three tempered major thirds. This was also proposed by several writers during the Classical era. Tuning without beat rates but employing several checks, achieving virtually modern accuracy, was already done in the first decades of the 19th century. Using beat rates, first proposed in 1749, became common after their diffusion by Helmholtz and Ellis in the second half of the 19th century. The ultimate precision was available with 2-decimal tables published by White in 1917

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/temperaments/index.html b/theory/notes/temperaments/index.html index 1ad2d9a29d..c37ddc0f27 100644 --- a/theory/notes/temperaments/index.html +++ b/theory/notes/temperaments/index.html @@ -6,13 +6,13 @@ Temperaments | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Temperaments
Tuning systems

There's a plenty of ways to get all the notes to play with. The natural Just intonation is based on simple ratios. If we take only one ratio of 2:3 we can construct the Pythagorean tuning.

Logarithms are in the base of the modern 12-TET and anyone can compare it to other systems easily.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/temperaments/just/index.html b/theory/notes/temperaments/just/index.html index 49b30ed982..ebccfe2c97 100644 --- a/theory/notes/temperaments/just/index.html +++ b/theory/notes/temperaments/just/index.html @@ -6,13 +6,13 @@ Just intonation | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Just intonation
5-limit and other rational fraction based tunings

Just intonation or pure intonation is the tuning of musical intervals as whole number ratios (such as 3:2 or 4:3) of frequencies. An interval tuned in this way is said to be pure, and is called a just interval. Just intervals (and chords created by combining them) consist of tones from a single harmonic series of an implied fundamental. For example, if the notes G3 and C4 are tuned as members of the harmonic series of the lowest C, their frequencies will be 3 and 4 times the fundamental frequency. The interval ratio between C4 and G3 is therefore 4:3, a just fourth.

In Western musical practice, instruments are rarely tuned using only pure intervals — the desire for different keys to have identical intervals in Western music makes this impractical. Some instruments of fixed pitch, such as electric pianos, are commonly tuned using equal temperament, in which all intervals other than octaves consist of irrational-number frequency ratios. Acoustic pianos are usually tuned with the octaves slightly widened, and thus with no pure intervals at all.

Terminology

Pythagorean tuning, or 3-limit tuning, allows ratios including the numbers 2 and 3 and their powers, such as 3:2, a perfect fifth, and 9:4, a major ninth. Although the interval from C to G is called a perfect fifth for purposes of music analysis regardless of its tuning method, for purposes of discussing tuning systems musicologists may distinguish between a perfect fifth created using the 3:2 ratio and a tempered fifth using some other system, such as meantone or equal temperament.

5-limit tuning encompasses ratios additionally using the number 5 and its powers, such as 5:4, a major third, and 15:8, a major seventh. The specialized term perfect third is occasionally used to distinguish the 5:4 ratio from major thirds created using other tuning methods. 7-limit and higher systems use higher partials in the overtone series.

Commas are very small intervals that result from minute differences between pairs of just intervals. For example, the 5:4 ratio is different from the Pythagorean (3-limit) major third (81:64) by a difference of 81:80, called the syntonic comma.

svg

A twelve-tone scale can also be created by compounding harmonics up to the fifth: namely, by multiplying the frequency of a given reference note (the base note) by powers of 2, 3, or 5, or a combination of them. This method is called five-limit tuning.

svg

5-limit tuning encompasses ratios additionally using the number 5 and its powers, such as 5:4, a major third, and 15:8, a major seventh. 7-limit and higher systems use higher partials in the overtone series.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/temperaments/pythagorean/index.html b/theory/notes/temperaments/pythagorean/index.html index 21e5dc0447..d6b49f1985 100644 --- a/theory/notes/temperaments/pythagorean/index.html +++ b/theory/notes/temperaments/pythagorean/index.html @@ -6,13 +6,13 @@ Pythagorean tuning | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Pythagorean tuning
3-limit tuning based on the 3:2 ratio

Pythagorean tuning

Pythagorean tuning, or 3-limit tuning, also allows ratios including the number 3 and its powers, such as 3:2, a perfect fifth, and 9:4, a major ninth. 12-tone Pythagorean temperament is based on a stack of intervals called perfect fifths, each tuned in the ratio 3:2, the next simplest ratio after 2:1. Starting from D for example (D-based tuning), six other notes are produced by moving six times a ratio 3:2 up, and the remaining ones by moving the same ratio down:

E♭–B♭–F–C–G–D–A–E–B–F♯–C♯–G♯

This succession of eleven 3:2 intervals spans across a wide range of frequency (on a piano keyboard, it encompasses 77 keys). Since notes differing in frequency by a factor of 2 are given the same name, it is customary to divide or multiply the frequencies of some of these notes by 2 or by a power of 2. The purpose of this adjustment is to move the 12 notes within a smaller range of frequency, namely within the interval between the base note D and the D above it (a note with twice its frequency). This interval is typically called the basic octave (on a piano keyboard, an octave has only 12 keys).

svg

The tetractys (Greek: τετρακτύς) is a triangular figure consisting of ten points arranged in four rows: one, two, three, and four points in each row, which is the geometrical representation of the fourth triangular number. As a mystical symbol, it was very important to the secret worship of Pythagoreanism.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/notes/temperaments/tunings/index.html b/theory/notes/temperaments/tunings/index.html index 4d6477e0ba..91ecd0e958 100644 --- a/theory/notes/temperaments/tunings/index.html +++ b/theory/notes/temperaments/tunings/index.html @@ -6,13 +6,13 @@ Tunings comparison | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Tunings comparison
Ways to juxtapose and compare different tuning methods side by side

Circle of tunings

See and hear the slight differences between Pythagorean tunings, Just intonation and 12-TET. Click on the circle to start the note. Click again to stop it. You can hear the beatings between the same notes in various tunings and also hear the quality of the intervals in each of them.

A0A#100B200C300C#400D500D#600E700F800F#900G1000G#11001/1016/151129/82046/53165/43864/349845/325903/27028/58145/38849/5101815/810881/1028/359032/2320425/3329434/2640822/3149836/2961231/2170227/3479233/2490624/3299635/27111012TET equal temperament5-limit just intonationPythagorean tuning
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/resources/index.html b/theory/resources/index.html index 9b9fa1288a..7b6deb3f5b 100644 --- a/theory/resources/index.html +++ b/theory/resources/index.html @@ -6,14 +6,14 @@ External resources | Chromatone.center - + - - - - - + + + + + @@ -48,7 +48,7 @@ IMSLP welcomes submissions of both public domain materials as well as copyrighted materials with proper permission according to our licensing policy.
Jazz Piano Site
https://www.thejazzpianosite.com/jazz-piano-lessons/
Each of the below Jazz Piano Lessons introduces a particular concept found in Jazz. As well as explaining the underlying idea, I give examples of how the theory applies in practice. The lessons are further subdivided into modules covering specific aspects of Jazz. While they assume a minimal level of music theory and technical knowledge, they presume you know literally NOTHING about Jazz. As such, they start from a beginner level and gradually build up towards more advanced topics. These Jazz Piano Lessons cover everything you need to know to appreciate and play Jazz. By the end of these tutorials you should have a solid understanding of Jazz, and (with enough practice) be able to competently improvise and 'comp over any Jazz song. Please also note that this website is a perennial work-in-progress. I will continue to add more Jazz Piano Lessons in the future to cover more topics and concepts. Enjoy!
List of chord progressions
https://en.wikipedia.org/wiki/List_of_chord_progressions
Comprehesive Wikipedia collection of chord progressions
List of chords
https://en.wikipedia.org/wiki/List_of_chords
Comprehesive Wikipedia collection of chords
List of pitch intervals
https://en.wikipedia.org/wiki/List_of_pitch_intervals
Comprehesive Wikipedia collection of intervals
List of scales and modes
https://en.wikipedia.org/wiki/List_of_musical_scales_and_modes
Comprehesive Wikipedia collection of pitch class collections
Math Science Music
https://www.mathsciencemusic.org/
The Herbie Hancock Institute of Jazz launched Math, Science & Music in partnership with the U.S. Department of Education as an initiative that uses music as a tool to teach math and science to young people in public and private schools around the world. The program addresses the growing need for students to gain skills and acquire knowledge in science, technology, engineering and math (STEM) subjects and learn to think creatively.
Music acoustics
http://www.phys.unsw.edu.au/music/
Physics and music have been related for millenia. The art and science of music acoustics are presented here, in musician-friendly format, as is our research in music science.
Music animation machine
http://www.musanim.com/
A life long project of Stephen Malinowski – he manually animates music pieces into nice visual playalongs. He uses blue color for the tonic (C) and accending colors for every next step of a fifth.
Musical instrument museums online
https://mimo-international.com/MIMO/instrument-families.aspx
Explore the world collections of musical instruments
Patch Storage
https://patchstorage.com/
A resource to store and share presets for dozens of synthesizers and music devices both physical and virtual. Plus a community of active audio & visual programming enthusiasts who share and discuss their projects.
Rhythmic light by Fred Collopy
https://rhythmiclight.com/
The most full and honorable source of knowledge about light to sound correspondences. Started in 1998 and still growing!
The Exciting Universe Of Music Theory
https://ianring.com/musictheory/scales/
A complete study of all Scales in the existence by Ian Ring. "The place for all you music theory nerds to geek out. Bask in the warm bath of wisdom, and be envied by all your peers with your deep knowledge of musical lore. "
The Music notation project
http://musicnotation.org/systems/
Many people struggle to learn to read and play music, and many give up before they become proficient. Could a better notation system make reading, writing, and playing music more enjoyable and easier to learn? We think so.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/counting/index.html b/theory/rhythm/counting/index.html index 9c20c5a4d8..4d78876d3d 100644 --- a/theory/rhythm/counting/index.html +++ b/theory/rhythm/counting/index.html @@ -6,13 +6,13 @@ Counting | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Counting
A system of regularly occurring sounds that serve to assist with the performance or audition of music by allowing the easy identification of the beat.

Counting is a system of regularly occurring sounds that serve to assist with the performance or audition of music by allowing the easy identification of the beat. Commonly, this involves verbally counting the beats in each measure as they occur, whether there be 2 beats, 3 beats, 4 beats, or even 5 beats. In addition to helping to normalize the time taken up by each beat, counting allows easier identification of the beats that are stressed. Counting is most commonly used with rhythm (often to decipher a difficult rhythm) and form and often involves subdivision.

Introduction to Systems - Numbers and Syllables

The method involving numbers may be termed count chant, "to identify it as a unique instructional process."

In lieu of simply counting the beats of a measure, other systems can be used which may be more appropriate to the particular piece of music. Depending on the tempo, the divisions of a beat may be vocalized as well (for slower times), or skipping numbers altogether (for faster times). As an alternative to counting, a metronome can be used to accomplish the same function.

Triple meter, such as 3/4, is often counted 1 2 3, while compound meter, such as 6 8, is often counted in two and subdivided One-and-ah-Two-and-ah but may be articulated as One-la-lee-Two-la-lee.

For each subdivision employed a new syllable is used. For example, sixteenth notes in 4/4 are counted 1 e & a 2 e & a 3 e & a 4 e & a, using numbers for the quarter note, "&" for the eighth note, and "e" and "a" for the sixteenth note level.

Triplets may be counted 1 tri ple 2 tri ple 3 tri ple 4 tri ple and sixteenth note triplets 1 la li + la li 2 la li + la li. Quarter note triplets, due to their different rhythmic feel, may be articulated differently as 1 dra git 3 dra git.

Rather than numbers or nonsense syllables, a random word may be assigned to a rhythm to clearly count each beat. An example is with a triplet, so that a triplet subdivision is often counted "tri-po-let". The Kodály Method uses "Ta" for quarter notes and "Ti-Ti" for eighth notes. For sextuplets simply say triplet twice, while quintuplets may be articulated as "un-i-vers-i-ty". In some approaches, "rote-before-note", the fractional definitions of notes are not taught to children until after they are able to perform syllable or phrase-based versions of these rhythms.

"However the counting may be syllabized, the important skill is to keep the pulse steady and the division exact." – Alfred Blatter 2007

Numbers Systems

Numbers

Ultimately, musicians count using numbers, “ands” and vowel sounds. Downbeats within a measure are called 1, 2, 3… Upbeats are represented with a plus sign and are called “and” (i.e. 1 + 2 +), and further subdivisions receive the sounds “ee” and “uh” (i.e. 1 e + a 2 e + a). Musicians do not agree on what to call triplets: some simply say the word triplet (“trip-a-let”), or another three-syllable word (like pineapple or elephant) with an antepenultimate accent. Some use numbers along with the word triplet (i.e. “1-trip-let”). Still others have devised sounds like “ah-lee” or “la-li” added after the number (i.e. 1-la-li, 2-la-li or 1-tee-duh, 2-tee-duh).

Traditional American system

Counts the beat number on the tactus, & on the half beat, and n-e-&-a for four sixteenth notes, n-&-a for a triplet or three eighth notes in compound meter, where n is the beat number.

Eastman System

The beat numbers are used for the tactus, te for the half beat, and n-ti-te-ta for four sixteenths. Triplets or three eighth notes in compound meter are n-la-li and six sixteenth notes in compound meter is n-ta-la-ta-li-ta.

Froseth System

Counting system using n-ne, n-ta-ne-ta, n-na-ni, and n-ta-na-ta-ni-ta. All three systems have internal consistency for all divisions of the beat except the tactus, which changes according to the beat number.

Syllables Systems

Syllables systems are categorized as "Beat Function Systems" - when the tactus (pulse) has certain syllable A, and the half-beat is always certain syllable B, regardless of how the rest of the measure is filled out.

French System

The French "Time-Names system", also called the "Galin-Paris-Cheve system", originally used French words. Toward the middle of the nineteenth century the American musician Lowell Mason (affectionately named the "Father of Music Education") adapted the French Time-Names system for use in the United States, and instead of using the French names of the notes, he replaced these with a system that identified the value of each note within a meter and the measure.

  • Whole Note: Ta-a-a-a
  • Half Note: Ta-a
  • Quarter Note: Ta
  • 2 Eighth Note: Ta Te
  • 4 Sixteenth Notes: Tafa Tefe

Kodály Method

  • Whole Note: Ta-a-a-a or ta-o-o-o
  • Half Note: Ta-a or ta-o
  • Quarter Note: Ta
  • 1 Eighth Note: Ti
  • 2 Eighth Notes: Ti-Ti
  • 4 Sixteenth Notes: Ti-ri-ti-ri
  • Eighth Note Triplet: Tri-o-la
  • Eighth Note followed by a Quarter Note and another Eighth Note: Syn-co-pa

Ward Method

  • Whole Note: Lang-ng-ng-ng
  • Half Note: Lang-ng
  • Quarter Note: La
  • 2 Eighth Notes: Lira
  • Dotted Quarter followed by Eighth: La-ira

Edwin Gordon System

Usual Duple Meter

  • Whole Note: Du-u-u-u
  • Half Note: Du-u
  • Quarter Note: Du
  • 2 Eighth Notes: Du-De
  • 4 Sixteenth Notes: Du-Ta-De-Ta

Usual Triple Meter

  • Dotted Quarter Note: Du
  • 3 Eighth Notes: Du-Da-Di
  • 6 Sixteenth Notes: Du-Ta-Da-Ta-Di-Ta

Unusual meters pair the duple and triple meter syllables, and employ the "b" consonant.

Takadimi

The beat is always called ta. In simple meters, the division and subdivision are always ta-di and ta-ka-di-mi. Any note value can be the beat, depending on the time signature. In compound meters (wherein the beat is generally notated with dotted notes), the division and subdivision are always ta-ki-da and ta-va-ki-di-da-ma.

The note value does not receive a particular name; the note’s position within the beat gets the name. This system allows children to internalize a steady beat and to naturally discover the subdivisions of beat, similar to the down-ee-up-ee system.

Examples of Simple Meter Rhythms (Takadimi)

  • Whole Note = ta-a-a-a
  • Half Note = Ta-a
  • Quarter Note = Ta
  • Two Eighth Notes = Ta-Di
  • Four Sixteenth Notes = Ta-Ka-Di-Mi
  • Eighth Rest + Eighth Note = X-Di
  • Eighth Note + Two Sixteenth Notes = Taaa-Di-Mi
  • Two Sixteenth Notes + Eighth Note = Ta-Ka-Diii

Examples of Compound Meter Rhythms (Takadimi)

  • Dotted Whole Note = Ta-a-a-a
  • Dotted Half Note = Ta-a
  • Dotted Quarter Note = Ta
  • Three Eighth Notes Beamed Together = Ta-Ki-Da
  • Eighth Note + Eighth Rest + Eighth Note = Ta-X-Da
  • Six Sixteenth Notes = Ta-Va-Ki-Di-Da-Ma
  • Eighth Note + Four Sixteenth Notes = Ta-aa-Ki-Di-Da-Ma
  • Four Sixteenth Notes + Eighth Note = Ta-Va-Ki-Di-Da-aa
  • Two Sixteenth Notes + Eighth Note + Two Sixteenth Notes = Ta-Va-Ki-ii-Da-Ma

Takatiki

This is a beat-function system used by some Kodály teachers that was developed by Laurdella Foulkes-Levy, and was designed to be easier to say than Gordon's system or the Takadimi system while still honoring the beat-function. The beat is said as "Ta" in both duple and triple meters, but the beat divisions are performed differently between the two meters. The "t" consonant always falls on the main beat and beat division, and the "k" consonant is always when the beat divides again. Alternating "t" and "k" in quick succession is easy to say, as they fall on two different parts of the tongue, making it very easy to say these syllables at a fast tempo (much like tonguing on recorder or flute). It is also a logical system since it always alternates between the same two consonants.

Duple Meter

  • Whole Note: Ta-a-a-a (no added accent on each beat)
  • Half Note: Ta-a (no added accent on each beat)
  • Quarter Note: Ta
  • 2 Eighth Notes: Ta-Ti
  • 4 Sixteenth Notes: Ta-Ka-Ti-Ki
  • Sixteenth Note Combinations: Ta---Ti-Ki, Ta-Ka-Ti---, Ta-Ka---Ki
  • Eighth Note followed by a Quarter Note and another Eighth Note: Ta-Ti---Ti
  • Eighth Note Triplet: Ta-Tu-Te
  • Rests: (silent)

Triple Meter

  • Dotted Half Note: Ta-a-a- (no added accent on each beat)
  • Dotted Quarter Note : Ta-
  • 3 Eighth Notes: Ta-Tu-Te
  • Eighth Note Combinations: Ta----Te, Ta-Tu-----
  • 6 Sixteenth Notes: Ta-Ka-Tu-Ku-Te-Ke
  • Sixteenth Note Combinations: Ta--Tu-Ku-Te, Ta-Ka-Tu---Te, Ta--Tu--Te-Ke
  • Rests: (silent)

Ta Titi

  • Whole Note: Toe / ta-ah-ah-ah
  • Dotted Half Note: Toom / ta-ah-ah
  • Half Note: Too / ta-ah
  • Dotted Quarter Note: Tom / ta-a
  • Quarter Note: Ta
  • 1 Eighth Note: Ti
  • 2 Eighth Notes: Ti-Ti
  • Eighth Note Triplet: Tri-o-la
  • 2 Sixteenth Notes: Tika / Tiri
  • 4 Sixteenth Notes: TikaTika / Tiritiri
  • 2 Sixteenth Notes and 1 Eighth Note: Tika-Ti / Tiri-Ti
  • 1 Eighth Note and 2 Sixteenths: Ti-Tika / Ti-Tiri

This system allows the value of each note to be clearly represented no matter its placement within the beat/measure

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/groove/index.html b/theory/rhythm/groove/index.html index 04dedbd73f..17a75f2030 100644 --- a/theory/rhythm/groove/index.html +++ b/theory/rhythm/groove/index.html @@ -6,13 +6,13 @@ Syncopation, swing and groove | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Syncopation, swing and groove
The propulsive quality or "feel" of a rhythm and swung notes to serve it

Syncopation

Syncopation is a musical term meaning a variety of rhythms played together to make a piece of music, making part or all of a tune or piece of music off-beat. More simply, syncopation is "a disturbance or interruption of the regular flow of rhythm": a "placement of rhythmic stresses or accents where they wouldn't normally occur". It is the correlation of at least two sets of time intervals.

Syncopation is used in many musical styles, especially dance music. According to music producer Rick Snoman, "All dance music makes use of syncopation, and it's often a vital element that helps tie the whole track together". In the form of a back beat, syncopation is used in virtually all contemporary popular music.

Syncopation can also occur when a strong harmony is simultaneous with a weak beat, for instance, when a 7th-chord is played on the second beat of 3/4 measure or a dominant chord is played at the fourth beat of a 4/4 measure. The latter occurs frequently in tonal cadences for 18th- and early-19th-century music and is the usual conclusion of any section.

Types of syncopation

Technically, "syncopation occurs when a temporary displacement of the regular metrical accent occurs, causing the emphasis to shift from a strong accent to a weak accent". "Syncopation is", however, "very simply, a deliberate disruption of the two- or three-beat stress pattern, most often by stressing an off-beat, or a note that is not on the beat."

Suspension

For the following example, there are two points of syncopation where the third beats are sustained from the second beats. In the same way, the first beat of the second bar is sustained from the fourth beat of the first bar.

Though syncopation may be very complex, dense or complex-looking rhythms often contain no syncopation. However, whether it is a placed rest or an accented note, any point in a piece of music that changes the listener's sense of the downbeat is a point of syncopation because it shifts where the strong and weak accents are built.

Off-beat syncopation

The stress can shift by less than a whole beat, so it occurs on an offbeat, whereas the notes are expected to occur on the beat. Playing a note ever so slightly before, or after, a beat is another form of syncopation because this produces an unexpected accent:

It can be helpful to think of a 4/4 rhythm in eighth notes and count it as "1-and-2-and-3-and-4-and". In general, emphasizing the "and" would be considered the off-beat.

Anticipated bass

Anticipated bass is a bass tone that comes syncopated shortly before the downbeat, which is used in Son montuno Cuban dance music. Timing can vary, but it usually occurs on the 2+ and the 4 of the 4/4 time, thus anticipating the third and first beats. This pattern is known commonly as the Afro-Cuban bass tumbao.

Transformation

Richard Middleton suggests adding the concept of transformation to Narmour's prosodic rules which create rhythmic successions in order to explain or generate syncopations. "The syncopated pattern is heard 'with reference to', 'in light of', as a remapping of, its partner." He gives examples of various types of syncopation: Latin, backbeat, and before-the-beat.

Latin equivalent of simple 4/4: a syncopated rhythm in which the first and fourth beat are provided as expected, but the accent occurs unexpectedly in between the second and third beats, creating a familiar "Latin rhythm" known as tresillo.

Backbeat transformation of simple 4/4: the accent may be shifted from the first to the second beat in duple meter (and the third to fourth in quadruple), creating the backbeat rhythm. Different crowds will "clap along" at concerts either on 1 and 3 or on 2 and 4.

This demonstrates how each syncopated pattern may be heard as a remapping, "with reference to" or "in light of", an unsyncopated pattern.

Swing

The term swing has two main uses. Colloquially, it is used to describe the propulsive quality or "feel" of a rhythm, especially when the music prompts a visceral response such as foot-tapping or head-nodding. This sense can also be called "groove".

The term swing, as well as swung note(s) and swung rhythm, is also used more specifically to refer to a technique (most commonly associated with jazz but also used in other genres) that involves alternately lengthening and shortening the first and second consecutive notes in the two part pulse-divisions in a beat.

Overview

Like the term "groove", which is used to describe a cohesive rhythmic "feel" in a funk or rock context, the concept of "swing" can be hard to define. Indeed, some dictionaries use the terms as synonyms: "Groovy ... denotes music that really swings." The Jazz in America glossary defines swing as, "when an individual player or ensemble performs in such a rhythmically coordinated way as to command a visceral response from the listener (to cause feet to tap and heads to nod); an irresistible gravitational buoyancy that defies mere verbal definition."

When jazz performer Cootie Williams was asked to define it, he joked, "Define it? I'd rather tackle Einstein's theory!" When Louis Armstrong was asked on the Bing Crosby radio show what swing was, he said, "Ah, swing, well, we used to call it syncopation—then they called it ragtime, then blues—then jazz. Now, it's swing. Ha! Ha! White folks, yo'all sho is a mess."

Benny Goodman, the 1930s-era bandleader nicknamed the "King of Swing", called swing "free speech in music", whose most important element is "the liberty a soloist has to stand and play a chorus in the way he feels it". His contemporary Tommy Dorsey gave a more ambiguous definition when he proposed that "Swing is sweet and hot at the same time and broad enough in its creative conception to meet every challenge tomorrow may present." Boogie-woogie pianist Maurice Rocco argues that the definition of swing "is just a matter of personal opinion". When asked for a definition of swing, Fats Waller replied, "Lady, if you gotta ask, you'll never know."

What is Swing? Perhaps the best answer, after all, was supplied by the hep-cat who rolled her eyes, stared into the far-off and sighed, "You can feel it, but you just can't explain it. Do you dig me?" — Treadwell (1946), p.10

Stanley Dance, in The World of Swing, devoted the two first chapters of his work to discussions of the concept of swing with a collection of the musicians who played it. They described a kinetic quality to the music. It was compared to flying; "take off" was a signal to start a solo. The rhythmic pulse continued between the beats, expressed in dynamics, articulation, and inflection. Swing was as much in the music anticipating the beat, like the swing of a jumprope anticipating the jump, as in the beat itself. Swing has been defined in terms of formal rhythmic devices, but according to the Jimmie Lunceford tune, "T'aint whatcha do, it's the way thatcha do it" (say it so it swings).

Swing as a rhythmic style

In swing rhythm, the pulse is divided unequally, such that certain subdivisions (typically either eighth note or sixteenth note subdivisions) alternate between long and short durations. Certain music of the Baroque and Classical era is played using notes inégales, which is analogous to swing. In shuffle rhythm, the first note in a pair may be twice (or more) the duration of the second note. In swing rhythm, the ratio of the first note's duration to the second note's duration can take on a range of magnitudes. The first note of each pair is often understood to be twice as long as the second, implying a triplet feel, but in practice the ratio is less definitive and is often much more subtle. In traditional jazz, swing is typically applied to eighth notes. In other genres, such as funk and jazz-rock, swing is often applied to sixteenth notes.

In most jazz music, especially of the big band era and later, the second and fourth beats of a 4/4 measure are emphasized over the first and third, and the beats are lead-in—main-beat couplets (dah-DUM, dah-DUM....). The "dah" anticipates, or leads into, the "DUM." The "dah" lead-in may or may not be audible. It may be occasionally accented for phrasing or dynamic purposes.

The instruments of a swing rhythm section express swing in different ways from each other, and the devices evolved as the music developed. During the early development of swing music, the bass was often played with lead-in—main-note couplets, often with a percussive sound. Later, the lead-in note was dropped but incorporated into the physical rhythm of the bass player to help keep the beat "solid."

Similarly, the rhythm guitar was played with the lead-in beat in the player's physical rhythm but inaudible. The piano was played with a variety of devices for swing. Chord patterns played in the rhythm of a dotted-eight—sixteenth couplet were characteristic of boogie-woogie playing (sometimes also used in boogie-woogie horn section playing). The "swing bass" left hand, used by James P. Johnson, Fats Waller, and Earl Hines, used a bass note on the first and third beats, followed by a mid-range chord to emphasize the second and fourth beats. The lead-in beats were not audible, but expressed in the motion of the left arm.

Swing piano also put the first and third beats a role anticipatory to the emphasized second and fourth beats in two-beat bass figures.

As swing music developed, the role of the piano in the ensemble changed to emphasize accents and fills; these were often played on the lead-in to the main beat, adding a punch to the rhythm. Count Basie's style was sparse, played as accompaniment to the horn sections and soloists.

The bass and snare drums started the swing era as the main timekeepers, with the snare usually used for either lead-ins or emphasis on the second and fourth beats. It was soon found that the high-hat cymbal could add a new dimension to the swing expressed by the drum kit when played in a two-beat "ti-tshhh-SH" figure, with the "ti" the lead-in to the "tshhh" on the first and third beats, and the "SH" the emphasized second and fourth beats.

With that high-hat figure, the drummer expressed three elements of swing: the lead-in with the "ti," the continuity of the rhythmic pulse between the beats with the "tshhh," and the emphasis on the second and fourth beats with the "SH". Early examples of that high-hat figure were recorded by the drummer Chick Webb. Jo Jones carried the high-hat style a step further, with a more continuous-sounding "t'shahhh-uhh" two beat figure while reserving the bass and snare drums for accents. The changed role of the drum kit away from the heavier style of the earlier drumming placed more emphasis on the role of the bass in holding the rhythm.

Horn sections and soloists added inflection and dynamics to the rhythmic toolbox, "swinging" notes and phrases. One of the characteristic horn section sounds of swing jazz was a section chord played with a strong attack, a slight fade, and a quick accent at the end, expressing the rhythmic pulse between beats. That device was used interchangeably or in combination with a slight downward slur between the beginning and the end of the note.

Similarly, section arrangements sometimes used a series of triplets, either accented on the first and third notes or with every other note accented to make a 3/2 pattern. Straight eighth notes were commonly used in solos, with dynamics and articulation used to express phrasing and swing. Phrasing dynamics built swing across two or four measures or, in the innovative style of tenor saxophonist Lester Young, across odd sequences of measures, sometimes starting or stopping without regard to place in the measure.

The rhythmic devices of the swing era became subtler with bebop. Bud Powell and other piano players influenced by him mostly did away with left-hand rhythmic figures, replacing them with chords. The ride cymbal played in a "ting-ti-ting" pattern took the role of the high-hat, the snare drum was mainly used for lead-in accents, and the bass drum was mainly used for occasional "bombs." But the importance of the lead-in as a rhythmic device was still respected. Drummer Max Roach emphasized the importance of the lead-in, audible or not, in "protecting the beat." Bebop soloists rose to the challenge of keeping a swinging feel in highly sophisticated music often played at a breakneck pace. The groundbreakers of bebop had come of age as musicians with swing and, while breaking the barriers of the swing era, still reflected their swing heritage.

Various rhythmic swing approximations:

  • ≈1:1 = eighth note + eighth note, "straight eighths."
  • ≈3:2 = long eighth + short eighth.
  • ≈2:1 = triplet quarter note + triplet eighth, triple meter;
  • ≈3:1 = dotted eighth note + sixteenth note.

The subtler end of the range involves treating written pairs of adjacent eighth notes (or sixteenth notes, depending on the level of swing) as slightly asymmetrical pairs of similar values. On the other end of the spectrum, the "dotted eighth – sixteenth" rhythm, consists of a long note three times as long as the short. Prevalent "dotted rhythms" such as these in the rhythm section of dance bands in the mid-20th century are more accurately described as a "shuffle"; they are also an important feature of baroque dance and many other styles.

In jazz, the swing ratio typically lies somewhere between 1:1 and 3:1, and can vary considerably. Swing ratios in jazz tend to be wider at slower tempos and narrower at faster tempos. In jazz scores, swing is often assumed, but is sometimes explicitly indicated. For example, "Satin Doll", a swing era jazz standard, was notated in 4/4 time and in some versions includes the direction, medium swing.

Genres using swing rhythm

Swing is commonly used in swing jazz, ragtime, blues, jazz, western swing, new jack swing, big band jazz, swing revival, funk, funk blues, R&B, soul music, rockabilly, neo rockabilly, rock and hip-hop. Much written music in jazz is assumed to be performed with a swing rhythm. Styles that always use traditional (triplet) rhythms, resembling "hard swing", include foxtrot, quickstep and some other ballroom dances, Stride piano, and 1920s-era Novelty piano (the successor to Ragtime style).

Groove

Groove is the sense of an effect ("feel") of changing pattern in a propulsive rhythm or sense of "swing". In jazz, it can be felt as a quality of persistently repeated rhythmic units, created by the interaction of the music played by a band's rhythm section (e.g. drums, electric bass or double bass, guitar, and keyboards). Groove is a significant feature of popular music, and can be found in many genres, including salsa, rock, soul, funk, and fusion.

Characteristic rock groove: "bass drum on beats 1 and 3 and snare drum on beats 2 and 4 of the measure...add eighth notes on the hi-hat".

From a broader ethnomusicological perspective, groove has been described as "an unspecifiable but ordered sense of something that is sustained in a distinctive, regular and attractive way, working to draw the listener in." Musicologists and other scholars have analyzed the concept of "groove" since around the 1990s. They have argued that a "groove" is an "understanding of rhythmic patterning" or "feel" and "an intuitive sense" of "a cycle in motion" that emerges from "carefully aligned concurrent rhythmic patterns" that stimulates dancing or foot-tapping on the part of listeners. The concept can be linked to the sorts of ostinatos that generally accompany fusions and dance musics of African derivation (e.g. African-American, Afro-Cuban, Afro-Brazilian, etc.).

The term is often applied to musical performances that make one want to move or dance, and enjoyably "groove" (a word that also has sexual connotations). The expression "in the groove" (as in the jazz standard) was widely used from around 1936 to 1945, at the height of the swing era, to describe top-notch jazz performances. In the 1940s and 1950s, groove commonly came to denote musical "routine, preference, style, [or] source of pleasure."

Description

Musicians' perspectives

Like the term "swing", which is used to describe a cohesive rhythmic "feel" in a jazz context, the concept of "groove" can be hard to define. Marc Sabatella's article Establishing The Groove argues that "groove is a completely subjective thing." He claims that "one person may think a given drummer has a great feel, while another person may think the same drummer sounds too stiff, and another may think he is too loose." Similarly, a bass educator states that while "groove is an elusive thing" it can be defined as "what makes the music breathe" and the "sense of motion in the context of a song".

In a musical context, general dictionaries define a groove as "a pronounced, enjoyable rhythm" or the act of "creat[ing], danc[ing] to, or enjoy[ing] rhythmic music". Steve Van Telejuice explains the "groove" as the point in this sense when he defines it as a point in a song or performance when "even the people who can't dance wanna feel like dancing..." due to the effect of the music.

Bernard Coquelet argues that the "groove is the way an experienced musician will play a rhythm compared with the way it is written (or would be written)" by playing slightly "before or after the beat". Coquelet claims that the "notion of groove actually has to do with aesthetics and style"; "groove is an artistic element, that is to say human,...and "it will evolve depending on the harmonic context, the place in the song, the sound of the musician's instrument, and, in interaction with the groove of the other musicians", which he calls "collective" groove". Minute rhythmic variations by the rhythm section members such as the bass player can dramatically change the feel as a band plays a song, even for a simple singer-songwriter groove.

Theoretical analysis

UK musicologist Richard Middleton (1999) notes that while "the concept of groove" has "long [been] familiar in musicians' own usage", musicologists and theorists have only more recently begun to analyze this concept. Middleton states that a groove "... marks an understanding of rhythmic patterning that underlies its role in producing the characteristic rhythmic 'feel' of a piece". He notes that the "feel created by a repeating framework" is also modified with variations. "Groove", in terms of pattern-sequencing, is also known as "shuffle note"—where there is deviation from exact step positions.

When the musical slang phrase "Being in the groove" is applied to a group of improvisers, this has been called "an advanced level of development for any improvisational music group", which is "equivalent to Bohm and Jaworski's descriptions of an evoked field", which systems dynamics scholars claim are "forces of unseen connection that directly influence our experience and behaviour". Peter Forrester and John Bailey argue that the "chances of achieving this higher level of playing" (i.e., attain a "groove") are improved when the musicians are "open to other's musical ideas", "finding ways of complementing other participant's [sic] musical ideas", and "taking risks with the music".

Turry and Aigen cite Feld's definition of groove as "an intuitive sense of style as process, a perception of a cycle in motion, a form or organizing pattern being revealed, a recurrent clustering of elements through time". Aigen states that "when [a] groove is established among players, the musical whole becomes greater than the sum of its parts, enabling a person [...] to experience something beyond himself which he/she cannot create alone (Aigen 2002, p.34)".

Jeff Pressing's 2002 article claimed that a "groove or feel" is "a cognitive temporal phenomenon emerging from one or more carefully aligned concurrent rhythmic patterns, characterized by...perception of recurring pulses, and subdivision of structure in such pulses,...perception of a cycle of time, of length 2 or more pulses, enabling identification of cycle locations, and...effectiveness of engaging synchronizing body responses (e.g. dance, foot-tapping)".

Neuroscientific perspectives

The "groove" has been cited as an example of sensory-motor coupling between neural systems. Sensory-motor coupling is the coupling or integration of the sensory system and motor system. Sensorimotor integration is not a static process. For a given stimulus, there is no one single motor command. "Neural responses at almost every stage of a sensorimotor pathway are modified at short and long timescales by biophysical and synaptic processes, recurrent and feedback connections, and learning, as well as many other internal and external variables". Recent research has shown that at least some styles of modern groove-oriented rock music are characterized by an "aesthetics of exactitude" and the strongest groove stimulation could be observed for drum patterns without microtiming deviations.

Use in different genres

Jazz

In some more traditional styles of jazz, the musicians often use the word "swing" to describe the sense of rhythmic cohesion of a skilled group. However, since the 1950s, musicians from the organ trio and latin jazz subgenres have also used the term "groove". Jazz flute player Herbie Mann talks a lot about "the groove." In the 1950s, Mann "locked into a Brazilian groove in the early '60s, then moved into a funky, soulful groove in the late '60s and early '70s. By the mid-'70s he was making hit disco records, still cooking in a rhythmic groove." He describes his approach to finding the groove as follows: "All you have to do is find the waves that are comfortable to float on top of." Mann argues that the "epitome of a groove record" is "Memphis Underground or Push Push", because the "rhythm section [is] locked all in one perception."

Reggae

In Jamaican reggae, dancehall, and dub music, the creole term "riddim" is used to describe the rhythm patterns created by the drum pattern or a prominent bassline. In other musical contexts a "riddim" would be called a "groove" or beat. One of the widely copied "riddims", Real Rock, was recorded in 1967 by Sound Dimension. "It was built around a single, emphatic bass note followed by a rapid succession of lighter notes. The pattern repeated over and over hypnotically. The sound was so powerful that it gave birth to an entire style of reggae meant for slow dancing called rub a dub."

R&B

The "groove" is also associated with funk performers, such as James Brown's drummers Clyde Stubblefield and Jabo Starks, and with soul music. "In the 1950s, when 'funk' and 'funky' were used increasingly as adjectives in the context of soul music—the meaning being transformed from the original one of a pungent odor to a re-defined meaning of a strong, distinctive groove." As "[t]he soul dance music of its day, the basic idea of funk was to create as intense a groove as possible." When a drummer plays a groove that "is very solid and with a great feel...", this is referred to informally as being "in the pocket"; when a drummer "maintains this feel for an extended period of time, never wavering, this is often referred to as a deep pocket."

Hip hop

A concept similar to "groove" or "swing" is also used in other African-American genres such as hip hop. The rhythmic groove that jazz artists call a sense of “swing” is sometimes referred to as having "flow" in the hip hop scene. "Flow is as elemental to hip hop as the concept of swing is to jazz". Just as the jazz concept of "swing" involves performers deliberately playing behind or ahead of the beat, the hip-hop concept of flow is about "funking with one's expectations of time"—that is, the rhythm and pulse of the music. "Flow is not about what is being said so much as how one is saying it".

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/index.html b/theory/rhythm/index.html index c7974c1a43..f5cae42b6a 100644 --- a/theory/rhythm/index.html +++ b/theory/rhythm/index.html @@ -6,13 +6,13 @@ Rhythm | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Rhythm
Musical exploration of time

What is Rhythm and how does the temporal dimension of music evolve? How we can conceptualize the human Musical time feeling? How can we Count fast enough to understand the inner relations of different rhythmic patterns?

The main concept in modern Western rhythmic tradition is the Meters differentiation. While there's a plenty of other national musical time organisation systems, that may emphasize some other aspects of the temporal music feel, such as Syncopation, swing and groove.

And there's so much to explore in practice while learning basic Drum rudiments on your own.

Embodiment of music

TimescaleMovementTime
PhraseBreath2-8 sec
PulseWalking250-2000 ms
NoteFingers100-1000 ms
MicrorhythmTalk5-50 ms
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/meter/complex/index.html b/theory/rhythm/meter/complex/index.html index fd48fef2b0..a96e2f5444 100644 --- a/theory/rhythm/meter/complex/index.html +++ b/theory/rhythm/meter/complex/index.html @@ -6,16 +6,16 @@ Complex meters | Chromatone.center - + - - - - + + + + - - + + @@ -44,7 +44,7 @@
Chromatone logo
Complex meters
Asymmetric, irregular, unusual, or odd meters

Signatures that do not fit the usual duple or triple categories are called complex, asymmetric, irregular, unusual, or odd. The term odd meter, however, sometimes describes time signatures in which the upper number is simply odd rather than even, including 3/4 and 9/8.

The irregular meters (not fitting duple or triple categories) are common in some non-Western music, but rarely appeared in formal written Western music until the 19th century. Early anomalous examples appeared in Spain between 1516 and 1520, but the Delphic Hymns to Apollo (one by Athenaeus is entirely in quintuple meter, the other by Limenius predominantly so), carved on the exterior walls of the Athenian Treasury at Delphi in 128 BC are in the relatively common cretic meter, with five beats to a foot.

The third movement of Frédéric Chopin's Piano Sonata No. 1 (1828) is an early, but by no means the earliest, example of 5/4 time in solo piano music. Anton Reicha's Fugue No. 20 from his Thirty-six Fugues, published in 1803, is also for piano and is in 5/8. The waltz-like second movement of Tchaikovsky's Pathétique Symphony (shown below), often described as a "limping waltz", is a notable example of 5/4 time in orchestral music.

Examples from 20th-century classical music include:

  • Gustav Holst's "Mars, the Bringer of War" and "Neptune, the Mystic" from The Planets (both in 5/4)
  • Paul Hindemith's "Fuga secunda" in G from Ludus Tonalis (5/8)
  • the ending of Stravinsky's The Firebird (7/4)
  • the fugue from Heitor Villa-Lobos's Bachianas Brasileiras No. 9 (11/8)
  • the themes for the Mission: Impossible television series by Lalo Schifrin (in 5/4) and for Room 222 by Jerry Goldsmith (in 7/4)

In the Western popular music tradition, unusual time signatures occur as well, with progressive rock in particular making frequent use of them. The use of shifting meters in The Beatles' "Strawberry Fields Forever" and the use of quintuple meter in their "Within You, Without You" are well-known examples, as is Radiohead's "Paranoid Android" (includes 7/8).

Paul Desmond's jazz composition "Take Five", in 5/4 time, was one of a number of irregular-meter compositions that The Dave Brubeck Quartet played. They played other compositions in 11/4 ("Eleven Four"), 7/4 ("Unsquare Dance"), and 9/8 ("Blue Rondo à la Turk"), expressed as 2+2+2+3/8. This last is an example of a work in a signature that, despite appearing merely compound triple, is actually more complex. Brubeck's title refers to the characteristic aksak meter of the Turkish karşılama dance.

However, such time signatures are only unusual in most Western music. Traditional music of the Balkans uses such meters extensively. Bulgarian dances, for example, include forms with 5, 7, 9, 11, 13, 15, 22, 25 and other numbers of beats per measure. These rhythms are notated as additive rhythms based on simple units, usually 2, 3 and 4 beats, though the notation fails to describe the metric "time bending" taking place, or compound meters.

Quintuple meter

Quintuple meter or quintuple time is a musical meter characterized by five beats in a measure.

They may consist of any combination of variably stressed or equally stressed beats.

Like the more common duple, triple, and quadruple meters, it may be simple, with each beat divided in half, or compound, with each beat divided into thirds. The most common time signatures for simple quintuple meter are 5/4 and 5/8, and compound quintuple meter is most often written in 15/8.

Notation

Simple quintuple meter can be written in 5/4 or 5/8 time, but may also be notated by using regularly alternating bars of triple and duple meters, for example 2/4 + 3/1. Compound quintuple meter, with each of its five beats divided into three parts, can similarly be notated using a time signature of 15/8, by writing triplets on each beat of a simple quintuple signature, or by regularly alternating meters such as 6/8 + 9/8.

Another notational variant involves compound meters, in which two or three numerals take the place of the expected numerator. In simple quintuple meter, the 5 may be replaced as 2+3/8 or 2+1+2/8 for example. A time signature of 15/8, however, does not necessarily mean the music is in a compound quintuple meter. It may, for example, indicate a bar of triple meter in which each beat is subdivided into five parts. In this case, the meter is sometimes characterized as "triple quintuple time".

It is also possible for a 15/8 time signature to be used for an irregular, or additive, metrical pattern, such as groupings of 3+3+3+2+2+2 eighth notes or, for example in the Hymn to the Sun and Hymn to Nemesis by Mesomedes of Crete, 2+2+2+2+2+3+2, which may alternatively be given the composite signature 8+7/8.

Similarly, the presence of some bars with a 5/4 or 5/8 meter signature does not necessarily mean that the music is in quintuple meter overall. The regular alternation of 5/4 and 4/4 in Bruce Hornsby's "The Tango King" (from the album Hot House), for example, results in an overall nonuple meter (5+4 = 9).

Sextuple meters are rather rare.

Septuple meter

Septuple meter is a meter with each bar divided into 7 notes of equal duration, usually 7/4 or 7/8 (or in compound meter, 21/8 time). The stress pattern can be 2+2+3, 3+2+2, or occasionally 2+3+2, although a survey of certain forms of mostly American popular music suggests that 2+2+3 is the most common among these three in these styles.

A time signature of 21/8, however, does not necessarily mean that the bar is a compound septuple meter with seven beats, each divided into three. This signature may, for example, be used to indicate a bar of triple meter in which each beat is subdivided into seven parts. In this case, the meter is sometimes characterized as "triple septuple time". It is also possible for a 21/8 time signature to be used for an irregular, or "additive" metrical pattern, such as groupings of 3 + 3 + 3 + 2 + 3 + 2 + 3 + 2 eighth notes.

Septuple meter can also be notated by using regularly alternating bars of triple and duple or quadruple meters, for example 4/4 + 3/4, or 6/8 + 6/8 + 9/8, or through the use of compound meters, in which two or three numerals take the place of the expected numerator 7, for example, 2+2+3/8, or 5+2/8.

Balkan folk music

Septuple rhythms are characteristic of some European folk idioms, particularly in the Balkan countries. An example from Macedonia is the traditional tune "Jovano Jovanke", which can be transcribed in 7/8. Bulgarian dances are particularly noted for the use of a variety of irregular, or heterometric rhythms. The most popular of these is the rachenitsa, a type of khoro in a rapid septuple meter divided 2+2+3. In the Pirin area, the khoro has a rhythm subdivided 3+2+2, and two varieties of it are the pravo makedonsko ("straight Macedonian") and the mazhka rachenitsa ("men's rachenitsa"). Septuple rhythms are also found in Bulgarian vocal music, such as the koleda ritual songs sung by young men on Christmas Eve and Christmas to bless livestock, households, or specific family members.

Additive meters

To indicate more complex patterns of stresses, such as additive rhythms, more complex time signatures can be used. Additive meters have a pattern of beats that subdivide into smaller, irregular groups. Such meters are sometimes called imperfect, in contrast to perfect meters, in which the bar is first divided into equal units.

For example, the time signature 3+2+3/8 means that there are 8 quaver beats in the bar, divided as the first of a group of three eighth notes (quavers) that are stressed, then the first of a group of two, then first of a group of three again. The stress pattern is usually counted as 3+2+3/8: one two three one two one two three ...

This kind of time signature is commonly used to notate folk and non-Western types of music. In classical music, Béla Bartók and Olivier Messiaen have used such time signatures in their works. The first movement of Maurice Ravel's Piano Trio in A Minor is written in 8 8, in which the beats are likewise subdivided into 3+2+3 to reflect Basque dance rhythms.

Romanian musicologist Constantin Brăiloiu had a special interest in compound time signatures, developed while studying the traditional music of certain regions in his country. While investigating the origins of such unusual meters, he learned that they were even more characteristic of the traditional music of neighboring peoples (e.g., the Bulgarians). He suggested that such timings can be regarded as compounds of simple two-beat and three-beat meters, where an accent falls on every first beat, even though, for example in Bulgarian music, beat lengths of 1, 2, 3, 4 are used in the metric description. In addition, when focused only on stressed beats, simple time signatures can count as beats in a slower, compound time. However, there are two different-length beats in this resulting compound time, a one half-again longer than the short beat (or conversely, the short beat is 2⁄3 the value of the long). This type of meter is called aksak (the Turkish word for "limping"), impeded, jolting, or shaking, and is described as an irregular bichronic rhythm. A certain amount of confusion for Western musicians is inevitable, since a measure they would likely regard as 7 16, for example, is a three-beat measure in aksak, with one long and two short beats (with subdivisions of 2+2+3, 2+3+2, or 3+2+2).

Folk music may make use of metric time bends, so that the proportions of the performed metric beat time lengths differ from the exact proportions indicated by the metric. Depending on playing style of the same meter, the time bend can vary from non-existent to considerable; in the latter case, some musicologists may want to assign a different meter. For example, the Bulgarian tune "Eleno Mome" is written in one of three forms: (1) 7 = 2+2+1+2, (2) 13 = 4+4+2+3, or (3) 12 = 3+4+2+3, but an actual performance (e.g., "Eleno Mome") may be closer to 4+4+2+3. The Macedonian 3+2+2+3+2 meter is even more complicated, with heavier time bends, and use of quadruples on the threes. The metric beat time proportions may vary with the speed that the tune is played. The Swedish Boda Polska (Polska from the parish Boda) has a typical elongated second beat.

In Western classical music, metric time bend is used in the performance of the Viennese waltz. Most Western music uses metric ratios of 2:1, 3:1, or 4:1 (two-, three- or four-beat time signatures)—in other words, integer ratios that make all beats equal in time length. So, relative to that, 3:2 and 4:3 ratios correspond to very distinctive metric rhythm profiles. Complex accentuation occurs in Western music, but as syncopation rather than as part of the metric accentuation.

Brăiloiu borrowed a term from Turkish medieval music theory: aksak. Such compound time signatures fall under the "aksak rhythm" category that he introduced along with a couple more that should describe the rhythm figures in traditional music. The term Brăiloiu revived had moderate success worldwide, but in Eastern Europe it is still frequently used. However, aksak rhythm figures occur not only in a few European countries, but on all continents, featuring various combinations of the two and three sequences. The longest are in Bulgaria. The shortest aksak rhythm figures follow the five-beat timing, comprising a two and a three (or three and two).

The term additive rhythm is also often used to refer to what are also incorrectly called asymmetric rhythms and even irregular rhythms – that is, meters which have a regular pattern of beats of uneven length. For example, the time signature 4/4 indicates each bar is eight quavers long, and has four beats, each a crotchet (that is, two quavers) long. The asymmetric time signature 3+3+2/8, on the other hand, while also having eight quavers in a bar, divides them into three beats, the first three quavers long, the second three quavers long, and the last just two quavers long.

These kinds of rhythms are used, for example, by Béla Bartók, who was influenced by similar rhythms in Bulgarian folk music. The third movement of Bartók's String Quartet No. 5, a scherzo marked alla bulgarese features a "9/8 rhythm (4+2+3)". Stravinsky's Octet for Wind Instruments "ends with a jazzy 3+3+2 = 8 swung coda". Additive patterns also occur in some music of Philip Glass, and other minimalists, most noticeably the "one-two-one-two-three" chorus parts in Einstein on the Beach. They may also occur in passing in pieces which are on the whole in conventional meters. In jazz, Dave Brubeck's song "Blue Rondo à la Turk" features bars of nine quavers grouped into patterns of 2+2+2+3 at the start. George Harrison's song "Here Comes the Sun" on the Beatles' album Abbey Road features a rhythm "which switches between 11/8, 4/4 and 7/8 on the bridge". "The special effect of running even eighth notes accented as if triplets against the grain of the underlying backbeat is carried to a point more reminiscent of Stravinsky than of the Beatles".

Olivier Messiaen made extensive use of additive rhythmic patterns, much of it stemming from his close study of the rhythms of Indian music. His "Danse de la fureur, pour les sept trompettes" from The Quartet for the End of Time is a bracing example. A gentler exploration of additive patterns can be found in "Le Regard de la Vierge" from the same composer's piano cycle Vingt Regards sur l'enfant-Jésus.

György Ligeti's Étude No. 13, "L'escalier du diable" features patterns involving quavers grouped in twos and threes. The rhythm at the start of the study follows the pattern 2+2+3, then 2+2+2+3. According to the composer's note, the 12/8 time signature "serves only as a guideline, the actual meter consists of 36 quavers (three 'bars'), divided assymetrically".

https://en.wikipedia.org/wiki/List_of_musical_works_in_unusual_time_signatures

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/meter/compound/index.html b/theory/rhythm/meter/compound/index.html index f3ec239976..f0b6282780 100644 --- a/theory/rhythm/meter/compound/index.html +++ b/theory/rhythm/meter/compound/index.html @@ -6,16 +6,16 @@ Compound meters | Chromatone.center - + - - - - + + + + - - + + @@ -44,7 +44,7 @@
Chromatone logo
Compound meters
Rhythmic meters

Compound metre (or compound time), is a metre in which each beat of the bar divides naturally into three equal parts. That is, each beat contains a triple pulse. The top number in the time signature will be 6, 9, 12, 15, 18, 24, etc.

Compound metres are written with a time signature that shows the number of divisions of beats in each bar as opposed to the number of beats. For example, compound duple (two beats, each divided into three) is written as a time signature with a numerator of six, for example, 6/8. Contrast this with the time signature 3/4, which also assigns six eighth notes to each measure, but by convention connotes a simple triple time: 3 quarter-note beats.

6/8

Duple time - 2 strong beats in a bar dividing into 3 eighth notes

Although 3/4 and 6/8 are not to be confused, they use bars of the same length, so it is easy to "slip" between them just by shifting the location of the accents.

9/8

Compound tripple time - 3 strong beats in a bar dividing into 3 eighth notes

12/8

Compound quadruple time - 4 strong beats in a bar dividing into 3 eighth notes

Compound metre divided into three parts could theoretically be transcribed into musically equivalent simple metre using triplets. Likewise, simple metre can be shown in compound through duples. In practice, however, this is rarely done because it disrupts conducting patterns when the tempo changes. When conducting in 6/8, conductors typically provide two beats per bar; however, all six beats may be performed when the tempo is very slow.

Compound time is associated with "lilting" and dancelike qualities. Folk dances often use compound time. Many Baroque dances are often in compound time: some gigues, the courante, and sometimes the passepied and the siciliana.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/meter/index.html b/theory/rhythm/meter/index.html index 49265d7b01..8696dc2f1f 100644 --- a/theory/rhythm/meter/index.html +++ b/theory/rhythm/meter/index.html @@ -6,13 +6,13 @@ Meters | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/theory/rhythm/meter/simple/index.html b/theory/rhythm/meter/simple/index.html index c32b2517cd..967564c0bd 100644 --- a/theory/rhythm/meter/simple/index.html +++ b/theory/rhythm/meter/simple/index.html @@ -6,16 +6,16 @@ Simple meters | Chromatone.center - + - - - - + + + + - - + + @@ -44,7 +44,7 @@
Chromatone logo
Simple meters
Rhythmic meters

Simple metre (or simple time) is a metre in which each beat of the bar divides naturally into two (as opposed to three) equal parts. The top number in the time signature will be 2, 3, 4, 5, etc.

Simple time signatures consist of two numerals, one stacked above the other:

  • The lower numeral indicates the note value that represents one beat (the beat unit). This number is typically a power of 2.
  • The upper numeral indicates how many such beats constitute a bar.

For instance, 2/4 means two quarter-note (crotchet) beats per bar, while 3/8 means three eighth-notes (quavers) per bar, which are beats at slower tempos (but at faster tempos, 3/8 becomes compound time, with one beat per bar). The most common simple time signatures are 2/4, 3/4, and 4/4.

Simple time

Simple duple time

Two or four beats to a bar, each divided by two, the top number being "2" or "4" (2/4, 2/8, 2/2 ... 4/4, 4/8, 4/2 ...). When there are four beats to a bar, it is alternatively referred to as "quadruple" time.

2/2

Alla breve, cut time: Used for marches and fast orchestral music.

2/4

Used for polkas, galops, and marches.

Simple triple time

Three beats to a bar, each divided by two, the top number being "3" (3/4, 3/8, 3/2 ...)

3/4

In the time signature 3/4, each bar contains three quarter-note beats, and each of those beats divides into two eighth notes, making it a simple metre. More specifically, it is a simple triple metre because there are three beats in each measure; simple duple (two beats) or simple quadruple (four) are also common metres.

Used for waltzes, minuets, scherzi, polonaises, mazurkas, country & western ballads, R&B, sometimes used in pop. Is widely used in African music.

3/8

Also used for the above but usually suggests higher tempo or shorter hypermeter

Simple quadruple time

4/4

Common time: Widely used in most forms of Western popular music. Most common time signature in rock, blues, country, funk, and pop.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/meter/time/index.html b/theory/rhythm/meter/time/index.html index 2fad782cee..7422f16e25 100644 --- a/theory/rhythm/meter/time/index.html +++ b/theory/rhythm/meter/time/index.html @@ -6,16 +6,16 @@ Common time | Chromatone.center - + - - - - + + + + - - + + @@ -52,7 +52,7 @@ eighth: 1 & 2 & 3 & 4 & sixteenth: 1 e & a 2 e & a 3 e & a 4 e & a
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/pulse/index.html b/theory/rhythm/pulse/index.html index f3a1fe48e2..a2a907f761 100644 --- a/theory/rhythm/pulse/index.html +++ b/theory/rhythm/pulse/index.html @@ -6,13 +6,13 @@ Pulse, beat and tempo | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Pulse, beat and tempo
Time feeling of humans

Pulse

In music theory, the pulse is a musical piece's either audible or implied series of uniformly spaced beats—in other words, uniformly timed instants of punctuating sound—and thus is the monotonous "tapping" that sets the tempo and that underlies or anchors the rhythm. Whereas the rhythm, being a musical creation that at times can intricately depart from the pulse, may become too difficult for an untrained listener to fully match, nearly any listener instinctively matches the pulse by simply tapping uniformly, despite rhythmic variations in timing of sounds atop the pulse. A performance may leave certain beats silent, not literally sounded, but the pulse remains as an abstraction. For example, even after a silent passage in a piece, the piece typically resumes on beat, as it were, by referencing the implied pulse, established before the silence.

The pulse may be audible or implied. The tempo of the piece is the speed of the pulse. If a pulse becomes too fast it would become a drone; one that is too slow would be perceived as unconnected sounds. When the period of any continuous beat is faster than 8–10 per second or slower than 1 per 1.5–2 seconds, it cannot be perceived as such. "Musical" pulses are generally specified in the range 40 to 240 beats per minute. The pulse is not necessarily the fastest or the slowest component of the rhythm but the one that is perceived as basic. This is currently most often designated as a crotchet or quarter note when written.

Pulse is related to and distinguished from rhythm (grouping), beats, and meter:

A pulse is one of a series of regularly recurring, precisely equivalent ["undifferentiated"] stimuli. Like the tick of a metronome or a watch, pulses mark off equal units in the temporal continuum.... A sense of regular pulses, once established, tends to be continued in the mind and musculature of the listener, even though the sound has stopped.... The human mind tends to impose some sort of organization upon such equal pulses. ...
[Pulse is] an important part of musical experience. Not only is pulse necessary for the existence of meter ["there can be no meter without an underlying pulse to establish the units of measurement"], but it generally, though not always, underlies and reinforces rhythmic experience.
Meter is the measurement of the number of pulses between more or less regularly recurring accents. Therefore, in order for meter to exist, some of the pulses in a series must be accented—marked for consciousness—relative to others. When pulses are thus counted within a metric context, they are referred to as beats. — Leonard B. Meyer and Cooper (1960)

Pulse groups

While ideal pulses are identical, when pulses are variously accented, this produces two- or three-pulse pulse groups such as strong-weak and strong-weak-weak and any longer group may be broken into such groups of two and three. In fact there is a natural tendency to perceptually group or differentiate an ideal pulse in this way. A repetitive, regularly accented pulse-group is called a metre.

Pulses can occur at multiple metric levels. Pulse groups may be distinguished as synchronous, if all pulses on slower levels coincide with those on faster levels, and nonsynchronous, if not.

An isochronal or equally spaced pulse on one level that uses varied pulse groups (rather than just one pulse group the whole piece) create a pulse on the (slower) multiple level that is non-isochronal (a stream of 2+3... at the eighth note level would create a pulse of a quarter note+dotted quarter note as its multiple level).

Tempo

Tempo (Italian for "time"; plural tempos, or tempi from the Italian plural) is the speed or pace of a given piece. In classical music, tempo is typically indicated with an instruction at the start of a piece (often using conventional Italian terms) and is usually measured in beats per minute (or BPM). In modern classical compositions, a "metronome mark" in beats per minute may supplement or replace the normal tempo marking, while in modern genres like electronic dance music, tempo will typically simply be stated in BPM.

Tempo may be separated from articulation and meter, or these aspects may be indicated along with tempo, all contributing to the overall texture. While the ability to hold a steady tempo is a vital skill for a musical performer, tempo is changeable. Depending on the genre of a piece of music and the performers' interpretation, a piece may be played with slight tempo rubato or drastic variances. In ensembles, the tempo is often indicated by a conductor or by one of the instrumentalists, for instance the drummer.

Measurement of the tempo

While tempo is described or indicated in many different ways, including with a range of words (e.g., "Slowly", "Adagio" and so on), it is typically measured in beats per minute (BPM or BPM). For example, a tempo of 60 beats per minute signifies one beat per second, while a tempo of 120 beats per minute is twice as rapid, signifying one beat every 0.5 seconds. The note value of a beat will typically be that indicated by the denominator of the time signature. For instance, in 4/4 the beat will be a crotchet, or quarter note.

This measurement and indication of tempo became increasingly popular during the first half of the 19th century, after Johann Nepomuk Maelzel invented the metronome. Beethoven was one of the first composers to use the metronome; in the 1810s he published metronomic indications for the eight symphonies he had composed up to that time.

Instead of beats per minute, some 20th-century classical composers (e.g., Béla Bartók, Alberto Ginastera, and John Cage) specify the total playing time for a piece, from which the performer can derive tempo.

With the advent of modern electronics, BPM became an extremely precise measure. Music sequencers use the BPM system to denote tempo. In popular music genres such as electronic dance music, accurate knowledge of a tune's BPM is important to DJs for the purposes of beatmatching.

The speed of a piece of music can also be gauged according to measures per minute (mpm) or bars per minute (BPM), the number of measures of the piece performed in one minute. This measure is commonly used in ballroom dance music.

Choosing speed

In different musical contexts, different instrumental musicians, singers, conductors, bandleaders, music directors or other individuals will select the tempo of a song or piece. In a popular music or traditional music group or band, the bandleader or drummer may select the tempo. In popular and traditional music, whoever is setting the tempo often counts out one or two bars in tempo. In some songs or pieces in which a singer or solo instrumentalist begins the work with a solo introduction (prior to the start of the full group), the tempo they set will provide the tempo for the group. In an orchestra or concert band, the conductor normally sets the tempo. In a marching band, the drum major may set the tempo. In a sound recording, in some cases a record producer may set the tempo for a song (although this would be less likely with an experienced bandleader).

Basic tempo markings

Here follows a list of common tempo markings. The beats per minute (BPM) values are very rough approximations for 4/4 time.

These terms have also been used inconsistently through time and in different geographical areas. One striking example is that Allegretto hastened as a tempo from the 18th to the 19th century: originally it was just above Andante, instead of just below Allegro as it is now. As another example, a modern largo is slower than an adagio, but in the Baroque period it was faster.

From slowest to fastest:

  • Larghissimo – very, very slow (24 BPM and under)
  • Adagissimo – very slow (24-40 BPM)
  • Grave – very slow (25–45 BPM)
  • Largo – slow and broad (40–60 BPM)
  • Lento – slow (45–60 BPM)
  • Larghetto – rather slow and broad (60–66 BPM)
  • Adagio – slow with great expression (66–76 BPM)
  • Adagietto – slower than andante (72–76 BPM) or slightly faster than adagio (70–80 BPM)
  • Andante – at a walking pace (76–108 BPM)
  • Andantino – slightly faster than andante (although, in some cases, it can be taken to mean slightly slower than andante) (80–108 BPM)
  • Marcia moderato – moderately, in the manner of a march (83–85 BPM)
  • Moderato – at a moderate speed (108–120 BPM)
  • Andante moderato – between andante and moderato (thus the name) (92–112 BPM)
  • Allegretto – by the mid-19th century, moderately fast (112–120 BPM); see paragraph above for earlier usage
  • Allegro moderato – close to, but not quite allegro (116–120 BPM)
  • Allegro – fast, quick, and bright (120–156 BPM) (molto allegro is slightly faster than allegro, but always in its range; 124-156 BPM)
  • Vivace – lively and fast (156–176 BPM)
  • Vivacissimo – very fast and lively (172–176 BPM)
  • Allegrissimo or Allegro vivace – very fast (172–176 BPM)
  • Presto – very, very fast (168–200 BPM)
  • Prestissimo – even faster than presto (200 BPM and over)

Additional terms

  • A piacere – the performer may use their own discretion with regard to tempo and rhythm; literally "at pleasure"
  • Assai – (very) much
  • A tempo – resume previous tempo
  • Con grazia – with grace, or gracefully
  • Con moto – Italian for "with movement"; can be combined with a tempo indication, e.g., Andante con moto
  • Lamentoso – sadly, plaintively
  • L'istesso, L'istesso tempo, or Lo stesso tempo – at the same speed; L'istesso is used when the actual speed of the music has not changed, despite apparent signals to the contrary, such as changes in time signature or note length (half notes in 4
  • 4 could change to whole notes in 2
  • 2, and they would all have the same duration)
  • Ma non tanto – but not so much; used in the same way and has the same effect as Ma non troppo (see immediately below) but to a lesser degree
  • Ma non troppo – but not too much; used to modify a basic tempo to indicate that the basic tempo should be reined in to a degree; for example, Adagio ma non troppo to mean ″Slow, but not too much″, Allegro ma non troppo to mean ″Fast, but not too much″
  • Maestoso – majestically, stately
  • Molto – very
  • meno - Less
  • Più - more
  • Poco – a little
  • Subito – suddenly
  • Tempo comodo – at a comfortable speed
  • Tempo di... – the speed of a ... (such as Tempo di valzer (speed of a waltz, dotted quarter note. ≈ 60 BPM or quarter note≈ 126 BPM), Tempo di marcia (speed of a march, quarter note ≈ 120 BPM))
  • Tempo giusto – at a consistent speed, at the 'right' speed, in strict tempo
  • Tempo primo – resume the original (first) tempo
  • Tempo semplice – simple, regular speed, plainly

English tempo markings

English indications, for example quickly, have also been used, by Benjamin Britten and Percy Grainger, among many others. In jazz and popular music lead sheets and fake book charts, terms like "fast", "laid back", "steady rock", "medium", "medium-up", "ballad", "brisk", "brightly" "up", "slowly", and similar style indications may appear. In some lead sheets and fake books, both tempo and genre are indicated, e.g., "slow blues", "fast swing", or "medium Latin". The genre indications help rhythm section instrumentalists use the correct style. For example, if a song says "medium shuffle", the drummer plays a shuffle drum pattern; if it says "fast boogie-woogie", the piano player plays a boogie-woogie bassline.

"Show tempo", a term used since the early days of Vaudeville, describes the traditionally brisk tempo (usually 160–170 BPM) of opening songs in stage revues and musicals.

Humourist Tom Lehrer uses facetious English tempo markings in his anthology Too Many Songs by Tom Lehrer. For example, "National Brotherhood Week" is to be played "fraternally"; "We Will All Go Together" is marked "eschatologically"; and "Masochism Tango" has the tempo "painstakingly". His English contemporaries Flanders and Swann have similarly marked scores, with the music for their song "The Whale (Moby Dick)" shown as "oceanlike and vast".

Electronic music

Typical tempo ranges for most common elecytonic music genres:

  • Dub: 60-90 BPM
  • Hip-hop: 60-100 BPM
  • Triphop/Downtempo: 90-110 BPM
  • House: 115-130 BPM
  • UK garage/2-step: 130-135 BPM
  • Grime: 140 BPM
  • Techno/Trance: 120-140 BPM
  • Acid Techno: 135-150
  • Schranz: 150
  • Dubstep: 135-145 BPM (70-75 BPM in half-time)
  • Hardstyle: 150 BPM
  • Juke/Footwork: 160 BPM
  • Drum and bass: 160-180 BPM

Extreme tempo

More extreme tempos are achievable at the same underlying tempo with very fast drum patterns, often expressed as drum rolls. Such compositions often exhibit a much slower underlying tempo, but may increase the tempo by adding additional percussive beats. Extreme metal subgenres such as speedcore and grindcore often strive to reach unusually fast tempo. The use of extreme tempo was very common in the fast bebop jazz from the 1940s and 1950s. A common jazz tune such as "Cherokee" was often performed at quarter note equal to or sometimes exceeding 368 BPM. Some of Charlie Parker's famous tunes ("Bebop", "Shaw Nuff") have been performed at 380 BPM plus.

There is also a subgenre of speedcore known as Extratone, which is defined by music with a BPM over 3,600, or sometimes 1,000 BPM or over.

Beatmatching

In popular music genres such as disco, house music and electronic dance music, beatmatching is a technique that DJs use that involves speeding up or slowing down a record (or CDJ player, a speed-adjustable CD player for DJ use) to match the tempo of a previous or subsequent track, so both can be seamlessly mixed. Having beatmatched two songs, the DJ can either seamlessly crossfade from one song to another, or play both tracks simultaneously, creating a layered effect.

DJs often beatmatch the underlying tempos of recordings, rather than their strict BPM value suggested by the kick drum, particularly when dealing with high tempo tracks. A 240 BPM track, for example, matches the beat of a 120 BPM track without slowing down or speeding up, because both have an underlying tempo of 120 quarter notes per minute. Thus, some soul music (around 75–90 BPM) mixes well with a drum and bass beat (from 150–185 BPM). When speeding up or slowing down a record on a turntable, the pitch and tempo of a track are linked: spinning a disc 10% faster makes both pitch and tempo 10% higher. Software processing to change the pitch without changing the tempo is called pitch-shifting. The opposite operation, changing the tempo without changing the pitch, is called time-stretching.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/rudiments/index.html b/theory/rhythm/rudiments/index.html index 31232209a0..7a339d9b59 100644 --- a/theory/rhythm/rudiments/index.html +++ b/theory/rhythm/rudiments/index.html @@ -6,13 +6,13 @@ Drum rudiments | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Drum rudiments
Basic patterns played with drum sticks

Practice drum rudiments online

Historical organization

(NARD Standard 26 American Drum Rudiments of 1933)

Thirteen "essential" rudiments

  • The double stroke open roll
  • The five stroke roll
  • The seven stroke roll
  • The flam
  • The flam accent
  • The flam paradiddle
  • The flamacue
  • The drag (half drag or ruff)
  • The single drag tap
  • The double drag tap
  • The double paradiddle
  • The single ratamacue
  • The triple ratamacue

Second thirteen rudiments

  • The single stroke roll
  • The nine stroke roll
  • The ten stroke roll
  • The eleven stroke roll
  • The thirteen stroke roll
  • The fifteen stroke roll
  • The flam tap
  • The single paradiddle
  • The drag paradiddle No. 1
  • The drag paradiddle No. 2
  • The flam paradiddle-diddle
  • The lesson 25
  • The double ratamacue

Last fourteen rudiments

In 1984, the Percussive Arts Society added 14 more rudiments to extend the list to the current 40 International Snare Drum Rudiments. The ordering was completely changed during this last re-organization.

  • The single stroke four
  • The single stroke seven
  • The multiple bounce roll
  • The triple stroke roll
  • The six stroke roll
  • The seventeen stroke roll
  • The triple paradiddle
  • The single paradiddle-diddle
  • The single flammed mill
  • The pataflafla
  • The Swiss Army triplet
  • The inverted flam tap
  • The flam drag
  • The single dragadiddle

Terminology

Single stroke

A stroke performs a single percussive note. There are four basic single strokes.

Double stroke

A double stroke consists of two single strokes played by the same hand (either RR or LL).

Diddle

A diddle is a double stroke played at the current prevailing speed of the piece. For example, if a sixteenth-note passage is being played then any diddles in that passage would consist of sixteenth notes.

Paradiddle

A paradiddle consists of two single strokes followed by a double stroke, i.e., RLRR or LRLL. When multiple paradiddles are played in succession, the first note always alternates between right and left. Therefore, a single paradiddle is often used to switch the "lead hand" in drumming music. Mill Stroke

A mill stroke is essentially a reversed paradiddle with the sticking RRLR or LLRL with an accent on the first note. The single flammed mill is the most common mill stroke variant in American playing.

Drag

A drag is a double stroke played at twice the speed of the context in which it is placed. For example, if a sixteenth-note passage is being played then any drags in that passage would consist of thirty-second notes. Drags can also be notated as grace notes, in which case the spacing between the notes can be interpreted by the player. On timpani, drags are often played with alternating sticking (lrL or rlR).

In Scottish pipe band snare drumming, a drag consists of a flam where the gracenote is played as a "deadstick" (staccato note).[citation needed]

Ruff

Historically, the modern Drag was known as a Ruff (or Rough) if played closed and a Half Drag when played open. Ruff can also refer to a single stroked set of grace notes preceding a regular note. In American playing the 3 Stroke Ruff has 2 single stroked grace notes before the primary or full note and a 4 Stroke Ruff has 3 singles before the primary note. Other rudimental systems have differing sticking methods and names for similar notation figures. Though still used and taught by drummers and drum teachers in practice, the 3 Stroke Ruff and 4 Stroke Ruff are not officially listed on the NARD or PAS rudiment sheets and the term Drag has eclipsed Ruff (or Rough) for the double stroked rudiments, in both open or closed execution, according to the current PAS standard terminology.

Flam

A flam consists of two single strokes played by alternating hands (rL or lR). The first stroke is a quieter grace note followed by a louder primary stroke on the opposite hand. The two notes are played almost simultaneously, and are intended to sound like a single, broader note. The temporal distance between the grace note and the primary note can vary depending on the style and context of the piece being played. In the past, or in some European systems, open flams and closed flams were listed as separate rudiments.

Charge Stroke

A charge stroke is a special variation on an open flam in which one or both of the notes are accented to provide a driving feel that can create the illusion that the downbeat has moved earlier in time. The two major types are French Lr or Rl and Swiss LR or RL with the first note preceding the downbeat, which falls on the second note, in both types. Charge strokes can be combined with flams or drags to create complex grace note figures preceding a downbeat.

Roll

Drum rolls are various techniques employed to produce a sustained, continuous sound.

https://en.wikipedia.org/wiki/Drum_rudiment

https://www.drumeo.com/beat/rudiments/

Practice drum rudiments online

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/study/index.html b/theory/rhythm/study/index.html index 8246dbc562..31cb4e4888 100644 --- a/theory/rhythm/study/index.html +++ b/theory/rhythm/study/index.html @@ -6,13 +6,13 @@ Rhythm, timeline, ostinato | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Rhythm, timeline, ostinato
Definitions of the temporal dimension in music

A few examples of definitions and characterizations of rhythm, both ancient and modern. (from the book "The geometry of musical rhythm: What makes a 'Good' Rhythm good?" by Godfried T. Toussaint (abstract)

Definitions

  • Plato: “An order of movement.”
  • Baccheios the Elder: “A measuring of time by means of some kind of movement.”††† Phaedrus: “Some measured thesis of syllables, placed together in certain ways.”‡‡‡ Aristoxenus: “Time, divided by any of those things that are capable of being rhythmed.”
  • Nichomacus: “Well marked movement of ‘times’.”
  • Leophantus: “Putting together of ‘times’ in due proportion, considered with regard to symmetry amongst them.”
  • Didymus: “A schematic arrangement of sounds.”
  • D. Wright: “Rhythm is the way in which time is organized within measures.”
  • A. C. Lewis: “Rhythm is the language of time.”
  • J. Martineau: “Rhythm is the component of music that punctuates time, carrying us from one beat to the next, and it subdivides into simple ratios.”
  • A. C. Hall: “Rhythm is made by durations of sound and silence and by accent.”
  • T. H. Garland and C. V. Kahn: “Rhythm is created whenever the time continuum is split up into pieces by some sound or movement.”
  • J. Bamberger: “The many different ways in which time is organized in music.”
  • J. Clough, J. Conley, and C. Boge: “Patterns of duration and accent of musical sounds moving through time.”
  • G. Cooper and L. B. Meyer: “Rhythm may be defined as the way in which one or more unaccented beats are grouped in relation to an accented one.”
  • D. J. Levitin: “Rhythm refers to the durations of a series of notes, and to the way that they group together into units.”
  • A. D. Patel: “The systematic patterning of sound in terms of timing, accent, and grouping.”
  • R. Parncutt: “A musical rhythm is an acoustic sequence evoking a sensation of pulse.”
  • C. B. Monahan and E. C. Carterette: “Rhythm is the perception of both regular and irregular accent patterns and their interaction.”
  • M. Clayton: “Rhythm, then, may be interpreted either as an alternation of stresses or as a succession of durations.”
  • B. C. Wade: “A rhythm is a specific succession of durations.”
  • S. Arom: “For there to be rhythm, sequences of audible events must be characterized by contrasting features.”‡‡‡‡ Arom goes on to specify that there are three types of con- trasting features that may operate in combination: duration, accent, and tone color (timbre). Contrast in each of these may be present or absent, and when accentuation or tone contrasts are present they may be regular or irregular. With these marking parameters, Arom generates a combinatorial classification of rhythms.
  • C. Egerton Lowe writes: “There is, I think, no other term used in music over which more ambiguity is shown.” Then he provides a discussion of a dozen definitions found in the literature.

Timelines, Ostinatos and Meter

In much traditional, classical, and contemporary music around the world, one hears a distinctive and characteristic rhythm that appears to be an essential feature of the music, that stands out above the other rhythms, and that repeats throughout most if not the entire piece. Sometimes this essential feature will be merely an isochronous pulsation without any recognizable periodicity. At other times, the music will be characterized by unique periodic patterns. These special rhythms are generally called timelines.* Timelines should be distinguished from the more general term rhythmic ostinatos. A rhythmic ostinato (from the word obstinate) refers to a rhythm or phrase that is continually repeated during a musical piece. Timelines, on the other hand, are more particular ostinatos that are easily recognized and remembered, play a distinguished role in the music, and also serve the functions of conductor and regulator, by signaling to other musicians the fundamen- tal cyclic structure of the piece. Thus, timelines act as an orienting device that facilitates musicians to stay together and helps soloists navigate the rhythmic landscape offered by the other instruments.

In ethnomusicology, the use of the word timeline is generally limited to asymmetric durational patterns of sub-Saharan origin such as the tresillo. In this book, however, the term is expanded to cover similar notions used in other cultures such as compás in the flamenco music of Southern Spain, tala in India, loop in electronic dance music (EDM), and just plain rhythmic ostinatos in any type of music. A word is in order concerning the ubiquitous related concept referred to as meter in Western music. There is slightly less vagueness present in the many definitions of meter published, as there is of the definitions of rhythm listed above. There is also much discussion about the differences between meter and rhythm. Meter is usually defined in terms of a hierarchy of accent pat- terns, and considered to be more regular than rhythm. Some music, such as sub-Saharan African music is claimed to have only pulsation as a temporal reference, and no meter in the strict sense of the word. Christopher Hasty’s book titled Meter as Rhythm considers meter to be a special case of rhythm. In this book, the word “timeline” is expanded to include all those meters used in music around the world, that function as time-keepers, or ostinatos, and determine the predominant underlying rhythmic structure of a piece. Here, meter is viewed as just another rhythm that may be sounded or merely felt by the performer or listener, and it is also represented as a binary sequence. While consideration of a metric context is indispensable for a complete understanding of rhythm, the underlying assumption in this book is that it can also be profitable to focus on purely inter-onset durational issues.

https://en.wikipedia.org/wiki/Additive_rhythm_and_divisive_rhythm

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/system/balkan/index.html b/theory/rhythm/system/balkan/index.html index 1080e42558..13787d906a 100644 --- a/theory/rhythm/system/balkan/index.html +++ b/theory/rhythm/system/balkan/index.html @@ -6,16 +6,16 @@ Balkan dances | Chromatone.center - + - - - - + + + + - - + + @@ -44,7 +44,7 @@
Chromatone logo
Balkan dances
Bulgarian rhythms and more

Bulgaria is famous for dance rhythms featuring uneven beats. Other Balkan countries also have some of these rhythms, but it is in Bulgaria that they are most common and intricate. Uneven rhythms include 5/16, 7/16, 9/16, 11/16, 15/16, 18/16 (7/16+11/16), and 22/16 (9/16+13/16). To be sure, the most common rhythm in Bulgaria is an even 2/4 or 6/8, (see Bulgarian Even Dance Rhythms) but uneven rhythms are also very common.

Western musicians might be tempted when seeing an 11/16 time signature to count to 11, then start again, but that’s not the way a Bulgarian conceptualizes his or her 11-beat rhythm. Often the individual beats are very fast (up to 520 beats per minute, or more than 8 per second!), so the mind just can’t count that fast. Also, Bulgarians were playing this music before Western concepts of what constitutes rhythm were developed. The idea of 11/16 is a Western invention.

Bulgarian folk musicians think of beats as either “quick” or “slow”, with the “slow” beat being approximately 1 1/2 times as long as the “quick”. Instead of trying to count a half beat, it’s easier to count a “quick” beat as 2, and a “slow” beat as 3. Ethnomusicologists have a couple of terms for dances and rhythms based on beats of uneven length. The more general term is additive rhythms. When applied to music from the Balkans the term aksak is also used. Aksak is a Turkish word for “limping, stumbling, or slumping”, which is the effect felt by a dancer moving to these rhythms.

5/16 – Pajduško

If you count a 5-beat uneven rhythm as a 2+3, you get 1,2,+1,2,3, or 1,2,1,2,3, or Quick, Slow, or Q,S. The Q,S, rhythm is repeated, like a rather rapid heartbeat. Here’s what 5/16, or Q,S, sounds like. Listen for the bass drum thump.

Bulgarians might know this rhythm as Quick-Slow, but more likely they would call it pajduško (pie-DOOSH-koh), because that’s name of the dance most commonly associated with this rhythm. See what pajduško looks like while you pick out the rhythm.

7/16 – Račenica

By adding one more “Quick” beat to the front, you get Q,Q,S, or 1,2,1,2,1,2,3, or 7/16. This uneven rhythm is commonly referred to as račenica (ruh-cheh-NEE-tsah), after the popular dance. Račenica’s come in solo, couple, and choral dances, and vary greatly in speed from one region to the next. Here’s a rather fast example of what one couple račenica looks and sounds like. For the first 45 seconds you can watch the feet, as they keep the beat exactly.

See also račenica under Living Dances for more examples of the dance at various speeds and configurations.

7/16 – Makedonsko, Pravoto

Slow down the tempo, put the slow beat at the beginning, and you have a 7/16 rhythm that’s popular in Western Bulgaria and Macedonia. Bulgarians call it Makedonsko (Macedonian), Macedonians call it Pravoto or Lesno, International Folk Dancers call it Lesnoto. The pattern is S,Q,Q, OR 1,2,3,1,2,1,2. Here’s what it sounds like, sung by the “Queen of Gypsy Music” Esma Redžepova. The bass is (usually) hitting the first beat of 1,2,3,1,2,1,2.

7/16 Četvorno

Speed up that SQQ pattern and you get četvorno (chet-VOHR-noh)

 

9/16 – Dajčovo

Add another Q to račenica‘s QQS and you get QQQS, or 1,2,1,2,1,2,1,2,3. Here’s the legendary Boris Karlov making it sound easy.

Here’s what dajčovo the basic dance looks like:

Beware there are MANY ways to do this dance.

9/16 – Other Dances

There are MANY other Bulgarian and non-Bulgarian dances that use this rhythm. Here’s Djanguritsa from Pirin

And Svornato from the Rhodope region

11/16 – Kopanica

Now it gets complicated. Instead of the slow beat being at either end of the chain of beats, it’s in the middle. QQSQQ

The dance below is Kopanica

11/16 – Gankino

And here’s Gankino

12/16- Petrunino horo S,Q,Q,Q,S,

Here, there’s a slow at both ends.

 

13/16 – Krivo Sadovsko Horo Q,Q,Q,S,Q,Q,

13/16 – Postupano Q,Q,Q,S,Q,Q,

Here’s, Postupano, from Macedonia. One look at the physical demands of the dance, as shown in this film from 1948, shows why it’s not too popular among recreational dancers today.

15/16 – Bučimiš “Q,Q,Q,Q,S,Q,Q,”

See also article on Bucimiš

18/16 – Jovino Horo or Jove Malaj Mome: 7/16+11/6 or “S,Q,Q,Q,Q,S,Q,Q,”

See also article on Jove Malaj Mome

22/16 – Sandansko: 9/16 + 13/16 or “QQQS + QQQSQQ”

See also article on Sandansko

25/16 – Sedi Donka: 7/16 + 11/16 + 7/16 or S,Q,Q,S,Q,Q,Q,Q,S,Q,Q,


Against The Odds: an Exploration of Bulgarian Rhythms

Vessela Stoyanova

The overwhelming majority of Bulgarian folk music happens to be in odd meters–typically 5, 7, 9 and 11, with occasional combinations of those creating 13, 15, 17 and larger. Some musicologists have linked these odd meters to the history of the region’s languages–especially poetry–going back to Ancient Greece. Others connect them to dances, insofar as each odd time signature tends to be accompanied by a specific dance. Indeed, many odd metered song forms are named after such dances, for instance kopanitsa, which always implies 11/8. In fact, many accomplished folk musicians in Bulgaria could not tell you what the time signature of the music is; instead, they will refer to it in terms of its dance.

The reason I feel compelled to share this information is twofold. On the one hand, Balkan music is becoming more and more prominent in the US. On the other hand, my command of odd meters has helped me greatly in assimilating difficult prog rock or contemporary classical pieces where odd meters are often used.

Now to be fair–and, alas, to contradict the clever pun of my title–I prefer the term “irregular” instead of “odd,” because many Bulgarian rhythms are technically even, such as 8/8, 10/8, 12/8 or 22/8. However, within a given measure of these even time signatures, you would likely have beats of different lengths. The Bulgarian word for all of these rhythms would translate roughly as uneven-beat music. Think about the beats in a 6/8 measure (two dotted quarter notes) compared to that of a 3/4 measure (three quarter notes). If you are familiar with the melody from Westside Story, “I wanna live in America” (one measure of 6/8 followed by one measure of 3/4), imagine it as one long measure of 12/8. This is more akin to the beat ratios encountered in Balkan meters, where the dotted quarter beats co-exist with the quarter beats in the same measure in various combinations.

To be clear, I am talking specifically about time signatures in which the denominator is 8 (or in some cases 16), but not 4. That is to say, the beat is not equal to the 8th note, but rather a group of 8th notes. In the west that phenomenon is typically expressed with time signatures of 6/8 or 12/8.

Since Bulgarian time signatures are linked to dances, it is crucial that the music grooves. If this is the first time you’re attempting to feel or play Balkan odd meters, beware treating them as “missing a beat,” which is the most common Balkan groove killer I’ve encountered in the west. 7/8 is not 4/4 minus one eighth note! Imagine thinking of 3/4 as 4/4 minus one quarter note. I don’t think anyone will be waltzing to that. Moreover, if you are used to 4/4 (and the majority of westerners are), chances are your body will automatically revert back to it while playing, especially if you only allow yourself to count in terms of it.

Balkan time signatures can also be understood as subdivisions of 2’s and 3’s. Native Bulgarian musicians don’t exactly think in these terms, but early Balkan musicologists found this to be an effective method of communicating the “uneven-beat” nature of Bulgarian folk music in western notation. And when Bela Bartok visited the region in the early twentieth-century, this way of notating the music became standard. In reality folk musicians in Bulgaria don’t think in terms of 2’s and 3’s, but in terms of short and long beats. The shortness and longness of beats may actually vary from village to village, so the subdivisions of 2’s and 3’s are approximations at best. But we encounter the same situation with swing music in which two 8th notes may be played closer to a dotted 8th and a 16th, or an 8th note triplet, but the actual interpretation is up to the musicians.

So, the big questions: How short exactly is the short beat, and how long is the long beat? And how can one develop a sense of those lengths without resorting to counting?

Here are some practical suggestions to help musicians who are inexperienced with Balkan rhythms:

  • Start by counting. For a measure of 7/8, count: “One-two one-two one-two-three.” Or, if you are familiar with Indian solkattu: “ta-ka di-mi ta-ki-ta.” Turkish rhythmic syllables would be as follow: “Dum Dum Tek.” Or make up your own phrase in your own language, like “Ripe Red Strawberry.”
  • If you are a visual learner, picture each beat as either a square or rectangle. The square would equal two 8th notes, while the triangle would equal three 8th notes.
  • And last but not least, clap along with the music: Clap your hands together for the short beats; clap your hands on a table or your lap for the long ones.
  • Learn the melody, regardless of your instrument. A couple of years ago I taught my three American stepdaughters a childrens’ song from Bulgaria. They learned it quickly and without hesitation, despite that it was in 7/8. Most musicians and educators, by contrast, tend to want to analyze the meter beforehand. But if you can sing the melody already, learning the rhythm happens much more easily.

Once you’ve internalized the pulse enough to follow along with the music, start thinking of 7/8 as a measure of three beats in which you have one long followed by two short beats. In Bulgaria this is referred to as the “male” version of the dance ruchenitsa, and is usually performed at a relatively slow tempo (also known as Macedonian ruchenitsa after the region it is most often heard in). The “female” version is performed at faster tempos and has the reverse structure, with the two short beats preceding the long beat. In some cases it’s so fast that it sounds almost like a two beat cycle, where the first beat is four eighth notes long and the second is three eighth notes long. Obviously that changes the ratio between the beats, but that’s a tangent we won’t go into today. Curiously, you’ll never find a Bulgarian folksong version of 7/8 in which the long beat occurs between the two short beats (although some contemporary arrangements have started doing this). It may come as no surprise that there is no traditional dance associated with such a pattern. Similarly, a groove in 11/8 would be perceived as having 5 beats, where the middle beat is longer, thus creating a perfect symmetry.

A true sign that you’ve internalized the grooves is when you are able to improvise over them without outlining the meter in every measure. Similarly to playing over the bar line in jazz, in Balkan music one plays over the pulse. At the same time the rhythm section players often create their own subdivisions that go against the grain of the main pulse. That may be arranged in advance and agreed upon, or it may happen spontaneously. One typical re-subdivision is playing straight dotted quarter notes against the short-short-short-long beat in a 9/8 measure. Over time a seasoned rhythm section will learn each others’ habits and tendencies and will predict each others’ moves, while the soloists will know what to expect, how far to stretch and when to “come home.”

A good way to practice these grooves until they become second nature is to find some good recordings, make sure you know already what the time signature and subdivision is, and just clap along. Remember, the name of the dance will tip you on what the time signature is. Then move on to songs you don’t know and try to find the beats and clap along.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/system/clave/index.html b/theory/rhythm/system/clave/index.html index bb2fbeeaad..f26bd8bb4d 100644 --- a/theory/rhythm/system/clave/index.html +++ b/theory/rhythm/system/clave/index.html @@ -6,16 +6,16 @@ Afro-Cuban clave | Chromatone.center - + - - - - + + + + - - + + @@ -60,7 +60,7 @@

Claves... are not usually played in Afro-Cuban 6/8 feels... [and] the clave [pattern] is not traditionally played in 6/8 though it may be helpful to do so to relate the clave to the 6/8 bell pattern.
—Thress (1994)

The main exceptions are: the form of rumba known as Columbia, and some performances of abakuá by rumba groups, where the 6/8 rumba clave pattern is played on claves.

Triple-pulse son clave

Triple-pulse son clave is the least common form of clave used in Cuban music. It is, however, found across an enormously vast area of sub-Saharan Africa. The first published example (1920) of this pattern identified it as a hand-clap part accompanying a song from Mozambique.

Cross-rhythm and the correct metric structure

Because 6/8 clave-based music is generated from cross-rhythm, it is possible to count or feel the 6/8 clave in several different ways. The ethnomusicologist Arthur Morris Jones correctly identified the importance of this key pattern, but he mistook its accents as indicators of meter rather than the counter-metric phenomena they are. Similarly, while Anthony King identified the triple-pulse "son clave" as the ‘standard pattern’ in its simplest and most basic form, he did not correctly identify its metric structure. King represented the pattern in a polymetric 7+5/8 time signature.

It wasn't until African musicologists like C.K. Ladzekpo entered into the discussion in the 1970s and 80s that the metric structure of sub-Saharan rhythm was unambiguously defined. The writings of Victor Kofi Agawu and David Locke must also be mentioned in this regard.

Observing the dancer's steps almost always reveals the main beats of the music. Because the main beats are usually emphasized in the steps and not the music, it is often difficult for an "outsider" to feel the proper metric structure without seeing the dance component. Kubik states: "To understand the emotional structure of any music in Africa, one has to look at the dancers as well and see how they relate to the instrumental background" (2010: 78).

For cultural insiders, identifying the... ‘dance feet’ occurs instinctively and spontaneously. Those not familiar with the choreographic supplement, however, sometimes have trouble locating the main beats and expressing them in movement. Hearing African music on recordings alone without prior grounding in its dance-based rhythms may not convey the choreographic supplement. Not surprisingly, many misinterpretations of African rhythm and meter stem from a failure to observe the dance.
— Agawu, (2003)[59]

Controversy over use and origins

Perhaps the greatest testament to the musical vitality of the clave is the spirited debate it engenders, both in terms of musical usage and historical origins. This section presents examples from non-Cuban music, which some musicians (not all) hold to be representative of the clave. The most common claims, those of Brazilian and subsets of American popular music, are described below.

In Africa

A widely used bell pattern

Clave is a Spanish word and its musical usage as a pattern played on claves was developed in the western part of Cuba, particularly the cities of Matanzas and Havana. Some writings have claimed that the clave patterns originated in Cuba. One frequently repeated theory is that the triple-pulse African bell patterns morphed into duple-pulse forms as a result of the influence of European musical sensibilities. "The duple meter feel [of 4/4 rumba clave] may have been the result of the influence of marching bands and other Spanish styles..."— Washburne (1995).

However, the duple-pulse forms have existed in sub-Saharan Africa for centuries. The patterns the Cubans call clave are two of the most common bell parts used in Sub-Saharan African music traditions. Natalie Curtis, A.M. Jones, Anthony King and John Collins document the triple-pulse forms of what we call “son clave” and “rumba clave” in West, Central, and East Africa. Francis Kofi and C.K. Ladzekpo document several Ghanaian rhythms that use the triple or duple-pulse forms of "son clave". Percussion scholar royal hartigan identifies the duple-pulse form of "rumba clave" as a timeline pattern used by the Yoruba and Ibo of Nigeria, West Africa. He states that this pattern is also found in the high-pitched boat-shaped iron bell known as atoke played in the Akpese music of the Eve people of Ghana. There are many recordings of traditional African music where one can hear the five-stroke "clave" used as a bell pattern.

Cuban music has been popular in sub-Saharan Africa since the mid-twentieth century. To the Africans, clave-based Cuban popular music sounded both familiar and exotic. Congolese bands started doing Cuban covers and singing the lyrics phonetically. Soon, they were creating their original Cuban-like compositions, with lyrics sung in French or Lingala, a lingua franca of the western Congo region. The Congolese called this new music rumba, although it was based on the son. The Africans adapted guajeos to electric guitars and gave them their regional flavor. The guitar-based music gradually spread out from the Congo, increasingly taking on local sensibilities. This process eventually resulted in the establishment of several different distinct regional genres, such as soukous.

Highlife

Highlife was the most popular genre in Ghana and Nigeria during the 1960s. This arpeggiated highlife guitar part is essentially a guajeo. The rhythmic pattern is known in Cuba as baqueteo. The pattern of attack-points is nearly identical to the 3–2 clave motif guajeo shown earlier in this article. The bell pattern known in Cuba as clave, is indigenous to Ghana and Nigeria, and is used in highlife.

Afrobeat

Afrobeat guitar part is a variant of the 2–3 onbeat/offbeat motif. Even the melodic contour is guajeo-based. 2–3 claves are shown above the guitar for reference only. The clave pattern is not ordinarily played in afrobeat.

Guide-patterns in Cuban versus non-Cuban music

There is some debate as to whether or not clave, as it appears in Cuban music, functions in the same way as its sister rhythms in other forms of music (Brazilian, North American and African). Certain forms of Cuban music demand a strict relationship between the clave and other musical parts, even across genres. This same structural relationship between the guide-pattern and the rest of the ensemble is easily observed in many sub-Saharan rhythms, as well as rhythms from Haiti and Brazil. However, the 3–2/2–3 concept and terminology are limited to certain types of Cuban-based popular music and are not used in the music of Africa, Haiti, Brazil or in Afro-Cuban folkloric music. In American pop music, the clave pattern tends to be used as an element of rhythmic color, rather than a guide-pattern and as such is superimposed over many types of rhythms.

In Brazilian music

Both Cuba and Brazil imported Yoruba, Fon and Congolese slaves. Therefore, it is not surprising that we find the bell pattern the Cubans call clave in the Afro-Brazilian music of Macumba and Maculelê (dance). "Son clave" and "rumba clave" are also used as a tamborim part in some batucada arrangements. The structure of Afro-Brazilian bell patterns can be understood in terms of the clave concept (see below).

Bell pattern 1 is used in maculelê (dance) and some Candomblé and Macumba rhythms. Pattern 1 is known in Cuba as son clave. Bell 2 is used in afoxê and can be thought of as pattern 1 embellished with four additional strokes. Bell 3 is used in batucada. Pattern 4 is the maracatu bell and can be thought of as pattern 1 embellished with four additional strokes.

Bossa nova pattern

The so-called "bossa nova clave" (or "Brazilian clave") has a similar rhythm to that of the son clave, but the second note on the two-side is delayed by one pulse (subdivision). The rhythm is typically played as a snare rim pattern in bossa nova music. The pattern is shown below in 2 4, as it is written in Brazil. In North American charts it is more likely to be written in cut-time.

According to drummer Bobby Sanabria the Brazilian composer Antonio Carlos Jobim, who developed the pattern, considers it to be merely a rhythmic motif and not a clave (guide pattern). Jobim later regretted that Latino musicians misunderstood the role of this bossa nova pattern.

Other Brazilian examples

The examples below are transcriptions of several patterns resembling the Cuban clave that is found in various styles of Brazilian music, on the ago-gô and surdo instruments.

Legend: Time signature: 2/4; L=low bell, H=high bell, O = open surdo hit, X = muffled surdo hit, and | divides the measure:

  • Style: Samba 3:2; LL.L.H.H|L.L.L.H. (More common 3:2: .L.L.H.H|L.L.L.H.)
  • Style: Maracatu 3:2; LH.HL.H.|L.H.LH.H
  • Style: Samba 3:2; L|.L.L..L.|..L..L.L|
  • Instrument: 3rd Surdo 2:3; X...O.O.|X...OO.O
  • Variation of samba style: Partido Alto 2:3; L.H..L.L|.H..L.L.
  • Style: Maracatu 2:3; L.H.L.H.|LH.HL.H.
  • Style: Samba-Reggae or Bossanova 3:2; O..O..O.|..O..O..
  • Style: Ijexa 3:2; LL.L.LL.|L.L.L.L. (HH.L.LL.|H.H.L.L.)

For 3rd example above, the clave pattern is based on a common accompaniment pattern played by the guitarist. B=bass note played by guitarist's thumb, C=chord played by fingers.

&|1 & 2 & 3 & 4 &|1 & 2 & 3 & 4 &||
 C|B C . C B . C .|B . C . B C . C||
 

The singer enters on the wrong side of the clave and the ago-gô player adjusts accordingly. This recording cuts off the first bar so that it sounds like the bell comes in on the third beat of the second bar. This is suggestive of a pre-determined rhythmic relationship between the vocal part and the percussion and supports the idea of a clave-like structure in Brazilian music.

In Jamaican and French Caribbean music

The son clave rhythm is present in Jamaican mento music, and can be heard on 1950s-era recordings such as "Don’t Fence Her In", "Green Guava" or "Limbo" by Lord Tickler, "Mango Time" by Count Lasher, "Linstead Market/Day O" by The Wigglers, "Bargie" by The Tower Islanders, "Nebuchanezer" by Laurel Aitken and others. The Jamaican population is part of the same origin (Congo) as many Cubans, which perhaps explains the shared rhythm. It is also heard frequently in Martinique's biguine and Dominica's Jing ping. Just as likely however is the possibility that claves and the clave rhythm spread to Jamaica, Trinidad and the other small islands of the Caribbean through the popularity of Cuban son recordings from the 1920s onward.

Experimental clave music

Art music

The clave rhythm and clave concept have been used in some modern art music ("classical") compositions. "Rumba Clave" by Cuban percussion virtuoso Roberto Vizcaiño has been performed in recital halls around the world. Another clave-based composition that has "gone global" is the snare drum suite "Cross" by Eugene D. Novotney.

Odd meter "clave"

Technically speaking, the term odd meter clave is an oxymoron. Clave consists of two even halves, in a divisive structure of four main beats. However, in recent years jazz musicians from Cuba and outside of Cuba have been experimenting with creating new "claves" and related patterns in various odd meters. Clave which is traditionally used in a divisive rhythm structure, has inspired many new creative inventions in an additive rhythm context.

. . . I developed the concept of adjusting claves to other time signatures, with varying degrees of success. What became obvious to me quite quickly was that the closer I stuck to the general rules of clave the more natural the pattern sounded. Clave has a natural flow with a certain tension and resolves points. I found if I kept these points in the new meters they could still flow seamlessly, allowing me to play longer phrases. It also gave me many reference points and reduced my reliance on "one".
— Guilfoyle (2006: 10)

Here are some examples of recordings that use odd meter clave concepts.

  • Dafnis Prieto About the Monks (Zoho).
  • Sebastian Schunke Symbiosis (Pimienta Records).
  • Paoli Mejias Mi Tambor (JMCD).
  • John Benitez Descarga in New York (Khaeon).
  • Deep Rumba A Calm in the Fire of Dances (American Clave).
  • Nachito Herrera Bembe en mi casa (FS Music).
  • Bobby Sanabria Quarteto Aché (Zoho).
  • Julio Barretto Iyabo (3d).
  • Michel Camilo Triangulo (Telarc).
  • Samuel Torres Skin Tones (www.samueltorres.com).
  • Horacio "el Negro" Hernandez Italuba (Universal Latino).
  • Tony Lujan Tribute (Bella Records).
  • Edward Simon La bikina (Mythology).
  • Jorge Sylvester In the Ear of the Beholder (Jazz Magnet).
  • Uli Geissendoerfer "The Extension" (CMO)
  • Manuel Valera In Motion (Criss Cross Jazz).
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/system/crossbeat/gnawa/index.html b/theory/rhythm/system/crossbeat/gnawa/index.html index 228add9e7b..c861e5a5d1 100644 --- a/theory/rhythm/system/crossbeat/gnawa/index.html +++ b/theory/rhythm/system/crossbeat/gnawa/index.html @@ -6,13 +6,13 @@ Gnawa music | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Gnawa music
Moroccan religious songs and rhythms

Gnawa music (Ar. ڭْناوة or كْناوة) is a body of Moroccan religious songs and rhythms. Emerging in the 16th and 17th centuries, Gnawa music developed through the cultural fusion of West Africans brought to Morocco, notably the Hausa, Fulani, and Bambara peoples, whose presence and heritage are reflected in the songs and rituals. Its well-preserved heritage combines ritual poetry with traditional music and dancing. The music is performed at lila, communal nights of celebration dedicated to prayer and healing guided by the Gnawa maalem, or master musician, and their group of musicians and dancers. Though many of the influences that formed this music can be traced to West African kingdoms, its traditional practice is concentrated in Morocco. Gnawa music has spread to many other countries in Africa and Europe, such as France.

The origins of Gnawa music are intricately associated with that of the famed royal "Black Guard" of Morocco.

Etymology

The word "Gnawa", plural of "Gnawi", is taken to be derived from the Hausa demonym "Kanawa" for the residents of Kano, the capital of the Hausa-Fulani Emirate, which was under Morocco influence (Opinion of Essaouira Gnawa Maalems, Maalem Sadiq, Abdallah Guinia, and many others). The Moroccan language often replaces "K" with "G", which is how the Kanawa, or Hausa people, were called Gnawa in Morocco.

Music

In a Gnawa song, one phrase or a few lines are repeated over and over, so the song may last a long time. In fact, a song may last several hours non-stop. However, what seems to the uninitiated to be one long song is actually a series of chants describing the various spirits (in Arabic mlouk (sing. melk)), so what seems to be a 20-minute piece may be a whole series of pieces – a suite for Sidi Moussa, Sidi Hamou, Sidi Mimoun or others. Because they are suited for adepts in a state of trance, they go on and on, and have the effect of provoking a trance from different angles.

The melodic language of the stringed instrument is closely related to their vocal music and to their speech patterns, as is the case in much African music. It is a language that emphasizes on the tonic and fifth, with quavering pitch-play, especially pitch-flattening, around the third, the fifth, and sometimes the seventh.

Gnawa music is characterized by instrumentation. The large, heavy iron castanets known as qraqab or krakeb and a three-string lute known as a hajhuj, guembri or gimbri, or sentir, are central to Gnawa music. The hajhuj has strong historical and musical links to West African lutes like the Hausa halam, a direct ancestor of the banjo.

The rhythms of the Gnawa, like their instruments, are distinctive. Gnawa is particularly characterized by interplay between triple and duple meters. The "big bass drums" mentioned by Schuyler are not typically featured in a more traditional setting.

Gnawa have venerable stringed-instrument traditions involving both bowed lutes like the gogo and plucked lutes like the hajhuj. The Gnawa also use large drums called tbel in their ritual music.

Gnawa hajhuj players use a technique which 19th century American minstrel banjo instruction manuals identify as "brushless drop-thumb frailing". The "brushless" part means the fingers do not brush several strings at once to make chords. Instead, the thumb drops repeatedly in a rhythmic pattern against the freely vibrating bass string, producing a throbbing drone, while the first two or three fingers of the same (right) hand pick out percussive patterns in a drum-like, almost telegraphic, manner.

Rituals

Gnawas perform a complex liturgy, called lila or derdeba. The ceremony recreates the first sacrifice and the genesis of the universe by the evocation of the seven main manifestations of the divine demiurgic activity. It calls the seven saints and mluk, represented by seven colors, as a prismatic decomposition of the original light/energy. The derdeba is jointly animated by a maâlem (master musician) at the head of his troop and by a moqadma or shuwafa (clairvoyant) who is in charge of the accessories and clothing necessary to the ritual.

During the ceremony, the clairvoyant determines the accessories and clothing as it becomes ritually necessary. Meanwhile, the maâlem, using the guembri and by burning incense, calls the saints and the supernatural entities to present themselves in order to take possession of the followers, who devote themselves to ecstatic dancing.

Inside the brotherhood, each group (zriba; Arabic: زريبة) gets together with an initiatory moqadma (Arabic: مقدمة), the priestess that leads the ecstatic dance called the jedba (Arabic: جذبة), and with the maâlem, who is accompanied by several players of krakeb.

Preceded by an animal sacrifice that assures the presence of the spirits, the all-night ritual begins with an opening that consecrates the space, the aâda ("habit" or traditional norm; Arabic: عادة), during which the musicians perform a swirling acrobatic dance while playing the krakeb.

The mluk are abstract entities that gather a number of similar jinn (genie spirits). The participants enter a trance state (jedba) in which they may perform spectacular dances. By means of these dances, participants negotiate their relationships with the mluk either placating them if they have been offended or strengthening an existing relationship. The mluk are evoked by seven musical patterns, seven melodic and rhythmic cells, who set up the seven suites that form the repertoire of dance and music of the Gnawa ritual. During these seven suites, seven different types of incense are burned and the dancers are covered by veils of seven different colours.

Each of the seven families of mluk is populated by many characters identifiable by the music and by the footsteps of the dance. Each mluk is accompanied by its specific colour, incense, rhythm and dance. These entities, treated like "presences" (called hadra, Arabic: حضرة) that the consciousness meets in ecstatic space and time, are related to mental complexes, human characters, and behaviors. The aim of the ritual is to reintegrate and to balance the main powers of the human body, made by the same energy that supports the perceptible phenomena and divine creative activity.

Later, the guembri opens the treq ("path," Arabic: طريق), the strictly encoded sequence of the ritual repertoire of music, dances, colors and incenses, that guides in the ecstatic trip across the realms of the seven mluk, until the renaissance in the common world, at the first lights of dawn.

Almost all Moroccan brotherhoods, such as the Issawa or the Hamadsha, relate their spiritual authority to a saint. The ceremonies begin by reciting that saint's written works or spiritual prescriptions (hizb, Arabic: حزب) in Arabic. In this way, they assert their role as spiritual descendants of the founder, giving themselves the authority to perform the ritual. Gnawa, whose ancestors were neither literate nor native speakers of Arabic, begin the lila by recalling through song and dance their origins, the experiences of their slave ancestors, and ultimately redemption.

Gnawa music today

During the last few decades, Gnawa music has been modernizing and thus become more profane. However, there are still many privately organized lilas that conserve the music's sacred, spiritual status.

Within the framework of the Gnaoua World Music Festival of Essaouira ("Gnaoua and Musics of the World"), the Gnawa play in a profane context with slight religious or therapeutic dimensions. Instead, in this musical expression of their cultural art, they share stages with other musicians from around the world. As a result, Gnawa music has taken a new direction by fusing its core spiritual music with genres like jazz, blues, reggae, and hip-hop. For four days every June, the festival welcomes musicians that come to participate, exchange and mix their own music with Gnawa music, creating one of the largest public festivals in Morocco. Since its debut in 1998, the free concerts have drawn an audience that has grown from 20,000 to over 200,000 in 2006, including 10,000 visitors from around the world.

Past participants have included Randy Weston, Adam Rudolph, The Wailers, Pharoah Sanders, Keziah Jones, Byron Wallen, Omar Sosa, Doudou N'Diaye Rose, and the Italian trumpet player Paolo Fresu.

There are also projects such as "The Sudani Project", a jazz/gnawa dialogue between saxophonist/composer Patrick Brennan, Gnawi maâlem Najib Sudani, and drummer/percussionist/vocalist Nirankar Khalsa. Brennan has pointed out that the metal qraqeb and gut bass strings of the guembri parallel the cymbal and bass in jazz sound.

In the 1990s, young musicians from various backgrounds and nationalities started to form modern Gnawa bands. Gnawa Impulse from Germany, Mehdi Qamoum aka Medicament (The cure) from Morocco, Bab L' Bluz with members from France and Morocco, and Gnawa Diffusion from Algeria are some examples. These groups offer a rich mix of musical and cultural backgrounds, fusing their individual influences into a collective sound. They have woven elements of rap, reggae, jazz, blues, rock and rai into a vibrant musical patchwork.

These projects incorporating Gnawa and Western musicians are essentially Gnawa fusions.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/system/crossbeat/index.html b/theory/rhythm/system/crossbeat/index.html index b4c4bfec5b..e3ba6e9175 100644 --- a/theory/rhythm/system/crossbeat/index.html +++ b/theory/rhythm/system/crossbeat/index.html @@ -6,13 +6,13 @@ African cross-beats | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
African cross-beats
Combinations of two and more rhuthms as a basis of music

Cross-beat

In music, a cross-beat or cross-rhythm is a specific form of polyrhythm. The term cross rhythm was introduced in 1934 by the musicologist Arthur Morris Jones (1889–1980). It refers to when the rhythmic conflict found in polyrhythms is the basis of an entire musical piece.

Etymology

The term "cross rhythm" was introduced in 1934 by the musicologist Arthur Morris Jones (1889–1980), who, with Klaus Wachsmann, took-up extended residence in Zambia and Uganda, respectively, as missionaries, educators, musicologists, and museologists.

Cross-rhythm. A rhythm in which the regular pattern of accents of the prevailing meter is contradicted by a conflicting pattern and not merely a momentary displacement that leaves the prevailing meter fundamentally unchallenged.
— The New Harvard Dictionary of Music (1986: 216)

African music

One main system

African cross-rhythm is most prevalent within the greater Niger-Congo linguistic group, which dominates the continent south of the Sahara Desert. (Kubik, p. 58) Cross-rhythm was first identified as the basis of sub-Saharan rhythm by A.M. Jones. Later, the concept was more fully explained in the lectures of Ewe master drummer and scholar C.K. Ladzekpo, and in the writings of David Locke. Jones observes that the shared rhythmic principles of Sub-Saharan African music traditions constitute one main system. Similarly, Ladzekpo affirms the profound homogeneity of sub-Saharan African rhythmic principles. In Sub-Saharan African music traditions (and many of the diaspora musics) cross-rhythm is the generating principle; the meter is in a permanent state of contradiction.

An embodiment of the people

At the center of a core of rhythmic traditions and composition is the technique of cross-rhythm. The technique of cross-rhythm is a simultaneous use of contrasting rhythmic patterns within the same scheme of accents or meter … By the very nature of the desired resultant rhythm, the main beat scheme cannot be separated from the secondary beat scheme. It is the interplay of the two elements that produces the cross-rhythmic texture.
— Ladzekpo, a: "Myth"

From the philosophical perspective of the African musician, cross-beats can symbolize the challenging moments or emotional stress we all encounter. Playing cross-beats while fully grounded in the main beats, prepares one for maintaining a life-purpose while dealing with life’s challenges. Many sub-Saharan languages do not have a word for rhythm, or even music. From the African viewpoint, the rhythms represent the very fabric of life itself; they are an embodiment of the people, symbolizing interdependence in human relationships.
— Clave Matrix, p. 21

Cross-rhythmic ratios

3:2

The cross-rhythmic ratio three-over-two (3:2) or vertical hemiola, is the most significant rhythmic cell found in sub-Saharan rhythms. The following measure is evenly divided by three beats and two beats. The two cycles do not share equal status though. The two bottom notes are the primary beats, the ground, the main temporal referent. The three notes above are the secondary beats. Typically, the dancer's feet mark the primary beats, while the secondary beats are accented musically.

We have to grasp the fact that if from childhood you are brought up to regard beating 3 against 2 as being just as normal as beating in synchrony, then you develop a two dimensional attitude to rhythm... This bi-podal conception is... part of the African's nature
— Jones (1959: 102)

Novotney observes: "The 3:2 relationship (and [its] permutations) is the foundation of most typical polyrhythmic textures found in West African musics." 3:2 is the generative or theoretic form of sub-Saharan rhythmic principles. Agawu succinctly states: "[The] resultant (3:2) rhythm holds the key to understanding … there is no independence here, because 2 and 3 belong to a single Gestalt."

African Xylophones such as the balafon and gyil play cross-rhythms, which are often the basis of ostinato melodies. In the following example, a Ghanaian gyil sounds the three-against-two cross-rhythm. The left hand (lower notes) sounds the two main beats, while the right hand (upper notes) sounds the three cross-beats. (Clave Matrix p. 22) Ghanaian gyil Ghanaian gyil sounds 3:2 cross-rhythm. About this soundPlay (help·info)

6:4

The primary cycle of four beats

A great deal of African music is built upon a cycle of four main beats. This basic musical period has a bipartite structure; it is made up of two cells, consisting of two beats each. Ladzekpo states: "The first most useful measure scheme consists of four main beats with each main beat measuring off three equal pulsations [12/8] as its distinctive feature … The next most useful measure scheme consists of four main beats with each main beat flavored by measuring off four equal pulsations [4/4]." (b: "Main Beat Schemes") The four-beat cycle is a shorter period than what is normally heard in European music. This accounts for the stereotype of African music as "repetitive." (Kubik, p. 41) A cycle of only two main beats, as in the case of 3:2, does not constitute a complete primary cycle. (Kubik, Vol. 2, p. 63) Within the primary cycle there are two cells of 3:2, or, a single cycle of six-against-four (6:4). The six cross-beats are represented below as quarter-notes for visual emphasis. Six-against-four cross-rhythm (note that this is identical to the three-over-two cross-rhythm above, played twice).

Interacting the four recurrent triple structure main beat schemes (four beat scheme) simultaneously with the six recurrent two pulse beat schemes (six beat scheme) produces the first most useful cross rhythmic texture in the development of Anlo-Ewe dance-drumming.
— Ladzekpo (c: "Six Against Four")

The following notated example is from the kushaura part of the traditional mbira piece "Nhema Mussasa." The left hand plays the ostinato "bass line," built upon the four main beats, while the right hand plays the upper melody, consisting of six cross-beats. The composite melody is an embellishment of the 6:4 cross-rhythm. (Clave Matrix p. 35)

3:4

If every other cross-beat is sounded, the three-against-four (3:4) cross-rhythm is generated. The "slow" cycle of three beats is more metrically destabilizing and dynamic than the six beats. The Afro-Cuban rhythm abakuá (Havana-style) is based on the 3:4 cross-rhythm. The three-beat cycle is represented as half-notes in the following example for visual emphasis.

In contrast to the four main beat scheme, the rhythmic motion of the three beat scheme is slower. A simultaneous interaction of these two beat schemes with contrasting rhythmic motions produces the next most useful cross rhythmic texture in the development of sub-Saharan dance-drumming. The composite texture of the three-against-four cross rhythm produces a motif covering a length of the musical period. The motif begins with the component beat schemes coinciding and continues with the beat schemes in alternate motions thus showing a progression from a "static" beginning to a "dynamic" continuation
— Ladzekpo ("Three Against Four")

The following pattern is an embellishment of the three-beat cycle, commonly heard in African music. It consists of three sets of three strokes each.

1.5:4 (or 3:8)

Even more metrically destabilizing and dynamic than 3:4, is the one and a half beat-against-four (1.5:4) cross-rhythm. Another way to think of it is as three "very slow" cross-beats spanning two main beat cycles (of four beats each), or three beats over two periods (measures), a type of macro "hemiola." In terms of the beat scheme comprising the complete 24-pulse cross-rhythm, the ratio is 3:8. The three cross-beats are shown as whole notes below for visual emphasis.

The 1.5:4 cross-rhythm is the basis for the open tone pattern of the enú (large batá drum head) for the Afro-Cuban rhythm changó (Shango). It is the same pattern as the previous figure, but the strokes occur at half the rate.

The following bell pattern is used in the Ewe rhythm kadodo. The pattern consists of three modules—two pairs of strokes, and a single stroke. The three single stroke are muted. The pattern is another embellishment of the 1.5:4 cross-rhythm.

4:3

When duple pulses (4/1) are grouped in sets of three, the four-against-three (4:3) cross-rhythm is generated. The four cross-beats cycle every three main beats. In terms of cross-rhythm only, this is the same as having duple cross-beats in a triple beat scheme, such as 3/4 or 6/4. The pulses on the top line are grouped in threes for visual emphasis.

However, this 4:3 is within a duple beat scheme, with duple (quadruple) subdivisions of the beats. Since the musical period is a cycle of four main beats, the 4:3 cross-rhythm significantly contradicts the period by cycling every three main beats. The complete cross-beat cycle is shown below in relation to the key pattern known in Afro-Cuban music as clave. (Rumba, p. xxxi) The subdivisions are grouped (beamed) in sets of four to reflect the proper metric structure. The complete cross-beat cycle is three claves in length. Within the context of the complete cross-rhythm, there is a macro 4:3—four 4:3 modules-against-three claves. Continuous duple-pulse cross-beats are often sounded by the quinto, the lead drum in the Cuban genres rumba and conga. (Rumba, pps. 69–86)

While 3:2 pervades ternary music, quaternary music seldom uses tuplets; instead, a set of dotted notes may temporarily make 2:3 and 4:3 temporal structures.
— Locke ("Metric Matric")

Duple-pulse correlative of 3:2

In sub-Saharan rhythm the four main beats are typically divided into three or four pulses, creating a 12-pulse (12/8), or 16-pulse (4/1) cycle. (Ladzekpo, b: "Main Beat Scheme") Every triple-pulse pattern has its duple-pulse correlative; the two pulse structures are two sides of the same coin. Cross-beats are generated by grouping pulses contrary to their given structure, for example: groups of two or four in 12 8 or groups of three or six in 4/4. (Rumba, p. 180) The duple-pulse correlative of the three cross-beats of the hemiola, is a figure known in Afro-Cuban music as tresillo. Tresillo is a Spanish word meaning ‘triplet’—three equal notes within the same time span normally occupied by two notes. As used in Cuban popular music, tresillo refers to the most basic duple-pulse rhythmic cell. The pulse names of tresillo and the three cross-beats of the hemiola are identical: one, one-ah, two-and.

The composite pattern of tresillo and the main beats is commonly known as the habanera, congo, tango-congo, or tango. The habanera rhythm is the duple-pulse correlative of the vertical hemiola (above). The three cross-beats of the hemiola are generated by grouping triple pulses in twos: 6 pulses ÷ 2 = 3 cross-beats. Tresillo is generated by grouping duple pulses in threes: 8 pulses ÷ 3 = 2 cross-beats (consisting of three pulses each), with a remainder of a partial cross-beat (spanning two pulses). In other words, 8 ÷ 3 = 2, r2. Tresillo is a cross-rhythmic fragment. It contains the first three cross-beats of 4:3. (Rumba, p. xxx)

Cross-rhythm, not polymeter

Early ethnomusicological analysis often perceived African music as polymetric. Pioneers such as A.M. Jones and Anthony King identified the prevailing rhythmic emphasis as metrical accents (main beats), instead of the contrametrical accents (cross-beats) they in fact are. Some of their music examples are polymetric, with multiple and conflicting main beat cycles, each requiring its own separate time signature. King shows two Yoruba dundun pressure drum ("talking drum") phrases in relation to the five-stroke standard pattern, or "clave," played on the kagano dundun (top line). The standard pattern is written in a polymetric 7/8 + 5/8 time signature. One dundun phrase is based on a grouping of three pulses written in 3/8, and the other, a grouping of four pulses written in 4/1. Complicating the transcription further, one polymetric measure is offset from the other two.

African music is often characterized as polymetric, because, in contrast to most Western music, African music cannot be notated without assigning different meters to the different instruments of an ensemble
— Chernoff (1979: 45).

More recent writings represent African music as cross-rhythmic, within a single meter.

Of the many reasons why the notion of polymeter must be rejected, I will mention three. First, if polymeter were a genuine feature of African music, we would expect to find some indication of its pertinence in the discourses and pedagogical schemes of African musicians, carriers of the tradition. As far as I know, no such data is available...Second, because practically all the ensemble music in which polymeter is said to be operative in dance music, and given the grounding demanded by choreography, it is more likely that these musics unfold within polyrhythmic matrices in single meters rather than in ... "mixed" meters ... Third, decisions about how to represent drum ensemble music founder on the assumption, made most dramatically by Jones, that accents are metrical rather than phenomenal...phenomenal accents play a more important role in African music than metrical accents. Because meter and grouping are distinct, postulating a single meter in accordance with the dance allows phenomenal or contrametric accents to emerge against a steady background. Polymeter fails to convey the true accentual structure of African music insofar as it creates the essential tension between a firm and stable background and a fluid foreground
— Agawu (2003: 84, 85)

[The] term ‘polymetric’ is only applicable to a very special kind of phenomenon. If we take "metre" in its primary sense of metrum (the metre being the temporal reference unit), ‘polymetric’ would describe the simultaneous unfolding of several parts in a single work at different tempos so as not to be reducible to a single metrum. This happens in some modern music, such as some of Charles Ives' works, Elliott Carter’s Symphony, B.A. Zimmermann’s opera "Die Soldaten," and Pierre Boulez’s "Rituel." Being polymetric in the strict sense, these works can only be performed with several simultaneous conductors — Arom (1991: 205)

When written within a single meter, we see that the dundun in the second line sounds the main beats, and the subdivision immediately preceding it. The first cell (half measure) of the top line is a hemiola. The two dunduns shown in the second and third lines sound an embellishment of the three-over-four (3:4) cross-rhythm—expressed as three pairs of strokes against four pairs of strokes. (Clave Matrix p. 216)

Adaptive instruments

Sub-Saharan instruments are constructed in a variety of ways to generate cross-rhythmic melodies. Some instruments organize the pitches in a uniquely divided alternate array – not in the straight linear bass to treble structure that is so common to many western instruments such as the piano, harp, and marimba.

Lamellophones including mbira, mbila, mbira huru, mbira njari, mbira nyunga, marimba, karimba, kalimba, likembe, and okeme. These instruments are found in several forms indigenous to different regions of Africa and most often have equal tonal ranges for right and left hands. The kalimba is a modern version of these instruments originated by the pioneer ethnomusicologist Hugh Tracey in the early 20th century which has over the years gained world-wide popularity.

Chordophones, such as the West African kora, and Doussn'gouni, part of the harp-lute family of instruments, also have this African separated double tonal array structure. Another instrument, the Marovany from Madagascar is a double sided box zither which also employs this divided tonal structure. The Gravikord is a new American instrument closely related to both the African kora and the kalimba. It was created to exploit this adaptive principle in a modern electro-acoustic instrument.

On these instruments one hand of the musician is not primarily in the bass nor the other primarily in the treble, but both hands can play freely across the entire tonal range of the instrument. Also the fingers of each hand can play separate independent rhythmic patterns and these can easily cross over each other from treble to bass and back, either smoothly or with varying amounts of syncopation. This can all be done within the same tight tonal range, without the left and right hand fingers ever physically encountering each other. These simple rhythms will interact musically to produce complex cross rhythms including repeating on beat/off beat pattern shifts that would be very difficult to create by any other means. This characteristically African structure allows often simple playing techniques to combine with each other and produce cross-rhythmic music of great beauty and complexity.

Jazz

The New Harvard Dictionary of Music calls swing "an intangible rhythmic momentum in jazz," adding that "swing defies analysis; claims to its presence may inspire arguments." The only specific description offered is the statement that "triplet subdivisions contrast with duple subdivisions." The argument could be made that by nature of its simultaneous triple and duple subdivisions, swing is fundamentally a form of polyrhythm. However, the use of true systematic cross-rhythm in jazz did not occur until the second half of the twentieth century.

3:2 (or 6:4)

In 1959 Mongo Santamaria recorded "Afro Blue," the first jazz standard built upon a typical African 3:2 cross-rhythm. The song begins with the bass repeatedly playing 3 cross-beats per each measure of 6/8 (3:2), or 6 cross-beats per 12/8 measure (6:4). The following example shows the original ostinato "Afro Blue" bass line. The slashed noteheads are not bass notes, but are shown to indicate the main beats, where you would normally tap your foot to "keep time."

3:4

On the original "Afro Blue," drummer Willie Bobo played an abakuá bell pattern on a snare drum, using brushes. This cross-rhythmic figure divides the twelve-pulse cycle into three sets of four pulses. Since the main beats (four sets of three pulses) are present whether sounded or not, this bell pattern can be considered an embellishment of the three-against-four (3:4) cross-rhythm. Bobo used this same pattern and instrumentation on the Herbie Hancock jazz-descarga "Succotash."

2:3

In 1963 John Coltrane recorded "Afro Blue" with the great jazz drummer Elvin Jones. Jones inverted the metric hierarchy of Santamaria's composition, performing it instead as duple cross-beats over a 3/4 "jazz waltz" (2:3). This 2:3 in a swung 3/4 is perhaps the most common example of overt cross-rhythm in jazz.

Duple-pulse correlative of 3:2

The Wayne Shorter composition "Footprints" may have been the first overt expression of the 6:4 cross-rhythm (two cycles of 3:2) used by a straight ahead jazz group. On the version recorded on Miles Smiles by Miles Davis, the bass switches to 4/4 at 2:20. The 4/4 figure is known as tresillo in Latin music and is the duple-pulse correlative of the cross-beats in triple-pulse. Throughout the piece, the four main beats are maintained.

In recent decades, jazz has incorporated many different types of complex cross-rhythms, as well as other types of polyrhythms.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/system/euclidean/index.html b/theory/rhythm/system/euclidean/index.html index e799c4a3fc..4c6a07b104 100644 --- a/theory/rhythm/system/euclidean/index.html +++ b/theory/rhythm/system/euclidean/index.html @@ -6,13 +6,13 @@ Euclidean rhythms | Chromatone.center - + - - - - + + + + @@ -68,7 +68,7 @@ } return result }

And what does it sound like?

You can listen to any Euclidean pattern in the Circular metronome app, the algorhithm is used to set a default position for mutes along the beat cycle. Just mute some notes in a cycle and press the reset button. It will create the rhythm for you. There're also ‘rotate buttons’ that will rotate the pattern by taking the final onset and moving it to the start of the pattern (recall that although the algorithms discussed here generate a single pattern, they stand for a ‘rhythm necklace’ that includes all the rotations of that pattern that start with an onset).

A musical analysis

What are some of the properties of these rhythms? Well, most importantly, the locations of the onsets are spaced out as evenly as possible. If the number of time events is an integer multiple of the number of pulses, then they will be completely even (e.g., four groups of four), and the result is entirely trivial. But when number of onsets and pulses are relatively prime, the results will have some interesting characteristics. There are two properties that we can observe from this maximal spacing.

First, if we look at the distance (in pulses) between adjacent onsets, we can see that each rhythm generated by these algorithms will have at most two possible distances between adjacent onsets, and that these distances differ by at most one pulse. In the first example (5 of 12), some of the onsets are three pulses apart and other are two pulses apart. In the 9 of 16 example, the distances are two and one.

Whenever we have these two distances (i.e, when the two numbers are relatively prime) we will usually have a syncopated rhythm, because the two duration lengths in use will be interleaved as much as possible. That is, if we have some groups of two and some groups of three, they will alternate whenever they can, creating large chunks often with one having an odd number of pulses. So when the repetition of some rhythm pattern occurs (for example, the two instances of [x o o x o] in the 5 in 12 example), the first instance will start on the beat, and the second will start off the beat. This gives this set of rhythms a characteristic sound.

So what is the big deal about these rhythms? Are they special? I would say that from a composer’s point of view, they aren’t anything to write home about. A composer/songwriter/improvising musician can easily come up with many rhythms that will resonate with a listener, many of which will not be Euclidean.

It is true that these rhythms do occur frequently in world music (from Toussaint’s point of view, notably Afro-Cuban, and sub-Saharan music). The maximally distributed property of these rhythms might somehow have some appeal to the human perceptual system. And rhythms where there is some repeating odd length fragment are interesting, but there is nothing magical about them. They aren’t necessary, and I don’t think the average composers, discovering these rhythms would think them worth adding to their bag of tricks.

But from the point of view of someone generating a rhythm algorithmically, they are more significant. There are many many ways to arbitrarily generate a rhythm of some length — and most of them sound, well, arbitrary.

The point here is that patterns that form the set of Euclidean rhythms are highly reliable. Many Euclidean rhythms are not at all interesting (e.g., all of them where the onset number is a factor of the total pulse number), but they will almost never sound bad. For someone trying to quickly make something out of nothing on a music creation app, they clearly have some value.

Relationship to MOS (Well-Formed) Rhythms

Euclidean rhythms are a special case of MOS/well-formed rhythms, in which the generator is an integer division of the period, and the relationship between the large and small step sizes is a superparticular number.

Thus, Euclidean rhythms are the direct analogy of maximally even MOS scales in equal temperaments.

Relationship to aksak

Aksak, a Turkic/Balkan rhythmic concept in which a meter (usually uneven) is divided into cells of two and three steps, is represented in any metric length, given a certain density. So not only are the majority of traditional aksak rhythms represented, Euclidean rhythms offer a way to extend the concept even further.

Euclidean rhythms consisting of only groups of two and three will be labeled aksak-compatible.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/system/flamenco/index.html b/theory/rhythm/system/flamenco/index.html index e0c814837a..19e0b5f87b 100644 --- a/theory/rhythm/system/flamenco/index.html +++ b/theory/rhythm/system/flamenco/index.html @@ -6,16 +6,16 @@ Flamenco compás | Chromatone.center - + - - - - + + + + - - + + @@ -44,7 +44,7 @@
Chromatone logo
Flamenco compás
A variety of both contemporary and traditional musical styles typical of southern Spain

Flamenco (Spanish pronunciation: [flaˈmeŋko]), in its strictest sense, is an art form based on the various folkloric music traditions of southern Spain, developed within the gitano subculture of the region of Andalusia, but also having a historical presence in Extremadura and Murcia. In a wider sense, it is a portmanteau term used to refer to a variety of both contemporary and traditional musical styles typical of southern Spain. Flamenco is closely associated to the gitanos of the Romani ethnicity who have contributed significantly to its origination and professionalization. However, its style is uniquely Andalusian and flamenco artists have historically included Spaniards of both gitano and non-gitano heritage.

The oldest record of flamenco music dates to 1774 in the book Las Cartas Marruecas by José Cadalso. The development of flamenco over the past two centuries is well documented: "the theatre movement of sainetes (one-act plays) and tonadillas, popular song books and song sheets, customs, studies of dances, and toques, perfection, newspapers, graphic documents in paintings and engravings. ... in continuous evolution together with rhythm, the poetic stanzas, and the ambiance.”

Flamenco is rooted in various Andalusian popular musical styles, although its origins and influences are the subject of many hypotheses which may or may not have ideological implications and none of which are necessarily mutually exclusive. The most widespread is that flamenco was developed through the cross-cultural interchange among the various groups which coexisted in close proximity in Andalusia's lower classes, combining southern Spain's indigenous, Byzantine, Moorish and Romani musical traditions.

On 16 November 2010, UNESCO declared flamenco one of the Masterpieces of the Oral and Intangible Heritage of Humanity.

List of Important Flamenco Forms for Guitar and their Compás:

Learning the difference between flamenco forms can be challenging. However, once you become familiar with the forms you’ll have a much deeper appreciation for the music and culture of flamenco!

Here’s a list of most Important flamenco guitar Toques (Palos) and their Compás:

Soleares
Alegrías
Bulerías
Soleá

Fandangos
Fandango de Huelva
Granaína/Granadinas
Malagueña

Siguiriyas
Serranas

Tangos
Farruca
Garrotín
Tarantas/Tarantos
Tientos

Ida y Vuelta
Colombianas
Guajiras
Rumba

Other Toques
Sevillanas
Zambra
Zapateado

Learning Flamenco guitar is a riveting adventure, full of historical intrigue and technical challenges. For those of us who haven’t lived extensively in Spain or other places where flamenco music is an integral part of life, it can be difficult to know where to begin.

Perhaps the best introductory approach is to become familiar with the most common flamenco styles, known as _palo_s or toques (from the guitarist perspective).

El Jaleo, a painting of flamenco dancer and guitarists by John Singer Sargent

El Jaleo, painting by John Singer Sargent

What does flamenco Toque or Palo mean?

You can consider a flamenco toque or palo as a musical form (compositional structure).

Each form signifies the following:

  • Rhythmic structure (compás)
  • Tempo
  • Key or Mode
  • Harmonic patterns (such as chord progressions)
  • Melodic phrasing elements that have been established, developed, and transmitted for hundreds of years

So how is this helpful? Simply put, saying the name of a form conveys a lot of meaning that otherwise takes a long time to describe.

For instance, without the name of a form, I would have to say “play this piece Andante in 3/4 time, E phrygian mode. You should place accents on beat 12, 3, 6, 8, and 10. The chord progression is…” blah blah blah.

Instead, one can simply say this is a “Soleá” toque, and know generally what to expect!

While flamenco guitar is usually improvisational based on the norms of a given toque, there are well-known compositions, familiar ‘licks’, and standard phrases that players will incorporate on a regular basis.¹

What’s the difference between Palo and Toque?

First of all, what’s the difference between a palo and toque in flamenco? The short answer is there is no practical difference other than palo is a more general term to describe the classification system whereas toque is guitar-specific.

The word palo in Spanish has several definitions, but in this context a “branch” or “suit of cards” is the best translation as it refers to a categorization or classification system.

The word toque, meaning “to touch”, refers to the same exact system but from the guitarist perspective. Secondly, the term ‘tocoar‘ refers to a particular guitarist, and their particular repertoire and style of playing.

Paco de Lucía holding his flamenco guitar

Paco de Lucía, flamenco guitarist and composer

The Flamenco palos system is extremely robust. In fact, there’s dozens of regional, historical, and of course musical distinctions to consider. Each of these forms has special nuances that inform a guitarist as to which form is which.

What are the three top-level flamenco form categories?

The codified Flamenco palo system has been classified in many different ways.² However, the forms generally fall into three main categories:

  • Cante (singing)
  • Toque (guitar playing)
  • Baile (dance)

Since our focus is on flamenco guitar (toque), the remainder of this article will refer to the Flamenco style as toque.

To get a better sense of what a toque is, it’s worth referring to an excerpt by Juan Martín’s El Arte Flamenco de la Guitarra:

“There is no exact English equivalent for ‘toque’…. but as you become more familiar with Flamenco you will soon find that the different toques are easily distinguished. Each has a characteristic and recurring pattern of beats and accents (i.e. its compás) and it also has its own kinds of key and harmonic structure. As a result, it has not only a particular rhythmic form but also a characteristic sound and range of expression.”

– Juan Martín, El Arte Flamenco de la Guitarra: Volume 1

As Martín so eloquently describes, once you become familiar with the various toques, their rhythmic structures (compás), harmonic and even melodic nuances, you’ll be able to quickly identify which style is being played–ultimately allowing you to understand and enjoy flamenco music in a more intimate and purposeful way!

Here’s the list and basic description of the most common popular flamenco guitar toques and subcategories, classified by origin and compás:

Soleares

Many people consider the Soleares (plural of Soleá) the most important and fundamental toque in flamenco guitar pedagogy.

As Juan Martín states, “the rhythm of Soleares takes you deep into the heart of Flamenco, for it is a toque which embodies many of Flamenco’s most vital elements of rhythm and harmony and from which many other toques are derived. In Andalucía, every student of the flamenco guitar will start with it.”

Like many aspects of Flamenco, historical origins of the Soleares are uncertain and highly controversial. However, the Soleares became most well-known in the regions of Seville and Cadíz.

The basic compás for Soleares (Soleá), the most widely used in all Flamenco music is:

The basic Solea (Soleares) Compás rhythm cycle with accent marks on the 3, 6, 8, 10, and 12 beat.

Basic Soleares Compás, accents on beats 3, 6, 8, 10, and 12

Alegrías

Alegrías (meaning joy) are a lively branch of Soleares (usually 100-180 BPM) that originated in Cadíz. Alegrías are in a major key (typically E major or A major), and are popular to perform with a dancer or as a solo.

The Alegría includes two sections for the dancer: the silencio, a minor key section; and the escobilla, which includes a virtuosic guitar solo and gradual increase in rhythm.

Bulerías

Bulerías is the fastest branch of Soleares, with a lively, intense dissonance that compliments the advanced rhythmic structure of the compás. Bulerías are possibly the most popular, yet also the most virtuosic and demanding for flamenco guitarists. There are many variations of the Bulería compás and accent patterns, which you can learn about here.

Soleá

Synonymous with the name Soleares, Soleá is a slow, solemn, and majestic form that likely comes from the Spanish word soledad, meaning solitude or loneliness. Soleá is known as the “Mother of Flamenco”.

Tragedy, death, and desperation are the common subject matter for the Soleá cante (singers)– passion that you can also hear in the guitar playing. After a long night of dancing and singing lively toques, a guitarist may play a Soleá as a melancholy conclusion. When the shot glasses are dry and there’s a stillness in the air when sun is on the verge of rising, play the Soleá.

Fandangos

Compared to other toques, Fandangos have a shorter rhythmic cycle that may feel more familiar to musicians trained in classical or other Western music styles. Fandangos were influenced from Arab-Moorish music, and Portuguese music.

Flamenco Fandangos have a 3/4 rhythm (previously 6/8, now 3/4 or 3/8), with an accent on the first beat. Some Fandangos are very metric and appropriate for dance, whereas others have more of a free-form atmosphere (known as en toque libre or “very freely”).

Fandango de Huelva

Within the Fandango toque are regional styles known as ‘fandangos locales’. Fandangos de Huelva is one such example.

Unlike the toque libre fandango styles, Fandangos de Huelva follows a strict compás structure that can be danced to.

You can count the 12 beat compás of Fandango de Huelva into beats of 3 as seen here:

Fandangos de Huelva 12 beat compás, silent beats are indicated with quarter rests.

Fandangos de Huelva Compás, silent beats indicated with quarter rests

Granaína/Granadinas

Granadinas or Granaína is a variant of the Granada fandangos. Granaína is relatively slow, with a freeing rhythm (toque libre) and rich embellishments that convey both a dreamlike and flowing quality. The Granaína is unique in that it’s in Phrygian mode based on the B note.

• Malagueña

Malagueñas are another toque libre fandango from the area of Málaga. The Malagueña began as a relatively fast metric form in 6/8 time to accompany dance, then slowed the tempo down and added more embellishments in the 19th century.

Later, guitarists like Ramón Montoya (1879-1949) began playing Malagueñas freely, while still incorporating the distinctive melodic phrases that gave rise to the form’s popularity.

Siguiriyas

Siguiriyas, also spelled seguiriyas, siguerillas, or siguirillas, is a deep, expressive style evoking a tragic feeling similar to the Soleá. Slow, somber, and sentimental, the Siguiriyas compás follows the 12 beat cycle but with a different accent pattern than the Soleares as seen here:

Siguiriya Compás with accent marks and simpler counting system

Siguiriya Compás with accent marks and simpler counting system

Serranas

Serranas originated as a melodious Siguiriya style in the rural Ronda (Málaga) area. The guitarist Silverio Franconetti (1831-1889) developed the Serrana form in his performance interpretations.

Serranas have a characteristic emphasis on melodic “third” intervals, whereas most flamenco melodies are only minor second or major second apart.

Tangos

First, it’s important to note that Flamenco Tangos are unrelated to the Latin-American form by the same name found in Argentina. Tangos are joyous, upbeat, and follow a relatively straightforward four-beat rhythm structure displayed in 4/4/ time.

Tangos came from the regions of Cadíz (most prominent), Jerez, Málaga, and Seville.

Farruca

People believe that the Farruca originated in Galicia, Spain. Men traditionally dance to this form with no singing component. The Farruca is played in A minor, with a compás of two measures of 4/4 time signature with accents on beats 1, 3, 5, and 7. You can see the accent pattern example below:

Farruca Compás  of 8 beat cycle with accented beats on 1, 3, 5, and 7.

Farruca Compás and accented beats

Garrotín

The Garrotín is a festive and cheerful style in major mode, 2/4 time. The Garrotín originated in northern Spain near Asturias, and can include singing or dancing as well as guitar accompaniment. The renowned flamenco singer La Niña de los Peines helped popularize the Garrotín.

Tarantas/Tarantos

Tarantas is a quintessential toque libre, with very lofty, repetitive ligado phrases (hammer ons/pull offs). Tarrantas have a characteristic technique called arrastre, in which the right hand ring finger (a) drags from the high to the low strings in a quick successive manner (similar to an upstroke but a bit slower and disconnected). Tarantas are commonly notated with no measure bar lines to indicate the free manner in which you should play it.

The Tarantos contrasts to the toque libre Tarantas, with a strong rhythmic feel structured in a compás of 4s (2/4 or 4/4 time). The key signature and basic chord structure of Tarantos is the same as Tarantas (two sharps), so their harmonic relationship is clear and distinct.

Tientos

The Tientos is often danced, and is a bit slower than other tangos. However every Tientos does speed up and become a tango by the end following the dance escobilla sections. You can count the Tientos four beat compás with accents on beats 2 and 4.

There is a distinctive syncopation in the rhythm of the Tientos. You can see one of the simplest variations below:

Tientos Compás simple variation with syncopation.

Basic Tientos Compás

Ida y Vuelta

The Spanish expression Ida y Vuelta (“departure and return” or “round trip”) refers to palos that were exported from Spain to the New World, particularly Cuba, where they evolved with African and Native American music influences. Immigrants later imported these forms back to Spain with a new flair.

Colombianas

People credit the famous flamenco singer Pepe Marchena for creating the Colombiana (or Colombina) in 1931. The guitarist Ramon Montoya accompanied Marchena in recordings of the Colombiana the following year. Colombianas are in a major mode and follow a 4-beat compás similar to the Rumba:

Flamenco Colombiana basic compás rhythm with accents.

Basic Colombiana Compás

Guajiras

Guajiras is a toque based on a Cuban rural genre known as Punto Guajira Cubana. The Guajira is in a major mode, and follows a 12 beat compás similar to the Solea, with accents on beats 3, 6, 8, 10, and 12. Guajiras is in a major mode, with a characteristic descending melodic phrase in the bass from F# to F to E. For more info on the Guajiras compás and examples, check out this page.

Rumba

The Rumba, meaning “party”, originated in Havana, Cuba. The flamenco Rumba became popular in the late 20th century by artists such as Paco de Lucia, and Rodrigo Y Gabriella and Gipsy Kings, among others. The Rumba is in a minor mode, and notated in 4/4 time.

However, you can also count the Rumba’s rhythm as 8 beats (3+3+2) in a single measure. The Rumba’s characteristic accents on beats 1, 4, and 7, give the Rumba an exciting drive:

Rumba 4/4 Rhythm with a cycle of 3+3+2 structure, including accents on 1, 4, and 7.

Basic Rumba Rhythmic Cycle

Other Toques

• Sevillanas

Sevillanas are a lively, popular toque with dance accompaniment, usually notated in 3/4 time similar to the Fandango rhythm.

People usually play the Sevillianas in a set of four short sequential pieces. In other words, a “Sevillianas performance” will have four or more short Sevillianas that immediately follow one another. Each one is in a different key or mode.

Sevillanas begin with a series of rhythmic rasgueado, followed by a brief melodic sequence (salida), followed by more reasgueado, then the full melody (copla). The third copla is usually a slight variation from the previous two.

Zambra

Zambra is a flamenco style that originated in Granada and Almeira. People believe that the Zambra is from earlier Moorish dance styles, and thus the melodies usually have an arabesque quality.

Zambras are very metric, typically have a bouncy, alternating bass on strong beats. To play a Zambra, guitarists will usually tune their guitar bass string down to drop D.

Zapateado

Zapateado is a lively style in 6/8 time and popular dance form (in Spanish, zapato means shoe). The form originally appeared in Cadíz. However, one can find similar forms in Mexico (the Zapateo). Guitarists usually play the Zapateado in C major, although Sabicas has a unique well-known composition “Zapateado in Re” (D major).

Footnotes

¹ Parallels can be drawn to jazz guitarists learning licks and solos of famous jazz predecessors. Contemporary players will often incorporate and/or elaborate on these phrases on the spot during a performance as an homage.

² Another way to classify these styles is by mood: cante jondo (serious and solemn), cante chico (lighter and festive), and cante intermedio (a style that doesn’t fit into either category).

Sources

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/system/index.html b/theory/rhythm/system/index.html index 4bf8c5759e..732dd33ac7 100644 --- a/theory/rhythm/system/index.html +++ b/theory/rhythm/system/index.html @@ -6,13 +6,13 @@ Rhythmic systems | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/theory/rhythm/system/tala/index.html b/theory/rhythm/system/tala/index.html index bc61c4d53b..b2d4ef8bc5 100644 --- a/theory/rhythm/system/tala/index.html +++ b/theory/rhythm/system/tala/index.html @@ -6,16 +6,16 @@ Indian tala | Chromatone.center - + - - - - + + + + - - + + @@ -44,7 +44,7 @@
Chromatone logo
Indian tala
The Indian rhythmic language and art of konnakkol

Tala

A Tala (IAST tāla), sometimes spelled Titi or Pipi, literally means a "clap, tapping one's hand on one's arm, a musical measure". It is the term used in Indian classical music to refer to musical meter, that is any rhythmic beat or strike that measures musical time. The measure is typically established by hand clapping, waving, touching fingers on thigh or the other hand, verbally, striking of small cymbals, or a percussion instrument in the Indian subcontinental traditions. Along with raga which forms the fabric of a melodic structure, the tala forms the life cycle and thereby constitutes one of the two foundational elements of Indian music.

Tala is an ancient music concept traceable to Vedic era texts of Hinduism, such as the Samaveda and methods for singing the Vedic hymns. The music traditions of the North and South India, particularly the raga and tala systems, were not considered as distinct till about the 16th century. There on, during the tumultuous period of Islamic rule of the Indian subcontinent, the traditions separated and evolved into distinct forms. The tala system of the north is called Hindustaani, while the south is called Carnaatic. However, the tala system between them continues to have more common features than differences.

Tala in the Indian tradition embraces the time dimension of music, the means by which musical rhythm and form were guided and expressed. While a tala carries the musical meter, it does not necessarily imply a regularly recurring pattern. In the major classical Indian music traditions, the beats are hierarchically arranged based on how the music piece is to be performed. The most widely used tala in the South Indian system is Adi tala. In the North Indian system, the most common tala is teental.

Etymology

Tāļa (ताळ) is a Sanskrit word, which means "being established". Adi tala is one of the most used talas in Carnatic music.

Terminology and definitions

According to David Nelson – an Ethnomusicology scholar specializing in Carnatic music, a tala in Indian music covers "the whole subject of musical meter". Indian music is composed and performed in a metrical framework, a structure of beats that is a tala. The tala forms the metrical structure that repeats, in a cyclical harmony, from the start to end of any particular song or dance segment, making it conceptually analogous to meters in Western music. However, talas have certain qualitative features that classical European musical meters do not. For example, some talas are much longer than any classical Western meter, such as a framework based on 29 beats whose cycle takes about 45 seconds to complete when performed. Another sophistication in talas is the lack of "strong, weak" beat composition typical of the traditional European meter. In classical Indian traditions, the tala is not restricted to permutations of strong and weak beats, but its flexibility permits the accent of a beat to be decided by the shape of musical phrase.

A painting depicting the Vedic sage-musician Narada, with a tala instrument in his left hand.

A tala measures musical time in Indian music. However, it does not imply a regular repeating accent pattern, instead its hierarchical arrangement depends on how the musical piece is supposed to be performed. A metric cycle of a tala contains a specific number of beats, which can be as short as 3 beats or as long as 128 beats. The pattern repeats, but the play of accent and empty beats are an integral part of Indian music architecture. Each tala has subunits. In other words, the larger cyclic tala pattern has embedded smaller cyclic patterns, and both of these rhythmic patterns provide the musician and the audience to experience the play of harmonious and discordant patterns at two planes. A musician can choose to intentionally challenge a pattern at the subunit level by contradicting the tala, explore the pattern in exciting ways, then bring the music and audience experience back to the fundamental pattern of cyclical beats.

The tala as the time cycle, and the raga as the melodic framework, are the two foundational elements of classical Indian music. The raga gives an artist the ingredients palette to build the melody from sounds, while the tala provides her with a creative framework for rhythmic improvisation using time.

The basic rhythmic phrase of a tala when rendered on a percussive instrument such as tabla is called a theka. The beats within each rhythmic cycle are called matras, and the first beat of any rhythmic cycle is called the sam. An empty beat is called khali. The subdivisions of a tala are called vibhagas or khands. In the two major systems of classical Indian music, the first count of any tala is called sam. The cyclic nature of a tala is a major feature of the Indian tradition, and this is termed as avartan. Both raga and tala are open frameworks for creativity and allow theoretically infinite number of possibilities, however, the tradition considers 108 talas as basic.

History

The roots of tala and music in ancient India are found in the Vedic literature of Hinduism. The earliest Indian thought combined three arts, instrumental music (vadya), vocal music (gita) and dance (nrtta). As these fields developed, sangita became a distinct genre of art, in a form equivalent to contemporary music. This likely occurred before the time of Yāska (~500 BCE), since he includes these terms in his nirukta studies, one of the six Vedanga of ancient Indian tradition. Some of the ancient texts of Hinduism such as the Samaveda (~1000 BCE) are structured entirely to melodic themes, it is sections of Rigveda set to music.

The Samaveda is organized into two formats. One part is based on the musical meter, another by the aim of the rituals. The text is written with embedded coding, where svaras (octave note) is either shown above or within the text, or the verse is written into parvans (knot or member). These markings identify which units are to be sung in a single breath, each unit based on multiples of one eighth. The hymns of Samaveda contain melodic content, form, rhythm and metric organization. This structure is, however, not unique or limited to Samaveda. The Rigveda embeds the musical meter too, without the kind of elaboration found in the Samaveda. For example, the Gayatri mantra contains three metric lines of exactly eight syllables, with an embedded ternary rhythm.

According to Lewis Rowell – a professor of Music specializing on classical Indian music, the need and impulse to develop mathematically precise musical meters in the Vedic era may have been driven by the Indian use of oral tradition for transmitting vast amounts of Vedic literature. Deeply and systematically embedded structure and meters may have enabled the ancient Indians a means to detect and correct any errors of memory or oral transmission from one person or generation to the next. According to Michael Witzel,

The Vedic texts were orally composed and transmitted, without the use of script, in an unbroken line of transmission from teacher to student that was formalized early on. This ensured an impeccable textual transmission superior to the classical texts of other cultures; it is, in fact, something like a tape-recording.... Not just the actual words, but even the long-lost musical (tonal) accent (as in old Greek or in Japanese) has been preserved up to the present.
— Michael Witzel

The Samaveda also included a system of chironomy, or hand signals to set the recital speed. These were mudras (finger and palm postures) and jatis (finger counts of the beat), a system at the foundation of talas. The chants in the Vedic recital text, associated with rituals, are presented to be measured in matras and its multiples in the invariant ratio of 1:2:3. This system is also the basis of every tala.

Five Gandharvas (celestial musicians) from 4th-5th century CE, northwest Indian subcontinent, carrying the four types of musical instruments. Gandharvas are discussed in Vedic era literature.

In the ancient traditions of Hinduism, two musical genre appeared, namely Gandharva (formal, composed, ceremonial music) and Gana (informal, improvised, entertainment music). The Gandharva music also implied celestial, divine associations, while the Gana also implied singing. The Vedic Sanskrit musical tradition had spread widely in the Indian subcontinent, and according to Rowell, the ancient Tamil classics make it "abundantly clear that a cultivated musical tradition existed in South India as early as the last few pre-Christian centuries".

The classic Sanskrit text Natya Shastra is at the foundation of the numerous classical music and dance of India. Before Natyashastra was finalized, the ancient Indian traditions had classified musical instruments into four groups based on their acoustic principle (how they work, rather than the material they are made of). These four categories are accepted as given and are four separate chapters in the Natyashastra, one each on stringed instruments (chordophones), hollow instruments (aerophones), solid instruments (idiophones), and covered instruments (membranophones). Of these, states Rowell, the idiophone in the form of "small bronze cymbals" were used for tala. Almost the entire chapter of Natyashastra on idiophones, by Bharata, is a theoretical treatise on the system of tala. Time keeping with idiophones was considered a separate function than that of percussion (membranophones), in the early Indian thought on music theory.

The early 13th century Sanskrit text Sangitaratnakara (literally, "Ocean of Music and Dance"), by Śārṅgadeva patronized by King Sighana of the Yadava dynasty in Maharashtra, mentions and discusses ragas and talas. He identifies seven tala families, then subdivides them into rhythmic ratios, presenting a methodology for improvisation and composition that continues to inspire modern era Indian musicians. Sangitaratnakara is one of the most complete historic medieval era Hindu treatises on this subject that has survived into the modern era, that relates to the structure, technique and reasoning behind ragas and talas.

The centrality and significance of Tala to music in ancient and early medieval India is also expressed in numerous temple reliefs, in both Hinduism and Jainism, such as through the carving of musicians with cymbals at the fifth century Pavaya temple sculpture near Gwalior, and the Ellora Caves.

Description

In the South Indian system (Carnatic), a full tala is a group of seven suladi talas. These are cyclic (avartana), with three parts (anga) traditionally written down with laghu, drutam and anudrutam symbols. Each tala is divided in two ways to perfect the musical performance, one is called kala (kind) and the other gati (pulse).

Each repeated cycle of a tala is called an avartan. This is counted additively in sections (vibhag or anga) which roughly correspond to bars or measures but may not have the same number of beats (matra, akshara) and may be marked by accents or rests. So the Hindustani Jhoomra tal has 14 beats, counted 3+4+3+4, which differs from Dhamar tal, also of 14 beats but counted 5+2+3+4. The spacing of the vibhag accents makes them distinct, otherwise, again, since Rupak tal consists of 7 beats, two cycles of it of would be indistinguishable from one cycle of the related Dhamar tal. However the most common Hindustani tala, Teental, is a regularly-divisible cycle of four measures of four beats each.

The first beat of any tala, called sam (pronounced as the English word 'sum' and meaning even or equal) is always the most important and heavily emphasised. It is the point of resolution in the rhythm where the percussionist's and soloist's phrases culminate: a soloist has to sound an important note of the raga there, and a North Indian classical dance composition must end there. However, melodies do not always begin on the first beat of the tala but may be offset, for example to suit the words of a composition so that the most accented word falls upon the sam. The term talli, literally "shift", is used to describe this offset in Tamil. A composition may also start with an anacrusis on one of the last beats of the previous cycle of the tala, called ateeta eduppu in Tamil.

The tāla is indicated visually by using a series of rhythmic hand gestures called kriyas that correspond to the angas or "limbs", or vibhag of the tāla. These movements define the tala in Carnatic music, and in the Hindustani tradition too, when learning and reciting the tala, the first beat of any vibhag is known as tali ("clap") and is accompanied by a clap of the hands, while an "empty" (khali) vibhag is indicated with a sideways wave of the dominant clapping hand (usually the right) or the placing of the back of the hand upon the base hand's palm instead. But northern definitions of tala rely far more upon specific drum-strokes, known as bols, each with its own name that can be vocalized as well as written. In one common notation the sam is denoted by an 'X' and the khali, which is always the first beat of a particular vibhag, denoted by '0' (zero).

A tala does not have a fixed tempo (laya) and can be played at different speeds. In Hindustani classical music a typical recital of a raga falls into two or three parts categorized by the quickening tempo of the music; Vilambit (delayed, i.e., slow), Madhya (medium tempo) and Drut (fast). Carnatic music adds an extra slow and fast category, categorised by divisions of the pulse; Chauka (1 stroke per beat), Vilamba (2 strokes per beat), Madhyama (4 strokes per beat), Drut(8 strokes per beat) and lastly Adi-drut(16 strokes per beat).

Indian classical music, both northern and southern, have theoretically developed since ancient times numerous tala, though in practice some talas are very common, and some are rare.

In Carnatic music

Tala was introduced to Karnataka music by its founder Purandara Dasa. Carnatic music uses various classification systems of tālas such as the Chapu (4 talas), Chanda (108 talas) and Melakarta (72 talas). The Suladi Sapta Tāla system (35 talas) is used here, according to which there are seven families of tāla. A tāla cannot exist without reference to one of five jatis, differentiated by the length in beats of the laghu, thus allowing thirty-five possible tālas. With all possible combinations of tala types and laghu lengths, there are 5 x 7 = 35 talas having lengths ranging from 3 (Tisra-jati Eka tala) to 29 (sankeerna jati dhruva tala) aksharas. The seven tala families and the number of aksharas for each of the 35 talas are;

TalaAnga NotationTisra (3)Chatusra (4)Khanda (5)Misra (7)Sankeerna (9)
DhruvalOll1114172329
MatyalOl810121620
RupakaOl567911
JhampalUO6781012
TriputalOO7891113
AtallOO1012141822
Ekal34579

In practice, only a few talas have compositions set to them. The most common tala is Chaturasra-nadai Chaturasra-jaati Triputa tala, also called Adi tala (Adi meaning primordial in Sanskrit). Nadai is a term which means subdivision of beats. Many kritis and around half of the varnams are set to this tala. Other common talas include:

  • Chaturasra-nadai Chaturasra-jaati Rupaka tala (or simply Rupaka tala). A large body of krtis is set to this tala.
  • Khanda Chapu (a 10-count) and Misra Chapu (a 14-count), both of which do not fit very well into the suladi sapta tala scheme. Many padams are set to Misra Chapu, while there are also krtis set to both the above talas.
  • Chatusra-nadai Khanda-jati Ata tala (or simply Ata tala). Around half of the varnams are set to this tala.
  • Tisra-nadai Chatusra-jati Triputa tala (Adi Tala Tisra-Nadai). A few fast-paced kritis are set to this tala. As this tala is a twenty-four beat cycle, compositions in it can be and sometimes are sung in Rupaka talam.

Strokes

There are 6 main angas/strokes in talas;

  • Anudhrutam, a single beat, notated 'U', a downward clap of the open hand with the palm facing down.
  • Dhrutam, a pattern of 2 beats, notated 'O', a downward clap with the palm facing down followed by a second downward clap with the palm facing up.
  • Laghu, a pattern with a variable number of beats, 3, 4, 5, 7 or 9, depending on the jati. It is notated 'l' and consists of a downward clap with the palm facing down followed by counting from little finger to thumb and back, depending on the jati.
  • Guru, a pattern represented by a 8 beats . It is notated ‘8’ and consists of a downward clap with the palm facing down followed by circling movement of the right hand with closed fingers in the clockwise direction.
  • Plutham, a pattern of 12 beats notated ‘3’, it consists of a downward clap with the palm facing down followed by counting from little finger to the middle finger, a krishya (waving the hand towards the left hand side 4 times) and a sarpini (waving the hand towards the right 4 times)
  • Kakapadam, a pattern of 16 beats notated ’x’, it consists of a downward clap with the palm facing down followed by counting from little finger to the middle finger, a pathakam (waving the hand upwards 4 times),a krishya and a sarpini

Jatis

Each tala can incorporate one of the five following jatis.

JatiNumber of Aksharas
Chaturasra4
Thisra3
Khanda5
Misra7
Sankeerna9

Each tala family has a default jati associated with it; the tala name mentioned without qualification refers to the default jati.

  • Dhruva tala is by default chaturasra jati
  • Matya tala is chaturasra jati
  • Rupaka tala is chaturasra jati
  • Jhampa tala is misra jati
  • Triputa tala is tisra jati (chaturasra jati type is also known as Adi tala)
  • Ata tala is kanda jati
  • Eka tala is chaturasra jati
  • For all the 72 melakarta talas and the 108 talas the jathi is mostly chatusram

For example, one cycle of khanda-jati rupaka tala comprises a 2-beat dhrutam followed by a 5-beat laghu. The cycle is, thus, 7 aksharas long. Chaturasra nadai khanda-jati Rupaka tala has 7 aksharam, each of which is 4 matras long; each avartana of the tala is 4 x 7 = 28 matras long. For Misra nadai Khanda-jati Rupaka tala, it would be 7 x 7 = 49 matra.

Jati (nadai in Tamil, nadaka in Telugu, nade in Kannada)

The number of maatras in an akshara is called the nadai. This number can be 3, 4, 5, 7 or 9, and take the same name as the jatis. The default nadai is Chatusram:

JatiMaatrasPhonetic representation of beats
Tisra3Tha Ki Ta
Chatusra4Tha Ka Dhi Mi
Khanda5Tha Ka Tha Ki Ta
Misra7Tha Ki Ta Tha Ka Dhi Mi
Sankeerna9Tha Ka Dhi Mi Tha Ka Tha Ki Ta

Sometimes, pallavis are sung as part of a Ragam Thanam Pallavi exposition in some of the rarer, more complicated talas; such pallavis, if sung in a non-Chatusra-nadai tala, are called nadai pallavis. In addition, pallavis are often sung in chauka kale (slowing the tala cycle by a magnitude of four times), although this trend seems to be slowing.

Kāla

Kāla refers to the change of tempo during a rendition of song, typically doubling up the speed. Onnaam kaalam is 1st speed, Erandaam kaalam is 2nd speed and so on. Erandaam kaalam fits in twice the number of aksharaas (notes) into the same beat, thus doubling the tempo. Sometimes, Kāla is also used similar to Layā, for example Madhyama Kālam or Chowka Kālam.

In Hindustani music

Talas have a vocalised and therefore recordable form wherein individual beats are expressed as phonetic representations of various strokes played upon the tabla. Various Gharanas (literally "Houses" which can be inferred to be "styles" – basically styles of the same art with cultivated traditional variances) also have their own preferences. For example, the Kirana Gharana uses Ektaal more frequently for Vilambit Khayal while the Jaipur Gharana uses Trital. Jaipur Gharana is also known to use Ada Trital, a variation of Trital for transitioning from Vilambit to Drut laya.

The Khyal vibhag has no beats on the bayan, i.e. no bass beats this can be seen as a way to enforce the balance between the usage of heavy (bass dominated) and fine (treble) beats or more simply it can be thought of another mnemonic to keep track of the rhythmic cycle (in addition to Sam). The khali is played with a stressed syllable that can easily be picked out from the surrounding beats.

Some rare talas even contain a "half-beat". For example, Dharami is an 11 1/2 beat cycle where the final "Ka" only occupies half the time of the other beats. This tala's 6th beat does not have a played syllable – in western terms it is a "rest".

Common Hindustani talas

Some talas, for example Dhamaar, Ek, Jhoomra and Chau talas, lend themselves better to slow and medium tempos. Others flourish at faster speeds, like Jhap or Rupak talas. Trital or Teental is one of the most popular, since it is as aesthetic at slower tempos as it is at faster speeds.

There are many talas in Hindustani music, some of the more popular ones are:

NameBeatsDivisionVibhaga
Tintal (or Trital or Teental)164+4+4+4X 2 0 3
Jhoomra143+4+3+4X 2 0 3
Tilwada164+4+4+4X 2 0 3
Dhamar145+2+3+4X 2 0 3
Ektal and Chautal122+2+2+2+2+2X 0 2 0 3 4
Jhaptal102+3+2+3X 2 0 3
Keherwa84+4X 0
Rupak (Mughlai/Roopak)73+2+2X 2 3
Dadra63+3X 0

72 melakarta talas

S.NoName of RagaPattern of the symbols of angasAksharas
1 Kanakaangi 1 Anudhrutha, 1 Dhrutha, 1 Guru, 1 Laghu 15
2 Rathnaangi 1 Guru, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu 20
3 Ganamurthi 1 Laghu, 2 Anudhruthas, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Guru, 1 Anudhrutha 22
4 Vanaspathi 1 Laghu, 2 Anudhruthas, 1 Guru, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam 22
5 Maanavathi 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Anudhrutha, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam 20
6 Dhanarupi 1 Guru, 1 Anudhrutha, 1 Laghu, 1 Dhritha 15
7 Senaavathi 1 Gurus, 1 Dhrutha Sekara Viraamam, 1 Dhrutha, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam 25
8 Hanumathodi 1 Guru, 2 Anudhruthas, 1 Laghu, 1 Dhrutha, 1 Pluta, 1 Dhrutha, 1 Laghu 34
9 Dhenuka 1 Pluta, 2 Anudhruthas, 1 Dhrutha 16
10 Natakapriya 3 Dhruthas, 1 Laghu, 1 Dhrutha 12
11 Kokilapriya 1 Guru, 1 Anudhrutha, 1 Dhrutha, 2 Laghus, 1 Dhrutha 21
12 Rupaavathi 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam 19
13 Gayakapriya 1 Laghu, 1 Anudhrutha, 2 Dhruthas, 1 Laghu, 1 Dhrutha 15
14 Vagula bharanam 1 Laghu, 1 Anudhrutha, 2 Dhruthas, 1 Laghu, 1 Anudhrutha, 1 Dhrutha Sekara Viraamam, 1 Guru, 1 Dhrutha Sekara Viraamam 28
15 Maya malava goulam 1 Laghu, 2 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Anudhrutha, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Anudhrutha 31
16 Chakravaham 1 Laghu, 1 Dhrutha Sekara Viraamam, 2 Laghus, 1 Dhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam 24
17 Suryakantham 1 Guru, 1 Dhrutha Sekara Viraamam, 1 Dhrutha, 1 Guru, 1 Pluta 33
18 Haata kambari 1 Guru, 2 Dhruthas, 1 Guru, 1 Laghu, 1 Dhrutha Sekara Viraamam 27
19 Jankaradh wani 1 Pluta, 3 Dhrutha Sekara Viraamams, 1 Pluta, 1 Dhrutha, 1 Anudhrutha 36
20 Nata bhairavi 1 Anudhrutha, 1 Dhrutha Sekara Viraamam, 1 Laghu, 2 Dhrutha Sekara Viraamams, 1 Laghu, 1 Anudhrutha 19
21 Keeravani 2 Dhrutha Sekara Viraamams, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha 18
22 Karahara priya 2 Dhrutha Sekara Viraamams, 1 Guru, 1 Anudhrutha, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha 24
23 Gowri manohari 1 Laghu, 1 Dhrutha Sekara Viraamam, 2 Laghus, 1 Dhrutha, 2 Gurus, 1 Anudhrutha, 1 Dhrutha Sekara Viraamam 37
24 Varuna priya 1 Laghu, 1 Anudhrutha, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha 20
25 Maara ranjani 1 Laghu, 2 Dhrutha Sekara Viraamams, 2 Gurus, 2 Anudhruthas 28
26 Charukesi 1 Guru, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Dhrutha 22
27 Sarasaangi 1 Guru, 1 Dhrutha Sekara Viraamam, 1 Pluta, 1 Dhrutha, 1 Laghu 29
28 Harikamboji 1 Guru, 1 Anudhrutha, 1 Dhrutha Sekara Viraamam, 1 Guru, 1 Pluta, 1 Guru, 1 Anudhrutha 41
29 Dheera sankara bharanam 1 Guru, 2 Dhrutha Sekara Viraamams, 1 Guru, 1 Dhrutha Sekara Viraamam, 1 Dhrutha, 2 Laghus, 1 Anudhrutha, 1 Dhrutha Sekara Viraamam, 1 Guru, 1 Dhrutha Sekara Viraamam 50
30 Nagaa nandhini 1 Dhrutha, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Dhrutha, 1 Guru, 2 Anudhruthas 23
31 Yagapriya 1 Dhrutha Sekara Viraamam, 2 Laghus, 1 Dhrutha 13
32 Raga vardhini 3 Laghus, 1 Anudhrutha, 1 Guru, 1 Dhrutha, 1 Anudhrutha 24
33 Gangeya bhushani 1 Guru, 1 Dhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Dhrutha, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha 38
34 Vaga dheeshwari 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Guru, 1 Dhrutha Sekara Viraamam, 1 Guru, Dhrutha, 1 Dhrutha Sekara Viraamam 34
35 Soolini 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Anudhrutha 12
36 Chala Naata 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu, 2 Dhruthas 15
37 Chalagam 1 Guru, 1 Anudhrutha, 1 Laghu, 1 Guru, 1 Anudhrutha 22
38 Jalaarnavam 1 Guru, 1 Anudhrutha, 1 Laghu, 1 Anudhrutha, 2 Gurus, 1 Dhrutha 32
39 Jaalavarali 1 Guru, 1 Dhrutha Sekara Viraamam, 2 Laghus, 1 Anudhrutha, 1 Laghu, 1 Anudhrutha 25
40 Navaneetham 1 Anudhrutha, 1 Laghu, 1 Anudhrutha, 1 Dhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam 15
41 Paavani 1 Dhrutha Sekara Viraamam, 1 Laghu, 2 Anudhruthas 9
42 Raghupriya 1 Dhrutha Sekara Viraamam, 1 Laghu, Anudhrutha, 1 Laghu, 1 Dhrutha 14
43 Kavaambothi 1 Laghu, 1 Guru, 1 Dhrutha Sekara Viraamam, 1 Pluta, 1 Guru, 1 Anudhrutha 36
44 Bhavapriya 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Dhrutha 16
45 Subha panthuvarali 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Anudhrutha 35
46 Shadvitha maargini 1 Guru, 1 Dhrutha, 1 Laghu, 1 Anudhrutha, 1 Guru, 1 Dhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha 44
47 Swarnaangi 1 Guru, 1 Laghu, 1 Dhrutha, 1 Pluta, 1 Dhrutha, 1 Laghu 32
48 Divyamani 1 Guru, 1 Anudhrutha, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha 27
49 Davalaambari 1 Guru, 1 Anudhrutha, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha Sekara Viraamam 28
50 Naama narayani 1 Dhrutha, 1 Laghu, 2 Dhruthas, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha 22
51 Kaamavartha 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Anudhrutha, 1 Pluta, 1 Anudhrutha 27
52 Raamapriya 2 Laghus, 1 Dhrutha, 1 Laghu, 1 Dhrutha 16
53 Gamanashrama 2 Laghus, 1 Dhrutha, 1 Anudhrutha, 1 Laghu , 1 Dhrutha 17
54 Viswambari 1 Laghu, 1 Anudhrutha, 1 Pluta, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha Sekara Viraamam 27
55 Syamalangi 1 Guru, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu 25
56 Shanmukha priya 1 Pluta, 1 Laghu, 1 Dhrutha, 1Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha 27
57 Simhendra madhyamam 1 Guru, 1 Kakapada, 1 Laghu, 1 Dhrutha, 1 Guru, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha, 1 Guru, 1 Dhrutha Sekara Viraamam, 1 Guru, 1 Dhrutha Sekara Viraamam 69
58 Hemaavathi 1 Pluta, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam 30
59 Dharmavathi 1 Pluta, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam 30
60 Neethimathi 1Dhrutha, 1Laghu, 1Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam 22
61 Kaanthamani 2 Gurus, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha 28
62 Rishabhapriya 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Anudhrutha, 1 Laghu, 1 Dhrutha 21
63 Lathaangi 1 Laghu, 1 Pluta, 1 Anudhrutha, 1 Laghu 21
64 Vachaspathi 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Guru, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam 29
65 Mecha Kalyani 1 Guru, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Dhrutha, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha 30
66 Chithraambari 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Pluta, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha Sekara Viraamam 29
67 Sucharithra 1 Guru, 1 Laghu, 2 Dhrutha Sekara Viraamams, 1 Guru, 1 Anudhrutha 27
68 Jyothi swarupini 1 Kakapada, 1 Anudhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Pluta, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha 48
69 Dathuvardhani 1 Guru, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Anudhrutha, 1 Pluta, 1 Anudhrutha 36
70 Naasikha bhushani 1 Dhrutha, 1 Guru, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha, 1 Laghu, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha 32
71 Kosalam 1 Guru, 1 Anudhrutha, 2 Gurus, 1 Anudhruthas 26
72 Rasikapriya 1 Dhrutha Sekara Viraamam, 1 Guru, 1 Dhrutha Sekara Viraamam, 1 Laghu, 1 Dhrutha 20

7 Saptangachakram (7 angas)

AngaSymbolAksharakala
AnudrutamU1
DrutaO2
Druta-viramaUO3
Laghu (Chatusra-jati)l4
Guru88
Plutam312
Kakapadamx16

https://www.mridangams.com/2007/09/tala-dhasa-pranas.html


Konnakkol

Konnakol (also spelled Konokol, Konakkol, Konnakkol) (Tamil: கொன்னக்கோல் koṉṉakkōl) (Malayalam: വായ്ത്താരി) is the art of performing percussion syllables vocally in South Indian Carnatic music. Konnakol is the spoken component of solkattu, which refers to a combination of konnakol syllables spoken while simultaneously counting the tala (meter) with the hand. It is comparable in some respects to bol in Hindustani music, but allows the composition, performance or communication of rhythms. A similar concept in Hindustani classical music is called padhant.

Usage

Musicians from a variety of traditions have found konnakol useful in their practice. Prominent among these is John McLaughlin, who led the Mahavishnu Orchestra and has long used konnakol as a compositional aid. V. Selvaganesh, who plays alongside McLaughlin in the group Remember Shakti, and Ranjit Barot, who plays with McLaughlin in the group 4th Dimension, are other noted konnakol virtuosos. Few of the prominent names performing konnakol are B K Chandramouli, Dr T K Murthy, B C Manjunath, Somashekhar Jois.

Danish musician Henrik Andersen wrote the book Shortcut To Nirvana (2005) and the DVD Learn Konnakol (2014). Andersen was a student of Trilok Gurtu (India) and Pete Lockett (U.K.).

Subash Chandran's disciple Dr Joel, who teaches konnakol in the U.K., is noted for incorporating it into rock and Western classical music, notably in a concerto commissioned in 2007 by the viola soloist Rivka Golani. The trio J G Laya (Chandran, Sri Thetakudi Harihara Vinayakram, and Dr Joel) showcased the konnakol of Chandran and helped the previously fading art form return to prominence in the 1980s. Chandran released an instructional DVD on konnakol in 2007. McLaughlin and Selvaganesh also released an instructional DVD on konnakol in 2007.

Jazz saxophonist, konnakol artist, and composer Arun Luthra incorporates konnakol and Carnatic music rhythms (as well as Hindustani classical music rhythms) in his work. More recently, drummer Steve Smith has also incorporated Konnakol in his performances with Vital Information and his clinics.

Konnakol should not be confused with the practice in Hindustani music (the classical music of northern India) of speaking tabla "bols", which indicate the finger placement to be used by a percussionist. By contrast, konnakol syllables are aimed at optimising vocal performance, and vastly outnumber any commonly used finger placements on mridangam or any other hand percussion instrument. Further, all the differences between Carnatic and north Indian rhythms apply equally to konnakol and tabla bols.

The artist improvises within a structure that interrelates with the raga being played and within the talam preferred in the compositions. In mridangam, kanjira, or ghatam, the percussion is limited to physical characteristics of their structure and construction: the resonance of skin over jackfruit wood, clay shells, or clay pots. The human voice has a direct and dramatic way of expressing the percussive aspects in music directly.

Trichy Shri R Thayumanavar gave a rebirth to konnakol. His disciple Andankoil AVS Sundararajan, a vocal and miruthangam Vidwan, is a konnakol expert, as is Mridangam Vidwan Shri T S Nandakumar.

Solkattu

SolSollu-SolkattusJatti
LetterWordSentence

Konnakol uses rhythmic solfege for different subdivisions of the beat called "Solkattu." Common ones are:

NNameSyllables
2Chatusra 1/2 SpeedTha Ka
3TisraTha Ki Ta
4ChatusraTha Ka Dhi Mi
5KhandaTha Dhi Gi Na Thom
6Tisra Double SpeedTha Ka Dhi Mi Tha Ka
7MisraTha Ka Di Mi Tha Ki Ta
8Chatusra Double SpeedTha Ka Dhi Mi Tha Ka Jhu No
9SankirnaTha Ka Dhi Mi Ta Dhi Gi Na Thom
10Khanda Double SpeedTha Ka Tha Ki Ta Tha Dhi Gi Na Thom, or Tha Ki Ta Dhim†2 Tha Dhi Gi Na Thom

†'2' suffix signifies solfege syllable is held twice as long.

Tihai - the rhythmic cadence

Tihai (pronounced ti-'ha-yi) is a polyrhythmic technique found in Indian classical music, and often used to conclude a piece. Tihais can be either sung or played on an instrument. Tihais are sometimes used to distort the listeners’ perception of time, only to reveal the consistent underlying cycle at the sam.

Definition

Tihai is the repetition of specific group of BOL or BEATS by three times.

Usage

Typically, a tihai is used as a rhythmic cadence, i.e., a rhythmic variation that marks the end of a melody or rhythmic composition, creating a transition to another section of the music.

Structure

The basic internal format of the tihai is three equal repetitions of a rhythmic pattern (or rhythmo-melodic pattern), interspersed with 2 (usually) equal rests.

The ending point of the tihai is calculated to fall on a significant point in the rhythmic cycle (called tala), most often the first beat (called sum and pronounced "some"). The other most common ending point of a tihai is the beginning of the gat or bandish, which is often found several beats before the sum.

If the three groupings are played with two groupings of rests, which are equally long, then the tihai is called Dumdaar.

Otherwise, if there are no rests between the three groupings, then the tihai is called Bedumdaar (or for short, Bedum).

Sometimes, a pattern is played on the tabla that is almost identical to a tihai, except for the fact that it ends on the beat just before the sum. Such patterns are known as anagat.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/rhythm/system/turkish/index.html b/theory/rhythm/system/turkish/index.html index a72f1487f3..d48fa3e165 100644 --- a/theory/rhythm/system/turkish/index.html +++ b/theory/rhythm/system/turkish/index.html @@ -6,16 +6,16 @@ Turkish rhythms | Chromatone.center - + - - - - + + + + - - + + @@ -44,7 +44,7 @@
Chromatone logo
Turkish rhythms
Usuls and aksaks

In Ottoman classical music, usul is an underlying rhythmic cycle that complements the melodic rhythm and sometimes helps shape the overall structure of a composition. An usul can be as short as two beats or as long as 128 beats. Usul is often translated as "meter", but usul and meter are not exactly the same. Both are repeating rhythmic patterns with more or less complex inner structures of beats of differing duration and weight. But a student learning Turkish music in the traditional meşk system first memorizes the usul kinetically by striking the knees with the hands. The student then sings the vocal or instrumental composition while performing the underlying usul. This pedagogical system helps the student memorize the composition while internalizing the underlying rhythmic structure.

Usul patterns have standard pronounceable vocables built from combinations of the syllables düm, dü-üm, tek, tekkyaa, teke, te-ek, where düm, dü-üm indicate a strong low beat of single or double duration, and tek, tekkya, teke, te-ek indicate various combinations of light beats of half, single or double duration. Long usuls (e.g., 28/4, 32/4, 120/4) are compound metric structures that underlie longer sections of entire compositions.

In Ottoman times, the usul was realized by drummers. Drums are generally omitted in modern performances except for Mevlevi. When performing music for the Mevlevi ceremony, drummers traditionally play embellished (velveleli) versions of the usuls.

Instrumental improvisations (taksim) and vocal improvisations (gazel, mersiye, etc.) are generally performed in "free" rhythm, with no usul.

The melodic counterpart to usul rhythmic mode is makam melodic mode. The parallel system to usul in Indian music is tala.

Turkish Usuls and Aksak Rhythms: A Comprehensive Guide

Introduction

Turkish music is renowned for its complex rhythmic structures, which form an integral part of both classical Ottoman music and Turkish folk traditions. Two key concepts in Turkish rhythm are Usul and Aksak.

Usul

Usul (plural: usuller) is the Turkish term for rhythmic cycle or meter. It's comparable to time signature in Western music, but often more complex. Usuller can range from simple patterns of a few beats to intricate cycles of over 100 beats. They provide the rhythmic foundation for Turkish classical and folk music.

Aksak

Aksak, meaning "limping" in Turkish, refers to asymmetrical rhythms that combine units of 2 and 3 beats. These rhythms are characteristic of Turkish and Balkan music, creating a distinctive "limping" or "uneven" feel. While all aksak rhythms are usuller, not all usuller are aksak.

Note on Rhythm Notation

In this guide, we notate the rhythms using 16th notes (e.g., 5/16, 7/16) rather than 8th notes. This choice reflects the traditionally fast tempo at which many of these usuls are performed. In classical Turkish music, these rhythms are often played at a pace where each notated beat (16th note) corresponds roughly to one pulse, typically ranging from 80 to 120 beats per minute for the 16th note, depending on the specific usul and the nature of the piece.

However, it's important to note that tempo can vary widely based on the style of music, the specific composition, and the performer's interpretation. Some slower pieces or more contemporary interpretations might take a more relaxed tempo.

In the following descriptions, we use "X" to represent the main strong beat (düm in Turkish percussion terminology), "x" for secondary beats (tek), and "." for silent beats.

Detailed Rhythm Descriptions

5/16 Türk Aksağı

  • Pattern: X.x.. (2+3)
  • Description: One of the most fundamental aksak rhythms. Its name literally means "Turkish limping."
  • Usage: Widely used in Turkish folk music, especially in western Turkey and the Balkans. It's also found in classical compositions and forms the basis for more complex rhythms.
  • Significance: Türk Aksağı is often considered the quintessential aksak rhythm, embodying the characteristic "limping" feel of Turkish music.

5/16 Hücum Semai

  • Pattern: X..x. (3+2)
  • Description: An alternative 5/16 pattern, often felt as a "reverse" of Türk Aksağı.
  • Usage: Commonly used in the fast final section (hücum means "attack" in Turkish) of classical fasıl performances.
  • Significance: Hücum Semai showcases how the same number of beats can create a distinctly different feel when arranged differently.

7/16 Devr-i Hindi

  • Pattern: X...x.. (4+3)
  • Description: The name means "Indian cycle," though its origins are uncertain.
  • Usage: Found in both classical Ottoman music and folk traditions.
  • Significance: Devr-i Hindi demonstrates how Turkish music incorporates longer beat groupings into aksak rhythms.

7/16 Devr-i Turan

  • Pattern: X.x.x.. (2+2+3)
  • Description: An alternative 7/16 pattern, providing a different rhythmic feel from Devr-i Hindi.
  • Usage: Less common than Devr-i Hindi, but still present in the classical repertoire.
  • Significance: Devr-i Turan shows how the same total number of beats can be subdivided differently, creating distinct rhythmic characters.

9/16 Aksak

  • Pattern: X.x.x.x.. (2+2+2+3)
  • Description: The quintessential "limping" rhythm of Turkish music.
  • Usage: Extremely common in both folk and classical music throughout Turkey and the Balkans.
  • Significance: Aksak is perhaps the most well-known Turkish rhythm internationally, epitomizing the aksak concept.

9/16 Evfer

  • Pattern: X..x..x.. (3+3+3)
  • Description: While not strictly an aksak rhythm, its 9/16 meter is significant in Turkish music.
  • Usage: Found in classical Turkish music, often for more lyrical pieces.
  • Significance: Evfer demonstrates how Turkish music uses complex meters even in symmetrical patterns.

9/16 Ağır Düyek

  • Pattern: X....x... (5+4)
  • Description: A slower, more elaborate version of the common 8/8 Düyek rhythm.
  • Usage: Used in slower, more serious classical pieces.
  • Significance: Ağır Düyek shows how Turkish music adapts and extends simpler rhythms to create more complex ones.

10/16 Aksak Semai

  • Pattern: X.x.x.x.x. (2+2+2+2+2)
  • Description: An extended aksak rhythm, building on the basic aksak pattern.
  • Usage: Found in both classical and folk traditions, often for dance music.
  • Significance: Aksak Semai demonstrates how aksak patterns can be extended to create longer, more complex rhythms.

11/16 Tek Vuruş

  • Pattern: X.x.x.x.x.. (2+2+2+2+3)
  • Description: A complex aksak rhythm. The name means "single strike," referring to the final long beat.
  • Usage: Less common, but found in some classical compositions and regional folk music.
  • Significance: Tek Vuruş showcases the flexibility of Turkish rhythm, extending the aksak principle to create highly complex patterns.

13/16 Nim Evsat

  • Pattern: X.x.x.x.x.x.. (2+2+2+2+2+3)
  • Description: A highly complex aksak rhythm. "Nim" means "half," as this is half of the 26/16 Evsat rhythm.
  • Usage: Found in advanced classical compositions.
  • Significance: Nim Evsat represents the upper end of complexity in commonly used Turkish rhythms, demonstrating the sophistication of Turkish rhythm theory.

15/16 Raksan

  • Pattern: X.x.x.x..x.x.. (2+2+2+3+2+2+2)
  • Description: A long aksak rhythm. The name means "dancing" in Persian.
  • Usage: Used in some classical pieces and regional folk music.
  • Significance: Raksan shows how very long aksak patterns can still maintain a danceable quality, crucial in Turkish music.

18/16 Türk Aksağı (compound)

  • Pattern: X.x.x..X.x..x.x.. (2+2+3 + 2+3 + 2+2+2)
  • Description: A compound version of the 5/16 Türk Aksağı.
  • Usage: Found in some advanced classical compositions.
  • Significance: This rhythm demonstrates how basic aksak patterns can be combined to create more complex, compound rhythms.

25/16 Kapalı Curcuna

  • Pattern: X.x.x..X.x.x..X.x.x..X.x.. (2+2+3 + 2+2+3 + 2+2+3 + 2+3)
  • Description: One of the longest aksak usuls. "Kapalı" means "closed" and "curcuna" is a type of lively rhythm.
  • Usage: Rare, used in very advanced classical compositions.
  • Significance: Kapalı Curcuna represents the pinnacle of rhythmic complexity in Turkish music, showcasing how multiple aksak patterns can be combined into a single, extended rhythm.

Conclusion

These rhythms demonstrate the rich complexity of Turkish music's approach to meter and rhythm. The aksak patterns, in particular, showcase the sophisticated interplay between long and short beats that gives Turkish music its distinctive character. From the basic 5/16 Türk Aksağı to the complex 25/16 Kapalı Curcuna, these rhythms form a unique rhythmic language that is integral to the expression and emotion of Turkish music.

The use of 16th note time signatures reflects the traditionally brisk pace of many usul performances in classical Turkish music. This rapid pulse contributes to the music's energetic and intricate character, allowing for subtle subdivisions and complex interplays between rhythm and melody.

Understanding these rhythms not only provides insight into Turkish music but also offers a gateway to appreciating the diverse and intricate rhythmic systems found in music traditions around the world. The speed and complexity of these rhythms challenge musicians to develop high levels of rhythmic precision and listeners to engage with music in new and exciting ways.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/scales/degrees/index.html b/theory/scales/degrees/index.html index d58b7508d1..f4a0d1a339 100644 --- a/theory/scales/degrees/index.html +++ b/theory/scales/degrees/index.html @@ -6,16 +6,16 @@ Scale degrees | Chromatone.center - + - - - - - - - + + + + + + + @@ -44,7 +44,7 @@
Chromatone logo
Scale degrees
Positions of notes on a scale

The term scale degree refers to the position of a particular note on a scale relative to the tonic, the first and main note of the scale from which each octave is assumed to begin. Degrees are useful for indicating the size of intervals and chords and whether they are major or minor.

In the most general sense, the scale degree is the number given to each step of the scale, usually starting with 1 for tonic. In a more specific sense, scale degrees are given names that indicate their particular function within the scale. This definition implies a functional scale, as is the case in tonal music.

AA#BCC#DD#EFF#GG#1P2m2M3m3M4PTT5P6m6M7m7M//https://stackoverflow.com/questions/5737975/circle-drawing-with-svgs-arc-pathTonicSupertonicMediantSubdominantDominantSubmediantSubtonicIIIIIIIVVVIVII
101011010100
1P
2M
3M
4P
5P
6M
2-2-1-2-2
# 2772
A
B
C#
D
E
F#

The degrees of the traditional major and minor scales may be identified several ways:

  • by their ordinal numbers, as the first, second, third, fourth, fifth, sixth, or seventh degrees of the scale, sometimes raised or lowered;
  • by Arabic numerals (1, 2, 3, 4 …), as in the Nashville Number System, sometimes with carets (scale degree 1, scale degree 2, scale degree 3, scale degree 4 …);
  • by their name according to the movable do solfège system: do, re, mi, fa, so(l), la, and si (or ti).
  • by Roman numerals (I, II, III, IV …);
  • by the English name for their function:
    • tonic,
    • supertonic,
    • mediant,
    • subdominant,
    • dominant,
    • submediant,
    • subtonic or leading note (leading tone in the United States),
    • and tonic again.

These names are derived from a scheme where the tonic note is the 'centre'. Then the supertonic and subtonic are, respectively, a second above and below the tonic; the mediant and submediant are a third above and below it; and the dominant and subdominant are a fifth above and below the tonic.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/scales/diatonic/index.html b/theory/scales/diatonic/index.html index 5b7fcabde6..3fe3ee6642 100644 --- a/theory/scales/diatonic/index.html +++ b/theory/scales/diatonic/index.html @@ -6,22 +6,22 @@ Diatonic scales | Chromatone.center - + - - - - + + + + - - - - - - - - + + + + + + + + @@ -50,7 +50,7 @@
Chromatone logo
Diatonic scales
The seven 7-notes set rotations

All diatonic scales and modes

What Is a Diatonic Scale?

A diatonic scale is a type of musical scale that contains seven tones of a note per octave (the distance between one note and the following note that also bears its name).

Tones

Diatonic scales consist of five whole tones, also known as whole steps or the major second, and two half steps (semitones), which are the shortest musical intervals (the distance between tones) in Western music, separated by either two or three tones. A whole step on a piano keyboard represents two keys, while a half step is a single key.

Letter names

Also known as a heptatonic scale in music theory, diatonic scales use all seven letter names, or notes in a sequence. Chords built from the seven notes in each key are called diatonic chords. Tonality, or the system of organizing keys and chords in Western music, has been based on the diatonic system from the Middle Ages to the present day.

Scales

Diatonic scales include both the major scale, or Ionian mode, which is the most frequently used musical scale, and the natural minor scale, or Aeolian mode, which uses the same number of notes as the major scale, but in a different pitch. Both scales are part of the six “church mode” scales established for religious music during the medieval period, which continue to form the basis for contemporary diatonic scales.

Tonic - the root note

These scales always have a tonal center to which all the notes relate and lead to in different ways. It is called the root note of the scale or tonic.

The 7 Modes of the Diatonic Scale

60000 px/sec
A major (ionian)
ABC#DEF#G#A
DEABC#DbF#GbG#Ab
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
101011010101
1P
2M
3M
4P
5P
6M
7M
2-2-1-2-2-2
# 2773
A
B
C#
D
E
F#
G#
Also known as the Ionian mode, the major scale consists of the seven distinct notes in a scale (C D E F G A B) and an eighth note that reproduces the first one in a higher octave. The first, third, and fifth degrees form a chord known as a major triad, which can be found in related major scales, like the harmonic major scale, which has a minor sixth triad. The melodic major scale, also known as the Aeolian dominant scale, has lowered sixth and seventh degrees.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/scales/double/index.html b/theory/scales/double/index.html index f4aaef696c..f0a37ec440 100644 --- a/theory/scales/double/index.html +++ b/theory/scales/double/index.html @@ -6,22 +6,22 @@ Double harmonic | Chromatone.center - + - - - - + + + + - - - - - - - - + + + + + + + + @@ -50,7 +50,7 @@
Chromatone logo
Double harmonic
Balanced heptatonic scales with two augmented second intervals

The double harmonic major scale is a musical scale with a flattened second and sixth degree. This is also known as Mayamalavagowla, Bhairav Raga, Byzantine scale, Arabic (Hijaz Kar), and Gypsy major. It can be likened to a gypsy scale because of the diminished step between the 1st and 2nd degrees. Arabic scale may also refer to any Arabic mode, the simplest of which, however, to Westerners, resembles the double harmonic major scale.

The 7 modes of the Double harmonic major

60000 px/sec
A double harmonic major (gypsy)
AA#C#DEFG#A
DEFAC#DbG#AbA#Bb
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
110011011001
1P
2m
3M
4P
5P
6m
7M
1-3-1-2-1-3
# 3289
A
A#
C#
D
E
F
G#
The double harmonic major scale is a musical scale with a flattened second and sixth degree. This is also known as Mayamalavagowla, Bhairav Raga, Byzantine scale, Arabic (Hijaz Kar), and Gypsy major. It can be likened to a gypsy scale because of the diminished step between the 1st and 2nd degrees. Arabic scale may also refer to any Arabic mode, the simplest of which, however, to Westerners, resembles the double harmonic major scale.

It is referred to as the "double harmonic" scale because it contains two harmonic tetrads featuring augmented seconds. By contrast, both the harmonic major and harmonic minor scales contain only one augmented second, located between their sixth and seventh degrees.

The scale contains a built-in tritone substitution, a dominant seventh chord a half step above the root, with strong harmonic movement towards the tonic chord.

The double harmonic scale is not commonly used in classical music from Western culture, as it does not closely follow any of the basic musical modes, nor is it easily derived from them. It also does not easily fit into common Western chord progressions such as the authentic cadence. This is because it is mostly used as a modal scale, not intended for much movement through chord progressions.

The Arabic scale (in the key of E) was used in Nikolas Roubanis's "Misirlou", and in the Bacchanale from the opera Samson and Delilah by Saint-Saëns. Claude Debussy used the scale in "Soirée dans Grenade", "La Puerta del Vino", and "Sérénade interrompue" to evoke Spanish flamenco music or Moorish heritage. In popular music, Ritchie Blackmore of Deep Purple and Rainbow used the scale in pieces such as "Gates of Babylon" and "Stargazer". The Miles Davis jazz standard "Nardis" also makes use of the double harmonic. Opeth used this scale in their song "Bleak" from the album Blackwater Park. Megadeth use the scale in a guitar solo from their song "The Threat Is Real" from their 2015 album Dystopia. It is also used by Hans Zimmer in his score for Dune.

Symmetry and balance

The double harmonic scale features radial symmetry, or symmetry around its root, or center note. Breaking up the three note chromaticism and removing this symmetry by sharpening the 2nd or flattening the 7th note respectively by one semitone yields the harmonic major and Phrygian Dominant mode of the harmonic minor scales respectively, each of which, unlike the double harmonic minor scale, has a full diminished chord backbone.

This scale (and its modes like the Hungarian minor scale) is the only seven-note scale (in 12-tone equal temperament) that is perfectly balanced; this means that when its pitches are represented as points on a circle (whose full circumference represents an octave), their average position (or "centre of mass") is the centre of the circle.

Tetrads

The main chords of the double harmonic major are:

I7M bII7M iii6 iv7M V7(b5) bVI7M(#5) viisus2add13(b5)

There are other possibilities of tetrad:

I7M(#5) bII7 bii7M bii7 bii7(b5) III6 iv° V6(b5) bvi°

Modes

Like all heptatonic (seven-pitch) scales, the double harmonic scale has a mode for each of its individual scale degrees. The most commonly known of these modes is the 4th mode, the Hungarian minor scale, most similar to the harmonic minor scale with a raised 4th degree. The modes are as follows:

ModeName of scaleDegrees
1Double harmonic major1
2Lydian ♯2 ♯61
3Ultraphrygian1
4Hungarian/Gypsy minor1
5Oriental1
6Ionian ♯2 ♯51
7Locrian bb3 bb71

Some of the closest existing scales to the double harmonic major scale are the Phrygian dominant scale, the fifth mode of the harmonic minor scale, as they are alike save for the Phrygian dominant's flattened seventh degree. The harmonic major scale (also known as major flat 6 and Ionian flat 6) is identical to the standard major scale aside from the sixth scale degree being flattened by a semitone, differing from the double harmonic major in having a natural second degree.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/scales/index.html b/theory/scales/index.html index 31e2fc3a6c..68e6852a6f 100644 --- a/theory/scales/index.html +++ b/theory/scales/index.html @@ -6,13 +6,13 @@ Scales | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Scales
A scale is a subset of 12 chromatic pitches

Scales are collections of pitch classes to play together. There's a plenty of such known and used Note combinations.

Five notes is enough to construct the most simple and pleasant sounding Pentatonic scales. The most common scales nowadays are the 2 sets of 7 notes patterns: the diatonic and the jazz/melodic families of scales. Every note in such a scale has its own distinct role as a Scale degree.

Breaking the diatonic rule the modernism era has discovered all the strange Symmetrical scales that bring us more complex emotional effects.

Let's not focus only on Western music theory, especially when it comes to scales. Indian Raga school has a much wider scope on note collections to be played and improvised over.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/scales/melodic/index.html b/theory/scales/melodic/index.html index f7f1b35452..c00a5d49e9 100644 --- a/theory/scales/melodic/index.html +++ b/theory/scales/melodic/index.html @@ -6,22 +6,22 @@ Melodic minor | Chromatone.center - + - - - - + + + + - - - - - - - - + + + + + + + + @@ -50,7 +50,7 @@
Chromatone logo
Melodic minor
The melodic minor scale is essentially a natural minor scale with raised sixth and seventh scale degrees.

A great deal of modern jazz harmony arises from the modes of the ascending form of the melodic minor scale, also known as the jazz melodic minor scale. This scale is essentially a diatonic major scale with a lowered third, for example C–D–E♭–F–G–A–B–C. As with any other scale, the modes are derived from playing the scale from different root notes, causing a series of jazz scales to emerge.

The 7 modes of the Melodic Minor Scale

60000 px/sec
A melodic minor
ABCDEF#G#A
CDEABF#GbG#Ab
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
101101010101
1P
2M
3m
4P
5P
6M
7M
2-1-2-2-2-2
# 2901
A
B
C
D
E
F#
G#
The jazz minor scale is a derivative of the melodic minor scale, except only the ascending form of the scale is used. As the name implies, it is primarily used in jazz. It may be derived from the major scale with a minor third, making it a synthetic scale, and features a dominant seventh chord on the fifth degree (V) like the harmonic minor scale. Also known as the heptatonia seconda, jazz minor scale, Athenian Scale, or Ionian ♭3. This form of the scale is also the 5th mode of the acoustic scale.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/scales/pentatonic/index.html b/theory/scales/pentatonic/index.html index f35ae3d3e0..b50d99358a 100644 --- a/theory/scales/pentatonic/index.html +++ b/theory/scales/pentatonic/index.html @@ -6,21 +6,21 @@ Pentatonic scales | Chromatone.center - + - - - - - - - - - - - - + + + + + + + + + + + + @@ -49,7 +49,7 @@
Chromatone logo
Pentatonic scales
5 very consonant notes to play easily together

Musicology commonly classifies pentatonic scales as either hemitonic or anhemitonic. Hemitonic scales contain one or more semitones and anhemitonic scales do not contain semitones.

Major pentatonic scale

Anhemitonic pentatonic scales can be constructed in many ways. The major pentatonic scale may be thought of as a gapped or incomplete major scale. However, the pentatonic scale has a unique character and is complete in terms of tonality. One construction takes five consecutive pitches from the circle of fifths; starting on C, these are C, G, D, A, and E. Transposing the pitches to fit into one octave rearranges the pitches into the major pentatonic scale: C, D, E, G, A.

Another construction works backward: It omits two pitches from a diatonic scale. If one were to begin with a C major scale, for example, one might omit the fourth and the seventh scale degrees, F and B. The remaining notes then make up the major pentatonic scale: C, D, E, G, and A.

Omitting the third and seventh degrees of the C major scale obtains the notes for another transpositionally equivalent anhemitonic pentatonic scale: F, G, A, C, D. Omitting the first and fourth degrees of the C major scale gives a third anhemitonic pentatonic scale: G, A, B, D, E.

The black keys on a piano keyboard comprise a G-flat major (or equivalently, F-sharp major) pentatonic scale: G-flat, A-flat, B-flat, D-flat, and E-flat, which is exploited in Chopin's black key étude.

Minor pentatonic scale

Although various hemitonic pentatonic scales might be called minor, the term is most commonly applied to the relative minor pentatonic derived from the major pentatonic, using scale tones 1, 3, 4, 5, and 7 of the natural minor scale. (It may also be considered a gapped blues scale.) The C minor pentatonic scale, the relative of the E-flat pentatonic scale is C, E-flat, F, G, B-flat. The A minor pentatonic, the relative minor of C pentatonic, comprises the same tones as the C major pentatonic, starting on A, giving A, C, D, E, G. This minor pentatonic contains all three tones of an A minor triad.

The standard tuning of a guitar uses the notes of an E minor pentatonic scale: E-A-D-G-B-E, contributing to its frequency in popular music.

60000 px/sec
A 6add9 (pentatonic)
ABC#EF#A6add9
EABC#DbF#Gb
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
101010010100
1P
2M
3M
5P
6M
2-2-3-2
# 2708
A
B
C#
E
F#

Japanese scales

The organization of notes to create a musical scale has many different applications in different cultures and types of music. One of the most common approaches to organizing musical structures is known as the Mode or Mode(s). Since the Heian Period, there has been disagreement and contention between musical scholars regarding Japanese music and modal theory. There has long been a debate about Japanese modes and what defines them, to this day there is not a single modal theory that can completely explain Japanese music. Music scales are critical in clarifying and identifying musical pieces, however, there has been no single scale model that can identify all Japanese music into one classification or category of music. In order to be understood by western scholars, The different variations of Japanese modal scales are often compared to the western Major Scale. Various modal theories from around the world have been imported to attempt and analyze Japanese music structure, but often the modal theories suggested do not reflect what is actually present in the music it is being applied to. The classical structures of most Japanese music originates in China and was not concerned with developing a universal scale or mode until Western music had been imported. After the Heian period began was when Western modal theories became widely acknowledged by Japanese society, though it often stayed in its own category as it could not entirely explain Japanese music across all its different iterations.

The most common version of the Japanese mode is a somewhat inaccurate term for a pentatonic musical scale which is used commonly in traditional Japanese music. The intervals of the scale are major second, minor third, perfect fifth, and minor sixth (for example, the notes A, B, C, E, F and up to A.) - which is essentially a natural minor scale in Western music theory without the subdominant and subtonic, which is the same operation performed on the major scale to produce the pentatonic major scale. The more correct term would be kumoijoshi, as given by William P. Malm for one of the three tuning scales of the koto adapted from shamisen music.

In addition to being used almost exclusively in traditional Japanese compositions, it is found frequently in video game music and the pieces of contemporary composers such as Anne Boyd.

60000 px/sec
A hirajoshi
ABCEFA
CEFAB
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
101100011000
1P
2M
3m
5P
6m
2-1-4-1
# 2840
A
B
C
E
F
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/scales/raga/index.html b/theory/scales/raga/index.html index da052db374..597c37f5b1 100644 --- a/theory/scales/raga/index.html +++ b/theory/scales/raga/index.html @@ -6,13 +6,13 @@ Indian Raga | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Indian Raga
Improvisational music framework

A raga or raag (IAST: rāga; also raaga or ragam; literally "coloring, tingeing, dyeing") is a melodic framework for improvisation akin to a melodic mode in Indian classical music. The rāga is a unique and central feature of the classical Indian music tradition, and as a result has no direct translation to concepts in classical European music. Each rāga is an array of melodic structures with musical motifs, considered in the Indian tradition to have the ability to "colour the mind" and affect the emotions of the audience.

Each rāga provides the musician with a musical framework within which to improvise. Improvisation by the musician involves creating sequences of notes allowed by the rāga in keeping with rules specific to the rāga. Rāgas range from small rāgas like Bahar and Shahana that are not much more than songs to big rāgas like Malkauns, Darbari and Yaman, which have great scope for improvisation and for which performances can last over an hour. Rāgas may change over time, with an example being Marwa, the primary development of which has been going down into the lower octave, in contrast with the traditional middle octave. Each rāga traditionally has an emotional significance and symbolic associations such as with season, time and mood. The rāga is considered a means in the Indian musical tradition to evoking specific feelings in an audience. Hundreds of rāga are recognized in the classical tradition, of which about 30 are common, and each rāga has its "own unique melodic personality".

Every raga has a swara (a note or named pitch) called shadja, or adhara sadja, whose pitch may be chosen arbitrarily by the performer. This is taken to mark the beginning and end of the saptak (loosely, octave). The raga also contains an adhista, which is either the swara Ma or the swara Pa. The adhista divides the octave into two parts or anga - the purvanga, which contains lower notes, and the uttaranga, which contains higher notes. Every raga has a vadi and a samvadi. The vadi is the most prominent swara, which means that an improvising musician emphasizes or pays more attention to the vadi than to other notes. The samvadi is consonant with the vadi (always from the anga that does not contain the vadi) and is the second most prominent swara in the raga.

According to Monier Monier-Williams, the term comes from a Sanskrit word for "the act of colouring or dyeing", or simply a "colour, hue, tint, dye". The term also connotes an emotional state referring to a "feeling, affection, desire, interest, joy or delight", particularly related to passion, love, or sympathy for a subject or something. In the context of ancient Indian music, the term refers to a harmonious note, melody, formula, building block of music available to a musician to construct a state of experience in the audience.

The word appears in the ancient Principal Upanishads of Hinduism, as well as the Bhagavad Gita.[ For example, verse 3.5 of the Maitri Upanishad and verse 2.2.9 of the Mundaka Upanishad contain the word rāga. The Mundaka Upanishad uses it in its discussion of soul (Atman-Brahman) and matter (Prakriti), with the sense that the soul does not "color, dye, stain, tint" the matter. The Maitri Upanishad uses the term in the sense of "passion, inner quality, psychological state". The term rāga is also found in ancient texts of Buddhism where it connotes "passion, sensuality, lust, desire" for pleasurable experiences as one of three impurities of a character. Alternatively, rāga is used in Buddhist texts in the sense of "color, dye, hue".

In 1933, states José Luiz Martinez – a professor of music, Stern refined this explanation to "the rāga is more fixed than mode, less fixed than the melody, beyond the mode and short of melody, and richer both than a given mode or a given melody; it is mode with added multiple specialities".

According to Walter Kaufmann, though a remarkable and prominent feature of Indian music, a definition of rāga cannot be offered in one or two sentences. rāga is a fusion of technical and ideational ideas found in music, and may be roughly described as a musical entity that includes note intonation, relative duration and order, in a manner similar to how words flexibly form phrases to create an atmosphere of expression. In some cases, certain rules are considered obligatory, in others optional. The rāga allows flexibility, where the artist may rely on simple expression, or may add ornamentations yet express the same essential message but evoke a different intensity of mood.

A rāga has a given set of notes, on a scale, ordered in melodies with musical motifs. A musician playing a rāga, states Bruno Nettl, may traditionally use just these notes, but is free to emphasize or improvise certain degrees of the scale. The Indian tradition suggests a certain sequencing of how the musician moves from note to note for each rāga, in order for the performance to create a rasa (mood, atmosphere, essence, inner feeling) that is unique to each rāga. A rāga can be written on a scale. Theoretically, thousands of rāga are possible given 5 or more notes, but in practical use, the classical tradition has refined and typically relies on several hundred. For most artists, their basic perfected repertoire has some forty to fifty rāgas. Rāga in Indian classic music is intimately related to tala or guidance about "division of time", with each unit called a matra (beat, and duration between beats).

72 Melakarta ragas

Here’s a list of an aesthetic and scientifically designed chart of the 72 parent ragas which have been assigned to 12 chakras/wheel each comprising six ragas.

Continuing the extremely complex system from which our Carnatic classical music was derived we here arrive at a very aesthetic and scientifically designed chart of the 72 parent ragas. These are called melakarta ragas which numbering 72 have been re-scheduled into 36 each taking the ‘shuddha madhyama’ and ‘prati (sharp) madhyama’, namely the note ‘Ma’ respectively. Again, these 72 ragas have been assigned to 12 chakras/wheel each comprising six ragas. Therefore, we have six chakras in the Ma1 (shuddha madhyama) scale and six in the Ma2 (prati madhyama).

The nomenclature given to the chakras carries great import. For instance, the first chakra being numero uno is called ‘Indu’ after the moon of which we have just one in our universe; chakra two is named after the eyes: netra; the third after agni (fire) which exists in three forms (treat agni); the fourth after the four Vedas, the fifth is the bana chakra after the pancha bana (five arrows of Manmatha/Cupid), the sixth Rithu after the seasons (shat rithu); the seventh is Rishi after the sapta (7)rishis; the eighth is called ‘Vasu chakra’ (our mythology speaks of 8 Vasus/superhumans); the ninth is ‘Brahma’ of which we are told there are 9 (nava brahma/creators); the tenth is ‘Disi’ or direction and in Indian system we count 10 directions; the eleventh is Rudra chakra named after 11 rudras/deities and finally the 12th chakra is the ‘Aditya’ or sun of which there are 12 in the galaxy apart from ours.

This apart, the entire chart is made user-friendly by assigning the syllabic notes in an order that facilitates easy memorising for a student of music. For instance, all the ragas in the Indu chakra have a common note in rishabha and gandhara, viz,. ‘ra-ga’ (shuddha rishabha and shuddha gandhara-ri1 and ga1). The only notes that change their position in numerical order are the daivatha and nishadha (dha & ni). Similarly, in Netra chakra, it is ‘ra and gi’. The rishabha remains the same (ri1) while the gandhara changes to ‘sadharana gandharam (ga2). The third Agni chakra is identified with ‘ra-gu’ which means no change in the placement of rishabha but then the gandhara changes to antara gandhara (ga3). When it comes to the fourth Veda chakra, it is ‘ri-gi’ where the rishabha undergoes a change in position to chatursruti rishabha (ri2) with the gandhara remaining constant at sadharana gandhara (ga2). In the Bana chakra (ri-gu) the chatusruti rishabha is constant ‘ri2’ while the gandhara turns ‘ga3’. Finally, in the sixth Rithu chakra which completes the shuddha madhyama ragas, it is ‘ru-gu’ where the rishabha is placed in shatsruti (ri3) and the gandhara remains in ‘ga3’. The same is repeated in the next six chakras (37-72) which come under the prati madhayama melakarta ragas corresponding to the 36 shuddha madhyama ragas.

Now let’s get the list of these 72 ragas: Kanakangi, Ratnangi, Ganamurti, Vanaspati, Manavati, Tanarupi (Indu chakra); Senavati, Hanumathodi (todi), Dhenuka, Natakapriya, Kokilapriya, Rupavathi (Netra chakra); Gayakapriya, Vakulapriya, Mayamalavagowla, Chakravakam, Suryakantam, Hatakambari (Agni Chakra); Jhankaradwani, Natabhairavi, Keeravani, Kharaharapriya, Gourimanohari, Varunapriya (Veda chakra); Mara ranjani, Charukesi, Sarasangi, Harikambhoji, Dheera Sankarabharanam (Sankarabharanam), Naganandini (Bana chakra); Yagapriya, Ragavardhini, Gaangeyabhushani, Vagadeeshwari, Shulini, Chalanata (Naata) (Ritu chakra); Salagam, Jalarnavam, Jhalavarali, Navaneetam, Pavani, Raghupriya (Rishi chakra); Shadvidhamargini, Shuba Panthuvarali, Gavambhodi, Suvarnangi, Divyamani, Bhavapriya (Vasu chakra); Dhavalambari, Naamanarayani, Kamavardhini, Ramapriya, Gamanashrama, Vishwambari (Brahma chakra); Shyamalangi, Shanmukhapriya, Simhendra Madhyamam, Hemavathi, Dharmavathi, Neethimathi (Disi chakra); Kantamani, Rishabapriya, Lataangi, Vaachaspati, Meccha Kalyani (Kalyani), Chitrambari (Rudra chakra); Sucharita, Jyothiswaroopini, Dhatuvardhini, Kosalam, Nasika bhushani, Rasikapriya (Aditya chakra).

Katapayadi system

ka·ṭa·pa·yā·di (Devanagari: कटपयादि) system (also known as Paralppēru, Malayalam: പരല്‍പ്പേര്) of numerical notation is an ancient Indian alphasyllabic numeral system to depict letters to numerals for easy remembrance of numbers as words or verses. Assigning more than one letter to one numeral and nullifying certain other letters as valueless, this system provides the flexibility in forming meaningful words out of numbers which can be easily remembered.

Following verse found in Śaṅkaravarman's Sadratnamāla explains the mechanism of the system.

नञावचश्च शून्यानि संख्या: कटपयादय:।
मिश्रे तूपान्त्यहल् संख्या न च चिन्त्यो हलस्वर:॥

Transiliteration:

nanyāvacaśca śūnyāni saṃkhyāḥ kaṭapayādayaḥ
miśre tūpāntyahal saṃkhyā na ca cintyo halasvaraḥ

Translation: na (न), nya (ञ) and a (अ)-s, i.e., vowels represent zero. The nine integers are represented by consonant group beginning with ka, ṭa, pa, ya. In a conjunct consonant, the last of the consonants alone will count. A consonant without a vowel is to be ignored.

Explanation: The assignment of letters to the numerals are as per the following arrangement (In Devanagari, Kannada, Telugu & Malayalam respectively)

1234567890
ka क ಕ క കkha ख ಖ ఖ ഖga ग ಗ గ ഗgha घ ಘ ఘ ഘnga ङ ಙ జ్ఞ ങca च ಚ చ ചcha छ ಛ ఛ ഛja ज ಜ జ ജjha झ ಝ ఝ ഝnya ञ ಞ ఞ ഞ
ṭa ट ಟ ట ടṭha ठ ಠ ఠ ഠḍa ड ಡ డ ഡḍha ढ ಢ ఢ ഢṇa ण ಣ ణ ണta त ತ త തtha थ ಥ థ ഥda द ದ ద ദdha ध ಧ ధ ധna न ನ న ന
pa प ಪ ప പpha फ ಫ ఫ ഫba ब బ ബbha भ ಭ భ ഭma म ಮ మ മ
ya य ಯ య യra र ರ ర രla ल ల ల ലva व ವ వ വśha श ಶ శ ശsha ष ಷ ష ഷsa स ಸ స സha ह ಹ హ ഹ
  • Consonants have numerals assigned as per the above table. For example, ba (ब) is always 3 whereas 5 can be represented by either nga (ङ) or ṇa (ण) or ma (म) or śha (श).
  • All stand-alone vowels like a (अ) and ṛ (ऋ) are assigned to zero.
  • In case of a conjunct, consonants attached to a non-vowel will be valueless. For example, kya (क्या) is formed by k (क्) + ya (य) + a (अ). The only consonant standing with a vowel is ya (य). So the corresponding numeral for kya (क्या) will be 1.
  • There is no way of representing the decimal separator in the system.
  • Indians used the Hindu–Arabic numeral system for numbering, traditionally written in increasing place values from left to right. This is as per the rule "अङ्कानां वामतो गतिः" which means numbers go from right to left.

The melakarta ragas of the Carnatic music is named so that the first two syllables of the name will give its number. This system is sometimes called the Ka-ta-pa-ya-di sankhya. The Swaras 'Sa' and 'Pa' are fixed, and here is how to get the other swaras from the melakarta number.

Melakartas 1 through 36 have Ma1 and those from 37 through 72 have Ma2. The other notes are derived by noting the (integral part of the) quotient and remainder when one less than the melakarta number is divided by 6. If the melakarta number is greater than 36, subtract 36 from the melakarta number before performing this step. 'Ri' and 'Ga' positions: the raga will have: Ri1 and Ga1 if the quotient is 0 Ri1 and Ga2 if the quotient is 1 Ri1 and Ga3 if the quotient is 2 Ri2 and Ga2 if the quotient is 3 Ri2 and Ga3 if the quotient is 4 Ri3 and Ga3 if the quotient is 5 'Da' and 'Ni' positions: the raga will have: Da1 and Ni1 if remainder is 0 Da1 and Ni2 if remainder is 1 Da1 and Ni3 if remainder is 2 Da2 and Ni2 if remainder is 3 Da2 and Ni3 if remainder is 4 Da3 and Ni3 if remainder is 5

Raga Dheerasankarabharanam

The katapayadi scheme associates dha ↔ "title" 9 and ra ↔ "title" 2, hence the raga's melakarta number is 29 (92 reversed). Now 29 ≤ "title" 36, hence Dheerasankarabharanam has Ma1. Divide 28 (1 less than 29) by 6, the quotient is 4 and the remainder 4. Therefore, this raga has Ri2, Ga3 (quotient is 4) and Da2, Ni3 (remainder is 4). Therefore, this raga's scale is Sa Ri2 Ga3 Ma1 Pa Da2 Ni3 SA.

Raga MechaKalyani

From the coding scheme Ma ↔ "title" 5, Cha ↔ "title" 6. Hence the raga's melakarta number is 65 (56 reversed). 65 is greater than 36. So MechaKalyani has Ma2. Since the raga's number is greater than 36 subtract 36 from it. 65–36=29. 28 (1 less than 29) divided by 6: quotient=4, remainder=4. Ri2 Ga3 occurs. Da2 Ni3 occurs. So MechaKalyani has the notes Sa Ri2 Ga3 Ma2 Pa Da2 Ni3 SA.

Exception for Simhendramadhyamam

As per the above calculation, we should get Sa ↔ "title" 7, Ha ↔ "title" 8 giving the number 87 instead of 57 for Simhendramadhyamam. This should be ideally Sa ↔ "title" 7, Ma ↔ "title" 5 giving the number 57. So it is believed that the name should be written as Sihmendramadhyamam (as in the case of Brahmana in Sanskrit).

Chakras

The 72 melakarta ragas are split into 12 groups called chakras, each containing 6 ragas. The ragas within the chakra differ only in the dhaivatham and nishadham notes (D and N), as illustrated below. The name of each of the 12 chakras suggest their ordinal number as well.[2][4]

  • Indu stands for the moon, of which we have only one - hence it is the first chakra.
  • Netra means eyes, of which we have two - hence it is the second.
  • Agni is the third chakra as it denotes the three agnis or the holy fires (laukikaagni - earthly fire, daavaagni - lightning, and divyaagni - the Sun).
  • Veda denoting four Vedas or scriptures namely Rigveda, Samaveda, Yajurveda, Atharvaveda is the name of the fourth chakra.
  • Bana comes fifth as it stands for the five banas of Manmatha.
  • Rutu is the sixth chakra standing for the 6 seasons of Hindu calendar.
  • Rishi, meaning sage, is the seventh chakra representing the seven sages.
  • Vasu stands for the eight vasus of Hinduism.
  • Brahma comes next of which there are 9.
  • The 10 directions, including akash (sky) and patal (nether region), is represented by the tenth chakra, Disi.
  • Eleventh chakra is Rudra of which represents the eleven names of Lord Shiva.
  • Twelfth comes Aditya of which stands for the twelve names of Lord Surya or the Sun God.

Asampurna Melakarta

https://en.wikipedia.org/wiki/Asampurna_Melakarta

The Asampurna Melakarta (transliterated as Asaṃpūrṇa Mēḷakarta) scheme is the system of 72 ragas (musical scales) originally proposed in the 17th century by Venkatamakhin in his Chaturdanda Prakasikha. This proposal used scales with notes that do not conform to the sampurna raga system. Skipped notes or repeated notes, etc., were used in some of the ragas. Some of the ragas of any Melakarta system will use Vivadi swaras (discordant notes). The original system is supposed to avoid such ill-effects and was followed by the Muthuswami Dikshitar school. The naming of the original system followed Katapayadi system. Muthuswami Dikshitar's compositions use the name of these ragas in the lyrics of the songs and is still referred to by those names even in radio / TV announcements of these songs.

Later Govindacharya came up with a more mathematical and regular system of 72 ragas, which is currently considered fundamental ragas (musical scales) in Carnatic music (South Indian classical music). These melakarta ragas were sampurna ragas. Some of the names of the ragas had to be modified to fit into the Katapayadi system.

In the Asampurna Melakarta system, there is no set rule for the ragas in contrast to the currently used system of Melakarta ragas. Some ragas though are the same in both systems (like 15 - Mayamalavagowla and 29 - Dheerasankarabharanam), and in some cases the scales are same, while names are different (like 8 - Janatodi and Hanumatodi, 56 - Chamaram and Shanmukhapriya).

http://music-raagaa.blogspot.com/p/72-melakartha-raagas_17.html

https://www.ragasurabhi.com/index.html

http://carnatica.net/origin.htm

http://www.melakarta.com/index.html

http://www.carnaticcorner.com/articles/22_srutis.htm

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/scales/study/index.html b/theory/scales/study/index.html index 41e533db0c..acc3d3e5bc 100644 --- a/theory/scales/study/index.html +++ b/theory/scales/study/index.html @@ -6,13 +6,13 @@ Study of scales | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Study of scales
The principles for analyzing different combinations of notes

This original text is from The Exciting Universe Of Music Theory by Ian Ring

There is no rule stating how many notes a scale must include. The most common scales in Western music contain seven pitches and are thus called “heptatonic” (meaning “seven tones”). Other scales have fewer notes—five-note “pentatonic” scales are quite common in popular music. There’s even a scale that uses all 12 pitches: it’s called the “chromatic” scale.

What we have in the 12-tone system is a binary "word" made of 12 bits. We can assign one bit to each degree of the chromatic scale, and use the power of binary arithmetic and logic to do some pretty awesome analysis with them. When represented as bits it reads from right to left - the lowest bit is the root, and each bit going from right to left ascends by one semitone.

The total number of possible combinations of on and off bits is called the "power set". The number of sets in a power set of size n is (2^n). Using a word of 12 bits, the power set (2^12) is equal to 4096. The fun thing about binary power sets is that we can produce every possible combination, by merely invoking the integers from 0 (no tones) to 4095 (all 12 tones).

This means that every possible combination of tones in the 12-tone set can be represented by a number between 0 and 4095. We don't need to remember the fancy names like "phrygian", we can just call it scale number 1451. Convenient!

An important concept here is that any set of tones can be represented by a number. This number is not "ordinal" - it's not merely describing the position of the set in an indexed scheme; it's also not "cardinal" because it's not describing an amount of something. This is a nominal number because the number is the scale. You can do binary arithmetic with it, and you are adding and subtracting scales with no need to convert the scale into some other representation.

Interval Pattern

Another popular way of representing a scale is by its interval pattern. When I was learning the major scale, I was taught to say aloud: "tone, tone, semitone, tone, tone, tone, semitone". Many music theorists like to represent a scale this way because it's accurate and easy to understand: "TTSTTTS". Having a scale's interval pattern has merit as an intermediary step can make some kinds of analysis simpler. Expressed numerically - which is more convenient for computation - the major scale is [2,2,1,2,2,2,1].

Pitch Class Sets

Yet another way to represent a scale is as a "pitch class set", where the tones are assigned numbers 0 to 11 (sometimes using "T" and "E" for 10 and 11), and the set enumerates the ones present in the scale. A pitch class set for the major scale is notated like this: {0,2,4,5,7,9,11}. The "scales" we'll study here are a subset of Pitch Classes (ie those that have a root, and obey Zeitler's Rules) and we can use many of the same mathematical tricks to manipulate them.

What is a scale?

Or more importantly, what is not a scale?

Now that we have the superset of all possible sets of tones, we can whittle it down to exclude ones that we don't consider to be a legitimate "scale". We can do this with just two rules.

A scale starts on the root tone.

This means any set of notes that doesn't have that first bit turned on is not eligible to be called a scale. This cuts our power set in exactly half, leaving 2048 sets.

In binary, it's easy to see that the first bit is on or off. In decimal, you can easily tell this by whether the number is odd or even. All even numbers have the first bit off; therefore all scales are represented by an odd number.

We could have cut some corners in our discussion of scales by omitting the root tone (always assumed to be on) to work with 11 bits instead of 12, but there are compelling reasons for keeping the 12-bit number for our scales, such as simplifying the analysis of symmetry, simplifying the calculation of modes, and performing analysis of sonorities that do not include the root, where an even number is appropriate.

Scales remaining: 2048

A scale does not have any leaps greater than n semitones.

For the purposes of this exercise we are saying n = 4, a.k.a. a major third. Any collection of tones that has an interval greater than a major third is not considered a "scale". This configuration is consistent with Zeitler's constant used to generate his comprehensive list of scales.

Scales remaining: 1490

Now that we've whittled our set of tones to only the ones we'd call a "scale", let's count how many there are with each number of tones.

number of toneshow many scales
10
20
31
431
5155
6336
7413
8322
9165
1055
1111
121

Modes

There is a lot of confusion about what is a "mode", chiefly because the word is used slightly differently in various contexts.

When we say "C major", the word "major" refers to a specific pattern of whole- and half-steps. The "C" tells us to begin that pattern on the root tone of "C".

Modes are created when you use the same patterns of whole- and half-steps, but you begin on a different step. For instance, the "D Dorian" mode uses all the same notes as C major (the white keys on a piano), but it begins with D. Compared with the Major (also known as "Ionian" mode), the Dorian sounds different, because relative to the root note D, it has a minor third and a minor seventh.

The best way to understand modes is to think of a toy piano where the black keys are just painted on - all you have are the white keys: C D E F G A B. Can you play a song that sounds like it's in a minor key? You can't play a song in C minor, because that would require three flats. So instead you play the song with A as the root (A B C D E F G). That scale is a mode of the major scale, called the Aeolian Mode.

When you play that minor scale, you're not playing "C minor", you're playing the relative minor of C, which is "A minor". Modes are relatives of each other if they have the same pattern of steps, starting on different steps.

To compute a mode of the current scale, we "rotate" all the notes down one semitone. Then if the rotated notes have an on bit in the root, then it is a mode of the original scale. It's as if you take the bracelet diagram that we've been using throughout this study, and twist it like a dial so that a different note is at the top, in the root position.

  • 101010110101 = 2741 - major scale, "ionian" mode
  • 110101011010 = 3418 - rotated down 1 semitone - not a scale
  • 011010101101 = 1709 - rotated down 2 semitones - "dorian"
  • 101101010110 = 2902 - rotated down 3 semitones - not a scale
  • 010110101011 = 1451 - rotated down 4 semitones - "phrygian"
  • 101011010101 = 2773 - rotated down 5 semitones - "lydian"
  • 110101101010 = 3434 - rotated down 6 semitones - not a scale
  • 011010110101 = 1717 - rotated down 7 semitones - "mixolydian"
  • 101101011010 = 2906 - rotated down 8 semitones - not a scale
  • 010110101101 = 1453 - rotated down 9 semitones - "aeolian"
  • 101011010110 = 2774 - rotated down 10 semitones - not a scale
  • 010101101011 = 1387 - rotated down 11 semitones - "locrian"

When we do this to every scale, we see modal relationships between scales, and we also discover symmetries when a scale is a mode of itself on another degree.

Imperfection

Imperfection is a concept invented (so far as I can tell) by William Zeitler, to describe the presence or absense of perfect fifths in the scale tones. Any tone in the scale that does not have the perfect fifth above it represented in the scale is an "imperfect" tone. The number of imperfections is a metric that plausibly correlates with the perception of dissonance in a sonority.

The only scale that has no imperfections is the 12-tone chromatic scale.

https://ianring.com/musictheory/scales/

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/scales/symmetrical/index.html b/theory/scales/symmetrical/index.html index 4e5b203fe1..0b71e1873d 100644 --- a/theory/scales/symmetrical/index.html +++ b/theory/scales/symmetrical/index.html @@ -6,22 +6,22 @@ Symmetrical scales | Chromatone.center - + - - - - + + + + - - - - - - - - + + + + + + + + @@ -50,7 +50,7 @@
Chromatone logo
Symmetrical scales
Modes of limited transpostions and interval cycles

Asymmetric scales are "far more common" than symmetric scales and this may be accounted for by the inability of symmetric scales to possess the property of uniqueness (containing each interval class a unique number of times) which assists with determining the location of notes in relation to the first note of the scale.

Modes of limited transposition are musical modes or scales that fulfill specific criteria relating to their symmetry and the repetition of their interval groups. These scales may be transposed to all twelve notes of the chromatic scale, but at least two of these transpositions must result in the same pitch classes, thus their transpositions are "limited". They were compiled by the French composer Olivier Messiaen, and published in his book La technique de mon langage musical ("The Technique of my Musical Language").

Based on our present chromatic system, a tempered system of 12 sounds, these modes are formed of several symmetrical groups, the last note of each group always being common with the first of the following group. At the end of a certain number of chromatic transpositions which varies with each mode, they are no longer transposable, giving exactly the same notes as the first.

Messiaen found ways of employing all of the modes of limited transposition harmonically, melodically, and sometimes polyphonically. The whole-tone and octatonic scales have enjoyed quite widespread use since the turn of the 20th century, particularly by Debussy (the whole-tone scale) and Stravinsky (the octatonic scale).

The symmetry inherent in these modes (which means no note can be perceived as the tonic), together with certain rhythmic devices, Messiaen described as containing "the charm of impossibilities".

The composer Tōru Takemitsu made frequent use of Messiaen's modes, particularly the third mode.

Definition by chromatic transposition

Transposing the diatonic major scale up in semitones results in a different set of notes being used each time. For example, C major consists of C, D, E, F, G, A, B, and the scale a semitone higher (D♭ major) consists of D♭, E♭, F, G♭, A♭, B♭, C. By transposing D♭ major up another semitone, another new set of notes (D major) is produced, and so on, giving 12 different diatonic scales in total. When transposing a mode of limited transposition this is not the case. For example, the mode of limited transposition that Messiaen labelled "Mode 1", which is the whole tone scale, contains the notes C, D, E, F♯, G♯, A♯; transposing this mode up a semitone produces C♯, D♯, F, G, A, B. Transposing this up another semitone produces D, E, F♯, G♯, A♯, C, which is the same set of notes as the original scale. Since transposing the mode up a whole tone produces the same set of notes, mode 1 has only 2 transpositions.

Any scale having 12 different transpositions is not a mode of limited transposition.

Definition by shifting modal degrees

Consider the intervals of the major scale: tone, tone, semitone, tone, tone, tone, semitone. Starting the scale on a different degree will always create a new mode with individual interval layouts—for example starting on the second degree of a major scale gives the "Dorian mode"—tone, semitone, tone, tone, tone, semitone, tone. This is not so of the modes of limited transposition, which can be modally shifted only a limited number of times. For example, mode 1, the whole tone scale, contains the intervals tone, tone, tone, tone, tone, tone. Starting on any degree of the mode gives the same sequence of intervals, and therefore the whole tone scale has only 1 mode. Messiaen's mode 2, or the diminished scale, consists of semitone, tone, semitone, tone, semitone, tone, semitone, tone, which can be arranged only 2 ways, starting with either a tone or a semitone. Therefore mode 2 has two modes.

Any scale having the same number of modes as notes is not a mode of limited transposition.

Whole tone scale

Interval cycle 2 (C2).

A whole-tone scale is a scale in which each note is separated from its neighbors by the interval of a whole tone. In twelve-tone equal temperament, there are only two complementary whole-tone scales, both six-note or hexatonic scales. A single whole tone scale can also be thought of as a "six-tone equal temperament".

The whole-tone scale has no leading tone and because all tones are the same distance apart, "no single tone stands out, and the scale creates a blurred, indistinct effect". This effect is especially emphasised by the fact that triads built on such scale tones are all augmented triads. Indeed, all six tones of a whole-tone scale can be played simply with two augmented triads whose roots are a major second apart. Since they are symmetrical, whole-tone scales do not give a strong impression of the tonic or tonality.

Whole tone scale was used notably by Bach and Mozart, Glinka and Rimsky-Korsakov. H. C. Colles names as the "childhood of the whole-tone scale" the music of Berlioz and Schubert in France and Austria and then Russians Glinka and Dargomyzhsky. Claude Debussy, who had been influenced by Russians, along with other impressionist composers made extensive use of whole tone scales. Voiles, the second piece in Debussy's first book of Préludes, is almost entirely within one whole-tone scale.

The rāga Sahera in Hindustani classical music uses the same intervals as the whole-tone scale.

From second to the seventh modes

60000 px/sec
A 9#5#11 (messiaen's mode #1)
ABC#D#FGA9#5#11
FGABC#DbD#Eb
1P
2m
2M
3m
3M
4P
TT
5P
6m
6M
7m
7M
101010101010
1P
2M
3M
5d
6m
7m
2-2-2-2-2
# 2730
A
B
C#
D#
F
G
A whole-tone scale is a scale in which each note is separated from its neighbors by the interval of a whole tone. In twelve-tone equal temperament, there are only two complementary whole-tone scales, both six-note or hexatonic scales. A single whole tone scale can also be thought of as a "six-tone equal temperament".
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/sound/hearing/index.html b/theory/sound/hearing/index.html index 9109327b5d..16a0b82204 100644 --- a/theory/sound/hearing/index.html +++ b/theory/sound/hearing/index.html @@ -6,13 +6,13 @@ Human auditory system | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Human auditory system
Explore the intricate and inredibly complicated mechanism of converting acoustic vibrations to electrical nerve signals.

Tonal perception

Sound is amplified and transformed into nerve signals by mechanically activated hair cells emitting glutamate neurotransmitter in a basilar membrane in the cochlea of the human inner ear. It happens in a spiral organ with 2.5 coils of tonotopically organized bone tissue resonating with different frequencies in its different locations.

AUditory system anatomy

Auditory system anatomy

Basilar membrane

Hearing is a crucial aspect of human communication, as the ear transforms sound vibrations from the environment into nerve impulses that are interpreted as sounds by the brain. The cochlea, a part of the inner ear, is responsible for frequency analysis, with different sections resonating at different frequencies. The place theory of hearing suggests that each place in the cochlea corresponds to the perception of a given frequency.

The just noticeable difference in frequency is about 1 Hz for frequencies lower than 1000 Hz for most people. However, the resonance curves of the cochlea are broad and overlap, making it difficult for the ear to pick out frequencies that are close together. The place theory of hearing cannot fully explain how we perceive different frequencies, as it does not account for the ability to hear sudden changes in frequency.

The place theory of hearing is one of the two opposing theories that attempt to explain the perceptual processing of sound sensation, alongside the frequency theory explorable.com. The place theory suggests that each part of the cochlea resonates at a different frequency, with the stapes end resonating at high frequencies and the end furthest from the ossicles resonating at low frequencies. When a given frequency is presented to the cochlea, it causes motion in only one part, which sends a nerve impulse to the brain, enabling the perception of that frequency. However, the place theory has limitations, as the resonance curves are broad and overlap, making it difficult for the ear to distinguish frequencies that are close together.

The temporal theory of hearing is another overlapping theory that aims to explain the richness of auditory phenomena experienced by humans. Unlike the place theory, the temporal theory focuses on the timing of neural activity, suggesting that the brain processes temporal information to perceive sound. This theory posits that the brain uses the timing of neural activity to distinguish between different frequencies, even when the resonance curves of the cochlea overlap. Combining the place theory and the temporal theory can help explain the complexity of human auditory perception and provide a more comprehensive understanding of how we perceive sound.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/sound/index.html b/theory/sound/index.html index 5966360e71..f9250f3b2b 100644 --- a/theory/sound/index.html +++ b/theory/sound/index.html @@ -6,13 +6,13 @@ Sound | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/theory/sound/nature/index.html b/theory/sound/nature/index.html index 930b8bc4d9..d181b95f25 100644 --- a/theory/sound/nature/index.html +++ b/theory/sound/nature/index.html @@ -6,14 +6,14 @@ Nature of sound | Chromatone.center - + - - - - - + + + + + @@ -42,7 +42,7 @@
Chromatone logo
Nature of sound
The acoustic waves - their sources and mediums.

What is sound?

Acoustic vibrations propagate as mechanical waves of pressure in a transmission medium such as gas, liquid or solid. The speed of sound in air at 20 ºC is about 343 m/s (1,235 km/h) and complexly depends on density and pressure/stiffness of the medium. Audio range falls between infrasonic (<20 Hz) and ultrasonic (>20 kHz) frequencies.

Acoustic vibrations

Lindsay's Wheel of Acoustics

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/sound/pitch/index.html b/theory/sound/pitch/index.html index 300959aaef..b8f2067ce2 100644 --- a/theory/sound/pitch/index.html +++ b/theory/sound/pitch/index.html @@ -6,13 +6,13 @@ Frequency and pitch | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Frequency and pitch
The human perception of sound frequency as a place of it at a scale

Pitch is a perceptual property of sounds that allows their ordering on a frequency-related scale, or more commonly, pitch is the quality that makes it possible to judge sounds as "higher" and "lower" in the sense associated with musical melodies. Pitch is a major auditory attribute of musical tones, along with duration, loudness, and timbre.

Pitch may be quantified as a frequency, but pitch is not a purely objective physical property; it is a subjective psychoacoustical attribute of sound. Historically, the study of pitch and pitch perception has been a central problem in psychoacoustics, and has been instrumental in forming and testing theories of sound representation, processing, and perception in the auditory system.

Perception

Pitch and frequency

Pitch is an auditory sensation in which a listener assigns musical tones to relative positions on a musical scale based primarily on their perception of the frequency of vibration. Pitch is closely related to frequency, but the two are not equivalent. Frequency is an objective, scientific attribute that can be measured. Pitch is each person's subjective perception of a sound wave, which cannot be directly measured. However, this does not necessarily mean that most people won't agree on which notes are higher and lower.

The oscillations of sound waves can often be characterized in terms of frequency. Pitches are usually associated with, and thus quantified as, frequencies (in cycles per second, or hertz), by comparing the sounds being assessed against sounds with pure tones (ones with periodic, sinusoidal waveforms). Complex and aperiodic sound waves can often be assigned a pitch by this method.

According to the American National Standards Institute, pitch is the auditory attribute of sound according to which sounds can be ordered on a scale from low to high. Since pitch is such a close proxy for frequency, it is almost entirely determined by how quickly the sound wave is making the air vibrate and has almost nothing to do with the intensity, or amplitude, of the wave. That is, "high" pitch means very rapid oscillation, and "low" pitch corresponds to slower oscillation. Despite that, the idiom relating vertical height to sound pitch is shared by most languages. At least in English, it is just one of many deep conceptual metaphors that involve up/down. The exact etymological history of the musical sense of high and low pitch is still unclear. There is evidence that humans do actually perceive that the source of a sound is slightly higher or lower in vertical space when the sound frequency is increased or reduced.

In most cases, the pitch of complex sounds such as speech and musical notes corresponds very nearly to the repetition rate of periodic or nearly-periodic sounds, or to the reciprocal of the time interval between repeating similar events in the sound waveform.

The pitch of complex tones can be ambiguous, meaning that two or more different pitches can be perceived, depending upon the observer. When the actual fundamental frequency can be precisely determined through physical measurement, it may differ from the perceived pitch because of overtones, also known as upper partials, harmonic or otherwise. A complex tone composed of two sine waves of 1000 and 1200 Hz may sometimes be heard as up to three pitches: two spectral pitches at 1000 and 1200 Hz, derived from the physical frequencies of the pure tones, and the combination tone at 200 Hz, corresponding to the repetition rate of the waveform. In a situation like this, the percept at 200 Hz is commonly referred to as the missing fundamental, which is often the greatest common divisor of the frequencies present.

Pitch depends to a lesser degree on the sound pressure level (loudness, volume) of the tone, especially at frequencies below 1,000 Hz and above 2,000 Hz. The pitch of lower tones gets lower as sound pressure increases. For instance, a tone of 200 Hz that is very loud seems one semitone lower in pitch than if it is just barely audible. Above 2,000 Hz, the pitch gets higher as the sound gets louder. These results were obtained in the pioneering works by S. Stevens and W. Snow. Later investigations, i.e. by A. Cohen, had shown that in most cases the apparent pitch shifts were not significantly different from pitch‐matching errors. When averaged, the remaining shifts followed the directions of Stevens' curves but were small (2% or less by frequency, i.e. not more than a semitone).

Theories of pitch perception

Theories of pitch perception try to explain how the physical sound and specific physiology of the auditory system work together to yield the experience of pitch. In general, pitch perception theories can be divided into place coding and temporal coding. Place theory holds that the perception of pitch is determined by the place of maximum excitation on the basilar membrane.

A place code, taking advantage of the tonotopy in the auditory system, must be in effect for the perception of high frequencies, since neurons have an upper limit on how fast they can phase-lock their action potentials. However, a purely place-based theory cannot account for the accuracy of pitch perception in the low and middle frequency ranges. Moreover, there is some evidence that some non-human primates lack auditory cortex responses to pitch despite having clear tonotopic maps in auditory cortex, showing that tonotopic place codes are not sufficient for pitch responses.

Temporal theories offer an alternative that appeals to the temporal structure of action potentials, mostly the phase-locking and mode-locking of action potentials to frequencies in a stimulus. The precise way this temporal structure helps code for pitch at higher levels is still debated, but the processing seems to be based on an autocorrelation of action potentials in the auditory nerve. However, it has long been noted that a neural mechanism that may accomplish a delay—a necessary operation of a true autocorrelation—has not been found. At least one model shows that a temporal delay is unnecessary to produce an autocorrelation model of pitch perception, appealing to phase shifts between cochlear filters; however, earlier work has shown that certain sounds with a prominent peak in their autocorrelation function do not elicit a corresponding pitch percept, and that certain sounds without a peak in their autocorrelation function nevertheless elicit a pitch. To be a more complete model, autocorrelation must therefore apply to signals that represent the output of the cochlea, as via auditory-nerve interspike-interval histograms. Some theories of pitch perception hold that pitch has inherent octave ambiguities, and therefore is best decomposed into a pitch chroma, a periodic value around the octave, like the note names in western music—and a pitch height, which may be ambiguous, that indicates the octave the pitch is in.

Just-noticeable difference

The just-noticeable difference (jnd) (the threshold at which a change is perceived) depends on the tone's frequency content. Below 500 Hz, the jnd is about 3 Hz for sine waves, and 1 Hz for complex tones; above 1000 Hz, the jnd for sine waves is about 0.6% (about 10 cents). The jnd is typically tested by playing two tones in quick succession with the listener asked if there was a difference in their pitches. The jnd becomes smaller if the two tones are played simultaneously as the listener is then able to discern beat frequencies. The total number of perceptible pitch steps in the range of human hearing is about 1,400; the total number of notes in the equal-tempered scale, from 16 to 16,000 Hz, is 120.

Aural illusions

The relative perception of pitch can be fooled, resulting in aural illusions. There are several of these, such as the tritone paradox, but most notably the Shepard scale, where a continuous or discrete sequence of specially formed tones can be made to sound as if the sequence continues ascending or descending forever.

Definite and indefinite pitch

Not all musical instruments make notes with a clear pitch. The unpitched percussion instrument (a class of percussion instrument) does not produce particular pitches. A sound or note of definite pitch is one where a listener can possibly (or relatively easily) discern the pitch. Sounds with definite pitch have harmonic frequency spectra or close to harmonic spectra.

A sound generated on any instrument produces many modes of vibration that occur simultaneously. A listener hears numerous frequencies at once. The vibration with the lowest frequency is called the fundamental frequency; the other frequencies are overtones. Harmonics are an important class of overtones with frequencies that are integer multiples of the fundamental. Whether or not the higher frequencies are integer multiples, they are collectively called the partials, referring to the different parts that make up the total spectrum.

A sound or note of indefinite pitch is one that a listener finds impossible or relatively difficult to identify as to pitch. Sounds with indefinite pitch do not have harmonic spectra or have altered harmonic spectra—a characteristic known as inharmonicity.

It is still possible for two sounds of indefinite pitch to clearly be higher or lower than one another. For instance, a snare drum sounds higher pitched than a bass drum though both have indefinite pitch, because its sound contains higher frequencies. In other words, it is possible and often easy to roughly discern the relative pitches of two sounds of indefinite pitch, but sounds of indefinite pitch do not neatly correspond to any specific pitch.

Labeling pitches

Pitches are labeled using:

  • Letters, as in Helmholtz pitch notation
  • A combination of letters and numbers—as in scientific pitch notation, where notes are labelled upwards from C0, the 16 Hz C
  • Numbers that represent the frequency in hertz (Hz), the number of cycles per second

For example, one might refer to the A above middle C as a′, A4, or 440 Hz. In standard Western equal temperament, the notion of pitch is insensitive to "spelling": the description "G4 double sharp" refers to the same pitch as A4; in other temperaments, these may be distinct pitches. Human perception of musical intervals is approximately logarithmic with respect to fundamental frequency: the perceived interval between the pitches "A220" and "A440" is the same as the perceived interval between the pitches A440 and A880. Motivated by this logarithmic perception, music theorists sometimes represent pitches using a numerical scale based on the logarithm of fundamental frequency. For example, one can adopt the widely used MIDI standard to map fundamental frequency, f, to a real number, p, as follows

p = 69 + 12 × log 2 ⁡ ( f 440 Hz )

This creates a linear pitch space in which octaves have size 12, semitones (the distance between adjacent keys on the piano keyboard) have size 1, and A440 is assigned the number 69. Distance in this space corresponds to musical intervals as understood by musicians. An equal-tempered semitone is subdivided into 100 cents. The system is flexible enough to include "microtones" not found on standard piano keyboards. For example, the pitch halfway between C (60) and C♯ (61) can be labeled 60.5.

Pitch standards and standard pitch

A pitch standard (also concert pitch) is the conventional pitch reference a group of musical instruments are tuned to for a performance. Concert pitch may vary from ensemble to ensemble, and has varied widely over musical history.

Standard pitch is a more widely accepted convention. The A above middle C is usually set at 440 Hz (often written as "A = 440 Hz" or sometimes "A440"), although other frequencies, such as 442 Hz, are also often used as variants. Another standard pitch, the so-called Baroque pitch, has been set in the 20th century as A = 415 Hz—approximately an equal-tempered semitone lower than A440 to facilitate transposition. The Classical pitch can be set to either 427 Hz (about halfway between A415 and A440) or 430 Hz (also between A415 and A440 but slightly sharper than the quarter tone). And ensembles specializing in authentic performance set the A above middle C to 432 Hz or 435 Hz when performing repertoire from the Romantic era.

Transposing instruments have their origin in the variety of pitch standards. In modern times, they conventionally have their parts transposed into different keys from voices and other instruments (and even from each other). As a result, musicians need a way to refer to a particular pitch in an unambiguous manner when talking to each other.

For example, the most common type of clarinet or trumpet, when playing a note written in their part as C, sounds a pitch that is called B♭ on a non-transposing instrument like a violin (which indicates that at one time these wind instruments played at a standard pitch a tone lower than violin pitch). To refer to that pitch unambiguously, a musician calls it concert B♭, meaning, "...the pitch that someone playing a non-transposing instrument like a violin calls B♭."

A440 (pitch standard)

A440 (also known as Stuttgart pitch) is the musical pitch corresponding to an audio frequency of 440 Hz, which serves as a tuning standard for the musical note of A above middle C, or A4 in scientific pitch notation. It is standardized by the International Organization for Standardization as ISO 16. While other frequencies have been (and occasionally still are) used to tune the first A above middle C, A440 is now commonly used as a reference frequency to calibrate acoustic equipment and to tune pianos, violins, and other musical instruments.

History and use

Before standardization on 440 Hz, many countries and organizations followed the French standard since the 1860s of 435 Hz, which had also been the Austrian government's 1885 recommendation. Johann Heinrich Scheibler recommended A440 as a standard in 1834 after inventing the "tonometer" to measure pitch, and it was approved by the Society of German Natural Scientists and Physicians the same year.

The American music industry reached an informal standard of 440 Hz in 1926, and some began using it in instrument manufacturing.

In 1936, the American Standards Association recommended that the A above middle C be tuned to 440 Hz. This standard was taken up by the International Organization for Standardization in 1955 (reaffirmed by them in 1975) as ISO 16.

It is designated A4 in scientific pitch notation because it occurs in the octave that starts with the fourth C key on a standard 88-key piano keyboard. On MIDI, A440 is note 69 (0x45 hexadecimal).

Modern practices

A440 is widely used as concert pitch in the United Kingdom and the United States. In continental Europe the frequency of A4 commonly varies between 440 Hz and 444 Hz. In the period instrument movement, a consensus has arisen around a modern baroque pitch of 415 Hz (with 440 Hz corresponding to A♯), a 'baroque' pitch for some special church music (in particular, some German church music, e.g. the pre-Leipzig period cantatas of Bach) known as Chorton pitch at 466 Hz (with 440 Hz corresponding to A♭), and classical pitch at 427–430 Hz.

The US time and frequency station WWV broadcasts a 440 Hz signal at two minutes past every hour, with WWVH broadcasting the same tone at the first minute past every hour. This was added in 1936 to aid orchestras in tuning their instruments.

History of pitch standards in Western music

Historically, various standards have been used to fix the pitch of notes at certain frequencies. Various systems of musical tuning have also been used to determine the relative frequency of notes in a scale.

Pre-19th century

Until the 19th century, there was no coordinated effort to standardize musical pitch, and the levels across Europe varied widely. Pitches did not just vary from place to place, or over time—pitch levels could vary even within the same city. The pitch used for an English cathedral organ in the 17th century, for example, could be as much as five semitones lower than that used for a domestic keyboard instrument in the same city.

Even within one church, the pitch used could vary over time because of the way organs were tuned. Generally, the end of an organ pipe would be hammered inwards to a cone, or flared outwards, to raise or lower the pitch. When the pipe ends became frayed by this constant process they were all trimmed down, thus raising the overall pitch of the organ.

From the early 18th century, pitch could also be controlled with the use of tuning forks (invented in 1711), although again there was variation. For example, a tuning fork associated with Handel, dating from 1740, is pitched at A = 422.5 Hz, while a later one from 1780 is pitched at A = 409 Hz, about a quarter-tone lower. A tuning fork that belonged to Ludwig van Beethoven around 1800, now in the British Library, is pitched at A = 455.4 Hz, well over a half-tone higher.

Overall, there was a tendency towards the end of the 18th century for the frequency of the A above middle C to be in the range of 400 to 450 Hz.

The frequencies quoted here are based on modern measurements and would not have been precisely known to musicians of the day. Although Mersenne had made a rough determination of sound frequencies as early as the 17th century, such measurements did not become scientifically accurate until the 19th century, beginning with the work of German physicist Johann Scheibler in the 1830s. The term formerly used for the unit of pitch, cycle per second (CPS) was renamed the hertz (Hz) in the 20th century in honor of Heinrich Hertz.

Pitch inflation

During historical periods when instrumental music rose in prominence (relative to the voice), there was a continuous tendency for pitch levels to rise. This "pitch inflation" seemed largely a product of instrumentalists competing with each other, each attempting to produce a brighter, more "brilliant", sound than that of their rivals. On at least two occasions, pitch inflation had become so severe that reform became needed. At the beginning of the 17th century, Michael Praetorius reported in his encyclopedic Syntagma musicum that pitch levels had become so high that singers were experiencing severe throat strain and lutenists and viol players were complaining of snapped strings. The standard voice ranges he cites show that the pitch level of his time, at least in the part of Germany where he lived, was at least a minor third higher than today's. Solutions to this problem were sporadic and local, but generally involved the establishment of separate standards for voice and organ (German: Chorton, lit. 'choir tone') and for chamber ensembles (German: Kammerton, lit. 'chamber tone'). Where the two were combined, as for example in a cantata, the singers and instrumentalists might perform from music written in different keys. This system kept pitch inflation at bay for some two centuries.

Concert pitch rose further in the 19th century as may be seen reflected in the tuning forks of France. The pipe organ tuning fork in Versailles Chapel in 1795 is 390 Hz, but in the Paris Opera an 1810 tuning fork gives A = 423 Hz, an 1822 fork gives A = 432 Hz, and an 1855 fork gives A = 449 Hz. At La Scala in Milan, the A above middle C rose as high as 451 Hz.

19th- and 20th-century standards

The strongest opponents of the upward tendency in pitch were singers, who complained that it was putting a strain on their voices. Largely due to their protests, the French government passed a law on February 16, 1859, which set the A above middle C at 435 Hz. This was the first attempt to standardize pitch on such a scale, and was known as the diapason normal. It became quite a popular pitch standard outside France as well, and has also been known at various times as French pitch, continental pitch or international pitch (the last of these not to be confused with the 1939 "international standard pitch" described below). An 1885 conference in Vienna established this value among Italy, Austria, Hungary, Russia, Prussia, Saxony, Sweden and Württemberg. This was included as "Convention of 16 and 19 November 1885 regarding the establishment of a concert pitch" in the Treaty of Versailles in 1919 which formally ended World War I. The diapason normal resulted in middle C being tuned at about 258.65 Hz.

An alternative pitch standard known as philosophical or scientific pitch fixes middle C at 256 Hz (that is, 28 Hz), which results the A above it being approximately 430.54 Hz in equal temperament tuning. The appeal of this system is its mathematical idealism (the frequencies of all the Cs being powers of two). This system never received the same official recognition as the French A = 435 Hz and has not been widely used. This tuning has been promoted unsuccessfully by the LaRouche movement's Schiller Institute under the name Verdi tuning since Italian composer Giuseppe Verdi had proposed a slight lowering of the French tuning system. However, the Schiller Institute's recommended tuning for A of 432 Hz is for the Pythagorean ratio of 27:16, rather than the logarithmic ratio of equal temperament tuning.

British attempts at standardisation in the 19th century gave rise to the old philharmonic pitch standard of about A = 452 Hz (different sources quote slightly different values), replaced in 1896 by the considerably "deflated" new philharmonic pitch at A = 439 Hz. The high pitch was maintained by Sir Michael Costa for the Crystal Palace Handel Festivals, causing the withdrawal of the principal tenor Sims Reeves in 1877, though at singers' insistence the Birmingham Festival pitch was lowered (and the organ retuned) at that time. At the Queen's Hall in London, the establishment of the diapason normal for the Promenade Concerts in 1895 (and retuning of the organ to A = 435.5 at 15 °C (59 °F), to be in tune with A = 439 in a heated hall) caused the Royal Philharmonic Society and others (including the Bach Choir, and the Felix Mottl and Arthur Nikisch concerts) to adopt the continental pitch thereafter.

In England the term low pitch was used from 1896 onward to refer to the new Philharmonic Society tuning standard of A = 439 Hz at 68 °F, while "high pitch" was used for the older tuning of A = 452.4 Hz at 60 °F. Although the larger London orchestras were quick to conform to the new, low pitch, provincial orchestras continued using the high pitch until at least the 1920s, and most brass bands were still using the high pitch in the mid-1960s. Highland pipe bands continue to use an even sharper tuning, around A = 470–480 Hz, over a semitone higher than A440. As a result, bagpipes are often perceived as playing in B♭ despite being notated in A (as if they were transposing instruments in D-flat), and are often tuned to match B♭ brass instruments when the two are required to play together.

The Stuttgart Conference of 1834 recommended C264 (A440) as the standard pitch based on Scheibler's studies with his Tonometer. For this reason A440 has been referred to as Stuttgart pitch or Scheibler pitch.

In 1939, an international conference recommended that the A above middle C be tuned to 440 Hz, now known as concert pitch. As a technical standard this was taken up by the International Organization for Standardization in 1955 and reaffirmed by them in 1975 as ISO 16. The difference between this and the diapason normal is due to confusion over the temperature at which the French standard should be measured. The initial standard was A = 439 Hz, but this was superseded by A = 440 Hz, possibly because 439 Hz was difficult to reproduce in a laboratory since 439 is a prime number.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/sound/psychoacoustics/illusions/index.html b/theory/sound/psychoacoustics/illusions/index.html index 3a29bb1cdc..d4b3b35556 100644 --- a/theory/sound/psychoacoustics/illusions/index.html +++ b/theory/sound/psychoacoustics/illusions/index.html @@ -6,13 +6,13 @@ Audio illusions | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Audio illusions
Deeper explorations of subtle psychoacoustic effects
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/sound/psychoacoustics/index.html b/theory/sound/psychoacoustics/index.html index 6ffda5907b..ce6f04c72d 100644 --- a/theory/sound/psychoacoustics/index.html +++ b/theory/sound/psychoacoustics/index.html @@ -6,13 +6,13 @@ Psychoacoustics | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Psychoacoustics
The science of percieved sound

Equal-loudness contour

The human auditory system is sensitive to frequencies from about 20 Hz to a maximum of around 20,000 Hz, although the upper hearing limit decreases with age. Within this range, the human ear is most sensitive between 2 and 5 kHz, largely due to the resonance of the ear canal and the transfer function of the ossicles of the middle ear.

Fletcher and Munson first measured equal-loudness contours using headphones (1933). In their study, test subjects listened to pure tones at various frequencies and over 10 dB increments in stimulus intensity. For each frequency and intensity, the listener also listened to a reference tone at 1000 Hz. Fletcher and Munson adjusted the reference tone until the listener perceived that it was the same loudness as the test tone. Loudness, being a psychological quantity, is difficult to measure, so Fletcher and Munson averaged their results over many test subjects to derive reasonable averages. The lowest equal-loudness contour represents the quietest audible tone—the absolute threshold of hearing. The highest contour is the threshold of pain.

In 1956 Robinson and Dadson produced a new experimental determination that they believed was more accurate. It became the basis for a standard (ISO 226) that was considered definitive until 2003 when ISO revised the standard on the basis of recent assessments by research groups worldwide.

Audial illusions

https://en.wikipedia.org/wiki/Interaural_time_difference

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/sound/timbre/index.html b/theory/sound/timbre/index.html index ac1d6c7683..3e6237285c 100644 --- a/theory/sound/timbre/index.html +++ b/theory/sound/timbre/index.html @@ -6,13 +6,13 @@ Timbre and overtones | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Timbre and overtones
The character of sound

Timbre

In music, timbre, also known as tone color or tone quality (from psychoacoustics), is the perceived sound quality of a musical note, sound or tone. Timbre distinguishes different types of sound production, such as choir voices and musical instruments. It also enables listeners to distinguish different instruments in the same category (e.g., an oboe and a clarinet, both woodwind instruments).

The physical characteristics of sound that determine the perception of timbre include frequency spectrum and envelope. Singers and instrumental musicians can change the timbre of the music they are singing/playing by using different singing or playing techniques. For example, a violinist can use different bowing styles or play on different parts of the string to obtain different timbres (e.g., playing sul tasto produces a light, airy timbre, whereas playing sul ponticello produces a harsh, even and aggressive tone).

Attributes of timbre

Many commentators have attempted to decompose timbre into component attributes. For example, J. F. Schouten (1968, 42) describes the "elusive attributes of timbre" as "determined by at least five major acoustic parameters", which Robert Erickson finds, "scaled to the concerns of much contemporary music":

  • Range between tonal and noiselike character
  • Spectral envelope
  • Time envelope in terms of rise, duration, and decay (ADSR, which stands for "attack, decay, sustain, release")
  • Changes both of spectral envelope (formant-glide) and fundamental frequency (micro-intonation)
  • Prefix, or onset of a sound, quite dissimilar to the ensuing lasting vibration

Amplitude envelope

  • Attack: time from silence to the loudest level
  • Decay: time from loudest level to sustain level
  • Sustain: level of volume while the sound is holded
  • Release: time to return to silence after releasing the hold

Helmholz resonance

Helmholtz resonance or wind throb is the phenomenon of air resonance in a cavity, such as when one blows across the top of an empty bottle. The name comes from a device created in the 1850s by Hermann von Helmholtz, the Helmholtz resonator, which he used to identify the various frequencies or musical pitches present in music and other complex sounds.

When air is forced into a cavity, the pressure inside increases. When the external force pushing the air into the cavity is removed, the higher-pressure air inside will flow out. Due to the inertia of the moving air the cavity will be left at a pressure slightly lower than the outside, causing air to be drawn back in. This process repeats, with the magnitude of the pressure oscillations increasing and decreasing asymptotically after the sound starts and stops.

When the resonator's 'nipple' is placed inside one's ear, a specific frequency of the complex sound can be picked out and heard clearly. In his book Helmholtz’ explains: When we "apply a resonator to the ear, most of the tones produced in the surrounding air will be considerably damped; but if the proper tone of the resonator is sounded, it brays into the ear most powerfully…. The proper tone of the resonator may even be sometimes heard cropping up in the whistling of the wind, the rattling of carriage wheels, the splashing of water."

Harmonics – the natural resonances

A note isn't just a wave, it's a mix of resonating modes of oscillations.

Tristimulus timbre model

The concept of tristimulus originates in the world of color, describing the way three primary colors can be mixed together to create a given color. By analogy, the musical tristimulus measures the mixture of harmonics in a given sound, grouped into three sections. It is basically a proposal of reducing a huge number of sound partials, that can amount to dozens or hundreds in some cases, down to only three values. The first tristimulus measures the relative weight of the first harmonic; the second tristimulus measures the relative weight of the second, third, and fourth harmonics taken together; and the third tristimulus measures the relative weight of all the remaining harmonics.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/synthesis/audio-programming/index.html b/theory/synthesis/audio-programming/index.html index a1d5f24f8d..6dfb0a129a 100644 --- a/theory/synthesis/audio-programming/index.html +++ b/theory/synthesis/audio-programming/index.html @@ -6,13 +6,13 @@ Audio Programming | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Audio Programming
List of most notable audio programming languages
  • ABC notation, a language for notating music using the ASCII character set
  • Bol Processor, a model of formal grammars enriched with polymetric expressions for the representation of time structures
  • ChucK, strongly timed, concurrent, and on-the-fly audio programming language
  • Real-time Cmix, a MUSIC-N synthesis language somewhat similar to Csound
  • Cmajor, a high-performance JIT-compiled C-style language for DSP
  • Common Lisp Music (CLM), a music synthesis and signal processing package in the Music V family
  • Csound, a MUSIC-N synthesis language released under the LGPL with many available unit generators
  • Elementary audio, a JavaScript library for digital audio signal processing. Generate and transform sound, both natively and in the browser with a functional, declarative API.
  • Extempore, a live-coding environment that borrows a core foundation from the Impromptu environment
  • FAUST, Functional Audio Stream, a functional compiled language for efficient real-time audio signal processing
  • GLICOL, a graph-oriented live coding language written in Rust
  • Hierarchical Music Specification Language (HMSL), optimized more for music than synthesis, developed in the 1980s in Forth
  • Impromptu, a Scheme language environment for Mac OS X capable of sound and video synthesis, algorithmic composition, and 2D and 3D graphics programming
  • Ixi lang, a programming language for live coding musical expression.
  • JFugue, a Java and JVM library for programming music that outputs to MIDI and has the ability to convert to formats including ABC Notation, Lilypond, and MusicXML
  • jMusic
  • JSyn
  • Keykit, a programming language and portable graphical environment for MIDI music composition
  • Kyma (sound design language)
  • LilyPond, a computer program and file format for music engraving.
  • Max/MSP, a proprietary, modular visual programming language aimed at sound synthesis for music
  • Music Macro Language (MML), often used to produce chiptune music in Japan
  • MUSIC-N, includes versions I, II, III, IV, IV-B, IV-BF, V, 11, and 360
  • Nyquist
  • OpenMusic
  • Orca (music programming language), a two-dimensional esoteric programming language in which every letter of the alphabet is an operator, where lowercase letters operate on bang, uppercase letters operate each frame
  • Pure Data, a modular visual programming language for signal processing aimed at music creation
  • Tidal Cycles, a live coding environment for algorithmic patterns, written in Haskell and using Supercollider for synthesis
  • Reaktor
  • Sonic Pi
  • Structured Audio Orchestra Language (SAOL), part of the MPEG-4 Structured Audio standard
  • SuperCollider
  • SynthEdit, a modular visual programming language for signal processing aimed at creating audio plug-ins
  • melo - Micro language for floatbeats and audio, it has smooth operator and organic sugar. Compiles to compact 0-runtime WASM with linear memory.
  • topos - A Web-Based Algorithmic Sequencer. Topos is a web based live coding environment designed to be installation-free, independant and fun.
Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/synthesis/distortion/index.html b/theory/synthesis/distortion/index.html index 233a5858f1..e5f0fe618d 100644 --- a/theory/synthesis/distortion/index.html +++ b/theory/synthesis/distortion/index.html @@ -6,13 +6,13 @@ Distortion | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Distortion
Linear and non-linear harmonic distortion

Distortion and overdrive are forms of audio signal processing used to alter the sound of amplified electric musical instruments, usually by increasing their gain, producing a "fuzzy", "growling", or "gritty" tone. Distortion is most commonly used with the electric guitar, but may also be used with other electric instruments such as electric bass, electric piano, synthesizer and Hammond organ. Guitarists playing electric blues originally obtained an overdriven sound by turning up their vacuum tube-powered guitar amplifiers to high volumes, which caused the signal to distort. While overdriven tube amps are still used to obtain overdrive, especially in genres like blues and rockabilly, a number of other ways to produce distortion have been developed since the 1960s, such as distortion effect pedals. The growling tone of a distorted electric guitar is a key part of many genres, including blues and many rock music genres, notably hard rock, punk rock, hardcore punk, acid rock, and heavy metal music, while the use of distorted bass has been essential in a genre of hip hop music and alternative hip hop known as "SoundCloud rap".

The effects alter the instrument sound by clipping the signal (pushing it past its maximum, which shears off the peaks and troughs of the signal waves), adding sustain and harmonic and inharmonic overtones and leading to a compressed sound that is often described as "warm" and "dirty", depending on the type and intensity of distortion used. The terms distortion and overdrive are often used interchangeably; where a distinction is made, distortion is a more extreme version of the effect than overdrive. Fuzz is a particular form of extreme distortion originally created by guitarists using faulty equipment (such as a misaligned valve (tube); see below), which has been emulated since the 1960s by a number of "fuzzbox" effects pedals.

Distortion, overdrive, and fuzz can be produced by effects pedals, rackmounts, pre-amplifiers, power amplifiers (a potentially speaker-blowing approach), speakers and (since the 2000s) by digital amplifier modeling devices and audio software. These effects are used with electric guitars, electric basses (fuzz bass), electronic keyboards, and more rarely as a special effect with vocals. While distortion is often created intentionally as a musical effect, musicians and sound engineers sometimes take steps to avoid distortion, particularly when using PA systems to amplify vocals or when playing back prerecorded music.

History

The guitar solo on Chuck Berry's 1955 single "Maybellene" features "warm" overtone distortion produced by an inexpensive valve (tube) amplifier.

Early uses of amplified distortion

The first guitar amplifiers were relatively low-fidelity, and would often produce distortion when their volume (gain) was increased beyond their design limit or if they sustained minor damage. Around 1945, Western swing guitarist Junior Barnard began experimenting with a rudimentary humbucker pick-up and a small amplifier to obtain his signature "low-down and dirty" bluesy sound. Many electric blues guitarists, including Chicago bluesmen such as Elmore James and Buddy Guy, experimented in order to get a guitar sound that paralleled the rawness of blues singers such as Muddy Waters and Howlin' Wolf, replacing often their originals with the powerful Valco "Chicagoan" pick-ups, originally created for lap-steel, to obtain a louder and fatter tone. In early rock music, Goree Carter's "Rock Awhile" (1949) featured an over-driven electric guitar style similar to that of Chuck Berry several years later, as well as Joe Hill Louis' "Boogie in the Park" (1950).

In the early 1950s, guitar distortion sounds started to evolve based on sounds created earlier in the decade by accidental damage to amps, such as in the popular early recording of the 1951 Ike Turner and the Kings of Rhythm song "Rocket 88", where guitarist Willie Kizart used a vacuum tube amplifier that had a speaker cone slightly damaged in transport. Electric guitarists began intentionally "doctoring" amplifiers and speakers in order to emulate this form of distortion.

Electric blues guitarist Willie Johnson of Howlin' Wolf′s band began deliberately increasing gain beyond its intended levels to produce "warm" distorted sounds. Guitar Slim also experimented with distorted overtones, which can be heard in his hit electric blues song "The Things That I Used to Do" (1953). Chuck Berry's 1955 classic "Maybellene" features a guitar solo with warm overtones created by his small valve amplifier. Pat Hare produced heavily distorted power chords on his electric guitar for records such as James Cotton's "Cotton Crop Blues" (1954) as well as his own "I'm Gonna Murder My Baby" (1954), creating "a grittier, nastier, more ferocious electric guitar sound," accomplished by turning the volume knob on his amplifier "all the way to the right until the speaker was screaming."

In 1956, guitarist Paul Burlison of the Johnny Burnette Trio deliberately dislodged a vacuum tube in his amplifier to record "The Train Kept A-Rollin" after a reviewer raved about the sound Burlison's damaged amplifier produced during a live performance. According to other sources Burlison's amp had a partially broken loudspeaker cone. Pop-oriented producers were horrified by that eerie "two-tone" sound, quite clean on trebles but strongly distorted on basses, but Burnette insisted on releasing the sessions, arguing that "that guitar sounds like a nice horn section".

In the late 1950s, Guitarist Link Wray began intentionally manipulating his amplifiers' vacuum tubes to create a "noisy" and "dirty" sound for his solos after a similarly accidental discovery. Wray also poked holes in his speaker cones with pencils to further distort his tone, used electronic echo chambers (then usually employed by singers), the recent powerful and "fat" Gibson humbucker pickups, and controlled "feedback" (Larsen effect). The resultant sound can be heard on his highly influential 1958 instrumental, "Rumble" and Rawhide.

1960s: fuzz, distortion, and introduction of commercial devices

In 1961, Grady Martin scored a hit with a fuzzy tone caused by a faulty preamplifier that distorted his guitar playing on the Marty Robbins song "Don't Worry". Later that year Martin recorded an instrumental tune under his own name, using the same faulty preamp. The song, on the Decca label, was called "The Fuzz." Martin is generally credited as the discoverer of the "fuzz effect." The recording engineer from Martin's sessions, Glenn Snoddy, partnered with fellow WSM radio engineer Revis V. Hobbs to design and build a stand-alone device that would intentionally create the fuzzy effect. The two engineers sold their circuit to Gibson, who introduced it as the Maestro FZ-1 Fuzz-Tone in 1962, one of the first commercially-successful mass-produced guitar pedals.

Shortly thereafter, the American instrumental rock band The Ventures asked their friend, session musician and electronics enthusiast Orville "Red" Rhodes for help recreating the Grady Martin "fuzz" sound. Rhodes offered The Ventures a fuzzbox he had made, which they used to record "2000 Pound Bee" in 1962.

In 1964, a fuzzy and somewhat distorted sound gained widespread popularity after guitarist Dave Davies of The Kinks used a razor blade to slash his speaker cones for the band's single "You Really Got Me".

In May 1965 Keith Richards used a Maestro FZ-1 Fuzz-Tone to record "(I Can't Get No) Satisfaction". The song's success greatly boosted sales of the device, and all available stock sold out by the end of 1965. Other early fuzzboxes include the Mosrite FuzzRITE and Arbiter Group Fuzz Face used by Jimi Hendrix, the Electro-Harmonix Big Muff Pi used by Hendrix and Carlos Santana, and the Vox Tone Bender used by Paul McCartney to play fuzz bass on "Think for Yourself" and other Beatles recordings.

In 1966, Jim Marshall of the British company Marshall Amplification began modifying the electronic circuitry of his amplifiers so as to achieve a "brighter, louder" sound and fuller distortion capabilities. Also in 1966, Syd Barrett of Pink Floyd created the song Interstellar Overdrive, a song made entirely in electric distortion. It was released a year later in modified form on their debut album The Piper at the Gates of Dawn.

In the late 1960s and early 1970s hard rock bands such as Deep Purple, Led Zeppelin and Black Sabbath forged what would eventually become the heavy metal sound through a combined use of high volumes and heavy distortion.

Theory and circuits

Waveform plot showing the different types of clipping. Valve overdrive is a form of soft limiting, while transistor clipping or extremely overdriven valves resemble hard clipping.

The word distortion refers to any modification of wave form of a signal, but in music it is used to refer to nonlinear distortion (excluding filters) and particularly to the introduction of new frequencies by memoryless nonlinearities. In music the different forms of linear distortion have specific names describing them. The simplest of these is a distortion process known as "volume adjustment", which involves distorting the amplitude of a sound wave in a proportional (or 'linear') way in order to increase or decrease the volume of the sound without affecting the tone quality. In the context of music, the most common source of (nonlinear) distortion is clipping in amplifier circuits and is most commonly known as overdrive.

Clipping is a non-linear process that produces frequencies not originally present in the audio signal. These frequencies can be harmonic overtones, meaning they are whole number multiples of one of the signal's original frequencies, or "inharmonic", resulting from general intermodulation distortion. The same nonlinear device will produce both types of distortion, depending on the input signal. Intermodulation occurs whenever the input frequencies are not already harmonically related. For instance, playing a power chord through distortion results in intermodulation that produces new subharmonics.

"Soft clipping" gradually flattens the peaks of a signal which creates a number of higher harmonics which share a harmonic relationship with the original tone. "Hard clipping" flattens peaks abruptly, resulting in higher power in higher harmonics. As clipping increases, a tone input progressively begins to resemble a square wave which has odd number harmonics. This is generally described as sounding "harsh".

Distortion and overdrive circuits each 'clip' the signal before it reaches the main amplifier (clean boost circuits do not necessarily create 'clipping') as well as boost signals to levels that cause distortion to occur at the main amplifier's front end stage (by exceeding the ordinary input signal amplitude, thus overdriving the amplifier) Note : product names may not accurately reflect type of circuit involved - see above.

A fuzz box alters an audio signal until it is nearly a square wave and adds complex overtones by way of a frequency multiplier.

Valve overdrive

Vacuum tube or "valve" distortion is achieved by "overdriving" the valves in an amplifier. In layman's terms, overdriving is pushing the tubes beyond their normal rated maximum. Valve amplifiers—particularly those using class-A triodes—tend to produce asymmetric soft clipping that creates both even and odd harmonics. The increase in even harmonics is considered to create "warm"-sounding overdrive effects.

A basic triode valve (tube) contains a cathode, a plate and a grid. When a positive voltage is applied to the plate, a current of negatively charged electrons flows to it from the heated cathode through the grid. This increases the voltage of the audio signal, amplifying its volume. The grid regulates the extent to which plate voltage is increased. A small negative voltage applied to the grid causes a large decrease in plate voltage.

Valve amplification is more or less linear—meaning the parameters (amplitude, frequency, phase) of the amplified signal are proportional to the input signal—so long as the voltage of the input signal does not exceed the valve's "linear region of operation". The linear region falls between

The saturation region: the voltages at which plate current stops responding to positive increases in grid voltage and The cutoff region: the voltages at which the charge of the grid is too negative for electrons to flow to the plate. If a valve is biased within the linear region and the input signal's voltage exceeds this region, overdrive and non-linear clipping will occur. Multiple stages of valve gain/clipping can be "cascaded" to produce a thicker and more complex distortion sound. In layperson's terms, a musician will plug a fuzz pedal into a tube amp that is being "cranked" to a clipping "overdriven" condition; as such, the musician will get the distortion from the fuzz which is then distorted further by the amp. During the 1990s, some Seattle grunge guitarists chained together as many as four fuzz pedals to create a thick "wall of sound" of distortion.

In some modern valve effects, the "dirty" or "gritty" tone is actually achieved not by high voltage, but by running the circuit at voltages that are too low for the circuit components, resulting in greater non-linearity and distortion. These designs are referred to as "starved plate" configurations, and result in an "amp death" sound.[citation needed]

Solid-state distortion

Solid-state amplifiers incorporating transistors and/or op amps can be made to produce hard clipping. When symmetrical, this adds additional high-amplitude odd harmonics, creating a "dirty" or "gritty" tone. When asymmetrical, it produces both even and odd harmonics. Electronically, this is usually achieved by either amplifying the signal to a point where it is clipped by the DC voltage limitation of the power supply rail, or by clipping the signal with diodes.[citation needed] Many solid-state distortion devices attempt to emulate the sound of overdriven vacuum valves using additional solid-state circuitry. Some amplifiers (notably the Marshall JCM 900) utilize hybrid designs that employ both valve and solid-state components.[citation needed]

Approaches

Guitar distortion can be produced by many components of the guitar's signal path, including effects pedals, the pre-amplifier, power amplifier, and speakers. Many players use a combination of these to obtain their "signature" tone.

Pre-amplifier distortion

The pre-amplifier section of a guitar amplifier serves to amplify a weak instrument signal to a level that can drive the power amplifier. It often also contains circuitry to shape the tone of the instrument, including equalization and gain controls. Often multiple cascading gain/clipping stages are employed to generate distortion. Because the first component in a valve amplifier is a valve gain stage, the output level of the preceding elements of the signal chain has a strong influence on the distortion created by that stage. The output level of the guitar's pickups, the setting of the guitar's volume knob, how hard the strings are plucked, and the use of volume-boosting effects pedals can drive this stage harder and create more distortion.

During the 1980s and 1990s, most valve amps featured a "master volume" control, an adjustable attenuator between the preamp section and the power amp. When the preamp volume is set high to generate high distortion levels, the master volume lowered, keeping the output volume at manageable levels.

Overdrive/distortion pedals

Analog overdrive/distortion pedals work on similar principles to preamplifier distortion. Because most effects pedals are designed to operate from battery voltages, using vacuum tubes to generate distortion and overdrive is impractical; instead, most pedals use solid-state transistors, op-amps and diodes. Classic examples of overdrive/distortion pedals include the Boss OD series (overdrives), the Ibanez Tube Screamer (an overdrive), the Electro-Harmonix Big Muff Pi (a fuzz box) and the Pro Co RAT (a distortion). Typically, "overdrive" pedals are designed to produce sounds associated with classic rock or blues, with "distortion" pedals producing the "high gain, scooped mids" sounds associated with heavy metal; fuzz boxes are designed to emulate the distinctive sound of the earliest overdrive pedals such as the Big Muff and the Fuzz Face.[citation needed]

Most overdrive/distortion pedals can be used in two ways: a pedal can be used as a "boost" with an already overdriven amplifier to drive it further into saturation and "color" the tone, or it can be used with a completely clean amplifier to generate the whole overdrive/distortion effect. With care—and with appropriately chosen pedals—it is possible to "stack" multiple overdrive/distortion pedals together, allowing one pedal to act as a 'boost' for another.

Fuzz boxes and other heavy distortions can produce unwanted dissonances when playing chords. To get around this, guitar players (and keyboard players) using these effects may restrict their playing to single notes and simple "power chords" (root, fifth, and octave). Indeed, with the most extreme fuzz pedals, players may choose to play mostly single notes, because the fuzz can make even single notes sound very thick and heavy. Heavy distortion also tends to limit the player's control of dynamics (loudness and softness)—similar to the limitations imposed on a Hammond organ player (Hammond organ does not produce louder or softer sounds depending on how hard or soft the performer plays the keys; however, the performer can still control the volume with drawbars and the expression pedal). Heavy metal music has evolved around these restrictions, using complex rhythms and timing for expression and excitement. Lighter distortions and overdrives can be used with triadic chords and seventh chords; as well, lighter overdrive allows more control of dynamics.[citation needed]

Power amplifier distortion

Power valves (tubes) can be overdriven in the same way that pre-amplifier valves can, but because these valves are designed to output more power, the distortion and character they add to the guitar's tone is unique. During the 1960s to early 1970s, distortion was primarily created by overdriving the power valves. Because they have become accustomed to this sound[dubious – discuss], many guitar players[who?] favour this type of distortion, and thus set their amps to maximum levels in order to drive the power section hard. Many valve-based amplifiers in common use have a push-pull output configuration in their power section, with matched pairs of tubes driving the output transformer. Power amplifier distortion is normally entirely symmetric, generating predominantly odd-order harmonics.

Because driving the power valves this hard also means maximum volume, which can be difficult to manage in a small recording or rehearsal space, many solutions have emerged that in some way divert some of this power valve output from the speakers, and allow the player to generate power valve distortion without excessive volume. These include built-in or separate power attenuators and power-supply-based power attenuation, such as a VVR, or Variable Voltage Regulator to drop the voltage on the valves' plates, to increase distortion whilst lowering volume. Guitarists such as Eddie Van Halen have been known to use variacs before VVR technology was invented.[specify] Lower-power valve amps [such as a quarter-watt or less](citation needed), speaker isolation cabinets, and low-efficiency guitar speakers are also used to tame the volume.

Power-valve distortion can also be produced in a dedicated rackmount valve power amp. A modular rackmount setup often involves a rackmount preamp, a rackmount valve power amp, and a rackmount dummy load to attenuate the output to desired volume levels. Some effects pedals internally produce power-valve distortion, including an optional dummy load for use as a power-valve distortion pedal. Such effects units can use a preamp valve such as the 12AX7 in a power-valve circuit configuration (as in the Stephenson's Stage Hog), or use a conventional power valve, such as the EL84 (as in the H&K Crunch Master compact tabletop unit). However, because these are usually placed before the pre-amplifier in the signal chain, they contribute to the overall tone in a different way. Power amplifier distortion may damage speakers.

A Direct Inject signal can capture the power-tube distortion sound without the direct coloration of a guitar speaker and microphone. This DI signal can be blended with a miked guitar speaker, with the DI providing a more present, immediate, bright sound, and the miked guitar speaker providing a colored, remote, darker sound. The DI signal can be obtained from a DI jack on the guitar amp, or from the Line Out jack of a power attenuator.

Output transformer distortion

The output transformer sits between the power valves and the speaker, serving to match impedance. When a transformer's ferromagnetic core becomes electromagnetically saturated a loss of inductance takes place, since the back E.M.F. is reliant on a change in flux in the core. As the core reaches saturation, the flux levels off and cannot increase any further. With no change in flux there is no back E.M.F. and hence no reflected impedance. The transformer and valve combination then generate large 3rd order harmonics. So long as the core does not go into saturation, the valves will clip naturally as they drop the available voltage across them. In single ended systems the output harmonics will be largely even ordered due to the valve's relatively non linear characteristics at large signal swings. This is only true however if the magnetic core does NOT saturate.

Power supply "sag"

Early valve amplifiers used unregulated power supplies. This was due to the high cost associated with high-quality high-voltage power supplies. The typical anode (plate) supply was simply a rectifier, an inductor and a capacitor. When the valve amplifier was operated at high volume, the power supply voltage would dip, reducing power output and causing signal attenuation and compression. This dipping effect is known as "sag", and is sought-after by some electric guitarists. Sag only occurs in class-AB amplifiers. This is because, technically, sag results from more current being drawn from the power supply, causing a greater voltage drop over the rectifier valve. Class AB amplifiers draw the most power at both the maximum and minimum point of the signal, putting more stress on the power supply than class A, which only draws maximum power at the peak of the signal.

As this effect is more pronounced with higher input signals, the harder "attack" of a note will be compressed more heavily than the lower-voltage "decay", making the latter seem louder and thereby improving sustain. Additionally, because the level of compression is affected by input volume, the player can control it via their playing intensity: playing harder results in more compression or "sag". In contrast, modern amplifiers often use high-quality, well-regulated power supplies.

Speaker distortion

Guitar loudspeakers are designed differently from high fidelity stereo speakers or public address system speakers. While hi-fi and public address speakers are designed to reproduce the sound with as little distortion as possible, guitar speakers are usually designed so that they will shape or color the tone of the guitar, either by enhancing some frequencies or attenuating unwanted frequencies.

When the power delivered to a guitar speaker approaches its maximum rated power, the speaker's performance degrades, causing the speaker to "break up", adding further distortion and colouration to the signal. Some speakers are designed to have much clean headroom, while others are designed to break up early to deliver grit and growl.

Amp modeling for distortion emulation

Guitar amp modeling devices and software can reproduce various guitar-specific distortion qualities that are associated with a range of popular "stomp box" pedals and amplifiers. Amp modeling devices typically use digital signal processing to recreate the sound of plugging into analogue pedals and overdriven valve amplifiers. The most sophisticated devices allow the user to customize the simulated results of using different preamp, power-tube, speaker distortion, speaker cabinet, and microphone placement combinations. For example, a guitarist using a small amp modeling pedal could simulate the sound of plugging their electric guitar into a heavy vintage valve amplifier and a stack of 8 X 10" speaker cabinets.

Voicing with equalization

Guitar distortion is obtained and shaped at various points in the signal processing chain, including multiple stages of preamp distortion, power valve distortion, output and power transformer distortion, and guitar speaker distortion. Much of the distortion character or voicing is controlled by the frequency response before and after each distortion stage. This dependency of distortion voicing on frequency response can be heard in the effect that a wah pedal has on the subsequent distortion stage, or by using tone controls built into the guitar, the preamp or an EQ pedal to favor the bass or treble components of the guitar pickup signal prior to the first distortion stage. Some guitarists place an equalizer pedal after the distortion effect, to emphasize or de-emphasize different frequencies in the distorted signal.

Increasing the bass and treble while reducing or eliminating the centre midrange (750 Hz) results in what is popularly known as a "scooped" sound (since the midrange frequencies are "scooped" out). Conversely, decreasing the bass while increasing the midrange and treble creates a punchy, harsher sound. Rolling off all of the treble produces a dark, heavy sound.

Avoiding distortion

Electronic audio compression devices, such as this DBX 566, are used by audio engineers to prevent signal peaks from causing unwanted distortion.

While musicians intentionally create or add distortion to electric instrument signals or vocals to create a musical effect, there are some musical styles and musical applications where as little distortion as possible is sought. When DJs are playing recorded music in a nightclub, they typically seek to reproduce the recordings with little or no distortion. In many musical styles, including pop music, country music and even genres where the electric guitars are almost always distorted, such as heavy metal, punk and hard rock, sound engineers usually take a number of steps to ensure that the vocals sounding through the sound reinforcement system are undistorted (the exception is the rare cases where distortion is purposely added to vocals in a song as a special effect).

Sound engineers prevent unwanted, unintended distortion and clipping using a number of methods. They may reduce the gain on microphone preamplifiers on the audio console; use attenuation "pads" (a button on audio console channel strips, DI unit and some bass amplifiers); and use electronic audio compressor effects and limiters to prevent sudden volume peaks from vocal mics from causing unwanted distortion.

Though some bass guitar players in metal and punk bands intentionally use fuzz bass to distort their bass sound, in other genres of music, such as pop, big band jazz and traditional country music, bass players typically seek an undistorted bass sound. To obtain a clear, undistorted bass sound, professional bass players in these genres use high-powered amplifiers with a lot of "headroom" and they may also use audio compressors to prevent sudden volume peaks from causing distortion. In many cases, musicians playing stage pianos or synthesizers use keyboard amplifiers that are designed to reproduce the audio signal with as little distortion as possible. The exceptions with keyboards are the Hammond organ as used in blues and the Fender Rhodes as used in rock music; with these instruments and genres, keyboardists often purposely overdrive a tube amplifier to get a natural overdrive sound. Another example of instrument amplification where as little distortion as possible is sought is with acoustic instrument amplifiers, designed for musicians playing instruments such as the mandolin or fiddle in a folk or bluegrass style.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/synthesis/index.html b/theory/synthesis/index.html index 4ce00db1e2..ec8019bcdb 100644 --- a/theory/synthesis/index.html +++ b/theory/synthesis/index.html @@ -6,13 +6,13 @@ Synthesis | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@ - + \ No newline at end of file diff --git a/theory/synthesis/karplus-strong/index.html b/theory/synthesis/karplus-strong/index.html index feb7a15103..deb6a26644 100644 --- a/theory/synthesis/karplus-strong/index.html +++ b/theory/synthesis/karplus-strong/index.html @@ -6,13 +6,13 @@ Karplus–Strong string | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Karplus–Strong string
A method of physical modelling synthesis

Karplus–Strong string synthesis is a method of physical modelling synthesis that loops a short waveform through a filtered delay line to simulate the sound of a hammered or plucked string or some types of percussion.

At first glance, this technique can be viewed as subtractive synthesis based on a feedback loop similar to that of a comb filter for z-transform analysis. However, it can also be viewed as the simplest class of wavetable-modification algorithms now known as digital waveguide synthesis, because the delay line acts to store one period of the signal.

Alexander Strong invented the algorithm, and Kevin Karplus did the first analysis of how it worked. Together they developed software and hardware implementations of the algorithm, including a custom VLSI chip. They named the algorithm "Digitar" synthesis, as a portmanteau for "digital guitar".

How it works

schema

  • A short excitation waveform (of length L samples) is generated. In the original algorithm, this was a burst of white noise, but it can also include any wideband signal, such as a rapid sine wave chirp or frequency sweep, or a single cycle of a sawtooth wave or square wave.
  • This excitation is output and simultaneously fed back into a delay line L samples long.
  • The output of the delay line is fed through a filter. The gain of the filter must be less than 1 at all frequencies, to maintain a stable positive feedback loop. The filter can be a first-order lowpass filter (as pictured). In the original algorithm, the filter consisted of averaging two adjacent samples, a particularly simple filter that can be implemented without a multiplier, requiring only shift and add operations. The filter characteristics are crucial in determining the harmonic structure of the decaying tone.
  • The filtered output is simultaneously mixed into the output and fed back into the delay line.

Tuning the string

The fundamental frequency (specifically, the lowest nonzero resonant frequency) of the resulting signal is the lowest frequency at which the unwrapped phase response of the delay and filter in cascade is − 2 π -2\pi . The required phase delay D for a given fundamental frequency F0 is therefore calculated according to D = Fs/F0 where Fs is the sampling frequency.

The length of any digital delay line is a whole-number multiple of the sampling period. In order to obtain a fractional delay often needed for fine tuning the string below JND (Just Noticeable Difference), interpolating filters are used with parameters selected to obtain an appropriate phase delay at the fundamental frequency. Either IIR or FIR filters may be used, but FIR have the advantage that transients are suppressed if the fractional delay is changed over time. The most elementary fractional delay is the linear interpolation between two samples (e.g., s(4.2) = 0.8s(4) + 0.2s(5)). If the phase delay varies with frequency, harmonics may be sharpened or flattened relative to the fundamental frequency. The original algorithm used equal weighting on two adjacent samples, as this can be achieved without multiplication hardware, allowing extremely cheap implementations.

Z-transform analysis can be used to get the pitches and decay times of the harmonics more precisely, as explained in the 1983 paper that introduced the algorithm.

Holding the period (= length of the delay line) constant produces vibrations similar to those of a string or bell. Increasing the period sharply after the transient input produces drum-like sounds.

Refinements to the algorithm

Due to its plucked-string sound in certain modes, Alex Strong and Kevin Karplus conjectured that the Karplus-Strong (KS) algorithm was in some sense a vibrating string simulation, and they worked on showing that it solved the wave equation for the vibrating string, but this was not completed. Julius O. Smith III recognized that the transfer-function of the KS, when viewed as a digital filter, coincided with that of a vibrating string, with the filter in the feedback loop representing the total string losses over one period. He later derived the KS algorithm as a special case of digital waveguide synthesis, which was used to model acoustic waves in strings, tubes, and membranes. The first set of extensions and generalizations of the Karplus-Strong Algorithm, typically known as the Extended Karplus-Strong (EKS) Algorithm, was presented in a paper in 1982 at the International Computer Music Conference in Venice, Italy, and published in more detail in 1983 in Computer Music Journal in an article entitled "Extensions of the Karplus Strong Plucked String Algorithm," by David A. Jaffe and Julius O. Smith, and in Smith's PhD/EE dissertation.

Alex Strong developed a superior wavetable-modification method for plucked-string synthesis, but only published it as a patent.

Musical applications

The first musical use of the algorithm was in the work May All Your Children Be Acrobats written in 1981 by David A. Jaffe, and scored for eight guitars, mezzo-soprano and computer-generated stereo tape, with a text based on Carl Sandburg's The People, Yes. Jaffe continued to explore the musical and technical possibilities of the algorithm in Silicon Valley Breakdown, for computer-generated plucked strings (1982), as well as in later works such as Telegram to the President, 1984 for string quartet and tape, and Grass for female chorus and tape (1987).

The patent was licensed first to Mattel Electronics, which failed as a company before any product using the algorithm was developed, then to a startup company founded by some of the laid-off Mattel executives. They never got sufficient funding to finish development, and so never brought a product to market either. Eventually Yamaha licensed the patent, as part of the Sondius package of patents from Stanford. It is unknown whether any hardware using the algorithm was ever sold, though many software implementations (which did not pay any license fees to the inventors) have been released.

While they may not adhere strictly to the algorithm, many hardware components for modular systems have been commercially produced that invoke the basic principles of Karplus-Strong Synthesis: using an inverted, scaled control system for very small time values in a filtered delay line to create playable notes in the Western Tempered tuning system, controlled with volt per octave tracking or MIDI data. The Inventors were not specifically credited, though the term "Karplus-Strong Synthesis" is referenced in some of the manuals.

Hardware components capable of Karplus-Strong style synthesis include the Moog Clusterflux 108M, Mutable Instruments Elements and Rings, 4ms Company Dual Looping Delay, 2HP Pluck, Make Noise Mimeophon, Arturia MicroFreak and the Strymon Starlab.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/synthesis/modulation/index.html b/theory/synthesis/modulation/index.html index 25159f472d..8f7713d604 100644 --- a/theory/synthesis/modulation/index.html +++ b/theory/synthesis/modulation/index.html @@ -6,13 +6,13 @@ Modulation techniques | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Modulation techniques
Signal cross relation

animated AM FM display

In electronics and telecommunications, modulation is the process of varying one or more properties of a periodic waveform, called the carrier signal, with a separate signal called the modulation signal that typically contains information to be transmitted. For example, the modulation signal might be an audio signal representing sound from a microphone, a video signal representing moving images from a video camera, or a digital signal representing a sequence of binary digits, a bitstream from a computer.

This carrier wave usually has a much higher frequency than the message signal does. This is because it is impractical to transmit signals with low frequencies. Generally, to receive a radio wave one needs a radio antenna with length that is one-fourth of wavelength. For low frequency radio waves, wavelength is on the scale of kilometers and building such a large antenna is not practical. In radio communication, the modulated carrier is transmitted through space as a radio wave to a radio receiver.

Another purpose of modulation is to transmit multiple channels of information through a single communication medium, using frequency-division multiplexing (FDM). For example, in cable television (which uses FDM), many carrier signals, each modulated with a different television channel, are transported through a single cable to customers. Since each carrier occupies a different frequency, the channels do not interfere with each other. At the destination end, the carrier signal is demodulated to extract the information bearing modulation signal.

A modulator is a device or circuit that performs modulation. A demodulator (sometimes detector) is a circuit that performs demodulation, the inverse of modulation. A modem (from modulator–demodulator), used in bidirectional communication, can perform both operations. The lower frequency band occupied by the modulation signal is called the baseband, while the higher frequency band occupied by the modulated carrier is called the passband.[citation needed]

In analog modulation, an analog modulation signal is "impressed" on the carrier. Examples are amplitude modulation (AM) in which the amplitude (strength) of the carrier wave is varied by the modulation signal, and frequency modulation (FM) in which the frequency of the carrier wave is varied by the modulation signal. These were the earliest types of modulation[citation needed], and are used to transmit an audio signal representing sound in AM and FM radio broadcasting. More recent systems use digital modulation, which impresses a digital signal consisting of a sequence of binary digits (bits), a bitstream, on the carrier, by means of mapping bits to elements from a discrete alphabet to be transmitted. This alphabet can consist of a set of real or complex numbers, or sequences, like oscillations of different frequencies, so-called frequency-shift keying (FSK) modulation. A more complicated digital modulation method that employs multiple carriers, orthogonal frequency-division multiplexing (OFDM), is used in WiFi networks, digital radio stations and digital cable television transmission.

Analog modulation methods

In analog modulation, the modulation is applied continuously in response to the analog information signal. Common analog modulation techniques include:

  • Amplitude modulation (AM) (here the amplitude of the carrier signal is varied in accordance with the instantaneous amplitude of the modulating signal)
    • Double-sideband modulation (DSB)
      • Double-sideband modulation with carrier (DSB-WC) (used on the AM radio broadcasting band)
      • Double-sideband suppressed-carrier transmission (DSB-SC)
      • Double-sideband reduced carrier transmission (DSB-RC)
    • Single-sideband modulation (SSB, or SSB-AM)
      • Single-sideband modulation with carrier (SSB-WC)
      • Single-sideband modulation suppressed carrier modulation (SSB-SC)
    • Vestigial sideband modulation (VSB, or VSB-AM)
    • Quadrature amplitude modulation (QAM)
  • Angle modulation, which is approximately constant envelope
    • Frequency modulation (FM) (here the frequency of the carrier signal is varied in accordance with the instantaneous amplitude of the modulating signal)
    • Phase modulation (PM) (here the phase shift of the carrier signal is varied in accordance with the instantaneous amplitude of the modulating signal)
    • Transpositional Modulation (TM), in which the waveform inflection is modified resulting in a signal where each quarter cycle is transposed in the modulation process. TM is a pseudo-analog modulation (AM). Where an AM carrier also carries a phase variable phase f(ǿ). TM is f(AM,ǿ)

AM - Amplitude modulation

...

FM - Frequency modulation

Frequency modulation synthesis (or FM synthesis) is a form of sound synthesis whereby the frequency of a waveform is changed by modulating its frequency with a modulator. The (instantaneous) frequency of an oscillator is altered in accordance with the amplitude of a modulating signal.

FM synthesis can create both harmonic and inharmonic sounds. To synthesize harmonic sounds, the modulating signal must have a harmonic relationship to the original carrier signal. As the amount of frequency modulation increases, the sound grows progressively complex. Through the use of modulators with frequencies that are non-integer multiples of the carrier signal (i.e. inharmonic), inharmonic bell-like and percussive spectra can be created.

Applications

FM synthesis using analog oscillators may result in pitch instability. However, FM synthesis can also be implemented digitally, which is more stable and became standard practice. Digital FM synthesis (equivalent to the phase modulation using the time integration of instantaneous frequency) was the basis of several musical instruments beginning as early as 1974. Yamaha built the first prototype digital synthesizer in 1974, based on FM synthesis, before commercially releasing the Yamaha GS-1 in 1980. The Synclavier I, manufactured by New England Digital Corporation beginning in 1978, included a digital FM synthesizer, using an FM synthesis algorithm licensed from Yamaha. Yamaha's groundbreaking Yamaha DX7 synthesizer, released in 1983, brought FM to the forefront of synthesis in the mid-1980s.

Amusement use: FM sound chips on PCs, arcades, game consoles, and mobile phones

FM synthesis also became the usual setting for games and software up until the mid-nineties. For IBM PC compatible systems, sound cards like the AdLib and Sound Blaster popularized Yamaha chips like the OPL2 and OPL3. Other computers such as the Sharp X68000 and MSX (Yamaha CX5M computer unit) use the OPM sound chip (which was also commonly used for arcade machines up to the mid-nineties) with later CX5M units using the OPP sound chip, and the NEC PC-88 and PC-98 computers use the OPN and OPNA. For arcade systems and game consoles, OPNB was used as main basic sound generator board in Taito's arcade boards (with a variant of the OPNB being used in the Taito Z System) and notably used in SNK's Neo Geo arcade (MVS) and home console (AES) machines. The related OPN2 was used in the Sega's Mega Drive (Genesis) and Fujitsu's FM Towns Marty as one of its sound generator chips. Throughout the 2000s, FM synthesis was also used on a wide range of phones to play ringtones and other sounds, typically in the Yamaha SMAF format.

History

Don Buchla (mid-1960s)

Don Buchla implemented FM on his instruments in the mid-1960s, prior to Chowning's patent. His 158, 258 and 259 dual oscillator modules had a specific FM control voltage input,[7] and the model 208 (Music Easel) had a modulation oscillator hard-wired to allow FM as well as AM of the primary oscillator.[8] These early applications used analog oscillators, and this capability was also followed by other modular synthesizers and portable synthesizers including Minimoog and ARP Odyssey.

John Chowning (late-1960s–1970s)

By the mid-20th century, frequency modulation (FM), a means of carrying sound, had been understood for decades and was being used to broadcast radio transmissions. FM synthesis was developed since 1967 at Stanford University, California, by John Chowning, who was trying to create sounds different from analog synthesis[citation needed]. His algorithm[citation needed] was licensed to Japanese company Yamaha in 1973. The implementation commercialized by Yamaha (US Patent 4018121 Apr 1977 or U.S. Patent 4,018,121) is actually based on phase modulation[citation needed], but the results end up being equivalent mathematically as both are essentially a special case of quadrature amplitude modulation[citation needed].

1970s–1980s

Expansions by Yamaha

Yamaha's engineers began adapting Chowning's algorithm for use in a commercial digital synthesizer, adding improvements such as the "key scaling" method to avoid the introduction of distortion that normally occurred in analog systems during frequency modulation[citation needed], though it would take several years before Yamaha released their FM digital synthesizers. In the 1970s, Yamaha were granted a number of patents, under the company's former name "Nippon Gakki Seizo Kabushiki Kaisha", evolving Chowning's work. Yamaha built the first prototype FM digital synthesizer in 1974. Yamaha eventually commercialized FM synthesis technology with the Yamaha GS-1, the first FM digital synthesizer, released in 1980. FM digital synthesizer Yamaha DX7 (1983)

FM synthesis was the basis of some of the early generations of digital synthesizers, most notably those from Yamaha, as well as New England Digital Corporation under license from Yamaha. Yamaha's DX7 synthesizer, released in 1983, was ubiquitous throughout the 1980s. Several other models by Yamaha provided variations and evolutions of FM synthesis during that decade.

Yamaha had patented its hardware implementation of FM in the 1970s, allowing it to nearly monopolize the market for FM technology until the mid-1990s.

Casio developed a related form of synthesis called phase distortion synthesis, used in its CZ range of synthesizers. It had a similar (but slightly differently derived) sound quality to the DX series.

1990s

Popularization after the expiration of patent

With the expiration of the Stanford University FM patent in 1995, digital FM synthesis can now be implemented freely by other manufacturers. The FM synthesis patent brought Stanford $20 million before it expired, making it (in 1994) "the second most lucrative licensing agreement in Stanford's history". FM today is mostly found in software-based synths such as FM8 by Native Instruments or Sytrus by Image-Line, but it has also been incorporated into the synthesis repertoire of some modern digital synthesizers, usually coexisting as an option alongside other methods of synthesis such as subtractive, sample-based synthesis, additive synthesis, and other techniques. The degree of complexity of the FM in such hardware synths may vary from simple 2-operator FM, to the highly flexible 6-operator engines of the Korg Kronos and Alesis Fusion, to creation of FM in extensively modular engines such as those in the latest synthesisers by Kurzweil Music Systems.[citation needed]

Realtime Convolution & Modulation (AFM + Sample) and Formant Shaping Synthesis

New hardware synths specifically marketed for their FM capabilities disappeared from the market after the release of the Yamaha SY99 and FS1R, and even those marketed their highly powerful FM abilities as counterparts to sample-based synthesis and formant synthesis respectively. However, well-developed FM synthesis options are a feature of Nord Lead synths manufactured by Clavia, the Alesis Fusion range, the Korg Oasys and Kronos and the Modor NF-1. Various other synthesizers offer limited FM abilities to supplement their main engines.

Combining sets of 8 FM operators with multi-spectral wave forms began in 1999 by Yamaha in the FS1R. The FS1R had 16 operators, 8 standard FM operators and 8 additional operators that used a noise source rather than an oscillator as its sound source. By adding in tuneable noise sources the FS1R could model the sounds produced in the human voice and in a wind instrument, along with making percussion instrument sounds. The FS1R also contained an additional wave form called the Formant wave form. Formants can be used to model resonating body instrument sounds like the cello, violin, acoustic guitar, bassoon, English horn, or human voice. Formants can even be found in the harmonic spectrum of several brass instruments.

2000s–present

Variable Phase Modulation, FM-X Synthesis, Altered FM, etc

In 2016, Korg released the Korg Volca FM, a, 3-voice, 6 operators FM iteration of the Korg Volca series of compact, affordable desktop modules,. More recently Korg released the opsix (2020) and opsix SE (2023) integrating 6 operators FM synthesis with subtractive, analogue modeling, additive, semi-modular and Waveshaping. Yamaha released the Montage, which combines a 128-voice sample-based engine with a 128-voice FM engine. This iteration of FM is called FM-X, and features 8 operators; each operator has a choice of several basic wave forms, but each wave form has several parameters to adjust its spectrum. The Yamaha Montage was followed by the more affordable Yamaha MODX in 2018, with 64-voice, 8 operators FM-X architecture in addition to a 128-voice sample-based engine. Elektron in 2018 launched the Digitone, an 8-voice, 4 operators FM synth featuring Elektron's renowned sequence engine.

FM-X synthesis was introduced with the Yamaha Montage synthesizers in 2016. FM-X uses 8 operators. Each FM-X operator has a set of multi-spectral wave forms to choose from, which means each FM-X operator can be equivalent to a stack of 3 or 4 DX7 FM operators. The list of selectable wave forms includes sine waves, the All1 and All2 wave forms, the Odd1 and Odd2 wave forms, and the Res1 and Res2 wave forms. The sine wave selection works the same as the DX7 wave forms. The All1 and All2 wave forms are a saw-tooth wave form. The Odd1 and Odd2 wave forms are pulse or square waves. These two types of wave forms can be used to model the basic harmonic peaks in the bottom of the harmonic spectrum of most instruments. The Res1 and Res2 wave forms move the spectral peak to a specific harmonic and can be used to model either triangular or rounded groups of harmonics further up in the spectrum of an instrument. Combining an All1 or Odd1 wave form with multiple Res1 (or Res2) wave forms (and adjusting their amplitudes) can model the harmonic spectrum of an instrument or sound.

Spectral analysis

There are multiple variations of FM synthesis, including:

  • Various operator arrangements (known as "FM Algorithms" in Yamaha terminology)
    • 2 operators
    • Serial FM (multiple stages)
    • Parallel FM (multiple modulators, multiple-carriers),
    • Mix of them
  • Various waveform of operators
    • Sinusoidal waveform
    • Other waveforms
  • Additional modulation
    • Linear FM
    • Exponential FM (preceded by the anti-logarithm conversion for CV/oct. interface of analog synthesizers)
    • Oscillator sync with FM

etc.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/synthesis/osc-sync/index.html b/theory/synthesis/osc-sync/index.html index 209f7aae9e..c2d735871b 100644 --- a/theory/synthesis/osc-sync/index.html +++ b/theory/synthesis/osc-sync/index.html @@ -6,13 +6,13 @@ Oscillator sync | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Oscillator sync
Once oscillator resetting another as a technique to produce harmonically reach sounds

Oscillator sync is a feature in some synthesizers with two or more VCOs, DCOs, or "virtual" oscillators. As one oscillator finishes a cycle, it resets the period of another oscillator, forcing the latter to have the same base frequency. This can produce a harmonically rich sound, the timbre of which can be altered by varying the synced oscillator's frequency. A synced oscillator that resets other oscillator(s) is called the master; the oscillators which it resets are called slaves. There are two common forms of oscillator sync which appear on synthesizers: Hard Sync and Soft Sync. According to Sound on Sound journalist Gordon Reid, oscillator sync is "one of the least understood facilities on any synthesizer".

Hard Sync

The leader oscillator's pitch is generated by user input (typically the synthesizer's keyboard), and is arbitrary. The follower oscillator's pitch may be tuned to (or detuned from) this frequency, or may remain constant. Every time the leader oscillator's cycle repeats, the follower is retriggered, regardless of its position. If the follower is tuned to a lower frequency than the leader it will be forced to repeat before it completes an entire cycle, and if it is tuned to a higher frequency it will be forced to repeat partway through a second or third cycle. This technique ensures that the oscillators are technically playing at the same frequency, but the irregular cycle of the follower oscillator often causes complex timbres and the impression of harmony. If the tuning of the follower oscillator is swept, one may discern a harmonic sequence.

This effect may be achieved by measuring the zero axis crossings of the leader oscillator and retriggering the follower oscillator after every other crossing.

This form of oscillator sync is more common than soft sync, but is prone to generating aliasing in naive digital implementations.

Soft Sync

There are several other kinds of sync which may also be called Soft Sync. In a Hard Sync setup, the follower oscillator is forced to reset to some level and phase (for example, zero) with every cycle of the leader regardless of position or direction of the follower waveform, which often generates asymmetrical shapes.

In some cases, Soft Sync refers to a process intended to nudge and lock the follower oscillator into the same or an integer or fractional multiple of the leader oscillator frequency when they both have similar phases, similar to a phase-locked loop.

Reversing Sync

This form of oscillator sync is less common. This form is very similar to Hard Sync, with one small difference. In Reversing Soft Sync, rather than resetting to zero, the wave is inverted; that is, its direction is reversed. Reversing Soft Sync is more associated with analog triangle core oscillators than analog sawtooth core oscillators.

Threshold or Weak Sync

Several kinds of Soft Sync use comparison thresholds:

  • Hard Sync which is disabled when the frequency or amplitude of the follower crosses a user-defined threshold.
  • Hard Sync which is disabled when the frequency of the follower extends too high above or too far below the frequency of the leader.
  • Hard Sync which is disabled when the frequency of the follower is lower than the frequency of the leader.

Soft Sync may accurately refer to any of these, depending on the synthesizer or manufacturer in question.

Phase Advance 'Sync'

The phase of the follower is advanced by some amount when the leader oscillator level crosses some threshold. Used for audio synthesis, this may give an audible effect similar to Soft Sync.

Reset Inhibit Sync

When the leader oscillator crosses some threshold, the normal reset of the follower is disabled: it will stick at its final level, positive or negative. When the leader crosses back over some threshold, the follower is reset.

Overlap Sync

In this method, the current wave completes but a new waveform is generated at the sync pulse. The tail of the old wave and the new wave are output summed if they overlap.

Digital Implementation Aspects

Naive approaches to sync in digital oscillators will result in aliasing. To prevent this, band-limited methods such as additive synthesis, BLIT (Band-Limited Impulse Train) or BLEP (Band-Limited Step) must be adopted to avoid aliasing.

In a digital oscillator, best practice is that the follower will not be reset to the identical phase each cycle, but to a phase advanced by an equivalent time to the phase of the leader at the reset. This prevents jitter in the follower frequency and provides truer synchronization.

For digital oscillators, Reversing Sync may less frequently generate aliasing. This effect may be naively implemented by measuring the zero axis crossings of the leader oscillator and reversing the slope of the follower oscillator after every other crossing.

For digital implementation, note that none of the Threshold or Weak Sync methods actually synthesize the waveform in a way different from Hard Sync (rather, they selectively deactivate it).

Overlap sync is primarily a digital technique with simple implementation, such as used in FOF; an analog implementation could be a highly damped sine oscillator excited by the reset pulse.

Sync-based Architectures

A variety of synthesis architectures are based on sync, often used in conjunction with amplitude, frequency, or phase modulation. Such architectures include VOSIM and physical modelling synthesis.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/theory/synthesis/spectral/index.html b/theory/synthesis/spectral/index.html index 2e6668704f..aee440cb2b 100644 --- a/theory/synthesis/spectral/index.html +++ b/theory/synthesis/spectral/index.html @@ -6,13 +6,13 @@ Spectral synthesis | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
Spectral synthesis
How to synthesise any sound with sine waves

Spectral modeling synthesis (SMS) is an acoustic modeling approach for speech and other signals. SMS considers sounds as a combination of harmonic content and noise content. Harmonic components are identified based on peaks in the frequency spectrum of the signal, normally as found by the short-time Fourier transform. The signal that remains following removal of the spectral components, sometimes referred to as the residual, is then modeled as white noise passed through a time-varying filter. The output of the model, then, are the frequencies and levels of the detected harmonic components and the coefficients of the time-varying filter.

Intuitively, the model can be applied to many types of audio signals. Speech signals, for example, include slowly changing harmonic sounds caused by vibration of the vocal cords plus wideband, noise-like sounds caused by the lips and mouth. Musical instruments also produce sounds containing both harmonic components and percussive, noise-like sounds when the notes are struck or changed.

Chromatone logo
Chromatone
MIT © 2017-Present
v.2.9.9
- + \ No newline at end of file diff --git a/tutor/index.html b/tutor/index.html index 35406816df..96c1930d0b 100644 --- a/tutor/index.html +++ b/tutor/index.html @@ -6,13 +6,13 @@ Tutorship | Chromatone.center - + - - - - + + + + @@ -41,7 +41,7 @@
Chromatone logo
- + \ No newline at end of file
MIDI is not available.Use compatible browseron desktop. Use Web MIDI Browser on iOS
or just use your PC keyboard