grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/20263 Õì2a!Xã@s^ddlZddlZddlZddlZddlZddlZyddlmZWn e k r`ddl mZYnXej d4krzddl m ZndZddlZddlmZmZmZmZdddhZeed ƒrÊejejƒejejƒd5ZeZd7dd„ZGdd„dƒZGdd„dƒZy ejZWn(ek �r*Gdd„de e!ƒZYnXGdd„dej"d�Z#ej#j$e#ƒGdd„de#ƒZ%ej%j$e%ƒddl&m'Z'e%j$e'ƒGdd„de#ƒZ(ej(j$e(ƒGdd„de(ƒZ)Gd d!„d!e(ƒZ*Gd"d#„d#e)ƒZ+Gd$d%„d%e)ƒZ,Gd&d'„d'e(ƒZ-Gd(d)„d)e,e+ƒZ.Gd*d+„d+e%ƒZ'Gd,d-„d-e#ƒZ/ej/j$e/ƒGd.d/„d/ej0ƒZ1Gd0d1„d1e/ƒZ2Gd2d3„d3e2ƒZ3dS)8éN)Ú allocate_lockÚwin32Úcygwin)Úsetmode)Ú__all__ÚSEEK_SETÚSEEK_CURÚSEEK_ENDééÚ SEEK_HOLEéiÚrTcCs~t|tƒstj|ƒ}t|tttfƒs0td|ƒ‚t|tƒsFtd|ƒ‚t|tƒs\td|ƒ‚|dk r|t|tƒ r|td|ƒ‚|dk rœt|tƒ rœtd|ƒ‚t|ƒ}|tdƒsÀt|ƒt|ƒkrÌt d|ƒ‚d|k} d|k} d |k} d |k} d |k} d |k}d |k}d|k�rH| �s&| �s&| �s&| �r.t dƒ‚ddl }|j dt dƒd} |�r\|�r\t dƒ‚| | | | dk�rzt dƒ‚| �pŽ| �pŽ| �pŽ| �sšt dƒ‚|�r²|dk �r²t dƒ‚|�rÊ|dk �rÊt dƒ‚|�râ|dk �rât dƒ‚t || �ròd�pôd| �rd�pd| �rd �pd| �r d �p"d| �r0d �p2d||d�}|}�yd}|dk�sh|dk�rp|jƒ�rpd!}d}|dk�r¼t}ytj|jƒƒj}Wnttfk �r¬YnX|dk�r¼|}|dk�rÎt dƒ‚|dk�rê|�râ|St dƒ‚| �rüt||ƒ}n<| �s| �s| �rt||ƒ}n| �r,t||ƒ}n t d |ƒ‚|}|�rF|St|||||ƒ}|}||_|S|jƒ‚YnXdS)"Nzinvalid file: %rzinvalid mode: %rzinvalid buffering: %rzinvalid encoding: %rzinvalid errors: %rzaxrwb+tUÚxrÚwÚaú+ÚtÚbÚUz4mode U cannot be combined with 'x', 'w', 'a', or '+'rz'U' mode is deprecatedr Tz'can't have text and binary mode at oncer z)can't have read/write/append mode at oncez/must have exactly one of read/write/append modez-binary mode doesn't take an encoding argumentz+binary mode doesn't take an errors argumentz+binary mode doesn't take a newline argumentÚ)ÚopenerFzinvalid buffering sizezcan't have unbuffered text I/Ozunknown mode: %réÿÿÿÿ)Ú isinstanceÚintÚosÚfspathÚstrÚbytesÚ TypeErrorÚsetÚlenÚ ValueErrorÚwarningsÚwarnÚDeprecationWarningÚFileIOÚisattyÚDEFAULT_BUFFER_SIZEÚfstatÚfilenoÚ st_blksizeÚOSErrorÚAttributeErrorÚBufferedRandomÚBufferedWriterÚBufferedReaderÚ TextIOWrapperÚmodeÚclose)Úfiler2Ú bufferingÚencodingÚerrorsÚnewlineÚclosefdrZmodesZcreatingZreadingZwritingZ appendingZupdatingÚtextZbinaryr#ÚrawÚresultÚline_bufferingÚbsÚbuffer©r@ú*/opt/alt/python36/lib64/python3.6/_pyio.pyÚopen(s¤{            >         rBc@seZdZdd„ZdS)Ú DocDescriptorcCs dtjS)Nz\open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) )rBÚ__doc__)ÚselfÚobjÚtypr@r@rAÚ__get__ÿszDocDescriptor.__get__N)Ú__name__Ú __module__Ú __qualname__rHr@r@r@rArCüsrCc@seZdZeƒZdd„ZdS)Ú OpenWrappercOs t||ŽS)N)rB)ÚclsÚargsÚkwargsr@r@rAÚ__new__szOpenWrapper.__new__N)rIrJrKrCrDrPr@r@r@rArLsrLc@s eZdZdS)ÚUnsupportedOperationN)rIrJrKr@r@r@rArQsrQc@säeZdZdd„Zd5dd„Zdd„Zd6d d „Zd d „Zd Zdd„Z dd„Z dd„Z d7dd„Z dd„Z d8dd„Zdd„Zd9dd„Zedd„ƒZd:d d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„ZdÚIOBasecCstd|jj|fƒ‚dS)Nz%s.%s() not supported)rQÚ __class__rI)rEÚnamer@r@rAÚ _unsupported@szIOBase._unsupportedrcCs|jdƒdS)NÚseek)rU)rEÚposÚwhencer@r@rArVGsz IOBase.seekcCs |jddƒS)Nrr )rV)rEr@r@rAÚtellWsz IOBase.tellNcCs|jdƒdS)NÚtruncate)rU)rErWr@r@rArZ[szIOBase.truncatecCs |jƒdS)N)Ú _checkClosed)rEr@r@rAÚflushesz IOBase.flushFc Cs |jsz |jƒWdd|_XdS)NT)Ú_IOBase__closedr\)rEr@r@rAr3os z IOBase.closec Csy |jƒWn YnXdS)N)r3)rEr@r@rAÚ__del__zs zIOBase.__del__cCsdS)NFr@)rEr@r@rAÚseekableˆszIOBase.seekablecCs |jƒst|dkrdn|ƒ‚dS)NzFile or stream is not seekable.)r_rQ)rEÚmsgr@r@rAÚ_checkSeekable�szIOBase._checkSeekablecCsdS)NFr@)rEr@r@rAÚreadable—szIOBase.readablecCs |jƒst|dkrdn|ƒ‚dS)NzFile or stream is not readable.)rbrQ)rEr`r@r@rAÚ_checkReadabležszIOBase._checkReadablecCsdS)NFr@)rEr@r@rAÚwritable¥szIOBase.writablecCs |jƒst|dkrdn|ƒ‚dS)NzFile or stream is not writable.)rdrQ)rEr`r@r@rAÚ_checkWritable¬szIOBase._checkWritablecCs|jS)N)r])rEr@r@rAÚclosed³sz IOBase.closedcCs|jrt|dkrdn|ƒ‚dS)NzI/O operation on closed file.)rfr")rEr`r@r@rAr[»szIOBase._checkClosedcCs |jƒ|S)N)r[)rEr@r@rAÚ __enter__ÄszIOBase.__enter__cGs |jƒdS)N)r3)rErNr@r@rAÚ__exit__ÉszIOBase.__exit__cCs|jdƒdS)Nr*)rU)rEr@r@rAr*Ñsz IOBase.filenocCs |jƒdS)NF)r[)rEr@r@rAr'Øsz IOBase.isattyr cs�tˆdƒr‡‡fdd„}ndd„}ˆdkr0d ‰ntˆtƒsBtdƒ‚tƒ}x>ˆdks^t|ƒˆkr†ˆj|ƒƒ}|spP||7}|jdƒrJPqJWt|ƒS) NÚpeekcs>ˆjdƒ}|sdS|jdƒdp&t|ƒ}ˆdkr:t|ˆƒ}|S)Nr ó r)riÚfindr!Úmin)Z readaheadÚn)rEÚsizer@rAÚ nreadaheadîs  z#IOBase.readline..nreadaheadcSsdS)Nr r@r@r@r@rAro÷sr zsize must be an integerrrjr) ÚhasattrrrrÚ bytearrayr!ÚreadÚendswithr)rErnroÚresrr@)rErnrAÚreadlineâs     zIOBase.readlinecCs |jƒ|S)N)r[)rEr@r@rAÚ__iter__szIOBase.__iter__cCs|jƒ}|st‚|S)N)ruÚ StopIteration)rEÚliner@r@rAÚ__next__ szIOBase.__next__cCsR|dks|dkrt|ƒSd}g}x,|D]$}|j|ƒ|t|ƒ7}||kr&Pq&W|S)Nr)ÚlistÚappendr!)rEZhintrmÚlinesrxr@r@rAÚ readliness   zIOBase.readlinescCs$|jƒx|D]}|j|ƒqWdS)N)r[Úwrite)rEr|rxr@r@rAÚ writelines#s zIOBase.writelines)r)N)N)N)N)Nr)r)N)rIrJrKrUrVrYrZr\r]r3r^r_rarbrcrdreÚpropertyrfr[rgrhr*r'rurvryr}rr@r@r@rArRs2$         % rR)Ú metaclassc@s.eZdZd dd„Zdd„Zdd„Zdd „Zd S) Ú RawIOBaser cCsP|dkr d}|dkr|jƒSt|jƒƒ}|j|ƒ}|dkr>dS||d…=t|ƒS)Nr rr)ÚreadallrqÚ __index__Úreadintor)rErnrrmr@r@rArr9s   zRawIOBase.readcCs8tƒ}x|jtƒ}|sP||7}qW|r0t|ƒS|SdS)N)rqrrr(r)rErtÚdatar@r@rArƒJs  zRawIOBase.readallcCs|jdƒdS)Nr…)rU)rErr@r@rAr…XszRawIOBase.readintocCs|jdƒdS)Nr~)rU)rErr@r@rAr~`szRawIOBase.writeNr)r)rIrJrKrrrƒr…r~r@r@r@rAr‚+s r‚)r&c@sHeZdZddd„Zddd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dS)ÚBufferedIOBaseNcCs|jdƒdS)Nrr)rU)rErnr@r@rArr~szBufferedIOBase.readcCs|jdƒdS)NÚread1)rU)rErnr@r@rArˆ’szBufferedIOBase.read1cCs|j|dd�S)NF)rˆ)Ú _readinto)rErr@r@rAr…˜s zBufferedIOBase.readintocCs|j|dd�S)NT)rˆ)r‰)rErr@r@rAÚ readinto1¦s zBufferedIOBase.readinto1cCsVt|tƒst|ƒ}|jdƒ}|r0|jt|ƒƒ}n|jt|ƒƒ}t|ƒ}||d|…<|S)NÚB)rÚ memoryviewÚcastrˆr!rr)rErrˆr†rmr@r@rAr‰±s   zBufferedIOBase._readintocCs|jdƒdS)Nr~)rU)rErr@r@rAr~Às zBufferedIOBase.writecCs|jdƒdS)NÚdetach)rU)rEr@r@rArŽËszBufferedIOBase.detach)N)N) rIrJrKrrrˆr…rŠr‰r~rŽr@r@r@rAr‡ms    r‡c@s eZdZdd„Zd#dd„Zdd„Zd$d d „Zd d „Zd d„Zdd„Z dd„Z e dd„ƒZ e dd„ƒZ e dd„ƒZe dd„ƒZdd„Zdd„Zdd „Zd!d"„ZdS)%Ú_BufferedIOMixincCs ||_dS)N)Ú_raw)rEr;r@r@rAÚ__init__àsz_BufferedIOMixin.__init__rcCs"|jj||ƒ}|dkrtdƒ‚|S)Nrz#seek() returned an invalid position)r;rVr,)rErWrXZ new_positionr@r@rArVåsz_BufferedIOMixin.seekcCs|jjƒ}|dkrtdƒ‚|S)Nrz#tell() returned an invalid position)r;rYr,)rErWr@r@rArYës z_BufferedIOMixin.tellNcCs$|jƒ|dkr|jƒ}|jj|ƒS)N)r\rYr;rZ)rErWr@r@rArZñsz_BufferedIOMixin.truncatecCs|jrtdƒ‚|jjƒdS)Nzflush of closed file)rfr"r;r\)rEr@r@rAr\ÿsz_BufferedIOMixin.flushc Cs0|jdk r,|j r,z |jƒWd|jjƒXdS)N)r;rfr\r3)rEr@r@rAr3s z_BufferedIOMixin.closecCs*|jdkrtdƒ‚|jƒ|j}d|_|S)Nzraw stream already detached)r;r"r\r�)rEr;r@r@rArŽ s  z_BufferedIOMixin.detachcCs |jjƒS)N)r;r_)rEr@r@rAr_sz_BufferedIOMixin.seekablecCs|jS)N)r�)rEr@r@rAr;sz_BufferedIOMixin.rawcCs|jjS)N)r;rf)rEr@r@rArfsz_BufferedIOMixin.closedcCs|jjS)N)r;rT)rEr@r@rArT!sz_BufferedIOMixin.namecCs|jjS)N)r;r2)rEr@r@rAr2%sz_BufferedIOMixin.modecCstdj|jjƒƒ‚dS)Nz can not serialize a '{0}' object)rÚformatrSrI)rEr@r@rAÚ __getstate__)sz_BufferedIOMixin.__getstate__c CsJ|jj}|jj}y |j}Wntk r6dj||ƒSXdj|||ƒSdS)Nz<{}.{}>z<{}.{} name={!r}>)rSrJrKrTÚ Exceptionr’)rEÚmodnameZclsnamerTr@r@rAÚ__repr__-s z_BufferedIOMixin.__repr__cCs |jjƒS)N)r;r*)rEr@r@rAr*9sz_BufferedIOMixin.filenocCs |jjƒS)N)r;r')rEr@r@rAr'<sz_BufferedIOMixin.isatty)r)N)rIrJrKr‘rVrYrZr\r3rŽr_r€r;rfrTr2r“r–r*r'r@r@r@rAr�×s          r�csŒeZdZddd„Zdd„Zdd„Zdd „Z‡fd d „Zd d d „Zdd„Z dd„Z d!dd„Z dd„Z d"dd„Z dd„Zdd„Zdd„Z‡ZS)#ÚBytesIONcCs&tƒ}|dk r||7}||_d|_dS)Nr)rqÚ_bufferÚ_pos)rEZ initial_bytesÚbufr@r@rAr‘Ds zBytesIO.__init__cCs|jrtdƒ‚|jjƒS)Nz__getstate__ on closed file)rfr"Ú__dict__Úcopy)rEr@r@rAr“KszBytesIO.__getstate__cCs|jrtdƒ‚t|jƒS)Nzgetvalue on closed file)rfr"rr˜)rEr@r@rAÚgetvaluePszBytesIO.getvaluecCs|jrtdƒ‚t|jƒS)Nzgetbuffer on closed file)rfr"rŒr˜)rEr@r@rAÚ getbufferWszBytesIO.getbuffercs|jjƒtƒjƒdS)N)r˜ÚclearÚsuperr3)rE)rSr@rAr3^s z BytesIO.closecCst|jrtdƒ‚|dkrd}|dkr,t|jƒ}t|jƒ|jkr@dStt|jƒ|j|ƒ}|j|j|…}||_t|ƒS)Nzread from closed filer rór)rfr"r!r˜r™rlr)rErnZnewposrr@r@rArrbs z BytesIO.readcCs |j|ƒS)N)rr)rErnr@r@rArˆpsz BytesIO.read1c Csž|jrtdƒ‚t|tƒr tdƒ‚t|ƒ� }|j}WdQRX|dkrFdS|j}|t|j ƒkrzd|t|j ƒ}|j |7_ ||j |||…<|j|7_|S)Nzwrite to closed filez can't write str to binary streamró) rfr"rrrrŒÚnbytesr™r!r˜)rErZviewrmrWZpaddingr@r@rAr~us  z BytesIO.writercCs¶|jrtdƒ‚y |jWn,tk rD}ztdƒ|‚WYdd}~XnX|dkrl|dkrdtd|fƒ‚||_nD|dkrˆtd|j|ƒ|_n(|dkr¨tdt|jƒ|ƒ|_ntdƒ‚|jS)Nzseek on closed filezan integer is requiredrznegative seek position %rr r zunsupported whence value) rfr"r„r-rr™Úmaxr!r˜)rErWrXÚerrr@r@rArVˆs  z BytesIO.seekcCs|jrtdƒ‚|jS)Nztell on closed file)rfr"r™)rEr@r@rArY›sz BytesIO.tellcCs||jrtdƒ‚|dkr|j}nNy |jWn,tk rT}ztdƒ|‚WYdd}~XnX|dkrltd|fƒ‚|j|d…=|S)Nztruncate on closed filezan integer is requiredrznegative truncate position %r)rfr"r™r„r-rr˜)rErWr¥r@r@rArZ s  zBytesIO.truncatecCs|jrtdƒ‚dS)NzI/O operation on closed file.T)rfr")rEr@r@rArb¯szBytesIO.readablecCs|jrtdƒ‚dS)NzI/O operation on closed file.T)rfr")rEr@r@rArd´szBytesIO.writablecCs|jrtdƒ‚dS)NzI/O operation on closed file.T)rfr")rEr@r@rAr_¹szBytesIO.seekable)N)N)r)N)rIrJrKr‘r“r�ržr3rrrˆr~rVrYrZrbrdr_Ú __classcell__r@r@)rSrAr—@s     r—c@sreZdZefdd„Zdd„Zdd„Zddd „Zdd d „Zdd d„Z ddd„Z dd„Z dd„Z dd„Z ddd„ZdS)r0cCsF|jƒstdƒ‚tj||ƒ|dkr,tdƒ‚||_|jƒtƒ|_dS)Nz "raw" argument must be readable.rzinvalid buffer size) rbr,r�r‘r"Ú buffer_sizeÚ_reset_read_bufÚLockÚ _read_lock)rEr;r§r@r@rAr‘Ês zBufferedReader.__init__cCs |jjƒS)N)r;rb)rEr@r@rArb×szBufferedReader.readablecCsd|_d|_dS)Nr¡r)Ú _read_bufÚ _read_pos)rEr@r@rAr¨ÚszBufferedReader._reset_read_bufNc Cs4|dk r|dkrtdƒ‚|j� |j|ƒSQRXdS)Nr zinvalid number of bytes to readr)r"rªÚ_read_unlocked)rErnr@r@rArrÞszBufferedReader.readc CsŒd}d}|j}|j}|dks$|dkr¾|jƒt|jdƒrj|jjƒ}|dkrZ||d…pXdS||d…|S||d…g}d}x2|jjƒ}||kr–|}P|t|ƒ7}|j|ƒq~Wdj |ƒp¼|St|ƒ|} || krð|j|7_||||…S||d…g}t |j |ƒ} xB| |k�rL|jj| ƒ}||k�r2|}P| t|ƒ7} |j|ƒ�q Wt || ƒ}dj |ƒ} | |d…|_d|_| �rˆ| d|…S|S)Nr¡r rƒr)r¡Nr) r«r¬r¨rpr;rƒrrr!r{Újoinr¤r§rl) rErmZ nodata_valZ empty_valuesršrWÚchunkÚchunksZ current_sizeÚavailZwantedÚoutr@r@rAr­ësN            zBufferedReader._read_unlockedrc Cs|j� |j|ƒSQRXdS)N)rªÚ_peek_unlocked)rErnr@r@rAriszBufferedReader.peekcCsrt||jƒ}t|jƒ|j}||ks,|dkrb|j|}|jj|ƒ}|rb|j|jd…||_d|_|j|jd…S)Nr)rlr§r!r«r¬r;rr)rErmZwantZhaveZto_readZcurrentr@r@rAr³)s   zBufferedReader._peek_unlockedc CsT|dkrtdƒ‚|dkrdS|j�(|jdƒ|jt|t|jƒ|jƒƒSQRXdS)Nrz(number of bytes to read must be positiver¡r )r"rªr³r­rlr!r«r¬)rErnr@r@rArˆ4s zBufferedReader.read1c Cst|tƒst|ƒ}|jdkr dS|jdƒ}d}|j�ÒxÊ|t|ƒk�rtt|jƒ|jt|ƒƒ}|rª|j|j|j|…||||…<|j|7_||7}|t|ƒkrªPt|ƒ||j krà|j j ||d…ƒ}|sÖP||7}n|oæ|sô|j dƒsôP|r8|r8Pq8WWdQRX|S)Nrr‹r ) rrŒr£r�rªr!rlr«r¬r§r;r…r³)rEršrˆÚwrittenr±rmr@r@rAr‰Fs4   "   zBufferedReader._readintocCstj|ƒt|jƒ|jS)N)r�rYr!r«r¬)rEr@r@rArYtszBufferedReader.tellc CsX|tkrtdƒ‚|j�8|dkr4|t|jƒ|j8}tj|||ƒ}|jƒ|SQRXdS)Nzinvalid whence valuer ) Úvalid_seek_flagsr"rªr!r«r¬r�rVr¨)rErWrXr@r@rArVwszBufferedReader.seek)N)N)r)r)r)rIrJrKr(r‘rbr¨rrr­rir³rˆr‰rYrVr@r@r@rAr0¿s  4 .r0c@sTeZdZefdd„Zdd„Zdd„Zddd „Zd d „Zd d „Z dd„Z ddd„Z dS)r/cCsF|jƒstdƒ‚tj||ƒ|dkr,tdƒ‚||_tƒ|_tƒ|_ dS)Nz "raw" argument must be writable.rzinvalid buffer size) rdr,r�r‘r"r§rqÚ _write_bufr©Ú _write_lock)rEr;r§r@r@rAr‘Šs zBufferedWriter.__init__cCs |jjƒS)N)r;rd)rEr@r@rArd•szBufferedWriter.writablecCsü|jrtdƒ‚t|tƒr tdƒ‚|j�Ìt|jƒ|jkr@|j ƒt|jƒ}|jj |ƒt|jƒ|}t|jƒ|jkrîy |j ƒWnlt k rì}zPt|jƒ|jkrÜt|jƒ|j}||8}|jd|j…|_t |j |j |ƒ‚WYdd}~XnX|SQRXdS)Nzwrite to closed filez can't write str to binary stream)rfr"rrrr·r!r¶r§Ú_flush_unlockedÚextendÚBlockingIOErrorÚerrnoÚstrerror)rErZbeforer´ÚeZoverager@r@rAr~˜s(    "zBufferedWriter.writeNc Cs8|j�(|jƒ|dkr"|jjƒ}|jj|ƒSQRXdS)N)r·r¸r;rYrZ)rErWr@r@rArZ´s  zBufferedWriter.truncatec Cs|j�|jƒWdQRXdS)N)r·r¸)rEr@r@rAr\»szBufferedWriter.flushc CsŽ|jrtdƒ‚xz|jrˆy|jj|jƒ}Wntk rDtdƒ‚YnX|dkr\ttjddƒ‚|t |jƒksr|dkrzt dƒ‚|jd|…=qWdS)Nzflush of closed filezHself.raw should implement RawIOBase: it should not raise BlockingIOErrorz)write could not complete without blockingrz*write() returned incorrect number of bytes) rfr"r¶r;r~rºÚ RuntimeErrorr»ZEAGAINr!r,)rErmr@r@rAr¸¿szBufferedWriter._flush_unlockedcCstj|ƒt|jƒS)N)r�rYr!r¶)rEr@r@rArYÐszBufferedWriter.tellrc Cs8|tkrtdƒ‚|j�|jƒtj|||ƒSQRXdS)Nzinvalid whence value)rµr"r·r¸r�rV)rErWrXr@r@rArVÓs zBufferedWriter.seek)N)r) rIrJrKr(r‘rdr~rZr\r¸rYrVr@r@r@rAr/�s  r/c@s€eZdZefdd„Zddd„Zdd„Zdd „Zdd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zedd„ƒZdS)ÚBufferedRWPaircCs<|jƒstdƒ‚|jƒs tdƒ‚t||ƒ|_t||ƒ|_dS)Nz#"reader" argument must be readable.z#"writer" argument must be writable.)rbr,rdr0Úreaderr/Úwriter)rErÀrÁr§r@r@rAr‘ës  zBufferedRWPair.__init__NcCs|dkr d}|jj|ƒS)Nr r)rÀrr)rErnr@r@rArrùszBufferedRWPair.readcCs |jj|ƒS)N)rÀr…)rErr@r@rAr…þszBufferedRWPair.readintocCs |jj|ƒS)N)rÁr~)rErr@r@rAr~szBufferedRWPair.writercCs |jj|ƒS)N)rÀri)rErnr@r@rAriszBufferedRWPair.peekcCs |jj|ƒS)N)rÀrˆ)rErnr@r@rArˆszBufferedRWPair.read1cCs |jj|ƒS)N)rÀrŠ)rErr@r@rArŠ szBufferedRWPair.readinto1cCs |jjƒS)N)rÀrb)rEr@r@rArb szBufferedRWPair.readablecCs |jjƒS)N)rÁrd)rEr@r@rArdszBufferedRWPair.writablecCs |jjƒS)N)rÁr\)rEr@r@rAr\szBufferedRWPair.flushc Cs z|jjƒWd|jjƒXdS)N)rÁr3rÀ)rEr@r@rAr3szBufferedRWPair.closecCs|jjƒp|jjƒS)N)rÀr'rÁ)rEr@r@rAr'szBufferedRWPair.isattycCs|jjS)N)rÁrf)rEr@r@rArfszBufferedRWPair.closed)N)r)rIrJrKr(r‘rrr…r~rirˆrŠrbrdr\r3r'r€rfr@r@r@rAr¿Ûs   r¿c@sheZdZefdd„Zddd„Zdd„Zdd d „Zdd d „Zd d„Z ddd„Z dd„Z dd„Z dd„Z dS)r.cCs(|jƒtj|||ƒtj|||ƒdS)N)rar0r‘r/)rEr;r§r@r@rAr‘-szBufferedRandom.__init__rcCs†|tkrtdƒ‚|jƒ|jrJ|j� |jj|jt|jƒdƒWdQRX|jj||ƒ}|j�|j ƒWdQRX|dkr‚t dƒ‚|S)Nzinvalid whence valuer rz seek() returned invalid position) rµr"r\r«rªr;rVr¬r!r¨r,)rErWrXr@r@rArV2s$zBufferedRandom.seekcCs|jrtj|ƒStj|ƒSdS)N)r¶r/rYr0)rEr@r@rArYCs zBufferedRandom.tellNcCs|dkr|jƒ}tj||ƒS)N)rYr/rZ)rErWr@r@rArZIszBufferedRandom.truncatecCs |dkr d}|jƒtj||ƒS)Nr r)r\r0rr)rErnr@r@rArrOszBufferedRandom.readcCs|jƒtj||ƒS)N)r\r0r…)rErr@r@rAr…UszBufferedRandom.readintocCs|jƒtj||ƒS)N)r\r0ri)rErnr@r@rAriYszBufferedRandom.peekcCs|jƒtj||ƒS)N)r\r0rˆ)rErnr@r@rArˆ]szBufferedRandom.read1cCs|jƒtj||ƒS)N)r\r0rŠ)rErr@r@rArŠaszBufferedRandom.readinto1c CsF|jr:|j�(|jj|jt|jƒdƒ|jƒWdQRXtj||ƒS)Nr ) r«rªr;rVr¬r!r¨r/r~)rErr@r@rAr~es zBufferedRandom.write)r)N)N)r)rIrJrKr(r‘rVrYrZrrr…rirˆrŠr~r@r@r@rAr.$s     r.csìeZdZd0ZdZdZdZdZdZdZ d1dd„Z dd „Z d d „Z d d „Z dd„Zd2dd„Zd3dd„Zdd„Zdd„Zdd„Zefdd„Zdd„Zd4dd„Z‡fd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zed,d-„ƒZed.d/„ƒZ ‡Z!S)5r&r FNTrc Cs |jdkr*z|jrtj|jƒWdd|_Xt|tƒr™sz"FileIO.__init__..rzKMust have exactly one of create/read/write/append mode and at most one plusrTrrrÚO_BINARYZ O_NOINHERITÚ O_CLOEXECz'Cannot use closefd=False with file namei¶zexpected integer from openerzNegative file descriptorFr+rr),Ú_fdÚ_closefdrr3rÚfloatrrr"rr ÚsumÚcountÚ_createdÚ _writableÚO_EXCLÚO_CREATÚ _readableÚO_TRUNCÚ _appendingÚO_APPENDÚO_RDWRÚO_RDONLYÚO_WRONLYÚgetattrrBr,Úset_inheritabler)ÚstatÚS_ISDIRÚst_modeÚIsADirectoryErrorr»ZEISDIRr¼r-Ú_blksizer(Ú_setmoderÅrTÚlseekr ) rEr4r2r9rÚfdÚflagsZnoinherit_flagZowned_fdZfdfstatr@r@rAr‘ws      $                    zFileIO.__init__cCsD|jdkr@|jr@|j r@ddl}|jd|ftd|d�|jƒdS)Nrzunclosed file %rr )Ú stacklevelÚsource)rÇrÈrfr#r$ÚResourceWarningr3)rEr#r@r@rAr^ìs  zFileIO.__del__cCstd|jjƒ‚dS)Nzcannot serialize '%s' object)rrSrI)rEr@r@rAr“ószFileIO.__getstate__c Csld|jj|jjf}|jr"d|Sy |j}Wn&tk rRd||j|j|jfSXd|||j|jfSdS)Nz%s.%sz <%s [closed]>z<%s fd=%d mode=%r closefd=%r>z<%s name=%r mode=%r closefd=%r>) rSrJrKrfrTr-rÇr2rÈ)rEÚ class_namerTr@r@rAr–ös  zFileIO.__repr__cCs|jstdƒ‚dS)NzFile not open for reading)rÐrQ)rEr@r@rArcszFileIO._checkReadablecCs|jstdƒ‚dS)NzFile not open for writing)rÍrQ)rEr`r@r@rAreszFileIO._checkWritablec CsP|jƒ|jƒ|dks |dkr(|jƒSytj|j|ƒStk rJdSXdS)Nr)r[rcrƒrrrrÇrº)rErnr@r@rArr sz FileIO.readcCsÞ|jƒ|jƒt}y6tj|jdtƒ}tj|jƒj}||krH||d}Wnt k r^YnXt ƒ}xnt |ƒ|krŠt |ƒ}|t |tƒ7}|t |ƒ}ytj |j|ƒ}Wntk rÂ|r¾PdSX|sÊP||7}qhWt|ƒS)Nrr )r[rcr(rrßrÇrr)Úst_sizer,rqr!r¤rrrºr)rEÚbufsizerWÚendr<rmr¯r@r@rArƒs4   zFileIO.readallcCs4t|ƒjdƒ}|jt|ƒƒ}t|ƒ}||d|…<|S)Nr‹)rŒr�rrr!)rErÚmr†rmr@r@rAr…?s  zFileIO.readintoc Cs8|jƒ|jƒytj|j|ƒStk r2dSXdS)N)r[rerr~rÇrº)rErr@r@rAr~Gs z FileIO.writecCs*t|tƒrtdƒ‚|jƒtj|j||ƒS)Nzan integer is required)rrÉrr[rrßrÇ)rErWrXr@r@rArVUs z FileIO.seekcCs|jƒtj|jdtƒS)Nr)r[rrßrÇr)rEr@r@rArYesz FileIO.tellcCs2|jƒ|jƒ|dkr |jƒ}tj|j|ƒ|S)N)r[rerYrÚ ftruncaterÇ)rErnr@r@rArZls zFileIO.truncatec s.|js*z|jrtj|jƒWdtƒjƒXdS)N)rfrÈrr3rÇr )rE)rSr@rAr3ys z FileIO.closec CsF|jƒ|jdkr@y |jƒWntk r8d|_YnXd|_|jS)NFT)r[Ú _seekablerYr,)rEr@r@rAr_†s   zFileIO.seekablecCs|jƒ|jS)N)r[rÐ)rEr@r@rArb’szFileIO.readablecCs|jƒ|jS)N)r[rÍ)rEr@r@rArd—szFileIO.writablecCs|jƒ|jS)N)r[rÇ)rEr@r@rAr*œsz FileIO.filenocCs|jƒtj|jƒS)N)r[rr'rÇ)rEr@r@rAr'¡sz FileIO.isattycCs|jS)N)rÈ)rEr@r@rAr9¦szFileIO.closefdcCsJ|jr|jrdSdSn0|jr,|jr&dSdSn|jrB|jr„Z!d?d@„Z"dKdAdB„Z#edCdD„ƒZ$dS)Lr1iNFc Csà|dk r&t|tƒ r&tdt|ƒfƒ‚|dkr)r’rSrJrKrTr”r2r6)rEr<rTr2r@r@rAr–½s    zTextIOWrapper.__repr__cCs|jS)N)r)rEr@r@rAr6ÎszTextIOWrapper.encodingcCs|jS)N)r)rEr@r@rAr7ÒszTextIOWrapper.errorscCs|jS)N)r)rEr@r@rAr=ÖszTextIOWrapper.line_bufferingcCs|jS)N)r˜)rEr@r@rAr?ÚszTextIOWrapper.buffercCs|jrtdƒ‚|jS)NzI/O operation on closed file.)rfr"rë)rEr@r@rAr_ÞszTextIOWrapper.seekablecCs |jjƒS)N)r?rb)rEr@r@rArbãszTextIOWrapper.readablecCs |jjƒS)N)r?rd)rEr@r@rArdæszTextIOWrapper.writablecCs|jjƒ|j|_dS)N)r?r\rër')rEr@r@rAr\és zTextIOWrapper.flushc Cs0|jdk r,|j r,z |jƒWd|jjƒXdS)N)r?rfr\r3)rEr@r@rAr3ís zTextIOWrapper.closecCs|jjS)N)r?rf)rEr@r@rArfôszTextIOWrapper.closedcCs|jjS)N)r?rT)rEr@r@rArTøszTextIOWrapper.namecCs |jjƒS)N)r?r*)rEr@r@rAr*üszTextIOWrapper.filenocCs |jjƒS)N)r?r')rEr@r@rAr'ÿszTextIOWrapper.isattycCsÈ|jrtdƒ‚t|tƒs(td|jjƒ‚t|ƒ}|js<|j oBd|k}|rf|jrf|j dkrf|j d|j ƒ}|j pr|j ƒ}|j|ƒ}|jj|ƒ|j r¤|sœd|kr¤|jƒ|jdƒd|_|jrÄ|jjƒ|S)Nzwrite to closed filezcan't write %s to text streamrûrúr)rfr"rrrrSrIr!rrr!rr"r*Úencoder?r~r\Ú_set_decoded_charsr&r#r)rErïZlengthZhaslfÚencoderrr@r@rAr~s&      zTextIOWrapper.writecCstj|jƒ}||jƒ|_|jS)N)róÚgetincrementalencoderrrr")rEZ make_encoderr@r@rAr*s  zTextIOWrapper._get_encodercCs2tj|jƒ}||jƒ}|jr(t||jƒ}||_|S)N)róÚgetincrementaldecoderrrrrñrr#)rEZ make_decoderrör@r@rAÚ _get_decoders    zTextIOWrapper._get_decodercCs||_d|_dS)Nr)r$r%)rEÚcharsr@r@rAr.)sz TextIOWrapper._set_decoded_charscCsF|j}|dkr|j|d…}n|j|||…}|jt|ƒ7_|S)N)r%r$r!)rErmÚoffsetr3r@r@rAÚ_get_decoded_chars.s z TextIOWrapper._get_decoded_charscCs$|j|krtdƒ‚|j|8_dS)Nz"rewind decoded_chars out of bounds)r%ÚAssertionError)rErmr@r@rAÚ_rewind_decoded_chars8s z#TextIOWrapper._rewind_decoded_charscCs¢|jdkrtdƒ‚|jr&|jjƒ\}}|jr<|jj|jƒ}n|jj|jƒ}| }|jj ||ƒ}|j |ƒ|r‚t |ƒt |j ƒ|_ nd|_ |jrœ|||f|_| S)Nz no decoderg)r#r"r'rr(r?rˆÚ _CHUNK_SIZErrrür.r!r$r)r&)rEÚ dec_bufferÚ dec_flagsÚ input_chunkÚeofZ decoded_charsr@r@rAÚ _read_chunk>s  zTextIOWrapper._read_chunkrcCs(||d>B|d>B|d>Bt|ƒd>BS)Né@é€éÀé)r)rEr,r:Ú bytes_to_feedÚneed_eofÚ chars_to_skipr@r@rAÚ _pack_cookiehszTextIOWrapper._pack_cookiecCsFt|dƒ\}}t|dƒ\}}t|dƒ\}}t|dƒ\}}|||||fS)Nr r>llll)Údivmod)rEZbigintÚrestr,r:rBrCrDr@r@rAÚ_unpack_cookiers zTextIOWrapper._unpack_cookiecCs>|jstdƒ‚|jstdƒ‚|jƒ|jjƒ}|j}|dksF|jdkrX|j rTt dƒ‚|S|j\}}|t |ƒ8}|j }|dkrˆ|j ||ƒS|jƒ}�zšt|j|ƒ}d}x�|dk�r$|jd|fƒt |j|d|…ƒƒ} | |k�r|jƒ\} } | �s| }|| 8}P|t | ƒ8}d}q¨||8}|d}q¨Wd}|jd|fƒ||} |} |dk�rZ|j | | ƒSd}d}d}x´t|t |ƒƒD]v}|d7}|t |j|||d…ƒƒ7}|jƒ\}}| �rÞ||k�rÞ| |7} ||8}|dd} }}||k�rvP�qvW|t |jddd �ƒ7}d}||k�rtd ƒ‚|j | | |||ƒS|j|ƒXdS) Nz!underlying stream is not seekablez(telling position disabled by next() callzpending decoded textrr r¡r T)rùz'can't reconstruct logical file position)rërQr'r,r\r?rYr#r&r$r6r!r%rErrr)rrüÚrange)rEr,rör:Z next_inputrDZ saved_stateZ skip_bytesZ skip_backrmrÚdÚ start_posZ start_flagsZ bytes_fedrCZ chars_decodedÚir9r@r@rArYysv              zTextIOWrapper.tellcCs$|jƒ|dkr|jƒ}|jj|ƒS)N)r\rYr?rZ)rErWr@r@rArZÜszTextIOWrapper.truncatecCs*|jdkrtdƒ‚|jƒ|j}d|_|S)Nzbuffer is already detached)r?r"r\r˜)rEr?r@r@rArŽâs  zTextIOWrapper.detachc s‡fdd„}ˆjrtdƒ‚ˆjs(tdƒ‚|dkrL|dkr@tdƒ‚d}ˆjƒ}|dkr¦|dkrdtd ƒ‚ˆjƒˆjjddƒ}ˆjd ƒdˆ_ ˆj ršˆj j ƒ||ƒ|S|dkr¼td |fƒ‚|dkrÒtd |fƒ‚ˆjƒˆj |ƒ\}}}}} ˆjj|ƒˆjd ƒdˆ_ |dk�r(ˆj �r(ˆj j ƒn@ˆj �s<|�s<| �rhˆj �pJˆj ƒˆ_ ˆj jd |fƒ|d fˆ_ | �r¶ˆjj|ƒ} ˆjˆj j| |ƒƒ|| fˆ_ tˆjƒ| k�r°tdƒ‚| ˆ_||ƒ|S)Nc sHyˆjpˆjƒ}Wntk r&YnX|dkr<|jdƒn|jƒdS)Nr)r"r*rrr)r,r/)rEr@rAÚ_reset_encoderës z*TextIOWrapper.seek.._reset_encoderztell on closed filez!underlying stream is not seekabler rz#can't do nonzero cur-relative seeksr z#can't do nonzero end-relative seeksrzunsupported whence (%r)znegative seek position %rr¡z#can't restore logical file position)rfr"rërQrYr\r?rVr.r&r#rrHr2rrrrür!r$r,r%) rEZcookierXrMr,rKr:rBrCrDr;r@)rErArVês\         zTextIOWrapper.seekcCsà|jƒ|dkrd}|jp |jƒ}y |jWn,tk rX}ztdƒ|‚WYdd}~XnX|dkr’|jƒ|j|jj ƒdd�}|j dƒd|_ |Sd}|j|ƒ}x6t |ƒ|krÖ| rÖ|j ƒ }||j|t |ƒƒ7}q¢W|SdS) Nr zan integer is requiredrT)rùrFr)rcr#r2r„r-rr5rür?rrr.r&r!r=)rErnrör¥r<r<r@r@rArr5 s(    zTextIOWrapper.readcCs(d|_|jƒ}|s$d|_|j|_t‚|S)NF)r'rur&rërw)rErxr@r@rAryN szTextIOWrapper.__next__cCsÜ|jrtdƒ‚|dkrd }nt|tƒs.tdƒ‚|jƒ}d}|jsH|jƒd}}�xR|jr„|j d|ƒ}|dkrz|d}Pnt |ƒ}nº|j �r|j d|ƒ}|j d|ƒ}|d krÊ|d kr¾t |ƒ}n |d}PnL|d krÞ|d}Pn8||krò|d}Pn$||dk�r |d}Pn |d}Pn&|j |j ƒ}|dk�r>|t |j ƒ}P|dk�r\t |ƒ|k�r\|}Px|j ƒ�rv|j�r^P�q^W|j�rŽ||jƒ7}qT|jdƒd|_|SqTW|dk�r¾||k�r¾|}|jt |ƒ|ƒ|d|…S) Nzread from closed filer zsize must be an integerrrûrúr rrrrr)rfr"rrrr5r#r2rrkr!rrr=r$r.r&r7)rErnrxÚstartrWÚendposZnlposZcrposr@r@rAruW sp          zTextIOWrapper.readlinecCs|jr|jjSdS)N)r#rð)rEr@r@rArð¯ szTextIOWrapper.newlines)NNNFF)N)rrrr)N)r)N)N)%rIrJrKr8r‘r–r€r6r7r=r?r_rbrdr\r3rfrTr*r'r~r*r2r.r5r7r=rErHrYrZrŽrVrrryrurðr@r@r@rAr1ZsF E        * c  K  Xr1csNeZdZd‡fdd„ Zdd„Zdd„Zed d „ƒZed d „ƒZd d„Z ‡Z S)ÚStringIOrrûcsftt|ƒjtƒdd|d�|dkr(d|_|dk rbt|tƒsNtdjt |ƒj ƒƒ‚|j |ƒ|j dƒdS)Nzutf-8Ú surrogatepass)r6r7r8Fz*initial_value must be str or None, not {0}r) r rPr‘r—rrrrr’rrIr~rV)rEZ initial_valuer8)rSr@rAr‘» s  zStringIO.__init__c CsL|jƒ|jp|jƒ}|jƒ}|jƒz|j|jjƒdd�S|j|ƒXdS)NT)rù) r\r#r2rrrür?r�r)rEröZ old_stater@r@rAr�Ë szStringIO.getvaluecCs tj|ƒS)N)Úobjectr–)rEr@r@rAr–Õ szStringIO.__repr__cCsdS)Nr@)rEr@r@rAr7Ú szStringIO.errorscCsdS)Nr@)rEr@r@rAr6Þ szStringIO.encodingcCs|jdƒdS)NrŽ)rU)rEr@r@rArŽâ szStringIO.detach)rrû) rIrJrKr‘r�r–r€r7r6rŽr¦r@r@)rSrArP´ s    rP>rri r)rrNNNTN)4rÚabcrór»rÙÚsysÚ_threadrr©rZ _dummy_threadÚplatformZmsvcrtrrÞÚiorrrr rµrpÚaddr Ú SEEK_DATAr(rºrBrCrLrQr-r,r"ÚABCMetarRÚregisterr‚Ú_ior&r‡r�r—r0r/r¿r.rîrôrñr1rPr@r@r@rAÚst      T   =   g iCZIJUA U^