ó
    Ñ]j¬E  ã                  óâ   • S r SSKJr  SSKrSSKJr  SSKrSSKJ	r	  SSK
Jr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSSSS.r " S S5      rSS jrSS jrSS jrSS jrSS jrSS jrg)zn
Methods that can be shared by many array-like classes or subclasses:
    Series
    Index
    ExtensionArray
é    )ÚannotationsN)ÚAny)Úlib)Ú!maybe_dispatch_ufunc_to_dunder_op)Úmaybe_unbox_numpy_scalar)Ú
ABCNDFrame)Ú	roperator©Úextract_array)Úunpack_zerodim_and_deferÚmaxÚminÚsumÚprod)ÚmaximumÚminimumÚaddÚmultiplyc                  ó6  • \ rS rSrS r\" S5      S 5       r\" S5      S 5       r\" S5      S 5       r\" S	5      S
 5       r	\" S5      S 5       r
\" S5      S 5       rS r\" S5      S 5       r\" S5      S 5       r\" S5      S 5       r\" S5      S 5       r\" S5      S 5       r\" S5      S 5       rS r\" S5      S 5       r\" S5      S  5       r\" S!5      S" 5       r\" S#5      S$ 5       r\" S%5      S& 5       r\" S'5      S( 5       r\" S)5      S* 5       r\" S+5      S, 5       r\" S-5      S. 5       r\" S/5      S0 5       r\" S15      S2 5       r\" S35      S4 5       r\" S55      S6 5       r \" S75      S8 5       r!\" S95      S: 5       r"\" S;5      S< 5       r#S=r$g>)?ÚOpsMixiné!   c                ó   • [         $ ©N©ÚNotImplemented©ÚselfÚotherÚops      ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pandas/core/arraylike.pyÚ_cmp_methodÚOpsMixin._cmp_method%   ó   € ÜÐó    Ú__eq__c                óB   • U R                  U[        R                  5      $ r   )r!   ÚoperatorÚeq©r   r   s     r    r%   ÚOpsMixin.__eq__(   ó   € à×Ñ ¤x§{¡{Ó3Ð3r$   Ú__ne__c                óB   • U R                  U[        R                  5      $ r   )r!   r'   Úner)   s     r    r,   ÚOpsMixin.__ne__,   r+   r$   Ú__lt__c                óB   • U R                  U[        R                  5      $ r   )r!   r'   Últr)   s     r    r0   ÚOpsMixin.__lt__0   r+   r$   Ú__le__c                óB   • U R                  U[        R                  5      $ r   )r!   r'   Úler)   s     r    r4   ÚOpsMixin.__le__4   r+   r$   Ú__gt__c                óB   • U R                  U[        R                  5      $ r   )r!   r'   Úgtr)   s     r    r8   ÚOpsMixin.__gt__8   r+   r$   Ú__ge__c                óB   • U R                  U[        R                  5      $ r   )r!   r'   Úger)   s     r    r<   ÚOpsMixin.__ge__<   r+   r$   c                ó   • [         $ r   r   r   s      r    Ú_logical_methodÚOpsMixin._logical_methodC   r#   r$   Ú__and__c                óB   • U R                  U[        R                  5      $ r   )rA   r'   Úand_r)   s     r    rC   ÚOpsMixin.__and__F   s   € à×#Ñ# E¬8¯=©=Ó9Ð9r$   Ú__rand__c                óB   • U R                  U[        R                  5      $ r   )rA   r	   Úrand_r)   s     r    rG   ÚOpsMixin.__rand__J   s   € à×#Ñ# E¬9¯?©?Ó;Ð;r$   Ú__or__c                óB   • U R                  U[        R                  5      $ r   )rA   r'   Úor_r)   s     r    rK   ÚOpsMixin.__or__N   ó   € à×#Ñ# E¬8¯<©<Ó8Ð8r$   Ú__ror__c                óB   • U R                  U[        R                  5      $ r   )rA   r	   Úror_r)   s     r    rP   ÚOpsMixin.__ror__R   ó   € à×#Ñ# E¬9¯>©>Ó:Ð:r$   Ú__xor__c                óB   • U R                  U[        R                  5      $ r   )rA   r'   Úxorr)   s     r    rU   ÚOpsMixin.__xor__V   rO   r$   Ú__rxor__c                óB   • U R                  U[        R                  5      $ r   )rA   r	   Úrxorr)   s     r    rY   ÚOpsMixin.__rxor__Z   rT   r$   c                ó   • [         $ r   r   r   s      r    Ú_arith_methodÚOpsMixin._arith_methoda   r#   r$   Ú__add__c                óB   • U R                  U[        R                  5      $ )a	  
Get Addition of DataFrame and other, column-wise.

Equivalent to ``DataFrame.add(other)``.

Parameters
----------
other : scalar, sequence, Series, dict or DataFrame
    Object to be added to the DataFrame.

Returns
-------
DataFrame
    The result of adding ``other`` to DataFrame.

See Also
--------
DataFrame.add : Add a DataFrame and another object, with option for index-
    or column-oriented addition.

Examples
--------
>>> df = pd.DataFrame(
...     {"height": [1.5, 2.6], "weight": [500, 800]}, index=["elk", "moose"]
... )
>>> df
       height  weight
elk       1.5     500
moose     2.6     800

Adding a scalar affects all rows and columns.

>>> df[["height", "weight"]] + 1.5
       height  weight
elk       3.0   501.5
moose     4.1   801.5

Each element of a list is added to a column of the DataFrame, in order.

>>> df[["height", "weight"]] + [0.5, 1.5]
       height  weight
elk       2.0   501.5
moose     3.1   801.5

Keys of a dictionary are aligned to the DataFrame, based on column names;
each value in the dictionary is added to the corresponding column.

>>> df[["height", "weight"]] + {"height": 0.5, "weight": 1.5}
       height  weight
elk       2.0   501.5
moose     3.1   801.5

When `other` is a :class:`Series`, the index of `other` is aligned with the
columns of the DataFrame.

>>> s1 = pd.Series([0.5, 1.5], index=["weight", "height"])
>>> df[["height", "weight"]] + s1
       height  weight
elk       3.0   500.5
moose     4.1   800.5

Even when the index of `other` is the same as the index of the DataFrame,
the :class:`Series` will not be reoriented. If index-wise alignment is desired,
:meth:`DataFrame.add` should be used with `axis='index'`.

>>> s2 = pd.Series([0.5, 1.5], index=["elk", "moose"])
>>> df[["height", "weight"]] + s2
       elk  height  moose  weight
elk    NaN     NaN    NaN     NaN
moose  NaN     NaN    NaN     NaN

>>> df[["height", "weight"]].add(s2, axis="index")
       height  weight
elk       2.0   500.5
moose     4.1   801.5

When `other` is a :class:`DataFrame`, both columns names and the
index are aligned.

>>> other = pd.DataFrame(
...     {"height": [0.2, 0.4, 0.6]}, index=["elk", "moose", "deer"]
... )
>>> df[["height", "weight"]] + other
       height  weight
deer      NaN     NaN
elk       1.7     NaN
moose     3.0     NaN
)r^   r'   r   r)   s     r    r`   ÚOpsMixin.__add__d   s   € ðt ×!Ñ! %¬¯©Ó6Ð6r$   Ú__radd__c                óB   • U R                  U[        R                  5      $ r   )r^   r	   Úraddr)   s     r    rc   ÚOpsMixin.__radd__À   ó   € à×!Ñ! %¬¯©Ó8Ð8r$   Ú__sub__c                óB   • U R                  U[        R                  5      $ r   )r^   r'   Úsubr)   s     r    rh   ÚOpsMixin.__sub__Ä   ó   € à×!Ñ! %¬¯©Ó6Ð6r$   Ú__rsub__c                óB   • U R                  U[        R                  5      $ r   )r^   r	   Úrsubr)   s     r    rm   ÚOpsMixin.__rsub__È   rg   r$   Ú__mul__c                óB   • U R                  U[        R                  5      $ r   )r^   r'   Úmulr)   s     r    rq   ÚOpsMixin.__mul__Ì   rl   r$   Ú__rmul__c                óB   • U R                  U[        R                  5      $ r   )r^   r	   Úrmulr)   s     r    ru   ÚOpsMixin.__rmul__Ð   rg   r$   Ú__truediv__c                óB   • U R                  U[        R                  5      $ r   )r^   r'   Útruedivr)   s     r    ry   ÚOpsMixin.__truediv__Ô   s   € à×!Ñ! %¬×)9Ñ)9Ó:Ð:r$   Ú__rtruediv__c                óB   • U R                  U[        R                  5      $ r   )r^   r	   Úrtruedivr)   s     r    r}   ÚOpsMixin.__rtruediv__Ø   s   € à×!Ñ! %¬×);Ñ);Ó<Ð<r$   Ú__floordiv__c                óB   • U R                  U[        R                  5      $ r   )r^   r'   Úfloordivr)   s     r    r�   ÚOpsMixin.__floordiv__Ü   s   € à×!Ñ! %¬×):Ñ):Ó;Ð;r$   Ú__rfloordivc                óB   • U R                  U[        R                  5      $ r   )r^   r	   Ú	rfloordivr)   s     r    Ú__rfloordiv__ÚOpsMixin.__rfloordiv__à   s   € à×!Ñ! %¬×)<Ñ)<Ó=Ð=r$   Ú__mod__c                óB   • U R                  U[        R                  5      $ r   )r^   r'   Úmodr)   s     r    rŠ   ÚOpsMixin.__mod__ä   rl   r$   Ú__rmod__c                óB   • U R                  U[        R                  5      $ r   )r^   r	   Úrmodr)   s     r    rŽ   ÚOpsMixin.__rmod__è   rg   r$   Ú
__divmod__c                ó.   • U R                  U[        5      $ r   )r^   Údivmodr)   s     r    r’   ÚOpsMixin.__divmod__ì   s   € à×!Ñ! %¬Ó0Ð0r$   Ú__rdivmod__c                óB   • U R                  U[        R                  5      $ r   )r^   r	   Úrdivmodr)   s     r    r–   ÚOpsMixin.__rdivmod__ð   s   € à×!Ñ! %¬×):Ñ):Ó;Ð;r$   Ú__pow__c                óB   • U R                  U[        R                  5      $ r   )r^   r'   Úpowr)   s     r    rš   ÚOpsMixin.__pow__ô   rl   r$   Ú__rpow__c                óB   • U R                  U[        R                  5      $ r   )r^   r	   Úrpowr)   s     r    rž   ÚOpsMixin.__rpow__ø   rg   r$   © N)%Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r!   r   r%   r,   r0   r4   r8   r<   rA   rC   rG   rK   rP   rU   rY   r^   r`   rc   rh   rm   rq   ru   ry   r}   r�   rˆ   rŠ   rŽ   r’   r–   rš   rž   Ú__static_attributes__r¢   r$   r    r   r   !   sÐ  † òñ ˜hÓ'ñ4ó (ð4ñ ˜hÓ'ñ4ó (ð4ñ ˜hÓ'ñ4ó (ð4ñ ˜hÓ'ñ4ó (ð4ñ ˜hÓ'ñ4ó (ð4ñ ˜hÓ'ñ4ó (ð4òñ ˜iÓ(ñ:ó )ð:ñ ˜jÓ)ñ<ó *ð<ñ ˜hÓ'ñ9ó (ð9ñ ˜iÓ(ñ;ó )ð;ñ ˜iÓ(ñ9ó )ð9ñ ˜jÓ)ñ;ó *ð;òñ ˜iÓ(ñY7ó )ðY7ñv ˜jÓ)ñ9ó *ð9ñ ˜iÓ(ñ7ó )ð7ñ ˜jÓ)ñ9ó *ð9ñ ˜iÓ(ñ7ó )ð7ñ ˜jÓ)ñ9ó *ð9ñ ˜mÓ,ñ;ó -ð;ñ ˜nÓ-ñ=ó .ð=ñ ˜nÓ-ñ<ó .ð<ñ ˜mÓ,ñ>ó -ð>ñ ˜iÓ(ñ7ó )ð7ñ ˜jÓ)ñ9ó *ð9ñ ˜lÓ+ñ1ó ,ð1ñ ˜mÓ,ñ<ó -ð<ñ ˜iÓ(ñ7ó )ð7ñ ˜jÓ)ñ9ó *ó9r$   r   c           	     ó  ^ ^^^^^^^^• SSK JnJn  SSKJm  SSKJm  [        T 5      n[        S0 UD6n[        T TT/UQ70 UD6nU[        La  U$ [        R                  R                  UR                  4n	U H’  n
[        U
S5      =(       a    U
R                  T R                  :„  n[        U
S5      =(       a:    [        U
5      R                  U	;  =(       a    [!        U
T R"                  5      (       + nU(       d	  U(       d  MŒ  [        s  $    [%        S U 5       5      n['        X=SS	9 VVs/ s H  u  pï[)        UT5      (       d  M  UPM     snnm[+        T5      S
:”  aÔ  [-        U5      n[+        U5      S
:”  a&  XV1R/                  U5      (       a  [1        ST S35      eT R2                  nTS
S  HB  n[5        ['        UUR2                  SS	95       H  u  nu  nnUR7                  U5      UU'   M     MD     [9        ['        T R:                  USS	95      m[%        UU4S j['        X=SS	9 5       5      nO([9        ['        T R:                  T R2                  SS	95      mT R<                  S
:X  aU  U Vs1 s H"  n[        US5      (       d  M  UR>                  iM$     nn[+        U5      S
:X  a  URA                  5       OSnSU0mO0 mUU4S jnUUUUUU 4S jmSU;   a  [C        T TT/UQ70 UD6nU" U5      $ TS:X  a  [E        T TT/UQ70 UD6nU[        La  U$ T R<                  S
:”  aD  [+        U5      S
:”  d  TRF                  S
:”  a%  [%        S U 5       5      n[I        TT5      " U0 UD6nO�T R<                  S
:X  a%  [%        S U 5       5      n[I        TT5      " U0 UD6nOLTS:X  a2  U(       d+  US   RJ                  nURM                  [I        TT5      5      nO[O        US   TT/UQ70 UD6nU" U5      nU$ s  snnf s  snf )z„
Compatibility with numpy ufuncs.

See also
--------
numpy.org/doc/stable/reference/arrays.classes.html#numpy.class.__array_ufunc__
r   )Ú	DataFrameÚSeries)ÚNDFrame)ÚBlockManagerÚ__array_priority__Ú__array_ufunc__c              3  ó8   #   • U  H  n[        U5      v •  M     g 7fr   )Útype©Ú.0Úxs     r    Ú	<genexpr>Úarray_ufunc.<locals>.<genexpr>-  s   é € Ð*¢6˜a”$�q—'�'¢6ùs   ‚T©Ústricté   zCannot apply ufunc z& to mixed DataFrame and Series inputs.Nc              3  ór   >#   • U  H,  u  p[        UT5      (       a  UR                  " S0 TD6OUv •  M.     g 7f)Nr¢   )Ú
issubclassÚreindex)r²   r³   Útr«   Úreconstruct_axess      €€r    r´   rµ   G  s8   øé € ð 
â7‘�ô .8¸¸7×-CÑ-CˆA�IŠIÑ)Ð(Ò)ÈÔJÚ7ùs   ƒ47Únamec                ó^   >• TR                   S:”  a  [        U4S jU  5       5      $ T" U 5      $ )Nr¸   c              3  ó4   >#   • U  H  nT" U5      v •  M     g 7fr   r¢   )r²   r³   Ú_reconstructs     €r    r´   Ú3array_ufunc.<locals>.reconstruct.<locals>.<genexpr>X  s   øé € Ð9²&¨Q™ aŸ˜²&ùs   ƒ)ÚnoutÚtuple)ÚresultrÁ   Úufuncs    €€r    ÚreconstructÚ array_ufunc.<locals>.reconstructU  s*   ø€ Ø�:‰:˜‹>äÔ9±&Ó9Ó9Ð9á˜FÓ#Ð#r$   c                óZ  >• [         R                  " U 5      (       a  U $ U R                  TR                  :w  a  TS:X  a  [        eU $ [	        U T5      (       a  TR                  X R                  S9n OTR                  " U 40 TDTDSS0D6n [        T5      S:X  a  U R                  T5      n U $ )NÚouter)ÚaxesÚcopyFr¸   )
r   Ú	is_scalarÚndimÚNotImplementedErrorÚ
isinstanceÚ_constructor_from_mgrrË   Ú_constructorÚlenÚ__finalize__)rÅ   r¬   Ú	alignableÚmethodr½   Úreconstruct_kwargsr   s    €€€€€€r    rÁ   Ú!array_ufunc.<locals>._reconstruct\  s®   ø€ Ü�=Š=˜× Ñ ØˆMà�;‰;˜$Ÿ)™)Ó#Ø˜Ó Ü)Ð)ØˆMÜ�f˜l×+Ñ+à×/Ñ/°¿[¹[Ð/ÐI‰Fð ×&Ò&ØñØ*ðØ.@ñØGLòˆFô ˆy‹>˜QÓØ×(Ñ(¨Ó.ˆFØˆr$   ÚoutÚreducec              3  óN   #   • U  H  n[         R                  " U5      v •  M     g 7fr   )ÚnpÚasarrayr±   s     r    r´   rµ   ‹  s   é € Ð5ªf¨”r—z’z !—}�}ªfùs   ‚#%c              3  ó6   #   • U  H  n[        US S9v •  M     g7f)T)Úextract_numpyNr
   r±   s     r    r´   rµ   ‘  s   é € ÐLÂVÀ”} Q°dÖ;ÂVùs   ‚Ú__call__r¢   )(Úpandas.core.framer©   rª   Úpandas.core.genericr«   Úpandas.core.internalsr¬   r°   Ú_standardize_out_kwargr   r   rÜ   Úndarrayr®   Úhasattrr­   rÐ   Ú_HANDLED_TYPESrÄ   Úziprº   rÓ   ÚsetÚissubsetrÏ   rË   Ú	enumerateÚunionÚdictÚ_AXIS_ORDERSrÎ   r¾   ÚpopÚdispatch_ufunc_with_outÚdispatch_reduction_ufuncrÃ   ÚgetattrÚ_mgrÚapplyÚdefault_array_ufunc) r   rÆ   rÖ   ÚinputsÚkwargsr©   rª   ÚclsrÅ   Úno_deferÚitemÚhigher_priorityÚhas_array_ufuncÚtypesr³   r¼   Ú	set_typesrË   ÚobjÚiÚax1Úax2Únamesr¾   rÇ   Úmgrr¬   r«   rÁ   rÕ   r½   r×   s    ```                       @@@@@@r    Úarray_ufuncr    sÔ  ÿø€ ÷õ ,Ý2ä
ˆt‹*€Cä#Ñ- fÑ-€Fô /¨t°U¸FÐVÀVÒVÈvÑV€FØ”^Ò#Øˆô 	�
‰
×"Ñ"Ø×Ñð€Hó
 ˆä�DÐ.Ó/÷ BØ×'Ñ'¨$×*AÑ*AÑAð 	ô
 �DÐ+Ó,÷ :Ü�T“
×*Ñ*°(Ñ:÷:ä˜t T×%8Ñ%8Ó9Ô9ð 	ö
 Ÿo˜oÜ!Ò!ñ ô Ñ*¡6Ó*Ó*€Eä˜&°Ò5ôÚ5‰dˆa¼ÀAÀw×9O�Ñ5ò€Iô ˆ9ƒ~˜Óô
 ˜“Jˆ	Üˆy‹>˜AÓ 9Ð"5×">Ñ">¸y×"IÑ"Iô &Ø% e WÐ,RÐSóð ð �y‰yˆØ˜Q˜R“=ˆCô "+¬3¨t°S·X±XÀdÑ+KÖ!L‘�‘:�C˜ØŸ)™) C›.��Q“ó "Mñ !ô  ¤ D×$5Ñ$5°tÀDÑ IÓJÐÜõ 
ä˜F°$Ò7ó
ó 
‰ô
  ¤ D×$5Ñ$5°t·y±yÈÑ NÓOÐà‡y�y�Aƒ~Ù!'Ó>¢˜A¬7°1°f×+=“�—”¡ˆÐ>Ü! %›j¨A›oˆu�y‰yŒ{°4ˆØ$ d˜^ÑàÐö$÷ò ð0 �ƒä(¨¨u°fÐP¸vÒPÈÑPˆÙ˜6Ó"Ð"à�Óä)¨$°°vÐQÀÒQÈ&ÑQˆØœÒ'ØˆMð
 ‡y�y�1ƒ}œ#˜f›+¨›/¨U¯Z©Z¸!«^ô Ñ5©fÓ5Ó5ˆô ˜ Ô'¨Ð:°6Ñ:‰Ø	�‰�a‹äÑLÁVÓLÓLˆÜ˜ Ô'¨Ð:°6Ñ:‰à	�:Ó	¦fð �Q‰i�n‰nˆØ—‘œ7 5¨&Ó1Ó2‰ô % V¨A¡Y°°vÐQÀÒQÈ&ÑQˆñ ˜Ó €FØ€MùógùòB ?s   Ä-O6ÅO6É1O<Ê
O<c                 ó|   • SU ;  a5  SU ;   a/  SU ;   a)  U R                  S5      nU R                  S5      nX4nX0S'   U $ )z¢
If kwargs contain "out1" and "out2", replace that with a tuple "out"

np.divmod, np.modf, np.frexp can have either `out=(out1, out2)` or
`out1=out1, out2=out2)`
rÙ   Úout1Úout2)rï   )r÷   r  r  rÙ   s       r    rä   rä   ¤  sI   € ð �FÓ˜v¨Ó/°F¸fÓ4DØ�z‰z˜&Ó!ˆØ�z‰z˜&Ó!ˆØˆlˆØˆu‰Ø€Mr$   c                óÖ  • UR                  S5      nUR                  SS5      n[        X5      " U0 UD6nU[        L a  [        $ [        U[        5      (       aT  [        U[        5      (       a  [        U5      [        U5      :w  a  [        e[        XWSS9 H  u  p‰[        X‰U5        M     U$ [        U[        5      (       a  [        U5      S:X  a  US   nO[        e[        XWU5        U$ )zn
If we have an `out` keyword, then call the ufunc without `out` and then
set the result into the given `out`.
rÙ   ÚwhereNTr¶   r¸   r   )	rï   rò   r   rÐ   rÄ   rÓ   rÏ   rè   Ú_assign_where)
r   rÆ   rÖ   rö   r÷   rÙ   r
  rÅ   ÚarrÚress
             r    rð   rð   ³  sÍ   € ð �*‰*�UÓ
€CØ�J‰J�w Ó%€Eä�UÔ# VÐ6¨vÑ6€Fà”ÒÜÐä�&œ%× Ñ ä˜#œu×%Ñ%¬¨S«´S¸³[Ó)@Ü%Ð%ä˜C°Ô5‰HˆCÜ˜# EÖ*ñ 6ð ˆ
ä�#”u×ÑÜˆs‹8�q‹=Ø�a‘&‰Cä%Ð%ä�#˜uÔ%Ø€Jr$   c                óB   • Uc  XSS& g[         R                  " XU5        g)zN
Set a ufunc result into 'out', masking with a 'where' argument if necessary.
N)rÜ   Úputmask)rÙ   rÅ   r
  s      r    r  r  Ö  s   € ð �}à‰A‰ä
�
Š
�3˜vÕ&r$   c                óÈ   ^ • [        U 4S jU 5       5      (       d  [        eU Vs/ s H  oUT La  UO[        R                  " U5      PM!     nn[	        X5      " U0 UD6$ s  snf )z‰
Fallback to the behavior we would get if we did not define __array_ufunc__.

Notes
-----
We are assuming that `self` is among `inputs`.
c              3  ó*   >#   • U  H  oTL v •  M
     g 7fr   r¢   )r²   r³   r   s     €r    r´   Ú&default_array_ufunc.<locals>.<genexpr>é  s   øé € Ð)¢&˜Q�D�y¢&ùs   ƒ)ÚanyrÏ   rÜ   rÝ   rò   )r   rÆ   rÖ   rö   r÷   r³   Ú
new_inputss   `      r    rõ   rõ   á  s\   ø€ ô Ô)¡&Ó)×)Ñ)Ü!Ð!áAGÓHÂ¸A ’}‘!¬"¯*ª*°Q«-Ò7Á€JÐHä�5Ô! :Ð8°Ñ8Ð8ùò Is   ¦&Ac                ó|  • US:X  d   e[        U5      S:w  d  US   U La  [        $ UR                  [        ;  a  [        $ [        UR                     n[	        X5      (       d  [        $ U R
                  S:”  a%  [        U [        5      (       a  SUS'   SU;  a  SUS'   [        X5      " SSS0UD6n[        U5      nU$ )	z8
Dispatch ufunc reductions to self's reduction methods.
rÚ   r¸   r   FÚnumeric_onlyÚaxisÚskipnar¢   )
rÓ   r   r£   ÚREDUCTION_ALIASESræ   rÎ   rÐ   r   rò   r   )r   rÆ   rÖ   rö   r÷   Úmethod_namerÅ   s          r    rñ   rñ   ñ  sÀ   € ð �XÓÐÐä
ˆ6ƒ{�aÓ˜6 !™9¨DÒ0ÜÐà‡~�~Ô.Ó.ÜÐä# E§N¡NÑ3€Kô �4×%Ñ%ÜÐà‡y�y�1ƒ}Ü�dœJ×'Ñ'à%*ˆF�>Ñ"à˜Óð ˆF�6‰Nô �TÔ'Ñ?¨uÐ?¸Ñ?€FÜ% fÓ-€FØ€Mr$   )rÆ   únp.ufuncrÖ   Ústrrö   r   r÷   r   )Úreturnrí   )rÆ   r  rÖ   r  )r  ÚNone)Ú__doc__Ú
__future__r   r'   Útypingr   ÚnumpyrÜ   Úpandas._libsr   Úpandas._libs.ops_dispatchr   Úpandas.core.dtypes.castr   Úpandas.core.dtypes.genericr   Úpandas.corer	   Úpandas.core.constructionr   Úpandas.core.ops.commonr   r  r   r  rä   rð   r  rõ   rñ   r¢   r$   r    Ú<module>r*     sq   ðñõ #ã Ý ã å Ý Gå <Ý 1å !Ý 2Ý ;ð ØØØñ	Ð ÷Y9ñ Y9ô@`ôFô ôF'ô9õ %r$   