
    %h%                     Z   d dl Z d dlmZmZmZ d dlmZ d dlmZm	Z	m
Z
mZ d dlmZmZmZmZmZmZ d dlmZmZ dedefd	Zd
dddedededededefdZd
dddededededef
dZdddee         dede
fdZdedee         fdZd
dddededede	fdZdddededee	         fdZdS )    N)ListSequenceUnion)cpp)ArgNameBindingCType
NamedCType)ArgumentFunctionSchemaReturnSelfArgumentTensorOptionsArgumentsType)assert_never	concatMapfuncreturnc                 *    t          j        |           S N)r   name)r   s    W/var/www/html/auto_sub_bot/venv/lib/python3.11/site-packages/torchgen/api/dispatcher.pyr   r   !   s    8D>>    FT)remove_non_owning_ref_typessyminttmutablebindsr   r   c                4    t          j        | ||||          S )N)r   r   r   r   )r   argumenttype_type)r   r   r   r   r   s        r   r    r    %   s-      	$?   r   ac                >    t          | j        | j        |||          S )N)r   r   r   r   )r    typeis_write)r!   r   r   r   s       r   argument_typer%   :   s.     	
$?   r   r   rsc                .    t          j        | |          S )Nr&   )r   returns_type)r'   r   s     r   r)   r)   J   s    Bv....r   c           
      
   dt           t          t          t          f         dt          t                   fd}t          t          |t          j        | j	        j
        | j	        j        | j	        j                                      S )Nr!   r   c                     t          | t                    r| gS t          | t                    r| j        gS t          | t                    r| j        | j        | j        | j        gS t          |            d S r   )

isinstancer   r   argumentr   dtypelayoutdevice
pin_memoryr   )r!   s    r   to_argumentz"jit_arguments.<locals>.to_argumentP   sr     a"" 	3J<(( 	J<122 	GQXqx>>OOOOOr   )r   r   r   r   r   listr   	itertoolschain	arguments
positional
kwarg_onlyout)r   r2   s     r   jit_argumentsr:   O   s    
1<?@
	h
 
 
 
 O)4>+DdnFX 	
 	
  r   c                \    t          t          | | j        ||          | j        |           S )N)r   r   r   )nctyper   r-   )r   r%   r   )r!   r   r   s      r   r-   r-   f   sE     &(C	
 
 
 V	 	 	 	r   c                :    fdt          |           D             S )Nc                 2    g | ]}t          |           S )r&   )r-   ).0r!   r   s     r   
<listcomp>zarguments.<locals>.<listcomp>v   s&    DDD1HQv&&&DDDr   )r:   )r   r   s    `r   r6   r6   u   s%    DDDDd0C0CDDDDr   )r4   typingr   r   r   torchgen.apir   torchgen.api.typesr   r   r	   r
   torchgen.modelr   r   r   r   r   r   torchgen.utilsr   r   strr   boolr    r%   r)   r:   r-   r6    r   r   <module>rI      s       ( ( ( ( ( ( ( ( ( (       B B B B B B B B B B B B                3 2 2 2 2 2 2 2$~ #     ).    	
 "&     2 ).    "&	
       :> / / /Xf% /$ /% / / / /
 4>    0 9>d  15GK    7; E E EN Et EtG} E E E E E Er   