Ë
    ùÿæiU  ã                  ó  — 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mZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZmZmZm Z  erd dl!m"Z" dd	„Z#	 	 	 	 	 	 	 	 	 	 dd
„Z$dd„Z%dd„Z&	 	 	 	 	 	 	 	 dd„Z'dd„Z(y)é    )Úannotations)ÚTYPE_CHECKING)Úassert_never)Úlocal)Úcpp)ÚArgNameÚ	BaseCTypeÚBindingÚboolTÚConstRefCTypeÚCTypeÚdeviceTÚlayoutTÚ	ListCTypeÚMutRefCTypeÚ
NamedCTypeÚOptionalCTypeÚscalarTÚscalarTypeTÚtensorT)ÚArgumentÚFunctionSchemaÚReturnÚSelfArgumentÚTensorOptionsArgumentsÚType)ÚSequencec                óÒ   — t        | j                  j                  «      }| j                  «       r|dz  }| j                  j                  r|d| j                  j                  › �z  }|S )NÚ_outÚ_)ÚstrÚnameÚ	is_out_fnÚoverload_name)Úfuncr"   s     úh/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/torchgen/api/native.pyr"   r"   3   sU   € Üˆt�y‰y�~‰~Ó€Dà‡~�~ÔØ�‰ˆØ‡y�y×ÒØ�!�D—I‘I×+Ñ+Ð,Ð-Ñ-ˆØ€Kó    c               óV  — t        | «      dk(  rXt        t        t        «      «      }|r)t	        j
                  «       st        |t        |«      «      S t        |t        |«      «      S t        | «      dk(  r4t        |t        t        t        t        t        «      «      «      «      «      S t        | «      dk(  r"t        |t        t        t        «      «      «      S t        | «      dk(  r+t        |t        t        t        t        «      «      «      «      S t        j                  | |||¬«      S )NzTensor?z	Tensor?[]ÚScalarzScalar?©ÚmutableÚbindsÚsymint)r!   r   r	   r   r   Ú!use_const_ref_for_mutable_tensorsr   r   r   r   r   r   Úargumenttype_type)Útr+   r,   r-   Útensor_types        r&   r/   r/   =   sç   € ô ˆ1ƒv�ÒÜ%2´9¼WÓ3EÓ%FˆÙœ5×BÑBÔDÜ˜e¤[°Ó%=Ó>Ð>ä˜e¤]°;Ó%?Ó@Ð@Ü	ˆQ‹�;Ò	ÜØ”=¤¬=¼Ä7Ó9KÓ+LÓ!MÓNó
ð 	
ô 
ˆQ‹�8Ò	Ü˜%¤¬y¼Ó/AÓ!BÓCÐCÜ	ˆQ‹�9Ò	Ü˜%¤¬}¼YÄwÓ=OÓ/PÓ!QÓRÐRÜ× Ñ  ¨G¸5ÈÔPÐPr'   c               ó0   — t        j                  | |¬«      S )N©r-   )r   Úreturns_type)Úrsr-   s     r&   r4   r4   Q   s   € Ü×Ñ˜B vÔ.Ð.r'   c               óH   — t        | j                  | j                  ||¬«      S )Nr*   )r/   ÚtypeÚis_write)Úar,   r-   s      r&   Úargument_typer:   U   s   € Ü˜QŸV™V¨Q¯Z©Z¸uÈVÔTÐTr'   c               ó  — | }t        | t        «      rld }|r8| j                  �,t        j                  | j                  | j
                  |¬«      }t        t        | | j                  |¬«      | j                  || ¬«      gS t        | t        «      rt        | j                  ||¬«      S t        | t        «      rÀd }|rd}t        t        dt        t        t        «      «      «      d|| ¬«      t        t        dt        t        t         «      «      «      d|| ¬«      t        t        dt        t        t"        «      «      «      d|| ¬«      t        t        d	t        t        t$        «      «      «      d	|| ¬«      gS t'        | «       y )
Nr3   )r,   r-   )Únctyper"   ÚdefaultÚargument)Úis_outr-   z{}ÚdtypeÚlayoutÚdeviceÚ
pin_memory)Ú
isinstancer   r=   r   Údefault_exprr7   r
   r:   r"   r   r>   r   r   r   r	   r   r   r   r   r   )r9   r?   r-   Úshould_defaultr=   s        r&   r>   r>   Y   sW  € ð  �Z€NÜ�!”XÔØ"ˆÙ˜aŸi™iÐ3Ü×&Ñ& q§y¡y°!·&±&ÀÔHˆGäÜ$ Q¨a¯f©f¸VÔDØ—V‘VØØô	ð
ð 	
ô 
�A”|Ô	$ä˜Ÿ
™
¨6¸&ÔAÐAÜ	�AÔ-Ô	.ØˆÙØˆGô
 Ü! '¬=¼Ä;Ó9OÓ+PÓQØØØô	ô Ü! (¬M¼)ÄGÓ:LÓ,MÓNØØØô	ô Ü! (¬M¼)ÄGÓ:LÓ,MÓNØØØô	ô Ü! ,´¼iÌÓ>NÓ0OÓPØ!ØØô	ð'
ð 	
ô6 	�Q�r'   c          
     ó  — g }|j                  | j                  j                  «       |j                  | j                  j                  «       |D ��cg c]%  }t	        ||| j                  «       ¬«      D ]  }|‘Œ Œ' c}}S c c}}w )N)r-   r?   )ÚextendÚ	argumentsÚnon_outÚoutr>   r#   )r%   r-   ÚargsÚargÚrs        r&   rI   rI   ™   sm   € ØCE€DØ‡K�K�—‘×&Ñ&Ô'Ø‡K�K�—‘×"Ñ"Ô#áôÙˆc¤8¨C¸ÀtÇ~Á~ÓGW×#X˜aŠÐ#Xˆ�Tòð ùó s   Á*B N)r%   r   Úreturnr!   )
r0   r   r+   Úboolr,   r   r-   rP   rO   r   )r5   zSequence[Return]r-   rP   rO   r   )r9   r   r,   r   r-   rP   rO   r   )r9   z0Argument | SelfArgument | TensorOptionsArgumentsr?   rP   r-   rP   rO   úlist[Binding])r%   r   r-   rP   rO   rQ   ))Ú
__future__r   Útypingr   Útyping_extensionsr   Útorchgenr   Útorchgen.apir   Útorchgen.api.typesr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Útorchgen.modelr   r   r   r   r   r   Úcollections.abcr   r"   r/   r4   r:   r>   rI   © r'   r&   Ú<module>r[      s³   ðÝ "å  Ý *å Ý ÷÷ ÷ ÷ ñ ÷"÷ ñ Ý(óðQØðQØðQØ&-ðQØ7;ðQàóQó(/óUð=Ø7ð=ð ð=ð ð	=ð
 ó=ô@r'   