o
    wi                     @   s  d dl mZ d dlmZmZmZmZmZ d dlm	Z	m
Z
 d dlmZ d dlmZ e	ddZe	ddZe	d	d
Ze	dd
Ze	dd
Ze	dd
Ze	ddZe	ddZe	dd
ZG dd dZG dd dZG dd deZG dd deZG dd dZdd Zedddd d!d!ed"edd#d#d$d!d!ed"edd%d%dd!d!ed"edd&d&d'd!d!ed"edd(d(d)e	d*d
ejej e!d+ej d(gd!d!d,d-ge"d.d/ ej#ej$ej%fD  e"d0d/ ej&ej'ej(fD  edd1d1d2e	d3d
d4ed5d1d6d7e	d8dd4ed9d%d1d:d;d<ed=d>d?d@e	dAdd4edBd1d1dCedDd>d1dEedFedGd1d1dHed4edGd>d1dIed4edGdJd1dKed4edLdJd1dMdNed4edNdJd1dMed4edNd>d1dOed4edPd>d6dQe	dRd
d4edSd1dTdUedVd1d1dWe	dXd
d4edYd>d6dZed[d>d6d\ed]d>d1d^ed]d1d1d_ed`d1dadbedcddd1deedfd1d1dged4edfd>d1dhed4g didj ej)ej*fD  dkdj ej+ej,ej-fD  edld(d(dme	.dnd
ejej/e!doej0d(gdpdqd-edrdJd1dsedrd>d1dte	dud
d4edvd1d1dwedxd1d1dyd;d<edzdJd?d{ed|d%d1d:d;d<ed}d>d1d}ed~ddd1d~ed4g	 Z1ddg fddg fddg fddedddeddej2deddej2dgfddedddded4gfddeddd1de	ddd4edddded4gfd;deddd6deddddedddded4gfddedddded4gfddeddd?deddd?deddd?de	ddd4eddd?de	ddd4edddded4gfddeddd6deddd6deddd1de	dd
d4eddd1de	dd
d4eddd1de	dd
d4eddd1de	dd
d4eddd1de	dd
d4eddd1de	dd
d4eddd1de	dd
d4eddd1de	dd
d4eddd1de	dd
d4eddd?de	ddd4eddddӃgfddedej0ded4edej0ded4edej0ded4gfddeddd?dރeddd?de	ddd4eddd?de	ddd4eddd?deddd1dgfddg fddg fddg fddedej3ddd!e
j.dd
e4ddddedej5ddd!e
j.dd
e4ddddedej6ddd!e
j.dd
e4ddddgfgZ7e8h dZ9e4dde4dddddddd e4dddd;dde4dddde4ddde4d^i ddddddddd	dd
ddddddddddddddddddddddddddddddddddddddddddddd d!d"d#dd$dd%dd&dd'dd(dd)d"d*d+d,dd-d+d.d+d/dd0dd1dd2dd3dd4dd5de4d^i ddddddd6d;d
dddddd7dd8d;ddddddddddddddddddddddddddddd!d"d#dd$dd%dd&dd'dd(dd)d"d*d+d,dd-d+d.d+d/dd0dd1dd2dd3dd4dd5de4 e4dd;dddd9e4ddddddddd:e4 e4dddd;d<Z:e:d ;e:d  e:d ;e:d  d=d> Z<e= h d?d7hdhe= h d@h dAe= dBZ>dCe?dDe?fdEdFZ@dGdGdHejAfdIej0fd`ej6fdej6fdej5fdej3fdejBfdJejCfdKejCfdLejCfdMeDej6dNfdOejAfgfdddej2fdej2fgfgZEe ZFdPdQ ZGi aHdRdS ZIdTdU ZJdVdW ZKeK  i ZLdXdY ZMdZd[ ZNd\d] ZOd(S (_     )EncodedString)BuiltinScopeCClassScopeStructOrUnionScopeModuleScopeEntry)UtilityCodeTempitaUtilityCode)	Signature)
PyrexTypesIterNextzObjectHandling.cGetAttrGetAttr3
Builtins.cPyExecPyExecGlobalsGlobalsIncludeStdlibHzModuleSetupCode.cPySequenceMultiplyPySliceAccessorsc                   @   s(   e Zd Z				dddZd	ddZdS )
_BuiltinOverride*NFc                 C   sT   |||| _ | _| _||| _| _||| _| _|
| _|	| _|| _	|| _
|| _d S N)py_namecnamepy_equivargsret_type	func_typesigbuiltin_return_typeis_strict_signatureutility_codenogilspecialiser)selfr   r   r   r   r   r"   r   r   r!   r    r#   r$    r&   T/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/Cython/Compiler/Builtin.py__init__   s   
z_BuiltinOverride.__init__c                 C   sN   |d u rt | j| j| jd}d|_||}| jrd|_| jr%t| j |_	|S )N)r#   FT)
r
   r   r   r#   exception_checkfunction_typer!   r    builtin_typesreturn_type)r%   r   self_argr   r&   r&   r'   build_func_type)   s   
z _BuiltinOverride.build_func_type)r   NNNFNNN)NN)__name__
__module____qualname__r(   r.   r&   r&   r&   r'   r      s    
r   c                   @   s   e Zd ZdddZdd ZdS )BuiltinAttributeNc                 C   s    || _ |p|| _|| _|| _d S r   )r   r   field_type_name
field_type)r%   r   r   r4   r3   r&   r&   r'   r(   6   s   

zBuiltinAttribute.__init__c                 C   sH   | j d urt| j j}n| jptj}|j| j	| j
|d d}d|_d S )NprivateT)r3   builtin_scopelookuptyper4   r   py_object_typescopedeclarer   r   is_variable)r%   	self_typer4   entryr&   r&   r'   declare_in_type<   s
   

z BuiltinAttribute.declare_in_typeNNNr/   r0   r1   r(   r?   r&   r&   r&   r'   r2   5   s    
r2   c                   @      e Zd Zdd ZdS )BuiltinFunctionc                 C   sD   | j | j}}|d u r| |}|j| j|| j| j| j| jd d S )Nr$   )	r   r   r.   declare_builtin_cfunctionr   r   r   r"   r$   )r%   r:   r   r   r&   r&   r'   declare_in_scopeG   s   

z BuiltinFunction.declare_in_scopeN)r/   r0   r1   rF   r&   r&   r&   r'   rC   F       rC   c                   @   rB   )BuiltinMethodc                 C   sZ   | j | j}}|d u rtd|d }d|_d|_| ||}|jj| j	|| j
| jd d S )N Tr"   )r   r   r   CFuncTypeArgnot_noneaccept_builtin_subtypesr.   r:   rE   r   r   r"   )r%   r=   method_typer   r-   r&   r&   r'   r?   R   s   
zBuiltinMethod.declare_in_typeN)r/   r0   r1   r?   r&   r&   r&   r'   rH   Q   rG   rH   c                   @   s    e Zd Z	dddZdd ZdS )BuiltinPropertyNc                 C   s(   || _ || _|| _|| _|| _|| _d S r   )r   property_type
call_cnamer"   exception_valuer)   )r%   r   rP   rQ   rR   r)   r"   r&   r&   r'   r(   `   s   
zBuiltinProperty.__init__c                 C   s(   |j j| j| j| j| j| j| jd d S )NrR   r)   r"   )r:   declare_cpropertyr   rP   rQ   rR   r)   r"   )r%   r=   r&   r&   r'   r?   i   s   
zBuiltinProperty.declare_in_typer@   rA   r&   r&   r&   r'   rO   ^   s    
	rO   c              	   C   s  t |dkrd S |\}}|jr| }|jr| }|js+|tu s+|jr1|js+|tu r1d}tj}n|jrD|jrDd}|j	|j	krA|n|}nd S | j
}|rMdnd | d|jrWdnd |  }d| }|  }	|	d	}
|
d ur|
 D ]}|j|kr|  S qu| d |gd }d
|_|j}tj|td|d td|d gd| d
d
|d}tjd| d||jr|jnd| | |dd}|	jd	|||d}|S )N   floatintnogil_rI   _td___Pyx_divmod_divmodTab__Pyx_divmod_ERROR_VALUE_)rR   r)   r!   r#   divmod_r   )CFUNC_SUFFIXMATH_SUFFIXTYPERETURN_TYPENOGILcontextrJ   )len
is_typedefresolve_known_typeis_float
float_typeis_intint_typer   c_double_typerankr#   specialization_namer6   lookup_hereall_alternativesr   declare_tuple_typeusedr8   	CFuncTyperK   r	   loadmath_h_modifierempty_declaration_coderE   )r:   argument_typestype_op1type_op2implnumber_typer#   cfunc_suffixfunction_cnamer6   existing_entryr>   ctuple_entryr,   r*   r"   r&   r&   r'   _generate_divmod_functionv   sd   ",



	r   absdfabsT)r!   r#   r"   ffabsfillabsN__Pyx_abs_longlongabs_longlongargr!   r#   )r"   r   c                 c   sF    | ]}t d ddd| tj|td|dgddddV  qdS )r   Nz
/*abs_{}*/r   Tr   r   )rC   formatrq   r   rv   rK   .0tr&   r&   r'   	<genexpr>   s    
r   c                 c   sF    | ]}t d ddd|jtj|jtd|dgddddV  qdS )r   Nz__Pyx_c_abs{}r   Tr   r   )rC   r   
funcsuffixr   rv   	real_typerK   r   r&   r&   r'   r      s    
O__Pyx_PyNumber_Absolutepy_absrJ   callabler^   __Pyx_PyCallable_CheckCallableCheckchrPyUnicode_FromOrdinalstr)r    delattrOOr__Pyx_PyObject_DelAttrPyObjectDelAttrdirPyObject_Dirr\   PyNumber_DivmodrD   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_GetIterrh   zPyObject_LengthlocalsrI   __pyx_localsnext__Pyx_PyIter_Next__Pyx_PyIter_Next2c                 C   8   g | ]}t d dddtjtjtd|dgdddqS )ordN__Pyx_long_castcTr!   r   )rC   r   rv   c_long_typerK   r   c_typer&   r&   r'   
<listcomp>      
r   c                 C   r   )r   N__Pyx_uchar_castr   Tr   r   )rC   r   rv   c_uchar_typerK   r   r&   r&   r'   r     r   r   __Pyx_PyObject_Ord
object_ordr   z(long)(Py_UCS4)-1)rR   powPyNumber_Power__Pyx_PyNumber_Power2pow2reloadPyImport_ReloadModulereprPyObject_ReprsetattrPyObject_SetAttrunichr__Pyx_PyObject_Append__Pyx_Globalsr8   z&PyType_TyperW   z&PyLong_TyperV   z&PyFloat_Typecomplexz&PyComplex_Typecval
Py_complex)r3   realz	cval.real)r4   imagz	cval.imag	bytearrayz&PyByteArray_Type__mul__TzT__Pyx_PySequence_Multiplybytesz&PyBytes_TypejoinTO__Pyx_PyBytes_Join
StringJoinzStringTools.cz&PyUnicode_Type__contains__PyUnicode_ContainsPyUnicode_Jointuplez&PyTuple_Typelistz&PyList_TypeinsertTzOPyList_InsertreversePyList_Reverseappend__Pyx_PyList_Append
ListAppendz
Optimize.cextend__Pyx_PyList_Extend
ListExtenddictz&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slicez&PySlice_Typestart__Pyx_PySlice_Startstop__Pyx_PySlice_Stopstep__Pyx_PySlice_Stepsetz&PySet_TypePySet_Cleardiscard__Pyx_PySet_Discardpy_set_discardremove__Pyx_PySet_Removepy_set_removeadd	PySet_Addpop	PySet_Pop	frozensetz&PyFrozenSet_TypeBaseExceptionz$((PyTypeObject*)PyExc_BaseException)	Exceptionz ((PyTypeObject*)PyExc_Exception)
memoryviewz&PyMemoryView_Typendim__Pyx_PyMemoryView_Get_ndimmemoryview_get_from_buffer)namerf   rS   readonly__Pyx_PyMemoryView_Get_readonlyitemsize__Pyx_PyMemoryView_Get_itemsize>   rW   r-  r   boolr  r   r8   r   rV   r   r   unicoder   r9  r<  )	conjugateztuple[int,int]bint)as_integer_ratio	bit_count
bit_lengthrH  
from_bytes
is_integerto_bytes)rJ  rH  fromhexhexrN  
Py_ssize_t)r$  countindex)rS  rT  
capitalizecasefoldcenterrS  encodeendswith
expandtabsfindr   
format_maprT  isalnumisalphaisascii	isdecimalisdigitisidentifierislower	isnumericisprintableisspaceistitleisupperljustlowerlstrip	maketranszdict[int,object]	partitionztuple[T,T,T]removeprefixremovesuffixreplacerfindrindexrjust
rpartitionrsplitzlist[T]rstripsplit
splitlines
startswithstripswapcasetitle	translateupperzfilldecoderP  rQ  )castrQ  tobytestolist
toreadonly)r$  
differenceintersection
isdisjointissubset
issupersetsymmetric_differenceunion)r$  fromkeyspopitem)r   rW   rV   r   r   r   r   r   r<  r-  r9  r  c                 C   s   | j }|tv rCt| }||v rC|| }d|v r|dd }|dkr$| S d|v r/|d| j }|dkr6tjS |dkr=tjS t|j	S tj
S )N[    r   rI  rR  )rA  inferred_method_return_typesrm  rp  r   c_bint_typec_py_ssize_t_typer6   r7   r8   r9   )builtin_typemethod_name	type_namemethodsreturn_type_namer&   r&   r'   "find_return_type_of_builtin_method|  s"   r  >   rO  rK  rM  rN  >   rp  rl  rn  ro  >   rP  rl  rn  ro  )r   rW   rV   r   r   r   r   r-  builtin_type_namer  c                 C   sD   t | }|d u rdS ||v rdS t| }|d u s||vr dS dS )NFT)unsafe_compile_time_methodsgetr  )r  r  unsafe_methodsknown_methodsr&   r&   r'   is_safe_compile_time_method  s   

r  	Py_bufferbufobjshapestrides
suboffsets
smalltablerU   internalc                  C   s   t D ]} | t qd S r   )builtin_function_tablerF   r6   )bfr&   r&   r'   init_builtin_funcs  s   r  c                  C   s   t D ]e\} }}| dkrd}n0| dkrd}n)| dkrd}n"| dkr#d}n| d	kr*d}n| d
kr1d}n| dkr8d}nd|   }tj}| dv rItj}n| dkrPtj}tj| |||d}|t| < |D ]}|	| q_qd S )Nr9  PySetObjectr   PyByteArrayObjectrW   PyLongObjectr   PyUnicodeObjectrF  r:  PyBaseExceptionObjectr;  z
Py%sObject)r  r   r-  r9  r   )objstruct_cname
type_class)
builtin_types_tablerU  r   BuiltinObjectType BuiltinTypeConstructorObjectTypePythonTupleTypeConstructorr6   declare_builtin_typer+   r?   )rA  r   r  r  r  the_typemethodr&   r&   r'   init_builtin_types  s:   r  c               	   C   sT   t D ]%\} }}t| }|D ]\}}|j||d |dd qtj| d|dd |d qd S )NT)allow_pyobjectstructr   )r   )builtin_structs_tabler   declare_varr6   declare_struct_or_union)rA  r   attribute_typesr:   attribute_nameattribute_typer&   r&   r'   init_builtin_structs  s   
r  c                  C   s  t   t  t  tjdttjd ddd} t	dd| _
tdjatdjatd	jatd
jatdjatdjatdjatdjatdjatdjatdjatdjatdjatdjattdddatdd dtd}t| dt_ tjtdtd ddt_!tt"d< ttttttfa#tj$dksJ tj$tjt_%ttj_%tj$dksJ tj$tj&t_%ttj&_%tj$dksJ tj$tj't_%ttj'_%tdja(d S )N	__debug__z__pyx_assertions_enabled()T)posr   is_cdefAssertionsEnabledzExceptions.cr8   r   r   r  r-  r9  r&  r   r   r   r<  rV   rW   r   rF  z((PyObject*)&PyBool_Type)r  extern)outer_scope
visibilityparent_type)r  r   r  ))r  r  r  r6   r  r   c_const_typer  r   load_cachedr"   r7   r8   	type_type	list_type
tuple_type	dict_typeset_typefrozenset_type
slice_type
bytes_typeunicode_typebytearray_typememoryview_typerl   rn   complex_typer  r   	bool_typer   	set_scopeis_final_typer>   r+   sequence_typesrA  equivalent_typero   c_double_complex_typepy_buffer_type)r>   r:   r&   r&   r'   init_builtins  sZ   

r  c                 C   s  t | }|r	|S | dkrt| d d }dtfdtfdtfdtfdtffD ]*\}}t|}|j	||d d}t
|d tj}d|_d|_||_||_d	| |f |_q$d
D ]1}t|}ttd| }|j	||d d}t
|d tj}d|_d|_||_||_d	| |f |_qQ|t | < |S | dkrt| d d }ttd}td}|j	||d d}t
|d tj}d|_||_||_d|  |_dD ]}|jt|tjd d q|t | < |S | dkrt| d d }dD ]}|jt|tjd d q|t | < |S )NtypingDictListTupleSet	FrozenSet)r  Tz%s.%s)ClassVarOptionalUnionztyping.dataclasseszdataclasses.InitVarInitVarz
%s.InitVar)	dataclassfield	functools)total_ordering)_known_module_scopesr  r   r  r  r  r  r  r   declare_typer   r   r9   is_pyglobalr<   r:   as_variableknown_standard_library_importSpecialPythonTypeConstructorr  )module_namemodrA  tpr>   	var_entryindexed_typeinitvar_stringr&   r&   r'   'get_known_standard_library_module_scopeZ  sf   

r  c                 C   sT   |  d}t|d }|dd  }t|dkrd S t|}|r(|r(||d S d S )N.r  r   )rw  r   rh   r  rr   )qualified_name
name_partsr  restr  r&   r&   r'    get_known_standard_library_entry  s   
r   c                 C   s   g }d }| j r|| j | j} | j s| jr?|| j}|r?|jr?t|jr+|j}|S t	|j}|r?||j d
t|}|S )Nr  )is_attributer   	attributer  is_namer7   rA  r  r   r  r   reversed)nodeenvqualified_name_parts
known_namer>   standard_envr&   r&   r'   'exprnode_to_known_standard_library_name  s*   
r
  r&   )PStringEncodingr   Symtabr   r   r   r   r   Coder   r	   	TypeSlotsr
   rI   r   rw   iter_next_utility_codegetattr_utility_codegetattr3_utility_codepyexec_utility_codepyexec_globals_utility_codeglobals_utility_codeinclude_std_lib_h_utility_code pysequence_multiply_utility_codeslice_accessor_utility_coder   r2   rC   rH   rO   r   rv   c_longlong_typerK   r   c_uint_typec_ulong_typec_ulonglong_typec_float_complex_typer  c_longdouble_complex_typec_py_ucs4_typec_py_unicode_typec_char_typec_schar_typer   r  r   r9   r  ro   
c_int_typer  r  r  r  r9  #types_that_construct_their_instancer  updater  r-  r  r   r  c_void_ptr_typec_char_ptr_typec_py_ssize_t_ptr_type
CArrayTyper  r6   r  r+   r  r  r  r  r  r   r
  r&   r&   r&   r'   <module>   sD  
D





'
















]
c
j



 &






































y		
 !"#$%&'()*+,-./1	
 !"#$%&'()*,
  &







E8