Ë
    ùÿæiž@  ã                  ó  — 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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,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 erd dl3m4Z4 ddd	œ	 	 	 	 	 	 	 d$d
„Z5dddœ	 	 	 	 	 	 	 	 	 d%d„Z6dddœ	 	 	 	 	 	 	 	 	 	 	 d&d„Z7ddœd'd„Z8ddœd(d„Z9ddœd)d„Z:ddœd*d„Z;ddœd+d„Z<ddddddddœZ=d,d „Z>ddœ	 	 	 	 	 	 	 	 	 	 	 	 	 d-d!„Z?ddœ	 	 	 	 	 	 	 	 	 	 	 d.d"„Z@y#)/é    )Úannotations)ÚTYPE_CHECKING)Úassert_never)Úlocal)ÚArgNameÚ
ArrayCTypeÚArrayRefCTypeÚ	BaseCTypeÚBaseTypeToCppMappingÚBindingÚboolTÚConstRefCTypeÚCTypeÚdimnameListTÚintArrayRefTÚiTensorListRefTÚ	ListCTypeÚlongTÚMutRefCTypeÚ
NamedCTypeÚOptionalCTypeÚoptionalIntArrayRefTÚoptionalSymIntArrayRefTÚscalarTÚSpecialArgNameÚsymIntArrayRefTÚSymIntTÚtensorListTÚtensorOptionsTÚtensorTÚ
TupleCTypeÚVectorCTypeÚvoidT)ÚArgumentÚ	ArgumentsÚBaseTyÚBaseTypeÚFunctionSchemaÚListTypeÚNativeFunctionÚOptionalTypeÚReturnÚSelfArgumentÚTensorOptionsArgumentsÚType)ÚSequenceF)Úfaithful_name_for_out_overloadsÚsymint_overloadc               óŽ   — t        | j                  j                  «      }|r|dz  }| j                  «       r|r|dz  }|S |dz  }|S )NÚ_symintÚ_outfÚ_out)ÚstrÚnameÚ	is_out_fn)Úfuncr1   r2   r8   s       úe/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/torchgen/api/cpp.pyr8   r8   L   sP   € ô ˆt�y‰y�~‰~Ó€DÙØ�	ÑˆØ‡~�~ÔÙ*Ø�G‰OˆDð €Kð �F‰NˆDà€Kó    T©ÚmutableÚsymintc               óê  — t        | t        «      r•| j                  t        j                  t        j
                  fv ry t        | «      dk(  r4|rt        |t        t        «      «      S t        |t        t        «      «      S t        |t        t        | j                     «      «      S t        | t        «      r;t        | j                  |||¬«      }|€y t        |t        |j                   «      «      S t        | t"        «      r]t        | j                  «      dk(  rD| j$                  €t'        d«      ‚t        |t)        t        t*        «      | j$                  «      «      S y t'        dt-        | «      › �«      ‚)NÚSymInt©Úbindsr>   r?   Úboolzbool ListType must have a sizeúunrecognized type )Ú
isinstancer'   r8   r&   ÚTensorÚScalarr7   r   r
   r   r   r   r+   Úvaluetype_typeÚelemr   Útyper)   ÚsizeÚAssertionErrorr   r   Úrepr)ÚtrC   r>   r?   rJ   s        r;   rI   rI   a   s  € ô �!”XÔØ�6‰6”f—m‘m¤V§]¡]Ð3Ñ3ØÜ�‹V�xÒÙÜ! %¬´7Ó);Ó<Ð<ä! %¬´5Ó)9Ó:Ð:ä˜%¤Ô+?ÀÇÁÑ+GÓ!HÓIÐIÜ	�A”|Ô	$Ü˜aŸf™f¨E¸7È6ÔRˆØˆ<ØÜ˜%¤¨t¯y©yÓ!9Ó:Ð:Ü	�A”xÔ	 Üˆq�v‰v‹;˜&Ò Ø�v‰vˆ~Ü$Ð%EÓFÐFÜ˜e¤Z´	¼%Ó0@À!Ç&Á&Ó%IÓJÐJàäÐ1´$°q³'°Ð;Ó<Ð<r<   )Úremove_non_owning_ref_typesr?   c               ó6
  — t        | |||¬«      }|�|S t        | t        «      rÄ| j                  t        j
                  k(  rZ|r6t        j                  «       s"t        |t        t        t        «      «      «      S t        |t        t        t        «      «      «      S | j                  t        j                  k(  r"t        |t        t        t        «      «      «      S t        d| › �«      ‚t        | t         «      �r»t#        | j$                  «      dk(  rc|r6t        j                  «       s"t        |t        t        t        «      «      «      S t        |t        t'        t        t        «      «      «      «      S t#        | j$                  «      dk(  r+t        |t        t'        t        t        «      «      «      «      S t        | j$                  t(        «      r;t#        | j$                  j$                  «      dk(  rt        |t        t*        «      «      S t        | j$                  t(        «      rVt#        | j$                  j$                  «      dk(  r4|rt        |t        t,        «      «      S t        |t        t*        «      «      S t/        | j$                  |||¬«      }t        |t'        |j0                  «      «      S t        | t(        «      �r?t#        | j$                  «      dk(  r=|r"t        |t3        t        t4        «      «      «      S t        |t        t6        «      «      S t#        | j$                  «      dk(  r||rF|r"t        |t3        t        t8        «      «      «      S t        |t3        t        t4        «      «      «      S |rt        |t        t:        «      «      S t        |t        t6        «      «      S t#        | j$                  «      dk(  rOt        j<                  «       r"t        |t        t        t>        «      «      «      S t        |t        t@        «      «      S t#        | j$                  «      dk(  r"t        |tC        t        t        «      «      «      S t#        | j$                  «      dk(  rt        |t        tD        «      «      S t#        | j$                  «      d	k(  r4t        |t        tG        t'        t        t        «      «      «      «      «      S t/        | j$                  |||¬«      }t        |tC        |j0                  «      «      S t        d
tI        | «      › �«      ‚)NrB   z&base type should have been value type rG   rH   ÚintrA   )r>   rC   r?   ÚDimnameúTensor?rE   )%rI   rF   r'   r8   r&   rG   r   Ú!use_const_ref_for_mutable_tensorsr   r   r
   r    r   rH   r   rM   r+   r7   rJ   r   r)   r   r   Úargumenttype_typerK   r"   r   r   r   r   Úuse_ilistref_for_tensor_listsr   r   r	   r   r   rN   )rO   r>   rC   rP   r?   ÚrrJ   s          r;   rV   rV   †   s­  € ô 	Ø	ØØØô		€Að 	€}Øˆä�!”XÔØ�6‰6”V—]‘]Ò"Ùœu×FÑFÔHÜ! %¬´Y¼wÓ5GÓ)HÓIÐIä! %¬´yÄÓ7IÓ)JÓKÐKØ�V‰V”v—}‘}Ò$Ü˜e¤]´9¼WÓ3EÓ%FÓGÐGä Ð#IÈ!ÈÐ!MÓNÐNÜ	�A”|Õ	$Üˆq�v‰v‹;˜(Ò"Ùœu×FÑFÔHÜ!Øœ;¤y´Ó'9Ó:óð ô "Øœ=¬´yÄÓ7IÓ)JÓKóð ô �—‘‹[˜HÒ$Ü˜e¤]´=ÄÌ7ÓASÓ3TÓ%UÓVÐVÜ˜Ÿ™¤Ô)¬c°!·&±&·+±+Ó.>À%Ò.GÜ˜e¤YÔ/CÓ%DÓEÐEÜ˜Ÿ™¤Ô)¬c°!·&±&·+±+Ó.>À(Ò.JÙÜ! %¬Ô3JÓ)KÓLÐLä! %¬Ô3GÓ)HÓIÐIÜ  §¡°ÀÈfÔUˆÜ˜%¤¨t¯y©yÓ!9Ó:Ð:Ü	�A”xÕ	 äˆq�v‰v‹;˜%ÒÙ*Ü! %¬´Y¼uÓ5EÓ)FÓGÐGä! %¬´<Ó)@ÓAÐAÜˆq�v‰v‹;˜(Ò"Ù*ÙÜ% e¬[¼Ä7Ó9KÓ-LÓMÐMä% e¬[¼Ä5Ó9IÓ-JÓKÐKáÜ% e¬Y´Ó-GÓHÐHä% e¬Y´|Ó-DÓEÐEÜˆq�v‰v‹;˜(Ò"Ü×2Ñ2Ô4Ü! %¬´yÄÓ7QÓ)RÓSÐSä! %¬´;Ó)?Ó@Ð@Ü�—‘‹[˜HÒ$Ü˜e¤]´9¼WÓ3EÓ%FÓGÐGÜ�—‘‹[˜IÒ%Ü˜e¤Y¬|Ó%<Ó=Ð=Ü�—‘‹[˜IÒ%ÜØ”}¤Y¬}¼YÄwÓ=OÓ/PÓ%QÓRóð ô ! §¡°ÀÈfÔUˆÜ˜%¤¨t¯y©yÓ!9Ó:Ð:äÐ1´$°q³'°Ð;Ó<Ð<r<   ©r?   c               óH   — t        | j                  | j                  ||¬«      S )N)r>   r?   rC   )rV   rK   Úis_write)ÚarC   r?   s      r;   Úargument_typer]   Ý   s   € Ü˜QŸV™V¨Q¯Z©ZÀÈeÔTÐTr<   c               óú  — t        | d|d¬«      }|�|j                  S t        | t        «      rž| j                  t
        j                  k(  rU|rDt        j                  «       rt        t        t        «      «      S t        t        t        «      «      S t        t        «      S | j                  t
        j                  k(  r²t        t        «      S t        | t        «      rI|rt!        d«      ‚t#        | j$                  d¬«      }| j&                  �t!        d| › �«      ‚t)        |«      S t        | t*        «      r:t#        | j$                  |¬«      }t-        | j$                  «      dk(  rt/        |«      S t!        d	| › �«      ‚)
NÚ__placeholder__TrB   zTNative functions should never return a mutable tensor list. They should return void.F)r>   z'fixed size list returns not supported: rG   zunrecognized return type )rI   rK   rF   r'   r8   r&   rG   r   rU   r   r
   r    r   rH   r   r)   rM   Úreturntype_typerJ   rL   r"   r+   r7   r   )rO   r>   r?   rX   rJ   s        r;   r`   r`   æ   s5  € ô 	�qÐ 1¸7È4ÔP€AØ€}Ø�v‰vˆä�!”XÔØ�6‰6”V—]‘]Ò"ÙÜ×:Ñ:Ô<Ü(¬´7Ó);Ó<Ð<ä&¤y´Ó'9Ó:Ð:ô !¤Ó)Ð)Ø�V‰V”v—}‘}Ò$ÜœWÓ%Ð%Ü	�A”xÔ	 ÙÜ ð+óð ô ˜qŸv™v¨uÔ5ˆØ�6‰6ÐÜ Ð#JÈ1È#Ð!NÓOÐOÜ˜4Ó Ð Ü	�A”|Ô	$Ü˜qŸv™v¨wÔ7ˆÜˆq�v‰v‹;˜(Ò"Ü  Ó&Ð&ä
Ð4°Q°CÐ8Ó
9Ð9r<   c               óF   — t        | j                  | j                  |¬«      S )Nr=   )r`   rK   r[   )rX   r?   s     r;   Úreturn_typerb     s   € Ü˜1Ÿ6™6¨1¯:©:¸fÔEÐEr<   c          	     óÊ   — t        | «      dk(  rt        t        «      S t        | «      dk(  rt        | d   |¬«      S t	        | D �cg c]  }t        ||¬«      ‘Œ c}«      S c c}w )Nr   é   rY   )Úlenr
   r#   rb   r!   )Úrsr?   rX   s      r;   Úreturns_typerg     sX   € Ü
ˆ2ƒw�!‚|ÜœÓÐÜ	ˆR‹�AŠÜ˜2˜a™5¨Ô0Ð0äÁ"ÓEÁ"¸Qœ; q°Ö8À"ÑEÓFÐFùÒEs   ÁA Úresult)Úfallback_namec               óÀ  ‡— g }t        | j                  j                  «      D �]7  \  }Š| j                  j                  j                  j                  r|dk7  rt        d«      ‚d}nã| j                  j                  «       r.| j                  j                  j                  |   j                  }n›‰j                  ret        ˆfd„| j                  j                  «       D «       «      }|r*| j                  j                  «       s‰j                  › d�}n7‰j                  }n*t        | j                  j                  «      dk(  r|n|› |› �}|j                  |«       �Œ: |S )Nr   z.illegal inplace function with multiple returnsÚselfc              3  óP   •K  — | ]  }‰j                   |j                   k(  –— Œ y ­w)N)r8   )Ú.0r\   rX   s     €r;   Ú	<genexpr>zreturn_names.<locals>.<genexpr>/  s#   øè ø€ ð  Ù*I Q�—‘˜!Ÿ&™&Õ Ñ*Iùs   ƒ#&Ú_returnrd   )Ú	enumerater:   Úreturnsr8   ÚinplacerM   r9   Ú	argumentsÚoutÚanyÚschema_order_argumentsre   Úappend)Úfri   rq   Úir8   Úname_conflictrX   s         @r;   Úreturn_namesr{     s  ø€ Ø€GÜ˜!Ÿ&™&Ÿ.™.×)‰ˆˆ1ð �6‰6�;‰;×Ñ×#Ò#Ø�AŠvÜ$Ð%UÓVÐVØ‰Dð �V‰V×ÑÔØ—6‘6×#Ñ#×'Ñ'¨Ñ*×/Ñ/‰Dà�VŠVÜó  Ø*+¯&©&×*GÑ*GÔ*Ió ó ˆMñ  Q§V¡V×%5Ñ%5Ô%7ØŸ&™&˜ Ð)‘à—v‘v‘ô
 %(¨¯©¯©Ó$7¸1Ò$<‘=À]ÀOÐTUÐSVÐBWˆDØ�‰�tÖð7 *ð8 €Nr<   ÚfalseÚtrueú::std::nulloptzat::Reduction::Meanú{}zc10::MemoryFormat::Contiguousú	at::kLong)ÚFalseÚTrueÚNoneÚMeanz[]Úcontiguous_formatÚlongc               ó:  — | dk(  rt        |«      dk(  ryt        |t        «      r¬|j                  t        j                   u r�t        | «      dk\  r‚| d   dk(  rz| d   dk(  rrd}d	}|d	z   t        | «      k  rW| |   d
k7  r| |   dk(  r|dz  }n|| |   z  }|d	z  }n!| |d	z      dk(  r|dz  }n|| ||dz    z  }|dz  }|d	z   t        | «      k  rŒWd|› d�S t        |t        «      r| dk(  ryt        | |j                  |¬«      S t        |t        «      rx| j                  d«      r| j                  d«      rd| d	d z   dz   S |r.| j                  «       rt        |j                  «      dk(  rd| › d�S |j                  €t        d| › d�«      ‚t        j!                  | | «      S )Nrƒ   rT   r   é   r   Ú'éÿÿÿÿÚ rd   Ú\Ú"z\"r~   rY   Ú[Ú]Ú{Ú}rA   zc10::SymInt(Ú)z,Expected a list default '[...]' but found: ')r7   rF   r'   r8   r&   re   r+   Údefault_exprrJ   r)   Ú
startswithÚendswithÚisdigitrL   Ú
ValueErrorÚJIT_TO_CPP_DEFAULTÚget)ÚdrO   r?   Úsry   s        r;   r“   r“   K  s¨  € ØˆF‚{”s˜1“v Ò*ØÜ�!”XÔ 1§6¡6¬V¯Z©ZÑ#7äˆq‹6�QŠ;˜1˜Q™4 3š;¨1¨R©5°Cª<ØˆAØˆAØ�a‘%œ#˜a›&’.Ø�Q‘4˜4’<Ø˜‘t˜s’{Ø˜U™
™à˜Q˜q™T™	˜Ø˜‘F‘Aà˜˜Q™‘x 3’Ø˜S™™à˜Q˜q 1 q¡5˜\Ñ)˜Ø˜‘F�Að �a‘%œ#˜a›&“.ð �q�c˜�8ˆOä�!”\Ô"Ø�Š;Ø#ä˜A˜qŸv™v¨fÔ5Ð5ä�!”XÔØ�<‰<˜Ô §¡¨C¤Ø˜˜1˜R˜‘= 3Ñ&Ð&Ù˜Ÿ	™	œ¬¨A¯F©F«°xÒ(?Ø! !  AÐ&Ð&Ø�V‰Vˆ^äÐKÈAÈ3ÈaÐPÓQÐQä×!Ñ! ! QÓ'Ð'r<   c               óv  ‡‡‡‡‡— 	 	 	 	 dˆˆˆˆˆfd„}t        | t        «      r’| j                  dk(  r‰rt        j                  }n| j                  }d }| j                  ‰vr.| j
                  �"t        | j
                  | j                  ‰¬«      }t        t        | |‰¬«      | j                  || ¬«      gS t        | t        «      rÃ‰rK || j                  «       || j                  «      z    || j                  «      z    || j                  «      z   S d }d‰v rt        d«      ‚t!        d„ | j!                  «       D «       «      rd	}n| j                  j
                  d
k(  rd}t        t#        dt%        t&        «      «      d|| ¬«      gS t        | t(        «      r‰rg S  || j*                  «      S t-        | «       y )Nc                ó&   •— t        | ‰‰‰‰‰¬«      S )N)Úcpp_no_default_argsÚmethodÚfaithfulr?   Úhas_tensor_options)Úargument)r\   rž   r    r¡   rŸ   r?   s    €€€€€r;   Úsub_argumentzargument.<locals>.sub_argument�  s$   ø€ ô ØØ 3ØØØØ1ô
ð 	
r<   Úmemory_formatrY   )rC   r?   )Únctyper8   Údefaultr¢   Úoptionsz.'options' should not be in cpp_no_default_argsc              3  ó:   K  — | ]  }|j                   d k(  –— Œ y­w)rƒ   N)r¦   )rm   Úxs     r;   rn   zargument.<locals>.<genexpr>«  s   è ø€ Ð8±¨1�1—9‘9 Õ&±ùs   ‚r   r†   r€   )r\   ú0Argument | TensorOptionsArguments | SelfArgumentÚreturnúlist[Binding])rF   r$   r8   r   Ú possibly_redundant_memory_formatr¦   r“   rK   r   r]   r.   ÚdtypeÚlayoutÚdeviceÚ
pin_memoryrM   Úallr   r
   r   r-   r¢   r   )	r\   rž   rŸ   r    r?   r¡   r£   rC   r¦   s	    `````   r;   r¢   r¢   x  sœ  ü€ ð

Ø;ð

à	÷

ñ 

ô �!”XÔà�6‰6�_Ò$Ñ);Ü"×CÑC‰Eà—F‘FˆEØ"ˆØ�6‰6Ð,Ñ,°·±Ð1FÜ" 1§9¡9¨a¯f©f¸VÔDˆGäÜ$ Q¨e¸FÔCØ—V‘VØØô	ð
ð 	
ô 
�AÔ-Ô	.Ùá˜QŸW™WÓ%Ù˜qŸx™xÓ(ñ)á˜qŸx™xÓ(ñ)ñ ˜qŸ|™|Ó,ñ-ðð ˆGàÐ/Ñ/Ü$Ð%UÓVÐVÜÑ8°·±´Ó8Ô8Ø‘Ø—‘—‘ FÒ*Ø%�äÜ% i´¼>Ó1JÓKØ"Ø#Øô	ðð ô 
�A”|Ô	$ÙàˆIá §
¡
Ó+Ð+ä�Q�r<   c               ó|  — g }|r7|j                  | j                  «       |j                  | j                  «       n6|j                  | j                  «       |j                  | j                  «       |D ��cg c]8  }t        ||||| j                  d u|¬«      D ]  }|r|j                  «       n|‘Œ Œ: c}}S c c}}w )N)r    r?   rŸ   r¡   rž   )ÚextendÚnon_outrt   r¢   Útensor_optionsÚ
no_default)rs   r    r?   rŸ   rž   Úargsr\   rX   s           r;   rs   rs   Á  s·   € ð DF€DÙØ�‰�I×%Ñ%Ô&Ø�‰�I—M‘MÕ"à�‰�I—M‘MÔ"Ø�‰�I×%Ñ%Ô&ñ ôáˆAÜØØØØØ(×7Ñ7¸tÐCØ 3÷
ˆAñ #ˆ�‰Œ¨Ñ)ð
ð 	*Øòð ùó s   Á7=B8N)r:   r(   r1   rD   r2   rD   r«   r7   )
rO   r/   rC   r   r>   rD   r?   rD   r«   zNamedCType | None)rO   r/   r>   rD   rC   r   rP   rD   r?   rD   r«   r   )r\   r$   rC   r   r?   rD   r«   r   )rO   r/   r>   rD   r?   rD   r«   r   )rX   r,   r?   rD   r«   r   )rf   zSequence[Return]r?   rD   r«   r   )rx   r*   ri   r7   r«   zSequence[str])rš   r7   rO   r/   r?   rD   r«   r7   )r\   rª   rž   úset[str]rŸ   rD   r    rD   r?   rD   r¡   rD   r«   r¬   )rs   r%   r    rD   r?   rD   rŸ   rD   rž   r¹   r«   r¬   )AÚ
__future__r   Útypingr   Útyping_extensionsr   Útorchgenr   Útorchgen.api.typesr   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!   r"   r#   Útorchgen.modelr$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   Úcollections.abcr0   r8   rI   rV   r]   r`   rb   rg   r{   r˜   r“   r¢   rs   © r<   r;   Ú<module>rÂ      s  ðÝ "å  Ý *å ÷÷ ÷ ÷ ÷ ÷ ÷ õ ÷>÷ ÷ ó ñ  Ý(ð0 -2Ø!ñ	Ø
ðð &*ðð ð	ð
 	óð2 Øñ=Øð=ð ð=ð ð	=ð
 ð=ð ó=ðT ).ØñS=ØðS=ð ðS=ð ð	S=ð
 "&ðS=ð ðS=ð óS=ðn BGõ Uð ?Dõ &:ðT .3õ Fð
 :?õ Gð =Eõ ðD ØØØ!Ø
Ø8ØñÐ ó'(ðf ñFØ7ðFð "ðFð ð	Fð
 ðFð ðFð ðFð óFðZ ñ	Øðð ðð ð	ð
 ðð "ðð ôr<   