§
    |@Äj™1  ã                   óF  — d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlZd dl	Z
d dlZd dlmc mZ ddlmZmZmZ ddlmZ erddlmZ dej        d	efd
„Z ej        d¬¦  «        de
j        fd„¦   «         Z ej        dd¬¦  «        de
j        fd„¦   «         Zd/d„Zdej        de
j        fd„Z e G d„ d¦  «        ¦   «         Z!dddœdddedee         dej        ded ed!e"dee!         fd"„Z#d#ee!         d$e$d%e$fd&„Z%d'd(d)œd*ee&         dddedej        ded+e$d,e$d-e"fd.„Z'dS )0é    N)Ú	dataclass)ÚTYPE_CHECKINGÚListé   )Ú
HOP_LENGTHÚSAMPLE_RATEÚTOKENS_PER_SECOND)Ú	Tokenizer)ÚWhisperÚxÚfilter_widthc                 ó  — |dz  }| j         d         |k    r| S | j        x}dk    r| dddd…f         } |dk    r	|dz  dk    s
J d¦   «         ‚d}t          j        | |dz  |dz  ddfd¬¦  «        } | j        rD	 dd	lm}  || |¦  «        }n0# t          t          j	        f$ r t          j        d
¦  «         Y nw xY w|€:|                      d|d¦  «                             ¦   «         d         d|dz  f         }|dk    r|d         }|S )zMApply a median filter of width `filter_width` along the last dimension of `x`é   éÿÿÿÿNr   r   z&`filter_width` should be an odd numberÚreflect)Úmode)Úmedian_filter_cudaz}Failed to launch Triton kernels, likely due to missing CUDA toolkit; falling back to a slower median kernel implementation....©r   r   )ÚshapeÚndimÚFÚpadÚis_cudaÚ
triton_opsr   ÚRuntimeErrorÚ
subprocessÚCalledProcessErrorÚwarningsÚwarnÚunfoldÚsort)r   r   Ú	pad_widthr   Úresultr   s         ú?C:\Projects\Historical\venv\Lib\site-packages\whisper/timing.pyÚmedian_filterr%      ss  € à Ñ!€IØ„wˆr„{�iÒÐàˆà”ˆˆ˜1ÒÐàˆd�D˜!˜!˜!ˆmÔˆð 	�qÒÐ˜\¨AÑ-°Ò2Ð2Ð2Ø/ñ 3Ô2Ð2ð €FÝ	Œˆa�, !Ñ# \°QÑ%6¸¸1Ð=ÀIÐNÑNÔN€AØ„yð 	ð	Ø6Ð6Ð6Ð6Ð6Ð6à'Ð'¨¨<Ñ8Ô8ˆFˆFøÝ�jÔ;Ð<ð 	ð 	ð 	ÝŒMðKñô ð ð ð ð	øøøð €~à—’˜"˜l¨AÑ.Ô.×3Ò3Ñ5Ô5°aÔ8¸¸lÈaÑ>OÐ9OÔPˆàˆq‚y€yØ˜”ˆà€Ms   Á7B
 Â
*B7Â6B7T)ÚnopythonÚtracec                 óÄ  — | j         d         dz
  }| j         d         dz
  }d| dd d …f<   d| d d …df<   g }|dk    s|dk    ry|                     |dz
  |dz
  f¦  «         | ||f         dk    r|dz  }|dz  }n7| ||f         dk    r|dz  }n#| ||f         dk    r|dz  }nt          d¦  «        ‚|dk    °s|dk    °yt          j        |¦  «        }|d d d…d d …f         j        S )Nr   r   r   zUnexpected trace[i, j]r   )r   ÚappendÚ
ValueErrorÚnpÚarrayÚT)r'   ÚiÚjr#   s       r$   Ú	backtracer0   9   s)  € àŒ�AŒ˜Ñ€AØŒ�AŒ˜Ñ€AØ€Eˆ!ˆQˆQˆQˆ$�KØ€Eˆ!ˆ!ˆ!ˆQˆ$�Kà€FØ
ˆaŠ%ˆ%�1�q’5�5Ø�Š�q˜1‘u˜a !™e�nÑ%Ô%Ð%à��A�Œ;˜!ÒÐØ�‰FˆAØ�‰FˆAˆAØ�1�a�4Œ[˜AÒÐØ�‰FˆAˆAØ�1�a�4Œ[˜AÒÐØ�‰FˆAˆAåÐ5Ñ6Ô6Ð6ð ˆaŠ%ˆ%�1�q’5�5õ ŒX�fÑÔ€FØ�$�$�B�$˜˜˜�'Œ?ÔÐó    )r&   Úparallelc                 ó0  — | j         \  }}t          j        |dz   |dz   ft          j        ¬¦  «        t          j        z  }t          j        |dz   |dz   ft          j        ¬¦  «         }d|d<   t          d|dz   ¦  «        D ]‡}t          d|dz   ¦  «        D ]q}||dz
  |dz
  f         }||dz
  |f         }|||dz
  f         }	||k     r||	k     r|d}}
n||k     r||	k     r|d}}
n|	d}}
| |dz
  |dz
  f         |
z   |||f<   ||||f<   ŒrŒˆt          |¦  «        S )Nr   ©Údtyper   r   r   )r   r+   ÚonesÚfloat32ÚinfÚranger0   )r   ÚNÚMÚcostr'   r/   r.   Úc0Úc1Úc2ÚcÚts               r$   Údtw_cpurB   R   sY  € àŒ7�D€A€qÝŒ7�A˜‘E˜1˜q™5�>­¬Ð4Ñ4Ô4µr´vÑ=€DÝŒW�a˜!‘e˜Q ™U�^­2¬:Ð6Ñ6Ô6Ð6€Eà€Dˆ�JÝ�1�a˜!‘e‰_Œ_ð ð ˆÝ�q˜!˜a™%‘”ð 	ð 	ˆAØ�a˜!‘e˜Q ™U�lÔ#ˆBØ�a˜!‘e˜Q�h”ˆBØ�a˜˜Q™�h”ˆBà�BŠwˆw˜2 š7˜7Ø˜1�1��Ø�b’�˜R "šW˜WØ˜1�1��à˜1�1�à˜1˜q™5 ! a¡%˜<œ¨1Ñ,ˆD��A�‰JØˆE�!�Q�$‰KˆKð	õ �UÑÔÐr1   é   c                 óÆ  — ddl m} | j        \  }}||k     sJ d|›�¦   «         ‚t          j        | d|dz   ft
          j        ¬¦  «                             ¦   «         d |||z   z  …                              |||z   ¦  «        }|j	         
                    ¦   «         }t          j        ||z   dz   |dz   ¦  «        t
          j        z  }d|d<   |                     | j        ¦  «        }t          j        |t          j        ¬¦  «        } |d	         ||||                     d¦  «        |                     d¦  «        |                     d¦  «        |||¬
¦	  «	         |j	                             ¦   «         d |dz   ||z   dz   z  …                              |dz   ||z   dz   ¦  «        d d …d |dz   …f         }t%          |                     ¦   «                              ¦   «         ¦  «        S )Nr   )Ú
dtw_kernelz$M should be smaller than BLOCK_SIZE=r   )Úvaluer   r   r4   )r   )Ú
BLOCK_SIZEé   )r   rE   r   r   r   r+   r8   ÚflattenÚreshaper-   Ú
contiguousÚtorchr6   ÚtoÚdeviceÚ
zeros_likeÚint32Ústrider0   ÚcpuÚnumpy)r   rG   rE   r;   r:   Úx_skewr<   r'   s           r$   Údtw_cudarU   l   sÞ  € Ø&Ð&Ð&Ð&Ð&Ð&àŒ7�D€A€qØˆzŠ>ˆ>ˆ>ÐD°zÐDÐD‰>Œ>ˆ>õ 	
Œˆa�!�Q˜‘U�¥2¤6Ð*Ñ*Ô*×2Ò2Ñ4Ô4°]°q¸AÀ¹E±{°]ÔC×KÒKÈAÈqÐSTÉuÑUÔUð ð ŒX× Ò Ñ"Ô"€FÝŒ:�a˜!‘e˜a‘i  Q¡Ñ'Ô'­"¬&Ñ0€DØ€Dˆ�JØ�7Š7�1”8ÑÔ€DÝÔ˜T­¬Ð5Ñ5Ô5€Eà€JˆtÔØØØØ�Š�aÑÔØ�Š�A‰ŒØ�Š�Q‰ŒØ	Ø	Øð
ñ 
ô 
ð 
ð ŒG�OŠOÑÔÐ5  Q¡¨1¨q©5°1©9Ñ 5Ð5Ô6×>Ò>¸qÀ1¹uÀaÈ!ÁeÈaÁiÑPÔPØ	ˆˆˆ7ˆQ�‰Uˆ7ˆ
ô€Eõ �U—Y’Y‘[”[×&Ò&Ñ(Ô(Ñ)Ô)Ð)r1   Úreturnc                 ó  — | j         r@	 t          | ¦  «        S # t          t          j        f$ r t          j        d¦  «         Y nw xY wt          |                      ¦   «          	                    ¦   «          
                    ¦   «         ¦  «        S )NzsFailed to launch Triton kernels, likely due to missing CUDA toolkit; falling back to a slower DTW implementation...)r   rU   r   r   r   r   r   rB   ÚdoublerR   rS   )r   s    r$   ÚdtwrY   �   s’   € Ø„yð ð	Ý˜A‘;”;ÐøÝ�jÔ;Ð<ð 	ð 	ð 	ÝŒMðAñô ð ð ð ð	øøøõ �1—8’8‘:”:—>’>Ñ#Ô#×)Ò)Ñ+Ô+Ñ,Ô,Ð,s   ‰ ˜*AÁAc                   óN   — e Zd ZU eed<   ee         ed<   eed<   eed<   eed<   dS )Ú
WordTimingÚwordÚtokensÚstartÚendÚprobabilityN)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__r   ÚintÚfloat© r1   r$   r[   r[   š   sI   € € € € € € à
€I€I�IØ�ŒIÐÐÑØ€L€L�LØ	€J€J�JØÐÐÑÐÐr1   r[   é   g      ð?)Úmedfilt_widthÚqk_scaleÚmodelr   Ú	tokenizerÚtext_tokensÚmelÚ
num_framesrj   rk   c                ól  ‡‡— t          |¦  «        dk    rg S t          j        g |j        ¢|j        ‘|¢|j        ‘¦  «                             | j        ¦  «        }d g| j        j	        z  Šˆfd„t          | j        j        ¦  «        D ¦   «         }ddlm}	 t          j        ¦   «         5   |	¦   «         5   | |                     d¦  «        |                     d¦  «        ¦  «        d         }
|
t          |j        ¦  «        d …d |j        …f         }|                     d¬¦  «        }|t%          j        t          |¦  «        ¦  «        |f         Š‰                     ¦   «         Šd d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |D ]}|                     ¦   «          Œt          j        ˆfd„| j                             ¦   «         j        D ¦   «         ¦  «        }|d d …d d …d |dz  …f         }||z                       d¬¦  «        }t          j        |d	d
d¬¦  «        \  }}||z
  |z  }t7          ||¦  «        }|                     d¬¦  «        }|t          |j        ¦  «        d…         }t;          | ¦  «        \  }}|                     ||j        gz   ¦  «        \  }}t          |¦  «        dk    rg S t%          j        t%          j         d„ |d d…         D ¦   «         ¦  «        d¦  «        }t%          j        t%          j!        |¦  «        dd¬¦  «         "                    tF          ¦  «        }||         tH          z  }||d d…                  }||dd …                  }ˆfd„tK          |d d…         |dd …         ¦  «        D ¦   «         }d„ tK          |||||¦  «        D ¦   «         S )Nr   c                 óT   •— g | ]$\  }}|j                              |fˆfd „	¦  «        ‘Œ%S )c                 óH   •— ‰                      ||d         d         ¦  «        S )Nr   r   )Ú__setitem__)Ú_ÚinsÚoutsÚindexÚQKss       €r$   ú<lambda>z+find_alignment.<locals>.<listcomp>.<lambda>½   s   ø€ ¨#¯/ª/¸%ÀÀbÄÈ!ÄÑ*MÔ*M€ r1   )Ú
cross_attnÚregister_forward_hook)Ú.0r.   Úblockry   s      €r$   ú
<listcomp>z"find_alignment.<locals>.<listcomp>»   sT   ø€ ð ð ð ñ ˆAˆuð 	Ô×.Ò.Ø'(ÐMÐMÐMÐMÐMñ	
ô 	
ðð ð r1   r   )Údisable_sdpar   )Údimc                 ó2   •— g | ]\  }}‰|         |         ‘ŒS rh   rh   )r}   Ú_lÚ_hry   s      €r$   r   z"find_alignment.<locals>.<listcomp>Ï   s%   ø€ ÐWÐWÐW©6¨2¨r˜3˜rœ7 2œ;ÐWÐWÐWr1   r   éþÿÿÿTF)r�   ÚkeepdimÚunbiased)Úaxisc                 ó,   — g | ]}t          |¦  «        ‘ŒS rh   )Úlen©r}   rA   s     r$   r   z"find_alignment.<locals>.<listcomp>â   s   € Ð'IÐ'IÐ'I°1­¨A©¬Ð'IÐ'IÐ'Ir1   )r   r   )Úconstant_valuesc                 óN   •— g | ]!\  }}t          j        ‰||…         ¦  «        ‘Œ"S rh   )r+   Úmean)r}   r.   r/   Útext_token_probss      €r$   r   z"find_alignment.<locals>.<listcomp>è   sA   ø€ ð ð ð áˆAˆqõ 	ŒÐ   1 Ô%Ñ&Ô&ðð ð r1   c           	      ó@   — g | ]\  }}}}}t          |||||¦  «        ‘ŒS rh   )r[   )r}   r\   r]   r^   r_   r`   s         r$   r   z"find_alignment.<locals>.<listcomp>í   sB   € ð ð ð á1ˆD�&˜%  kõ 	�4˜ ¨¨[Ñ9Ô9ðð ð r1   )&rŠ   rL   ÚtensorÚsot_sequenceÚno_timestampsÚeotrM   rN   ÚdimsÚn_text_layerÚ	enumerateÚdecoderÚblocksrl   r€   Úno_gradÚ	unsqueezeÚsoftmaxr+   ÚarangeÚtolistÚremoveÚstackÚalignment_headsÚindicesr-   Ústd_meanr%   rŽ   rY   Úsplit_to_word_tokensr   ÚcumsumÚdiffÚastypeÚboolr	   Úzip)rl   rm   rn   ro   rp   rj   rk   r]   Úhooksr€   ÚlogitsÚsampled_logitsÚtoken_probsÚhookÚweightsÚstdrŽ   ÚmatrixÚtext_indicesÚtime_indicesÚwordsÚword_tokensÚword_boundariesÚjumpsÚ
jump_timesÚstart_timesÚ	end_timesÚword_probabilitiesry   r�   s                               @@r$   Úfind_alignmentr¼   £   s�  øø€ õ ˆ;ÑÔ˜1ÒÐØˆ	åŒ\ð	
ØÔ#ð	
àÔ#ð	
ð ð	
ð ŒMð		
ñô ÷ 	‚bˆŒÑÔð ð ˆ&�5”:Ô*Ñ
*€Cðð ð ð õ " %¤-Ô"6Ñ7Ô7ð	ñ ô €Eð $Ð#Ð#Ð#Ð#Ð#å	Œ‰Œð 5ð 5˜,˜,™.œ.ð 5ð 5Ø��s—}’} QÑ'Ô'¨×)9Ò)9¸!Ñ)<Ô)<Ñ=Ô=¸aÔ@ˆØ¥ IÔ$:Ñ ;Ô ;Ð =Ð =¸ÀÄ¸Ð NÔOˆØ$×,Ò,°Ð,Ñ4Ô4ˆØ&¥r¤yµ°[Ñ1AÔ1AÑ'BÔ'BÀKÐ'OÔPÐØ+×2Ò2Ñ4Ô4Ðð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð ð ð ˆØ�Š‰Œˆˆõ ŒkÐWÐWÐWÐW°UÔ5J×5RÒ5RÑ5TÔ5TÔ5VÐWÑWÔWÑXÔX€GØ�a�a�a˜˜˜Ð-˜j¨A™oÐ-Ð-Ô.€GØ˜Ñ!×*Ò*¨rÐ*Ñ2Ô2€GÝ”˜w¨B¸ÀuÐMÑMÔM�I€CˆØ˜‰~ Ñ$€GÝ˜G ]Ñ3Ô3€Gà�\Š\˜qˆ\Ñ!Ô!€FØ•C˜	Ô.Ñ/Ô/°"Ð4Ô5€FÝ!$ f W¡¤Ñ€L�,à"×7Ò7¸ÀyÄ}ÀoÑ8UÑVÔVÑ€Eˆ;Ý
ˆ;ÑÔ˜1ÒÐð ˆ	Ý”f�RœYÐ'IÐ'I¸ÀCÀRÀCÔ8HÐ'IÑ'IÔ'IÑJÔJÈFÑSÔS€OåŒF•2”7˜<Ñ(Ô(¨&À!ÐDÑDÔD×KÒKÍDÑQÔQ€EØ˜eÔ$Õ'8Ñ8€JØ˜_¨S¨b¨SÔ1Ô2€KØ˜?¨1¨2¨2Ô.Ô/€Iðð ð ð å˜¨¨¨Ô,¨o¸a¸b¸bÔ.AÑBÔBðñ ô Ðð
ð å58Ø�; ¨YÐ8Jñ6
ô 6
ðñ ô ð s7   Â)FÂ4B1E1Å%FÅ1E5	Å5FÅ8E5	Å9FÆFÆFÚ	alignmentÚ	prependedÚappendedc                 ó¦  — t          | ¦  «        dz
  }t          | ¦  «        dz
  }|dk    r‰| |         }| |         }|j                             d¦  «        rR|j                             ¦   «         |v r7|j        |j        z   |_        |j        |j        z   |_        d|_        g |_        n|}|dz  }|dk    °‰d}d}|t          | ¦  «        k     r†| |         }| |         }|j                             d¦  «        s@|j        |v r7|j        |j        z   |_        |j        |j        z   |_        d|_        g |_        n|}|dz  }|t          | ¦  «        k     °„d S d S )Nr   r   r   ú Ú )rŠ   r\   Ú
startswithÚstripr]   Úendswith)r½   r¾   r¿   r.   r/   ÚpreviousÚ	followings          r$   Úmerge_punctuationsrÈ   õ   sk  € åˆI‰Œ˜Ñ€AÝˆI‰Œ˜Ñ€AØ
ˆqŠ&ˆ&Ø˜Q”<ˆØ˜a”Lˆ	ØŒ=×#Ò# CÑ(Ô(ð 	¨X¬]×-@Ò-@Ñ-BÔ-BÀiÐ-OÐ-Oà%œ]¨Y¬^Ñ;ˆIŒNØ'œ°Ô1AÑAˆIÔØˆHŒMØ ˆHŒOˆOàˆAØ	ˆQ‰ˆð ˆqŠ&ˆ&ð 	
€AØ	€AØ
�c�)‰nŒnÒ
Ð
Ø˜Q”<ˆØ˜a”Lˆ	ØŒ}×%Ò% cÑ*Ô*ð 	¨y¬~ÀÐ/IÐ/Ià$œM¨I¬NÑ:ˆHŒMØ&œo°	Ô0@Ñ@ˆHŒOØˆIŒNØ!ˆIÔÐàˆAØ	ˆQ‰ˆð �c�)‰nŒnÒ
Ð
Ð
Ð
Ð
Ð
r1   u   "'â€œÂ¿([{-u   "'.ã€‚,ï¼Œ!ï¼�?ï¼Ÿ:ï¼šâ€�)]}ã€�)Úprepend_punctuationsÚappend_punctuationsÚsegmentsrÉ   rÊ   Úlast_speech_timestampc                 ó°	  ‡— t          | ¦  «        dk    rd S ˆfd„| D ¦   «         }	t          t          j                             |	¦  «        ¦  «        }
t          |‰|
||fi |¤Ž}t          j        d„ |D ¦   «         ¦  «        }||                     ¦   «                  }t          |¦  «        dk    rt          j	        |¦  «        nd}t          dt          |¦  «        ¦  «        }|dz  }t          |¦  «        dk    r™d}t          dt          |¦  «        ¦  «        D ]y}||         j        ||         j        z
  |k    rX||         j        |v r||         j        |z   ||         _        ŒL||dz
           j        |v r||         j        |z
  ||         _        Œzt!          |||¦  «         | d         d	         t"          z  t$          z  }d}t'          | |	¦  «        D �]\  }}
d}g }|t          |¦  «        k     rÀ|t          |
¦  «        k     r­||         }|j        r\|                     t+          |j        t-          ||j        z   d¦  «        t-          ||j        z   d¦  «        |j        ¬
¦  «        ¦  «         |t          |j        ¦  «        z  }|dz  }|t          |¦  «        k     r|t          |
¦  «        k     °­t          |¦  «        dk    �r|d         d         |z
  |dz  k    rø|d         d         |d         d         z
  |k    s7t          |¦  «        dk    rÄ|d         d         |d         d         z
  |dz  k    r t          |¦  «        dk    re|d         d         |d         d         z
  |k    rDt3          |d         d         dz  |d         d         |z
  ¦  «        }|x|d         d<   |d         d<   t3          d|d         d         |z
  ¦  «        |d         d<   |d         |d         d         k     rX|d         dz
  |d         d         k    r=t3          dt          |d         d         |z
  |d         ¦  «        ¦  «        |d         d<   n|d         d         |d<   |d         |d         d         k    rJ|d         dz   |d         d         k     r/t3          |d         d         |z   |d         ¦  «        |d         d<   n|d         d         |d<   |d         }||d<   �Œd S )Nr   c                 ó8   •— g | ]}ˆfd „|d         D ¦   «         ‘ŒS )c                 ó*   •— g | ]}|‰j         k     ¯|‘ŒS rh   )r”   )r}   Útokenrm   s     €r$   r   z2add_word_timestamps.<locals>.<listcomp>.<listcomp>'  s%   ø€ ÐGÐGÐG�5°¸¼Ò1FÐ1FˆÐ1FÐ1FÐ1Fr1   r]   rh   )r}   Úsegmentrm   s     €r$   r   z'add_word_timestamps.<locals>.<listcomp>&  sC   ø€ ð ð ð àð 	HÐGÐGÐG˜G HÔ-ÐGÑGÔGðð ð r1   c                 ó,   — g | ]}|j         |j        z
  ‘ŒS rh   )r_   r^   r‹   s     r$   r   z'add_word_timestamps.<locals>.<listcomp>-  s    € ÐBÐBÐB°1˜qœu q¤w™ÐBÐBÐBr1   g        gffffffæ?r   u   .ã€‚!ï¼�?ï¼Ÿr   Úseek)r\   r^   r_   r`   r_   é   r^   g      à?r   r´   )rŠ   ÚlistÚ	itertoolsÚchainÚfrom_iterabler¼   r+   r,   ÚnonzeroÚmedianÚminrg   r9   r_   r^   r\   rÈ   r   r   r©   r)   ÚdictÚroundr`   r]   Úmax)rË   rl   rm   ro   rp   rÉ   rÊ   rÌ   ÚkwargsÚtext_tokens_per_segmentrn   r½   Úword_durationsÚmedian_durationÚmax_durationÚsentence_end_marksr.   Útime_offsetÚ
word_indexrÑ   Úsaved_tokensr´   ÚtimingÚboundarys     `                     r$   Úadd_word_timestampsrê     s5  ø€ õ ˆ8�}„}˜ÒÐØˆðð ð ð àðñ ô Ðõ
 •y”×4Ò4Ð5LÑMÔMÑNÔN€KÝ˜u i°¸cÀ:ÐXÐXÐQWÐXÐX€IÝ”XÐBÐB¸	ÐBÑBÔBÑCÔC€NØ# N×$:Ò$:Ñ$<Ô$<Ô=€NÝ36°~Ñ3FÔ3FÈÒ3JÐ3J•b”i Ñ/Ô/Ð/ÐPS€OÝ˜#�u _Ñ5Ô5Ñ6Ô6€OØ" QÑ&€Lõ ˆ>ÑÔ˜QÒÐØ+Ðå�q�#˜i™.œ.Ñ)Ô)ð 	Ið 	IˆAØ˜Œ|Ô )¨A¤,Ô"4Ñ4°|ÒCÐCØ˜Q”<Ô$Ð(:Ð:Ð:Ø'0°¤|Ô'9¸LÑ'H�I˜a”LÔ$Ð$Ø˜q 1™uÔ%Ô*Ð.@Ð@Ð@Ø)2°1¬Ô)9¸LÑ)H�I˜a”LÔ&øå�yÐ"6Ð8KÑLÔLÐLà˜1”+˜fÔ%­
Ñ2µ[Ñ@€KØ€Jå # HÐ.EÑ FÔ Fð @!ñ @!Ñˆ�ØˆØˆà�3˜y™>œ>Ò)Ð)¨l½SÀÑ=MÔ=MÒ.MÐ.MØ˜zÔ*ˆFàŒ{ð Ø—’ÝØ#œ[Ý# K°&´,Ñ$>ÀÑBÔBÝ! +°´
Ñ":¸AÑ>Ô>Ø$*Ô$6ð	ñ ô ñô ð ð �C ¤Ñ.Ô.Ñ.ˆLØ˜!‰OˆJð �3˜y™>œ>Ò)Ð)¨l½SÀÑ=MÔ=MÒ.MÐ.Mõ$ ˆu‰:Œ:˜Š>‰>ð �QŒx˜ŒÐ!6Ñ6¸È1Ñ9LÒLÐLØ�a”˜” %¨¤(¨7Ô"3Ñ3°lÒBÐBå˜‘J”J ’N�NØ˜aœ œ¨%°¬(°7Ô*;Ñ;¸lÈQÑ>NÒNÐNõ ˜‘J”J ’N�NØ˜aœ œ¨%°¬(°7Ô*;Ñ;¸lÒJÐJå" 5¨¤8¨E¤?°QÑ#6¸¸a¼À¼È,Ñ8VÑWÔW�HØ:BÐB�E˜!”H˜U‘O e¨A¤h¨wÑ&7Ý$'¨¨5°¬8°E¬?¸\Ñ+IÑ$JÔ$J��a”˜Ñ!ð ˜Ô  5¨¤8¨E¤?Ò2Ð2Ø˜GÔ$ sÑ*¨U°1¬X°gÔ->Ò>Ð>å$'Ø•s˜5 œ8 Eœ?¨_Ñ<¸gÀgÔ>NÑOÔOñ%ô %��a”˜Ñ!Ð!ð $)¨¤8¨GÔ#4�˜Ñ ð ˜”  r¤¨7Ô!3Ò3Ð3Ø˜E”N SÑ(¨5°¬9°UÔ+;Ò;Ð;å#&Ø˜"”I˜gÔ&¨Ñ8¸'À%¼.ñ$ô $��b”	˜%Ñ Ð ð "' r¤¨5Ô!1�˜‘à$+¨E¤NÐ!à ˆ�ÑÑðA@!ð @!r1   )rC   )(rÖ   r   r   Údataclassesr   Útypingr   r   ÚnumbarS   r+   rL   Útorch.nn.functionalÚnnÚ
functionalr   Úaudior   r   r	   rm   r
   rl   r   ÚTensorrf   r%   ÚjitÚndarrayr0   rB   rU   rY   r[   rg   r¼   rd   rÈ   rÜ   rê   rh   r1   r$   ú<module>rõ      s*  ðØ Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø !Ð !Ð !Ð !Ð !Ð !Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &à €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ð Ð Ð à =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø  Ð  Ð  Ð  Ð  Ð  àð ØÐÐÐÐÐð#�U”\ð #°ð #ð #ð #ð #ðL €„�DÐÑÔð�R”Zð ð ð ñ Ôðð0 €„�D 4Ð(Ñ(Ô(ðˆrŒzð ð ð ñ )Ô(ðð2*ð *ð *ð *ðB
-ˆ5Œ<ð 
-˜BœJð 
-ð 
-ð 
-ð 
-ð ðð ð ð ð ñ ô ñ „ðð ØðOð Oð OØðOàðOð �c”ðOð 
Œð	Oð
 ðOð ðOð ðOð 
ˆ*ÔðOð Oð Oð Oðd $ zÔ"2ð ¸sð Ècð ð ð ð ðR !/ØAðm!ð m!ð m!à�4Œjðm!ð ðm!ð ð	m!ð
 
Œðm!ð ðm!ð ðm!ð ðm!ð !ðm!ð m!ð m!ð m!ð m!ð m!r1   