+
    Ŝi                        R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHtHtHt ^ RIHtHt ]'       d   ^ RIHt ^ R	IHt R
 R ltR R ltR tR tR# )z;
Boilerplate functions used in defining binary operations.
)annotations)wraps)TYPE_CHECKING)item_from_zerodim)is_matching_na)ABCExtensionArrayABCIndex	ABCSeries)ensure_wrapped_if_datetimelikesanitize_array)Callable)Fc                    V ^8  d   QhRRRR/# )   namestrreturnzCallable[[F], F] )formats   "_/Users/mibo/.openclaw/workspace/.venv-ak/lib/python3.14/site-packages/pandas/core/ops/common.py__annotate__r      s      3 +;     c                   a  R V 3R llpV# )z
Boilerplate for pandas conventions in arithmetic and comparison methods.

Parameters
----------
name : str

Returns
-------
decorator
c                    V ^8  d   QhRRRR/# )r   methodr   r   r   )r   s   "r   r   .unpack_zerodim_and_defer.<locals>.__annotate__+   s     7 7 7a 7r   c                   < \        V S4      # )N)_unpack_zerodim_and_defer)r   r   s   &r   wrapper)unpack_zerodim_and_defer.<locals>.wrapper+   s    (66r   r   )r   r   s   f r   unpack_zerodim_and_deferr       s    7 7 Nr   c               $    V ^8  d   QhRRRRRR/# )r   r   r   r   r   r   r   )r   s   "r   r   r   1   s!     ( (a (s (q (r   c                \   a a VP                  R4      R9   o\        S 4      VV 3R l4       pV# )a!  
Boilerplate for pandas conventions in arithmetic and comparison methods.

Ensure method returns NotImplemented when operating against "senior"
classes.  Ensure zero-dimensional ndarrays are always unpacked.

Parameters
----------
method : binary method
name : str

Returns
-------
method
_c                  < \        VR R4      pVe   W P                  8  d   \        # \        V4      p\	        V \
        4      '       d6   \	        V\        4      '       d    S'       g   \        VR4      p\        V4      pS! W4      # )__pandas_priority__N)	getattrr%   NotImplementedr   
isinstancer   listr   r
   )selfotherprio
is_logicalr   s   && r   
new_method-_unpack_zerodim_and_defer.<locals>.new_methodC   su    u3T:...%%!%(t.//5$'' #5$/E259Ed""r   )orxorandrorrxorrand)stripr   )r   r   r.   r-   s   f& @r   r   r   1   s6      C$OOJ
6]# #* r   c                p    \        V\        \        34      '       d   \        W4      pV# V P                  pV# )z
Find the appropriate name to pin to an operation result.  This result
should always be either an Index or a Series.

Parameters
----------
left : {Series, Index}
right : object

Returns
-------
name : object
    Usually a string
)r(   r	   r   _maybe_match_namer   )leftrightr   s   && r   get_op_result_namer;   \   s7     %)X.// - K yyKr   c                   \        V R4      p\        VR4      pV'       de   V'       d]    V P                  VP                  8X  d   V P                  # \        V P                  VP                  4      '       d   V P                  # R# V'       d   V P                  # V'       d   VP                  # R#   \         d9    \        T P                  TP                  4      '       d   T P                  u #  R# \         d     R# i ; i)ao  
Try to find a name to attach to the result of an operation between
a and b.  If only one of these has a `name` attribute, return that
name.  Otherwise return a consensus name if they match or None if
they have different names.

Parameters
----------
a : object
b : object

Returns
-------
name : str or None

See Also
--------
pandas.core.common.consensus_name_attr
r   N)hasattrr   r   	TypeError
ValueError)aba_hasb_hass   &&  r   r8   r8   r   s    ( AvEAvE	vvvv//vv 
vv	vv  	affaff--vv 		s#   &B/ 1B/ /=C?1C?:C?>C?N)__doc__
__future__r   	functoolsr   typingr   pandas._libs.libr   pandas._libs.missingr   pandas.core.dtypes.genericr   r   r	   pandas.core.constructionr
   r   collections.abcr   pandas._typingr   r    r   r;   r8   r   r   r   <module>rN      sJ    #    . / 
 ( &(V,+r   