
    JThz                    <   S SK Jr  S SKrS SKJr  S SKJr  S SK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KJrJr  \(       a  S SKJr  SS	 jrS
SS.           SS jjrS
SS.         SS jjrSS.SS jjrSS jrS
SS.       SS jjrSS.SS jjrg)    )annotationsN)TYPE_CHECKING)cpp)ArgNameBindingCType
NamedCType)ArgumentFunctionSchemaReturnSelfArgumentTensorOptionsArgumentsType)assert_never	concatMap)Sequencec                .    [         R                  " U 5      $ N)r   name)funcs    O/var/www/auris/envauris/lib/python3.13/site-packages/torchgen/api/dispatcher.pyr   r   '   s    88D>    FT)remove_non_owning_ref_typessymintc               2    [         R                  " U UUUUS9$ )N)mutablebindsr   r   )r   argumenttype_type)tr   r   r   r   s        r   r   r   +   s&       	$? r   c               D    [        U R                  U R                  UUUS9$ )N)r   r   r   r   )r   typeis_write)ar   r   r   s       r   argument_typer$   @   s(     	

$? r   r   c               *    [         R                  " XS9$ Nr%   )r   returns_type)rsr   s     r   r(   r(   P   s    B..r   c           
             SS jn[        [        U[        R                  " U R                  R
                  U R                  R                  U R                  R                  5      5      5      $ )Nc                   [        U [        5      (       a  U /$ [        U [        5      (       a  U R                  /$ [        U [        5      (       a.  U R
                  U R                  U R                  U R                  /$ [        U 5        g r   )

isinstancer
   r   argumentr   dtypelayoutdevice
pin_memoryr   )r#   s    r   to_argument"jit_arguments.<locals>.to_argumentV   se     a""3J<((JJ<122GGQXXqxx>>Or   )r#   z0Argument | TensorOptionsArguments | SelfArgumentreturnlist[Argument])listr   	itertoolschain	arguments
positional
kwarg_onlyout)r   r2   s     r   jit_argumentsr=   U   sb    
;
	
 OO))4>>+D+DdnnFXFX	
 r   c          	     T    [        [        U U R                  UUS9U R                  U S9$ )N)r   r   r   )nctyper   r-   )r   r$   r   )r#   r   r   s      r   r-   r-   l   s5     &&(C	
 VV	 	r   c               R    [        U 5       Vs/ s H  n[        X!S9PM     sn$ s  snf r'   )r=   r-   )r   r   r#   s      r   r9   r9   {   s&    0=d0CD0C1HQ&0CDDDs   $)r   r   r4   str)r   r   r   boolr   r   r   rB   r   rB   r4   r	   )
r#   r
   r   r   r   rB   r   rB   r4   r	   )r)   zSequence[Return]r   rB   r4   r   )r   r   r4   r5   )r#   r
   r   rB   r   rB   r4   r   )r   r   r   rB   r4   zlist[Binding])
__future__r   r7   typingr   torchgen.apir   torchgen.api.typesr   r   r   r	   torchgen.modelr
   r   r   r   r   r   torchgen.utilsr   r   collections.abcr   r   r   r$   r(   r=   r-   r9    r   r   <module>rK      s   "     B B  3 (& ).  	
 "&  2 ).  "&	
    :> /
0 9>d15GK 7; E Er   