
    h{                     t   S SK r SSKJr   " S S5      r SrSrSrSrSrSr	Sr
SrSrSrSrSrSrSrSrSr\" S5      rSrS	rS	rS
 rS rS r0 SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_0 S S_S!S_S"S_S#S$_S%S_S&S_S'S_S(S_S)S_S*S_S+S_S,S_S-S_S.S_S/S_S0S_S1S_E0 S2S_S3S_S4S_S5S_S6S7_S8S$_S9S_S:S_SS_S;S_S<S_S=S_S>S_S?S$_S@S_SAS_SBS_E0 SCS_SDS_SES_SFS_SGS_SHS_SIS_SJS_SKS_SLS_SMS_SNS_SOS_SPS_SQS$_SRS_SS/ _E/ / / SST.ErSSSSU.rSSV.SW jrSXSXSXSYSYSZ.R<                  rS[ r  " S\ S]5      r!\!" 5       r!0 S1\"_S\#_S^\$_S_\#_S`\" Sa5      _S%\!_S&\!_Sb\!_S'S_Sc\#_S,\#_S\#_SdS_SeS_SfS_S\#_SgS_0 ShS_SiS_Sj\#_Sk\#_Sl\%_Sm\%_S@\"_Sn\&_S6\" S7SoSpSqSqSp0SV9_S8\ _Sr\#_SsS_St\!_Su\!_S\" SSvSw5      _S\" SSxSy5      _Er'\RQ                  5        H  u  r)r*\)\';  d  M  \%" \*5      \'\)'   M     0 SSz_S_S{_S"S|_S`S}_S%S~_S&S_S'S_SbS~_SgS_SdS~_SeS~_SlS_SmS_S^S_ShS_SjS}_SkS}_0 ScS}_SiS_S.S|_S0S|_S/S|_S@S|_SSS_SS_SS|_SS|_SnS}_SS|_S*S|_S6S|_S8S|_S9Sz_S1S|_E0 SS|_S;S|_S4S|_S<S|_S5S_SrS}_SsS_StS_S=S_SfS_S>S|_S?S_SQS|_SRS|_SS|_SS|_Er+1 Skr,SS jr-  SS jr.S r/SS jr0 " S S5      r1\$" S0 SS _SS _SS_SS _SS_SS_SS_SS_SS _SS _SS$_SS_SS _SS _S0 _S0 _SS_SS_SS_SS_S1S_SS_SS_SS_SS_SS_SS_SS_SS_SS_S;S_S>S_SS_SS_6r2g)    N   )Utilsc                   :    \ rS rSr/ rS	S jrS rS rS rS r	Sr
g)
ShouldBeFromDirective   Nc                 r    Xl         U=(       d    UU l        X0l        U R                  R	                  U 5        g N)options_namedirective_namedisallowknown_directivesappend)selfr
   r   r   s       Q/var/www/fran/franai/venv/lib/python3.13/site-packages/Cython/Compiler/Options.py__init__ShouldBeFromDirective.__init__   s.    (,< $$T*    c                 $    U R                  5         g r	   _bad_accessr   s    r   __nonzero__!ShouldBeFromDirective.__nonzero__       r   c                 $    U R                  5         g r	   r   r   s    r   __int__ShouldBeFromDirective.__int__   r   r   c                 *    [        [        U 5      5      er	   )RuntimeErrorreprr   s    r   r   !ShouldBeFromDirective._bad_access   s    4:&&r   c                 @    SU R                   < SU R                  < S3$ )NzIllegal access of 'z-' from Options module rather than directive '')r
   r   r   s    r   __repr__ShouldBeFromDirective.__repr__   s    t224 	4r   )r   r   r
   )NF)__name__
__module____qualname____firstlineno__r   r   r   r   r   r$   __static_attributes__ r   r   r   r      s!    +'4r   r   TFold_style_globals   c                  t   [         R                   H  n [        5       R                  U R                  5      nU R
                  [        ;   d   e[        U[         5      (       a  MS  U R                  (       a(  [        SU R                  < SU R
                  < S35      eU[        U R
                  '   M     [        $ )NzOption 'z' must be set from directive 'r#   )r   r   globalsgetr
   r   _directive_defaults
isinstancer   r   option_name)
old_optionvalues     r   get_directive_defaultsr6      s     ,<<
	j556((,????%!677"""**J,E,EGH H
 BG#J$=$=> = r   c                 t    [        U 5      nS H  nUR                  US 5        M     UR                  U5        U$ )N)test_assert_path_existstest_fail_if_path_existstest_assert_c_code_hastest_fail_if_c_code_hascritical_section)dictpopupdate)outer_directivesnew_directivesnew_directives_outnames       r   copy_inherited_directivesrD      sB     ./%tT*% n-r   c                     [        U SSSS9$ )NF)bindingprofile	linetrace)rD   )r@   s    r   copy_for_internalrI      s    $	 r   rF   boundscheck	nonecheckinitializedcheckfreethreading_compatiblesubinterpreters_compatiblenoembedsignaturezembedsignature.formatc
auto_cpdefauto_pickle	cdivisioncdivision_warningscpowc_api_binop_methodsoverflowcheckzoverflowcheck.foldalways_allow_keywordsallow_none_for_extension_args
wraparoundccomplexcallspec nogilgilwith_gilrG   rH   emit_code_commentsannotation_typinginfer_typeszinfer_types.verboseautotestdictzautotestdict.cdefzautotestdict.alllanguage_levelfast_getattr
py2_importpreliminary_late_includes_cy28iterable_coroutinec_string_typebytesc_string_encodingtype_version_tagunraisable_tracebacks
np_pythranfast_gil
cpp_localslegacy_implicit_noexceptc_compile_guardset_initial_pathwarnzwarn.undeclaredwarn.unreachablewarn.maybe_uninitializedwarn.unusedzwarn.unused_argzwarn.unused_resultzwarn.multiple_declaratorszwarn.deprecated.DEFzwarn.deprecated.IFshow_performance_hintszoptimize.inline_defnode_callszoptimize.unpack_method_callsz&optimize.unpack_method_calls_in_pyinitzoptimize.use_switchremove_unreachablezcontrol_flow.dot_outputzcontrol_flow.dot_annotate_defsr8   )r9   r:   r;   formal_grammar)rx   rw   ry   )mapc                    ^ ^ UU 4S jnU$ )Nc                 j   > Tb  TR                  X5      nUT;  a  [        U < ST< SU< S35      eU$ )Nz directive must be one of z, got 'r#   )r0   
ValueError)rC   r5   argsr}   s     r   validateone_of.<locals>.validate   s<    ?GGE)EdE# $ $r   r+   )r}   r   r   s   `` r   one_ofr     s     Or   utf8ascii)r   zutf-8defaultr   zus-asciic                     U(       d  g[        UR                  5       5      nUb  U$ SSKn UR                  U5      nS H  nUR                  U5      U:X  d  M  Us  $    U$ ! [         a    Us $ f = f)a;  
>>> normalise_encoding_name('c_string_encoding', 'ascii')
'ascii'
>>> normalise_encoding_name('c_string_encoding', 'AsCIi')
'ascii'
>>> normalise_encoding_name('c_string_encoding', 'us-ascii')
'ascii'
>>> normalise_encoding_name('c_string_encoding', 'utF8')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'utF-8')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'deFAuLT')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'default')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'SeriousLyNoSuch--Encoding')
'SeriousLyNoSuch--Encoding'
r^   Nr   )r   r   )_normalise_common_encoding_namelowercodecs
getdecoderLookupError)r3   encodingencoding_namer   decoderrC   s         r   normalise_encoding_namer   3  s    & 3HNN4DEM ##H- "T"g-K " O  s   A! !A0/A0c                       \ rS rSrSrg)DEFER_ANALYSIS_OF_ARGUMENTSiY  r+   N)r&   r'   r(   r)   r*   r+   r   r   r   r   Y  s    r   r   localsfinalcollection_typesequencer<   internalcfuncccallufuncinlinestaticmethodcclassno_gc_clearno_gcreturns	exceptvalfreelist	bytearraystrunicodetrashcantotal_orderingdataclasses.dataclasszdataclasses.fieldclinicpython
shared_gilown_gil)moduler   )r   function)r   )r   )r   with statementr   )r   )classr   r   )r   r   r   r9   r:   r;   r|   )r   r   )r   r   )r   r   r   >   r   r   r   r   r   r   r   r   r   r   ra   r   rS   r   r   r   rn   r8   r9   r   c                    [         R                  U 5      nU(       d  gUnU[        L aQ  [        U5      nUS:X  a  gUS:X  a  gU(       a  UR	                  5       nUS;   a  gUS;   a  g[        U < SU< S	35      eU[        L a   [        U5      $ U[        L a  [        U5      $ [        U5      (       a  U" X5      $  e! [
         a    [        U < S
U< S	35      ef = f)a  
Parses value as an option value for the given name and returns
the interpreted value. None is returned if the option does not exist.

>>> print(parse_directive_value('nonexisting', 'asdf asdfd'))
None
>>> parse_directive_value('boundscheck', 'True')
True
>>> parse_directive_value('boundscheck', 'true')
Traceback (most recent call last):
   ...
ValueError: boundscheck directive must be set to True or False, got 'true'

>>> parse_directive_value('c_string_encoding', 'us-ascii')
'ascii'
>>> parse_directive_value('c_string_type', 'str')
'str'
>>> parse_directive_value('c_string_type', 'bytes')
'bytes'
>>> parse_directive_value('c_string_type', 'bytearray')
'bytearray'
>>> parse_directive_value('c_string_type', 'unicode')
'str'
>>> parse_directive_value('c_string_type', 'unnicode')
Traceback (most recent call last):
ValueError: c_string_type directive must be one of ('bytes', 'bytearray', 'str', 'unicode'), got 'unnicode'
NTrueTFalseF)trueyes)falserO   z. directive must be set to True or False, got 'r#   z+ directive must be set to an integer, got ')directive_typesr0   boolr   r   r   intcallable)rC   r5   relaxed_booltype
orig_values        r   parse_directive_valuer     s    8 t$DJt|E
F?GKKME'/)*  			#u: 
5z	$D  u  	#j" # #	#s   
B= =Cc                    Uc  0 nOUnU R                  S5       GH:  nUR                  5       nU(       d  M  SU;  a  [        SU-  5      eUR                  5       R                  SS5       V s/ s H  o R                  5       PM     sn u  pgU[        ;  ar  SnUR	                  S5      (       a:  USS n	[         H+  n
U
R                  U	5      (       d  M  S	n[        XUS
9nXU
'   M-     U(       d  U(       d  [        SU-  5      eM  M  [        R                  U5      [        L a#  Xd;   a  XF   R                  U5        GM$  U/XF'   GM,  [        XgUS
9nXU'   GM=     U$ s  sn f )a  
Parses a comma-separated list of pragma options. Whitespace
is not considered.

>>> parse_directive_list('      ')
{}
>>> (parse_directive_list('boundscheck=True') ==
... {'boundscheck': True})
True
>>> parse_directive_list('  asdf')
Traceback (most recent call last):
   ...
ValueError: Expected "=" in option "asdf"
>>> parse_directive_list('boundscheck=hey')
Traceback (most recent call last):
   ...
ValueError: boundscheck directive must be set to True or False, got 'hey'
>>> parse_directive_list('unknown=True')
Traceback (most recent call last):
   ...
ValueError: Unknown option: "unknown"
>>> warnings = parse_directive_list('warn.all=True')
>>> len(warnings) > 1
True
>>> sum(warnings.values()) == len(warnings)  # all true.
True
N,=Expected "=" in option "%s"   Fz.allT)r   zUnknown option: "%s")splitstripr   r1   endswith
startswithr   r   r0   listr   )sr   ignore_unknowncurrent_settingsresultitemrC   r5   foundprefix	directiveparsed_values               r   parse_directive_listr   
  sK   : !zz|d?:TABB*.**,*<*<S!*DE*DQwwy*DE**E}}V$$cr!4I ++F33 $'<Y\h'i,8y)	 "5
  !7$!>?? "05  &$.~##E* %w0<XL'4L3 4 M) Fs   -Ec                     U S:X  a  gU S:X  a  gU S:X  a  gU R                  5       (       a  [        U 5      $  [        U 5      n U $ ! [         a     U $ f = f)aG  
Parses value as an option value for the given name and returns
the interpreted value.

>>> parse_variable_value('True')
True
>>> parse_variable_value('true')
'true'
>>> parse_variable_value('us-ascii')
'us-ascii'
>>> parse_variable_value('str')
'str'
>>> parse_variable_value('123')
123
>>> parse_variable_value('1.23')
1.23

r   Tr   FNoneN)isdigitr   float	Exception)r5   s    r   parse_variable_valuer   H  sf    & 	'		&	5z	%LE   		s   A 
AAc                 (   Uc  0 nOUnU R                  S5       Ho  nUR                  5       nU(       d  M  SU;  a  [        SU-  5      eUR                  SS5       V s/ s H  o R                  5       PM     sn u  pE[        U5      X$'   Mq     U$ s  sn f )a  
Parses a comma-separated list of pragma options. Whitespace
is not considered.

>>> parse_compile_time_env('      ')
{}
>>> (parse_compile_time_env('HAVE_OPENMP=True') ==
... {'HAVE_OPENMP': True})
True
>>> parse_compile_time_env('  asdf')
Traceback (most recent call last):
   ...
ValueError: Expected "=" in option "asdf"
>>> parse_compile_time_env('NUM_THREADS=4') == {'NUM_THREADS': 4}
True
>>> parse_compile_time_env('unknown=anything') == {'unknown': 'anything'}
True
r   r   r   r   )r   r   r   r   )r   r   r   r   rC   r5   s         r   parse_compile_time_envr   l  s    & !zz|d?:TABB*.**S!*<=*<Qwwy*<=+E2  M >s   Bc                   .    \ rS rSrSrSS jrS rS rSrg)	CompilationOptionsi  z
See default_options at the end of this module for a list of all possible
options and CmdLine.usage and CmdLine.parse_command_line() for their
meaning.
Nc                    / U l         U(       a"  [        U[        5      (       a  UR                  nO[        n[        U5      nUR                  U5        [        U5      [        [        5      -
  nUR                  S/5        U(       a5  S[        U5      S:  a  SOS< SSR                  U5      < 3n[        U5      e[        5       n[        US   5      n[        U5      [        U5      -
  nU(       a5  S	[        U5      S:  a  SOS< S
SR                  U5      < 3n[        U5      eXsS'   UR                  SS5      (       a$  US   (       d  SS Kn	U	R                  S5        SUS'   SU;  a  UR                  S5      (       a	  US   US'   O*UR                  S5      (       d  UR                  S5      US'   SU;   a  SU;  a  US   US'   U R                  R                  U5        g )Ninclude_pathzgot unknown compilation optionr   r   r^   z, please remove: z, compiler_directiveszgot unknown compiler directivez: rp   Fcplusr   z%C++ mode forced when in Pythran mode!Trf   r|   )r   r2   r   __dict__default_optionsr=   r?   setdifference_updatelenjoinr   r6   r0   warningsrv   )
r   defaultskwoptionsunknown_optionsmessagedirective_defaults
directivesunknown_directivesr   s
             r   r   CompilationOptions.__init__  s   ($677#,,&Hx.r g,_)==))>*:;?+a/R7		/*,G W%%35'"789
 _s3E/FF-.2:		,-/G W%%)3%&>>,..ww7GMMAB#GG2%*..9I*J*J(23C(DG$%-..(:(>(>?O(PG$%z).>b.H(23C(DG$%W%r   c                 j    US:X  a-  U R                   R                  S5      c  SU R                   S'   g g g )NpyrF   T)r   r0   )r   source_extensions     r   configure_language_defaults.CompilationOptions.configure_language_defaults  s;    t#''++I6>6:((3 ? $r   c                   ^ 0 nU R                   R                  5        H  u  p#US;   a  M  US;   a  M  US;   a  M  US;   a  M%  US;   a  M-  US;   a  M5  US;   a  M=  US;   a  ME  US	;   a  MM  US
;   a  MU  US;   a  X1U'   Ma  US;   a  X1U'   Mm  US;   a  X1U'   My  US;   a  X1U'   M  US;   a  U(       a  [        U S35      eM  X1U'   M     U4S jmT" U5      $ )zY
Return a string that contains all the options that are relevant for cache invalidation.
)show_versionerrors_to_stderrverbosequiet)output_file
output_dir)depfile)
timestamps)cache)r   r   )working_path)create_extension)	build_dir)use_listing_filegenerate_pxiannotateannotate_coverage_xml)r|   evaluate_tree_assertions)embedded_metadataemit_linenumsc_line_in_traceback	gdb_debug'relative_path_in_code_position_comments)r   rf   compile_time_envrp   )capi_reexport_cincludescommon_utility_include_dirz& is not compatible with Cython cachingc           
         > [        U [        5      (       a?  [        U R                  5        VVs/ s H  u  p[	        U5      T" U5      4PM     snn5      n [	        U 5      $ s  snnf )z\
Recursively turn item into a string, turning dicts into lists with
deterministic ordering.
)r2   r=   sorteditemsr    )r   keyr5   to_fingerprints      r   r  :CompilationOptions.get_fingerprint.<locals>.to_fingerprint  sW    
 $%%TXT^T^T`aT`jcS	>%+@AT`ab: bs   A!
)r   r  NotImplementedError)r   datar  r5   r  s       @r   get_fingerprint"CompilationOptions.get_fingerprint  s*   
 ----/JCNN55#&	!//(( (( ,, % aa "S	FF!S	 D D "S	UU!S	QQ-5[.\]]  "S	w 0z	 d##r   r  r	   )	r&   r'   r(   r)   __doc__r   r   r  r*   r+   r   r   r   r     s    
+&Z;
M$r   r   r   r  r   r   r   r   r   r  r	  r  r  r  r   r   r   r   r  r
  r  r  r  r  r  module_namer  r   r  r  r  shared_c_file_pathshared_utility_qualified_name)F)FFNr	   r+   )3osr^   r   r   
docstringsembed_pos_in_docstring
pre_importgenerate_cleanup_codeclear_to_noner  r	  	fast_failwarning_errorserror_on_unknown_nameserror_on_uninitializedconvert_rangecache_builtinsgcc_branch_hintslookup_module_cpdefembedr,   cimport_from_pyxbuffer_max_dimsclosure_freelist_sizer6   rD   rI   r1   extra_warningsr   r0   r   r   r   r   r   r=   r   r   r   r  r  valdirective_scopesimmediate_decorator_directivesr   r   r   r   r   r   r+   r   r   <module>r7     s   
 4 40 
   
       	            	 **=>   
   "	WtWDW %W 	W
 W !$W eW SW %W 4W W %W DW 5W  U!W" $#W$ T%W& $T'W( 4)W* +W, -W. e/W0 
E1W2 3W4 u5W6 7W8 $9W: ;W< 4=W> 5?W@ DAWB CWD EWF dGWH EIWJ %KWL %eMWN %OWP WQWR SWT UWV TWWX YWZ %[W\ ]W^ %_W` aWb rcWh iWl DmWn uoWp qWr sWt 5uWv uwWx %yWz  {W| 5}W~ $W@ dAWF $TGWH #DIWJ -eKWL 4MWR $SWX rYWZ %e[W` aWb "$! " mW v !%   # #  !L	 	9; "c"4" d" d	"
 vj)" )" 
'" 4" " " D" " d" d" T"  T!"" t#"$ T%"& t'"( D)"* d+", -". /"0 1"2 3"4 VG[%TYHZ[5"6 07"8 9": d;"< 8="> 4?"@ VC8<A"B !&|Y"GC"H $))+HC
/!#Cy ,7'7 $7 	7
 {7 ,7 
7 7 67 }7 ,7 ,7 7 -7 }7  ]!7" K#7$ k%7& '7( 4)7* [+7, -7. +/70 172  ?374 !@576 {778 97: ;7< k=7> +?7B [C7D E7F ,G7H kI7N O7P +Q7R %kS7T U7V 0W7X Y7Z )[7\ 1]7^ 2_7` ]a7b c7d }e7f {g7h %ki7j k7l !+m7 x	" 9x @E*.;|!HLE$ E$\  ### # 	#
 # # # # # # # # # # #  !#" ###$ %#& -1'#( )#* +#, -#. /#0 1#2 3#4  $5#6 7#8 9#: ;#< =#> ?#@ "A#B C#D %)E#r   