§
    dŠtj  ã                   ól  — d Z ddlZddlmZ ddlZddlmZ d„ ZdeiZ	d#d„Z
d$d	„Z e
d
ed
¦  «         	 ddlmZ  e
ded¦  «         n# e$ r Y nw xY w	 ddlmZ d%d„Z e
ded¦  «         n# e$ r ddlmZ  e
dd„ d¦  «         Y nw xY w	 ddlmZ  e
ded¦  «          e
ded¦  «         n# e$ r Y nw xY w	 ddlZ e
dej        dd¬¦  «          e
dej        dd¬¦  «         n# e$ r Y nw xY w G d„ de¦  «        Z	 ddlZ ej        d¦  «          e
deg ¦  «         n# eeef$ r Y nw xY w	 ddlZ e
dej        j        d¦  «         n# e$ r Y nw xY w	 ej        dk    rddl m!Z! nddl"m!Z!  e
de!j#        d ¦  «         n-# e$ r% 	 ddl$Z!d%d!„Z% e
de%d ¦  «         n# e$ r Y nw xY wY nw xY wd"„ Z&dS )&z9Helper functions for a standard streaming compression APIé    N)ÚZipFile)ÚAbstractBufferedFilec                 ó   — | S ©N© )ÚfileÚmodeÚkwargss      úP/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/fsspec/compression.pyÚ	noop_filer   
   s   € Ø€Kó    Fc                 ó  — t          |t          ¦  «        r|g}| t          v r|st          d| › �¦  «        ‚|D ]-}|t          j        j        v r|st          d|› d| › d�¦  «        ‚Œ.|t          | <   |D ]}| t          j        j        |<   ŒdS )aA  Register an "inferable" file compression type.

    Registers transparent file compression type for use with fsspec.open.
    Compression can be specified by name in open, or "infer"-ed for any files
    ending with the given extensions.

    Args:
        name: (str) The compression type name. Eg. "gzip".
        callback: A callable of form (infile, mode, **kwargs) -> file-like.
            Accepts an input file-like object, the target mode and kwargs.
            Returns a wrapped file-like object.
        extensions: (str, Iterable[str]) A file extension, or list of file
            extensions for which to infer this compression scheme. Eg. "gz".
        force: (bool) Force re-registration of compression type or extensions.

    Raises:
        ValueError: If name or extensions already registered, and not force.

    z$Duplicate compression registration: z&Duplicate compression file extension: z (ú)N)Ú
isinstanceÚstrÚcomprÚ
ValueErrorÚfsspecÚutilsÚcompressions)ÚnameÚcallbackÚ
extensionsÚforceÚexts        r   Úregister_compressionr      sÀ   € õ( �*�cÑ"Ô"ð "Ø �\ˆ
ð �u€}€}˜U€}ÝÐFÀÐFÐFÑGÔGÐGàð Vð VˆØ•&”,Ô+Ð+Ð+°EÐ+ÝÐTÀcÐTÐTÈTÐTÐTÐTÑUÔUÐUøà…Eˆ$�Kàð .ð .ˆØ)-�ŒÔ! #Ñ&Ð&ð.ð .r   Úrbc                 óü   ‡— d|vr=|pd}t          | fddi|¤ŽŠ‰                     |d¬¦  «        }|j        fˆfd„	|_        |S t          | ¦  «        Š|€‰                     ¦   «         d         } ‰j        |fddi|¤ŽS )NÚrr   r	   Úw)r	   c                 ó@   •—  | ¦   «         p‰                      ¦   «         S r   )Úclose)ÚcloserÚzs    €r   ú<lambda>zunzip.<locals>.<lambda>=   s   ø€ ¨6¨6©8¬8Ð+@°q·w²w±y´y€ r   r   )r   Úopenr"   Únamelist)Úinfiler	   Úfilenamer
   Úfor$   s        @r   Úunzipr+   8   s£   ø€ Ø
�$€€ØÐ%˜vˆÝ�FÐ/Ð/ Ð/¨Ð/Ð/ˆØ�VŠV�H 3ˆVÑ'Ô'ˆØ!#¤Ð@Ð@Ð@Ð@Ð@ˆŒØˆ	Ý�‰Œ€AØÐØ—:’:‘<”< ”?ˆØˆ1Œ6�(Ð/Ð/ Ð/¨Ð/Ð/Ð/r   Úzip)ÚBZ2FileÚbz2)Úigzipc                 ó*   — t          j        d| |dœ|¤ŽS )N)Úfileobjr	   r   )r/   Ú	IGzipFile)r(   r	   r
   s      r   Úisalr3   Q   s   € ÝŒÐC v°DÐCÐC¸FÐCÐCÐCr   ÚgzipÚgz©ÚGzipFilec                 ó   — t          dd| i|¤ŽS )Nr1   r   r6   )Úfr
   s     r   r%   r%   Y   s   € ¥HÐ$AÐ$A°QÐ$A¸&Ð$AÐ$A€ r   )ÚLZMAFileÚlzmaÚxzT)r   c                   ó:   ‡ — e Zd Zˆ fd„Zdd„Zd	d„Zd„ Zd„ Zˆ xZS )
Ú
SnappyFilec                 óâ   •— dd l } t          ¦   «         j        dd d|                     d¦  «        dz   ddœ|¤Ž || _        d|v r |j        ¦   «         | _        d S  |j        ¦   «         | _        d S )Nr   ÚsnappyÚbiÿÉš;)ÚfsÚpathr	   Úsizer   r   )r@   ÚsuperÚ__init__Ústripr(   ÚStreamDecompressorÚcodecÚStreamCompressor)Úselfr(   r	   r
   r@   Ú	__class__s        €r   rF   zSnappyFile.__init__n   s�   ø€ Øˆˆˆà�‰ŒÔð 	
Ø˜(¨¯ª°C©¬¸3Ñ)>ÀYð	
ð 	
ØRXð	
ð 	
ð 	
ð ˆŒØ�$ˆ;ˆ;Ø2˜Ô2Ñ4Ô4ˆDŒJˆJˆJà0˜Ô0Ñ2Ô2ˆDŒJˆJˆJr   Fc                 óÐ   — | j                              d¦  «         | j                             | j                              ¦   «         ¦  «        }| j                             |¦  «         dS )Nr   T)ÚbufferÚseekrI   Ú	add_chunkÚreadr(   Úwrite)rK   ÚfinalÚouts      r   Ú_upload_chunkzSnappyFile._upload_chunkz   sV   € ØŒ×Ò˜ÑÔÐØŒj×"Ò" 4¤;×#3Ò#3Ñ#5Ô#5Ñ6Ô6ˆØŒ×Ò˜#ÑÔÐØˆtr   r   c                 ó    — t          d¦  «        ‚)NzSnappyFile is not seekable)ÚNotImplementedError)rK   ÚlocÚwhences      r   rO   zSnappyFile.seek€   s   € Ý!Ð">Ñ?Ô?Ð?r   c                 ó   — dS )NFr   )rK   s    r   ÚseekablezSnappyFile.seekableƒ   s   € Øˆur   c                 óp   — | j                              ||z
  ¦  «        }| j                             |¦  «        S )z*Get the specified set of bytes from remote)r(   rQ   rI   Ú
decompress)rK   ÚstartÚendÚdatas       r   Ú_fetch_rangezSnappyFile._fetch_range†   s1   € àŒ{×Ò  e¡Ñ,Ô,ˆØŒz×$Ò$ TÑ*Ô*Ð*r   ©F)r   )	Ú__name__Ú
__module__Ú__qualname__rF   rU   rO   r[   ra   Ú__classcell__)rL   s   @r   r>   r>   m   s‚   ø€ € € € € ð
3ð 
3ð 
3ð 
3ð 
3ðð ð ð ð@ð @ð @ð @ðð ð ð+ð +ð +ð +ð +ð +ð +r   r>   r   r@   Úlz4)é   é   )Úzstdrj   Úzstc                 ó®   — d|v r(t          j        ¦   «         }|                     | ¦  «        S t          j        d¬¦  «        }|                     | ¦  «        S )Nr   é
   )Úlevel)rj   ÚZstdDecompressorÚstream_readerÚZstdCompressorÚstream_writer)r(   r	   Úcctxs      r   Úzstandard_filert   ©   sT   € Ø�dˆ{ˆ{ÝÔ,Ñ.Ô.�Ø×)Ò)¨&Ñ1Ô1Ð1åÔ*°Ð4Ñ4Ô4�Ø×)Ò)¨&Ñ1Ô1Ð1r   c                  ó*   — t          t          ¦  «        S )z.Return a list of the implemented compressions.)Úlistr   r   r   r   Úavailable_compressionsrw   ·   s   € å•‰;Œ;Ðr   rb   )r   N)r   )'Ú__doc__ÚsysÚzipfiler   Úfsspec.utilsr   Úfsspec.specr   r   r   r   r+   r.   r-   ÚImportErrorr3   r/   r4   r7   r;   r:   Úlzmaffir>   r@   ÚcompressÚ	NameErrorÚAttributeErrorÚ	lz4.framerg   Úframer&   Úversion_infoÚcompressionrj   Ú	backportsÚZstdFileÚ	zstandardrt   rw   r   r   r   ú<module>r‰      s&  ðØ ?Ð ?à 
€
€
€
Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð 
ˆyÐ€ð".ð ".ð ".ð ".ðJ
0ð 
0ð 
0ð 
0ð Ð �U˜E 5Ñ )Ô )Ð )ð0ØÐÐÐÐÐð Ð˜ ¨Ñ/Ô/Ð/Ð/øð ð 	ð 	ð 	Ø€Dð	øøøð
ØÐÐÐÐÐðDð Dð Dð Dð Ð˜  tÑ,Ô,Ð,Ð,øØð ð ð ØÐÐÐÐÐàÐØÐAÐAÀ4ñô ð ð ð ðøøøð	ØÐÐÐÐÐàÐ˜ ¨6Ñ2Ô2Ð2ØÐ˜˜x¨Ñ.Ô.Ð.Ð.øØð 	ð 	ð 	Ø€Dð	øøøð	Ø€N€N€NàÐ˜ Ô!1°6ÀÐFÑFÔFÐFØÐ˜˜wÔ/°¸TÐBÑBÔBÐBÐBøØð 	ð 	ð 	Ø€Dð	øøøð+ð +ð +ð +ð +Ð%ñ +ô +ð +ð>		Ø€M€M€Mà€F„O�CÑÔÐð Ð˜ :¨rÑ2Ô2Ð2Ð2øà�Y Ð/ð 	ð 	ð 	Ø€Dð	øøøð	ØÐÐÐàÐ˜ ¤	¤°Ñ6Ô6Ð6Ð6øØð 	ð 	ð 	Ø€Dð	øøøð	Ø
Ô˜7Ò"Ð"Ø$Ð$Ð$Ð$Ð$Ð$Ð$à"Ð"Ð"Ð"Ð"Ð"àÐ˜ ¤°Ñ6Ô6Ð6Ð6øØð 	ð 	ð 	ðØ Ð Ð Ð ð	2ð 	2ð 	2ð 	2ð 	Ð˜V ^°UÑ;Ô;Ð;Ð;øØð ð ð Øˆðøøøà€Dð	øøøð$ð ð ð ð s¡   ´A ÁAÁAÁA, Á,BÂBÂ B- Â-B5Â4B5Â9,C& Ã&C.Ã-C.Ä !D" Ä"D-Ä,D-Ä1E ÅEÅEÅ*F ÆF.Æ
F ÆF.Æ F(Æ%F.Æ'F(Æ(F.Æ-F.