Ë
    ÂÓ^j¨  ã                   ó   — d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	m
Z
mZmZmZ ddlmZ dd	lmZmZmZmZ dd
lmZmZ ddlmZmZ ddlmZ ddlmZmZ  ej@                  e!«      Z" ed¬«      Z#e#jI                  dg d¢¬«      	 	 	 d1dedee% ed¬«      f   dee% ed¬«      f   ddfd„«       Z&e#jI                  dddg¬«      	 d2dee'dz   ed¬«      f   ddfd „«       Z(de'dz  fd!„Z)e#jI                  d"d#d$g¬«      	 	 d3dee'dz   ed%¬«      f   dee% ed¬«      f   ddfd&„«       Z*e#jI                  d'd(g¬«      d4d)„«       Z+e#jI                  dd*d+g¬«      d4d,„«       Z,e#jI                  d-d.d/g¬«      d4d0„«       Z-y)5z^Contains commands to authenticate to the Hugging Face Hub and interact with your repositories.é    )Ú	AnnotatedN)ÚENDPOINT)Úwhoamié   )Ú_save_oauth_tokenÚ	auth_listÚauth_switchÚloginÚlogout)ÚCLIError)Úget_stored_tokensÚ	get_tokenÚloggingÚselect_choice)Úpoll_device_tokenÚrequest_device_codeé   )ÚTokenOptÚtyper_factory)ÚOption)ÚOutputFormatÚoutz,Manage authentication (login, logout, etc.).)Úhelpr
   )zhf auth loginzhf auth login --token $HF_TOKENz7hf auth login --token $HF_TOKEN --add-to-git-credentialzhf auth login --force)ÚexamplesÚtokenÚadd_to_git_credentialzTSave to git credential helper. Useful only if you plan to run git commands directly.Úforcez)Force re-login even if already logged in.Úreturnc           	      óÚ  — | €!t         j                  t        j                  k(  rt	        | || ¬«       yt         j                  t        j
                  k7  rt        d«      ‚|s!t        «       �t        j                  d¬«       yt        «       }t        j                  d|d   › d|d	   › d
|d   › d�¬«       t        |«      }t        |«      \  }}t        j                  d|› d|› d�¬«       y)zNLogin from your browser, or using a token from huggingface.co/settings/tokens.N)r   r   Úskip_if_logged_inzr`hf auth login` is interactive and does not support --format json/quiet. Pass --token for a non-interactive login.z;Already logged in. Use `hf auth login --force` to re-login.)ÚagentzAsk the user to open Úverification_uri_completez! in a browser and enter the code Ú	user_codez. The code expires in Ú
expires_inz& seconds. Waiting for authorization...zLogin successful: logged in as z (token saved as 'z').)r   Úmoder   Úhumanr
   r!   r   r   Útextr   r   r   )r   r   r   Údevice_infoÚresponseÚ
token_nameÚusernames          úc/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/huggingface_hub/cli/auth.pyÚ
auth_loginr-   &   sô   € ð2 ÐœCŸH™H¬×(:Ñ(:Ò:ä�EÐ1FÐ^cÐZcÕdØô ‡x�x”<×%Ñ%Ò%Üð8ó
ð 	
ñ ”Y“[Ð,Ü�‰ÐTÕUØÜ%Ó'€KÜ‡H�Hà# KÐ0KÑ$LÐ#MÐMnØ˜;Ñ'Ð(Ð(>¸{È<Ñ?XÐ>Yð Z+ð+õô ! Ó-€HÜ,¨XÓ6Ñ€J�Ü‡H�HÐ4°X°JÐ>PÐQ[ÐP\Ð\_Ð`Öaó    r   zhf auth logoutz$hf auth logout --token-name my-tokenr*   zName of token to logoutc                 ó   — t        | ¬«       y)zLogout from a specific token.©r*   N)r   r0   s    r,   Úauth_logoutr1   \   s   € ô �jÖ!r.   c                  óê   — t        t        «       j                  «       «      } | st        j	                  d«       y t
        j                  t        j                  k7  rt        d«      ‚| t        d| «         S )Nz+No stored tokens found. Please login first.z;Use --token-name to select a token in non-interactive mode.zSelect a token to switch to:)Úlistr   ÚkeysÚloggerÚerrorr   r%   r   r&   r   r   )Útoken_namess    r,   Ú_select_token_namer8   j   s]   € ÜÔ(Ó*×/Ñ/Ó1Ó2€KáÜ�‰ÐBÔCØä
‡x�x”<×%Ñ%Ò%ÜÐTÓUÐUØ”}Ð%CÀ[ÓQÑRÐRr.   Úswitchzhf auth switchz$hf auth switch --token-name my-tokenzName of the token to switch toc                 óŒ   — | €
t        «       } | €)t        d«       t        j                  j	                  «       ‚t        | |¬«       y)zSwitch between access tokens.Nz!No token name provided. Aborting.)r   )r8   ÚprintÚclickÚ
exceptionsÚExitr	   )r*   r   s     r,   Úauth_switch_cmdr?   v   sA   € ð& ÐÜ'Ó)ˆ
ØÐÜÐ1Ô2Ü×Ñ×#Ñ#Ó%Ð%Ü�
Ð2GÖHr.   z	list | lszhf auth listc                  ó   — t        «        y)zList all stored access tokens.N)r   © r.   r,   Úauth_list_cmdrB   ‘   s	   € ô …Kr.   zhf auth tokenz8hf auth token | xargs curl -H 'Authorization: Bearer {}'c                  óÆ   — t        «       } | €5t        j                  d«       t        j                  j                  d¬«      ‚t        | «       t        j                  d«       y)z)Print the current access token to stdout.Nz)Not logged in. Run `hf auth login` first.r   ©Úcodez@Run `hf auth whoami` to see which account this token belongs to.)r   r   r6   r<   r=   r>   r;   Úhint)r   s    r,   Ú
auth_tokenrG   —   sK   € ô ‹K€EØ€}Ü�	‰	Ð=Ô>Ü×Ñ×#Ñ#¨Ð#Ó+Ð+Ü	ˆ%„LÜ‡H�HÐOÕPr.   r   zhf auth whoamizhf auth whoami --format jsonc                  ó4  — t        «       } | €5t        j                  d«       t        j                  j                  d¬«      ‚t        | «      }dj                  d„ |d   D «       «      xs d}t        dk7  rt        nd}t        j                  d	|d
   ||¬«       y)z;Find out which huggingface.co account you are logged in as.NzNot logged inr   rD   ú,c              3   ó&   K  — | ]	  }|d    –— Œ y­w)ÚnameNrA   )Ú.0Úorgs     r,   ú	<genexpr>zauth_whoami.<locals>.<genexpr>¬   s   è ø€ Ò8 C�C˜•KÑ8ùs   ‚Úorgszhttps://huggingface.coz	Logged inrK   )ÚuserrO   Úendpoint)
r   r   r6   r<   r=   r>   r   Újoinr   Úresult)r   ÚinforO   rQ   s       r,   Úauth_whoamirU   ¢   s�   € ô ‹K€EØ€}Ü�	‰	�/Ô"Ü×Ñ×#Ñ#¨Ð#Ó+Ð+ä�%‹=€DØ�8‰8Ñ8¨4°©<Ô8Ó8Ò@¸D€DÜ#Ð'?Ò?�xÀT€HÜ‡J�Jˆ{  f¡°DÀ8ÖLr.   )NFF)N)NF)r   N).Ú__doc__Útypingr   r<   Úhuggingface_hub.constantsr   Úhuggingface_hub.hf_apir   Ú_loginr   r   r	   r
   r   Úerrorsr   Úutilsr   r   r   r   Úutils._oauth_devicer   r   Ú
_cli_utilsr   r   Ú
_frameworkr   Ú_outputr   r   Ú
get_loggerÚ__name__r5   Úauth_cliÚcommandÚboolr-   Ústrr1   r8   r?   rB   rG   rU   rA   r.   r,   ú<module>rg      sm  ðñ eå ã å .Ý )ç MÕ MÝ ß HÓ Hß Hß /Ý ß &ð 
ˆ×	Ñ	˜HÓ	%€ñ ÐLÔM€ð 
×ÑØòð ó ð ð 	ð 	ñ*bØð*bà$ØÙØgô	
ð	ñð*bð ØÙØ<ô	
ð	ñð*bð 
ò*bóð*bðZ 
×ÑØØÐ FÐGð ó ð 	ñ	"ØØˆd‰
ÙÐ-Ô.ð	0ñð"ð
 
ò"ó	ð"ð	S˜C $™Jó 	Sð 
×ÑØØÐ FÐGð ó ð 	ð 	ñIØØˆd‰
ÙØ1ô	
ð	ñðIð %ØÙØgô	
ð	ñðIð 
òIó	ðIð. 
×Ñ�+¨Ð(8ÐÓ9òó :ðð
 
×Ñ�' _Ð6pÐ$qÐÓròQó sðQð 
×Ñ�(Ð&6Ð8VÐ%WÐÓXòMó YñMr.   