
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
ó
•�abc           @` s½  d  d l  m Z m Z m Z d  d l m Z m Z m Z d  d l Z y d  d l	 m
 Z
 Wn! e k
 r{ d  d l m
 Z
 n Xd d l m Z d d l m Z d d l m Z d d	 l m Z d d
 l m Z d d l m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m  Z! m" Z" m# Z# m$ Z$ m% Z% d e& d „ Z' d d e& d „ Z( d „  Z) d e* f d „  ƒ  YZ+ e j, d „  ƒ Z- d „  Z. d e/ e0 d „ Z1 d e2 f d „  ƒ  YZ3 d S(   i    (   t   absolute_importt   divisiont   unicode_literals(   t   with_metaclasst   viewkeyst   PY3N(   t   OrderedDicti   (   t   _inputstream(   t
   _tokenizer(   t   treebuilders(   t   Marker(   t   _utils(   t   spaceCharacterst   asciiUpper2Lowert   specialElementst   headingElementst   cdataElementst   rcdataElementst
   tokenTypest   tagTokenTypest
   namespacest   htmlIntegrationPointElementst"   mathmlTextIntegrationPointElementst   adjustForeignAttributest   adjustMathMLAttributest   adjustSVGAttributest   Et   ReparseExceptionu   etreec         K` s1   t  j | ƒ } t | d | ƒ} | j |  | � S(   u.   Parse a string or file-like object into a treet   namespaceHTMLElements(   R	   t   getTreeBuildert
   HTMLParsert   parse(   t   doct   treebuilderR   t   kwargst   tbt   p(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR      s    u   divc         K` s7   t  j | ƒ } t | d | ƒ} | j |  d | | �S(   NR   t	   container(   R	   R   R   t   parseFragment(   R    R%   R!   R   R"   R#   R$   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR&   &   s    c         ` s    d t  f ‡  f d †  ƒ  Y} | S(   Nt	   Decoratedc           ` s   e  Z ‡  f d  †  Z RS(   c         ` s^   xE | j  ƒ  D]7 \ } } t | t j ƒ r: ˆ  | ƒ } n  | | | <q Wt j |  | | | ƒ S(   N(   t   itemst
   isinstancet   typest   FunctionTypet   typet   __new__(   t   metat	   classnamet   basest	   classDictt   attributeNamet	   attribute(   t   function(    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR-   .   s
    (   t   __name__t
   __module__R-   (    (   R4   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR'   -   s   (   R,   (   R4   R'   (    (   R4   sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   method_decorator_metaclass,   s    R   c           B` sÑ   e  Z d  Z d e e e d „ Z e d e d „ Z d „  Z e	 d „  ƒ Z
 d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   uZ   HTML parser. Generates a tree structure from a stream of (possibly
        malformed) HTMLc         C` s‰   | |  _  | d k r' t j d ƒ } n  | | ƒ |  _ g  |  _ t g  t | ƒ j ƒ  D]$ \ } } | | |  |  j ƒ f ^ qU ƒ |  _	 d S(   u  
        strict - raise an exception when a parse error is encountered

        tree - a treebuilder class controlling the type of tree that will be
        returned. Built in treebuilders can be accessed through
        html5lib.treebuilders.getTreeBuilder(treeType)
        u   etreeN(
   t   strictt   NoneR	   R   t   treet   errorst   dictt	   getPhasesR(   t   phases(   t   selfR:   R8   R   t   debugt   namet   cls(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   __init__<   s    
		u   divc         K` sz   | |  _  | |  _ | |  _ t j | d |  | �|  _ |  j ƒ  y |  j ƒ  Wn% t k
 ru |  j ƒ  |  j ƒ  n Xd  S(   Nt   parser(	   t   innerHTMLModeR%   t	   scriptingR   t   HTMLTokenizert	   tokenizert   resett   mainLoopR   (   R?   t   streamt	   innerHTMLR%   RF   R"   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   _parseP   s    			

c         C` s  |  j  j ƒ  t |  _ g  |  _ g  |  _ d |  _ |  j râ |  j j	 ƒ  |  _
 |  j
 t k rp |  j j |  j _ nH |  j
 t k r” |  j j |  j _ n$ |  j
 d k r¸ |  j j |  j _ n  |  j d |  _ |  j j ƒ  |  j ƒ  n t |  _
 |  j d |  _ d  |  _ d  |  _ t |  _ d  S(   Nu	   no quirksu	   plaintextu
   beforeHtmlu   initial(   R:   RI   t   Falset   firstStartTagR;   t   logt
   compatModeRE   R%   t   lowerRL   R   RH   t   rcdataStatet   stateR   t   rawtextStatet   plaintextStateR>   t   phaset   insertHtmlElementt   resetInsertionModeR9   t	   lastPhaset   beforeRCDataPhaset   Truet
   framesetOK(   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRI   ^   s*    								c         C` s'   t  |  d ƒ s d S|  j j j d j S(   u”   The name of the character encoding
        that was used to decode the input stream,
        or :obj:`None` if that is not determined yet.

        u	   tokenizeri    N(   t   hasattrR9   RH   RK   t   charEncodingRA   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   documentEncoding€   s    c         C` se   | j  d k rK | j t d k rK d | j k oJ | j d j t ƒ d k S| j | j  f t k Sd  S(   Nu   annotation-xmlu   mathmlu   encodingu	   text/htmlu   application/xhtml+xml(   u	   text/htmlu   application/xhtml+xml(   RA   t	   namespaceR   t
   attributest	   translateR   R   (   R?   t   element(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   isHTMLIntegrationPoint‹   s    c         C` s   | j  | j f t k S(   N(   Ra   RA   R   (   R?   Rd   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   isMathMLTextIntegrationPoint•   s    c         C` sB  t  d } t  d } t  d } t  d } t  d } t  d } t  d } xŸ|  j ƒ  D]‘} d  }	 | }
 x=|
 d  k	 r¤|
 }	 |  j j r– |  j j d n d  } | r« | j n d  } | rÀ | j n d  } |
 d	 } | | k r|  j |
 d
 |
 j d i  ƒ ƒ d  }
 qh t	 |  j j ƒ d k sÔ| |  j j
 k sÔ|  j | ƒ rx| | k rf| d t d d g ƒ k sÔ| | | f k sÔ| t d k r°| d k r°| | k r°| d d k sÔ|  j | ƒ rà| | | | f k rà|  j } n |  j d } | | k r| j |
 ƒ }
 qh | | k r)| j |
 ƒ }
 qh | | k rG| j |
 ƒ }
 qh | | k re| j |
 ƒ }
 qh | | k rƒ| j |
 ƒ }
 qh | | k rh | j |
 ƒ }
 qh qh W| | k rS |	 d rS |	 d rS |  j d i |	 d d 6ƒ qS qS Wt } g  } xG | r=| j |  j ƒ |  j j ƒ  } | r÷|  j | k s:t ‚ q÷q÷Wd  S(   Nu
   Charactersu   SpaceCharactersu   StartTagu   EndTagu   Commentu   Doctypeu
   ParseErroriÿÿÿÿu   typeu   datau   datavarsi    u   nameu   mglyphu
   malignmarku   mathmlu   annotation-xmlu   svgu   inForeignContentu   selfClosingu   selfClosingAcknowledgedu&   non-void-element-with-trailing-solidus(   R   t   normalizedTokensR9   R:   t   openElementsRa   RA   t
   parseErrort   gett   lent   defaultNamespaceRf   t	   frozensetR   Re   RW   R>   t   processCharacterst   processSpaceCharacterst   processStartTagt   processEndTagt   processCommentt   processDoctypeR\   t   appendt
   processEOFt   AssertionError(   R?   t   CharactersTokent   SpaceCharactersTokent   StartTagTokent   EndTagTokent   CommentTokent   DoctypeTokent   ParseErrorTokent   tokent
   prev_tokent	   new_tokent   currentNodet   currentNodeNamespacet   currentNodeNameR,   RW   t	   reprocessR>   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRJ   ˜   sp    






"
 			c         c` s&   x |  j  D] } |  j | ƒ Vq
 Wd  S(   N(   RH   t   normalizeToken(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRg   Û   s    c         O` s&   |  j  | t d | | Ž |  j j ƒ  S(   u²  Parse a HTML document into a well-formed tree

        stream - a filelike object or string containing the HTML to be parsed

        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)

        scripting - treat noscript elements as if javascript was turned on
        N(   RM   RN   R9   R:   t   getDocument(   R?   RK   t   argsR"   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   ß   s    c         O` s#   |  j  | t | | Ž |  j j ƒ  S(   u2  Parse a HTML fragment into a well-formed tree fragment

        container - name of the element we're setting the innerHTML property
        if set to None, default to 'div'

        stream - a filelike object or string containing the HTML to be parsed

        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)

        scripting - treat noscript elements as if javascript was turned on
        (   RM   R\   R:   t   getFragment(   R?   RK   R‡   R"   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR&   î   s    u   XXX-undefined-errorc         C` s^   | d  k r i  } n  |  j j |  j j j ƒ  | | f ƒ |  j rZ t t | | ƒ ‚ n  d  S(   N(	   R9   R;   Rt   RH   RK   t   positionR8   t
   ParseErrorR   (   R?   t	   errorcodet   datavars(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRi      s
    	%	c         C` sr   | d t  d k rn | d } t | ƒ | d <t | ƒ t | d ƒ k rn | d j | d d d … ƒ qn n  | S(   u3    HTML5 specific normalizations to the token stream u   typeu   StartTagu   dataNiÿÿÿÿ(   R   R   Rk   t   update(   R?   R~   t   raw(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR…     s    
$c         C` s   t  | t ƒ d  S(   N(   t   adjust_attributesR   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         C` s   t  | t ƒ d  S(   N(   R�   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         C` s   t  | t ƒ d  S(   N(   R�   t   adjustForeignAttributesMap(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         C` s   |  j  j ƒ  d  S(   N(   RD   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   reparseTokenNormal  s    c         C` s]  t  } i d d 6d d 6d d 6d d 6d d	 6d d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6} xß |  j j d  d  d … D]Ä } | j } d  } | |  j j d k rÔ |  j sÂ t ‚ t } |  j } n  | d k rò |  j sò t ‚ n  | r| j |  j j	 k rqˆ n  | | k r5|  j
 | | } Pqˆ | rˆ |  j
 d } Pqˆ qˆ W| |  _ d  S(   Nu   inSelectu   selectu   inCellu   tdu   thu   inRowu   tru   inTableBodyu   tbodyu   theadu   tfootu	   inCaptionu   captionu   inColumnGroupu   colgroupu   inTableu   tableu   inBodyu   headu   bodyu
   inFramesetu   framesetu
   beforeHeadu   htmliÿÿÿÿi    (   u   selectu   colgroupu   headu   html(   RN   R:   Rh   RA   R9   RL   Rv   R\   Ra   Rl   R>   RW   (   R?   t   lastt   newModest   nodet   nodeNamet	   new_phase(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRY   !  sD    
 	c         C` su   | d k s t  ‚ |  j j | ƒ | d k rC |  j j |  j _ n |  j j |  j _ |  j |  _ |  j	 d |  _ d S(   uY   Generic RCDATA/RAWTEXT Parsing algorithm
        contentType - RCDATA or RAWTEXT
        u   RAWTEXTu   RCDATAu   textN(   u   RAWTEXTu   RCDATA(
   Rv   R:   t   insertElementRH   RU   RT   RS   RW   t   originalPhaseR>   (   R?   R~   t   contentType(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   parseRCDataRawtextM  s    N(   R5   R6   t   __doc__R9   RN   R\   RC   RM   RI   t   propertyR`   Re   Rf   RJ   Rg   R   R&   Ri   R…   R   R   R   R‘   RY   Rš   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   8   s&   	"	
		C									,c         ` sT  d „  } d „  } d t  | |  | ƒ ƒ f d „  ƒ  Y‰  d ˆ  f d „  ƒ  Y} d ˆ  f d „  ƒ  Y} d	 ˆ  f ‡  f d
 †  ƒ  Y} d ˆ  f ‡  f d †  ƒ  Y} d ˆ  f ‡  f d †  ƒ  Y} d ˆ  f ‡  f d †  ƒ  Y} d ˆ  f ‡  f d †  ƒ  Y}	 d ˆ  f ‡  f d †  ƒ  Y}
 d ˆ  f ‡  f d †  ƒ  Y} d ˆ  f ‡  f d †  ƒ  Y} d ˆ  f ‡  f d †  ƒ  Y} d ˆ  f ‡  f d †  ƒ  Y} d ˆ  f ‡  f d †  ƒ  Y} d ˆ  f ‡  f d  †  ƒ  Y} d! ˆ  f ‡  f d" †  ƒ  Y} d# ˆ  f ‡  f d$ †  ƒ  Y} d% ˆ  f ‡  f d& †  ƒ  Y} d' ˆ  f ‡  f d( †  ƒ  Y} d) ˆ  f ‡  f d* †  ƒ  Y} d+ ˆ  f ‡  f d, †  ƒ  Y} d- ˆ  f ‡  f d. †  ƒ  Y} d/ ˆ  f ‡  f d0 †  ƒ  Y} d1 ˆ  f ‡  f d2 †  ƒ  Y} i | d3 6| d4 6| d5 6| d6 6| d7 6| d8 6|	 d9 6|
 d: 6| d; 6| d< 6| d= 6| d> 6| d? 6| d@ 6| dA 6| dB 6| dC 6| dD 6| dE 6| dF 6| dG 6| dH 6| dI 6S(J   Nc         ` s2   t  d „  t j ƒ  Dƒ ƒ ‰ ‡  ‡ f d †  } | S(   u4   Logger that records which phase processes each tokenc         s` s!   |  ] \ } } | | f Vq d  S(   N(    (   t   .0t   keyt   value(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pys	   <genexpr>c  s    c         ` sÜ   ˆ  j  j d ƒ rÈ t | ƒ d k rÈ | d } y i ˆ | d d 6} Wn
 ‚  n X| d t k ru | d | d <n  |  j j j |  j j j j  |  j j	 j
 j  |  j
 j  ˆ  j  | f ƒ ˆ  |  | | Ž Sˆ  |  | | Ž Sd  S(   Nu   processi    u   typeu   name(   R5   t
   startswithRk   R   RD   RP   Rt   RH   RT   RW   t	   __class__(   R?   R‡   R"   R~   t   info(   R4   t
   type_names(    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   wrappedf  s    $
	
(   R<   R   R(   (   R4   R¤   (    (   R4   R£   sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRP   a  s    	c         S` s   |  r t  | ƒ St Sd  S(   N(   R7   R,   (   t   use_metaclasst   metaclass_func(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   getMetaclassz  s    
t   Phasec           B` s_   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   uN   Base class for helper object that implements each phase of processing
        c         S` s   | |  _  | |  _ d  S(   N(   RD   R:   (   R?   RD   R:   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   …  s    	c         S` s
   t  ‚ d  S(   N(   t   NotImplementedError(   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   ‰  s    c         S` s!   |  j  j | |  j  j d ƒ d  S(   Niÿÿÿÿ(   R:   t   insertCommentRh   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   Œ  s    c         S` s   |  j  j d ƒ d  S(   Nu   unexpected-doctype(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRs   ‘  s    c         S` s   |  j  j | d ƒ d  S(   Nu   data(   R:   t
   insertText(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   ”  s    c         S` s   |  j  j | d ƒ d  S(   Nu   data(   R:   R«   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   —  s    c         S` s   |  j  | d | ƒ S(   Nu   name(   t   startTagHandler(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp   š  s    c         S` s”   |  j  j r0 | d d k r0 |  j  j d ƒ n  xQ | d j ƒ  D]? \ } } | |  j j d j k rA | |  j j d j | <qA qA Wt |  j  _ d  S(   Nu   nameu   htmlu   non-html-rootu   datai    (   RD   RO   Ri   R(   R:   Rh   Rb   RN   (   R?   R~   t   attrRŸ   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   startTagHtml�  s    c         S` s   |  j  | d | ƒ S(   Nu   name(   t   endTagHandler(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq   §  s    (   R5   R6   R›   RC   Ru   Rr   Rs   Rn   Ro   Rp   R®   Rq   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR¨   �  s   								
t   InitialPhasec           B` sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         S` s   d  S(   N(    (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   «  s    c         S` s   |  j  j | |  j  j ƒ d  S(   N(   R:   Rª   t   document(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   ®  s    c      8   S` su  | d } | d } | d } | d } | d k sX | d  k	 sX | d  k	 rk | d k rk |  j j d ƒ n  | d  k r€ d } n  |  j j | ƒ | d k r® | j t ƒ } n  | s| d d k s| j dJ ƒ s| dK k s| j dL ƒ rû | d  k s| r"| j ƒ  dD k r"dE |  j _	 n9 | j dM ƒ sL| j dN ƒ r[| d  k	 r[dH |  j _	 n  |  j j
 dI |  j _ d  S(O   Nu   nameu   publicIdu   systemIdu   correctu   htmlu   about:legacy-compatu   unknown-doctypeu    u*   +//silmaril//dtd html pro v0r11 19970101//u4   -//advasoft ltd//dtd html 3.0 aswedit + extensions//u*   -//as//dtd html 3.0 aswedit + extensions//u   -//ietf//dtd html 2.0 level 1//u   -//ietf//dtd html 2.0 level 2//u&   -//ietf//dtd html 2.0 strict level 1//u&   -//ietf//dtd html 2.0 strict level 2//u   -//ietf//dtd html 2.0 strict//u   -//ietf//dtd html 2.0//u   -//ietf//dtd html 2.1e//u   -//ietf//dtd html 3.0//u   -//ietf//dtd html 3.2 final//u   -//ietf//dtd html 3.2//u   -//ietf//dtd html 3//u   -//ietf//dtd html level 0//u   -//ietf//dtd html level 1//u   -//ietf//dtd html level 2//u   -//ietf//dtd html level 3//u"   -//ietf//dtd html strict level 0//u"   -//ietf//dtd html strict level 1//u"   -//ietf//dtd html strict level 2//u"   -//ietf//dtd html strict level 3//u   -//ietf//dtd html strict//u   -//ietf//dtd html//u(   -//metrius//dtd metrius presentational//u5   -//microsoft//dtd internet explorer 2.0 html strict//u.   -//microsoft//dtd internet explorer 2.0 html//u0   -//microsoft//dtd internet explorer 2.0 tables//u5   -//microsoft//dtd internet explorer 3.0 html strict//u.   -//microsoft//dtd internet explorer 3.0 html//u0   -//microsoft//dtd internet explorer 3.0 tables//u#   -//netscape comm. corp.//dtd html//u*   -//netscape comm. corp.//dtd strict html//u*   -//o'reilly and associates//dtd html 2.0//u3   -//o'reilly and associates//dtd html extended 1.0//u;   -//o'reilly and associates//dtd html extended relaxed 1.0//uN   -//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//uE   -//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//u$   -//spyglass//dtd html 2.0 extended//u+   -//sq//dtd html 2.0 hotmetal + extensions//u-   -//sun microsystems corp.//dtd hotjava html//u4   -//sun microsystems corp.//dtd hotjava strict html//u   -//w3c//dtd html 3 1995-03-24//u   -//w3c//dtd html 3.2 draft//u   -//w3c//dtd html 3.2 final//u   -//w3c//dtd html 3.2//u   -//w3c//dtd html 3.2s draft//u   -//w3c//dtd html 4.0 frameset//u#   -//w3c//dtd html 4.0 transitional//u(   -//w3c//dtd html experimental 19960712//u&   -//w3c//dtd html experimental 970421//u   -//w3c//dtd w3 html//u   -//w3o//dtd w3 html 3.0//u#   -//webtechs//dtd mozilla html 2.0//u   -//webtechs//dtd mozilla html//u$   -//w3o//dtd w3 html strict 3.0//en//u"   -/w3c/dtd html 4.0 transitional/enu    -//w3c//dtd html 4.01 frameset//u$   -//w3c//dtd html 4.01 transitional//u:   http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtdu   quirksu    -//w3c//dtd xhtml 1.0 frameset//u$   -//w3c//dtd xhtml 1.0 transitional//u   limited quirksu
   beforeHtml(7   u*   +//silmaril//dtd html pro v0r11 19970101//u4   -//advasoft ltd//dtd html 3.0 aswedit + extensions//u*   -//as//dtd html 3.0 aswedit + extensions//u   -//ietf//dtd html 2.0 level 1//u   -//ietf//dtd html 2.0 level 2//u&   -//ietf//dtd html 2.0 strict level 1//u&   -//ietf//dtd html 2.0 strict level 2//u   -//ietf//dtd html 2.0 strict//u   -//ietf//dtd html 2.0//u   -//ietf//dtd html 2.1e//u   -//ietf//dtd html 3.0//u   -//ietf//dtd html 3.2 final//u   -//ietf//dtd html 3.2//u   -//ietf//dtd html 3//u   -//ietf//dtd html level 0//u   -//ietf//dtd html level 1//u   -//ietf//dtd html level 2//u   -//ietf//dtd html level 3//u"   -//ietf//dtd html strict level 0//u"   -//ietf//dtd html strict level 1//u"   -//ietf//dtd html strict level 2//u"   -//ietf//dtd html strict level 3//u   -//ietf//dtd html strict//u   -//ietf//dtd html//u(   -//metrius//dtd metrius presentational//u5   -//microsoft//dtd internet explorer 2.0 html strict//u.   -//microsoft//dtd internet explorer 2.0 html//u0   -//microsoft//dtd internet explorer 2.0 tables//u5   -//microsoft//dtd internet explorer 3.0 html strict//u.   -//microsoft//dtd internet explorer 3.0 html//u0   -//microsoft//dtd internet explorer 3.0 tables//u#   -//netscape comm. corp.//dtd html//u*   -//netscape comm. corp.//dtd strict html//u*   -//o'reilly and associates//dtd html 2.0//u3   -//o'reilly and associates//dtd html extended 1.0//u;   -//o'reilly and associates//dtd html extended relaxed 1.0//uN   -//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//uE   -//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//u$   -//spyglass//dtd html 2.0 extended//u+   -//sq//dtd html 2.0 hotmetal + extensions//u-   -//sun microsystems corp.//dtd hotjava html//u4   -//sun microsystems corp.//dtd hotjava strict html//u   -//w3c//dtd html 3 1995-03-24//u   -//w3c//dtd html 3.2 draft//u   -//w3c//dtd html 3.2 final//u   -//w3c//dtd html 3.2//u   -//w3c//dtd html 3.2s draft//u   -//w3c//dtd html 4.0 frameset//u#   -//w3c//dtd html 4.0 transitional//u(   -//w3c//dtd html experimental 19960712//u&   -//w3c//dtd html experimental 970421//u   -//w3c//dtd w3 html//u   -//w3o//dtd w3 html 3.0//u#   -//webtechs//dtd mozilla html 2.0//u   -//webtechs//dtd mozilla html//(   u$   -//w3o//dtd w3 html strict 3.0//en//u"   -/w3c/dtd html 4.0 transitional/enu   html(   u    -//w3c//dtd html 4.01 frameset//u$   -//w3c//dtd html 4.01 transitional//(   u    -//w3c//dtd xhtml 1.0 frameset//u$   -//w3c//dtd xhtml 1.0 transitional//(   u    -//w3c//dtd html 4.01 frameset//u$   -//w3c//dtd html 4.01 transitional//(   R9   RD   Ri   R:   t   insertDoctypeRc   R   R    RR   RQ   R>   RW   (   R?   R~   RA   t   publicIdt   systemIdt   correct(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRs   ±  s®    



	                                                      	 	 	 	 	c         S` s&   d |  j  _ |  j  j d |  j  _ d  S(   Nu   quirksu
   beforeHtml(   RD   RQ   R>   RW   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   anythingElse  s    c         S` s   |  j  j d ƒ |  j ƒ  | S(   Nu   expected-doctype-but-got-chars(   RD   Ri   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn     s    
c         S` s,   |  j  j d i | d d 6ƒ |  j ƒ  | S(   Nu"   expected-doctype-but-got-start-tagu   name(   RD   Ri   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp     s    
c         S` s,   |  j  j d i | d d 6ƒ |  j ƒ  | S(   Nu    expected-doctype-but-got-end-tagu   name(   RD   Ri   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq     s    
c         S` s   |  j  j d ƒ |  j ƒ  t S(   Nu   expected-doctype-but-got-eof(   RD   Ri   R¶   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   %  s    
(
   R5   R6   Ro   Rr   Rs   R¶   Rn   Rp   Rq   Ru   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR°   ª  s   			_				t   BeforeHtmlPhasec           B` sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         S` s3   |  j  j t d d ƒ ƒ |  j j d |  j _ d  S(   Nu   htmlu   StartTagu
   beforeHead(   R:   t
   insertRoott   impliedTagTokenRD   R>   RW   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRX   ,  s    c         S` s   |  j  ƒ  t S(   N(   RX   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   1  s    
c         S` s   |  j  j | |  j  j ƒ d  S(   N(   R:   Rª   R±   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   5  s    c         S` s   d  S(   N(    (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   8  s    c         S` s   |  j  ƒ  | S(   N(   RX   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   ;  s    
c         S` s-   | d d k r t  |  j _ n  |  j ƒ  | S(   Nu   nameu   html(   R\   RD   RO   RX   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp   ?  s    
c         S` sC   | d d k r1 |  j  j d i | d d 6ƒ n |  j ƒ  | Sd  S(   Nu   nameu   headu   bodyu   htmlu   bru   unexpected-end-tag-before-html(   u   headu   bodyu   htmlu   br(   RD   Ri   RX   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq   E  s
    
(	   R5   R6   RX   Ru   Rr   Ro   Rn   Rp   Rq   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR·   *  s   						t   BeforeHeadPhasec           ` s_   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         ` s}   ˆ  j  |  | | ƒ t j d |  j f d |  j f g ƒ |  _ |  j |  j _ t j d |  j f g ƒ |  _	 |  j
 |  j	 _ d  S(   Nu   htmlu   headu   bodyu   br(   u   headu   bodyu   htmlu   br(   RC   R   t   MethodDispatcherR®   t   startTagHeadR¬   t   startTagOthert   defaultt   endTagImplyHeadR¯   t   endTagOther(   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   N  s    c         S` s   |  j  t d d ƒ ƒ t S(   Nu   headu   StartTag(   R¼   R¹   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   \  s    c         S` s   d  S(   N(    (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   `  s    c         S` s   |  j  t d d ƒ ƒ | S(   Nu   headu   StartTag(   R¼   R¹   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   c  s    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR®   g  s    c         S` s@   |  j  j | ƒ |  j  j d |  j  _ |  j j d |  j _ d  S(   Niÿÿÿÿu   inHead(   R:   R—   Rh   t   headPointerRD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR¼   j  s    c         S` s   |  j  t d d ƒ ƒ | S(   Nu   headu   StartTag(   R¼   R¹   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   o  s    c         S` s   |  j  t d d ƒ ƒ | S(   Nu   headu   StartTag(   R¼   R¹   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR¿   s  s    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   end-tag-after-implied-rootu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   w  s    (   R5   R6   RC   Ru   Ro   Rn   R®   R¼   R½   R¿   RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRº   M  s   							t   InHeadPhasec           ` sž   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         ` sÑ   ˆ  j  |  | | ƒ t j d |  j f d |  j f d |  j f d |  j f d |  j f d |  j f d |  j	 f d |  j
 f g ƒ |  _ |  j |  j _ t j d |  j f d |  j f g ƒ |  _ |  j |  j _ d  S(   Nu   htmlu   titleu   noframesu   styleu   noscriptu   scriptu   baseu   basefontu   bgsoundu   commandu   linku   metau   headu   bru   body(   u   noframesu   style(   u   baseu   basefontu   bgsoundu   commandu   link(   u   bru   htmlu   body(   RC   R   R»   R®   t   startTagTitlet   startTagNoFramesStylet   startTagNoscriptt   startTagScriptt   startTagBaseLinkCommandt   startTagMetaR¼   R¬   R½   R¾   t
   endTagHeadt   endTagHtmlBodyBrR¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   |  s     	c         S` s   |  j  ƒ  t S(   N(   R¶   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   “  s    
c         S` s   |  j  ƒ  | S(   N(   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   —  s    
c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR®   ›  s    c         S` s   |  j  j d ƒ d  S(   Nu!   two-heads-are-not-better-than-one(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR¼   ž  s    c         S` s.   |  j  j | ƒ |  j  j j ƒ  t | d <d  S(   Nu   selfClosingAcknowledged(   R:   R—   Rh   t   popR\   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÇ   ¡  s    c         S` sþ   |  j  j | ƒ |  j  j j ƒ  t | d <| d } |  j j j j d d k rú d | k ry |  j j j j	 | d ƒ qú d | k rú d | k rú | d j
 ƒ  d k rú t j | d j d	 ƒ ƒ } t j | ƒ } | j ƒ  } |  j j j j	 | ƒ qú n  d  S(
   Nu   selfClosingAcknowledgedu   datai   u	   tentativeu   charsetu   contentu
   http-equivu   content-typeu   utf-8(   R:   R—   Rh   RË   R\   RD   RH   RK   R_   t   changeEncodingRR   R   t   EncodingBytest   encodet   ContentAttrParserR   (   R?   R~   Rb   t   dataRD   t   codec(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÈ   ¦  s    

c         S` s   |  j  j | d ƒ d  S(   Nu   RCDATA(   RD   Rš   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÃ   »  s    c         S` s   |  j  j | d ƒ d  S(   Nu   RAWTEXT(   RD   Rš   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÄ   ¾  s    c         S` sL   |  j  j r" |  j  j | d ƒ n& |  j j | ƒ |  j  j d |  j  _ d  S(   Nu   RAWTEXTu   inHeadNoscript(   RD   RF   Rš   R:   R—   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÅ   Â  s    c         S` sT   |  j  j | ƒ |  j j j |  j j _ |  j j |  j _ |  j j d |  j _ d  S(   Nu   text(	   R:   R—   RD   RH   t   scriptDataStateRT   RW   R˜   R>   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÆ   É  s    c         S` s   |  j  ƒ  | S(   N(   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   Ï  s    
c         S` sQ   |  j  j j j ƒ  } | j d k s7 t d | j ƒ ‚ |  j  j d |  j  _ d  S(   Nu   headu   Expected head got %su	   afterHead(   RD   R:   Rh   RË   RA   Rv   R>   RW   (   R?   R~   R”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÉ   Ó  s    "c         S` s   |  j  ƒ  | S(   N(   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÊ   Ø  s    
c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   Ü  s    c         S` s   |  j  t d ƒ ƒ d  S(   Nu   head(   RÉ   R¹   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR¶   ß  s    (   R5   R6   RC   Ru   Rn   R®   R¼   RÇ   RÈ   RÃ   RÄ   RÅ   RÆ   R½   RÉ   RÊ   RÀ   R¶   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÂ   {  s    														t   InHeadNoscriptPhasec           ` sƒ   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z RS(   c         ` s•   ˆ  j  |  | | ƒ t j d |  j f d |  j f d |  j f g ƒ |  _ |  j |  j _ t j d	 |  j	 f d
 |  j
 f g ƒ |  _ |  j |  j _ d  S(   Nu   htmlu   basefontu   bgsoundu   linku   metau   noframesu   styleu   headu   noscriptu   br(   u   basefontu   bgsoundu   linku   metau   noframesu   style(   u   headu   noscript(   RC   R   R»   R®   RÇ   t   startTagHeadNoscriptR¬   R½   R¾   t   endTagNoscriptt   endTagBrR¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   ã  s    c         S` s   |  j  j d ƒ |  j ƒ  t S(   Nu   eof-in-head-noscript(   RD   Ri   R¶   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   ó  s    
c         S` s   |  j  j d j | ƒ S(   Nu   inHead(   RD   R>   Rr   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   ø  s    c         S` s   |  j  j d ƒ |  j ƒ  | S(   Nu   char-in-head-noscript(   RD   Ri   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   û  s    
c         S` s   |  j  j d j | ƒ S(   Nu   inHead(   RD   R>   Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo      s    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR®     s    c         S` s   |  j  j d j | ƒ S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÇ     s    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-start-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÔ   	  s    c         S` s,   |  j  j d i | d d 6ƒ |  j ƒ  | S(   Nu   unexpected-inhead-noscript-tagu   name(   RD   Ri   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½     s    
c         S` sQ   |  j  j j j ƒ  } | j d k s7 t d | j ƒ ‚ |  j  j d |  j  _ d  S(   Nu   noscriptu   Expected noscript got %su   inHead(   RD   R:   Rh   RË   RA   Rv   R>   RW   (   R?   R~   R”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÕ     s    "c         S` s,   |  j  j d i | d d 6ƒ |  j ƒ  | S(   Nu   unexpected-inhead-noscript-tagu   name(   RD   Ri   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÖ     s    
c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ     s    c         S` s   |  j  t d ƒ ƒ d  S(   Nu   noscript(   RÕ   R¹   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR¶     s    (   R5   R6   RC   Ru   Rr   Rn   Ro   R®   RÇ   RÔ   R½   RÕ   RÖ   RÀ   R¶   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÓ   â  s   											t   AfterHeadPhasec           ` sz   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z RS(   c         ` s¡   ˆ  j  |  | | ƒ t j d |  j f d |  j f d |  j f d |  j f d |  j f g ƒ |  _ |  j	 |  j _
 t j d |  j f g ƒ |  _ |  j |  j _
 d  S(   Nu   htmlu   bodyu   framesetu   baseu   basefontu   bgsoundu   linku   metau   noframesu   scriptu   styleu   titleu   headu   br(	   u   baseu   basefontu   bgsoundu   linku   metau   noframesu   scriptu   styleu   title(   u   bodyu   htmlu   br(   RC   R   R»   R®   t   startTagBodyt   startTagFramesett   startTagFromHeadR¼   R¬   R½   R¾   RÊ   R¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   #  s     		c         S` s   |  j  ƒ  t S(   N(   R¶   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   4  s    
c         S` s   |  j  ƒ  | S(   N(   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   8  s    
c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR®   <  s    c         S` s6   t  |  j _ |  j j | ƒ |  j j d |  j _ d  S(   Nu   inBody(   RN   RD   R]   R:   R—   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRØ   ?  s    c         S` s*   |  j  j | ƒ |  j j d |  j _ d  S(   Nu
   inFrameset(   R:   R—   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÙ   D  s    c         S` sœ   |  j  j d i | d d 6ƒ |  j j j |  j j ƒ |  j  j d j | ƒ xG |  j j d  d  d … D], } | j d k rh |  j j j	 | ƒ Pqh qh Wd  S(   Nu#   unexpected-start-tag-out-of-my-headu   nameu   inHeadiÿÿÿÿu   head(
   RD   Ri   R:   Rh   Rt   RÁ   R>   Rp   RA   t   remove(   R?   R~   R”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÚ   H  s     c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-start-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR¼   R  s    c         S` s   |  j  ƒ  | S(   N(   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   U  s    
c         S` s   |  j  ƒ  | S(   N(   R¶   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÊ   Y  s    
c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   ]  s    c         S` s?   |  j  j t d d ƒ ƒ |  j j d |  j _ t |  j _ d  S(   Nu   bodyu   StartTagu   inBody(   R:   R—   R¹   RD   R>   RW   R\   R]   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR¶   `  s    (   R5   R6   RC   Ru   Rn   R®   RØ   RÙ   RÚ   R¼   R½   RÊ   RÀ   R¶   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR×   "  s   						
				t   InBodyPhasec           ` sÙ  e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d  „  Z" d! „  Z# d" „  Z$ d# „  Z% d$ „  Z& d% „  Z' d& „  Z( d' „  Z) d( „  Z* d) „  Z+ d* „  Z, d+ „  Z- d, „  Z. d- „  Z/ d. „  Z0 d/ „  Z1 d0 „  Z2 d1 „  Z3 d2 „  Z4 RS(3   c      ,   ` si  ˆ  j  |  | | ƒ |  j |  _ t j d |  j f dd |  j f d |  j f d |  j f de |  j	 f t
 |  j f df |  j f d& |  j f dg |  j f d* |  j f d+ |  j f dh |  j f d8 |  j f d9 |  j f di |  j f d= |  j f d> |  j f dj |  j f dk |  j f dH |  j f dI |  j f dJ |  j f dK |  j f dL |  j f dM |  j f dN |  j f dl |  j  f dQ |  j! f dm |  j" f dn |  j# f dV |  j$ f dW |  j% f do |  j& f g! ƒ |  _' |  j( |  j' _) t j d |  j* f d |  j+ f dp |  j, f d& |  j- f d  |  j. f dq |  j/ f t
 |  j0 f dr |  j1 f ds |  j2 f d@ |  j3 f g
 ƒ |  _4 |  j5 |  j4 _) d  S(t   Nu   htmlu   baseu   basefontu   bgsoundu   commandu   linku   metau   scriptu   styleu   titleu   bodyu   framesetu   addressu   articleu   asideu
   blockquoteu   centeru   detailsu   diru   divu   dlu   fieldsetu
   figcaptionu   figureu   footeru   headeru   hgroupu   mainu   menuu   navu   olu   pu   sectionu   summaryu   ulu   preu   listingu   formu   liu   ddu   dtu	   plaintextu   au   bu   bigu   codeu   emu   fontu   iu   su   smallu   strikeu   strongu   ttu   uu   nobru   buttonu   appletu   marqueeu   objectu   xmpu   tableu   areau   bru   embedu   imgu   keygenu   wbru   paramu   sourceu   tracku   inputu   hru   imageu   isindexu   textareau   iframeu   noscriptu   noembedu   noframesu   selectu   rpu   rtu   optionu   optgroupu   mathu   svgu   captionu   colu   colgroupu   frameu   headu   tbodyu   tdu   tfootu   thu   theadu   tru   dialog(	   u   baseu   basefontu   bgsoundu   commandu   linku   metau   scriptu   styleu   title(   u   addressu   articleu   asideu
   blockquoteu   centeru   detailsu   diru   divu   dlu   fieldsetu
   figcaptionu   figureu   footeru   headeru   hgroupu   mainu   menuu   navu   olu   pu   sectionu   summaryu   ul(   u   preu   listing(   u   liu   ddu   dt(   u   bu   bigu   codeu   emu   fontu   iu   su   smallu   strikeu   strongu   ttu   u(   u   appletu   marqueeu   object(   u   areau   bru   embedu   imgu   keygenu   wbr(   u   paramu   sourceu   track(   u   noembedu   noframes(   u   rpu   rt(   u   optionu   optgroup(   u   captionu   colu   colgroupu   frameu   headu   tbodyu   tdu   tfootu   thu   theadu   tr(   u   addressu   articleu   asideu
   blockquoteu   buttonu   centeru   detailsu   dialogu   diru   divu   dlu   fieldsetu
   figcaptionu   figureu   footeru   headeru   hgroupu   listingu   mainu   menuu   navu   olu   preu   sectionu   summaryu   ul(   u   ddu   dtu   li(   u   au   bu   bigu   codeu   emu   fontu   iu   nobru   su   smallu   strikeu   strongu   ttu   u(   u   appletu   marqueeu   object(6   RC   t   processSpaceCharactersNonPreRo   R   R»   R®   t   startTagProcessInHeadRØ   RÙ   t   startTagClosePR   t   startTagHeadingt   startTagPreListingt   startTagFormt   startTagListItemt   startTagPlaintextt	   startTagAt   startTagFormattingt   startTagNobrt   startTagButtont   startTagAppletMarqueeObjectt   startTagXmpt   startTagTablet   startTagVoidFormattingt   startTagParamSourcet   startTagInputt
   startTagHrt   startTagImaget   startTagIsIndext   startTagTextareat   startTagIFrameRÅ   t   startTagRawtextt   startTagSelectt   startTagRpRtt   startTagOptt   startTagMatht   startTagSvgt   startTagMisplacedR¬   R½   R¾   t
   endTagBodyt
   endTagHtmlt   endTagBlockt
   endTagFormt   endTagPt   endTagListItemt   endTagHeadingt   endTagFormattingt   endTagAppletMarqueeObjectRÖ   R¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   h  s~     	   	 	      c         S` s4   | j  | j  k o3 | j | j k o3 | j | j k S(   N(   RA   Ra   Rb   (   R?   t   node1t   node2(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   isMatchingFormattingElement¯  s    c         S` s×   |  j  j | ƒ |  j  j d } g  } xS |  j  j d  d  d … D]8 } | t k rV Pq@ |  j | | ƒ r@ | j | ƒ q@ q@ Wt | ƒ d k s” t ‚ t | ƒ d k rÀ |  j  j j	 | d ƒ n  |  j  j j | ƒ d  S(   Niÿÿÿÿi   (
   R:   R—   Rh   t   activeFormattingElementsR
   R  Rt   Rk   Rv   RÛ   (   R?   R~   Rd   t   matchingElementsR”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   addFormattingElementµ  s     c         S` sW   t  d ƒ } xD |  j j d  d  d … D]) } | j | k r& |  j j d ƒ Pq& q& Wd  S(   Nu   ddu   dtu   liu   pu   tbodyu   tdu   tfootu   thu   theadu   tru   bodyu   htmliÿÿÿÿu    expected-closing-tag-but-got-eof(   u   ddu   dtu   liu   pu   tbodyu   tdu   tfootu   thu   theadu   tru   bodyu   html(   Rm   R:   Rh   RA   RD   Ri   (   R?   t   allowed_elementsR”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   Æ  s     	 c         S` sŒ   | d } |  j  |  _ | j d ƒ rb |  j j d j d k rb |  j j d j ƒ  rb | d } n  | rˆ |  j j ƒ  |  j j | ƒ n  d  S(	   Nu   datau   
iÿÿÿÿu   preu   listingu   textareai   (   u   preu   listingu   textarea(	   RÝ   Ro   R    R:   Rh   RA   t
   hasContentt#   reconstructActiveFormattingElementsR«   (   R?   R~   RÐ   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt!   processSpaceCharactersDropNewlineÐ  s    
c         S` s}   | d d k r d  S|  j  j ƒ  |  j  j | d ƒ |  j j ry t g  | d D] } | t k ^ qO ƒ ry t |  j _ n  d  S(   Nu   datau    (   R:   R  R«   RD   R]   t   anyR   RN   (   R?   R~   t   char(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   Ý  s    #c         S` s%   |  j  j ƒ  |  j  j | d ƒ d  S(   Nu   data(   R:   R  R«   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÝ   é  s    c         S` s   |  j  j d j | ƒ S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÞ   í  s    c         S` sÄ   |  j  j d i d d 6ƒ t |  j j ƒ d k sK |  j j d j d k r` |  j  j sÀ t ‚ n` t |  j  _	 xQ | d j
 ƒ  D]? \ } } | |  j j d j k r} | |  j j d j | <q} q} Wd  S(   Nu   unexpected-start-tagu   bodyu   namei   u   data(   RD   Ri   Rk   R:   Rh   RA   RL   Rv   RN   R]   R(   Rb   (   R?   R~   R­   RŸ   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRØ   ð  s    c         S` s  |  j  j d i d d 6ƒ t |  j j ƒ d k sK |  j j d j d k r` |  j  j sÿ t ‚ nŸ |  j  j so n� |  j j d j	 r© |  j j d j	 j
 |  j j d ƒ n  x- |  j j d j d k rØ |  j j j ƒ  q¬ W|  j j | ƒ |  j  j d |  j  _ d  S(	   Nu   unexpected-start-tagu   framesetu   namei   u   bodyiÿÿÿÿu   htmlu
   inFrameset(   RD   Ri   Rk   R:   Rh   RA   RL   Rv   R]   t   parentt   removeChildRË   R—   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÙ   û  s    1'c         S` sB   |  j  j d d d ƒr. |  j t d ƒ ƒ n  |  j  j | ƒ d  S(   Nu   pt   variantu   button(   R:   t   elementInScopeRÿ   R¹   R—   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRß   	  s    c         S` sZ   |  j  j d d d ƒr. |  j t d ƒ ƒ n  |  j  j | ƒ t |  j _ |  j |  _	 d  S(   Nu   pR  u   button(
   R:   R  Rÿ   R¹   R—   RN   RD   R]   R  Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRá     s
    c         S` s�   |  j  j r) |  j j d i d d 6ƒ nT |  j  j d d d ƒrW |  j t d ƒ ƒ n  |  j  j | ƒ |  j  j d |  j  _ d  S(   Nu   unexpected-start-tagu   formu   nameu   pR  u   buttoniÿÿÿÿ(	   R:   t   formPointerRD   Ri   R  Rÿ   R¹   R—   Rh   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRâ     s    c         S` s   t  |  j _ i d g d 6d d g d 6d d g d 6} | | d } xn t |  j j ƒ D]Z } | j | k r� |  j j j t	 | j d ƒ ƒ Pn  | j
 t k rW | j d k rW PqW qW W|  j j d d	 d
 ƒrì |  j j j t	 d d ƒ ƒ n  |  j j | ƒ d  S(   Nu   liu   dtu   ddu   nameu   EndTagu   addressu   divu   pR  u   button(   u   addressu   divu   p(   RN   RD   R]   t   reversedR:   Rh   RA   RW   Rq   R¹   t	   nameTupleR   R  R—   (   R?   R~   t   stopNamesMapt	   stopNamesR”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRã     s"    c         S` sZ   |  j  j d d d ƒr. |  j t d ƒ ƒ n  |  j  j | ƒ |  j j j |  j j _ d  S(   Nu   pR  u   button(	   R:   R  Rÿ   R¹   R—   RD   RH   RV   RT   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRä   4  s    c         S` sŒ   |  j  j d d d ƒr. |  j t d ƒ ƒ n  |  j  j d j t k rx |  j j d i | d d 6ƒ |  j  j j	 ƒ  n  |  j  j
 | ƒ d  S(   Nu   pR  u   buttoniÿÿÿÿu   unexpected-start-tagu   name(   R:   R  Rÿ   R¹   Rh   RA   R   RD   Ri   RË   R—   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRà   :  s    c         S` s½   |  j  j d ƒ } | rŸ |  j j d i d d 6d d 6ƒ |  j t d ƒ ƒ | |  j  j k rt |  j  j j | ƒ n  | |  j  j k rŸ |  j  j j | ƒ qŸ n  |  j  j	 ƒ  |  j
 | ƒ d  S(   Nu   au$   unexpected-start-tag-implies-end-tagu	   startNameu   endName(   R:   t!   elementInActiveFormattingElementsRD   Ri   R  R¹   Rh   RÛ   R  R  R	  (   R?   R~   t   afeAElement(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRå   B  s    c         S` s   |  j  j ƒ  |  j | ƒ d  S(   N(   R:   R  R	  (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRæ   O  s    c         S` st   |  j  j ƒ  |  j  j d ƒ rc |  j j d i d d 6d d 6ƒ |  j t d ƒ ƒ |  j  j ƒ  n  |  j | ƒ d  S(   Nu   nobru$   unexpected-start-tag-implies-end-tagu	   startNameu   endName(   R:   R  R  RD   Ri   Rq   R¹   R	  (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRç   S  s    c         S` sw   |  j  j d ƒ rJ |  j j d i d d 6d d 6ƒ |  j t d ƒ ƒ | S|  j  j ƒ  |  j  j | ƒ t |  j _	 d  S(   Nu   buttonu$   unexpected-start-tag-implies-end-tagu	   startNameu   endName(
   R:   R  RD   Ri   Rq   R¹   R  R—   RN   R]   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRè   ]  s    c         S` s@   |  j  j ƒ  |  j  j | ƒ |  j  j j t ƒ t |  j _ d  S(   N(	   R:   R  R—   R  Rt   R
   RN   RD   R]   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRé   h  s    c         S` s^   |  j  j d d d ƒr. |  j t d ƒ ƒ n  |  j  j ƒ  t |  j _ |  j j | d ƒ d  S(   Nu   pR  u   buttonu   RAWTEXT(	   R:   R  Rÿ   R¹   R  RN   RD   R]   Rš   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRê   n  s
    c         S` sy   |  j  j d k rC |  j j d d d ƒrC |  j t d ƒ ƒ qC n  |  j j | ƒ t |  j  _ |  j  j	 d |  j  _
 d  S(   Nu   quirksu   pR  u   buttonu   inTable(   RD   RQ   R:   R  Rq   R¹   R—   RN   R]   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRë   u  s    c         S` sG   |  j  j ƒ  |  j  j | ƒ |  j  j j ƒ  t | d <t |  j _ d  S(   Nu   selfClosingAcknowledged(	   R:   R  R—   Rh   RË   R\   RN   RD   R]   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRì   }  s
    
c         S` sY   |  j  j } |  j | ƒ d | d k rU | d d j t ƒ d k rU | |  j  _ n  d  S(   Nu   typeu   datau   hidden(   RD   R]   Rì   Rc   R   (   R?   R~   R]   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRî   „  s
    c         S` s.   |  j  j | ƒ |  j  j j ƒ  t | d <d  S(   Nu   selfClosingAcknowledged(   R:   R—   Rh   RË   R\   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRí   Œ  s    c         S` sh   |  j  j d d d ƒr. |  j t d ƒ ƒ n  |  j  j | ƒ |  j  j j ƒ  t | d <t |  j	 _
 d  S(   Nu   pR  u   buttonu   selfClosingAcknowledged(   R:   R  Rÿ   R¹   R—   Rh   RË   R\   RN   RD   R]   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRï   ‘  s    
c      	   S` sO   |  j  j d i d d 6d d 6ƒ |  j t d d d | d d	 | d
 ƒƒ d  S(   Nu   unexpected-start-tag-treated-asu   imageu   originalNameu   imgu   newNameu   StartTagRb   u   datat   selfClosingu   selfClosing(   RD   Ri   Rp   R¹   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRð   ™  s
    
c      	   S` s�  |  j  j d i d d 6ƒ |  j j r* d  Si  } d | d k rU | d d | d <n  |  j t d d d | ƒƒ |  j t d	 d ƒ ƒ |  j t d
 d ƒ ƒ d | d k r¾ | d d } n d } |  j i t d d 6| d 6ƒ | d j ƒ  } d | k r	| d =n  d | k r| d =n  d | d <|  j t d d d | d | d ƒƒ |  j	 t d
 ƒ ƒ |  j t d	 d ƒ ƒ |  j	 t d ƒ ƒ d  S(   Nu   deprecated-tagu   isindexu   nameu   actionu   datau   formu   StartTagRb   u   hru   labelu   promptu3   This is a searchable index. Enter search keywords: u
   Charactersu   typeu   inputR  u   selfClosing(
   RD   Ri   R:   R  Rp   R¹   Rn   R   t   copyRq   (   R?   R~   t
   form_attrst   promptRb   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRñ   ¡  s6    



c         S` sD   |  j  j | ƒ |  j j j |  j j _ |  j |  _ t |  j _	 d  S(   N(
   R:   R—   RD   RH   RS   RT   R  Ro   RN   R]   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRò   À  s    c         S` s   t  |  j _ |  j | ƒ d  S(   N(   RN   RD   R]   Rô   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRó   Æ  s    c         S` s-   |  j  j r |  j | ƒ n |  j | ƒ d  S(   N(   RD   RF   Rô   R½   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÅ   Ê  s    c         S` s   |  j  j | d ƒ d S(   u8   iframe, noembed noframes, noscript(if scripting enabled)u   RAWTEXTN(   RD   Rš   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRô   Ð  s    c         S` sY   |  j  j d j d k r5 |  j j j t d ƒ ƒ n  |  j  j ƒ  |  j j  j | ƒ d  S(   Niÿÿÿÿu   option(	   R:   Rh   RA   RD   RW   Rq   R¹   R  R—   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR÷   Ô  s    c         S` s¼   |  j  j ƒ  |  j  j | ƒ t |  j _ |  j j |  j j d |  j j d |  j j d |  j j d |  j j d |  j j d f k r¢ |  j j d |  j _ n |  j j d |  j _ d  S(	   Nu   inTableu	   inCaptionu   inColumnGroupu   inTableBodyu   inRowu   inCellu   inSelectInTableu   inSelect(   R:   R  R—   RN   RD   R]   RW   R>   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRõ   Ú  s    c         S` s_   |  j  j d ƒ rK |  j  j ƒ  |  j  j d j d k rK |  j j ƒ  qK n  |  j  j | ƒ d  S(   Nu   rubyiÿÿÿÿ(   R:   R  t   generateImpliedEndTagsRh   RA   RD   Ri   R—   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRö   è  s
    c         S` sv   |  j  j ƒ  |  j j | ƒ |  j j | ƒ t d | d <|  j  j | ƒ | d rr |  j  j j ƒ  t	 | d <n  d  S(   Nu   mathmlu	   namespaceu   selfClosingu   selfClosingAcknowledged(
   R:   R  RD   R   R   R   R—   Rh   RË   R\   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRø   ï  s    
c         S` sv   |  j  j ƒ  |  j j | ƒ |  j j | ƒ t d | d <|  j  j | ƒ | d rr |  j  j j ƒ  t	 | d <n  d  S(   Nu   svgu	   namespaceu   selfClosingu   selfClosingAcknowledged(
   R:   R  RD   R   R   R   R—   Rh   RË   R\   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRù   û  s    
c         S` s"   |  j  j d i | d d 6ƒ d S(   u5   Elements that should be children of other elements that have a
            different insertion mode; here they are ignored
            "caption", "col", "colgroup", "frame", "frameset", "head",
            "option", "optgroup", "tbody", "td", "tfoot", "th", "thead",
            "tr", "noscript"
            u   unexpected-start-tag-ignoredu   nameN(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRú     s    c         S` s!   |  j  j ƒ  |  j  j | ƒ d  S(   N(   R:   R  R—   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½     s    c         S` så   |  j  j d d d ƒsa |  j t d d ƒ ƒ |  j j d i d d 6ƒ |  j t d d ƒ ƒ n€ |  j  j d ƒ |  j  j d j	 d k r§ |  j j d i d d 6ƒ n  |  j  j j
 ƒ  } x% | j	 d k rà |  j  j j
 ƒ  } q¼ Wd  S(	   Nu   pR  u   buttonu   StartTagu   unexpected-end-tagu   nameu   EndTagiÿÿÿÿ(   R:   R  Rß   R¹   RD   Ri   Rÿ   R  Rh   RA   RË   (   R?   R~   R”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÿ     s    c         S` s±   |  j  j d ƒ s# |  j j ƒ  d  S|  j  j d j d k r— xX |  j  j d D]C } | j t d ƒ k rM |  j j d i d d 6| j d 6ƒ PqM qM Wn  |  j j d |  j _ d  S(   Nu   bodyiÿÿÿÿi   u   ddu   dtu   liu   optgroupu   optionu   pu   rpu   rtu   tbodyu   tdu   tfootu   thu   theadu   tru   htmlu$   expected-one-end-tag-but-got-anotheru   gotNameu   expectedNameu	   afterBody(   u   ddu   dtu   liu   optgroupu   optionu   pu   rpu   rtu   tbodyu   tdu   tfootu   thu   theadu   tru   bodyu   html(	   R:   R  RD   Ri   Rh   RA   Rm   R>   RW   (   R?   R~   R”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRû   !  s    	   	c         S` s-   |  j  j d ƒ r) |  j t d ƒ ƒ | Sd  S(   Nu   body(   R:   R  Rû   R¹   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRü   3  s    c         S` sÔ   | d d k r |  j  |  _ n  |  j j | d ƒ } | rK |  j j ƒ  n  |  j j d j | d k r‰ |  j j d i | d d 6ƒ n  | rÐ |  j j j	 ƒ  } x, | j | d k rÌ |  j j j	 ƒ  } q¤ Wn  d  S(   Nu   nameu   preiÿÿÿÿu   end-tag-too-early(
   RÝ   Ro   R:   R  R  Rh   RA   RD   Ri   RË   (   R?   R~   t   inScopeR”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRý   9  s    !c         S` s«   |  j  j } d  |  j  _ | d  k s7 |  j  j | ƒ rT |  j j d i d d 6ƒ nS |  j  j ƒ  |  j  j d | k r” |  j j d i d d 6ƒ n  |  j  j j | ƒ d  S(   Nu   unexpected-end-tagu   formu   nameiÿÿÿÿu   end-tag-too-early-ignored(	   R:   R  R9   R  RD   Ri   R  Rh   RÛ   (   R?   R~   R”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRþ   G  s    c         S` só   | d d k r d } n d  } |  j j | d d | ƒs\ |  j j d i | d d 6ƒ n“ |  j j d | d ƒ |  j j d j | d k r± |  j j d i | d d 6ƒ n  |  j j j ƒ  } x) | j | d k rî |  j j j ƒ  } qÆ Wd  S(	   Nu   nameu   liu   listR  u   unexpected-end-tagt   excludeiÿÿÿÿu   end-tag-too-early(	   R9   R:   R  RD   Ri   R  Rh   RA   RË   (   R?   R~   R  R”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   T  s    	!	c         S` s×   x1 t  D]) } |  j j | ƒ r |  j j ƒ  Pq q W|  j j d j | d k rr |  j j d i | d d 6ƒ n  x^ t  D]V } |  j j | ƒ ry |  j j j ƒ  } x% | j t  k rÊ |  j j j ƒ  } q¦ WPqy qy Wd  S(   Niÿÿÿÿu   nameu   end-tag-too-early(	   R   R:   R  R  Rh   RA   RD   Ri   RË   (   R?   R~   t   item(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR  e  s    !c         S` s3  d } x&| d k  r.| d 7} |  j  j | d ƒ } | sd | |  j  j k ru |  j  j | j ƒ ru |  j | ƒ d S| |  j  j k r¼ |  j j d i | d d 6ƒ |  j  j j	 | ƒ d S|  j  j | j ƒ só |  j j d i | d d 6ƒ d S| |  j  j d k r*|  j j d	 i | d d 6ƒ n  |  j  j j
 | ƒ } d } x1 |  j  j | D] } | j t k rV| } PqVqVW| d k rÓ|  j  j j ƒ  } x" | | k r»|  j  j j ƒ  } qšW|  j  j j	 | ƒ d S|  j  j | d } |  j  j j
 | ƒ } | }	 }
 d } |  j  j j
 |
 ƒ } x| d
 k  r9| d 7} | d 8} |  j  j | }
 |
 |  j  j k r|  j  j j	 |
 ƒ q$n  |
 | k r�Pn  |	 | k r·|  j  j j
 |
 ƒ d } n  |
 j ƒ  } | |  j  j |  j  j j
 |
 ƒ <| |  j  j |  j  j j
 |
 ƒ <| }
 |	 j r#|	 j j |	 ƒ n  |
 j |	 ƒ |
 }	 q$W|	 j rV|	 j j |	 ƒ n  | j t d ƒ k r“|  j  j ƒ  \ } } | j |	 | ƒ n | j |	 ƒ | j ƒ  } | j | ƒ | j | ƒ |  j  j j	 | ƒ |  j  j j | | ƒ |  j  j j	 | ƒ |  j  j j |  j  j j
 | ƒ d | ƒ q	 Wd S(   u)   The much-feared adoption agency algorithmi    i   i   u   nameNu   adoption-agency-1.2u   adoption-agency-4.4iÿÿÿÿu   adoption-agency-1.3i   u   tableu   tbodyu   tfootu   theadu   tr(   u   tableu   tbodyu   tfootu   theadu   tr(   R:   R  Rh   R  RA   RÀ   RD   Ri   R  RÛ   t   indexR9   R  R   RË   t	   cloneNodeR  R  t   appendChildRm   t   getTableMisnestedNodePositiont   insertBeforet   reparentChildrent   insert(   R?   R~   t   outerLoopCountert   formattingElementt   afeIndext   furthestBlockRd   t   commonAncestort   bookmarkt   lastNodeR”   t   innerLoopCounterR#  t   cloneR  R'  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR  t  sŠ    

	!



	
	c         S` sÌ   |  j  j | d ƒ r& |  j  j ƒ  n  |  j  j d j | d k rd |  j j d i | d d 6ƒ n  |  j  j | d ƒ rÈ |  j  j j ƒ  } x) | j | d k r· |  j  j j ƒ  } q� W|  j  j ƒ  n  d  S(   Nu   nameiÿÿÿÿu   end-tag-too-early(	   R:   R  R  Rh   RA   RD   Ri   RË   t   clearActiveFormattingElements(   R?   R~   Rd   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR    s    !c         S` s[   |  j  j d i d d 6d d 6ƒ |  j j ƒ  |  j j t d d ƒ ƒ |  j j j ƒ  d  S(   Nu   unexpected-end-tag-treated-asu   bru   originalNameu
   br elementu   newNameu   StartTag(   RD   Ri   R:   R  R—   R¹   Rh   RË   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÖ   #  s
    c         S` sä   xÝ |  j  j d  d  d … D]Â } | j | d k r« |  j  j d | d ƒ |  j  j d j | d k rˆ |  j j d i | d d 6ƒ n  x |  j  j j ƒ  | k r¦ q‹ WPq | j t k r |  j j d i | d d 6ƒ Pq q Wd  S(   Niÿÿÿÿu   nameR!  u   unexpected-end-tag(	   R:   Rh   RA   R  RD   Ri   RË   R  R   (   R?   R~   R”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   *  s     !(5   R5   R6   RC   R  R	  Ru   R  Rn   RÝ   RÞ   RØ   RÙ   Rß   Rá   Râ   Rã   Rä   Rà   Rå   Ræ   Rç   Rè   Ré   Rê   Rë   Rì   Rî   Rí   Rï   Rð   Rñ   Rò   Ró   RÅ   Rô   R÷   Rõ   Rö   Rø   Rù   Rú   R½   Rÿ   Rû   Rü   Rý   Rþ   R   R  R  R  RÖ   RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÜ   e  sf   G			
																
																														£		t	   TextPhasec           ` sD   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         ` se   ˆ  j  |  | | ƒ t j g  ƒ |  _ |  j |  j _ t j d |  j f g ƒ |  _ |  j |  j _ d  S(   Nu   script(	   RC   R   R»   R¬   R½   R¾   t   endTagScriptR¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   9  s    c         S` s   |  j  j | d ƒ d  S(   Nu   data(   R:   R«   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   A  s    c         S` sM   |  j  j d i |  j j d j d 6ƒ |  j j j ƒ  |  j  j |  j  _ t S(   Nu&   expected-named-closing-tag-but-got-eofiÿÿÿÿu   name(	   RD   Ri   R:   Rh   RA   RË   R˜   RW   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   D  s
    c         S` s   t  s t d | d ƒ ‚ d  S(   Nu4   Tried to process start tag %s in RCDATA/RAWTEXT modeu   name(   RN   Rv   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   K  s    c         S` s=   |  j  j j ƒ  } | j d k s' t ‚ |  j j |  j _ d  S(   Nu   script(   R:   Rh   RË   RA   Rv   RD   R˜   RW   (   R?   R~   R”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR5  N  s    c         S` s&   |  j  j j ƒ  |  j j |  j _ d  S(   N(   R:   Rh   RË   RD   R˜   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   U  s    (   R5   R6   RC   Rn   Ru   R½   R5  RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR4  8  s   				t   InTablePhasec           ` s¹   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         ` sé   ˆ  j  |  | | ƒ t j d |  j f d |  j f d |  j f d |  j f d |  j f d |  j f d |  j	 f d |  j
 f d |  j f d |  j f g
 ƒ |  _ |  j |  j _ t j d |  j f d |  j f g ƒ |  _ |  j |  j _ d  S(   Nu   htmlu   captionu   colgroupu   colu   tbodyu   tfootu   theadu   tdu   thu   tru   tableu   styleu   scriptu   inputu   formu   body(   u   tbodyu   tfootu   thead(   u   tdu   thu   tr(   u   styleu   script(   u   bodyu   captionu   colu   colgroupu   htmlu   tbodyu   tdu   tfootu   thu   theadu   tr(   RC   R   R»   R®   t   startTagCaptiont   startTagColgroupt   startTagColt   startTagRowGroupt   startTagImplyTbodyRë   t   startTagStyleScriptRî   Râ   R¬   R½   R¾   t   endTagTablet   endTagIgnoreR¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   [  s$     c         S` s4   x- |  j  j d j d k r/ |  j  j j ƒ  q Wd  S(   Niÿÿÿÿu   tableu   html(   u   tableu   html(   R:   Rh   RA   RË   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   clearStackToTableContexts  s    c         S` sB   |  j  j d j d k r, |  j j d ƒ n |  j j s> t ‚ d  S(   Niÿÿÿÿu   htmlu   eof-in-table(   R:   Rh   RA   RD   Ri   RL   Rv   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   |  s    c         S` sH   |  j  j } |  j  j d |  j  _ | |  j  j _ |  j  j j | ƒ d  S(   Nu   inTableText(   RD   RW   R>   R˜   Ro   (   R?   R~   R˜   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   ƒ  s    c         S` sH   |  j  j } |  j  j d |  j  _ | |  j  j _ |  j  j j | ƒ d  S(   Nu   inTableText(   RD   RW   R>   R˜   Rn   (   R?   R~   R˜   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   ‰  s    c         S` s3   t  |  j _ |  j j d j | ƒ t |  j _ d  S(   Nu   inBody(   R\   R:   t   insertFromTableRD   R>   Rn   RN   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR«   �  s    c         S` sG   |  j  ƒ  |  j j j t ƒ |  j j | ƒ |  j j d |  j _ d  S(   Nu	   inCaption(	   R?  R:   R  Rt   R
   R—   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR7  –  s    
c         S` s4   |  j  ƒ  |  j j | ƒ |  j j d |  j _ d  S(   Nu   inColumnGroup(   R?  R:   R—   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR8  œ  s    
c         S` s   |  j  t d d ƒ ƒ | S(   Nu   colgroupu   StartTag(   R8  R¹   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR9  ¡  s    c         S` s4   |  j  ƒ  |  j j | ƒ |  j j d |  j _ d  S(   Nu   inTableBody(   R?  R:   R—   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR:  ¥  s    
c         S` s   |  j  t d d ƒ ƒ | S(   Nu   tbodyu   StartTag(   R:  R¹   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR;  ª  s    c         S` sN   |  j  j d i d d 6d d 6ƒ |  j  j j t d ƒ ƒ |  j  j sJ | Sd  S(   Nu$   unexpected-start-tag-implies-end-tagu   tableu	   startNameu   endName(   RD   Ri   RW   Rq   R¹   RL   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRë   ®  s
    c         S` s   |  j  j d j | ƒ S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR<  µ  s    c         S` sq   d | d k r` | d d j  t ƒ d k r` |  j j d ƒ |  j j | ƒ |  j j j ƒ  n |  j | ƒ d  S(   Nu   typeu   datau   hiddenu    unexpected-hidden-input-in-table(	   Rc   R   RD   Ri   R:   R—   Rh   RË   R½   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRî   ¸  s    c         S` s_   |  j  j d ƒ |  j j d  k r[ |  j j | ƒ |  j j d |  j _ |  j j j ƒ  n  d  S(   Nu   unexpected-form-in-tableiÿÿÿÿ(   RD   Ri   R:   R  R9   R—   Rh   RË   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRâ   Â  s
    c         S` sQ   |  j  j d i | d d 6ƒ t |  j _ |  j  j d j | ƒ t |  j _ d  S(   Nu)   unexpected-start-tag-implies-table-voodoou   nameu   inBody(   RD   Ri   R\   R:   R@  R>   Rp   RN   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   É  s    c         S` sâ   |  j  j d d d ƒr¿ |  j  j ƒ  |  j  j d j d k ro |  j j d i d d 6|  j  j d j d 6ƒ n  x- |  j  j d j d k rž |  j  j j ƒ  qr W|  j  j j ƒ  |  j j ƒ  n |  j j	 sÑ t
 ‚ |  j j ƒ  d  S(   Nu   tableR  iÿÿÿÿu   end-tag-too-early-namedu   gotNameu   expectedName(   R:   R  R  Rh   RA   RD   Ri   RË   RY   RL   Rv   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=  Ð  s    
c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR>  à  s    c         S` sQ   |  j  j d i | d d 6ƒ t |  j _ |  j  j d j | ƒ t |  j _ d  S(   Nu'   unexpected-end-tag-implies-table-voodoou   nameu   inBody(   RD   Ri   R\   R:   R@  R>   Rq   RN   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   ã  s    (   R5   R6   RC   R?  Ru   Ro   Rn   R«   R7  R8  R9  R:  R;  Rë   R<  Rî   Râ   R½   R=  R>  RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR6  Y  s&   														
				t   InTableTextPhasec           ` sV   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         ` s)   ˆ  j  |  | | ƒ d  |  _ g  |  _ d  S(   N(   RC   R9   R˜   t   characterTokens(   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   ë  s    	c         S` s¦   d j  g  |  j D] } | d ^ q ƒ } t g  | D] } | t k ^ q3 ƒ r€ i t d d 6| d 6} |  j j d j | ƒ n | r™ |  j j | ƒ n  g  |  _ d  S(   Nu    u   datau
   Charactersu   typeu   inTable(	   t   joinRB  R  R   R   RD   R>   R«   R:   (   R?   R"  RÐ   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   flushCharactersð  s    )%c         S` s   |  j  ƒ  |  j |  j _ | S(   N(   RD  R˜   RD   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   ù  s    
c         S` s   |  j  ƒ  |  j |  j _ t S(   N(   RD  R˜   RD   RW   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   þ  s    
c         S` s(   | d d k r d  S|  j  j | ƒ d  S(   Nu   datau    (   RB  Rt   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn     s    c         S` s   |  j  j | ƒ d  S(   N(   RB  Rt   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo     s    c         S` s   |  j  ƒ  |  j |  j _ | S(   N(   RD  R˜   RD   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp     s    
c         S` s   |  j  ƒ  |  j |  j _ | S(   N(   RD  R˜   RD   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq     s    
(
   R5   R6   RC   RD  Rr   Ru   Rn   Ro   Rp   Rq   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRA  ê  s   							t   InCaptionPhasec           ` sh   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   c         ` s•   ˆ  j  |  | | ƒ t j d |  j f d |  j f g ƒ |  _ |  j |  j _ t j d |  j f d |  j	 f d |  j
 f g ƒ |  _ |  j |  j _ d  S(   Nu   htmlu   captionu   colu   colgroupu   tbodyu   tdu   tfootu   thu   theadu   tru   tableu   body(	   u   captionu   colu   colgroupu   tbodyu   tdu   tfootu   thu   theadu   tr(
   u   bodyu   colu   colgroupu   htmlu   tbodyu   tdu   tfootu   thu   theadu   tr(   RC   R   R»   R®   t   startTagTableElementR¬   R½   R¾   t   endTagCaptionR=  R>  R¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC     s      c         S` s   |  j  j d d d ƒS(   Nu   captionR  u   table(   R:   R  (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   ignoreEndTagCaption+  s    c         S` s   |  j  j d j ƒ  d  S(   Nu   inBody(   RD   R>   Ru   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   .  s    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rn   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   1  s    c         S` s@   |  j  j ƒ  |  j ƒ  } |  j  j j t d ƒ ƒ | s< | Sd  S(   Nu   caption(   RD   Ri   RH  RW   Rq   R¹   (   R?   R~   t   ignoreEndTag(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRF  4  s
    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   <  s    c         S` sì   |  j  ƒ  sÉ |  j j ƒ  |  j j d j d k rc |  j j d i d d 6|  j j d j d 6ƒ n  x- |  j j d j d k r’ |  j j j ƒ  qf W|  j j j ƒ  |  j j ƒ  |  j j	 d |  j _
 n |  j j sÛ t ‚ |  j j ƒ  d  S(   Niÿÿÿÿu   captionu$   expected-one-end-tag-but-got-anotheru   gotNameu   expectedNameu   inTable(   RH  R:   R  Rh   RA   RD   Ri   RË   R3  R>   RW   RL   Rv   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRG  ?  s    
c         S` s@   |  j  j ƒ  |  j ƒ  } |  j  j j t d ƒ ƒ | s< | Sd  S(   Nu   caption(   RD   Ri   RH  RW   Rq   R¹   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=  Q  s
    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR>  X  s    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rq   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   [  s    (   R5   R6   RC   RH  Ru   Rn   RF  R½   RG  R=  R>  RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRE    s   								t   InColumnGroupPhasec           ` s_   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         ` s‰   ˆ  j  |  | | ƒ t j d |  j f d |  j f g ƒ |  _ |  j |  j _ t j d |  j f d |  j	 f g ƒ |  _
 |  j |  j
 _ d  S(   Nu   htmlu   colu   colgroup(   RC   R   R»   R®   R9  R¬   R½   R¾   t   endTagColgroupt	   endTagColR¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   a  s    c         S` s   |  j  j d j d k S(   Niÿÿÿÿu   html(   R:   Rh   RA   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   ignoreEndTagColgroupp  s    c         S` s\   |  j  j d j d k r/ |  j j s+ t ‚ d  S|  j ƒ  } |  j t d ƒ ƒ | sX t	 Sd  S(   Niÿÿÿÿu   htmlu   colgroup(
   R:   Rh   RA   RD   RL   Rv   RM  RK  R¹   R\   (   R?   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   s  s    c         S` s-   |  j  ƒ  } |  j t d ƒ ƒ | s) | Sd  S(   Nu   colgroup(   RM  RK  R¹   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   }  s    c         S` s.   |  j  j | ƒ |  j  j j ƒ  t | d <d  S(   Nu   selfClosingAcknowledged(   R:   R—   Rh   RË   R\   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR9  ƒ  s    c         S` s-   |  j  ƒ  } |  j t d ƒ ƒ | s) | Sd  S(   Nu   colgroup(   RM  RK  R¹   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   ˆ  s    c         S` sX   |  j  ƒ  r. |  j j s t ‚ |  j j ƒ  n& |  j j j ƒ  |  j j d |  j _	 d  S(   Nu   inTable(
   RM  RD   RL   Rv   Ri   R:   Rh   RË   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRK  Ž  s
    c         S` s   |  j  j d i d d 6ƒ d  S(   Nu
   no-end-tagu   colu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRL  —  s    c         S` s-   |  j  ƒ  } |  j t d ƒ ƒ | s) | Sd  S(   Nu   colgroup(   RM  RK  R¹   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   š  s    (   R5   R6   RC   RM  Ru   Rn   R9  R½   RK  RL  RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRJ  ^  s   		
						t   InTableBodyPhasec           ` sƒ   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z RS(   c         ` s­   ˆ  j  |  | | ƒ t j d |  j f d |  j f d |  j f d |  j f g ƒ |  _ |  j |  j _	 t j d |  j
 f d |  j f d |  j f g ƒ |  _ |  j |  j _	 d  S(   Nu   htmlu   tru   tdu   thu   captionu   colu   colgroupu   tbodyu   tfootu   theadu   tableu   body(   u   tdu   th(   u   captionu   colu   colgroupu   tbodyu   tfootu   thead(   u   tbodyu   tfootu   thead(   u   bodyu   captionu   colu   colgroupu   htmlu   tdu   thu   tr(   RC   R   R»   R®   t
   startTagTrt   startTagTableCellt   startTagTableOtherR¬   R½   R¾   t   endTagTableRowGroupR=  R>  R¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   ¢  s     c         S` sb   x- |  j  j d j d k r/ |  j  j j ƒ  q W|  j  j d j d k r^ |  j j s^ t ‚ n  d  S(   Niÿÿÿÿu   tbodyu   tfootu   theadu   html(   u   tbodyu   tfootu   theadu   html(   R:   Rh   RA   RË   RD   RL   Rv   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   clearStackToTableBodyContext¶  s
    	c         S` s   |  j  j d j ƒ  d  S(   Nu   inTable(   RD   R>   Ru   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   À  s    c         S` s   |  j  j d j | ƒ S(   Nu   inTable(   RD   R>   Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   Ã  s    c         S` s   |  j  j d j | ƒ S(   Nu   inTable(   RD   R>   Rn   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   Æ  s    c         S` s4   |  j  ƒ  |  j j | ƒ |  j j d |  j _ d  S(   Nu   inRow(   RS  R:   R—   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRO  É  s    
c         S` s8   |  j  j d i | d d 6ƒ |  j t d d ƒ ƒ | S(   Nu   unexpected-cell-in-table-bodyu   nameu   tru   StartTag(   RD   Ri   RO  R¹   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRP  Î  s    c         S` s™   |  j  j d d d ƒsH |  j  j d d d ƒsH |  j  j d d d ƒrv |  j ƒ  |  j t |  j  j d j ƒ ƒ | S|  j j sˆ t	 ‚ |  j j
 ƒ  d  S(   Nu   tbodyR  u   tableu   theadu   tfootiÿÿÿÿ(   R:   R  RS  RR  R¹   Rh   RA   RD   RL   Rv   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRQ  Ô  s    
c         S` s   |  j  j d j | ƒ S(   Nu   inTable(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   â  s    c         S` sq   |  j  j | d d d ƒrO |  j ƒ  |  j  j j ƒ  |  j j d |  j _ n |  j j d i | d d 6ƒ d  S(   Nu   nameR  u   tableu   inTableu    unexpected-end-tag-in-table-body(	   R:   R  RS  Rh   RË   RD   R>   RW   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRR  å  s    
c         S` s™   |  j  j d d d ƒsH |  j  j d d d ƒsH |  j  j d d d ƒrv |  j ƒ  |  j t |  j  j d j ƒ ƒ | S|  j j sˆ t	 ‚ |  j j
 ƒ  d  S(   Nu   tbodyR  u   tableu   theadu   tfootiÿÿÿÿ(   R:   R  RS  RR  R¹   Rh   RA   RD   RL   Rv   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=  î  s    
c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu    unexpected-end-tag-in-table-bodyu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR>  û  s    c         S` s   |  j  j d j | ƒ S(   Nu   inTable(   RD   R>   Rq   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   ÿ  s    (   R5   R6   RC   RS  Ru   Ro   Rn   RO  RP  RQ  R½   RR  R=  R>  RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRN     s   	
											t
   InRowPhasec           ` sŒ   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z RS(   c         ` s­   ˆ  j  |  | | ƒ t j d |  j f d |  j f d |  j f g ƒ |  _ |  j |  j _ t j d
 |  j	 f d |  j
 f d |  j f d |  j f g ƒ |  _ |  j |  j _ d  S(   Nu   htmlu   tdu   thu   captionu   colu   colgroupu   tbodyu   tfootu   theadu   tru   tableu   body(   u   tdu   th(   u   captionu   colu   colgroupu   tbodyu   tfootu   theadu   tr(   u   tbodyu   tfootu   thead(   u   bodyu   captionu   colu   colgroupu   htmlu   tdu   th(   RC   R   R»   R®   RP  RQ  R¬   R½   R¾   t   endTagTrR=  RR  R>  R¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC     s     c         S` s[   xT |  j  j d j d k rV |  j j d i |  j  j d j d 6ƒ |  j  j j ƒ  q Wd  S(   Niÿÿÿÿu   tru   htmlu'   unexpected-implied-end-tag-in-table-rowu   name(   u   tru   html(   R:   Rh   RA   RD   Ri   RË   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   clearStackToTableRowContext  s    c         S` s   |  j  j d d d ƒS(   Nu   trR  u   table(   R:   R  (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   ignoreEndTagTr  s    c         S` s   |  j  j d j ƒ  d  S(   Nu   inTable(   RD   R>   Ru   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   "  s    c         S` s   |  j  j d j | ƒ S(   Nu   inTable(   RD   R>   Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   %  s    c         S` s   |  j  j d j | ƒ S(   Nu   inTable(   RD   R>   Rn   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   (  s    c         S` sG   |  j  ƒ  |  j j | ƒ |  j j d |  j _ |  j j j t ƒ d  S(   Nu   inCell(	   RV  R:   R—   RD   R>   RW   R  Rt   R
   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRP  +  s    
c         S` s-   |  j  ƒ  } |  j t d ƒ ƒ | s) | Sd  S(   Nu   tr(   RW  RU  R¹   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRQ  1  s    c         S` s   |  j  j d j | ƒ S(   Nu   inTable(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   8  s    c         S` sb   |  j  ƒ  s? |  j ƒ  |  j j j ƒ  |  j j d |  j _ n |  j j sQ t	 ‚ |  j j
 ƒ  d  S(   Nu   inTableBody(   RW  RV  R:   Rh   RË   RD   R>   RW   RL   Rv   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRU  ;  s    
c         S` s-   |  j  ƒ  } |  j t d ƒ ƒ | s) | Sd  S(   Nu   tr(   RW  RU  R¹   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=  E  s    c         S` sD   |  j  j | d d d ƒr3 |  j t d ƒ ƒ | S|  j j ƒ  d  S(   Nu   nameR  u   tableu   tr(   R:   R  RU  R¹   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRR  M  s    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-end-tag-in-table-rowu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR>  T  s    c         S` s   |  j  j d j | ƒ S(   Nu   inTable(   RD   R>   Rq   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   X  s    (   R5   R6   RC   RV  RW  Ru   Ro   Rn   RP  RQ  R½   RU  R=  RR  R>  RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRT    s   									
			t   InCellPhasec           ` sh   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   c         ` s•   ˆ  j  |  | | ƒ t j d |  j f d |  j f g ƒ |  _ |  j |  j _ t j d |  j f d |  j	 f d |  j
 f g ƒ |  _ |  j |  j _ d  S(   Nu   htmlu   captionu   colu   colgroupu   tbodyu   tdu   tfootu   thu   theadu   tru   bodyu   table(	   u   captionu   colu   colgroupu   tbodyu   tdu   tfootu   thu   theadu   tr(   u   tdu   th(   u   bodyu   captionu   colu   colgroupu   html(   u   tableu   tbodyu   tfootu   theadu   tr(   RC   R   R»   R®   RQ  R¬   R½   R¾   t   endTagTableCellR>  t   endTagImplyR¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   ]  s     c         S` s`   |  j  j d d d ƒr. |  j t d ƒ ƒ n. |  j  j d d d ƒr\ |  j t d ƒ ƒ n  d  S(   Nu   tdR  u   tableu   th(   R:   R  RY  R¹   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt	   closeCelln  s    c         S` s   |  j  j d j ƒ  d  S(   Nu   inBody(   RD   R>   Ru   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   u  s    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rn   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   x  s    c         S` sa   |  j  j d d d ƒs0 |  j  j d d d ƒr> |  j ƒ  | S|  j j sP t ‚ |  j j ƒ  d  S(   Nu   tdR  u   tableu   th(   R:   R  R[  RD   RL   Rv   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRQ  {  s    
c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   …  s    c         S` sü   |  j  j | d d d ƒrÚ |  j  j | d ƒ |  j  j d j | d k r¤ |  j j d i | d d 6ƒ xF t r  |  j  j j ƒ  } | j | d k rn Pqn qn Wn |  j  j j ƒ  |  j  j	 ƒ  |  j j
 d |  j _ n |  j j d i | d d 6ƒ d  S(   Nu   nameR  u   tableiÿÿÿÿu   unexpected-cell-end-tagu   inRowu   unexpected-end-tag(   R:   R  R  Rh   RA   RD   Ri   R\   RË   R3  R>   RW   (   R?   R~   R”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRY  ˆ  s    	c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR>  ™  s    c         S` s;   |  j  j | d d d ƒr* |  j ƒ  | S|  j j ƒ  d  S(   Nu   nameR  u   table(   R:   R  R[  RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRZ  œ  s    
c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rq   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   ¤  s    (   R5   R6   RC   R[  Ru   Rn   RQ  R½   RY  R>  RZ  RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRX  [  s   				
				t   InSelectPhasec           ` sƒ   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z RS(   c         ` sÅ   ˆ  j  |  | | ƒ t j d |  j f d |  j f d |  j f d |  j f d	 |  j f d |  j f g ƒ |  _	 |  j
 |  j	 _ t j d |  j f d |  j f d |  j f g ƒ |  _ |  j |  j _ d  S(
   Nu   htmlu   optionu   optgroupu   selectu   inputu   keygenu   textareau   script(   u   inputu   keygenu   textarea(   RC   R   R»   R®   t   startTagOptiont   startTagOptgroupRõ   Rî   RÆ   R¬   R½   R¾   t   endTagOptiont   endTagOptgroupt   endTagSelectR¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   ¨  s    c         S` sB   |  j  j d j d k r, |  j j d ƒ n |  j j s> t ‚ d  S(   Niÿÿÿÿu   htmlu   eof-in-select(   R:   Rh   RA   RD   Ri   RL   Rv   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   ½  s    c         S` s,   | d d k r d  S|  j  j | d ƒ d  S(   Nu   datau    (   R:   R«   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   Ã  s    c         S` s@   |  j  j d j d k r, |  j  j j ƒ  n  |  j  j | ƒ d  S(   Niÿÿÿÿu   option(   R:   Rh   RA   RË   R—   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR]  È  s    c         S` sl   |  j  j d j d k r, |  j  j j ƒ  n  |  j  j d j d k rX |  j  j j ƒ  n  |  j  j | ƒ d  S(   Niÿÿÿÿu   optionu   optgroup(   R:   Rh   RA   RË   R—   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR^  Î  s
    c         S` s'   |  j  j d ƒ |  j t d ƒ ƒ d  S(   Nu   unexpected-select-in-selectu   select(   RD   Ri   Ra  R¹   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRõ   Õ  s    c         S` sU   |  j  j d ƒ |  j j d d d ƒr? |  j t d ƒ ƒ | S|  j  j sQ t ‚ d  S(   Nu   unexpected-input-in-selectu   selectR  (   RD   Ri   R:   R  Ra  R¹   RL   Rv   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRî   Ù  s
    c         S` s   |  j  j d j | ƒ S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÆ   á  s    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-start-tag-in-selectu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   ä  s    c         S` sJ   |  j  j d j d k r, |  j  j j ƒ  n |  j j d i d d 6ƒ d  S(   Niÿÿÿÿu   optionu   unexpected-end-tag-in-selectu   name(   R:   Rh   RA   RË   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR_  è  s    c         S` s�   |  j  j d j d k rE |  j  j d j d k rE |  j  j j ƒ  n  |  j  j d j d k rq |  j  j j ƒ  n |  j j d i d d 6ƒ d  S(   Niÿÿÿÿu   optioniþÿÿÿu   optgroupu   unexpected-end-tag-in-selectu   name(   R:   Rh   RA   RË   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR`  ï  s    c         S` s…   |  j  j d d d ƒrb |  j  j j ƒ  } x% | j d k rQ |  j  j j ƒ  } q- W|  j j ƒ  n |  j j st t ‚ |  j j	 ƒ  d  S(   Nu   selectR  (
   R:   R  Rh   RË   RA   RD   RY   RL   Rv   Ri   (   R?   R~   R”   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRa  ü  s    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-end-tag-in-selectu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   	  s    (   R5   R6   RC   Ru   Rn   R]  R^  Rõ   Rî   RÆ   R½   R_  R`  Ra  RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR\  §  s   											t   InSelectInTablePhasec           ` sM   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c      	   ` sq   ˆ  j  |  | | ƒ t j d	 |  j f g ƒ |  _ |  j |  j _ t j d
 |  j f g ƒ |  _ |  j	 |  j _ d  S(   Nu   captionu   tableu   tbodyu   tfootu   theadu   tru   tdu   th(   u   captionu   tableu   tbodyu   tfootu   theadu   tru   tdu   th(   u   captionu   tableu   tbodyu   tfootu   theadu   tru   tdu   th(
   RC   R   R»   Rë   R¬   R½   R¾   R=  R¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   	  s    c         S` s   |  j  j d j ƒ  d  S(   Nu   inSelect(   RD   R>   Ru   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   	  s    c         S` s   |  j  j d j | ƒ S(   Nu   inSelect(   RD   R>   Rn   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   	  s    c         S` s5   |  j  j d i | d d 6ƒ |  j t d ƒ ƒ | S(   Nu5   unexpected-table-element-start-tag-in-select-in-tableu   nameu   select(   RD   Ri   RÀ   R¹   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRë   !	  s    c         S` s   |  j  j d j | ƒ S(   Nu   inSelect(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   &	  s    c         S` sU   |  j  j d i | d d 6ƒ |  j j | d d d ƒrQ |  j t d ƒ ƒ | Sd  S(   Nu3   unexpected-table-element-end-tag-in-select-in-tableu   nameR  u   tableu   select(   RD   Ri   R:   R  RÀ   R¹   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=  )	  s    c         S` s   |  j  j d j | ƒ S(   Nu   inSelect(   RD   R>   Rq   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   /	  s    (	   R5   R6   RC   Ru   Rn   Rë   R½   R=  RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRb  	  s   					t   InForeignContentPhasec        -   ` sÑ   e  Z e d  d d d d d d d d d	 d
 d d d d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ g, ƒ Z ‡  f d, †  Z d- „  Z ‡  f d. †  Z d/ „  Z d0 „  Z RS(1   u   bu   bigu
   blockquoteu   bodyu   bru   centeru   codeu   ddu   divu   dlu   dtu   emu   embedu   h1u   h2u   h3u   h4u   h5u   h6u   headu   hru   iu   imgu   liu   listingu   menuu   metau   nobru   olu   pu   preu   rubyu   su   smallu   spanu   strongu   strikeu   subu   supu   tableu   ttu   uu   ulu   varc         ` s   ˆ  j  |  | | ƒ d  S(   N(   RC   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   <	  s    c         S` s+  i$ d d 6d d 6d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6d! d" 6d# d$ 6d% d& 6d' d( 6d) d* 6d+ d, 6d- d. 6d/ d0 6d1 d2 6d3 d4 6d5 d6 6d7 d8 6d9 d: 6d; d< 6d= d> 6d? d@ 6dA dB 6dC dD 6dE dF 6dG dH 6} | dI | k r'| | dI | dI <n  d  S(J   Nu   altGlyphu   altglyphu   altGlyphDefu   altglyphdefu   altGlyphItemu   altglyphitemu   animateColoru   animatecoloru   animateMotionu   animatemotionu   animateTransformu   animatetransformu   clipPathu   clippathu   feBlendu   feblendu   feColorMatrixu   fecolormatrixu   feComponentTransferu   fecomponenttransferu   feCompositeu   fecompositeu   feConvolveMatrixu   feconvolvematrixu   feDiffuseLightingu   fediffuselightingu   feDisplacementMapu   fedisplacementmapu   feDistantLightu   fedistantlightu   feFloodu   fefloodu   feFuncAu   fefuncau   feFuncBu   fefuncbu   feFuncGu   fefuncgu   feFuncRu   fefuncru   feGaussianBluru   fegaussianbluru   feImageu   feimageu   feMergeu   femergeu   feMergeNodeu   femergenodeu   feMorphologyu   femorphologyu   feOffsetu   feoffsetu   fePointLightu   fepointlightu   feSpecularLightingu   fespecularlightingu   feSpotLightu   fespotlightu   feTileu   fetileu   feTurbulenceu   feturbulenceu   foreignObjectu   foreignobjectu   glyphRefu   glyphrefu   linearGradientu   lineargradientu   radialGradientu   radialgradientu   textPathu   textpathu   name(    (   R?   R~   t   replacements(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   adjustSVGTagNames?	  sL    

c         ` sf   | d d k r d | d <n5 |  j  j rR t d „  | d Dƒ ƒ rR t |  j  _ n  ˆ  j |  | ƒ d  S(   Nu   datau    u   ï¿½c         s` s   |  ] } | t  k Vq d  S(   N(   R   (   R�   R  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pys	   <genexpr>l	  s    (   RD   R]   R  RN   Rn   (   R?   R~   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   h	  s    c         S` sŸ  |  j  j d } | d |  j k s\ | d d k rî t | d j ƒ  ƒ t d d d g ƒ @rî |  j j d i | d d 6ƒ xm |  j  j d j |  j  j k ré |  j j	 |  j  j d ƒ ré |  j j
 |  j  j d ƒ ré |  j  j j ƒ  q} W| S| j t d	 k r|  j j | ƒ n3 | j t d
 k rG|  j | ƒ |  j j | ƒ n  |  j j | ƒ | j | d <|  j  j | ƒ | d r›|  j  j j ƒ  t | d <n  d  S(   Niÿÿÿÿu   nameu   fontu   datau   coloru   faceu   sizeu*   unexpected-html-element-in-foreign-contentu   mathmlu   svgu	   namespaceu   selfClosingu   selfClosingAcknowledged(   R:   Rh   t   breakoutElementst   sett   keysRD   Ri   Ra   Rl   Re   Rf   RË   R   R   Re  R   R   R—   R\   (   R?   R~   R�   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp   p	  s.    )
c         S` sZ  t  |  j j ƒ d } |  j j d } | j j t ƒ | d k rc |  j j d i | d d 6ƒ n  xð t rU| j j t ƒ | d k r|  j j	 |  j j
 d k rÌ |  j j	 j ƒ  |  j j	 j |  j _	 n  x. |  j j j ƒ  | k rü |  j j sÏ t ‚ qÏ Wd  } Pn  | d 8} |  j j | } | j |  j j k r<qf qf |  j j	 j | ƒ } Pqf W| S(   Ni   iÿÿÿÿu   nameu   unexpected-end-tagu   inTableText(   Rk   R:   Rh   RA   Rc   R   RD   Ri   R\   RW   R>   RD  R˜   RË   Rv   R9   Ra   Rl   Rq   (   R?   R~   t	   nodeIndexR”   R€   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq   ‹	  s(    !	
(	   R5   R6   Rm   Rf  RC   Re  Rn   Rp   Rq   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRc  2	  s   	)	t   AfterBodyPhasec           ` sV   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         ` sq   ˆ  j  |  | | ƒ t j d |  j f g ƒ |  _ |  j |  j _ t j d |  j f g ƒ |  _ |  j	 |  j _ d  S(   Nu   html(
   RC   R   R»   R®   R¬   R½   R¾   Rü   R¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   ¦	  s    c         S` s   d  S(   N(    (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   ±	  s    c         S` s!   |  j  j | |  j  j d ƒ d  S(   Ni    (   R:   Rª   Rh   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   µ	  s    c         S` s*   |  j  j d ƒ |  j  j d |  j  _ | S(   Nu   unexpected-char-after-bodyu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   º	  s    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR®   ¿	  s    c         S` s8   |  j  j d i | d d 6ƒ |  j  j d |  j  _ | S(   Nu   unexpected-start-tag-after-bodyu   nameu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   Â	  s    c         S` s9   |  j  j r |  j  j d ƒ n |  j  j d |  j  _ d  S(   Nu'   unexpected-end-tag-after-body-innerhtmlu   afterAfterBody(   RD   RL   Ri   R>   RW   (   R?   RA   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRü   È	  s    c         S` s8   |  j  j d i | d d 6ƒ |  j  j d |  j  _ | S(   Nu   unexpected-end-tag-after-bodyu   nameu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   Î	  s    (
   R5   R6   RC   Ru   Rr   Rn   R®   R½   Rü   RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRj  ¥	  s   						t   InFramesetPhasec           ` s_   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         ` s•   ˆ  j  |  | | ƒ t j d |  j f d |  j f d |  j f d |  j f g ƒ |  _ |  j |  j _	 t j d |  j
 f g ƒ |  _ |  j |  j _	 d  S(   Nu   htmlu   framesetu   frameu   noframes(   RC   R   R»   R®   RÙ   t   startTagFramet   startTagNoframesR¬   R½   R¾   t   endTagFramesetR¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   Ö	  s    c         S` sB   |  j  j d j d k r, |  j j d ƒ n |  j j s> t ‚ d  S(   Niÿÿÿÿu   htmlu   eof-in-frameset(   R:   Rh   RA   RD   Ri   RL   Rv   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   æ	  s    c         S` s   |  j  j d ƒ d  S(   Nu   unexpected-char-in-frameset(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   ì	  s    c         S` s   |  j  j | ƒ d  S(   N(   R:   R—   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÙ   ï	  s    c         S` s$   |  j  j | ƒ |  j  j j ƒ  d  S(   N(   R:   R—   Rh   RË   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRl  ò	  s    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRm  ö	  s    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu    unexpected-start-tag-in-framesetu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   ù	  s    c         S` s   |  j  j d j d k r, |  j j d ƒ n |  j  j j ƒ  |  j j r{ |  j  j d j d k r{ |  j j d |  j _ n  d  S(   Niÿÿÿÿu   htmlu)   unexpected-frameset-in-frameset-innerhtmlu   framesetu   afterFrameset(	   R:   Rh   RA   RD   Ri   RË   RL   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn  ý	  s    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   unexpected-end-tag-in-framesetu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   	
  s    (   R5   R6   RC   Ru   Rn   RÙ   Rl  Rm  R½   Rn  RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRk  Ô	  s   							t   AfterFramesetPhasec           ` sM   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         ` s}   ˆ  j  |  | | ƒ t j d |  j f d |  j f g ƒ |  _ |  j |  j _ t j d |  j f g ƒ |  _	 |  j
 |  j	 _ d  S(   Nu   htmlu   noframes(   RC   R   R»   R®   Rm  R¬   R½   R¾   Rü   R¯   RÀ   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   
  s    c         S` s   d  S(   N(    (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   
  s    c         S` s   |  j  j d ƒ d  S(   Nu   unexpected-char-after-frameset(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   !
  s    c         S` s   |  j  j d j | ƒ S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRm  $
  s    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu#   unexpected-start-tag-after-framesetu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   '
  s    c         S` s   |  j  j d |  j  _ d  S(   Nu   afterAfterFrameset(   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRü   +
  s    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu!   unexpected-end-tag-after-framesetu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRÀ   .
  s    (	   R5   R6   RC   Ru   Rn   Rm  R½   Rü   RÀ   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo  
  s   					t   AfterAfterBodyPhasec           ` sV   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         ` sD   ˆ  j  |  | | ƒ t j d |  j f g ƒ |  _ |  j |  j _ d  S(   Nu   html(   RC   R   R»   R®   R¬   R½   R¾   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   3
  s    c         S` s   d  S(   N(    (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   ;
  s    c         S` s   |  j  j | |  j  j ƒ d  S(   N(   R:   Rª   R±   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   >
  s    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   A
  s    c         S` s*   |  j  j d ƒ |  j  j d |  j  _ | S(   Nu   expected-eof-but-got-charu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   D
  s    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR®   I
  s    c         S` s8   |  j  j d i | d d 6ƒ |  j  j d |  j  _ | S(   Nu   expected-eof-but-got-start-tagu   nameu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   L
  s    c         S` s8   |  j  j d i | d d 6ƒ |  j  j d |  j  _ | S(   Nu   expected-eof-but-got-end-tagu   nameu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq   R
  s    (
   R5   R6   RC   Ru   Rr   Ro   Rn   R®   R½   Rq   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp  2
  s   						t   AfterAfterFramesetPhasec           ` s_   e  Z ‡  f d  †  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         ` sP   ˆ  j  |  | | ƒ t j d |  j f d |  j f g ƒ |  _ |  j |  j _ d  S(   Nu   htmlu   noframes(   RC   R   R»   R®   t   startTagNoFramesR¬   R½   R¾   (   R?   RD   R:   (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   Y
  s
    c         S` s   d  S(   N(    (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   b
  s    c         S` s   |  j  j | |  j  j ƒ d  S(   N(   R:   Rª   R±   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   e
  s    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   h
  s    c         S` s   |  j  j d ƒ d  S(   Nu   expected-eof-but-got-char(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   k
  s    c         S` s   |  j  j d j | ƒ S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR®   n
  s    c         S` s   |  j  j d j | ƒ S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr  q
  s    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   expected-eof-but-got-start-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR½   t
  s    c         S` s"   |  j  j d i | d d 6ƒ d  S(   Nu   expected-eof-but-got-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq   x
  s    (   R5   R6   RC   Ru   Rr   Ro   Rn   R®   Rr  R½   Rq   (    (   R¨   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq  X
  s   								u   initialu
   beforeHtmlu
   beforeHeadu   inHeadu   inHeadNoscriptu	   afterHeadu   inBodyu   textu   inTableu   inTableTextu	   inCaptionu   inColumnGroupu   inTableBodyu   inRowu   inCellu   inSelectu   inSelectInTableu   inForeignContentu	   afterBodyu
   inFramesetu   afterFramesetu   afterAfterBodyu   afterAfterFrameset(   R   (   R@   RP   R§   R°   R·   Rº   RÂ   RÓ   R×   RÜ   R4  R6  RA  RE  RJ  RN  RT  RX  R\  Rb  Rc  Rj  Rk  Ro  Rp  Rq  (    (   R¨   sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=   _  sh    		%)€#.g@Cÿ ÿ Õ!‘-GBbYLd's/9%&%c         ` s}   t  s t j r, t |  d ƒ t ˆ  ƒ @} n t |  d ƒ t ˆ  ƒ @} | ry t ‡  f d †  |  d j ƒ  Dƒ ƒ |  d <n  d  S(   Nu   datac         3` s-   |  ]# \ } } ˆ  j  | | ƒ | f Vq d  S(   N(   Rj   (   R�   t   kt   v(   Rd  (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pys	   <genexpr>Ÿ
  s   (   R   R   t   PY27R   Rm   R   R(   (   R~   Rd  t   needs_adjustment(    (   Rd  sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR�   ™
  s    u   EndTagc         C` s9   | d  k r i  } n  i t | d 6|  d 6| d 6| d 6S(   Nu   typeu   nameu   datau   selfClosing(   R9   R   (   RA   R,   Rb   R  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR¹   £
  s    	RŠ   c           B` s   e  Z d  Z RS(   u   Error in parsed document(   R5   R6   R›   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRŠ   «
  s   (4   t
   __future__R    R   R   t   pip._vendor.sixR   R   R   R*   t   collectionsR   t   ImportErrort   pip._vendor.ordereddictt    R   R   R	   t   treebuilders.baseR
   R   t	   constantsR   R   R   R   R   R   R   R   R   R   R   R   R�   R   R   R   R   R\   R   R&   R7   t   objectR   t   memoizeR=   R�   R9   RN   R¹   t	   ExceptionRŠ   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   <module>   s>   j	ÿ (ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ C	
