§
    �Štj¸  ã            	      ó`  — d dl mZ d dl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mZ d dlmZmZmZ erd dlmZmZ  edeeeeez  eez  ¦  «        Z edeeedz  ee¦  «        Z ed	eeef         ee         ¦  «        Zej        dd„¦   «         Zdd„Z dd„Z!dd„Z"d d„Z#d!d„Z$d"d„Z%dS )#é    )ÚannotationsN)ÚAnyÚTYPE_CHECKINGÚTypeVar)ÚBackendIndexÚDispatchKeyÚNativeFunctionÚNativeFunctionsGroupÚNativeFunctionsViewGroup)ÚcontextÚSÚT)ÚCallableÚIteratorÚFÚF2ÚF3Úgú@NativeFunctionsGroup | NativeFunctionsViewGroup | NativeFunctionÚreturnúIterator[None]c              #  óR  ‡K  — t          | t          ¦  «        r| j        Šnt          | t          ¦  «        r| j        Šn| Št          ˆfd„¦  «        5  t          j        ‰j        ‰j	        ¬¦  «        5  d V — d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó(   •— d‰ j         › d‰ j        › �S )Nzin native_functions.yaml line z:
  )ÚlocÚfunc)Úfs   €úN/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torchgen/context.pyú<lambda>z)native_function_manager.<locals>.<lambda><   s   ø€ ÐN¸!¼%ÐNÐNÀaÄfÐNÐN€ ó    )Ú!use_const_ref_for_mutable_tensorsÚuse_ilistref_for_tensor_lists)
Ú
isinstancer
   Úoutr   Úviewr   ÚlocalÚparametrizer    Úpart_of_structured_group)r   r   s    @r   Únative_function_managerr(   -   sH  øè è € õ �!Õ)Ñ*Ô*ð 
ð
 ŒEˆˆÝ	�AÕ/Ñ	0Ô	0ð àŒFˆˆàˆÝ	ÐNÐNÐNÐNÑ	OÔ	Oð ð ÝÔØ./Ô.QØ*+Ô*Dð
ñ 
ô 
ð 	ð 	ð ˆEˆEˆEð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s6   Á!BÁ3BÁ8BÂB	ÂBÂB	ÂBÂB Â#B r   úCallable[[F], T]c                óH   ‡ — t          j        ‰ ¦  «        dˆ fd„¦   «         }|S )Nr   r   r   r   c                ól   •— t          | ¦  «        5   ‰| ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S ©N©r(   )r   r   s    €r   Úwrapperz%with_native_function.<locals>.wrapperJ   s€   ø€ å$ QÑ'Ô'ð 	ð 	Ø�4˜‘7”7ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ‘)©-°-)r   r   r   r   ©Ú	functoolsÚwraps©r   r.   s   ` r   Úwith_native_functionr3   I   s=   ø€ Ý„_�TÑÔðð ð ð ð ñ Ôðð €Nr   úCallable[[F, F2], T]c                óH   ‡ — t          j        ‰ ¦  «        dˆ fd„¦   «         }|S )	Nr   r   Úf2r   r   r   c                ón   •— t          | ¦  «        5   ‰| |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S r,   r-   )r   r6   r   s     €r   r.   z)with_native_function_and.<locals>.wrapperS   s„   ø€ õ % QÑ'Ô'ð 	ð 	Ø�4˜˜2‘;”;ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ó   ‘*ª.±.)r   r   r6   r   r   r   r/   r2   s   ` r   Úwith_native_function_andr9   R   s=   ø€ Ý„_�TÑÔðð ð ð ð ñ Ôðð
 €Nr   úCallable[[S, F], T]c                óH   ‡ — t          j        ‰ ¦  «        dˆ fd„¦   «         }|S )	NÚslfr   r   r   r   r   c                ón   •— t          |¦  «        5   ‰| |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S r,   r-   ©r<   r   r   s     €r   r.   z,method_with_native_function.<locals>.wrapper]   s‚   ø€ å$ QÑ'Ô'ð 	 ð 	 Ø�4˜˜Q‘<”<ð	 ð 	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 r8   )r<   r   r   r   r   r   r/   r2   s   ` r   Úmethod_with_native_functionr?   \   s=   ø€ Ý„_�TÑÔð ð  ð  ð  ð  ñ Ôð ð €Nr   úCallable[[S, F3], T]c                óH   ‡ — t          j        ‰ ¦  «        dˆ fd„¦   «         }|S )	Nr<   r   r   r   r   r   c                óz   •— t          |d         ¦  «        5   ‰| |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )Nr   r-   r>   s     €r   r.   z3method_with_nested_native_function.<locals>.wrapperh   s†   ø€ å$ Q q¤TÑ*Ô*ð 	 ð 	 Ø�4˜˜Q‘<”<ð	 ð 	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s   —0°4·4)r<   r   r   r   r   r   r/   r2   s   ` r   Ú"method_with_nested_native_functionrC   e   s?   ø€ õ „_�TÑÔð ð  ð  ð  ð  ñ Ôð ð €Nr   úCallable[[F, BackendIndex], T]c                óH   ‡ — t          j        ‰ ¦  «        dˆ fd„¦   «         }|S )	Nr   r   Úbackend_indexr   r   r   c                ón   •— t          | ¦  «        5   ‰| |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S r,   r-   )r   rF   r   s     €r   r.   z/with_native_function_and_index.<locals>.wrapperu   s„   ø€ å$ QÑ'Ô'ð 	*ð 	*Ø�4˜˜=Ñ)Ô)ð	*ð 	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*r8   )r   r   rF   r   r   r   r/   r2   s   ` r   Úwith_native_function_and_indexrH   r   s?   ø€ õ „_�TÑÔð*ð *ð *ð *ð *ñ Ôð*ð €Nr   ú1Callable[[F, dict[DispatchKey, BackendIndex]], T]c                óH   ‡ — t          j        ‰ ¦  «        dˆ fd„¦   «         }|S )	Nr   r   Úbackend_indicesúdict[DispatchKey, BackendIndex]r   r   c                ón   •— t          | ¦  «        5   ‰| |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S r,   r-   )r   rK   r   s     €r   r.   z1with_native_function_and_indices.<locals>.wrapper�   s„   ø€ å$ QÑ'Ô'ð 	,ð 	,Ø�4˜˜?Ñ+Ô+ð	,ð 	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,r8   )r   r   rK   rL   r   r   r/   r2   s   ` r   Ú with_native_function_and_indicesrN   ~   s?   ø€ õ „_�TÑÔð,ð ,ð ,ð ,ð ,ñ Ôð,ð €Nr   )r   r   r   r   )r   r)   r   r)   )r   r4   r   r4   )r   r:   r   r:   )r   r@   r   r@   )r   rD   r   rD   )r   rI   r   rI   )&Ú
__future__r   Ú
contextlibr0   Útypingr   r   r   Útorchgen.localr%   Útorchgen.modelr   r   r	   r
   r   Útorchgen.utilsr   r   r   Úcollections.abcr   r   r   ÚboolÚstrr   ÚtupleÚlistr   Úcontextmanagerr(   r3   r9   r?   rC   rH   rN   © r   r   ú<module>r\      s  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (ð ð 3Ø2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ð
 €GØØØØØÐ)Ñ)ØÐ-Ñ-ñô €ð €WØØØØ�TÑØØñô €ð €WˆT�5˜¨Ð,Ô-¨t°NÔ/CÑDÔD€ð Ôðð ð ñ Ôðð6ð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð ð r   