+
    ei5q  c                   s   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^RI
HtHtHtHt  ^ RIt]P"                  P$                  R8H  t]P(                  R8X  d   RtMRtR	 tR
 tR t]P2                  ! R4      t]P2                  ! R4      t]P2                  ! R4      tR]/tR t ! R R4      tR t R] n!         ! R R4      t" ! R R4      t#R t$R t%R t&R t'R t(/ RRbRRbR R bR!R!bR"R"bR#R#bR$R$bR%R%bR&R&bR'R'bR(R(bR)R)bR*R*bR+R+bR,R,bR-R-bR.R/bR0R1R2R3R4R5R6R7R8R8R9R:/Ct)R;PU                  ])PW                  4       4      t,/ RRbRRbR R bR!R!bR"R<bR#R=bR$R>bR%R?bR&R>bR'R?bR(R@bR)RAbR*RBbR+R+bR,R,bR.R/bR0R1bR4R5R6R7R8R8R9R:/Ct-R;PU                  ]-PW                  4       4      t.RCRDRERFRGRHRIRJ/t/ ! RK RL4      t0RM t1RN t2RO t3RP t4RQ t5RR t6RS t7RT t8RU t9RV t:RW t;]3RX lt<R#   ] d    Rt ELi ; i)YzI
A place for internal code

Some things are more easily handled Python.

N)_NoValue)DTypePromotionError)StringDTypearraydtypepromote_typesZpypyZlittle<>c                 s   . pV P                  4        F  w  r4\        V4      p\        V\        4      '       d   VR9  d   \	        R4      hV^8  d   V^,          V8X  d   KO  \        V^,          4      pV^ 8  d   \	        R4      h\        V^ ,          VR7      pV^8  d   V^,          pMRpVP                  W7Wh34       K  	  VP                  R R7       V U	u. uF  q^ ,          NK  	  p
p	V U	u. uF  q^,          NK  	  pp	V U	u. uF  q^,          NK  	  pp	V U	u. uF  q^,          NK  	  pp	WW3# u up	i u up	i u up	i u up	i )   zentry not a 2- or 3- tuplezinvalid offset.alignNc                 s    V ^,          # )r    )x   &</usr/lib64/python3.14/site-packages/numpy/_core/_internal.py<lambda>Z!_makenames_list.<locals>.<lambda>1   s    1    )Zkey)r      )	itemslen
isinstancetuple
ValueErrorintr   appendZsort)adictr
   Z	allfieldsZfnameobjnnumformatZtitler   namesformatsoffsetstitless   &&            r   _makenames_listr"      s6   Ikkm
H#u%%&9::q5SVu_#a&k7.//s1vU+q5FEE%45 $  NN~N&$%9aqTT9E%&'YttYG'&'YttYG'%&IqddIF&7** &''&s   D72D<	E Ec           
      s    V R,          pVf   \        W4      w  r#rEM. p. p. pV Fv  pW,          pVP                  V^ ,          4       VP                  V^,          4       \        V4      ^8  d   VP                  V^,          4       Ke  VP                  R4       Kx  	  \	        RVRVRVRV/V4      #   \          d    Rp Li ; i)   Nr   r   r    r!   )ZKeyErrorr"   r   r   r   )r   r
   r   r   r    r!   nameress   &&      r   
_usefieldsr'   <   s    b	 }*9%*G'D+CNN3q6"NN3q6"3x!|c!f%d#  '5WWF$ &+, ,#  s   	B4 4CCc                 sJ   V P                   pVf   V P                  pVfW   V P                  f   V P                  # V P                  P	                  4       pV'       d   V P                  V3# V P                  # \        V^ ,          4      V^,          3# V P                  pV Uu. uF  qQV,          V3,           NK  	  pp. p^ pV EF  p	V	^,          V8  d0   V	^,          V,
          p
VP                  RRV
 234       W,          pMV	^,          V8  d   \        R4      h\        V	4      ^8  d   V	^,          V	^,          3pM	V	^,          pV	^ ,          P                  '       d@   V\        V	^ ,          P                  ^ ,          4      V	^ ,          P                  ^,          3pMV\        V	^ ,          4      3pW^ ,          P                  ,          pVP                  V4       EK  	  V P                  V8  d*   V P                  V,
          p
VP                  RRV
 234       V# u upi )N z|VzLdtype.descr is not defined for types with overlapping or out-of-order fields)fieldssubdtypeZmetadatastrcopy_array_descrr   r   r   r   itemsize)Z
descriptorr)   r*   Znewr   r   Zordered_fieldsresultoffsetZfieldr   r%   Ztups   &            r   r-   r-   \   s   F~&&""*!~~% ))..0&NNC00%>>) !-x{;;E0561Qi1$&&N6FF8f(V#CMM2C5z*+MF1X&' ' u:>!HeAh'D8D8eAh&7&7&:;8$$Q')C eAh/0C(###c'  * V#!!F*rRu:&'M9 7s   "H zw(?P<order1>[<>|=]?)(?P<repeats> *[(]?[ ,0-9]*[)]? *)(?P<order2>[<>|=]?)(?P<dtype>[A-Za-z0-9.?]*(?:\[[a-zA-Z0-9,.]+\])?)z\s*,\s*z\s+$=c                 sL   ^ p. pRpV\        V 4      8  Ed   \        P                  WR7      p VP                  4       w  rVrxTP                  4       pT\        T 4      8  d}   \        P                  YR7      '       d   \        T 4      pMT\        P                  YR7      pT'       g%   \        R\        T4      ^,           T 3,          4      hTP                  4       pRpTR	8X  d   Tp	MMTR	8X  d   Tp	MC\        P                  YU4      p\        P                  Yw4      pYW8w  d   \        R
T RT 24      hTp	T	RR\        39   d   R	p	Y,           pTR	8X  d   Tp
MpT^ ,          R8X  dK   TR,          R8X  d=   T^R P                  4       R	8w  d%   RT9  d   \        P                  ! R\         ^R7       T\"        P$                  ! T4      3p
TP'                  T
4       EK  V'       d   V# V^ ,          #   \        \
        3 d%    \        R\        T4      ^,            RT  R24      Rhi ; i)    F)Zposzformat number z of "z" is not recognizedNz*format number %d of "%s" is not recognizedTr(   z&inconsistent byte-order specification z and Z|r1   (),zPassing in a parenthesized single number for repeats is deprecated; pass either a single number or indicate a tuple with a comma, like "(2,)".Z
stacklevelr$   )r   	format_reZmatchZgroups	TypeErrorZAttributeErrorr   Zendspace_resep_re
_convorderget_nboZstripwarningswarnDeprecationWarningastZliteral_evalr   )ZastrZ
startindexr/   ZislistZmoZorder1ZrepeatsZorder2r   orderZnewitems   &          r   _commastringrC      s   JFF
s4y
 __T_2	/1yy{,Vf
 VVX
D	!~~d~33 Y
\\$\7$DVq$/01 1  VVX
R<Er\E^^F3F^^F3F  <VHE&RT TES#t$$Eb=G
c!gbkS&8"++-37*9:L 	"
 c..w78Gg6**a >* 	 Vq 1tf<OP	s   G. .5H#c                   s>   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )dummy_ctypec                    Wn         R # NZ_cls)selfcls   &&r   __init__Zdummy_ctype.__init__   s    	r   c                s    V # rF   r   rH   ZotherrJ   r   __mul__Zdummy_ctype.__mul__   s    r   c                s$    V P                  V4      # rF   rG   rL   s   &*r   __call__Zdummy_ctype.__call__   s    yyr   c                s4    V P                   VP                   8H  # rF   rG   rL   rJ   r   __eq__Zdummy_ctype.__eq__       yyEJJ&&r   c                s4    V P                   VP                   8g  # rF   rG   rL   rJ   r   __ne__Zdummy_ctype.__ne__   rP   r   rG   N)__name__
__module____qualname____firstlineno__rK   rM   rN   rO   rQ   __static_attributes____classdictcell__Z__classdict__   @r   rD   rD      s#      '' 'r   rD   c                  sf   \         P                  p V e   V # \        f   ^ R Ip\	        VP
                  4      p Mm\        R4      P                  pVR8X  d   \        P                  p M@VR8X  d   \        P                  p M(VR8X  d   \        P                  p M\        P                  p V \         n        V # )Nr   ilq)_getintp_ctypecachectypesnumpyrD   Zintpr   charZc_intZc_longZ
c_longlong)ZvalZnpra   s      r   r]   r]      s    


C

~"''"Sz3;,,CS[--CS[##C--CNJr   c                   s:   a  ] tR t^t o R t ! R R4      tRtV tR# )_missing_ctypesc                s    VP                   # rF   value)rH   r   r      &&&r   castZ_missing_ctypes.cast   s    yyr   c                   s&   a  ] tR tRt o R tRtV tR# )_missing_ctypes.c_void_pi  c                rE   rF   rc   )rH   ptrrJ   r   rK   Z!_missing_ctypes.c_void_p.__init__  s    Jr   rc   N)rR   rS   rT   rU   rK   rV   rW   rX   rY   r   c_void_prg     s     	 	r   ri   r   N)rR   rS   rT   rU   rf   ri   rV   rW   rX   rY   r   rb   rb      s      r   rb   c                   s   a  ] tR tRt o RR ltR tR tR t]R 4       t	]R 4       t
]R	 4       t]R
 4       tR tR tR tR tRtV tR# )_ctypesi  Nc                sV   Wn         \        '       d-   \        V n        V P                  P                  V4      V n        M?\        4       V n        V P                  P                  V4      V n        WP                  n        V P                   P                  ^ 8X  d
   RV n        R# RV n        R# )r2   TFN)	_arrr_   rj   ri   _datarb   Z_objectsndim_zerod)rH   r   rh   re   r   rK   Z_ctypes.__init__  ss    	6!DL..s3DJ +,DL..s3DJ"'JJ99>>QDKDKr   c                st    V P                   P                  V P                  V4      pV P                  Vn        V# )ad  
Return the data pointer cast to a particular c-types object.
For example, calling ``self._as_parameter_`` is equivalent to
``self.data_as(ctypes.c_void_p)``. Perhaps you want to use
the data as a pointer to a ctypes array of floating-point data:
``self.data_as(ctypes.POINTER(ctypes.c_double))``.

The returned pointer will keep a reference to the array.
)rj   rf   rl   rk   )rH   r   rh      && r   data_asZ_ctypes.data_as  s.     ll

C099
r   c                    V P                   '       d   R# WP                  P                  ,          ! V P                  P                  !  # )zp
Return the shape tuple as an array of some other c-types
type. For example: ``self.shape_as(ctypes.c_short)``.
N)rn   rk   rm   shaperH   r   rJ   r   shape_asZ_ctypes.shape_as+  s.    
 ;;;iinn$tyy77r   c                rq   )zw
Return the strides tuple as an array of some other
c-types type. For example: ``self.strides_as(ctypes.c_longlong)``.
N)rn   rk   rm   stridesrs   rJ   r   
strides_asZ_ctypes.strides_as4  s0    
 ;;;iinn$tyy'8'899r   c                s.    V P                   P                  # )a  
A pointer to the memory area of the array as a Python integer.
This memory area may contain data that is not aligned, or not in
correct byte-order. The memory area may not even be writeable.
The array flags and data-type of this array should be respected
when passing this attribute to arbitrary C-code to avoid trouble
that can include Python crashing. User Beware! The value of this
attribute is exactly the same as:
``self._array_interface_['data'][0]``.

Note that unlike ``data_as``, a reference won't be kept to the array:
code like ``ctypes.c_void_p((a + b).ctypes.data)`` will result in a
pointer to a deallocated array, and should be spelt
``(a + b).ctypes.data_as(ctypes.c_void_p)``
)rl   rd   rH   r   r   dataZ_ctypes.data=  s    " zzr   c                4    V P                  \        4       4      # )aV  
(c_intp*self.ndim): A ctypes array of length self.ndim where
the basetype is the C-integer corresponding to ``dtype('p')`` on this
platform (see `~numpy.ctypeslib.c_intp`). This base-type could be
`ctypes.c_int`, `ctypes.c_long`, or `ctypes.c_longlong` depending on
the platform. The ctypes array contains the shape of
the underlying array.
)rt   r]   rw   r   r   rr   Z_ctypes.shapeP  s     }}^-..r   c                ry   )a:  
(c_intp*self.ndim): A ctypes array of length self.ndim where
the basetype is the same as for the shape attribute. This ctypes
array contains the strides information from the underlying array.
This strides information is important for showing how many bytes
must be jumped to get to the next element in the array.
)rv   r]   rw   r   r   ru   Z_ctypes.strides\  s     ~/00r   c                s@    V P                  \        P                  4      # )zM
Overrides the ctypes semi-magic method

Enables `c_func(some_array.ctypes)`
)rp   r_   ri   rw   r   r   _as_parameter_Z_ctypes._as_parameter_g  s     ||FOO,,r   c                T    \         P                  ! R\        ^R7       V P                  # )zIDeprecated getter for the `_ctypes.data` property.

.. deprecated:: 1.21
z,"get_data" is deprecated. Use "data" insteadr6   )r>   r?   r@   rx   rw   r   r   get_dataZ_ctypes.get_datar  s"    
 	D(Q	8yyr   c                r{   )zJDeprecated getter for the `_ctypes.shape` property.

.. deprecated:: 1.21
z."get_shape" is deprecated. Use "shape" insteadr6   )r>   r?   r@   rr   rw   r   r   	get_shapeZ_ctypes.get_shape{  s"    
 	F(Q	8zzr   c                r{   )zLDeprecated getter for the `_ctypes.strides` property.

.. deprecated:: 1.21
z2"get_strides" is deprecated. Use "strides" insteadr6   )r>   r?   r@   ru   rw   r   r   get_stridesZ_ctypes.get_strides  s"    
 	J(Q	8||r   c                r{   )zSDeprecated getter for the `_ctypes._as_parameter_` property.

.. deprecated:: 1.21
z>"get_as_parameter" is deprecated. Use "_as_parameter_" insteadr6   )r>   r?   r@   rz   rw   r   r   get_as_parameterZ_ctypes.get_as_parameter  s&    
 	L1	
 """r   )rk   rj   rl   rn   rF   )rR   rS   rT   rU   rK   rp   rt   rv   propertyrx   rr   ru   rz   r|   r}   r~   r   rV   rW   rX   rY   r   rj   rj     s      "&8:    $ 	/ 	/ 1 1 - -	# 	#r   rj   c                s   V P                   p\        V4      p\        V\        4      '       d   V.p\	        4       p\        V\        \
        34      '       dH   V F&  p VP                  V4       TP                  T4       K(  	  \        \        V4      V,           4      # \        RV 24      h  \         d&    YT9   d   \        RT 24      Rh\        RT 24      Rhi ; i)zZ
Given a datatype and an order object, return a new names tuple, with the
order indicated
zduplicate field name: Nzunknown field name: zunsupported order value: )	r   listr   r+   Zsetr   Zremover   Zadd)ZdatatyperB   ZoldnamesZ	nameslistZseenr%      &&    r   	_newnamesr     s    
 ~~HXI%5D%$''DN  & HHTN  T%[9,--
08
99  N<$'=dV%DE4O$';D6%BCM	Ns   B,,0Cc                s    V P                   pRVP                  RVP                   Uu. uF  q!P                  V,          ^ ,          NK  	  up/p\        WRR7      # u upi )zReturn copy of structured array with padding between fields removed.

Parameters
----------
ary : ndarray
   Structured array from which to remove padding bytes

Returns
-------
ary_copy : ndarray
   Copy of ary with padding bytes removed
r   r   T)r   r,   )r   r   r)   r   )ZaryZdtr%   Z
copy_dtype   &   r   _copy_fieldsr     sW     
B288RXXFXTiioa00XFHJT22 Gs   "A
c                s   V P                   e*   VP                   e   V P                   VP                   8w  d'   \        RV P                    RVP                    R24      hWJ p. pV P                    F  pV P                  V,          pVP                  V,          p\        V^ ,          V^ ,          4      pT;'       d    Wu^ ,          J pVR,          VR,          8w  d   \        RV R24      h\	        V4      ^8X  d   VP                  WG34       K  VP                  V^,          V3V34       K  	  \        Y0P                  ;'       g    VP                  R7      pV'       dl   VP                  V P                  8X  dQ   V P                    F>  pV P                  V,          ^,          VP                  V,          ^,          8w  g   K<  Vu # 	  V # V# )aV  Perform type promotion for two structured dtypes.

Parameters
----------
dt1 : structured dtype
    First dtype.
dt2 : structured dtype
    Second dtype.

Returns
-------
out : dtype
    The promoted dtype

Notes
-----
If one of the inputs is aligned, the result will be.  The titles of
both descriptors must match (point to the same field).
zfield names `z` and `z` mismatch.:r   NNzfield titles of field 'z
' mismatchr	   )	r   r   r)   r   r   r   r   Zisalignedstructr.   )	Zdt1Zdt2Z	identicalZ
new_fieldsr%   Zfield1Zfield2Z	new_descrr&   s	   &&       r   _promote_fieldsr     s   * 			SYY.399		3I!		{'#))KHJ 	J 
IJ		D!D!!&)VAY7	88)ay"8	 ":#%-dV:>@ @v;!t/0q	40)<=  
"5"5"L"L9L9L
MC
 S\\S\\1IIDzz$"cjj&6q&99
  
Jr   c                sJ   VP                   '       g   V P                   '       d   V^ 8X  d	   W8X  d   R# V P                  eW   V P                   FF  pV P                  V,          ^,          V8X  g   K$  V P                  V,          ^ ,          V8X  g   KE   R# 	  \        R4      hR# )a  Checks safety of getfield for object arrays.

As in _view_is_safe, we need to check that memory containing objects is not
reinterpreted as a non-object datatype and vice versa.

Parameters
----------
oldtype : data-type
    Data type of the original ndarray.
newtype : data-type
    Data type of the field being accessed by ndarray.getfield
offset : int
    Offset of the field being accessed by ndarray.getfield

Raises
------
TypeError
    If the field access is invalid

Nz'Cannot get/set field of an object array)	hasobjectr   r)   r8   )oldtypenewtyper0   r%   s   &&& r   _getfield_is_safer     s    * G---Q;7-==$NN4(+v5t,Q/7: & ABB
r   c                st    W8X  d   R# VP                   '       g   V P                   '       d   \        R4      hR# )aE  Checks safety of a view involving object arrays, for example when
doing::

    np.zeros(10, dtype=oldtype).view(newtype)

Parameters
----------
oldtype : data-type
    Data type of original ndarray
newtype : data-type
    Data type of the view

Raises
------
TypeError
    If the new type is incompatible with the old type.

Nz0Cannot change data-type for array of references.)r   r8   )r   r   rJ   r   _view_is_safer     s3    , G---JKK
r   Z?cZS1bZBZhZHrZ   ZIr[   ZLr\   ZQZefZdZgZZfZFZZdZDZZgZGsZSZwZUZOr   ZVr(   Zi2Zu2Zi4Zu4Zi8Zu8Zf2ZuzUCS-2 stringsZ&ZpointersZtZ	bitfieldsZXzfunction pointersc                   sN   a  ] tR tRt o R tR tR tR t]R 4       t	R t
RtV tR	# )
_Streamiw  c                s     Wn         R V n        R# )@N)r   	byteorder)rH   r   rJ   r   rK   Z_Stream.__init__x  s    r   c                sL    V P                   R V pV P                   VR  V n         V# rF   r   )rH   r   r&   ro   r   advanceZ_Stream.advance|  s'    ffRaj
r   c                sx    V P                   R \        V4       V8X  d   V P                  \        V4      4       R# R# )NTF)r   r   r   )rH   r   rJ   r   consumeZ_Stream.consume  s.    66'3q6?aLLQ r   c                sb   \        V4      '       dX   ^ pV\        V P                  4      8  d+   V! V P                  V,          4      '       g   V^,           pKD  V P                  V4      # V P                  P	                  V4      pV P                  V4      pV P                  \        V4      4       V# r2   )Zcallabler   r   r   Zindex)rH   r   rZ   r&   s   &&  r   consume_untilZ_Stream.consume_until  sy    A;;Ac$&&k/!DFF1I,,E<<?"QA,,q/CLLQ Jr   c                s(    V P                   ^ ,          # r   r   rw   r   r   nextZ_Stream.next  s    vvayr   c                s,    \        V P                  4      # rF   )Zboolr   rw   r   r   __bool__Z_Stream.__bool__  s    DFF|r   )r   r   N)rR   rS   rT   rU   rK   r   r   r   r   r   r   rV   rW   rX   rY   r   r   r   w  s7     

   r   r   c                 s:    \        V 4      p\        VR R7      w  r#V# )Fis_subdtype)r   __dtype_from_pep3118)Zspecstreamr   r
   r   r   _dtype_from_pep3118r     s    T]F'EBLELr   c                 s   R . R. R. R^ /p^ p^pRpV '       Ed   RpV P                  R4      '       d   EMxRpV P                  R4      '       d:   V P                  R4      p\        \        \        VP                  R	4      4      4      pV P                  R9   d!   V P                  ^4      pVR8X  d   RpWn        V P                  R9   d   \        p	\        p
M\        p	\        p
V P                  R 4      pV'       d   \	        V4      pM^pRpV P                  R4      '       d   \        V RR7      w  rmEMV P                  V
9   d   V P                  R8X  d   V P                  ^4      pMV P                  ^4      pVR8H  pW,          pVR9   d   VRV,          ,          p^pR
RRR/P                  V P                  V P                  4      p\        VV,           4      pVP                   pMbV P                  \"        9   d5   \"        V P                  ,          p\%        RV P                  : RV R24      h\'        RV P(                  : 24      h^ pV P                  R
8X  dk   V) V,          pVP*                  ) V,          pVV,          pV^ 8w  d2   V^8  g   Ve   \-        V4      ^8  d   \/        VV4      pM	VV,          p\1        W4      pV^8w  d   \        Wl334      pVe   \        Wg34      pV P                  R4      '       d   V P                  R4      pMRpV'       d   Vej   Ve   VVR ,          9   d   \3        RV R24      hVR ,          P5                  V4       VR,          P5                  V4       VR,          P5                  V4       W6P*                  ,          pVV,          pW2R&   EK  V P                  R
8X  d   VR;;,          V) V,          ,          uu&   VR ,          R.8X  dX   VR,          ^ ,          ^ 8X  dC   VR,          VR,          ^ ,          P*                  8X  d   V'       g   VR,          ^ ,          pVV3# \7        V4       \        V4      pVV3# )r   r   r    r.   FNZ}r3   r4   r5   r   r1   r   ^!c                 s,    V P                  4       '       * # rF   )Zisdigit)r   r   r   r   Z&__dtype_from_pep3118.<locals>.<lambda>  s    !))+or   zT{Tr   ZZr   ZUSVz%dz#Unrepresentable PEP 3118 data type z (z%Unknown PEP 3118 data type specifier Z:zDuplicate field name 'z' in PEP3118 format)r   r1   r   r   r   r   )r   r   )r   r   r   Zmapr   Zsplitr   r   r   _pep3118_native_map_pep3118_native_typechars_pep3118_standard_map_pep3118_standard_typecharsr   r<   r   Z	alignment_pep3118_unsupported_mapZNotImplementedErrorr   r   r.   _prod_add_trailing_padding_lcmZRuntimeErrorr   
_fix_names)r   r   
field_specr0   Zcommon_alignmentZ
is_paddingrd   rr   r   Ztype_mapZtype_map_charsZitemsize_strr.   r
   ZtypecharZ	dtypecharZnumpy_byteorderZdescZextra_offsetZstart_paddingZintra_paddingr%   Zrets   &&                     r   r   r     s7   22A	J FJ & >># >>#((-E#c5;;s#345E ;;88q)IC	( z)*H6N,H8N ++,EF<(HH 
>>$/D*LE5[[N*{{c!!>>!,!>>!,"c/J *IE!TH_,	"Cc266  &"2"24O/I56EOOE[[44+FKK8D%5fkk_BtfANP P 7|D  s"$W-M#nn_5Mm#F!a<E$5%,:J1%GE !M1L  $E< q=5+./E 5.)E >>#'',DDt|DJw,?$?",TF2EF  w&&t,y!((/y!((0.. ,!': 3:F7.>">> 	7v%9%a(A-:&*Y*?*B*K*KK#A&    	 	:J    r   c                s    V R,          p\        V4       F)  w  r#Ve   K  ^ p RV 2pW19  d   MV^,           pK  W1V&   K+  	  R# )z;Replace names which are None with the next unused f%d name r   Nr   )Z	enumerate)r   r   rZ   r%   Zjs   &    r   r   r   3  sR    wEU#qc7D AAa $r   c           
     sn   V P                   f   RR.RV .R^ .RV P                  /pMfV P                   pV P                  pRTRV Uu. uF  qSV,          ^ ,          NK  	  upRV Uu. uF  qSV,          ^,          NK  	  upRV P                  /pVR;;,          V,          uu&   \        V4      # u upi u upi )zBInject the specified number of padding bytes at the end of a dtyper   Zf0r   r    r.   )r)   r.   r   r   )rd   Zpaddingr   r)   r   r%   r   r   r   r   B  s    ||dVws	

 UE:EDtQE:E:EDtQE:	

 zg% ;:s   B-
%B2c                 s,    ^pV  F  pW,          pK  	  V# )r#   r   )aZpr   s   &  r   r   r   X  s    	A	 Hr   c                s    \         P                  ! V 4      '       d   \         P                  ! V4      '       g   \        RV  RV R24      hV'       d   YV,          rK  V # )z0Calculate the greatest common divisor of a and bzBCan only find greatest common divisor of finite arguments, found "z" and "Z")mathZisfiniter   r   r   rJ   r   _gcdr   ^  sW    MM!q!1!1 556CwqcD E 	E
a%1Hr   c                 s4    V \        W4      ,          V,          # rF   )r   r   rJ   r   r   r   g  s    Q
?Qr   c           
     s:   RP                  V Uu. uF  qU: NK  	  upVP                  4        UUu. uF  w  rgV RV: 2NK  	  upp,           4      pW4P                  RR4      ,           p	RP                  R V	 4       4      p
RV: RV: RV RV
 2# u upi u uppi )<Format the error message for when __array_ufunc__ gives up. , r1   outc              3   s^   "   T F#  p\        \        V4      P                  4      x  K%  	  R # 5irF   )reprZtyperR   ).0arg   & r   	<genexpr>Z/array_ufunc_errmsg_formatter.<locals>.<genexpr>p  s"     F#T$s)"4"455s   +-zAoperand type(s) all returned NotImplemented from __array_ufunc__(z): r   )joinr   r<   )ZdummyufuncZmethodZinputskwargsr   ZkZvZargs_stringZargsZtypes_strings   &&&*,      r   array_ufunc_errmsg_formatterr   j  s    ))6:6CwZ6:)/9)7 !"s!A5\)799 :K JJub))D99FFFL$ir&2k]#l^U  ;9s
   BBc                sZ    V P                    RV P                   2pRV R\        V4       2# )r   Z.zno implementation found for 'z.' on types that implement __array_function__: )rS   rR   r   )Z
public_apiZtypesZ	func_namero   r   array_function_errmsg_formatterr   v  s?    (():+>+>*?@I+I; 7##';-1 2r   c                s   V P                   ^8X  d   RpM+RP                  R \        V P                   4       4       4      pV P                  ^ 8X  d   RpMjV P                  ^8X  d   RpMVRP	                  RP                  R \        V P                  4       4       4      \        RV P                  ,          4      R7      pR	pV P                  f   R
V R2pM	VR,          pV P                   RV V RV R2# )zn
Builds a signature string which resembles PEP 457

This is used to construct the first line of the docstring
r   r   c              3   :   "   T F  pR V^,            2x  K  	  R# 5i)r   Nr   r   rZ   r   r   r   1_ufunc_doc_signature_formatter.<locals>.<genexpr>  s     B1AAaAwK1A   z, /, out=()z, /, out=Nonez%[, {positional}], / [, out={default}]c              3   r   )r   Nr   r   r   r   r   r     s      !:'8!#a!eW'8r   )Z
positionalZdefaultz8, casting='same_kind', order='K', dtype=None, subok=Truez, where=Truez[, signature]z[, signature, axes, axis]r3   z, *r4   rF   )Zninr   ZrangeZnoutr   r   Z	signaturerR   )r   Zin_argsZout_argsr   r   r   _ufunc_doc_signature_formatterr   }  s     yyA~))Buyy1ABB zzQ 	q":AAyy !:',UZZ'8!: :5::-. B 
	  x}5-- nnQwizVHA>>r   c                 s     \         '       d   V P                  R,          pMV P                  R,          pRVP                  9   #   \         d     R# i ; i)r   rj   Fii)IS_PYPYZ__mro__rS   Z	Exception)rI   Z
ctype_baser   r   npy_ctypes_checkr     sM     7RJ RJJ1111 s   A 5A AAc                 sF    V\         J d   \        V R 7      # \        WR7      # ))coercer   Z	na_object)r    r   r   rJ   r   _convert_to_stringdtype_kwargsr     s     H&))f::r   )=Z__doc__rA   r   ZreZsysr>   r`   r    Znumpy.exceptionsr   Z
multiarrayr   r   r   r   r_   ZImportErrorZimplementationr%   r   r   r=   r"   r'   r-   Zcompiler7   r:   r9   r;   rC   rD   r]   r^   rb   rj   r   r   r   r   r   r   r   Zkeysr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s     	 
   0 @ @ 


!
!V
+==HDD+<,@-d JJ K L	 
J	::g 4[
8+t' '"*   P# P#f:.3$6r@B  	
             !" 	##$ 	##/ 2 GG$7$<$<$>?   	
             	#!" 	##$ + . !gg&;&@&@&BC  		 ! !H
Q!f,	2(?V& 6> ;O  Fs   G 	G*)G*