
    ikg                     `   d Z ddlZddlZddlmZ ddlmZmZ ddlm	Z	 ddl
mZ ddlmZmZ ddlZddlmZ d	d
lmZmZmZmZmZmZmZ d	dlmZmZ ddlmZmZm Z m!Z!m"Z"m#Z#m$Z$ ddl%m&Z&m'Z'  e$d      Z( e	d       G d d             Z) ejT                  d      Z+h dZ,h dZ-h dZ. ejT                  d      Z/dddddZ0i Z1 e2e.      D ]  Z3e3e1e3<   e3 de1e3 d<   e3 de1e3 d <     ed!e1e4e5"      Z6 e	d       G d# d$             Z7e8eedz  f   Z9e:ee;e4   f   Z<d%eee;e   f   d&e7fd'Z=d%eee;e   f   d&dfd(Z>d)ed&e8e:e4ef   e:e4e8eef   f   f   fd*Z?d)ed+e@d&e8eAe9   e<f   fd,ZBd-e4d.e<d&eeedz  eCge@f   fd/ZDd0eCdz  d1e4d2eCd&e@fd3ZEd4e4d&e8ee9ge8ed5f   f   e@f   fd6ZFd)ed7eAe4   d&e)fd8ZGe(j                  d9g d:;      dd<de&j                  ddfd=ee4dz   ej                  d>      f   d?ee@ ej                  d@      f   dAeeAe4   dz   ej                  dBdCdD      f   dEedFee6dz   ej                  dG      f   dHeeKdz   ej                  dI      f   d&dfdJ       ZLe(j                  g dK;      dd<d<e&j                  fd7eeAe4    ej                  dL      f   d=ee4dz   ej                  d>      f   dMee@ ej                  dNdOdP      f   dQee@ ej                  dR      f   dEed&dfdS       ZNe(j                  dTdUg;      dd<d<e&j                  fd=ee4dz   ej                  d>      f   dMee@ ej                  dNdOdP      f   dQee@ ej                  dR      f   dEed&df
dV       ZOe(j                  g dW;      e j                  dddd<d<de&j                  fdXedYe dZe!d=ee4dz   ej                  d[      f   d\ee4dz   ej                  d]      f   d^ee@ ej                  d_d`      f   daee@ ej                  dbdc      f   dde"dEed&dfde       ZQy)fzHContains the 'hf cache' command group with cache management subcommands.    N)defaultdict)CallableMapping)	dataclass)Enum)	AnnotatedAny)CLIError   )ANSICachedRepoInfoCachedRevisionInfoCacheNotFoundHFCacheInfo_format_sizescan_cache_dir)parse_duration
parse_size   )FormatWithAutoOpt	RepoIdArgRepoTypeOptRevisionOptTokenOpt
get_hf_apityper_factory)OutputFormatWithAutooutzManage local cache directory.)helpT)frozenc                   L    e Zd ZU ee   ed<   eeee   f   ed<   e	edf   ed<   y)_DeletionResolution	revisionsselected.missingN)
__name__
__module____qualname__	frozensetstr__annotations__dictr   r   tuple     j/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/huggingface_hub/cli/cache.pyr"   r"   (   s0    ~>9-?#@@AA38_r/   r"   zA^(?P<key>[a-zA-Z_]+)\s*(?P<op>==|!=|>=|<=|>|<|=)\s*(?P<value>.+)$>   <=>!=<=>=>   refssizetypeaccessedmodified>   namer8   r:   r;   z.^(?P<key>[a-zA-Z_]+)(?::(?P<order>asc|desc))?$descasc)r:   r;   r8   r<   z:asc_ascz:desc_descSortOptions)r9   modulec                   0    e Zd ZU dZeed<   eed<   eed<   y)CacheDeletionCountsz>Simple counters summarizing cache deletions for CLI messaging.
repo_countpartial_revision_counttotal_revision_countN)r&   r'   r(   __doc__intr+   r.   r/   r0   rD   rD   G   s    HOr/   rD   selected_by_reporeturnc                     d}d}d}| j                         D ]H  \  }}|t        |      z  }t        |      t        |j                        k(  s6|dz  }|t        |      z  }J ||z
  }t        |||      S )z(Summarize deletions across repositories.r   r   )itemslenr#   rD   )rJ   rE   total_revisionsrevisions_in_full_reposrepor#   rF   s          r0   summarize_deletionsrR   T   s     JO+113 6i3y>)y>S00!OJ#s9~5#	6 -/FFz+A?SSr/   c           
         t        | j                         d       D ]  }|j                   d|j                   }t        | |   d       }t	        |      t	        |j
                        k(  rt        j                  d| d       jt        j                  d| d       |D ]\  }dj                  t        |j                              xs d	}t        j                  d
|j                   d| d|j                          ^  y)zBPretty-print selected cache revisions during confirmation prompts.c                 N    | j                   | j                  j                         fS N	repo_typerepo_idlowerrQ   s    r0   <lambda>z0print_cache_selected_revisions.<locals>.<lambda>h   s    $..RVR^R^RdRdRfAg r/   key/c                     | j                   S rU   commit_hashrevs    r0   r[   z0print_cache_selected_revisions.<locals>.<lambda>j   
    3?? r/     - z (entire repo): z
(detached)z      z [z] N)sortedkeysrW   rX   rN   r#   r   textjoinr7   ra   size_on_disk_str)rJ   rQ   repo_keyr#   revisionr7   s         r0   print_cache_selected_revisionsro   f   s    ',,.4gh 
[nn%Qt||n5+D17RS	y>S00HHtH:^454z#$! 	[H88F8==12BlDHHvh2232dV2h>W>W=XYZ	[
[r/   hf_cache_infoc                     i }i }| j                   D ]Q  }|j                  j                         }|||<   |j                  D ]!  }||f||j                  j                         <   # S ||fS )zPCreate lookup tables so CLI commands can resolve repo ids and revisions quickly.)reposcache_idrY   r#   ra   )rp   repo_lookuprevision_lookuprQ   rm   rn   s         r0   build_cache_indexrv   u   s     .0KLNO## M==&&( $H 	MH=A8<LOH006689	MM
 ''r/   include_revisionsc          	         g }i }t        | j                  d       }|D ]  }t        |j                  D ch c]  }|j                  D ]  }|  c}}      ||<   |r1t        |j                  d       D ]  }|j                  ||f        o|j                  |df        |r|j                  d        ||fS |j                  d        ||fS c c}}w )z;Flatten cache metadata into rows consumed by `hf cache ls`.c                 N    | j                   | j                  j                         fS rU   rV   rZ   s    r0   r[   z'collect_cache_entries.<locals>.<lambda>   s    QUQ]Q]QcQcQe@f r/   r\   c                     | j                   S rU   r`   rb   s    r0   r[   z'collect_cache_entries.<locals>.<lambda>   rd   r/   Nc                 N    | d   j                   | d   | d   j                  fS dfS )Nr   r    )rs   ra   entrys    r0   r[   z'collect_cache_entries.<locals>.<lambda>   s6    a!!(-a(<a$$ BD r/   c                      | d   j                   S )Nr   )rs   r}   s    r0   r[   z'collect_cache_entries.<locals>.<lambda>   s    uQx'8'8 r/   )rh   rr   r)   r#   r7   appendsort)rp   rw   entriesrepo_refs_mapsorted_reposrQ   rn   refs           r0   collect_cache_entriesr      s     !#G!#M---3fgL )'T^^(eW_WdWd(ePS(e(efd"4>>7RS 1h/01 NND$<()  	 	
 M!! 	89M!! )fs   Cexprr   c           
      v  	
 t         j                  | j                               }|st        d|  d      |j	                  d      j                         |j	                  d      |j	                  d      j                         t        vr"t        d d|  dt        t               d	      t        vr"t        d
 d|  dt        t               d	      dk(  rt              

fdS dv r>t        j                               	dt        dt        dz  dt        dt        f	fd}|S dk(  rGj                         dk7  rt        d d      dt        dt        dz  dt        dt        ffd}|S dk7  rt        d d	      dt        dt        dz  dt        dt        ffd}|S )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'.r]   opvaluezUnsupported operator 'z' in filter ''. Must be one of .zUnsupported filter key '' in 'r8   c                 Z    t        ||j                        S | j                        S rU   )_compare_numericsize_on_disk)rQ   rn   _r   size_thresholds      r0   r[   z&compile_cache_filter.<locals>.<lambda>   s7    )9%-%9H!!*
 ?C?P?P*
 r/   >   r:   r;   rQ   rn   NnowrK   c                     dk(  r| j                   n||j                  n| j                  }|yt        ||z
        S )Nr:   F)last_accessedlast_modifiedr   )rQ   rn   r   	timestampr]   r   secondss       r0   _time_filterz*compile_cache_filter.<locals>._time_filter   sW     *$ "" ' ++''   #C)ORAAr/   r9   r2   z/Only '=' is supported for 'type' filters. Got 'r   c                 >    | j                   j                         k(  S rU   )rW   rY   )rQ   rn   r   expecteds      r0   _type_filterz*compile_cache_filter.<locals>._type_filter   s    >>'')X55r/   z.Only '=' is supported for 'refs' filters. Got c                     ||j                   nj                  | t                     }j                         |D cg c]  }|j                          c}v S c c}w rU   )r7   getr)   rY   )rQ   rn   r   r7   r   r   	value_raws        r0   _refs_filterz*compile_cache_filter.<locals>._refs_filter   sK    $,$88==m>O>OPTV_Va>bD??$(E(EEE(Es   A)_FILTER_PATTERNmatchstrip
ValueErrorgrouprY   _ALLOWED_OPERATORSlist_FILTER_KEYSr   r   r   r   floatbool)r   r   r   r   r   r   r   r]   r   r   r   r   s    `    @@@@@@r0   compile_cache_filterr      s    !!$**,/E7vR@AA
++e

"
"
$C	T	BG$**,I	##1"]4&HZ[_`r[sZttuvww
,3C5tfDVW[\hWiVjjklmm
f}#I.
 	
 && !23
	B~ 
	B9Kd9R 
	BY^ 
	Bcg 
	B 
f}??$9NrdRTUVV	6~ 	69Kd9R 	6W\ 	6ae 	6  9MbTQRSTT	F~ 	F9Kd9R 	FW\ 	Fae 	F r/   leftr   rightc                 l    | y| |k(  | |k7  | |kD  | |k  | |k\  | |k  d}||vrt        d|       ||   S )z)Evaluate numeric comparisons for filters.F)r2   r4   r3   r1   r6   r5   z)Unsupported numeric comparison operator: )r   )r   r   r   comparisonss       r0   r   r      sd    | U]emE\E\ememK 
DRDIJJr?r/   	sort_expr.c           
         t         j                  | j                         j                               }|st	        d|  d      |j                  d      j                         |j                  d      }t        vr"t	        d d|  dt        t               d      |r|nt           }|d	k(  }d
t        dt        t        df   ffd}||fS )zConvert 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'.r]   orderzUnsupported sort key 'r   r   r   r=   r~   rK   .c                    | \  }}dk(  r|j                   j                         }|fS dk(  r ||j                  }|fS |j                  }|fS dk(  r |j                  |j                  }|fS d}|fS dk(  r?| |j                  |j                  }|fS d}|fS |j                  |j                  nd}|fS t        d       )Nr<   r8   r:   g        r;   zUnsupported sort key: )rs   rY   r   r   r   r   )r~   rQ   rn   r   r]   s       r0   	_sort_keyz%compile_cache_sort.<locals>._sort_key
  s   h&=,,.E8O&=-5-AH))E8O HLGXGXE8O* +/*<*<*HD&&E8O ORE8O*#2:2H2H2T.. 8O [^ 8O /3.@.@.L**RU8O 1#788r/   )_SORT_PATTERNr   r   rY   r   r   
_SORT_KEYSr   _SORT_DEFAULT_ORDER
CacheEntryr-   r	   )r   r   explicit_orderr   reverser   r]   s         @r0   compile_cache_sortr      s     	 1 7 7 9:E5i[@uvww
++e

"
"
$C[[)N
*1#fYKGYZ^_iZjYkklmnn -N2Ec2JEvoG9 9c3h 9< gr/   targetsc                    t        |       \  }}t        t              }t               }g }|D ]  }|j                         }|s|j	                         }	t        j                  d|	      rZ|j                  |	      }
|
|j                  |       a|
\  }}||   j                  |       |j                  |j                         |j                  |	      }||j                  |       |j                  D ]1  }||   j                  |       |j                  |j                         3  |j                         D ci c]  \  }}|t        |       }}}t        t        |      |t        |            S c c}}w )z8Resolve the deletion targets into a deletion resolution.z[0-9a-fA-F]{40}r#   r$   r%   )rv   r   setr   rY   re	fullmatchr   r   addra   r#   rM   r)   r"   r-   )rp   r   rt   ru   r$   r#   r%   
raw_targettargetloweredr   rQ   rn   matched_reporevsfrozen_selecteds                   r0   _resolve_deletion_targetsr   +  se   #4]#C K>I#>NH%IG 0
!!#,,.<<*G4#''0E}z*"ND(TNx(MM(../"w/NN:&$.. 	0H\"&&x0MM(../	0+02 @H~~?OPttYt_,POPI& g  Qs   <E5z	list | ls)zhf cache lszhf cache ls --revisionsz*hf cache ls --filter "size>1GB" --limit 20zhf cache ls --format json)examplesF	cache_dirz9Cache directory to scan (defaults to Hugging Face cache).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.formatr   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.c                    	 t        |       }|xs g }t	        ||      \  }	}
	 |D cg c]  }t        ||
       }}t        j                         }|D ]"  }|	D cg c]  } ||d   |d   |      s| }	}$ |r,	 t        |j                        \  }}|	j                  ||       |#|dk  rt        j                  d| d      |	d| }	|r|	D cg c]t  \  }}|m|j                  |j                  |j                   |j"                  t        |j$                        |j&                  |j(                  t+        |j,                        d	v }}}t/        j0                  |g d
dddi       n|	D cg c]p  \  }}|j                  |j                  |j                   |j&                  |j2                  xs d|j(                  t+        |
j5                  |t7                           dr }}}t/        j0                  |g ddddi       |	r|	D ch c]  \  }}|	 }}}t9        |      }|r%t;        d |	D              }t;        d |	D              }n$t;        d |D              }t;        d |D              }t/        j<                  t?        j@                  d| d| dtC        |       d             yy# t        $ r}t        d|j                         |d}~ww xY wc c}w # t        $ r$}t        j                  t        |            |d}~ww xY wc c}w # t        $ r$}t        j                  t        |            |d}~ww xY wc c}}w c c}}w c c}}w )z&List cached repositories or revisions.Cache directory not found: N)rw   r   r   )r]   r   z&Limit must be a positive integer, got r   )idrX   rW   rn   snapshot_pathr8   r   r7   )r   rn   r8   r   r7   rn   r8   r   )headersid_key
alignmentsr|   )r   rX   rW   r8   r   r   r7   )r   r8   r   r   r7   r   c              3   ,   K   | ]  \  }}|	d  y w)Nr   r.   .0r   rc   s      r0   	<genexpr>zls.<locals>.<genexpr>  s      Lvq#CO Ls   
c              3   @   K   | ]  \  }}|	|j                     y wrU   r   r   s      r0   r   zls.<locals>.<genexpr>  s     W&!SsS--Ws   
c              3   F   K   | ]  }t        |j                          y wrU   )rN   r#   r   rQ   s     r0   r   zls.<locals>.<genexpr>  s      NT^^!4 Ns   !c              3   4   K   | ]  }|j                     y wrU   r   r   s     r0   r   zls.<locals>.<genexpr>  s     H4T..H   z
Found z repo(s) for a total of z revision(s) and z	 on disk.)"r   r   r
   r   r   r   r   typerBadParameterr*   timer   r   r   rs   rX   rW   ra   r   rl   last_modified_strrh   r7   r   tablelast_accessed_strr   r)   rN   sumrj   r   boldr   )r   r#   r   r   r   r   rp   excfiltersr   r   r   
filter_fnsr   fnr~   sort_key_fnr   rQ   rn   rM   r   unique_reposrE   revision_count
total_sizes                             r0   lsr   W  se   `O&y1 lG2=T]^G]4LSTD*4?T
T ))+C N&-MUE!HeAh1L5MMN 	8#5djj#A KLL['L:
 19$$'MeWTU%VWW&5/ #*
 h# mm<<!^^$00!$X%;%;!< 11!)!;!;x}}-	
 
 			G(		
" #
 a mm<<!^^--!%!7!7!=2!%!7!7}00y{CD
 
 			L(		
 ,34q44&
  L LLNWGWWJ  N NNNH<HHJII:,&>~>N O$Z01<	
 M  O4S]]ODE3NO U 4  S*34
 N  	8$$SX.C7	8
*
( 5sv   J/ K KK L0L;+L A9M1A5M	M/	K8KKK 	L'LL	M L;;M )zhf cache rm model/gpt2zhf cache rm <revision_hash>z hf cache rm model/gpt2 --dry-runzhf cache rm model/gpt2 --yeszQOne or more repo IDs (e.g. model/bert-base-uncased) or revision hashes to delete.yesz-yz--yeszSkip confirmation prompt.dry_runz,Preview deletions without removing anything.c           	      8   	 t        |      }t	        ||       }|j
                  r:dj                  d |j
                  D              }t        j                  d|        t        |j                        dk(  r+t        j                  d       t        j                  d       |j                  t        |j                         }	t!        |j"                        }
g }|
j$                  r|j'                  |
j$                   d	       |
j(                  r|j'                  |
j(                   d
       |s|j'                  |
j*                   d
       dj                  |      }t        j                  d| d|	j,                   d       t/        |j"                         |r9t        j0                  dd|
j$                  |
j*                  |	j,                         yt        j2                  d|       |	j5                          t!        |j"                        }
t        j0                  d|
j$                   d|
j*                   d|	j,                   d|
j$                  |
j*                  |	j,                         y# t        $ r}t        d|j                         |d}~ww xY w)z(Remove cached repositories or revisions.r   N
c              3   &   K   | ]	  }d |   ywre   Nr.   )r   r~   s     r0   r   zrm.<locals>.<genexpr>  s     Kud5'NK   zCould not find in cache:
r   zNothing to delete.codez repo(s)z revision(s)z and About to delete z totalling r   Dry run: no files were deleted.T)r   rr   r#   r8   zProceed with deletion?r   Deleted z repo(s) and z revision(s); freed )repos_deletedrevisions_deletedfreed)r   r   r
   r   r   r%   rk   r   warningrN   r#   rj   r   Exitdelete_revisionsrh   rR   r$   rE   r   rF   rG   expected_freed_size_strro   resultconfirmexecute)r   r   r   r   r   rp   r   
resolutiondetailsstrategycountssummary_partssummary_texts                r0   rmr    sK   LO&y1 +='BJ))K
8J8JKK0	:;
: A%%&jja  -}--vj6J6J/KLH !4!45F!M 1 12(;<$$ = =>lKL ; ;<LIJ<<.LHH~[9Y9Y8ZZ[\]":#6#67

-##1111	
 	KK(c2 !4!45FJJ
6$$%]63N3N2O P2231	6'' 55..U  O4S]]ODE3NOs   I2 2	J;JJzhf cache prunezhf cache prune --dry-runc                    	 t        |       }i }t	               }|j
                  D ]>  }t        d |j                  D              }	|	s"|	||<   |j                  d |	D               @ t        |      dk(  rt        j                  d       yt        t        |      |d      }
 |j                  t        |
j                         }t        |      }t        j                  d	|j                    d
|j"                   d       t%        |       |r.t        j&                  dd|j                   |j"                         yt        j(                  d|       |j+                          t        j&                  d|j                    d|j"                   d|j                   |j"                         y# t        $ r}t        d|j                         |d}~ww xY w)z)Remove detached revisions from the cache.r   Nc              3   R   K   | ]  }t        |j                        d k(  s| ! yw)r   N)rN   r7   r   rn   s     r0   r   zprune.<locals>.<genexpr>\  s!     `(HMMHZ^_H_X`s   ''c              3   4   K   | ]  }|j                     y wrU   r`   r  s     r0   r   zprune.<locals>.<genexpr>`  s     G(--Gr   r   z2No unreferenced revisions found. Nothing to prune.r.   r   r   z unreferenced revision(s) (z total).r   T)r   r#   r8   zProceed?r   r   z! unreferenced revision(s); freed r   )r   r   )r   r   r
   r   r   rr   r)   r#   updaterN   r   rj   r"   r  rh   rR   rG   r  ro   r  r  r  )r   r   r   r   rp   r   r$   r#   rQ   detachedr  r
  r  s                r0   pruner  ;  s   2O&y1 EGH%I## H`dnn``!GhGGH 9~EF$I&J
 .}--vj6J6J/KLH *FHH
66677RS[SsSsRtt|} #8,

-1111		
 	KK
$JJ
6..//PQYQqQqPrrst 55..S  O4S]]ODE3NOs   F( (	G1G

G)zhf cache verify gpt2z)hf cache verify gpt2 --revision refs/pr/1z.hf cache verify my-dataset --repo-type datasetrX   rW   rn   zXCache directory to use when verifying files from cache (defaults to Hugging Face cache).	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.tokenc	           
         |-|+t        j                  d       t        j                  d      t	        |      }	|	j                  | t        |d      r|j                  n
t        |      ||||      }
d}|
j                  r<d	j                  d
 |
j                  D              }t        j                  d|        d}|
j                  rj|r=d	j                  d |
j                  D              }t        j                  d|        d}n+t        j                  t        |
j                         d       |
j                  rj|r=d	j                  d |
j                  D              }t        j                  d|        d}n+t        j                  t        |
j                         d       |
j                   }|dk7  rKt        j                  d|  d|j                   d| d|
j"                          t        j                  |      t        j$                  d|
j&                   d|j                   d|  d| |j                  |
j&                  t        |             y)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.r   r   )r  r   )rX   rW   rn   r  r   r  r   r   c           
   3   P   K   | ]  }d |d    d|d    d|d    d|d       yw)	re   pathz: expected r   z (	algorithmz), got actualNr.   )r   ms     r0   r   zverify.<locals>.<genexpr>  sF      
 1V9+[:r!K.9IQRS[Q\P]^
s   $&u<   ❌ Checksum verification failed for the following file(s):
r   c              3   &   K   | ]	  }d |   ywr   r.   r   ps     r0   r   zverify.<locals>.<genexpr>  s     Iq$qc
Ir   u6   ❌ Missing files (present remotely, absent locally):
zM remote file(s) are missing locally. Use --fail-on-missing-files for details.c              3   &   K   | ]	  }d |   ywr   r.   r!  s     r0   r   zverify.<locals>.<genexpr>  s     Gq$qc
Gr   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.)rX   rW   checkedr  )r   errorr   r  r   verify_repo_checksumshasattrr   r*   
mismatchesrk   rj   missing_pathsr  rN   extra_pathsverified_pathrn   r  checked_count)rX   rW   rn   r   r  r  r  r  r   apir  	exit_coder	  verified_locations                 r0   verifyr0    s7   b !6		WXjja  
5
!C&&%,Y%@)//c)n ' F I)) 
&&
 
 	PQXPYZ[	 iiIF4H4HIIGHHNwiXYIKKv++,- .; ;
 iiGF4F4FGGGHHLWIVWIKKv))*+ ,9 9
 ,,A~		'yIOO3DEJ[I\\klrl{l{k|}	
 jji((JJ
F(()y6Gr'Rij//$$"#r/   )RrH   r   r   collectionsr   collections.abcr   r   dataclassesr   enumr   typingr   r	   r   huggingface_hub.errorsr
   utilsr   r   r   r   r   r   r   utils._parsingr   r   
_cli_utilsr   r   r   r   r   r   r   _outputr   r   	cache_clir"   compiler   r   r   r   r   r   _sort_options_dictrh   r]   r*   r&   rA   rD   r-   r   r,   r)   RepoRefsMaprR   ro   rv   r   r   r   r   r   r   r   r   commandautoOptionrI   r   Argumentr  r  modelr0  r.   r/   r0   <module>rD     sV   O 	  # - !  !  + v v v 7 s s s . >?	 $   "**ab6 ?5


LM    * 6C!s*-d|#d|$+.%u#e}%6
 ="43xP $   >#5#<<=
>9S>12Tni8J.KKLTT$[W^YWiMj=j5k [pt [((
n	eN$667	78:("""6:"
4
[()"4>
>)>~1D8%@$FG>B54< S  4 (3# 3%*uSRUX9V0WY]0]*^ 3l&[ &49 &Qd &X    	 	 	 4 9 9 	 	I}
d
L	
	}
 V	
	}
 S	Dm	
	}
* +}
, d7	
	-}
> d
f	
	?}
J 
K}
}
@   ( 	 	 	 4 9 97PS	d	
	P d
L	
	P 
,	
	
P* ?	
	+P6 7P8 
9PPf -/IJK 	 	 	 4 9 9+Gd
L	
	G 
,	
	
G ?	
	G* +G, 
-G LGT    )..  	 	 	 	 4 9 9?ggg g d
k	
		g d
R	
	g  %%R	
	!g. ##_	
	/g< =g> ?g@ 
Aggr/   