ó
    IC˜j{!  ã                  ó  • S SK Jr  S SKJr  S SKJrJrJrJrJ	r	J
r
JrJrJr  S SKJrJrJrJrJrJr  \" S\" S\	" \" \5      5      S9\" S\" \R*                  5      SSS9SS	9r\" S
\" S
\" \5      S9\" S
\" \R.                  5      SSS9SS	9r\" S\" S\	" \" \5      5      S9\" S\" \R*                  5      SSS9SS	9r\" S\" S\" \5      S9\" S\" \R4                  5      SSS9SS	9r\" S\" S\" \5      S9\" S\" \R.                  5      SSS9SS	9r\" SS5      r\" S\" S\" \5      S9\" S\" \R.                  5      SSS9SS	9rSSS jjrSS.         SS jjr SS jr!SS jr"S S jr#S!S jr$S!S jr%S"S#S jjr&S$S jr'g)%é    )Úannotations)Ú
dispatcher)	ÚBaseCppTypeÚ	BaseCTypeÚBindingÚboolTÚConstRefCTypeÚCTypeÚlongTÚ
NamedCTypeÚtensorT)ÚArgumentÚBaseTyÚBaseTypeÚFunctionSchemaÚNativeFunctionÚNativeFunctionsViewGroupÚbase)ÚnameÚtypeN)r   r   ÚdefaultÚ
annotation)r   ÚnctypeÚargumentr   Úhas_symbolic_inputsÚmutated_viewÚ	out_indexÚreapply_viewszat::functionalizationÚInverseReturnModeÚinverse_return_modec                óV   • U(       a  SOSnU U R                   R                  5        S3$ )Nzat::functionalization::Ú Ú	_ViewMeta)r   Úunambiguous_name)ÚfuncÚwith_namespaceÚ	namespaces      Ú¬C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\torchgen/api/functionalization.pyÚ	classnamer)   _   s+   € Þ-;Ñ)À€IØˆ[˜Ÿ™×3Ñ3Ó5Ð6°iÐ@Ð@ó    )r   c               óŒ  • Uc  U(       d  [        S5      eU(       a  [        U R                  U5      $ U(       d  [        S5      eU R                  c  [        S5      eU(       a.  U R                  R                  R
                  R                  5       O-U R                  R                  R
                  R                  5       nSU S3$ )Nz*reapply_views can only be None for reversez*include_namespace must be True for forwardz&view_copy must be non-None for forwardz
at::_ops::z::call)ÚAssertionErrorÚreverse_nameÚviewÚ	view_copyr%   r   r$   )ÚgÚ
is_reverseÚinclude_namespacer   Úapi_names        r(   r   r   e   s¨   € ð Ñö Ü Ð!MÓNÐNÞÜ˜AŸF™FÐ$5Ó6Ð6æÜÐIÓJÐJØ‡{�{ÑÜÐEÓFÐFö ð 	
�‰�‰×Ñ×)Ñ)Ô+à�[‰[×Ñ×"Ñ"×3Ñ3Ó5ð ð
 ˜�z Ð(Ð(r*   c                ón   • U R                   R                  R                  5       nU(       a  SU S3$ U S3$ )Nz+at::functionalization::FunctionalInverses::Ú_inverse)r%   r   r$   )Úfr2   r3   s      r(   r-   r-   €   s9   € ð �v‰v�{‰{×+Ñ+Ó-€HæØ<¸X¸JÀhÐOÐOà�˜8Ð$Ð$r*   c                óü   • [        U R                  5      S:  a  [        S5      eU R                   H:  nUR                  R	                  5       (       a  M$  [        SUR                   35      e   [        [        5      $ )Né   z"Expected at least one return valuez&Expected tensor-like return type, got )ÚlenÚreturnsr,   r   Úis_tensor_liker   r   )r%   Úrets     r(   Úreturns_typer=   Œ   sd   € ä
ˆ4�<‰<Ó˜1ÓÜÐAÓBÐBØ�|Œ|ˆØ�x‰x×&Ñ&×(Ó(Ü Ð#IÈ#Ï(É(ÈÐ!TÓUÐUñ ô
 ”WÓÐr*   c                óÐ   • [        U R                  5      S:„  =(       dH    [        U R                  5      S:H  =(       a)    U R                  S   R                  R                  5       S L$ )Nr8   r   )r9   r:   r   Úis_list_like©r%   s    r(   Úis_multi_outputrA   ™   sO   € Üˆt�|‰|Ó˜qÑ ÷ ÜˆD�L‰LÓ˜QÑ×R 4§<¡<°¡?×#7Ñ#7×#DÑ#DÓ#FÈdÐ#Rðr*   c                ó^   • [         /n[        U 5      (       a  UR                  [        5        U$ )N)Úhas_symbolic_inputs_bindingrA   ÚappendÚout_index_binding)r%   Ú	argumentss     r(   Úbase_ctor_argumentsrG       s,   € ä,Ð-€Iô �t×ÑØ×ÑÔ*Ô+àÐr*   c                ó   • [        U SS9$ )NF)Úowning)Ú
attributesr@   s    r(   Úextra_ctor_argumentsrK   °   s   € Ü�d 5Ñ)Ð)r*   c           	     ó*  • U R                   R                  nUS   R                  [        [        R
                  5      :w  a  [        SUS   R                   35      e[        [        /USS   Vs/ s H  n[        R                  " X1S9PM     snQ$ s  snf )Nr   ú%Expected first arg to be Tensor, got r8   )Úremove_non_owning_ref_types)rF   Úflat_allr   r   r   ÚTensorr,   Úreapply_views_bindingÚinverse_return_mode_bindingr   r   )r%   rI   ÚargsÚas       r(   rJ   rJ   ¸   s‰   € Ø�>‰>×"Ñ"€DØˆA�w‡|�|”x¤§¡Ó.Ó.ÜÐDÀTÈ!ÁWÇ\Á\ÀNÐSÓTÐTäÜ#ðð OSÐSTÐSUÉhÓ	WÊhÈŒ*×
Ò
˜aÔ
DÉhÑ	Wðð ùò 
Xs   Á.Bc                ó´  • U R                   R                  nUS   R                  [        [        R
                  5      :w  a  [        SUS   R                   35      eUSS  nU Vs/ s H  n[        R                  " U5      PM     nnU(       d
  [        /U-   $ [        U 5      (       a  [        [        [        [        /U-   $ [        [        [        /U-   $ s  snf )Nr   rM   r8   )rF   rO   r   r   r   rP   r,   r   r   Úbase_bindingrA   Úmutated_view_bindingrR   rE   )r%   r1   rS   Únon_self_argsrT   Únon_self_bindingss         r(   Úop_argumentsrZ   Ã   sÖ   € Ø�>‰>×"Ñ"€DØˆA�w‡|�|”x¤§¡Ó.Ó.ÜÐDÀTÈ!ÁWÇ\Á\ÀNÐSÓTÐTØ˜˜�H€Mñ :GÓGº°Aœ×,Ò,¨QÖ/¹ÐÐGÞäˆ~Ð 1Ñ1Ð1ô
 ˜4× Ñ äÜ$Ü+Ü!ð	ð
 "ñ"ð "ô Ü$Ü+ðð "ñ	"ð "ùò! Hs   Á% C)F)r%   r   r&   ÚboolÚreturnÚstr)
r0   r   r1   r[   r2   r[   r   zbool | Noner\   r]   )r6   r   r2   r[   r\   r]   )r%   r   r\   r
   )r%   r   r\   r[   )r%   r   r\   úlist[Binding])T)r%   r   rI   r[   r\   r^   )r%   r   r1   r[   r\   r^   )(Ú
__future__r   Útorchgen.apir   Útorchgen.api.typesr   r   r   r   r	   r
   r   r   r   Útorchgen.modelr   r   r   r   r   r   rP   rV   r[   rC   rW   ÚintrE   rQ   ÚInverseReturnModeTrR   r)   r   r-   r=   rA   rG   rK   rJ   rZ   © r*   r(   Ú<module>rf      s  ðÝ "å #÷
÷ 
õ 
÷÷ ñ& Ø	Ù˜6©±iÀÓ6HÓ(IÑJÙØ™( 6§=¡=Ó1¸4ÈDñð ñ€ñ &Ø	ÙÐ0±yÀÓ7GÑHÙØ"Ù�f—k‘kÓ"ØØñ	ð ñ
Ð ñ Ø	Ù˜>±¹iÈÓ>PÓ0QÑRÙØ™( 6§=¡=Ó1¸4ÈDñð ñÐ ñ Ø	Ù˜;©Y°uÓ-=Ñ>ÙØ™x¨¯
©
Ó3¸TÈdñð ñÐ ñ  Ø	Ù˜?±¸5Ó1AÑBÙØ¡8¨F¯K©KÓ#8À$ÐSWñð ñÐ ñ !Ð!8Ð:MÓNÐ Ù%Ø	ÙÐ0±yÐASÓ7TÑUÙØ"á�f—k‘kÓ"ØØñð ñÐ öAð "&ñ)Øð)ð ð)ð ð	)ð
 ð)ð 	õ)ô6	%ô	ôô	ô *öõ"r*   