o
    +if?K                  '   @   sT  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	 d dl
mZ d dlm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 d dlmZ d	d
lmZ d	dlm Z  d	dl!m"Z" d	dl#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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZc d	dldmeZe d	dlfmgZg d	dlhmiZimjZj d	dlkmlZlmmZmmnZn d	dlompZpmqZqmrZr d	dlsmtZtmuZumvZvmwZw d	dlxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZ d	dlmZmZmZmZmZmZmZmZmZ d	dlmZ d	dlmZmZmZmZmZmZmZmZmZmZmZ d	dlmZmZmZ dZzd dlmZ W n ey   eZY nw ejdecdd ee Zddddd d!ded"egegje"dddd#d$d%ee&ee& f d&eeeef  d'ee d(ee$ee$ df d)eeejeej f  d*ed+ed,ee d-eed.  d/ed0ee d1ed2eej d3ed4ee d5ee d6ed7df$d8d9Zd:ed; d<e jd7dfd=d>Zddddd d!ded"egegje"dddd#dd?d%ee&ee& f d&eeeef  d'ee d(ee$ee$ df d)eeejeej f  d*ed+ed,ee d-eed.  d/ed0ee d1ed2eej d3ed4ee d5ee d6ed<ee j d7df&d@dAZdBee d7dfdCdDZedEkreejd	d  dS dS )F    N)ArgumentParser)Iterable)suppress)partial)import_module)
Any	AwaitableCallabler   ListOptionalSetTypeUnioncast)WeakSet   )AbstractAccessLogger)AppKey)access_logger)PathLike)ApplicationCleanupError);HTTPAcceptedHTTPBadGatewayHTTPBadRequestHTTPClientErrorHTTPConflictHTTPCreated	HTTPErrorHTTPExceptionHTTPExpectationFailedHTTPFailedDependencyHTTPForbidden	HTTPFoundHTTPGatewayTimeoutHTTPGoneHTTPInsufficientStorageHTTPInternalServerErrorHTTPLengthRequiredHTTPMethodNotAllowedHTTPMisdirectedRequestHTTPMoveHTTPMovedPermanentlyHTTPMultipleChoices!HTTPNetworkAuthenticationRequiredHTTPNoContentHTTPNonAuthoritativeInformationHTTPNotAcceptableHTTPNotExtendedHTTPNotFoundHTTPNotImplementedHTTPNotModifiedHTTPOkHTTPPartialContentHTTPPaymentRequiredHTTPPermanentRedirectHTTPPreconditionFailedHTTPPreconditionRequiredHTTPProxyAuthenticationRequiredHTTPRedirectionHTTPRequestEntityTooLargeHTTPRequestHeaderFieldsTooLargeHTTPRequestRangeNotSatisfiableHTTPRequestTimeoutHTTPRequestURITooLongHTTPResetContentHTTPSeeOtherHTTPServerErrorHTTPServiceUnavailableHTTPSuccessfulHTTPTemporaryRedirectHTTPTooManyRequestsHTTPUnauthorizedHTTPUnavailableForLegalReasonsHTTPUnprocessableEntityHTTPUnsupportedMediaTypeHTTPUpgradeRequiredHTTPUseProxyHTTPVariantAlsoNegotiatesHTTPVersionNotSupportedNotAppKeyWarning)FileResponse)AccessLogger)
middlewarenormalize_path_middleware)PayloadAccessErrorRequestHandlerRequestPayloadError)BaseRequest	FileFieldRequest)ContentCodingResponseStreamResponsejson_response)AbstractRouteDefRouteDefRouteTableDef	StaticDefdeletegetheadoptionspatchpostputroutestaticview)		AppRunner
BaseRunnerBaseSiteGracefulExitNamedPipeSiteServerRunnerSockSiteTCPSiteUnixSite)Server)AbstractResourceAbstractRouteDynamicResourcePlainResourcePrefixedSubAppResourceResourceResourceRouteStaticResourceUrlDispatcherUrlMappingMatchInfoView)WebSocketReadyWebSocketResponse	WSMsgType)rr   r   r   rR   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rS   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rt   ru   rv   rw   rs   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   run_app)
SSLContextignoreT)categoryappendg      N@g     R@   F)hostportpathsockshutdown_timeoutkeepalive_timeoutssl_contextprintbacklogaccess_log_classaccess_log_format
access_loghandle_signalsreuse_address
reuse_porthandler_cancellationappr   r   r   r   r   r   r   r   ).Nr   r   r   r   r   r   r   r   returnc                   s  dddt dd f fdd}ddd	 t| r| I d H } tt| } t| ||
|||||d
}| I d H  tt }t	||||_
g }z|d urut|ttttfra|t|||||	||d n-|D ]}|t|||||	||d qcn|d u r}|d u s|d ur|t||||	||d |d urt|ttjfr|t||||	d n|D ]}|t||||	d q|d urt|ts|t||||	d n|D ]}|t||||	d q|D ]	}| I d H  q|rtdd |jD }|dd| 	 tdI d H  q| I d H  w )Nstarting_tasksWeakSet[asyncio.Task[object]]r   r   c                    sh   t  }|d usJ | | tt j t j | |dI d H  W d    d S 1 s-w   Y  d S )N)timeout)asynciocurrent_taskaddr   TimeoutErrorwait_for)r   r   t_wait D/var/www/html/corbot_env/lib/python3.10/site-packages/aiohttp/web.pywaitC  s   
"z_run_app.<locals>.waitexcludec                    s\   t  }|d usJ | | t  |  }r,t |I d H  t  |  }sd S d S N)r   r   r   	all_tasks
differencer   )r   r   tasksr   r   r   r   M  s   
z_run_app.<locals>._wait)r   r   r   r   r   r   r   )r   r   r   r   )r   r   r   r   r   )r   r   c                 s   s    | ]}t |jV  qd S r   )strname).0sr   r   r   	<genexpr>  s    z_run_app.<locals>.<genexpr>z6======== Running on {} ========
(Press CTRL+C to quit)z, Ti  )r   r   r   N)floatr   iscoroutiner   r   ro   setupr   r   r   shutdown_callback
isinstancer   bytes	bytearray
memoryviewr   rv   osr   rw   r   ru   startsortedsitesformatjoinsleepcleanup)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   runnerr   r   hpr   sitenamesr   r   r   _run_app/  s   




		
	r   	to_cancelzasyncio.Task[Any]loopc                 C   sj   | sd S | D ]}|   q|tj| ddi | D ]}| r!q| d ur2|d| |d qd S )Nreturn_exceptionsTz1unhandled exception during asyncio.run() shutdown)message	exceptiontask)cancelrun_until_completer   gather	cancelledr   call_exception_handler)r   r   r   r   r   r   _cancel_tasks  s"   
r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c             
   C   s  |du rt  }| r*|r*|jdkr*|jtjkr|tj |	 s*|
t  |t| fi d|d|d|d|d|d|d	|d
|d|	d|
d|d|d|d|d|d|}zPzt | || W n ttfy{   Y nw W t|h| tt || ||  |  dS W t|h| tt || ||  |  dS t|h| tt || ||  |  w )zRun an app locallyNzaiohttp.accessr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   new_event_loop	get_debugr   levelloggingNOTSETsetLevelDEBUGhasHandlers
addHandlerStreamHandlercreate_taskr   set_event_loopr   rr   KeyboardInterruptr   r   shutdown_asyncgensclose)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	main_taskr   r   r   r     s   	


r   argvc              
   C   sr  t ddd}|jdddd |jdd	d
dd |jdddtdd |jdddd || \}}|jd\}}}|r=|sB|d |drL|d zt|}W n t	yo } z|d| d|  W Y d }~nd }~ww zt
||}	W n ty   |d|d| Y nw |jd urttds|d tjtjd  |	|}
t|
|j|j|jd! |jd"d# d S )$Nzaiohttp.web Application serverzaiohttp.web)descriptionprog
entry_funczvCallable returning the `aiohttp.web.Application` instance to run. Should be specified in the 'module:function' syntax.z
entry-func)helpmetavarz-Hz
--hostnamez2TCP/IP hostname to serve on (default: %(default)r)	localhost)r   defaultz-Pz--portz.TCP/IP port to serve on (default: %(default)r)8080)r   typer   z-Uz--pathzjUnix file system path to serve on. Specifying a path will cause hostname and port arguments to be ignored.)r   :z,'entry-func' not in 'module:function' syntax.z#relative module names not supportedzunable to import z: zmodule z has no attribute AF_UNIXz=file system paths not supported by your operating environment)r   )r   r   r   zStopped
)r   )r   add_argumentintparse_known_argsr   	partitionerror
startswithr   ImportErrorgetattrAttributeErrorr   hasattrsocketr   basicConfigr   r   hostnamer   exit)r   
arg_parserargs
extra_argvmod_str_func_strmoduleexfuncr   r   r   r   main*  sf   


"r  __main__)r   r   r   r   syswarningsargparser   collections.abcr   
contextlibr   	functoolsr   	importlibr   typingr   r   r	   TypingIterabler
   r   r   r   r   r   weakrefr   abcr   helpersr   logr   typedefsr   web_appr   r   web_exceptionsr   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   web_fileresponserS   web_logrT   web_middlewaresrU   rV   web_protocolrW   rX   rY   web_requestrZ   r[   r\   web_responser]   r^   r_   r`   web_routedefra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   
web_runnerro   rp   rq   rr   rs   rt   ru   rv   rw   
web_serverrx   web_urldispatcherry   rz   r{   r|   r}   r~   r   r   r   r   r   web_wsr   r   r   __all__sslr   r   filterwarningsr   HostSequencer   
LOG_FORMATr   r   Loggerboolr   AbstractEventLoopr   r   r  __name__r   r   r   r   r   <module>   s@   0=@,4 	


 "
	


B
=