Ë
    L²jð  ã                  óÂ  — d Z ddlmZ ddlZddlZddlZddlZddl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ej                   d¬«      dd„«       Z eej"                  d¬«      dd„«       Z eej$                  d¬«      ddd„«       Z eej&                  d¬«      ddd„«       Z G d„ d«      Z e«       Zefd„Z eej0                  d¬«      dd„«       Zy)z
Python polyfills for builtins
é    )ÚannotationsN)ÚCallable)ÚTYPE_CHECKINGÚTypeVaré   )Úsubstitute_in_graph)ÚIterable)ÚallÚanyÚcastÚ	enumerateÚsumÚ_TT)Úcan_constant_fold_throughc               ó   — | D ]  }|rŒ y y)NFT© ©ÚiterableÚelems     ú_/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torch/_dynamo/polyfills/builtins.pyr
   r
   !   s   € àò ˆÚÙðð ó    c               ó   — | D ]  }|sŒ y y)NTFr   r   s     r   r   r   )   s   € àò ˆÚÙðð r   )Úis_embedded_typec              #  ó’   K  — t        |t        «      s!t        t        |«      j                  ›d�«      ‚| D ]  }||f–— |dz  }Œ y ­w)Nz+ object cannot be interpreted as an integeré   )Ú
isinstanceÚintÚ	TypeErrorÚtypeÚ__name__)r   ÚstartÚxs      r   r   r   1   sV   è ø€ ä�eœSÔ!ÜÜ�E‹{×#Ñ#Ð&Ð&QÐRó
ð 	
ð ò ˆØ�QˆhŠØ�‰
‰ñùs   ‚AAc               óL   — t        j                  t        j                  | |«      S ©N)Ú	functoolsÚreduceÚoperatorÚadd)r   r!   s     r   r   r   =   s   € ä×ÑœHŸL™L¨(°EÓ:Ð:r   c                  ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú_CallableIteratorc                ó    — || _         || _        y r$   )ÚfnÚsentinel)Úselfr,   r-   s      r   Ú__init__z_CallableIterator.__init__C   s   € ØˆŒØ ˆ�r   c                ó   — | S r$   r   )r.   s    r   Ú__iter__z_CallableIterator.__iter__G   s   € Øˆr   c                óP   — | j                  «       }|| j                  k(  rt        ‚|S r$   )r,   r-   ÚStopIteration)r.   Úrs     r   Ú__next__z_CallableIterator.__next__J   s*   € ð �G‰G‹Iˆð �—‘ÒÜÐð ˆr   N)r    Ú
__module__Ú__qualname__r/   r1   r5   r   r   r   r*   r*   B   s   „ ò!òó
r   r*   c               óJ  — |t         u rs| }t        |d«      r6|j                  «       }t        |d«      r|S t        dt	        |«      › d�«      ‚t        |d«      rd„ } ||«      S t        dt	        |«      › d�«      ‚| }t        |t        «      st        d«      ‚t        ||«      S )Nr1   r5   ú'z' object is not iterableÚ__getitem__c              3  ób   K  — d}	 	 | j                  |«      –— |dz  }Œ# t        $ r Y y w xY w­w)Nr   r   )r:   Ú
IndexError)r   Úis     r   Úsequence_protocolz iter_.<locals>.sequence_protocoli   sE   è ø€ Ø�ØðØ&×2Ñ2°1Ó5Ò5Ø˜Q™˜ð øô &ò Ùðüs   ‚/‡  Ÿ/ 	,©/«,¬/z iter(v, w): v must be a callable)Ú_sentinel_missingÚhasattrr1   r   r   r   r   r*   )Úfn_or_iterabler-   r   Úiteratorr>   r,   s         r   Úiter_rC   [   s³   € ð Ô$Ñ$Ø!ˆÜ�8˜ZÔ(Ø×(Ñ(Ó*ˆHÜ�x Ô,Ø�ä !¤D¨£NÐ#3Ð3KÐ LÓMÐMÜ�8˜]Ô+òñ % XÓ.Ð.Ü˜!œD ›NÐ+Ð+CÐDÓEÐEð ˆä˜"œhÔ'ÜÐ>Ó?Ð?ä   XÓ.Ð.r   c                ó   — |S r$   r   )ÚtypÚvals     r   r   r      s   € à€Jr   )r   zIterable[object]ÚreturnÚbool)r   )r   úIterable[_T]r!   r   rG   zIterable[tuple[int, _T]])r!   r   r   rI   rG   r   )rE   r   rF   r   rG   r   )Ú__doc__Ú
__future__r   Úbuiltinsr%   r'   ÚtypingÚcollections.abcr   r   r   Ú
decoratorsr   r	   Ú__all__r   r
   r   r   r   r*   Úobjectr?   rC   r   r   r   r   ú<module>rR      sÿ   ðñõ #ã Û Û Û Ý $ß )å ,ñ Ý(ò€ñ ˆTƒ]€ñ �X—\‘\¸TÔBòó Cðñ �X—\‘\¸TÔBòó Cðñ �X×'Ñ'¸$Ô?óó @ðñ �X—\‘\¸TÔBó;ó Cð;÷ñ ñ* “HÐ ð $5ó !/ñH �V—[‘[¸DÔAòó Bñr   