+
    VBiz                        ^RI HtHt ^RIHt ^RIHtHtHt ^RIHt ^RIH	t	 ^RI
HtHt ^RIHtHt ^RIHt ^R	IHt ^R
IHt RtRtRtRtRtRtRtRtRtRtRtRtRtRtRt Rt!Rt"Rt#Rt$Rt%Rt&R ]!R!]"R"]#R#]$R$]%R%]&/t'R R&R!R'R"R(R#R)R$R*R%R+/t(R, t)RjR- lt*RkR. lt+R/ t,R0 t-R1 t.RlR2 lt/ ! R3 R4]P`                  4      t1R5 t2R6 t3R7 t4R8 t5R9 t6RmR: lt7 ! R; R<4      t8 ! R= R>]84      t9 ! R? R@]84      t:RA t;RB t<RC t=RD t>RE t?RF t@RGRnR$RoRHRpRIRqRJRrRKRs/tARL tBRM tCRN tDRO tERtRQ ltFRuRRRP/RS lltGRT tHRU]P                  RV]P                  RW]P                  P                  RX^/tMRY tN]G! RZR[]MR\7      tO]G! R]4      tPR^ tQR_ tR]G! R`4      tS]G! Ra4      tT]G! Rb4      tU]G! Rc4      tV]G! Rd]MRe7      tW]G! Rf4      tX]	P                  Rg 4       tZ]	P                  Rh 4       t[Ri t\Rvt]RP# )w   )CompileErrorerror)	ExprNodes)IntNodeNameNodeAttributeNode)Options)Utils)UtilityCodeTempitaUtilityCode)CythonUtilityCodeCythonSharedUtilityCode)Buffer)Naming)
PyrexTypeszStart must not be given.z3Axis specification only allowed in the 'step' slot.z.Step must be omitted, 1, or a valid specifier.z>Cannot specify an array that is both C and Fortran contiguous.zInvalid axis specification.z+Variable was not cimported from cython.viewz=no expressions allowed in axis spec, only names and literals.z<Invalid axis specification for a C/Fortran contiguous array.zdCannot check if memoryview %s is initialized without the GIL, consider using initializedcheck(False)PyBUF_FORMATz#(PyBUF_C_CONTIGUOUS | PyBUF_FORMAT)z#(PyBUF_F_CONTIGUOUS | PyBUF_FORMAT)z%(PyBUF_ANY_CONTIGUOUS | PyBUF_FORMAT)PyBUF_FULL_ROPyBUF_RECORDS_RO__Pyx_MEMVIEW_DIRECT__Pyx_MEMVIEW_PTR__Pyx_MEMVIEW_FULL__Pyx_MEMVIEW_CONTIG__Pyx_MEMVIEW_STRIDED__Pyx_MEMVIEW_FOLLOWdirectptrfullcontigstridedfollowdpfcs_c                 f    VP                  R V ,          4       VP                  RV ,          4       R# )z%s.data = NULL;z%s.memview = NULL;N)putln)mv_cnamecodes   &&?/usr/lib/python3.14/site-packages/Cython/Compiler/MemoryView.pyput_init_entryr,   :   s&    JJ 8+,JJ#h./    c           
        VP                   P                  '       g   Q hVP                  4       ;'       g    VP                  4       pV'       d   VP	                  4       pMEVP
                  P                  VRR7      pVP                  V: RVP                  V4      : R24       \        WWVWVR7       V'       g   VP
                  P                  V4       R# R# )zEWe can avoid decreffing the lhs if we know it is the first assignmentF
manage_ref = ;)have_gilfirst_assignmentN)typeis_memoryviewsliceresult_in_temp	is_simpleresult	funcstateallocate_tempr(   	result_asput_assign_to_memviewslicerelease_temp)		lhs_cnamelhs_typelhs_posrhsr*   r3   r4   
pretty_rhsrhstmps	   &&&&&&&  r+   put_acquire_memoryviewslicerE   C   s     88&&&&&##%88J--h5-I

x)@AB yv(0U ##F+ r-   c                     W8X  d   VP                  R 4       R# V'       g   VP                  WVR7       VP                  4       '       g   VP                  V4       VP                  V : RV: R24       R# )z&/* memoryview self assignment no-op */Nr3   r1   r2   )r(   put_xdecrefr7   make_owned_memoryviewslice)r?   rB   	rhs_cnamememviewslicetyper*   r3   r4   s   &&&&&&&r+   r=   r=   X   se     	

;<"* 	 	, &&t,JJY	23r-   c                     \        V 4      w  rV'       d   \        # V'       d   \        # \        V !  w  r4R V9   g   RV9   d   \        # \
        # r   r   )is_cf_contigmemview_c_contiguousmemview_f_contiguouszipmemview_full_accessmemview_strided_accessspecsis_c_contigis_f_contigaccesspackings   &    r+   get_buf_flagsrZ   j   sF    +E2K##	##5kOF5F?""%%r-   c                     R.V,          pVP                  V P                  4       \        P                  ! V P                  V4      # )r   r   r   )extendaxesr   MemoryViewSliceTypedtype)memoryviewtypenr^   s   && r+   insert_newaxesrc   z   s:    !"Q&DKK##$)).*>*>EEr-   c                     \        V P                  VP                  ,
          4      pV P                  VP                  8  d   \        W4      V3# V \        W4      3# N)absndimrc   )srcdstrb   s   && r+   broadcast_typesrj      sI    CHHsxx A
xx#((c%s**N3***r-   c                   V P                   '       d   V P                  P                  '       d   R# V \        P                  J d   R# V P
                  '       dO   V P                  R8X  d>   V P                  P                   F!  p\        VP                  4      '       d   K    R# 	  R# V P                  ;'       g    V P                  ;'       d3    V^8  ;'       d&    \        V P                  V^,           4      ;'       gf    V P                  ;'       gR    V P                  ;'       g>    V P                   ;'       g*    V P"                  ;'       d    \        V P$                  4      # )z~
Return whether type dtype can be used as the base type of a
memoryview slice.

We support structs, numeric types and objects
FstructT)
is_complex	real_typeis_intr   c_bint_type	is_structkindscopevar_entriesvalid_memslice_dtyper5   is_erroris_array	base_type
is_numericis_pyobjectis_fused
is_typedeftypedef_base_type)r`   imembers   && r+   ru   ru      s/    EOO222
&&&5::1kk--F'44 .  	 	M 	M 
 
6 
6AE 
6 
6	eooq1u	5		M 	M
 		M 	M 		M 	M 		M 	M 
			K	K253J3JK
r-   c                   R   a  ] tR t^t o RtR tR tR tR tR t	RR lt
R tR	tV tR
# )MemoryViewSliceBufferEntryz
May be used during code generation time to be queried for
shape/strides/suboffsets attributes, or to perform indexing or slicing.
c                   Wn         VP                  V n        VP                  V n        R V P                  ,          V n        V P                   P                  P                  p\
        P                  ! V4      V n        V P                  4        R# )z%s.dataN)	entryr5   cnamebuf_ptrr`   r   CPtrTypebuf_ptr_typeinit_attributes)selfr   r`   s   && r+   __init__#MemoryViewSliceBufferEntry.__init__   s_    
JJ	[[
 4::-

%%&//6r-   c                $    V P                  R 4      # )%s.suboffsets[%d]_for_all_ndimr   s   &r+   get_buf_suboffsetvars0MemoryViewSliceBufferEntry.get_buf_suboffsetvars   s    !!"566r-   c                $    V P                  R 4      # )%s.strides[%d]r   r   s   &r+   get_buf_stridevars-MemoryViewSliceBufferEntry.get_buf_stridevars   s    !!"233r-   c                $    V P                  R 4      # )%s.shape[%d]r   r   s   &r+   get_buf_shapevars,MemoryViewSliceBufferEntry.get_buf_shapevars   s    !!.11r-   c           	         \        V P                  P                  4       UUUu. uF  w  pw  rEW2V,          WE3NK  	  ppppV P                  W4      # u upppi re   )	enumerater5   r^   _generate_buffer_lookup_code)r   r*   index_cnamesdimrX   rY   r^   s   &&&    r+   generate_buffer_lookup_code6MemoryViewSliceBufferEntry.generate_buffer_lookup_code   sZ    2;DIINN2KM2K..f 3'92K 	 M00<<Ms   Ac           
        V P                   pV P                  P                  P                  4       pV EF  w  rgrRV P                  V3,          p
RV P                  V3,          pRV P                  V3,          p\        W4      pVR9   d4   VP                  P                  \        4       RV: RV: RV: RV: R2	pMmVR8X  d   RV: R	V: R
V: R2pRV: RV: R2pMKVR8X  d   RV: R	V: RV: R2pM4VR8X  d   RV: R	V: R
V: R2pMVR8X  g   Q V4       hRV: RV: RV: R2pRWd3,          pEK  	  V'       d   RV: RV: R2# V# )zT
Generate a single expression that indexes the memory view slice
in each dimension.
r   r   r   z__pyx_memviewslice_index_full(z, )indirect(z +  * z(*((char **) z) + indirect_contiguousr   
contiguousz((char *) ((( *) z))z( /* dim=%d */ %s )z(()genericgeneric_contiguous)	r   r5   r`   empty_declaration_coder   get_memoryview_flagglobalstateuse_utility_codememviewslice_index_helpers)r   r*   r^   cast_resultbufp	type_declr   indexrX   rY   shapestride	suboffsetflags   &&&&          r+   r   7MemoryViewSliceBufferEntry._generate_buffer_lookup_code   s4   
 ||IIOO::<	+/'C"djj#%66E%S(99F+tzz3.??I&v7D88
   112LM-15&)M #+/?48)D..8<eYO"+/? |+1T1+:CT5Q(C;6D? ,0B ;$-t44r-   c           	     F  aa V P                   pSP                  R\        4       ,          4       SP                  R\        4       ,          4       SP                  W4VR7       \        ;QJ d0    R V P
                  P                   4       F  '       d   K   RM%	  RM!! R V P
                  P                   4       4      p	. oVV3R lp
Rp^ pV EF#  pVP                  '       d1   R F  w  rSP                  RW>W3,          4       K!  	  V^,          pKF  V^,          pV P
                  P                  V,          w  ppVP                  '       d   \        \        4       4      pR	P                  4        FI  p\        VV4      pVP                  '       * ;pVR
V,           &   V'       d   VP                  4       MRVV&   KK  	  VR,          '       g'   VR,          '       g   VR,          '       g	   VVR&   RpM RpSP                  VP                  4      VR&   V^,          pMVP                  4       pVR8g  pV'       d%   VR8H  pV^ 8w  d   \        VP                  R4      u # \        \        4       \!        VR,          4      \!        VR,          4      R7      pVR,          '       d   SP                  VP                  4      VR&   Rp\"        P$                  ! VRVR7      w  ppSP'                  V4       EK&  	  S'       d%   SP(                  P+                  S^ ,          4       R# R# )ao  
Slice a memoryviewslice.

indices     - list of index nodes. If not a SliceNode, or NoneNode,
              then it must be coercible to Py_ssize_t

Simply call __pyx_memoryview_slice_memviewslice with the right
arguments, unless the dimension is omitted or a bare ':', in which
case we copy over the shape/strides/suboffsets attributes directly
for that dimension.
z%(dst)s.data = %(src)s.data;z"%(dst)s.memview = %(src)s.memview;rG   c              3   0   "   T F  w  rVR 8H  x  K  	  R# 5i)r   N ).0rX   rY   s   &  r+   	<genexpr>HMemoryViewSliceBufferEntry.generate_buffer_slice_code.<locals>.<genexpr>  s     #]n?6Fh$6ns   FTc                     < S'       gU   SP                   P                  \        P                  R R7      p SP	                  RV ,          4       SP                  V 4       S^ ,          # )Fr/   z%s = -1;)r:   r;   r   
c_int_typer(   append)suboffset_dimr*   suboffset_dim_temps    r+   get_suboffset_dimPMemoryViewSliceBufferEntry.generate_buffer_slice_code.<locals>.get_suboffset_dim  sP    % $ < <Z=R=R_d < e

:56"))-8%a((r-   z%s.%s[%d] = %d;zstart stop stephave_0
have_start	have_stop	have_steprX   SimpleSlice
ToughSlice
error_gotor   r   z7All preceding dimensions must be indexed and not sliced
wraparoundboundscheck)r   r   
SliceIndexMemoryView_C.ccontextN))r   r   )strides    )
suboffsetsr   )r   r(   localsput_incref_memoryviewsliceallr5   r^   is_noneis_slicedictsplitgetattrr9   r   posr   intr   load_as_stringputr:   r>   )r   r*   indicesri   dst_typer3   have_slices
directivesrh   all_dimensions_directr   r   new_ndimr   attribvaluerX   rY   r!   r%   idxhave_idx	util_namer   r   r&   implr   s   &f&&&&&&                   @r+   generate_buffer_slice_code5MemoryViewSliceBufferEntry.generate_buffer_slice_code   s    jj

1FH<=

7&(BC'''I ##]diinn#]#]diinn#] ]	) E}}}%WMFJJ0C3QQR &X A1HC"iinnS1OFG~~~N*002A!%+C47KK?Hq1~+33::<AaD 3
 ,1[>>Q{^^ #)AhK -I ,I&*ooeii&@AlOA lln!X-$.G1}$UYY&> ? ? H":l#;< #J}$= >
 ]##&*ooeii&@AlO(	(77	CS]^_GAtHHTNi l NN''(:1(=> r-   )r   r   r   r   r5   N)T)__name__
__module____qualname____firstlineno____doc__r   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r+   r   r      s5     	742=
,\W? W?r-   r   c                 ^    \         P                  ! V 4      p\         P                  ! WWR 7      # ))startstopstep)r   NoneNode	SliceNode)r   nones   & r+   empty_slicer  O  s*    c"Ds$(5 5r-   c                    . pR pR pV  Uu. uF  qUP                   '       g   K  VNK  	  pp\        V 4      \        V4      ,
          pV  F  p\        V\        P                  4      '       d_   Rp\        VP                  4      p	V'       d   VP                  V	4       KU  W,
          ^,           p
VP                  V	.V
,          4       RpK  T;'       g!    VP                  ;'       g    VP                   pVP                  V4       K  	  \        V4      \        V4      ,
          pW8  d>   RpW,
          p
VP                  \        V R,          P                  4      .V
,          4       WBV3# u upi )FTr   )
r   len
isinstancer   EllipsisNoder  r   r   r]   r   )r   rg   r9   seen_ellipsisr   newaxisnewaxes	n_indicesr   
full_slicenslicesresult_lengths   &&          r+   unellipsifyr  U  s#   FMK&-Ag7wwgGAGs7|+IeY3344K$UYY/Jj)*Q.zlW45 $%HHHH5==KMM%   K#g,.M&{72;??34w>?''1 Bs
   E*E*c                     V R 8X  d
   VR
9   d   R# V R 8X  d
   VR8X  d   R# V R8X  d
   VR
9   d   R# V R8X  d
   VR8X  d   R# V R8X  d
   VR
9   d   R# W3R8X  g	   Q W34       hR	# )r   r   r   r   r   r   r   r   r   r   )r   r    r   r   r   )rX   rY   s   &&r+   r   r   u  sz    G'<<	6	g1#	5W(==	5W0$	8	+@ @ $88K6:KK8r-   c                 (    V R9   g   Q hRW3,          # )Cz!__pyx_memviewslice_is_contig_%s%dr  Fr   )contig_typerg   s   &&r+   get_is_contig_func_namer    s    *$$$.+1DDDr-   c                 `    V R9   g   Q h\        \        WR7      p\        RV\        .R7      pV# )r  )rg   r  MemviewSliceCheckContigr   requiresr  )r   template_contextload_memview_c_utilityis_contig_utility)r  rg   r  utilitys   &&  r+   get_is_contig_utilityr     s8    *$$$DBA$%>/@.ACGNr-   c                     V P                   '       g   V P                  '       d   V'       g   \        WW#4      # \        WW#4      # re   )rV   rW   ContigSliceIterStridedSliceIter)
slice_typeslice_resultrg   r*   force_strideds   &&&&&r+   
slice_iterr'    s5    *"8"8"8-zDD
$EEr-   c                   &   a  ] tR tRt o R tRtV tR# )	SliceIteri  c                6    Wn         W n        W@n        W0n        R # re   )r$  r%  r*   rg   )r   r$  r%  rg   r*   s   &&&&&r+   r   SliceIter.__init__  s    $(		r-   )r*   rg   r%  r$  N)r   r   r   r   r   r   r   r   s   @r+   r)  r)    s      r-   r)  c                   ,   a  ] tR tRt o R tR tRtV tR# )r"  i  c                  a  S P                   pVP                  4        S P                  P                  P	                  4       pR P                  V 3R l\        S P                  4       4       4      pVP                  RV,          4       VP                  R4       VP                  V: RV: RS P                  : R24       VP                  R4       R# )	r   c              3   N   <"   T F  pR SP                   V3,          x  K  	  R# 5i)r   N)r%  )r   r~   r   s   & r+   r   .ContigSliceIter.start_loops.<locals>.<genexpr>  s+       ;)9A !/$2C2CQ1G G G)9s   "%z"Py_ssize_t __pyx_temp_extent = %s;zPy_ssize_t __pyx_temp_idx;z *__pyx_temp_pointer = (r   z.data;zPfor (__pyx_temp_idx = 0; __pyx_temp_idx < __pyx_temp_extent; __pyx_temp_idx++) {__pyx_temp_pointer)
r*   begin_blockr$  r`   r   joinrangerg   r(   r%  )r   r*   r   
total_sizes   f   r+   start_loopsContigSliceIter.start_loops  s    yyOO))@@B	ZZ  ;).tyy)9 ; ;


7*DE

/0

y$"3"35 	6

 . 	/ $r-   c                    V P                   P                  R 4       V P                   P                  R4       V P                   P                  4        R# )z__pyx_temp_pointer += 1;}N)r*   r(   	end_blockr   s   &r+   	end_loopsContigSliceIter.end_loops  s3    		23				r-   r   Nr   r   r   r   r5  r:  r   r   r   s   @r+   r"  r"    s     $$ r-   r"  c                   ,   a  ] tR tRt o R tR tRtV tR# )r#  i  c                   V P                   pVP                  4        \        V P                  4       Fq  pW P                  V3pVP                  R V,          4       VP                  RV,          4       VP                  RV,          4       VP                  RV,          4       Ks  	  VP                  RV P                  ,          4       \        V P                  4       FD  pV^ 8  d!   VP                  RW"^,
          3,          4       VP                  RW"W"3,          4       KF  	  RV P                  ^,
          ,          # )z/Py_ssize_t __pyx_temp_extent_%d = %s.shape[%d];z1Py_ssize_t __pyx_temp_stride_%d = %s.strides[%d];zchar *__pyx_temp_pointer_%d;zPy_ssize_t __pyx_temp_idx_%d;z__pyx_temp_pointer_0 = %s.data;z.__pyx_temp_pointer_%d = __pyx_temp_pointer_%d;z\for (__pyx_temp_idx_%d = 0; __pyx_temp_idx_%d < __pyx_temp_extent_%d; __pyx_temp_idx_%d++) {z__pyx_temp_pointer_%d)r*   r1  r3  rg   r%  r(   )r   r*   r~   ts   &   r+   r5  StridedSliceIter.start_loops  s   yytyy!A$$a'AJJH1LMJJJQNOJJ59:JJ6:; " 	

4t7H7HHItyy!A1u

KqVWRWjXYJJ 589a|D E	 " '$))a-88r-   c                    V P                   p\        V P                  ^,
          RR4       F-  pVP                  RW"3,          4       VP                  R4       K/  	  VP	                  4        R# )r   z.__pyx_temp_pointer_%d += __pyx_temp_stride_%d;r8  Nr   )r*   r3  rg   r(   r9  )r   r*   r~   s   &  r+   r:  StridedSliceIter.end_loops  sQ    yytyy1}b"-AJJG1&PQJJsO . 	r-   r   Nr<  r   s   @r+   r#  r#    s     9. r-   r#  c                 `    V P                   '       d   R pMRpRV P                  4       : RV: 2# )r$   r#   __pyx_memoryview_copy_slice_r&   )rV   specialization_suffix)memviewc_or_fs   & r+   copy_c_or_fortran_cnamerH    s3     ))+V5 5r-   c                 F   VP                   VP                   8w  dP   VP                   P                  '       d&   VP                   P                  VP                   8X  g   \        V R 4       R# \	        VP
                  4      \	        VP
                  4      8w  d   \        V R4       R# VP                  '       g!   VP                  '       g   \        V R4       R# VP
                   F  w  r4VR8w  g   K  \        V R4        R# 	  VP                  '       d
   Rp\        pMVP                  '       g   Q hRp\        p\        R\        \        VVP                   P                  4       VVP                  \        V4      \!        VP                   P"                  4      R	7      R
7      # )zdtypes must be the same!Nz!number of dimensions must be samez%to_memview must be c or f contiguous.r   z2cannot handle 'full' or 'ptr' access at this time.r$   fortranCopyContentsUtility)mode
dtype_declcontig_flagrg   
func_cnamedtype_is_objectr   )r`   is_cv_qualifiedcv_base_typer   r  r^   rV   rW   rO   rP   r  r   r  r   rg   rH  r   rz   )r   from_memview
to_memviewrX   rY   rL  rN  s   &&&    r+   get_copy_new_utilityrU    sR   j...##3338J8J8W8W[e[k[k8kc-.
<Z__!55c67"""j&<&<&<c:;)..X#KL /
 *%%%%%*!!''>>@#.z:
 0 0 < <=
 r-   c                	   V P                   P                  pVP                  4        VP                  p\	        R Uu. uF  pVP                  V4      NK  	  up4      p\	        R Uu. uF  pVP                  V4      NK  	  up4      pRRrRRrT	Rr. p\        V4       EF  w  rVP                  P                  '       g%   \        VP                  P                  \        4      hVP                  P                  '       g%   \        VP                  P                  \        4      hVP                  P                  '       d   VP                  W34       K  \!        VP                  \"        4      '       d[   VP                  P%                  V 4      ^8w  d%   \        VP                  P                  \&        4      hVP                  VR34       EK0  \!        VP                  \(        \*        34      '       dx   \-        WP                  4      pVP.                  \0        9   d*   VP                  \0        VP.                  ,          4       EK  \        VP                  P                  \2        4      h\        VP                  P                  \2        4      h	  ^ pRp\        V4       FH  w  pw  ppVR8X  g   K  V'       d%   \        XP                  P                  \4        4      hTpVR3W&   RpKJ  	  V'       EdX   V\7        V4      ^,
          8X  d   RpMCRpV'       d:   VV^,
          ,          ^ ,          R9   g   \        VV,          P                  R4      hV'       dF   Rp\        \9        V4      4       F+  w  pw  ppVR9   g   K  \7        V4      V,
          ^,
          pK-  	  V^,           p\7        V4      V,
          p\        VVV 4       Fe  w  pw  ppV^,           V,           pVR8w  d   \        W,          P                  R	4      hVR8X  d   \        W,          P                  R
4      hVV3W&   Kg  	  V'       d   VR,          w  ppVR3VR&   \;        V Uu. uF  qP                  P                  NK  	  upVVV4       V# u upi u upi u upi )z
get_axes_specs(env, axes) -> list of (access, packing) specs for each axis.
access is one of 'full', 'ptr' or 'direct'
packing is one of 'contig', 'strided' or 'follow'
r   r   r   r    FcfcontigTz>Fortran contiguous specifier must follow an indirect dimensionz>Indirect dimension may not follow Fortran contiguous dimensionzDimension may not be contiguous)r   r   r   r   r   r    rM   r   r   r   )r   cython_scopeload_cythonscope	viewscopetuplelookupr   r   r   r   r   	START_ERRr   STOP_ERRr   r   r  r   compile_time_valueSTEP_ERRr   r   _get_resolved_specnameview_constant_to_access_packingINVALID_ERRBOTH_CF_ERRr  reversedvalidate_axes_specs)envr^   cythonscoper\  rd  access_specspacking_specsrW   rV   default_accessdefault_packing	cf_access
cf_packing
axes_specsr   axisr   
contig_dim	is_contigrX   rY   r   r   ar"   s   &&                       r+   get_axes_specsrw    s    ++**K  "%%I 9; 9 $**40 9; <L ?A ? %++D1 ?A BM  %e&.	O*HzJt_	zz!!!tzz~~	::yy   tyy}}h7799~?@		7++ yy++C0A5"499==(;;y*56		Hm#<==&sII6Ezz<<!!"A%**"MN"499==+>> tyy}}k::5 %: JI"+J"7fgj "499==+>>J%x0JOI #8 yTQ&KK*Z!^"<Q"??"R"4
#3#7#7#ce e J*3HZ4H*I&&fg_,!$TS1!4J +J Q4y;&&/
50F&G"C"&'q.3&C!"49==$BC C (""49==#DF F%z2JO 'H  b>DAq[JrND9DDD9"##%
 I;Az :s   Q>&RRc                 ^    \        V4      \        P                  8  d   \        V R 4       R# R# )zGMore dimensions than the maximum number of buffer dimensions were used.FT)r  r	   buffer_max_dimsr   )r   r^   s   &&r+   validate_axesrz  ~  s)    
4yG+++c 6 	7r-   c                    R ;r\        V 4      ^8X  d   V R.8X  d   RpW3# V R,          R8X  dF   \        ;QJ d    R V RR  4       F  '       d   K   R M	  RM! R V RR  4       4      '       d   RpW3# \        V 4      ^8  dY   V ^ ,          R8X  dK   \        ;QJ d#    R V R,           4       F  '       d   K   R M	  RM! R V R,           4       4      '       d   RpW3# )FTc              3   *   "   T F	  qR8H  x  K  	  R# 5ir   N)r   r    r   r   rs  s   & r+   r   is_cf_contig.<locals>.<genexpr>  s     C
++
   Nc              3   *   "   T F	  qR8H  x  K  	  R# 5ir}  r   r~  s   & r+   r   r    s     B	++	r  :r   NNr  r   )r  r   )rU   rV   rW   s   &  r+   rN   rN     s     %%K
5zQ5%9$:: ## )*
*CCcr
CCCCCcr
CCC ## e*q.!H++CBb	BCCCBb	BBB##r-   c                 r    \        V 4      w  rV'       d   R # V'       d   R# V  F  w  r4VR9   g   K   R# 	  R# )r$   rJ  r   r   rY  )rN   rT   s   &    r+   get_moder    s7    +E2K	 _$ ! r-   r   r   r   r   r   c                    RpRpR;p;p;rRp
\        V4       F  w  pw  rVR8X  g   K  Tp
K  	  \        \        W4      4       EF  w  pw  pw  rW9   d   W9   g   \        VR4      hVR8X  d   RpMVR 8X  d   V'       d   \        VR4      hV
^,           \        V4      ^,
          3pW9  dS   VR8w  dL   V
^,           \        V4      ^,
          8w  d   RV,          pMR	V^ ,          ,          p\        VR
V,          4      hVR8g  pM7VR8X  d1   V'       d   \        VR4      hV'       g   V'       g   \        VR4      hVR9   g   EK  RpEK  	  R# )r   r   r    r   FzInvalid axes specification.Tz1Only one direct contiguous axis may be specified.zdimensions %d and %dzdimension %dz$Only %s may be contiguous and directzAA memoryview cannot have both follow and strided axis specifiers.z$Invalid use of the follow specifier.NrX  )r   r   r   r   rY  )r   rQ   r   r  )	positionsrU   rV   rW   rm  rl  
has_contig
has_followhas_stridedhas_generic_contiglast_indirect_dimensionr   rX   rY   r   valid_contig_dimsdimss   &&&&             r+   ri  ri    se   3M,L BGFJFFk "+E"2fU?&)# #3 *33y3H)I%%c$F&(s$ABBiK "3 )A B B !8! ;SZ!^ K+%*Q.#e*q.@14EED),=a,@@D"3(NQU(UVV5J "3(kll;"3(NOO_$K= *Jr-   c                     \        V\        4      '       d   \        W4      # \        V\        4      '       d   \	        W4      # \        VP                  \        4      hre   )r  r   _resolve_NameNoder   _resolve_AttributeNoder   r   rf  )rj  specs   &&r+   rc  rc    sC    $!! ++	D-	(	(%c00488[11r-   c                 B    V P                  VP                  4      P                  pT P                  P                  P                  pTP                  T4      pTf   \        TP                  \        4      hT#   \         d    \        TP                  \
        4      hi ; ire   )
r^  rd  AttributeErrorr   r   rf  r   rZ  r\  NOT_CIMPORTED_ERR)rj  noderesolved_namer\  r   s   &&   r+   r  r    s    2

499-22 ((22I]+E}488%677L  2488[112s   %A8 8&Bc                    . p\        V\        4      '       d+   VP                  ^ VP                  4       VP                  pK@  \        V\
        4      '       d   VP                  ^ VP                  4       M\        VP                  \        4      hVRR pV'       g   Q hT pV FW  pVP                  V4      pV'       d   VP                  '       g   \        VP                  RV,          4      hVP                  pKY  	  VP                  VR,          4      pV'       g%   \        VP                  RVR,          ,          4      hV# )r   Nzundeclared name not builtin: %szNo such attribute '%s'r   )r  r   insert	attributeobjr   rd  r   r   EXPR_ERRr^  	as_module)rj  r  pathmodnamesrs   modnamemodr   s   &&      r+   r  r    s    D
T=
)
)At~~&xx$!!Atyy!488X..CRyHO8Ell7##---HH?'IK K  LLb"E488%=R%HIILr-   Nc                 6    \         P                  ! V R 3RV/VB # )zMemoryView.pyxr   )r   load)util_code_namer   kwargss   &&,r+   load_memview_cy_utilityr    s*    !!.2B =*1=5;= =r-   r   c                j    Vf   \         P                  ! W3/ VB # \        P                  ! W3RV/VB # )Nr   )r   r  r   )r  util_code_filenamer   r  s   &&$,r+   r  r    sH     MfMM!&&~ B/6B:@B 	Br-   c                     V P                   P                  '       d   R # V P                   P                  pVP                  4        RVP                  P                  R4      n        R # )NTarray_cwrapper)r   shared_utility_qualified_namerZ  r[  r\  r^  used)rj  rZ  s   & r+   use_cython_array_utility_coder  #  sJ    
{{000;;++L!!#;?L!!"238r-   max_dimsmemviewslice_namememslice_initTHREAD_LOCKS_PREALLOCATEDc                  *    \        R \        . R7      p V # )MemviewSliceStructr  )r  r  )memviewslice_declare_codes    r+   _get_memviewslice_declare_coder  1  s     6 $! %$r-   AtomicszSynchronization.c)r  r   MemviewSliceIndexc                  :    \        R \        P                  .R7      # )BufferFormatFromTypeInfo)r  )r  r   _typeinfo_to_format_coder   r-   r+   _get_typeinfo_to_format_coder  =  s    ""f.M.M-NP Pr-   c                 L    V '       d   \        R V \        . R7      # \        4       # )zBufferFormatFromTypeInfo.pxdr  r  )r   r  r  r  s   &r+   get_typeinfo_to_format_coder  A  s)    $&*)-	 	 ,--r-   MemviewSliceIsContigOverlappingSlicesMemviewRefcountMemviewSliceInitr  r   MemviewSliceCopyc                      \        R \        \        P                  \        P                  \
        \        \        \        \        \        .R7      p V # )zView.MemoryViewr  )r  r  r   buffer_struct_declare_codebuffer_formats_declare_coder  refcount_utilityatomic_utilityr  overlapping_utilitycopy_contents_new_utility)memoryview_utility_codes    r+   _get_memoryview_utility_coder  T  sD    5$5566-$"%'-	 #"r-   c           
          \        R V \        \        P                  \        P                  \
        \        \        .R7      pV# )zMemoryView.pxdr  )r   r  r   r  r  r  r  r  )r  shared_utility_codes   & r+   #_get_memoryview_shared_utility_coder  h  s>    1%)1122) 	 r-   c                 <    V '       d   \        V 4      # \        4       # re   )r  r  r  s   &r+   get_view_utility_coder  y  s    $23PQQ+--r-   )FT)FF)r   )F)r   r   r\   )r   r   )r   r   r  )r   r   re   )r   )array
memoryviewr  r   r   r   r   r   )^Errorsr   r    r   r   r   r   r	   r
   Coder   r   r   r   r   r   r   r_  r`  rb  rg  rf  r  r  CF_ERRERR_UNINITIALIZEDformat_flagrO   rP   memview_any_contiguousrR   rS   MEMVIEW_DIRECTMEMVIEW_PTRMEMVIEW_FULLMEMVIEW_CONTIGMEMVIEW_STRIDEDMEMVIEW_FOLLOW_spec_to_const_spec_to_abbrevr,   rE   r=   rZ   rc   rj   ru   BufferEntryr   r  r  r   r  r   r'  r)  r"  r#  rH  rU  rw  rz  rN   r  re  ri  rc  r  r  r  r  r  ry  memviewslice_cnamer_   default_valuer  r  r  r   r  r  r  r  r  slice_init_utilityr  r  cached_functionr  r  r  view_utility_allowlistr   r-   r+   <module>r     s   '  7 7   1 C   &	@;N+A J	GC  < < @ % + '$%'(' 	>;<>?>
 	
0,*4$& F+Bc?!3!3 c?L5(@ E
F i 2y B5$Nod$( 111000# , \2>=B B@ ''22Z33AA	 % ("5?OQ 44GH P. ++AB ,-@A )*;< +,>? 23GQab 23EF  # #&   .1 r-   