
    %Vji                    ^   d Z ddlmZ ddlZddlmZmZmZmZm	Z	 ddl
mZmZ ddlmZ erddlmZ g d	Z e	d
          Z e	d          Z e	d          Z ed          Z e	d          Z e	d          Z e	d          Z ed          Zed4d            Zed5d            Z eej        d          d6d            Zed7d!            Zed8d&            Z eej        d          d9d(            Z eej        d          d:d-            Z eej        d.          d;d3            ZdS )<z
Python polyfills for operator
    )annotationsN)AnyCallableoverloadTYPE_CHECKINGTypeVar)TypeVarTupleUnpack   )substitute_in_graph)Iterable)
attrgetter
itemgettermethodcallercountOf_T_T1_T2_Ts_U_U1_U2_UsattrstrreturnCallable[[Any], _U]c                   d S N )r   s    Z/root/voice-cloning/.venv/lib/python3.11/site-packages/torch/_dynamo/polyfills/operator.pyr   r       s    58S    attr1attr2attrs-Callable[[Any], tuple[_U1, _U2, Unpack[_Us]]]c                   d S r   r    )r#   r$   r%   s      r!   r   r   $   	     58Cr"   T)is_embedded_type&Callable[[Any], Any | tuple[Any, ...]]c                      t                     dk    rt          d          t          d  D                       rt          d          dd
t                     dk    r d         dfd}nd fd}|S )Nr   z%attrgetter expected 1 argument, got 0c              3  B   K   | ]}t          |t                     V  d S r   )
isinstancer   ).0r   s     r!   	<genexpr>zattrgetter.<locals>.<genexpr>0   s/      
7
7z$$$$
7
7
7
7
7
7r"   zattribute name must be a stringobjr   r   r   r   c                V    |                     d          D ]}t          | |          } | S )N.)splitgetattr)r0   r   names      r!   resolve_attrz attrgetter.<locals>.resolve_attr3   s1    JJsOO 	% 	%D#t$$CC
r"      c                     |           S r   r    )r0   r   r6   s    r!   getterzattrgetter.<locals>.getter;   s    <T***r"   tuple[Any, ...]c                >     t           fdD                       S )Nc              3  0   K   | ]} |          V  d S r   r    )r.   r   r0   r6   s     r!   r/   z-attrgetter.<locals>.getter.<locals>.<genexpr>A   s/      CCTc400CCCCCCr"   tuple)r0   r%   r6   s   `r!   r9   zattrgetter.<locals>.getter@   s*    CCCCCUCCCCCCr"   )r0   r   r   r   r   r   r0   r   r   r   r0   r   r   r:   )len	TypeErrorany)r%   r9   r   r6   s   ` @@r!   r   r   +   s    
5zzQ?@@@

7
7
7
7
777 ;9:::   
 5zzQQx	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+
	D 	D 	D 	D 	D 	D 	D Mr"   itemc                   d S r   r    )rD   s    r!   r   r   F   s    47Cr"   item1item2itemsUnpack[_Ts]c                   d S r   r    )rF   rG   rH   s      r!   r   r   J   r(   r"   r   c                      t                     dk    rt          d          t                     dk    r d         d
fd}nd fd	}|S )Nr   z%itemgetter expected 1 argument, got 0r7   r0   r   r   c                    |          S r   r    )r0   rD   s    r!   r9   zitemgetter.<locals>.getterY   s    t9r"   r:   c                <     t           fdD                       S )Nc              3  (   K   | ]}|         V  d S r   r    )r.   rD   r0   s     r!   r/   z-itemgetter.<locals>.getter.<locals>.<genexpr>_   s'      55tT555555r"   r=   )r0   rH   s   `r!   r9   zitemgetter.<locals>.getter^   s'    5555u555555r"   r?   r@   )rA   rB   )rH   r9   rD   s   ` @r!   r   r   Q   s    
5zzQ?@@@
5zzQQx	 	 	 	 	 	 	
	6 	6 	6 	6 	6 	6 Mr"   r5   argskwargsCallable[[Any], Any]c               d     t           t                    st          d          d fd}|S )Nzmethod name must be a stringr0   r   r   c                0     t          |           i S r   )r4   )r0   rO   rP   r5   s    r!   callerzmethodcaller.<locals>.callerj   s"    !wsD!!426222r"   r?   )r-   r   rB   )r5   rO   rP   rT   s   ``` r!   r   r   e   sU    dC   867773 3 3 3 3 3 3 3 Mr"   )can_constant_fold_throughaIterable[_T]bintc               :    t          fd| D                       S )Nc              3  ,   K   | ]}|u p|k    V  d S r   r    )r.   itrX   s     r!   r/   zcountOf.<locals>.<genexpr>s   s0      ..brQw!"'......r"   )sum)rV   rX   s    `r!   r   r   q   s&    ....A......r"   )r   r   r   r   )r#   r   r$   r   r%   r   r   r&   )r%   r   r   r*   )rD   r   r   r   )rF   r   rG   r   rH   rI   r   r&   )rH   r   r   r*   )r5   r   rO   r   rP   r   r   rQ   )rV   rW   rX   r   r   rY   )__doc__
__future__r   operatortypingr   r   r   r   r   typing_extensionsr	   r
   
decoratorsr   collections.abcr   __all__r   r   r   r   r   r   r   r   r   r   r   r   r    r"   r!   <module>rf      sf    # " " " " "  B B B B B B B B B B B B B B 2 2 2 2 2 2 2 2 , , , , , ,  )(((((( B
A
A WT]]genngennl5WT]]genngennl5 
 8 8 8 
 8 
8 8 8 
8 X(4@@@   A@4 
 7 7 7 
 7 
8 8 8 
8 X(4@@@   A@& X*TBBB   CB X%FFF/ / / GF/ / /r"   