
    Ae+X              #          d dl mZ ddlmZmZ ddlmZ ddlmZ ddl	m
Z
 ddl	mZ  ej                  dd	      Z ej                  d
d	      Z ej                  dd      Z ej                  dd      Z ej                  dd      Z ej                  dd      Zd ej&                  dd      iZ G d de      Z G d de      Z G d de      Z G d de      Z eddddd       edddd d       edd!d!dd       edd"d"d#d       edd$d$d% ej                  d&d       e
j4                  e
j6                   e
j8                  d'e
j6                  d$      gdd(      )      g ed* e
j<                  e
j>                  e
j@                  fD              z    ed+ e
jB                  e
jD                  e
jF                  fD              z    edd,d,d- ej                  d.d      /       ed0d,d1d2 ej                  d3d	      /       ed4d5d6d7       ed8d,d,d9       ed:d5d,d;       ed<d,d,d=e/       ed<d5d,d>e/       ed<d?d,d@e/       edAd?d,dBdCe/       edCd?d,dBe/       edCd5d,dDe/       edEd5d1dF ej                  dGd      /       edHd,dIdJ       edKd,d,dL ej                  dMd      /       edNd5d1dO       edPd5d1dQ       edRd5d,dS       edRd,d,dT       edUd,dVdW       edXdYd,dZ       ed[d,d,d\e/       ed[d5d,d]e/      gz   e
jH                  e
jJ                  fD  cg c]?  }  ed^d$d$d_ e
j4                  e
jL                   e
j8                  d`| d$      gd      a      A c} z   e
jN                  e
jP                  e
jR                  fD  cg c]?  }  ed^d$d$db e
j4                  e
jR                   e
j8                  d`| d$      gd      a      A c} z    ed^d$d$dc ej&                  ddd       e
j4                  e
jL                   e
j8                  d`e
jT                  d$      gdef      )       edgd?d,dh       edgd5d,di ej                  djd      /       edkd,d,dl       edmd,d,dn       edod?d6dp       edqd5d,dq       edrdYd,dre/      gz   Z+dsdtg fdudvg fdwdxg fdydzg fd{d| ed}d~       edde
jX                         edde
jX                        gfdd edddd ej                  dd      /      gfddg fdd eddd,d ej                  dd      /      gfdd eddd,dd ej                  dd            gfdd eddd1d       edddd      gfddg fdd eddd6d       eddd6d       eddd6d ej                  dd      /       eddd6d ej                  dd      /      gfdd eddd1d       eddd1d       eddd,d ej                  dd      /       eddd,d ej                  dd      /       eddd,d ej                  dd      /       eddd,d ej                  dd      /       eddd,d ej                  dd      /       eddd,d ej                  dd      /       eddd,d ej                  dd      /       eddd,d ej                  dd      /       eddd,d ej                  dd      /       eddd6d ej                  dd      /       eddddΫ      gfdd edѫ       edҫ       edӫ      gfdd eddd6d֫       eddd6d ej                  dd      /       eddd6d ej                  dd      /       eddd6dޫ       eddd,d      gfddg fddg fddg fgZ- e.g d      Z/ddde
j`                  fde
jT                  fdUe
jb                  fde
jb                  fde
jd                  fde
jf                  fde
jh                  fde
jj                  fde
jj                  fde
jj                  fd e
jl                  e
jb                  d      fde
j`                  fgfd~d~de
jX                  fde
jX                  fgfgZ7 e       Z8d Z9i a:d Z;d Z<d Z= e=        y$c c} w c c} w )    )absolute_import   )BuiltinScopeStructOrUnionScope)UtilityCode)	Signature)
PyrexTypes)OptionsIterNextzObjectHandling.cGetAttrGetAttr3z
Builtins.cPyExecPyExecGlobalsGlobalsStopAsyncIterationzCoroutine.cc                   "    e Zd Z	 	 	 ddZddZy)_BuiltinOverrideNc                     |||c| _         | _        | _        ||c| _        | _        ||c| _        | _        |
| _        |	| _        || _	        y N)
py_namecnamepy_equivargsret_type	func_typesigbuiltin_return_typeis_strict_signatureutility_code)selfr   r   r   r   r   r   r   r   r   r   s              7lib/python3.12/site-packages/Cython/Compiler/Builtin.py__init__z_BuiltinOverride.__init__   sR     3:5(/dj$-#' 	4=#,c #6 #6 (    c                     |'t        | j                  | j                        }d|_        |j	                  |      }| j
                  rd|_        | j                  rt        | j                     |_        |S )NFT)	r   r   r   exception_checkfunction_typer   r   builtin_typesreturn_type)r    r   self_argr   s       r!   build_func_typez _BuiltinOverride.build_func_type)   sf    ;DIIt}}5C"'C%%h/	##,0I)##$1$2J2J$KI!r#   )*NNNFN)NN)__name__
__module____qualname__r"   r*    r#   r!   r   r      s    @C8<@D)	r#   r   c                       e Zd ZddZd Zy)BuiltinAttributeNc                 D    || _         |xs || _        || _        || _        y r   )r   r   field_type_name
field_type)r    r   r   r4   r3   s        r!   r"   zBuiltinAttribute.__init__6   s$    %g
.$r#   c                     | j                   *t        j                  | j                         j                  }n| j                  xs t
        j                  }|j                  j                  | j                  | j                  |d d      }d|_        y )NprivateT)r3   builtin_scopelookuptyper4   r	   py_object_typescopedeclarer   r   is_variable)r    	self_typer4   entrys       r!   declare_in_typez BuiltinAttribute.declare_in_type<   sk    +&--d.B.BCHHJEJ,E,EJ''djj*dT]^ r#   )NNN)r,   r-   r.   r"   r@   r/   r#   r!   r1   r1   5   s    %!r#   r1   c                       e Zd Zd Zy)BuiltinFunctionc                     | j                   | j                  }}|| j                  |      }|j                  | j                  || j
                  | j                  | j                         y r   )r   r   r*   declare_builtin_cfunctionr   r   r   r   )r    r;   r   r   s       r!   declare_in_scopez BuiltinFunction.declare_in_scopeG   sU    3	,,S1I''i(,t7H7H	Jr#   N)r,   r-   r.   rE   r/   r#   r!   rB   rB   F   s    Jr#   rB   c                       e Zd Zd Zy)BuiltinMethodc                     | j                   | j                  }}|7t        j                  d|d       }d|_        d|_        | j                  ||      }|j                  j                  | j                  || j                  | j                         y )N Tr   )r   r   r	   CFuncTypeArgnot_noneaccept_builtin_subtypesr*   r;   rD   r   r   r   )r    r>   method_typer   r)   s        r!   r@   zBuiltinMethod.declare_in_typeP   s~    >>488S!..r9dCH $H/3H,..sH=K11LL+tzz@Q@Q 	2 	Sr#   N)r,   r-   r.   r@   r/   r#   r!   rG   rG   O   s    	Sr#   rG   absdfabsT)r   ffabsfillabsN__Pyx_abs_longlongabs_longlongargr   nogil)r   r   c              #      K   | ]^  }t        d dddj                  |j                               t        j                  |t        j
                  d|d      gdd             ` yw)rO   Nz/*abs_{0}*/rY   TrZ   r   )rB   formatspecialization_namer	   	CFuncTyperK   .0ts     r!   	<genexpr>rd   m   sn       !" 	dt}7K7KALaLaLc7d * 4 4#004@A.2$!@	A 	As   A$A&c              #      K   | ]d  }t        d dddj                  |j                        t        j                  |j
                  t        j                  d|d      gdd             f yw)rO   Nz__Pyx_c_abs{0}rY   TrZ   r]   )rB   r^   
funcsuffixr	   r`   	real_typerK   ra   s     r!   rd   rd   t   sr      
  	dt7G7N7Nq||7\ * 4 4&33E1dC& 37d	!D	E 	E
s   A*A,O__Pyx_PyNumber_Absolutepy_absrJ   callableb__Pyx_PyCallable_CheckCallableCheckdelattrOOrPyObject_DelAttrdirPyObject_DirdivmodPyNumber_Divmodexec__Pyx_PyExecGlobals__Pyx_PyExec2OOO__Pyx_PyExec3getattr3__Pyx_GetAttr3getattr__Pyx_GetAttrhasattr__Pyx_HasAttrHasAttrhashhPyObject_Hashintern__Pyx_InternIntern
isinstancePyObject_IsInstance
issubclassPyObject_IsSubclassiterPyCallIter_NewPyObject_GetIterlenzPyObject_LengthlocalsrI   __pyx_localsnext__Pyx_PyIter_Next__Pyx_PyIter_Next2ord__Pyx_long_castcr]   __Pyx_uchar_cast__Pyx_PyObject_Ord
object_ordz(long)(Py_UCS4)-1)exception_valuepowPyNumber_Power__Pyx_PyNumber_Power2pow2reloadPyImport_ReloadModulereprPyObject_ReprsetattrPyObject_SetAttr__Pyx_PyObject_Append__Pyx_Globalsr9   PyType_Typeint
PyInt_TypelongPyLong_TypefloatPyFloat_TypecomplexPyComplex_Typecval
Py_complex)r3   realz	cval.real)r4   imagz	cval.imag
basestringPyBaseString_TypejoinTOT__Pyx_PyBaseString_Join
StringJoinzStringTools.c	bytearrayPyByteArray_TypebytesPyBytes_Type__Pyx_PyBytes_JoinstrPyString_Type__Pyx_PyString_Join)r   r   unicodePyUnicode_Type__contains__PyUnicode_ContainsPyUnicode_JointuplePyTuple_TypelistPyList_TypeinsertTzOPyList_InsertreversePyList_Reverseappend__Pyx_PyList_Append
ListAppendz
Optimize.cextend__Pyx_PyList_Extend
ListExtenddictPyDict_TypePyDict_Containshas_keyitems__Pyx_PyDict_Itemspy_dict_itemskeys__Pyx_PyDict_Keyspy_dict_keysvalues__Pyx_PyDict_Valuespy_dict_values	iteritems__Pyx_PyDict_IterItemspy_dict_iteritemsiterkeys__Pyx_PyDict_IterKeyspy_dict_iterkeys
itervalues__Pyx_PyDict_IterValuespy_dict_itervalues	viewitems__Pyx_PyDict_ViewItemspy_dict_viewitemsviewkeys__Pyx_PyDict_ViewKeyspy_dict_viewkeys
viewvalues__Pyx_PyDict_ViewValuespy_dict_viewvaluesclear__Pyx_PyDict_Clearpy_dict_clearcopyPyDict_CopyslicePySlice_Typestartstopstepset
PySet_TypePySet_Cleardiscard__Pyx_PySet_Discardpy_set_discardremove__Pyx_PySet_Removepy_set_removeadd	PySet_Addpop	PySet_Pop	frozensetPyFrozenSet_Type	Exceptionz#((PyTypeObject*)PyExc_Exception)[0]z2((PyTypeObject*)__Pyx_PyExc_StopAsyncIteration)[0])r9   boolr   r   r   r   r   r   r   r   r   r  r  	Py_bufferbufobjitemsizereadonlyndimr^   shapestrides
suboffsets
smalltable   internalc                  D    t         D ]  } | j                  t                y r   )builtin_function_tablerE   r7   )bfs    r!   init_builtin_funcsr$  z  s    $ +
M*+r#   c                  4   t         D ]  \  } }}t        j                  |       }| dk(  rd}n3| dk(  rd}n+| dk(  rd }n#| dk(  rd}n| dk(  rd}nd	| j                         z  }t        j                  | |||      }|t        | <   |D ]  }|j                  |         y )
Nr  PySetObjectr   PyByteArrayObjectr  r  PyBaseExceptionObjectr   z
Py%sObject)builtin_types_tablebuiltin_utility_codeget
capitalizer7   declare_builtin_typer'   r@   )namer   methodsutilityobjstruct_cnamethe_typemethods          r!   init_builtin_typesr4    s     3 -eW&**40;+O[ 1OV^"O[ 5O))5O*T__->>O 55dE7O\&d 	-F""8,	-!-r#   c            	          t         D ]L  \  } }}t        |       }|D ]  \  }}|j                  ||d |d        t        j	                  | d|dd |       N y )NT)allow_pyobjectstructr   )r   )builtin_structs_tabler   declare_varr7   declare_struct_or_union)r.  r   attribute_typesr;   attribute_nameattribute_types         r!   init_builtin_structsr>    sy    (= ;$e_"4(.= 	C*NNnnd,T  C	C 	--(E1dE 	. 	;;r#   c                     t                t                t                t        j	                  dt        j                  t
        j                        d dd      } t        j                  dd      | _
        t        j                  d      j                  at        j                  d      j                  at        j                  d	      j                  at        j                  d
      j                  at        j                  d      j                  at        j                  d      j                  at        j                  d      j                  at        j                  d      j                  at        j                  d      j                  at        j                  d      j                  at        j                  d      j                  at        j                  d      j                  at        j                  d      j                  at        j                  d      j                  at        j                  d      j                  ay )N	__debug__z__pyx_assertions_enabled()T)posr   is_cdefAssertionsEnabledzExceptions.cr9   r   r   r   r  r  r   r   r   r   r   r   r   r  r   )r>  r4  r$  r7   r9  r	   c_const_typec_bint_typer   load_cachedr   r8   r9   	type_type	list_type
tuple_type	dict_typeset_typefrozenset_type
slice_type
bytes_typestr_typeunicode_typebasestring_typebytearray_type
float_type	bool_typecomplex_type)r?   s    r!   init_builtinsrV    s   %%Z,,Z-C-CD4d & DE %001DnUE
 %%f-22I%%f-22I%%g.33J%%f-22I%%e,11H"))+6;;N ''055J%%g.33J%%e,11H ''	277L#**<8==O"))+6;;N%%g.33J%%f-22I!((388Lr#   )>
__future__r   Symtabr   r   Coder   	TypeSlotsr   rI   r	   r
   loaditer_next_utility_codegetattr_utility_codegetattr3_utility_codepyexec_utility_codepyexec_globals_utility_codeglobals_utility_coderF  r*  objectr   r1   rB   rG   r`   c_longlong_typerK   r   c_uint_typec_ulong_typec_ulonglong_typec_float_complex_typec_double_complex_typec_longdouble_complex_typec_py_ucs4_typec_py_unicode_typec_long_typec_char_typec_schar_typec_uchar_typer:   r"  c_double_typer)  r  #types_that_construct_their_instancec_void_ptr_typec_py_ssize_t_typerE  
c_int_typec_char_ptr_typec_py_ssize_t_ptr_type
CArrayTyper8  r7   r$  r'   r4  r>  rV  )c_types   0r!   <module>ry     s  
 ' 4     
 *))*6HI '{''	3EF (((\B &k&&x> .k..M '{''	<@  1+112FV v .!v !"J& J
S$ 
S E##6*.0E##7*.0E##5*.0E##6*.0E$43G/{//M0J00../
//z7Q7QSWX1 +/d	<=" 	  '1&<&<j>U>UWaWrWr%s 	#0  
 #-"A"A","B"B","F"F"H
 
1"F E##3L!1!1!1(L!IK J##3K#3;#3#3OEW#XZ
 I$#3EFE##>BH$#3DEF##3H#>@F$#?#68F%#?#68
 J%#3C!68I%#3C!68I$#?!57I$#?#3;#3#3I|#LNF##?C H##>#3;#3#3Hl#KML$#3HIL$#3HIF$#3CDF##3EFE##3DEH"#>B F##3F#9;F#3G#9;c5EWx ,,j.J.JK
 		 E$43D2j22"..1H1H1HfVZ1[0\,023o]D )):+B+BJD[D[\
 		 E$43E2j22"//2I*2I2I#vW[2\1],023{cH E$43G!8!8!8|!T2j22"..3J33C9R9RTXY1 )<	=> E%#3CDE$#3J#3;#3#3FL#IK
 H##3JKF##?CI%#3EF +TC=TU O!57C#GF @ 2& 2&2&2& $4V|$\$4V[WaWoWo$p$4V[WaWoWo$p$& '
 &$1&43Ha?O{?O?OP\^m?n%p)& ' $ '& 'M&43H\?O{?O?OP\^m?n%p $& ' M&43H]FR?O{?O?OP\^m?n%p $& '  M.43Pd$e$1&43HX$Y$& ' 2&M(US/$Z$1)SSJZ$[$1(TSJ_?O{?O?OP\^j?k%m$1(TSJ_?O{?O?OP\^j?k%m	$& ' M.43Pa$b$1)43Pa$b$1'C3H\?O{?O?OP_am?n%p$1&C3H[?O{?O?OP^`l?m%o$1(C3H]?O{?O?OP`bn?o%q$1+sLd?O{?O?OPceq?r%t$1*sLc?O{?O?OPbdp?q%s$1,sLe?O{?O?OPdfr?s%u$1+sLd?O{?O?OPceq?r%t$1*sLc?O{?O?OPbdp?q%s$1,sLe?O{?O?OPdfr?s%u$1'C3H\?O{?O?OP_am?n%p$1&C3$V-$X Y0 $4W$=$4V$<$4V$<$& ' ,M'S3$V$1)T3H]?O{?O?OP`bn?o%q$1(T3H\?O{?O?OP_am?n%p
 %2%T3$T$1%S3$T
$V 
W $b)7<OQSTqY x '* + ' # +Z//0Z../Z112Z112Z++,Z**+Z//0Z556Z556Z556*Z**:+G+GKLZ//0	 <z''(z''(	 . + -*;9< Us   Aa"	Aa'