§
    ‹ã÷c¬  ã                  óv   — d dl mZ d dlZd dl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 d dlZdd„Zdd„ZdS )é    )ÚannotationsN)ÚPathé   )Úrun_toolé   )Údetect_clangformat)Úversion_compare)ÚExternalProgramÚfnamer   ÚexelistúT.List[str]ÚcheckÚboolÚreturnúsubprocess.CompletedProcessc                óÌ  — d}|rPt          d|¦  «                             ¦   «         }t          |d¦  «        r
d}|ddgz   }n|                      ¦   «         }|                      ¦   «         j        }t          j        |ddt          | ¦  «        gz   ¦  «        }|                      ¦   «         j        }||k    r0t          d	| ¦  «         |r|s|  
                    |¦  «         d
|_        |S )NFúclang-formatz>=10Tz	--dry-runz--Werrorz-style=filez-izFile reformatted: r   )r
   Úget_versionr	   Ú
read_bytesÚstatÚst_mtimeÚ
subprocessÚrunÚstrÚprintÚwrite_bytesÚ
returncode)	r   r   r   Úclangformat_10Úcformat_verÚoriginalÚbeforeÚretÚafters	            ú@/usr/lib/python3/dist-packages/mesonbuild/scripts/clangformat.pyÚrun_clang_formatr%      sí   € Ø€NØð *Ý% n°gÑ>Ô>×JÒJÑLÔLˆÝ˜;¨Ñ/Ô/ð 	*Ø!ˆNØ ¨jÐ 9Ñ9ˆGˆGà×'Ò'Ñ)Ô)ˆHØ�ZŠZ‰\Œ\Ô"€FÝ
Œ.˜ M°4½¸U¹¼Ð#DÑDÑ
EÔ
E€CØ�JŠJ‰LŒLÔ!€EØ�‚€ÝÐ" EÑ*Ô*Ð*Øð 	˜ð 	à×Ò˜hÑ'Ô'Ð'ØˆCŒNØ€Jó    ÚargsÚintc                óÎ  — t          j        ¦   «         }|                     dd¬¦  «         |                     d¦  «         |                     d¦  «         |                     | ¦  «        }t	          |j        ¦  «        }t	          |j        ¦  «        }t          ¦   «         }|s't          dd 	                    |¦  «        z  ¦  «         dS t          d	||t          ||j        ¦  «        S )
Nz--checkÚ
store_true)ÚactionÚ	sourcedirÚbuilddirz#Could not execute clang-format "%s"ú r   r   )ÚargparseÚArgumentParserÚadd_argumentÚ
parse_argsr   r,   r-   r   r   Újoinr   r%   r   )r'   ÚparserÚoptionsÚsrcdirr-   r   s         r$   r   r   .   sÙ   € ÝÔ$Ñ&Ô&€FØ
×Ò˜	¨,ÐÑ7Ô7Ð7Ø
×Ò˜Ñ$Ô$Ð$Ø
×Ò˜
Ñ#Ô#Ð#Ø×Ò Ñ%Ô%€Gå�'Ô#Ñ$Ô$€FÝ�GÔ$Ñ%Ô%€Hå Ñ"Ô"€GØð ÝÐ3°c·h²h¸wÑ6GÔ6GÑGÑHÔHÐHØˆqå�N F¨HÕ6FÈÐQXÔQ^Ñ_Ô_Ð_r&   )r   r   r   r   r   r   r   r   )r'   r   r   r(   )Ú
__future__r   r/   r   Úpathlibr   r   Úenvironmentr   Úmesonlibr	   Úprogramsr
   ÚtypingÚTr%   r   © r&   r$   ú<module>r?      sÌ   ðð #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø &Ð &Ð &Ð &Ð &Ð &Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð ðð ð ð ð(`ð `ð `ð `ð `ð `r&   