§
    øyIfc  ã            
       ó  — d Z ddlZddlZddlZddlmZmZmZ ddlm	Z	m
Z
 ddlmZ  ed¬¦  «        ddee         d	ed
eddfd„¦   «         Z ed¬¦  «        ddee         d	ed
eddfd„¦   «         Z ed¬¦  «        ddee         d	ed
eddfd„¦   «         Zddee         d	ed
eddfd„Zdededededef
d„Z ej        d¦  «        Zdedee         fd„Zdededededef
d„Zdedefd„Z ed¬¦  «        ddœdededefd„¦   «         ZdS ) zMNice output for Black.

The double calls are for patching purposes in tests.
é    N)ÚAnyÚListÚOptional)ÚechoÚstyle)Ú
mypyc_attrT)Ú	patchableÚmessageÚnlÚstylesÚreturnc                 óZ   — | �d|vrd|d<   t          | fi |¤Ž} t          | |d¬¦  «         d S )NÚboldT©r   Úerr©r   r   ©r
   r   r   s      ú@/var/www/piapp/venv/lib/python3.11/site-packages/black/output.pyÚ_outr      sL   € àÐØ˜ÐÐØ!ˆF�6‰NÝ˜Ð*Ð* 6Ð*Ð*ˆÝˆ�R˜TÐ"Ñ"Ô"Ð"Ð"Ð"ó    c                 óZ   — | �d|vrd|d<   t          | fi |¤Ž} t          | |d¬¦  «         d S )NÚfgÚredTr   r   r   s      r   Ú_errr      sL   € àÐØ�vÐÐØ ˆF�4‰LÝ˜Ð*Ð* 6Ð*Ð*ˆÝˆ�R˜TÐ"Ñ"Ô"Ð"Ð"Ð"r   c                 ó$   — t          | fd|i|¤Ž d S ©Nr   )r   r   s      r   Úoutr   !   s#   € åˆÐ"Ð"�RÐ"˜6Ð"Ð"Ð"Ð"Ð"r   c                 ó$   — t          | fd|i|¤Ž d S r   )r   r   s      r   r   r   &   s#   € ÝˆÐ"Ð"�RÐ"˜6Ð"Ð"Ð"Ð"Ð"r   ÚaÚbÚa_nameÚb_namec                 óÌ   ‡‡‡‡— t          j        | ¦  «        Št          j        |¦  «        Šˆˆˆˆfd„t          ‰d         ¦  «        D ¦   «         }d                     |¦  «        S )zHReturn a unified diff string between each cell in notebooks `a` and `b`.c           
      ó  •— g | ]}\  }}|d          dk    ¯t          d                     ‰d         |         d         ¦  «        dz   d                     ‰d         |         d         ¦  «        dz   ‰› d|› �‰› d|› �¦  «        ‘Œ~S )Ú	cell_typeÚcodeÚ ÚcellsÚsourceú
z:cell_)ÚdiffÚjoin)Ú.0Úcell_numberÚcellr!   Úa_nbr"   Úb_nbs      €€€€r   ú
<listcomp>zipynb_diff.<locals>.<listcomp>.   s«   ø€ ð 	ð 	ð 	ñ ˆK˜Ø�Ô Ò&Ð&õ 	Ø�GŠG�D˜”M +Ô.¨xÔ8Ñ9Ô9¸DÑ@Ø�GŠG�D˜”M +Ô.¨xÔ8Ñ9Ô9¸DÑ@ØÐ*Ð*˜[Ð*Ð*ØÐ*Ð*˜[Ð*Ð*ñ		
ô 	
ð 'Ð&Ð&r   r(   r'   )ÚjsonÚloadsÚ	enumerater,   )r   r    r!   r"   Ú
diff_linesr0   r1   s     `` @@r   Ú
ipynb_diffr7   *   sy   øøøø€ åŒ:�a‰=Œ=€DÝŒ:�a‰=Œ=€Dð	ð 	ð 	ð 	ð 	ð 	ð 	õ "+¨4°¬=Ñ!9Ô!9ð	ñ 	ô 	€Jð �7Š7�:ÑÔÐr   z(.*?(?:\r\n|\n|\r|$))r)   c                 ó�   — d„ t                                | ¦  «        D ¦   «         }|d         dk    r|                     d¦  «         |S )zÈSplit a string into lines ignoring form feed and other chars.

    This mimics how the Python parser splits source code.

    A simplified version of the function with the same name in Lib/ast.py
    c                 ó   — g | ]
}|d          ‘ŒS )r   © )r-   Úmatchs     r   r2   z%_splitlines_no_ff.<locals>.<listcomp>E   s   € ÐCÐCÐC˜5ˆe�AŒhÐCÐCÐCr   éÿÿÿÿr'   )Ú_line_patternÚfinditerÚpop)r)   Úresults     r   Ú_splitlines_no_ffrA   >   sI   € ð DÐC¥M×$:Ò$:¸6Ñ$BÔ$BÐCÑCÔC€FØˆb„z�RÒÐØ�
Š
�2‰ŒˆØ€Mr   c                 óL  — ddl }t          | ¦  «        }t          |¦  «        }g }|                     ||||d¬¦  «        D ]Q}|d         dk    r|                     |¦  «         Œ$|                     |dz   ¦  «         |                     d¦  «         ŒRd                     |¦  «        S )	z9Return a unified diff string between strings `a` and `b`.r   Né   )ÚfromfileÚtofileÚnr<   r*   z\ No newline at end of file
r'   )ÚdifflibrA   Úunified_diffÚappendr,   )	r   r    r!   r"   rG   Úa_linesÚb_linesr6   Úlines	            r   r+   r+   K   sÅ   € à€N€N€Nå Ñ"Ô"€GÝ Ñ"Ô"€GØ€JØ×$Ò$Ø� 6°&¸Að %ñ ô ð 
@ð 
@ˆð �Œ8�tÒÐØ×Ò˜dÑ#Ô#Ð#Ð#à×Ò˜d T™kÑ*Ô*Ð*Ø×ÒÐ>Ñ?Ô?Ð?Ð?Ø�7Š7�:ÑÔÐr   Úcontentsc                 ó¢  — |                       d¦  «        }t          |¦  «        D ]–\  }}|                     d¦  «        s|                     d¦  «        r	d|z   dz   }nY|                     d¦  «        r	d|z   dz   }n;|                     d¦  «        r	d	|z   dz   }n|                     d
¦  «        rd|z   dz   }|||<   Œ—d                     |¦  «        S )z(Inject the ANSI color codes to the diff.r*   z+++z---z[1mz[0mz@@z[36mú+z[32mú-z[31m)Úsplitr5   Ú
startswithr,   )rM   ÚlinesÚirL   s       r   Ú
color_diffrU   `   sð   € à�NŠN˜4Ñ Ô €EÝ˜UÑ#Ô#ð 	ð 	‰ˆˆ4Ø�?Š?˜5Ñ!Ô!ð 	1 T§_¢_°UÑ%;Ô%;ð 	1Ø˜tÑ# iÑ/ˆDˆDØ�_Š_˜TÑ"Ô"ð 	1Ø Ñ$ yÑ0ˆDˆDØ�_Š_˜SÑ!Ô!ð 	1Ø Ñ$ yÑ0ˆDˆDØ�_Š_˜SÑ!Ô!ð 	1Ø Ñ$ yÑ0ˆDØˆˆa‰ˆØ�9Š9�UÑÔÐr   )Úensure_final_newlineÚoutputrV   c                 óò   — t          j        ddddd¬¦  «        5 }|D ]<}|                     |¦  «         | r#|r!|d         dk    r|                     d¦  «         Œ=	 d	d	d	¦  «         n# 1 swxY w Y   |j        S )
z;Dump `output` to a temporary file. Return path to the file.ÚwÚblk_z.logFÚutf8)ÚmodeÚprefixÚsuffixÚdeleteÚencodingr<   r*   N)ÚtempfileÚNamedTemporaryFileÚwriteÚname)rV   rW   ÚfrS   s       r   Údump_to_filerf   p   sÓ   € õ 
Ô	$Ø˜¨°uÀvð
ñ 
ô 
ð à	
Øð 	ð 	ˆEØ�GŠG�E‰NŒNˆNØ#ð ¨ð °%¸´)¸tÒ2CÐ2CØ—’˜‘”�øð	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð Œ6€Ms   šA A'Á'A+Á.A+)NT)Ú__doc__r3   Úrera   Útypingr   r   r   Úclickr   r   Úmypy_extensionsr   ÚstrÚboolr   r   r   r   r7   Úcompiler=   rA   r+   rU   rf   r:   r   r   ú<module>ro      sÊ  ððð ð
 €€€Ø 	€	€	€	Ø €€€Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &à Ð Ð Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &ð €�dÐÑÔð#ð #�(˜3”-ð #¨Dð #À3ð #È4ð #ð #ð #ñ Ôð#ð €�dÐÑÔð#ð #�(˜3”-ð #¨Dð #À3ð #È4ð #ð #ð #ñ Ôð#ð €�dÐÑÔð#ð #�˜#”ð #¨4ð #À#ð #È$ð #ð #ð #ñ Ôð#ð#ð #�˜#”ð #¨4ð #À#ð #È$ð #ð #ð #ð #ð�#ð ˜#ð  sð °Cð ¸Cð ð ð ð ð" �”
Ð3Ñ4Ô4€ð
˜cð 
 d¨3¤ið 
ð 
ð 
ð 
ðˆCð �Cð  ð ¨cð °cð ð ð ð ð*˜ð  ð ð ð ð ð  €�dÐÑÔØ<@ð 	ð 	ð 	˜#ð 	°Tð 	ÀSð 	ð 	ð 	ñ Ôð	ð 	ð 	r   