§
    |@Äj	-  ã            	       óö  — d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm	Z	  ej
        ¦   «         Zedk    rd„ Znd„ Zd„ Zd„ Zd„ Zd	„ Zd
efd„Z	 d&dededefd„Zdee         d
ee         fd„Zdee         d
ee         fd„Z G d„ d¦  «        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d#ed$ed
eee	egdf         fd%„Z dS )'é    N)ÚCallableÚListÚOptionalÚTextIOúutf-8c                 ój   — |                       t          d¬¦  «                             t          ¦  «        S )NÚreplace)Úerrors)ÚencodeÚsystem_encodingÚdecode©Ústrings    ú>C:\Projects\Historical\venv\Lib\site-packages\whisper/utils.pyÚ	make_safer      s(   € ð �}Š}�_°Yˆ}Ñ?Ô?×FÒFÅÑWÔWÐWó    c                 ó   — | S ©N© r   s    r   r   r      s   € àˆr   c                 ó"   — | |z  dk    sJ ‚| |z  S )Nr   r   )ÚxÚys     r   Ú	exact_divr      s   € Øˆq‰5�AŠ:ˆ:ˆ:ˆ:Ø�‰6€Mr   c                 óŒ   — dddœ}| |v r||          S t          dt          |                     ¦   «         ¦  «        › d| › �¦  «        ‚)NTF)ÚTrueÚFalsezExpected one of z, got )Ú
ValueErrorÚsetÚkeys)r   Ústr2vals     r   Ústr2boolr!      sS   € Ø eÐ,Ð,€GØ�ÐÐØ�vŒÐåÐO­C°·²±´Ñ,?Ô,?ÐOÐOÀvÐOÐOÑPÔPÐPr   c                 ó0   — | dk    rd nt          | ¦  «        S ©NÚNone)Úintr   s    r   Úoptional_intr&   %   s   € Ø˜VÒ#Ð#ˆ4ˆ4­¨V©¬Ð4r   c                 ó0   — | dk    rd nt          | ¦  «        S r#   )Úfloatr   s    r   Úoptional_floatr)   )   s   € Ø˜VÒ#Ð#ˆ4ˆ4­¨v©¬Ð6r   Úreturnc                 óŽ   — |                       d¦  «        }t          |¦  «        t          t          j        |¦  «        ¦  «        z  S )Nr   )r   ÚlenÚzlibÚcompress)ÚtextÚ
text_bytess     r   Úcompression_ratior1   -   s6   € Ø—’˜WÑ%Ô%€JÝˆz‰?Œ?�S¥¤¨zÑ!:Ô!:Ñ;Ô;Ñ;Ð;r   Fú.ÚsecondsÚalways_include_hoursÚdecimal_markerc                 óÔ   — | dk    s
J d¦   «         ‚t          | dz  ¦  «        }|dz  }||dz  z  }|dz  }||dz  z  }|dz  } || dz  z  }|s|dk    r|d›d�nd	}|› |d›d| d›|› |d
›�S )Nr   znon-negative timestamp expectedg     @�@i€î6 i`ê  éè  Ú02dú:Ú Ú03d)Úround)r3   r4   r5   ÚmillisecondsÚhoursÚminutesÚhours_markers          r   Úformat_timestamprA   2   sÀ   € ð �aŠ<ˆ<ˆ<Ð:‰<Œ<ˆ<Ý˜ 6Ñ)Ñ*Ô*€Là˜IÑ%€EØ�E˜IÑ%Ñ%€Là˜fÑ$€GØ�G˜fÑ$Ñ$€Là˜eÑ#€GØ�G˜e‘OÑ#€Là&:ÐO¸eÀaºi¸i�e�?�?�?�?�?ÈR€LàÐV˜ÐVÐVÐV wÐVÐV°NÐVÀLÐVÐVÐVðr   Úsegmentsc                 óV   — t          d„ | D ¦   «         | r| d         d         nd ¦  «        S )Nc              3   ó<   K  — | ]}|d          D ]}|d         V — ŒŒdS )ÚwordsÚstartNr   ©Ú.0ÚsÚws      r   ú	<genexpr>zget_start.<locals>.<genexpr>I   s7   è è € Ð:Ð:˜¨q°¬zÐ:Ð:¨!ˆˆ7ŒÐ:Ð:Ð:Ð:Ð:Ð:Ð:r   r   rF   )Únext©rB   s    r   Ú	get_startrN   G   s;   € ÝØ:Ð:˜XÐ:Ñ:Ô:Ø (Ð2ˆ�Œ�GÔÐ¨dñô ð r   c                 óp   — t          d„ t          | ¦  «        D ¦   «         | r| d         d         nd ¦  «        S )Nc              3   óV   K  — | ]$}t          |d          ¦  «        D ]}|d         V — ŒŒ%dS )rE   ÚendN)ÚreversedrG   s      r   rK   zget_end.<locals>.<genexpr>P   s?   è è € ÐLÐL�aµxÀÀ'Ä
Ñ7KÔ7KÐLÐL°!ˆˆ5ŒÐLÐLÐLÐLÐLÐLÐLr   éÿÿÿÿrQ   )rL   rR   rM   s    r   Úget_endrT   N   sC   € ÝØLÐL�8 HÑ-Ô-ÐLÑLÔLØ'Ð1ˆ�Œ�UÔÐ¨Tñô ð r   c                   ón   — e Zd ZU eed<   defd„Z	 ddededee         fd„Z	 dded	e	dee         fd
„Z
dS )ÚResultWriterÚ	extensionÚ
output_dirc                 ó   — || _         d S r   )rX   )ÚselfrX   s     r   Ú__init__zResultWriter.__init__X   s   € Ø$ˆŒˆˆr   NÚresultÚ
audio_pathÚoptionsc                 óf  — t           j                             |¦  «        }t           j                             |¦  «        d         }t           j                             | j        |dz   | j        z   ¦  «        }t          |dd¬¦  «        5 } | j        |f||dœ|¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r2   rJ   r   )Úencoding)Úfiler^   )	ÚosÚpathÚbasenameÚsplitextÚjoinrX   rW   ÚopenÚwrite_result)rZ   r\   r]   r^   ÚkwargsÚaudio_basenameÚoutput_pathÚfs           r   Ú__call__zResultWriter.__call__[   s  € õ œ×)Ò)¨*Ñ5Ô5ˆÝœ×)Ò)¨.Ñ9Ô9¸!Ô<ˆÝ”g—l’lØŒO˜^¨cÑ1°D´NÑBñ
ô 
ˆõ �+˜s¨WÐ5Ñ5Ô5ð 	I¸ØˆDÔ˜fÐH¨1°gÐHÐHÀÐHÐHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið 	Ið 	Is   ÂB&Â&B*Â-B*ra   c                 ó   — t           ‚r   )ÚNotImplementedError©rZ   r\   ra   r^   ri   s        r   rh   zResultWriter.write_resultg   s
   € õ "Ð!r   r   )Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__r[   Údictr   rm   r   rh   r   r   r   rV   rV   U   sº   € € € € € € Ø€N€N�Nð% 3ð %ð %ð %ð %ð HLð
Ið 
IØð
IØ(+ð
IØ6>¸t´nð
Ið 
Ið 
Ið 
Ið EIð"ð "Øð"Ø"(ð"Ø3;¸D´>ð"ð "ð "ð "ð "ð "r   rV   c                   óB   — e Zd ZU dZeed<   	 ddededee         fd„Z	dS )	ÚWriteTXTÚtxtrW   Nr\   ra   r^   c                 óp   — |d         D ],}t          |d                              ¦   «         |d¬¦  «         Œ-d S )NrB   r/   T©ra   Úflush)ÚprintÚstrip©rZ   r\   ra   r^   ri   Úsegments         r   rh   zWriteTXT.write_resultp   sN   € ð ˜jÔ)ð 	Bð 	BˆGÝ�'˜&”/×'Ò'Ñ)Ô)°¸DÐAÑAÔAÐAÐAð	Bð 	Br   r   ©
rq   rr   rs   rW   rt   ru   rv   r   r   rh   r   r   r   rx   rx   m   sl   € € € € € € Ø€IˆsÐÐÑð EIðBð BØðBØ"(ðBØ3;¸D´>ðBð Bð Bð Bð Bð Br   rx   c                   ó�   — e Zd ZU eed<   eed<   	 ddddddœdedee         dee         d	ee         d
edee         fd„Z	de
fd„ZdS )ÚSubtitlesWriterr4   r5   NF)Úmax_line_widthÚmax_line_countÚhighlight_wordsÚmax_words_per_liner\   r^   r„   r…   r†   r‡   c          
   #   ó|  ‡‡‡‡‡‡K  — |pi }‰p|                      d¦  «        Š‰p|                      d¦  «        Š|p|                      dd¦  «        }‰p|                      d¦  «        Š‰d u p‰d u Š‰pdŠ‰pdŠˆˆˆˆˆfd„}t          ‰d         ¦  «        d	k    �r)d
‰d         d	         v �r |¦   «         D �]
}|                      |d	         d         ¦  «        }	|                      |d         d         ¦  «        }
d                     d„ |D ¦   «         ¦  «        }|r�|	}d„ |D ¦   «         }t	          |¦  «        D ]}\  Š}|                      |d         ¦  «        }|                      |d         ¦  «        }||k    r|||fV — ||d                     ˆfd„t	          |¦  «        D ¦   «         ¦  «        fV — |}Œ~�Œ|	|
|fV — �Œd S ‰d         D ]m}|                      |d         ¦  «        }|                      |d         ¦  «        }|d                              ¦   «                              dd¦  «        }|||fV — Œnd S )Nr„   r…   r†   Fr‡   r7   c               3   ó  •K  — d} d}g }t          ‰d         ¦  «        pd}‰d         D �]Â}d}‰}|t          |d         ¦  «        k     �r¡t          |d         ¦  «        |z
  }‰t          |d         ¦  «        |z
  k    r|}t          |d         |||z   …         ¦  «        D �]*\  }}	|	                     ¦   «         }
‰ o|
d         |z
  dk    }| t          |
d         ¦  «        z   ‰k    }|dk    ot          |¦  «        dk    o‰}| dk    r|r|s|s| t          |
d         ¦  «        z  } n…|
d                              ¦   «         |
d<   t          |¦  «        dk    r
‰�|s|‰k    s|r	|V — g }d}n| dk    r|dz  }d	|
d         z   |
d<   t          |
d                              ¦   «         ¦  «        } |                     |
¦  «         |
d         }�Œ,|‰z  }|t          |d         ¦  «        k     �°¡�ŒÄt          |¦  «        dk    r|V — d S d S )
Nr   é   rB   g        rE   rF   g      @Úwordú
)rN   r,   Ú	enumerateÚcopyr~   Úappend)Úline_lenÚ
line_countÚsubtitleÚlastr€   Úchunk_indexÚwords_countÚremaining_wordsÚiÚoriginal_timingÚtimingÚ
long_pauseÚhas_roomÚ	seg_breakr…   r„   r‡   Úpreserve_segmentsr\   s                 €€€€€r   Úiterate_subtitlesz9SubtitlesWriter.iterate_result.<locals>.iterate_subtitlesŽ   sŽ  øè è € ØˆHØˆJà#%ˆHÝ# F¨:Ô$6Ñ7Ô7Ð>¸3ˆDØ! *Ô-ð ,6ñ ,6�Ø�Ø0�Ø!¥C¨°Ô(8Ñ$9Ô$9Ò9Ñ9Ý&)¨'°'Ô*:Ñ&;Ô&;¸kÑ&I�OØ)­C°¸Ô0@Ñ,AÔ,AÀKÑ,OÒOÐOØ&5˜Ý.7Ø Ô(¨°{À[Ñ7PÐ)PÔQñ/ô /ð $/ñ $/Ñ*˜˜?ð "1×!5Ò!5Ñ!7Ô!7˜à 1Ð1ÐR°f¸W´oÈÑ6LÈsÒ6Rð #ð $,­c°&¸´.Ñ.AÔ.AÑ#AÀ^Ò#S˜Ø$%¨¢FÐ$V­s°8©}¬}¸qÒ/@Ð$VÐEV˜	à$ qšL˜LØ (ð )à$.ð )ð %.ð )ð %­¨F°6¬NÑ(;Ô(;Ñ;˜H˜Hð .4°F¬^×-AÒ-AÑ-CÔ-C˜F 6™Nå # H¡¤°Ò 1Ð 1Ø$2Ð$>Ø%/ð %?Ø3=ÀÒ3OÐ3OØ#,ð 4Pð '/   Ø+- Ø-. 
 
Ø!)¨A¢ à *¨a¡ 
Ø15¸¸v¼Ñ1F  v¡Ý'*¨6°&¬>×+?Ò+?Ñ+AÔ+AÑ'BÔ'B˜HØ Ÿš¨Ñ/Ô/Ð/Ø% gœ˜™ØÐ#5Ñ5�KðS "¥C¨°Ô(8Ñ$9Ô$9Ò9Ñ9ùõT �8‰}Œ}˜qÒ Ð Ø�����ð !Ð r   rB   r   rE   rF   rS   rQ   r:   c                 ó   — g | ]
}|d          ‘ŒS ©r‹   r   )rH   r‹   s     r   ú
<listcomp>z2SubtitlesWriter.iterate_result.<locals>.<listcomp>È   s   € Ð(KÐ(KÐ(K¸$¨¨f¬Ð(KÐ(KÐ(Kr   c                 ó   — g | ]
}|d          ‘ŒS r    r   )rH   r™   s     r   r¡   z2SubtitlesWriter.iterate_result.<locals>.<listcomp>Ë   s   € Ð GÐ GÐ G°F ¨¤Ð GÐ GÐ Gr   c                 óR   •— g | ]#\  }}|‰k    rt          j        d d|¦  «        n|‘Œ$S )z^(\s*)(.*)$z\1<u>\2</u>)ÚreÚsub)rH   Újr‹   r—   s      €r   r¡   z2SubtitlesWriter.iterate_result.<locals>.<listcomp>Ó   sN   ø€ ð ð ð ñ %, A tð ()¨A¢v võ %'¤F¨>¸>È4Ñ$PÔ$PÐ$Pà)-ð	ð ð r   r/   z-->z->)Úgetr,   rA   rf   r�   r~   r	   )rZ   r\   r^   r„   r…   r†   r‡   rž   r’   Úsubtitle_startÚsubtitle_endÚsubtitle_textr“   Ú	all_wordsÚ	this_wordrF   rQ   r€   Úsegment_startÚsegment_endÚsegment_textr—   r�   s    ` `` `              @@r   Úiterate_resultzSubtitlesWriter.iterate_result{   s  øøøøøøè è € ð �-˜RˆØ'ÐH¨7¯;ª;Ð7GÑ+HÔ+HˆØ'ÐH¨7¯;ª;Ð7GÑ+HÔ+HˆØ)ÐR¨W¯[ª[Ð9JÈEÑ-RÔ-RˆØ/ÐT°7·;²;Ð?SÑ3TÔ3TÐØ*¨dÐ2ÐL°nÈÐ6LÐØ'Ð/¨4ˆØ/Ð7°4Ðð4	ð 4	ð 4	ð 4	ð 4	ð 4	ð 4	ð 4	ð 4	õl ˆv�jÔ!Ñ"Ô" QÒ&Ñ&¨7°f¸ZÔ6HÈÔ6KÐ+KÑ+KØ-Ð-Ñ/Ô/ð Fñ F�Ø!%×!6Ò!6°xÀ´{À7Ô7KÑ!LÔ!L�Ø#×4Ò4°X¸b´\À%Ô5HÑIÔI�Ø "§¢Ð(KÐ(KÀ(Ð(KÑ(KÔ(KÑ LÔ L�Ø"ð FØ)�DØ GÐ G¸hÐ GÑ GÔ G�IÝ(1°(Ñ(;Ô(;ð #ð #™˜˜9Ø $× 5Ò 5°iÀÔ6HÑ IÔ I˜Ø"×3Ò3°I¸eÔ4DÑEÔE˜Ø 5š=˜=Ø"&¨¨}Ð"<Ð<Ð<Ð<à# S¨"¯'ª'ðð ð ð õ 09¸Ñ/CÔ/Cðñ ô ñ	+ô 	+ð 	ð 	ð 	ð 	ð  #˜˜ñ!#ð$ )¨,¸ÐEÐEÐEÐEÑEð3Fð Fð6 " *Ô-ð ?ð ?�Ø $× 5Ò 5°g¸gÔ6FÑ GÔ G�Ø"×3Ò3°G¸E´NÑCÔC�Ø& vœ×4Ò4Ñ6Ô6×>Ò>¸uÀdÑKÔK�Ø# [°,Ð>Ð>Ð>Ð>Ð>ð	?ð ?r   r3   c                 ó:   — t          || j        | j        ¬¦  «        S )N)r3   r4   r5   )rA   r4   r5   )rZ   r3   s     r   rA   z SubtitlesWriter.format_timestampæ   s(   € ÝØØ!%Ô!:ØÔ.ð
ñ 
ô 
ð 	
r   r   )rq   rr   rs   Úboolru   rt   rv   r   r%   r°   r(   rA   r   r   r   rƒ   rƒ   w   s×   € € € € € € ØÐÐÑØÐÐÑð
 #'ði?ð
 )-Ø(,Ø %Ø,0ði?ð i?ð i?àði?ð ˜$”ði?ð
 ! œði?ð ! œði?ð ði?ð % SœMði?ð i?ð i?ð i?ðV
¨ð 
ð 
ð 
ð 
ð 
ð 
r   rƒ   c                   ó^   — e Zd ZU dZeed<   dZeed<   dZeed<   	 dde	d	e
d
ee	         fd„ZdS )ÚWriteVTTÚvttrW   Fr4   r2   r5   Nr\   ra   r^   c           	      óŠ   — t          d|¬¦  «          | j        ||fi |¤ŽD ]!\  }}}t          |› d|› d|› d�|d¬¦  «         Œ"d S )NzWEBVTT
)ra   ú --> rŒ   Tr{   )r}   r°   )rZ   r\   ra   r^   ri   rF   rQ   r/   s           r   rh   zWriteVTT.write_resultó   sƒ   € õ 	ˆj˜tÐ$Ñ$Ô$Ð$Ø 3 Ô 3°F¸GÐ NÐ NÀvÐ NÐ Nð 	Ið 	IÑˆE�3˜Ý�UÐ0Ð0 Ð0Ð0¨Ð0Ð0Ð0°tÀ4ÐHÑHÔHÐHÐHð	Ið 	Ir   r   ©rq   rr   rs   rW   rt   ru   r4   r²   r5   rv   r   r   rh   r   r   r   r´   r´   î   s�   € € € € € € Ø€IˆsÐÐÑØ!&Ð˜$Ð&Ð&Ñ&Ø€N�CÐÐÑð EIðIð IØðIØ"(ðIØ3;¸D´>ðIð Ið Ið Ið Ið Ir   r´   c                   ó^   — e Zd ZU dZeed<   dZeed<   dZeed<   	 dde	d	e
d
ee	         fd„ZdS )ÚWriteSRTÚsrtrW   Tr4   ú,r5   Nr\   ra   r^   c                 ó’   — t           | j        ||fi |¤Žd¬¦  «        D ]'\  }\  }}}t          |› d|› d|› d|› d�|d¬¦  «         Œ(d S )NrŠ   )rF   rŒ   r·   Tr{   )r�   r°   r}   )	rZ   r\   ra   r^   ri   r—   rF   rQ   r/   s	            r   rh   zWriteSRT.write_result   s“   € õ &/ØˆDÔ ¨Ð:Ð:°6Ð:Ð:À!ð&
ñ &
ô &
ð 	Nð 	NÑ!ˆAÑ!��s˜Dõ �QÐ5Ð5˜%Ð5Ð5 cÐ5Ð5¨TÐ5Ð5Ð5¸DÈÐMÑMÔMÐMÐMð	Nð 	Nr   r   r¸   r   r   r   rº   rº   û   s�   € € € € € € Ø€IˆsÐÐÑØ!%Ð˜$Ð%Ð%Ñ%Ø€N�CÐÐÑð EIðNð NØðNØ"(ðNØ3;¸D´>ðNð Nð Nð Nð Nð Nr   rº   c                   óF   — e Zd ZU dZdZeed<   	 d	dedede	e         fd„Z
dS )
ÚWriteTSVaâ  
    Write a transcript to a file in TSV (tab-separated values) format containing lines like:
    <start time in integer milliseconds>	<end time in integer milliseconds>	<transcript text>

    Using integer milliseconds as start and end times means there's no chance of interference from
    an environment setting a language encoding that causes the decimal in a floating point number
    to appear as a comma; also is faster and more efficient to parse & store, e.g., in C++.
    ÚtsvrW   Nr\   ra   r^   c                 ó`  — t          dddd|¬¦  «         |d         D ]�}t          t          d|d         z  ¦  «        |d¬¦  «         t          t          d|d         z  ¦  «        |d¬¦  «         t          |d                              ¦   «                              dd	¦  «        |d
¬¦  «         Œ‘d S )NrF   rQ   r/   ú	)Úsepra   rB   r7   )ra   rQ   ú Tr{   )r}   r<   r~   r	   r   s         r   rh   zWriteTSV.write_result  sÄ   € õ 	ˆg�u˜f¨$°TÐ:Ñ:Ô:Ð:Ø˜jÔ)ð 	Uð 	UˆGÝ•%˜˜w wÔ/Ñ/Ñ0Ô0°tÀÐFÑFÔFÐFÝ•%˜˜w uœ~Ñ-Ñ.Ô.°T¸tÐDÑDÔDÐDÝ�'˜&”/×'Ò'Ñ)Ô)×1Ò1°$¸Ñ<Ô<À4ÈtÐTÑTÔTÐTÐTð	Uð 	Ur   r   )rq   rr   rs   Ú__doc__rW   rt   ru   rv   r   r   rh   r   r   r   r¿   r¿   	  sx   € € € € € € ðð ð €IˆsÐÐÑð EIðUð UØðUØ"(ðUØ3;¸D´>ðUð Uð Uð Uð Uð Ur   r¿   c                   óB   — e Zd ZU dZeed<   	 ddededee         fd„Z	dS )	Ú	WriteJSONÚjsonrW   Nr\   ra   r^   c                 ó0   — t          j        ||¦  «         d S r   )rÈ   Údumprp   s        r   rh   zWriteJSON.write_result"  s   € õ 	Œ	�&˜$ÑÔÐÐÐr   r   r�   r   r   r   rÇ   rÇ     sb   € € € € € € Ø€IˆsÐÐÑð EIð ð  Øð Ø"(ð Ø3;¸D´>ð ð  ð  ð  ð  ð  r   rÇ   Úoutput_formatrX   c                 ó
  ‡‡— t           t          t          t          t          dœ}| dk    rJˆfd„|                     ¦   «         D ¦   «         Š	 ddt          dt          dt          t                   fˆfd„}|S  ||          ‰¦  «        S )	N)ry   rµ   r»   rÀ   rÈ   Úallc                 ó&   •— g | ]} |‰¦  «        ‘ŒS r   r   )rH   ÚwriterrX   s     €r   r¡   zget_writer.<locals>.<listcomp>4  s#   ø€ ÐIÐIÐI¨f�v�v˜jÑ)Ô)ÐIÐIÐIr   r\   ra   r^   c                 ó(   •— ‰D ]} || ||fi |¤Ž Œd S r   r   )r\   ra   r^   ri   rÏ   Úall_writerss        €r   Ú	write_allzget_writer.<locals>.write_all6  s=   ø€ ð &ð 8ð 8�Ø��v˜t WÐ7Ð7°Ð7Ð7Ð7Ð7ð8ð 8r   r   )	rx   r´   rº   r¿   rÇ   Úvaluesrv   r   r   )rË   rX   ÚwritersrÒ   rÑ   s    `  @r   Ú
get_writerrÕ   (  s´   øø€ õ ÝÝÝÝðð €Gð ˜ÒÐØIÐIÐIÐI¸¿ºÑ8HÔ8HÐIÑIÔIˆð CGð	8ð 	8Ýð	8Ý &ð	8Ý19½$´ð	8ð 	8ð 	8ð 	8ð 	8ð 	8ð Ðà!ˆ7�=Ô! *Ñ-Ô-Ð-r   )Fr2   )!rÈ   rb   r¤   Úsysr-   Útypingr   r   r   r   Úgetdefaultencodingr   r   r   r!   r&   r)   r(   r1   r²   rt   rA   rv   rN   rT   rV   rx   rƒ   r´   rº   r¿   rÇ   rÕ   r   r   r   ú<module>rÙ      s  ðØ €€€Ø 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3à(�#Ô(Ñ*Ô*€à�gÒÐðXð Xð Xð Xðð ð ð
ð ð ð
Qð Qð Qð5ð 5ð 5ð7ð 7ð 7ð<˜uð <ð <ð <ð <ð ORðð ØðØ*.ðØHKðð ð ð ð*˜˜Tœ
ð  x°¤ð ð ð ð ð�d˜4”jð  X¨e¤_ð ð ð ð ð"ð "ð "ð "ð "ñ "ô "ð "ð0Bð Bð Bð Bð Bˆ|ñ Bô Bð Bðt
ð t
ð t
ð t
ð t
�lñ t
ô t
ð t
ðn
Ið 
Ið 
Ið 
Ið 
Iˆñ 
Iô 
Ið 
IðNð Nð Nð Nð Nˆñ Nô Nð NðUð Uð Uð Uð Uˆ|ñ Uô Uð Uð, ð  ð  ð  ð  �ñ  ô  ð  ð.Øð.Ø$'ð.àˆt�V˜TÐ" DÐ(Ô)ð.ð .ð .ð .ð .ð .r   