+
    –°³jÉ~  ã                   ó8  € R t ^ RIt^ RIt^ RIHt ^ RIHtHt ^ RIH	t	H
t
 ^ RIHt ^ RIHtHt ^ RIt^ RIHt ^RIHtHtHtHtHtHtHtHtHtHtHt ^R	IH t H!t! ^R
I"H#t#H$t$H%t%H&t&H't'H(t( ^RI)H*t*H+t+ ^RI,H-t- ](! RR7      t.]	! RR7       ! R R4      4       t/]P`                  ! R4      t10 RHmt20 RImt30 RJmt4]P`                  ! R4      t5RRRRRRRR/t6/ t7]8! ]44       F  t9]9]7]9&   ]9 R2]7]9 R2&   ]9 R2]7]9 R2&   K   	  ]! R]7]:];R 7      t<]	! RR7       ! R! R"4      4       t=]>]]R,          3,          t?]@]]A]:,          3,          tBR# R$ ltCR% R& ltDR' R( ltER) R* ltFR+ R, ltGR- R. ltHR/ R0 ltIR1 R2 ltJR3 R4 ltKR5 R6 ltLR7 R8 ltMR9 R: ltN].PŸ                  R;. RKOR<7      RLR> R? ll4       tP].PŸ                  . RMOR<7      RNR@ RA ll4       tQ].PŸ                  RBRC.R<7      RNRD RE ll4       tR].PŸ                  . ROOR<7      ]$P¦                  RRRR=R=R3RF RG ll4       tTR# )PzHContains the 'hf cache' command group with cache management subcommands.N)Údefaultdict)ÚCallableÚMapping)Ú	dataclassÚfield)ÚEnum)Ú	AnnotatedÚAny)ÚCLIError)ÚANSIÚCachedFileInfoÚCachedRepoInfoÚCachedRevisionInfoÚCacheNotFoundÚHFCacheInfoÚHfUriÚ_format_sizeÚ_shared_blobsÚparse_hf_uriÚscan_cache_dir)Úparse_durationÚ
parse_size)Ú	RepoIdArgÚRepoTypeOptÚRevisionOptÚTokenOptÚ
get_hf_apiÚtyper_factory)ÚArgumentÚOption)ÚoutzManage local cache directory.©ÚhelpT)Úfrozenc                   ó>   a € ] tR t^5t o ]! ]R7      tV 3R ltRtV t	R# )Ú_DeletionResolution)Údefault_factoryc                óª   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[S[S[ S[,          3,          ;R&   S[S[R3,          ;R&   S[S[S[3,          ;R&   # )é   Ú	revisionsÚselected.ÚmissingÚfiles)Ú	frozensetÚstrÚdictr   r   Útupler   )ÚformatÚ__classdict__s   "€ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/huggingface_hub/cli/cache.pyÚ__annotate__Ú _DeletionResolution.__annotate__5   s]   ø‡ ‚ á™�~Ññ ñ ‘>¡9Ñ-?Õ#@Ð@ÕAÑAñ ñ ‘3˜�8�_Ññ	 ñ
 ‘¡Ð#Õ$ÑBò ó    © N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r/   r,   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r2   s   @r3   r%   r%   5   s   ø‡ € ñ
 (-¸TÔ'B€E÷ ƒ r6   r%   zA^(?P<key>[a-zA-Z_]+)\s*(?P<op>==|!=|>=|<=|>|<|=)\s*(?P<value>.+)$ÚaccessedÚmodifiedÚsizeÚnamez.^(?P<key>[a-zA-Z_]+)(?::(?P<order>asc|desc))?$ÚdescÚascz:ascÚ_ascz:descÚ_descÚSortOptions)ÚtypeÚmodulec                   ó0   a € ] tR t^Ut o RtV 3R ltRtV tR# )ÚCacheDeletionCountsz>Simple counters summarizing cache deletions for CLI messaging.c                ó>   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   # )r(   Ú
repo_countÚpartial_revision_countÚtotal_revision_count)Úint)r1   r2   s   "€r3   r4   Ú CacheDeletionCounts.__annotate__U   s+   ø‡ ‚ ñ �Oñ	 ñ
  Ññ ñ Ñò r6   r7   N)r8   r9   r:   r;   Ú__doc__r<   r=   r>   r?   s   @r3   rL   rL   U   s   ø‡ € áH÷ ƒ r6   rL   c                óh   € V ^8„  d   QhR\         \        \        \        ,          3,          R\        /# )r(   Úselected_by_repoÚreturn)r   r   r-   r   rL   )r1   s   "r3   r4   r4   b   s0   € ÷ Tñ TÜœn¬iÔ8JÕ.KÐKÕLðTäñTr6   c                ó  € ^ p^ p^ pV P                  4        FW  w  rEV\        V4      ,          p\        V4      \        VP                  4      8X  g   K<  V^,          pV\        V4      ,          pKY  	  W#,
          p\        WV4      # )z(Summarize deletions across repositories.)ÚitemsÚlenr)   rL   )rU   rN   Útotal_revisionsÚrevisions_in_full_reposÚrepor)   rO   s   &      r3   Úsummarize_deletionsr]   b   s|   € ð €JØ€OØÐà+×1Ñ1Ö3‰ˆØœ3˜y›>Õ)ˆÜˆy‹>œS §¡Ó0Ö0Ø˜!�OˆJØ#¤s¨9£~Õ5Ò#ñ	 4ð -ÕFÐÜ˜zÀ?ÓSÐSr6   c                óH   € V ^8„  d   QhR\         R\         R\         R\        /# )r(   Úrevision_countÚincomplete_countÚshared_blob_countrV   )rQ   r.   )r1   s   "r3   r4   r4   t   s*   € ÷ ñ ¤3ð ¼#ð ÔRUð ÔZ]ñ r6   c                óB  € . pV '       d   VP                  V  R24       V'       d   VP                  V R24       V'       d   VP                  V R24       \        V4      ^8”  d*   RP                  VRR 4      R,           VR,          ,           # RP                  V4      # )	zMBuild the human-readable summary of what `hf cache prune` is about to delete.z unreferenced revision(s)z incomplete download(s)z unreferenced shared blob(s)z, Nú and Ú éÿÿÿÿ)ÚappendrY   Újoin)r_   r`   ra   Úpartss   &&& r3   Ú_prune_summaryri   t   s�   € à€EßØ�‰˜Ð'Ð'@ÐAÔBßØ�‰Ð(Ð)Ð)@ÐAÔBßØ�‰Ð)Ð*Ð*FÐGÔHÜ
ˆ5ƒz�A„~Ø�y‰y˜˜s ˜Ó$ wÕ.°°rµÕ:Ð:Ø�7‰7�5‹>Ðr6   c                ó`   € V ^8„  d   QhR\         \        \        \        ,          3,          RR/# )r(   rU   rV   N)r   r   r-   r   )r1   s   "r3   r4   r4   ‚   s/   € ÷ [ñ [´W¼^ÌYÔWiÕMjÐ=jÕ5kð [Ðptñ [r6   c           
     ó0  € \        V P                  4       R R7       Fõ  pVP                   RVP                   2p\        W,          R R7      p\	        V4      \	        VP
                  4      8X  d   \        P                  ! RV R24       Kq  \        P                  ! RV R24       V Fd  pRP                  \        VP                  4      4      ;'       g    R	p\        P                  ! R
VP                   RV RVP                   24       Kf  	  K÷  	  R# )zBPretty-print selected cache revisions during confirmation prompts.c                 óN   € V P                   V P                  P                  4       3# ©N©Ú	repo_typeÚrepo_idÚlower©r\   s   &r3   Ú<lambda>Ú0print_cache_selected_revisions.<locals>.<lambda>„   s   € À$Ç.Á.ÐRV×R^ÑR^×RdÑRdÓRfÑAgr6   ©ÚkeyÚ/c                 ó   € V P                   # rm   ©Úcommit_hash©Úrevs   &r3   rs   rt   †   ó   € À3Ç?Â?r6   ú  - z (entire repo)Ú:Ú z
(detached)z      z [z] N)ÚsortedÚkeysro   rp   rY   r)   r    Útextrg   Úrefsrz   Úsize_on_disk_str)rU   r\   Úrepo_keyr)   Úrevisionr„   s   &     r3   Úprint_cache_selected_revisionsrˆ   ‚   sá   € äÐ'×,Ñ,Ó.Ñ4g×hˆØ—n‘nÐ% Q t§|¡| nÐ5ˆÜÐ+Õ1Ñ7RÔSˆ	Üˆy‹>œS §¡Ó0Ô0Ü�HŠH�t˜H˜: ^Ð4Ô5Ùä�Š�4˜�z Ð#Ô$Û!ˆHØ—8‘8œF 8§=¡=Ó1Ó2×BÐB°lˆDÜ�HŠH�v˜h×2Ñ2Ð3°2°d°V¸2¸h×>WÑ>WÐ=XÐYÖZó "ó ir6   c          
      ó¸   € V ^8„  d   QhR\         R\        \        \        \        3,          \        \        \        \        \
        3,          3,          3,          /# )r(   Úhf_cache_inforV   )r   r0   r/   r.   r   r   )r1   s   "r3   r4   r4   ‘   sK   € ÷ (ñ (Üð(ä
ÜŒŒnÐ	ÕÜŒŒe”NÔ$6Ð6Õ7Ð	7Õ8ð:õñ(r6   c                óÒ   € / p/ pV P                    FQ  pVP                  P                  4       pW1V&   VP                   F   pW53W%P                  P                  4       &   K"  	  KS  	  W3# )zPCreate lookup tables so CLI commands can resolve repo ids and revisions quickly.)ÚreposÚcache_idrq   r)   rz   )rŠ   Úrepo_lookupÚrevision_lookupr\   r†   r‡   s   &     r3   Úbuild_cache_indexr�   ‘   sk   € ð .0€KØLN€OØ×#Ô#ˆØ—=‘=×&Ñ&Ó(ˆØ $�HÑØŸœˆHØ=AÐ<LˆO×0Ñ0×6Ñ6Ó8Ó9ó 'ñ $ð
 Ð'Ð'r6   c                ó0   € V ^8„  d   QhR\         R\        /# )r(   ÚtargetrV   )r.   r   )r1   s   "r3   r4   r4   ¢   s   € ÷ ñ ¤ð ¬ñ r6   c                óº   € \        V 4      pVP                  '       g   \        R4      hVP                  e%   VP                  '       d   RMRp\        RV 24      hV# )z;Parse and validate an hf:// target passed to `hf cache rm`.z:Only repository hf:// URIs are supported by `hf cache rm`.z@Drop '@<revision>' to delete the file from all cached revisions.z>Pass the revision hash instead, see 'hf cache ls --revisions'.z<Revisions in hf:// URIs are not supported by `hf cache rm`. )r   Úis_repor
   r‡   Úpath_in_repo)r’   ÚuriÚhints   &  r3   Ú_parse_hf_uri_targetr˜   ¢   sc   € ä
�vÓ
€CØ�;�;ˆ;ÜÐSÓTÐTØ
‡|�|Òð ××Ðñ OàQð 	ô
 ÐUÐVZÐU[Ð\Ó]Ð]Ø€Jr6   c                ó0   € V ^8„  d   QhR\         R\        /# )r(   r–   rV   )r   r.   )r1   s   "r3   r4   r4   ±   s   € ÷ "ñ "”5ð "œSñ "r6   c                ó8   € V P                    RV P                   2# )z,Return the `type/id` cache id of a repo URI.rw   )rI   Úid)r–   s   &r3   Ú	_cache_idrœ   ±   s   € à�h‰hˆZ�q˜Ÿ™˜Ð!Ð!r6   c                ót   € V ^8„  d   QhR\         R\        R\        \        \        ,          \
        3,          /# )r(   rŠ   Úinclude_revisionsrV   )r   Úboolr0   ÚlistÚ
CacheEntryÚRepoRefsMap)r1   s   "r3   r4   r4   ¶   s3   € ÷ "ñ "Üð"Ü6:ð"ä
Œ4”
Õœ[Ð(Õ)ñ"r6   c          	     óÐ  € . p/ p\        V P                  R R7      pV F‹  p\        VP                   UUu0 uF  qfP                   F  qwkK  	  K  	  upp4      W5&   V'       d4   \        VP                  R R7       F  pVP                  WV34       K  	  Kx  VP                  VR34       K�  	  V'       d   VP                  R R7       W#3# VP                  R R7       W#3# u uppi )z;Flatten cache metadata into rows consumed by `hf cache ls`.c                 óN   € V P                   V P                  P                  4       3# rm   rn   rr   s   &r3   rs   Ú'collect_cache_entries.<locals>.<lambda>¼   s   € ÀÇÁÐQU×Q]ÑQ]×QcÑQcÓQeÑ@fr6   ru   c                 ó   € V P                   # rm   ry   r{   s   &r3   rs   r¥   À   r}   r6   Nc                 ój   € V ^ ,          P                   V ^,          e   V ^,          P                  3# R3# )é    rd   )r�   rz   ©Úentrys   &r3   rs   r¥   Æ   s2   € Ø�a•×!Ñ!Ø(-¨a­Ò(<��a•×$Ñ$ñàBDñr6   c                 ó(   € V ^ ,          P                   # )r¨   )r�   r©   s   &r3   rs   r¥   Ì   s   €  u¨Q¥x×'8Ò'8r6   )r�   rŒ   r-   r)   r„   rf   Úsort)rŠ   rž   ÚentriesÚrepo_refs_mapÚsorted_reposr\   r‡   Úrefs   &$      r3   Úcollect_cache_entriesr±   ¶   sÚ   € ð !#€GØ!#€MÜ˜-×-Ñ-Ñ3fÔg€LÛˆÜ'¸T¿^º^Ô(e¹^°×WdÔWdÐPSªÑWd©¹^Ò(eÓfˆÑßÜ" 4§>¡>Ñ7R×S�Ø—‘ Ð/Ö0ó Tð �N‰N˜D $˜<Ö(ñ ÷ Ø�‰ñð 	ô 	
ð Ð!Ð!ð 	�‰Ñ8ˆÔ9ØÐ!Ð!ùó )fs   ¶C"c          	      ó‚   € V ^8„  d   QhR\         R\        R\        \        \        R,          \
        .\        3,          /# )r(   Úexprr®   rV   N)r.   r¢   r   r   r   ÚfloatrŸ   )r1   s   "r3   r4   r4   Ð   s;   € ÷ >ñ >Ü
ð>Ü)ð>äŒ~Ô1°DÕ8¼%Ð@Ä$ÐFÕGñ>r6   c           
     ó  aaaaa	a
a€ \         P                  V P                  4       4      pV'       g   \        RV  R24      hVP	                  R4      P                  4       oVP	                  R4      oVP	                  R4      P                  4       oS\        9  d#   \        RS RV  R\        \        4       R	24      hS\        9  d#   \        R
S RV  R\        \        4       R	24      hSR8X  d   \        S4      o
VV
3R l# SR9   d'   \        SP                  4       4      o	R VVV	3R llpV# SR8X  d2   SP                  4       oSR8w  d   \        RS R24      hR V3R llpV# SR8w  d   \        RS R	24      hR VV3R llpV# )zqConvert a `hf cache ls` filter expression into the yes/no test we apply to each cache entry before displaying it.zInvalid filter expression: 'z'.rv   ÚopÚvaluezUnsupported operator 'z' in filter 'ú'. Must be one of Ú.zUnsupported filter key 'ú' in 'rB   c                 ó^   <€ \        Ve   VP                  SS4      # V P                  SS4      # rm   )Ú_compare_numericÚsize_on_disk)r\   r‡   Ú_r¶   Úsize_thresholds   &&&€€r3   rs   Ú&compile_cache_filter.<locals>.<lambda>ä   s3   ø€ Ô)9Ø%-Ò%9ˆH×!Ñ!ØØô*
Ø?C×?PÑ?PØØô*
r6   c                óV   € V ^8„  d   QhR\         R\        R,          R\        R\        /# )r(   r\   r‡   NÚnowrV   ©r   r   r´   rŸ   )r1   s   "r3   r4   Ú*compile_cache_filter.<locals>.__annotate__í   s6   € ÷ 
	Bñ 
	Bœ~ð 
	BÔ9KÈdÕ9Rð 
	BÔY^ð 
	BÔcgñ 
	Br6   c                 ó”   <€ SR 8X  d   V P                   MVe   VP                  MV P                  pVf   R# \        W#,
          SS4      # )r@   F)Úlast_accessedÚlast_modifiedr¼   )r\   r‡   rÂ   Ú	timestamprv   r¶   Úsecondss   &&& €€€r3   Ú_time_filterÚ*compile_cache_filter.<locals>._time_filterí   sU   ø€ ð ˜*Ô$ð ×"Ò"ð Ò'ð ×+Ò+à×'Ñ'ð ð Ò ÙÜ# C¥O°R¸ÓAÐAr6   rI   Ú=z/Only '=' is supported for 'type' filters. Got 'c                óV   € V ^8„  d   QhR\         R\        R,          R\        R\        /# ©r(   r\   r‡   Nr¾   rV   rÃ   )r1   s   "r3   r4   rÄ     s0   € ÷ 	6ñ 	6œ~ð 	6Ô9KÈdÕ9Rð 	6ÔW\ð 	6Ôaeñ 	6r6   c                 ó>   <€ V P                   P                  4       S8H  # rm   )ro   rq   )r\   r‡   r¾   Úexpecteds   &&&€r3   Ú_type_filterÚ*compile_cache_filter.<locals>._type_filter  s   ø€ Ø—>‘>×'Ñ'Ó)¨XÑ5Ð5r6   z.Only '=' is supported for 'refs' filters. Got c                óV   € V ^8„  d   QhR\         R\        R,          R\        R\        /# rÎ   rÃ   )r1   s   "r3   r4   rÄ   
  s6   € ÷ 	Fñ 	Fœ~ð 	FÔ9KÈdÕ9Rð 	FÔW\ð 	FÔaeñ 	Fr6   c                 óÂ   <€ Ve   VP                   MSP                  V \        4       4      pSP                  4       V Uu. uF  qDP                  4       NK  	  up9   # u upi rm   )r„   Úgetr-   rq   )r\   r‡   r¾   r„   r°   r®   Ú	value_raws   &&&  €€r3   Ú_refs_filterÚ*compile_cache_filter.<locals>._refs_filter
  sM   ø€ Ø$,Ò$8�8—=’=¸m×>OÑ>OÐPTÔV_ÓVaÓ>bˆDØ—?‘?Ó$ÁÓ(EÁ¸¯©®ÁÑ(EÑEÐEùÒ(Es   ¿A>   r@   rA   )Ú_FILTER_PATTERNÚmatchÚstripÚ
ValueErrorÚgrouprq   Ú_ALLOWED_OPERATORSr    Ú_FILTER_KEYSr   r   )r³   r®   rÚ   rÊ   rÑ   r×   rÐ   rv   r¶   rÉ   r¿   rÖ   s   &f    @@@@@@r3   Úcompile_cache_filterrà   Ð   s–  þ€ ô ×!Ñ! $§*¡*£,Ó/€EßÜÐ7¸°v¸RÐ@ÓAÐAà
�+‰+�eÓ
×
"Ñ
"Ó
$€CØ	�‰�TÓ	€BØ—‘˜GÓ$×*Ñ*Ó,€Ià	Ô#Ô#ÜÐ1°"°°]À4À&ÐHZÔ[_Ô`rÓ[sÐZtÐtuÐvÓwÐwà
”,ÔÜÐ3°C°5¸¸t¸fÐDVÔW[Ô\hÓWiÐVjÐjkÐlÓmÐmà
ˆf„}Ü# IÓ.ˆõ
ð 	
ð Ð&Ô&Ü  §¡Ó!2Ó3ˆ÷
	Bò 
	Bð Ðà
ˆf„}Ø—?‘?Ó$ˆà�Œ9ÜÐNÈrÈdÐRTÐUÓVÐV÷	6ð 	6ð Ðð �Œ9ÜÐMÈbÈTÐQRÐSÓTÐT÷	Fñ 	Fð Ðr6   c                óV   € V ^8„  d   QhR\         R,          R\        R\         R\        /# )r(   ÚleftNr¶   ÚrightrV   )r´   r.   rŸ   )r1   s   "r3   r4   r4     s,   € ÷ ñ œ5 4�<ð ¬Sð ¼ð Ä4ñ r6   c                óz   € V f   R# RW8H  RW8g  RW8„  RW8  RW8¬  RW8*  /pW9  d   \        RV 24      hW1,          # )	z)Evaluate numeric comparisons for filters.FrÌ   ú!=Ú>Ú<ú>=ú<=z)Unsupported numeric comparison operator: )rÜ   )râ   r¶   rã   Úcomparisonss   &&& r3   r¼   r¼     s`   € à‚|Ùð 	ˆT‰]Øˆd‰mØˆT‰\ØˆT‰\Øˆd‰mØˆd‰mð€Kð 
ÔÜÐDÀRÀDÐIÓJÐJà�?Ðr6   c          	      ó�   € V ^8„  d   QhR\         R\        \        \        .\        \        R3,          3,          \
        3,          /# )r(   Ú	sort_exprrV   .)r.   r0   r   r¡   r	   rŸ   )r1   s   "r3   r4   r4   %  s:   € ÷ 3ñ 3¤#ð 3¬%´¼*¸ÄuÌSÐRUÈXÅÐ9VÕ0WÔY]Ð0]Õ*^ñ 3r6   c           
     óž  a€ \         P                  V P                  4       P                  4       4      pV'       g   \	        RV  R24      hVP                  R4      P                  4       oVP                  R4      pS\        9  d#   \	        RS RV  R\        \        4       R24      hV'       d   TM\        S,          pVR	8H  pR
 V3R llpWT3# )zïConvert a `hf cache ls` sort expression into a key function for sorting entries.

Returns:
    A tuple of (key_function, reverse_flag) where reverse_flag indicates whether
    to sort in descending order (True) or ascending order (False).
zInvalid sort expression: 'z5'. Expected format: 'key' or 'key:asc' or 'key:desc'.rv   ÚorderzUnsupported sort key 'rº   r¸   r¹   rD   c                óJ   € V ^8„  d   QhR\         R\        \        R3,          /# )r(   rª   rV   .)r¡   r0   r	   )r1   s   "r3   r4   Ú(compile_cache_sort.<locals>.__annotate__:  s"   € ÷ 9ñ 9œð 9¬¬c°3¨h­ñ 9r6   c                 ó¦  <€ V w  rSR 8X  d   VP                   P                  4       pV3# SR8X  d#   Ve   VP                  pV3# VP                  pV3# SR8X  d#   VP                  e   VP                  pV3# RpV3# SR8X  dC   Ve    VP                  e   VP                  MRpV3# VP                  e   VP                  MRpV3# \        RS 24      h)rC   rB   r@   g        rA   zUnsupported sort key: )r�   rq   r½   rÆ   rÇ   rÜ   )rª   r\   r‡   r·   rv   s   &   €r3   Ú	_sort_keyÚ%compile_cache_sort.<locals>._sort_key:  sü   ø€ Ø‰ˆà�&Œ=àŸ™×,Ñ,Ó.ˆEØ�8ˆOà�&Œ=à-5Ò-A�H×)Ñ)ˆEØ�8ˆOð HL×GXÑGXˆEØ�8ˆOà�*Ôð +/×*<Ñ*<Ò*H�D×&Ñ&ˆEØ�8ˆOð ORˆEØ�8ˆOà�*ÔàÒ#Ø2:×2HÑ2HÒ2T˜×.Ò.ÐZ]�ð �8ˆOð /3×.@Ñ.@Ò.L˜×*Ò*ÐRU�Ø�8ˆOô Ð1°#°Ð7Ó8Ð8r6   )	Ú_SORT_PATTERNrÚ   rÛ   rq   rÜ   rÝ   Ú
_SORT_KEYSr    Ú_SORT_DEFAULT_ORDER)rì   rÚ   Úexplicit_orderrî   Úreverserò   rv   s   &     @r3   Úcompile_cache_sortrù   %  sÅ   ø€ ô ×Ñ 	§¡Ó 1× 7Ñ 7Ó 9Ó:€EßÜÐ5°i°[Ð@uÐvÓwÐwà
�+‰+�eÓ
×
"Ñ
"Ó
$€CØ—[‘[ Ó)€Nà
”*ÔÜÐ1°#°°f¸Y¸KÐGYÔZ^Ô_iÓZjÐYkÐklÐmÓnÐn÷ -‰NÔ2EÀcÕ2J€EØ�v‰o€G÷9ð 9ð< ÐÐr6   c                óR   € V ^8„  d   QhR\         R\        \        ,          R\        /# )r(   rŠ   ÚtargetsrV   )r   r    r.   r%   )r1   s   "r3   r4   r4   [  s&   € ÷ ,ñ ,¬[ð ,Ä4ÌÅ9ð ,ÔQdñ ,r6   c                ó  € V Uu. uF  q"P                  4       ;p'       g   K  VNK   	  ppV Uu/ uF'  q"P                  R4      '       g   K  V\        V4      bK)  	  ppVP                  4        UUu/ uF  w  r%VP                  '       g   K  W%bK  	  pppV'       d9   \        V4      \        \        V4      4      8w  d   \        R4      h\        W4      # \        V 4      w  rx\        \        4      p	\        4       p
. pV EF&  pVP                  4       p\        P                  ! RV4      '       da   VP                  V4      pVf   VP                  V4       KY  Vw  rïWž,          P!                  V4       V
P!                  VP"                  4       K‘  W$9   d   \%        WB,          4      MTpVP                  VP                  4       4      pVf   VP                  V4       Kà  VP&                   F6  pV	V,          P!                  V4       V
P!                  VP"                  4       K8  	  EK)  	  V	P                  4        UUu/ uF  w  ppV\)        V4      bK  	  ppp\+        \)        V
4      V\-        V4      R7      # u upi u upi u uppi u uppi )z8Resolve the deletion targets into a deletion resolution.zhf://zAFile targets cannot be mixed with repository or revision targets.z[0-9a-fA-F]{40})r)   r*   r+   )rÛ   Ú
startswithr˜   rX   r•   rY   Úsetr
   Ú_resolve_file_targetsr�   r   rq   ÚreÚ	fullmatchrÕ   rf   Úaddrz   rœ   r)   r-   r%   r0   )rŠ   rû   r’   ÚstrippedÚurisr–   Ú	file_urisrŽ   r�   r*   r)   r+   ÚloweredrÚ   r\   r‡   r�   Úmatched_repoÚrevsÚfrozen_selecteds   &&                  r3   Ú_resolve_deletion_targetsr
  [  s  € á&-ÓN¡g˜F¿l¹l»nÐ2L°(Ó2L�xˆx¡g€GÐNÙ?FÓe¹w°V×J[ÑJ[Ð\c×JdÔ0ˆFÔ(¨Ó0Ò0¹w€DÐeØ04·
±
´ÔQ±¡ À×@PÕ@P”�’±€IÑQßÜˆy‹>œS¤ W£Ó.Ô.ÜÐ^Ó_Ð_Ü$ ]Ó>Ð>ä#4°]Ó#CÑ €Kä>IÌ#Ó>N€HÜ›%€IØ€GäˆØ—,‘,“.ˆä�<Š<Ð*¨G×4Ò4Ø#×'Ñ'¨Ó0ˆEØŠ}Ø—‘˜vÔ&ÙØ"‰NˆDØ�N×Ñ˜xÔ(Ø�M‰M˜(×.Ñ.Ô/Ùà.4¬n”9˜T�\Ô*À&ˆØ"—‘ x§~¡~Ó'7Ó8ˆØÒØ�N‰N˜6Ô"Ùà$×.Ô.ˆHØ�\Õ"×&Ñ& xÔ0Ø�M‰M˜(×.Ñ.Ö/ô /ñ' ð. @H¿~¹~Ô?OÔPÑ?O±°°t�tœY t›_Ò,Ñ?O€OÑPÜÜ˜IÓ&Ø Ü�g“ôð ùòM OùÚeùÛQùóF Qs'   …I8£I8¯I=ÁI=Á1JÂJÈ=Jc                ó^   € V ^8„  d   QhR\         R\        \        \        3,          R\        /# )r(   rŠ   r  rV   )r   r/   r.   r   r%   )r1   s   "r3   r4   r4   Š  s0   € ÷ hñ h¬ð hÄÄcÌ5ÀjÕAQð hÔViñ hr6   c                ó¬  € \        V 4      w  r#/ p. pVP                  4        EF	  w  rgVP                  \        V4      P	                  4       4      pVf   VP                  V4       KE  VP                   U	U
u/ uF‚  p	V	P                   Fo  p
V
P                  P                  V	P                  4      P                  4       VP                  8X  g   KG  W¨P                   RV	P                   RVP                   2bKq  	  K„  	  pp	p
V'       g   VP                  V4       VP                  V4       EK  	  \!        \#        4       / \%        V4      VR7      # u up
p	i )zYSelect the cached files matching hf:// file URIs, in every cached revision of their repo.Ú@rw   )r)   r*   r+   r,   )r�   rX   rÕ   rœ   rq   rf   r)   r,   Ú	file_pathÚrelative_toÚsnapshot_pathÚas_posixr•   r�   rz   Úupdater%   r-   r0   )rŠ   r  rŽ   r¾   r,   r+   r’   r–   r\   r‡   ÚfileÚmatchess   &&          r3   rÿ   rÿ   Š  s$  € ä& }Ó5�N€KØ')€EØ€GØ —‘×(‰ˆØ�‰œy¨›~×3Ñ3Ó5Ó6ˆØŠ<Ø�N‰N˜6Ô"Ùð !ŸNšNô
á*�Ø Ÿœ�Ø�~‰~×)Ñ)¨(×*@Ñ*@ÓA×JÑJÓLÐPS×P`ÑP`Ñ`ô OˆD—]‘]�O 1 X×%9Ñ%9Ð$:¸!¸C×<LÑ<LÐ;MÐNÒNá&ñ Ù*ð 	ñ 
÷ Ø�N‰N˜6Ô"Ø�‰�W×ñ )ô ¬«¸rÌ5ÐQXË>ÐafÔgÐgùó
s   Á6AEÃ0Ez	list | ls)ÚexamplesFc                óÊ  € V ^8„  d   QhR\         \        R,          \        RR7      3,          R\         \        \        RR7      3,          R\         \        \        ,          R,          \        RR	R
R7      3,          R\         \
        R,          \        RR7      3,          R\         \        R,          \        RR7      3,          R\         \        \        RR7      3,          RR/# )r(   Ú	cache_dirNú9Cache directory to scan (defaults to Hugging Face cache).r!   r)   zCInclude revisions in the output instead of aggregated repositories.Úfilterz-fz--filterzZFilter entries (e.g. 'size>1GB', 'type=model', 'accessed>7d'). Can be used multiple times.r¬   a  Sort entries by key. Supported keys: 'accessed', 'modified', 'name', 'size'. Append ':asc' or ':desc' to explicitly set the order (e.g., 'modified:asc'). Defaults: 'accessed', 'modified', 'size' default to 'desc' (newest/biggest first); 'name' defaults to 'asc' (alphabetical).ÚlimitzSLimit the number of results returned. Returns only the top N entries after sorting.Úshow_warningsz*Show warnings about cache inconsistencies.rV   )r   r.   r   rŸ   r    rH   rQ   )r1   s   "r3   r4   r4   ¬  s  € ÷ W
ñ W
ÜÜˆd�
ÜØLô	
ð	õðW
ô ÜÜØVô	
ð	õðW
ô ÜŒS�	�DÕÜØØØmô	
ð	õðW
ô* Ü�dÕÜð7ô	
ð	õð+W
ô< Üˆd�
ÜØfô	
ð	õð=W
ôH ÜÜØ=ô	
ð	õðIW
ðT 
ñUW
r6   c                óh	  €  \        V 4      pT;'       g    . p\	        YaR7      w  rš T Uu. uF  p\        Yº4      NK  	  pp\        P                  ! 4       pT F3  pT	 Uu. uF$  qþ! T^ ,          T^,          T4      '       g   K"  TNK&  	  p	pK5  	  T'       d-    \        TP                  4      w  ppT	P                  TTR7       Te'   T^ 8  d   \        P                  ! RT R24      hT	RT p	T'       d®   T	 UUu. uF€  w  ppTf   K  RTP                  RTP                  R	TP                   R
TP"                  R\        TP$                  4      RTP&                  RTP(                  R\+        TP,                  4      /NK‚  	  ppp\.        P0                  ! T. R OR
RR/R7       M©T	 UUu. uF}  w  ppRTP                  RTP                  R	TP                   RTP&                  RTP2                  ;'       g    RRTP(                  R\+        T
P5                  T\7        4       4      4      /NK  	  ppp\.        P0                  ! T. R!ORRR/R7       T	'       dÉ   T	 UUu0 uF  w  ppTkK
  	  ppp\9        T4      pT'       d&   \;        R T	 4       4      p\;        R T	 4       4      pM=\;        R T 4       4      pT'       g   Te   \;        R T 4       4      pMTP<                  p\.        P>                  ! \@        PB                  ! RT RT R\E        T4       R24      4       \9        TPF                  4      '       d   T'       dJ   TPF                   F8  p\.        PH                  ! \        T4      PK                  R4      R,           4       K:  	  M-\.        PH                  ! R\9        TPF                  4       R24       TPL                  pT'       d<   \.        PN                  ! R\9        T4       R\E        TPP                  4       R24       R# R#   \         d   p\        RTP                   24      ThRp?ii ; iu upi   \         d&   p\        P                  ! \        T4      4      ThRp?ii ; iu upi   \         d&   p\        P                  ! \        T4      4      ThRp?ii ; iu uppi u uppi u uppi )"z&List cached repositories or revisions.úCache directory not found: N)rž   )rv   rø   z&Limit must be a positive integer, got r¹   r›   rp   ro   r‡   r  rB   rÇ   r„   rã   )ÚheadersÚid_keyÚ
alignmentsrÆ   rd   c              3   ó6   "  € T F  w  rVf   K  ^x € K  	  R # 5irm   r7   ©Ú.0r¾   r|   s   &  r3   Ú	<genexpr>Úls.<locals>.<genexpr>$  s   é € Ð L±¡v q¸C§¢³ùs   ‚�
c              3   óJ   "  € T F  w  rVf   K  VP                   x € K  	  R # 5irm   ©r½   r"  s   &  r3   r$  r%  %  s   é € ÐW¹G±&°!ÀsÔ-˜S×-Ö-»Gùs   ‚#�#c              3   óL   "  € T F  p\        VP                  4      x € K  	  R # 5irm   )rY   r)   ©r#  r\   s   & r3   r$  r%  '  s   é € Ð NÁ¸¤ T§^¡^×!4Ð!4Ãùs   ‚"$c              3   ó8   "  € T F  qP                   x € K  	  R # 5irm   r'  r)  s   & r3   r$  r%  )  s   é € Ð L¹|°t×!2Ö!2»|ùó   ‚z
Found z repo(s) for a total of z revision(s) and z	 on disk.z. Repo ignored.zFound zF cache inconsistencies. Re-run with `--show-warnings` to display them.z" incomplete download(s) totalling z$. Remove them with 'hf cache prune'.)r›   r‡   rB   rÇ   r„   )r›   rB   rÆ   rÇ   r„   ))r   r   r
   r  r±   rà   rÜ   ÚclickÚBadParameterr.   Útimerù   r·   r¬   r�   rp   ro   rz   r  r…   Úlast_modified_strr�   r„   r    ÚtableÚlast_accessed_strrÕ   r-   rY   Úsumr½   rƒ   r   Úboldr   ÚwarningsÚwarningÚrstripÚincomplete_filesr—   Úincomplete_size_on_disk)r  r)   r  r¬   r  r  rŠ   ÚexcÚfiltersr­   r®   r³   Ú
filter_fnsrÂ   Úfnrª   Úsort_key_fnrø   r\   r‡   rX   r¾   Úunique_reposrN   r_   Ú
total_sizer5  r7  s   &&&&&&                      r3   Úlsr@  £  sX  € ðjOÜ& yÓ1ˆð �lˆl˜€Gä2°=Ô^Ñ€Gð4ÙLSÓTÉGÀDÔ*¨4Ö?ÉGˆ
ÐTô �)Š)‹+€CÛˆÙ&-ÓM¡g˜U°°E¸!µH¸eÀA½hÈ×1L—5�5¡gˆÐM‰ñ ÷ ð	8Ü#5°d·j±jÓ#AÑ ˆK˜Ø�L‰L˜[°'ˆLÔ:ð
 ÒØ�1Œ9Ü×$Ò$Ð'MÈeÈWÐTUÐ%VÓWÐWØ˜&˜5�/ˆçñ #*ô
ñ #*‘��hØô	Ø�d—m‘mØ˜4Ÿ<™<Ø˜TŸ^™^Ø˜H×0Ñ0Ø¤ X×%;Ñ%;Ó!<Ø˜×1Ñ1Ø ×!;Ñ!;Øœ˜xŸ}™}Ó-ó	ñ #*ð 	ñ 
ô 	�	Š	ØÚGØØ Ð(ö		
ñ" #ô
ñ #‘��að �d—m‘mØ˜4Ÿ<™<Ø˜TŸ^™^Ø˜×-Ñ-Ø ×!7Ñ!7×!=Ð!=¸2Ø ×!7Ñ!7Øœ˜}×0Ñ0°´y³{ÓCÓDóñ #ð 	ñ 
ô 	�	Š	ØÚLØØ Ð(õ		
÷ Ù,3Ô4©G¡  q›©GˆÑ4Ü˜Ó&ˆ
ßÜ Ñ L±Ó LÓLˆNÜÑW¹GÓWÓW‰Jä Ñ NÁÓ NÓNˆNß˜%Ò+Ü Ñ L¹|Ó LÓL‘
ð +×7Ñ7�
Ü�ŠÜ�IŠIØ˜:˜,Ð&>¸~Ð>Nð OÜ$ ZÓ0Ð1°ð<óô	
ô ˆ=×!Ñ!×"Ò"ßØ(×1Ô1�Ü—’œC ›L×/Ñ/°Ó4Ð7HÕHÖIò 2ô �KŠKØœ˜]×3Ñ3Ó4Ð5Ð5{Ð|ôð %×5Ñ5ÐßÜ�ŠØ”SÐ)Ó*Ð+Ð+MÜ˜M×AÑAÓBÐCð D1ð1ö	
ñ øôI ô OÜÐ4°S·]±]°OÐDÓEÈ3ÐNûðOüò UøÜô 4Ü× Ò ¤ S£Ó*°Ð3ûð4üò
 Nøô ô 	8Ü×$Ò$¤S¨£XÓ.°CÐ7ûð	8üó
ùó*
ùó( 5sƒ   ‚P ¨P7 ¬P2Á P7 Á Q*ÂQ*Â+Q/ Ã;	R"Ä	A8R"Æ(AR(Ç47R(ÉR.ÐP/ÐP*Ð*P/Ð2P7 Ð7Q'Ñ Q"Ñ"Q'Ñ/RÑ: RÒRc                ó,  € V ^8„  d   QhR\         \        \        ,          \        RR7      3,          R\         \        R,          \	        RR7      3,          R\         \
        \	        RR	R
R7      3,          R\         \
        \	        RR7      3,          RR/# )r(   rû   zmOne or more repo IDs (e.g. model/bert-base-uncased), hf:// URIs (repo or file), or revision hashes to delete.r!   r  Nr  Úyesú-yú--yesúSkip confirmation prompt.Údry_runú,Preview deletions without removing anything.rV   )r   r    r.   r   r   rŸ   )r1   s   "r3   r4   r4   P  s´   € ÷ eñ eÜÜŒS�	Üð Aô	
ð	õðeô Üˆd�
ÜØLô	
ð	õðeô 
ÜÜØØØ,ô	
ð	õ
ðeô* ÜÜØ?ô	
ð	õð+eð6 
ñ7er6   c           	     ó~  €  \        V4      p\	        Y@4      pTP
                  '       d<   RP                  R TP
                   4       4      p\        P                  ! RT 24       TP                  '       Ed]   TP                  ! TP                  !  p\        P                  ! R\        TP                  4       RTP                   R24       \        TP                  P                  4       4       F  p	\        P                  ! R	T	 24       K  	  T'       d:   \        P                   ! R
R\        TP                  4      TP                  R7       R# \        P"                  ! RTR7       TP%                  4        \        P                   ! R\        TP                  4       RTP                   R2\        TP                  4      TP                  R7       R# \        TP&                  4      ^ 8X  d7   \        P                  ! R4       \(        P*                  P-                  ^ R7      hTP.                  ! \        TP&                  4      !  p\1        TP2                  4      p
. pT
P4                  '       d   TP7                  T
P4                   R24       T
P8                  '       d   TP7                  T
P8                   R24       T'       g   TP7                  T
P:                   R24       RP                  T4      p\        P                  ! RT RTP                   R24       \=        TP2                  4       T'       d<   \        P                   ! R
RT
P4                  T
P:                  TP                  R7       R# \        P"                  ! RTR7       TP%                  4        \1        TP2                  4      p
\        P                   ! RT
P4                   RT
P:                   RTP                   R2T
P4                  T
P:                  TP                  R7       R#   \         d   p\        RTP                   24      ThRp?ii ; i)z/Remove cached repositories, revisions or files.r  NÚ
c              3   ó,   "  € T F
  pR V 2x € K  	  R# 5i©r~   Nr7   )r#  rª   s   & r3   r$  Úrm.<locals>.<genexpr>u  s   é € ÐKÑ8J¨u˜d 5 '�NÓ8Jùó   ‚zCould not find in cache:
úAbout to delete z file(s) totalling r¹   r~   úDry run: no files were deleted.T)rF  r,   rB   zProceed with deletion?©rB  úDeleted z file(s); freed )Úfiles_deletedÚfreedzNothing to delete.©Úcodez repo(s)z revision(s)rc   z totalling )rF  rŒ   r)   rB   z repo(s) and z revision(s); freed )Úrepos_deletedÚrevisions_deletedrS  )r   r   r
   r  r
  r+   rg   r    r5  r,   Údelete_filesrƒ   rY   Úexpected_freed_size_strr�   ÚvaluesÚresultÚconfirmÚexecuter)   r,  Ú
exceptionsÚExitÚdelete_revisionsr]   r*   rN   rf   rO   rP   rˆ   )rû   r  rB  rF  rŠ   r9  Ú
resolutionÚdetailsÚstrategyÚlabelÚcountsÚsummary_partsÚsummary_texts   &&&&         r3   Úrmrh  F  sy  € ðNOÜ& yÓ1ˆô +¨=ÓB€Jà××ÐØ—)‘)ÑK¸
×8JÒ8JÓKÓKˆÜ�ŠÐ0°°	Ð:Ô;à××ÑØ ×-Ò-¨z×/?Ñ/?Ñ@ˆÜ�ŠÐ#¤C¨
×(8Ñ(8Ó$9Ð#:Ð:MÈh×NnÑNnÐMoÐopÐqÔrÜ˜J×,Ñ,×3Ñ3Ó5Ö6ˆEÜ�HŠH�t˜E˜7�^Ö$ñ 7çÜ�JŠJØ1ØÜ˜*×*Ñ*Ó+Ø×5Ñ5õ	ñ Ü�ŠÐ,°#Õ6Ø×ÑÔÜ�
Š
Ø”s˜:×+Ñ+Ó,Ð-Ð-=¸h×>^Ñ>^Ð=_Ð_`ÐaÜ˜j×.Ñ.Ó/Ø×2Ñ2õ	
ñ
 	ä
ˆ:×ÑÓ  AÔ%Ü�ŠÐ%Ô&Ü×Ñ×#Ñ#¨Ð#Ó+Ð+à×-Ò-¬v°j×6JÑ6JÓ/KÑL€HÜ  ×!4Ñ!4Ó5€Fà!€MØ××ÐØ×Ñ × 1Ñ 1Ð2°(Ð;Ô<Ø×$×$Ð$Ø×Ñ × =Ñ =Ð>¸lÐKÔLßØ×Ñ × ;Ñ ;Ð<¸LÐIÔJà—<‘< Ó.€LÜ‡H‚HÐ ˜~¨[¸×9YÑ9YÐ8ZÐZ[Ð\Ô]Ü" :×#6Ñ#6Ô7çÜ�
Š
Ø-ØØ×#Ñ#Ø×1Ñ1Ø×1Ñ1õ	
ñ 	ä‡K‚KÐ(¨cÕ2à×ÑÔÜ  ×!4Ñ!4Ó5€FÜ‡J‚JØ
�6×$Ñ$Ð% ]°6×3NÑ3NÐ2Oð PØ×2Ñ2Ð3°1ð	6à×'Ñ'Ø ×5Ñ5Ø×.Ñ.÷øôA ô OÜÐ4°S·]±]°OÐDÓEÈ3ÐNûðOús   ‚P ÐP<ÐP7Ð7P<zhf cache prunezhf cache prune --dry-runc                óÜ   € V ^8„  d   QhR\         \        R,          \        RR7      3,          R\         \        \        RRRR7      3,          R	\         \        \        R
R7      3,          RR/# )r(   r  Nr  r!   rB  rC  rD  rE  rF  rG  rV   )r   r.   r   rŸ   )r1   s   "r3   r4   r4   ¹  sŠ   € ÷ Wñ WÜÜˆd�
ÜØLô	
ð	õðWô 
ÜÜØØØ,ô	
ð	õ
ðWô ÜÜØ?ô	
ð	õðWð* 
ñ+Wr6   c           
     ól  €  \        V 4      p/ p\	        4       pTP
                   FE  p\        R TP                   4       4      pT'       g   K)  Y…T&   TP                  R T 4       4       KG  	  TP                  p	TP                  e!   \        P                  ! TP                  4      M/ p
\        T4      ^ 8X  d)   T	'       g!   T
'       g   \        P                  ! R4       R# TP                  ! \!        T4      !  p\#        T4      pTP$                  TP&                  ,           \)        T
P+                  4       4      ,           p\-        TP.                  \        T	4      \        T
4      4      p\        P                  ! RT R\1        T4       R24       \3        T4       T'       dD   \        P4                  ! R	R
TP.                  \        T	4      \        T
4      \1        T4      R7       R# \        P6                  ! RTR7       TP9                  4        T	 F  p TP:                  P=                  4        K   	  TP                  e,   T
 F%  p\        PD                  ! TTP                  R7       K'  	  \        P4                  ! RT R\1        T4       R2TP.                  \        T	4      \        T
4      \1        T4      R7       R#   \         d   p\        RTP                   24      ThRp?ii ; i  \>         d     Kç  \@         d3   p\        PB                  ! RTP:                   RT 24        Rp?EK  Rp?ii ; i)zBRemove detached revisions and incomplete downloads from the cache.r  Nc              3   ó^   "  € T F#  p\        VP                  4      ^ 8X  g   K  Vx € K%  	  R# 5i)r¨   N)rY   r„   ©r#  r‡   s   & r3   r$  Úprune.<locals>.<genexpr>Ø  s#   é € Ð`±n¨(ÌÈHÏMÉMÓHZÐ^_ÑH_ŸXšX³nùs   ‚-£
-c              3   ó8   "  € T F  qP                   x € K  	  R # 5irm   ry   rl  s   & r3   r$  rm  Ü  s   é € ÐG¹h°(×-Ö-»hùr+  zXNo unreferenced revisions, incomplete downloads or shared blobs found. Nothing to prune.rN  ú (z total).rO  T)rF  r)   Ú
incompleteÚshared_blobsrB   zProceed?rP  z!Could not delete incomplete file z: )r  rQ  z; freed r¹   )rW  Úincomplete_deletedÚshared_blobs_deletedrS  )#r   r   r
   r  rþ   rŒ   r-   r)   r  r7  r   Úunreferenced_shared_blobsrY   r    rƒ   r`  r�   r]   Úexpected_freed_sizer8  r2  rZ  ri   rP   r   rˆ   r[  r\  r]  r  ÚunlinkÚFileNotFoundErrorÚOSErrorr5  Úsweep_shared_blob)r  rB  rF  rŠ   r9  r*   r)   r\   Údetachedr7  Úunreferenced_blobsrc  re  Útotal_freedÚsummaryÚincomplete_fileÚ
store_paths   &&&              r3   Úpruner€  ¸  s¿  € ð0OÜ& yÓ1ˆð EG€HÜ›%€IØ×#Ô#ˆÜÑ`°d·n²nÓ`Ó`ˆßÙØ!�‰Ø×ÑÑG¹hÓGÖGñ $ð %×5Ñ5Ðð MZ×LcÑLcÒLoŒ×/Ò/°×0GÑ0GÔHÐuwð ô ˆ9ƒ~˜Ô×#3×<NÜ�ŠÐkÔlÙà×-Ò-¬v°iÓ/@ÑA€HÜ  Ó*€Fà×$Ñ$ }×'LÑ'LÕLÌsÐSe×SlÑSlÓSnÓOoÕoð ô ˜V×8Ñ8¼#Ð>NÓ:OÔQTÐUgÓQhÓi€GÜ‡H‚HÐ ˜y¨¬<¸Ó+DÐ*EÀXÐNÔOÜ" 8Ô,çÜ�
Š
Ø-ØØ×1Ñ1ÜÐ+Ó,ÜÐ/Ó0Ü˜kÓ*õ	
ñ 	ä‡K‚K�
 Õ$à×ÑÔÛ+ˆð	`Ø×%Ñ%×,Ñ,Ö.ñ ,ð ×ÑÒ*Û,ˆJÜ×+Ò+¨JÀ-×BYÑBY×Zñ -ä‡J‚JØ
�7�)˜8¤L°Ó$=Ð#>¸aÐ@Ø ×5Ñ5ÜÐ/Ó0Ü Ð!3Ó4Ü˜;Ó'÷øôq ô OÜÐ4°S·]±]°OÐDÓEÈ3ÐNûðOûôb !ô 	ÚÜô 	`Ü�KŠKÐ;¸O×<UÑ<UÐ;VÐVXÐY\ÐX]Ð^×_Ó_ûð	`ús;   ‚J= ÈK)Ê=K&ËK!Ë!K&Ë)L3Ë7L3Ì L3Ì&L.Ì.L3c                óT  € V ^8„  d   QhR\         R\        R\        R\        \        R,          \        RR7      3,          R\        \        R,          \        R	R7      3,          R
\        \        \        RRR7      3,          R\        \        \        RRR7      3,          R\        RR/	# )r(   rp   ro   r‡   r  NzXCache directory to use when verifying files from cache (defaults to Hugging Face cache).r!   Ú	local_dirz?If set, verify files under this directory instead of the cache.Úfail_on_missing_filesz--fail-on-missing-filesz?Fail if some files exist on the remote but are missing locally.Úfail_on_extra_filesz--fail-on-extra-fileszLFail if some files exist locally but are not present on the remote revision.ÚtokenrV   )r   r   r   r   r.   r   rŸ   r   )r1   s   "r3   r4   r4     sÛ   € ÷ fñ fÜðfäðfô ðfô Üˆd�
ÜØkô	
ð	õð	fô Üˆd�
ÜØRô	
ð	õðfô  %ÜÜØ%ØRô	
ð	õð!fô. #ÜÜØ#Ø_ô	
ð	õð/fô< ð=fð> 
ñ?fr6   c           
     óF  € Ve;   Ve7   \         P                  ! R4       \        P                  P	                  ^R7      h\        VR7      pTP                  T \        VR4      '       d   VP                  M
\        V4      VVVVR7      p	^ p
V	P                  '       d>   RP                  R V	P                   4       4      p\         P                  ! R	V 24       ^p
V	P                  '       ds   V'       d?   RP                  R
 V	P                   4       4      p\         P                  ! RV 24       ^p
M,\         P                  ! \        V	P                  4       R24       V	P                   '       ds   V'       d?   RP                  R V	P                    4       4      p\         P                  ! RV 24       ^p
M,\         P                  ! \        V	P                   4       R24       V	P"                  pV
^ 8w  dW   \         P                  ! RV  RVP                   RV RV	P$                   24       \        P                  P	                  V
R7      h\         P&                  ! RV	P(                   RVP                   RV  R2V VP                  V	P(                  \        V4      R7       R# )a“  Verify checksums for a single repo revision from cache or a local directory.

Examples:
  - Verify main revision in cache: `hf cache verify gpt2`
  - Verify specific revision: `hf cache verify gpt2 --revision refs/pr/1`
  - Verify dataset: `hf cache verify karpathy/fineweb-edu-100b-shuffle --repo-type dataset`
  - Verify local dir: `hf cache verify deepseek-ai/DeepSeek-OCR --local-dir /path/to/repo`
NzCCannot pass both --local-dir and --cache-dir. Use one or the other.rT  )r…  r·   )rp   ro   r‡   r‚  r  r…  rI  c           
   3   óv   "  € T F/  pR VR,           RVR,           RVR,           RVR,           2x € K1  	  R# 5i)	r~   Úpathz: expected rÐ   ro  Ú	algorithmz), got ÚactualNr7   )r#  Úms   & r3   r$  Úverify.<locals>.<genexpr>U  sE   é € ð 
á&�ð �1�V•9�+˜[¨¨:­¨°r¸!¸K½.Ð9IÈÐQRÐS[ÕQ\ÐP]Õ^Û&ùs   ‚79u<   â�Œ Checksum verification failed for the following file(s):
c              3   ó,   "  € T F
  pR V 2x € K  	  R# 5irK  r7   ©r#  Úps   & r3   r$  rŒ  ^  s   é € ÐIÑ4H¨q $ q c¥
Ó4HùrM  u6   â�Œ Missing files (present remotely, absent locally):
zM remote file(s) are missing locally. Use --fail-on-missing-files for details.c              3   ó,   "  € T F
  pR V 2x € K  	  R# 5irK  r7   rŽ  s   & r3   r$  rŒ  i  s   é € ÐGÑ4F¨q $ q c¥
Ó4FùrM  u4   â�Œ Extra files (present locally, absent remotely):
zV local file(s) do not exist on the remote repo. Use --fail-on-extra-files for details.zVerification failed for 'z' (z) in z.
  Revision: z	Verified z file(s) for z 'z'. All checksums match.)rp   ro   Úcheckedrˆ  )r    Úerrorr,  r^  r_  r   Úverify_repo_checksumsÚhasattrr·   r.   Ú
mismatchesrg   rƒ   Úmissing_pathsr5  rY   Úextra_pathsÚverified_pathr‡   r[  Úchecked_count)rp   ro   r‡   r  r‚  rƒ  r„  r…  Úapir[  Ú	exit_coderb  Úverified_locations   &&&&&&&&     r3   Úverifyr�    sY  € ð` Ò Ò!6Ü�	Š	ÐWÔXÜ×Ñ×#Ñ#¨Ð#Ó+Ð+ä
˜5Ô
!€Cà×&Ñ&ØÜ%,¨Y¸×%@Ò%@�)—/’/ÄcÈ)ÃnØØØØð 'ó €Fð €Ià××ÐØ—)‘)ñ 
à×&Ò&ó
ó 
ˆô 	�ŠÐPÐQXÐPYÐZÔ[Øˆ	à××Ðß Ø—i‘iÑI°F×4HÒ4HÓIÓIˆGÜ�HŠHÐNÈwÈiÐXÔYØ‰Iä�KŠKÜ�v×+Ñ+Ó,Ð-ð .;ð ;ôð
 ××ÐßØ—i‘iÑG°F×4FÒ4FÓGÓGˆGÜ�HŠHÐLÈWÈIÐVÔWØ‰Iä�KŠKÜ�v×)Ñ)Ó*Ð+ð ,9ð 9ôð
 ×,Ñ,Ðà�A„~Ü�	Š	Ø'¨ y°°I·O±OÐ3DÀEÐJ[ÐI\Ð\kÐlr×l{Ñl{Ðk|Ð}ô	
ô ×Ñ×#Ñ#¨Ð#Ó3Ð3ä‡J‚JØ
�F×(Ñ(Ð)¨°y·±Ð6GÀrÈ'ÈÐRiÐjØØ—/‘/Ø×$Ñ$ÜÐ"Ó#÷r6   >   rç   rÌ   ræ   rå   ré   rè   >   r„   rB   rI   r@   rA   >   rC   rB   r@   rA   )zhf cache lszhf cache ls --revisionsz*hf cache ls --filter "size>1GB" --limit 20zhf cache ls --format json)NFNNNF)zhf cache rm model/gpt2z-hf cache rm hf://models/openai-community/gpt2z?hf cache rm hf://models/openai-community/gpt2/model.safetensorszhf cache rm <revision_hash>z hf cache rm model/gpt2 --dry-runzhf cache rm model/gpt2 --yes)NFF)zhf cache verify gpt2z)hf cache verify gpt2 --revision refs/pr/1z.hf cache verify my-dataset --repo-type dataset)UrS   r   r.  Úcollectionsr   Úcollections.abcr   r   Údataclassesr   r   Úenumr   Útypingr   r	   r,  Úhuggingface_hub.errorsr
   Úutilsr   r   r   r   r   r   r   r   r   r   r   Úutils._parsingr   r   Ú
_cli_utilsr   r   r   r   r   r   Ú
_frameworkr   r   Ú_outputr    Ú	cache_clir%   ÚcompilerÙ   rÞ   rß   rõ   rô   rö   Ú_sort_options_dictr�   rv   r.   r8   rH   rL   r0   r¡   r/   r-   r¢   r]   ri   rˆ   r�   r˜   rœ   r±   rà   r¼   rù   r
  rÿ   Úcommandr@  rh  r€  Úmodelr�  r7   r6   r3   Ú<module>r®     sŒ  ðñ Oã 	Û Ý #ß -ß (Ý ß !ã å +÷÷ ÷ ñ ÷ 8ß `× `ß (Ý ñ Ð>Ô?€	ñ �$Ô÷Cð Có ðCð —*’*ÐaÓb€Ú6Ð Ú?€Ú5€
Ø—
’
ÐLÓM€ð �Ø�Ø
ˆFØ
ˆEðÐ ð Ð Ù�*Ö€CØ!Ð�sÑØ*-¨¨d |Ð˜#˜˜d�|Ñ$Ø+.¨%¨u¨Ð˜#˜˜e�}Ó%ñ ñ
 �=Ð"4¸3ÀxÔP€ñ �$Ô÷ð ó ðð �>Ð#5¸Õ#<Ð<Õ=€
Ø�> 9¨S¥>Ð1Õ2€õTõ$õ[õ(õ"õ"õ
"õ4>õBõ(3õl,õ^hð2 ×ÑØòð ó öW
óðW
ðt ×Ñòð ó 	öeó	ðeðP ×ÑÐ-Ð/IÐJÐÓKöWó LðWðt ×Ñòð ó ð )×.Ñ.Ø ð 	ð 	ð 	ð 	Øö=fóòfr6   