§
    B�’jn  ã                  óÎ  — d Z ddlmZ ddlZddl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mZ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d9d„¦   «         Zed:d„¦   «         Z eej        d¬¦  «        d;d„¦   «         Z eej        d¬ ¦  «        d<d&„¦   «         Z eej        d¬ ¦  «        d=d)„¦   «         Z eej        ¦  «        d<d*„¦   «         Zed>d,„¦   «         Zed?d1„¦   «         Z eej        d¬¦  «        d@d3„¦   «         Z eej         d¬¦  «        dAd8„¦   «         Z dS )Bz
Python polyfills for operator
é    )ÚannotationsN)ÚAnyÚoverloadÚTYPE_CHECKINGÚTypeVar)ÚTypeVarTupleÚUnpacké   )Úsubstitute_in_graph)ÚCallableÚIterableÚSequence)Ú
attrgetterÚconcatÚcountOfÚiconcatÚ
itemgetterÚmethodcallerÚ_TÚ_T1Ú_T2Ú_TsÚ_UÚ_U1Ú_U2Ú_UsÚattrÚstrÚreturnúCallable[[Any], _U]c               ó   — d S ©N© )r   s    úNC:\Projects\DSCons\.venv\Lib\site-packages\torch\_dynamo\polyfills\operator.pyr   r       s   € à58°Só    Úattr1Úattr2Úattrsú-Callable[[Any], tuple[_U1, _U2, Unpack[_Us]]]c               ó   — d S r"   r#   )r&   r'   r(   s      r$   r   r   %   ó	   € ð 58°Cr%   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>2   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)r3   r   Únames      r$   Úresolve_attrz attrgetter.<locals>.resolve_attr5   s1   € Ø—J’J˜s‘O”Oð 	%ð 	%ˆDÝ˜#˜tÑ$Ô$ˆCˆCØˆ
r%   é   c                ó   •—  ‰| ‰¦  «        S r"   r#   )r3   r   r9   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#   )r1   r   r3   r9   s     €€r$   r2   z-attrgetter.<locals>.getter.<locals>.<genexpr>C   s/   øè è € ÐCÐC°T˜˜ c¨4Ñ0Ô0ÐCÐCÐCÐCÐCÐCr%   ©Útuple)r3   r(   r9   s   `€€r$   r<   zattrgetter.<locals>.getterB   s*   øø€ ÝÐCÐCÐCÐCÐC¸UÐCÑCÔCÑCÔCÐCr%   )r3   r   r   r   r   r   ©r3   r   r   r   ©r3   r   r   r=   )ÚlenÚ	TypeErrorÚany)r(   r<   r   r9   s   ` @@r$   r   r   -   sØ   øøø€ å
ˆ5�z„z�Q‚€ÝÐ?Ñ@Ô@Ð@å
Ð
7Ð
7°Ð
7Ñ
7Ô
7Ñ7Ô7ð ;ÝÐ9Ñ:Ô:Ð:ðð ð ð õ
 ˆ5�z„z�Q‚€Ø�QŒxˆð	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð
	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð €Mr%   )Úcan_constant_fold_throughÚaúSequence[_T]ÚbúSequence[_T2]úSequence[_T | _T2]c               ó   — | |z   S r"   r#   ©rH   rJ   s     r$   r   r   I   s   € àˆq‰5€Lr%   úIterable[_T]Úintc               ó:   ‡— t          ˆfd„| D ¦   «         ¦  «        S )Nc              3  ó,   •K  — | ]}|‰u p|‰k    V — Œd S r"   r#   )r1   ÚitrJ   s     €r$   r2   zcountOf.<locals>.<genexpr>Q   s0   øè è € Ð.Ð. bˆr�QˆwÐ!˜" š'Ð.Ð.Ð.Ð.Ð.Ð.r%   )ÚsumrN   s    `r$   r   r   O   s&   ø€ åÐ.Ð.Ð.Ð.¨AÐ.Ñ.Ô.Ñ.Ô.Ð.r%   c               ó   — | |z  } | S r"   r#   rN   s     r$   r   r   U   s   € àˆ�F€AØ€Hr%   Úitemc               ó   — d S r"   r#   )rV   s    r$   r   r   [   s   € à47°Cr%   Úitem1Úitem2ÚitemsúUnpack[_Ts]c               ó   — d S r"   r#   )rX   rY   rZ   s      r$   r   r   `   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 0r:   r3   r   r   c                ó   •— | ‰         S r"   r#   )r3   rV   s    €r$   r<   zitemgetter.<locals>.getterp   s   ø€ Ø�t”9Ðr%   r=   c                ó<   •‡ — t          ˆ fd„‰D ¦   «         ¦  «        S )Nc              3  ó(   •K  — | ]}‰|         V — Œd S r"   r#   )r1   rV   r3   s     €r$   r2   z-itemgetter.<locals>.getter.<locals>.<genexpr>v   s'   øè è € Ð5Ð5 t˜˜TœÐ5Ð5Ð5Ð5Ð5Ð5r%   r@   )r3   rZ   s   `€r$   r<   zitemgetter.<locals>.getteru   s'   øø€ ÝÐ5Ð5Ð5Ð5¨uÐ5Ñ5Ô5Ñ5Ô5Ð5r%   rB   rC   )rD   rE   )rZ   r<   rV   s   ` @r$   r   r   h   s‚   øø€ å
ˆ5�z„z�Q‚€ÝÐ?Ñ@Ô@Ð@å
ˆ5�z„z�Q‚€Ø�QŒxˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð
	6ð 	6ð 	6ð 	6ð 	6ð 	6ð €Mr%   r8   ÚargsÚkwargsúCallable[[Any], Any]c               ód   ‡ ‡‡— t          ‰ t          ¦  «        st          d¦  «        ‚dˆˆˆ fd„}|S )Nzmethod name must be a stringr3   r   r   c                ó0   •—  t          | ‰¦  «        ‰i ‰¤ŽS r"   )r7   )r3   ra   rb   r8   s    €€€r$   Úcallerzmethodcaller.<locals>.caller�   s"   ø€ Ø!�w�s˜DÑ!Ô! 4Ð2¨6Ð2Ð2Ð2r%   rB   )r0   r   rE   )r8   ra   rb   rf   s   ``` r$   r   r   |   sU   øøø€ å�d�CÑ Ô ð 8ÝÐ6Ñ7Ô7Ð7ð3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð €Mr%   )r   r   r   r    )r&   r   r'   r   r(   r   r   r)   )r(   r   r   r-   )rH   rI   rJ   rK   r   rL   )rH   rO   rJ   r   r   rP   )rV   r   r   r    )rX   r   rY   r   rZ   r[   r   r)   )rZ   r   r   r-   )r8   r   ra   r   rb   r   r   rc   )!Ú__doc__Ú
__future__r   ÚoperatorÚtypingr   r   r   r   Útyping_extensionsr   r	   Ú
decoratorsr   Úcollections.abcr   r   r   Ú__all__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r#   r%   r$   ú<module>ro      sÏ  ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2à ,Ð ,Ð ,Ð ,Ð ,Ð ,ð ð =Ø<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<ð WÐ
VÐ
V€ð €WˆT�]„]€Ø€gˆe�n„n€Ø€gˆe�n„n€Ø€l�5ÑÔ€Ø€WˆT�]„]€Ø€gˆe�n„n€Ø€gˆe�n„n€Ø€l�5ÑÔ€ð 
à 8Ð 8Ð 8ñ 
„à 8ð 
ð8ð 8ð 8ñ 
„ð8ð Ð�XÔ(¸4Ð@Ñ@Ô@ðð ð ñ AÔ@ðð6 Ð�X”_ÀÐEÑEÔEðð ð ñ FÔEðð
 Ð�XÔ%ÀÐFÑFÔFð/ð /ð /ñ GÔFð/ð
 Ð�XÔ%Ñ&Ô&ðð ð ñ 'Ô&ðð
 
à 7Ð 7Ð 7ñ 
„à 7ð 
ð8ð 8ð 8ñ 
„ð8ð Ð�XÔ(¸4Ð@Ñ@Ô@ðð ð ñ AÔ@ðð& Ð�XÔ*¸TÐBÑBÔBðð ð ñ CÔBðð ð r%   