Ë
    tPêj-	  ã            	       ó‚   — d Z ddlZddlZddlmZ ddlmZ ddlmZ  G d„ de	«      Z
d	 e«       d
œdee   dededefd„Zy)zl
A thin `subprocess` wrapper for making long-running subprocesses more
responsive from the `pip-audit` CLI.
é    N)ÚSequence)ÚPopené   )Ú
AuditStatec                   ó0   ‡ — e Zd ZdZdededdfˆ fd„Zˆ xZS )ÚCalledProcessErrorzY
    Raised if the underlying subprocess created by `run` exits with a nonzero code.
    ÚmsgÚstderrÚreturnNc                ó2   •— t         ‰| �  |«       || _        y)z4
        Create a new `CalledProcessError`.
        N)ÚsuperÚ__init__r
   )Úselfr	   r
   Ú	__class__s      €úZ/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/pip_audit/_subprocess.pyr   zCalledProcessError.__init__   s   ø€ ô 	‰Ñ˜ÔØˆ�ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   Ú__classcell__)r   s   @r   r   r      s'   ø„ ñð˜Cð ¨Cð °D÷ ñ r   r   F)Ú
log_stdoutÚstateÚargsr   r   r   c                óŽ  — dj                  t        j                  j                  | d   «      g| dd ¢«      }d}d}d}t	        | dt
        j                  t
        j                  ¬«      5 }|sx|j                  «       du}||j                  j                  «       z  }||j                  j                  «       z  }|j                  d|› �|r|j                  d	¬
«      nd«       |sŒx|j                  dk7  r,t        |› d|j                  › �|j                  d	¬
«      ¬«      ‚	 ddd«       |j                  dd	¬
«      S # 1 sw Y   ŒxY w)zæ
    Execute the given arguments.

    Uses `state` to provide feedback on the subprocess's status.

    Raises a `CalledProcessError` if the subprocess fails. Otherwise, returns
    the process's `stdout` stream as a string.
    ú r   r   NFr   )ÚbufsizeÚstdoutr
   zRunning Úreplace)Úerrorsz exited with )r
   zutf-8)ÚjoinÚosÚpathÚbasenamer   Ú
subprocessÚPIPEÚpollr   Úreadr
   Úupdate_stateÚdecodeÚ
returncoder   )r   r   r   Úpretty_argsÚ
terminatedr   r
   Úprocesss           r   Úrunr0      s>  € ð —(‘(œBŸG™G×,Ñ,¨T°!©WÓ5ÐA¸¸Q¸R¸ÐAÓB€Kà€JØ€FØ€Fô 
ˆt˜Q¤z§¡¼z¿¹Ô	Oð ÐSZñ Ø Ÿ™›¨tÐ3ˆJØ�g—n‘n×)Ñ)Ó+Ñ+ˆFØ�g—n‘n×)Ñ)Ó+Ñ+ˆFØ×ÑØ˜;˜-Ð(Ù3=�—‘ Y�Ô/À4ôò	 ð ×Ñ Ò"Ü$Ø�-˜}¨W×-?Ñ-?Ð,@ÐAØ—}‘}¨I�}Ó6ôð ð #÷ð& �=‰=˜¨ˆ=Ó3Ð3÷'ð ús   Á)A:D;Ã$;D;Ä;E)r   Úos.pathr#   r&   Úcollections.abcr   r   Ú_stater   Ú	Exceptionr   r   Úboolr0   © r   r   ú<module>r7      sV   ðñó
 Û Ý $Ý å ô
˜ô 
ð 49ÉjËlò (4ˆh�s‰mð (4¨Dð (4Àð (4Ð_bô (4r   