
    m9i              	       h   d dl Z d dl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
Z
dZdedeeef   fdZd	 Zd
 ZedfdedededdfdZd"dZ e        ddlmZmZ ddlmZ ddlmZ  ed        ede         ed e                ed        ed        ed        ed        ed       	 d dlmZ e
j:                  j=                   e
j>                  dd      jA                               Z! e
j>                  dd      jA                         Z"e!jF                  jI                         jK                         Z& ee!g      Z'e"e!z  Z(e(jI                         Z)e)jU                          e'jW                          e!jF                  jI                         jK                         Z,e&e,k7  sJ  ed        ed        ejZ                  d        y# e.$ r/  e         ed e/ d!        e         ejZ                  d        Y ye0$ r+Z1 ee1        e         ejZ                  d       Y dZ1[1ydZ1[1ww xY w)#    N)warn)Tuple)isdir<   command_stringreturnc                 2    d fd} ||       \  }}||fS )Nc                 &    t        d | D              S )Nc              3   Z   K   | ]#  }|j                  d       j                          % yw)zUTF-8N)decodestrip).0	to_decodes     _/var/www/html/backtest/airagagent/rag_env/lib/python3.12/site-packages/bitsandbytes/__main__.py	<genexpr>z6execute_and_return.<locals>._decode.<locals>.<genexpr>   s,      
 W%++-
s   )+)tuple)subprocess_err_out_tuples    r   _decodez#execute_and_return.<locals>._decode   s     
5
 
 	
    c                      t        j                  t        j                  |       t         j                  t         j                        j                               S )N)stdoutstderr)
subprocessPopenshlexsplitPIPEcommunicate)r   r   s    r   &execute_and_return_decoded_std_streamszBexecute_and_return.<locals>.execute_and_return_decoded_std_streams   sA    N+!! km
 	
r    )r   r   std_outstd_errr   s       @r   execute_and_returnr#      s)    

 >nMGWGr   c                 d    d|  d| }t        |      \  }}t        |      dkD  rt        d      |S )Nzfind z -name r   zTSomething when wrong when trying to find file. Maybe you do not have a linux system?)r#   lenRuntimeError)folderfilenamecmdouterrs        r   find_file_recursiver,   !   s>    &

+C!#&HC
3x!|qrrJr   c                     t        d       t        d       t        d       t        d       dt        j                  v r>t	        t        j                  d   d      } t        d       t        |        t        d       t        d      r-t	        dd      } t        d       t        |        t        d       t        t        j                               r?t	        t        j                         d      } t        d	       t        |        t        d       t        d
       dt        j                  v rqt        j                  d   j                         }t        |j                  d            D ]3  }	 t        |      r%t        | d       t	        |d      } t        |        5 t        d       y #  t        d|        Y TxY w)N zBUG REPORT INFORMATIONCONDA_PREFIXz*cuda*sozANACONDA CUDA PATHSz/usr/local/z
/usr/localz/usr/local CUDA PATHSzWORKING DIRECTORY CUDA PATHSzLD_LIBRARY CUDA PATHSLD_LIBRARY_PATH:z CUDA PATHSz Could not read LD_LIBRARY_PATH: )
print_headerprintosenvironr,   r   getcwdr   setr   )pathslib_pathpaths      r   generate_bug_report_informationr;   *   sY   )*	"I##BJJ~$>
K*+eb	]#L*=,-eb	RYY[#BIIK<34eb	()BJJ&::/0668s+, 	ADA; D6!56/jAE%L	A 
"IA8?@s   -0F++F=+txtwidthfillerc                 N    | rd|  dnd} t        | j                  ||             y )N r.   )r3   center)r=   r>   r?   s      r   r2   r2   R   s(     AcU!*C	#**UF
#$r   c                  *    t        dt         d       y )Nz]
Above we output some debug information. Please provide this info when creating an issue via z/issues/new/choose ...
)r3   PACKAGE_GITHUB_URLr    r   r   print_debug_inforE   Y   s    		!!3 44L	Nr      )COMPILED_WITH_CUDArD   )to_be_ignored)get_compute_capabilitiesOTHERzCOMPILED_WITH_CUDA = zCOMPUTE_CAPABILITIES_PER_GPU = r.   zDEBUG INFO ENDzY
Running a quick check that:
    + library is importable
    + CUDA function is callable
zK
WARNING: Please be sure to sanitize sensible info from any such env vars!
)Adam
   zSUCCESS!zInstallation was successful!z	WARNING: z is currently running as CPU-only!
Therefore, 8-bit optimizers and GPU quantization are unavailable.

If you think that this is so erroneously,
please report an issue!)r   N)2r4   sysr   r   warningsr   typingr   os.pathr   torchHEADER_WIDTHstrr#   r,   r;   intr2   rE   r.   rG   rD   cuda_setup.env_varsrH   cuda_setup.mainrI   r3   bitsandbytes.optimrK   nn	Parameterrandcudapadatasumitemp1adamr*   lossbackwardstepp2exitImportError__package__	Exceptioner    r   r   <module>rl      s.   	 
      s uS#X &"R (s%	%%14%	%   ! 5 . 5 W  012 3 '(@(B'CD E R    R   U V"':5::b"-2245A

2r!A	
			B9D
a%C779DMMOIIK	
			B8O8	*	
()CHHQK 	G
K= !M 	N
 CHHQK 	!HCHHQKKs   6DG 1H1H1!H,,H1