ok

Mini Shell

Direktori : /opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/
Upload File :
Current File : //opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyc

�
Bu�_c!@`s�ddlmZmZmZddlmZddlmZmZddl	Z	ddl
Z
ddlmZm
Z
ddlmZddlmZmZmZmZdd	lmZdd
lmZegeD]Zejd�^q��ZegeD]Zejd�^q��ZegeD]Zejd�^q�Zeedd
g�BZdZej r�eddkr�ej!d�dks�t"�e
j#ed e$d�d�Z%ne
j#e�Z%ddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1h Z&e
j#d2�Z'iZ(d3e)fd4��YZ*d5�Z+d6e)fd7��YZ,d8e,fd9��YZ-d:e.fd;��YZ/d<e)fd=��YZ0d>e)fd?��YZ1d@�Z2dS(Ai(tabsolute_importtdivisiontunicode_literals(t	text_type(thttp_clientturllibN(tBytesIOtStringIO(twebencodingsi(tEOFtspaceCharacterstasciiLetterstasciiUppercase(t_ReparseException(t_utilsuasciit>t<u�[---Ÿ﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿񏿾񏿿񟿾񟿿񯿾񯿿񿿾񿿿򏿾򏿿򟿾򟿿򯿾򯿿򿿾򿿿󏿾󏿿󟿾󟿿󯿾󯿿󿿾󿿿􏿾􏿿]i����u]u"\uD800-\uDFFF"i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��	i��	i��
i��
i��i��i��i��i��
i��
i��i��i��i��i��i��u[	-
 -/:-@\[-`{-~]tBufferedStreamcB`sMeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(u�Buffering for streams that do not have buffering of their own

    The buffer is implemented as a list of chunks on the assumption that
    joining many strings will be slow since it is O(n**2)
    cC`s%||_g|_ddg|_dS(Ni����i(tstreamtbuffertposition(tselfR((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyt__init__:s		cC`sJd}x,|j|jd D]}|t|�7}qW||jd7}|S(Nii(RRtlen(Rtpostchunk((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyttell?s
cC`sx||j�kst�|}d}x>t|j|�|krd|t|j|�8}|d7}q'W||g|_dS(Nii(t_bufferedBytestAssertionErrorRRR(RRtoffsetti((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pytseekFscC`sp|js|j|�S|jdt|j�kr_|jdt|jd�kr_|j|�S|j|�SdS(Niii����(Rt_readStreamRRt_readFromBuffer(Rtbytes((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pytreadOs	
 
cC`s&tg|jD]}t|�^q
�S(N(tsumRR(Rtitem((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyRXscC`sL|jj|�}|jj|�|jdcd7<t|�|jd<|S(Nii(RR#RtappendRR(RR"tdata((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR [s
cC`s"|}g}|jd}|jd}x�|t|j�kr�|dkr�|dks\t�|j|}|t|�|kr�|}|||g|_n/t|�|}|t|�g|_|d7}|j||||!�||8}d}q)W|r|j|j|��ndj|�S(Niit(RRRRR&R tjoin(RR"tremainingBytestrvtbufferIndextbufferOffsettbufferedDatatbytesToRead((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR!bs&

$



(
t__name__t
__module__t__doc__RRRR#RR R!(((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR3s								cK`s�t|tj�s<t|tjj�rEt|jtj�rEt}n9t|d�rot|j	d�t
�}nt|t
�}|r�g|D]}|jd�r�|^q�}|r�td|��nt
||�St||�SdS(Nureadiu	_encodingu3Cannot set an encoding with a unicode input, set %r(t
isinstanceRtHTTPResponseRtresponsetaddbasetfptFalsethasattrR#Rtendswitht	TypeErrortHTMLUnicodeInputStreamtHTMLBinaryInputStream(tsourcetkwargst	isUnicodetxt	encodings((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pytHTMLInputStream}s	(
R<cB`s}eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d
d�Zd	�Zd
�Z
ed�Zd�ZRS(u�Provides a unicode stream of characters to the HTMLTokenizer.

    This class takes care of character encoding and removing or replacing
    incorrect byte-sequences and also provides column and line tracking.

    i(cC`s�tjsd|_n-td�dkr6|j|_n|j|_dg|_td�df|_	|j
|�|_|j�dS(u�Initialises the HTMLInputStream.

        HTMLInputStream(source, [encoding]) -> Normalized stream from source
        for use by html5lib.

        source can be either a file-object, local filename or a string.

        The optional encoding parameter must be a string that indicates
        the encoding.  If specified, that encoding will be used,
        regardless of any BOM or later declaration (such as in a meta
        element)

        u􏿿iiuutf-8ucertainN(
Rtsupports_lone_surrogatestNonetreportCharacterErrorsRtcharacterErrorsUCS4tcharacterErrorsUCS2tnewLinestlookupEncodingtcharEncodingt
openStreamt
dataStreamtreset(RR>((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�s	cC`sCd|_d|_d|_g|_d|_d|_d|_dS(Nui(Rt	chunkSizetchunkOffsetterrorstprevNumLinestprevNumColsREt_bufferedCharacter(R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyRN�s						cC`s(t|d�r|}nt|�}|S(uvProduces a file object from source.

        source can be either a file object, local filename or a string.

        uread(R9R(RR>R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyRL�s	cC`st|j}|jdd|�}|j|}|jdd|�}|dkr\|j|}n||d}||fS(Nu
ii����i(RtcountRRtrfindRS(RRRtnLinestpositionLinetlastLinePostpositionColumn((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyt	_position�s	
cC`s&|j|j�\}}|d|fS(u:Returns (line, col) of the current position in the stream.i(R[RP(Rtlinetcol((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�scC`sL|j|jkr%|j�s%tSn|j}|j|}|d|_|S(uo Read one character from the stream or queue if available. Return
            EOF when EOF is reached.
        i(RPROt	readChunkR	R(RRPtchar((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR_�s	

cC`sO|dkr|j}n|j|j�\|_|_d|_d|_d|_|jj	|�}|j
r�|j
|}d|_
n
|s�tSt|�dkr�t
|d�}|dks�d|ko�dknr�|d|_
|d }q�n|jr|j|�n|jdd	�}|jd
d	�}||_t|�|_tS(Nuiii����i
i�i��u
u
u
(REt_defaultChunkSizeR[RORRRSRRPRMR#RTR8RtordRFtreplacetTrue(RROR'tlastv((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR^�s0				
(
		cC`s:x3tttj|���D]}|jjd�qWdS(Nuinvalid-codepoint(trangeRtinvalid_unicode_retfindallRQR&(RR't_((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyRGs"cC`st}x�tj|�D]�}|r(qnt|j��}|j�}tj|||d!�r�tj|||d!�}|t	kr�|j
jd�nt}q|dkr�|dkr�|t
|�dkr�|j
jd�qt}|j
jd�qWdS(Niuinvalid-codepointi�i��i(R8RftfinditerRatgrouptstartRtisSurrogatePairtsurrogatePairToCodepointtnon_bmp_invalid_codepointsRQR&RcR(RR'tskiptmatcht	codepointRtchar_val((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyRH#s 	c
C`s}yt||f}Wn�tk
r�x&|D]}t|�dks+t�q+Wdjg|D]}dt|�^qZ�}|s�d|}ntjd|�}t||f<nXg}x�tri|j|j	|j
�}|dkr�|j
|jkr?Pq?nB|j
�}||jkr?|j|j	|j
|!�||_
Pn|j|j	|j
�|j�s�Pq�q�Wdj|�}	|	S(u� Returns a string of characters from the stream up to but not
        including any character in 'characters' or EOF. 'characters' must be
        a container that supports the 'in' method and iteration over its
        characters.
        i�uu\x%02xu^%su[%s]+N(tcharsUntilRegExtKeyErrorRaRR)tretcompileRcRpRRPREROtendR&R^(
Rt
characterstoppositetcharstctregexR+tmRwtr((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyt
charsUntil:s2

,
%		cC`so|tk	rk|jdkr=||j|_|jd7_qk|jd8_|j|j|kskt�ndS(Nii(R	RPRROR(RR_((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pytungetisN(R0R1R2R`RRNRLR[RR_RER^RGRHR8RR�(((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR<�s	 					&		/R=cB`sbeZdZd	d	d	d	ded�Zd�Zd�Zed�Zd�Z	d�Z
d�ZRS(
u�Provides a unicode stream of characters to the HTMLTokenizer.

    This class takes care of character encoding and removing or replacing
    incorrect byte-sequences and also provides column and line tracking.

    uwindows-1252cC`s�|j|�|_tj||j�d|_d|_||_||_||_||_	||_
|j|�|_|jddk	s�t�|j�dS(u�Initialises the HTMLInputStream.

        HTMLInputStream(source, [encoding]) -> Normalized stream from source
        for use by html5lib.

        source can be either a file-object, local filename or a string.

        The optional encoding parameter must be a string that indicates
        the encoding.  If specified, that encoding will be used,
        regardless of any BOM or later declaration (such as in a meta
        element)

        iidiN(RLt	rawStreamR<RtnumBytesMetatnumBytesChardettoverride_encodingttransport_encodingtsame_origin_parent_encodingtlikely_encodingtdefault_encodingtdetermineEncodingRKRERRN(RR>R�R�R�R�R�t
useChardet((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�s							cC`s3|jdjj|jd�|_tj|�dS(Niureplace(RKt
codec_infotstreamreaderR�RMR<RN(R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyRN�s"cC`s_t|d�r|}nt|�}y|j|j��Wntk
rZt|�}nX|S(uvProduces a file object from source.

        source can be either a file object, local filename or a string.

        uread(R9RRRt	ExceptionR(RR>R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyRL�s	
cC`s!|j�df}|ddk	r&|St|j�df}|ddk	rO|St|j�df}|ddk	rx|S|j�df}|ddk	r�|St|j�df}|ddk	r�|djjd�r�|St|j	�df}|ddk	r|S|r�yddl
m}Wntk
r4q�Xg}|�}x[|j
s�|jj|j�}t|t�szt�|s�Pn|j|�|j|�qGW|j�t|jd�}|jjd�|dk	r�|dfSnt|j�df}|ddk	r|Std�dfS(Nucertainiu	tentativeuutf-16(tUniversalDetectoruencodinguwindows-1252(t	detectBOMRERJR�R�tdetectEncodingMetaR�tnamet
startswithR�t%pip._vendor.chardet.universaldetectorR�tImportErrortdoneR�R#R�R3R"RR&tfeedtclosetresultRR�(RtchardetRKR�tbufferstdetectorRtencoding((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR��sR'
	


cC`s�|jddkst�t|�}|dkr5dS|jdkretd�}|dk	s�t�nr||jdkr�|jddf|_nF|jjd�|df|_|j�td|jd|f��dS(	Niucertainuutf-16beuutf-16leuutf-8iuEncoding changed from %s to %s(uutf-16beuutf-16le(	RKRRJRER�R�RRNR
(RtnewEncoding((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pytchangeEncodings
cC`s�idtj6dtj6dtj6dtj6dtj6}|jjd�}t|t	�s_t
�|j|d �}d}|s�|j|�}d}|s�|j|d �}d}q�n|r�|jj|�t
|�S|jjd	�d
Sd
S(u�Attempts to detect at BOM at the start of the stream. If
        an encoding can be determined from the BOM return the name of the
        encoding otherwise return Noneuutf-8uutf-16leuutf-16beuutf-32leuutf-32beiiiiN(tcodecstBOM_UTF8tBOM_UTF16_LEtBOM_UTF16_BEtBOM_UTF32_LEtBOM_UTF32_BER�R#R3R"RtgetRRJRE(RtbomDicttstringR�R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�s&

cC`s�|jj|j�}t|t�s*t�t|�}|jjd�|j�}|dk	r||j
dkr|td�}n|S(u9Report the encoding declared by the meta element
        iuutf-16beuutf-16leuutf-8N(uutf-16beuutf-16le(R�R#R�R3R"RtEncodingParserRtgetEncodingRER�RJ(RRtparserR�((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�3sN(R0R1R2RERcRRNRLR�R�R�R�(((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR=zs(		>		"t
EncodingBytescB`s�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
ee
e	�Zd	�Z
ee
�Zed
�Zd�Zd�Zd
�ZRS(u�String-like object with an associated position and various extra methods
    If the position is ever greater than the string length then an exception is
    raisedcC`s+t|t�st�tj||j��S(N(R3R"Rt__new__tlower(Rtvalue((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�FscC`s
d|_dS(Ni����(R[(RR�((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyRJscC`s|S(N((R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyt__iter__NscC`sS|jd}|_|t|�kr/t�n|dkrDt�n|||d!S(Nii(R[Rt
StopIterationR;(Rtp((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyt__next__Qs		cC`s
|j�S(N(R�(R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pytnextYscC`sY|j}|t|�kr$t�n|dkr9t�n|d|_}|||d!S(Nii(R[RR�R;(RR�((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pytprevious]s			cC`s+|jt|�krt�n||_dS(N(R[RR�(RR((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pytsetPositionfs	cC`s<|jt|�krt�n|jdkr4|jSdSdS(Ni(R[RR�RE(R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pytgetPositionks
	cC`s||j|jd!S(Ni(R(R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pytgetCurrentByteuscC`sc|j}xJ|t|�krU|||d!}||krH||_|S|d7}qW||_dS(uSkip past a list of charactersiN(RRR[RE(RRzR�R{((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyRozs			cC`sc|j}xJ|t|�krU|||d!}||krH||_|S|d7}qW||_dS(Ni(RRR[RE(RRzR�R{((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyt	skipUntil�s			cC`s7|j||j�}|r3|jt|�7_n|S(u�Look for a sequence of bytes at the start of a string. If the bytes
        are found return True and advance the position to the byte after the
        match. Otherwise return False and leave the position alone(R�RR(RR"R+((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyt
matchBytes�scC`sHy*|j||j�t|�d|_Wntk
rCt�nXtS(u�Look for the next sequence of bytes matching a given sequence. If
        a match is found advance the position to the last byte of the matchi(tindexRRR[t
ValueErrorR�Rc(RR"((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pytjumpTo�s
*

(R0R1R2R�RR�R�R�R�R�R�tpropertyRR�tcurrentBytetspaceCharactersBytesRoR�R�R�(((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�Bs 													R�cB`s_eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�ZRS(
u?Mini parser for detecting character encoding from meta elementscC`st|�|_d|_dS(u3string - the data to work on for encoding detectionN(R�R'RER�(RR'((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�scC`s
d|jkrdSd|jfd|jfd|jfd|jfd|jfd|jff}x�|jD]�}t}y|jjd�Wnt	k
r�PnXxR|D]J\}}|jj
|�r�y|�}PWq�t	k
r�t}Pq�Xq�q�W|skPqkqkW|jS(Ns<metas<!--s</s<!s<?R(
R'REt
handleCommentt
handleMetathandlePossibleEndTagthandleOtherthandlePossibleStartTagRcR�R�R�R8R�(RtmethodDispatchRhtkeepParsingtkeytmethod((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR��s2
	
cC`s|jjd�S(uSkip over commentss-->(R'R�(R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR��scC`sK|jjtkrtSt}d}x"trF|j�}|dkrGtS|ddkr�|ddk}|rC|dk	rC||_tSq%|ddkr�|d}t|�}|dk	rC||_tSq%|ddkr%t	t
|d��}|j�}|dk	rCt|�}|dk	r@|r4||_tS|}q@qCq%q%WdS(Nis
http-equiviscontent-typetcharsettcontent(R'R�R�RcR8REtgetAttributeR�RJtContentAttrParserR�tparse(Rt	hasPragmatpendingEncodingtattrttentativeEncodingtcodect
contentParser((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR��s:		
		cC`s
|jt�S(N(thandlePossibleTagR8(R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR��scC`st|j�|jt�S(N(R�R'R�Rc(R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR��s
cC`s�|j}|jtkr9|r5|j�|j�ntS|jt�}|dkra|j�n+|j�}x|dk	r�|j�}qpWtS(NR(
R'R�tasciiLettersBytesR�R�RcR�tspacesAngleBracketsR�RE(RtendTagR'R{R�((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR��s	


cC`s|jjd�S(NR(R'R�(R((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�scC`s�|j}|jttdg�B�}|dksIt|�dksIt�|d	krYdSg}g}x�tr
|dkr�|r�Pnz|tkr�|j�}Pn^|d
kr�dj|�dfS|t	kr�|j
|j��n|dkr�dS|j
|�t|�}qhW|dkr7|j
�dj|�dfSt|�|j�}|dkr�|}x�tr�t|�}||kr�t|�dj|�dj|�fS|t	kr�|j
|j��qb|j
|�qbWn^|dkr�dj|�dfS|t	kr|j
|j��n|dkr-dS|j
|�x}tr�t|�}|tkrwdj|�dj|�fS|t	kr�|j
|j��q=|dkr�dS|j
|�q=WdS(u_Return a name,value pair for the next attribute in the stream,
        if one is found, or Nonet/iRt=R(t't"N(RN(R�R(R�R�(R'RoR�t	frozensetRERRRcR)tasciiUppercaseBytesR&R�R�R�R�(RR'R{tattrNamet	attrValuet	quoteChar((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�sh	$	


	

	(R0R1R2RR�R�R�R�R�R�R�R�(((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR��s				$				R�cB`seZd�Zd�ZRS(cC`s"t|t�st�||_dS(N(R3R"RR'(RR'((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyRascC`s:y!|jjd�|jjd7_|jj�|jjdksHdS|jjd7_|jj�|jjdkr�|jj}|jjd7_|jj}|jj|�r�|j||jj!SdSnP|jj}y(|jjt�|j||jj!SWntk
r|j|SXWntk
r5dSXdS(NR�iR�R�R�(R�R�(	R'R�RRoR�RER�R�R�(Rt	quoteMarktoldPosition((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�es.



(R0R1RR�(((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyR�`s	cC`swt|t�r:y|jd�}Wq:tk
r6dSXn|dk	roytj|�SWqstk
rkdSXndSdS(u{Return the python codec name corresponding to an encoding or None if the
    string doesn't correspond to a valid encoding.uasciiN(R3R"tdecodetUnicodeDecodeErrorRERtlookuptAttributeError(R�((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyRJ�s

(3t
__future__RRRtpip._vendor.sixRtpip._vendor.six.movesRRR�RutioRRtpip._vendorRt	constantsR	R
RRR
R(RR�R%tencodeR�R�R�R�tinvalid_unicode_no_surrogateRDRURRvtevalRfRntascii_punctuation_reRstobjectRRCR<R=R"R�R�R�RJ(((sR/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.pyt<module>sJ"(((	+
J	��b�'

Zerion Mini Shell 1.0