
    Spf3                        U d dl mZ d dlZd dlZd dlZd dlZdZdZded<   dZ	ded<   dd	Z
ddZddZddZddZd Z e
            ZdZd Z ee          Z ee          ZdS )    )annotationsNz0.4.31str_release_version(7fd93027854e902263dda0e06cab5177af8ec484	_git_hashreturnc                 n    t           t           S t          t                    pt          t                    S N)r   _version_from_git_tree_version_version_from_todays_date     N/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jaxlib/version.py_get_version_stringr   !   s,     !		)	)	P-Fx-P-PPr   base_versionc                r    t           j                                                            d          }|  d| S )N%Y%m%d.dev)datetimedatetodaystrftime)r   
datestrings     r   r   r   )   s7    }""$$--h77*	*	*j	*	**r   
str | Nonec                   	 t           j                            t           j                            t                              }t          j        g d|t
          j        t
          j                  }|                                \  }}|	                                
                                                    dd          \  }}t          j                            t          |                                        d          }|                                sJ |                                sJ 	 |  d| d| S #  Y d S xY w)N)gitshowz-sz--format=%at-%hHEAD)cwdstdoutstderr-   r   r   +)ospathdirnamerealpath__file__
subprocessPopenPIPEcommunicatedecodestripsplitr   r   fromtimestampintr   	isnumericisalnum)r   root_directorypr!   _	timestampcommit_hashr   s           r   r   r   .   s&   ;W__RW%5%5h%?%?@@N 	III+ *
	I 	I 	IA IFA#]]__2244::3BBI{,,S^^<<EEhOOJ!!!!!       ::
::[:::44s   D.D; ;E c                    t           t           S t          j                            d          st          j                            d          rt	          t
                    S t          j                            d          st          j                            d          rt
          S t          t
                    pt	          t
                    S )a]  Determine the version at build time.

  The returned version string depends on which environment variables are set:
  - if JAX_RELEASE or JAXLIB_RELEASE are set: version looks like "0.4.16"
  - if JAX_NIGHTLY or JAXLIB_NIGHTLY are set: version looks like "0.4.16.dev20230906"
  - if none are set: version looks like "0.4.16.dev20230906+ge58560fdc
  NJAX_NIGHTLYJAXLIB_NIGHTLYJAX_RELEASEJAXLIB_RELEASE)r   r&   environgetr   r   r   r   r   r   _get_version_for_buildrB   B   s     !Z^^M"" /bjnn5E&F&F /$X...Z^^M"" bjnn5E&F&F O		)	)	P-Fx-P-PPr   fnameNonec                
   t                      }d}d|}t          j        |           }|                                }|                    |          dk    rt          d|d|            |                    ||          }t          j        	                    d          }|rKd}d|}|                    |          dk    rt          d|d|            |                    ||          }|
                    |           d	S )
zJUsed by setup.py to write the specified version info into the source tree.z _release_version: str = '0.4.31'z_release_version: str =    zBuild: could not find z in JAX_GIT_HASHz;_git_hash: str = '7fd93027854e902263dda0e06cab5177af8ec484'z_git_hash: str = N)rB   pathlibPath	read_textcountRuntimeErrorreplacer&   r@   rA   
write_text)	rC   release_versionold_version_stringnew_version_stringfhandlecontentsgithashold_githash_stringnew_githash_strings	            r   _write_versionrW   S   s)   *,,/9E/EEL'  (^^&''1,,
Q0BQQ%QQ
R
RR02DEE(JNN>**' HV8W88~~())Q..S2DSSESSTTT 24FGGH	Xr   c                ~     ddl m} ddlm}  G  fdd|          } G  fdd|          }t	          ||          S )	Nr   )build_py)sdistc                  "     e Zd Z fdZ xZS ) _get_cmdclass.<locals>._build_pyc                |   t           {t          j                            | j        t          j                            t                              }t          j                            |          rt          j        |           t                      
                                 t           t          |           d S d S r
   )r   r&   r'   join	build_libbasenamer*   isfileunlinksuperrunrW   )selfthis_file_in_build_dir	__class__pkg_source_paths     r   rd   z$_get_cmdclass.<locals>._build_py.runn   s    		!!#dno.0g.>.>x.H.H"J "J 7>>011 	,
)*
+
+
+ggkkmmm		!-..... 
"	!r   )__name__
__module____qualname__rd   __classcell__rg   rh   s   @r   	_build_pyr\   m   s>        / / / / / / / / / /r   rn   c                  "     e Zd Z fdZ xZS )_get_cmdclass.<locals>._sdistc           	         t                                          ||           t          Rt          t          j                            |t          j                            t                                         d S d S r
   )	rc   make_release_treer   rW   r&   r'   r^   r`   r*   )re   base_dirfilesrg   rh   s      r   rr   z/_get_cmdclass.<locals>._sdist.make_release_tree~   sw    gg%000		!rw||Ho$&G$4$4X$>$>@ @ 	A 	A 	A 	A 	A 
"	!r   )ri   rj   rk   rr   rl   rm   s   @r   _sdistrp   }   sH        A A A A A A A A A Ar   ru   )rZ   rY   )setuptools.command.build_pyrY   setuptools.command.sdistrZ   dict)rh   build_py_orig
sdist_origrn   ru   s   `    r   _get_cmdclassr{   i   s    CCCCCC::::::/ / / / / / /- / / / A A A A A A Az A A A 
FY	/	/	//r   z0.4.30c                Z    t          d |                     d          D                       S )Nc              3  \   K   | ]'}|                                 t          |          V  (d S r
   )isdigitr3   ).0is     r   	<genexpr>z$_version_as_tuple.<locals>.<genexpr>   s5      EE!Es1vvEEEEEEr   .)tupler1   )version_strs    r   _version_as_tupler      s-    	EE{0055EEE	E	EEr   )r   r   )r   r   r   r   )r   r   r   r   )rC   r   r   rD   )
__future__r   r   r&   rH   r+   r   r   __annotations__r   r   r   r   rB   rW   r{   __version___minimum_jaxlib_versionr   __version_info___minimum_jaxlib_version_infor   r   r   <module>r      s=  " # " " " " " "  				      !          <	 ; ; ; ;Q Q Q Q+ + + +
; ; ; ;(Q Q Q Q"   ,0 0 0< "!##" F F F %$[11 001HII   r   