ó
    æ“–g  ã                   ó0   • S r SSKrS r " S S5      rS rg)zÁPython module for generating .ninja files.

Note that this is emphatically not a required piece of Ninja; it's
just a helpful utility for build-file-generation systems that already
use Python.
é    Nc                 óf   • U R                  SS5      R                  SS5      R                  SS5      $ )Nz$ z$$ Ú Ú:z$:©Úreplace)Úwords    Ú2/usr/lib/python3/dist-packages/gyp/ninja_syntax.pyÚescape_pathr
      s-   € Ø�<‰<˜˜eÓ$×,Ñ,¨S°$Ó7×?Ñ?ÀÀTÓJÐJó    c                   óˆ   • \ rS rSrSS jrS rS rSS jrS r        SS jr	 SS	 jr
S
 rS rS rS rSS jrS rSrg)ÚWriteré   c                 ó   • Xl         X l        g ©N©ÚoutputÚwidth)Úselfr   r   s      r	   Ú__init__ÚWriter.__init__   s   € ØŒØ�
r   c                 ó:   • U R                   R                  S5        g )NÚ
)r   Úwrite)r   s    r	   ÚnewlineÚWriter.newline   s   € Ø�‰×Ñ˜$Õr   c                 óš   • [         R                  " XR                  S-
  5       H$  nU R                  R	                  SU-   S-   5        M&     g )Né   z# r   )ÚtextwrapÚwrapr   r   r   )r   ÚtextÚlines      r	   ÚcommentÚWriter.comment   s8   € Ü—M’M $¯
©
°Q©Ö7ˆDØ�K‰K×Ñ˜d T™k¨DÑ0Ö1ò 8r   c                 óš   • Uc  g [        U[        5      (       a  SR                  [        S U5      5      nU R	                  U SU 3U5        g )Nr   z = )Ú
isinstanceÚlistÚjoinÚfilterÚ_line)r   ÚkeyÚvalueÚindents       r	   ÚvariableÚWriter.variable   sE   € Ø‰=ØÜ�eœT×"Ñ"Ø—H‘HœV D¨%Ó0Ó1ˆEØ�
‰
�c�U˜#˜e˜WÐ% vÕ.r   c                 óN   • U R                  SU-  5        U R                  SUSS9  g )Nzpool %sÚdepthé   ©r,   ©r)   r-   )r   Únamer0   s      r	   ÚpoolÚWriter.pool&   s%   € Ø�
‰
�9˜tÑ#Ô$Ø�‰�g˜u¨QˆÒ/r   Nc                 óÐ  • U R                  SU-  5        U R                  SUSS9  U(       a  U R                  SUSS9  U(       a  U R                  SUSS9  U(       a  U R                  SSSS9  U(       a  U R                  S	USS9  U(       a  U R                  S
SSS9  U(       a  U R                  SUSS9  U	(       a  U R                  SU	SS9  U
(       a  U R                  SU
SS9  g g )Nzrule %sÚcommandr1   r2   ÚdescriptionÚdepfileÚ	generatorÚ1r5   ÚrestatÚrspfileÚrspfile_contentÚdepsr3   )r   r4   r8   r9   r:   r;   r5   r=   r>   r?   r@   s              r	   ÚruleÚWriter.rule*   sÕ   € ð 	�
‰
�9˜tÑ#Ô$Ø�‰�i °ˆÑ3ÞØ�M‰M˜-¨¸QˆMÑ?ÞØ�M‰M˜) W°QˆMÑ7ÞØ�M‰M˜+ s°1ˆMÑ5ÞØ�M‰M˜& $¨qˆMÑ1ÞØ�M‰M˜( C°ˆMÑ2ÞØ�M‰M˜) W°QˆMÑ7ÞØ�M‰MÐ+¨_ÀQˆMÑGÞØ�M‰M˜& $¨qˆMÒ1ð r   c           	      ó  • U R                  U5      nU R                  U5      S S  n[        [        [        U5      5      n[        [        [        U5      5      nU(       aA  [        [        U R                  U5      5      nUR	                  S5        UR                  U5        U(       aA  [        [        U R                  U5      5      nUR	                  S5        UR                  U5        U R                  SR                  SR                  U5      SR                  U/U-   5      5      5        U(       aU  [        U[        5      (       a  [        UR                  5       5      n	O[        U5      n	U	 H  u  p«U R                  X«SS9  M     U$ )NÚ|z||zbuild {}: {}r   r1   r2   )Ú_as_listr&   Úmapr
   ÚappendÚextendr)   Úformatr'   r%   ÚdictÚiterÚitemsr-   )r   ÚoutputsrA   ÚinputsÚimplicitÚ
order_onlyÚ	variablesÚ
all_inputsÚout_outputsÚiteratorr*   Úvals               r	   ÚbuildÚWriter.buildJ   s3  € ð —-‘- Ó(ˆØ—]‘] 6Ó*©1Ð-ˆ
Üœ3œ{¨GÓ4Ó5ˆÜœ#œk¨:Ó6Ó7ˆ
æÜœ;¨¯©°hÓ(?Ó@ˆHØ×Ñ˜cÔ"Ø×Ñ˜hÔ'ÞÜœ[¨$¯-©-¸
Ó*CÓDˆJØ×Ñ˜dÔ#Ø×Ñ˜jÔ)à�
‰
Ø×!Ñ! #§(¡(¨;Ó"7¸¿¹À4À&È:ÑBUÓ9VÓWô	
ö Ü˜)¤T×*Ñ*Ü 	§¡Ó 1Ó2‘ä 	›?�ã$‘�Ø—‘˜c¨q�Ó1ñ %ð ˆr   c                 ó,   • U R                  SU-  5        g )Nz
include %s©r)   ©r   Úpaths     r	   ÚincludeÚWriter.includej   s   € Ø�
‰
�< $Ñ&Õ'r   c                 ó,   • U R                  SU-  5        g )Nzsubninja %srY   rZ   s     r	   ÚsubninjaÚWriter.subninjam   s   € Ø�
‰
�= 4Ñ'Õ(r   c                 óh   • U R                  SSR                  U R                  U5      5      -  5        g )Nz
default %sr   )r)   r'   rE   )r   Úpathss     r	   ÚdefaultÚWriter.defaultp   s%   € Ø�
‰
�< #§(¡(¨4¯=©=¸Ó+?Ó"@Ñ@ÕAr   c                 ód   • SnUS-
  nUS:”  a"  X   S:X  a  US-  nUS-  nUS:”  a
  X   S:X  a  M  U$ )z<Returns the number of '$' characters right in front of s[i].r   r1   Ú$© )r   ÚsÚiÚdollar_countÚdollar_indexs        r	   Ú_count_dollars_before_indexÚ"Writer._count_dollars_before_indexs   sP   € àˆØ˜1‘uˆØ˜QÓ 1¡?°cÓ#9Ø˜AÑˆLØ˜AÑˆLð ˜QÓ 1¡?°cÕ#9ð Ðr   c                 ó’  • SU-  n[        U5      [        U5      -   U R                  :”  aý  U R                  [        U5      -
  [        S5      -
  nUn UR                  SSU5      nUS:  d  U R                  X5      S-  S:X  a  OM4  US:  a<  US-
  n UR	                  SUS-   5      nUS:  d  U R                  X5      S-  S:X  a  OM6  US:  a  OYU R
                  R                  X1SU -   S-   5        XS-   S nSUS-   -  n[        U5      [        U5      -   U R                  :”  a  Mý  U R
                  R                  X1-   S	-   5        g)
z3Write 'text' word-wrapped at self.width characters.z  z $r   r   r   r1   z $
Nr   )Úlenr   Úrfindrl   Úfindr   r   )r   r    r,   Úleading_spaceÚavailable_spaceÚspaces         r	   r)   ÚWriter._line|   sZ  € à˜v™ˆÜ�-Ó ¤3 t£9Ñ,¨t¯z©zÓ9ð
 #Ÿj™j¬3¨}Ó+=Ñ=ÄÀDÃ	ÑIˆOØ#ˆEØØŸ
™
 3¨¨5Ó1�Ø˜1“9 × @Ñ @ÀÓ MÐPQÑ QÐUVÓ VØñ ð
 �q‹yà'¨!Ñ+�ØØ ŸI™I c¨5°1©9Ó5�Eà ›	Ø×;Ñ;¸DÓHÈ1ÑLÐPQÓQàñ ð �q‹yàà�K‰K×Ñ˜m°1°U¨mÑ;¸fÑDÔEØ ™	˜Ð$ˆDð ! F¨Q¡JÑ/ˆMô= �-Ó ¤3 t£9Ñ,¨t¯z©zÕ9ð@ 	�‰×Ñ˜-Ñ.°Ñ5Õ6r   c                 ó@   • Uc  / $ [        U[        5      (       a  U$ U/$ r   )r%   r&   )r   Úinputs     r	   rE   ÚWriter._as_list¡   s%   € Ø‰=ØˆIÜ�eœT×"Ñ"ØˆLØˆwˆr   r   )éN   )r   )NNFNFNNN)NNNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r"   r-   r5   rA   rV   r\   r_   rc   rl   r)   rE   Ú__static_attributes__rg   r   r	   r   r      sh   † ôò ò2ô/ò0ð ØØØØØØØô2ðB UYôò@(ò)òBòô#7õJr   r   c                 ó@   • SU ;  d   S5       eU R                  SS5      $ )z^Escape a string such that it can be embedded into a Ninja file without
further interpretation.r   z$Ninja syntax does not allow newlinesrf   z$$r   )Ústrings    r	   Úescaper�   ©   s)   € ð �vÓÐEÐEÓEÐà�>‰>˜#˜tÓ$Ð$r   )Ú__doc__r   r
   r   r�   rg   r   r	   Ú<module>rƒ      s'   ðñ
ó òK÷Sñ Sól%r   