+
    LV-jº  ã                   ó>  € ^ RI Ht ^ RIHtHtHtHtHtHtH	t	 ^ RI
t
^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ]! ]]]]]4      t]P                  ! R]P,                  ].]]P.                  4      t]! ]R	4      t]R
R
]P6                  3R l4       t ! R R]4      tR# )é    )Úcontextmanager)Ú	CFUNCTYPEÚPOINTERÚc_intÚ
c_longlongÚc_void_pÚcastÚcreate_string_bufferN)Ú
open_files)ÚAbstractArchiveFileSystem)Ú
MemoryFile)ÚDEFAULT_BLOCK_SIZEÚread_set_seek_callbackÚ
NO_OPEN_CBÚallc           	   #  óÈ  a aa"  € \        V4      o\        S\        4      oVVV 3R lpV 3R lp\        P                  ! V4      p\        V4      p\        '       d"   \        P                  p\        P                  p	MZ\        P                  P                  \        P                  4      p\        P                  P                  \        P                  4      p	\        P                  P                  W4      ;_uu_ 4       p
\        W§4       \        P                   ! V
RW†V	4       \        P                  P#                  V
4      x € RRR4       R#   + '       g   i     R# ; i5i)z~Read an archive from a seekable file-like object.

The `file` object must support the standard `readinto` and 'seek' methods.
c                 óf   <€ SP                  S4      p\        V\        \        4      4      pSV^ &   V# )r   )Úreadintor	   r   r   )Ú	archive_pÚcontextÚptrptrÚlengthÚbufÚbuf_pÚfiles   &&& €€€Úr/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/fsspec/implementations/libarchive.pyÚ	read_funcÚ custom_reader.<locals>.read_func*   s0   ø€ à—‘˜sÓ#ˆä�fœg¤hÓ/Ó0ˆØˆˆq‰	àˆó    c                 óF   <€ SP                  W#4       SP                  4       # )N)ÚseekÚtell)r   r   ÚoffsetÚwhencer   s   &&&&€r   Ú	seek_funcÚ custom_reader.<locals>.seek_func3   s   ø€ Ø�	‰	�&Ô!à�y‰y‹{Ðr   N)r
   r	   r   ÚffiÚREAD_CALLBACKÚSEEK_CALLBACKÚnew_apir   ÚNO_CLOSE_CBÚ
libarchiveÚreadÚOPEN_CALLBACKÚVOID_CBÚCLOSE_CALLBACKÚnew_archive_readr   Ú	read_openÚArchiveRead)r   Úformat_nameÚfilter_nameÚ
block_sizer   r%   Úread_cbÚseek_cbÚopen_cbÚclose_cbr   r   r   s   f&&&       @@r   Úcustom_readerr;   !   sà   úé € ô ˜zÓ
*€CÜ�”hÓ€E÷õô
 ×Ò 	Ó*€GÜ˜IÓ&€GçƒwÜ—.‘.ˆÜ—?‘?‰ä—/‘/×/Ñ/´·±Ó<ˆÜ—?‘?×1Ñ1´#·+±+Ó>ˆä	�‰×	)Ñ	)¨+×	CÔ	CÀyÜ˜yÔ2Ü�Š�i  w¸ÔBÜ�o‰o×)Ñ)¨)Ó4Ò4÷ 
D×	C×	CÒ	Cüs   …C9E"Ã>AEÅ
E"ÅE	Å	E"c                   ó†   a a€ ] tR t^Ht oRtRtRtRtRRRR]3V 3R llt	]
R 4       t]V 3R	 l4       tR
 tRR ltRtVtV ;t# )ÚLibArchiveFileSystemaM  Compressed archives as a file-system (read-only)

Supports the following formats:
tar, pax , cpio, ISO9660, zip, mtree, shar, ar, raw, xar, lha/lzh, rar
Microsoft CAB, 7-Zip, WARC

See the libarchive documentation for further restrictions.
https://www.libarchive.org/

Keeps file object open while instance lives. It only works in seekable
file-like objects. In case the filesystem does not support this kind of
file object, it is recommended to cache locally.

This class is pickleable, but not necessarily thread-safe (depends on the
platform). See libarchive documentation for details.
Ú r,   FÚrNc                óP  <€ \         SV `  ! V 3/ VB  VR8w  d   \        R4      h\        V\        4      '       dD   \        V3RV/T;'       g    / B p\        V4      ^8w  d   \        RV RV R24      hV^ ,          pWn        VP                  4       V n	        WPn
        RV n        R# )aÒ  
Parameters
----------
fo: str or file-like
    Contains ZIP, and must exist. If a str, will fetch file using
    :meth:`~fsspec.open_files`, which must return one file exactly.
mode: str
    Currently, only 'r' accepted
target_protocol: str (optional)
    If ``fo`` is a string, this value can be used to override the
    FS protocol inferred from a URL
target_options: dict (optional)
    Kwargs passed when instantiating the target FS, if ``fo`` is
    a string.
r?   z%Only read from archive files acceptedÚprotocolzPath "z(" did not resolve to exactly one file: "Ú"N)ÚsuperÚ__init__Ú
ValueErrorÚ
isinstanceÚstrr   ÚlenÚofÚ	__enter__Úfor6   Ú	dir_cache)	ÚselfrK   ÚmodeÚtarget_protocolÚtarget_optionsr6   ÚkwargsÚfilesÚ	__class__s	   &&&&&&, €r   rD   ÚLibArchiveFileSystem.__init__^   s¨   ø€ ô0 	‰Ò˜Ñ( Ò(Ø�3Œ;ÜÐDÓEÐEÜ�bœ#×ÒÜ˜rÑV¨OÐVÀ×@TÐ@TÐRTÑVˆEÜ�5‹z˜QŒÜ Ø˜R˜DÐ HÈÈÈqÐQóð ð �q•ˆBØŒØ—,‘,“.ˆŒØ$ŒØˆŽr   c              #  óØ   "  € V P                   P                  ^ 4       \        V P                   V P                  R7      ;_uu_ 4       pVx € RRR4       R#   + '       g   i     R# ; i5i)r   )r6   N)rK   r!   r;   r6   )rM   Úarcs   & r   Ú_open_archiveÚ"LibArchiveFileSystem._open_archive…   s?   é € à�‰�‰�QŒÜ˜4Ÿ7™7¨t¯©×?Õ?À3ØŠI÷ @×?×?Ò?üs   ‚AA*ÁAÁ
A*ÁA'	Á!	A*c                ó@   <€ \         SV `  V4      P                  R 4      # )Ú/)rC   Ú_strip_protocolÚlstrip)ÚclsÚpathrS   s   &&€r   r[   Ú$LibArchiveFileSystem._strip_protocol‹   s    ø€ ô ‰wÑ& tÓ,×3Ñ3°CÓ8Ð8r   c                ó:  € R RRRRRRRRRRRRR/pV P                   e   R	# / V n         . pV P                  4       ;_uu_ 4       pV Fç  pVP                  '       g   VP                  '       g   K)  V P                   P	                  V P                  \        VP                  4      4       Uu/ uF  pVR VR^ R
R/bK  	  up4       V Uu/ uF  qf\        WAV,          4      bK  	  ppVP                  '       d   RMRVR
&   VP                  VP                  4       WpP                   VR ,          &   Ké  	  R	R	R	4       V P                   P	                  V P                  V4       Uu/ uF  pVR VR^ R
R/bK  	  up4       R	# u upi u upi   + '       g   i     L]; iu upi )ÚnameÚpathnameÚsizeÚcreatedÚctimerN   ÚuidÚgidÚmtimeNÚtypeÚ	directoryr   )
rL   rW   ÚisdirÚisfileÚupdateÚ_all_dirnamesÚsetra   ÚgetattrÚappend)rM   ÚfieldsÚ
list_namesrV   ÚentryÚdirnameÚkeyÚfs   &       r   Ú	_get_dirsÚLibArchiveFileSystem._get_dirs�   sŽ  € à�JØ�FØ�wØ�FØ�5Ø�5Ø�Wð
ˆð �>‰>Ò%ÙàˆŒØˆ
Ø×Ñ×!Ô! SÛ�Ø—{—{�{¨5¯<¯<¨<áØ—‘×%Ñ%ð (,×'9Ñ'9¼#¸e¿j¹j»/Ô'Jóá'J˜Gð   &¨'°6¸1¸fÀkÐ!RÒRÙ'Jñôñ BHÓHÁ¸#œ' %°­Ó5Ò5Á�ÐHØ+0¯;¯;¨;™K¸F��&‘	Ø×!Ñ! %§*¡*Ô-à,-—‘˜q �yÓ)ñ ÷ "ð$ 	�‰×Ñð  $×1Ñ1°*Ô=óá=�Gð ˜& '¨6°1°f¸kÐJÒJÙ=ñö	
ùòùò
 I÷ "×!üò&s7   Á)FÁ,=FÂ)E;Â;FÃF 
Ã!AFÅ FÅ;
FÆF	c                ót  € V P                  V4      pVR 8w  d   \        hRpV P                  4       ;_uu_ 4       pV FR  p	V	P                  V8w  d   K  V	P                  ^ 8X  d    M-V	P                  V	P                  4       F  p
T
p KL  	  \        h	  RRR4       \        WVR7      #   + '       g   i     L; i)Úrbr   N)Úfsr^   Údata)r[   ÚNotImplementedErrorrW   rb   rc   Ú
get_blocksrE   r   )rM   r^   rN   r6   Ú
autocommitÚcache_optionsrQ   r}   rV   rt   Úblocks   &&&&&&,    r   Ú_openÚLibArchiveFileSystem._open¹   s¤   € ð ×#Ñ# DÓ)ˆØ�4Œ<Ü%Ð%àˆØ×Ñ×!Ô! SÛ�Ø—>‘> TÔ)Ùà—:‘: ”?áà"×-Ñ-¨e¯j©jÖ9�EØ �DÚñ :ô %Ð$ñ ÷ "ô ˜T°4Ô8Ð8÷ "×!ús   ¹AB'Â'B7	)r6   rL   rK   rI   )r{   NTN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úroot_markerrA   Úcachabler   rD   r   rW   Úclassmethodr[   rx   rƒ   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)rS   Ú__classdict__s   @@r   r=   r=   H   sj   ù‡ € ñð" €KØ€HØ€Hð ØØØØ%÷%ðN ñó ðð
 ô9ó ð9ò'
÷R9ô 9r   r=   )Ú
contextlibr   Úctypesr   r   r   r   r   r	   r
   r,   Úlibarchive.ffir'   Úfsspecr   Úfsspec.archiver   Úfsspec.implementations.memoryr   Úfsspec.utilsr   r)   Úc_archive_pÚ	check_intr   Úhasattrr*   Ú	page_sizer;   r=   © r   r   Ú<module>r�      s¡   ðÝ %÷÷ ñ ó Ý å Ý 4Ý 4Ý +ñ ˜* e¨X°zÀ5ÓI€ØŸšØ˜sŸ™°Ð>ÀÀsÇ}Á}óÐ ñ �#�|Ó
$€ð Ø$)°uÈÏÉó #5ó ð#5ôLM9Ð4ö M9r   