+
    LV-jª4  ã                  óä   € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^RIHtH	t	H
t
 ^RIHt ^RIHtHtHtHt / t]P&                  ! R4      tR tRR ltRR	 lt ! R
 R]4      tRR ltRR ltR tR# )é    )ÚannotationsN)ÚAsyncFileSystemÚ_run_coros_in_chunksÚsync_wrapper)ÚDEFAULT_CALLBACK)Ú
filesystemÚget_filesystem_classÚsplit_protocolÚ	url_to_fszfsspec.genericc                ó,   € \        V 3/ VB \        V &   R# )z4Populate the dict used for method=="generic" lookupsN)r   Ú_generic_fs)ÚprotocolÚstorage_optionss   &,Ú_/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/fsspec/generic.pyÚset_generic_fsr      s   € ä& xÑC°?ÑC„K�Óó    c                óš  € \        V \        \        34      '       d
   V ^ ,          MT p T;'       g    \        V 4      ^ ,          pT;'       g    / pVR8X  d   \	        V4      # VR8X  d   \
        V,          # VR8X  d   \        V4      pVP                  4       # VR8X  d!   \        V 3/ VP                  V/ 4      B w  rVV# \        RV 24      h)zPick instance of backend FSÚdefaultÚgenericÚcurrentÚoptionszUnknown FS resolution method: )Ú
isinstanceÚlistÚtupler
   r   r   r	   r   r   ÚgetÚ
ValueError)ÚurlÚmethodr   r   ÚclsÚfsÚ_s   &&&&   r   Ú_resolve_fsr"      sÃ   € ä˜s¤T¬5 M×2Ò2ˆ#ˆaŽ&¸€CØ×1Ð1œ>¨#Ó.¨qÕ1€HØ%×+Ð+¨€OØ�ÔÜ˜(Ó#Ð#Ø�ÔÜ˜8Õ$Ð$Ø�ÔÜ" 8Ó,ˆØ�{‰{‹}ÐØ�ÔÜ˜#ÑC ×!4Ñ!4°X¸rÓ!BÑC‰ˆØˆ	Ü
Ð5°f°XÐ>Ó
?Ð?r   c           	     óÊ  € T;'       g    \        R/ T;'       g    / B pVP                  V 4      p VP                  V4      pVP                  V RRR7      p	VP                  V 4      '       g   \	        R4      hVP                  VRRR7      p
V	P                  4        UUu. uF/  w  r¼VR,          R8X  g   K  VP                  W4      V
9  g   K-  VNK1  	  ppp\        P                  \        V4       R24       V'       d2   TP                  V Uu. uF  qîP                  W4      NK  	  upRR7       V	P                  4        UUu/ uF  w  r¼VR,          R8X  g   K  W¼bK  	  p	pp\        P                  \        V	4       R	24       V
P                  4        UUu. uF/  w  rüVP                  W4      V	9  g   K  VR,          R8X  g   K-  VNK1  	  pppV	P                  4       P                  4        FÁ  w  ppVP                  W4      pVV
9   dŸ   VR
8X  d   VV	V&   K,  VR8X  d   V	P                  V4       KF  VR8X  dn   \        V4      '       d	   V! V4      MWÃ,          pV
V,          p\        V4      '       d	   V! V4      MVV,          pVV8w  d   VV	V&   K§  V	P                  V4       Kº  K¼  VV	V&   KÃ  	  \        P                  \        V	4       R24       V	'       d/   \        V	P                  4       !  w  ppVP                  ! VV3/ VB  \        P                  \        V4       R24       V'       d   V'       d   VP!                  V4       V	# u uppi u upi u uppi u uppi )aÁ  Sync files between two directory trees

(experimental)

Parameters
----------
source: str
    Root of the directory tree to take files from. This must be a directory, but
    do not include any terminating "/" character
destination: str
    Root path to copy into. The contents of this location should be
    identical to the contents of ``source`` when done. This will be made a
    directory, and the terminal "/" should not be included.
delete_missing: bool
    If there are paths in the destination that don't exist in the
    source and this is True, delete them. Otherwise, leave them alone.
source_field: str | callable
    If ``update_field`` is "different", this is the key in the info
    of source files to consider for difference. Maybe a function of the
    info dict.
dest_field: str | callable
    If ``update_field`` is "different", this is the key in the info
    of destination files to consider for difference. May be a function of
    the info dict.
update_cond: "different"|"always"|"never"
    If "always", every file is copied, regardless of whether it exists in
    the destination. If "never", files that exist in the destination are
    not copied again. If "different" (default), only copy if the info
    fields given by ``source_field`` and ``dest_field`` (usually "size")
    are different. Other comparisons may be added in the future.
inst_kwargs: dict|None
    If ``fs`` is None, use this set of keyword arguments to make a
    GenericFileSystem instance
fs: GenericFileSystem|None
    Instance to use if explicitly given. The instance defines how to
    to make downstream file system instances from paths.

Returns
-------
dict of the copy operations that were performed, {source: destination}
T)ÚwithdirsÚdetailzCan only rsync on a directoryÚtypeÚ	directoryz directories to create©Úexist_okÚfilez files to consider for copyÚalwaysÚneverÚ	differentz files to copyz files to delete© )ÚGenericFileSystemÚ_strip_protocolÚfindÚisdirr   ÚitemsÚreplaceÚloggerÚdebugÚlenÚmake_many_dirsÚcopyÚpopÚcallableÚzipÚcpÚrm)ÚsourceÚdestinationÚdelete_missingÚsource_fieldÚ
dest_fieldÚupdate_condÚinst_kwargsr    ÚkwargsÚallfilesÚ
otherfilesÚaÚvÚdirsÚdirnÚoÚ	to_deleteÚkÚ	otherfileÚinf1Úv2Úinf2Úsource_filesÚtarget_filess   &&&&&&&&,               r   ÚrsyncrV   (   s	  € ðh 
×	7Ð	7Ô Ñ7 K×$5Ð$5°2Ñ7€BØ×Ñ Ó'€FØ×$Ñ$ [Ó1€KØ�w‰w�v¨°TˆwÓ:€HØ�8‰8�F×ÒÜÐ8Ó9Ð9Ø—‘˜¨t¸D�ÓA€Jð —N‘NÔ$ôá$‰DˆAØˆV�9˜Ñ#ô 	
à()¯	©	°&Ó(FÈjÑ(X÷ 	
ˆÙ$ð 	ñ ô
 ‡L�L”C˜“I�;Ð4Ð5Ô6ßØ
×ÑÙ;?Ó@¹4°4�\‰\˜&Ö.¹4Ñ@È4ð 	ô 	
ð "*§¡Ô!1ÔIÑ!1™˜°Q°vµYÀ&Ñ5H”�’Ñ!1€HÑIÜ
‡L�L”C˜“M�?Ð"=Ð>Ô?ð ×$Ñ$Ô&ôá&‰DˆAØ�9‰9�[Ó)°Ñ9ô 	
à>?À½iÈ6Ñ>Q÷ 	
ˆÙ&ð ñ ð
 —‘“×%Ñ%Ö'‰ˆˆ1Ø—I‘I˜fÓ2ˆ	Ø˜
Ô"Ø˜hÔ&Ø'�˜“Ø Ô'Ø—‘˜Q–Ø Ô+Ü*2°<×*@Ò*@‘| A”ÀaÅo�Ø 	Õ*�Ü)1°*×)=Ò)=‘z "”~À2ÀjÅ>�Ø˜4”<à"+�H˜Q“Kð —L‘L –Oñ ,ð $ˆH�Q‹Kñ' (ô( ‡L�L”C˜“M�? .Ð1Ô2ßÜ%(¨(¯.©.Ó*:Ñ%;Ñ"ˆ�lØ
�Šˆl˜LÑ3¨FÒ3Ü
‡L�L”C˜	“NÐ#Ð#3Ð4Ô5ßŸ)Ø
�‰ˆiÔØ€OùóYùò AùãIùós6   ÂMÂ6MÃMÄMÅMÅMÆMÆ7MÇMc                  ó¼   a € ] tR t^’tRtRtRV 3R lltR tR tRR lt	R t
RR	 ltR
 tR tR tRR ltR tR]R3R R lltRR lt]! ]4      tRR R lltRtV ;t# )r/   aB  Wrapper over all other FS types

<experimental!>

This implementation is a single unified interface to be able to run FS operations
over generic URLs, and dispatch to the specific implementations using the URL
protocol prefix.

Note: instances of this FS are always async, even if you never use it with any async
backend.
r   Nc                ó@   <€ Wn         W n        \        SV `  ! R/ VB  R# )am  

Parameters
----------
default_method: str (optional)
    Defines how to configure backend FS instances. Options are:
    - "default": instantiate like FSClass(), with no
      extra arguments; this is the default instance of that FS, and can be
      configured via the config system
    - "generic": takes instances from the `_generic_fs` dict in this module,
      which you must populate before use. Keys are by protocol
    - "options": expects storage_options, a dict mapping protocol to
      kwargs to use when constructing the filesystem
    - "current": takes the most recently instantiated version of each FS
Nr.   )r   Úst_optsÚsuperÚ__init__)ÚselfÚdefault_methodr   rF   Ú	__class__s   &&&,€r   r[   ÚGenericFileSystem.__init__¡   s   ø€ ð  %ŒØ&ŒÜ‰ÒÑ"˜6Ô"r   c                	ó„   € \        WP                  V P                  R 7      pVP                  VP	                  V4      4      # ©©r   )r"   r   rY   Úunstrip_protocolÚ_parent©r\   Úpathr    s   && r   rd   ÚGenericFileSystem._parentµ   s0   € Ü˜Ÿ{™{¸D¿L¹LÔIˆØ×"Ñ" 2§:¡:¨dÓ#3Ó4Ð4r   c                	ó„   € \        WP                  V P                  R 7      pVP                  VP	                  V4      4      # ra   )r"   r   rY   rc   r0   re   s   && r   r0   Ú!GenericFileSystem._strip_protocol¹   s2   € ä˜Ÿ{™{¸D¿L¹LÔIˆØ×"Ñ" 2×#5Ñ#5°dÓ#;Ó<Ð<r   c           	   ‹  	óœ  "  € \        WP                  V P                  R 7      pVP                  '       d#   VP                  ! V3RVRVRR/VB G Rj  x€L
 pMVP
                  ! V3RVRVRR/VB p/ pVP                  4        F.  w  ršV
P                  4       p
VP                  V	4      pWºR&   W¨V&   K0  	  V'       d   V# \        V4      #  Lw5i)rb   Úmaxdepthr$   r%   TNÚname)
r"   r   rY   Ú
async_implÚ_findr1   r3   r9   rc   r   )r\   rf   rk   r$   r%   rF   r    ÚoutÚresultrO   rJ   rl   s   &&&&&,      r   rn   ÚGenericFileSystem._find¾   sæ   é € Ü˜Ÿ{™{¸D¿L¹LÔIˆØ�=�=ˆ=ØŸšØñØ'ðØ2:ðØCGðØKQñ÷ ‰Cð —'’'ØñØ'ðØ2:ðØCGðØKQñˆCð ˆØ—I‘I–K‰DˆAØ—‘“ˆAØ×&Ñ& qÓ)ˆDØˆf‰IØ�4‹Lñ	  ÷
 ØˆMÜ�F‹|Ðñùs   ‚ACÁC
ÁA)CÂ=Cc              ‹  	ó  "  € \        WP                  4      pVP                  '       d   VP                  ! V3/ VB G R j  x€L
 pMVP                  ! V3/ VB pVP                  4       pVP                  VR,          4      VR&   V#  LE5i)Nrl   )r"   r   rm   Ú_infoÚinfor9   rc   )r\   r   rF   r    ro   s   &&,  r   rs   ÚGenericFileSystem._infoÒ   sr   é € Ü˜Ÿk™kÓ*ˆØ�=�=ˆ=ØŸš Ñ/¨Ñ/×/‰Cà—'’'˜#Ñ( Ñ(ˆCØ�h‰h‹jˆØ×)Ñ)¨#¨f­+Ó6ˆˆF‰Øˆ
ñ 0ùs   ‚>BÁ BÁABc              ‹  	óž  "  € \        WP                  4      pVP                  '       d   VP                  ! V3R R/VB G Rj  x€L
 pMVP                  ! V3R R/VB pV Uu. uF  qfP                  4       NK  	  ppV F  pVP                  VR,          4      VR&   K   	  V'       d   V# V Uu. uF  qfR,          NK  	  up#  L~u upi u upi 5i)r%   TNrl   )r"   r   rm   Ú_lsÚlsr9   rc   )r\   r   r%   rF   r    ro   rM   s   &&&,   r   rw   ÚGenericFileSystem._lsÜ   s»   é € ô ˜Ÿk™kÓ*ˆØ�=�=ˆ=ØŸš˜sÑ:¨4Ð:°6Ñ:×:‰Cà—%’%˜Ñ3 DÐ3¨FÑ3ˆCÙ!$Ó%¡˜A�v‰vŽx¡ˆÐ%ÛˆAØ×+Ñ+¨A¨f­IÓ6ˆAˆf‹Iñ çØˆJá'*Ó+¡s !�f—I�I¡sÑ+Ð+ñ ;ùò &ùò ,ùs6   ‚A CÁCÁCÁ!CÁ9-CÂ'CÂ-CÂ>CÃ
Cc              ‹  	ó¸   "  € \        WP                  4      pVP                  '       d   VP                  ! V3/ VB G R j  x€L
 # VP                  ! V3/ VB #  L5i©N)r"   r   rm   Ú	_cat_fileÚcat_file)r\   r   rF   r    s   &&, r   r|   ÚGenericFileSystem._cat_fileï   sN   é € ô
 ˜Ÿk™kÓ*ˆØ�=�=ˆ=ØŸš cÑ4¨VÑ4×4Ð4à—;’;˜sÑ- fÑ-Ð-ñ 5ùs   ‚>AÁ AÁAc              ‹  	óÐ   "  € \        WP                  V P                  R 7      pVP                  '       d   VP                  ! W3/ VB G Rj  x€L
 # VP
                  ! W3/ VB #  L5i)rb   N)r"   r   rY   rm   Ú
_pipe_fileÚ	pipe_file)r\   rf   ÚvaluerF   r    s   &&&, r   r€   ÚGenericFileSystem._pipe_fileú   sT   é € ô ˜Ÿ{™{¸D¿L¹LÔIˆØ�=�=ˆ=ØŸš tÑ=°fÑ=×=Ð=à—<’< Ñ6¨vÑ6Ð6ñ >ùs   ‚A
A&ÁA$ÁA&c              ‹  	ó  "  € Tp\        V\        4      '       d   V.p\        V^ ,          V P                  4      pVP                  '       d   VP
                  ! V3/ VB G Rj  x€L
  R# VP                  ! V3/ VB  R#  L5i)r   N)r   Ústrr"   r   rm   Ú_rmr>   )r\   r   rF   Úurlsr    s   &&,  r   r†   ÚGenericFileSystem._rm  sh   é € ØˆÜ�dœC× Ò Ø�6ˆDÜ˜˜a� $§+¡+Ó.ˆØ�=�=ˆ=Ø—&’&˜Ñ( Ñ(×(Ò(à�EŠE�#Ñ ˜Ô ñ )ùs   ‚A!BÁ#A?Á$Bc              ƒ  	ó   "  € \         P                  R V4       \        WP                  V P                  R7      pVP
                  '       d   VP                  WR7      G Rj  x€L
  R# VP                  WR7       R#  L5i)zMake dir %srb   r(   N)r5   r6   r"   r   rY   rm   Ú	_makedirsÚmakedirs)r\   rf   r)   r    s   &&& r   rŠ   ÚGenericFileSystem._makedirs  sW   é € Ü�‰�] DÔ)Ü˜Ÿ{™{¸D¿L¹LÔIˆØ�=�=ˆ=Ø—,‘,˜t�,Ó7×7Ò7à�K‰K˜ˆKÖ0ñ 8ùs   ‚AA>Á!A<Á"A>c                ó"   € \        W3RV /VB  R# )zKSync files between two directory trees

See `func:rsync` for more details.
r    N)rV   )r\   r?   r@   rF   s   &&&,r   rV   ÚGenericFileSystem.rsync  s   € ô
 	ˆfÑ5 dÐ5¨fÔ5r   c               ó   € V ^8„  d   QhRR/# )é   Útempdirú
str | Noner.   )Úformats   "r   Ú__annotate__ÚGenericFileSystem.__annotate__  s   € ÷ Qñ Qð ñQr   c           
   ‹  	ó(  "  € \        WP                  4      p\        W P                  4      pWxJ dA   VP                  '       d   VP                  ! W3/ VB G R j  x€L
 # VP                  ! W3/ VB # \        Wq.W‚.V^RR7      G R j  x€L
  R #  L3 L5i)NÚraise©Úon_error)r"   r   rm   Ú_copyr9   Úcopy_file_op)	r\   r   Úurl2Ú	blocksizeÚcallbackr‘   rF   r    Úfs2s	   &&&&&&,  r   Ú_cp_fileÚGenericFileSystem._cp_file  s�   é € ô ˜Ÿk™kÓ*ˆÜ˜$§¡Ó,ˆØ‹9à�}�}ˆ}ØŸXšX cÑ:°6Ñ:×:Ð:à—w’w˜sÑ3¨FÑ3Ð3Ü˜2˜u c¨6°7¸AÈÔP×PÒPñ ;ñ 	Qùs*   ‚ABÁBÁBÁ,BÂBÂBÂBc              ƒ  	ó  "  € \        V^ ,          V P                  4      pVP                  '       d6   V Uu. uF  qCP                  WBR7      NK  	  pp\	        V4      G Rj  x€L
  R# V F  pVP                  WBR7       K  	  R# u upi  L(5i)r   r(   N)r"   r   rm   rŠ   r   r‹   )r\   r‡   r)   r    ÚuÚcoross   &&&   r   Ú_make_many_dirsÚ!GenericFileSystem._make_many_dirs2  sn   é € Ü˜˜a� $§+¡+Ó.ˆØ�=�=ˆ=ÙAEÓFÁ¸A—\‘\ !�\Ö7ÁˆEÐFÜ& uÓ-×-Ò-ã�Ø—‘˜A�Ö1ó ùò GÙ-ùs   ‚4B¶BÁBÁ B	Á!)Bc               ó4   € V ^8„  d   QhRRRRRRRRRR	R
R	RR/# )r�   Úpath1z	list[str]Úpath2Ú	recursiveÚboolr™   r…   rk   z
int | NoneÚ
batch_sizer‘   r’   r.   )r“   s   "r   r”   r•   =  sP   € ÷ 
ñ 
àð
ð ð
ð ð	
ð
 ð
ð ð
ð ð
ð ñ
r   c           
   ‹  	ó´  "  € V'       d   \        R 4      h\        V\        4      '       d   V.MTp\        V\        4      '       d   V.MTp\        WP                  4      p	\        W P                  4      p
WšJ dA   V	P
                  '       d   V	P                  ! W3/ VB G Rj  x€L
 # V	P                  ! W3/ VB # \        W‘W¢WvVR7      G Rj  x€L
  R#  L0 L5i)zPlease use fsspec.generic.rsyncNr˜   )	ÚNotImplementedErrorr   r…   r"   r   rm   rš   r9   r›   )r\   r¨   r©   rª   r™   rk   r¬   r‘   rF   r    rŸ   s   &&&&&&&&,  r   rš   ÚGenericFileSystem._copy=  sº   é € ÷ Ü%Ð&GÓHÐHÜ% e¬S×1Ò1�‘°uˆÜ% e¬S×1Ò1�‘°uˆä˜§¡Ó,ˆÜ˜%§¡Ó-ˆà‹9Ø�}�}ˆ}ØŸXšX eÑ=°fÑ=×=Ð=à—w’w˜uÑ6¨vÑ6Ð6äØ�s 7Àô
÷ 	
ò 	
ñ	 >ñ	
ùs*   ‚B
CÂCÂ#CÂ$)CÃCÃCÃC)r   rY   )r   N)NFF)T)Fi   )FÚignoreNNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r[   rd   r0   rn   rs   rw   r|   r€   r†   rŠ   rV   r   r    r¥   r   r8   rš   Ú__static_attributes__Ú__classcell__)r^   s   @r   r/   r/   ’   sr   ø† ñ
ð €H÷#ò(5ò=ô
ò(ô,ò&	.ò
7ò!ô1ò6ð Ø!Ø"÷Qô&2ñ " /Ó2€N÷
õ 
r   r/   c              ƒ  ó  "  € ^ RI pT;'       g    VP                  4       p \        W4       UU	u. uFO  w  r‰\        V VVV	\        P
                  P                  V\        P                  ! 4       P                  4      4      NKQ  	  p
pp	\        W¥RR7      G Rj  x€L
 p\        P                  ! V4       VR8X  d   V# VR8X  d$   V F  p\        V\        4      '       g   K  Vh	  R# R# u up	pi  LU  \        P                  ! T4       i ; i5i)r   NT)r¬   Úreturn_exceptionsÚreturnr—   )ÚtempfileÚmkdtempr<   Ú_copy_file_opÚosrf   ÚjoinÚuuidÚuuid4Úhexr   ÚshutilÚrmtreer   Ú	Exception)Úfs1Úurl1rŸ   rœ   r‘   r¬   r™   r»   Úu1Úu2r¤   ro   rM   s   &&&&&&&      r   r›   r›   ]  só   é € ó à×+Ð+˜×)Ñ)Ó+€Gðô ˜dœ/ô	
ñ *‘�ô ØØØØÜ—‘—‘˜W¤d§j¢j£l×&6Ñ&6Ó7öñ *ð 	ñ 	
ô )Ø¸Dô
÷ 
ˆô 	�Š�gÔØ�8ÔØˆ
Ø	�WÔ	ÛˆAÜ˜!œY×'Ô'Ø�ó ñ 
ùó#	
ñ
øô 	�Š�gÕüs@   ‚D¢C0 °AC(ÂC0 ÂC.ÂC0 Â>DÃ DÃ(C0 Ã0DÄDc              ƒ  ób  "  € V P                   '       d   V P                  W4      G R j  x€L
  MV P                  W4       VP                   '       d   VP                  WC4      G R j  x€L
  MVP	                  WC4       \
        P                  ! V4       \        P                  RW4       R #  L� LF5i)NzCopy %s -> %s; done)	rm   Ú	_get_fileÚget_fileÚ	_put_fileÚput_filer¾   Úunlinkr5   r6   )rÆ   rÇ   rŸ   rœ   Úlocalr™   s   &&&&&&r   r½   r½   {  sx   é € Ø
‡~‡~€~Ø�m‰m˜DÓ(×(Ñ(à�‰�TÔ!Ø
‡~‡~€~Ø�m‰m˜EÓ(×(Ñ(à�‰�UÔ!Ü‡I‚IˆeÔÜ
‡L�LÐ&¨Ö3ñ 	)ñ 	)ùs(   ‚'B/©B+ª'B/ÁB/Á&B-Á'AB/Â-B/c              ƒ  ó^   "  € \         P                  ! V 4      '       d   V G R j  x€L
 # V #  L5ir{   )ÚinspectÚiscoroutine)Úcors   &r   Úmaybe_awaitrÕ   ˆ  s(   é € Ü×Ò˜3×ÒØ�yÐàˆ
ñ ùs   ‚"-¤+¥-)NN)FÚsizerÖ   r-   NN)Né   r°   )r°   )Ú
__future__r   rÒ   Úloggingr¾   rÃ   rÀ   Úasynr   r   r   Ú	callbacksr   Úcorer   r	   r
   r   r   Ú	getLoggerr5   r   r"   rV   r/   r›   r½   rÕ   r.   r   r   Ú<module>rÞ      sm   ðÝ "ã Û Û 	Û Û ç EÑ EÝ 'ß MÓ Mà€Ø	×	Ò	Ð+Ó	,€òDô
@ô$gôTH
˜ô H
ôVô<
4ôr   