ó
    Ñ]j®  ã                  ó¦  • S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
Jr  S SK
Jr  S SK
Jr  S SK
Jr  S SK
Jr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  \" S5      r\" S5      rSS jrSSS jjrSS jrSS jr " S S\5      r S         SS jjr \RB                  S S j5       r"SS\" 5       S.             S!S jjr#g)"é    )ÚannotationsN)ÚCallable)Ú	Generator)ÚIterable)ÚMutableMapping)ÚSequence)ÚAny)ÚTypeVar)Úparse_shebang)Úcmd_output_b)Úcmd_output_pÚTArgÚTRetc                 ó®   •  [        [        R                  " S5      5      $ ! [         a     Of = f [        R
                  " 5       $ ! [         a     gf = f)Nr   é   )ÚlenÚosÚsched_getaffinityÚAttributeErrorÚmultiprocessingÚ	cpu_countÚNotImplementedError© ó    ÚM/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pre_commit/xargs.pyr   r      sW   € ðô ”2×'Ò'¨Ó*Ó+Ð+øÜó ÙðúðÜ×(Ò(Ó*Ð*øÜó Ùðús   ‚! ¡
.­.²A Á
AÁAc                óÖ   • U b  U O[        [        S[        R                  5      nS[        U5      -  nUR	                  5        H"  u  p4U[        U5      [        U5      -   S-   -  nM$     U$ )NÚenvironbé   é   )Úgetattrr   Úenvironr   Úitems)Ú_envr!   ÚsizeÚkÚvs        r   Ú_environ_sizer'   )   s[   € ØÑ&‰d¬G´B¸
ÄBÇJÁJÓ,O€GØŒs�7‹|Ñ€DØ—‘–‰ˆØ”�A“œ˜Q›‘ !Ñ#Ñ#Šñ  à€Kr   c                 óÎ   • [         R                  S:X  a<  [         R                  " S5      S-
  [        5       -
  n [	        [        U S5      S5      n U $ [         R                  S:X  a  gg)NÚposixÚ
SC_ARG_MAXi   i   i   Únti x  )r   ÚnameÚsysconfr'   ÚmaxÚmin)Úmaximums    r   Ú_get_platform_max_lengthr1   1   sS   € Ü	‡w�w�'ÓÜ—*’*˜\Ó*¨TÑ1´M³OÑCˆÜ”c˜' 7Ó+¨WÓ5ˆØˆÜ	�‰�D‹Øð r   c                 óà   • SR                  U 5      n[        R                  S:X  a  [        UR	                  S5      5      S-  $ [        UR	                  [        R
                  " 5       5      5      $ )NÚ Úwin32zutf-16ler   )ÚjoinÚsysÚplatformr   ÚencodeÚgetfilesystemencoding)ÚcmdÚfull_cmds     r   Ú_command_lengthr<   =   sS   € Ø�x‰x˜‹}€Hô ‡|�|�wÓÜ�8—?‘? :Ó.Ó/°1Ñ4Ð4ä�8—?‘?¤3×#<Ò#<Ó#>Ó?Ó@Ð@r   c                  ó   • \ rS rSrSrg)ÚArgumentTooLongErroréH   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   r   r   r>   r>   H   s   † Úr   r>   c                ó|  • U=(       d
    [        5       n[        S[        R                  " [	        U5      U-  5      5      n[        U 5      n / n/ n[        [        U5      5      n[        U 6 S-   nU(       a¡  UR                  5       n[        U5      S-   n	Xy-   U::  a%  [	        U5      U:  a  UR                  U5        Xy-  nOMU(       d  [        U5      eUR                  U [        U5      -   5        / n[        U 6 S-   nUR                  U5        U(       a  M¡  UR                  U [        U5      -   5        [        U5      $ )Né   r   )r1   r.   ÚmathÚceilr   ÚtupleÚlistÚreversedr<   ÚpopÚappendr>   )
r:   ÚvarargsÚtarget_concurrencyÚ_max_lengthÚmax_argsÚretÚret_cmdÚtotal_lengthÚargÚ
arg_lengths
             r   Ú	partitionrW   L   s  € ð ×;Ô!9Ó!;€Kô �1”d—i’i¤ G£Ð/AÑ AÓBÓC€Hä
�‹*€CØ
€Cà€Gä”8˜GÓ$Ó%€Gä" CÐ(¨1Ñ,€LÞ
Ø�k‰k‹mˆä$ SÓ)¨AÑ-ˆ
àÑ)¨[Ó8Ü�G“˜xÓ'à�N‰N˜3ÔØÑ&‰LÞÜ& sÓ+Ð+ð �J‰J�sœU 7›^Ñ+Ô,ØˆGÜ*¨CÐ0°1Ñ4ˆLØ�N‰N˜3Ô÷# ˆ'ð& ‡J�Jˆs”U˜7“^Ñ#Ô$ä�‹:Ðr   c              #  ó¸   #   • U S:X  a	  [         v •  g [        R                  R                  U 5       nUR                   v •  S S S 5        g ! , (       d  f       g = f7f)Nr   )ÚmapÚ
concurrentÚfuturesÚThreadPoolExecutor)ÚmaxsizeÚexs     r   Ú_thread_mapperr_   x   s=   é € ð �!ƒ|Ü‹	ä×Ñ×2Ñ2°7Ô;¸rØ—&‘&ŠL÷ <×;Ö;üs   ‚/A±A	Á 	AÁ	
AÁAFr   )ÚcolorrO   rP   c               ó¾  ^^• U(       a  [         O[        mSnSn [        R                  " U 5      n [        R                  S:X  aZ  U S   R                  5       R                  S5      (       a3  [        R                  " S5      n	S[        U	5      -
  [        S	5      -
  S
-
  n[        XX45      n
    SUU4S jjn[        [        U
5      U5      n[        U5       nU" Xº5      nU H&  u  nnn[        U5      [        U5      :”  a  UnUU-  nM(     SSS5        Xg4$ ! [        R                   a  nUR                  5       SS s SnA$ SnAff = f! , (       d  f       Xg4$ = f)zŸA simplified implementation of xargs.

color: Make a pty if on a platform that supports it
target_concurrency: Target number of partitions to run concurrently
r   r   Nr   r4   )z.batz.cmdzcmd.exei    z /c i   c                ó6   >• T" U S[         R                  S.TD6$ )NF)ÚcheckÚstderr)Ú
subprocessÚSTDOUT)Úrun_cmdÚcmd_fnÚkwargss    €€r   Úrun_cmd_partitionÚ xargs.<locals>.run_cmd_partition¨   s'   ø€ ñ Ø˜E¬*×*;Ñ*;ñ
Ø?Eñ
ð 	
r   )rg   útuple[str, ...]Úreturnztuple[int, bytes, bytes | None])r   r   r   Únormalize_cmdÚExecutableNotFoundErrorÚ	to_outputr6   r7   ÚlowerÚendswithÚfind_executabler   rW   r/   r_   Úabs)r:   rN   r`   rO   rP   ri   ÚretcodeÚstdoutÚeÚcmd_exeÚ
partitionsrj   ÚthreadsÚ
thread_mapÚresultsÚproc_retcodeÚproc_outÚ_rh   s        `            @r   Úxargsr€   ƒ   sU  ù€ ö #�\¬€FØ€GØ€Fð!Ü×)Ò)¨#Ó.ˆô �L‰L˜GÓ#Ø�‰F�L‰L‹N×#Ñ#Ð$4×5Ñ5ô  ×/Ò/°	Ó:ˆð œS ›\Ñ)¬C°«KÑ7¸$Ñ>ˆä˜3Ð);ÓI€Jð
Ø$ð
à	(÷
ð 
ô ”#�j“/Ð#5Ó6€GÜ	˜Ô	  JÙÐ.Ó;ˆã)0Ñ%ˆL˜( AÜ�<Ó ¤3 w£<Ó/Ø&�Ø�hÑŠFñ *1÷ 
!ð ˆ?ÐøôC ×0Ñ0ó !Ø�{‰{‹}˜R˜aÐ Õ ûð!ú÷2 
!Ô	 ð ˆ?Ðús)   ›D Ã5EÄE	Ä,EÄ>E	ÅE	Å
E)rm   Úint)N)r#   zMutableMapping[str, str] | Nonerm   r�   )r:   Ústrrm   r�   )
r:   úSequence[str]rN   rƒ   rO   r�   rP   z
int | Nonerm   ztuple[tuple[str, ...], ...])r]   r�   rm   zNGenerator[Callable[[Callable[[TArg], TRet], Iterable[TArg]], Iterable[TRet]],])r:   rl   rN   rƒ   r`   ÚboolrO   r�   rP   r�   ri   r	   rm   ztuple[int, bytes])$Ú
__future__r   Úconcurrent.futuresrZ   Ú
contextlibrG   r   r   re   r6   Úcollections.abcr   r   r   r   r   Útypingr	   r
   Ú
pre_commitr   Úpre_commit.utilr   r   r   r   r   r'   r1   r<   ÚRuntimeErrorr>   rW   Úcontextmanagerr_   r€   r   r   r   Ú<module>rŽ      s  ðÝ "ã Û Û Û Û 	Û Û 
Ý $Ý %Ý $Ý *Ý $Ý Ý å $Ý (Ý (áˆvƒ€Ùˆvƒ€ôöô	ôAô	˜<ô 	ð #'ð	)Øð)àð)ð  ð)ð  ð	)ð
 !õ)ðX ×Ñóó ðð Ø"#Ù3Ó5ñ5Øð5àð5ð ð	5ð
  ð5ð ð5ð ð5ð ö5r   