....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 198.54.126.4  /  Your IP : 216.73.216.178
Web Server : Apache
System : Linux host55.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
User : aeaw ( 7508)
PHP Version : 8.1.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python34/lib64/python3.4/asyncio/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python34/lib64/python3.4/asyncio/__pycache__/selector_events.cpython-34.pyo
�
j f��
@s�dZdgZddlZddlZddlZddlZddlZyddlZWnek
rudZYnXddl	m
Z
ddl	mZddl	mZddl	m
Z
dd	l	mZdd
l	mZddl	mZddl	mZdd
lmZddlmZdd�ZGdd�de
j�ZGdd�dejej�ZGdd�de�ZGdd�de�ZGdd�de�ZdS)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)�compat)�	constants)�events)�futures)�	selectors)�
transports)�sslproto)�	coroutine)�loggercCsAy|j|�}Wntk
r+dSYnXt|j|@�SdS)NF)�get_key�KeyError�boolr)�selector�fdZevent�key�r�</opt/alt/python34/lib64/python3.4/asyncio/selector_events.py�_test_selector_events

	rcs�eZdZdZd�fdd�Zddddddd�Zdd	d
dddddddd
�Zd	d
dddddddd�Zddddd�Z�fdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zddd d!�Zddd"d#�Zeddd$d%��Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Zd>d?�Z d@dA�Z!dBdC�Z"dDdE�Z#�S)FrzJSelector event loop.

    See events.EventLoop for API specification.
    NcsUt�j�|dkr(tj�}ntjd|jj�||_|j	�dS)NzUsing selector: %s)
�super�__init__r	ZDefaultSelectorr
�debug�	__class__�__name__�	_selector�_make_self_pipe)�selfr)rrrr0s
	zBaseSelectorEventLoop.__init__�extra�servercCst||||||�S)N)�_SelectorSocketTransport)r�sock�protocol�waiterrr rrr�_make_socket_transport9sz,BaseSelectorEventLoop._make_socket_transport�server_sideF�server_hostnamec

Cs{tj�s:|j||||d|d|d|d|�Stj||||||�}	t|||	d|d|�|	jS)Nr&r'rr )rZ_is_sslproto_available�_make_legacy_ssl_transportZSSLProtocolr!Z_app_transport)
r�rawsockr#�
sslcontextr$r&r'rr Zssl_protocolrrr�_make_ssl_transport>s

z)BaseSelectorEventLoop._make_ssl_transportc	
Cs"t|||||||||�	S)N)�_SelectorSslTransport)	rr)r#r*r$r&r'rr rrrr(Msz0BaseSelectorEventLoop._make_legacy_ssl_transportcCst||||||�S)N)�_SelectorDatagramTransport)rr"r#�addressr$rrrr�_make_datagram_transportWsz.BaseSelectorEventLoop._make_datagram_transportcsn|j�rtd��n|j�r+dS|j�t�j�|jdk	rj|jj�d|_ndS)Nz!Cannot close a running event loop)Z
is_running�RuntimeError�	is_closed�_close_self_piper�closer)r)rrrr3\s


zBaseSelectorEventLoop.closecCs
t�dS)N)�NotImplementedError)rrrr�_socketpairgsz!BaseSelectorEventLoop._socketpaircCsU|j|jj��|jj�d|_|jj�d|_|jd8_dS)Nr)�
remove_reader�_ssock�filenor3�_csock�
_internal_fds)rrrrr2js
	
	z&BaseSelectorEventLoop._close_self_pipecCsg|j�\|_|_|jjd�|jjd�|jd7_|j|jj�|j�dS)NFr)r5r7r9�setblockingr:�
add_readerr8�_read_from_self)rrrrrrs
z%BaseSelectorEventLoop._make_self_pipecCsdS)Nr)r�datarrr�_process_self_datazsz(BaseSelectorEventLoop._process_self_datacCsbx[y-|jjd�}|s"Pn|j|�Wqtk
rGwYqtk
rYPYqXqWdS)Ni)r7�recvr?�InterruptedError�BlockingIOError)rr>rrrr=}s

z%BaseSelectorEventLoop._read_from_selfcCsa|j}|dk	r]y|jd�Wq]tk
rY|jrUtjddd�nYq]XndS)Nsz3Fail to write a null byte into the self-pipe socket�exc_infoT)r9�send�OSError�_debugr
r)rZcsockrrr�_write_to_self�s	
	z$BaseSelectorEventLoop._write_to_selfcCs)|j|j�|j||||�dS)N)r<r8�_accept_connection)r�protocol_factoryr"r*r rrr�_start_serving�sz$BaseSelectorEventLoop._start_servingc
CsDyE|j�\}}|jr7tjd|||�n|jd�Wn�tttfk
rbYn�tk
r
}z�|j	t	j
t	jt	jt	j
fkr�|jidd6|d6|d6�|j|j��|jtj|j||||�n�WYdd}~Xn6Xi|d6}|j|||||�}	|j|	�dS)Nz#%r got a new connection from %r: %rFz&socket.accept() out of system resource�message�	exception�socket�peername)�acceptrFr
rr;rBrA�ConnectionAbortedErrorrE�errnoZEMFILEZENFILEZENOBUFSZENOMEM�call_exception_handlerr6r8Z
call_laterrZACCEPT_RETRY_DELAYrJ�_accept_connection2Zcreate_task)
rrIr"r*r �conn�addr�excrrOrrrrH�s0			
z(BaseSelectorEventLoop._accept_connectionccs5d}d}y�|�}tjd|�}|r`|j|||d|ddd|d|�}n$|j||d|d|d|�}y
|DdHWn|j��YnXWn�tk
r0}	zd|jridd6|	d	6}
|dk	r�||
d
<n|dk	r||
d<n|j|
�nWYdd}	~	XnXdS)N�loopr$r&Trr z3Error on transport creation for incoming connectionrKrLr#�	transport)r�Futurer+r%r3�	ExceptionrFrR)rrIrTrr*r r#rXr$rV�contextrrrrS�s6		

	


z)BaseSelectorEventLoop._accept_connection2c	
Gs�|j�tj|||�}y|jj|�}Wn1tk
rh|jj|tj|df�YnVX|j|j	}\}}|jj
||tjB||f�|dk	r�|j�ndS)zAdd a reader callback.N)�
_check_closedr�Handlerrr�registerr	�
EVENT_READr>�modify�cancel)	rr�callback�args�handler�mask�reader�writerrrrr<�s


z BaseSelectorEventLoop.add_readerc
Cs�|j�rdSy|jj|�}Wntk
r>dSYn{X|j|j}\}}|tjM}|s|jj|�n|jj	||d|f�|dk	r�|j
�dSdSdS)zRemove a reader callback.FNT)r1rrrrr>r	r_�
unregisterr`ra)rrrrerfrgrrrr6�s
	
z#BaseSelectorEventLoop.remove_readerc	
Gs�|j�tj|||�}y|jj|�}Wn1tk
rh|jj|tjd|f�YnVX|j|j	}\}}|jj
||tjB||f�|dk	r�|j�ndS)zAdd a writer callback..N)r\rr]rrrr^r	�EVENT_WRITEr>r`ra)	rrrbrcrdrrerfrgrrr�
add_writers


z BaseSelectorEventLoop.add_writerc
Cs�|j�rdSy|jj|�}Wntk
r>dSYn{X|j|j}\}}|tjM}|s|jj|�n|jj	|||df�|dk	r�|j
�dSdSdS)zRemove a writer callback.FNT)r1rrrrr>r	rirhr`ra)rrrrerfrgrrr�
remove_writers
	
z#BaseSelectorEventLoop.remove_writercCsV|jr*|j�dkr*td��ntjd|�}|j|d||�|S)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.

        This method is a coroutine.
        rzthe socket must be non-blockingrWF)rF�
gettimeout�
ValueErrorrrY�
_sock_recv)rr"�n�futrrr�	sock_recv2s
	zBaseSelectorEventLoop.sock_recvcCs�|j�}|r"|j|�n|j�r2dSy|j|�}Wnhttfk
r~|j||j|d||�Yn?tk
r�}z|j	|�WYdd}~XnX|j
|�dS)NT)r8r6�	cancelledr@rBrAr<rnrZ�
set_exception�
set_result)rrp�
registeredr"rorr>rVrrrrnAs# z BaseSelectorEventLoop._sock_recvcCsl|jr*|j�dkr*td��ntjd|�}|r[|j|d||�n
|jd�|S)a�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.

        This method is a coroutine.
        rzthe socket must be non-blockingrWFN)rFrlrmrrY�
_sock_sendallrt)rr"r>rprrr�sock_sendallVs
z"BaseSelectorEventLoop.sock_sendallcCs�|j�}|r"|j|�n|j�r2dSy|j|�}WnSttfk
red}Yn6tk
r�}z|j|�dSWYdd}~XnX|t|�kr�|j	d�n8|r�||d�}n|j
||j|d||�dS)NrT)r8rkrrrDrBrArZrs�lenrtrjrv)rrprur"r>rrorVrrrrvjs"

z#BaseSelectorEventLoop._sock_sendallcCs�|jr*|j�dkr*td��ntjd|�}ytj||�Wn2tk
r�}z|j|�WYdd}~XnX|j|||�|S)a�Connect to a remote socket at address.

        The address must be already resolved to avoid the trap of hanging the
        entire event loop when the address requires doing a DNS lookup. For
        example, it must be an IP address, not an hostname, for AF_INET and
        AF_INET6 address families. Use getaddrinfo() to resolve the hostname
        asynchronously.

        This method is a coroutine.
        rzthe socket must be non-blockingrWN)	rFrlrmrrYrZ_check_resolved_addressrs�
_sock_connect)rr"r.rp�errrrr�sock_connect�s z"BaseSelectorEventLoop.sock_connectcCs�|j�}y|j|�Wn�ttfk
ro|jtj|j|��|j||j	|||�Yn?t
k
r�}z|j|�WYdd}~XnX|jd�dS)N)
r8ZconnectrBrAZadd_done_callback�	functools�partial�_sock_connect_donerj�_sock_connect_cbrZrsrt)rrpr"r.rrVrrrry�s
  z#BaseSelectorEventLoop._sock_connectcCs|j|�dS)N)rk)rrrprrrr~�sz(BaseSelectorEventLoop._sock_connect_donecCs�|j�rdSyA|jtjtj�}|dkrPt|d|f��nWnIttfk
rkYn?tk
r�}z|j	|�WYdd}~XnX|j
d�dS)NrzConnect call failed %s)rrZ
getsockoptrMZ
SOL_SOCKETZSO_ERRORrErBrArZrsrt)rrpr"r.rzrVrrrr�s z&BaseSelectorEventLoop._sock_connect_cbcCsS|jr*|j�dkr*td��ntjd|�}|j|d|�|S)a|Accept 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.

        This method is a coroutine.
        rzthe socket must be non-blockingrWF)rFrlrmrrY�_sock_accept)rr"rprrr�sock_accept�s

z!BaseSelectorEventLoop.sock_acceptcCs�|j�}|r"|j|�n|j�r2dSy#|j�\}}|jd�Wnettfk
r�|j||j|d|�YnEt	k
r�}z|j
|�WYdd}~XnX|j||f�dS)NFT)r8r6rrrOr;rBrAr<r�rZrsrt)rrprur"rrTr.rVrrrr��s  z"BaseSelectorEventLoop._sock_acceptcCs�x�|D]�\}}|j|j}\}}|tj@rn|dk	rn|jr^|j|�qn|j|�n|tj@r|dk	r|jr�|j|�q�|j|�qqWdS)N)	�fileobjr>r	r_Z
_cancelledr6Z
_add_callbackrirk)rZ
event_listrrer�rfrgrrr�_process_events�s		z%BaseSelectorEventLoop._process_eventscCs!|j|j��|j�dS)N)r6r8r3)rr"rrr�
_stop_serving�sz#BaseSelectorEventLoop._stop_serving)$r�
__module__�__qualname__�__doc__rr%r+r(r/r3r5r2rr?r=rGrJrHrrSr<r6rjrkrqrnrwrvr{ryr~rr�r�r�r�rr)rrr*sL	
!#cs�eZdZdZeZdZdd�fdd�Zdd�Zdd	�Z	d
d�Z
dd
�Zej
r~dd�Znddd�Zdd�Zdd�Zdd�Z�S)�_SelectorTransport�iNcs�t�j||�||jd<|j�|jd<d|jkr�y|j�|jd<Wq�tjk
r}d|jd<Yq�Xn||_|j�|_	||_
d|_||_|j
�|_d|_d|_|jdk	r�|jj�ndS)NrMZsocknamerNTrF)rr�_extraZgetsocknameZgetpeernamerM�error�_sockr8�_sock_fd�	_protocol�_protocol_connected�_server�_buffer_factory�_buffer�
_conn_lost�_closingZ_attach)rrWr"r#rr )rrrr�s$
						z_SelectorTransport.__init__cCs%|jjg}|jdkr.|jd�n|jrG|jd�n|jd|j�|jdk	r|jj�rt|jj	|jt
j�}|r�|jd�n
|jd�t|jj	|jt
j�}|r�d}nd}|j
�}|jd||f�nd	d
j|�S)N�closed�closingzfd=%szread=pollingz	read=idle�pollingZidlezwrite=<%s, bufsize=%s>z<%s>� )rrr��appendr�r��_loopr1rrr	r_ri�get_write_buffer_size�join)r�infor��state�bufsizerrr�__repr__s*	
	z_SelectorTransport.__repr__cCs|jd�dS)N)�_force_close)rrrr�abort+sz_SelectorTransport.abortcCs|jS)N)r�)rrrr�
is_closing.sz_SelectorTransport.is_closingcCs^|jr
dSd|_|jj|j�|jsZ|jd7_|jj|jd�ndS)NTr)r�r�r6r�r�r��	call_soon�_call_connection_lost)rrrrr31s			z_SelectorTransport.closecCs7|jdk	r3tjd|t�|jj�ndS)Nzunclosed transport %r)r��warnings�warn�ResourceWarningr3)rrrr�__del__>sz_SelectorTransport.__del__zFatal error on transportcCs�t|tttf�rF|jj�rutjd||dd�qun/|jji|d6|d6|d6|j	d6�|j
|�dS)Nz%r: %srCTrKrLrXr#)�
isinstance�BrokenPipeError�ConnectionResetErrorrPr��	get_debugr
rrRr�r�)rrVrKrrr�_fatal_errorCs	z_SelectorTransport._fatal_errorcCs�|jr
dS|jr9|jj�|jj|j�n|jsad|_|jj|j�n|jd7_|jj|j	|�dS)NTr)
r�r��clearr�rkr�r�r6r�r�)rrVrrrr�Rs		
		z_SelectorTransport._force_closecCs{z |jr|jj|�nWd|jj�d|_d|_d|_|j}|dk	rv|j�d|_nXdS)N)r�r�Zconnection_lostr�r3r�r�Z_detach)rrVr rrrr�^s	
				
z(_SelectorTransport._call_connection_lostcCs
t|j�S)N)rxr�)rrrrr�lsz(_SelectorTransport.get_write_buffer_sizei)rr�r��max_size�	bytearrayr�r�rr�r�r�r3rZPY34r�r�r�r�r�rr)rrr��s	r�cseZdZddd�fdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
�S)r!Ncs�t�j|||||�d|_d|_|jj|jj|�|jj|jj|j	|j
�|dk	r�|jjtj|d�ndS)NF)
rr�_eof�_pausedr�r�r��connection_mader<r��_read_readyr�_set_result_unless_cancelled)rrWr"r#r$rr )rrrrrs		z!_SelectorSocketTransport.__init__cCsr|jrtd��n|jr0td��nd|_|jj|j�|jj�rntjd|�ndS)Nz#Cannot pause_reading() when closingzAlready pausedTz%r pauses reading)	r�r0r�r�r6r�r�r
r)rrrr�
pause_reading�s			z&_SelectorSocketTransport.pause_readingcCsm|jstd��nd|_|jr.dS|jj|j|j�|jj�ritj	d|�ndS)Nz
Not pausedFz%r resumes reading)
r�r0r�r�r<r�r�r�r
r)rrrr�resume_reading�s			z'_SelectorSocketTransport.resume_readingcCs�y|jj|j�}WnLttfk
r3Yn�tk
rg}z|j|d�WYdd}~XnqX|r�|jj|�nW|j	j
�r�tjd|�n|jj
�}|r�|j	j|j�n
|j�dS)Nz$Fatal read error on socket transportz%r received EOF)r�r@r�rBrArZr�r��
data_receivedr�r�r
r�eof_receivedr6r�r3)rr>rV�	keep_openrrrr��s#z$_SelectorSocketTransport._read_readycCsVt|tttf�s0tdt|���n|jrHtd��n|sRdS|jr�|jt	j
kr}tjd�n|jd7_dS|j
s8y|jj|�}WnPttfk
r�YnStk
r}z|j|d�dSWYdd}~XnX||d�}|sdS|jj|j|j�n|j
j|�|j�dS)Nz#data argument must be byte-ish (%r)z%Cannot call write() after write_eof()zsocket.send() raised exception.rz%Fatal write error on socket transport)r��bytesr��
memoryview�	TypeError�typer�r0r�r�!LOG_THRESHOLD_FOR_CONNLOST_WRITESr
�warningr�r�rDrBrArZr�r�rjr��_write_ready�extend�_maybe_pause_protocol)rr>rorVrrr�write�s4			z_SelectorSocketTransport.writecCsy|jj|j�}Wnlttfk
r3Yn�tk
r�}z5|jj|j�|jj	�|j
|d�WYdd}~Xn{X|r�|jd|�=n|j�|js|jj|j�|jr�|j
d�q|jr|jjtj�qndS)Nz%Fatal write error on socket transport)r�rDr�rBrArZr�rkr�r�r��_maybe_resume_protocolr�r�r��shutdownrM�SHUT_WR)rrorVrrrr��s"
#
			z%_SelectorSocketTransport._write_readycCs9|jr
dSd|_|js5|jjtj�ndS)NT)r�r�r�r�rMr�)rrrr�	write_eof�s
			z"_SelectorSocketTransport.write_eofcCsdS)NTr)rrrr�
can_write_eof�sz&_SelectorSocketTransport.can_write_eof)rr�r�rr�r�r�r�r�r�r�rr)rrr!ps

#r!cs�eZdZeZddddd�fdd�Zddd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
�S)r,NFc

stdkrtd��n|s6tj||�}ni|d6dd6}
|rd|rd||
d<n|j||
�}t�j|||||	�d|_||_||_	||_
d|_|jj
d|�|jj�rtjd|�|jj�}nd}|j|�dS)Nzstdlib ssl module not availabler&FZdo_handshake_on_connectr'r*z%r starts SSL handshake)�sslr0rZ_create_transport_contextZwrap_socketrrr��_server_hostname�_waiter�_sslcontextr�r��updater�r�r
r�time�
_on_handshake)
rrWr)r#r*r$r&r'rr Zwrap_kwargsZsslsock�
start_time)rrrr�s,


					z_SelectorSslTransport.__init__cCsa|jdkrdS|jj�sT|dk	rA|jj|�qT|jjd�nd|_dS)N)r�rrrsrt)rrVrrr�_wakeup_waitersz$_SelectorSslTransport._wakeup_waiterc%Cs�y|jj�Wntjk
rH|jj|j|j|�dSYn�tjk
r||jj	|j|j|�dSYn�t
k
r}z�|jj�r�tj
d|dd�n|jj|j�|jj|j�|jj�|j|�t|t�r	dS�WYdd}~XnX|jj|j�|jj|j�|jj�}t|jd�s|jr|jjtjkrytj||j�Wqtk
r}zK|jj�r�tj
d|dd�n|jj�|j|�dSWYdd}~XqXqn|jjd|d|jj�d|jj�d	|j�d
|_d
|_ |jj|j|j!�d|_"|jj#|j$j%|�|jj#|j�|jj�r�|jj&�|}tj'd||d�ndS)
Nz%r: SSL handshake failedrCTZcheck_hostnamez1%r: SSL handshake failed on matching the hostname�peercert�cipher�compressionZ
ssl_objectFz%r: SSL handshake took %.1f msg@�@)(r�Zdo_handshaker��SSLWantReadErrorr�r<r�r��SSLWantWriteErrorrj�
BaseExceptionr�r
r�r6rkr3r�r�rZZgetpeercert�hasattrr�r�Zverify_modeZ	CERT_NONEZmatch_hostnamer�r�r�r��_read_wants_write�_write_wants_readr�r�r�r�r�r�r)rr�rVr�Zdtrrrr�!sb

	

		


			z#_SelectorSslTransport._on_handshakecCsr|jrtd��n|jr0td��nd|_|jj|j�|jj�rntjd|�ndS)Nz#Cannot pause_reading() when closingzAlready pausedTz%r pauses reading)	r�r0r�r�r6r�r�r
r)rrrrr�`s			z#_SelectorSslTransport.pause_readingcCsm|jstd��nd|_|jr.dS|jj|j|j�|jj�ritj	d|�ndS)Nz
Not pausedFz%r resumes reading)
r�r0r�r�r<r�r�r�r
r)rrrrr�ps			z$_SelectorSslTransport.resume_readingcCsq|jrDd|_|j�|jrD|jj|j|j�qDny|jj|j�}Wn�t	t
tjfk
r}Yn�tj
k
r�d|_|jj|j�|jj|j|j�Yn�tk
r�}z|j|d�WYdd}~XnsX|r|jj|�nYzK|jj�r9tjd|�n|jj�}|r^tjd�nWd|j�XdS)NFTz!Fatal read error on SSL transportz%r received EOFz?returning true from eof_received() has no effect when using ssl)r�r�r�r�rjr�r�r@r�rBrAr�r�r�r�r6rZr�r�r�r�r
rr�r�r3)rr>rVr�rrrr�zs0		
		#z!_SelectorSslTransport._read_readycCs�|jrMd|_|j�|jp+|jsM|jj|j|j�qMn|jr@y|jj	|j�}Wn�t
ttj
fk
r�d}Yn�tjk
r�d}|jj|j�d|_YnYtk
r#}z9|jj|j�|jj�|j|d�dSWYdd}~XnX|r@|jd|�=q@n|j�|js�|jj|j�|jr�|jd�q�ndS)NFrTz"Fatal write error on SSL transport)r�r�r�r�r�r<r�r�r�rDrBrAr�r�r�rkr�rZr�r�r�r�)rrorVrrrr��s4		
	



		z"_SelectorSslTransport._write_readycCs�t|tttf�s0tdt|���n|s:dS|jrx|jtjkret	j
d�n|jd7_dS|js�|jj
|j|j�n|jj|�|j�dS)Nz#data argument must be byte-ish (%r)zsocket.send() raised exception.r)r�r�r�r�r�r�r�rr�r
r�r�r�rjr�r�r�r�)rr>rrrr��s		z_SelectorSslTransport.writecCsdS)NFr)rrrrr��sz#_SelectorSslTransport.can_write_eof)rr�r�r�r�rr�r�r�r�r�r�r�r�rr)rrr,�s"
?
 !r,csgeZdZejZddd�fdd�Zdd�Zdd�Zddd	�Z	d
d�Z
�S)r-Ncs�t�j||||�||_|jj|jj|�|jj|jj|j|j	�|dk	r�|jjt
j|d�ndS)N)rr�_addressr�r�r�r�r<r�r�rr�)rrWr"r#r.r$r)rrrr�s	z#_SelectorDatagramTransport.__init__cCstdd�|jD��S)Ncss!|]\}}t|�VqdS)N)rx)�.0r>�_rrr�	<genexpr>�szC_SelectorDatagramTransport.get_write_buffer_size.<locals>.<genexpr>)�sumr�)rrrrr��sz0_SelectorDatagramTransport.get_write_buffer_sizecCs�y|jj|j�\}}Wn�ttfk
r9Yn|tk
rm}z|jj|�WYdd}~XnHtk
r�}z|j	|d�WYdd}~XnX|jj
||�dS)Nz&Fatal read error on datagram transport)r�Zrecvfromr�rBrArEr��error_receivedrZr�Zdatagram_received)rr>rUrVrrrr��s"#z&_SelectorDatagramTransport._read_readycCs�t|tttf�s0tdt|���n|s:dS|jrq|d|jfkrqtd|jf��n|jr�|jr�|jt	j
kr�tjd�n|jd7_dS|j
s�y7|jr�|jj|�n|jj||�dSWq�ttfk
r+|jj|j|j�Yq�tk
rc}z|jj|�dSWYdd}~Xq�tk
r�}z|j|d�dSWYdd}~Xq�Xn|j
jt|�|f�|j�dS)Nz#data argument must be byte-ish (%r)z#Invalid address: must be None or %szsocket.send() raised exception.rz'Fatal write error on datagram transport)r�r�r�r�r�r�r�rmr�rr�r
r�r�r�rD�sendtorBrAr�rjr��
_sendto_readyrEr�r�rZr�r�r�)rr>rUrVrrrr��s<			z!_SelectorDatagramTransport.sendtocCs@x�|jr�|jj�\}}y3|jr@|jj|�n|jj||�Wqttfk
r�|jj||f�PYqt	k
r�}z|j
j|�dSWYdd}~Xqtk
r�}z|j
|d�dSWYdd}~XqXqW|j�|js<|jj|j�|jr<|jd�q<ndS)Nz'Fatal write error on datagram transport)r��popleftr�r�rDr�rBrA�
appendleftrEr�r�rZr�r�r�rkr�r�r�)rr>rUrVrrrr�s*		
		z(_SelectorDatagramTransport._sendto_ready)rr�r��collections�dequer�rr�r�r�r�rr)rrr-�s	'r-)r��__all__r�rQr|rMr�r��ImportError�rrrrrr	r
rZ
coroutinesr�logr
rZ
BaseEventLooprZ_FlowControlMixinZ	Transportr�r!r,r-rrrr�<module>s8	
����

Youez - 2016 - github.com/yon3zu
LinuXploit