Ë -°ùå<�'xãó—dZdZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl mZddl mZddl mZddl mZdd l mZdd l mZdd l mZdd l mZdd lmZeejd«Zer ej4d«Zd„ZGd„dej<«ZGd„dej@ejB«Z"Gd„de"«Z#Gd„de"ejH«Z%y#e $rdZ YŒÁwxYw#e$rdZYŒpwxYw)zÄEvent loop using a selector and related classes. A selector is a "notify-when-ready" multiplexer. For a subclass which also includes support for signal handling, see the unix_events sub-module. )ÚBaseSelectorEventLoopéNé)Ú base_events)Ú constants)Úevents)Úfutures)Ú protocols)Ússlproto)Ú transports)Útrsock)ÚloggerÚsendmsgÚ SC_IOV_MAXFcót— |j|«}t|j|z«S#t$rYywxYw©NF)Úget_keyÚboolrÚKeyError)ÚselectorÚfdÚeventÚkeys ú./usr/lib/python3.12/asyncio/selector_events.pyÚ_test_selector_eventr*sA€ð(Ø×јrÓ"ˆô�C—J‘J Ñ&Ó'Ð'øô òÙðús ‚+« 7¶7có‡—eZdZdZd3ˆfd„ Zd3dddœd„Z d3ddddejejdœd„Z d4d „Z ˆfd „Z d „Z d „Z d „Zd„Zd„Zdddejejfd„Zdddejejfd„Zddejejfd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd3d„Zd„Zd „Z d!„Z!d"„Z"d#„Z#d5d$„Z$d%„Z%d&„Z&d'„Z'd(„Z(d)„Z)d*„Z*d+„Z+d3d,„Z,d-„Z-d.„Z.d/„Z/d0„Z0d1„Z1d2„Z2ˆxZ3S)6rzJSelector event loop. See events.EventLoop for API specification. Ncó•—t‰|�«|€tj«}t j d|j j«||_|j«tj«|_ y)NzUsing selector: %s) ÚsuperÚ__init__Ú selectorsÚDefaultSelectorr ÚdebugÚ __class__Ú__name__Ú _selectorÚ_make_self_pipeÚweakrefÚWeakValueDictionaryÚ _transports)Úselfrr"s €rrzBaseSelectorEventLoop.__init__;saø€Ü ‰ÑÔà Ð Ü ×0Ñ0Ó2ˆHÜ� ‰ Ð)¨8×+=Ñ+=×+FÑ+FÔGØ!ˆŒØ ×ÑÔÜ"×6Ñ6Ó8ˆÕó©ÚextraÚservercóD—|j|«t||||||«S©N)Ú_ensure_fd_no_transportÚ_SelectorSocketTransport)r)ÚsockÚprotocolÚwaiterr,r-s rÚ_make_socket_transportz,BaseSelectorEventLoop._make_socket_transportEs*€à ×$Ñ$ TÔ*Ü'¨¨d°H¸fØ(-¨vó7ð 7r*F)Ú server_sideÚserver_hostnamer,r-Ússl_handshake_timeoutÚssl_shutdown_timeoutc ó–—|j|«tj||||||| | ¬«} t||| ||¬«| jS)N)r8r9r+)r0r Ú SSLProtocolr1Ú_app_transport) r)Úrawsockr3Ú sslcontextr4r6r7r,r-r8r9Ú ssl_protocols rÚ_make_ssl_transportz)BaseSelectorEventLoop._make_ssl_transportKsW€ð ×$Ñ$ WÔ-Ü×+Ñ+Ø �(˜J¨Ø ˜Ø"7Ø!5ô  ˆ ô !  w° Ø',°Võ =à×*Ñ*Ð*r*cóD—|j|«t||||||«Sr/)r0Ú_SelectorDatagramTransport)r)r2r3Úaddressr4r,s rÚ_make_datagram_transportz.BaseSelectorEventLoop._make_datagram_transport]s,€à ×$Ñ$ TÔ*Ü)¨$°°hØ*1°6¸5óBð Br*cóö•—|j«r td«‚|j«ry|j«t‰|�«|j �"|j j «d|_yy)Nz!Cannot close a running event loop)Ú is_runningÚ RuntimeErrorÚ is_closedÚ_close_self_piperÚcloser$©r)r"s €rrJzBaseSelectorEventLoop.closecsaø€Ø �?‰?Ô ÜÐBÓCÐ CØ �>‰>Ô Ø Ø ×ÑÔÜ ‰‰ ŒØ �>‰>Ð %Ø �N‰N× Ñ Ô "Ø!ˆD�Nð &r*có—|j|jj««|jj«d|_|jj«d|_|xj dzc_y)Nr)Ú_remove_readerÚ_ssockÚfilenorJÚ_csockÚ _internal_fds©r)s rrIz&BaseSelectorEventLoop._close_self_pipens\€Ø ×јDŸK™K×.Ñ.Ó0Ô1Ø � ‰ ×ÑÔØˆŒ Ø � ‰ ×ÑÔØˆŒ Ø ×Ò˜aÑÖr*cóD—tj«\|_|_|jj d«|jj d«|xj dz c_|j |jj«|j«y)NFr) ÚsocketÚ socketpairrNrPÚ setblockingrQÚ _add_readerrOÚ_read_from_selfrRs rr%z%BaseSelectorEventLoop._make_self_pipevsq€ä#)×#4Ñ#4Ó#6Ñ ˆŒ �T”[Ø � ‰ ×Ñ Ô&Ø � ‰ ×Ñ Ô&Ø ×Ò˜aÑÕØ ×јŸ™×+Ñ+Ó-¨t×/CÑ/CÕDr*có—yr/©©r)Údatas rÚ_process_self_dataz(BaseSelectorEventLoop._process_self_data~s€Ø r*có˜— |jjd«}|sy|j|«Œ1#t$rYŒ=t$rYywxYw)Ni)rNÚrecvr]ÚInterruptedErrorÚBlockingIOErrorr[s rrXz%BaseSelectorEventLoop._read_from_self�sV€Øð Ø—{‘{×'Ñ'¨Ó-�ÙØØ×'Ñ'¨Ô-ð øô $ò ÙÜ"ò Ùð úsƒ3¡3³ A ¾A ÁA có®—|j}|€y |jd«y#t$r(|jrt j dd¬«YyYywxYw)Nóz3Fail to write a null byte into the self-pipe socketT©Úexc_info)rPÚsendÚOSErrorÚ_debugr r!)r)Úcsocks rÚ_write_to_selfz$BaseSelectorEventLoop._write_to_self�sU€ð — ‘ ˆØ ˆ=Ø ð ,Ø �J‰J�uÕ øÜò ,Ø�{Š{Ü— ‘ ð0à&*÷,ñð ,ús‘#£,AÁAédc óf—|j|j«|j|||||||« yr/)rWrOÚ_accept_connection)r)Úprotocol_factoryr2r>r-Úbacklogr8r9s rÚ_start_servingz$BaseSelectorEventLoop._start_servingŸs4€ð ×јŸ™›¨×(?Ñ(?Ø)¨4°¸VÀWØ.Ð0Dõ Fr*c óð—t|«D]w} |j«\} } |jrtjd|| | «| j d«d| i} |j || | ||||«} |j| «Œyy#tttf$rYyt$rÏ} | jtjtjtjtj fvry|j#d| t%j&|«dœ«|j)|j+««|j-t.j0|j2|||||||« n‚Yd} ~ �Œdd} ~ wwxYw)Nz#%r got a new connection from %r: %rFÚpeernamez&socket.accept() out of system resource)ÚmessageÚ exceptionrT)ÚrangeÚacceptrhr r!rVÚ_accept_connection2Ú create_taskrar`ÚConnectionAbortedErrorrgÚerrnoÚEMFILEÚENFILEÚENOBUFSÚENOMEMÚcall_exception_handlerr ÚTransportSocketrMrOÚ call_laterrÚACCEPT_RETRY_DELAYrp)r)rnr2r>r-ror8r9Ú_ÚconnÚaddrr,rvÚexcs rrmz(BaseSelectorEventLoop._accept_connection§sX€ô�w–ˆAð" )Ø!Ÿ[™[›]‘ ��dØ—;’;Ü—L‘LÐ!FØ!'¨¨tô5à× Ñ  Ô'ð2$ TÐ*�Ø×1Ñ1Ø$ d¨E°:¸vØ)Ð+?óA�ð× Ñ  Õ(ñG øô$Ô%5Ô7MÐNò âÜò à—9‘9¤§¡¬u¯|©|Ü!&§¡´· ± ð!>ñ>ð ×/Ñ/Ø#KØ%(Ü"(×"8Ñ"8¸Ó">ñ1ôð ×'Ñ'¨¯ © « Ô6Ø—O‘O¤I×$@Ñ$@Ø$(×$7Ñ$7Ø$4°d¸JÈØ$+Ð-BØ$8õ :ð õ :ûð ús�ABÂE5ÂE5Â&CE0Å0E5c ƒó¸K—d}d} |«}|j«} |r|j|||| d||||¬« } n|j||| ||¬«} | ƒd{–—†y7Œ#t$r| j «d} ‚wxYw#t t f$r‚t$r?} |jr)d| dœ} |�|| d<| �| | d<|j| «Yd} ~ yYd} ~ yd} ~ wwxYw­w)NT)r4r6r,r-r8r9)r4r,r-z3Error on transport creation for incoming connection)rsrtr3Ú transport) Ú create_futurer@r5Ú BaseExceptionrJÚ SystemExitÚKeyboardInterruptrhr) r)rnr„r,r>r-r8r9r3rˆr4r†Úcontexts rrwz)BaseSelectorEventLoop._accept_connection2Õsèø€ð ˆØˆ ð& 5Ù'Ó)ˆHØ×'Ñ'Ó)ˆFÙØ ×4Ñ4ؘ( J°vØ $¨E¸&Ø*?Ø)=ð 5ó?‘ ð !×7Ñ7ؘ(¨6¸Ø!ð8ó#� ð Ø— ’ ùÜ ò Ø—‘Ô!ð�Øð  ûôÔ-Ð.ò Ø Üò 5Ø�{Š{ðNØ!$ñ�ð Ð'Ø*2�G˜JÑ'ØÐ(Ø+4�G˜KÑ(Ø×+Ñ+¨G×4Ñ4ôûð 5üsS‚CˆA BÁA ÁAÁA ÁCÁA Á A=Á=BÂCÂ0Cà CÃCÃCcó*—|}t|t«s t|j««} |j |}|j«std|›d|›�«‚y#ttt f$rt d|›�«d‚wxYw#t$rYywxYw)NzInvalid file object: zFile descriptor z is used by transport ) Ú isinstanceÚintrOÚAttributeErrorÚ TypeErrorÚ ValueErrorr(Ú is_closingrGr)r)rrOrˆs rr0z-BaseSelectorEventLoop._ensure_fd_no_transports²€ØˆÜ˜&¤#Ô&ð KܘVŸ]™]›_Ó-�ð &Ø×(Ñ(¨Ñ0ˆIð×'Ñ'Ô)Ü"Ø& r fÐ,BØ �mð%ó&ð&ð*øô#¤I¬zÐ:ò Kä Ð#8¸¸Ð!?Ó@ÀdÐJð Kûô ò Ù ð ús”A®BÁ$B BÂBcóÄ—|j«tj|||d«} |jj |«}|j|j c}\}}|jj ||tjz||f«|�|j«|S#t$r1|jj|tj|df«Y|SwxYwr/) Ú _check_closedrÚHandler$rr\ÚmodifyrÚ EVENT_READÚcancelrÚregister© r)rÚcallbackÚargsÚhandlerÚmaskÚreaderÚwriters rrWz!BaseSelectorEventLoop._add_readers΀Ø ×ÑÔÜ—‘˜x¨¨t°TÓ:ˆð Ø—.‘.×(Ñ(¨Ó,ˆCð &)§Z¡Z°·±Ð "ˆDÑ"�6˜6Ø �N‰N× !Ñ ! " d¬Y×-AÑ-AÑ&AØ#)¨6Ð"2ô 4àÐ!Ø— ‘ ”؈ øôò 4Ø �N‰N× #Ñ # B¬ ×(<Ñ(<Ø%+¨T Nõ 4ðˆ ð 4úóªB%Â%6CÃCcó|—|j«ry |jj|«}|j|jc}\}}|t j z}|s|jj|«n|jj||d|f«|�|j«yy#t$rYywxYw)NFT) rHr$rrr\rr™Ú unregisterr˜ršr©r)rrr r¡r¢s rrMz$BaseSelectorEventLoop._remove_reader&s®€Ø �>‰>Ô Øð Ø—.‘.×(Ñ(¨Ó,ˆCð&)§Z¡Z°·±Ð "ˆDÑ"�6˜6Ø ”Y×)Ñ)Ð)Ñ )ˆDÙØ—‘×)Ñ)¨"Õ-à—‘×%Ñ% b¨$°°v°Ô?àÐ!Ø— ‘ ”Øàøôò Ùð úó“B/Â/ B;Â:B;cóÄ—|j«tj|||d«} |jj |«}|j|j c}\}}|jj ||tjz||f«|�|j«|S#t$r1|jj|tjd|f«Y|SwxYwr/) r–rr—r$rr\r˜rÚ EVENT_WRITEršrr›rœs rÚ _add_writerz!BaseSelectorEventLoop._add_writer;s΀Ø ×ÑÔÜ—‘˜x¨¨t°TÓ:ˆð Ø—.‘.×(Ñ(¨Ó,ˆCð &)§Z¡Z°·±Ð "ˆDÑ"�6˜6Ø �N‰N× !Ñ ! " d¬Y×-BÑ-BÑ&BØ#)¨6Ð"2ô 4àÐ!Ø— ‘ ”؈ øôò 4Ø �N‰N× #Ñ # B¬ ×(=Ñ(=Ø%)¨6 Nõ 4ðˆ ð 4úr£có|—|j«ry |jj|«}|j|jc}\}}|t j z}|s|jj|«n|jj|||df«|�|j«yy#t$rYywxYw)úRemove a writer callback.FNT) rHr$rrr\rr©r¥r˜ršrr¦s rÚ_remove_writerz$BaseSelectorEventLoop._remove_writerKs®€à �>‰>Ô Øð Ø—.‘.×(Ñ(¨Ó,ˆCð&)§Z¡Z°·±Ð "ˆDÑ"�6˜6à ”Y×*Ñ*Ð*Ñ *ˆDÙØ—‘×)Ñ)¨"Õ-à—‘×%Ñ% b¨$°¸°Ô?àÐ!Ø— ‘ ”Øàøôò Ùð úr§cóN—|j|«|j||g|¢­Žy)zAdd a reader callback.N)r0rW©r)rr�ržs rÚ add_readerz BaseSelectorEventLoop.add_readerbó'€à ×$Ñ$ RÔ(؈×ј˜XÐ-¨Ô-r*cóF—|j|«|j|«S)zRemove a reader callback.)r0rM©r)rs rÚ remove_readerz#BaseSelectorEventLoop.remove_readergó!€à ×$Ñ$ RÔ(Ø×"Ñ" 2Ó&Ð&r*cóN—|j|«|j||g|¢­Žy)zAdd a writer callback..N)r0rªr¯s rÚ add_writerz BaseSelectorEventLoop.add_writerlr±r*cóF—|j|«|j|«S)r¬)r0r­r³s rÚ remove_writerz#BaseSelectorEventLoop.remove_writerqrµr*cƒóîK—tj|«|jr|j«dk7r t d«‚ |j |«S#t tf$rYnwxYw|j«}|j«}|j|«|j||j|||«}|jtj|j ||¬««|ƒd{–—†7S­w)zÌReceive data from the socket. The return value is a bytes object representing the data received. The maximum amount of data to be received at once is specified by nbytes. rúthe socket must be non-blocking©rŸN)rÚ_check_ssl_socketrhÚ gettimeoutr“r_rar`r‰rOr0rWÚ _sock_recvÚadd_done_callbackÚ functoolsÚpartialÚ_sock_read_done)r)r2ÚnÚfutrrŸs rÚ sock_recvzBaseSelectorEventLoop.sock_recvvsÖèø€ô ×%Ñ% dÔ+Ø �;Š;˜4Ÿ?™?Ó,°Ò1ÜÐ>Ó?Ð ?ð Ø—9‘9˜Q“<Ð øÜÔ!1Ð2ò Ù ð úà× Ñ Ó"ˆØ �[‰[‹]ˆØ ×$Ñ$ RÔ(Ø×!Ñ! " d§o¡o°s¸DÀ!ÓDˆØ ×ÑÜ × Ñ ˜d×2Ñ2°B¸vÔ Fô Hà�yˆyÐùó7‚AC5ÁAÁC5ÁA&Á#C5Á%A&Á&B C5Ã/C2Ã0C5cóL—|�|j«s|j|«yyr/)Ú cancelledr´©r)rrÅrŸs rrÃz%BaseSelectorEventLoop._sock_read_doneŒó%€Ø ˆ> ×!1Ñ!1Ô!3Ø × Ñ ˜rÕ "ð"4r*cóø—|j«ry |j|«}|j|«y#ttf$rYyt t f$r‚t$r}|j|«Yd}~yd}~wwxYwr/) Údoner_Ú set_resultrar`r‹rŒrŠÚ set_exception)r)rÅr2rÄr\r†s rr¿z BaseSelectorEventLoop._sock_recv�su€ð �8‰8Œ:Ø ð !Ø—9‘9˜Q“<ˆDð �N‰N˜4Õ øô Ô!1Ð2ò Ù ÜÔ-Ð.ò Ø Üò #Ø × Ñ ˜c× "Ñ "ûð #úó“6¶A9ÁA9ÁA4Á4A9cƒóîK—tj|«|jr|j«dk7r t d«‚ |j |«S#t tf$rYnwxYw|j«}|j«}|j|«|j||j|||«}|jtj|j ||¬««|ƒd{–—†7S­w)z¥Receive data from the socket. The received data is written into *buf* (a writable buffer). The return value is the number of bytes written. rr»r¼N)rr½rhr¾r“Ú recv_intorar`r‰rOr0rWÚ_sock_recv_intorÀrÁrÂrÃ)r)r2ÚbufrÅrrŸs rÚsock_recv_intoz$BaseSelectorEventLoop.sock_recv_into sÙèø€ô ×%Ñ% dÔ+Ø �;Š;˜4Ÿ?™?Ó,°Ò1ÜÐ>Ó?Ð ?ð Ø—>‘> #Ó&Ð &øÜÔ!1Ð2ò Ù ð úà× Ñ Ó"ˆØ �[‰[‹]ˆØ ×$Ñ$ RÔ(Ø×!Ñ! " d×&:Ñ&:¸CÀÀsÓKˆØ ×ÑÜ × Ñ ˜d×2Ñ2°B¸vÔ Fô Hà�yˆyÐùrÇcóø—|j«ry |j|«}|j|«y#ttf$rYyt t f$r‚t$r}|j|«Yd}~yd}~wwxYwr/) rÍrÒrÎrar`r‹rŒrŠrÏ)r)rÅr2rÔÚnbytesr†s rrÓz%BaseSelectorEventLoop._sock_recv_intoµsv€ð �8‰8Œ:Ø ð #Ø—^‘^ CÓ(ˆFð �N‰N˜6Õ "øô Ô!1Ð2ò Ù ÜÔ-Ð.ò Ø Üò #Ø × Ñ ˜c× "Ñ "ûð #úrÐcƒóîK—tj|«|jr|j«dk7r t d«‚ |j |«S#t tf$rYnwxYw|j«}|j«}|j|«|j||j|||«}|jtj|j ||¬««|ƒd{–—†7S­w)aReceive a datagram from a datagram socket. The return value is a tuple of (bytes, address) representing the datagram received and the address it came from. The maximum amount of data to be received at once is specified by nbytes. rr»r¼N)rr½rhr¾r“Úrecvfromrar`r‰rOr0rWÚ_sock_recvfromrÀrÁrÂrÃ)r)r2ÚbufsizerÅrrŸs rÚ sock_recvfromz#BaseSelectorEventLoop.sock_recvfromÆsÙèø€ô ×%Ñ% dÔ+Ø �;Š;˜4Ÿ?™?Ó,°Ò1ÜÐ>Ó?Ð ?ð Ø—=‘= Ó)Ð )øÜÔ!1Ð2ò Ù ð úà× Ñ Ó"ˆØ �[‰[‹]ˆØ ×$Ñ$ RÔ(Ø×!Ñ! " d×&9Ñ&9¸3ÀÀgÓNˆØ ×ÑÜ × Ñ ˜d×2Ñ2°B¸vÔ Fô Hà�yˆyÐùrÇcóø—|j«ry |j|«}|j|«y#ttf$rYyt t f$r‚t$r}|j|«Yd}~yd}~wwxYwr/) rÍrÙrÎrar`r‹rŒrŠrÏ)r)rÅr2rÛÚresultr†s rrÚz$BaseSelectorEventLoop._sock_recvfromÝsv€ð �8‰8Œ:Ø ð #Ø—]‘] 7Ó+ˆFð �N‰N˜6Õ "øô Ô!1Ð2ò Ù ÜÔ-Ð.ò Ø Üò #Ø × Ñ ˜c× "Ñ "ûð #úrÐcƒó K—tj|«|jr|j«dk7r t d«‚|s t |«} |j ||«S#ttf$rYnwxYw|j«}|j«}|j|«|j||j||||«}|jtj |j"||¬««|ƒd{–—†7S­w)z·Receive data from the socket. The received data is written into *buf* (a writable buffer). The return value is a tuple of (number of bytes written, address). rr»r¼N)rr½rhr¾r“ÚlenÚ recvfrom_intorar`r‰rOr0rWÚ_sock_recvfrom_intorÀrÁrÂrÃ)r)r2rÔr×rÅrrŸs rÚsock_recvfrom_intoz(BaseSelectorEventLoop.sock_recvfrom_intoîsîèø€ô ×%Ñ% dÔ+Ø �;Š;˜4Ÿ?™?Ó,°Ò1ÜÐ>Ó?Ð ?Ùܘ“XˆFð Ø×%Ñ% c¨6Ó2Ð 2øÜÔ!1Ð2ò Ù ð úà× Ñ Ó"ˆØ �[‰[‹]ˆØ ×$Ñ$ RÔ(Ø×!Ñ! " d×&>Ñ&>ÀÀTÈ3Ø"(ó*ˆà ×ÑÜ × Ñ ˜d×2Ñ2°B¸vÔ Fô Hà�yˆyÐùs7‚A DÁA"Á!DÁ"A4Á1DÁ3A4Á4B DÃ>DÃ?Dcóú—|j«ry |j||«}|j|«y#ttf$rYyt t f$r‚t$r}|j|«Yd}~yd}~wwxYwr/) rÍrárÎrar`r‹rŒrŠrÏ)r)rÅr2rÔrÛrÞr†s rrâz)BaseSelectorEventLoop._sock_recvfrom_intosz€ð �8‰8Œ:Ø ð #Ø×'Ñ'¨¨WÓ5ˆFð �N‰N˜6Õ "øô Ô!1Ð2ò Ù ÜÔ-Ð.ò Ø Üò #Ø × Ñ ˜c× "Ñ "ûð #ús“7·A:ÁA:ÁA5Á5A:c ƒó(K—tj|«|jr|j«dk7r t d«‚ |j |«}|t|«k(ry|j«}|j«}|j|«|j||j||t|«|g«}|jt!j"|j$||¬««|ƒd{–—†S#t tf$rd}YŒ¸wxYw7Œ­w)ášSend data to the socket. The socket must be connected to a remote socket. This method continues to send data from data until either all data has been sent or an error occurs. None is returned on success. On error, an exception is raised, and there is no way to determine how much data, if any, was successfully processed by the receiving end of the connection. rr»Nr¼)rr½rhr¾r“rfrar`ràr‰rOr0rªÚ _sock_sendallÚ memoryviewrÀrÁrÂÚ_sock_write_done)r)r2r\rÄrÅrrŸs rÚ sock_sendallz"BaseSelectorEventLoop.sock_sendallsúèø€ô ×%Ñ% dÔ+Ø �;Š;˜4Ÿ?™?Ó,°Ò1ÜÐ>Ó?Ð ?ð Ø— ‘ ˜$“ˆAð ”�D“ Š>à à× Ñ Ó"ˆØ �[‰[‹]ˆØ ×$Ñ$ RÔ(à×!Ñ! " d×&8Ñ&8¸#¸tÜ",¨TÓ"2°Q°Có9ˆà ×ÑÜ × Ñ ˜d×3Ñ3°RÀÔ Gô Ià�yÐøô Ô!1Ð2ò ØŠAð úðús7‚ADÁC9ÁB DÃ4DÃ5DÃ9D Ä DÄ D Ä Dcó:—|j«ry|d} |j||d«}||z }|t|«k(r|jd«y||d<y#ttf$rYytt f$r‚t $r}|j|«Yd}~yd}~wwxYw©Nr) rÍrfrar`r‹rŒrŠrÏràrÎ)r)rÅr2ÚviewÚposÚstartrÄr†s rrçz#BaseSelectorEventLoop._sock_sendall7s¡€Ø �8‰8Œ:à Ø�A‘ˆð Ø— ‘ ˜$˜u˜v˜,Ó'ˆAð �‰ ˆà ”C˜“IÒ Ø �N‰N˜4Õ àˆC�ŠFøô Ô!1Ð2ò Ù ÜÔ-Ð.ò Ø Üò Ø × Ñ ˜cÔ "Ü ûð ús˜AÁBÁ(BÁ?BÂBcƒóòK—tj|«|jr|j«dk7r t d«‚ |j ||«S#t tf$rYnwxYw|j«}|j«}|j|«|j||j||||«}|jtj|j ||¬««|ƒd{–—†7S­w)rærr»r¼N)rr½rhr¾r“Úsendtorar`r‰rOr0rªÚ _sock_sendtorÀrÁrÂré)r)r2r\rCrÅrrŸs rÚ sock_sendtoz!BaseSelectorEventLoop.sock_sendtoMsâèø€ô ×%Ñ% dÔ+Ø �;Š;˜4Ÿ?™?Ó,°Ò1ÜÐ>Ó?Ð ?ð Ø—;‘;˜t WÓ-Ð -øÜÔ!1Ð2ò Ù ð úð× Ñ Ó"ˆØ �[‰[‹]ˆØ ×$Ñ$ RÔ(à×!Ñ! " d×&7Ñ&7¸¸dÀDØ")ó+ˆà ×ÑÜ × Ñ ˜d×3Ñ3°RÀÔ Gô Ià�yˆyÐùs7‚AC7ÁAÁC7ÁA'Á$C7Á&A'Á'B C7Ã1C4Ã2C7cóü—|j«ry |j|d|«}|j|«y#ttf$rYyt t f$r‚t$r}|j|«Yd}~yd}~wwxYwrì) rÍrñrÎrar`r‹rŒrŠrÏ)r)rÅr2r\rCrÄr†s rròz"BaseSelectorEventLoop._sock_sendtohsx€Ø �8‰8Œ:à ð Ø— ‘ ˜D ! WÓ-ˆAð �N‰N˜1Õ øô Ô!1Ð2ò Ù ÜÔ-Ð.ò Ø Üò #Ø × Ñ ˜c× "Ñ "ûð #ús“8¸A;Á A;Á A6Á6A;cƒó K—tj|«|jr|j«dk7r t d«‚|j t jk(s-tjrd|j t jk(rG|j||j |j|j|¬«ƒd{–—†}|d\}}}}}|j«}|j|||« |ƒd{–—†d}S7Œ?7Œ#d}wxYw­w)zTConnect to a remote socket at address. This method is a coroutine. rr»)ÚfamilyÚtypeÚprotoÚloopN)rr½rhr¾r“rörTÚAF_INETÚ _HAS_IPv6ÚAF_INET6Ú_ensure_resolvedr÷rør‰Ú _sock_connect)r)r2rCÚresolvedrƒrÅs rÚ sock_connectz"BaseSelectorEventLoop.sock_connectwsëèø€ô ×%Ñ% dÔ+Ø �;Š;˜4Ÿ?™?Ó,°Ò1ÜÐ>Ó?Ð ?à �;‰;œ&Ÿ.™.Ò (Ü×%Ò%¨$¯+©+¼¿¹Ò*HØ!×2Ñ2Ø § ¡ °$·)±)À4Ç:Á:Øð3ó÷ˆHð#+¨1¡+Ñ ˆAˆq�!�Q˜à× Ñ Ó"ˆØ ×ј3  gÔ.ð Ø—9ð‰Cðøðùð‰Cüs<‚CDÃDÃ2DÃ7DÃ<DÃ=DÄDÄDÄD Ä DcóÒ—|j«} |j|«|jd«d}y#ttf$rf|j |«|j ||j|||«}|jtj|j||¬««Yd}yttf$r‚t$r}|j|«Yd}~d}yd}~wwxYw#d}wxYw)Nr¼)rOÚconnectrÎrar`r0rªÚ_sock_connect_cbrÀrÁrÂrér‹rŒrŠrÏ)r)rÅr2rCrrŸr†s rrþz#BaseSelectorEventLoop._sock_connect�s䀨 �[‰[‹]ˆð Ø �L‰L˜Ô !ð �N‰N˜4Ô à‰Cøô# Ô!1Ð2ò Mð × (Ñ (¨Ô ,Ø×%Ñ%Ø�D×)Ñ)¨3°°gó?ˆFà × !Ñ !Ü×!Ñ! $×"7Ñ"7¸ÀFÔKõ Mð‰CôÔ-Ð.ò Ø Üò #Ø × Ñ ˜c× "Ð "ð‰Cûð  #ûð ‰Cús9’7£C"·A0CÂ'C"Â+CÃCÃC"ÃCÃC"Ã"C&cóL—|�|j«s|j|«yyr/)rÉr¹rÊs rréz&BaseSelectorEventLoop._sock_write_done§rËr*cóv—|j«ry |jtjtj«}|dk7rt |d|›�«‚ |j d«d}y#ttf$rYd}yttf$r‚t$r}|j|«Yd}~d}yd}~wwxYw#d}wxYw)NrzConnect call failed ) rÍÚ getsockoptrTÚ SOL_SOCKETÚSO_ERRORrgrÎrar`r‹rŒrŠrÏ)r)rÅr2rCÚerrr†s rrz&BaseSelectorEventLoop._sock_connect_cb«s¾€Ø �8‰8Œ:Ø ð Ø—/‘/¤&×"3Ñ"3´V·_±_ÓEˆCØ�aŠxä˜cÐ%9¸'¸Ð#CÓDÐDðð �N‰N˜4Ô à‰Cøô Ô!1Ð2ò à ð‰CôÔ-Ð.ò Ø Üò #Ø × Ñ ˜c× "Ð "ð‰Cûð  #ûð ‰Cús<“AA*ÁB4Á*B1Á9B4Á=B1ÂB,Â%B4Â,B1Â1B4Â4B8cƒóäK—tj|«|jr|j«dk7r t d«‚|j «}|j ||«|ƒd{–—†S7Œ­w)aWAccept a connection. The socket must be bound to an address and listening for connections. The return value is a pair (conn, address) where conn is a new socket object usable to send and receive data on the connection, and address is the address bound to the socket on the other end of the connection. rr»N)rr½rhr¾r“r‰Ú _sock_accept)r)r2rÅs rÚ sock_acceptz!BaseSelectorEventLoop.sock_acceptÀs_èø€ô ×%Ñ% dÔ+Ø �;Š;˜4Ÿ?™?Ó,°Ò1ÜÐ>Ó?Ð ?Ø× Ñ Ó"ˆØ ×ј#˜tÔ$Ø�yЈyús‚A'A0Á)A.Á*A0cóà—|j«} |j«\}}|jd«|j||f«y#tt f$rc|j |«|j||j||«}|jtj|j||¬««Yyttf$r‚t$r}|j!|«Yd}~yd}~wwxYw)NFr¼)rOrvrVrÎrar`r0rWr rÀrÁrÂrÃr‹rŒrŠrÏ)r)rÅr2rr„rCrŸr†s rr z"BaseSelectorEventLoop._sock_acceptÏsÕ€Ø �[‰[‹]ˆð ,Ø ŸK™K›M‰MˆD�'Ø × Ñ ˜UÔ #ð �N‰N˜D '˜?Õ +øô Ô!1Ð2ò LØ × (Ñ (¨Ô ,Ø×%Ñ% b¨$×*;Ñ*;¸SÀ$ÓGˆFØ × !Ñ !Ü×!Ñ! $×"6Ñ"6¸À6ÔJö LäÔ-Ð.ò Ø Üò #Ø × Ñ ˜c× "Ñ "ûð #ús’$A Á A/C-Â;C-ÃC(Ã(C-cƒóøK—|j|j=|j«}|j«|j «ƒd{–—† |j |j |||d¬«ƒd{–—†|j«|r|j«||j|j<S7Œh7ŒA#|j«|r|j«||j|j<wxYw­w)NF)Úfallback) r(Ú_sock_fdÚ is_readingÚ pause_readingÚ_make_empty_waiterÚ sock_sendfileÚ_sockÚ_reset_empty_waiterÚresume_reading)r)ÚtranspÚfileÚoffsetÚcountrs rÚ_sendfile_nativez&BaseSelectorEventLoop._sendfile_nativeàsÞèø€Ø × Ñ ˜VŸ_™_Ð -Ø×*Ñ*Ó,ˆØ×ÑÔØ×'Ñ'Ó)×)Ð)ð 7Ø×+Ñ+¨F¯L©L¸$ÀÈØ5:ð,ó<÷<ð × &Ñ &Ô (ÙØ×%Ñ%Ô'Ø06ˆD× Ñ ˜VŸ_™_Ò -ð *øð<ùð × &Ñ &Ô (ÙØ×%Ñ%Ô'Ø06ˆD× Ñ ˜VŸ_™_Ò -üs<‚A C:Á B6ÁC:Á#B:Á6B8Á7B:Á:=C:Â8B:Â:=C7Ã7C:cód—|D]«\}}|j|jc}\}}|tjzr1|�/|jr|j |«n|j |«|tjzsŒz|€Œ}|jr|j|«Œ›|j |«Œ­yr/) Úfileobjr\rr™Ú _cancelledrMÚ _add_callbackr©r­)r)Ú event_listrr rr¡r¢s rÚ_process_eventsz%BaseSelectorEventLoop._process_eventsîs™€Û#‰IˆC�Ø(+¯ © °S·X±XÐ %ˆGÑ%�f˜fØ”i×*Ñ*Ò*¨vÐ/AØ×$Ò$Ø×'Ñ'¨Õ0à×&Ñ& vÔ.Ø”i×+Ñ+Ó+°Ñ0BØ×$Ò$Ø×'Ñ'¨Õ0à×&Ñ& vÕ.ñ$r*cób—|j|j««|j«yr/)rMrOrJ)r)r2s rÚ _stop_servingz#BaseSelectorEventLoop._stop_servingüs€Ø ×јDŸK™K›MÔ*Ø � ‰ � r*r/©NNN)r)4r#Ú __module__Ú __qualname__Ú__doc__rr5rÚSSL_HANDSHAKE_TIMEOUTÚSSL_SHUTDOWN_TIMEOUTr@rDrJrIr%r]rXrjrprmrwr0rWrMrªr­r°r´r·r¹rÆrÃr¿rÕrÓrÜrÚrãrârêrçróròrrþrérr r rr"r$Ú __classcell__©r"s@rrr5soø„ñõ 9ð7Ø%)°$ô7ð9=ð+à °$ؘtØ"+×"AÑ"AØ!*×!?Ñ!?ô +ð&CGóBô "ò òEò ò ò,ð&#'¨t¸SØ-6×-LÑ-LØ,5×,JÑ,JóFð D°#Ø"+×"AÑ"AØ!*×!?Ñ!?ó ,)ð` DØ"+×"AÑ"AØ!*×!?Ñ!?ó -5ò^&ò$ò ò*ò ò..ò 'ò .ò 'ò ó,#ò!ò ò*#ò"ò.#ó"ò2#ò"ò>ò,ò6 òò2ó.#òò* ò,ò" 7ò /ör*rc󜇗eZdZdZdZdˆfd„ Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zej fd „Zdd„Zd„Zd„Zd„Zd„ZˆxZS)Ú_SelectorTransportiNcóÚ•—t‰|�||«tj|«|jd< |j «|jd<d|jvr |j«|jd<||_ |j«|_ d|_ |j|«||_t!j"«|_d|_d|_d|_|j�|jj-«||j.|j<y#t $rd|jd<YŒïwxYw#tj$rd|jd<YŒëwxYw)NrTÚsocknamerrFr)rrr r€Ú_extraÚ getsocknamergÚ getpeernamerTÚerrorrrOrÚ_protocol_connectedÚ set_protocolÚ_serverÚ collectionsÚdequeÚ_bufferÚ _conn_lostÚ_closingÚ_pausedÚ_attachr()r)rùr2r3r,r-r"s €rrz_SelectorTransport.__init__ s8ø€Ü ‰Ñ˜ Ô%Ü &× 6Ñ 6°tÓ <ˆ� ‰ �HÑð +Ø&*×&6Ñ&6Ó&8ˆD�K‰K˜ Ñ #ð ˜TŸ[™[Ñ (ð /Ø*.×*:Ñ*:Ó*<�— ‘ ˜JÑ'ðˆŒ ØŸ ™ › ˆŒ à#(ˆÔ Ø ×ј(Ô#àˆŒ Ü"×(Ñ(Ó*ˆŒ ؈ŒØˆŒ ؈Œ à �<‰<Ð #Ø �L‰L× Ñ Ô "Ø*.ˆ×јŸ™Ò'øô+ò +Ø&*ˆD�K‰K˜ Ó #ð +ûô —<‘<ò /Ø*.�— ‘ ˜JÓ'ð /ús#µD'Á!EÄ'EÅEÅ"E*Å)E*cóú—|jjg}|j€|jd«n|jr|jd«|jd|j ›�«|j �à|j j«sÆt|j j|j tj«}|r|jd«n|jd«t|j j|j tj«}|rd}nd}|j«}|jd|›d |›d �«d jd j|««S) NÚclosedÚclosingzfd=z read=pollingz read=idleÚpollingÚidlezwrite=z<{}>Ú )r"r#rÚappendr<rÚ_looprHrr$rr™r©Úget_write_buffer_sizeÚformatÚjoin)r)ÚinforBÚstaterÛs rÚ__repr__z_SelectorTransport.__repr__'s$€Ø—‘×'Ñ'Ð(ˆØ �:‰:Ð Ø �K‰K˜Õ !Ø �]Š]Ø �K‰K˜ Ô "Ø � ‰ �c˜$Ÿ-™-˜Ð)Ô*à �:‰:Ð !¨$¯*©*×*>Ñ*>Ô*@Ü*¨4¯:©:×+?Ñ+?Ø+/¯=©=¼)×:NÑ:NóPˆGáØ— ‘ ˜NÕ+à— ‘ ˜KÔ(ä*¨4¯:©:×+?Ñ+?Ø+/¯=©=Ü+4×+@Ñ+@óBˆGñØ!‘à�à×0Ñ0Ó2ˆGØ �K‰K˜' % ¨ °7°)¸1Ð=Ô >Ø�}‰}˜SŸX™X d›^Ó,Ð,r*có&—|jd«yr/)Ú _force_closerRs rÚabortz_SelectorTransport.abortCs€Ø ×ј$Õr*có —||_d|_y©NT)Ú _protocolr5)r)r3s rr6z_SelectorTransport.set_protocolFs€Ø!ˆŒØ#'ˆÕ r*có—|jSr/)rSrRs rÚ get_protocolz_SelectorTransport.get_protocolJs €Ø�~‰~Ðr*có—|jSr/)r<rRs rr”z_SelectorTransport.is_closingMs €Ø�}‰}Ðr*cóB—|j« xr |j Sr/)r”r=rRs rrz_SelectorTransport.is_readingPs€Ø—?‘?Ó$Ð$Ò9¨T¯\©\Ð)9Ð9r*cóà—|j«syd|_|jj|j«|jj «rt jd|«yy)NTz%r pauses reading)rr=rGrMrÚ get_debugr r!rRs rrz _SelectorTransport.pause_readingSsP€Ø�‰Ô Ø ØˆŒ Ø � ‰ ×!Ñ! $§-¡-Ô0Ø �:‰:× Ñ Ô !Ü �L‰LÐ,¨dÕ 3ð "r*cóò—|js |jsyd|_|j|j|j«|j j «rtjd|«yy)NFz%r resumes reading) r<r=rWrÚ _read_readyrGrYr r!rRs rrz!_SelectorTransport.resume_reading[sW€Ø �=Š= § ¢ Ø ØˆŒ Ø ×јŸ™¨×(8Ñ(8Ô9Ø �:‰:× Ñ Ô !Ü �L‰LÐ-¨tÕ 4ð "r*cóP—|jryd|_|jj|j«|jsa|xj dz c_|jj |j«|jj|jd«yy©NTr) r<rGrMrr:r;r­Ú call_soonÚ_call_connection_lostrRs rrJz_SelectorTransport.closecss€Ø �=Š=Ø ØˆŒ Ø � ‰ ×!Ñ! $§-¡-Ô0Ø�|Š|Ø �OŠO˜qÑ �OØ �J‰J× %Ñ % d§m¡mÔ 4Ø �J‰J× Ñ  ×!;Ñ!;¸TÕ Bðr*cóv—|j�-|d|›�t|¬«|jj«yy)Nzunclosed transport )Úsource)rÚResourceWarningrJ)r)Ú_warns rÚ__del__z_SelectorTransport.__del__ms5€Ø �:‰:Ð !Ù Ð'¨ xÐ0´/È$Õ OØ �J‰J× Ñ Õ ð "r*có—t|t«r4|jj«rDt j d||d¬«n*|jj ||||jdœ«|j|«y)Nz%r: %sTrd)rsrtrˆr3) r�rgrGrYr r!rrSrO)r)r†rss rÚ _fatal_errorz_SelectorTransport._fatal_errorrse€ä �cœ7Ô #Ø�z‰z×#Ñ#Ô%Ü— ‘ ˜X t¨W¸tÖDà �J‰J× -Ñ -Ø"Ø Ø!Ø ŸN™Nñ /ô ð ×ј#Õr*cóš—|jry|jr?|jj«|jj |j «|j s,d|_|jj|j «|xjdz c_|jj|j|«yr]) r;r:ÚclearrGr­rr<rMr^r_)r)r†s rrOz_SelectorTransport._force_close€s…€Ø �?Š?Ø Ø �<Š<Ø �L‰L× Ñ Ô Ø �J‰J× %Ñ % d§m¡mÔ 4Ø�}Š}Ø ˆDŒMØ �J‰J× %Ñ % d§m¡mÔ 4Ø �Š˜1Ñ�Ø � ‰ ×јT×7Ñ7¸Õ=r*có²— |jr|jj|«|jj «d|_d|_d|_|j }|�|j«d|_yy#|jj «d|_d|_d|_|j }|�|j«d|_wwxYwr/)r5rSÚconnection_lostrrJrGr7Ú_detach)r)r†r-s rr_z(_SelectorTransport._call_connection_lostŒsº€ð $Ø×'Ò'Ø—‘×.Ñ.¨sÔ3à �J‰J× Ñ Ô ØˆDŒJØ!ˆDŒN؈DŒJØ—\‘\ˆFØÐ!Ø—‘Ô Ø#�• ð"øð �J‰J× Ñ Ô ØˆDŒJØ!ˆDŒN؈DŒJØ—\‘\ˆFØÐ!Ø—‘Ô Ø#�• ð"ús ‚'A?Á?ACcóH—ttt|j««Sr/)ÚsumÚmapràr:rRs rrHz(_SelectorTransport.get_write_buffer_sizešs€Ü”3”s˜DŸL™LÓ)Ó*Ð*r*cób—|j«sy|jj||g|¢­Žyr/)rrGrWr¯s rrWz_SelectorTransport._add_reader�s*€Ø�‰Ô Ø Øˆ� ‰ ×јr 8Ð3¨dÔ3r*)NN)zFatal error on transport)r#r&r'Úmax_sizerrrMrPr6rUr”rrrrJÚwarningsÚwarnrdrfrOr_rHrWr+r,s@rr.r.skø„ð€Hð €Eõ/ò8-ò8 ò(òòò:ò4ò5òCð%ŸM™Móó ò >ò $ò+ö4r*r.cóЇ—eZdZdZej j Z dˆfd„ Zˆfd„Z d„Z d„Z d„Z d„Z d „Zd „Zd „Zd ed dfd„Zd„Zd„Zd„Zd„Zˆfd„Zd„Zd„Zˆfd„ZˆxZS)r1TNcó•—d|_t‰|� |||||«d|_d|_t r|j |_n|j|_tj|j«|jj|jj|«|jj|j |j"|j$«|�,|jjt&j(|d«yyr)Ú_read_ready_cbrrÚ_eofÚ _empty_waiterÚ _HAS_SENDMSGÚ_write_sendmsgÚ _write_readyÚ _write_sendrÚ _set_nodelayrrGr^rSÚconnection_maderWrr[rÚ_set_result_unless_cancelled)r)rùr2r3r4r,r-r"s €rrz!_SelectorSocketTransport.__init__¨sÕø€ð#ˆÔÜ ‰Ñ˜˜t X¨u°fÔ=؈Œ Ø!ˆÔÝ Ø $× 3Ñ 3ˆDÕ à $× 0Ñ 0ˆDÔ ô × Ñ  §¡Ô,à � ‰ ×јTŸ^™^×;Ñ;¸TÔBà � ‰ ×јT×-Ñ-Ø!Ÿ]™]¨D×,<Ñ,<ô >à Ð à �J‰J× Ñ ¤×!EÑ!EØ!'¨õ /ð r*cóž•—t|tj«r|j|_n|j |_t ‰|�|«yr/)r�r ÚBufferedProtocolÚ_read_ready__get_bufferruÚ_read_ready__data_receivedrr6)r)r3r"s €rr6z%_SelectorSocketTransport.set_protocolÁs<ø€Ü �h¤ × :Ñ :Ô ;Ø"&×">Ñ">ˆDÕ à"&×"AÑ"AˆDÔ ä ‰Ñ˜XÕ&r*có$—|j«yr/)rurRs rr[z$_SelectorSocketTransport._read_readyÉs€Ø ×ÑÕr*có„—|jry |jjd«}t|«s t d«‚ |jj|«}|s|j«y |jj|«y#t t f$r‚t$r}|j|d«Yd}~yd}~wwxYw#ttf$rYyt t f$r‚t$r}|j|d«Yd}~yd}~wwxYw#t t f$r‚t$r}|j|d«Yd}~yd}~wwxYw)Néÿÿÿÿz%get_buffer() returned an empty bufferz/Fatal error: protocol.get_buffer() call failed.ú$Fatal read error on socket transportz3Fatal error: protocol.buffer_updated() call failed.)r;rSÚ get_bufferràrGr‹rŒrŠrfrrÒrar`Ú_read_ready__on_eofÚbuffer_updated)r)rÔr†r×s rr�z0_SelectorSocketTransport._read_ready__get_bufferÌsC€Ø �?Š?Ø ð Ø—.‘.×+Ñ+¨BÓ/ˆCÜ�s”8Ü"Ð#JÓKÐKðð Ø—Z‘Z×)Ñ)¨#Ó.ˆFñØ × $Ñ $Ô &Ø ð LØ �N‰N× )Ñ )¨&Õ 1øô-Ô-Ð.ò Ø Üò Ø × Ñ ØÐFô Hä ûð ûô Ô!1Ð2ò Ù ÜÔ-Ð.ò Ø Üò Ø × Ñ ˜cÐ#IÔ JÜ ûð ûôÔ-Ð.ò Ø Üò LØ × Ñ ØÐJ÷ Lñ Lûð LúsM�1B ÁCÁ1D  CÂ%B<Â<CÃDÃDÃ,DÄDÄ D?Ä#D:Ä:D?cóÄ—|jry |jj|j«}|s|j«y |jj|«y#tt f$rYyt tf$r‚t$r}|j|d«Yd}~yd}~wwxYw#t tf$r‚t$r}|j|d«Yd}~yd}~wwxYw)Nr†z2Fatal error: protocol.data_received() call failed.) r;rr_rprar`r‹rŒrŠrfrˆrSÚ data_received)r)r\r†s rr‚z3_SelectorSocketTransport._read_ready__data_receivedñsÚ€Ø �?Š?Ø ð Ø—:‘:—?‘? 4§=¡=Ó1ˆDñØ × $Ñ $Ô &Ø ð KØ �N‰N× (Ñ (¨Õ .øô Ô!1Ð2ò Ù ÜÔ-Ð.ò Ø Üò Ø × Ñ ˜cÐ#IÔ JÜ ûð ûôÔ-Ð.ò Ø Üò KØ × Ñ ØÐI÷ Kñ Kûð Kús5�%A$ÁB+Á$B(Á5B( B#Â#B(Â+CÃCÃCcóx—|jj«rtjd|« |jj «}|r&|jj|j«y|j«y#t tf$r‚t$r}|j|d«Yd}~yd}~wwxYw)Nz%r received EOFz1Fatal error: protocol.eof_received() call failed.) rGrYr r!rSÚ eof_receivedr‹rŒrŠrfrMrrJ)r)Ú keep_openr†s rrˆz,_SelectorSocketTransport._read_ready__on_eof s™€Ø �:‰:× Ñ Ô !Ü �L‰LÐ*¨DÔ 1ð ØŸ™×3Ñ3Ó5ˆIñ ð �J‰J× %Ñ % d§m¡mÕ 4à �J‰J�LøôÔ-Ð.ò Ø Üò Ø × Ñ ØÐHô Jä ûð ús²BÂB9ÂB4Â4B9có<—t|tttf«s!t dt |«j ›�«‚|jr td«‚|j� td«‚|sy|jrH|jtjk\rtjd«|xjdz c_ y|js] |j j#|«}t|«|d}|sy|j0j3|j4|j6«|jj9|«|j;«y#t$t&f$rYŒmt(t*f$r‚t,$r}|j/|d«Yd}~yd}~wwxYw)Nú/data argument must be a bytes-like object, not z%Cannot call write() after write_eof()z(unable to write; sendfile is in progressúsocket.send() raised exception.rú%Fatal write error on socket transport)r�ÚbytesÚ bytearrayrèr’r÷r#rvrGrwr;rÚ!LOG_THRESHOLD_FOR_CONNLOST_WRITESr Úwarningr:rrfrar`r‹rŒrŠrfrGrªrrzrFÚ_maybe_pause_protocol)r)r\rÄr†s rÚwritez_SelectorSocketTransport.writes_€Ü˜$¤¬ ´:Ð >Ô?Üð#Ü#'¨£:×#6Ñ#6Ð"9ð;ó<ð <à �9Š9ÜÐFÓGÐ GØ × Ñ Ð )ÜÐIÓJÐ JÙØ à �?Š?Ø�‰¤)×"MÑ"MÒMÜ—‘Ð@ÔAØ �OŠO˜qÑ �OØ à�|Š|ð Ø—J‘J—O‘O DÓ)�ô" $Ó'¨¨Ð+�ÙØà �J‰J× "Ñ " 4§=¡=°$×2CÑ2CÔ Dð � ‰ ×јDÔ!Ø ×"Ñ"Õ$øô!$Ô%5Ð6ò ÙÜÔ 1Ð2ò ØÜ ò Ø×!Ñ! #Ð'NÔOÜûð úsÃEÅFÅ(FÅ?FÆFcóJ—tj|jt«Sr/)Ú itertoolsÚislicer:rrRs rÚ_get_sendmsg_bufferz,_SelectorSocketTransport._get_sendmsg_bufferFs€Ü×Ñ § ¡ ¬jÓ9Ð9r*có˜—|jsJd«‚|jry |jj|j ««}|j |«|j «|js¡|jj|j«|j�|jjd«|jr|jd«y|jr*|jjt j"«yyy#t$t&f$rYyt(t*f$r‚t,$r‡}|jj|j«|jj/«|j1|d«|j� |jj3|«Yd}~yYd}~yd}~wwxYw©NzData should not be emptyr’)r:r;rrrœÚ_adjust_leftover_bufferÚ_maybe_resume_protocolrGr­rrwrÎr<r_rvÚshutdownrTÚSHUT_WRrar`r‹rŒrŠrhrfrÏ)r)r×r†s rryz'_SelectorSocketTransport._write_sendmsgIsh€Ø�|Š|Ð7Ð7Ó7ˆ|Ø �?Š?Ø ð 8Ø—Z‘Z×'Ñ'¨×(@Ñ(@Ó(BÓCˆFØ × (Ñ (¨Ô 0ð × 'Ñ 'Ô )Ø—<’<Ø— ‘ ×)Ñ)¨$¯-©-Ô8Ø×%Ñ%Ð1Ø×&Ñ&×1Ñ1°$Ô7Ø—=’=Ø×.Ñ.¨tÕ4Ø—Y’YØ—J‘J×'Ñ'¬¯©Õ7ðð  øô Ô!1Ð2ò Ù ÜÔ-Ð.ò Ø Üò 6Ø �J‰J× %Ñ % d§m¡mÔ 4Ø �L‰L× Ñ Ô Ø × Ñ ˜cÐ#JÔ KØ×!Ñ!Ð-Ø×"Ñ"×0Ñ0°×5Ñ5ô.ûð  6ús¢:DÄG Ä+G ÅA8GÇG r×Úreturncóž—|j}|r?|j«}t|«}||kr||z}n|j||d«y|rŒ>yyr/)r:ÚpopleftràÚ appendleft)r)r×ÚbufferÚbÚb_lens rrŸz0_SelectorSocketTransport._adjust_leftover_bufferesO€Ø—‘ˆÙØ—‘Ó ˆAܘ“FˆEØ˜ŠØ˜%‘‘à×!Ñ! ! F G *Ô-Øôr*cóæ—|jsJd«‚|jry |jj«}|jj |«}|t |«k7r|jj ||d«|j«|js¡|jj|j«|j�|jjd«|jr|jd«y|jr*|jj!t"j$«yyy#t&t(f$rYyt*t,f$r‚t.$r‡}|jj|j«|jj1«|j3|d«|j� |jj5|«Yd}~yYd}~yd}~wwxYwrž)r:r;r¥rrfràr¦r rGr­rrwrÎr<r_rvr¡rTr¢rar`r‹rŒrŠrhrfrÏ)r)r§rÄr†s rr{z$_SelectorSocketTransport._write_sendps…€Ø�|Š|Ð7Ð7Ó7ˆ|Ø �?Š?Ø ð 8Ø—\‘\×)Ñ)Ó+ˆFØ— ‘ —‘ Ó'ˆAØ”C˜“KÒà— ‘ ×'Ñ'¨¨q¨r¨ Ô3ð × 'Ñ 'Ô )Ø—<’<Ø— ‘ ×)Ñ)¨$¯-©-Ô8Ø×%Ñ%Ð1Ø×&Ñ&×1Ñ1°$Ô7Ø—=’=Ø×.Ñ.¨tÕ4Ø—Y’YØ—J‘J×'Ñ'¬¯©Õ7ðð  øô Ô!1Ð2ò Ù ÜÔ-Ð.ò Ø Üò 6Ø �J‰J× %Ñ % d§m¡mÔ 4Ø �L‰L× Ñ Ô Ø × Ñ ˜cÐ#JÔ KØ×!Ñ!Ð-Ø×"Ñ"×0Ñ0°×5Ñ5ô.ûð  6ús¢A!EÅG0ÅG0Å)A8G+Ç+G0có°—|js |jryd|_|js*|jj t j «yyrR)r<rvr:rr¡rTr¢rRs rÚ write_eofz"_SelectorSocketTransport.write_eof�s;€Ø �=Š=˜DŸIšIØ ØˆŒ Ø�|Š|Ø �J‰J× Ñ ¤§¡Õ /ðr*cóŽ—|jr td«‚|j� td«‚|sy|jj |D�cgc] }t |«‘Œc}«|j «|jrA|jj|j|j «|j«yycc}w)Nz*Cannot call writelines() after write_eof()z-unable to writelines; sendfile is in progress) rvrGrwr:ÚextendrèrzrGrªrr—)r)Ú list_of_datar\s rÚ writelinesz#_SelectorSocketTransport.writelines–s¡€Ø �9Š9ÜÐKÓLÐ LØ × Ñ Ð )ÜÐNÓOÐ OÙØ Ø � ‰ ×ѹ,ÓG¹,°$œZ¨Õ-¸,ÑGÔHØ ×ÑÔà �<Š<Ø �J‰J× "Ñ " 4§=¡=°$×2CÑ2CÔ DØ × &Ñ &Õ (ð ùòHsÁ Ccó—yrRrZrRs rÚ can_write_eofz&_SelectorSocketTransport.can_write_eof¤s€Ør*có•— t‰|�|«d|_|j�%|jj t d««yy#d|_|j�%|jj t d««wwxYw)NzConnection is closed by peer)rr_rzrwrÏÚConnectionError)r)r†r"s €rr_z._SelectorSocketTransport._call_connection_lost§sˆø€ð EÜ ‰GÑ )¨#Ô .à $ˆDÔ Ø×!Ñ!Ð-Ø×"Ñ"×0Ñ0Ü#Ð$BÓCõEð.øð!%ˆDÔ Ø×!Ñ!Ð-Ø×"Ñ"×0Ñ0Ü#Ð$BÓCõEð.ús ƒA Á :BcóÔ—|j� td«‚|jj«|_|js|jj d«|jS)NzEmpty waiter is already set)rwrGrGr‰r:rÎrRs rrz+_SelectorSocketTransport._make_empty_waiter°sV€Ø × Ñ Ð )ÜÐ<Ó=Ð =Ø!ŸZ™Z×5Ñ5Ó7ˆÔØ�|Š|Ø × Ñ × )Ñ )¨$Ô /Ø×!Ñ!Ð!r*có—d|_yr/)rwrRs rrz,_SelectorSocketTransport._reset_empty_waiter¸s €Ø!ˆÕr*có0•—d|_t‰|� «yr/)rurrJrKs €rrJz_SelectorSocketTransport.close»sø€Ø"ˆÔÜ ‰‰ �r*r%)r#r&r'Ú_start_tls_compatiblerÚ _SendfileModeÚ TRY_NATIVEÚ_sendfile_compatiblerr6r[r�r‚rˆr˜rœryr�rŸr{r¬r°r²r_rrrJr+r,s@rr1r1£s“ø„à ÐØ$×2Ñ2×=Ñ=Ðà48Ø$(õ/ô2'òò#LòJKò2ò*%%òN:ò8ð8 ¨cð °dó ò8ò>0ò )òôEò"ò"÷ðr*r1cóV‡—eZdZejZ dˆfd„ Zd„Zd„Zdd„Z d„Z ˆxZ S)rBcóx•—t‰|�||||«||_d|_|jj |j j|«|jj |j|j|j«|�,|jj tj|d«yyrì) rrÚ_addressÚ _buffer_sizerGr^rSr}rWrr[rr~)r)rùr2r3rCr4r,r"s €rrz#_SelectorDatagramTransport.__init__Äs–ø€ä ‰Ñ˜˜t X¨uÔ5؈Œ ØˆÔØ � ‰ ×јTŸ^™^×;Ñ;¸TÔBà � ‰ ×јT×-Ñ-Ø!Ÿ]™]¨D×,<Ñ,<ô >à Ð à �J‰J× Ñ ¤×!EÑ!EØ!'¨õ /ð r*có—|jSr/)r¿rRs rrHz0_SelectorDatagramTransport.get_write_buffer_sizeÒs€Ø× Ñ Ð r*cóŽ—|jry |jj|j«\}}|jj ||«y#t tf$rYyt$r%}|jj|«Yd}~yd}~wttf$r‚t$r}|j|d«Yd}~yd}~wwxYw)Nz&Fatal read error on datagram transport)r;rrÙrprSÚdatagram_receivedrar`rgÚerror_receivedr‹rŒrŠrf©r)r\r…r†s rr[z&_SelectorDatagramTransport._read_readyÕs«€Ø �?Š?Ø ð 9ØŸ™×,Ñ,¨T¯]©]Ó;‰JˆD�$ð �N‰N× ,Ñ ,¨T°4Õ 8øô Ô!1Ð2ò Ù Üò /Ø �N‰N× )Ñ )¨#× .Ñ .ûÜÔ-Ð.ò Ø Üò MØ × Ñ ˜cÐ#K× LÑ Lûð Mús)�(AÁCÁ%CÁ-B  CÂ(B?Â?CcóZ—t|tttf«s!t dt |«j ›�«‚|sy|jr4|d|jfvrtd|j›�«‚|j}|jrT|jrH|jtjk\rtjd«|xjdz c_ y|jsI |jdr|j j#|«y|j j%||«y|jjAt|«|f«|xjBtE|«z c_!|jG«y#t&t(f$r3|j*j-|j.|j0«YŒ–t2$r%}|j4j7|«Yd}~yd}~wt8t:f$r‚t<$r}|j?|d«Yd}~yd}~wwxYw)Nr�z!Invalid address: must be None or r‘rrrú'Fatal write error on datagram transport)$r�r“r”rèr’r÷r#r¾r“r;rr•r r–r:r1rrfrñrar`rGrªrÚ _sendto_readyrgrSrÃr‹rŒrŠrfrFr¿ràr—rÄs rrñz!_SelectorDatagramTransport.sendtoåsŀܘ$¤¬ ´:Ð >Ô?Üð#Ü#'¨£:×#6Ñ#6Ð"9ð;ó<ð <áØ à �=Š=ؘD $§-¡-Ð0Ñ0Ü Ø7¸¿ ¹ °ÐGóIðIà—=‘=ˆDà �?Š?˜tŸ}š}Ø�‰¤)×"MÑ"MÒMÜ—‘Ð@ÔAØ �OŠO˜qÑ �OØ à�|Š|ð Ø—;‘;˜zÒ*Ø—J‘J—O‘O DÔ)ðð—J‘J×%Ñ% d¨DÔ1Øð � ‰ ×ÑœU 4›[¨$Ð/Ô0Ø ×ÒœS ›YÑ&ÕØ ×"Ñ"Õ$øô$Ô%5Ð6ò JØ— ‘ ×&Ñ& t§}¡}°d×6HÑ6HÖIÜò Ø—‘×-Ñ-¨cÔ2ÜûÜÔ 1Ð2ò ØÜ ò Ø×!Ñ!ØÐBôDäûð ús0Ã-*F ÄF Æ ?H*Ç H*ÇG3Ç3H*ÈH%È%H*cóX—|jr�|jj«\}}|xjt|«zc_ |jdr|j j |«n|j j||«|jrŒ�|j%«|jsD|j&j)|j*«|j,r|j/d«yyy#ttf$r>|jj||f«|xjt|«z c_YŒ­t$r%}|jj|«Yd}~yd}~wttf$r‚t $r}|j#|d«Yd}~yd}~wwxYw)NrrrÆ)r:r¥r¿ràr1rrfrñrar`r¦rgrSrÃr‹rŒrŠrfr rGr­rr<r_rÄs rrÇz(_SelectorDatagramTransport._sendto_readysQ€Ø�lŠlØŸ™×-Ñ-Ó/‰JˆD�$Ø × Ò ¤ T£Ñ *Õ ð Ø—;‘;˜zÒ*Ø—J‘J—O‘O DÕ)à—J‘J×%Ñ% d¨DÔ1ð�l‹lð, ×#Ñ#Ô%Ø�|Š|Ø �J‰J× %Ñ % d§m¡mÔ 4Ø�}Š}Ø×*Ñ*¨4Õ0ððøô$Ô%5Ð6ò Ø— ‘ ×'Ñ'¨¨t¨ Ô5Ø×!Ò!¤S¨£YÑ.Õ!ÙÜò Ø—‘×-Ñ-¨cÔ2ÜûÜÔ 1Ð2ò ØÜ ò Ø×!Ñ!ØÐBôDäûð ús,Á AC>Ã>A F)Å F)ÅE2Å2F)Æ F$Æ$F)r%r/) r#r&r'r8r9Ú_buffer_factoryrrHr[rñrÇr+r,s@rrBrBÀs.ø„à!×'Ñ'€Oà59Ø$(õ /ò!ò9ó *%öX1r*rB)&r(Ú__all__r8rzrÁršÚosrrTrqr&ÚsslÚ ImportErrorÚrrrrr r r r Úlogr ÚhasattrrxÚsysconfrrgrÚ BaseEventLooprÚ_FlowControlMixinÚ Transportr.r1ÚDatagramTransportrBrZr*rÚrÖsðñð #€ãÛ ÛÛÛ ÛÛ ÛÛðÛõÝÝÝÝÝÝÝÝá�v—}‘} iÓ0€ áðØ�R—Z‘Z  Ó-ˆ ò (ôI ˜K×5Ñ5ôI ôX_4˜×5Ñ5Ø#×-Ñ-ô_4ôDZÐ1ôZôzl1Ð!3°Z×5QÑ5Qõl1øðY%òØ ‚Cðûð$ òàŠ ðús#ªC&Á:C3Ã&C0Ã/C0Ã3C=Ã<C=