
    dh5E              8         d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZmZmZmZ d dl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mZmZmZmZ d dl m!Z! d dl"m#Z#m$Z$  ejJ                   e& ejN                                     Z( ejJ                   e& ejN                                     Z) ejJ                  e      Z*dd	Z+d
Z, ejZ                  d      Z.ddZ/ ej`                  ddi       ejb                  dd       ejd                  de3ddd       ejd                  de4ddd       ejd                  de3dd       ejd                  de4dd       ejd                  d dd!d"#       ejd                  d$d%dd& ejj                  d'      (       ejd                  d)d*dd+,       ejd                  d-d.dd/,       ejd                  d0e6d1dd23       ejd                  d4de4d56       ejd                  d7e3 e+e      d8d9d:       ejd                  d;e3 e+e      d8d<d:       ejd                  d=e3 e+e      d8d>d:       ejd                  d?e4d@dAd       ejd                  dBe4dCdDd       ejd                  dEe6dFdGd       ejd                  dHe6dFdId       ejd                  dJe7ddKd       ejd                  dLe)d8dMd       ejd                  dNe*d8dOd       ejd                  dP ejj                  d'      ddQd       ejd                  dR ejj                  d'      ddSd       ejd                  dTe(ddUd       ejd                  dVdddW#       ejd                  dXdddY#       ejd                  dZddd[#       ejd                  d\ddd]#       ejd                  d^ddd_#       ejd                  d`e3dda       ejd                  dbe3dcdd       ejd                  dee4ddf       ejd                  dge4dhdi       ejd                  dje4ddk       ejd                  dle4dmdnd       ejd                  doe4ddp       ejd                  dqe4dmdrd       ejd                  dse3ddtd       ejd                  due3ddvd       ejd                  dwe3ddxd       ejd                  dye4 e4e      dzd       ejd                  d{e4 e4ejp                        d|d       ejd                  d}e3dd~d       ejd                  de3ddd       ejd                  dddd,       ejd                  dde/d!dd       ejd                  ddcdd       ejd                  dde4dd       ejd                  ddd!dd      	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd                                                                                                                                                                                                                                                                                                                                                              Z9ddddd8d8d8d@dCdFdFdd8d8d!dddd1ddedddddddcddhddmddmdddeejp                  dddddd!dd/	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZ:ddZ;e<dk(  r e9        yy)    )annotationsN)RawConfigParser)IOAnyCallableget_args)ASGIApplication)
INTERFACESLIFESPAN
LOG_LEVELSLOGGING_CONFIGSSL_PROTOCOL_VERSIONConfigHTTPProtocolTypeInterfaceTypeLifespanTypeLoopFactoryTypeWSProtocolType)Server)ChangeReloadMultiprocessc                L    ddj                  d t        |       D               dS )N[|c              3  ,   K   | ]  }|d k7  s	|  yw)noneN ).0keys     ?/var/www/zara/venv/lib/python3.12/site-packages/uvicorn/main.py	<genexpr>z%_metavar_from_type.<locals>.<genexpr>'   s     H#-Hs   
])joinr   )_types    r    _metavar_from_typer%   &   s%    sxxHxHHIKK       uvicorn.errorc           	        |r| j                   ry t        j                  dj                  t        j
                  t        j                         t        j                         t        j                                      | j                          y )NzKRunning uvicorn {version} with {py_implementation} {py_version} on {system})versionpy_implementation
py_versionsystem)resilient_parsingclickechoformatuvicorn__version__platformpython_implementationpython_versionr-   exit)ctxparamvalues      r    print_versionr;   /   sf    C))	JJU\\''&<<>..0??$	 	] 	
 HHJr&   auto_envvar_prefixUVICORN)context_settingsappUVICORN_APP)envvarz--hostz	127.0.0.1zBind socket to this host.T)typedefaulthelpshow_defaultz--porti@  zABind socket to this port. If 0, an available port will be picked.z--udszBind to a UNIX domain socket.)rB   rC   rD   z--fdz)Bind to socket from this file descriptor.z--reloadFzEnable auto-reload.)is_flagrC   rD   z--reload-dirreload_dirszRSet reload directories explicitly, instead of using the current working directory.)exists)multiplerD   rB   z--reload-includereload_includeszSet glob patterns to include while watching for files. Includes '*.py' by default; these defaults can be overridden with `--reload-exclude`. This option has no effect unless watchfiles is installed.)rI   rD   z--reload-excludereload_excludeszSet glob patterns to exclude while watching for files. Includes '.*, .py[cod], .sw.*, ~*' by default; these defaults can be overridden with `--reload-include`. This option has no effect unless watchfiles is installed.z--reload-delayg      ?zTDelay between previous and next check if application needs to be. Defaults to 0.25s.)rB   rC   rE   rD   z	--workersz~Number of worker processes. Defaults to the $WEB_CONCURRENCY environment variable if available, or 1. Not valid with --reload.)rC   rB   rD   z--loopautoz"Event loop factory implementation.)rB   metavarrC   rD   rE   z--httpzHTTP protocol implementation.z--wsz"WebSocket protocol implementation.z--ws-max-sizei   z#WebSocket max size message in bytesz--ws-max-queue    z2The maximum length of the WebSocket message queue.z--ws-ping-intervalg      4@z#WebSocket ping interval in seconds.z--ws-ping-timeoutz"WebSocket ping timeout in seconds.z--ws-per-message-deflatez)WebSocket per-message-deflate compressionz
--lifespanzLifespan implementation.z--interfacez:Select ASGI3, ASGI2, or WSGI as the application interface.z
--env-filezEnvironment configuration file.z--log-configzBLogging configuration file. Supported formats: .ini, .json, .yaml.z--log-levelzLog level. [default: info]z--access-log/--no-access-logzEnable/Disable access log.z--use-colors/--no-use-colorsz!Enable/Disable colorized logging.z"--proxy-headers/--no-proxy-headerszaEnable/Disable X-Forwarded-Proto, X-Forwarded-For to populate url scheme and remote address info.z"--server-header/--no-server-headerz%Enable/Disable default Server header.z--date-header/--no-date-headerz#Enable/Disable default Date header.z--forwarded-allow-ipszComma separated list of IP Addresses, IP Networks, or literals (e.g. UNIX Socket path) to trust with proxy headers. Defaults to the $FORWARDED_ALLOW_IPS environment variable if available, or '127.0.0.1'. The literal '*' means trust everything.z--root-path zLSet the ASGI 'root_path' for applications submounted below a given URL path.z--limit-concurrencyz^Maximum number of concurrent connections or tasks to allow, before issuing HTTP 503 responses.z	--backlogi   z0Maximum number of connections to hold in backlogz--limit-max-requestszEMaximum number of requests to service before terminating the process.z--timeout-keep-alive   zYClose Keep-Alive connections if no new data is received within this timeout (in seconds).z--timeout-graceful-shutdownz8Maximum number of seconds to wait for graceful shutdown.z--timeout-worker-healthcheckzKMaximum number of seconds to wait for a worker to respond to a healthcheck.z--ssl-keyfilezSSL key filez--ssl-certfilezSSL certificate filez--ssl-keyfile-passwordzSSL keyfile passwordz--ssl-versionz,SSL version to use (see stdlib ssl module's)z--ssl-cert-reqsz@Whether client certificate is required (see stdlib ssl module's)z--ssl-ca-certszCA certificates filez--ssl-ciphersTLSv1z(Ciphers to use (see stdlib ssl module's)z--headerheaderszASpecify custom default HTTP response headers as a Name:Value pairz	--versionz%Display the uvicorn version and exit.)rF   callbackexpose_valueis_eagerrD   z	--app-dirzuLook for APP in the specified directory, by adding this to the PYTHONPATH. Defaults to the current working directory.)rC   rE   rD   z--h11-max-incomplete-event-sizeh11_max_incomplete_event_sizezFFor h11, the maximum number of bytes to buffer of an incomplete event.z	--factoryzFTreat APP as an application factory, i.e. a () -> <ASGI app> callable.)rF   rC   rD   rE   c0                   t        | fi d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|t        n|d|d|d|d|d|xs d d|xs d d|xs d d|d|d|d|d|d|d|d|d|d | d!|!d"|"d#|#d$|$d%|%d&|&d'|'d(|(d)|)d*|*d+|+D 0cg c]  }0|0j                  d,d-       c}0d.|,d/|/d0|-d1|. y c c}0w )2Nhostportudsfdloophttpwsws_max_sizews_max_queuews_ping_intervalws_ping_timeoutws_per_message_deflatelifespanenv_file
log_config	log_level
access_log	interfacereloadrG   rJ   rK   reload_delayworkersproxy_headersserver_headerdate_headerforwarded_allow_ips	root_pathlimit_concurrencybackloglimit_max_requeststimeout_keep_alivetimeout_graceful_shutdowntimeout_worker_healthcheckssl_keyfilessl_certfilessl_keyfile_passwordssl_versionssl_cert_reqsssl_ca_certsssl_ciphersrR   :   
use_colorsfactoryapp_dirrV   )runr   split)1r?   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   ri   rj   rG   rJ   rK   rk   rl   re   rf   rg   rh   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   rR   r   r   rV   r   headers1                                                    r    mainr   =   s=   T 11 1 	1
 1 1 1 1  1 "1 *1 (1  61 1 1  &0%7>Z!1" #1$ %1& '1( )1*  '4+1, (/4-1. (/4/10 "112 314 $516 $718  91: 0;1< =1> ,?1@ A1B .C1D .E1F #<G1H $>I1J  K1L "M1N 2O1P  Q1R $S1T "U1V  W1X 5<<&c1%<Y1Z [1\ ]1^ _1` 'Da1X =s    C)/rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   ri   rj   rG   rJ   rK   rk   rl   re   rf   rg   rh   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   rR   r   r   r   rV   c       /           |- t         j                  j                  d|-       t        | fi d|d|d|d|d|d|d|d	|d
|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d |d!| d"|!d#|"d$|#d%|$d&|%d'|&d(|'d)|(d*|)d+|*d,|+d-|,d.|.d/|/}0t	        |00      }1|0j
                  s|0j                  d1kD  rKt        | t              s;t        j                  d2      }2|2j                  d3       t        j                  d1       	 |0j                  r8|0j                         }3t        |0|1j                   |3g4      j!                          nW|0j                  d1kD  r8|0j                         }3t#        |0|1j                   |3g4      j!                          n|1j!                          |0j&                  rIt(        j                  j+                  |0j&                        r t)        j,                  |0j&                         	 |1j.                  s7|0j                  s*|0j                  d1k(  rt        j                  t0               y y y y # t$        $ r Y w xY w# |0j&                  rJt(        j                  j+                  |0j&                        r t)        j,                  |0j&                         w w w xY w)5Nr   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   ri   rj   rG   rJ   rK   rk   rl   re   rf   rg   rh   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   rR   r   r   rV   )configr   r(   zRYou must pass the application as an import string to enable 'reload' or 'workers'.)targetsockets)syspathinsertr   r   rj   rl   
isinstancestrlogging	getLoggerwarningr7   should_reloadbind_socketr   r   r   KeyboardInterruptrZ   osrH   removestartedSTARTUP_FAILURE)4r?   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   ri   rj   rG   rJ   rK   rk   rl   re   rf   rg   rh   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   rR   r   r   r   rV   r   serverloggersocks4                                                       r    r   r     s   f 7#00 0 	0
 0 0 0 0  0 "0 *0 (0  60 0 0  !0"  #0$ (%0& ('0( ")0* +0, -0. /00 102 304 $506 $708  90: 0;0< =0> ,?0@ A0B .C0D .E0F #<G0H $>I0J  K0L "M0N 2O0P  Q0R $S0T "U0V  W0X Y0Z [0\ ]0^ 'D_0Fb 6"F!+ZS5I""?3kl"%%'D

TFCGGI^^a%%'D

TFCGGIJJL ::"''..4IIfjj!>>&"6"66>>Q;N! <O"6>   ::"''..4IIfjj! 5:s&   *BI 	I*'I- )I**I- -AKc                z    | dk(  r"t        j                  dt               ddlm} |S t        dt         d|        )NServerStatezOuvicorn.main.ServerState is deprecated, use uvicorn.server.ServerState instead.r   )r   zmodule z has no attribute )warningswarnDeprecationWarninguvicorn.serverr   AttributeError__name__)namer   s     r    __getattr__r   \  s@    }]	
 	/
78*,>tfE
FFr&   __main__)r$   r   returnr   )r8   zclick.Contextr9   zclick.Parameterr:   boolr   None)br?   r   rX   r   rY   intrZ   r   r[   r   r\   LoopFactoryType | strr]   zHTTPProtocolType | strr^   zWSProtocolType | strr_   r   r`   r   ra   floatrb   r   rc   r   rd   r   ri   r   rj   r   rG   	list[str]rJ   r   rK   r   rk   r   rl   r   re   r   rf   r   rg   r   rh   r   rm   r   rn   r   ro   r   rp   r   rq   r   rr   r   rs   r   rt   r   ru   r   rv   
int | Nonerw   r   rx   r   ry   r   rz   r   r{   r   r|   r   r}   r   r~   r   rR   r   r   r   r   r   rV   r   r   r   r   r   )br?   z*ASGIApplication | Callable[..., Any] | strrX   r   rY   r   rZ   
str | Noner[   r   r\   r   r]   z/type[asyncio.Protocol] | HTTPProtocolType | strr^   z-type[asyncio.Protocol] | WSProtocolType | strr_   r   r`   r   ra   float | Nonerb   r   rc   r   rd   r   ri   r   rj   r   rG   list[str] | str | NonerJ   r   rK   r   rk   r   rl   r   re   str | os.PathLike[str] | Nonerf   z7dict[str, Any] | str | RawConfigParser | IO[Any] | Nonerg   zstr | int | Nonerh   r   rm   r   rn   r   ro   r   rp   r   rq   r   rr   r   rs   r   rt   r   ru   r   rv   r   rw   r   rx   r   ry   r   rz   r   r{   r   r|   r   r}   r   r~   r   rR   zlist[tuple[str, str]] | Noner   zbool | Noner   r   r   r   rV   r   r   r   )r   r   r   r   )=
__future__r   asyncior   r   r4   sslr   r   configparserr   typingr   r   r   r   r/   r2   uvicorn._typesr	   uvicorn.configr
   r   r   r   r   r   r   r   r   r   r   r   r   uvicorn.supervisorsr   r   ChoicelistkeysLEVEL_CHOICESLIFESPAN_CHOICESINTERFACE_CHOICESr%   r   r   r   r;   commandargumentoptionr   r   Pathr   r   	CERT_NONEr   r   r   r   r   r&   r    <module>r      s   "   	  
 
  ( . .   *    " :T/*//"3455<<]X]]_ 56  ELL, L 			?	+ !5y ABm,		$ 		L gC4STf33^_j$<QR	]	4	  
@	 
	 		_ 	
=	 	/	- 	/0	( 
	~.	- 		. 		= 		. 		- 		4 		# 		E 	4	 	* 	4	 	M 		% "	%	 "	,	 (	l	 (	0	 $	.	 	
.	 		W	 		i	 		;	 		P	 		d !		C	 "		V oCNY]^		 		 	$%	7 		K 		 		3 	L	 	0 
2	 %#		Q 	Qc	c
c c 
	c
 	c  c !c 	c c c c c !c c c  !c" #c$ %c& 'c( )c* +c, -c. /c0 1c2 3c4 5c6 7c8 9c: ;c< =c> ?c@ AcB CcD EcF  *GcH !$IcJ KcL McN OcP QcR ScT UcV WcX YcZ [c\ ]c^ $._c` acb 
cc _ S ` U - Cp	cR "(<B8>%)$(#'#%*..2.2.2JX"&26$(%),0&'1526'++26,0"04c~"	3~" ~" 	~"
 
~" 	~"  ~" :~" 	6~" ~" ~" #~" "~" !~" ~"  !~"" #~"$ (%~"& ,'~"( ,)~"* +~", -~". ,/~"0 H1~"2  3~"4 5~"6 7~"8 9~": ;~"< 0=~"> ?~"@ "A~"B C~"D #E~"F G~"H  *I~"J !$K~"L /M~"N 0O~"P %Q~"R S~"T U~"V 0W~"X Y~"Z *[~"\ ]~"^ _~"` a~"b $.c~"d 
e~"B	G zF r&   