Ë
    ƒ>qj„  ã                   óè  — d Z ddlZddlZddlZddlZddlZddlZ ej                  d¬«      d   d   d   Zej                  j                  Zej                  e_        ej                  ge_        d„ Zej"                  j%                  d	«      j'                  d
«      Zej"                  j+                  e«      5 Z ej.                  ej1                  «       «      Zddd«       d„ Zy# 1 sw Y   d„ ZyxY w)a®  
Regression test for the cython_special binary interface.

The __pyx_capi__ dict of each module contains PyCapsule objects whose
*name* string encodes the C-level function signature that Cython checks
at import time when another module does ``cimport``.  Any change to
those strings is a binary incompatibility that breaks every downstream
package (e.g., scikit-learn, statsmodels) compiled against the previous release,
without any compile-time warning.

The expected signatures are stored in cython_abi_signatures.json.
The test fails if:
  * an existing name disappears, or
  * an existing name's signature string changes.
Adding new names is explicitly allowed (it is not a break).
é    NÚdicts)ÚmodezBuild DependenciesÚblaszcython blas ilp64c                 ó’   — i }| j                   j                  «       D ]'  \  }}t        |«      }|€Œ|j                  d«      ||<   Œ) |S )z@Return {name: signature} for every entry in module.__pyx_capi__.zutf-8)Ú__pyx_capi__ÚitemsÚ_get_capsule_nameÚdecode)ÚmoduleÚresultÚnameÚcapsuleÚraws        úb/opt/rentech/trading_bot/.venv/lib/python3.12/site-packages/scipy/special/tests/test_cython_abi.pyÚ_extract_capir   0   sQ   € à€FØ×,Ñ,×2Ñ2Ó4ò /‰ˆˆgÜ Ó(ˆØ‰?ØŸ:™: gÓ.ˆF4ŠLð/ð €Mó    zscipy.special.testszcython_abi_signatures.jsonc            
      ó€  — t         d   } t        j                  d«      }t        |«      }g }| j	                  «       D ]H  \  }}||vr|j                  d|›d|›d«       Œ#||   |k7  sŒ,|j                  d|›d|›d||   ›«       ŒJ |r6dj                  |«      }t        j                  d	t        |«      › d
|› «       yy)z=No existing cython_special signature may change or disappear.zscipy.special.cython_specialz	REMOVED  z (was ú)z	CHANGED  z
  expected: z
  actual:   ú
z.scipy.special.cython_special.__pyx_capi__ has z ABI breakage(s):
N)
Ú	_EXPECTEDÚ	importlibÚimport_moduler   r   ÚappendÚjoinÚpytestÚfailÚlen)ÚexpectedÚmodÚactualÚerrorsr   Úexpected_sigÚjoineds          r   Ú!test_cython_special_abi_stabilityr$   A   sî   € äÐ7Ñ8€HÜ
×
!Ñ
!Ð"@Ó
A€CÜ˜3Ó€FØ€FØ&Ÿn™nÓ.ò 
ÑˆˆlØvÑØM‰MØ˜D˜8 6¨,Ð)9¸Ð;õð D‰\˜\Ó)ØM‰MØ˜D˜8ð $Ø+Ð.ð /Ø% d™|Ð.ð0õð
ñ Ø—‘˜6Ó"ˆÜ‰Ø<¼SÀ»[¸Mð J!Ø!' ð*õ	
ð r   )Ú__doc__Úctypesr   Úimportlib.resourcesÚjsonr   ÚscipyÚshow_configÚCYTHON_BLAS_ILP64Ú	pythonapiÚPyCapsule_GetNamer	   Úc_char_pÚrestypeÚ	py_objectÚargtypesr   Ú	resourcesÚfilesÚjoinpathÚ	_sig_fileÚas_fileÚ_fÚloadsÚ	read_textr   r$   © r   r   ú<module>r;      sí   ðñó" Û Û Û ã Û ð €E×Ñ˜7Ô#Ð$8Ñ9¸&ÑAÐBUÑVð ð ×$Ñ$×6Ñ6Ð Ø"ŸO™OÐ Ô Ø$×.Ñ.Ð/Ð Ô òð ×Ñ×%Ñ%Ð&;Ó<×EÑEØ ó€	ð ×Ñ× Ñ  Ó+ð +¨rØ—
‘
˜2Ÿ<™<›>Ó*€I÷+ó
÷	+ó
ús   Â8!C%Ã%C1