§
    µ³ÙgÓA  ã            	       ó  — d dl Z d dlZd dlmZ d dlZd dlZd dlmZm	Z	m
Z
mZmZmZ d dlZd dlmZmZ d dlmZ d„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#ej$        j%        d„ ¦   «         Z&d„ Z'd„ Z(d„ Z)ej$        j*        d„ ¦   «         Z+d„ Z,d„ Z-d„ Z.ej$         /                    dg d ¢¦  «        ej$         /                    d!g d"¢¦  «        ej$         /                    d#d$d%g¦  «        ej$         /                    d&d'd(g¦  «        ej$         /                    d)d'd(g¦  «        d*„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Z0ej$         /                    d+ej1        g¦  «        d,„ ¦   «         Z2dS )-é    N)ÚBytesIO)Úassert_equalÚassert_Úassert_array_equalÚbreak_cyclesÚsuppress_warningsÚIS_PYPY)ÚraisesÚwarns)Úwavfilec                 óˆ   — t           j                             t           j                             t          ¦  «        d| ¦  «        S )NÚdata)ÚosÚpathÚjoinÚdirnameÚ__file__)Úfns    úQ/granary/edev/quantum/lib/python3.11/site-packages/scipy/io/tests/test_wavfile.pyÚdatafiler      s(   € ÝŒ7�<Š<�œŸš­Ñ1Ô1°6¸2Ñ>Ô>Ð>ó    c                  ó  — dD ]�} d}t          j        t          |¦  «        | ¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t          |j	        d¦  «         ~Œ‚d S )N©FTútest-44100Hz-le-1ch-4bytes.wav©ÚmmapéD¬  )i:  ©
r   Úreadr   r   r   ÚnpÚ
issubdtypeÚdtypeÚint32Úshape©r   ÚfilenameÚrater   s       r   Útest_read_1r(      s…   € àð ð ˆØ3ˆÝ”\¥(¨8Ñ"4Ô"4¸4Ð@Ñ@Ô@‰
ˆˆdå�T˜5Ñ!Ô!Ð!Ý•”˜dœj­"¬(Ñ3Ô3Ñ4Ô4Ð4Ý�T”Z Ñ)Ô)Ð)àˆDðð r   c                  ó  — dD ]�} d}t          j        t          |¦  «        | ¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t          |j	        d¦  «         ~Œ‚d S )Nr   ztest-8000Hz-le-2ch-1byteu.wavr   é@  )i   é   )
r   r   r   r   r   r    r!   r"   Úuint8r$   r%   s       r   Útest_read_2r-       s…   € àð ð ˆØ2ˆÝ”\¥(¨8Ñ"4Ô"4¸4Ð@Ñ@Ô@‰
ˆˆdå�T˜4Ñ Ô Ð Ý•”˜dœj­"¬(Ñ3Ô3Ñ4Ô4Ð4Ý�T”Z Ñ*Ô*Ð*àˆDðð r   c                  ó  — dD ]�} d}t          j        t          |¦  «        | ¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t          |j	        d¦  «         ~Œ‚d S )Nr   z#test-44100Hz-2ch-32bit-float-le.wavr   r   ©i¹  r+   )
r   r   r   r   r   r    r!   r"   Úfloat32r$   r%   s       r   Útest_read_3r1   -   s…   € àð ð ˆØ8ˆÝ”\¥(¨8Ñ"4Ô"4¸4Ð@Ñ@Ô@‰
ˆˆdå�T˜5Ñ!Ô!Ð!Ý•”˜dœj­"¬*Ñ5Ô5Ñ6Ô6Ð6Ý�T”Z Ñ*Ô*Ð*àˆDðð r   c                  óš  — dD ]Ç} t          ¦   «         5 }|                     t          j        d¦  «         d}t          j        t          |¦  «        | ¬¦  «        \  }}d d d ¦  «         n# 1 swxY w Y   t          |d¦  «         t          t          j	        |j
        t          j        ¦  «        ¦  «         t          |j        d¦  «         ~ŒÈd S )Nr   z,Chunk .non-data. not understood, skipping itz)test-48000Hz-2ch-64bit-float-le-wavex.wavr   i€»  )ià  r+   )r   Úfilterr   ÚWavFileWarningr   r   r   r   r    r!   r"   Úfloat64r$   )r   Úsupr&   r'   r   s        r   Útest_read_4r7   :   s  € àð ð ˆÝÑ Ô ð 	E CØ�JŠJ•wÔ-ØEñGô Gð GàBˆHÝ œ¥h¨xÑ&8Ô&8¸tÐDÑDÔD‰JˆD�$ð		Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eõ 	�T˜5Ñ!Ô!Ð!Ý•”˜dœj­"¬*Ñ5Ô5Ñ6Ô6Ð6Ý�T”Z Ñ*Ô*Ð*àˆDðð s   “A	A(Á(A,	Á/A,	c                  óˆ  — dD ]¾} d}t          j        t          |¦  «        | ¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t	          |j        j	        dk    pt          j	        dk    o|j        j	        dk    ¦  «         t          |j        d¦  «         ~Œ¿d S )	Nr   z#test-44100Hz-2ch-32bit-float-be.wavr   r   ú>Úbigú=r/   )r   r   r   r   r   r    r!   r"   r0   Ú	byteorderÚsysr$   r%   s       r   Útest_read_5r>   J   sÈ   € àð 
ð 
ˆØ8ˆÝ”\¥(¨8Ñ"4Ô"4¸4Ð@Ñ@Ô@‰
ˆˆdå�T˜5Ñ!Ô!Ð!Ý•”˜dœj­"¬*Ñ5Ô5Ñ6Ô6Ð6Ý�”
Ô$¨Ò+ð Mµ´ÀÒ0Fð 1LØ04´
Ô0DÈÒ0Kñ	Nô 	Nð 	Nå�T”Z Ñ*Ô*Ð*àˆDð
ð 
r   c                  óè  — dD ]î} d}t          j        t          |¦  «        | ¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t          |j	        d¦  «         t          |dz  d¦  «         t          | 
                    ¦   «         d¦  «         t          |d	         d
¦  «         t          |                     ¦   «         d¦  «         ~Œïd S )Nr   ztest-8000Hz-le-5ch-9S-5bit.wavr   r*   )é	   é   é   r   éø   ©r   r   é€   )r   r   r   r   r   r    r!   r"   r,   r$   ÚmaxÚminr%   s       r   Útest_5_bit_odd_size_no_padrH   Y   sä   € ð ð ð ˆØ3ˆÝ”\¥(¨8Ñ"4Ô"4¸4Ð@Ñ@Ô@‰
ˆˆdå�T˜4Ñ Ô Ð Ý•”˜dœj­"¬(Ñ3Ô3Ñ4Ô4Ð4Ý�T”Z Ñ(Ô(Ð(õ 	�T˜JÑ&¨Ñ*Ô*Ð*õ 	�T—X’X‘Z”Z Ñ,Ô,Ð,Ý�T˜$”Z Ñ%Ô%Ð%Ý�T—X’X‘Z”Z Ñ#Ô#Ð#àˆDð!ð r   c                  óè  — dD ]î} d}t          j        t          |¦  «        | ¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t          |j	        d¦  «         t          |dz  d¦  «         t          | 
                    ¦   «         d¦  «         t          |d	         d¦  «         t          |                     ¦   «         d
¦  «         ~Œïd S )Nr   ztest-8000Hz-le-4ch-9S-12bit.wavr   r*   )r@   é   é   r   ið  rD   i €ÿÿ)r   r   r   r   r   r    r!   r"   Úint16r$   rF   rG   r%   s       r   Útest_12_bit_even_sizerM   p   sç   € ð ð ð ˆØ4ˆÝ”\¥(¨8Ñ"4Ô"4¸4Ð@Ñ@Ô@‰
ˆˆdå�T˜4Ñ Ô Ð Ý•”˜dœj­"¬(Ñ3Ô3Ñ4Ô4Ð4Ý�T”Z Ñ(Ô(Ð(õ 	�TÐ/Ñ/°Ñ3Ô3Ð3õ 	�T—X’X‘Z”ZÐ!4Ñ5Ô5Ð5Ý�T˜$”Z Ñ#Ô#Ð#Ý�T—X’X‘Z”ZÐ!5Ñ6Ô6Ð6àˆDð!ð r   c            	      óf  — d} t          j        t          | ¦  «        d¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t          |j	        d¦  «         t          |dz  d¦  «         t          |g d¢g d	¢g d
¢g d¢g d¢g¦  «         d S )Nútest-8000Hz-le-3ch-5S-24bit.wavFr   r*   ©rA   é   éÿ   r   )i   €i  €i þÿÿ)i   Ài  Ài ÿÿÿ©r   r   r   )i   @i ÿÿ?é   )é ÿÿrU   i   r   ©r&   r'   r   s      r   Útest_24_bit_odd_size_with_padrW   †   sÑ   € ð 1€HÝ”�h xÑ0Ô0°uÐ=Ñ=Ô=�J€Dˆ$å��tÑÔÐÝ�BŒM˜$œ*¥b¤hÑ/Ô/Ñ0Ô0Ð0Ý�”˜VÑ$Ô$Ð$õ �˜‘˜aÑ Ô Ð õ �Ð<Ð<Ð<Ø<Ð<Ð<Ø<Ð<Ð<Ø<Ð<Ð<Ø<Ð<Ð<ð	>ñ ?ô ?ð ?ð ?ð ?r   c                  ó”  — d} t          j        t          | ¦  «        d¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t          |j	        d¦  «         t          |dz  d¦  «         t	          |dz   
                    ¦   «         ¦  «         t          |g d	¢¦  «         d S )
Nú&test-1234Hz-le-1ch-10S-20bit-extra.wavFr   éÒ  )é
   rR   r   i   )
i ðÿi  €i øÿ?i  Ài üÿi  ài þÿi  ði ÿÿi  ø)r   r   r   r   r   r    r!   r"   r#   r$   ÚanyrV   s      r   Útest_20_bit_extra_datar]   �   sÎ   € ð 8€HÝ”�h xÑ0Ô0°uÐ=Ñ=Ô=�J€Dˆ$å��tÑÔÐÝ�BŒM˜$œ*¥b¤hÑ/Ô/Ñ0Ô0Ð0Ý�”˜UÑ#Ô#Ð#õ �˜‘˜aÑ Ô Ð õ ˆT�E‰\×ÒÑ Ô Ñ!Ô!Ð!õ �ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
r   c                  ój  — d} t          j        t          | ¦  «        d¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t          |j	        d¦  «         t          |dz  d¦  «         g d¢g d	¢g d
¢g d¢g d¢g}t          ||¦  «         d S )Nútest-8000Hz-le-3ch-5S-36bit.wavFr   r*   rP   iÿÿÿr   )ìûÿÿÿ         lûÿÿÿ   `ÿÿ i   à)ìûÿÿÿ         lûÿÿÿ   `ÿÿ i   ðrS   )ì            l      `ÿÿ i   )ì      `ÿÿ rc   é    ©
r   r   r   r   r   r    r!   r"   Úint64r$   ©r&   r'   r   Úcorrects       r   Útest_36_bit_odd_sizeri   »   sÎ   € à0€HÝ”�h xÑ0Ô0°uÐ=Ñ=Ô=�J€Dˆ$å��tÑÔÐÝ�BŒM˜$œ*¥b¤hÑ/Ô/Ñ0Ô0Ð0Ý�”˜VÑ$Ô$Ð$õ �˜	Ñ! 1Ñ%Ô%Ð%ð NÐMÐMØMÐMÐMØMÐMÐMØMÐMÐMØMÐMÐMð	O€Gõ ��wÑÔÐÐÐr   c                  ój  — d} t          j        t          | ¦  «        d¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t          |j	        d¦  «         t          |dz  d¦  «         g d¢g d	¢g d
¢g d¢g d¢g}t          ||¦  «         d S )Nútest-8000Hz-le-3ch-5S-45bit.wavFr   r*   rP   iÿÿ r   )r`   lûÿÿÿ  ðÿÿ i  ðÿ)ra   lûÿÿÿ  ðÿÿ i  øÿrS   )rb   l     ðÿÿ i   )ì     ðÿÿ rl   i   re   rg   s       r   Útest_45_bit_even_sizerm   Ó   sÍ   € à0€HÝ”�h xÑ0Ô0°uÐ=Ñ=Ô=�J€Dˆ$å��tÑÔÐÝ�BŒM˜$œ*¥b¤hÑ/Ô/Ñ0Ô0Ð0Ý�”˜VÑ$Ô$Ð$õ �˜‘ Ñ#Ô#Ð#ð LÐKÐKØKÐKÐKØKÐKÐKØKÐKÐKØKÐKÐKð	M€Gõ ��wÑÔÐÐÐr   c                  ój  — d} t          j        t          | ¦  «        d¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t          |j	        d¦  «         t          |dz  d¦  «         g d¢g d	¢g d
¢g d¢g d¢g}t          ||¦  «         d S )Nútest-8000Hz-le-3ch-5S-53bit.wavFr   r*   rP   iÿ  r   )r`   lûÿÿÿ xÿÿÿ i ðÿÿ)ra   lûÿÿÿ xÿÿÿ i øÿÿrS   )rb   l    xÿÿÿ i   )ì    xÿÿÿ rp   i   re   rg   s       r   Útest_53_bit_odd_sizerq   ë   sÍ   € à0€HÝ”�h xÑ0Ô0°uÐ=Ñ=Ô=�J€Dˆ$å��tÑÔÐÝ�BŒM˜$œ*¥b¤hÑ/Ô/Ñ0Ô0Ð0Ý�”˜VÑ$Ô$Ð$õ �˜‘˜qÑ!Ô!Ð!ð IÐHÐHØHÐHÐHØHÐHÐHØHÐHÐHØHÐHÐHð	J€Gõ ��wÑÔÐÐÐr   c                  óP  — dD ]¢} d}t          j        t          |¦  «        | ¬¦  «        \  }}t          |d¦  «         t	          t          j        |j        t
          j        ¦  «        ¦  «         t          |j	        d¦  «         g d¢g d¢g d¢g d	¢g d
¢g}t          ||¦  «         ~Œ£d S )Nr   ztest-8000Hz-le-3ch-5S-64bit.wavr   r*   rP   )r`   lûÿÿÿÿÿÿÿ éþÿÿÿ)ra   lûÿÿÿÿÿÿÿ éÿÿÿÿrS   )rb   l   ÿÿÿÿ é   )ì   ÿÿÿÿ rv   r+   re   )r   r&   r'   r   rh   s        r   Útest_64_bit_even_sizerw     sÏ   € àð ð ˆØ4ˆÝ”\¥(¨8Ñ"4Ô"4¸4Ð@Ñ@Ô@‰
ˆˆdå�T˜4Ñ Ô Ð Ý•”˜dœj­"¬(Ñ3Ô3Ñ4Ô4Ð4Ý�T”Z Ñ(Ô(Ð(ð JÐIÐIØIÐIÐIØIÐIÐIØIÐIÐIØIÐIÐIð	Kˆõ 	�T˜7Ñ#Ô#Ð#àˆDð'ð r   c                  ó¸   — dD ]V} t          t          d¬¦  «        5  t          j        t	          | ¦  «        d¬¦  «        \  }}d d d ¦  «         n# 1 swxY w Y   ŒWd S )N>   rO   r_   rk   ro   rY   zmmap.*not compatible©ÚmatchTr   )r
   Ú
ValueErrorr   r   r   rV   s      r   Útest_unsupported_mmapr|     s¾   € ð?ð Eð Eˆõ
 •JÐ&<Ð=Ñ=Ô=ð 	Eð 	EÝ œ¥h¨xÑ&8Ô&8¸tÐDÑDÔD‰JˆD�$ð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	EøðEð Es   ›'AÁA	ÁA	c                  óî   — dD ]q\  } }t          j        t          | ¦  «        d¬¦  «        \  }}t          j        t          |¦  «        d¬¦  «        \  }}t          ||¦  «         t          ||¦  «         Œrd S )N>   ©ztest-44100Hz-be-1ch-4bytes.wavr   ©ztest-8000Hz-be-3ch-5S-24bit.wavrO   Fr   )r   r   r   r   )ÚrifxÚriffÚrate1Údata1Úrate2Údata2s         r   Ú	test_rifxr†   &  s‚   € ð<ð #ð #‰
ˆˆdõ ”|¥H¨T¡N¤N¸Ð?Ñ?Ô?‰ˆˆuÝ”|¥H¨T¡N¤N¸Ð?Ñ?Ô?‰ˆˆuÝ�U˜EÑ"Ô"Ð"Ý�U˜EÑ"Ô"Ð"Ð"ð#ð #r   c                  óî   — dD ]q\  } }t          j        t          | ¦  «        d¬¦  «        \  }}t          j        t          |¦  «        d¬¦  «        \  }}t          ||¦  «         t          ||¦  «         Œrd S )N>   ©z#test-44100Hz-le-1ch-4bytes-rf64.wavr   ©z$test-8000Hz-le-3ch-5S-24bit-rf64.wavrO   Fr   )r   r   r   r   )Úrf64r�   r‚   rƒ   r„   r…   s         r   Ú	test_rf64r‹   2  s‚   € ð<ð )ð )‰
ˆˆdõ ”|¥H¨T¡N¤N¸Ð?Ñ?Ô?‰ˆˆuÝ”|¥H¨T¡N¤N¸Ð?Ñ?Ô?‰ˆˆuÝ˜5 %Ñ(Ô(Ð(Ý˜5 %Ñ(Ô(Ð(Ð(ð)ð )r   c                 óÊ  — t          j        d¦  «        }t          |                      d¦  «        ¦  «        }d}t           j                             ddd¦  «                             |¦  «        }t          j        |||¦  «         t          j	        |d¬¦  «        \  }}t          ||¦  «         |j        › d	�}|j        j        d
v s
J |¦   «         ‚t          ||¦  «         d|d<   d S )Nú<i8útemp.wavr   r   é   )rd   Tr   z! byteorder not in ('<', '=', '|')©ú<r;   ú|)r    r"   Ústrr   ÚrandomÚrandintÚastyper   Úwriter   r   r<   r   )Útmpdirr"   Útmpfiler'   r   r„   r…   Úmsgs           r   Útest_write_roundtrip_rf64r›   >  sÛ   € åŒH�U‰OŒO€EÝ�&—+’+˜jÑ)Ô)Ñ*Ô*€GØ€DÝŒ9×Ò˜Q  XÑ.Ô.×5Ò5°eÑ<Ô<€Då„M�'˜4 Ñ&Ô&Ð&å”< ¨dÐ3Ñ3Ô3�L€Eˆ5å��uÑÔÐØŒ[Ð
;Ð
;Ð
;€CØŒ;Ô  OÐ3Ð3Ð3°SÑ3Ô3Ð3Ý�t˜UÑ#Ô#Ð#à€Eˆ!�H€H€Hr   c                  ó  — dD ]}} d}t          t          |¦  «        d¦  «        5 }t          t          d¬¦  «        5  t	          j        || ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   Œ~d S )Nr   zexample_1.ncÚrbz)CDF.*'RIFF', 'RIFX', and 'RF64' supportedry   r   ©Úopenr   r
   r{   r   r   ©r   r&   Úfps      r   Útest_read_unknown_filetype_failr¢   Q  s	  € àð ,ð ,ˆØ!ˆÝ•(˜8Ñ$Ô$ dÑ+Ô+ð 	,¨rÝ�
Ð*UÐVÑVÔVð ,ð ,Ý”˜R dÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,øð,ð ,ó4   ¤A5»AÁA5ÁA"Á"A5Á%A"Á&A5Á5A9	Á<A9	c                  ó  — dD ]}} d}t          t          |¦  «        d¦  «        5 }t          t          d¬¦  «        5  t	          j        || ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   Œ~d S )Nr   zTransparent Busy.anir�   zNot a WAV file.*ACONry   r   rž   r    s      r   Ú test_read_unknown_riff_form_typer¥   Z  s	  € àð ,ð ,ˆØ)ˆÝ•(˜8Ñ$Ô$ dÑ+Ô+ð 	,¨rÝ�
Ð*@ÐAÑAÔAð ,ð ,Ý”˜R dÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,øð,ð ,r£   c                  ó  — dD ]}} d}t          t          |¦  «        d¦  «        5 }t          t          d¬¦  «        5  t	          j        || ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   Œ~d S )Nr   z!test-8000Hz-le-1ch-1byte-ulaw.wavr�   z2Unknown wave file format.*MULAW.*Supported formatsry   r   rž   r    s      r   Útest_read_unknown_wave_formatr§   c  s  € àð ,ð ,ˆØ6ˆÝ•(˜8Ñ$Ô$ dÑ+Ô+ð 	,¨rÝ�
ð +,ð -ñ -ô -ð ,ð ,å”˜R dÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,øð,ð ,r£   c                  óJ  — dD ]Ÿ} d}t          t          |¦  «        d¦  «        5 }t          t          j        d¬¦  «        5  t          j        || ¬¦  «        \  }}|j        dk    sJ ‚|dk    sJ ‚d|d<   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   Œ d S )	Nr   z(test-44100Hz-le-1ch-4bytes-early-eof.wavr�   zReached EOFry   r   r   r   )rŸ   r   r   r   r4   r   Úsize)r   r&   r¡   r'   r   s        r   Útest_read_early_eof_with_datarª   m  s5  € ð ð ð ˆØ=ˆÝ•(˜8Ñ$Ô$ dÑ+Ô+ð 	¨rÝ•wÔ-°]ÐCÑCÔCð ð Ý$œ\¨"°4Ð8Ñ8Ô8‘
��dØ”y 1’}�}�}�}Ø˜u’}�}�}�}à��Q‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øðð s5   ¤BÁ 4B Á4BÂ BÂBÂBÂBÂB	ÂB	c                  ó  — dD ]}} d}t          t          |¦  «        d¦  «        5 }t          t          d¬¦  «        5  t	          j        || ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   Œ~d S )Nr   z0test-44100Hz-le-1ch-4bytes-early-eof-no-data.wavr�   zUnexpected end of file.ry   r   rž   r    s      r   Útest_read_early_eofr¬   {  s	  € àð ,ð ,ˆØEˆÝ•(˜8Ñ$Ô$ dÑ+Ô+ð 	,¨rÝ�
Ð*CÐDÑDÔDð ,ð ,Ý”˜R dÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,øð,ð ,r£   c                  ó  — dD ]}} d}t          t          |¦  «        d¦  «        5 }t          t          d¬¦  «        5  t	          j        || ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   Œ~d S )Nr   z/test-44100Hz-le-1ch-4bytes-incomplete-chunk.wavr�   zIncomplete chunk ID.*b'f'ry   r   rž   r    s      r   Útest_read_incomplete_chunkr®   „  s	  € àð ,ð ,ˆØDˆÝ•(˜8Ñ$Ô$ dÑ+Ô+ð 	,¨rÝ�
Ð*EÐFÑFÔFð ,ð ,Ý”˜R dÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,øð,ð ,r£   c                  ó  — dD ]}} d}t          t          |¦  «        d¦  «        5 }t          t          d¬¦  «        5  t	          j        || ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   Œ~d S )Nr   z,test-8000Hz-le-3ch-5S-24bit-inconsistent.wavr�   zheader is invalidry   r   rž   r    s      r   Útest_read_inconsistent_headerr°   �  s	  € àð ,ð ,ˆØAˆÝ•(˜8Ñ$Ô$ dÑ+Ô+ð 	,¨rÝ�
Ð*=Ð>Ñ>Ô>ð ,ð ,Ý”˜R dÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,øð,ð ,r£   Údt_str)z<i2z<i4r�   z<f4z<f8z>i2z>i4z>i8z>f4z>f8z|u1Úchannels)ru   r+   rA   r'   r*   i }  r   FTÚrealfilec                 óî  — t          j        |¦  «        }| rut          |                     t          t	          j        ¦   «         ¦  «        d¦  «        ¦  «        }t          j        t          j         	                    |¦  «        d¬¦  «         nt          ¦   «         }t           j                             d|¦  «        }|dk    r|d d …df         }|j        dk    r|                     |¦  «        }n|dz                       |¦  «        }t          j        |||¦  «         t          j        ||¬	¦  «        \  }	}
t%          ||	¦  «         t'          |
j        j        d
v |
j        ¬¦  «         t+          ||
¦  «         | rd|
d<   n8t-          j        t0          d¬¦  «        5  d|
d<   d d d ¦  «         n# 1 swxY w Y   | r7|r7t2          r2t4          j        dk    r$t9          ¦   «          t9          ¦   «          d S d S d S d S d S )NrŽ   T)Úexist_okéd   ru   r   ÚfrE   r   r�   )rš   z	read-onlyry   Úwin32)r    r"   r“   r   Ú	threadingÚget_native_idr   Úmakedirsr   r   r   r”   ÚrandÚkindr–   r   r—   r   r   r   r<   r   Úpytestr
   r{   r	   r=   Úplatformr   )r³   r   r'   r²   r±   r˜   r"   r™   r   r„   r…   s              r   Útest_write_roundtriprÀ   š  s-  € õ ŒH�VÑÔ€EØð Ý�f—k’k¥#¥iÔ&=Ñ&?Ô&?Ñ"@Ô"@À*ÑMÔMÑNÔNˆÝ
Œ•B”G—O’O GÑ,Ô,°tÐ<Ñ<Ô<Ð<Ð<å‘)”)ˆÝŒ9�>Š>˜#˜xÑ(Ô(€DØ�1‚}€}Ø�A�A�A�q�DŒzˆØ„z�SÒÐà�{Š{˜5Ñ!Ô!ˆˆà�S‘× Ò  Ñ'Ô'ˆå„M�'˜4 Ñ&Ô&Ð&å”< ¨dÐ3Ñ3Ô3�L€Eˆ5å��uÑÔÐÝˆEŒKÔ! _Ð4¸%¼+ÐFÑFÔFÐFÝ�t˜UÑ#Ô#Ð#àð Øˆˆa‰ˆåŒ]�:¨[Ð9Ñ9Ô9ð 	ð 	ØˆE�!‰Hð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ð �Dð �Wð ­¬¸Ò)@Ð)@õ 	‰ŒˆÝ‰Œˆˆˆð	ð ð ð ð ð Ð)@Ð)@s   ÆF+Æ+F/Æ2F/r"   c                 óp  — t          |                      d¦  «        ¦  «        }t          j                             d¦  «        }|                     d¦  «                             |¦  «        }d}t          j        t          d¬¦  «        5  t          j
        |||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrŽ   rZ   )r¶   rA   r*   ÚUnsupportedry   )r“   r   r    r”   Údefault_rngr–   r¾   r
   r{   r   r—   )r˜   r"   r™   Úrngr   r'   s         r   Útest_wavfile_dtype_unsupportedrÅ   Å  sá   € å�&—+’+˜jÑ)Ô)Ñ*Ô*€GÝ
Œ)×
Ò
 Ñ
%Ô
%€CØ�:Š:�hÑÔ×&Ò& uÑ-Ô-€DØ€DÝ	Œ•z¨Ð	7Ñ	7Ô	7ð +ð +ÝŒ�g˜t TÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s   ÂB+Â+B/Â2B/)3r   r=   Úior   r¹   Únumpyr    Únumpy.testingr   r   r   r   r   r	   r¾   r
   r   Úscipy.ior   r   r(   r-   r1   r7   r>   rH   rM   rW   r]   ri   rm   rq   rw   r|   r†   r‹   ÚmarkÚxslowr›   r¢   r¥   r§   Úthread_unsaferª   r¬   r®   r°   ÚparametrizerÀ   Úfloat16rÅ   © r   r   ú<module>rÐ      s{  ðØ 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð à Ð Ð Ð ðEð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eà €€€Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð ð?ð ?ð ?ð
ð 
ð 
ð
ð 
ð 
ð
ð 
ð 
ðð ð ð ð ð ðð ð ð.ð ð ð,?ð ?ð ?ð.ð ð ð< ð  ð  ð0 ð  ð  ð0 ð  ð  ð0ð ð ð0Eð Eð Eð	#ð 	#ð 	#ð	)ð 	)ð 	)ð „Ôðð ñ Ôðð$,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð „Ôð
ð 
ñ Ôð
ð,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð „×Ò˜ð $Nð $Nð $Nñ Oô Oà„×Ò˜ Y Y YÑ/Ô/Ø„×Ò˜ $¨ Ñ/Ô/Ø„×Ò˜ %¨ Ñ/Ô/Ø„×Ò˜ e¨T ]Ñ3Ô3ð"ð "ñ 4Ô3ñ 0Ô/ñ 0Ô/ñ 0Ô/ñOô Oð"ðJ „×Ò˜ 2¤: ,Ñ/Ô/ð+ð +ñ 0Ô/ð+ð +ð +r   