§
    dŠtjS  ã                   óV   — d dl Z d dlZd dlmZ d dlmZ d dlmZ  G d„ de¦  «        ZdS )é    N)Úunquote)ÚAbstractFileSystem)Ústringify_pathc                   ó‚   ‡ — e Zd ZdZdZˆ fd„Zed„ ¦   «         Zdd„Zd„ Z		 	 	 	 dd
„Z
eddededz  fd„¦   «         Zˆ xZS )ÚDataFileSystemzüA handy decoder for data-URLs

    Example
    -------
    >>> with fsspec.open("data:,Hello%2C%20World%21") as f:
    ...     print(f.read())
    b"Hello, World!"

    See https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
    Údatac                 ó:   •—  t          ¦   «         j        di |¤Ž dS )z!No parameters for this filesystemN© )ÚsuperÚ__init__)ÚselfÚkwargsÚ	__class__s     €úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/fsspec/implementations/data.pyr   zDataFileSystem.__init__   s&   ø€ à�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ð"Ð"ó    c                 óê   ‡ — t          |t          ¦  «        rˆ fd„|D ¦   «         S t          |¦  «        }|                     d¦  «        r|dd …         }n|                     d¦  «        r
|dd …         }|S )Nc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r
   )Ú_strip_protocol)Ú.0ÚpÚclss     €r   ú
<listcomp>z2DataFileSystem._strip_protocol.<locals>.<listcomp>   s'   ø€ Ð9Ð9Ð9¨q�C×'Ò'¨Ñ*Ô*Ð9Ð9Ð9r   zdata://é   údata:é   )Ú
isinstanceÚlistr   Ú
startswith)r   Úpaths   ` r   r   zDataFileSystem._strip_protocol   s‡   ø€ å�d�DÑ!Ô!ð 	:Ø9Ð9Ð9Ð9°DÐ9Ñ9Ô9Ð9Ý˜dÑ#Ô#ˆØ�?Š?˜9Ñ%Ô%ð 	Ø˜˜˜”8ˆDˆDØ�_Š_˜WÑ%Ô%ð 	Ø˜˜˜”8ˆDð ˆr   Nc                 óè   — |                      dd¦  «        \  }}|                     d¦  «        rt          j        |¦  «        ||…         S t	          |¦  «                             ¦   «         ||…         S )Nú,é   Úbase64)ÚsplitÚendswithr#   Ú	b64decoder   Úencode)r   r   ÚstartÚendr   Úprefr   s          r   Úcat_filezDataFileSystem.cat_file(   sh   € Ø—Z’Z  QÑ'Ô'‰
ˆˆdØ�=Š=˜Ñ"Ô"ð 	5ÝÔ# DÑ)Ô)¨%°¨)Ô4Ð4Ý�t‰}Œ}×#Ò#Ñ%Ô% e¨C iÔ0Ð0r   c                 óò   — |                      dd¦  «        \  }}|                      |¦  «        }|                      dd¦  «        d                               dd¦  «        d         }|t          |¦  «        d|dœS )Nr!   r"   ú:ú;r   Úfile)ÚnameÚsizeÚtypeÚmimetype)r$   r+   Úlen)r   r   r   r*   r0   r   Úmimes          r   ÚinfozDataFileSystem.info.   so   € Ø—Z’Z  QÑ'Ô'‰
ˆˆdØ�}Š}˜TÑ"Ô"ˆØ�zŠz˜#˜qÑ!Ô! !Ô$×*Ò*¨3°Ñ2Ô2°1Ô5ˆØ¥c¨$¡i¤i¸ÈTÐRÐRÐRr   ÚrbTc                 óv   — d|vrt          d¦  «        ‚t          j        |                      |¦  «        ¦  «        S )NÚrzRead only filesystem)Ú
ValueErrorÚioÚBytesIOr+   )r   r   ÚmodeÚ
block_sizeÚ
autocommitÚcache_optionsr   s          r   Ú_openzDataFileSystem._open4   s8   € ð �dˆ?ˆ?ÝÐ3Ñ4Ô4Ð4ÝŒz˜$Ÿ-š-¨Ñ-Ô-Ñ.Ô.Ð.r   r5   c                 ó^   — d|pd› dt          j        | ¦  «                             ¦   «         › �S )z†Format the given data into data-URL syntax

        This version always base64 encodes, even when the data is ascii/url-safe.
        r   Ú z;base64,)r#   Ú	b64encodeÚdecode)r   r5   s     r   r'   zDataFileSystem.encodeA   s6   € ð M�t�z˜rÐLÐL­6Ô+;¸DÑ+AÔ+A×+HÒ+HÑ+JÔ+JÐLÐLÐLr   )NN)r7   NTN)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úprotocolr   Úclassmethodr   r+   r6   rA   ÚstaticmethodÚbytesÚstrr'   Ú__classcell__)r   s   @r   r   r   	   sî   ø€ € € € € ð	ð 	ð €Hð#ð #ð #ð #ð #ð ð
ð 
ñ „[ð
ð1ð 1ð 1ð 1ðSð Sð Sð ØØØð/ð /ð /ð /ð ðMð M�Uð M #¨¡*ð Mð Mð Mñ „\ðMð Mð Mð Mð Mr   r   )	r#   r;   Úurllib.parser   Úfsspecr   Úfsspec.utilsr   r   r
   r   r   ú<module>rS      sŒ   ðØ €€€Ø 	€	€	€	Ø  Ð  Ð  Ð  Ð  Ð  à %Ð %Ð %Ð %Ð %Ð %Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ð>Mð >Mð >Mð >Mð >MÐ'ñ >Mô >Mð >Mð >Mð >Mr   