eaiovnaovbqoebvqoeavibavo B YI~de@s8ddlZddlZddlZddlZddlZddlZddlmZej dkrTddl m Z ndZ ddl Z ddl mZmZmZmZdddhZeedreejeejd ZeZd3d dZGdddZGdddZy e jZWn(ek rGdddeeZYnXGdddej dZ!e j!"e!Gddde!Z#e j#"e#ddl$m%Z%e#"e%Gddde!Z&e j&"e&Gddde&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/d0d0e-Z0Gd1d2d2e0Z1dS)4N) allocate_lock>win32cygwin)setmode)__all__SEEK_SETSEEK_CURSEEK_END SEEK_HOLEi rTc Cszt|tst|}t|tttfs0td|t|tsFtd|t|ts\td||dk rzt|tsztd||dk rt|tstd|t|}|tdst|t|krt d|d|k} d|k} d |k} d |k} d |k} d |k}d |k}d|krD| s"| s"| s"| r*t dddl }| dt dd} |rX|rXt d| | | | dkrvt d| s| s| s| st d|r|dk rt d|r|dk rt d|r|dk rt dt || rdpd| rdpd| r d pd| rd pd| r,d p.d||d}|}yd}|dksd|dkrl|rld}d}|dkrt}yt|j}Wnttfk rYnX|dkr|}|dkrt d|dkr|r|St d | rt||}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+tUxr wa+tbUz4mode 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) isinstanceintosfspathstrbytes TypeErrorsetlen ValueErrorwarningswarnDeprecationWarningFileIOisattyDEFAULT_BUFFER_SIZEfstatfileno st_blksizeOSErrorAttributeErrorBufferedRandomBufferedWriterBufferedReader TextIOWrappermodeclose)filer1 bufferingencodingerrorsnewlineclosefdrZmodesZcreatingZreadingZwritingZ appendingZupdatingtextZbinaryr"rawresultline_bufferingbsbufferr?*/opt/alt/python37/lib64/python3.7/_pyio.pyopen%s{            >         rAc@seZdZddZdS) DocDescriptorcCs dtjS)Nz\open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) )rA__doc__)selfobjtypr?r?r@__get__szDocDescriptor.__get__N)__name__ __module__ __qualname__rGr?r?r?r@rBsrBc@seZdZeZddZdS) OpenWrappercOs t||S)N)rA)clsargskwargsr?r?r@__new__ szOpenWrapper.__new__N)rHrIrJrBrCrOr?r?r?r@rKsrKc@s eZdZdS)UnsupportedOperationN)rHrIrJr?r?r?r@rPsrPc@seZdZddZd5ddZddZd6d d Zd d Zd ZddZ ddZ ddZ d7ddZ ddZ d8ddZddZd9ddZeddZd:d d!Zd"d#Zd$d%Zd&d'Zd(d)Zd;d+d,Zd-d.Zd/d0Zddkst|kr|}|sP||7}|drlPqlWt|S) Npeekcs>d}|sdS|ddp&t|}dkr:t|}|S)Nr  r)rhfindr min)Z readaheadn)rDsizer?r@ nreadaheads  z#IOBase.readline..nreadaheadcSsdS)Nr r?r?r?r?r@rnsrz is not an integerrri) hasattr __index__r,r bytearrayr readendswithr)rDrmrn size_indexresrr?)rDrmr@readlines&     zIOBase.readlinecCs ||S)N)rZ)rDr?r?r@__iter__szIOBase.__iter__cCs|}|st|S)N)rv StopIteration)rDliner?r?r@__next__ szIOBase.__next__cCsR|dks|dkrt|Sd}g}x,|D]$}|||t|7}||kr&Pq&W|S)Nr)listappendr )rDZhintrllinesryr?r?r@ readliness   zIOBase.readlinescCs$|x|D]}||qWdS)N)rZwrite)rDr}ryr?r?r@ writelines$s zIOBase.writelines)r)N)N)N)N)N)r)N)rHrIrJrTrUrXrYr[r\r2r]r^r`rarbrcrdpropertyrerZrfrgr)r&rvrwrzr~rr?r?r?r@rQs2#         * rQ) metaclassc@s.eZdZd ddZddZddZdd Zd S) RawIOBasercCsP|dkr d}|dkr|St|}||}|dkr>dS||d=t|S)Nrr)readallrqrpreadintor)rDrmrrlr?r?r@rr?s   zRawIOBase.readcCs8t}x|t}|sP||7}qW|r0t|S|SdS)N)rqrrr'r)rDrudatar?r?r@rPs  zRawIOBase.readallcCs|ddS)Nr)rT)rDrr?r?r@r^szRawIOBase.readintocCs|ddS)Nr)rT)rDrr?r?r@rfszRawIOBase.writeN)r)rHrIrJrrrrrr?r?r?r@r1s r)r%c@sHeZdZdddZdddZddZdd Zd d Zd d ZddZ dS)BufferedIOBasercCs|ddS)Nrr)rT)rDrmr?r?r@rrszBufferedIOBase.readcCs|ddS)Nread1)rT)rDrmr?r?r@rszBufferedIOBase.read1cCs|j|ddS)NF)r) _readinto)rDrr?r?r@rs zBufferedIOBase.readintocCs|j|ddS)NT)r)r)rDrr?r?r@ readinto1s zBufferedIOBase.readinto1cCsVt|tst|}|d}|r0|t|}n|t|}t|}||d|<|S)NB)r memoryviewcastrr rr)rDrrrrlr?r?r@rs   zBufferedIOBase._readintocCs|ddS)Nr)rT)rDrr?r?r@rs zBufferedIOBase.writecCs|ddS)Ndetach)rT)rDr?r?r@rszBufferedIOBase.detachN)r)r) rHrIrJrrrrrrrrr?r?r?r@rss    rc@seZdZddZd#ddZddZd$d d Zd d Zd dZddZ ddZ e ddZ e ddZ e ddZe ddZddZddZdd 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@rUsz_BufferedIOMixin.seekcCs|j}|dkrtd|S)Nrz#tell() returned an invalid position)r:rXr+)rDrVr?r?r@rXs z_BufferedIOMixin.tellNcCs$||dkr|}|j|S)N)r[rXr:rY)rDrVr?r?r@rYsz_BufferedIOMixin.truncatecCs|jrtd|jdS)Nzflush on closed file)rer!r:r[)rDr?r?r@r[sz_BufferedIOMixin.flushcCs.|jdk r*|js*z |Wd|jXdS)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@rs  z_BufferedIOMixin.detachcCs |jS)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|jjdS)Nz can not serialize a '{0}' object)rformatrRrH)rDr?r?r@ __getstate__/sz_BufferedIOMixin.__getstate__cCsJ|jj}|jj}y |j}Wntk r6d||SXd|||SdS)Nz<{}.{}>z<{}.{} name={!r}>)rRrIrJrS Exceptionr)rDmodnameZclsnamerSr?r?r@__repr__3s z_BufferedIOMixin.__repr__cCs |jS)N)r:r))rDr?r?r@r)?sz_BufferedIOMixin.filenocCs |jS)N)r:r&)rDr?r?r@r&Bsz_BufferedIOMixin.isatty)r)N)rHrIrJrrUrXrYr[r2rr^rr:rerSr1rrr)r&r?r?r?r@rs          rcseZdZdZd ddZddZddZdd Zfd d Zd!d dZ d"ddZ ddZ d#ddZ ddZ d$ddZddZddZddZZS)%BytesIONcCs&t}|dk r||7}||_d|_dS)Nr)rq_buffer_pos)rDZ initial_bytesbufr?r?r@rNs zBytesIO.__init__cCs|jrtd|jS)Nz__getstate__ on closed file)rer!__dict__copy)rDr?r?r@rUszBytesIO.__getstate__cCs|jrtdt|jS)Nzgetvalue on closed file)rer!rr)rDr?r?r@getvalueZszBytesIO.getvaluecCs|jrtdt|jS)Nzgetbuffer on closed file)rer!rr)rDr?r?r@ getbufferaszBytesIO.getbuffercs"|jdk r|jtdS)N)rclearsuperr2)rD)rRr?r@r2hs  z BytesIO.closercCs|jrtd|dkrd}n4y |j}Wn"tk rHt|dYnX|}|dkrbt|j}t|j|jkrvdStt|j|j|}|j|j|}||_t |S)Nzread from closed filerz is not an integerr) rer!rpr,rr rrrkr)rDrmrtZnewposrr?r?r@rrms"  z BytesIO.readcCs ||S)N)rr)rDrmr?r?r@rsz BytesIO.read1c Cs|jrtdt|tr tdt| }|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!rrrrnbytesrr r)rDrZviewrlrVZpaddingr?r?r@rs  z BytesIO.writercCs|jrtdy |j}Wn"tk r:t|dYnX|}|dkrh|dkr`td|f||_nD|dkrtd|j||_n(|dkrtdt|j||_ntd|jS)Nzseek on closed filez is not an integerrznegative seek position %rr r zunsupported whence value) rer!rpr,rrmaxr r)rDrVrW pos_indexr?r?r@rUs" z BytesIO.seekcCs|jrtd|jS)Nztell on closed file)rer!r)rDr?r?r@rXsz BytesIO.tellcCsx|jrtd|dkr|j}nJy |j}Wn"tk rJt|dYnX|}|dkrhtd|f|j|d=|S)Nztruncate on closed filez is not an integerrznegative truncate position %r)rer!rrpr,rr)rDrVrr?r?r@rYs  zBytesIO.truncatecCs|jrtddS)NzI/O operation on closed file.T)rer!)rDr?r?r@raszBytesIO.readablecCs|jrtddS)NzI/O operation on closed file.T)rer!)rDr?r?r@rcszBytesIO.writablecCs|jrtddS)NzI/O operation on closed file.T)rer!)rDr?r?r@r^szBytesIO.seekable)N)r)r)r)N)rHrIrJrrrrrr2rrrrrUrXrYrarcr^ __classcell__r?r?)rRr@rFs      rc@steZdZefddZddZddZddd Zdd d Zdd dZ dddZ dddZ ddZ ddZ dddZdS) r/cCsF|stdt|||dkr,td||_|t|_dS)Nz "raw" argument must be readable.rzinvalid buffer size) rar+rrr! buffer_size_reset_read_bufLock _read_lock)rDr:rr?r?r@rs zBufferedReader.__init__cCs |jS)N)r:ra)rDr?r?r@raszBufferedReader.readablecCsd|_d|_dS)Nrr) _read_buf _read_pos)rDr?r?r@rszBufferedReader._reset_read_bufNc Cs4|dk r|dkrtd|j ||SQRXdS)Nrzinvalid number of bytes to read)r!r_read_unlocked)rDrmr?r?r@rrszBufferedReader.readc Csd}d}|j}|j}|dks$|dkr|t|jdrj|j}|dkrZ||dpXdS||d|S||dg}d}x2|j}||kr|}P|t|7}||q~Wd |p|St||} || kr|j|7_||||S||dg}t |j |} xB| |krL|j| }||kr2|}P| t|7} ||q Wt || }d |} | |d|_d|_| r| d|S|S)Nr)rNrrr) rrrror:rrrr r|joinrrrk) rDrlZ nodata_valZ empty_valuesrrVchunkZchunksZ current_sizeavailZwantedoutr?r?r@rsN            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|jdS)Nr)rkrr rrr:rr)rDrlZwantZhaveZto_readZcurrentr?r?r@r?s   zBufferedReader._peek_unlockedrc CsR|dkr|j}|dkrdS|j(|d|t|t|j|jSQRXdS)Nrrr )rrrrrkr rr)rDrmr?r?r@rJs zBufferedReader.read1c Cst|tst|}|jdkr dS|d}d}|jx|t|krtt|j|jt|}|r|j|j|j|||||<|j|7_||7}|t|krPt|||j kr|j ||d}|sP||7}n|r|s| dsP|r8|r8Pq8WWdQRX|S)Nrrr ) rrrrrr rkrrrr:rr)rDrrwrittenrrlr?r?r@r\s4   "   zBufferedReader._readintocCst|t|j|jS)N)rrXr rr)rDr?r?r@rXszBufferedReader.tellc CsX|tkrtd|j8|dkr4|t|j|j8}t|||}||SQRXdS)Nzinvalid whence valuer ) valid_seek_flagsr!rr rrrrUr)rDrVrWr?r?r@rUszBufferedReader.seek)N)N)r)r)r)r)rHrIrJr'rrarrrrrhrrrrXrUr?r?r?r@r/s  4 .r/c@s\eZdZefddZddZddZddd Zd d Zd d Z ddZ dddZ ddZ dS)r.cCsF|stdt|||dkr,td||_t|_t|_ dS)Nz "raw" argument must be writable.rzinvalid buffer size) rcr+rrr!rrq _write_bufr _write_lock)rDr:rr?r?r@rs zBufferedWriter.__init__cCs |jS)N)r:rc)rDr?r?r@rcszBufferedWriter.writablec Cst|trtd|j|jr(tdt|j|jkr@| t|j}|j |t|j|}t|j|jkry | Wnlt k r}zNt|j|jkrt|j|j}||8}|jd|j|_t |j |j |Wdd}~XYnX|SQRXdS)Nz can't write str to binary streamzwrite to closed file)rrrrrer!r rr_flush_unlockedextendBlockingIOErrorerrnostrerror)rDrZbeforereZoverager?r?r@rs(    "zBufferedWriter.writeNc Cs8|j(||dkr"|j}|j|SQRXdS)N)rrr:rXrY)rDrVr?r?r@rYs  zBufferedWriter.truncatec Cs|j|WdQRXdS)N)rr)rDr?r?r@r[szBufferedWriter.flushcCs|jrtdxz|jry|j|j}Wntk rDtdYnX|dkr\ttjdd|t |jksr|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!rr:rr RuntimeErrorrZEAGAINr r+)rDrlr?r?r@rszBufferedWriter._flush_unlockedcCst|t|jS)N)rrXr r)rDr?r?r@rXszBufferedWriter.tellrc Cs8|tkrtd|j|t|||SQRXdS)Nzinvalid whence value)rr!rrrrU)rDrVrWr?r?r@rUs zBufferedWriter.seekcCsV|j|jdks|jrdSWdQRXz |Wd|j|jWdQRXXdS)N)rr:rer[r2)rDr?r?r@r2s zBufferedWriter.close)N)r) rHrIrJr'rrcrrYr[rrXrUr2r?r?r?r@r.s   r.c@seZdZefddZdddZddZdd Zdd d Zd d dZ ddZ ddZ ddZ ddZ ddZddZeddZdS)!BufferedRWPaircCs<|std|s tdt|||_t|||_dS)Nz#"reader" argument must be readable.z#"writer" argument must be writable.)rar+rcr/readerr.writer)rDrrrr?r?r@rs  zBufferedRWPair.__init__rcCs|dkr d}|j|S)Nr)rrr)rDrmr?r?r@rrszBufferedRWPair.readcCs |j|S)N)rr)rDrr?r?r@r#szBufferedRWPair.readintocCs |j|S)N)rr)rDrr?r?r@r&szBufferedRWPair.writercCs |j|S)N)rrh)rDrmr?r?r@rh)szBufferedRWPair.peekcCs |j|S)N)rr)rDrmr?r?r@r,szBufferedRWPair.read1cCs |j|S)N)rr)rDrr?r?r@r/szBufferedRWPair.readinto1cCs |jS)N)rra)rDr?r?r@ra2szBufferedRWPair.readablecCs |jS)N)rrc)rDr?r?r@rc5szBufferedRWPair.writablecCs |jS)N)rr[)rDr?r?r@r[8szBufferedRWPair.flushcCs z|jWd|jXdS)N)rr2r)rDr?r?r@r2;szBufferedRWPair.closecCs|jp|jS)N)rr&r)rDr?r?r@r&AszBufferedRWPair.isattycCs|jjS)N)rre)rDr?r?r@reDszBufferedRWPair.closedN)r)r)r)rHrIrJr'rrrrrrhrrrarcr[r2r&rrer?r?r?r@rs    rc@sjeZdZefddZdddZddZdd d Zdd d Zd dZ dddZ dddZ ddZ ddZ dS)r-cCs(|t|||t|||dS)N)r`r/rr.)rDr:rr?r?r@rRszBufferedRandom.__init__rc Cs|tkrtd||jrJ|j |j|jt|jdWdQRX|j||}|j| WdQRX|dkrt d|S)Nzinvalid whence valuer rz seek() returned invalid position) rr!r[rrr:rUrr rr+)rDrVrWr?r?r@rUWs$zBufferedRandom.seekcCs|jrt|St|SdS)N)rr.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@rzszBufferedRandom.readintocCs|t||S)N)r[r/rh)rDrmr?r?r@rh~szBufferedRandom.peekrcCs|t||S)N)r[r/r)rDrmr?r?r@rszBufferedRandom.read1cCs|t||S)N)r[r/r)rDrr?r?r@rszBufferedRandom.readinto1c CsF|jr:|j(|j|jt|jd|WdQRXt||S)Nr ) rrr:rUrr rr.r)rDrr?r?r@rs zBufferedRandom.write)r)N)N)r)r)rHrIrJr'rrUrXrYrrrrhrrrr?r?r?r@r-Is      r-cseZdZdZdZdZdZdZdZdZ d0ddZ dd Z d d Z d d Z ddZd1ddZd2ddZddZddZddZefddZddZd3ddZfd 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|jWdd|_Xt|trsz"FileIO.__init__..r rzKMust have exactly one of create/read/write/append mode and at most one plusrTr rrO_BINARYZ O_NOINHERIT O_CLOEXECz'Cannot use closefd=False with file nameizexpected integer from openerzNegative file descriptorFr*)-_fd_closefdrr2rfloatrrr!rrsumcount_created _writableO_EXCLO_CREAT _readableO_TRUNC _appendingO_APPENDO_RDWRO_RDONLYO_WRONLYgetattrrAr+set_inheritabler(statS_ISDIRst_modeIsADirectoryErrorrZEISDIRrr,_blksizer'_setmoderrSlseekr ZESPIPE) rDr3r1r8rfdflagsZnoinherit_flagZowned_fdZfdfstatrr?r?r@rs     $                   zFileIO.__init__cCsB|jdkr>|jr>|js>ddl}|jd|ftd|d|dS)Nrzunclosed file %rr ) stacklevelsource)rrrer"r#ResourceWarningr2)rDr"r?r?r@r]s  zFileIO.__del__cCstd|jjdS)Nzcannot serialize '%s' object)rrRrH)rDr?r?r@rszFileIO.__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,rr1r)rD class_namerSr?r?r@rs  zFileIO.__repr__cCs|jstddS)NzFile not open for reading)rrP)rDr?r?r@rb-szFileIO._checkReadablecCs|jstddS)NzFile not open for writing)rrP)rDr_r?r?r@rd1szFileIO._checkWritablecCsP|||dks |dkr(|Syt|j|Stk rJdSXdS)Nr)rZrbrrrrrr)rDrmr?r?r@rr5sz FileIO.readcCs||t}y6t|jdt}t|jj}||krH||d}Wnt k r^YnXt }xnt ||krt |}|t |t7}|t |}yt |j|}Wntk r|rPdSX|sP||7}qhWt|S)Nrr )rZrbr'rrrrr(st_sizer+rqr rrrrr)rDbufsizerVendr;rlrr?r?r@rEs4   zFileIO.readallcCs4t|d}|t|}t|}||d|<|S)Nr)rrrrr )rDrmrrlr?r?r@rhs  zFileIO.readintocCs8||yt|j|Stk r2dSXdS)N)rZrdrrrr)rDrr?r?r@rps z FileIO.writecCs*t|trtd|t|j||S)Nzan integer is required)rrrrZrrr)rDrVrWr?r?r@rU~s z FileIO.seekcCs|t|jdtS)Nr)rZrrrr)rDr?r?r@rXsz FileIO.tellcCs2|||dkr |}t|j||S)N)rZrdrXr ftruncater)rDrmr?r?r@rYs zFileIO.truncatecs.|js*z|jrt|jWdtXdS)N)rerrr2rr)rD)rRr?r@r2s 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@raszFileIO.readablecCs||jS)N)rZr)rDr?r?r@rcszFileIO.writablecCs||jS)N)rZr)rDr?r?r@r)sz FileIO.filenocCs|t|jS)N)rZrr&r)rDr?r?r@r&sz FileIO.isattycCs|jS)N)r)rDr?r?r@r8szFileIO.closefdcCsJ|jr|jrdSdSn0|jr,|jr&dSdSn|jrB|jrd?Z#dRd@dAZ$dBdCZ%dSdDdEZ&dTdFdGZ'dHdIZ(dUdJdKZ)e dLdMZ*dS)Vr0iNFc Cs|||dkrvyt|}Wnttfk r<YnX|dkrvy ddl}Wntk rjd}Yn X|d}t |t st d|t |jsd}t|||dkrd}nt |t st d|||_d|_d|_d|_|j|_|_t|jd |_||||||dS) NrasciiFzinvalid encoding: %rzG%r is not a text encoding; use codecs.open() to handle arbitrary codecsrzinvalid errors: %rrr)_check_newlinerdevice_encodingr)r,rPlocale ImportErrorgetpreferredencodingrrr!rlookup_is_text_encoding LookupErrorr_decoded_chars_decoded_chars_used _snapshotr>r^r_tellingro _has_read1 _configure) rDr>r5r6r7r< write_throughr r_r?r?r@rs:           zTextIOWrapper.__init__cCs>|dk r$t|ts$tdt|f|dkr:td|fdS)Nzillegal newline type: %r)Nrrrz zillegal newline value: %r)rrrtyper!)rDr7r?r?r@r szTextIOWrapper._check_newlinecCs||_||_d|_d|_d|_| |_|dk|_||_|dk|_|pHt j |_ ||_ ||_ |jr|r|j}|dkry|dWntk rYnXdS)Ngrr) _encoding_errors_encoder_decoder _b2cratio_readuniversal_readtranslate_readnl_writetranslaterlinesep_writenl_line_buffering_write_throughrrcr>rX _get_encoderrr)rDr5r6r7r<rpositionr?r?r@rs&    zTextIOWrapper._configurecCsd|jj|jj}y |j}Wntk r2YnX|d|7}y |j}Wntk r`YnX|d|7}|d|jS)Nz<{}.{}z name={0!r}z mode={0!r}z encoding={0!r}>)rrRrIrJrSrr1r5)rDr;rSr1r?r?r@rs    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|ts^td||dkrn|j}nt|tstd||tkr|j}| ||dkr|j }|dkr|j }| | |||||dS)NzPIt is not possible to set the encoding or newline of stream after the first readrzinvalid errors: %rzinvalid encoding: %r)rEllipsisrPrrrrrr!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 |jS)N)r>ra)rDr?r?r@raHszTextIOWrapper.readablecCs |jS)N)r>rc)rDr?r?r@rcKszTextIOWrapper.writablecCs|j|j|_dS)N)r>r[rr)rDr?r?r@r[Ns zTextIOWrapper.flushcCs.|jdk r*|js*z |Wd|jXdS)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 |jS)N)r>r))rDr?r?r@r)aszTextIOWrapper.filenocCs |jS)N)r>r&)rDr?r?r@r&dszTextIOWrapper.isattycCs|jrtdt|ts(td|jjt|}|js<|j oBd|k}|rf|jrf|j dkrf| d|j }|j pr| }||}|j||j r|sd|kr||dd|_|jr|j|S)Nzwrite to closed filezcan't write %s to text streamrrr)rer!rrrrRrHr r"r%r$rrr'encoder>rr[_set_decoded_charsrrr)rDrlengthZhaslfencoderrr?r?r@rgs&      zTextIOWrapper.writecCst|j}||j|_|jS)N)rgetincrementalencoderrrr)rDZ make_encoderr?r?r@r'~s  zTextIOWrapper._get_encodercCs2t|j}||j}|jr(t||j}||_|S)N)rgetincrementaldecoderrrrrr r)rDZ make_decoderrr?r?r@ _get_decoders    zTextIOWrapper._get_decodercCs||_d|_dS)Nr)rr)rDcharsr?r?r@r,sz TextIOWrapper._set_decoded_charscCsF|j}|dkr|j|d}n|j|||}|jt|7_|S)N)rrr )rDrloffsetr2r?r?r@_get_decoded_charss z TextIOWrapper._get_decoded_charscCs$|j|krtd|j|8_dS)Nz"rewind decoded_chars out of bounds)rAssertionError)rDrlr?r?r@_rewind_decoded_charss z#TextIOWrapper._rewind_decoded_charscCs|jdkrtd|jr&|j\}}|jr<|j|j}n|j|j}| }|j ||}| ||rt |t |j |_ nd|_ |jr|||f|_| S)Nz no decoderg)rr!rrrr>r _CHUNK_SIZErrrr,r rrr)rD dec_buffer dec_flags input_chunkeofZ decoded_charsr?r?r@ _read_chunks  zTextIOWrapper._read_chunkrcCs(||d>B|d>B|d>Bt|d>BS)N@)r)rDr(r9 bytes_to_feedneed_eof chars_to_skipr?r?r@ _pack_cookieszTextIOWrapper._pack_cookiecCsFt|d\}}t|d\}}t|d\}}t|d\}}|||||fS)Nl)divmod)rDZbigintrestr(r9rArBrCr?r?r@_unpack_cookies zTextIOWrapper._unpack_cookiec Cs:|jstd|jstd||j}|j}|dksF|jdkrX|j rTt d|S|j\}}|t |8}|j }|dkr| ||S|}zt|j|}d}x|dkr"|d|ft ||d|} | |kr|\} } | s| }|| 8}P|t | 8}d}q||8}|d}qWd}|d|f||} |} |dkrX| | | Sd}d}d}xt|t |D]t}|d7}|t ||||d7}|\}}|s||kr| |7} ||8}|dd} }}||krtPqtW|t |jddd 7}d}||krtd | | | |||S||XdS) Nz!underlying stream is not seekablez(telling position disabled by next() callzpending decoded textrr rr T)rz'can't reconstruct logical file position)rrPrr+r[r>rXrrrr5r rrDrrrrrrange)rDr(rr9Z next_inputrCZ saved_stateZ skip_bytesZ skip_backrlrd start_posZ start_flagsZ bytes_fedrBZ chars_decodedir8r?r?r@rXsv              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@rG s  zTextIOWrapper.detachc sfdd}jrtdjs(td|dkrL|dkr@tdd}}|dkr|dkrdtd jdd}d d_ j rj |||S|dkrtd |f|dkrtd |f |\}}}}} j|d d_ |dkr(j r(j n@j s<|s<| rhj pJ _ j d |f|d f_ | rj|} j | ||| f_ tj| krtd| _|||S)NcsHyjp}Wntk r&YnX|dkr<|dn|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 %rrz#can't restore logical file position)rer!rrPrXr[r>rUr,rrrrGr1rrrrr rr+r) rDZcookierWrLr(rJr9rArBrCr:r?)rDr@rUO s\         zTextIOWrapper.seekcCs||dkrd}n4y |j}Wn"tk rBt|dYnX|}|jpV|}|dkr||j|j dd}| dd|_ |Sd}||}x4t ||kr|s| }|||t |7}qW|SdS)Nrz is not an integerrT)rrF)rbrpr,rrr1r4rr>rrr,rr r<)rDrmrtrr;r;r?r?r@rr s*    zTextIOWrapper.readcCs(d|_|}|s$d|_|j|_t|S)NF)rrvrrrx)rDryr?r?r@rz szTextIOWrapper.__next__c Cs|jrtd|dkrd}n4y |j}Wn"tk rHt|dYnX|}|}d}|jsj|d}}xV|jr| d|}|dkr|d}Pnt |}n|j r>| d|}| d|}|dkr|dkrt |}n |d}PnP|dkr|d}Pn:||kr|d}Pn$||dkr2|d}Pn |d}Pn&| |j }|dkrd|t |j }P|dkrt ||kr|}Px| r|jrPqW|jr||7}qv|d d|_|SqvW|dkr||kr|}|t |||d|S) Nzread from closed filerz is not an integerrrr rr r)rer!rpr,rr4rr1r rjr rr!r<rr,rr6) rDrmrtrystartrVendposZnlposZcrposr?r?r@rv sv            zTextIOWrapper.readlinecCs|jr|jjSdS)N)rr)rDr?r?r@r szTextIOWrapper.newlines)NNNFF)NNNFF)N)rrrr)N)r)N)N)+rHrIrJr7rrr rrrr5r6r<rr>r)r*r^rarcr[r2rerSr)r&rr'r1r,r4r6r<rDrGrXrYrrUrrrzrvrr?r?r?r@r0sT ' #     '    * c  K  ]r0csNeZdZdfdd ZddZddZed d Zed d Zd dZ Z S)StringIOrrcsftt|jtdd|d|dkr(d|_|dk rbt|tsNtdt |j | || ddS)Nzutf-8 surrogatepass)r5r6r7Fz*initial_value must be str or None, not {0}r) rrOrrr"rrrrrrHrrU)rDZ initial_valuer7)rRr?r@r( s  zStringIO.__init__c CsL||jp|}|}|z|j|jddS||XdS)NT)r) r[rr1rrrr>rr)rDrZ old_stater?r?r@r8 szStringIO.getvaluecCs t|S)N)objectr)rDr?r?r@rB szStringIO.__repr__cCsdS)Nr?)rDr?r?r@r6G szStringIO.errorscCsdS)Nr?)rDr?r?r@r5K szStringIO.encodingcCs|ddS)Nr)rT)rDr?r?r@rO szStringIO.detach)rr) rHrIrJrrrrr6r5rrr?r?)rRr@rO! s    rO)r rNNNTN)2rabcrrrsys_threadrrplatformZmsvcrtrriorrrr rroaddr SEEK_DATAr'rrArBrKrPr,r+r!ABCMetarQregisterr_ior%rrrr/r.rr-rrrr0rOr?r?r?r@sr       T   =   g iCiIJY@ U$