+
    SBi                         R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^RI
Ht ^RIHt ^RIHt ]P                   ! R4      t ]t ! R	 R
]4      tR# )zRdistutils.command.build_scripts

Implements the Distutils 'build_scripts' command.N)log)ST_MODE)ClassVar)newer)Command)convert_pathz^#!.*python[0-9.]*([ 	].*)?$c                   ~   a  ] tR t^t o Rt. ROtR.tR tR tR t	R t
R tR tR	 tR
 t]R 4       tV 3R ltRtV tR# )build_scriptsz("build" scripts (copy and fixup #! line)forcec                >    R V n         R V n        R V n        R V n        R # N)	build_dirscriptsr
   
executableselfs   &P/usr/lib/python3.14/site-packages/setuptools/_distutils/command/build_scripts.pyinitialize_options build_scripts.initialize_options$   s    
    c                d    V P                  R RRR4       V P                  P                  V n        R# )buildN)r	   r   )r
   r
   )r   r   )set_undefined_optionsdistributionr   r   s   &r   finalize_optionsbuild_scripts.finalize_options*   s1    ""*(		
 ((00r   c                    V P                   # r   )r   r   s   &r   get_source_filesbuild_scripts.get_source_files3   s    ||r   c                N    V P                   '       g   R # V P                  4        R # r   )r   copy_scriptsr   s   &r   runbuild_scripts.run6   s    |||r   c                    V P                  V P                  4       . p. pV P                   F  pV P                  W1V4       K  	  V P	                  V4       W3# )a  
Copy each script listed in ``self.scripts``.

If a script is marked as a Python script (first line matches
'shebang_pattern', i.e. starts with ``#!`` and contains
"python"), then adjust in the copy the first line to refer to
the current Python interpreter.
)mkpathr   r   _copy_script_change_modes)r   outfilesupdated_filesscripts   &   r   r    build_scripts.copy_scripts;   sU     	DNN#llFf> # 	8$&&r   c                   R p\        V4      p\        P                  P                  V P                  \        P                  P                  V4      4      pVP                  V4       V P                  '       g+   \        W4      '       g   \        P                  ! RV4       R #  \        P                  ! V4      pVP                  4       pV'       g   V P                  V R24       R # \        P!                  V4      pVP                  V4       V'       Ed    \        P&                  ! RWP                  4       V P$                  '       g   VP)                  ^4      ;'       g    RpRV P*                  ,           V,           R,           p	V P-                  WP.                  4       \        VRVP.                  R7      ;_uu_ 4       p
V
P1                  V	4       V
P3                  VP5                  4       4       R R R 4       V'       d   VP7                  4        R # R # V'       d   VP7                  4        V P9                  W4       R #   \"         d    T P$                  '       g   h R p ELgi ; i  + '       g   i     L~; i)	Nznot copying %s (up-to-date)z is an empty file (skipping)zcopying and adjusting %s -> %s z#!
w)encoding)r   ospathjoinr   basenameappendr
   r   r   debugtokenizeopenreadlinewarnshebang_patternmatchOSErrordry_runinfogroupr   _validate_shebangr/   write
writelines	readlinesclose	copy_file)r   r)   r'   r(   shebang_matchoutfilef
first_linepost_interpshebangoutfs   &&&&       r   r%   build_scripts._copy_scriptN   s   f%'',,t~~rww/?/?/GH zzz%"8"8II3V<	>f%A J		VH$@AB+11*=MW%=HH5v~~N<<<+11!4::0;>E&&w

;'3<<JJw'OOAKKM2 = 	  	NN6+7  	<<<A	& =<s$   #I   1I' I$I$#I$'I7	c                h    \         P                  R 8w  d   R# V F  pV P                  V4       K  	  R# )posixN)r0   name_change_mode)r   r'   files   && r   r&   build_scripts._change_modesy   s)    77gDd# r   c                8   V P                   '       d   \        P                  ! R V4       R# \        P                  ! V4      \
        ,          R,          pVR,          R,          pW28w  d1   \        P                  ! RWV4       \        P                  ! W4       R# R# )zchanging mode of %sNi  im  z!changing mode of %s from %o to %o)r=   r   r>   r0   statr   chmod)r   rR   oldmodenewmodes   &&  r   rQ   build_scripts._change_mode   sj    <<<HH*D1''$-(61U?f,HH8$QHHT# r   c                     V P                  R 4        T P                  T4       R#   \         d    \        RT : R24      hi ; i  \         d    \        RT : RT R24      hi ; i)zutf-8zThe shebang (z) is not encodable to utf-8z+) is not encodable to the script encoding ()N)encodeUnicodeEncodeError
ValueError)rK   r/   s   &&r   r@   build_scripts._validate_shebang   s    	UNN7#	NN8$ " 	U}WK7RSTT	U " 	{ +++3*A7 	s   ' A AA%c                   < V ^8  d   Qh/ S[ S[S[S[S[S[3,          ,          ,          ;R&   S[ S[S[,          ,          ;R&   # )   user_optionsboolean_options)r   listtuplestr)format__classdict__s   "r   __annotate__build_scripts.__annotate__   s?      4c3m 456   d3i(4 r   )r   r   r
   r   N))z
build-dir=dzdirectory to "build" (copy) to)r
   rH   z1forcibly build everything (ignore file timestamps)zexecutable=ez*specify final destination interpreter path)__name__
__module____qualname____firstlineno__descriptionrb   rc   r   r   r   r!   r    r%   r&   rQ   staticmethodr@   __annotate_func____static_attributes____classdictcell__)rh   s   @r   r	   r	      s_     >K:L -49O1
'&),V$	$  g  r   r	   )__doc__r0   rer6   distutils._logr   rU   r   typingr   	_modifiedr   corer   utilr   compiler:   first_line_rer	    r   r   <module>r      sP   5 
 	       **<=
  GG Gr   