Ë
    #´˜j  ã                   óž   — d Z ddlm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
mZ  ej                  d«      Z G d„ d	ej                  «      Zy
)a  Fixer for print.

Change:
    'print'          into 'print()'
    'print ...'      into 'print(...)'
    'print ... ,'    into 'print(..., end=" ")'
    'print >>x, ...' into 'print(..., file=x)'

No changes are applied if print_function is imported from __future__

é   )Úpatcomp)Úpytree)Útoken)Ú
fixer_base)ÚNameÚCallÚCommaÚStringz"atom< '(' [atom|STRING|NAME] ')' >c                   ó    — e Zd ZdZdZd„ Zd„ Zy)ÚFixPrintTzP
              simple_stmt< any* bare='print' any* > | print_stmt
              c           	      óœ  — |sJ ‚|j                  d«      }|r1|j                  t        t        d«      g |j                  ¬«      «       y |j
                  d   t        d«      k(  sJ ‚|j
                  dd  }t        |«      dk(  rt        j                  |d   «      ry d x}x}}|r|d   t        «       k(  r|d d }d}|rR|d   t        j                  t        j                  d«      k(  r(t        |«      d	k\  sJ ‚|d   j                  «       }|d
d  }|D �cg c]  }|j                  «       ‘Œ }	}|	r
d|	d   _        |€|€|�c|�%| j                  |	dt!        t#        |«      «      «       |�%| j                  |	dt!        t#        |«      «      «       |�| j                  |	d|«       t        t        d«      |	«      }
|j                  |
_        |
S c c}w )NÚbareÚprint)Úprefixé    é   éÿÿÿÿÚ z>>r   é   Ú ÚsepÚendÚfile)ÚgetÚreplacer   r   r   ÚchildrenÚlenÚparend_exprÚmatchr	   r   ÚLeafr   Ú
RIGHTSHIFTÚcloneÚ	add_kwargr
   Úrepr)ÚselfÚnodeÚresultsÚ
bare_printÚargsr   r   r   ÚargÚl_argsÚn_stmts              ú)lib/python3.12/lib2to3/fixes/fix_print.pyÚ	transformzFixPrint.transform%   sµ  € Ùˆˆwà—[‘[ Ó(ˆ
áà×Ñœt¤D¨£M°2Ø&0×&7Ñ&7ô 9ô :àØ�}‰}˜QÑ¤4¨£=Ò0Ð0Ð0Ø�}‰}˜Q˜RÐ ˆÜˆt‹9˜Š>œk×/Ñ/°°Q±Ô8ð àÐˆÐˆc�DÙ�D˜‘H¤£Ò'Ø˜˜�9ˆDØˆCÙ�D˜‘GœvŸ{™{¬5×+;Ñ+;¸TÓBÒBÜ�t“9 ’>Ð!�>Ø˜‘7—=‘=“?ˆDØ˜˜�8ˆDá)-Ó.© #�#—)‘)•+¨ˆÐ.ÙØ!ˆF�1‰IÔØˆ?˜c˜o°Ð1AØˆØ—‘˜v u¬f´T¸#³YÓ.?Ô@ØˆØ—‘˜v u¬f´T¸#³YÓ.?Ô@ØÐØ—‘˜v v¨tÔ4Ü”d˜7“m VÓ,ˆØŸ™ˆŒØˆùò /s   ÄG	c                 ó(  — d|_         t        j                  | j                  j                  t        |«      t        j                  t        j                  d«      |f«      }|r |j                  t        «       «       d|_         |j                  |«       y )Nr   Ú=r   )r   r   ÚNodeÚsymsÚargumentr   r    r   ÚEQUALÚappendr	   )r%   Úl_nodesÚs_kwdÚn_exprÚ
n_arguments        r-   r#   zFixPrint.add_kwargM   sk   € àˆŒÜ—[‘[ §¡×!3Ñ!3Ü"& u£+Ü"(§+¡+¬e¯k©k¸3Ó"?Ø"(ð"*ó+ˆ
ñ Ø�N‰Nœ5›7Ô#Ø #ˆJÔØ�‰�zÕ"ó    N)Ú__name__Ú
__module__Ú__qualname__ÚBM_compatibleÚPATTERNr.   r#   © r:   r-   r   r      s   „ à€Mð€Gò&óP
#r:   r   N)Ú__doc__r   r   r   Úpgen2r   r   Ú
fixer_utilr   r   r	   r
   Úcompile_patternr   ÚBaseFixr   r@   r:   r-   Ú<module>rF      sG   ðñ
õ Ý Ý Ý ß 2Ó 2ð &ˆg×%Ñ%Ø6ó€ô
:#ˆz×!Ñ!õ :#r:   