JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrB YI~d@sddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZy ddlZWnek rdZYnXddlmZddlmZddlmZddlmZddlmZddlmZdd lmZdd lmZdd lmZd Zd ZdZe edZ!dZ"e#Z$ddZ%ddZ&ddZ'd%ddZ(ddZ)e edrjddZ*nddZ*Gdd d ej+Z,Gd!d"d"ej-Z.Gd#d$d$ej/Z0dS)&N) constants) coroutines)events)futures) protocols)sslproto)tasks) transports)logger) BaseEventLoopdg?AF_INET6iQcCs0|j}tt|ddtjr$t|jSt|SdS)N__self__)Z _callback isinstancegetattrr Taskreprrstr)handlecbr8/opt/alt/python37/lib64/python3.7/asyncio/base_events.py_format_handleEs rcCs(|tjkrdS|tjkrdSt|SdS)Nzz) subprocessPIPESTDOUTr)fdrrr _format_pipeNs   rcCsLttdstdn4y|tjtjdWntk rFtdYnXdS)N SO_REUSEPORTz)reuse_port not supported by socket modulerzTreuse_port not supported by socket module, SO_REUSEPORT defined but not implemented.)hasattrsocket ValueError setsockopt SOL_SOCKETrOSError)sockrrr_set_reuseportWs   r'c CszttdsdS|dtjtjhks(|dkr,dS|tjkr>tj}n|tjkrPtj}ndS|dkrbd}nVt|trz|dkrzd}n>t|tr|dkrd}n&y t |}Wnt t fk rdSX|tj krtj g}tr|tjn|g}t|tr|d}d|krdSxp|D]h}yJt||trD|tjkrD|||d||||ffS|||d||ffSWntk rnYnXq WdS)N inet_ptonrZidna%)r r! IPPROTO_TCPZ IPPROTO_UDP SOCK_STREAM SOCK_DGRAMrbytesrint TypeErrorr" AF_UNSPECAF_INET _HAS_IPv6appendrdecoder(r%) hostportfamilytypeprotoZflowinfoZscopeidZafsafrrr _ipaddr_infobsL           r=cCs:|s(|}t|tr(t|ts(dSt|dS)N) cancelled exceptionr BaseException ExceptionrZ _get_loopstop)futexcrrr_run_until_complete_cbs rE TCP_NODELAYcCs@|jtjtjhkr<|jtjkr<|jtjkr<|tjtj ddS)Nr) r9r!r3rr:r-r;r,r#rF)r&rrr _set_nodelays  rGcCsdS)Nr)r&rrrrGsc@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)_SendfileFallbackProtocolcCsht|tjstd||_||_||_|j |_ | | ||j r^|jj |_nd|_dS)Nz.transport should be _FlowControlMixin instance)rr Z_FlowControlMixinr1 _transportZ get_protocol_protoZ is_reading_should_resume_readingZ_protocol_paused_should_resume_writing pause_reading set_protocol_loop create_future_write_ready_fut)selftransprrr__init__s    z"_SendfileFallbackProtocol.__init__cs2|jrtd|j}|dkr$dS|IdHdS)NzConnection closed by peer)rI is_closingConnectionErrorrQ)rRrCrrrdrains  z_SendfileFallbackProtocol.draincCs tddS)Nz?Invalid state: connection should have been established already.) RuntimeError)rR transportrrrconnection_madesz)_SendfileFallbackProtocol.connection_madecCs@|jdk r0|dkr$|jtdn |j||j|dS)NzConnection is closed by peer)rQZ set_exceptionrVrJconnection_lost)rRrDrrrr[s    z)_SendfileFallbackProtocol.connection_lostcCs |jdk rdS|jj|_dS)N)rQrIrOrP)rRrrr pause_writings z'_SendfileFallbackProtocol.pause_writingcCs$|jdkrdS|jdd|_dS)NF)rQ set_result)rRrrrresume_writings  z(_SendfileFallbackProtocol.resume_writingcCs tddS)Nz'Invalid state: reading should be paused)rX)rRdatarrr data_receivedsz'_SendfileFallbackProtocol.data_receivedcCs tddS)Nz'Invalid state: reading should be paused)rX)rRrrr eof_receivedsz&_SendfileFallbackProtocol.eof_receivedcsF|j|j|jr|j|jdk r2|j|jrB|jdS)N) rIrNrJrKresume_readingrQcancelrLr^)rRrrrrestores   z!_SendfileFallbackProtocol.restoreN) __name__ __module__ __qualname__rTrWrZr[r\r^r`rardrrrrrHs rHc@sxeZdZddZddZddZddZd d Zd d Zd dZ ddZ e ddZ ddZ ddZddZddZdS)ServercCs@||_||_d|_g|_||_||_||_||_d|_d|_ dS)NrF) rO_sockets _active_count_waiters_protocol_factory_backlog _ssl_context_ssl_handshake_timeout_serving_serving_forever_fut)rRloopsocketsprotocol_factoryZ ssl_contextbacklogssl_handshake_timeoutrrrrTszServer.__init__cCsd|jjd|jdS)N) __class__rers)rRrrr__repr__szServer.__repr__cCs|jd7_dS)Nr)rj)rRrrr_attachszServer._attachcCs.|jd8_|jdkr*|jdkr*|dS)Nrr)rjri_wakeup)rRrrr_detach szServer._detachcCs0|j}d|_x|D]}|s||qWdS)N)rkdoner])rRwaiterswaiterrrrr|s  zServer._wakeupc CsN|jr dSd|_x8|jD].}||j|j|j||j||j|jqWdS)NT) rpriZlistenrmrO_start_servingrlrnro)rRr&rrrrs   zServer._start_servingcCs|jS)N)rO)rRrrrget_loop#szServer.get_loopcCs|jS)N)rp)rRrrr is_serving&szServer.is_servingcCs|jdkrgSt|jS)N)rilist)rRrrrrs)s zServer.socketscCsr|j}|dkrdSd|_x|D]}|j|qWd|_|jdk r\|js\|jd|_|jdkrn|dS)NFr) rirOZ _stop_servingrprqr~rcrjr|)rRrsr&rrrclose/s     z Server.closecs"|tjd|jdIdHdS)Nr)rr)rr sleeprO)rRrrr start_servingBszServer.start_servingc s|jdk rtd|d|jdkr4td|d||j|_zLy|jIdHWn6tjk rz|| IdHWdXYnXWdd|_XdS)Nzserver z, is already being awaited on serve_forever()z is closed) rqrXrirrOrPrZCancelledErrorr wait_closed)rRrrr serve_foreverHs   zServer.serve_forevercs<|jdks|jdkrdS|j}|j||IdHdS)N)rirkrOrPr5)rRrrrrr]s   zServer.wait_closedN)rerfrgrTrzr{r}r|rrrpropertyrsrrrrrrrrrhs   rhc @s*eZdZddZddZddZddZd d Zd d Zdd d dddZ ddd d d d ddddZ dddZ dddZ dddZ dddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Zd:d;Zd d<d=d>Zd d<d?d@Zd d<dAdBZ dCdDZ!dEdFZ"dGdHZ#d d<dIdJZ$dKdLZ%dMdNZ&dOdPZ'dQdQdQdQdRdSdTZ(ddUdVZ)dddWdXdYZ*dZd[Z+d\d]Z,d^d_Z-dd dQdQdQd d d d d`dadbZ.ddcddZ/dddWdedfZ0dgdhZ1didjZ2dd d dkdldmZ3ddQdQdQe4d d d dndodpZ5dQe6j7dQdQdRdqdrZ8dsdtZ9de6j:e6j;d dud d d d ddv dwdxZd~dZ?ddZ@eAjBeAjBeAjBdddQdddZCeAjBeAjBeAjBdddQdddZDddZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddZOd S)r cCsd|_d|_d|_t|_g|_d|_d|_d|_ t dj |_ d|_|td|_d|_d|_d|_d|_t|_d|_dS)NrF monotonicg?)_timer_cancelled_count_closed _stopping collectionsdeque_ready _scheduled_default_executorZ _internal_fds _thread_idtimeZget_clock_infoZ resolution_clock_resolution_exception_handler set_debugrZ_is_debug_modeslow_callback_duration_current_handle _task_factory"_coroutine_origin_tracking_enabled&_coroutine_origin_tracking_saved_depthweakrefZWeakSet _asyncgens_asyncgens_shutdown_called)rRrrrrTgs$  zBaseEventLoop.__init__c Cs.d|jjd|d|d|d S)Nrwz running=z closed=z debug=rx)ryre is_running is_closed get_debug)rRrrrrzszBaseEventLoop.__repr__cCs tj|dS)N)rr)rZFuture)rRrrrrPszBaseEventLoop.create_futurecCs@||jdkr0tj||d}|jr<|jd=n |||}|S)N)rr) _check_closedrr r_source_traceback)rRcoroZtaskrrr create_tasks   zBaseEventLoop.create_taskcCs"|dk rt|std||_dS)Nz'task factory must be a callable or None)callabler1r)rRfactoryrrrset_task_factorys zBaseEventLoop.set_task_factorycCs|jS)N)r)rRrrrget_task_factoryszBaseEventLoop.get_task_factoryN)extraservercCstdS)N)NotImplementedError)rRr&protocolrrrrrr_make_socket_transportsz$BaseEventLoop._make_socket_transportFT) server_sideserver_hostnamerrrvcall_connection_madec CstdS)N)r) rRZrawsockr sslcontextrrrrrrvrrrr_make_ssl_transportsz!BaseEventLoop._make_ssl_transportcCstdS)N)r)rRr&raddressrrrrr_make_datagram_transportsz&BaseEventLoop._make_datagram_transportcCstdS)N)r)rRpiperrrrrr_make_read_pipe_transportsz'BaseEventLoop._make_read_pipe_transportcCstdS)N)r)rRrrrrrrr_make_write_pipe_transportsz(BaseEventLoop._make_write_pipe_transportc stdS)N)r) rRrargsshellstdinstdoutstderrbufsizerkwargsrrr_make_subprocess_transportsz(BaseEventLoop._make_subprocess_transportcCstdS)N)r)rRrrr_write_to_selfszBaseEventLoop._write_to_selfcCstdS)N)r)rR event_listrrr_process_eventsszBaseEventLoop._process_eventscCs|jrtddS)NzEvent loop is closed)rrX)rRrrrrszBaseEventLoop._check_closedcCs*|j||s&||j|dS)N)rdiscardrcall_soon_threadsaferaclose)rRagenrrr_asyncgen_finalizer_hooks z&BaseEventLoop._asyncgen_finalizer_hookcCs.|jrtjd|dt|d|j|dS)Nzasynchronous generator z3 was scheduled after loop.shutdown_asyncgens() call)source)rwarningswarnResourceWarningradd)rRrrrr_asyncgen_firstiter_hooks   z&BaseEventLoop._asyncgen_firstiter_hookcsd|_t|jsdSt|j}|jtjdd|Dd|dIdH}x8t||D]*\}}t|t rV| d|||dqVWdS)NTcSsg|] }|qSr)r).0Zagrrr sz4BaseEventLoop.shutdown_asyncgens..)Zreturn_exceptionsrrz;an error occurred during closing of asynchronous generator )messager?Zasyncgen) rlenrrclearr gatherziprrAcall_exception_handler)rRZ closing_agensresultsresultrrrrshutdown_asyncgenss     z BaseEventLoop.shutdown_asyncgenscCs(|rtdtdk r$tddS)Nz"This event loop is already runningz7Cannot run the event loop while another loop is running)rrXrZ_get_running_loop)rRrrr_check_runnung s  zBaseEventLoop._check_runnungc Cs||||jt|_t}tj |j |j dz$t |x||jrNPqNWWdd|_d|_t d|dtj |XdS)N) firstiter finalizerF)rr_set_coroutine_origin_tracking_debug threading get_identrsysget_asyncgen_hooksset_asyncgen_hooksrrrZ_set_running_loop _run_oncer)rRZold_agen_hooksrrr run_forevers$       zBaseEventLoop.run_foreverc Cs||t| }tj||d}|r4d|_|tzr?Zremove_done_callbackrXr)rRZfutureZnew_taskrrrrun_until_complete's"      z BaseEventLoop.run_until_completecCs d|_dS)NT)r)rRrrrrBMszBaseEventLoop.stopcCsj|rtd|jrdS|jr,td|d|_|j|j|j }|dk rfd|_ |j dddS)Nz!Cannot close a running event loopzClose %rTF)wait) rrXrrr debugrrrrZshutdown)rRexecutorrrrrUs   zBaseEventLoop.closecCs|jS)N)r)rRrrrrkszBaseEventLoop.is_closedcCs2|s.tjd|t|d|s.|dS)Nzunclosed event loop )r)rrrrrr)rRrrr__del__os zBaseEventLoop.__del__cCs |jdk S)N)r)rRrrrrvszBaseEventLoop.is_runningcCstS)N)rr)rRrrrrzszBaseEventLoop.time)contextcGs2|j|||f|d|i}|jr.|jd=|S)Nrr)call_atrr)rRZdelaycallbackrrtimerrrr call_laters zBaseEventLoop.call_latercGsZ||jr"|||dt|||||}|jrB|jd=t|j |d|_ |S)NrrT) rr _check_thread_check_callbackrZ TimerHandlerheapqheappushr)rRwhenrrrrrrrrs zBaseEventLoop.call_atcGsB||jr"|||d||||}|jr>|jd=|S)N call_soonr)rrrr _call_soonr)rRrrrrrrrrs  zBaseEventLoop.call_sooncCsDt|st|r$td|dt|s@td|d|dS)Nzcoroutines cannot be used with z()z"a callable object was expected by z(), got )rZ iscoroutineZiscoroutinefunctionr1r)rRrmethodrrrrs  zBaseEventLoop._check_callbackcCs.t||||}|jr|jd=|j||S)Nr)rZHandlerrr5)rRrrrrrrrrs  zBaseEventLoop._call_sooncCs,|jdkrdSt}||jkr(tddS)NzMNon-thread-safe operation invoked on an event loop other than the current one)rrrrX)rRZ thread_idrrrrs  zBaseEventLoop._check_threadcGsB||jr||d||||}|jr6|jd=||S)Nrr)rrrrrr)rRrrrrrrrrs z"BaseEventLoop.call_soon_threadsafecGsZ||jr||d|dkr@|j}|dkr@tj}||_tj|j|f||dS)Nrun_in_executor)rr) rrrr concurrentrZThreadPoolExecutorZ wrap_futureZsubmit)rRrfuncrrrrrs  zBaseEventLoop.run_in_executorcCs ||_dS)N)r)rRrrrrset_default_executorsz"BaseEventLoop.set_default_executorc Cs|d|g}|r$|d||r8|d||rL|d||r`|d|d|}td||}t||||||} ||} d|d | d d d | }| |jkrt|n t|| S) N:zfamily=ztype=zproto=zflags=z, zGet address info %szGetting address info z took g@@z.3fzms: ) r5joinr rrr! getaddrinforinfo) rRr7r8r9r:r;flagsmsgt0Zaddrinfodtrrr_getaddrinfo_debugs&      z BaseEventLoop._getaddrinfo_debugr)r9r:r;rc s2|jr|j}ntj}|d|||||||IdHS)N)rrr!rr)rRr7r8r9r:r;rZ getaddr_funcrrrrs zBaseEventLoop.getaddrinfocs|dtj||IdHS)N)rr! getnameinfo)rRZsockaddrrrrrrszBaseEventLoop.getnameinfo)fallbackc s|jr|dkrtd|||||y|||||IdHStjk rj}z |sZWdd}~XYnX|||||IdHS)Nrzthe socket must be non-blocking)rZ gettimeoutr"_check_sendfile_params_sock_sendfile_nativerSendfileNotAvailableError_sock_sendfile_fallback)rRr&fileoffsetcountr rDrrr sock_sendfileszBaseEventLoop.sock_sendfilecstd|ddS)Nz-syscall sendfile is not available for socket z and file {file!r} combination)rr )rRr&rrrrrrr ,sz#BaseEventLoop._sock_sendfile_nativec s|r|||rt|tjntj}t|}d}ztxn|rPt|||}|dkrPPt|d|}|d|j|IdH} | s|P|||d| IdH|| 7}q4W|S|dkrt |dr|||XdS)Nrseek) rminrZ!SENDFILE_FALLBACK_READBUFFER_SIZE bytearray memoryviewrreadintoZ sock_sendallr ) rRr&rrr blocksizebuf total_sentviewreadrrrr 3s(  z%BaseEventLoop._sock_sendfile_fallbackcCsdt|ddkrtd|jtjks,td|dk rbt|tsLtd||dkrbtd|t|tsztd||dkrtd|dS)Nbmodez$file should be opened in binary modez+only SOCK_STREAM type sockets are supportedz+count must be a positive integer (got {!r})rz0offset must be a non-negative integer (got {!r})) rr"r:r!r-rr0r1format)rRr&rrrrrrr Ms&     z$BaseEventLoop._check_sendfile_params)sslr9r;rr& local_addrrrvc s| dk r|std| dkr0|r0|s,td|} | dk rD|sDtd|dk sV|dk r|dk rftd|j||f|tj|||dIdH} | std| dk r|j| |tj|||dIdH} | stdg}x| D]J\}}}}}ytj|||d}|d| dk rx| D]r\}}}}}y||PWnPtk r|}z0d |d |j}t|j |}| |Wdd}~XYnXqW| d}w|j rt d |||||IdHWn^tk r}z |dk r| | |Wdd}~XYq|dk r| YqXPqWt|d kr:|d nJt|d tfdd|Drf|d tdddd|Dn.|dkrtd|jtjkrtd||j|||| | dIdH\}}|j r|d}t d|||||||fS)Nz+server_hostname is only meaningful with sslz:You must set server_hostname when using ssl without a hostz1ssl_handshake_timeout is only meaningful with sslz8host/port and sock can not be specified at the same time)r9r:r;rrrz!getaddrinfo() returned empty list)r9r:r;Fz*error while attempting to bind on address z: zconnect %r to %rrrc3s|]}t|kVqdS)N)r)rrD)modelrr sz2BaseEventLoop.create_connection..zMultiple exceptions: {}z, css|]}t|VqdS)N)r)rrDrrrr"sz5host and port was not specified and no sock specifiedz"A Stream Socket was expected, got )rvr!z%r connected to %s:%r: (%r, %r))r"_ensure_resolvedr!r-r% setblockingbindstrerrorlowererrnor5rrr r sock_connectrrallrrr:_create_connection_transportget_extra_info)rRrtr7r8rr9r;rr&r rrvinfosZ laddr_infos exceptionsr:Zcnamer_ZladdrrDrrYrr)r!rcreate_connectionbs       "       zBaseEventLoop.create_connectionc s|d|}|}|rHt|tr*dn|} |j||| ||||d} n||||} y|IdHWn| YnX| |fS)NF)rrrv)r$rPrboolrrr) rRr&rtrrrrvrrrrYrrrr+s   z*BaseEventLoop._create_connection_transportc s|rtdt|dtjj}|tjjkr:td||tjjkry|||||IdHStj k r}z |svWdd}~XYnX|std|| ||||IdHS)NzTransport is closingZ_sendfile_compatiblez(sendfile is not supported for transport zHfallback is disabled and native sendfile is not supported for transport ) rUrXrrZ _SendfileModeZ UNSUPPORTEDZ TRY_NATIVE_sendfile_nativerr _sendfile_fallback)rRrYrrrr rrDrrrsendfiles&     zBaseEventLoop.sendfilecstddS)Nz!sendfile syscall is not supported)rr )rRrSrrrrrrr2/szBaseEventLoop._sendfile_nativec s|r|||rt|dnd}t|}d}t|}z~xx|rVt|||}|dkrV|St|d|} |d|j| IdH} | s|S|IdH|| d| || 7}q8WWd|dkrt |dr|||| IdHXdS)Ni@rr) rrrrHrrrrWwriter rd) rRrSrrrrrrr;rrrrrr33s, z BaseEventLoop._sendfile_fallback)rrrvc stdkrtdt|tjs*td|t|ddsFtd|d|}tj|||||||dd}| | || |j |} | |j } y|IdHWn.tk r|| | YnX|jS)Nz"Python ssl module is not availablez@sslcontext is expected to be an instance of ssl.SSLContext, got Z_start_tls_compatibleFz transport z is not supported by start_tls())rvr)rrXrZ SSLContextr1rrPrZ SSLProtocolrMrNrrZrbrArrcZ_app_transport) rRrYrrrrrvrZ ssl_protocolZ conmade_cbZ resume_cbrrr start_tlsLs4      zBaseEventLoop.start_tls)r9r;r reuse_address reuse_portallow_broadcastr&c s| dk r| jtjkr"td| s>s>|s>|s>|s>|s>| r~t|||||| d} ddd| D} td| d| dd} nss|d krtd ||fd ff}n ttd r|tj krx*fD]}|dk rt |t st d qW||ffff}nt }xd fdffD]\}}|dk r,|j||tj|||dIdH}|sjtdxB|D]:\}}}}}||f}||krddg||<||||<qpWq,Wfdd|D}|stdg}|tk r|rtdntjdtddx|D]\\}}\}}d} d} yxtj|tj|d} |rJt| | rb| tjtjd| dr|| |r| s|| |IdH|} Wn^tk r}z | dk r| ||Wdd}~XYn"| dk r| YnXPqW|d |}|}|| || |}|jr`rPt !d||nt "d||y|IdHWn|YnX||fS)NzA UDP Socket was expected, got )r  remote_addrr9r;rr7r8r9z, css$|]\}}|r|d|VqdS)=Nr)rkvrrrr"sz9BaseEventLoop.create_datagram_endpoint..zKsocket modifier keyword arguments can not be used when sock is specified. ()Frzunexpected address family)NNAF_UNIXzstring is expectedr)r9r:r;rrrz!getaddrinfo() returned empty listcs8g|]0\}}r|ddksr,|ddks||fqS)rNrr)rkeyZ addr_pair)r r:rrrsz:BaseEventLoop.create_datagram_endpoint..zcan not get address informationz~Passing `reuse_address=True` is no longer supported, as the usage of SO_REUSEPORT in UDP poses a significant security concern.zcThe *reuse_address* parameter has been deprecated as of 3.7.6 and is scheduled for removal in 3.11.) stacklevel)r9r:r;z@Datagram endpoint local_addr=%r remote_addr=%r created: (%r, %r)z2Datagram endpoint remote_addr=%r created: (%r, %r))#r:r!r.r"dictritemsr$r r?rrr1r OrderedDictr#r%_unsetrrDeprecationWarningr'r#r$Z SO_BROADCASTr%r)rr5rPrrr rr)rRrtr r:r9r;rr7r8r9r&ZoptsZproblemsZr_addrZaddr_pairs_infoZaddrZ addr_infosidxr-Zfamr/Zprorr@r.Z local_addressZremote_addressrDrrrYr)r r:rcreate_datagram_endpointzs                z&BaseEventLoop.create_datagram_endpointc s\|dd\}}t|||||f|dd} | dk r<| gS|j||||||dIdHSdS)NrA)r9r:r;r)r=r) rRrr9r:r;rrrr7r8rrrrr#s  zBaseEventLoop._ensure_resolvedcs8|j||f|tj||dIdH}|s4td|d|S)N)r9r:rrrz getaddrinfo(z) returned empty list)r#r!r-r%)rRr7r8r9rr-rrr_create_server_getaddrinfo s  z(BaseEventLoop._create_server_getaddrinfor ) r9rr&rurr7r8rvrc  st|trtd| dk r*|dkr*td|dk s<dk r*|dk rLtd| dkrhtjdkoftjdk} g} |dkr|dg}n$t|tst|t j j s|g}n|}fdd|D}t j |d iIdH}ttj|}d }z"x|D] }|\}}}}}yt|||}Wn6tjk rJjrDtjd |||d d wYnX| || rn|tjtjd | r|t|tr|tjkrttdr|tjtj d y|!|Wqt"k r}z t"|j#d||j$%fdWdd}~XYqXqWd }Wd|s&x| D]}|&qWXn4|dkr.rrFz:create_server() failed to create socket.socket(%r, %r, %r)T)exc_info IPPROTO_IPV6z0error while attempting to bind on address %r: %sz)Neither host/port nor sock were specifiedz"A Stream Socket was expected, got r)rrz %r is serving).rr1r1r"osnamerplatformrrabcIterabler rset itertoolschain from_iterabler!errorrr warningr5r#r$Z SO_REUSEADDRr'r4rr rNZ IPV6_V6ONLYr%r%r(r&r'rr:r-r$rhrrr)rRrtr7r8r9rr&rurr7r8rvrrsZhostsZfsr-Z completedZresr<Zsocktyper;Z canonnameZsaerrrr)r9rr8rRr create_servers     *     zBaseEventLoop.create_server)rrvcsv|jtjkrtd||dk r.|s.td|j|||dd|dIdH\}}|jrn|d}td|||||fS)Nz"A Stream Socket was expected, got z1ssl_handshake_timeout is only meaningful with sslr*T)rrvr!z%r handled: (%r, %r)) r:r!r-r"r+rr,r r)rRrtr&rrvrYrrrrconnect_accepted_sockets    z%BaseEventLoop.connect_accepted_socketcsd|}|}||||}y|IdHWn|YnX|jr\td|||||fS)Nz Read pipe %r connected: (%r, %r))rPrrrr rfileno)rRrtrrrrYrrrconnect_read_pipeszBaseEventLoop.connect_read_pipecsd|}|}||||}y|IdHWn|YnX|jr\td|||||fS)Nz!Write pipe %r connected: (%r, %r))rPrrrr rr])rRrtrrrrYrrrconnect_write_pipesz BaseEventLoop.connect_write_pipecCs|g}|dk r"|dt||dk rJ|tjkrJ|dt|n8|dk rf|dt||dk r|dt|td|dS)Nzstdin=zstdout=stderr=zstdout=zstderr= )r5rrrr rr)rRrrrrrrrr_log_subprocessszBaseEventLoop._log_subprocess)rrruniversal_newlinesrrc st|ttfstd|r"td|s.td|dkr>td|} d} |jrfd|} || ||||j| |d||||f| IdH} |jr| dk rtd| | | | fS) Nzcmd must be a stringz universal_newlines must be Falsezshell must be Truerzbufsize must be 0zrun shell command %rTz%s: %r) rr/rr"rrarr r) rRrtcmdrrrrbrrrr debug_logrYrrrsubprocess_shells$zBaseEventLoop.subprocess_shellcs|r td|rtd|dkr(td|f| } x.| D]&} t| ttfs8tdt| jq8W|} d}|jrd|}||||||j | | d||||f| IdH}|jr|dk rt d|||| fS) Nz universal_newlines must be Falsezshell must be Falserzbufsize must be 0z6program arguments must be a bytes or text string, not zexecute program Fz%s: %r) r"rrr/r1r:rerrarr r)rRrtZprogramrrrrbrrrrZ popen_argsargrrdrYrrrsubprocess_execs,    zBaseEventLoop.subprocess_execcCs|jS)N)r)rRrrrget_exception_handler sz#BaseEventLoop.get_exception_handlercCs(|dk rt|std|||_dS)Nz+A callable object or None is expected, got )rr1r)rRZhandlerrrrset_exception_handlers z#BaseEventLoop.set_exception_handlerc Cs|d}|sd}|d}|dk r6t|||jf}nd}d|kr`|jdk r`|jjr`|jj|d<|g}xt|D]}|dkr~qp||}|dkrdt|}d }|| 7}n2|dkrdt|}d }|| 7}nt |}| |d |qpWt j d ||d dS)Nrz!Unhandled exception in event loopr?FZsource_tracebackZhandle_traceback>rr?r*z+Object created at (most recent call last): z+Handle created at (most recent call last): z:  )rM)getr: __traceback__rrsortedr traceback format_listrstriprr5r rX) rRrrr?rMZ log_linesr@valuetbrrrdefault_exception_handler#s6    z'BaseEventLoop.default_exception_handlerc Cs|jdkr>y||Wqtk r:tjdddYqXnny|||Wn\tk r}z>y|d||dWn"tk rtjdddYnXWdd}~XYnXdS)Nz&Exception in default exception handlerT)rMz$Unhandled error in exception handler)rr?rzeException in default exception handler while handling an unexpected error in custom exception handler)rrsrAr rX)rRrrDrrrrUs" z$BaseEventLoop.call_exception_handlercCs|jr dS|j|dS)N) _cancelledrr5)rRrrrr _add_callbackszBaseEventLoop._add_callbackcCs|||dS)N)rur)rRrrrr_add_callback_signalsafes z&BaseEventLoop._add_callback_signalsafecCs|jr|jd7_dS)Nr)rr)rRrrrr_timer_handle_cancelledsz%BaseEventLoop._timer_handle_cancelledc Cst|j}|tkrd|j|tkrdg}x&|jD]}|jr>d|_q,||q,Wt|||_d|_n8x6|jr|jdjr|jd8_t |j}d|_qfWd}|j s|j rd}n*|jr|jdj }t td||t}|jr|dkr|}|j|}||}|dkr tj} ntj} t|} |dkrNt| d|d| nD| rpt| d|d|d| n"|dkrt| d|d|dn |j|}||||j} xD|jr|jd}|j | krPt |j}d|_|j |qWt|j } xt| D]|} |j }|jr,q|jrzD||_|}|||}||jkrvt d t!||Wdd|_Xn|qWd}dS) NFrrg?zpoll took %.3f ms: %s eventsg@@z$poll %.3f ms took %.3f ms: %s eventsz"poll %.3f ms took %.3f ms: timeoutzExecuting %s took %.3f seconds)"rr_MIN_SCHEDULED_TIMER_HANDLESr%_MIN_CANCELLED_TIMER_HANDLES_FRACTIONrtr5rheapifyheappoprrZ_whenrmaxrMAXIMUM_SELECT_TIMEOUTrZ _selectorZselectloggingINFODEBUGr logrrrangepopleftrZ_runrrYr)rRZ sched_countZ new_scheduledrZtimeoutrrrrlevelZneventZend_timeZntodoirrrrs                       zBaseEventLoop._run_oncecCsHt|t|jkrdS|r2t|_ttjn t|j||_dS)N)r1rr#get_coroutine_origin_tracking_depthr#set_coroutine_origin_tracking_depthrZDEBUG_STACK_DEPTH)rRenabledrrrrs  z,BaseEventLoop._set_coroutine_origin_trackingcCs|jS)N)r)rRrrrr szBaseEventLoop.get_debugcCs ||_|r||j|dS)N)rrrr)rRrrrrrszBaseEventLoop.set_debug)N)N)NNN)NN)NN)N)r)rN)NN)FN)rN)NN)NN)PrerfrgrTrzrPrrrrrrrrrrrrrrrrrrrBrrrrrrrrrrrrrrrrrrr r r r0r+r4r2r3r6rFrIr!r-r#rJr2Z AI_PASSIVEr[r\r^r_rarrrergrhrirsrrurvrwrrrrrrrrr es      &       .,  l23cr )rr)1rZcollections.abcconcurrent.futuresrrrUr~rOr!rrrrnrrrr ImportErrorr*rrrrrrr r rr __all__rxryr r4r}objectrFrrr'r=rErGZProtocolrHZAbstractServerrhZAbstractEventLoopr rrrrsX               ;  Do