
    9CgB              7         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m	Z	 d dl
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mZmZm Z  d dl!m"Z"m#Z# d dl$m%Z%m&Z&  ej'         e( ej)                                        Z* ej'         e( ej)                                        Z+ ej'         e( ej)                                        Z, ej'         e( ej)                                        Z- ej'        d	  ej)                    D                       Z. ej'        e          Z/d
Z0 ej1        d          Z2ddZ3 ej4        ddi           ej5        dd           ej6        de7ddd           ej6        d e8d!d"d           ej6        d#e7dd$%           ej6        d&e8dd'%           ej6        d(dd)d*+           ej6        d,d-dd. ej9        d/          0           ej6        d1d2dd34           ej6        d5d6dd74           ej6        d8e:d9dd:;           ej6        d<de8d=>           ej6        d?e.d@dAd           ej6        dBe+d@dCd           ej6        dDe,d@dEd           ej6        dFe8dGdHd           ej6        dIe8dJdKd           ej6        dLe:dMdNd           ej6        dOe:dMdPd           ej6        dQe;ddRd           ej6        dSe-d@dTd           ej6        dUe/d@dVd           ej6        dW ej9        d/          ddXd           ej6        dY ej9        d/          ddZd           ej6        d[e*dd\d           ej6        d]ddd^+           ej6        d_ddd`+           ej6        dadddb+           ej6        dcdddd+           ej6        dedddf+           ej6        dge7ddh%           ej6        die7djdk%           ej6        dle8ddm%           ej6        dne8dodp%           ej6        dqe8ddr%           ej6        dse8dtdud           ej6        dve8ddw%           ej6        dxe7ddyd           ej6        dze7dd{d           ej6        d|e7dd}d           ej6        d~e8 e8e          dd           ej6        de8 e8ej<                  dd           ej6        de7ddd           ej6        de7ddd           ej6        dddd4           ej6        dde3d)dd           ej6        ddjdd           ej6        dde8dd%           ej6        ddd)dd          ddɄ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Z=dd!ddd@d@d@dGdJdMdMdd@d@d)dddd9ddedddddddjddoddtddddeej<        dddddd)ddʜ.ddքZ>e?dk    r e=             dS dS )    )annotationsN)RawConfigParser)IOAnyCallable)ASGIApplication)HTTP_PROTOCOLS
INTERFACESLIFESPAN
LOG_LEVELSLOGGING_CONFIGLOOP_SETUPSSSL_PROTOCOL_VERSIONWS_PROTOCOLSConfigHTTPProtocolTypeInterfaceTypeLifespanTypeLoopSetupTypeWSProtocolType)ServerServerState)ChangeReloadMultiprocessc                    g | ]
}|d k    |S )none ).0keys     >/var/www/api/venv/lib/python3.11/site-packages/uvicorn/main.py
<listcomp>r!   '   s    PPPS#--S---       uvicorn.errorctxclick.Contextparamclick.ParametervalueboolreturnNonec           	        |r| j         rd S t          j        d                    t          j        t          j                    t          j                    t          j	                                         | 
                                 d S )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_versionr1   exit)r%   r'   r)   s      r    print_versionr<   /   s     C) 	JU\\'&<>>.00?$$	 	] 	
 	
   HHJJJJJr"   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.)rC   rD   rE   z--fdz)Bind to socket from this file descriptor.z--reloadFzEnable auto-reload.)is_flagrD   rE   z--reload-dirreload_dirszRSet reload directories explicitly, instead of using the current working directory.)exists)multiplerE   rC   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.)rJ   rE   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.)rC   rD   rF   rE   z	--workersz~Number of worker processes. Defaults to the $WEB_CONCURRENCY environment variable if available, or 1. Not valid with --reload.)rD   rC   rE   z--loopautozEvent loop implementation.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-headerszdEnable/Disable X-Forwarded-Proto, X-Forwarded-For, X-Forwarded-Port to populate 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   zLClose Keep-Alive connections if no new data is received within this timeout.z--timeout-graceful-shutdownz8Maximum number of seconds to wait for graceful shutdown.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.)rG   callbackexpose_valueis_eagerrE   z	--app-dirzuLook for APP in the specified directory, by adding this to the PYTHONPATH. Defaults to the current working directory.)rD   rF   rE   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.)rG   rD   rE   rF   strhostportintudsfdloopr   httpr   wsr   ws_max_sizews_max_queuews_ping_intervalfloatws_ping_timeoutws_per_message_deflatelifespanr   	interfacer   reload	list[str]reload_delayworkersenv_file
log_config	log_level
access_logproxy_headersserver_headerdate_headerforwarded_allow_ips	root_pathlimit_concurrencybackloglimit_max_requeststimeout_keep_alivetimeout_graceful_shutdown
int | Nonessl_keyfilessl_certfilessl_keyfile_passwordssl_versionssl_cert_reqsssl_ca_certsssl_ciphers
use_colorsapp_dirfactoryc/                b   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|pd d|pd d|p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 S )0NrX   rY   r[   r\   r]   r^   r_   r`   ra   rb   rd   re   rf   rl   rm   rn   ro   rg   rh   rH   rK   rL   rj   rk   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   r{   r|   r}   r~   r   r   r   rR   c                :    g | ]}|                     d d          S ):   )split)r   headers     r    r!   zmain.<locals>.<listcomp>  s&    <<<&c1%%<<<r"   r   r   r   rV   )runr   )/r@   rX   rY   r[   r\   r]   r^   r_   r`   ra   rb   rd   re   rf   rg   rh   rH   rK   rL   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   r{   r|   r}   r~   r   r   r   rR   r   r   rV   r   s/                                                  r    mainr   =   s   ~
 0 0 0T0 T0 C	0
 20 T0 T0 20  K0 "\0 *)0 (0  650 0 0  &0%7>>Z!0" )#0$ :%0& )'0( v)0*  '4+0, (/4-0. (/4/00 "\102 304 $m506 $m708  K90: 0/;0< )=0> ,+?0@ A0B .-C0D .-E0F #<";G0H  KI0J "\K0L 21M0N  KO0P $mQ0R "\S0T  KU0V =<G<<<<W0X :Y0Z [0\ ]0^ 'D&C_0 0 0 0r"   ).rX   rY   r[   r\   r]   r^   r_   r`   ra   rb   rd   re   rf   rg   rh   rH   rK   rL   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   r{   r|   r}   r~   r   r   r   rR   r   r   r   rV   *ASGIApplication | Callable[..., Any] | str
str | None)type[asyncio.Protocol] | HTTPProtocolType'type[asyncio.Protocol] | WSProtocolTypefloat | Nonelist[str] | str | Nonestr | os.PathLike[str] | None7dict[str, Any] | str | RawConfigParser | IO[Any] | Nonestr | int | Nonelist[tuple[str, str]] | Nonebool | Nonec       .        R   |, t           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.|.}/t	          |//          }0|/j        s|/j        d0k    rRt          | t                    s=t          j
        d1          }1|1                    d2           t          j        d0           	 |/j        r?|/                                }2t          |/|0j        |2g3                                           n^|/j        d0k    r?|/                                }2t#          |/|0j        |2g3                                           n|0                                 n# t$          $ r Y nw xY w|/j        r=t(          j                            |/j                  rt)          j        |/j                   nK# |/j        r>t(          j                            |/j                  rt)          j        |/j                   w w w xY w|0j        s-|/j        s(|/j        d0k    rt          j        t0                     d S d S d S d S )4Nr   rX   rY   r[   r\   r]   r^   r_   r`   ra   rb   rd   re   rf   rg   rh   rH   rK   rL   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   r{   r|   r}   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   rh   rk   
isinstancerW   logging	getLoggerwarningr;   should_reloadbind_socketr   r   r   KeyboardInterruptr[   osrI   removestartedSTARTUP_FAILURE)3r@   rX   rY   r[   r\   r]   r^   r_   r`   ra   rb   rd   re   rf   rg   rh   rH   rK   rL   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   r{   r|   r}   r~   r   r   r   rR   r   r   r   rV   r   serverloggersocks3                                                      r    r   r     sm   d 7###/ / /T/ T/ C	/
 2/ T/ T/ 2/  K/ "\/ *)/ (/  65/ / )/  v!/"  K#/$ (%/& ('/( "\)/* +/, -/. ://0 )1/2 :3/4 $m5/6 $m7/8  K9/: 0/;/< )=/> ,+?/@ A/B .-C/D .-E/F #<";G/H  KI/J "\K/L 21M/N  KO/P $mQ/R "\S/T  KU/V W/X :Y/Z [/\ 'D&C]/F` 6"""F !++ZS5I5I+"?33nooo" 	%%''D
TFCCCGGIIII^a%%''D
TFCCCGGIIIIJJLLL    : 	""'..44 	"Ifj!!! : 	""'..44 	"Ifj!!!!	" 	" > "&"6 "6>Q;N;N!!!!!" " " ";N;Ns,   *B$G H$ 
GH$ GH$ $AI,__main__)r%   r&   r'   r(   r)   r*   r+   r,   )`r@   rW   rX   rW   rY   rZ   r[   rW   r\   rZ   r]   r   r^   r   r_   r   r`   rZ   ra   rZ   rb   rc   rd   rc   re   r*   rf   r   rg   r   rh   r*   rH   ri   rK   ri   rL   ri   rj   rc   rk   rZ   rl   rW   rm   rW   rn   rW   ro   r*   rp   r*   rq   r*   rr   r*   rs   rW   rt   rW   ru   rZ   rv   rZ   rw   rZ   rx   rZ   ry   rz   r{   rW   r|   rW   r}   rW   r~   rZ   r   rZ   r   rW   r   rW   rR   ri   r   r*   r   rW   rV   rz   r   r*   r+   r,   )`r@   r   rX   rW   rY   rZ   r[   r   r\   rz   r]   r   r^   r   r_   r   r`   rZ   ra   rZ   rb   r   rd   r   re   r*   rf   r   rg   r   rh   r*   rH   r   rK   r   rL   r   rj   rc   rk   rz   rl   r   rm   r   rn   r   ro   r*   rp   r*   rq   r*   rr   r*   rs   r   rt   rW   ru   rz   rv   rZ   rw   rz   rx   rZ   ry   rz   r{   r   r|   r   r}   r   r~   rZ   r   rZ   r   r   r   rW   rR   r   r   r   r   r   r   r*   rV   rz   r+   r,   )@
__future__r   asyncior   r   r8   sslr   configparserr   typingr   r   r   r3   r6   uvicorn._typesr   uvicorn.configr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   uvicorn.serverr   r   uvicorn.supervisorsr   r   ChoicelistkeysLEVEL_CHOICESHTTP_CHOICES
WS_CHOICESLIFESPAN_CHOICESLOOP_CHOICESINTERFACE_CHOICESr   r   r   r<   commandargumentoptionrW   rZ   Pathrc   r*   	CERT_NONEr   r   __name__r   r"   r    <module>r      s   " " " " " "   				  



 



 ( ( ( ( ( ( $ $ $ $ $ $ $ $ $ $   * * * * * *                                 / . . . . . . . : : : : : : : :TT/*/"3"34455u|DD!4!4!6!67788U\$$0|0223344
5<]X]__ 5 566 u|PP,<K,<,>,>PPPQQ EL,, 		?	+	+    !5y ABBBm,,,		$   		L   gC4STTTf33^___j$<QRRR	`	4	 	 	    
@	   
	   		b   	
=	   		%   		(   
		-   		.   		=   		.   		-   		4   		#   		E   	4	 	 	 	*   	4	 	 	 	M   		%   "	%	   "	,	   (	r	   (	0	   $	.	   	
.	   		W	   		l	   		;	   		P	   		W   !		C	   oCNY]^^^		   		   	C$%%	7   	C	K   		   		3   	L	   	0   
2	   %#		Q   	Q  a a a            _^                               SR `_ UT   -, CB\	aN  6<28%)$(#'#%*..2.2.2JX"&26$(%),01526'++#,0"04a|" |" |" |" |" |"~ zDFFFFF r"   