§
    tŠtjÛ  ã                  ó@  — d Z ddlmZ ddlZddlmZ ddlmZ dZ	 ddl	Z
 e ee
j        ¦  «        j        ¦  «        Ze ed¦  «        k     Ze ed¦  «        k     Ze ed	¦  «        k     Ze ed
¦  «        k     Ze ed¦  «        k     Ze ed¦  «        k     Ze ed¦  «        k     Ze ed¦  «        k     Ze ed¦  «        k     Ze ed¦  «        k     Ze ed¦  «        k     ZdZe ee¦  «        k    Zn%# e$ r dZdZdZdZdZdZdZdZdZdZdZdZdZY nw xY wdd„ZdS )z-support pyarrow compatibility across versionsé    )ÚannotationsN)ÚAny)ÚVersionz13.0.0z14.0.0z14.0.1z15.0.0z16.0.0z17.0.0z18.0.0z19.0.0z20.0.0z21.0.0z22.0.0z23.0.0TFÚarrúpa.Array | pa.ChunkedArrayÚ
fill_valuer   Úreturnc                óÒ  ‡‡‡— ddl mŠ t          j        dv }t          o|ot
           ot          }|r&t          |t          j	        t          j
        f¦  «        r‰                     | |¦  «        S t          j        || j        ¬¦  «        Št          j                             | j        ¦  «        rRdˆfd
„Št          | t          j
        ¦  «        r&t          j        ˆˆfd„| j        D ¦   «         ¦  «        S  ‰| ‰¦  «        S t          | t          j
        ¦  «        r&t          j        ˆˆfd„| j        D ¦   «         ¦  «        S ‰                     ‰                     | ¦  «        ‰| ¦  «        S )ab  
    Safe wrapper for pyarrow.compute.fill_null with fallback for Windows + pyarrow 21.

    pyarrow 21.0.0 on Windows has a bug in fill_null that incorrectly fills null values.
    This function uses a fallback implementation for that specific case, otherwise uses
    the standard pyarrow.compute.fill_null.

    Parameters
    ----------
    arr : pyarrow.Array | pyarrow.ChunkedArray
        Input array with potential null values.
    fill_value : Any
        Value to fill nulls with.

    Returns
    -------
    pyarrow.Array | pyarrow.ChunkedArray
        Array with nulls filled with fill_value.
    r   N)Úwin32Úcygwin©Útyper   úpa.ArrayÚfill_scalarú	pa.Scalarr	   c                óÀ   •— ‰                      | ¦  «        }t          j        d| j        ¬¦  «        }‰                     ||| ¦  «        }‰                     |||¦  «        S )Nr   r   )Úis_nullÚpaÚscalarr   Úif_else)r   r   ÚmaskÚzero_durationÚ
arr_zeroedÚpcs        €úS/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/compat/pyarrow.pyÚfill_null_durationz+_safe_fill_null.<locals>.fill_null_durationO   sS   ø€ Ø—:’:˜c‘?”?ˆDÝœI a¨c¬hÐ7Ñ7Ô7ˆMØŸš D¨-¸Ñ=Ô=ˆJØ—:’:˜d K°Ñ<Ô<Ð<ó    c                ó(   •— g | ]} ‰|‰¦  «        ‘ŒS © r   )Ú.0Úchunkr   r   s     €€r   ú
<listcomp>z#_safe_fill_null.<locals>.<listcomp>W   s'   ø€ ÐPÐPÐP¸EÐ#Ð# E¨;Ñ7Ô7ÐPÐPÐPr   c                ód   •— g | ],}‰                      ‰                     |¦  «        ‰|¦  «        ‘Œ-S r   )r   r   )r    r!   r   r   s     €€r   r"   z#_safe_fill_null.<locals>.<listcomp>]   s5   ø€ ÐWÐWÐWÀ5ˆR�ZŠZ˜Ÿ
š
 5Ñ)Ô)¨;¸Ñ>Ô>ÐWÐWÐWr   )r   r   r   r   r	   r   )Úpyarrow.computeÚcomputeÚsysÚplatformÚHAS_PYARROWÚpa_version_under21p0Úpa_version_under22p0Ú
isinstancer   ÚArrayÚChunkedArrayÚ	fill_nullr   r   ÚtypesÚis_durationÚchunked_arrayÚchunksr   r   )r   r   Ú
is_windowsÚuse_fallbackr   r   r   s       @@@r   Ú_safe_fill_nullr5   ,   s‹  øøø€ ð, !Ð Ð Ð Ð Ð å”Ð!4Ð4€JåÐX˜
ÐXÕ+?Ð'?ÐXÕDXð ð ð -�: jµ2´8½R¼_Ð2MÑNÔNð -Ø�|Š|˜C Ñ,Ô,Ð,å”)˜J¨S¬XÐ6Ñ6Ô6€Kå	„x×Ò˜CœHÑ%Ô%ð 4ð	=ð 	=ð 	=ð 	=ð 	=ð 	=õ �c�2œ?Ñ+Ô+ð 	ÝÔ#ØPÐPÐPÐPÐPÀSÄZÐPÑPÔPñô ð ð "Ð! # {Ñ3Ô3Ð3å�#•r”Ñ'Ô'ð 
ÝÔØWÐWÐWÐWÐWÈCÌJÐWÑWÔWñ
ô 
ð 	
ð �:Š:�b—j’j ‘o”o {°CÑ8Ô8Ð8r   )r   r   r   r   r	   r   )Ú__doc__Ú
__future__r   r&   Útypingr   Úpandas.util.versionr   ÚPYARROW_MIN_VERSIONÚpyarrowr   Ú__version__Úbase_versionÚ_palvÚpa_version_under14p0Úpa_version_under14p1Úpa_version_under15p0Úpa_version_under16p0Úpa_version_under17p0Úpa_version_under18p0Úpa_version_under19p0Úpa_version_under20p0r)   r*   Úpa_version_under23p0ÚPYARROW_INSTALLEDr(   ÚImportErrorr5   r   r   r   ú<module>rJ      s  ðØ 3Ð 3à "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø Ð Ð Ð Ð Ð à 'Ð 'Ð 'Ð 'Ð 'Ð 'àÐ ðØÐÐÐàˆG�G�G˜BœNÑ+Ô+Ô8Ñ9Ô9€EØ  7 7¨8Ñ#4Ô#4Ò4ÐØ  7 7¨8Ñ#4Ô#4Ò4ÐØ  7 7¨8Ñ#4Ô#4Ò4ÐØ  7 7¨8Ñ#4Ô#4Ò4ÐØ  7 7¨8Ñ#4Ô#4Ò4ÐØ  7 7¨8Ñ#4Ô#4Ò4ÐØ  7 7¨8Ñ#4Ô#4Ò4ÐØ  7 7¨8Ñ#4Ô#4Ò4ÐØ  7 7¨8Ñ#4Ô#4Ò4ÐØ  7 7¨8Ñ#4Ô#4Ò4ÐØ  7 7¨8Ñ#4Ô#4Ò4ÐØÐØ˜7˜7Ð#6Ñ7Ô7Ò7€K€KøØð ð ð ØÐØÐØÐØÐØÐØÐØÐØÐØÐØÐØÐØÐØ€K€K€Kðøøøð 39ð 39ð 39ð 39ð 39ð 39s   œCC5 Ã5DÄD