§
    ƒØjžl ã                  óþ  — d Z ddlmZ ddlmZ ddlmZ ddlZddlZddl	Z
ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ e
j        rddlmZ  ej        d¦  «        Zddœ�d’d„Zddœ�d’d„Z G d„ dej        ¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z  G d „ d!e¦  «        Z! G d"„ d#e¦  «        Z" G d$„ d%e¦  «        Z# G d&„ d'e¦  «        Z$ G d(„ d)e¦  «        Z% G d*„ d+e%¦  «        Z& G d,„ d-e%¦  «        Z' G d.„ d/e%¦  «        Z( G d0„ d1e%¦  «        Z) G d2„ d3e¦  «        Z* G d4„ d5e¦  «        Z+ G d6„ d7e+¦  «        Z, G d8„ d9e+¦  «        Z- G d:„ d;e+¦  «        Z. G d<„ d=e+¦  «        Z/ G d>„ d?e+¦  «        Z0 G d@„ dAe+¦  «        Z1 G dB„ dCe1¦  «        Z2 G dD„ dEe1¦  «        Z3 G dF„ dGe1¦  «        Z4 G dH„ dIe1¦  «        Z5 G dJ„ dKe1¦  «        Z6 G dL„ dMe+¦  «        Z7 G dN„ dOe+¦  «        Z8 G dP„ dQe+¦  «        Z9 G dR„ dSe+¦  «        Z: G dT„ dUe+¦  «        Z; G dV„ dWe+¦  «        Z< G dX„ dYe+¦  «        Z= G dZ„ d[e¦  «        Z> G d\„ d]e>¦  «        Z? G d^„ d_e?¦  «        Z@ G d`„ dae?¦  «        ZA G db„ dce?¦  «        ZB G dd„ dee?¦  «        ZC G df„ dge?¦  «        ZD G dh„ die?¦  «        ZE G dj„ dke>¦  «        ZF G dl„ dme>¦  «        ZG G dn„ doe>¦  «        ZH G dp„ dqeH¦  «        ZI G dr„ dse>¦  «        ZJ G dt„ dueJ¦  «        ZK G dv„ dwe>¦  «        ZL G dx„ dyeL¦  «        ZM G dz„ d{eL¦  «        ZN G d|„ d}eL¦  «        ZO G d~„ deL¦  «        ZP G d€„ d�e>¦  «        ZQ G d‚„ dƒe>¦  «        ZR G d„„ d…e¦  «        ZS G d†„ d‡eS¦  «        ZT G dˆ„ d‰eS¦  «        ZU G dŠ„ d‹eS¦  «        ZV G dŒ„ d�eV¦  «        ZW G dŽ„ d�eS¦  «        ZX G d�„ d‘e¦  «        ZY G d’„ d“eY¦  «        ZZ G d”„ d•eY¦  «        Z[ G d–„ d—eZ¦  «        Z\ G d˜„ d™eZ¦  «        Z] G dš„ d›eZ¦  «        Z^ G dœ„ d�eZ¦  «        Z_ G dž„ dŸeZ¦  «        Z` G d „ d¡eZ¦  «        Za G d¢„ d£eZ¦  «        Zb G d¤„ d¥eZ¦  «        Zc G d¦„ d§eZ¦  «        Zd G d¨„ d©eZ¦  «        Ze G dª„ d«eZ¦  «        Zf G d¬„ d­eZ¦  «        Zg G d®„ d¯e[¦  «        Zh G d°„ d±e[¦  «        Zi G d²„ d³e[¦  «        Zj G d´„ dµe[¦  «        Zk G d¶„ d·e[¦  «        Zl G d¸„ d¹e[¦  «        Zm G dº„ d»em¦  «        Zn G d¼„ d½em¦  «        Zo G d¾„ d¿em¦  «        Zp G dÀ„ dÁem¦  «        Zq G dÂ„ dÃem¦  «        Zr G dÄ„ dÅem¦  «        Zs G dÆ„ dÇem¦  «        Zt G dÈ„ dÉe[¦  «        Zu G dÊ„ dËe[¦  «        Zv G dÌ„ dÍe[¦  «        Zw G dÎ„ dÏe[¦  «        Zx G dÐ„ dÑe[¦  «        Zy G dÒ„ dÓe[¦  «        Zz G dÔ„ dÕe[¦  «        Z{ G dÖ„ d×e[¦  «        Z| G dØ„ dÙe[¦  «        Z} G dÚ„ dÛe[¦  «        Z~ G dÜ„ dÝe[¦  «        Z G dÞ„ dße[¦  «        Z€ G dà„ dáe[¦  «        Z� G dâ„ dãe[¦  «        Z‚ G dä„ dåe[¦  «        Zƒ G dæ„ dçe[¦  «        Z„ G dè„ dée[¦  «        Z… G dê„ dëe[¦  «        Z† G dì„ díe[¦  «        Z‡ G dî„ dïe¦  «        Zˆ G dð„ dñeˆ¦  «        Z‰ G dò„ dóe‰¦  «        ZŠ G dô„ dõeˆ¦  «        Z‹ G dö„ d÷eˆ¦  «        ZŒ G dø„ dùeˆ¦  «        Z� G dú„ dûeˆ¦  «        ZŽ G dü„ dýeˆ¦  «        Z� G dþ„ dÿe¦  «        Z�g �d ¢Z‘�d„ Z’�d“�d”�d„Z“i de“�de“�de$“�de“�d	e$“�d
e$“�de “�de!“�de"“�de_“�de_“�de\“�de]“�de^“�dea“�ded“�de'“i �de'“�de'“�de&“�de(“�de)“�de*“�de)“�de2“�de2“�de3“�d e3“�d!e3“�d"e3“�d#e3“�d$e3“�d%e4“�d&e5“¥i �d'e5“�d(e6“�d)e5“�d*e5“�d+e5“�d,e5“�d-e,“�d.e-“�d/e.“�d0e/“�d1e+“�d2e+“�d3e0“�d4ef“�d5e+“�d6e+“�d7e+“¥i �d8e+“�d9e�“�d:eˆ“�d;eˆ“�d<e#“�d=eU“�d>eV“�d?eX“�d@eU“�dAeT“�dBeS“�dCeS“�dDeS“�dEeM“�dFeN“�dGeO“�dHeP“¥i �dIeF“�dJeG“�dKeJ“�dLeH“�dMe@“�dNe?“�dOeA“�dPeB“�dQeB“�dReC“�dSeD“�dTeE“�dUe#“�dVe#“�dWe#“�dXe#“�dYe#“¥i �dZe#“�d[e#“�d\e#“�d]e#“�d^e#“�d_e#“�d`e#“�dae#“�dbe#“�dce#“�dde#“�dee#“�dfe#“�dge#“�dhe#“�die#“�dje#“¥i �dke#“�dle#“�dme;“�dne9“�doe<“�dpe=“�dqeg“�dreQ“�dse,“�dteR“�due_“�dvew“�dwee“�dxeh“�dye�“�dze}“�d{e#“¥e#e#e#e#e#e#e#e#e#�d|œ	¥Z”�d•�d„Z•�d–�d�„Z–�d‚„ Z— G �dƒ„ �d„ej˜        j™        ¦  «        Zšešj›        f�d—�dˆ„Zœešj›        f�d˜�dŠ„Z�ešj›        f�d™�dŒ„Zž G �d�„ �dŽejŸ        ¦  «        Z  G �d�„ �d�ejŸ        ¦  «        Z¡egZ¢e£�d‘k    rddlZ ej¤        e¡¦  «         dS dS (š  a±  
This module represents instruments through objects that contain general information
such as Metadata for instrument names, classifications, transpositions and default
MIDI program numbers.  It also contains information specific to each instrument
or instrument family, such as string pitches, etc.  Information about instrumental
ensembles is also included here though it may later be separated out into its own
ensemble.py module.
é    )Úannotations)ÚOrderedDict)ÚIterableN)Úbase)Úcommon)Úenvironment)ÚInstrumentException)Úinterval)Únote)Úpitch)Ú
OffsetTree©ÚstreamÚ
instrumentF©ÚinPlaceÚstreamInústream.StreamÚreturnústream.Stream | Nonec               óÔ   — |du r| }n|                       d¦  «        }|D ]B}t          |t          j        ¦  «        r&|j        }|�|j        }|                     ||¦  «         ŒC|du r|S dS )a²  
    takes a :class:`~music21.stream.Stream` that has :class:`~music21.note.NotRest` objects
    and moves their `.storedInstrument` attributes to a new Stream (unless inPlace=True)

    >>> up1 = note.Unpitched()
    >>> up1.storedInstrument = instrument.BassDrum()
    >>> up2 = note.Unpitched()
    >>> up2.storedInstrument = instrument.Cowbell()
    >>> s = stream.Stream()
    >>> s.append(up1)
    >>> s.append(up2)
    >>> s2 = instrument.unbundleInstruments(s)
    >>> s2.show('text')
    {0.0} <music21.instrument.BassDrum 'Bass Drum'>
    {0.0} <music21.note.Unpitched 'Bass Drum'>
    {1.0} <music21.instrument.Cowbell 'Cowbell'>
    {1.0} <music21.note.Unpitched 'Cowbell'>
    TÚunbundleInstrumentsNF)ÚcoreCopyAsDerivationÚ
isinstancer   ÚNotRestÚstoredInstrumentÚoffsetÚinsert)r   r   ÚsÚthisObjÚiÚoffs         ú‡/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/music21/instrument.pyr   r   .   sŒ   € ð, �$€€Øˆˆà×)Ò)Ð*?Ñ@Ô@ˆàð !ð !ˆÝ�g�tœ|Ñ,Ô,ð 	!àÔ(ˆAØˆ}Ø”n�Ø—’˜˜aÑ Ô Ð øà�%ÐÐØˆð Ðó    c               óÜ   — |du r| }n|                       d¦  «        }d}|D ]D}d|j        v r|}|                     |¦  «         Œ#t          |t          j        ¦  «        r||_        ŒE|du r|S dS )a  
    >>> up1 = note.Unpitched()
    >>> up1.storedInstrument = instrument.BassDrum()
    >>> upUnknownInstrument = note.Unpitched()

    >>> up2 = note.Unpitched()
    >>> up2.storedInstrument = instrument.Cowbell()
    >>> s = stream.Stream()
    >>> s.append(up1)
    >>> s.append(upUnknownInstrument)
    >>> s.append(up2)
    >>> s2 = instrument.unbundleInstruments(s)
    >>> s3 = instrument.bundleInstruments(s2)
    >>> for test in s3:
    ...     print(test.storedInstrument)
    Bass Drum
    Bass Drum
    Cowbell

    TÚbundleInstrumentsNÚ
InstrumentF)r   ÚclassesÚremover   r   r   r   )r   r   r   ÚlastInstrumentr    s        r#   r&   r&   U   s˜   € ð0 �$€€Øˆˆà×)Ò)Ð*=Ñ>Ô>ˆà€Nàð 6ð 6ˆØ˜7œ?Ð*Ð*Ø$ˆNØ�HŠH�WÑÔÐÐÝ˜¥¤Ñ.Ô.ð 	6Ø'5ˆGÔ$øà�%ÐÐØˆð Ðr$   c                  ó\   ‡ — e Zd ZdZdZddˆ fd„Zd„ Zd„ Zdd	„Zdd„Z	d„ Z
d„ Zddd„Zˆ xZS )r'   aË  
    Base class for all musical instruments.  Designed
    for subclassing, though usually a more specific
    instrument class (such as StringInstrument) would
    be better to subclass.

    Some defined attributes for instruments include:

    * partId
    * partName
    * partAbbreviation
    * instrumentId
    * instrumentName
    * instrumentAbbreviation
    * midiProgram (0-indexed)
    * midiChannel (0-indexed)
    * lowestNote (a note object or a string for _written_ pitch)
    * highestNote (a note object or a string for _written_ pitch)
    * transposition (an interval object)
    * inGMPercMap (bool -- if it uses the GM percussion map)
    * soundfontFn (filepath to a sound font, optional)
    içÿÿÿNÚinstrumentNameú
str | Nonec                ó6  •—  t          ¦   «         j        di |¤Ž d | _        d| _        d | _        d | _        d | _        d | _        d | _        d| _	        || _
        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d| _        d | _        d S )NF© )ÚsuperÚ__init__ÚpartIdÚ_partIdIsRandomÚpartNameÚpartAbbreviationÚprintPartNameÚprintPartAbbreviationÚinstrumentIdÚ_instrumentIdIsRandomr,   ÚinstrumentAbbreviationÚmidiProgramÚmidiChannelÚinstrumentSoundÚ
lowestNoteÚhighestNoteÚtranspositionÚinGMPercMapÚsoundfontFn)Úselfr,   ÚkeywordsÚ	__class__s      €r#   r1   zInstrument.__init__˜   sµ   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à $ˆŒØ$ˆÔà"&ˆŒØ*.ˆÔà(,ˆÔØ04ˆÔ"à&*ˆÔØ%*ˆÔ"à(6ˆÔØ04ˆÔ#Ø%)ˆÔØ%)ˆÔØ)-ˆÔà,0ˆŒØ-1ˆÔð 6:ˆÔà ˆÔØˆÔÐÐr$   c                ó"  — g }| j         �|                     | j         › d�¦  «         | j        �-| j        | j        k    r|                     | j        › d�¦  «         | j        �|                     | j        ¦  «         d                     |¦  «        S )Nz: Ú )r2   Úappendr4   r,   Újoin)rC   Úmsgs     r#   Ú__str__zInstrument.__str__¶   sŽ   € ØˆØŒ;Ð"Ø�JŠJ˜$œ+Ð)Ð)Ð)Ñ*Ô*Ð*ØŒ=Ð$¨¬¸$Ô:MÒ)MÐ)MØ�JŠJ˜$œ-Ð+Ð+Ð+Ñ,Ô,Ð,ØÔÐ*Ø�JŠJ�tÔ*Ñ+Ô+Ð+Ø�wŠw�s‰|Œ|Ðr$   c                ó:   — t          t          | ¦  «        ¦  «        S ©N)ÚreprÚstr©rC   s    r#   Ú_reprInternalzInstrument._reprInternalÀ   s   € Ý•C˜‘I”I‰ŒÐr$   c                óœ   — t          j        | |¦  «        }| j        r|                     ¦   «          | j        r|                     ¦   «          |S rM   )r   ÚdefaultDeepcopyr3   ÚpartIdRandomizer9   ÚinstrumentIdRandomize)rC   ÚmemoÚnews      r#   Ú__deepcopy__zInstrument.__deepcopy__Ã   sS   € ÝÔ$ T¨4Ñ0Ô0ˆØÔð 	"Ø×ÒÑ!Ô!Ð!ØÔ%ð 	(Ø×%Ò%Ñ'Ô'Ð'Øˆ
r$   r   c                óv   — | j         �| j         S | j        �| j        S | j        �| j        S | j        �| j        S dS )zi
        Find a viable name, looking first at instrument, then part, then
        abbreviations.
        N)r4   r5   r,   r:   rP   s    r#   ÚbestNamezInstrument.bestNameË   sO   € ð
 Œ=Ð$Ø”=Ð ØÔ"Ð.ØÔ(Ð(ØÔ Ð,ØÔ&Ð&ØÔ(Ð4ØÔ.Ð.à�4r$   c                óN   — dt          j        ¦   «         › �}|| _        d| _        dS )ú3
        Force a unique id by using an MD5
        ÚPTN)r   ÚgetMd5r2   r3   ©rC   ÚidNews     r#   rT   zInstrument.partIdRandomizeÛ   s.   € ð &•F”M‘O”OÐ%Ð%ˆð ˆŒØ#ˆÔÐÐr$   c                óN   — dt          j        ¦   «         › �}|| _        d| _        dS )r\   ÚITN)r   r^   r8   r9   r_   s     r#   rU   z Instrument.instrumentIdRandomizeå   s/   € ð &•F”M‘O”OÐ%Ð%ˆð "ˆÔØ%)ˆÔ"Ð"Ð"r$   é   ÚusedChannelsú	list[int]c                ó$  — t          |¦  «        }d| j        v rd|vrd| _        | j        S |sd| _        | j        S t          |¦  «        |dz
  k    rt	          d¦  «        ‚t          |¦  «        D ] }||v rŒ|dz  dk    rŒ|| _        | j        c S dS )a¥  
        Assign an unused midi channel given a list of
        used channels.  Music21 uses 0-indexed MIDI channels.

        assigns the number to self.midiChannel and returns
        it as an int.

        Note that the Percussion MIDI channel (9 in music21, 10 in 1-16 numbering) is special,
        and thus is skipped.

        >>> used = [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11]
        >>> i = instrument.Violin()
        >>> i.autoAssignMidiChannel(used)
        12
        >>> i.midiChannel
        12

        Note that used is unchanged after calling this and would need to be updated manually

        >>> used
        [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11]

        Unpitched percussion will be set to 9, so long as it's not in the filter list:

        >>> used = [0]
        >>> i = instrument.Maracas()
        >>> i.autoAssignMidiChannel(used)
        9
        >>> i.midiChannel
        9

        >>> used = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        >>> i = instrument.Woodblock()
        >>> i.autoAssignMidiChannel(used)
        11
        >>> i.midiChannel
        11

        If all 16 channels are used, an exception is raised:

        >>> used2 = range(16)
        >>> i = instrument.Instrument()
        >>> i.autoAssignMidiChannel(used2)
        Traceback (most recent call last):
        music21.exceptions21.InstrumentException: we are out of midi channels! help!

        Get around this by assinging higher channels:

        >>> i.autoAssignMidiChannel(used2, maxMidi=32)
        16
        >>> i.midiChannel
        16

        * Changed in v.9 -- usedChannelList is required, add maxMidi as an optional parameter.
            various small tweaks for corner cases.
        ÚUnpitchedPercussioné	   r   é   z"we are out of midi channels! help!rc   )Ú	frozensetr(   r<   Úlenr	   Úrange)rC   rd   ÚmaxMidiÚchannelFilterÚchs        r#   ÚautoAssignMidiChannelz Instrument.autoAssignMidiChannelï   sÈ   € õt " ,Ñ/Ô/ˆà  D¤LÐ0Ð0°Q¸mÐ5KÐ5KØ ˆDÔØÔ#Ð#Øð 	Ø ˆDÔØÔ#Ð#Ý�ÑÔ 7¨Q¡;Ò.Ð.å%Ð&JÑKÔKÐKå˜G‘n”nð ,ð ,�Ø˜Ð&Ð&ØØ˜"‘W ’\�\Øà')�DÔ$ØÔ+Ð+Ð+Ð+Ø�1r$   rM   )r,   r-   )r   r-   )rc   )rd   re   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚclassSortOrderr1   rK   rQ   rX   rZ   rT   rU   rp   Ú__classcell__©rE   s   @r#   r'   r'      sÙ   ø€ € € € € ðð ð, €Nð ð  ð  ð  ð  ð  ð  ð<ð ð ðð ð ðð ð ð ðð ð ð ð $ð $ð $ð*ð *ð *ðNð Nð Nð Nð Nð Nð Nð Nð Nr$   r'   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚKeyboardInstrumentc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NÚKeyboardÚKbzkeyboard.pianor/   ©r0   r1   r,   r:   r=   ©rC   rD   rE   s     €r#   r1   zKeyboardInstrument.__init__F  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$Ø(ˆÔØ&*ˆÔ#Ø/ˆÔÐÐr$   ©rq   rr   rs   r1   rv   rw   s   @r#   ry   ry   D  s8   ø€ € € € € ð0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0r$   ry   c                  ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚPianozf

    >>> p = instrument.Piano()
    >>> p.instrumentName
    'Piano'
    >>> p.midiProgram
    0
    c                óÈ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        t          j        d¦  «        | _        t          j        d¦  «        | _        d S )Nr�   ÚPnor   ÚA0ÚC8r/   ©	r0   r1   r,   r:   r;   r   ÚPitchr>   r?   r~   s     €r#   r1   zPiano.__init__W  sa   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à%ˆÔØ&+ˆÔ#ØˆÔåœ+ dÑ+Ô+ˆŒÝ œ; tÑ,Ô,ˆÔÐÐr$   ©rq   rr   rs   rt   r1   rv   rw   s   @r#   r�   r�   M  sB   ø€ € € € € ðð ð-ð -ð -ð -ð -ð -ð -ð -ð -r$   r�   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚHarpsichordc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        t          j        d¦  «        | _	        d S )NrŠ   ÚHpschdé   zkeyboard.harpsichordÚF1ÚF6r/   ©
r0   r1   r,   r:   r;   r=   r   r‡   r>   r?   r~   s     €r#   r1   zHarpsichord.__init__c  si   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à+ˆÔØ&.ˆÔ#ØˆÔØ5ˆÔåœ+ dÑ+Ô+ˆŒÝ œ; tÑ,Ô,ˆÔÐÐr$   r   rw   s   @r#   rŠ   rŠ   b  ó8   ø€ € € € € ð	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-r$   rŠ   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú
Clavichordc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nr“   ÚClvé   zkeyboard.clavichordr/   ©r0   r1   r,   r:   r;   r=   r~   s     €r#   r1   zClavichord.__init__p  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à*ˆÔØ&+ˆÔ#ØˆÔØ4ˆÔÐÐr$   r   rw   s   @r#   r“   r“   o  s8   ø€ € € € € ð5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5r$   r“   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚCelestac                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nr™   ÚClsté   zkeyboard.celestar/   r—   r~   s     €r#   r1   zCelesta.__init__}  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&,ˆÔ#ØˆÔØ1ˆÔÐÐr$   r   rw   s   @r#   r™   r™   |  s8   ø€ € € € € ð2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2r$   r™   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚSamplerc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )Nrž   ÚSampé7   r/   ©r0   r1   r,   r:   r;   r~   s     €r#   r1   zSampler.__init__‡  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&,ˆÔ#ØˆÔÐÐr$   r   rw   s   @r#   rž   rž   †  s8   ø€ € € € € ðð ð ð ð ð ð ð ð r$   rž   c                  ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚElectricPianozw

    >>> p = instrument.ElectricPiano()
    >>> p.instrumentName
    'Electric Piano'
    >>> p.midiProgram
    2
    c                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzElectric PianozE.Pnoé   r/   r¢   r~   s     €r#   r1   zElectricPiano.__init__™  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à.ˆÔØ&-ˆÔ#ØˆÔÐÐr$   rˆ   rw   s   @r#   r¤   r¤   �  sB   ø€ € € € € ðð ðð ð ð ð ð ð ð ð r$   r¤   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚOrganc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )Nr¨   é   zkeyboard.organr/   )r0   r1   r,   r;   r=   r~   s     €r#   r1   zOrgan.__init__¥  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$Ø%ˆÔØˆÔØ/ˆÔÐÐr$   r   rw   s   @r#   r¨   r¨   ¤  s8   ø€ € € € € ð0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0r$   r¨   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	PipeOrganc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        t          j        d¦  «        | _	        d S )Nz
Pipe OrganzP Orgrª   zkeyboard.organ.pipeÚC2ÚC6r/   r�   r~   s     €r#   r1   zPipeOrgan.__init__­  si   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à*ˆÔØ&-ˆÔ#ØˆÔØ4ˆÔÝœ+ dÑ+Ô+ˆŒÝ œ; tÑ,Ô,ˆÔÐÐr$   r   rw   s   @r#   r¬   r¬   ¬  ó8   ø€ € € € € ð-ð -ð -ð -ð -ð -ð -ð -ð -r$   r¬   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚElectricOrganc                óÈ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        t          j        d¦  «        | _        t          j        d¦  «        | _        d S )NzElectric OrganzElec Orgrc   r®   r¯   r/   r†   r~   s     €r#   r1   zElectricOrgan.__init__¹  sa   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à.ˆÔØ&0ˆÔ#ØˆÔåœ+ dÑ+Ô+ˆŒÝ œ; tÑ,Ô,ˆÔÐÐr$   r   rw   s   @r#   r²   r²   ¸  r°   r$   r²   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	ReedOrganc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        t          j        d¦  «        | _	        d S )Nz
Reed OrganzR Orgé   zkeyboard.organ.reedr®   r¯   r/   r�   r~   s     €r#   r1   zReedOrgan.__init__Å  si   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à*ˆÔØ&-ˆÔ#ØˆÔØ4ˆÔåœ+ dÑ+Ô+ˆŒÝ œ; tÑ,Ô,ˆÔÐÐr$   r   rw   s   @r#   rµ   rµ   Ä  r‘   r$   rµ   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	Accordionc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        t          j        d¦  «        | _	        d S )Nr¹   ÚAccé   zkeyboard.accordionÚF3ÚA6r/   r�   r~   s     €r#   r1   zAccordion.__init__Ò  si   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à)ˆÔØ&+ˆÔ#ØˆÔØ3ˆÔåœ+ dÑ+Ô+ˆŒÝ œ; tÑ,Ô,ˆÔÐÐr$   r   rw   s   @r#   r¹   r¹   Ñ  r‘   r$   r¹   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	Harmonicac                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        t          j        d¦  «        | _	        d S )NrÀ   ÚHmcaé   zwind.reed.harmonicaÚC3r¯   r/   r�   r~   s     €r#   r1   zHarmonica.__init__ß  si   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à)ˆÔØ&,ˆÔ#ØˆÔØ4ˆÔåœ+ dÑ+Ô+ˆŒÝ œ; tÑ,Ô,ˆÔÐÐr$   r   rw   s   @r#   rÀ   rÀ   Þ  r‘   r$   rÀ   c                  óF   ‡ — e Zd Zˆ fd„Zd„ Zd„ Z eeed¬¦  «        Zˆ xZS )ÚStringInstrumentc                ó€   •—  t          ¦   «         j        di |¤Ž d | _        d | _        d| _        d| _        d| _        d S )NrÆ   ÚStré0   r/   )r0   r1   Ú_stringPitchesÚ_cachedPitchesr,   r:   r;   r~   s     €r#   r1   zStringInstrument.__init__î  sN   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$Ø"ˆÔØ"ˆÔØ0ˆÔØ&+ˆÔ#àˆÔÐÐr$   c                ó¶   — t          | d¦  «        r| j        �| j        S t          | d¦  «        st          d¦  «        ‚d„ | j        D ¦   «         | _        | j        S )NrË   rÊ   z.cannot get stringPitches for these instrumentsc                ó6   — g | ]}t          j        |¦  «        ‘ŒS r/   )r   r‡   )Ú.0Úxs     r#   ú
<listcomp>z6StringInstrument._getStringPitches.<locals>.<listcomp>ý  s    € Ð"OÐ"OÐ"O°a¥5¤;¨q¡>¤>Ð"OÐ"OÐ"Or$   )ÚhasattrrË   r	   rÊ   rP   s    r#   Ú_getStringPitchesz"StringInstrument._getStringPitches÷  sj   € Ý�4Ð)Ñ*Ô*ð 	'¨tÔ/BÐ/NØÔ&Ð&Ý˜Ð/Ñ0Ô0ð 	'Ý%Ð&VÑWÔWÐWà"OÐ"O¸4Ô;NÐ"OÑ"OÔ"OˆDÔØÔ&Ð&r$   c                ó‚   — |r.t          |d         d¦  «        s|d         €|| _        || _        d S d | _        || _        d S )Nr   Ústep)rÑ   rÊ   rË   )rC   Ú
newPitchess     r#   Ú_setStringPitchesz"StringInstrument._setStringPitches   sT   € Øð 	-�7 :¨a¤=°&Ñ9Ô9ð 	-¸ZÈ¼]Ð=Rà",ˆDÔØ",ˆDÔÐÐà"&ˆDÔØ",ˆDÔÐÐr$   aø  
            stringPitches is a property that stores a list of Pitches (or pitch names,
            such as "C4") that represent the pitch of the open strings from lowest to
            highest.[*]

            >>> vln1 = instrument.Violin()
            >>> [str(p) for p in vln1.stringPitches]
            ['G3', 'D4', 'A4', 'E5']

            instrument.stringPitches are full pitch objects, not just names:

            >>> [x.octave for x in vln1.stringPitches]
            [3, 4, 4, 5]

            Scordatura for Scelsi's violin concerto *Anahit*.
            (N.B. that string to pitch conversion is happening automatically)

            >>> vln1.stringPitches = ['G3', 'G4', 'B4', 'D4']

            (`[*]In some tuning methods such as reentrant tuning on the ukulele,
            lute, or five-string banjo the order might not strictly be from lowest to
            highest.  The same would hold true for certain violin scordatura pieces, such
            as some of Biber's *Mystery Sonatas*`)
            ©Údoc)	rq   rr   rs   r1   rÒ   rÖ   ÚpropertyÚstringPitchesrv   rw   s   @r#   rÆ   rÆ   ì  sn   ø€ € € € € ðð ð ð ð ð'ð 'ð 'ð-ð -ð -ð �HÐ.Ð0Að Hð ñ ô €M€M€M€M€Mr$   rÆ   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚViolinc                ó¶   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        g d¢| _	        d S )NrÜ   ÚVlné(   zstrings.violinÚG3©rà   ÚD4ÚA4ÚE5r/   ©
r0   r1   r,   r:   r;   r=   r   r‡   r>   rÊ   r~   s     €r#   r1   zViolin.__init__$  se   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à&ˆÔØ&+ˆÔ#ØˆÔØ/ˆÔåœ+ dÑ+Ô+ˆŒØ6Ð6Ð6ˆÔÐÐr$   r   rw   s   @r#   rÜ   rÜ   #  ó8   ø€ € € € € ð	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7r$   rÜ   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚViolac                ó¶   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        g d¢| _	        d S )Nrè   ÚVlaé)   zstrings.violarÄ   ©rÄ   rà   râ   rã   r/   rå   r~   s     €r#   r1   zViola.__init__1  se   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à%ˆÔØ&+ˆÔ#ØˆÔØ.ˆÔåœ+ dÑ+Ô+ˆŒØ6Ð6Ð6ˆÔÐÐr$   r   rw   s   @r#   rè   rè   0  ræ   r$   rè   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚVioloncelloc                ó¶   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        g d¢| _	        d S )Nrî   ÚVcé*   zstrings.cellor®   )r®   ÚG2ÚD3ÚA3r/   rå   r~   s     €r#   r1   zVioloncello.__init__>  se   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à+ˆÔØ&*ˆÔ#ØˆÔØ.ˆÔåœ+ dÑ+Ô+ˆŒØ6Ð6Ð6ˆÔÐÐr$   r   rw   s   @r#   rî   rî   =  ræ   r$   rî   c                  ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )Ú
ContrabasszÁ
    For the Contrabass (or double bass), the stringPitches attribute refers to the sounding pitches
    of each string; whereas the lowestNote attribute refers to the lowest written note.
    c                óè   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        g d¢| _	        t          j        d¦  «        | _        d S )	Nrö   ÚCbé+   zstrings.contrabassÚE2©ÚE1ÚA1ÚD2rò   úP-8r/   )r0   r1   r,   r:   r;   r=   r   r‡   r>   rÊ   r
   ÚIntervalr@   r~   s     €r#   r1   zContrabass.__init__P  sx   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à*ˆÔØ&*ˆÔ#ØˆÔØ3ˆÔåœ+ dÑ+Ô+ˆŒØ6Ð6Ð6ˆÔÝ%Ô.¨uÑ5Ô5ˆÔÐÐr$   rˆ   rw   s   @r#   rö   rö   J  sB   ø€ € € € € ðð ð

6ð 
6ð 
6ð 
6ð 
6ð 
6ð 
6ð 
6ð 
6r$   rö   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚHarpc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        t          j        d¦  «        | _	        d S )Nr  ÚHpé.   z
pluck.harpÚC1zG#7r/   r�   r~   s     €r#   r1   zHarp.__init__^  si   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à$ˆÔØ&*ˆÔ#ØˆÔØ+ˆÔåœ+ dÑ+Ô+ˆŒÝ œ; uÑ-Ô-ˆÔÐÐr$   r   rw   s   @r#   r  r  ]  s8   ø€ € € € € ð	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.r$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚGuitarc                ó¶   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        g d¢| _	        d S )Nr  ÚGtré   zpluck.guitarrú   )rú   ÚA2ró   rà   ÚB3ÚE4r/   rå   r~   s     €r#   r1   zGuitar.__init__k  se   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à&ˆÔØ&+ˆÔ#ØˆÔØ-ˆÔåœ+ dÑ+Ô+ˆŒØBÐBÐBˆÔÐÐr$   r   rw   s   @r#   r  r  j  sA   ø€ € € € € ð	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cr$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚAcousticGuitarc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )NúAcoustic GuitarzAc Gtrr  zpluck.guitar.acousticr/   r—   r~   s     €r#   r1   zAcousticGuitar.__init__x  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à/ˆÔØ&.ˆÔ#ØˆÔØ6ˆÔÐÐr$   r   rw   s   @r#   r  r  w  ó8   ø€ € € € € ð7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7r$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚElectricGuitarc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )NzElectric GuitarzElec Gtré   zpluck.guitar.electricr/   r—   r~   s     €r#   r1   zElectricGuitar.__init__‚  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à/ˆÔØ&0ˆÔ#ØˆÔØ6ˆÔÐÐr$   r   rw   s   @r#   r  r  �  r  r$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚAcousticBassc                ó¶   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        g d¢| _	        d S )NzAcoustic BasszAc bé    zpluck.bass.acousticrü   rû   r/   rå   r~   s     €r#   r1   zAcousticBass.__init__Œ  se   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à-ˆÔØ&,ˆÔ#ØˆÔØ4ˆÔåœ+ dÑ+Ô+ˆŒØ6Ð6Ð6ˆÔÐÐr$   r   rw   s   @r#   r  r  ‹  ræ   r$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚElectricBassc                ó¶   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        g d¢| _	        d S )NzElectric BasszElec bé!   zpluck.bass.electricrü   rû   r/   rå   r~   s     €r#   r1   zElectricBass.__init__™  se   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à-ˆÔØ&.ˆÔ#ØˆÔØ4ˆÔåœ+ dÑ+Ô+ˆŒØ6Ð6Ð6ˆÔÐÐr$   r   rw   s   @r#   r  r  ˜  ræ   r$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚFretlessBassc                ó¶   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        g d¢| _	        d S )NzFretless BasszFretl bé#   zpluck.bass.fretlessrü   rû   r/   rå   r~   s     €r#   r1   zFretlessBass.__init__¦  se   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à-ˆÔØ&/ˆÔ#ØˆÔØ4ˆÔåœ+ dÑ+Ô+ˆŒØ6Ð6Ð6ˆÔÐÐr$   r   rw   s   @r#   r!  r!  ¥  ræ   r$   r!  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚMandolinc                ó¨   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        t          j        d¦  «        | _        g d¢| _        d S )Nr%  ÚMdlnzpluck.mandolinrà   rá   r/   ©	r0   r1   r,   r:   r=   r   r‡   r>   rÊ   r~   s     €r#   r1   zMandolin.__init__³  s]   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à(ˆÔØ&,ˆÔ#Ø/ˆÔåœ+ dÑ+Ô+ˆŒØ6Ð6Ð6ˆÔÐÐr$   r   rw   s   @r#   r%  r%  ²  ó8   ø€ € € € € ð7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7r$   r%  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚUkulelec                ó¨   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        t          j        d¦  «        | _        g d¢| _        d S )Nr+  ÚUkezpluck.ukuleleÚC4)ÚG4r.  r  rã   r/   r(  r~   s     €r#   r1   zUkulele.__init__¿  s]   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&+ˆÔ#Ø.ˆÔåœ+ dÑ+Ô+ˆŒØ6Ð6Ð6ˆÔÐÐr$   r   rw   s   @r#   r+  r+  ¾  r)  r$   r+  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚBanjoc                óè   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        g d¢| _	        t          j        d¦  «        | _        d S )	Nr1  ÚBjozpluck.banjoéi   rÄ   rì   rÿ   r/   )r0   r1   r,   r:   r=   r;   r   r‡   r>   rÊ   r
   r   r@   r~   s     €r#   r1   zBanjo.__init__Ë  sx   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à%ˆÔØ&+ˆÔ#Ø,ˆÔØˆÔåœ+ dÑ+Ô+ˆŒØ6Ð6Ð6ˆÔÝ%Ô.¨uÑ5Ô5ˆÔÐÐr$   r   rw   s   @r#   r1  r1  Ê  s8   ø€ € € € € ð
6ð 
6ð 
6ð 
6ð 
6ð 
6ð 
6ð 
6ð 
6r$   r1  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚLutec                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nr6  ÚLtez
pluck.luter  r/   ©r0   r1   r,   r:   r=   r;   r~   s     €r#   r1   zLute.__init__Ù  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à$ˆÔØ&+ˆÔ#Ø+ˆÔØˆÔÐÐr$   r   rw   s   @r#   r6  r6  Ø  ó8   ø€ € € € € ðð ð ð ð ð ð ð ð r$   r6  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚSitarc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nr<  ÚSitzpluck.sitaréh   r/   r9  r~   s     €r#   r1   zSitar.__init__ã  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à%ˆÔØ&+ˆÔ#Ø,ˆÔØˆÔÐÐr$   r   rw   s   @r#   r<  r<  â  ó8   ø€ € € € € ðð ð ð ð ð ð ð ð r$   r<  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚShamisenc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )NrB  ÚShmsnzpluck.shamisenéj   r/   r9  r~   s     €r#   r1   zShamisen.__init__í  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à(ˆÔØ&-ˆÔ#Ø/ˆÔØˆÔÐÐr$   r   rw   s   @r#   rB  rB  ì  r@  r$   rB  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚKotoc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )NrG  z
pluck.kotoék   r/   r9  r~   s     €r#   r1   zKoto.__init__÷  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à$ˆÔØ&,ˆÔ#Ø+ˆÔØˆÔÐÐr$   r   rw   s   @r#   rG  rG  ö  r@  r$   rG  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚWoodwindInstrumentc                óV   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d S )NÚWoodwindÚWwr/   ©r0   r1   r,   r:   r~   s     €r#   r1   zWoodwindInstrument.__init__  s6   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$Ø(ˆÔØ&*ˆÔ#Ð#Ð#r$   r   rw   s   @r#   rK  rK    s8   ø€ € € € € ð+ð +ð +ð +ð +ð +ð +ð +ð +r$   rK  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚFlutec                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )NrQ  ÚFlzwind.flutes.fluteéI   r.  r/   ©	r0   r1   r,   r:   r=   r;   r   r‡   r>   r~   s     €r#   r1   zFlute.__init__  sU   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à%ˆÔØ&*ˆÔ#Ø2ˆÔØˆÔåœ+ dÑ+Ô+ˆŒˆˆr$   r   rw   s   @r#   rQ  rQ  
  ó8   ø€ € € € € ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,r$   rQ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚPiccoloc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        t          j
        d¦  «        | _        d S )NrX  ÚPicczwind.flutes.piccoloéH   râ   ÚP8r/   ©r0   r1   r,   r:   r=   r;   r   r‡   r>   r
   r   r@   r~   s     €r#   r1   zPiccolo.__init__  sj   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&,ˆÔ#Ø4ˆÔØˆÔåœ+ dÑ+Ô+ˆŒÝ%Ô.¨tÑ4Ô4ˆÔÐÐr$   r   rw   s   @r#   rX  rX    s8   ø€ € € € € ð	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5r$   rX  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚRecorderc                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )Nr_  ÚReczwind.flutes.recorderéJ   ÚF4r/   rU  r~   s     €r#   r1   zRecorder.__init__$  sU   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à(ˆÔØ&+ˆÔ#Ø5ˆÔØˆÔåœ+ dÑ+Ô+ˆŒˆˆr$   r   rw   s   @r#   r_  r_  #  rV  r$   r_  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚPanFlutec                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nz	Pan FlutezP Flzwind.flutes.panpipeséK   r/   r9  r~   s     €r#   r1   zPanFlute.__init__0  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à)ˆÔØ&,ˆÔ#Ø5ˆÔØˆÔÐÐr$   r   rw   s   @r#   re  re  /  r:  r$   re  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú
Shakuhachic                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nri  zShk Flzwind.flutes.shakuhachiéM   r/   r9  r~   s     €r#   r1   zShakuhachi.__init__:  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à*ˆÔØ&.ˆÔ#Ø7ˆÔØˆÔÐÐr$   r   rw   s   @r#   ri  ri  9  r:  r$   ri  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚWhistlec                óŽ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        d| _        d S )Nrm  ÚWhszwind.flutes.whistleTéG   éN   r/   ©r0   r1   r,   r:   r=   rA   ÚpercMapPitchr;   r~   s     €r#   r1   zWhistle.__init__D  sV   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&+ˆÔ#Ø4ˆÔØˆÔàˆÔØˆÔÐÐr$   r   rw   s   @r#   rm  rm  C  s8   ø€ € € € € ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	r$   rm  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚOcarinac                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nru  ÚOczwind.flutes.ocarinaéO   r/   r9  r~   s     €r#   r1   zOcarina.__init__Q  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&*ˆÔ#Ø4ˆÔØˆÔÐÐr$   r   rw   s   @r#   ru  ru  P  r:  r$   ru  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚOboec                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )Nrz  ÚObzwind.reed.oboeéD   úB-3r/   rU  r~   s     €r#   r1   zOboe.__init__[  sU   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à$ˆÔØ&*ˆÔ#Ø/ˆÔØˆÔåœ+ eÑ,Ô,ˆŒˆˆr$   r   rw   s   @r#   rz  rz  Z  r°   r$   rz  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚEnglishHornc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        t          j
        d¦  «        | _        d S )NzEnglish HornzEng Hnzwind.reed.english-hornéE   r  úP-5r/   r]  r~   s     €r#   r1   zEnglishHorn.__init__g  sj   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à,ˆÔØ&.ˆÔ#Ø7ˆÔØˆÔåœ+ dÑ+Ô+ˆŒÝ%Ô.¨uÑ5Ô5ˆÔÐÐr$   r   rw   s   @r#   r€  r€  f  ó8   ø€ € € € € ð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6r$   r€  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚClarinetc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        t          j
        d¦  «        | _        d S )Nr†  ÚClzwind.reed.clarinetrp  ÚE3úM-2r/   r]  r~   s     €r#   r1   zClarinet.__init__t  sj   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à(ˆÔØ&*ˆÔ#Ø3ˆÔØˆÔåœ+ dÑ+Ô+ˆŒÝ%Ô.¨uÑ5Ô5ˆÔÐÐr$   r   rw   s   @r#   r†  r†  s  r„  r$   r†  c                  ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚBassClarinetz°
    >>> bcl = instrument.BassClarinet()
    >>> bcl.instrumentName
    'Bass clarinet'
    >>> bcl.midiProgram
    71
    >>> 'WoodwindInstrument' in bcl.classes
    True
    c                óÈ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        t          j        d¦  «        | _        t          j	        d¦  «        | _
        d S )NzBass clarinetzBs Clzwind.reed.clarinet.basszE-3úM-9r/   )r0   r1   r,   r:   r=   r   r‡   r>   r
   r   r@   r~   s     €r#   r1   zBassClarinet.__init__‹  sb   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à-ˆÔØ&-ˆÔ#Ø8ˆÔåœ+ eÑ,Ô,ˆŒÝ%Ô.¨uÑ5Ô5ˆÔÐÐr$   rˆ   rw   s   @r#   rŒ  rŒ  €  sB   ø€ € € € € ðð ð6ð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6r$   rŒ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚBassoonc                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )Nr�  ÚBsnúwind.reed.bassoonéF   úB-1r/   rU  r~   s     €r#   r1   zBassoon.__init__—  sU   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&+ˆÔ#Ø2ˆÔØˆÔåœ+ eÑ,Ô,ˆŒˆˆr$   r   rw   s   @r#   r�  r�  –  r°   r$   r�  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚContrabassoonc                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )Nr—  zC Bsnr“  r”  r•  r/   rU  r~   s     €r#   r1   zContrabassoon.__init__£  sU   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à-ˆÔØ&-ˆÔ#Ø2ˆÔØˆÔåœ+ eÑ,Ô,ˆŒˆˆr$   r   rw   s   @r#   r—  r—  ¢  r°   r$   r—  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	Saxophonec                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )Nrš  ÚSaxzwind.reed.saxophoneéA   r~  r/   rU  r~   s     €r#   r1   zSaxophone.__init__¯  sU   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à)ˆÔØ&+ˆÔ#Ø4ˆÔØˆÔåœ+ eÑ,Ô,ˆŒˆˆr$   r   rw   s   @r#   rš  rš  ®  r°   r$   rš  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚSopranoSaxophonec                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )NzSoprano SaxophonezS Saxzwind.reed.saxophone.sopranoé@   rŠ  r/   ©	r0   r1   r,   r:   r=   r;   r
   r   r@   r~   s     €r#   r1   zSopranoSaxophone.__init__»  sY   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à1ˆÔØ&-ˆÔ#Ø<ˆÔØˆÔå%Ô.¨uÑ5Ô5ˆÔÐÐr$   r   rw   s   @r#   rŸ  rŸ  º  ó8   ø€ € € € € ð6ð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6r$   rŸ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚAltoSaxophonec                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )NzAlto SaxophonezA Saxzwind.reed.saxophone.altor�  zM-6r/   r¢  r~   s     €r#   r1   zAltoSaxophone.__init__Ç  sY   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à.ˆÔØ&-ˆÔ#Ø9ˆÔØˆÔå%Ô.¨uÑ5Ô5ˆÔÐÐr$   r   rw   s   @r#   r¥  r¥  Æ  r£  r$   r¥  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTenorSaxophonec                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )NzTenor SaxophonezT Saxzwind.reed.saxophone.tenoréB   rŽ  r/   r¢  r~   s     €r#   r1   zTenorSaxophone.__init__Ó  sY   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à/ˆÔØ&-ˆÔ#Ø:ˆÔØˆÔå%Ô.¨uÑ5Ô5ˆÔÐÐr$   r   rw   s   @r#   r¨  r¨  Ò  r£  r$   r¨  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚBaritoneSaxophonec                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )NzBaritone SaxophonezBar Saxzwind.reed.saxophone.baritoneéC   zM-13r/   r¢  r~   s     €r#   r1   zBaritoneSaxophone.__init__ß  sY   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à2ˆÔØ&/ˆÔ#Ø=ˆÔØˆÔå%Ô.¨vÑ6Ô6ˆÔÐÐr$   r   rw   s   @r#   r¬  r¬  Þ  r)  r$   r¬  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚBagpipesc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nr°  ÚBagzwind.pipes.bagpipesém   r/   r9  r~   s     €r#   r1   zBagpipes.__init__ë  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à(ˆÔØ&+ˆÔ#Ø4ˆÔØˆÔÐÐr$   r   rw   s   @r#   r°  r°  ê  r@  r$   r°  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚShehnaic                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nrµ  ÚShnzwind.reed.shenaiéo   r/   r9  r~   s     €r#   r1   zShehnai.__init__õ  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&+ˆÔ#à1ˆÔØˆÔÐÐr$   r   rw   s   @r#   rµ  rµ  ô  ó8   ø€ € € € € ðð ð ð ð ð ð ð ð r$   rµ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚBrassInstrumentc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NÚBrassÚBrsé=   r/   r¢   r~   s     €r#   r1   zBrassInstrument.__init__  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$Ø%ˆÔØ&+ˆÔ#ØˆÔÐÐr$   r   rw   s   @r#   r»  r»    s8   ø€ € € € € ðð ð ð ð ð ð ð ð r$   r»  c                  ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚHornz˜
    >>> hn = instrument.Horn()
    >>> hn.instrumentName
    'Horn'
    >>> hn.midiProgram
    60
    >>> 'BrassInstrument' in hn.classes
    True
    c                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        t          j
        d¦  «        | _        d S )NrÁ  ÚHnzbrass.french-horné<   r®   rƒ  r/   r]  r~   s     €r#   r1   zHorn.__init__  sj   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à$ˆÔØ&*ˆÔ#Ø2ˆÔØˆÔåœ+ dÑ+Ô+ˆŒÝ%Ô.¨uÑ5Ô5ˆÔÐÐr$   rˆ   rw   s   @r#   rÁ  rÁ  
  sB   ø€ € € € € ðð ð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6r$   rÁ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTrumpetc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        t          j
        d¦  «        | _        d S )NrÆ  ÚTptzbrass.trumpeté8   zF#3rŠ  r/   r]  r~   s     €r#   r1   zTrumpet.__init__"  sj   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&+ˆÔ#Ø.ˆÔØˆÔåœ+ eÑ,Ô,ˆŒÝ%Ô.¨uÑ5Ô5ˆÔÐÐr$   r   rw   s   @r#   rÆ  rÆ  !  r„  r$   rÆ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTrombonec                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )NrË  ÚTrbzbrass.tromboneé9   rú   r/   rU  r~   s     €r#   r1   zTrombone.__init__/  sU   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à(ˆÔØ&+ˆÔ#Ø/ˆÔØˆÔåœ+ dÑ+Ô+ˆŒˆˆr$   r   rw   s   @r#   rË  rË  .  rV  r$   rË  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚBassTrombonec                ó–   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        t          j        d¦  «        | _        d S )NzBass TromboneÚBTrbzbrass.trombone.bassr•  r/   )r0   r1   r,   r:   r=   r   r‡   r>   r~   s     €r#   r1   zBassTrombone.__init__;  sM   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à-ˆÔØ&,ˆÔ#Ø4ˆÔåœ+ eÑ,Ô,ˆŒˆˆr$   r   rw   s   @r#   rÐ  rÐ  :  s8   ø€ € € € € ð-ð -ð -ð -ð -ð -ð -ð -ð -r$   rÐ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTubac                ó¤   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        t          j        d¦  «        | _        d S )NrÔ  ÚTbaz
brass.tubaé:   ÚD1r/   rU  r~   s     €r#   r1   zTuba.__init__F  sU   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à$ˆÔØ&+ˆÔ#Ø+ˆÔØˆÔåœ+ dÑ+Ô+ˆŒˆˆr$   r   rw   s   @r#   rÔ  rÔ  E  rV  r$   rÔ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú
Percussionc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d | _        d| _        d| _        d S )NFrÚ  ÚPercr/   )r0   r1   rA   rs  r,   r:   r~   s     €r#   r1   zPercussion.__init__T  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$Ø ˆÔØ ˆÔØ*ˆÔØ&,ˆÔ#Ð#Ð#r$   r   rw   s   @r#   rÚ  rÚ  S  ó8   ø€ € € € € ð-ð -ð -ð -ð -ð -ð -ð -ð -r$   rÚ  c                  ó   — e Zd ZdS )ÚPitchedPercussionN©rq   rr   rs   r/   r$   r#   rß  rß  \  ó   € € € € € Ø€Dr$   rß  c                  óF   ‡ — e Zd Zˆ fd„Zd„ Zd„ Z eeed¬¦  «        Zˆ xZS )rg   c                ór   •—  t          ¦   «         j        di |¤Ž d | _        i | _        i | _        d| _        d S )Nrh   r/   )r0   r1   Ú	_modifierÚ_modifierToPercMapPitchÚ_percMapPitchToModifierr<   r~   s     €r#   r1   zUnpitchedPercussion.__init__a  sE   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$ØˆŒØ')ˆÔ$Ø')ˆÔ$ØˆÔÐÐr$   c                ó   — | j         S rM   )rä  rP   s    r#   Ú_getModifierz UnpitchedPercussion._getModifierh  s
   € ØŒ~Ðr$   c                ó0  — |                      ¦   «                              ¦   «         }| j        du r_|                      ¦   «         | j        v rD| j        |                      ¦   «                  | _        | j        | j        v r| j        | j                 }|| _        d S )NT)ÚlowerÚstriprA   rå  rs  ræ  rä  )rC   Úmodifiers     r#   Ú_setModifierz UnpitchedPercussion._setModifierk  sŒ   € Ø—>’>Ñ#Ô#×)Ò)Ñ+Ô+ˆð Ô˜tÐ#Ð#¨¯ªÑ(8Ô(8¸DÔ<XÐ(XÐ(XØ $Ô <¸X¿^º^Ñ=MÔ=MÔ NˆDÔð Ô  DÔ$@Ð@Ð@ØÔ7¸Ô8IÔJ�à!ˆŒˆˆr$   aÎ  
    Returns or sets the modifier for this instrument.  A modifier could
    be something like "low-floor" for a TomTom or "rimshot" for a SnareDrum.

    If the modifier is in the object's ._modifierToPercMapPitch dictionary
    then changing the modifier also changes the .percMapPitch for the object


    >>> bd = instrument.BongoDrums()
    >>> bd.modifier
    'high'

    >>> bd.percMapPitch
    60
    >>> bd.modifier = 'low'
    >>> bd.percMapPitch
    61

    Variations on modifiers can also be used and they get normalized:

    >>> wb1 = instrument.Woodblock()
    >>> wb1.percMapPitch
    76
    >>> wb1.modifier = 'LO'
    >>> wb1.percMapPitch
    77
    >>> wb1.modifier  # n.b. -- not LO
    'low'
    r×   )	rq   rr   rs   r1   rè  rí  rÙ   rì  rv   rw   s   @r#   rg   rg   `  sk   ø€ € € € € ðð ð ð ð ðð ð ð"ð "ð "ð ˆx˜ lð 9ð 	ñ 	ô 	€H€H€H€H€Hr$   rg   c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú
Vibraphonec                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nrï  ÚVbpzpitched-percussion.vibraphoneé   r/   r9  r~   s     €r#   r1   zVibraphone.__init__˜  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à*ˆÔØ&+ˆÔ#Ø>ˆÔØˆÔÐÐr$   r   rw   s   @r#   rï  rï  —  r:  r$   rï  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚMarimbac                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nrô  ÚMarzpitched-percussion.marimbaé   r/   r9  r~   s     €r#   r1   zMarimba.__init__¢  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&+ˆÔ#Ø;ˆÔØˆÔÐÐr$   r   rw   s   @r#   rô  rô  ¡  r:  r$   rô  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	Xylophonec                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nrù  zXyl.zpitched-percussion.xylophoneé   r/   r9  r~   s     €r#   r1   zXylophone.__init__¬  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à)ˆÔØ&,ˆÔ#Ø=ˆÔØˆÔÐÐr$   r   rw   s   @r#   rù  rù  «  r:  r$   rù  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚGlockenspielc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nrý  ÚGspzpitched-percussion.glockenspielrh   r/   r9  r~   s     €r#   r1   zGlockenspiel.__init__¶  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à,ˆÔØ&+ˆÔ#Ø@ˆÔØˆÔÐÐr$   r   rw   s   @r#   rý  rý  µ  s8   ø€ € € € € ðð ð ð ð ð ð ð ð r$   rý  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚChurchBellsc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )NzChurch BellsÚBellszmetal.bells.churché   r/   r9  r~   s     €r#   r1   zChurchBells.__init__À  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à,ˆÔØ&-ˆÔ#Ø3ˆÔØˆÔÐÐr$   r   rw   s   @r#   r  r  ¿  r:  r$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTubularBellsc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )NzTubular BellsÚTbellsz pitched-percussion.tubular-bellsr  r/   r9  r~   s     €r#   r1   zTubularBells.__init__Ê  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à-ˆÔØ&.ˆÔ#ØAˆÔØˆÔÐÐr$   r   rw   s   @r#   r  r  É  r:  r$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚGongc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )Nr
  ÚGngz
metal.gongr/   r}   r~   s     €r#   r1   zGong.__init__Ô  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à$ˆÔØ&+ˆÔ#Ø+ˆÔÐÐr$   r   rw   s   @r#   r
  r
  Ó  ó8   ø€ € € € € ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,r$   r
  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	Handbellsc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )Nr  ÚHbellszpitched-percussion.handbellsr/   r}   r~   s     €r#   r1   zHandbells.__init__Ý  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à)ˆÔØ&.ˆÔ#Ø=ˆÔÐÐr$   r   rw   s   @r#   r  r  Ü  s8   ø€ € € € € ð>ð >ð >ð >ð >ð >ð >ð >ð >r$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚDulcimerc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nr  ÚDlczpluck.dulcimeré   r/   r9  r~   s     €r#   r1   zDulcimer.__init__æ  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à(ˆÔØ&+ˆÔ#Ø/ˆÔØˆÔÐÐr$   r   rw   s   @r#   r  r  å  r:  r$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	SteelDrumc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nz
Steel DrumzSt Drzmetal.steel-drumsér   r/   r9  r~   s     €r#   r1   zSteelDrum.__init__ð  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à*ˆÔØ&-ˆÔ#Ø2ˆÔØˆÔÐÐr$   r   rw   s   @r#   r  r  ï  r@  r$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTimpanic                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nr  ÚTimpzdrum.timpanié/   r/   r9  r~   s     €r#   r1   zTimpani.__init__ú  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&,ˆÔ#Ø-ˆÔØˆÔÐÐr$   r   rw   s   @r#   r  r  ù  r:  r$   r  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚKalimbac                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nr!  ÚKalzpitched-percussion.kalimbaél   r/   r9  r~   s     €r#   r1   zKalimba.__init__  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&+ˆÔ#Ø;ˆÔØˆÔÐÐr$   r   rw   s   @r#   r!  r!    r@  r$   r!  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	Woodblockc                óè   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        d| _        ddddd	œ| _        dd
dœ| _	        | j        | j                 | _
        d S )Nr&  zWd Blzwood.wood-blockTés   ÚhighéL   rk  )r)  ÚlowÚhiÚlor+  )r*  rk  r/   )r0   r1   r,   r:   r=   rA   r;   rä  rå  ræ  rs  r~   s     €r#   r1   zWoodblock.__init__  s‹   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à)ˆÔØ&-ˆÔ#Ø0ˆÔØˆÔØˆÔàˆŒØ02¸2ÀRÈrÐ'RÐ'RˆÔ$Ø,2¸Ð'>Ð'>ˆÔ$Ø Ô8¸¼ÔHˆÔÐÐr$   r   rw   s   @r#   r&  r&    óA   ø€ € € € € ðIð Ið Ið Ið Ið Ið Ið Ið Ir$   r&  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTempleBlockc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzTemple BlockzTemp Blzwood.temple-blockr/   r}   r~   s     €r#   r1   zTempleBlock.__init__  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à,ˆÔØ&/ˆÔ#Ø2ˆÔÐÐr$   r   rw   s   @r#   r0  r0    ó8   ø€ € € € € ð3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3r$   r0  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	Castanetsc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )Nr4  ÚCaszwood.castanetsr/   r}   r~   s     €r#   r1   zCastanets.__init__'  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à)ˆÔØ&+ˆÔ#Ø/ˆÔÐÐr$   r   rw   s   @r#   r4  r4  &  ó8   ø€ € € € € ð0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0r$   r4  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚMaracasc                ó€   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        d S )Nr9  Tr”  ÚMrcszrattle.maracar/   )r0   r1   r,   rA   rs  r:   r=   r~   s     €r#   r1   zMaracas.__init__0  sN   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØˆÔØˆÔØ&,ˆÔ#Ø.ˆÔÐÐr$   r   rw   s   @r#   r9  r9  /  s8   ø€ € € € € ð/ð /ð /ð /ð /ð /ð /ð /ð /r$   r9  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	Vibraslapc                ó€   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        d S )Nr=  ÚVbslpzrattle.vibraslapTr×  r/   ©r0   r1   r,   r:   r=   rA   rs  r~   s     €r#   r1   zVibraslap.__init__;  sN   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à)ˆÔØ&-ˆÔ#Ø1ˆÔØˆÔØˆÔÐÐr$   r   rw   s   @r#   r=  r=  :  r¹  r$   r=  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚCymbalsc                óV   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d S )NrB  ÚCymr/   rO  r~   s     €r#   r1   zCymbals.__init__I  s6   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$Ø'ˆÔØ&+ˆÔ#Ð#Ð#r$   r   rw   s   @r#   rB  rB  H  s8   ø€ € € € € ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,r$   rB  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚFingerCymbalsc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzFinger CymbalszFing Cymzmetal.cymbal.fingerr/   r}   r~   s     €r#   r1   zFingerCymbals.__init__P  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à.ˆÔØ&0ˆÔ#Ø4ˆÔÐÐr$   r   rw   s   @r#   rF  rF  O  ó8   ø€ € € € € ð5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5r$   rF  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚCrashCymbalsc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        dddœ| _        dd	d
œ| _        | j        | j                 | _	        d S )NzCrash CymbalsrD  zmetal.cymbal.crashTÚ1é1   rÎ  )rL  Ú2rN  )rM  rÎ  r/   ©
r0   r1   r,   r:   r=   rA   rä  rå  ræ  rs  r~   s     €r#   r1   zCrashCymbals.__init__Y  s�   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à-ˆÔØ&+ˆÔ#Ø3ˆÔØˆÔØˆŒà-/Ø-/ð(*ð (*ˆÔ$ð -0Ø,/ð(*ð (*ˆÔ$ð !Ô8¸¼ÔHˆÔÐÐr$   r   rw   s   @r#   rJ  rJ  X  óA   ø€ € € € € ðIð Ið Ið Ið Ið Ið Ið Ið Ir$   rJ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚSuspendedCymbalc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzSuspended CymbalzSus Cymzmetal.cymbal.suspendedr/   r}   r~   s     €r#   r1   zSuspendedCymbal.__init__l  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à0ˆÔØ&/ˆÔ#Ø7ˆÔÐÐr$   r   rw   s   @r#   rR  rR  k  s8   ø€ € € € € ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8r$   rR  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚSizzleCymbalc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzSizzle CymbalzSiz Cymzmetal.cymbal.sizzler/   r}   r~   s     €r#   r1   zSizzleCymbal.__init__u  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à-ˆÔØ&/ˆÔ#Ø4ˆÔÐÐr$   r   rw   s   @r#   rU  rU  t  rH  r$   rU  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚSplashCymbalsc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzSplash CymbalszSpl Cymzmetal.cymbal.splashr/   r}   r~   s     €r#   r1   zSplashCymbals.__init__~  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à.ˆÔØ&/ˆÔ#Ø4ˆÔÐÐr$   r   rw   s   @r#   rX  rX  }  rH  r$   rX  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚRideCymbalsc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzRide CymbalszRide Cymzmetal.cymbal.rider/   r}   r~   s     €r#   r1   zRideCymbals.__init__‡  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à,ˆÔØ&0ˆÔ#Ø2ˆÔÐÐr$   r   rw   s   @r#   r[  r[  †  r2  r$   r[  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚHiHatCymbalc                óÚ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        ddddœ| _        dd	d
dœ| _        | j        | j                 | _        d| _	        d S )NzHi-Hat Cymbalzmetal.hi-hatTÚpedalé,   r  rñ   )r`  ÚopenÚclosedrb  rc  )ra  r  rñ   zHi-Hatr/   )
r0   r1   r,   r=   rA   rä  rå  ræ  rs  r:   r~   s     €r#   r1   zHiHatCymbal.__init__�  s“   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à-ˆÔØ-ˆÔØˆÔà ˆŒà13Ø02Ø24ð(*ð (*ˆÔ$ð -4Ø,2Ø,4ð(*ð (*ˆÔ$ð !Ô8¸¼ÔHˆÔà&.ˆÔ#Ð#Ð#r$   r   rw   s   @r#   r^  r^  �  s8   ø€ € € € € ð/ð /ð /ð /ð /ð /ð /ð /ð /r$   r^  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTrianglec                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        dddœ| _        d	dd
œ| _        | j        | j                 | _	        d S )Nre  ÚTrizmetal.triangleTrb  éQ   éP   )rb  Úmuterj  )ri  rh  r/   rO  r~   s     €r#   r1   zTriangle.__init__§  s�   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à(ˆÔØ&+ˆÔ#Ø/ˆÔØˆÔØˆŒà02Ø02ð(*ð (*ˆÔ$ð -3Ø,2ð(*ð (*ˆÔ$ð !Ô8¸¼ÔHˆÔÐÐr$   r   rw   s   @r#   re  re  ¦  rP  r$   re  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚCowbellc                ó€   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        d S )Nrl  ÚCwbzmetal.bells.cowbellTrÉ  r/   r@  r~   s     €r#   r1   zCowbell.__init__º  sN   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&+ˆÔ#Ø4ˆÔØˆÔØˆÔÐÐr$   r   rw   s   @r#   rl  rl  ¹  r¹  r$   rl  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚAgogoc                óŽ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        d| _        d S )Nrp  ÚAgozmetal.bells.agogoTr®  éq   r/   rr  r~   s     €r#   r1   zAgogo.__init__Å  sV   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à%ˆÔØ&+ˆÔ#Ø2ˆÔØˆÔØˆÔØˆÔÐÐr$   r   rw   s   @r#   rp  rp  Ä  s8   ø€ € € € € ðð ð ð ð ð ð ð ð r$   rp  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTamTamc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzTam-TamzTam-tzmetal.tamtamr/   r}   r~   s     €r#   r1   zTamTam.__init__Ñ  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&-ˆÔ#Ø-ˆÔÐÐr$   r   rw   s   @r#   ru  ru  Ð  ó8   ø€ € € € € ð.ð .ð .ð .ð .ð .ð .ð .ð .r$   ru  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚSleighBellsc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzSleigh BellszSlgh Blzmetal.bells.sleigh-bellsr/   r}   r~   s     €r#   r1   zSleighBells.__init__Ú  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à,ˆÔØ&/ˆÔ#Ø9ˆÔÐÐr$   r   rw   s   @r#   ry  ry  Ù  s8   ø€ € € € € ð:ð :ð :ð :ð :ð :ð :ð :ð :r$   ry  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	SnareDrumc                óÚ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        dddd	œ| _        dd
ddœ| _        | j        | j                 | _	        d S )Nz
Snare DrumzSn Drzdrum.snare-drumTÚacousticé&   é%   rß   )r~  ÚsideÚelectricr�  r‚  )r  r€  rß   r/   rO  r~   s     €r#   r1   zSnareDrum.__init__ã  s“   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à*ˆÔØ&-ˆÔ#Ø0ˆÔØˆÔØ#ˆŒØ46Ø02Ø46ð(*ð (*ˆÔ$ð -7Ø,2Ø,6ð(*ð (*ˆÔ$ð !Ô8¸¼ÔHˆÔÐÐr$   r   rw   s   @r#   r|  r|  â  sA   ø€ € € € € ðIð Ið Ið Ið Ið Ið Ið Ið Ir$   r|  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	TenorDrumc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )Nz
Tenor DrumzTen Drzdrum.tenor-drumr/   r}   r~   s     €r#   r1   zTenorDrum.__init__÷  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à*ˆÔØ&.ˆÔ#Ø0ˆÔÐÐr$   r   rw   s   @r#   r„  r„  ö  ó8   ø€ € € € € ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1r$   r„  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú
BongoDrumsc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        dddœ| _        dd	d
œ| _        | j        | j                 | _	        d S )NzBongo DrumszBgo Drz
drum.bongoTr)  rÄ  r¿  ©r)  r+  r+  )rÄ  r¿  r/   rO  r~   s     €r#   r1   zBongoDrums.__init__   s   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à+ˆÔØ&.ˆÔ#Ø+ˆÔàˆÔØˆŒØ02¸2Ð'>Ð'>ˆÔ$Ø,2¸Ð'>Ð'>ˆÔ$Ø Ô8¸¼ÔHˆÔÐÐr$   r   rw   s   @r#   rˆ  rˆ  ÿ  sA   ø€ € € € € ðIð Ið Ið Ið Ið Ið Ið Ið Ir$   rˆ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTomTomc                óæ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        dddd	d
ddœ| _        dddddddœ| _        | j        | j                 | _	        d S )NzTom-TomÚTomzdrum.tom-tomTú	low floorrë   rù   é-   r  rÉ   é2   )r�  ú
high floorr+  úlow-midúhigh-midr)  r’  r+  r“  r”  r)  )rë   rù   r�  r  rÉ   r‘  r/   rO  r~   s     €r#   r1   zTomTom.__init__  sž   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&+ˆÔ#Ø-ˆÔØˆÔØ$ˆŒØ57ÀrÐRTØ35À2Èrð(Sð (SˆÔ$à,7¸\ÈuØ,5¸:È6ð(Sð (SˆÔ$à Ô8¸¼ÔHˆÔÐÐr$   r   rw   s   @r#   rŒ  rŒ    r.  r$   rŒ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTimbalesc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        dddœ| _        dd	d
œ| _        | j        | j                 | _	        d S )Nr–  ÚTimzdrum.timbaleTr)  r�  rª  rŠ  r+  )r�  rª  r/   rO  r~   s     €r#   r1   zTimbales.__init__  s   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à(ˆÔØ&+ˆÔ#Ø-ˆÔØˆÔØˆŒØ02¸2Ð'>Ð'>ˆÔ$Ø,2¸Ð'>Ð'>ˆÔ$Ø Ô8¸¼ÔHˆÔÐÐr$   r   rw   s   @r#   r–  r–    óA   ø€ € € € € ð
Ið 
Ið 
Ið 
Ið 
Ið 
Ið 
Ið 
Ið 
Ir$   r–  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú	CongaDrumc                óÚ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        dddd	œ| _        dd
ddœ| _        | j        | j                 | _	        d S )Nz
Conga DrumzCga Drz
drum.congaTr+  r¡  é>   é?   )r+  ú	mute highú	open highrŸ  r   )r¡  r�  rž  r/   rO  r~   s     €r#   r1   zCongaDrum.__init__-  s„   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à*ˆÔØ&.ˆÔ#Ø+ˆÔØˆÔØˆŒØ/1ÀÐQSÐ'TÐ'TˆÔ$Ø,1°{ÈÐ'TÐ'TˆÔ$Ø Ô8¸¼ÔHˆÔÐÐr$   r   rw   s   @r#   r›  r›  ,  r™  r$   r›  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚBassDrumc                óÖ   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        dddœ| _        dd	d
œ| _        | j        | j                 | _	        d S )Nz	Bass DrumzB Drzdrum.bass-drumTr~  r#  é$   )r~  rL  rL  )r#  r¤  r/   rO  r~   s     €r#   r1   zBassDrum.__init__;  s   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à)ˆÔØ&,ˆÔ#Ø/ˆÔØˆÔØ#ˆŒØ46¸RÐ'@Ð'@ˆÔ$Ø,6¸CÐ'@Ð'@ˆÔ$Ø Ô8¸¼ÔHˆÔÐÐr$   r   rw   s   @r#   r¢  r¢  :  r™  r$   r¢  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTaikoc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nr¦  ÚTkoz
drum.taikoét   r/   r9  r~   s     €r#   r1   zTaiko.__init__I  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à%ˆÔØ&+ˆÔ#Ø+ˆÔØˆÔÐÐr$   r   rw   s   @r#   r¦  r¦  H  r@  r$   r¦  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )Ú
Tambourinec                ó€   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d| _        d S )Nr«  ÚTmbnzdrum.tambourineTé6   r/   r@  r~   s     €r#   r1   zTambourine.__init__S  sN   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à*ˆÔØ&,ˆÔ#Ø0ˆÔØˆÔØˆÔÐÐr$   r   rw   s   @r#   r«  r«  R  r¹  r$   r«  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚWhipc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )Nr°  zeffect.whipr/   r}   r~   s     €r#   r1   zWhip.__init__^  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à$ˆÔØ&,ˆÔ#Ø,ˆÔÐÐr$   r   rw   s   @r#   r°  r°  ]  rÝ  r$   r°  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚRatchetc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )Nr³  ÚRatczrattle.ratchetr/   r}   r~   s     €r#   r1   zRatchet.__init__g  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&,ˆÔ#Ø/ˆÔÐÐr$   r   rw   s   @r#   r³  r³  f  r7  r$   r³  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚSirenc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )Nr·  zeffect.sirenr/   r}   r~   s     €r#   r1   zSiren.__init__p  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à%ˆÔØ&-ˆÔ#Ø-ˆÔÐÐr$   r   rw   s   @r#   r·  r·  o  rw  r$   r·  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚSandpaperBlocksc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzSandpaper BlockszSand Blzwood.sand-blockr/   r}   r~   s     €r#   r1   zSandpaperBlocks.__init__y  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à0ˆÔØ&/ˆÔ#Ø0ˆÔÐÐr$   r   rw   s   @r#   rº  rº  x  r†  r$   rº  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚWindMachinec                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzWind Machinez	Wind Machzeffect.windr/   r}   r~   s     €r#   r1   zWindMachine.__init__‚  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à,ˆÔØ&1ˆÔ#Ø,ˆÔÐÐr$   r   rw   s   @r#   r½  r½  �  rÝ  r$   r½  c                  ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚVocalistzC
    n.b. called Vocalist to not be confused with stream.Voice
    c                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NÚVoiceÚVé5   r/   r¢   r~   s     €r#   r1   zVocalist.__init__’  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à%ˆÔØ&)ˆÔ#ØˆÔÐÐr$   rˆ   rw   s   @r#   rÀ  rÀ  �  sB   ø€ € € € € ðð ðð ð ð ð ð ð ð ð r$   rÀ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚSopranoc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NrÆ  ÚSzvoice.sopranor/   r}   r~   s     €r#   r1   zSoprano.__init__›  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à'ˆÔØ&)ˆÔ#Ø.ˆÔÐÐr$   r   rw   s   @r#   rÆ  rÆ  š  s8   ø€ € € € € ð/ð /ð /ð /ð /ð /ð /ð /ð /r$   rÆ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚMezzoSopranoc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NzMezzo-SopranoÚMezzvoice.mezzo-sopranor/   r}   r~   s     €r#   r1   zMezzoSoprano.__init__¤  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à-ˆÔØ&+ˆÔ#Ø4ˆÔÐÐr$   r   rw   s   @r#   rÊ  rÊ  £  rH  r$   rÊ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚAltoc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NrÎ  ÚAz
voice.altor/   r}   r~   s     €r#   r1   zAlto.__init__­  ó>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à$ˆÔØ&)ˆÔ#Ø+ˆÔÐÐr$   r   rw   s   @r#   rÎ  rÎ  ¬  r  r$   rÎ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚTenorc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NrÓ  ÚTzvoice.tenorr/   r}   r~   s     €r#   r1   zTenor.__init__¶  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à%ˆÔØ&)ˆÔ#Ø,ˆÔÐÐr$   r   rw   s   @r#   rÓ  rÓ  µ  rÝ  r$   rÓ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚBaritonec                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )Nr×  ÚBarzvoice.baritoner/   r}   r~   s     €r#   r1   zBaritone.__init__¿  s>   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à(ˆÔØ&+ˆÔ#Ø/ˆÔÐÐr$   r   rw   s   @r#   r×  r×  ¾  r7  r$   r×  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚBassc                ód   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d S )NrÛ  ÚBz
voice.bassr/   r}   r~   s     €r#   r1   zBass.__init__È  rÑ  r$   r   rw   s   @r#   rÛ  rÛ  Ç  r  r$   rÛ  c                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚChoirc                ór   •—  t          ¦   «         j        di |¤Ž d| _        d| _        d| _        d| _        d S )Nrß  ÚChzvoice.choiré4   r/   r9  r~   s     €r#   r1   zChoir.__init__Ñ  sF   ø€ Ø�‰ŒÔÐ$Ð$˜8Ð$Ð$Ð$à%ˆÔØ&*ˆÔ#Ø,ˆÔØˆÔÐÐr$   r   rw   s   @r#   rß  rß  Ð  r:  r$   rß  c                  ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )Ú	Conductorzt
    Presently used only for tracking the MIDI track containing tempo,
    key signature, and related metadata.
    c                ó>   •—  t          ¦   «         j        dddi|¤Ž d S )Nr,   rä  r/   )r0   r1   r~   s     €r#   r1   zConductor.__init__ã  s+   ø€ Ø�‰ŒÔÐ@Ð@¨Ð@°xÐ@Ð@Ð@Ð@Ð@r$   rˆ   rw   s   @r#   rä  rä  Ý  sK   ø€ € € € € ðð ð
Að Að Að Að Að Að Að Að Ar$   rä  )ezno performersÚsoloÚduetÚtrioÚquartetÚquintetÚsextetÚseptetÚoctetÚnonetÚdectetÚundectetÚ	duodectetÚ	tredectetÚquattuordectetÚ
quindectetÚ	sexdectetÚseptendectetÚ
octodectetÚnovemdectetÚvigetetÚ	unvigetetÚ
duovigetetÚ
trevigetetÚquattuorvigetetÚquinvigetetÚ
sexvigetetÚseptenvigetetÚoctovigetetÚnovemvigetetÚtrigetetÚ
untrigetetÚduotrigetetÚtretrigetetÚquottuortrigetetÚquintrigetetÚsextrigetetÚseptentrigetetÚoctotrigetetÚnovemtrigetetÚquadragetetÚunquadragetetÚduoquadragetetÚtrequadragetetÚquattuorquadragetetÚquinquadragetetÚsexquadragetetÚoctoquadragetetr  ÚnovemquadragetetÚquinquagetetÚunquinquagetetÚduoquinquagetetÚtrequinguagetetÚquattuorquinquagetetÚquinquinquagetetÚsexquinquagetetÚseptenquinquagetetÚoctoquinquagetetÚnovemquinquagetetÚ	sexagetetÚundexagetetÚduosexagetetÚtresexagetetÚquoattuorsexagetetÚquinsexagetetÚsexsexagetetÚseptensexagetetÚoctosexagetetÚnovemsexagetetÚseptuagetetÚunseptuagetetÚduoseptuagetetÚtreseptuagetetÚquattuorseptuagetetÚquinseptuagetetÚsexseptuagetetÚseptenseptuagetetÚoctoseptuagetetÚnovemseptuagetetÚ	octogetetÚunoctogetetÚduooctogetetÚtreoctogetetÚquattuoroctogetetÚquinoctogetetÚsexoctogetetÚseptoctogetetÚoctooctogetetÚnovemoctogetetÚ	nonagetetÚunnonagetetÚduononagetetÚtrenonagetetÚquattuornonagetetÚquinnonagetetÚsexnonagetetÚseptennonagetetÚoctononagetetÚnovemnonagetetÚcentetc                óp   — | dk    rdS | dk     rt          d¦  «        ‚t          t          | ¦  «                 S )zï
    return the name of a generic ensemble with "number" players:

    >>> instrument.ensembleNameBySize(4)
    'quartet'
    >>> instrument.ensembleNameBySize(1)
    'solo'
    >>> instrument.ensembleNameBySize(83)
    'treoctogetet'
    éd   zlarge ensembler   z,okay, you are on your own for this one buddy)r	   ÚensembleNamesBySizeÚint)Únumbers    r#   ÚensembleNameBySizerN    s<   € ð �‚|€|ØÐØ	�!ŠˆÝ!Ð"PÑQÔQÐQå"¥3 v¡;¤;Ô/Ð/r$   r   r   Úboolc                ó
  — ddl m} |r| }n|                      d¦  «        }|                     ¦   «         s|g}n|                     |j        ¦  «        }|D �],}t          |t                                        ¦   «         ¦  «        }|D ]ú}t          |¦  «        dk    rŒd„ |D ¦   «         }d„ |D ¦   «         }	t          |¦  «        dk    st          |	¦  «        dk    rŒUd}
|D ]}|}
Œd}|	D ]}|}Œd„ |D ¦   «         }t          |¦  «        dk    r9d}|D ]}|
|_	        ||_
        |} |D ]}||u rŒ|                     |d	¬
¦  «         ŒŒ¿|D ]8}|j        t          k    r|                     |d	¬
¦  «         Œ*|
|_	        ||_
        Œ9Œû�Œ.|S )aÔ  
    Check every offset in `s` for multiple instrument instances.
    If the `.partName` can be standardized across instances,
    i.e. if each instance has the same value or `None`,
    and likewise for `.instrumentName`, standardize the attributes.
    Further, and only if the above conditions are met,
    if there are two instances of the same class, remove all but one;
    if at least one generic `Instrument` instance is found at the same
    offset as one or more specific instruments, remove the generic `Instrument` instances.

    Two `Instrument` instances:

    >>> i1 = instrument.Instrument(instrumentName='Semi-Hollow Body')
    >>> i2 = instrument.Instrument()
    >>> i2.partName = 'Electric Guitar'
    >>> s1 = stream.Stream()
    >>> s1.insert(4, i1)
    >>> s1.insert(4, i2)
    >>> list(s1.getInstruments())
    [<music21.instrument.Instrument 'Semi-Hollow Body'>,
        <music21.instrument.Instrument 'Electric Guitar: '>]
    >>> post = instrument.deduplicate(s1)
    >>> list(post.getInstruments())
    [<music21.instrument.Instrument 'Electric Guitar: Semi-Hollow Body'>]

    One `Instrument` instance and one subclass instance, with `inPlace` and parts:

    >>> from music21.stream import Score, Part
    >>> i3 = instrument.Instrument()
    >>> i3.partName = 'Piccolo'
    >>> i4 = instrument.Piccolo()
    >>> s2 = stream.Score()
    >>> p1 = stream.Part()
    >>> p1.append([i3, i4])
    >>> p2 = stream.Part()
    >>> p2.append([instrument.Flute(), instrument.Flute()])
    >>> s2.insert(0, p1)
    >>> s2.insert(0, p2)
    >>> list(p1.getInstruments())
    [<music21.instrument.Instrument 'Piccolo: '>, <music21.instrument.Piccolo 'Piccolo'>]
    >>> list(p2.getInstruments())
    [<music21.instrument.Flute 'Flute'>, <music21.instrument.Flute 'Flute'>]
    >>> s2 = instrument.deduplicate(s2, inPlace=True)
    >>> list(p1.getInstruments())
    [<music21.instrument.Piccolo 'Piccolo'>]
    >>> list(p2.getInstruments())
    [<music21.instrument.Flute 'Flute'>]
    r   r   zinstrument.deduplicateri   c                ó*   — h | ]}|j         ®	|j         ’ŒS rM   )r4   ©rÎ   r!   s     r#   ú	<setcomp>zdeduplicate.<locals>.<setcomp>`  s!   € ÐPÐPÐP¨q¸¼Ð9O ¤
Ð9OÐ9OÐ9Or$   c                ó*   — h | ]}|j         ®	|j         ’ŒS rM   )r,   rR  s     r#   rS  zdeduplicate.<locals>.<setcomp>a  s#   € Ð\Ð\Ð\°Q¸qÔ?OÐ?[ Ô 0Ð?[Ð?[Ð?[r$   Nc                ó   — h | ]	}|j         ’Œ
S r/   rw   )rÎ   Úinsts     r#   rS  zdeduplicate.<locals>.<setcomp>n  s   € Ð4Ð4Ð4¨$�t”~Ð4Ð4Ð4r$   T)Úrecurse)Úmusic21r   r   ÚhasPartLikeStreamsÚgetElementsByClassÚStreamr   r'   rk   r4   r,   r)   rE   )r   r   r   Ú	returnObjÚ
substreamsÚsubÚoTreeÚoÚnotNonePartNamesÚnotNoneInstNamesr4   ÚpNamer,   ÚiNamer(   Ú	survivingrV  s                    r#   Údeduplicaterf    s,  € ðb ÐÐÐÐÐàð EØˆ	ˆ	à×*Ò*Ð+CÑDÔDˆ	à×'Ò'Ñ)Ô)ð AØ/8¨kˆ
ˆ
à×1Ò1°&´-Ñ@Ô@ˆ
àð *=ñ *=ˆÝ˜3�zœ?×1Ò1Ñ3Ô3Ñ4Ô4ˆØð (	=ð (	=ˆAÝ�1‰vŒv˜Š{ˆ{ØØPÐP°AÐPÑPÔPÐØ\Ð\¸!Ð\Ñ\Ô\Ðõ Ð#Ñ$Ô$ qÒ(Ð(­CÐ0@Ñ,AÔ,AÀAÒ,EÐ,EØàˆHØ)ð !ð !�Ø ��Ø!ˆNØ)ð 'ð '�Ø!&��à4Ð4°!Ð4Ñ4Ô4ˆGå�7‰|Œ|˜qÒ Ð Ø �	àð ð �DØ$,�D”MØ*8�DÔ'Ø $�IØàð 3ð 3�DØ˜yÐ(Ð(Ø Ø—J’J˜t¨T�JÑ2Ô2Ð2Ð2ð3ð ð =ð =�DØ”~­Ò3Ð3ØŸ
š
 4°˜
Ñ6Ô6Ð6Ð6à(0˜œØ.<˜Ô+Ð+ð=ñG(	=ðT Ðr$   ri   r¦   é   é   é   r�   r–   rœ   rh   é
   rò  r÷  rû  r  r  rc   é   é   rª   r·   r¼   rÃ   é   r  é   r  é   é   é   é   é   r  r  é"   r#  r¤  r€  r  é'   rß   rë   rñ   rù   ra  r�  r  r  rÉ   rM  r‘  é3   râ  rÄ  r®  r¡   rÉ  rÎ  r×  é;   rÄ  r¿  r�  rž  r¡  r�  rª  r®  r}  r‚  r”  rp  r[  rT  rb  rg  r*  rk  rq  rx  ri  rh  éR   éS   éT   éU   éV   éW   éX   éY   éZ   é[   é\   é]   é^   é_   é`   éa   éb   éc   rJ  ée   éf   ég   r?  r4  rE  rI  r$  r³  én   r¸  ép   rs  r  r(  r©  éu   év   )	éw   éx   éy   éz   é{   é|   é}   é~   é   rM  rL  c                óú   — 	 t           |          } |¦   «         }| |_        nZ# t          $ rM}t          | t          ¦  «        s t          dt          | ¦  «        › �¦  «        |‚t          d| › �¦  «        |‚d}~ww xY w|S )aÍ  
    Return the instrument with "number" as its assigned MIDI program.
    Notice any of the values 0-5 will return Piano.

    Lookups are performed against `instrument.MIDI_PROGRAM_TO_INSTRUMENT`.

    >>> instrument.instrumentFromMidiProgram(4)
    <music21.instrument.ElectricPiano 'Electric Piano'>
    >>> instrument.instrumentFromMidiProgram(21)
    <music21.instrument.Accordion 'Accordion'>
    >>> instrument.instrumentFromMidiProgram(500)
    Traceback (most recent call last):
    music21.exceptions21.InstrumentException: No instrument found for MIDI program 500
    >>> instrument.instrumentFromMidiProgram('43')
    Traceback (most recent call last):
    TypeError: Expected int, got <class 'str'>
    zExpected int, got z%No instrument found for MIDI program N)ÚMIDI_PROGRAM_TO_INSTRUMENTr;   ÚKeyErrorr   rL  Ú	TypeErrorÚtyper	   )rM  Úclass_rV  Úes       r#   ÚinstrumentFromMidiProgramr¡    s    € ð&	[Ý+¨FÔ3ˆØˆv‰xŒxˆØ!ˆÔÐøõ ð [ð [ð [Ý˜&¥#Ñ&Ô&ð 	HÝÐ?µ°f±´Ð?Ð?Ñ@Ô@ÀaÐGÝ!Ð"RÈ&Ð"RÐ"RÑSÔSÐYZÐZøøøøð[øøøð €Ks   ‚! ¡
A8«AA3Á3A8Ú	streamObjc           	     óN  — ddl m} |                      ¦   «         s8 |j        ¦   «         }|                     d|                      ¦   «         ¦  «         nT |j        ¦   «         }|                      |j        ¦  «        D ]*}|                     d|                     ¦   «         ¦  «         Œ+|                     |j        ¦  «        D ]}|                     dd¬¦  «         Œ|t                   }|s|S t          ¦   «         }|D ]}|j        |vrd|i||j        pd<   Œ |j        ¦   «         }|D ][} |j        ¦   «         }	||	_        |	                     d||         d         ¦  «         |	||         d<   |                     d|	¦  «         Œ\|D ]ä}
|
j        s|                     |
j        |
¦  «         |
}|                     t          ¦  «        D ]£}|j        }|j        |j        j        z   }||j        pd         d         }	|                     ||ddd¬	¦  «        }|                     t          ¦  «        D ]<}	 |	                     |                     |¦  «        |¦  «         Œ-# |j        $ r Y Œ9w xY wŒ¤Œå|                     ¦   «                              t          ¦  «        D ]}d|j        _        Œ|S )
a…  
    Given a single Stream, or a Score or similar multi-part structure,
    partition into a Part for each unique Instrument, joining events
    possibly from different parts.

    >>> p1 = converter.parse("tinynotation: 4/4 c4  d  e  f  g  a  b  c'  c1")
    >>> p2 = converter.parse("tinynotation: 4/4 C#4 D# E# F# G# A# B# c#  C#1")

    >>> p1.getElementsByClass(stream.Measure)[0].insert(0.0, instrument.Piccolo())
    >>> p1.getElementsByClass(stream.Measure)[0].insert(2.0, instrument.AltoSaxophone())
    >>> p1.getElementsByClass(stream.Measure)[1].insert(3.0, instrument.Piccolo())

    >>> p2.getElementsByClass(stream.Measure)[0].insert(0.0, instrument.Trombone())
    >>> p2.getElementsByClass(stream.Measure)[0].insert(3.0, instrument.Piccolo())  # not likely
    >>> p2.getElementsByClass(stream.Measure)[1].insert(1.0, instrument.Trombone())

    >>> s = stream.Score()
    >>> s.insert(0, p1)
    >>> s.insert(0, p2)
    >>> s.show('text')
    {0.0} <music21.stream.Part ...>
        {0.0} <music21.stream.Measure 1 offset=0.0>
            {0.0} <music21.instrument.Piccolo 'Piccolo'>
            {0.0} <music21.clef.TrebleClef>
            {0.0} <music21.meter.TimeSignature 4/4>
            {0.0} <music21.note.Note C>
            {1.0} <music21.note.Note D>
            {2.0} <music21.instrument.AltoSaxophone 'Alto Saxophone'>
            {2.0} <music21.note.Note E>
            {3.0} <music21.note.Note F>
        {4.0} <music21.stream.Measure 2 offset=4.0>
            {0.0} <music21.note.Note G>
            {1.0} <music21.note.Note A>
            {2.0} <music21.note.Note B>
            {3.0} <music21.instrument.Piccolo 'Piccolo'>
            {3.0} <music21.note.Note C>
        {8.0} <music21.stream.Measure 3 offset=8.0>
            {0.0} <music21.note.Note C>
            {4.0} <music21.bar.Barline type=final>
    {0.0} <music21.stream.Part ...>
        {0.0} <music21.stream.Measure 1 offset=0.0>
            {0.0} <music21.instrument.Trombone 'Trombone'>
            {0.0} <music21.clef.BassClef>
            {0.0} <music21.meter.TimeSignature 4/4>
            {0.0} <music21.note.Note C#>
            {1.0} <music21.note.Note D#>
            {2.0} <music21.note.Note E#>
            {3.0} <music21.instrument.Piccolo 'Piccolo'>
            {3.0} <music21.note.Note F#>
        {4.0} <music21.stream.Measure 2 offset=4.0>
            {0.0} <music21.note.Note G#>
            {1.0} <music21.instrument.Trombone 'Trombone'>
            {1.0} <music21.note.Note A#>
            {2.0} <music21.note.Note B#>
            {3.0} <music21.note.Note C#>
        {8.0} <music21.stream.Measure 3 offset=8.0>
            {0.0} <music21.note.Note C#>
            {4.0} <music21.bar.Barline type=final>

    >>> s2 = instrument.partitionByInstrument(s)
    >>> len(s2.parts)
    3

    # TODO: this step might not be necessary:

    >>> for p in s2.parts:
    ...     p.makeRests(fillGaps=True, inPlace=True)

    # TODO: this step SHOULD not be necessary (.template()):

    >>> for p in s2.parts:
    ...     p.makeMeasures(inPlace=True)
    ...     p.makeTies(inPlace=True)

    >>> s2.show('text')
    {0.0} <music21.stream.Part Piccolo>
        {0.0} <music21.stream.Measure 1 offset=0.0>
            {0.0} <music21.instrument.Piccolo 'Piccolo'>
            {0.0} <music21.clef.TrebleClef>
            {0.0} <music21.meter.TimeSignature 4/4>
            {0.0} <music21.note.Note C>
            {1.0} <music21.note.Note D>
            {2.0} <music21.note.Rest quarter>
            {3.0} <music21.note.Note F#>
        {4.0} <music21.stream.Measure 2 offset=4.0>
            {0.0} <music21.note.Note G#>
            {1.0} <music21.note.Rest half>
            {3.0} <music21.note.Note C>
        {8.0} <music21.stream.Measure 3 offset=8.0>
            {0.0} <music21.note.Note C>
            {4.0} <music21.bar.Barline type=final>
    {0.0} <music21.stream.Part Alto Saxophone>
        {0.0} <music21.stream.Measure 1 offset=0.0>
            {0.0} <music21.instrument.AltoSaxophone 'Alto Saxophone'>
            {0.0} <music21.clef.TrebleClef>
            {0.0} <music21.meter.TimeSignature 4/4>
            {0.0} <music21.note.Rest half>
            {2.0} <music21.note.Note E>
            {3.0} <music21.note.Note F>
        {4.0} <music21.stream.Measure 2 offset=4.0>
            {0.0} <music21.note.Note G>
            {1.0} <music21.note.Note A>
            {2.0} <music21.note.Note B>
            {3.0} <music21.bar.Barline type=final>
    {0.0} <music21.stream.Part Trombone>
        {0.0} <music21.stream.Measure 1 offset=0.0>
            {0.0} <music21.instrument.Trombone 'Trombone'>
            {0.0} <music21.clef.BassClef>
            {0.0} <music21.meter.TimeSignature 4/4>
            {0.0} <music21.note.Note C#>
            {1.0} <music21.note.Note D#>
            {2.0} <music21.note.Note E#>
            {3.0} <music21.note.Rest quarter>
        {4.0} <music21.stream.Measure 2 offset=4.0>
            {0.0} <music21.note.Rest quarter>
            {1.0} <music21.note.Note A#>
            {2.0} <music21.note.Note B#>
            {3.0} <music21.note.Note C#>
        {8.0} <music21.stream.Measure 3 offset=8.0>
            {0.0} <music21.note.Note C#>
            {4.0} <music21.bar.Barline type=final>

    * Changed in v8: returns the original stream if there are no instruments.

    TODO: parts should be in Score Order. Coincidence that this almost works.
    TODO: use proper recursion to make a copy of the stream.
    TODO: final barlines should be aligned.
    r   r   r'   Tr   rG   ÚPartF)ÚincludeEndBoundaryÚmustFinishInSpanÚmustBeginInSpan)rX  r   rY  ÚScorer   ÚflattenrZ  r[  ÚextendDurationr'   r   r,   r¤  ÚidÚisStreamr   ÚdurationÚquarterLengthÚgetElementsByOffsetÚgetElementsNotOfClassÚelementOffsetÚStreamExceptionrW  )r¢  r   r   r^  ÚinstrumentIteratorÚnamesÚinstrumentObjÚpostrd  ÚpÚelÚ	subStreamr!   ÚstartÚendÚcollr   rV  s                     r#   ÚpartitionByInstrumentr½  1  s
  € ðD ÐÐÐÐÐØ×'Ò'Ñ)Ô)ð 'àˆFŒL‰NŒNˆØ	�Š��I×%Ò%Ñ'Ô'Ñ(Ô(Ð(Ð(àˆFŒL‰NŒNˆà×/Ò/°´Ñ>Ô>ð 	'ð 	'ˆCØ�HŠH�Q˜Ÿš™œÑ&Ô&Ð&Ð&ð ×#Ò# F¤MÑ2Ô2ð 7ð 7ˆØ×Ò˜<°ÐÑ6Ô6Ð6Ð6ð �:œÐØð Øˆå0;±´€EØ+ð Vð VˆàÔ'¨uÐ4Ð4Ø9EÀ}Ð8UˆE�-Ô.Ð4°"Ñ5øð ˆ6Œ<‰>Œ>€DØð ð ˆØˆFŒK‰MŒMˆØˆŒà	�Š��E˜%”L Ô.Ñ/Ô/Ð/à ˆˆeŒ�VÑØ�Š�A�qÑÔÐÐð ð ð ˆØŒ{ð 	'Ø�KŠK˜œ	 2Ñ&Ô&Ð&àˆ	Ø×-Ò-­jÑ9Ô9ð 	ð 	ˆAØ”HˆEà”(˜QœZÔ5Ñ5ˆCà�aÔ&Ð,¨"Ô-¨fÔ5ˆAà×0Ò0ØØà#(Ø!&Ø $ð 1ñ ô ˆDð ×/Ò/µ
Ñ;Ô;ð ð �ðØ—H’H˜Y×4Ò4°QÑ7Ô7¸Ñ;Ô;Ð;Ð;øØÔ-ð ð ð Ø�Dðøøøðð#	ð4 —’‘”×1Ò1µ*Ñ=Ô=ð (ð (ˆØ&'ˆŒÔ#Ð#Ø€Ks   È.)IÉ
I%	É$I%	c           
     ó(  — |                       ¦   «         }g }t          dt          |¦  «        dz   ¦  «        D ]Z}t          t          |¦  «        |z
  dz   ¦  «        D ]5}|                     d                     ||||z   …         ¦  «        ¦  «         Œ6Œ[|S )zM
    find all combinations of instrumentString.  Remove all punctuation.
    ri   ú )Úsplitrl   rk   rH   rI   )ÚinstrumentStringÚ
sampleListÚallCombÚsizer!   s        r#   Ú_combinationsrÅ  ÿ  s�   € ð "×'Ò'Ñ)Ô)€JØ€GÝ�a�˜Z™œ¨1Ñ,Ñ-Ô-ð =ð =ˆÝ•s˜:‘”¨Ñ-°Ñ1Ñ2Ô2ð 	=ð 	=ˆAØ�NŠN˜3Ÿ8š8 J¨q°°T±¨zÔ$:Ñ;Ô;Ñ<Ô<Ð<Ð<ð	=à€Nr$   c                  ó.   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
ÚSearchLanguageÚallÚenglishÚfrenchÚgermanÚitalianÚrussianÚspanishÚabbreviationN)rq   rr   rs   ÚALLÚENGLISHÚFRENCHÚGERMANÚITALIANÚRUSSIANÚSPANISHÚABBREVIATIONr/   r$   r#   rÇ  rÇ  	  s6   € € € € € Ø
€CØ€GØ€FØ€FØ€GØ€GØ€GØ!€L€L€Lr$   rÇ  rÁ  rO   Úlanguagec                ó  — ddl m} |                     ¦   «         }|t          vrt	          d|› d�¦  «        ‚t          ||dz   ¦  «        }| }|                      dd¦  «        } |                      ¦   «         } t          j        | ¦  «        } t          | ¦  «        }d}d	}t          j        d
¦  «        }|D ]Ö}		 ||	         }
t          ||
¦  «        }t          j        |j        vrt          ‚ |¦   «         }|                     ¦   «                              ¦   «         }|�Tt#          |                     ¦   «         ¦  «        t#          |                     ¦   «         ¦  «        k    rt'          ||¦  «        s|}||_        |}ŒÇ# t          $ r Y ŒÓw xY w|€t	          d|› �¦  «        ‚||j        vr|S |D ]_}		 |j        |	                     ¦   «                  }|j        |         |         }t/          j        |¦  «        |_         n# t          $ r Y Œ\w xY w|S )a¤  
    Given a string with instrument content (from an orchestral score
    for example), attempts to return an appropriate
    :class:`~music21.instrument.Instrument`.

    >>> t1 = instrument.fromString('Clarinet 2 in A')
    >>> t1
    <music21.instrument.Clarinet 'Clarinet 2 in A'>
    >>> t1.transposition
    <music21.interval.Interval m-3>

    >>> t2 = instrument.fromString('Clarinetto 3')
    >>> t2
    <music21.instrument.Clarinet 'Clarinetto 3'>

    >>> t3 = instrument.fromString('flauto 2')
    >>> t3
    <music21.instrument.Flute 'flauto 2'>

    Excess information is ignored, and the useful information can be extracted
    correctly as long as it's sequential.

    >>> t4 = instrument.fromString('I <3 music saxofono tenore go beavers')
    >>> t4
    <music21.instrument.TenorSaxophone 'I <3 music saxofono tenore go beavers'>

    Some more demos:

    >>> t5 = instrument.fromString('Bb Clarinet')
    >>> t5
    <music21.instrument.Clarinet 'Bb Clarinet'>
    >>> t5.transposition
    <music21.interval.Interval M-2>

    >>> t6 = instrument.fromString('Clarinet in B-flat')
    >>> t5.__class__ == t6.__class__
    True

    >>> t5.transposition == t6.transposition
    True

    >>> t7 = instrument.fromString('B-flat Clarinet.')
    >>> t5.__class__ == t7.__class__ and t5.transposition == t7.transposition
    True

    >>> t8 = instrument.fromString('Eb Clarinet')
    >>> t5.__class__ == t8.__class__
    True
    >>> t8.transposition
    <music21.interval.Interval m3>

    Note that because of the ubiquity of B-flat clarinets and trumpets, and the
    rareness of B-natural forms of those instruments, this gives a B-flat, not
    B-natural clarinet, using the German form:

    >>> t9 = instrument.fromString('Klarinette in B.')
    >>> t9
    <music21.instrument.Clarinet 'Klarinette in B.'>
    >>> t9.transposition
    <music21.interval.Interval M-2>

    Use "H" or "b-natural" to get an instrument in B-major.  Or donate one to me,
    and I'll change this back!

    Standard abbreviations are acceptable:

    >>> t10 = instrument.fromString('Cl in B-flat')
    >>> t10
    <music21.instrument.Clarinet 'Cl in B-flat'>
    >>> t10.transposition
    <music21.interval.Interval M-2>

    This should work with or without a terminal period (for both 'Cl' and 'Cl.'):

    >>> t11 = instrument.fromString('Cl. in B-flat')
    >>> t11.__class__ == t10.__class__
    True

    Previously an exact instrument name was not always working:

    >>> instrument.fromString('Flute')
    <music21.instrument.Flute 'Flute'>

    This common MIDI instrument was not previously working:

    >>> instrument.fromString('Choir (Aahs)')
    <music21.instrument.Choir 'Choir (Aahs)'>

    By default, this function searches over all stored instrument names.
    This includes multiple languages as well as the abbreviations
    (an honorary 'language' for these purposes).

    Alternatively, you can specify the language to search using the `language`
    argument. (New in v7.3.)

    >>> t12 = instrument.fromString('Klarinette', language=instrument.SearchLanguage.GERMAN)
    >>> t12
    <music21.instrument.Clarinet 'Klarinette'>

    This case works because the name 'Klarinette' is a recognised instrument name in German
    and appears in the German language list.
    If you search for a German name like 'Klarinette' on the French list (language='french'),
    then it won't be found and an InstrumentException will be raised.
    An InstrumentException is also raised if the specified language is not
    one of those currently supported:
    'english', 'french', 'german', 'italian', 'russian', 'spanish', and 'abbreviation'.

    Note that the language string is not case-sensitive, so 'French' is also fine.
    r   ©ÚinstrumentLookupúChosen language ú not currently supported.ÚToClassNameú.r¿  NrG   zmusic21.instrumentz(Could not match string with instrument: )Úmusic21.languageExcerptsrÛ  rê  rÇ  r	   ÚgetattrÚreplacer   ÚremovePunctuationrÅ  Ú	importlibÚimport_moduler   ÚMusic21ObjectÚ__mro__rœ  rZ   rk   rÀ  r   r,   r@   ÚpitchFullNameToNamer
   r   )rÁ  rØ  rÛ  Ú
sourceDictÚinstrumentStringOrigÚallCombinationsÚbestInstrumentrZ   Úthis_moduleÚ	substringÚ	classNameÚthisInstClassÚthisInstrumentÚthisBestNameÚ	bestPitchÚbestIntervals                   r#   Ú
fromStringrõ  	  sl  € ð^ :Ð9Ð9Ð9Ð9Ð9à�~Š~ÑÔ€HØ•~Ð%Ð%Ý!Ð"X°XÐ"XÐ"XÐ"XÑYÔYÐYÝÐ)¨8°mÑ+CÑDÔD€Jà+ÐØ'×/Ò/°°SÑ9Ô9ÐØ'×-Ò-Ñ/Ô/ÐÝÔ/Ð0@ÑAÔAÐÝ#Ð$4Ñ5Ô5€Oà€NØ€HåÔ)Ð*>Ñ?Ô?€KØ$ð ð ˆ	ð	Ø" 9Ô-ˆIÝ# K°Ñ;Ô;ˆMåÔ!¨Ô)>Ð>Ð>Ý�Ø*˜]™_œ_ˆNØ)×2Ò2Ñ4Ô4×:Ò:Ñ<Ô<ˆLØÐ&Ý˜<×-Ò-Ñ/Ô/Ñ0Ô0µC¸¿ºÑ8HÔ8HÑ4IÔ4IÒIÐIÝ& ~°}ÑEÔEð Jð "0�Ø0D�Ô-Ø'�øøÝð 	ð 	ð 	ØˆDð	øøøàÐÝ!ØMÐ7KÐMÐMñOô Oð 	OàÐ'Ô5Ð5Ð5ØÐð %ð ð ˆ	ð	Ø(Ô<¸Y¿_º_Ñ=NÔ=NÔOˆIØ+Ô9¸(ÔCÀIÔNˆLÝ+3Ô+<¸\Ñ+JÔ+JˆNÔ(ØˆEøÝð 	ð 	ð 	ØˆDð	øøøàÐs&   Â6CE:Å:
FÆFÆ.AG;Ç;
HÈHÚclassNameStringc                ó¦   — ddl m} t          ||dz   ¦  «        }g }|                     ¦   «         D ] \  }}| |k    r|                     |¦  «         Œ!|S )a  
    Retrieve the key or keys (variant instrument names)
    from an instrumentLookup dict, given
    the language (which instrumentLookup dict) and
    value (classNameString).

    Returns all relevant keys as a list of strings (empty if no matches).
    r   rÚ  rÞ  )rà  rÛ  rá  ÚitemsrH   )rö  rØ  rÛ  ré  ÚreturnsÚkeyÚvalues          r#   Ú_getKeysrü  ¼	  sr   € ð :Ð9Ð9Ð9Ð9Ð9ÝÐ)¨8°mÑ+CÑDÔD€Jà€GØ ×&Ò&Ñ(Ô(ð  ð  ‰
ˆˆUØ˜eÒ#Ð#Ø�NŠN˜3ÑÔÐøØ€Nr$   ÚinstrumentClassc                óP  — |                      ¦   «         }i }| j        pd}|t          j        k    r:t          D ]1}|t          j        u rŒt	          ||¦  «        |t          |¦  «        <   Œ2n<|t          vrt          d|› d�¦  «        ‚t	          |t          |¦  «        ¦  «        ||<   |S )u±  
    Retrieves all currently stored names for a given instrument.

    The instrumentClass should be a valid music21
    :class:`~music21.instrument.Instrument`.

    By default, this function searches over all supported languages
    including instrument name abbreviations (an honorary 'language' for these purposes),
    and returns a dict with keys for the language tested and values as a list of
    strings for any names in that language.

    >>> instrument.getAllNamesForInstrument(instrument.Flute())
    {'english': ['flute', 'flutes', 'transverse flute'],
    'french': ['flÃ»te', 'flÃ»te traversiÃ¨re', 'flÃ»tes', 'grande flÃ»te'],
    'german': ['flÃ¶te', 'flÃ¶ten', 'querflÃ¶te'],
    'italian': ['flauti', 'flauto', 'flauto traverso'],
    'russian': ['fleita'],
    'spanish': ['flauta', 'flauta de boehm', 'flauta de concierto',
                'flauta traversa', 'flauta travesera', 'flautas'],
    'abbreviation': ['fl']}

    Alternatively, you can specify the language to search using the `language`
    argument.

    >>> instrument.getAllNamesForInstrument(instrument.Flute(), language='german')
    {'german': ['flÃ¶te', 'flÃ¶ten', 'querflÃ¶te']}

    An InstrumentException is raised if the specified language is not
    one of those currently supported:
    'english', 'french', 'german', 'italian', 'russian', 'spanish', and 'abbreviation'.

    Note that the language string is not case-sensitive, so 'German' is also fine.

    rG   rÜ  rÝ  )rê  r,   rÇ  rÐ  rü  rO   r	   )rý  rØ  ÚinstrumentNameDictÚinstrumentClassNameÚlangs        r#   ÚgetAllNamesForInstrumentr  Ñ	  sÉ   € ðJ �~Š~ÑÔ€HØÐà)Ô8Ð>¸BÐà•>Ô%Ò%Ð%Ý"ð 	Pð 	PˆDØ•~Ô)Ð)Ð)ØÝ,4Ð5HÈ$Ñ,OÔ,OÐ�s 4™yœyÑ)Ð)ð	Pð 
�Ð	'Ð	'Ý!Ð"X°XÐ"XÐ"XÐ"XÑYÔYÐYå'/Ð0CÅ^ÐT\ÑE]ÔE]Ñ'^Ô'^Ð˜8Ñ$àÐr$   c                  ó   — e Zd ZdS )ÚTestExternalNrà  r/   r$   r#   r  r  	
  rá  r$   r  c                  óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚTestc                óB   — ddl m}  || t          ¦   «         ¦  «         d S )Nr   )ÚtestCopyAll)Úmusic21.test.commonTestr  Úglobals)rC   r  s     r#   ÚtestCopyAndDeepcopyzTest.testCopyAndDeepcopy
  s0   € Ø7Ð7Ð7Ð7Ð7Ð7Øˆ�D�'™)œ)Ñ$Ô$Ð$Ð$Ð$r$   c                ó
  — ddl m}  |j        ¦   «         }t          ¦   «         }d|_        |                     |¦  «         |                     t          j        ¦   «         d¦  «          |j        ¦   «         }t          ¦   «         }d|_        |                     |¦  «         |                     t          j        d¦  «        d¦  «          |j
        ¦   «         }|                     d|¦  «         |                     d|¦  «         d S )Nr   r   Útestrj  Útest2Úg4)rX  r   r[  rÜ   r4   rH   ÚrepeatAppendr   ÚNoter�   r¨  r   )rC   r   Ús1Úi1Ús2Úi2Ús3s          r#   ÚtestMusicXMLExportzTest.testMusicXMLExport
  sß   € Ø"Ð"Ð"Ð"Ð"Ð"àˆVŒ]‰_Œ_ˆÝ‰XŒXˆØˆŒØ
�	Š	�"‰ŒˆØ
�Š�œ	™œ RÑ(Ô(Ð(ð ˆVŒ]‰_Œ_ˆÝ‰WŒWˆØˆŒØ
�	Š	�"‰ŒˆØ
�Š�œ	 $™œ¨Ñ,Ô,Ð,àˆVŒ\‰^Œ^ˆØ
�	Š	�!�RÑÔÐØ
�	Š	�!�RÑÔÐÐÐr$   c                ó   — ddl m} ddl m}  |j        ¦   «         } |j        ¦   «         }|                     |                     ¦   «         ¦  «          |j        ¦   «         }|                     |                     ¦   «         ¦  «         |                     d|¦  «         |                     d|¦  «         | 	                    |¦  «        }|  
                    t          |¦  «        d¦  «         |  
                    t          |                     ¦   «                              |j        ¦  «        ¦  «        d¦  «          |j        ¦   «         }|                     d|                     ¦   «         ¦  «         |                     d|                     ¦   «         ¦  «         | 	                    |¦  «        }|  
                    t          |¦  «        d¦  «         |  
                    t          ||j                 ¦  «        d¦  «         d S )Nr   ©r   r   r¦   r·   )rX  r   r   r¨  r¤  rH   r�   rX  r   r½  ÚassertEqualrk   r©  rZ  r'   r[  re  rµ   ©rC   r   r   r   Úp1Úp2r¶  s          r#   ÚtestPartitionByInstrumentAzTest.testPartitionByInstrumentA)
  s¾  € Ø&Ð&Ð&Ð&Ð&Ð&Ø"Ð"Ð"Ð"Ð"Ð"ð ˆFŒL‰NŒNˆØˆVŒ[‰]Œ]ˆØ
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%àˆVŒ[‰]Œ]ˆØ
�	Š	�*×$Ò$Ñ&Ô&Ñ'Ô'Ð'Ø	�Š��B‰ŒˆØ	�Š��B‰Œˆà×/Ò/°Ñ2Ô2ˆØ×Ò�˜T™œ AÑ&Ô&Ð&Ø×Ò�˜TŸ\š\™^œ^×>Ò>¸zÔ?TÑUÔUÑVÔVÐXYÑZÔZÐZð
 ˆFŒM‰OŒOˆØ	�Š��J×'Ò'Ñ)Ô)Ñ*Ô*Ð*Ø	�Š��Z×)Ò)Ñ+Ô+Ñ,Ô,Ð,à×/Ò/°Ñ2Ô2ˆØ×Ò�˜T™œ AÑ&Ô&Ð&Ø×Ò�˜T *Ô"7Ô8Ñ9Ô9¸1Ñ=Ô=Ð=Ð=Ð=r$   c                ó   — ddl m} ddl m}  |j        ¦   «         } |j        ¦   «         }|                     |                     ¦   «         ¦  «         |                     t          j	        ¦   «         d¦  «          |j        ¦   «         }|                     | 
                    ¦   «         ¦  «         |                     t          j	        ¦   «         d¦  «         |                     d|¦  «         |                     d|¦  «         |                     |¦  «        }|                      t          |¦  «        d¦  «         |                      t          ||j                 ¦  «        d¦  «         |                      t          |j        d         j        ¦  «        d¦  «         |                      t          |j        d         j        ¦  «        d¦  «         d S )Nr   r  r   r�   r÷  r¦   ri   )rX  r   r   r¨  r¤  rH   r�   r  r   r  rX  r   r½  r  rk   r'   ÚpartsÚnotesr  s          r#   ÚtestPartitionByInstrumentBzTest.testPartitionByInstrumentBG
  sŠ  € Ø&Ð&Ð&Ð&Ð&Ð&Ø"Ð"Ð"Ð"Ð"Ð"ð ˆFŒL‰NŒNˆØˆVŒ[‰]Œ]ˆØ
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%Ø
�Š�œ	™œ QÑ'Ô'Ð'àˆVŒ[‰]Œ]ˆØ
�	Š	�*×$Ò$Ñ&Ô&Ñ'Ô'Ð'Ø
�Š�œ	™œ RÑ(Ô(Ð(Ø	�Š��B‰ŒˆØ	�Š��B‰Œˆà×/Ò/°Ñ2Ô2ˆØ×Ò�˜T™œ AÑ&Ô&Ð&Ø×Ò�˜T *Ô"7Ô8Ñ9Ô9¸1Ñ=Ô=Ð=Ø×Ò�˜TœZ¨œ]Ô0Ñ1Ô1°1Ñ5Ô5Ð5Ø×Ò�˜TœZ¨œ]Ô0Ñ1Ô1°2Ñ6Ô6Ð6Ð6Ð6r$   c                ól  — ddl m} ddl m}  |j        ¦   «         } |j        ¦   «         }|                     |                     ¦   «         ¦  «         |                     t          j	        d¦  «        d¦  «         |                     | 
                    ¦   «         ¦  «         |                     t          j	        d¦  «        d¦  «          |j        ¦   «         }|                     |                     ¦   «         ¦  «         |                     t          j	        d¦  «        d	¦  «         |                     |                     ¦   «         ¦  «         |                     t          j	        d
¦  «        d¦  «         |                     d|¦  «         |                     d|¦  «         |                     |¦  «        }|                      t!          |¦  «        d¦  «         |                      t!          ||j                 ¦  «        d¦  «         |                      |j        d                              ¦   «         j        d¦  «         |                      t!          |j        d         j        ¦  «        d¦  «         |                      |j        d                              ¦   «         j        d¦  «         |                      t!          |j        d         j        ¦  «        d¦  «         |                      |j        d	                              ¦   «         j        d¦  «         |                      t!          |j        d	         j        ¦  «        d	¦  «         |                      |j        d                              ¦   «         j        d¦  «         |                      t!          |j        d         j        ¦  «        d¦  «         d S )Nr   r  r   Úar�   Úbrg  Úcr¦   Údrh  r�   ri   r  rX  rQ  ©rX  r   r   r¨  r¤  rH   r�   r  r   r  r  rX  rQ  r   r½  r  rk   r'   r   ÚgetInstrumentr,   r!  r  s          r#   ÚtestPartitionByInstrumentCzTest.testPartitionByInstrumentC]
  sý  € Ø&Ð&Ð&Ð&Ð&Ð&Ø"Ð"Ð"Ð"Ð"Ð"ð ˆFŒL‰NŒNˆØˆVŒ[‰]Œ]ˆØ
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*à
�	Š	�*×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*àˆVŒ[‰]Œ]ˆØ
�	Š	�*×$Ò$Ñ&Ô&Ñ'Ô'Ð'Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*Ø
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*à	�Š��B‰ŒˆØ	�Š��B‰Œˆà×/Ò/°Ñ2Ô2ˆØ×Ò�˜T™œ AÑ&Ô&Ð&Ø×Ò�˜T *Ô"7Ô8Ñ9Ô9¸1Ñ=Ô=Ð=Ø×Ò˜œ Aœ×4Ò4Ñ6Ô6ÔEÀwÑOÔOÐOØ×Ò�˜TœZ¨œ]Ô0Ñ1Ô1°1Ñ5Ô5Ð5Ø×Ò˜œ Aœ×4Ò4Ñ6Ô6ÔEÐGXÑYÔYÐYØ×Ò�˜TœZ¨œ]Ô0Ñ1Ô1°1Ñ5Ô5Ð5Ø×Ò˜œ Aœ×4Ò4Ñ6Ô6ÔEÀyÑQÔQÐQØ×Ò�˜TœZ¨œ]Ô0Ñ1Ô1°1Ñ5Ô5Ð5Ø×Ò˜œ Aœ×4Ò4Ñ6Ô6ÔEÀwÑOÔOÐOØ×Ò�˜TœZ¨œ]Ô0Ñ1Ô1°1Ñ5Ô5Ð5Ð5Ð5r$   c                óŠ  — ddl m} ddl m}  |j        ¦   «         } |j        ¦   «         }|                     |                     ¦   «         ¦  «         |                     t          j	        d¦  «        d¦  «         |                     | 
                    ¦   «         ¦  «         |                     t          j	        d¦  «        d¦  «         |                     |                     ¦   «         ¦  «         |                     t          j	        d¦  «        d	¦  «          |j        ¦   «         }|                     |                     ¦   «         ¦  «         |                     t          j	        d
¦  «        d¦  «         |                     |                     ¦   «         ¦  «         |                     t          j	        d¦  «        d¦  «         |                     |                     ¦   «         ¦  «         |                     t          j	        d¦  «        d¦  «         |                     d|¦  «         |                     d|¦  «         |                     |¦  «        }|                      t!          |¦  «        d¦  «         |                      t!          ||j                 ¦  «        d¦  «         |                      |j        d                              ¦   «         j        d¦  «         |                      t!          |j        d         j        ¦  «        d¦  «         |                      d„ |j        d         j        D ¦   «         g d¢¦  «         d S )Nr   r  r   r$  r�   r%  rg  r   ri  r&  r¦   r'  rh  Úfri   r�   r÷  c                ó   — g | ]	}|j         ‘Œ
S r/   )r   )rÎ   Úns     r#   rÐ   z3Test.testPartitionByInstrumentD.<locals>.<listcomp>£
  s   € Ð@Ð@Ð@ q˜!œ(Ð@Ð@Ð@r$   )ç        ç      ð?ç       @ç      @ç      @ç      @g      @ç      "@ç      $@ç      &@ç      (@ç      *@r(  r  s          r#   ÚtestPartitionByInstrumentDzTest.testPartitionByInstrumentD‚
  s¾  € Ø&Ð&Ð&Ð&Ð&Ð&Ø"Ð"Ð"Ð"Ð"Ð"ð ˆFŒL‰NŒNˆØˆVŒ[‰]Œ]ˆØ
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*à
�	Š	�*×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*Ø
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*àˆVŒ[‰]Œ]ˆØ
�	Š	�*×$Ò$Ñ&Ô&Ñ'Ô'Ð'Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*Ø
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*Ø
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*à	�Š��B‰ŒˆØ	�Š��B‰Œˆà×/Ò/°Ñ2Ô2ˆØ×Ò�˜T™œ AÑ&Ô&Ð&Ø×Ò�˜T *Ô"7Ô8Ñ9Ô9¸1Ñ=Ô=Ð=à×Ò˜œ Aœ×4Ò4Ñ6Ô6ÔEÀwÑOÔOÐOØ×Ò�˜TœZ¨œ]Ô0Ñ1Ô1°2Ñ6Ô6Ð6à×ÒÐ@Ð@¨D¬J°q¬MÔ,?Ð@Ñ@Ô@ØYÐYÐYñ	[ô 	[ð 	[ð 	[ð 	[r$   c                ó,  — ddl m} ddl m}  |j        ¦   «         }|                     |                     ¦   «         ¦  «         |                     t          j        d¦  «        d¦  «         |                     | 	                    ¦   «         ¦  «         |                     t          j        d¦  «        d¦  «         |                     |                     ¦   «         ¦  «         |                     t          j        d¦  «        d	¦  «         |                     | 
                    ¦   «         ¦  «         |                     t          j        d
¦  «        d¦  «         |                     |                     ¦   «         ¦  «         |                     t          j        d¦  «        d¦  «         |                     |                     ¦   «         ¦  «         |                     t          j        d¦  «        d¦  «         |}|                     |¦  «        }|                      t          |¦  «        d¦  «         |                      t          ||j                 ¦  «        d¦  «         |                      |j        d                              ¦   «         j        d¦  «         |                      t          |j        d         j        ¦  «        d¦  «         g }|j        d         j        }|D ]}|                     |j        ¦  «         Œ|                      |g d¢¦  «         d S )Nr   r  r   r$  r�   r%  rg  r   ri  r&  r¦   r'  rh  r,  ri   r�   r÷  )r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  g      4@)rX  r   r   r¤  rH   r�   r  r   r  r  rX  rQ  r½  r  rk   r'   r   r)  r,   r!  r   )	rC   r   r   r  r   r¶  Ú
offsetListÚppnr.  s	            r#   ÚtestPartitionByInstrumentEzTest.testPartitionByInstrumentE©
  sª  € Ø&Ð&Ð&Ð&Ð&Ð&Ø"Ð"Ð"Ð"Ð"Ð"ð ˆVŒ[‰]Œ]ˆØ
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*à
�	Š	�*×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*Ø
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*à
�	Š	�*×$Ò$Ñ&Ô&Ñ'Ô'Ð'Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*Ø
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*Ø
�	Š	�*×"Ò"Ñ$Ô$Ñ%Ô%Ð%Ø
�Š�œ	 #™œ¨Ñ*Ô*Ð*àˆà×/Ò/°Ñ2Ô2ˆØ×Ò�˜T™œ AÑ&Ô&Ð&Ø×Ò�˜T *Ô"7Ô8Ñ9Ô9¸1Ñ=Ô=Ð=à×Ò˜œ Aœ×4Ò4Ñ6Ô6ÔEÀwÑOÔOÐOà×Ò�˜TœZ¨œ]Ô0Ñ1Ô1°2Ñ6Ô6Ð6Øˆ
ØŒj˜ŒmÔ!ˆØð 	(ð 	(ˆAØ×Ò˜aœhÑ'Ô'Ð'Ð'à×Ò˜ØZÐZÐZñ	\ô 	\ð 	\ð 	\ð 	\r$   c                óà  — ddl m} ddl m}  |j        ¦   «         }|                     |                     ¦   «         ¦  «         |                     t          j        ¦   «         ¦  «         |                     |                     ¦   «         ¦  «         |                     t          j        ¦   «         ¦  «         | 	                    |¦  «        }|  
                    t          |¦  «        d¦  «         d S )Nr   r  r   r¦   )rX  r   r   r[  rH   r  r   r  rÔ  r½  r  rk   )rC   r   r   r  r¶  s        r#   ÚtestPartitionByInstrumentFzTest.testPartitionByInstrumentFÐ
  sÒ   € Ø&Ð&Ð&Ð&Ð&Ð&Ø"Ð"Ð"Ð"Ð"Ð"àˆVŒ]‰_Œ_ˆØ
�	Š	�*×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø
�	Š	•$”)‘+”+ÑÔÐØ
�	Š	�*—/’/Ñ#Ô#Ñ$Ô$Ð$Ø
�	Š	•$”)‘+”+ÑÔÐà×/Ò/°Ñ3Ô3ˆØ×Ò�˜T™œ AÑ&Ô&Ð&Ð&Ð&r$   c                ó  — ddl m} d}|                      |                     |¦  «        j        |¦  «         ddg}|D ]4}|                     ||¬¦  «        j        }|                      ||¦  «         Œ5ddg}|D ]%}|                      t          |j        ||¬¦  «         Œ&|                     ¦   «         }|                      |                     |t          j
        ¬¦  «        d	d
gi¦  «         |                      t          |j        |d¬¦  «         d S )Nr   r  Ú
KlarinetterË  ÚGerman)rØ  rÊ  ÚfinnishrÏ  Úfl)rX  r   r  rõ  r,   ÚassertRaisesr	   rQ  r  rÇ  r×  )rC   r   Ú
testStringÚworkingExamplesÚlangStrÚ	instrNameÚfailingExamplesrV  s           r#   ÚtestLanguageChoicezTest.testLanguageChoiceô
  s|  € Ø&Ð&Ð&Ð&Ð&Ð&ð "ˆ
ð 	×Ò˜×.Ò.¨zÑ:Ô:ÔIØ#ñ	%ô 	%ð 	%ð $Ø#ðˆð 'ð 	4ð 	4ˆGØ"×-Ò-¨jÀ7Ð-ÑKÔKÔZˆIØ×Ò˜Y¨
Ñ3Ô3Ð3Ð3à#Ø$ðˆð 'ð 	0ð 	0ˆGØ×ÒÕ1Ø(Ô3Ø(Ø'.ð ñ 0ô 0ð 0ð 0ð ×ÒÑ!Ô!ˆà×Ò˜×<Ò<¸TÝFTÔFað =ñ cô cà(¨4¨&Ð1ñ	3ô 	3ð 	3ð 	×ÒÕ-Ø$Ô=ØØ#,ð 	ñ 	.ô 	.ð 	.ð 	.ð 	.r$   N)rq   rr   rs   r  r  r  r"  r*  r:  r>  r@  rL  r/   r$   r#   r  r  
  s¥   € € € € € ð%ð %ð %ðð ð ð,>ð >ð >ð<7ð 7ð 7ð, 6ð  6ð  6ðJ"[ð "[ð "[ðN%\ð %\ð %\ðN'ð 'ð 'ðH(.ð (.ð (.ð (.ð (.r$   r  Ú__main__)r   r   r   r   )F)r   r   r   rO  r   r   )rM  rL  r   r'   )r¢  r   r   r   )rÁ  rO   rØ  rÇ  )rö  rO   rØ  rÇ  )rý  r'   rØ  rÇ  )¥rt   Ú
__future__r   Úcollectionsr   Úcollections.abcr   rä  ÚunittestÚtypingÚtrX  r   r   r   Úmusic21.exceptions21r	   r
   r   r   Úmusic21.tree.treesr   ÚTYPE_CHECKINGr   ÚEnvironmentÚenvironLocalr   r&   ræ  r'   ry   r�   rŠ   r“   r™   rž   r¤   r¨   r¬   r²   rµ   r¹   rÀ   rÆ   rÜ   rè   rî   rö   r  r  r  r  r  r  r!  r%  r+  r1  r6  r<  rB  rG  rK  rQ  rX  r_  re  ri  rm  ru  rz  r€  r†  rŒ  r�  r—  rš  rŸ  r¥  r¨  r¬  r°  rµ  r»  rÁ  rÆ  rË  rÐ  rÔ  rÚ  rß  rg   rï  rô  rù  rý  r  r  r
  r  r  r  r  r!  r&  r0  r4  r9  r=  rB  rF  rJ  rR  rU  rX  r[  r^  re  rl  rp  ru  ry  r|  r„  rˆ  rŒ  r–  r›  r¢  r¦  r«  r°  r³  r·  rº  r½  rÀ  rÆ  rÊ  rÎ  rÓ  r×  rÛ  rß  rä  rK  rN  rf  r›  r¡  r½  rÅ  ÚenumsÚStrEnumrÇ  rÐ  rõ  rü  r  ÚTestCaser  r  Ú
_DOC_ORDERrq   ÚmainTestr/   r$   r#   ú<module>r^     s  ððð ð #Ð "Ð "Ð "Ð "Ð "à #Ð #Ð #Ð #Ð #Ð #Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )à„?ð ØÐÐÐÐÐà&ˆ{Ô& |Ñ4Ô4€ð
 !&ð$ð $ñ $ð $ð $ð $ðR $ð'ð 'ñ 'ð 'ð 'ð 'ðT~ð ~ð ~ð ~ð ~�Ô#ñ ~ô ~ð ~ðJ0ð 0ð 0ð 0ð 0˜ñ 0ô 0ð 0ð-ð -ð -ð -ð -Ðñ -ô -ð -ð*
-ð 
-ð 
-ð 
-ð 
-Ð$ñ 
-ô 
-ð 
-ð5ð 5ð 5ð 5ð 5Ð#ñ 5ô 5ð 5ð2ð 2ð 2ð 2ð 2Ð ñ 2ô 2ð 2ðð ð ð ð Ð ñ ô ð ðð ð ð ð �Eñ ô ð ð*0ð 0ð 0ð 0ð 0ˆJñ 0ô 0ð 0ð	-ð 	-ð 	-ð 	-ð 	-�ñ 	-ô 	-ð 	-ð	-ð 	-ð 	-ð 	-ð 	-�Eñ 	-ô 	-ð 	-ð
-ð 
-ð 
-ð 
-ð 
-�ñ 
-ô 
-ð 
-ð
-ð 
-ð 
-ð 
-ð 
-�ñ 
-ô 
-ð 
-ð
-ð 
-ð 
-ð 
-ð 
-�
ñ 
-ô 
-ð 
-ð4ð 4ð 4ð 4ð 4�zñ 4ô 4ð 4ðn
7ð 
7ð 
7ð 
7ð 
7Ðñ 
7ô 
7ð 
7ð
7ð 
7ð 
7ð 
7ð 
7Ðñ 
7ô 
7ð 
7ð
7ð 
7ð 
7ð 
7ð 
7Ð"ñ 
7ô 
7ð 
7ð6ð 6ð 6ð 6ð 6Ð!ñ 6ô 6ð 6ð&
.ð 
.ð 
.ð 
.ð 
.Ðñ 
.ô 
.ð 
.ð
Cð 
Cð 
Cð 
Cð 
CÐñ 
Cô 
Cð 
Cð7ð 7ð 7ð 7ð 7�Vñ 7ô 7ð 7ð7ð 7ð 7ð 7ð 7�Vñ 7ô 7ð 7ð
7ð 
7ð 
7ð 
7ð 
7�6ñ 
7ô 
7ð 
7ð
7ð 
7ð 
7ð 
7ð 
7�6ñ 
7ô 
7ð 
7ð
7ð 
7ð 
7ð 
7ð 
7�6ñ 
7ô 
7ð 
7ð	7ð 	7ð 	7ð 	7ð 	7Ðñ 	7ô 	7ð 	7ð	7ð 	7ð 	7ð 	7ð 	7Ðñ 	7ô 	7ð 	7ð6ð 6ð 6ð 6ð 6Ðñ 6ô 6ð 6ðð ð ð ð Ðñ ô ð ðð ð ð ð Ðñ ô ð ðð ð ð ð Ðñ ô ð ðð ð ð ð Ðñ ô ð ð+ð +ð +ð +ð +˜ñ +ô +ð +ð	,ð 	,ð 	,ð 	,ð 	,Ðñ 	,ô 	,ð 	,ð
5ð 
5ð 
5ð 
5ð 
5ˆeñ 
5ô 
5ð 
5ð	,ð 	,ð 	,ð 	,ð 	,ˆuñ 	,ô 	,ð 	,ðð ð ð ð ˆuñ ô ð ðð ð ð ð �ñ ô ð ð
ð 
ð 
ð 
ð 
ˆeñ 
ô 
ð 
ðð ð ð ð ˆeñ ô ð ð	-ð 	-ð 	-ð 	-ð 	-Ðñ 	-ô 	-ð 	-ð
6ð 
6ð 
6ð 
6ð 
6Ð$ñ 
6ô 
6ð 
6ð
6ð 
6ð 
6ð 
6ð 
6Ð!ñ 
6ô 
6ð 
6ð6ð 6ð 6ð 6ð 6�8ñ 6ô 6ð 6ð,	-ð 	-ð 	-ð 	-ð 	-Ð ñ 	-ô 	-ð 	-ð	-ð 	-ð 	-ð 	-ð 	-�Gñ 	-ô 	-ð 	-ð	-ð 	-ð 	-ð 	-ð 	-Ð"ñ 	-ô 	-ð 	-ð	6ð 	6ð 	6ð 	6ð 	6�yñ 	6ô 	6ð 	6ð	6ð 	6ð 	6ð 	6ð 	6�Iñ 	6ô 	6ð 	6ð	6ð 	6ð 	6ð 	6ð 	6�Yñ 	6ô 	6ð 	6ð	7ð 	7ð 	7ð 	7ð 	7˜	ñ 	7ô 	7ð 	7ðð ð ð ð Ð!ñ ô ð ðð ð ð ð Ð ñ ô ð ðð ð ð ð �jñ ô ð ð6ð 6ð 6ð 6ð 6ˆ?ñ 6ô 6ð 6ð.
6ð 
6ð 
6ð 
6ð 
6ˆoñ 
6ô 
6ð 
6ð	,ð 	,ð 	,ð 	,ð 	,ˆñ 	,ô 	,ð 	,ð-ð -ð -ð -ð -�8ñ -ô -ð -ð	,ð 	,ð 	,ð 	,ð 	,ˆ?ñ 	,ô 	,ð 	,ð-ð -ð -ð -ð -�ñ -ô -ð -ð	ð 	ð 	ð 	ð 	˜
ñ 	ô 	ð 	ð4	ð 4	ð 4	ð 4	ð 4	˜*ñ 4	ô 4	ð 4	ðnð ð ð ð Ð"ñ ô ð ðð ð ð ð Ðñ ô ð ðð ð ð ð Ð!ñ ô ð ðð ð ð ð Ð$ñ ô ð ðð ð ð ð Ð#ñ ô ð ðð ð ð ð Ð$ñ ô ð ð,ð ,ð ,ð ,ð ,Ðñ ,ô ,ð ,ð>ð >ð >ð >ð >Ð!ñ >ô >ð >ðð ð ð ð Ð ñ ô ð ðð ð ð ð Ð!ñ ô ð ðð ð ð ð Ðñ ô ð ðð ð ð ð Ðñ ô ð ðIð Ið Ið Ið IÐ#ñ Iô Ið Ið 3ð 3ð 3ð 3ð 3Ð%ñ 3ô 3ð 3ð0ð 0ð 0ð 0ð 0Ð#ñ 0ô 0ð 0ð/ð /ð /ð /ð /Ð!ñ /ô /ð /ðð ð ð ð Ð#ñ ô ð ð,ð ,ð ,ð ,ð ,Ð!ñ ,ô ,ð ,ð5ð 5ð 5ð 5ð 5�Gñ 5ô 5ð 5ðIð Ið Ið Ið I�7ñ Iô Ið Ið&8ð 8ð 8ð 8ð 8�gñ 8ô 8ð 8ð5ð 5ð 5ð 5ð 5�7ñ 5ô 5ð 5ð5ð 5ð 5ð 5ð 5�Gñ 5ô 5ð 5ð3ð 3ð 3ð 3ð 3�'ñ 3ô 3ð 3ð/ð /ð /ð /ð /�'ñ /ô /ð /ð.Ið Ið Ið Ið IÐ"ñ Iô Ið Ið&ð ð ð ð Ð!ñ ô ð ð	ð 	ð 	ð 	ð 	Ðñ 	ô 	ð 	ð.ð .ð .ð .ð .Ð ñ .ô .ð .ð:ð :ð :ð :ð :Ð%ñ :ô :ð :ðIð Ið Ið Ið IÐ#ñ Iô Ið Ið(1ð 1ð 1ð 1ð 1Ð#ñ 1ô 1ð 1ðIð Ið Ið Ið IÐ$ñ Iô Ið IðIð Ið Ið Ið IÐ ñ Iô Ið Ið Ið Ið Ið Ið IÐ"ñ Iô Ið IðIð Ið Ið Ið IÐ#ñ Iô Ið IðIð Ið Ið Ið IÐ"ñ Iô Ið Iðð ð ð ð Ðñ ô ð ðð ð ð ð Ð$ñ ô ð ð-ð -ð -ð -ð -Ðñ -ô -ð -ð0ð 0ð 0ð 0ð 0Ð!ñ 0ô 0ð 0ð.ð .ð .ð .ð .Ðñ .ô .ð .ð1ð 1ð 1ð 1ð 1Ð)ñ 1ô 1ð 1ð-ð -ð -ð -ð -Ð%ñ -ô -ð -ð
ð 
ð 
ð 
ð 
ˆzñ 
ô 
ð 
ð/ð /ð /ð /ð /ˆhñ /ô /ð /ð5ð 5ð 5ð 5ð 5�7ñ 5ô 5ð 5ð,ð ,ð ,ð ,ð ,ˆ8ñ ,ô ,ð ,ð-ð -ð -ð -ð -ˆHñ -ô -ð -ð0ð 0ð 0ð 0ð 0ˆxñ 0ô 0ð 0ð,ð ,ð ,ð ,ð ,ˆ8ñ ,ô ,ð ,ðð ð ð ð ˆHñ ô ð ðAð Að Að Að A�
ñ Aô Að Að3ñ 3ð 3Ð ñ@0ð 0ð 0ñ&iñ iñ ið ið ið^AØ€uðAá€uðAñ €}ðAñ €uð	Añ
 €}ðAñ €}ðAñ €{ðAñ €zðAñ €wðAñ €|ðAñ ˆðAñ ˆ
ðAñ ˆðAñ ˆ	ðAñ ˆðAñ  ˆð!Añ" ˆð#Að Añ$ ˆð%Añ& ˆð'Añ( ˆ	ð)Añ* ˆ	ð+Añ, ˆ	ð-Añ. ˆ	ð/Añ0 ˆ	ð1Añ2 ˆð3Añ4 ˆð5Añ6 ˆð7Añ8 ˆð9Añ: ˆð;Añ< ˆð=Añ> ˆð?Añ@ ˆðAAñB ˆðCAñD ˆðEAð Að AñF ˆðGAñH ˆðIAñJ ˆðKAñL ˆðMAñN ˆðOAñP ˆðQAñR ˆðSAñT ˆðUAñV ˆðWAñX ˆ
ðYAñZ Ðð[Añ\ Ðð]Añ^ ˆð_Añ` ˆðaAñb ÐðcAñd ÐðeAñf ÐðgAð Að Añh ÐðiAñj ˆðkAñl ˆðmAñn ˆðoAñp ˆðqAñr ˆðsAñt ˆðuAñv ˆðwAñx ˆðyAñz ˆð{Añ| ˆð}Añ~ ˆðAñ@ ˆðAAñB ÐðCAñD ˆðEAñF ˆðGAñH ÐðIAð Að AñJ ˆðKAñL ˆðMAñN ˆðOAñP ˆðQAñR ˆðSAñT ˆðUAñV ˆðWAñX ˆðYAñZ ˆð[Añ\ ˆ
ð]Añ^ ˆð_Añ` ˆðaAñb ˆðcAñd ˆðeAñf ˆðgAñh ˆðiAñj ˆðkAð Að Añl ˆðmAñn ˆðoAñp ˆðqAñr ˆðsAñt ˆðuAñv ˆðwAñx ˆðyAñz ˆð{Añ| ˆð}Añ~ ˆðAñ@ ˆðAAñB ˆðCAñD ˆðEAñF ˆðGAñH ˆðIAñJ ˆðKAñL ˆðMAð Að AñN ˆðOAñP ˆðQAñR ˆðSAñT ˆðUAñV ˆðWAñX ˆðYAñZ ˆð[Añ\ ˆð]Añ^ ˆð_Añ` ˆðaAñb ˆðcAñd ˆðeAñf ˆðgAñh ˆðiAñj ˆðkAñl ˆðmAñn ˆðoAð Aðp 
Ø	Ø	Ø	Ø	Ø	Ø	Ø	Ø	ñAAð Að AÐ ñHñ ð ð ñ@Kñ Kð Kð Kñ\	ð 	ð 	ð"ð "ñ "ð "ñ "�V”\Ô)ñ "ô "ð "ð +9Ô*<ðcñ cñ cð cð cðN )7Ô(:ðñ ñ ð ð ð, 9GÔ8Jð4ñ 4ñ 4ð 4ð 4ðp	ð 	ñ 	ð 	ñ 	�8Ô$ñ 	ô 	ð 	ðO.ð O.ñ O.ð O.ñ O.ˆ8Ôñ O.ô O.ð O.ðh ˆ\€
à‰zÒÐà€N€N€Nà€GÔ�TÑÔÐÐÐð	 Ðr$   