Ë
    #´˜j	  ã                   ój   — d Z ddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
mZ  G d„ dej                  «      Zy)	a7  
Fixer that changes zip(seq0, seq1, ...) into list(zip(seq0, seq1, ...)
unless there exists a 'from future_builtins import zip' statement in the
top-level namespace.

We avoid the transformation if the zip() call is directly contained in
iter(<>), list(<>), tuple(<>), sorted(<>), ...join(<>), or for V in <>:.
é   )Ú
fixer_base)ÚNode)Úpython_symbols)ÚNameÚArgListÚin_special_contextc                   ó   — e Zd ZdZdZdZd„ Zy)ÚFixZipTzN
    power< 'zip' args=trailer< '(' [any] ')' > [trailers=trailer*]
    >
    zfuture_builtins.zipc                 ó¼  — | j                  |«      ry t        |«      ry |d   j                  «       }d|_        g }d|v r.|d   D �cg c]  }|j                  «       ‘Œ }}|D ]	  }d|_        Œ t	        t
        j                  t        d«      |gd¬«      }t	        t
        j                  t        d«      t        |g«      g|z   «      }|j                  |_        |S c c}w )NÚargsÚ ÚtrailersÚzip)ÚprefixÚlist)	Úshould_skipr   Úcloner   r   ÚsymsÚpowerr   r   )ÚselfÚnodeÚresultsr   r   ÚnÚnews          ú'lib/python3.12/lib2to3/fixes/fix_zip.pyÚ	transformzFixZip.transform   sÍ   € Ø×Ñ˜DÔ!Øä˜dÔ#Øà�v‰×$Ñ$Ó&ˆØˆŒàˆØ˜Ñ Ø+2°:Ò+>Ó?Ñ+> a˜Ÿ™�	Ð+>ˆHÐ?Û�Ø�•ð ô ”4—:‘:¤ U£¨TÐ2¸2Ô>ˆÜ”4—:‘:¤ V£¬g°s°e«nÐ=ÀÑHÓIˆØ—[‘[ˆŒ
Øˆ
ùò @s   ÁCN)Ú__name__Ú
__module__Ú__qualname__ÚBM_compatibleÚPATTERNÚskip_onr   © ó    r   r
   r
      s   „ à€Mð€Gð
 $€Gór$   r
   N)Ú__doc__r   r   Úpytreer   Úpygramr   r   Ú
fixer_utilr   r   r   ÚConditionalFixr
   r#   r$   r   Ú<module>r*      s-   ðñõ Ý Ý +ß :Ñ :ôˆZ×&Ñ&õ r$   