grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B b‘OcÊ»· ã@s8ddlZddlZddlZddlZddlZddlZddlmZej dkrTddl m Z ndZ ddl Z ddl mZmZmZmZdddhZeedƒr¤e ej¡e ej¡d ZeZd3d d„ZGdd„dƒZGdd„dƒZy e jZWn(ek �rGdd„deeƒZYnXGdd„dej d�Z!e j! "e!¡Gdd„de!ƒZ#e j# "e#¡ddl$m%Z%e# "e%¡Gdd„de!ƒZ&e j& "e&¡Gdd„de&ƒZ'Gdd „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-e j- "e-¡Gd-d.„d.ej.ƒZ/Gd/d0„d0e-ƒZ0Gd1d2„d2e0ƒZ1dS)4éN)Ú allocate_lock>ÚcygwinÚwin32)Úsetmode)Ú__all__ÚSEEK_SETÚSEEK_CURÚSEEK_ENDééÚ SEEK_HOLEi ÚréÿÿÿÿTc Cszt|tƒst |¡}t|tttfƒs0td|ƒ‚t|tƒsFtd|ƒ‚t|tƒs\td|ƒ‚|dk rzt|tƒsztd|ƒ‚|dk r˜t|tƒs˜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�rD| �s"| �s"| �s"| �r*t dƒ‚ddl }|  dt d¡d} |�rX|�rXt dƒ‚| | | | dk�rvt dƒ‚| �s–| �s–| �s–| �s–t dƒ‚|�r®|dk �r®t dƒ‚|�rÆ|dk �rÆt dƒ‚|�rÞ|dk �rÞt dƒ‚t || �rîd�pðd| �rüd�pþd| �r d �pd| �rd �pd| �r,d �p.d||d�}|}�yd}|dk�sd|dk�rl| ¡�rld}d}|dk�r¸t}yt | ¡¡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!|ƒ‚|}|�rB|St|||||ƒ}|}||_|S| ¡‚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Ú)ÚopenerFrzinvalid 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)Úfiler1Ú bufferingÚencodingÚerrorsÚnewlineÚclosefdrZmodesZcreatingZreadingZwritingZ appendingZupdatingÚtextZbinaryr"ÚrawÚresultÚline_bufferingÚbsÚbuffer©r?ú*/opt/alt/python37/lib64/python3.7/_pyio.pyÚopen%s¤{            >         rAc@seZdZdd„ZdS)Ú DocDescriptorcCs dtjS)Nz\open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) )rAÚ__doc__)ÚselfÚobjÚtypr?r?r@Ú__get__üszDocDescriptor.__get__N)Ú__name__Ú __module__Ú __qualname__rGr?r?r?r@rBùsrBc@seZdZeƒZdd„ZdS)Ú OpenWrappercOs t||ŽS)N)rA)ÚclsÚargsÚkwargsr?r?r@Ú__new__ szOpenWrapper.__new__N)rHrIrJrBrCrOr?r?r?r@rKsrKc@s eZdZdS)ÚUnsupportedOperationN)rHrIrJr?r?r?r@rPsrPc@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;d+d,„Zd-d.„Zd/d0„Zdˆdks€t|ƒˆkr¨ˆ |ƒ¡}|s’P||7}| d¡rlPqlWt|ƒS) NÚpeekcs>ˆ d¡}|sdS| d¡dp&t|ƒ}ˆdkr:t|ˆƒ}|S)Nr ó r)rhÚfindr Úmin)Z readaheadÚn)rDÚsizer?r@Ú nreadaheadês  z#IOBase.readline..nreadaheadcSsdS)Nr r?r?r?r?r@rnósrz is not an integerrri) ÚhasattrÚ __index__r,rÚ bytearrayr ÚreadÚendswithr)rDrmrnÚ size_indexÚresrr?)rDrmr@ÚreadlineÞs&     zIOBase.readlinecCs | ¡|S)N)rZ)rDr?r?r@Ú__iter__szIOBase.__iter__cCs| ¡}|st‚|S)N)rvÚ StopIteration)rDÚliner?r?r@Ú__next__ szIOBase.__next__cCsR|dks|dkrt|ƒSd}g}x,|D]$}| |¡|t|ƒ7}||kr&Pq&W|S)Nr)ÚlistÚappendr )rDZhintrlÚlinesryr?r?r@Ú readliness   zIOBase.readlinescCs$| ¡x|D]}| |¡qWdS)N)rZÚwrite)rDr}ryr?r?r@Ú writelines$s zIOBase.writelines)r)N)N)N)N)N)r)N)rHrIrJrTrUrXrYr[r\r2r]r^r`rarbrcrdÚpropertyrerZrfrgr)r&rvrwrzr~r€r?r?r?r@rQs2#         * rQ)Ú metaclassc@s.eZdZd dd„Zdd„Zdd„Zdd „Zd S) Ú RawIOBasercCsP|dkr d}|dkr| ¡St| ¡ƒ}| |¡}|dkr>dS||d…=t|ƒS)Nrr)ÚreadallrqrpÚreadintor)rDrmrrlr?r?r@rr?s   zRawIOBase.readcCs8tƒ}x| t¡}|sP||7}qW|r0t|ƒS|SdS)N)rqrrr'r)rDruÚdatar?r?r@r„Ps  zRawIOBase.readallcCs| d¡dS)Nr…)rT)rDrr?r?r@r…^szRawIOBase.readintocCs| d¡dS)Nr)rT)rDrr?r?r@rfszRawIOBase.writeN)r)rHrIrJrrr„r…rr?r?r?r@rƒ1s rƒ)r%c@sHeZdZddd„Zddd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dS)ÚBufferedIOBasercCs| d¡dS)Nrr)rT)rDrmr?r?r@rr„szBufferedIOBase.readcCs| d¡dS)NÚread1)rT)rDrmr?r?r@rˆ˜szBufferedIOBase.read1cCs|j|dd�S)NF)rˆ)Ú _readinto)rDrr?r?r@r…žs zBufferedIOBase.readintocCs|j|dd�S)NT)rˆ)r‰)rDrr?r?r@Ú readinto1¬s zBufferedIOBase.readinto1cCsVt|tƒst|ƒ}| d¡}|r0| t|ƒ¡}n| t|ƒ¡}t|ƒ}||d|…<|S)NÚB)rÚ memoryviewÚcastrˆr rr)rDrrˆr†rlr?r?r@r‰·s   zBufferedIOBase._readintocCs| d¡dS)Nr)rT)rDrr?r?r@rÆs zBufferedIOBase.writecCs| d¡dS)NÚdetach)rT)rDr?r?r@rŽÑszBufferedIOBase.detachN)r)r) rHrIrJrrrˆr…rŠr‰rrŽr?r?r?r@r‡ss    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)rDr:r?r?r@Ú__init__æsz_BufferedIOMixin.__init__rcCs"|j ||¡}|dkrtdƒ‚|S)Nrz#seek() returned an invalid position)r:rUr+)rDrVrWZ new_positionr?r?r@rUësz_BufferedIOMixin.seekcCs|j ¡}|dkrtdƒ‚|S)Nrz#tell() returned an invalid position)r:rXr+)rDrVr?r?r@rXñs z_BufferedIOMixin.tellNcCs$| ¡|dkr| ¡}|j |¡S)N)r[rXr:rY)rDrVr?r?r@rY÷sz_BufferedIOMixin.truncatecCs|jrtdƒ‚|j ¡dS)Nzflush on closed file)rer!r:r[)rDr?r?r@r[sz_BufferedIOMixin.flushcCs.|jdk r*|js*z | ¡Wd|j ¡XdS)N)r:rer[r2)rDr?r?r@r2 s z_BufferedIOMixin.closecCs*|jdkrtdƒ‚| ¡|j}d|_|S)Nzraw stream already detached)r:r!r[r�)rDr:r?r?r@rŽs  z_BufferedIOMixin.detachcCs |j ¡S)N)r:r^)rDr?r?r@r^sz_BufferedIOMixin.seekablecCs|jS)N)r�)rDr?r?r@r:sz_BufferedIOMixin.rawcCs|jjS)N)r:re)rDr?r?r@re#sz_BufferedIOMixin.closedcCs|jjS)N)r:rS)rDr?r?r@rS'sz_BufferedIOMixin.namecCs|jjS)N)r:r1)rDr?r?r@r1+sz_BufferedIOMixin.modecCstd |jj¡ƒ‚dS)Nz can not serialize a '{0}' object)rÚformatrRrH)rDr?r?r@Ú __getstate__/sz_BufferedIOMixin.__getstate__cCsJ|jj}|jj}y |j}Wntk r6d ||¡SXd |||¡SdS)Nz<{}.{}>z<{}.{} name={!r}>)rRrIrJrSÚ Exceptionr’)rDÚmodnameZclsnamerSr?r?r@Ú__repr__3s z_BufferedIOMixin.__repr__cCs |j ¡S)N)r:r))rDr?r?r@r)?sz_BufferedIOMixin.filenocCs |j ¡S)N)r:r&)rDr?r?r@r&Bsz_BufferedIOMixin.isatty)r)N)rHrIrJr‘rUrXrYr[r2rŽr^r�r:rerSr1r“r–r)r&r?r?r?r@r�Ýs          r�cs’eZdZdZd dd„Zdd„Zdd„Zdd „Z‡fd d „Zd!d d„Z d"dd„Z dd„Z d#dd„Z dd„Z d$dd„Zdd„Zdd„Zdd„Z‡ZS)%ÚBytesIONcCs&tƒ}|dk r||7}||_d|_dS)Nr)rqÚ_bufferÚ_pos)rDZ initial_bytesÚbufr?r?r@r‘Ns zBytesIO.__init__cCs|jrtdƒ‚|j ¡S)Nz__getstate__ on closed file)rer!Ú__dict__Úcopy)rDr?r?r@r“UszBytesIO.__getstate__cCs|jrtdƒ‚t|jƒS)Nzgetvalue on closed file)rer!rr˜)rDr?r?r@ÚgetvalueZszBytesIO.getvaluecCs|jrtdƒ‚t|jƒS)Nzgetbuffer on closed file)rer!rŒr˜)rDr?r?r@Ú getbufferaszBytesIO.getbuffercs"|jdk r|j ¡tƒ ¡dS)N)r˜ÚclearÚsuperr2)rD)rRr?r@r2hs  z BytesIO.closercCsª|jrtdƒ‚|dkrd}n4y |j}Wn"tk rHt|›d�ƒ‚YnX|ƒ}|dkrbt|jƒ}t|jƒ|jkrvdStt|jƒ|j|ƒ}|j|j|…}||_t |ƒS)Nzread from closed filerz is not an integerró) rer!rpr,rr r˜r™rkr)rDrmrtZnewposrr?r?r@rrms"  z BytesIO.readcCs | |¡S)N)rr)rDrmr?r?r@rˆ‚sz 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ó) rer!rrrrŒÚnbytesr™r r˜)rDrZviewrlrVZpaddingr?r?r@r‡s  z BytesIO.writercCs²|jrtdƒ‚y |j}Wn"tk r:t|›d�ƒ‚YnX|ƒ}|dkrh|dkr`td|fƒ‚||_nD|dkr„td|j|ƒ|_n(|dkr¤tdt|jƒ|ƒ|_ntdƒ‚|jS)Nzseek on closed filez is not an integerrznegative seek position %rr r zunsupported whence value) rer!rpr,rr™Úmaxr r˜)rDrVrWÚ pos_indexr?r?r@rUšs" z BytesIO.seekcCs|jrtdƒ‚|jS)Nztell on closed file)rer!r™)rDr?r?r@rX¯sz BytesIO.tellcCsx|jrtdƒ‚|dkr|j}nJy |j}Wn"tk rJt|›d�ƒ‚YnX|ƒ}|dkrhtd|fƒ‚|j|d…=|S)Nztruncate on closed filez is not an integerrznegative truncate position %r)rer!r™rpr,rr˜)rDrVr¥r?r?r@rY´s  zBytesIO.truncatecCs|jrtdƒ‚dS)NzI/O operation on closed file.T)rer!)rDr?r?r@raÅszBytesIO.readablecCs|jrtdƒ‚dS)NzI/O operation on closed file.T)rer!)rDr?r?r@rcÊszBytesIO.writablecCs|jrtdƒ‚dS)NzI/O operation on closed file.T)rer!)rDr?r?r@r^ÏszBytesIO.seekable)N)r)r)r)N)rHrIrJr˜r‘r“r�ržr2rrrˆrrUrXrYrarcr^Ú __classcell__r?r?)rRr@r—Fs      r—c@steZdZefdd„Zdd„Zdd„Zddd „Zdd d „Zdd d„Z ddd„Z ddd„Z dd„Z dd„Z ddd„ZdS) r/cCsF| ¡stdƒ‚t ||¡|dkr,tdƒ‚||_| ¡tƒ|_dS)Nz "raw" argument must be readable.rzinvalid buffer size) rar+r�r‘r!Ú buffer_sizeÚ_reset_read_bufÚLockÚ _read_lock)rDr:r§r?r?r@r‘às zBufferedReader.__init__cCs |j ¡S)N)r:ra)rDr?r?r@raíszBufferedReader.readablecCsd|_d|_dS)Nr¡r)Ú _read_bufÚ _read_pos)rDr?r?r@r¨ðszBufferedReader._reset_read_bufNc Cs4|dk r|dkrtdƒ‚|j� | |¡SQRXdS)Nrzinvalid number of bytes to read)r!rªÚ_read_unlocked)rDrmr?r?r@rrôszBufferedReader.readc CsŒd}d}|j}|j}|dks$|dkr¾| ¡t|jdƒrj|j ¡}|dkrZ||d…pXdS||d…|S||d…g}d}x2|j ¡}||kr–|}P|t|ƒ7}| |¡q~Wd  |¡p¼|St|ƒ|} || krð|j|7_||||…S||d…g}t |j |ƒ} xB| |k�rL|j | ¡}||k�r2|}P| t|ƒ7} | |¡�q Wt || ƒ}d  |¡} | |d…|_d|_| �rˆ| d|…S|S)Nr¡)r¡Nrr„r) r«r¬r¨ror:r„rrr r|Újoinr¤r§rk) rDrlZ nodata_valZ empty_valuesršrVÚchunkZchunksZ current_sizeÚavailZwantedÚoutr?r?r@r­sN            zBufferedReader._read_unlockedrc Cs|j� | |¡SQRXdS)N)rªÚ_peek_unlocked)rDrmr?r?r@rh5szBufferedReader.peekcCsrt||jƒ}t|jƒ|j}||ks,|dkrb|j|}|j |¡}|rb|j|jd…||_d|_|j|jd…S)Nr)rkr§r r«r¬r:rr)rDrlZwantZhaveZto_readZcurrentr?r?r@r²?s   zBufferedReader._peek_unlockedrc CsR|dkr|j}|dkrdS|j�(| d¡| t|t|jƒ|jƒ¡SQRXdS)Nrr¡r )r§rªr²r­rkr r«r¬)rDrmr?r?r@rˆJs zBufferedReader.read1c Cst|tƒst|ƒ}|jdkr dS| d¡}d}|j�ÐxÈ|t|ƒkrþtt|jƒ|jt|ƒƒ}|r¨|j|j|j|…||||…<|j|7_||7}|t|ƒkr¨Pt|ƒ||j krÞ|j   ||d…¡}|sÔP||7}n|ræ|sò|  d¡sòP|r8|r8Pq8WWdQRX|S)Nrr‹r ) rrŒr£r�rªr rkr«r¬r§r:r…r²)rDršrˆÚwrittenr°rlr?r?r@r‰\s4   "   zBufferedReader._readintocCst |¡t|jƒ|jS)N)r�rXr r«r¬)rDr?r?r@rXŠszBufferedReader.tellc CsX|tkrtdƒ‚|j�8|dkr4|t|jƒ|j8}t |||¡}| ¡|SQRXdS)Nzinvalid whence valuer ) Úvalid_seek_flagsr!rªr r«r¬r�rUr¨)rDrVrWr?r?r@rU�szBufferedReader.seek)N)N)r)r)r)r)rHrIrJr'r‘rar¨rrr­rhr²rˆr‰rXrUr?r?r?r@r/Õs  4 .r/c@s\eZdZefdd„Zdd„Zdd„Zddd „Zd d „Zd d „Z dd„Z ddd„Z dd„Z dS)r.cCsF| ¡stdƒ‚t ||¡|dkr,tdƒ‚||_tƒ|_tƒ|_ dS)Nz "raw" argument must be writable.rzinvalid buffer size) rcr+r�r‘r!r§rqÚ _write_bufr©Ú _write_lock)rDr:r§r?r?r@r‘ s zBufferedWriter.__init__cCs |j ¡S)N)r:rc)rDr?r?r@rc«szBufferedWriter.writablec Csüt|tƒrtdƒ‚|j�Ú|jr(tdƒ‚t|jƒ|jkr@|  ¡t|jƒ}|j  |¡t|jƒ|}t|jƒ|jkrîy |  ¡Wnlt k rì}zNt|jƒ|jkrÜt|jƒ|j}||8}|jd|j…|_t |j |j |ƒ‚Wdd}~XYnX|SQRXdS)Nz can't write str to binary streamzwrite to closed file)rrrr¶rer!r rµr§Ú_flush_unlockedÚextendÚBlockingIOErrorÚerrnoÚstrerror)rDrZbeforer³ÚeZoverager?r?r@r®s(    "zBufferedWriter.writeNc Cs8|j�(| ¡|dkr"|j ¡}|j |¡SQRXdS)N)r¶r·r:rXrY)rDrVr?r?r@rYÊs  zBufferedWriter.truncatec Cs|j�| ¡WdQRXdS)N)r¶r·)rDr?r?r@r[ÑszBufferedWriter.flushcCsŽ|jrtdƒ‚xz|jrˆy|j |j¡}Wntk rDtdƒ‚YnX|dkr\ttjddƒ‚|t |jƒksr|dkrzt dƒ‚|jd|…=qWdS)Nzflush on closed filezHself.raw should implement RawIOBase: it should not raise BlockingIOErrorz)write could not complete without blockingrz*write() returned incorrect number of bytes) rer!rµr:rr¹Ú RuntimeErrorrºZEAGAINr r+)rDrlr?r?r@r·ÕszBufferedWriter._flush_unlockedcCst |¡t|jƒS)N)r�rXr rµ)rDr?r?r@rXæszBufferedWriter.tellrc Cs8|tkrtdƒ‚|j�| ¡t |||¡SQRXdS)Nzinvalid whence value)r´r!r¶r·r�rU)rDrVrWr?r?r@rUés zBufferedWriter.seekcCsV|j�|jdks|jrdSWdQRXz | ¡Wd|j�|j ¡WdQRXXdS)N)r¶r:rer[r2)rDr?r?r@r2ðs zBufferedWriter.close)N)r) rHrIrJr'r‘rcrrYr[r·rXrUr2r?r?r?r@r.—s   r.c@s‚eZdZefdd„Zddd„Zdd„Zdd „Zdd d „Zd d d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zedd„ƒZdS)!ÚBufferedRWPaircCs<| ¡stdƒ‚| ¡s tdƒ‚t||ƒ|_t||ƒ|_dS)Nz#"reader" argument must be readable.z#"writer" argument must be writable.)rar+rcr/Úreaderr.Úwriter)rDr¿rÀr§r?r?r@r‘s  zBufferedRWPair.__init__rcCs|dkr d}|j |¡S)Nr)r¿rr)rDrmr?r?r@rrszBufferedRWPair.readcCs |j |¡S)N)r¿r…)rDrr?r?r@r…#szBufferedRWPair.readintocCs |j |¡S)N)rÀr)rDrr?r?r@r&szBufferedRWPair.writercCs |j |¡S)N)r¿rh)rDrmr?r?r@rh)szBufferedRWPair.peekcCs |j |¡S)N)r¿rˆ)rDrmr?r?r@rˆ,szBufferedRWPair.read1cCs |j |¡S)N)r¿rŠ)rDrr?r?r@rŠ/szBufferedRWPair.readinto1cCs |j ¡S)N)r¿ra)rDr?r?r@ra2szBufferedRWPair.readablecCs |j ¡S)N)rÀrc)rDr?r?r@rc5szBufferedRWPair.writablecCs |j ¡S)N)rÀr[)rDr?r?r@r[8szBufferedRWPair.flushcCs z|j ¡Wd|j ¡XdS)N)rÀr2r¿)rDr?r?r@r2;szBufferedRWPair.closecCs|j ¡p|j ¡S)N)r¿r&rÀ)rDr?r?r@r&AszBufferedRWPair.isattycCs|jjS)N)rÀre)rDr?r?r@reDszBufferedRWPair.closedN)r)r)r)rHrIrJr'r‘rrr…rrhrˆrŠrarcr[r2r&r�rer?r?r?r@r¾s    r¾c@sjeZdZefdd„Zddd„Zdd„Zdd d „Zdd d „Zd d„Z ddd„Z ddd„Z dd„Z dd„Z dS)r-cCs(| ¡t |||¡t |||¡dS)N)r`r/r‘r.)rDr:r§r?r?r@r‘RszBufferedRandom.__init__rc Cs†|tkrtdƒ‚| ¡|jrJ|j� |j |jt|jƒd¡WdQRX|j ||¡}|j�|  ¡WdQRX|dkr‚t dƒ‚|S)Nzinvalid whence valuer rz seek() returned invalid position) r´r!r[r«rªr:rUr¬r r¨r+)rDrVrWr?r?r@rUWs$zBufferedRandom.seekcCs|jrt |¡St |¡SdS)N)rµr.rXr/)rDr?r?r@rXhs zBufferedRandom.tellNcCs|dkr| ¡}t ||¡S)N)rXr.rY)rDrVr?r?r@rYnszBufferedRandom.truncatecCs |dkr d}| ¡t ||¡S)Nr)r[r/rr)rDrmr?r?r@rrtszBufferedRandom.readcCs| ¡t ||¡S)N)r[r/r…)rDrr?r?r@r…zszBufferedRandom.readintocCs| ¡t ||¡S)N)r[r/rh)rDrmr?r?r@rh~szBufferedRandom.peekrcCs| ¡t ||¡S)N)r[r/rˆ)rDrmr?r?r@rˆ‚szBufferedRandom.read1cCs| ¡t ||¡S)N)r[r/rŠ)rDrr?r?r@rІszBufferedRandom.readinto1c CsF|jr:|j�(|j |jt|jƒd¡| ¡WdQRXt ||¡S)Nr ) r«rªr:rUr¬r r¨r.r)rDrr?r?r@rŠs zBufferedRandom.write)r)N)N)r)r)rHrIrJr'r‘rUrXrYrrr…rhrˆrŠrr?r?r?r@r-Is      r-csìeZdZdZdZdZdZdZdZdZ d0dd„Z dd „Z d d „Z d d „Z dd„Zd1dd„Zd2dd„Zdd„Zdd„Zdd„Zefdd„Zdd„Zd3dd„Z‡fd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zed,d-„ƒZed.d/„ƒZ ‡Z!S)4r%rFNTr c CsB|jdkr*z|jrt |j¡Wdd|_Xt|tƒr¾sz"FileIO.__init__..r rzKMust have exactly one of create/read/write/append mode and at most one plusrTr rrÚO_BINARYZ O_NOINHERITÚ O_CLOEXECz'Cannot use closefd=False with file namei¶zexpected integer from openerzNegative file descriptorFr*)-Ú_fdÚ_closefdrr2rÚfloatrrr!rrÚsumÚcountÚ_createdÚ _writableÚO_EXCLÚO_CREATÚ _readableÚO_TRUNCÚ _appendingÚO_APPENDÚO_RDWRÚO_RDONLYÚO_WRONLYÚgetattrrAr+Úset_inheritabler(ÚstatÚS_ISDIRÚst_modeÚIsADirectoryErrorrºZEISDIRr»r,Ú_blksizer'Ú_setmoderÄrSÚlseekr ZESPIPE) rDr3r1r8rÚfdÚflagsZnoinherit_flagZowned_fdZfdfstatr¼r?r?r@r‘œs¨     $                   zFileIO.__init__cCsB|jdkr>|jr>|js>ddl}|jd|ftd|d�| ¡dS)Nrzunclosed file %rr )Ú stacklevelÚsource)rÆrÇrer"r#ÚResourceWarningr2)rDr"r?r?r@r]s  zFileIO.__del__cCstd|jjƒ‚dS)Nzcannot serialize '%s' object)rrRrH)rDr?r?r@r“szFileIO.__getstate__cCsld|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>) rRrIrJrerSr,rÆr1rÇ)rDÚ class_namerSr?r?r@r–s  zFileIO.__repr__cCs|jstdƒ‚dS)NzFile not open for reading)rÏrP)rDr?r?r@rb-szFileIO._checkReadablecCs|jstdƒ‚dS)NzFile not open for writing)rÌrP)rDr_r?r?r@rd1szFileIO._checkWritablecCsP| ¡| ¡|dks |dkr(| ¡Syt |j|¡Stk rJdSXdS)Nr)rZrbr„rrrrÆr¹)rDrmr?r?r@rr5sz FileIO.readcCsÞ| ¡| ¡t}y6t |jdt¡}t |j¡j}||krH||d}Wnt k r^YnXt ƒ}xnt |ƒ|krŠt |ƒ}|t |tƒ7}|t |ƒ}yt  |j|¡}Wntk rÂ|r¾PdSX|sÊP||7}qhWt|ƒS)Nrr )rZrbr'rrÞrÆrr(Úst_sizer+rqr r¤rrr¹r)rDÚbufsizerVÚendr;rlr¯r?r?r@r„Es4   zFileIO.readallcCs4t|ƒ d¡}| t|ƒ¡}t|ƒ}||d|…<|S)Nr‹)rŒr�rrr )rDrÚmr†rlr?r?r@r…hs  zFileIO.readintocCs8| ¡| ¡yt |j|¡Stk r2dSXdS)N)rZrdrrrÆr¹)rDrr?r?r@rps z FileIO.writecCs*t|tƒrtdƒ‚| ¡t |j||¡S)Nzan integer is required)rrÈrrZrrÞrÆ)rDrVrWr?r?r@rU~s z FileIO.seekcCs| ¡t |jdt¡S)Nr)rZrrÞrÆr)rDr?r?r@rXŽsz FileIO.tellcCs2| ¡| ¡|dkr | ¡}t |j|¡|S)N)rZrdrXrÚ ftruncaterÆ)rDrmr?r?r@rY•s zFileIO.truncatecs.|js*z|jrt |j¡Wdtƒ ¡XdS)N)rerÇrr2rÆr )rD)rRr?r@r2¢s z FileIO.closecCsF| ¡|jdkr@y | ¡Wntk r8d|_YnXd|_|jS)NFT)rZÚ _seekablerXr+)rDr?r?r@r^¯s   zFileIO.seekablecCs| ¡|jS)N)rZrÏ)rDr?r?r@ra»szFileIO.readablecCs| ¡|jS)N)rZrÌ)rDr?r?r@rcÀszFileIO.writablecCs| ¡|jS)N)rZrÆ)rDr?r?r@r)Åsz FileIO.filenocCs| ¡t |j¡S)N)rZrr&rÆ)rDr?r?r@r&Êsz FileIO.isattycCs|jS)N)rÇ)rDr?r?r@r8ÏszFileIO.closefdcCsJ|jr|jrdSdSn0|jr,|jr&dSdSn|jrB|jrd?„Z#dRd@dA„Z$dBdC„Z%dSdDdE„Z&dTdFdG„Z'dHdI„Z(dUdJdK„Z)e dLdM„ƒZ*dS)Vr0iNFc Cs| |¡|dkrvyt | ¡¡}Wnttfk r<YnX|dkrvy ddl}Wntk rjd}Yn X| d¡}t |t ƒsŒt d|ƒ‚t   |¡js¨d}t||ƒ‚|dkr¶d}nt |t ƒsÌt d|ƒ‚||_d|_d|_d|_|j ¡|_|_t|jd ƒ|_| |||||¡dS) NrÚasciiFzinvalid encoding: %rzG%r is not a text encoding; use codecs.open() to handle arbitrary codecsrñzinvalid errors: %rrrˆ)Ú_check_newlinerÚdevice_encodingr)r,rPÚlocaleÚ ImportErrorÚgetpreferredencodingrrr!ròÚlookupÚ_is_text_encodingÚ LookupErrorr˜Ú_decoded_charsÚ_decoded_chars_usedÚ _snapshotr>r^rêÚ_tellingroÚ _has_read1Ú _configure) rDr>r5r6r7r<Ú write_throughr r_r?r?r@r‘£s:           zTextIOWrapper.__init__cCs>|dk r$t|tƒs$tdt|ƒfƒ‚|dkr:td|fƒ‚dS)Nzillegal newline type: %r)Nrrúrùz zillegal newline value: %r)rrrÚtyper!)rDr7r?r?r@r ËszTextIOWrapper._check_newlinecCs¤||_||_d|_d|_d|_| |_|dk|_||_|dk|_|pHt j |_ ||_ ||_ |jr | ¡r |j ¡}|dkr y| ¡ d¡Wntk ržYnXdS)Ngrr)Ú _encodingÚ_errorsÚ_encoderÚ_decoderÚ _b2cratioÚ_readuniversalÚ_readtranslateÚ_readnlÚ_writetranslaterÚlinesepÚ_writenlÚ_line_bufferingÚ_write_throughrêrcr>rXÚ _get_encoderrr)rDr5r6r7r<rÚpositionr?r?r@rÑs&    zTextIOWrapper._configurecCs€d |jj|jj¡}y |j}Wntk r2YnX|d |¡7}y |j}Wntk r`YnX|d |¡7}|d |j¡S)Nz<{}.{}z name={0!r}z mode={0!r}z encoding={0!r}>)r’rRrIrJrSr”r1r5)rDr;rSr1r?r?r@r–õs    zTextIOWrapper.__repr__cCs|jS)N)r)rDr?r?r@r5szTextIOWrapper.encodingcCs|jS)N)r)rDr?r?r@r6 szTextIOWrapper.errorscCs|jS)N)r%)rDr?r?r@r<szTextIOWrapper.line_bufferingcCs|jS)N)r&)rDr?r?r@rszTextIOWrapper.write_throughcCs|jS)N)r˜)rDr?r?r@r>szTextIOWrapper.buffer)r5r6r7r<rcCsÖ|jdk r*|dk s"|dk s"|tk r*tdƒ‚|dkrH|dkrB|j}q^d}nt|tƒs^td|ƒ‚|dkrn|j}nt|tƒs„td|ƒ‚|tkr’|j}|  |¡|dkrª|j }|dkr¸|j }|  ¡|  |||||¡dS)NzPIt is not possible to set the encoding or newline of stream after the first readrñzinvalid errors: %rzinvalid encoding: %r)rÚEllipsisrPrrrrrr!r r<rr[r)rDr5r6r7r<rr?r?r@Ú reconfigures2       zTextIOWrapper.reconfigurecCs|jrtdƒ‚|jS)NzI/O operation on closed file.)rer!rê)rDr?r?r@r^CszTextIOWrapper.seekablecCs |j ¡S)N)r>ra)rDr?r?r@raHszTextIOWrapper.readablecCs |j ¡S)N)r>rc)rDr?r?r@rcKszTextIOWrapper.writablecCs|j ¡|j|_dS)N)r>r[rêr)rDr?r?r@r[Ns zTextIOWrapper.flushcCs.|jdk r*|js*z | ¡Wd|j ¡XdS)N)r>rer[r2)rDr?r?r@r2Rs zTextIOWrapper.closecCs|jjS)N)r>re)rDr?r?r@reYszTextIOWrapper.closedcCs|jjS)N)r>rS)rDr?r?r@rS]szTextIOWrapper.namecCs |j ¡S)N)r>r))rDr?r?r@r)aszTextIOWrapper.filenocCs |j ¡S)N)r>r&)rDr?r?r@r&dszTextIOWrapper.isattycCsÈ|jrtdƒ‚t|tƒs(td|jjƒ‚t|ƒ}|js<|j oBd|k}|rf|jrf|j dkrf|  d|j ¡}|j pr|  ¡}| |¡}|j |¡|j r¤|sœd|kr¤| ¡| d¡d|_|jrÄ|j ¡|S)Nzwrite to closed filezcan't write %s to text streamrúrùr)rer!rrrrRrHr r"r%r$rÿrr'Úencoder>rr[Ú_set_decoded_charsrrr)rDrîÚlengthZhaslfÚencoderrr?r?r@rgs&      zTextIOWrapper.writecCst |j¡}||jƒ|_|jS)N)ròÚgetincrementalencoderrrr)rDZ make_encoderr?r?r@r'~s  zTextIOWrapper._get_encodercCs2t |j¡}||jƒ}|jr(t||jƒ}||_|S)N)ròÚgetincrementaldecoderrrrrðr r)rDZ make_decoderrõr?r?r@Ú _get_decoderƒs    zTextIOWrapper._get_decodercCs||_d|_dS)Nr)rr)rDÚcharsr?r?r@r,Žsz TextIOWrapper._set_decoded_charscCsF|j}|dkr|j|d…}n|j|||…}|jt|ƒ7_|S)N)rrr )rDrlÚoffsetr2r?r?r@Ú_get_decoded_chars“s z TextIOWrapper._get_decoded_charscCs$|j|krtdƒ‚|j|8_dS)Nz"rewind decoded_chars out of bounds)rÚAssertionError)rDrlr?r?r@Ú_rewind_decoded_chars�s z#TextIOWrapper._rewind_decoded_charscCs¢|jdkrtdƒ‚|jr&|j ¡\}}|jr<|j |j¡}n|j |j¡}| }|j  ||¡}|  |¡|r‚t |ƒt |j ƒ|_ nd|_ |jrœ|||f|_| S)Nz no decoderg)rr!rrrr>rˆÚ _CHUNK_SIZErrrûr,r rrr)rDÚ dec_bufferÚ dec_flagsÚ input_chunkÚeofZ decoded_charsr?r?r@Ú _read_chunk£s  zTextIOWrapper._read_chunkrcCs(||d>B|d>B|d>Bt|ƒd>BS)Né@é€éÀé)r)rDr(r9Ú bytes_to_feedÚneed_eofÚ chars_to_skipr?r?r@Ú _pack_cookieÍszTextIOWrapper._pack_cookiecCsFt|dƒ\}}t|dƒ\}}t|dƒ\}}t|dƒ\}}|||||fS)Nl)Údivmod)rDZbigintÚrestr(r9rArBrCr?r?r@Ú_unpack_cookie×s zTextIOWrapper._unpack_cookiec Cs:|jstdƒ‚|jstdƒ‚| ¡|j ¡}|j}|dksF|jdkrX|j rTt dƒ‚|S|j\}}|t |ƒ8}|j }|dkrˆ|  ||¡S| ¡}�z–t|j|ƒ}d}xŽ|dk�r"| d|f¡t | |d|…¡ƒ} | |k�r| ¡\} } | sþ| }|| 8}P|t | ƒ8}d}q¨||8}|d}q¨Wd}| d|f¡||} |} |dk�rX|  | | ¡Sd}d}d}x²t|t |ƒƒD]t}|d7}|t | |||d…¡ƒ7}| ¡\}}|�sÚ||k�rÚ| |7} ||8}|dd} }}||k�rtP�qtW|t |jddd �ƒ7}d}||k�rtd ƒ‚|  | | |||¡S| |¡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êrPrr+r[r>rXrrrr5r rrDrrrrrûÚrange)rDr(rõr9Z next_inputrCZ saved_stateZ skip_bytesZ skip_backrlrÚdÚ start_posZ start_flagsZ bytes_fedrBZ chars_decodedÚir8r?r?r@rXÞsv              zTextIOWrapper.tellcCs$| ¡|dkr| ¡}|j |¡S)N)r[rXr>rY)rDrVr?r?r@rYA szTextIOWrapper.truncatecCs*|jdkrtdƒ‚| ¡|j}d|_|S)Nzbuffer is already detached)r>r!r[r˜)rDr>r?r?r@rŽG s  zTextIOWrapper.detachc s‡fdd„}ˆjrtdƒ‚ˆjs(tdƒ‚|dkrL|dkr@tdƒ‚d}ˆ ¡}|dkr¦|dkrdtd ƒ‚ˆ ¡ˆj dd¡}ˆ d ¡dˆ_ ˆj ršˆj   ¡||ƒ|S|dkr¼td |fƒ‚|dkrÒtd |fƒ‚ˆ ¡ˆ  |¡\}}}}} ˆj |¡ˆ d ¡dˆ_ |dk�r(ˆj �r(ˆj   ¡n@ˆj �s<|�s<| �rhˆj �pJˆ  ¡ˆ_ ˆj  d |f¡|d fˆ_ | �r¶ˆj |¡} ˆ ˆj  | |¡¡|| fˆ_ tˆjƒ| k�r°tdƒ‚| ˆ_||ƒ|S)NcsHyˆjpˆ ¡}Wntk r&YnX|dkr<| d¡n| ¡dS)Nr)rr'rrr)r(r.)rDr?r@Ú_reset_encoderP 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)rer!rêrPrXr[r>rUr,rrrrGr1rrrrûr rr+r) rDZcookierWrLr(rJr9rArBrCr:r?)rDr@rUO s\         zTextIOWrapper.seekcCsÜ| ¡|dkrd}n4y |j}Wn"tk rBt|›d�ƒ‚YnX|ƒ}|jpV| ¡}|dkr�| ¡|j|j  ¡dd�}|  d¡d|_ |Sd}| |¡}x4t |ƒ|krÒ|sÒ|  ¡ }|| |t |ƒ¡7}q W|SdS)Nrz is not an integerrT)rørF)rbrpr,rrr1r4rûr>rrr,rr r<)rDrmrtrõr;r;r?r?r@rrš s*    zTextIOWrapper.readcCs(d|_| ¡}|s$d|_|j|_t‚|S)NF)rrvrrêrx)rDryr?r?r@rz¶ szTextIOWrapper.__next__c Cs|jrtdƒ‚|dkrd}n4y |j}Wn"tk rHt|›d�ƒ‚YnX|ƒ}| ¡}d}|jsj| ¡d}}�xV|jr¦|  d|¡}|dkrœ|d}Pnt |ƒ}n¾|j �r>|  d|¡}|  d|¡}|dkrì|dkràt |ƒ}n |d}PnP|dk�r|d}Pn:||k�r|d}Pn$||dk�r2|d}Pn |d}Pn&|  |j ¡}|dk�rd|t |j ƒ}P|dk�r‚t |ƒ|k�r‚|}Px|  ¡�rœ|j�r„P�q„W|j�r´|| ¡7}qv| d ¡d|_|SqvW|dk�rä||k�rä|}| t |ƒ|¡|d|…S) Nzread from closed filerz is not an integerrrúr rùr r)rer!rpr,rr4rr1r rjr rr!r<rr,rr6) rDrmrtryÚstartrVÚendposZnlposZcrposr?r?r@rv¿ sv            zTextIOWrapper.readlinecCs|jr|jjSdS)N)rrï)rDr?r?r@rï szTextIOWrapper.newlines)NNNFF)NNNFF)N)rrrr)N)r)N)N)+rHrIrJr7r˜r‘r rr–r�r5r6r<rr>r)r*r^rarcr[r2rerSr)r&rr'r1r,r4r6r<rDrGrXrYrŽrUrrrzrvrïr?r?r?r@r0‚sT ' #     '    * c  K  ]r0csNeZdZd‡fdd„ Zdd„Zdd„Zed d „ƒZed d „ƒZd d„Z ‡Z S)ÚStringIOrrúcsftt|ƒjtƒdd|d�|dkr(d|_|dk rbt|tƒsNtd t |ƒj ¡ƒ‚|  |¡|  d¡dS)Nzutf-8Ú surrogatepass)r5r6r7Fz*initial_value must be str or None, not {0}r) r rOr‘r—r"rrrr’rrHrrU)rDZ initial_valuer7)rRr?r@r‘( s  zStringIO.__init__c CsL| ¡|jp| ¡}| ¡}| ¡z|j|j ¡dd�S| |¡XdS)NT)rø) r[rr1rrrûr>r�r)rDrõZ old_stater?r?r@r�8 szStringIO.getvaluecCs t |¡S)N)Úobjectr–)rDr?r?r@r–B szStringIO.__repr__cCsdS)Nr?)rDr?r?r@r6G szStringIO.errorscCsdS)Nr?)rDr?r?r@r5K szStringIO.encodingcCs| d¡dS)NrŽ)rT)rDr?r?r@rŽO szStringIO.detach)rrú) rHrIrJr‘r�r–r�r6r5rŽr¦r?r?)rRr@rO! s    rO)r rNNNTN)2rÚabcròrºrØÚsysÚ_threadrr©ÚplatformZmsvcrtrrÝÚiorrrr r´roÚaddr Ú SEEK_DATAr'r¹rArBrKrPr,r+r!ÚABCMetarQÚregisterrƒÚ_ior%r‡r�r—r/r.r¾r-rírórðr0rOr?r?r?r@Úsr       T   =   g iCiIJY@ U$