Ë
    ¤eh}  ã                  óp   — d dl mZ d dlmZmZ d dlmZmZ erd dlZ	d dl
Z G d„ de«      Z G d„ de«      Zy)	é    )Úannotations)ÚTYPE_CHECKINGÚAny)ÚBufferÚDlpackDeviceTypeNc                  óV   — e Zd ZdZd	d
d„Zedd„«       Zedd„«       Zdd„Zdd„Z	dd„Z
y)ÚPandasBufferúF
    Data in the buffer is guaranteed to be contiguous in memory.
    c                óÂ   — |j                   d   rI|j                   |j                  j                  fk(  s%|r|j                  «       }|| _        yt	        d«      ‚|| _        y)zG
        Handle only regular columns (= numpy arrays) for now.
        r   zBExports cannot be zero-copy in the case of a non-contiguous bufferN)ÚstridesÚdtypeÚitemsizeÚcopyÚRuntimeErrorÚ_x)ÚselfÚxÚ
allow_copys      ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/core/interchange/buffer.pyÚ__init__zPandasBuffer.__init__   s]   € ð �9‰9�QŠ< §	¡	¨a¯g©g×.>Ñ.>Ð-@Ò @ñ Ø—F‘F“H�ð ˆ�ô #ð1óð ð ˆ�ó    c                óp   — | j                   j                  | j                   j                  j                  z  S ©z'
        Buffer size in bytes.
        )r   Úsizer   r   ©r   s    r   ÚbufsizezPandasBuffer.bufsize*   s%   € ð
 �w‰w�|‰|˜dŸg™gŸm™m×4Ñ4Ñ4Ð4r   c                ó:   — | j                   j                  d   d   S )ú?
        Pointer to start of the buffer as an integer.
        Údatar   )r   Ú__array_interface__r   s    r   ÚptrzPandasBuffer.ptr1   s   € ð
 �w‰w×*Ñ*¨6Ñ2°1Ñ5Ð5r   c                ó6   — | j                   j                  «       S ©z?
        Represent this structure as DLPack interface.
        )r   Ú
__dlpack__r   s    r   r$   zPandasBuffer.__dlpack__8   s   € ð �w‰w×!Ñ!Ó#Ð#r   c                ó&   — t         j                  dfS ©zU
        Device type and device ID for where the data in the buffer resides.
        N©r   ÚCPUr   s    r   Ú__dlpack_device__zPandasBuffer.__dlpack_device__>   ó   € ô !×$Ñ$ dÐ+Ð+r   c                óŠ   — dt        | j                  | j                  | j                  «       d   j                  dœ«      z   dz   S )NzPandasBuffer(r   ©r   r!   Údeviceú))Ústrr   r!   r)   Únamer   s    r   Ú__repr__zPandasBuffer.__repr__D   sK   € àÜà#Ÿ|™|ØŸ8™8Ø"×4Ñ4Ó6°qÑ9×>Ñ>ñóñð ñð
	
r   N)T)r   z
np.ndarrayr   ÚboolÚreturnÚNone©r3   Úint©r3   r   ©r3   z#tuple[DlpackDeviceType, int | None]©r3   r/   ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   r!   r$   r)   r1   © r   r   r	   r	      sC   „ ñôð& ò5ó ð5ð ò6ó ð6ó$ó,ô
r   r	   c                  ó`   — e Zd ZdZ	 	 	 	 	 	 d	d„Zed
d„«       Zed
d„«       Zdd„Zdd„Z	dd„Z
y)ÚPandasBufferPyarrowr
   c               ó    — || _         || _        y)z0
        Handle pyarrow chunked arrays.
        N)Ú_bufferÚ_length)r   ÚbufferÚlengths      r   r   zPandasBufferPyarrow.__init__W   s   € ð ˆŒØˆ�r   c                ó.   — | j                   j                  S r   )rD   r   r   s    r   r   zPandasBufferPyarrow.bufsizec   s   € ð
 �|‰|× Ñ Ð r   c                ó.   — | j                   j                  S )r   )rD   Úaddressr   s    r   r!   zPandasBufferPyarrow.ptrj   s   € ð
 �|‰|×#Ñ#Ð#r   c                ó   — t        «       ‚r#   )ÚNotImplementedErrorr   s    r   r$   zPandasBufferPyarrow.__dlpack__q   s   € ô "Ó#Ð#r   c                ó&   — t         j                  dfS r&   r'   r   s    r   r)   z%PandasBufferPyarrow.__dlpack_device__w   r*   r   c                óT   — dt        | j                  | j                  ddœ«      z   dz   S )NzPandasBuffer[pyarrow](r(   r,   r.   )r/   r   r!   r   s    r   r1   zPandasBufferPyarrow.__repr__}   s7   € à$Üà#Ÿ|™|ØŸ8™8Ø#ñóñð ñð
	
r   N)rF   z	pa.BufferrG   r6   r3   r4   r5   r7   r8   r9   r:   r@   r   r   rB   rB   R   s_   „ ñð
àð
ð ð	
ð
 
ó
ð ò!ó ð!ð ò$ó ð$ó$ó,ô
r   rB   )Ú
__future__r   Útypingr   r   Ú*pandas.core.interchange.dataframe_protocolr   r   ÚnumpyÚnpÚpyarrowÚpar	   rB   r@   r   r   ú<module>rV      s6   ðÝ "÷÷
ñ
 ÛÛô=
�6ô =
ô@6
˜&õ 6
r   