
    vhI                       U d dl mZ d dlmZ d dlZd dlmZ d dlmZ d dlm	Z	  e	j                  e       ej                  Zej                  Zej                  Zej                  Zej                   ej"                  ej$                  ej&                  ej(                  ej*                  ej,                  ej.                  ej0                  ej2                  ej4                  ej6                  ej8                  ej:                  ej<                  hej>                  D  ch c]  }  ej@                  |       jB                    c} z  Z"de#d<   ejH                  DejJ                  J e"jM                  ejH                         e"jM                  ejJ                         ejN                  he"z  Z(de#d	<   d
 Z)e)ejT                  ejV                  jX                  <   ddZ-e-ejT                  ejN                  <   ddZ.e"D ]  Z/e.ejT                  e/<    ej`                  jc                  e(       d Z2ejf                  D ]  Z/ ee2e/      ejT                  e/<    ej`                  jc                  ejf                  ji                                yc c} w )    )annotations)partialN)core)dtypes)traceback_utilz	set[type]numpy_scalar_typesarray_typesc                     t        d      )Nznumpy masked arrays are not supported as direct inputs to JAX functions. Use arr.filled() to convert the value to a standard numpy array.)
ValueError)argskwargss     S/opt/face_recognition/venv/lib/python3.12/site-packages/jax/_src/abstract_arrays.pymasked_array_errorr   /   s    J	K K    c                    | j                   }t        j                  |       t        | j                  t        j
                  |      d       S N)sharding)dtyper   check_valid_dtypeShapedArrayshapecanonicalize_dtype)xr   s     r   "_make_shaped_array_for_numpy_arrayr   7   s7    
''%5!	QWWf77>	NNr   c                    t        j                  |       }t        j                  |       t        j                  |       }t        |t        j                  |      d       S r   )npr   r   r   r   r   r   )r   r   r   s      r   #_make_shaped_array_for_numpy_scalarr   ?   sD    
((1+%5!
((1+%	UF55e<t	LLr   c                T    t        dt        j                  | |      | t        ud       S )N )	weak_typer   )r   r   _scalar_type_to_dtypebool)typvals     r   _make_abstract_python_scalarr%   K   s+     
R55c3?"$
? ?r   )r   z
np.ndarrayreturnr   )r   z
np.genericr&   r   )5
__future__r   	functoolsr   numpyr   jax._srcr   r   r   register_exclusion__file__r   AbstractTokenabstract_tokencanonicalize_shapeint4int8int16int32int64uint4uint8uint16uint32uint64	complex64
complex128bool_longlongintc_float_typesr   typer   __annotations__int2uint2addndarrayr	   r   pytype_aval_mappingsmaMaskedArrayr   r   tliteralable_typesupdater%   python_scalar_dtypeskeys)dts   0r   <module>rO      s&   #     # ! ! !( +""$$,,  KK"((BHHbhh
LL"((BIIryy"))LL"--HHbkk277	!
 "(!4!452XRXXb\5!6 I 6 
;;		!!	!%&**(::Y :K
 0B  "%%++ ,O
 )K  "** %M 
 EA!D$AE     k *? 
	$	$ JA!()Eq!I$AJ     f99>>@ A_ 6s   #J