a ÕDOg3ã@sTddlZddlTddlZddlZddlZddlZddlmZmZz ddlZWne ybdZYn0e eddƒZ e eddƒZ e eddƒZ gd ¢Ze e e¡¡e d ed d „¡e d edd „¡e dedd „¡e dedd „¡dZdZdd„Zej ¡ d¡riZded<ded<ded<ded<d ed!<d"ed#<d$ed%<d&ed'<d(ed)<d*ed+<d,ed-<d.ed/<d0ed1<d2ed3<d4ed5<d6ed7<d8ed9<d:ed;<ded?<d@edA<dBedC<dDedE<dFedG<dHedI<dJedK<dLedM<dNedO<dPedQ<dRedS<dTedU<dVedW<dXedY<dZed[<d\ed]<d^ed_<d`eda<dbedc<ddede<dfedg<dhedi<djedk<dledm<dnedo<dpedq<dreds<dtedu<dvedw<dxedy<dzed{<d|ed}<d~ed<d€ed<d‚edƒ<d„ed…<d†ed‡<dˆed‰<dŠed‹<dŒed<dŽed<ded‘<d‚ed’<d“ed”<d•ed–<d—ed˜<d™edš<d›edœ<dedž<dŸed <d¡ed¢<d£ed¤<d¥ed¦<d§ed¨<d©edª<d«ed¬<d­ed®<d¯ed°<d±ed²<d³ed´<dµed¶<d·ed¸<d¹edº<d»ed¼<d»ed½<d¾ed¿<dÀedÁ<dÂedÃ<dÄedÅ<dÆedÇ<dÈedÉ<dÊedË<dÌedÍ<dÎedÏ<dÐedÑ<dÒedÓ<e dÔ¡GdÕdÖ„dÖeƒZGd×dØ„dØejƒZdødÙdÚ„ZeejdÛƒrfddl Z dùdÜdÝ„Z!e dÝ¡eejdÞƒrddl Z dúdßdà„Z"e dà¡eejdáƒr°dâdã„Z#e dã¡e$e%dfdädå„Z&eedæƒrÞde%dfdçdæ„Z'ne&Z'e dæ¡dèe'_(e e hZ)Gdédê„dêej*ƒZ+dûdìdí„Z,e-ƒZ.e.dfdîdï„Z/dðdñ„Z0e$ddòdòdóœdôdõ„Z1düdöd÷„Z2dS)ýéN)Ú*)ÚIntEnumÚIntFlagÚEBADFé ÚEAGAINé Ú EWOULDBLOCK)ÚfromfdÚgetfqdnÚcreate_connectionÚ create_serverÚhas_dualstack_ipv6Ú AddressFamilyÚ SocketKindrcCs| ¡o| d¡S)NZAF_©ÚisupperÚ startswith©ÚC©rú+/opt/alt/python39/lib64/python3.9/socket.pyÚNórrcCs| ¡o| d¡S)NZSOCK_rrrrrrSrZMsgFlagcCs| ¡o| d¡S)NZMSG_rrrrrrXrZ AddressInfocCs| ¡o| d¡S)NZAI_rrrrrr]rz 127.0.0.1z::1cCs&z ||ƒWSty |YS0dS©N)Ú ValueError)ÚvalueZ enum_klassrrrÚ_intenum_convertercs  rÚwinz)Specified event object handle is invalid.ézInsufficient memory available.éz#One or more parameters are invalid.éWzOverlapped operation aborted.iãz2Overlapped I/O event object not in signaled state.iäz)Overlapped operation will complete later.iåzThe operation was interrupted.i'zA bad file handle was passed.i'zPermission denied.i'z!A fault occurred on the network??i'z#An invalid operation was attempted.i&'zToo many open files.i('z The socket operation would blocki3'z,A blocking operation is already in progress.i4'zOperation already in progress.i5'zSocket operation on nonsocket.i6'zDestination address required.i7'zMessage too long.i8'zProtocol wrong type for socket.i9'zBad protocol option.i:'zProtocol not supported.i;'zSocket type not supported.i<'zOperation not supported.i='zProtocol family not supported.i>'z0Address family not supported by protocol family.i?'zThe network address is in use.i@'z Cannot assign requested address.iA'zNetwork is down.iB'zNetwork is unreachable.iC'z$Network dropped connection on reset.iD'z!Software caused connection abort.iE'zThe connection has been reset.iF'zNo buffer space available.iG'zSocket is already connected.iH'zSocket is not connected.iI'zThe network has been shut down.iJ'zToo many references.iK'zThe operation timed out.iL'zConnection refused.iM'zCannot translate name.iN'zThe name is too long.iO'zThe host is down.iP'zThe host is unreachable.iQ'zDirectory not empty.iR'zToo many processes.iS'zUser quota exceeded.iT'zDisk quota exceeded.iU'zStale file handle reference.iV'zItem is remote.iW'z!Network subsystem is unavailable.ik'z!Winsock.dll version out of range.il'z(Successful WSAStartup not yet performed.im'zGraceful shutdown in progress.iu'z*No more results from WSALookupServiceNext.iv'zCall has been canceled.iw'z Procedure call table is invalid.ix'zService provider is invalid.iy'z&Service provider failed to initialize.iz'zSystem call failure.i{'zService not found.i|'zClass type not found.i}'i~'zCall was canceled.i'zDatabase query was refused.i€'zHost not found.iù*z Nonauthoritative host not found.iú*zThis is a nonrecoverable error.iû*z*Valid name, no data record requested type.iü*zQoS receivers.iý*z QoS senders.iþ*zNo QoS senders.iÿ*zQoS no receivers.i+zQoS request confirmed.i+zQoS admission error.i+zQoS policy failure.i+zQoS bad style.i+zQoS bad object.i+zQoS traffic control error.i+zQoS generic error.i+zQoS service type error.i+zQoS flowspec error.i +zInvalid QoS provider buffer.i +zInvalid QoS filter style.i +i +zIncorrect QoS filter count.i +zInvalid QoS object length.i+zIncorrect QoS flow count.i+zUnrecognized QoS object.i+zInvalid QoS policy object.i+zInvalid QoS flow descriptor.i+z'Invalid QoS provider-specific flowspec.i+z)Invalid QoS provider-specific filterspec.i+z&Invalid QoS shape discard mode object.i+z Invalid QoS shaping rate object.i+z!Reserved policy QoS element type.i+ÚerrorTabc@s eZdZdS)Ú_GiveupOnSendfileN)Ú__name__Ú __module__Ú __qualname__rrrrr#Órr#cs&eZdZgd¢Zd6dd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z d7ddddœdd„Z e e dƒrtd8dd„Zn d9dd„Zd:dd„Zdd„Zd;dd „Zd!d"„Zejfd#d$„Zd%d&„Z‡fd'd(„Ze‡fd)d*„ƒZe‡fd+d,„ƒZe jd-krd.d/„Zd0d1„Znd2d/„Zd3d1„Zd4e_d5e_‡ZS)<Úsocket)Ú __weakref__Ú_io_refsÚ_closedéÿÿÿÿNcCsP|dur,|dkrt}|dkr t}|dkr,d}tj |||||¡d|_d|_dS)Nr+rF)ÚAF_INETÚ SOCK_STREAMÚ_socketr'Ú__init__r)r*)ÚselfÚfamilyÚtypeÚprotoÚfilenorrrr/Üszsocket.__init__cCs|Srr©r0rrrÚ __enter__ìszsocket.__enter__cGs|js| ¡dSr)r*Úclose)r0ÚargsrrrÚ__exit__ïszsocket.__exit__cCs´t|ddƒ}d|jj|jj|r"dnd| ¡|j|j|jf}|s¨z | ¡}|r^|dt |ƒ7}Wnt yrYn0z |  ¡}|r’|dt |ƒ7}Wnt y¦Yn0|d7}|S) Nr*Fz,<%s.%s%s fd=%i, family=%s, type=%s, proto=%iz [closed]Úz , laddr=%sz , raddr=%sú>) ÚgetattrÚ __class__r%r&r4r1r2r3Ú getsocknameÚstrÚerrorÚ getpeername)r0ÚclosedÚsZladdrZraddrrrrÚ__repr__ós4  úÿ  zsocket.__repr__cCstd|jj›dƒ‚dS)Nzcannot pickle z object)Ú TypeErrorr=r$r5rrrÚ __getstate__szsocket.__getstate__cCs6t| ¡ƒ}|j|j|j|j|d}| | ¡¡|S)N©r4)Údupr4r=r1r2r3Ú settimeoutÚ gettimeout)r0ÚfdÚsockrrrrHs z socket.dupcCsF| ¡\}}t|j|j|j|d}tƒdur>| ¡r>| d¡||fS)NrGT)Z_acceptr'r1r2r3ZgetdefaulttimeoutrJÚ setblocking)r0rKÚaddrrLrrrÚaccepts   z socket.acceptÚr)ÚencodingÚerrorsÚnewlinec Csút|ƒhd£kstd|fƒ‚d|v}d|vp2| }d|v}d} |rL| d7} |rX| d7} t|| ƒ} |jd7_|dur|d}|d krŠtj}|d kr¢|sžtd ƒ‚| S|rº|rºt | | |¡} n|rÌt | |¡} n t | |¡} |rà| St  | |||¡} || _ | S) N>ÚwÚbrPz&invalid mode %r (only r, w, b allowed)rTrPrUr:ér+rz!unbuffered streams must be binary) ÚsetrÚSocketIOr)ÚioÚDEFAULT_BUFFER_SIZEÚBufferedRWPairÚBufferedReaderÚBufferedWriterÚ TextIOWrapperÚmode) r0r_Ú bufferingrQrRrSZwritingZreadingZbinaryZrawmodeÚrawÚbufferÚtextrrrÚmakefile.s<  zsocket.makefileÚsendfilerc Cs| |||¡| ¡}z | ¡}Wn2ttjfyT}zt|ƒ‚WYd}~n d}~00zt |¡j}Wn,t y’}zt|ƒ‚WYd}~n d}~00|sœdSt |p¤|dƒ}|  ¡} | dkrÂt dƒ‚t tdƒrÖt ¡} nt ¡} |  |tj¡d} | j} tj} zö| r| | ƒst d¡‚|r6|| }|dkr6qÎz| ||||ƒ}Wnbtyn| sd| ƒYqYn\t yª}z$| dkrt|ƒ‚|d‚WYd}~n(d}~00|dkrºqÎ||7}| |7} q| W| dkròt |dƒrò| |¡Sn"| dkrt |dƒr| |¡0dS)Nri@ú&non-blocking sockets are not supportedÚ PollSelectorz timed outÚseek)Ú_check_sendfile_paramsr4ÚAttributeErrorrYÚUnsupportedOperationr#ÚosÚfstatÚst_sizeÚOSErrorÚminrJrÚhasattrÚ selectorsrgZSelectSelectorÚregisterZ EVENT_WRITEZselectrer.ÚtimeoutÚBlockingIOErrorrh)r0ÚfileÚoffsetÚcountZsocknor4ÚerrZfsizeÚ blocksizertZselectorÚ total_sentZselector_selectZ os_sendfileÚsentrrrÚ_sendfile_use_sendfileZsh          ýÿzsocket._sendfile_use_sendfilecCs tdƒ‚dS)Nz,os.sendfile() not available on this platform)r#©r0rvrwrxrrrr}›sÿc Cs | |||¡| ¡dkr"tdƒ‚|r0| |¡|r>t|dƒnd}d}|j}|j}z¢|rpt|||ƒ}|dkrpqÎt||ƒƒ}|s‚qÎz ||ƒ} Wnty¤Yq‚Yq‚0|| 7}| t |ƒkrÌ|| d…}q‚qTq‚qT|W|dkròt |dƒrò| ||¡Sn&|dkrt |dƒr| ||¡0dS)Nrrfi rh) rirJrrhrpÚreadÚsendÚ memoryviewruÚlenrq) r0rvrwrxrzr{Z file_readZ sock_sendÚdatar|rrrÚ_sendfile_use_sendŸsB       ýÿzsocket._sendfile_use_sendcCsddt|ddƒvrtdƒ‚|jt@s*tdƒ‚|dur`t|tƒsJtd |¡ƒ‚|dkr`td |¡ƒ‚dS)NrUr_z$file should be opened in binary modez+only SOCK_STREAM type sockets are supportedz+count must be a positive integer (got {!r})r)r<rr2r-Ú isinstanceÚintrEÚformatr~rrrriÃs  ÿÿzsocket._check_sendfile_paramscCs6z| |||¡WSty0| |||¡YS0dSr)r}r#r„r~rrrreÐs zsocket.sendfilecCs*|jdkr|jd8_|jr&| ¡dS)NrrV)r)r*r7r5rrrÚ_decref_socketiosçs zsocket._decref_socketioscCs| |¡dSr)r7)r0Z_ssrrrÚ _real_closeíszsocket._real_closecCsd|_|jdkr| ¡dS)NTr)r*r)r‰r5rrrr7ñs z socket.closecsd|_tƒ ¡S)NT)r*ÚsuperÚdetachr5©r=rrr‹÷sz socket.detachcsttƒjtƒSr)rrŠr1rr5rŒrrr1sz socket.familycsttƒjtƒSr)rrŠr2rr5rŒrrr2sz socket.typeÚntcCst | ¡¡Sr)rlZget_handle_inheritabler4r5rrrÚget_inheritableszsocket.get_inheritablecCst | ¡|¡dSr)rlZset_handle_inheritabler4©r0Z inheritablerrrÚset_inheritableszsocket.set_inheritablecCst | ¡¡Sr)rlrŽr4r5rrrrŽscCst | ¡|¡dSr)rlrr4rrrrrsz&Get the inheritable flag of the socketz&Set the inheritable flag of the socket)r+r+r+N)rPN)rN)rN)rN)rN) r$r%r&Ú __slots__r/r6r9rDrFrHrOrdrqrlr}r„rirerˆr.r'r‰r7r‹Úpropertyr1r2ÚnamerŽrÚ__doc__Ú __classcell__rrrŒrr'Ös@  ÿ *  A  $    r'cCst|ƒ}t||||ƒSr)rHr')rKr1r2r3Znfdrrrr sr Úsendmsgc Cs | |tjtjt d|¡fg¡S©NÚi)r–r.Ú SOL_SOCKETÚ SCM_RIGHTSÚarray)rLZbuffersÚfdsÚflagsÚaddressrrrÚsend_fds&s ÿrŸÚrecvmsgc Cs‚t d¡}| |t ||j¡¡\}}}}|D]B\}} } |tjkr.| tjkr.| | dt| ƒt| ƒ|j…¡q.|t |ƒ||fSr—) r›r r.ZCMSG_LENÚitemsizer™ršZ frombytesr‚Úlist) rLÚbufsizeZmaxfdsrrœÚmsgZancdatarNZ cmsg_levelZ cmsg_typeZ cmsg_datarrrÚrecv_fds2s ÿ ÿ r¥ZsharecCstddd|ƒS©Nr)r')ÚinforrrÚ fromshareFsr¨c Cs\|tkrt}n|tkrt}ntdƒ‚|tkr4tdƒ‚|dkrDtdƒ‚t|||ƒ}z¨| |df¡| ¡|  ¡dd…\}}t|||ƒ}zN|  d¡z|  ||f¡Wnt t fy¼Yn0|  d¡| ¡\}} Wn| ¡‚Yn0W| ¡n | ¡0z0|  ¡| ¡ks*|  ¡| ¡kr2tdƒ‚Wn| ¡| ¡‚Yn0||fS) Nz?Only AF_INET and AF_INET6 socket address families are supportedz)Only SOCK_STREAM socket type is supportedrzOnly protocol zero is supportedéFTzUnexpected peer connection)r,Ú _LOCALHOSTÚAF_INET6Ú _LOCALHOST_V6rr-r'ÚbindÚlistenr>rMÚconnectruÚInterruptedErrorrOr7rAÚConnectionError) r1r2r3ÚhostZlsockrNÚportZcsockZssockÚ_rrrÚ_fallback_socketpairRsL     ÿþ rµÚ socketpaircCsf|dur(zt}Wnty&t}Yn0t |||¡\}}t|||| ¡ƒ}t|||| ¡ƒ}||fSr)ZAF_UNIXÚ NameErrorr,r.r¶r'r‹)r1r2r3ÚarUrrrr¶‰s  a8socketpair([family[, type[, proto]]]) -> (socket object, socket object) Create a pair of socket objects from the sockets returned by the platform socketpair() function. The arguments are the same as for socket() except the default family is AF_UNIX if defined on the platform; otherwise, the default is AF_INET. csleZdZdd„Zdd„Zdd„Zdd„Zd d „Z‡fd d „Zd d„Z e dd„ƒZ e dd„ƒZ dd„Z ‡ZS)rXcCsZ|dvrtd|ƒ‚tj |¡||_d|vr6|d7}||_d|v|_d|v|_d|_dS)N)rPrTZrwÚrbÚwbZrwbzinvalid mode: %rrUrPrTF) rrYÚ RawIOBaser/Ú_sockÚ_modeÚ_readingÚ_writingÚ_timeout_occurred)r0rLr_rrrr/²s    zSocketIO.__init__c CsŽ| ¡| ¡|jrtdƒ‚z|j |¡WStyFd|_‚Yqty†}z*|jdt vrpWYd}~dS‚WYd}~qd}~00qdS)Nz!cannot read from timed out objectTr) Ú _checkClosedÚ_checkReadablerÀror¼Z recv_intortr@r8Ú_blocking_errnos©r0rUÚerrrÚreadinto¾s zSocketIO.readintoc Csf| ¡| ¡z|j |¡WSty`}z*|jdtvrJWYd}~dS‚WYd}~n d}~00dSr¦)rÁÚ_checkWritabler¼r€r@r8rÃrÄrrrÚwriteÕszSocketIO.writecCs|jrtdƒ‚|jS©NzI/O operation on closed socket.)rBrr¾r5rrrÚreadableåszSocketIO.readablecCs|jrtdƒ‚|jSrÉ)rBrr¿r5rrrÚwritableìszSocketIO.writablecs|jrtdƒ‚tƒ ¡SrÉ)rBrrŠÚseekabler5rŒrrrÌószSocketIO.seekablecCs| ¡|j ¡Sr)rÁr¼r4r5rrrr4úszSocketIO.filenocCs|js| ¡SdSdS)Nr+)rBr4r5rrrr“sz SocketIO.namecCs|jSr)r½r5rrrr_sz SocketIO.modecCs*|jr dStj |¡|j ¡d|_dSr)rBrYr»r7r¼rˆr5rrrr7 s   zSocketIO.close)r$r%r&r/rÆrÈrÊrËrÌr4r’r“r_r7r•rrrŒrrX¡s    rXr:cCsj| ¡}|r|dkrtƒ}zt|ƒ\}}}Wnty>Yn(0| d|¡|D]}d|vrPqfqP|}|S)Nz0.0.0.0rÚ.)ÚstripZ gethostnameZ gethostbyaddrr@Úinsert)r“ZhostnameÚaliasesZipaddrsrrrr s    r c CsÚ|\}}d}t||dtƒD]”}|\}}} } } d} zDt||| ƒ} |turP|  |¡|r^|  |¡|  | ¡d}| WSty¬} z | }| dur˜|  ¡WYd} ~ qd} ~ 00q|durÎz |‚Wd}qÖd}0ntdƒ‚dS)Nrz!getaddrinfo returns an empty list) Ú getaddrinfor-r'Ú_GLOBAL_DEFAULT_TIMEOUTrIr­r¯r@r7)ržrtZsource_addressr²r³ryÚresÚafÚsocktyper3Ú canonnameÚsarLr´rrrr 3s.      r cCsvtrttdƒrttdƒsdSz@tttƒ"}| ttd¡WdƒWdS1sP0YWnt ypYdS0dS)NÚ IPPROTO_IPV6Ú IPV6_V6ONLYFrT) Úhas_ipv6rqr.r'r«r-Ú setsockoptrØrÙr@)rLrrrr`sÿþ & rF)r1ÚbacklogÚ reuse_portÚdualstack_ipv6c Csl|rttdƒstdƒ‚|r8tƒs(tdƒ‚|tkr8tdƒ‚t|tƒ}ztjdvr€ttdƒr€z|  t t d¡Wnt y~Yn0|r’|  t t d¡trÔ|tkrÔ|r²|  ttd¡n"ttd ƒrÔttd ƒrÔ|  ttd¡z| |¡WnBt y$}z(d |j|f}t |j|ƒd‚WYd}~n d}~00|dur:| ¡n | |¡|WSt yf| ¡‚Yn0dS) NÚ SO_REUSEPORTz+SO_REUSEPORT not supported on this platformz-dualstack_ipv6 not supported on this platformz'dualstack_ipv6 requires AF_INET6 family)rÚcygwinÚ SO_REUSEADDRrVrrÙrØz+%s (while attempting to bind on address %r))rqr.rrr«r'r-rlr“rÛr™rár@rßrÚrØrÙr­ÚstrerrorÚerrnor®r7)ržr1rÜrÝrÞrLryr¤rrrr psN  ÿ   ÿÿ$   r c CsPg}t ||||||¡D]2}|\}} }} } | t|tƒt| tƒ|| | f¡q|Sr)r.rÑÚappendrrr) r²r³r1r2r3rZaddrlistrÓrÔrÕrÖr×rrrrѵs þrÑ)r)rN)r)r:)rrrr)3r.rlÚsysrYrrÚenumrrrãÚ ImportErrorr<rrr Ú__all__ÚextendÚ_get_exports_listÚ _convert_r$rªr¬rÚplatformÚlowerrr"räÚ Exceptionr#r'r rqr›rŸr¥r¨r,r-rµr¶r”rÃr»rXr ÚobjectrÒr rr rÑrrrrÚ3sN       ýýýý  F      6   u ÿ -ÿ E