Ë
    ÌÓ^jl  ã                  óÈ   — 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mZmZmZ dd„Z dd„Z!dd„Z"dd	„Z#dd
„Z$dd„Z%y)é    )Úannotations)Úassert_never)Úcpp)ÚArgNameÚArrayRefCTypeÚ	BaseCTypeÚBindingÚConstRefCTypeÚintArrayRefTÚiOptTensorListRefTÚiTensorListRefTÚ
NamedCTypeÚOptionalCTypeÚoptionalIntArrayRefTÚoptionalScalarRefTÚoptionalTensorRefTÚscalarTÚtensorT)	ÚArgumentÚBaseTyÚBaseTypeÚListTypeÚNativeFunctionsGroupÚOptionalTypeÚSelfArgumentÚTensorOptionsArgumentsÚTypec               óè  — t        j                  | d||¬«      }|�|S t        | t        «      rŒ| j                  t
        j                  k(  r"t        |t        t        t        «      «      «      S | j                  t
        j                  k(  r"t        |t        t        t        «      «      «      S t        d| › �«      ‚t        | t        «      �r
| j                  t        t
        j                  «      k(  rt        |t        t         «      «      S | j                  t        t
        j                  «      k(  rt        |t        t"        «      «      S t        | j                  t$        «      r;t'        | j                  j                  «      dk(  rt        |t        t(        «      «      S t+        | j                  ||¬«      }t        |t-        |j.                  «      «      S t        | t$        «      rø| j                  t        t
        j                  «      k(  r"t        |t        t        t0        «      «      «      S | j                  t        t        t
        j                  «      «      k(  rt        |t        t2        «      «      S t'        | j                  «      dk(  rt        |t        t4        «      «      S t+        | j                  ||¬«      }t        |t7        |j.                  «      «      S t        dt9        | «      › �«      ‚)NF)ÚsymintÚbindsÚmutablez&base type should have been value type Úint©r!   r    zunrecognized type )r   Úvaluetype_typeÚ
isinstancer   Únamer   ÚTensorr   r
   r   r   ÚScalarr   ÚAssertionErrorr   Úelemr   r   r   Ústrr   Úargumenttype_typer   Útyper   r   r   r   Úrepr)Útr!   r    Úrr*   s        úb/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torchgen/api/structured.pyr,   r,   ,   s  € ô 	×Ñ˜1 U°%ÀÔI€AØ€}Øˆä�!”XÔØ�6‰6”V—]‘]Ò"Ü˜e¤]´9¼WÓ3EÓ%FÓGÐGØ�V‰V”v—}‘}Ò$Ü˜e¤]´9¼WÓ3EÓ%FÓGÐGä Ð#IÈ!ÈÐ!MÓNÐNÜ	�A”|Õ	$Ø�6‰6”XœfŸm™mÓ,Ò,Ü˜e¤YÔ/AÓ%BÓCÐCØ�V‰V”x¤§¡Ó.Ò.Ü˜e¤YÔ/AÓ%BÓCÐCÜ˜Ÿ™¤Ô)¬c°!·&±&·+±+Ó.>À%Ò.GÜ˜e¤YÔ/CÓ%DÓEÐEÜ  §¡°ÀÔFˆÜ˜%¤¨t¯y©yÓ!9Ó:Ð:Ü	�A”xÔ	 Ø�6‰6”XœfŸm™mÓ,Ò,Ü˜e¤]´9¼_Ó3MÓ%NÓOÐOØ�V‰V”|¤H¬V¯]©]Ó$;Ó<Ò<Ü˜e¤YÔ/AÓ%BÓCÐCô �—‘‹[˜EÒ!Ü˜e¤Y¬|Ó%<Ó=Ð=Ü  §¡°ÀÔFˆÜ˜%¤¨t¯y©yÓ!9Ó:Ð:äÐ1´$°q³'°Ð;Ó<Ð<ó    c               óF   — t        | j                  | j                  |¬«      S )Nr#   )r,   r-   Úis_write)Úar    s     r1   Úargument_typer6   W   s   € Ü˜QŸV™V¨Q¯Z©Z¸uÔEÐEr2   c                ó  — t        | t        «      r/t        t        | | j                  ¬«      | j                  d | ¬«      gS t        | t
        «      rt        | j                  «      S t        | t        «      rt        d«      ‚t        | «       y )N)r    )Únctyper&   ÚdefaultÚargumentz2structured kernels don't support TensorOptions yet)
r%   r   r	   r6   r&   r   r:   r   r)   r   )r5   s    r1   r:   r:   b   sr   € Ü�!”XÔäÜ$ Q¨a¯f©fÔ5Ø—V‘VØØô	ð
ð 	
ô 
�A”|Ô	$Ü˜Ÿ
™
Ó#Ð#Ü	�AÔ-Ô	.ÜÐQÓRÐRä�Q�r2   c                ó^  — g }| j                   j                  rüg }| j                   j                  j                  j                  D ]Œ  }t        |t        «      ri|j                  | j                   j                  j                  v r=|j                  | j                   j                  j                  |j                     «       Œ||j                  |«       ŒŽ |j                  |«       |j                  | j                   j                  j                  «       n9|j                  | j                   j                  j                  j                  «       |j                  | j                   j                  j                  j                   «       |D ��cg c]  }t        |«      D ]  }|‘Œ Œ c}}S c c}}w ©N)ÚoutÚprecomputedÚfuncÚ	argumentsÚnon_outr%   r   r&   ÚreplaceÚextendÚappendÚaddr:   )ÚgÚargsÚnon_out_args_replacedr5   Úargr0   s         r1   Úimpl_argumentsrJ   t   s2  € ØCE€Dà‡u�u×Òð ð 	ð —‘—‘×%Ñ%×-Ñ-ò 	0ˆAÜ˜!œXÔ&¨1¯6©6°Q·U±U×5FÑ5F×5NÑ5NÑ+Nð &×,Ñ,¨Q¯U©U×->Ñ->×-FÑ-FÀqÇvÁvÑ-NÕOð &×,Ñ,¨QÕ/ð	0ð 	�‰Ð)Ô*ð 	�‰�A—E‘E×%Ñ%×)Ñ)Õ*à�‰�A—E‘E—J‘J×(Ñ(×0Ñ0Ô1à‡K�K�—‘—
‘
×$Ñ$×(Ñ(Ô)Ø×5�#¤x°£}Ò5 !ŠAÐ5ˆAÓ5Ð5ùÓ5s   ÆF)c                óÈ   — g }|j                  | j                  j                  j                  j                  «       |D ��cg c]  }t        |«      D ]  }|‘Œ Œ c}}S c c}}w r<   )rC   Ú
functionalr?   r@   rA   r:   ©rF   rG   rI   r0   s       r1   Úmeta_argumentsrN   ’   sM   € ØCE€DØ‡K�K�—‘×!Ñ!×+Ñ+×3Ñ3Ô4Ø×5�#¤x°£}Ò5 !ŠAÐ5ˆAÓ5Ð5ùÓ5ó   ÁAc                óÈ   — g }|j                  | j                  j                  j                  j                  «       |D ��cg c]  }t	        |«      D ]  }|‘Œ Œ c}}S c c}}w r<   )rC   r=   r?   r@   r:   rM   s       r1   Úout_argumentsrQ   ˜   sK   € ØCE€DØ‡K�K�—‘—
‘
×$Ñ$×(Ñ(Ô)Ø×5�#¤x°£}Ò5 !ŠAÐ5ˆAÓ5Ð5ùÓ5rO   N)r/   r   r!   Úboolr    r   Úreturnr   )r5   r   r    r   rS   r   )r5   z0Argument | SelfArgument | TensorOptionsArgumentsrS   úlist[Binding])rF   r   rS   rT   )&Ú
__future__r   Útyping_extensionsr   Ú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   r   r   r   r,   r6   r:   rJ   rN   rQ   © r2   r1   ú<module>r[      sV   ðÝ "å *å ÷÷ ÷ ÷ ñ ÷"
÷ 
õ 
ó*(=óVFóó$6ó<6ô6r2   