3 \���:@s�ddlZddlZy ddlTWn.ek rJZzede��WYddZ[XnXdddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/g,Zd0Zd1ZZ d2Z Z d3Z d4Z ejd5kr�e ZZe Zn e ZZe Ze Ze Ze Ze ZGd6d�de�ZGd7d�d�ZGd8d�de�ZGd9d:�d:e�ZGd;d�de�ZGdd�de�ZGd?d�de�ZGd@d�d�Z GdAd�d�Z!d[dEd�Z"d\dFd�Z#dGd�Z$dHd�Z%dId �Z&dJd!�Z'dKd"�Z(dLd#�Z)d]dMd&�Z*d^dNd'�Z+dOdP�Z,dQdR�Z-y4e.dC�Z/e.dS�Z0e.dT�Z1e.dU�Z2e.dV�Z3e.dW�Z4Wn.e5k �r\dZ/dZ0dZ1dZ2dZ3dZ4YnXdZ6e6�rpddl7Z7e8dXk�r�e#ej9dYdZ�e_9e#ej:dZdY�e_:dS)_�N)�*z%Failed to load the builtin codecs: %s�register�lookup�open� EncodedFile�BOM�BOM_BE�BOM_LE�BOM32_BE�BOM32_LE�BOM64_BE�BOM64_LE�BOM_UTF8� BOM_UTF16� BOM_UTF16_LE� BOM_UTF16_BE� BOM_UTF32� BOM_UTF32_LE� BOM_UTF32_BE� CodecInfo�Codec�IncrementalEncoder�IncrementalDecoder� StreamReader� StreamWriter�StreamReaderWriter� StreamRecoder� getencoder� getdecoder�getincrementalencoder�getincrementaldecoder� getreader� getwriter�encode�decode� iterencode� iterdecode� strict_errors� ignore_errors�replace_errors�xmlcharrefreplace_errors�backslashreplace_errors�namereplace_errors�register_error� lookup_errorss��s��s��s���littlec@s(eZdZdZddd�dd�Zdd�ZdS) rTN)�_is_text_encodingc CsPtj|||||f�} || _|| _|| _|| _|| _|| _|| _|dk rL|| _ | S)N) �tuple�__new__�namer#r$�incrementalencoder�incrementaldecoder� streamwriter� streamreaderr0) �clsr#r$r7r6r4r5r3r0�self�r:�/usr/lib64/python3.6/codecs.pyr2]szCodecInfo.__new__cCsd|jj|jj|jt|�fS)Nz%<%s.%s object for encoding %s at %#x>)� __class__� __module__� __qualname__r3�id)r9r:r:r;�__repr__ls zCodecInfo.__repr__)NNNNN)�__name__r=r>r0r2r@r:r:r:r;rRs   c@s eZdZddd�Zddd�ZdS) r�strictcCst�dS)N)�NotImplementedError)r9�input�errorsr:r:r;r#�sz Codec.encodecCst�dS)N)rC)r9rDrEr:r:r;r$�sz Codec.decodeN)rB)rB)rAr=r>r#r$r:r:r:r;rqs c@s8eZdZddd�Zddd�Zdd�Zd d �Zd d �Zd S)rrBcCs||_d|_dS)N�)rE�buffer)r9rEr:r:r;�__init__�szIncrementalEncoder.__init__FcCst�dS)N)rC)r9rD�finalr:r:r;r#�szIncrementalEncoder.encodecCsdS)Nr:)r9r:r:r;�reset�szIncrementalEncoder.resetcCsdS)Nrr:)r9r:r:r;�getstate�szIncrementalEncoder.getstatecCsdS)Nr:)r9�stater:r:r;�setstate�szIncrementalEncoder.setstateN)rB)F)rAr=r>rHr#rJrKrMr:r:r:r;r�s  c@s@eZdZddd�Zdd�Zddd�Zd d �Zd d �Zd d�ZdS)�BufferedIncrementalEncoderrBcCstj||�d|_dS)NrF)rrHrG)r9rEr:r:r;rH�s z#BufferedIncrementalEncoder.__init__cCst�dS)N)rC)r9rDrErIr:r:r;�_buffer_encode�sz)BufferedIncrementalEncoder._buffer_encodeFcCs0|j|}|j||j|�\}}||d�|_|S)N)rGrOrE)r9rDrI�data�result�consumedr:r:r;r#�s z!BufferedIncrementalEncoder.encodecCstj|�d|_dS)NrF)rrJrG)r9r:r:r;rJ�s z BufferedIncrementalEncoder.resetcCs |jpdS)Nr)rG)r9r:r:r;rK�sz#BufferedIncrementalEncoder.getstatecCs|pd|_dS)NrF)rG)r9rLr:r:r;rM�sz#BufferedIncrementalEncoder.setstateN)rB)F) rAr=r>rHrOr#rJrKrMr:r:r:r;rN�s   rNc@s8eZdZddd�Zddd�Zdd�Zd d �Zd d �Zd S)rrBcCs ||_dS)N)rE)r9rEr:r:r;rHszIncrementalDecoder.__init__FcCst�dS)N)rC)r9rDrIr:r:r;r$ szIncrementalDecoder.decodecCsdS)Nr:)r9r:r:r;rJszIncrementalDecoder.resetcCsdS)N�r)rSrr:)r9r:r:r;rKs zIncrementalDecoder.getstatecCsdS)Nr:)r9rLr:r:r;rM&szIncrementalDecoder.setstateN)rB)F)rAr=r>rHr$rJrKrMr:r:r:r;r�s  c@s@eZdZddd�Zdd�Zddd�Zd d �Zd d �Zd d�ZdS)�BufferedIncrementalDecoderrBcCstj||�d|_dS)NrS)rrHrG)r9rEr:r:r;rH4s z#BufferedIncrementalDecoder.__init__cCst�dS)N)rC)r9rDrErIr:r:r;�_buffer_decode9sz)BufferedIncrementalDecoder._buffer_decodeFcCs0|j|}|j||j|�\}}||d�|_|S)N)rGrUrE)r9rDrIrPrQrRr:r:r;r$>s z!BufferedIncrementalDecoder.decodecCstj|�d|_dS)NrS)rrJrG)r9r:r:r;rJFs z BufferedIncrementalDecoder.resetcCs |jdfS)Nr)rG)r9r:r:r;rKJsz#BufferedIncrementalDecoder.getstatecCs|d|_dS)Nr)rG)r9rLr:r:r;rMNsz#BufferedIncrementalDecoder.setstateN)rB)F) rAr=r>rHrUr$rJrKrMr:r:r:r;rT.s   rTc@sTeZdZddd�Zdd�Zdd�Zdd �Zdd d �Zefd d�Z dd�Z dd�Z dS)rrBcCs||_||_dS)N)�streamrE)r9rVrEr:r:r;rH[szStreamWriter.__init__cCs"|j||j�\}}|jj|�dS)N)r#rErV�write)r9�objectrPrRr:r:r;rWtszStreamWriter.writecCs|jdj|��dS)NrF)rW�join)r9�listr:r:r;� writelines{szStreamWriter.writelinescCsdS)Nr:)r9r:r:r;rJ�s zStreamWriter.resetrcCs*|jj||�|dkr&|dkr&|j�dS)Nr)rV�seekrJ)r9�offset�whencer:r:r;r\�szStreamWriter.seekcCs ||j|�S)N)rV)r9r3�getattrr:r:r;� __getattr__�szStreamWriter.__getattr__cCs|S)Nr:)r9r:r:r;� __enter__�szStreamWriter.__enter__cCs|jj�dS)N)rV�close)r9�type�value�tbr:r:r;�__exit__�szStreamWriter.__exit__N)rB)r) rAr=r>rHrWr[rJr\r_r`rarfr:r:r:r;rYs   c@s�eZdZeZddd�Zd dd�Zd#dd �Zd$d d �Zd%dd�Z dd�Z d&dd�Z dd�Z dd�Z efdd�Zdd�Zdd�Zd S)'rrBcCs.||_||_d|_|j�|_|j|_d|_dS)NrS)rVrE� bytebuffer�charbuffertype�_empty_charbuffer� charbuffer� linebuffer)r9rVrEr:r:r;rH�s  zStreamReader.__init__cCst�dS)N)rC)r9rDrEr:r:r;r$�szStreamReader.decode�Fc CsL|jr|jj|j�|_d|_|dkr(|}x�|dkrBt|j�|krBP|dkrV|jj�}n |jj|�}|j|}|srPy|j||j �\}}Wn`t k r�}zD|r�|j|d|j �|j �\}}|j dd�} t| �dkr؂n�WYdd}~XnX||d�|_|j|7_|s*Pq*W|dk�r*|j} |j|_n|jd|�} |j|d�|_| S)NrT)�keependsrl) rkrirYrj�lenrV�readrgr$rE�UnicodeDecodeError�start� splitlines) r9�size�chars� firstline�newdatarP�newchars� decodedbytes�exc�linesrQr:r:r;ro�sD       zStreamReader.readNTc Cs�|jrP|jd}|jd=t|j�dkr8|jd|_d|_|sL|jdd�d}|S|pVd}|j}�xr|j|dd�}|r�t|t�r�|jd�s�t|t �r�|jd �r�||jddd �7}||7}|jdd�}|�r�t|�dk�r:|d}|d=t|�dk�r|d |j7<||_d|_n|d|j|_|�s8|jdd�d}P|d}|djdd�d}||k�r�|jj |dd��|j|_|�r�|}n|}P| �s�|dk �r�|�r�| �r�|jdd�d}P|d krb|d 9}qbW|S)NrrlF)rm�HT)ru� � )rsrti@������) rkrnrjrrriro� isinstance�str�endswith�bytesrY) r9rsrm�line�readsizerPrz� line0withend�line0withoutendr:r:r;�readlines^       zStreamReader.readlinecCs|j�}|j|�S)N)rorr)r9�sizehintrmrPr:r:r;� readlines]s zStreamReader.readlinescCsd|_|j|_d|_dS)NrS)rgrirjrk)r9r:r:r;rJls zStreamReader.resetrcCs|jj||�|j�dS)N)rVr\rJ)r9r]r^r:r:r;r\yszStreamReader.seekcCs|j�}|r|St�dS)N)r�� StopIteration)r9r�r:r:r;�__next__�szStreamReader.__next__cCs|S)Nr:)r9r:r:r;�__iter__�szStreamReader.__iter__cCs ||j|�S)N)rV)r9r3r_r:r:r;r`�szStreamReader.__getattr__cCs|S)Nr:)r9r:r:r;ra�szStreamReader.__enter__cCs|jj�dS)N)rVrb)r9rcrdrer:r:r;rf�szStreamReader.__exit__)rB)rBrr)rrF)NT)NT)r)rAr=r>r�rhrHr$ror�r�rJr\r�r�r_r`rarfr:r:r:r;r�s   P K   c@s�eZdZdZd dd�Zd"dd�Zd#d d �Zd$d d �Zd d�Zdd�Z dd�Z dd�Z dd�Z d%dd�Z efdd�Zdd�Zdd�ZdS)&r�unknownrBcCs(||_|||�|_|||�|_||_dS)N)rV�reader�writerrE)r9rV�Reader�WriterrEr:r:r;rH�s   zStreamReaderWriter.__init__rlcCs |jj|�S)N)r�ro)r9rsr:r:r;ro�szStreamReaderWriter.readNcCs |jj|�S)N)r�r�)r9rsr:r:r;r��szStreamReaderWriter.readlinecCs |jj|�S)N)r�r�)r9r�r:r:r;r��szStreamReaderWriter.readlinescCs t|j�S)N)�nextr�)r9r:r:r;r��szStreamReaderWriter.__next__cCs|S)Nr:)r9r:r:r;r��szStreamReaderWriter.__iter__cCs |jj|�S)N)r�rW)r9rPr:r:r;rW�szStreamReaderWriter.writecCs |jj|�S)N)r�r[)r9rZr:r:r;r[�szStreamReaderWriter.writelinescCs|jj�|jj�dS)N)r�rJr�)r9r:r:r;rJ�s zStreamReaderWriter.resetrcCs6|jj||�|jj�|dkr2|dkr2|jj�dS)Nr)rVr\r�rJr�)r9r]r^r:r:r;r\�s zStreamReaderWriter.seekcCs ||j|�S)N)rV)r9r3r_r:r:r;r`�szStreamReaderWriter.__getattr__cCs|S)Nr:)r9r:r:r;ra�szStreamReaderWriter.__enter__cCs|jj�dS)N)rVrb)r9rcrdrer:r:r;rf�szStreamReaderWriter.__exit__)rBr)r)N)N)r)rAr=r>�encodingrHror�r�r�r�rWr[rJr\r_r`rarfr:r:r:r;r�s       c@s�eZdZdZdZddd�Zddd�Zd d d �Zd!d d �Zd d�Z dd�Z dd�Z dd�Z dd�Z efdd�Zdd�Zdd�ZdS)"rr�rBcCs4||_||_||_|||�|_|||�|_||_dS)N)rVr#r$r�r�rE)r9rVr#r$r�r�rEr:r:r;rHs   zStreamRecoder.__init__rlcCs"|jj|�}|j||j�\}}|S)N)r�ror#rE)r9rsrP� bytesencodedr:r:r;ro"s zStreamRecoder.readNcCs6|dkr|jj�}n |jj|�}|j||j�\}}|S)N)r�r�r#rE)r9rsrPr�r:r:r;r�(s   zStreamRecoder.readlinecCs(|jj�}|j||j�\}}|jdd�S)NT)rm)r�ror#rErr)r9r�rPr�r:r:r;r�1s zStreamRecoder.readlinescCs t|j�}|j||j�\}}|S)N)r�r�r#rE)r9rPr�r:r:r;r�7s zStreamRecoder.__next__cCs|S)Nr:)r9r:r:r;r�>szStreamRecoder.__iter__cCs|j||j�\}}|jj|�S)N)r$rEr�rW)r9rP� bytesdecodedr:r:r;rWAszStreamRecoder.writecCs(dj|�}|j||j�\}}|jj|�S)NrF)rYr$rEr�rW)r9rZrPr�r:r:r;r[Fs zStreamRecoder.writelinescCs|jj�|jj�dS)N)r�rJr�)r9r:r:r;rJLs zStreamRecoder.resetcCs ||j|�S)N)rV)r9r3r_r:r:r;r`QszStreamRecoder.__getattr__cCs|S)Nr:)r9r:r:r;raXszStreamRecoder.__enter__cCs|jj�dS)N)rVrb)r9rcrdrer:r:r;rf[szStreamRecoder.__exit__)rBr)r)N)N)rAr=r>� data_encoding� file_encodingrHror�r�r�r�rWr[rJr_r`rarfr:r:r:r;r�s    �rrBrlcCsV|dk rd|kr|d}tj|||�}|dkr2|St|�}t||j|j|�}||_|S)N�b)�builtinsrrrr7r6r�)�filename�moder�rE� buffering�file�info�srwr:r:r;r`scCsF|dkr |}t|�}t|�}t||j|j|j|j|�}||_||_|S)N)rrr#r$r7r6r�r�)r�r�r�rE� data_info� file_info�srr:r:r;r�s cCs t|�jS)N)rr#)r�r:r:r;r�scCs t|�jS)N)rr$)r�r:r:r;r�scCst|�j}|dkrt|��|S)N)rr4� LookupError)r��encoderr:r:r;r�s cCst|�j}|dkrt|��|S)N)rr5r�)r��decoderr:r:r;r �s cCs t|�jS)N)rr7)r�r:r:r;r!�scCs t|�jS)N)rr6)r�r:r:r;r"�scksLt|�|f|�}x |D]}|j|�}|r|VqW|jdd�}|rH|VdS)NrFT)rr#)�iteratorr�rE�kwargsr�rD�outputr:r:r;r%�s     cksLt|�|f|�}x |D]}|j|�}|r|VqW|jdd�}|rH|VdS)NrST)r r$)r�r�rEr�r�rDr�r:r:r;r&s     cCsdd�|D�S)NcSsi|] }||�qSr:r:)�.0�ir:r:r;� "sz&make_identity_dict..r:)�rngr:r:r;�make_identity_dictsr�cCs8i}x.|j�D]"\}}||kr(|||<qd||<qW|S)N)�items)� decoding_map�m�k�vr:r:r;�make_encoding_map$s   r��ignore�replace�xmlcharrefreplace�backslashreplace� namereplace�__main__zlatin-1zutf-8)r�NrBrl)NrB)rB)rB);r��sys�_codecs� ImportErrorZwhy� SystemError�__all__rr rrrrr� byteorderrrrr r r r r1rrrXrrNrrTrrrrrrrrrr r!r"r%r&r�r�r.r'r(r)r*r+r,r��_falseZ encodingsrA�stdout�stdinr:r:r:r;� s�     B("1+IzWn * &