§
    Ñ! h  ã                  ó²   — d dl mZ d dlmZmZ d dlmZ erd dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ  G d	„ d
e¦  «        Zd d„Zd!d„Zd"d„Zd#d„Zd$d„ZdS )%é    )Úannotations)ÚTYPE_CHECKINGÚ
NamedTuple)Úis_1d_only_ea_dtype)ÚIterator)ÚBlockPlacement)Ú	ArrayLike)ÚBlock)ÚBlockManagerc                  óL   — e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   dS )ÚBlockPairInfor	   ÚlvalsÚrvalsr   ÚlocsÚboolÚleft_eaÚright_ear
   ÚrblkN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úSc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/core/internals/ops.pyr   r      sO   € € € € € € ØÐÐÑØÐÐÑØÐÐÑØ€M€M�MØ€N€N�NØ€K€K�K€K€Kr   r   Úleftr   ÚrightÚreturnúIterator[BlockPairInfo]c           
   #  ó  K  — | j         D ]y}|j        }|j        }|j        dk    }|                     |j        d¬¦  «        }|D ]?}|j        j        dk    }t          ||||¦  «        \  }	}
t          |	|
||||¦  «        }|V — Œ@Œzd S )Né   T)Ú
only_slice)ÚblocksÚmgr_locsÚvaluesÚndimÚ_slice_take_blocks_ax0ÚindexerÚ_get_same_shape_valuesr   )r   r   Úblkr   Úblk_valsr   Úrblksr   r   r   r   Úinfos               r   Ú_iter_block_pairsr.      sµ   è è € ð Œ{ð ð ˆØŒ|ˆØ”:ˆà”- 1Ò$ˆà×,Ò,¨T¬\ÀdÐ,ÑKÔKˆð ð 	ð 	ˆDØ”{Ô'¨1Ò,ˆHå1°#°t¸WÀhÑOÔO‰LˆE�5Ý  ¨¨t°W¸hÈÑMÔMˆDØˆJˆJˆJˆJð	ðð r   c                ó   — g }t          | |¦  «        D ]�\  }}}}}}	 |||¦  «        }
|r<|s:t          |
d¦  «        r*t          |
j        ¦  «        s|
                     dd¦  «        }
|	                     |
¦  «        }t          ||¦  «         |                     |¦  «         ŒŽ t          |¦  «        t          |¦  «        |j
        d¬¦  «        }|S )NÚreshaper!   éÿÿÿÿF)ÚaxesÚverify_integrity)r.   Úhasattrr   Údtyper0   Ú_split_op_resultÚ_reset_block_mgr_locsÚextendÚtypeÚtupler2   )r   r   Úarray_opÚres_blksr   r   r   r   r   r   Ú
res_valuesÚnbsÚnew_mgrs                r   Úoperate_blockwiser@   9   sõ   € ð €HÝ7HÈÈuÑ7UÔ7Uð ð Ñ3ˆˆu�d˜G X¨tØ�X˜e UÑ+Ô+ˆ
àð	3àð	3õ ˜
 IÑ.Ô.ð	3õ (¨
Ô(8Ñ9Ô9ð		3ð $×+Ò+¨A¨rÑ2Ô2ˆJØ×#Ò# JÑ/Ô/ˆõ 	˜c 4Ñ(Ô(Ð(à�Š˜ÑÔÐÐð �d�5‰kŒk�% ™/œ/°´
ÈUÐSÑSÔS€GØ€Nr   r>   úlist[Block]ÚNonec                óB   — | D ]}||j         j                 }||_         ŒdS )zA
    Reset mgr_locs to correspond to our original DataFrame.
    N)r$   r(   )r>   r   ÚnbÚnblocss       r   r7   r7   `   s5   € ð ð ð ˆØ�b”kÔ)Ô*ˆØˆŒˆðð r   Úlblkr
   r   r   r   r   útuple[ArrayLike, ArrayLike]c                ó  — | j         }|j         }|j        j        sJ |j        ¦   «         ‚|s?|s=||j        j        dd…f         }|j        |j        k    sJ |j        |j        f¦   «         ‚nœ|r)|r'|j        |j        k    sJ |j        |j        f¦   «         ‚nq|rC||j        j        dd…f         }|j        d         dk    sJ |j        ¦   «         ‚|ddd…f         }n,|j        d         dk    sJ |j        ¦   «         ‚|ddd…f         }||fS )zH
    Slice lblk.values to align with rblk.  Squeeze if we have EAs.
    Nr   r!   )r%   r$   Úis_slice_liker(   Úshape)rF   r   r   r   r   r   s         r   r)   r)   l   sQ  € ð ŒK€EØŒK€Eð Œ=Ô&Ð5Ð5¨¬Ñ5Ô5Ð&ð ð �xð ð �d”mÔ+¨Q¨Q¨QÐ.Ô/ˆØŒ{˜eœkÒ)Ð)Ð)¨E¬K¸¼Ð+EÑ)Ô)Ð)Ð)Ø	ð �Xð ØŒ{˜eœkÒ)Ð)Ð)¨E¬K¸¼Ð+EÑ)Ô)Ð)Ð)Ø	ð ð
 �d”mÔ+¨Q¨Q¨QÐ.Ô/ˆØŒ{˜1Œ~ Ò"Ð"Ð" E¤KÑ"Ô"Ð"Ø�a˜˜˜�d”ˆˆð Œ{˜1Œ~ Ò"Ð"Ð" E¤KÑ"Ô"Ð"ð �a˜˜˜�d”ˆà�%ˆ<Ðr   c                ób   — t          | |¦  «        D ]} ||j        |j        ¦  «        }|s dS ŒdS )z$
    Blockwise `all` reduction.
    FT)r.   r   r   )r   r   Úopr-   Úress        r   Úblockwise_allrN   ’   sK   € õ " $¨Ñ.Ô.ð ð ˆØˆb�”˜TœZÑ(Ô(ˆØð 	Ø�5�5ð	àˆ4r   N)r   r   r   r   r   r   )r   r   r   r   r   r   )r>   rA   r   rB   )
rF   r
   r   r
   r   r   r   r   r   rG   )r   r   r   r   r   r   )Ú
__future__r   Útypingr   r   Úpandas.core.dtypes.commonr   Úcollections.abcr   Úpandas._libs.internalsr   Úpandas._typingr	   Úpandas.core.internals.blocksr
   Úpandas.core.internals.managersr   r   r.   r@   r7   r)   rN   r   r   r   ú<module>rW      sO  ðØ "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð
 :Ð 9Ð 9Ð 9Ð 9Ð 9àð <Ø(Ð(Ð(Ð(Ð(Ð(à5Ð5Ð5Ð5Ð5Ð5Ø(Ð(Ð(Ð(Ð(Ð(à2Ð2Ð2Ð2Ð2Ð2Ø;Ð;Ð;Ð;Ð;Ð;ðð ð ð ð �Jñ ô ð ðð ð ð ð8$ð $ð $ð $ðNð ð ð ð#ð #ð #ð #ðLð ð ð ð ð r   