�
�Wc& � �T � d dl mZ d dlmZmZmZ G d� dej � ZdS )� )�
fixer_base)� BlankLine�syms�tokenc �. � e Zd ZdZd e� z Zd� ZdS )�FixItertoolsImportsTzT
import_from< 'from' 'itertools' 'import' imports=any >
c �( � |d }|j t j k s|j s|g}n|j }|d d d� D ]� }|j t j
k r|j }|}n4|j t j k r d S |j d }|j }|dv rd |_ |j � ��|dv s��|j � |d dk rdnd |_ ��|j d d p|g}d
} |D ]: }| r1|j t j k r|j � �6| d
z } �<|rm|d j t j k rH|j � j � |r&|d j t j k r�H|j st |dd � r|j �!|j }
t � }|
|_ |S d S )
N�imports� r )�imap�izip�ifilter)�ifilterfalse�izip_longest� �f�filterfalse�zip_longestT������value)�typer �import_as_name�childrenr �NAMEr �STAR�remove�changed�COMMA�pop�getattr�parent�prefixr )�self�node�resultsr
r �child�member� name_node�member_name�remove_comma�ps �</usr/lib64/python3.12/lib2to3/fixes/fix_itertools_imports.py� transformzFixItertoolsImports.transform s � ��)�$���<�<�4�.�.�.�.�g�6F�6F�6F��y�H�H��'�'�H��c�c��c�]� 7� 7�E��z�z�U�Z�Z�'�'�����!� � ����u�z�z�)�)���� "�N�N�1�-� �#�/�/�K��9�9�9�"���������� @�@�@�������4?��N�c�4I�4I�=�=�(5� ��� �#�#�A�A�&�3�7�)����� %� %�E��|��
�
�e�k�k� 9� 9���������$����h�8�B�<�,�,����;�;��L�L�N�!�!�#�#� �h�8�B�<�,�,����;�;�� �!�!�!�W�W�g�t�%D�%D��N�N�"����A��;�D��D�K��K�
#�"� N)�__name__�
__module__�__qualname__�
BM_compatible�locals�PATTERNr- � r. r, r r s; � � � � � ��M���F�H��G�+� +� +� +� +r. r N)�lib2to3r �lib2to3.fixer_utilr r r �BaseFixr r5 r. r, �<module>r9 so �� G� � � � � � � 5� 5� 5� 5� 5� 5� 5� 5� 5� 5�1� 1� 1� 1� 1�*�,�,� 1� 1� 1� 1r.