Ë
    á]j¬É ã                   ó(  — d dl mZmZmZ d dlmZ d dl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 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d„Z dd„Z!d„ Z" G d„ de#«      Z$ejJ                  d„ «       Z&d„ Z'	 	 dd„Z( G d„ de)«      Z*y)é    )Úabsolute_importÚdivisionÚunicode_literals)ÚviewkeysNé   )Ú_inputstream)Ú
_tokenizer)Útreebuilders)ÚMarker)Ú_utils)ÚspaceCharactersÚasciiUpper2LowerÚspecialElementsÚheadingElementsÚcdataElementsÚrcdataElementsÚ
tokenTypesÚtagTokenTypesÚ
namespacesÚhtmlIntegrationPointElementsÚ"mathmlTextIntegrationPointElementsÚadjustForeignAttributesÚadjustMathMLAttributesÚadjustSVGAttributesÚEÚ_ReparseExceptionc                 ól   — t        j                  |«      }t        ||¬«      } |j                  | fi |¤ŽS )aò  Parse an HTML document as a string or file-like object into a tree

    :arg doc: the document to parse as a string or file-like object

    :arg treebuilder: the treebuilder to use when parsing

    :arg namespaceHTMLElements: whether or not to namespace HTML elements

    :returns: parsed tree

    Example:

    >>> from html5lib.html5parser import parse
    >>> parse('<html><body><p>This is a doc</p></body></html>')
    <Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0>

    ©ÚnamespaceHTMLElements)r
   ÚgetTreeBuilderÚ
HTMLParserÚparse)ÚdocÚtreebuilderr   ÚkwargsÚtbÚps         úZ/var/www/zogu/zoguvenv/lib/python3.12/site-packages/bleach/_vendor/html5lib/html5parser.pyr"   r"      s7   € ô$ 
×	$Ñ	$ [Ó	1€BÜ�2Ð-BÔC€AØˆ1�7‰7�3Ñ!˜&Ñ!Ð!ó    c                 óp   — t        j                  |«      }t        ||¬«      } |j                  | fd|i|¤ŽS )a#  Parse an HTML fragment as a string or file-like object into a tree

    :arg doc: the fragment to parse as a string or file-like object

    :arg container: the container context to parse the fragment in

    :arg treebuilder: the treebuilder to use when parsing

    :arg namespaceHTMLElements: whether or not to namespace HTML elements

    :returns: parsed tree

    Example:

    >>> from html5lib.html5libparser import parseFragment
    >>> parseFragment('<b>this is a fragment</b>')
    <Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090>

    r   Ú	container)r
   r    r!   ÚparseFragment)r#   r+   r$   r   r%   r&   r'   s          r(   r,   r,   1   s<   € ô( 
×	$Ñ	$ [Ó	1€BÜ�2Ð-BÔC€AØˆ1�?‰?˜3Ñ>¨)Ð>°vÑ>Ð>r)   c                 ó*   ‡ —  G ˆ fd„dt         «      }|S )Nc                   ó   •— e Zd Zˆ fd„Zy)ú-method_decorator_metaclass.<locals>.Decoratedc                 ó²   •— |j                  «       D ],  \  }}t        |t        j                  «      r ‰|«      }|||<   Œ. t        j                  | |||«      S ©N)ÚitemsÚ
isinstanceÚtypesÚFunctionTypeÚtypeÚ__new__)ÚmetaÚ	classnameÚbasesÚ	classDictÚattributeNameÚ	attributeÚfunctions         €r(   r7   z5method_decorator_metaclass.<locals>.Decorated.__new__L   sY   ø€ Ø,5¯O©OÓ,=ò 5Ñ(�˜yÜ˜i¬×);Ñ);Ô<Ù (¨Ó 3�Ià+4�	˜-Ò(ð	5ô
 —<‘<  i°¸	ÓBÐBr)   N)Ú__name__Ú
__module__Ú__qualname__r7   )r>   s   €r(   Ú	Decoratedr/   K   s	   ø„ õ	Cr)   rB   )r6   )r>   rB   s   ` r(   Úmethod_decorator_metaclassrC   J   s   ø€ öC”Dô Cð Ðr)   c                   ó€   — e Zd ZdZdd„Zdd„Zd„ Zed„ «       Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)r!   z]HTML parser

    Generates a tree structure from a stream of (possibly malformed) HTML.

    Nc           	      óú   — || _         |€t        j                  d«      } ||«      | _        g | _        t        |«      j                  «       D ��ci c]  \  }}| || | j                  «      “Œ c}}| _        yc c}}w )aÑ  
        :arg tree: a treebuilder class controlling the type of tree that will be
            returned. Built in treebuilders can be accessed through
            html5lib.treebuilders.getTreeBuilder(treeType)

        :arg strict: raise an exception when a parse error is encountered

        :arg namespaceHTMLElements: whether or not to namespace HTML elements

        :arg debug: whether or not to enable debug mode which logs things

        Example:

        >>> from html5lib.html5parser import HTMLParser
        >>> parser = HTMLParser()                     # generates parser with etree builder
        >>> parser = HTMLParser('lxml', strict=True)  # generates parser with lxml builder which is strict

        NÚetree)Ústrictr
   r    ÚtreeÚerrorsÚ	getPhasesr2   Úphases)ÚselfrH   rG   r   ÚdebugÚnameÚclss          r(   Ú__init__zHTMLParser.__init__]   ss   € ð* ˆŒàˆ<Ü×.Ñ.¨wÓ7ˆDÙÐ.Ó/ˆŒ	ØˆŒô ! Ó'×-Ñ-Ó/÷1±i°d¸C�t™S  t§y¡yÓ1Ñ1ó 1ˆ�ùó 1s   ÁA7c                 ó  — || _         || _        || _        t        j                  |fd| i|¤Ž| _        | j                  «        	 | j                  «        y # t        $ r# | j                  «        | j                  «        Y y w xY w)NÚparser)	ÚinnerHTMLModer+   Ú	scriptingr	   ÚHTMLTokenizerÚ	tokenizerÚresetÚmainLoopr   )rL   ÚstreamÚ	innerHTMLr+   rT   r%   s         r(   Ú_parsezHTMLParser._parse|   sl   € à&ˆÔØ"ˆŒØ"ˆŒÜ#×1Ñ1°&ÑPÀÐPÈÑPˆŒØ�
‰
Œð	Ø�M‰M�OøÜ ò 	Ø�J‰JŒLØ�M‰MŽOð	ús   ÁA Á)BÂ Bc                 óò  — | j                   j                  «        d| _        g | _        g | _        d| _        | j                  �r| j                  j                  «       | _	        | j                  t        v r&| j                  j                  | j                  _        nn| j                  t        v r&| j                  j                  | j                  _        n6| j                  dk(  r&| j                  j                   | j                  _        n	 | j"                  d   | _        | j$                  j'                  «        | j)                  «        nd| _	        | j"                  d   | _        d | _        d | _        d| _        y )NFz	no quirksÚ	plaintextÚ
beforeHtmlÚinitialT)rH   rW   ÚfirstStartTagrI   ÚlogÚ
compatModerS   r+   ÚlowerrZ   r   rV   ÚrcdataStateÚstater   ÚrawtextStateÚplaintextStaterK   ÚphaseÚinsertHtmlElementÚresetInsertionModeÚ	lastPhaseÚbeforeRCDataPhaseÚ
framesetOK©rL   s    r(   rW   zHTMLParser.resetŠ   s  € Ø�	‰	�‰ÔØ"ˆÔØˆŒØˆŒà%ˆŒà×ÓØ!Ÿ^™^×1Ñ1Ó3ˆDŒNà�~‰~¤Ñ.Ø'+§~¡~×'AÑ'A�—‘Õ$Ø—‘¤>Ñ1Ø'+§~¡~×'BÑ'B�—‘Õ$Ø—‘ ;Ò.Ø'+§~¡~×'DÑ'D�—‘Õ$ð ØŸ™ \Ñ2ˆDŒJØ�J‰J×(Ñ(Ô*Ø×#Ñ#Õ%à"ˆDŒNØŸ™ YÑ/ˆDŒJàˆŒà!%ˆÔàˆ�r)   c                 óv   — t        | d«      sy| j                  j                  j                  d   j                  S )z‡Name of the character encoding that was used to decode the input stream, or
        :obj:`None` if that is not determined yet

        rV   Nr   )ÚhasattrrV   rY   ÚcharEncodingrN   rn   s    r(   ÚdocumentEncodingzHTMLParser.documentEncoding¬   s2   € ô �t˜[Ô)ØØ�~‰~×$Ñ$×1Ñ1°!Ñ4×9Ñ9Ð9r)   c                 óð   — |j                   dk(  rJ|j                  t        d   k(  r4d|j                  v xr$ |j                  d   j	                  t
        «      dv S |j                  |j                   ft        v S )Núannotation-xmlÚmathmlÚencoding)z	text/htmlzapplication/xhtml+xml)rN   Ú	namespacer   Ú
attributesÚ	translater   r   ©rL   Úelements     r(   ÚisHTMLIntegrationPointz!HTMLParser.isHTMLIntegrationPoint¶   s{   € Ø�L‰LÐ,Ò,Ø×!Ñ!¤Z°Ñ%9Ò9Ø '×"4Ñ"4Ð4ò ;Ø×&Ñ& zÑ2×<Ñ<Ü(ó*à:ð;ð<ð
 ×%Ñ% w§|¡|Ð4Ô8TÐTÐTr)   c                 ó>   — |j                   |j                  ft        v S r1   )rw   rN   r   rz   s     r(   ÚisMathMLTextIntegrationPointz'HTMLParser.isMathMLTextIntegrationPointÀ   s   € Ø×!Ñ! 7§<¡<Ð0Ô4VÐVÐVr)   c                 óL  — t         d   }t         d   }t         d   }t         d   }t         d   }t         d   }t         d   }| j                  D �]  }d }	|}
|
��Î|
}	| 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 }
�nDt        | j                  j                  «      dk(  s}|| j                  j                  k(  sd| j                  |«      r||k(  r|d   t        ddg«      vs<|||fv s6|t        d   k(  r|dk(  r||k(  r|d   dk(  s| j                  |«      r||||fv r| j                  }n| j                  d   }||k(  r|j!                  |
«      }
nr||k(  r|j#                  |
«      }
n[||k(  r|j%                  |
«      }
nD||k(  r|j'                  |
«      }
n-||k(  r|j)                  |
«      }
n||k(  r|j+                  |
«      }
|
��ŒÎ|k(  s�Œà|	d   s�Œç|	d   r�Œî| j                  dd|	d   i«       �Œ d}g }|rK|j-                  | j                  «       | j                  j/                  «       }|r| j                  |vsJ ‚|rŒJy y )NÚ
CharactersÚSpaceCharactersÚStartTagÚEndTagÚCommentÚDoctypeÚ
ParseErroréÿÿÿÿr6   ÚdataÚdatavarsr   rN   ÚmglyphÚ
malignmarkru   rt   ÚsvgÚinForeignContentÚselfClosingÚselfClosingAcknowledgedz&non-void-element-with-trailing-solidusT)r   rV   rH   ÚopenElementsrw   rN   Ú
parseErrorÚgetÚlenÚdefaultNamespacer~   Ú	frozensetr   r|   rh   rK   ÚprocessCharactersÚprocessSpaceCharactersÚprocessStartTagÚprocessEndTagÚprocessCommentÚprocessDoctypeÚappendÚ
processEOF)rL   ÚCharactersTokenÚSpaceCharactersTokenÚStartTagTokenÚEndTagTokenÚCommentTokenÚDoctypeTokenÚParseErrorTokenÚtokenÚ
prev_tokenÚ	new_tokenÚcurrentNodeÚcurrentNodeNamespaceÚcurrentNodeNamer6   rh   Ú	reprocessrK   s                     r(   rX   zHTMLParser.mainLoopÃ   sÌ  € Ü$ \Ñ2ˆÜ)Ð*;Ñ<ÐÜ" :Ñ.ˆÜ  Ñ*ˆÜ! )Ñ,ˆÜ! )Ñ,ˆÜ$ \Ñ2ˆà—^‘^ó /	>ˆEØˆJØˆIØÑ'Ø&�
Ø<@¿I¹I×<RÒ<R˜dŸi™i×4Ñ4°RÒ8ÐX\�Ù@K {×'<Ò'<ÐQUÐ$Ù6A +×"2Ò"2Àt�à  Ñ(�à˜?Ò*Ø—O‘O I¨fÑ$5°y·}±}ÀZÐQSÓ7TÔUØ $’Iä˜DŸI™I×2Ñ2Ó3°qÒ8Ø,°·	±	×0JÑ0JÒJØ×:Ñ:¸;ÔGØ =Ò0Ø  ™=´	¸8À\Ð:RÓ0SÑSØ ?Ð4HÐ"IÑIØ-´¸HÑ1EÒEØ(Ð,<Ò<Ø Ò.Ø˜v™¨%Ò/Ø×4Ñ4°[ÔAØ -°ÐBVÐ!WÑWØ $§
¡
™à $§¡Ð,>Ñ ?˜à˜Ò.Ø$)×$;Ñ$;¸IÓ$F™	ØÐ!5Ò5Ø$)×$@Ñ$@ÀÓ$K™	Ø Ò.Ø$)×$9Ñ$9¸)Ó$D™	Ø Ò,Ø$)×$7Ñ$7¸	Ó$B™	Ø Ò-Ø$)×$8Ñ$8¸Ó$C™	Ø Ò-Ø$)×$8Ñ$8¸Ó$C˜	ðO Ò'ðR ˜Ô%¨*°]Ô*CØ"Ð#<Ô=Ø—‘Ð HØ!'¨°FÑ);Ð <ö>ð]/	>ðd ˆ	ØˆÙØ�M‰M˜$Ÿ*™*Ô%ØŸ
™
×-Ñ-Ó/ˆIÙØ—z‘z¨Ñ/Ð/Ð/ô	 r)   c                 óf   —  | j                   |ddg|¢­i |¤Ž | j                  j                  «       S )aî  Parse a HTML document into a well-formed tree

        :arg stream: a file-like 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).

        :arg scripting: treat noscript elements as if JavaScript was turned on

        :returns: parsed tree

        Example:

        >>> from html5lib.html5parser import HTMLParser
        >>> parser = HTMLParser()
        >>> parser.parse('<html><body><p>This is a doc</p></body></html>')
        <Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0>

        FN)r[   rH   ÚgetDocument©rL   rY   Úargsr%   s       r(   r"   zHTMLParser.parse  s3   € ð, 	ˆ�‰�F˜E 4Ð9¨$Ò9°&Ò9Ø�y‰y×$Ñ$Ó&Ð&r)   c                 ód   —  | j                   |dg|¢­i |¤Ž | j                  j                  «       S )aZ  Parse a HTML fragment into a well-formed tree fragment

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

        :arg stream: a file-like 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)

        :arg scripting: treat noscript elements as if JavaScript was turned on

        :returns: parsed tree

        Example:

        >>> from html5lib.html5libparser import HTMLParser
        >>> parser = HTMLParser()
        >>> parser.parseFragment('<b>this is a fragment</b>')
        <Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090>

        T)r[   rH   ÚgetFragmentr®   s       r(   r,   zHTMLParser.parseFragment  s1   € ð2 	ˆ�‰�F˜DÐ2 4Ò2¨6Ò2Ø�y‰y×$Ñ$Ó&Ð&r)   c                 óÎ   — |€i }| j                   j                  | j                  j                  j	                  «       ||f«       | j
                  rt        t        |   |z  «      ‚y r1   )rI   rœ   rV   rY   ÚpositionrG   r†   r   )rL   Ú	errorcoder‰   s      r(   r‘   zHTMLParser.parseError;  sY   € àÐØˆHØ�‰×Ñ˜DŸN™N×1Ñ1×:Ñ:Ó<¸iÈÐRÔSØ�;Š;ÜœQ˜y™\¨HÑ4Ó5Ð5ð r)   c                 ó$   — t        |t        «       y r1   )Úadjust_attributesr   ©rL   r¥   s     r(   r   z!HTMLParser.adjustMathMLAttributesC  s   € Ü˜%Ô!7Õ8r)   c                 ó$   — t        |t        «       y r1   )r¶   r   r·   s     r(   r   zHTMLParser.adjustSVGAttributesF  s   € Ü˜%Ô!4Õ5r)   c                 ó$   — t        |t        «       y r1   )r¶   ÚadjustForeignAttributesMapr·   s     r(   r   z"HTMLParser.adjustForeignAttributesI  s   € Ü˜%Ô!;Õ<r)   c                 ó8   — | j                   j                  «        y r1   )rR   rh   r·   s     r(   ÚreparseTokenNormalzHTMLParser.reparseTokenNormalL  s   € à�‰×ÑÕr)   c                 óè  — d}ddddddddddd	d	d
ddœ}| j                   j                  d d d…   D ]¹  }|j                  }d }|| j                   j                  d   k(  r| j                  sJ ‚d}| j                  }|dv r| j                  sJ ‚|s$|j                  | j                   j
                  k7  rŒ�||v r| j                  ||      } || _        y |sŒ£| j                  d	   } || _        y  | _        y )NFÚinSelectÚinCellÚinRowÚinTableBodyÚ	inCaptionÚinColumnGroupÚinTableÚinBodyÚ
inFramesetÚ
beforeHead)ÚselectÚtdÚthÚtrÚtbodyÚtheadÚtfootÚcaptionÚcolgroupÚtableÚheadÚbodyÚframesetÚhtmlr‡   r   T)rÈ   rÐ   rÒ   rÕ   )rH   r�   rN   rZ   rw   r”   rK   rh   )rL   ÚlastÚnewModesÚnodeÚnodeNameÚ	new_phases         r(   rj   zHTMLParser.resetInsertionModeP  s  € ð ˆà ØØØØ"Ø"Ø"Ø"Ø'ØØØØ$Ø ñ
ˆð  —I‘I×*Ñ*©4¨R¨4Ñ0ò 	ˆDØ—y‘yˆHØˆIØ�t—y‘y×-Ñ-¨aÑ0Ò0Ø—~’~Ð%�~Ø�ØŸ>™>�ð ÐAÑAØ—~’~Ð%�~á˜DŸN™N¨d¯i©i×.HÑ.HÒHØà˜8Ñ#Ø ŸK™K¨°Ñ(:Ñ;�	Øð
 ˆ�
ò	 Ø ŸK™K¨Ñ1�	Øàˆ�
ð-	ð, ˆ�
r)   c                 ó0  — |dv sJ ‚| j                   j                  |«       |dk(  r&| j                  j                  | j                  _        n%| j                  j
                  | j                  _        | j                  | _        | j                  d   | _        y )N)ÚRAWTEXTÚRCDATArÜ   Útext)	rH   ÚinsertElementrV   rf   re   rd   rh   ÚoriginalPhaserK   )rL   r¥   ÚcontentTypes      r(   ÚparseRCDataRawtextzHTMLParser.parseRCDataRawtext|  ss   € àÐ3Ñ3Ð3Ð3à�	‰	×Ñ Ô&à˜)Ò#Ø#'§>¡>×#>Ñ#>ˆD�N‰NÕ à#'§>¡>×#=Ñ#=ˆD�N‰NÔ à!ŸZ™ZˆÔà—[‘[ Ñ(ˆ�
r)   )NFTF)FÚdivF)zXXX-undefined-errorN)r?   r@   rA   Ú__doc__rP   r[   rW   Úpropertyrr   r|   r~   rX   r"   r,   r‘   r   r   r   r¼   rj   râ   © r)   r(   r!   r!   V   sl   „ ñó1ó>ò ðD ñ:ó ð:òUòWòA0òF'ò2'ó86ò9ò6ò=òò*óX)r)   r!   c                 óâ  ‡‡‡— d„ }d„ } G d„ d || |«      ¬«      Š G d„ d‰«      } G d„ d	‰«      } G d
„ d‰«      } G d„ d‰«      } G d„ d‰«      } G d„ d‰«      } G ˆˆfd„d‰«      Š G d„ d‰«      }	 G ˆfd„d‰«      }
 G ˆfd„d‰«      Š G ˆfd„d‰«      } G ˆfd„d‰«      } G ˆfd„d‰«      } G ˆfd „d!‰«      } G ˆfd"„d#‰«      } G ˆfd$„d%‰«      } G d&„ d'‰«      } G ˆfd(„d)‰«      } G d*„ d+‰«      } G ˆfd,„d-‰«      } G ˆfd.„d/‰«      } G d0„ d1‰«      } G d2„ d3‰«      }i d4|“d5|“d6|“d7|“d8|“d9|“d:‰“d;|	“d<|
“d=‰“d>|“d?|“d@|“dA|“dB|“dC|“dD|“||||||dEœ¥S )FNc                 ór   ‡ ‡— t        j                  «       D ��ci c]  \  }}||“Œ
 c}}Šˆ ˆfd„}|S c c}}w )z4Logger that records which phase processes each tokenc                 óú  •— ‰j                   j                  d«      rÔt        |«      dkD  rÆ|d   }d‰|d      i}|d   t        v r|d   |d<   | j                  j
                  j                  | j                  j                  j                  j                   | j                  j                  j                  j                   | j                  j                   ‰j                   |f«        ‰| g|¢­i |¤ŽS  ‰| g|¢­i |¤ŽS )NÚprocessr   r6   rN   )r?   Ú
startswithr“   r   rR   ra   rœ   rV   re   rh   Ú	__class__)rL   r¯   r%   r¥   Úinfor>   Ú
type_namess        €€r(   Úwrappedz'getPhases.<locals>.log.<locals>.wrapped’  sç   ø€ Ø× Ñ ×+Ñ+¨IÔ6¼3¸t»9Àqº=Ø˜Q™�Ø 
¨5°©=Ñ 9Ð:�Ø˜‘=¤MÑ1Ø#(¨¡=�D˜‘Là—‘—‘×&Ñ&¨¯©×(=Ñ(=×(CÑ(C×(LÑ(LØ(,¯©×(9Ñ(9×(CÑ(C×(LÑ(LØ(,¯©×(?Ñ(?Ø(0×(9Ñ(9Ø(,ð	(.ô /ñ
   Ð6 tÒ6¨vÑ6Ð6á Ð6 tÒ6¨vÑ6Ð6r)   )r   r2   )r>   ÚkeyÚvaluerï   rî   s   `   @r(   ra   zgetPhases.<locals>.logŽ  s6   ù€ ä3=×3CÑ3CÓ3E×F¡Z S¨%�e˜S‘jÓFˆ
õ	7ð ˆùó# Gs   š3c                 ó(   — | rt        |«      S t        S r1   )rC   r6   )Úuse_metaclassÚmetaclass_funcs     r(   ÚgetMetaclasszgetPhases.<locals>.getMetaclass£  s   € ÙÜ-¨nÓ=Ð=äˆKr)   c                   óJ   — e 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y)úgetPhases.<locals>.PhasezNBase class for helper object that implements each phase of processing
        )rR   rH   Ú__startTagCacheÚ__endTagCachec                 ó<   — || _         || _        i | _        i | _        y r1   )rR   rH   Ú_Phase__startTagCacheÚ_Phase__endTagCache)rL   rR   rH   s      r(   rP   z!getPhases.<locals>.Phase.__init__¯  s    € Ø ˆDŒKØˆDŒIØ#%ˆDÔ Ø!#ˆDÕr)   c                 ó   — t         ‚r1   )ÚNotImplementedErrorrn   s    r(   r�   z#getPhases.<locals>.Phase.processEOFµ  s   € Ü%Ð%r)   c                 ój   — | j                   j                  || j                   j                  d   «       y )Nr‡   ©rH   ÚinsertCommentr�   r·   s     r(   rš   z'getPhases.<locals>.Phase.processComment¸  s'   € ð �I‰I×#Ñ# E¨4¯9©9×+AÑ+AÀ"Ñ+EÕFr)   c                 ó:   — | j                   j                  d«       y )Nzunexpected-doctype©rR   r‘   r·   s     r(   r›   z'getPhases.<locals>.Phase.processDoctype½  s   € Ø�K‰K×"Ñ"Ð#7Õ8r)   c                 ó@   — | j                   j                  |d   «       y ©Nrˆ   ©rH   Ú
insertTextr·   s     r(   r–   z*getPhases.<locals>.Phase.processCharactersÀ  ó   € Ø�I‰I× Ñ   v¡Õ/r)   c                 ó@   — | j                   j                  |d   «       y r  r  r·   s     r(   r—   z/getPhases.<locals>.Phase.processSpaceCharactersÃ  r  r)   c                 ó¼  — |d   }|| j                   v r| j                   |   }n²| j                  |   x}| j                   |<   t        | j                   «      t        | j                  «      dz  kD  rf| j                   j                  t	        t        | j                   «      «      «       t        | j                   «      t        | j                  «      dz  kD  rŒf ||«      S ©NrN   gš™™™™™ñ?)rû   ÚstartTagHandlerr“   ÚpopÚnextÚiter©rL   r¥   rN   Úfuncs       r(   r˜   z(getPhases.<locals>.Phase.processStartTagÆ  sÅ   € ð ˜‘=ˆDð �t×+Ñ+Ñ+Ø×+Ñ+¨DÑ1‘à48×4HÑ4HÈÑ4NÐN��t×+Ñ+¨DÑ1ä˜$×.Ñ.Ó/´#°d×6JÑ6JÓ2KÈcÑ2QÒQà×(Ñ(×,Ñ,¬T´$°t×7KÑ7KÓ2LÓ-MÔNô ˜$×.Ñ.Ó/´#°d×6JÑ6JÓ2KÈcÑ2QÓQñ ˜“;Ðr)   c                 óf  — | j                   j                  s#|d   dk(  r| j                   j                  d«       |d   j                  «       D ]Q  \  }}|| j                  j
                  d   j                  vsŒ,|| j                  j
                  d   j                  |<   ŒS d| j                   _        y )NrN   rÕ   znon-html-rootrˆ   r   F)rR   r`   r‘   r2   rH   r�   rx   ©rL   r¥   Úattrrñ   s       r(   ÚstartTagHtmlz%getPhases.<locals>.Phase.startTagHtml×  sš   € Ø—;‘;×,Ò,°°v±À&Ò1HØ—‘×&Ñ& Ô7ð  % V™}×2Ñ2Ó4ò G‘��eØ˜tŸy™y×5Ñ5°aÑ8×CÑCÒCØAF�D—I‘I×*Ñ*¨1Ñ-×8Ñ8¸Ò>ðGð ).ˆD�K‰KÕ%r)   c                 ó¼  — |d   }|| j                   v r| j                   |   }n²| j                  |   x}| j                   |<   t        | j                   «      t        | j                  «      dz  kD  rf| j                   j                  t	        t        | j                   «      «      «       t        | j                   «      t        | j                  «      dz  kD  rŒf ||«      S r  )rü   ÚendTagHandlerr“   r  r  r  r  s       r(   r™   z&getPhases.<locals>.Phase.processEndTagá  sÅ   € ð ˜‘=ˆDð �t×)Ñ)Ñ)Ø×)Ñ)¨$Ñ/‘à26×2DÑ2DÀTÑ2JÐJ��t×)Ñ)¨$Ñ/ä˜$×,Ñ,Ó-´°D×4FÑ4FÓ0GÈ#Ñ0MÒMà×&Ñ&×*Ñ*¬4´°T×5GÑ5GÓ0HÓ+IÔJô ˜$×,Ñ,Ó-´°D×4FÑ4FÓ0GÈ#Ñ0MÓMñ ˜“;Ðr)   N)r?   r@   rA   rä   Ú	__slots__rP   r�   rš   r›   r–   r—   r˜   r  r™   ræ   r)   r(   ÚPhaser÷   ª  s:   „ ñ	àJˆ	ò	$ò	&ò	Gò
	9ò	0ò	0ò	ò"	.ó	r)   r  )Ú	metaclassc                   óJ   — e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zy	)
úgetPhases.<locals>.InitialPhasec                  ó   — y r1   ræ   r·   s     r(   r—   z6getPhases.<locals>.InitialPhase.processSpaceCharactersõ  ó   € Ør)   c                 ód   — | j                   j                  || j                   j                  «       y r1   ©rH   r  Údocumentr·   s     r(   rš   z.getPhases.<locals>.InitialPhase.processCommentø  ó    € Ø�I‰I×#Ñ# E¨4¯9©9×+=Ñ+=Õ>r)   c                 ó\  — |d   }|d   }|d   }|d   }|dk7  s	|€|� |dk7  r| j                   j                  d«       |€d}| j                  j                  |«       |dk7  r|j	                  t
        «      }|rE|d   dk7  s=|j                  d	«      s,|d
v s(|j                  d«      r|�|r%|j                  «       dk(  rd| j                   _        n5|j                  d«      s|j                  d«      r|�d| j                   _        | j                   j                  d   | j                   _
        y )NrN   ÚpublicIdÚsystemIdÚcorrectrÕ   zabout:legacy-compatzunknown-doctypeÚ )7z*+//silmaril//dtd html pro v0r11 19970101//z4-//advasoft ltd//dtd html 3.0 aswedit + extensions//z*-//as//dtd html 3.0 aswedit + extensions//z-//ietf//dtd html 2.0 level 1//z-//ietf//dtd html 2.0 level 2//z&-//ietf//dtd html 2.0 strict level 1//z&-//ietf//dtd html 2.0 strict level 2//z-//ietf//dtd html 2.0 strict//z-//ietf//dtd html 2.0//z-//ietf//dtd html 2.1e//z-//ietf//dtd html 3.0//z-//ietf//dtd html 3.2 final//z-//ietf//dtd html 3.2//z-//ietf//dtd html 3//z-//ietf//dtd html level 0//z-//ietf//dtd html level 1//z-//ietf//dtd html level 2//z-//ietf//dtd html level 3//z"-//ietf//dtd html strict level 0//z"-//ietf//dtd html strict level 1//z"-//ietf//dtd html strict level 2//z"-//ietf//dtd html strict level 3//z-//ietf//dtd html strict//z-//ietf//dtd html//z(-//metrius//dtd metrius presentational//z5-//microsoft//dtd internet explorer 2.0 html strict//z.-//microsoft//dtd internet explorer 2.0 html//z0-//microsoft//dtd internet explorer 2.0 tables//z5-//microsoft//dtd internet explorer 3.0 html strict//z.-//microsoft//dtd internet explorer 3.0 html//z0-//microsoft//dtd internet explorer 3.0 tables//z#-//netscape comm. corp.//dtd html//z*-//netscape comm. corp.//dtd strict html//z*-//o'reilly and associates//dtd html 2.0//z3-//o'reilly and associates//dtd html extended 1.0//z;-//o'reilly and associates//dtd html extended relaxed 1.0//zN-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//zE-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//z$-//spyglass//dtd html 2.0 extended//z+-//sq//dtd html 2.0 hotmetal + extensions//z--//sun microsystems corp.//dtd hotjava html//z4-//sun microsystems corp.//dtd hotjava strict html//z-//w3c//dtd html 3 1995-03-24//z-//w3c//dtd html 3.2 draft//z-//w3c//dtd html 3.2 final//z-//w3c//dtd html 3.2//z-//w3c//dtd html 3.2s draft//z-//w3c//dtd html 4.0 frameset//z#-//w3c//dtd html 4.0 transitional//z(-//w3c//dtd html experimental 19960712//z&-//w3c//dtd html experimental 970421//z-//w3c//dtd w3 html//z-//w3o//dtd w3 html 3.0//z#-//webtechs//dtd mozilla html 2.0//z-//webtechs//dtd mozilla html//)z$-//w3o//dtd w3 html strict 3.0//en//z"-/w3c/dtd html 4.0 transitional/enrÕ   )z -//w3c//dtd html 4.01 frameset//z$-//w3c//dtd html 4.01 transitional//z:http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtdÚquirks)z -//w3c//dtd xhtml 1.0 frameset//z$-//w3c//dtd xhtml 1.0 transitional//zlimited quirksr^   )rR   r‘   rH   ÚinsertDoctypery   r   rë   rc   rb   rK   rh   )rL   r¥   rN   r$  r%  r&  s         r(   r›   z.getPhases.<locals>.InitialPhase.processDoctypeû  sQ  € Ø˜‘=ˆDØ˜ZÑ(ˆHØ˜ZÑ(ˆHØ˜IÑ&ˆGà˜’ (Ð"6ØÐ(¨XÐ9NÒ-NØ—‘×&Ñ&Ð'8Ô9àÐØ�à�I‰I×#Ñ# EÔ*à˜2Š~Ø#×-Ñ-Ô.>Ó?�á˜u V™}°Ò6Ø×'Ñ'ð6<ô7=ðp ð !)ñ )ð ×'Ñ'ðAôBð Ð$Ù §¡Ó!1Ð5qÒ!qØ)1�—‘Õ&Ø×%Ñ%ð=ô>ð ×%Ñ%ð?ô@ð Ð&Ø)9�—‘Ô&à $§¡× 2Ñ 2°<Ñ @ˆD�K‰KÕr)   c                 óv   — d| j                   _        | j                   j                  d   | j                   _        y )Nr(  r^   )rR   rb   rK   rh   rn   s    r(   ÚanythingElsez,getPhases.<locals>.InitialPhase.anythingElseZ  s)   € Ø%-ˆD�K‰KÔ"Ø $§¡× 2Ñ 2°<Ñ @ˆD�K‰KÕr)   c                 ó\   — | j                   j                  d«       | j                  «        |S )Nzexpected-doctype-but-got-chars©rR   r‘   r+  r·   s     r(   r–   z1getPhases.<locals>.InitialPhase.processCharacters^  s&   € Ø�K‰K×"Ñ"Ð#CÔDØ×ÑÔØˆLr)   c                 óh   — | j                   j                  dd|d   i«       | j                  «        |S )Nz"expected-doctype-but-got-start-tagrN   r-  r·   s     r(   r˜   z/getPhases.<locals>.InitialPhase.processStartTagc  s4   € Ø�K‰K×"Ñ"Ð#GØ$*¨E°&©MÐ#:ô<à×ÑÔØˆLr)   c                 óh   — | j                   j                  dd|d   i«       | j                  «        |S )Nz expected-doctype-but-got-end-tagrN   r-  r·   s     r(   r™   z-getPhases.<locals>.InitialPhase.processEndTagi  s4   € Ø�K‰K×"Ñ"Ð#EØ$*¨E°&©MÐ#:ô<à×ÑÔØˆLr)   c                 óZ   — | j                   j                  d«       | j                  «        y)Nzexpected-doctype-but-got-eofTr-  rn   s    r(   r�   z*getPhases.<locals>.InitialPhase.processEOFo  s$   € Ø�K‰K×"Ñ"Ð#AÔBØ×ÑÔØr)   N)r?   r@   rA   Útupler  r—   rš   r›   r+  r–   r˜   r™   r�   ræ   r)   r(   ÚInitialPhaser  ò  s5   „ Ù“Gˆ	ò	ò	?ò]	Aò~	Aò	ò
	ò	ó	r)   r2  c                   óD   — e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zy)	ú"getPhases.<locals>.BeforeHtmlPhasec                 óž   — | j                   j                  t        dd«      «       | j                  j                  d   | j                  _        y )NrÕ   r‚   rÇ   )rH   Ú
insertRootÚimpliedTagTokenrR   rK   rh   rn   s    r(   ri   z4getPhases.<locals>.BeforeHtmlPhase.insertHtmlElementx  s6   € Ø�I‰I× Ñ ¤°¸Ó!DÔEØ $§¡× 2Ñ 2°<Ñ @ˆD�K‰KÕr)   c                 ó$   — | j                  «        y©NT©ri   rn   s    r(   r�   z-getPhases.<locals>.BeforeHtmlPhase.processEOF}  s   € Ø×"Ñ"Ô$Ør)   c                 ód   — | j                   j                  || j                   j                  «       y r1   r   r·   s     r(   rš   z1getPhases.<locals>.BeforeHtmlPhase.processComment�  r"  r)   c                  ó   — y r1   ræ   r·   s     r(   r—   z9getPhases.<locals>.BeforeHtmlPhase.processSpaceCharacters„  r  r)   c                 ó&   — | j                  «        |S r1   r:  r·   s     r(   r–   z4getPhases.<locals>.BeforeHtmlPhase.processCharacters‡  s   € Ø×"Ñ"Ô$ØˆLr)   c                 óX   — |d   dk(  rd| j                   _        | j                  «        |S )NrN   rÕ   T)rR   r`   ri   r·   s     r(   r˜   z2getPhases.<locals>.BeforeHtmlPhase.processStartTag‹  s+   € Ø�V‰} Ò&Ø,0�—‘Ô)Ø×"Ñ"Ô$ØˆLr)   c                 óx   — |d   dvr"| j                   j                  dd|d   i«       y | j                  «        |S )NrN   ©rÒ   rÓ   rÕ   Úbrzunexpected-end-tag-before-html)rR   r‘   ri   r·   s     r(   r™   z0getPhases.<locals>.BeforeHtmlPhase.processEndTag‘  sD   € Ø�V‰}Ð$BÑBØ—‘×&Ñ&Ð'GØ(.°°f±Ð'>õ@ð ×&Ñ&Ô(Ø�r)   N)r?   r@   rA   r1  r  ri   r�   rš   r—   r–   r˜   r™   ræ   r)   r(   ÚBeforeHtmlPhaser4  t  s-   „ Ù“Gˆ	ò	Aò
	ò	?ò	ò	ò	ó	r)   rB  c                   óÀ   — e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Z ej                  d	efd
e	fg«      Ze
e_         ej                  defg«      Zee_        y)ú"getPhases.<locals>.BeforeHeadPhasec                 ó:   — | j                  t        dd«      «       y)NrÒ   r‚   T©ÚstartTagHeadr7  rn   s    r(   r�   z-getPhases.<locals>.BeforeHeadPhase.processEOFœ  s   € Ø×Ñœo¨f°jÓAÔBØr)   c                  ó   — y r1   ræ   r·   s     r(   r—   z9getPhases.<locals>.BeforeHeadPhase.processSpaceCharacters   r  r)   c                 ó<   — | j                  t        dd«      «       |S ©NrÒ   r‚   rF  r·   s     r(   r–   z4getPhases.<locals>.BeforeHeadPhase.processCharacters£  ó   € Ø×Ñœo¨f°jÓAÔBØˆLr)   c                 óR   — | j                   j                  d   j                  |«      S ©NrÅ   ©rR   rK   r˜   r·   s     r(   r  z/getPhases.<locals>.BeforeHeadPhase.startTagHtml§  ó"   € Ø—;‘;×%Ñ% hÑ/×?Ñ?ÀÓFÐFr)   c                 óÚ   — | j                   j                  |«       | j                   j                  d   | j                   _        | j                  j
                  d   | j                  _        y )Nr‡   ÚinHead)rH   rß   r�   ÚheadPointerrR   rK   rh   r·   s     r(   rG  z/getPhases.<locals>.BeforeHeadPhase.startTagHeadª  sJ   € Ø�I‰I×#Ñ# EÔ*Ø$(§I¡I×$:Ñ$:¸2Ñ$>ˆD�I‰IÔ!Ø $§¡× 2Ñ 2°8Ñ <ˆD�K‰KÕr)   c                 ó<   — | j                  t        dd«      «       |S rJ  rF  r·   s     r(   ÚstartTagOtherz0getPhases.<locals>.BeforeHeadPhase.startTagOther¯  rK  r)   c                 ó<   — | j                  t        dd«      «       |S rJ  rF  r·   s     r(   ÚendTagImplyHeadz2getPhases.<locals>.BeforeHeadPhase.endTagImplyHead³  rK  r)   c                 óF   — | j                   j                  dd|d   i«       y )Nzend-tag-after-implied-rootrN   r  r·   s     r(   ÚendTagOtherz.getPhases.<locals>.BeforeHeadPhase.endTagOther·  s#   € Ø�K‰K×"Ñ"Ð#?Ø$*¨E°&©MÐ#:õ<r)   rÕ   rÒ   r@  N)r?   r@   rA   r1  r  r�   r—   r–   r  rG  rT  rV  rX  r   ÚMethodDispatcherr  Údefaultr  ræ   r)   r(   ÚBeforeHeadPhaserD  ™  sŽ   „ Ù“Gˆ	ò	ò	ò	ò	Gò	=ò
	ò	ò	<ð 2˜&×1Ñ1Ø�\Ð"Ø�\Ð"ð3
ó ˆð #0ˆÔà/˜×/Ñ/Ø+¨_Ð=ð1
ó ˆð !,ˆÕr)   r[  c                   ó  — e Zd Z e«       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 ej*                  defdefdefdefdefde	fde
fdefg«      Zee_         ej*                  defdefg«      Zee_        y)úgetPhases.<locals>.InHeadPhasec                 ó$   — | j                  «        yr9  ©r+  rn   s    r(   r�   z)getPhases.<locals>.InHeadPhase.processEOFÊ  ó   € Ø×ÑÔØr)   c                 ó&   — | j                  «        |S r1   r_  r·   s     r(   r–   z0getPhases.<locals>.InHeadPhase.processCharactersÎ  ó   € Ø×ÑÔØˆLr)   c                 óR   — | j                   j                  d   j                  |«      S rM  rN  r·   s     r(   r  z+getPhases.<locals>.InHeadPhase.startTagHtmlÒ  rO  r)   c                 ó:   — | j                   j                  d«       y )Nz!two-heads-are-not-better-than-oner  r·   s     r(   rG  z+getPhases.<locals>.InHeadPhase.startTagHeadÕ  s   € Ø�K‰K×"Ñ"Ð#FÕGr)   c                 óŒ   — | j                   j                  |«       | j                   j                  j                  «        d|d<   y ©NTr�   ©rH   rß   r�   r  r·   s     r(   ÚstartTagBaseLinkCommandz6getPhases.<locals>.InHeadPhase.startTagBaseLinkCommandØ  ó5   € Ø�I‰I×#Ñ# EÔ*Ø�I‰I×"Ñ"×&Ñ&Ô(Ø/3ˆEÐ+Ò,r)   c                 óž  — | j                   j                  |«       | j                   j                  j                  «        d|d<   |d   }| j                  j
                  j                  j                  d   dk(  rÔd|v r3| j                  j
                  j                  j                  |d   «       y d|v r˜d|v r“|d   j                  «       d	k(  r|t        j                  |d   j                  d
«      «      }t        j                  |«      }|j                  «       }| j                  j
                  j                  j                  |«       y y y y y )NTr�   rˆ   r   Ú	tentativeÚcharsetÚcontentz
http-equivzcontent-typezutf-8)rH   rß   r�   r  rR   rV   rY   rq   ÚchangeEncodingrc   r   ÚEncodingBytesÚencodeÚContentAttrParserr"   )rL   r¥   rx   rˆ   rR   Úcodecs         r(   ÚstartTagMetaz+getPhases.<locals>.InHeadPhase.startTagMetaÝ  s$  € Ø�I‰I×#Ñ# EÔ*Ø�I‰I×"Ñ"×&Ñ&Ô(Ø/3ˆEÐ+Ñ,à˜v™ˆJØ�{‰{×$Ñ$×+Ñ+×8Ñ8¸Ñ;¸{ÒJØ 
Ñ*Ø—K‘K×)Ñ)×0Ñ0×?Ñ?À
È9Ñ@UÕVØ :Ñ-Ø" jÑ0Ø  Ñ.×4Ñ4Ó6¸.ÒHô
 (×5Ñ5°jÀÑ6K×6RÑ6RÐSZÓ6[Ó\�DÜ)×;Ñ;¸DÓA�FØ"ŸL™L›N�EØ—K‘K×)Ñ)×0Ñ0×?Ñ?ÀÕFð Ið 1ð .ð Kr)   c                 ó<   — | j                   j                  |d«       y )NrÝ   ©rR   râ   r·   s     r(   ÚstartTagTitlez,getPhases.<locals>.InHeadPhase.startTagTitleò  s   € Ø�K‰K×*Ñ*¨5°(Õ;r)   c                 ó<   — | j                   j                  |d«       y )NrÜ   ru  r·   s     r(   ÚstartTagNoFramesStylez4getPhases.<locals>.InHeadPhase.startTagNoFramesStyleõ  ó   € à�K‰K×*Ñ*¨5°)Õ<r)   c                 óð   — | j                   j                  r| j                   j                  |d«       y | j                  j	                  |«       | j                   j
                  d   | j                   _        y )NrÜ   ÚinHeadNoscript)rR   rT   râ   rH   rß   rK   rh   r·   s     r(   ÚstartTagNoscriptz/getPhases.<locals>.InHeadPhase.startTagNoscriptù  sQ   € Ø�{‰{×$Ò$Ø—‘×.Ñ.¨u°iÕ@à—	‘	×'Ñ'¨Ô.Ø$(§K¡K×$6Ñ$6Ð7GÑ$H�—‘Õ!r)   c                 óF  — | j                   j                  |«       | j                  j                  j                  | j                  j                  _        | j                  j                  | j                  _        | j                  j                  d   | j                  _        y )NrÞ   )	rH   rß   rR   rV   ÚscriptDataStatere   rh   rà   rK   r·   s     r(   ÚstartTagScriptz-getPhases.<locals>.InHeadPhase.startTagScript   sg   € Ø�I‰I×#Ñ# EÔ*Ø*.¯+©+×*?Ñ*?×*OÑ*OˆD�K‰K×!Ñ!Ô'Ø(,¯©×(9Ñ(9ˆD�K‰KÔ%Ø $§¡× 2Ñ 2°6Ñ :ˆD�K‰KÕr)   c                 ó&   — | j                  «        |S r1   r_  r·   s     r(   rT  z,getPhases.<locals>.InHeadPhase.startTagOther  rb  r)   c                 óö   — | j                   j                  j                  j                  «       }|j                  dk(  sJ d|j                  z  «       ‚| j                   j
                  d   | j                   _        y )NrÒ   zExpected head got %sÚ	afterHead©rR   rH   r�   r  rN   rK   rh   ©rL   r¥   rØ   s      r(   Ú
endTagHeadz)getPhases.<locals>.InHeadPhase.endTagHead
  s\   € Ø—;‘;×#Ñ#×0Ñ0×4Ñ4Ó6ˆDØ—9‘9 Ò&ÐJÐ(>ÀÇÁÑ(JÓJÐ&Ø $§¡× 2Ñ 2°;Ñ ?ˆD�K‰KÕr)   c                 ó&   — | j                  «        |S r1   r_  r·   s     r(   ÚendTagHtmlBodyBrz/getPhases.<locals>.InHeadPhase.endTagHtmlBodyBr  rb  r)   c                 óF   — | j                   j                  dd|d   i«       y ©Núunexpected-end-tagrN   r  r·   s     r(   rX  z*getPhases.<locals>.InHeadPhase.endTagOther  ó    € Ø�K‰K×"Ñ"Ð#7¸&À%ÈÁ-Ð9PÕQr)   c                 ó8   — | j                  t        d«      «       y )NrÒ   )r…  r7  rn   s    r(   r+  z+getPhases.<locals>.InHeadPhase.anythingElse  s   € Ø�O‰OœO¨FÓ3Õ4r)   rÕ   Útitle)ÚnoframesÚstyleÚnoscriptÚscript)ÚbaseÚbasefontÚbgsoundÚcommandÚlinkr8   rÒ   )rA  rÕ   rÓ   N)r?   r@   rA   r1  r  r�   r–   r  rG  rh  rs  rv  rx  r|  r  rT  r…  r‡  rX  r+  r   rY  r  rZ  r  ræ   r)   r(   ÚInHeadPhaser]  Æ  sô   „ Ù“Gˆ	ò	ò	ò	Gò	Hò	4ò
	Gò*	<ò	=ò	Iò	;ò	ò	@ò
	ò	Rò	5ð 2˜&×1Ñ1Ø�\Ð"Ø�mÐ$Ø"Ð$9Ð:ØÐ)Ð*Ø�~Ð&Ø?Ø$ð&à�\Ð"Ø�\Ð"ð
3
ó 
ˆð #0ˆÔà/˜×/Ñ/Ø�ZÐ Ø#Ð%5Ð6ð1
ó ˆð !,ˆÕr)   r—  c                   óä   — e Zd Z e«       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 ej$                  de	fde
fdefg«      Zee_         ej$                  defdefg«      Zee_        y)ú&getPhases.<locals>.InHeadNoscriptPhasec                 óZ   — | j                   j                  d«       | j                  «        y)Nzeof-in-head-noscriptTr-  rn   s    r(   r�   z1getPhases.<locals>.InHeadNoscriptPhase.processEOF/  s$   € Ø�K‰K×"Ñ"Ð#9Ô:Ø×ÑÔØr)   c                 óR   — | j                   j                  d   j                  |«      S ©NrQ  )rR   rK   rš   r·   s     r(   rš   z5getPhases.<locals>.InHeadNoscriptPhase.processComment4  s"   € Ø—;‘;×%Ñ% hÑ/×>Ñ>¸uÓEÐEr)   c                 ó\   — | j                   j                  d«       | j                  «        |S )Nzchar-in-head-noscriptr-  r·   s     r(   r–   z8getPhases.<locals>.InHeadNoscriptPhase.processCharacters7  s&   € Ø�K‰K×"Ñ"Ð#:Ô;Ø×ÑÔØˆLr)   c                 óR   — | j                   j                  d   j                  |«      S rœ  ©rR   rK   r—   r·   s     r(   r—   z=getPhases.<locals>.InHeadNoscriptPhase.processSpaceCharacters<  ó"   € Ø—;‘;×%Ñ% hÑ/×FÑFÀuÓMÐMr)   c                 óR   — | j                   j                  d   j                  |«      S rM  rN  r·   s     r(   r  z3getPhases.<locals>.InHeadNoscriptPhase.startTagHtml?  rO  r)   c                 óR   — | j                   j                  d   j                  |«      S rœ  rN  r·   s     r(   rh  z>getPhases.<locals>.InHeadNoscriptPhase.startTagBaseLinkCommandB  rO  r)   c                 óF   — | j                   j                  dd|d   i«       y ©Núunexpected-start-tagrN   r  r·   s     r(   ÚstartTagHeadNoscriptz;getPhases.<locals>.InHeadNoscriptPhase.startTagHeadNoscriptE  ó    € Ø�K‰K×"Ñ"Ð#9¸FÀEÈ&ÁMÐ;RÕSr)   c                 óh   — | j                   j                  dd|d   i«       | j                  «        |S ©Nzunexpected-inhead-noscript-tagrN   r-  r·   s     r(   rT  z4getPhases.<locals>.InHeadNoscriptPhase.startTagOtherH  ó2   € Ø�K‰K×"Ñ"Ð#CÀfÈeÐTZÉmÐE\Ô]Ø×ÑÔØˆLr)   c                 óö   — | j                   j                  j                  j                  «       }|j                  dk(  sJ d|j                  z  «       ‚| j                   j
                  d   | j                   _        y )Nr�  zExpected noscript got %srQ  rƒ  r„  s      r(   ÚendTagNoscriptz5getPhases.<locals>.InHeadNoscriptPhase.endTagNoscriptM  s\   € Ø—;‘;×#Ñ#×0Ñ0×4Ñ4Ó6ˆDØ—9‘9 
Ò*ÐRÐ,FÈÏÉÑ,RÓRÐ*Ø $§¡× 2Ñ 2°8Ñ <ˆD�K‰KÕr)   c                 óh   — | j                   j                  dd|d   i«       | j                  «        |S r©  r-  r·   s     r(   ÚendTagBrz/getPhases.<locals>.InHeadNoscriptPhase.endTagBrR  rª  r)   c                 óF   — | j                   j                  dd|d   i«       y r‰  r  r·   s     r(   rX  z2getPhases.<locals>.InHeadNoscriptPhase.endTagOtherW  r‹  r)   c                 ó8   — | j                  t        d«      «       y )Nr�  )r¬  r7  rn   s    r(   r+  z3getPhases.<locals>.InHeadNoscriptPhase.anythingElseZ  s   € à×Ñ¤°
Ó ;Õ<r)   rÕ   )r“  r”  r–  r8   rŽ  r�  )rÒ   r�  r�  rA  N)r?   r@   rA   r1  r  r�   rš   r–   r—   r  rh  r¦  rT  r¬  r®  rX  r+  r   rY  r  rZ  r  ræ   r)   r(   ÚInHeadNoscriptPhaser™  ,  s¹   „ Ù“Gˆ	ò	ò
	Fò	ò
	Nò	Gò	Gò	Tò	ò
	=ò
	ò
	Rò	=ð 2˜&×1Ñ1Ø�\Ð"ØIÐKbÐcØ!Ð#7Ð8ð3
ó ˆð
 #0ˆÔà/˜×/Ñ/Ø˜Ð(Ø�8Ðð1
ó ˆð !,ˆÕr)   r±  c                   óä   — e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zd
„ Zd„ Z ej"                  defdefde	fde
fdefg«      Zee_         ej"                  defg«      Zee_        y)ú!getPhases.<locals>.AfterHeadPhasec                 ó$   — | j                  «        yr9  r_  rn   s    r(   r�   z,getPhases.<locals>.AfterHeadPhase.processEOFn  r`  r)   c                 ó&   — | j                  «        |S r1   r_  r·   s     r(   r–   z3getPhases.<locals>.AfterHeadPhase.processCharactersr  rb  r)   c                 óR   — | j                   j                  d   j                  |«      S rM  rN  r·   s     r(   r  z.getPhases.<locals>.AfterHeadPhase.startTagHtmlv  rO  r)   c                 ó¬   — d| j                   _        | j                  j                  |«       | j                   j                  d   | j                   _        y )NFrÅ   )rR   rm   rH   rß   rK   rh   r·   s     r(   ÚstartTagBodyz.getPhases.<locals>.AfterHeadPhase.startTagBodyy  s;   € Ø%*ˆD�K‰KÔ"Ø�I‰I×#Ñ# EÔ*Ø $§¡× 2Ñ 2°8Ñ <ˆD�K‰KÕr)   c                 óŠ   — | j                   j                  |«       | j                  j                  d   | j                  _        y )NrÆ   )rH   rß   rR   rK   rh   r·   s     r(   ÚstartTagFramesetz2getPhases.<locals>.AfterHeadPhase.startTagFrameset~  s/   € Ø�I‰I×#Ñ# EÔ*Ø $§¡× 2Ñ 2°<Ñ @ˆD�K‰KÕr)   c                 ó¶  — | j                   j                  dd|d   i«       | j                  j                  j	                  | j                  j
                  «       | j                   j                  d   j                  |«       | j                  j                  d d d…   D ]8  }|j                  dk(  sŒ| j                  j                  j                  |«        y  y )Nz#unexpected-start-tag-out-of-my-headrN   rQ  r‡   rÒ   )
rR   r‘   rH   r�   rœ   rR  rK   r˜   rN   Úremover„  s      r(   ÚstartTagFromHeadz2getPhases.<locals>.AfterHeadPhase.startTagFromHead‚  s«   € Ø�K‰K×"Ñ"Ð#HØ$*¨E°&©MÐ#:ô<à�I‰I×"Ñ"×)Ñ)¨$¯)©)×*?Ñ*?Ô@Ø�K‰K×Ñ˜xÑ(×8Ñ8¸Ô?ØŸ	™	×.Ñ.©t°¨tÑ4ò �Ø—9‘9 Ó&Ø—I‘I×*Ñ*×1Ñ1°$Ô7Ùñr)   c                 óF   — | j                   j                  dd|d   i«       y r¤  r  r·   s     r(   rG  z.getPhases.<locals>.AfterHeadPhase.startTagHeadŒ  r§  r)   c                 ó&   — | j                  «        |S r1   r_  r·   s     r(   rT  z/getPhases.<locals>.AfterHeadPhase.startTagOther�  rb  r)   c                 ó&   — | j                  «        |S r1   r_  r·   s     r(   r‡  z2getPhases.<locals>.AfterHeadPhase.endTagHtmlBodyBr“  rb  r)   c                 óF   — | j                   j                  dd|d   i«       y r‰  r  r·   s     r(   rX  z-getPhases.<locals>.AfterHeadPhase.endTagOther—  r‹  r)   c                 óÀ   — | j                   j                  t        dd«      «       | j                  j                  d   | j                  _        d| j                  _        y )NrÓ   r‚   rÅ   T)rH   rß   r7  rR   rK   rh   rm   rn   s    r(   r+  z.getPhases.<locals>.AfterHeadPhase.anythingElseš  sB   € Ø�I‰I×#Ñ#¤O°F¸JÓ$GÔHØ $§¡× 2Ñ 2°8Ñ <ˆD�K‰KÔØ%)ˆD�K‰KÕ"r)   rÕ   rÓ   rÔ   )	r’  r“  r”  r–  r8   rŽ  r‘  r�  r�  rÒ   )rÓ   rÕ   rA  N)r?   r@   rA   r1  r  r�   r–   r  r¸  rº  r½  rG  rT  r‡  rX  r+  r   rY  r  rZ  r  ræ   r)   r(   ÚAfterHeadPhaser³  k  sÄ   „ Ù“Gˆ	ò	ò	ò	Gò	=ò
	Aò	ò	Tò	ò	ò	Rò	*ð
 2˜&×1Ñ1Ø�\Ð"Ø�\Ð"ØÐ)Ð*ð àðð �\Ð"ð3
ó ˆð #0ˆÔØ/˜×/Ñ/Ð2HØ2Bð2Dð 1Eó Fˆà +ˆÕr)   rÃ  c                   ó  •‡ — e Zd Zd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.„ Z0d/„ Z1d0„ Z2d1„ Z3d2„ Z4d3„ Z5d4„ Z6 e7jp                  g d5W °jr                  f‘d6ef‘d7ef‘d8ef‘d9ef‘e:ef‘d:ef‘d;ef‘d<ef‘d=ef‘d>ef‘d?ef‘d@ef‘dAef‘dBef‘dCef‘dDef‘dEef‘dFef‘dGef‘dHef‘dIef‘dJe f‘dKe!f‘dLe"f‘dMe#f‘dNe$f‘dOe&f‘dPe'f‘dQe%f‘dRe(f‘dSe)f‘dTe*f‘«      Z;e+e;_<         e7jp                  d7e-fd5e.fdUe/fd;e0fdVe,fdWe1fe:e2fdXe3fdBe4fdYe5fg
«      Z=e6e=_<        ˆ xZ>S )ZúgetPhases.<locals>.InBodyPhase)r—   c                 óF   •— t        ‰| �  |i |¤Ž | j                  | _        y r1   )ÚsuperrP   ÚprocessSpaceCharactersNonPrer—   )rL   r¯   r%   ÚInBodyPhaserì   s      €€r(   rP   z'getPhases.<locals>.InBodyPhase.__init__²  s%   ø€ Ü�+˜tÑ-¨tÐ>°vÒ>à*.×*KÑ*KˆDÕ'r)   c                 ó    — |j                   |j                   k(  xr4 |j                  |j                  k(  xr |j                  |j                  k(  S r1   )rN   rw   rx   )rL   Únode1Únode2s      r(   ÚisMatchingFormattingElementz:getPhases.<locals>.InBodyPhase.isMatchingFormattingElement·  sE   € Ø—J‘J %§*¡*Ñ,ò 9Ø—O‘O u§¡Ñ6ò9à×$Ñ$¨×(8Ñ(8Ñ8ð:r)   c                 óä  — | j                   j                  |«       | j                   j                  d   }g }| j                   j                  d d d…   D ]0  }|t        u r n&| j                  ||«      sŒ |j                  |«       Œ2 t        |«      dk  sJ ‚t        |«      dk(  r(| j                   j                  j                  |d   «       | j                   j                  j                  |«       y )Nr‡   é   )	rH   rß   r�   ÚactiveFormattingElementsr   rÍ  rœ   r“   r¼  )rL   r¥   r{   ÚmatchingElementsrØ   s        r(   ÚaddFormattingElementz3getPhases.<locals>.InBodyPhase.addFormattingElement½  sÒ   € Ø�I‰I×#Ñ# EÔ*Ø—i‘i×,Ñ,¨RÑ0ˆGà!ÐØŸ	™	×:Ñ:¹4¸R¸4Ñ@ò 2�Øœ6‘>ÙØ×5Ñ5°d¸GÕDØ$×+Ñ+¨DÕ1ð	2ô Ð'Ó(¨AÒ-Ð-Ð-ÜÐ#Ó$¨Ò)Ø—	‘	×2Ñ2×9Ñ9Ð:JÈ2Ñ:NÔOØ�I‰I×.Ñ.×5Ñ5°gÕ>r)   c                 ó²   — t        d«      }| j                  j                  d d d…   D ]-  }|j                  |vsŒ| j                  j                  d«        y  y )N)ÚddÚdtÚlir'   rÌ   rÉ   rÎ   rÊ   rÍ   rË   rÓ   rÕ   r‡   z expected-closing-tag-but-got-eof)r•   rH   r�   rN   rR   r‘   )rL   Úallowed_elementsrØ   s      r(   r�   z)getPhases.<locals>.InBodyPhase.processEOFÎ  sY   € Ü(ð *2ó  3Ðð Ÿ	™	×.Ñ.©t°¨tÑ4ò �Ø—9‘9Ð$4Ò4Ø—K‘K×*Ñ*Ð+MÔNÙñr)   c                 ód  — |d   }| j                   | _        |j                  d«      rQ| j                  j                  d   j
                  dv r,| j                  j                  d   j                  «       s|dd  }|r6| j                  j                  «        | j                  j                  |«       y y )Nrˆ   ú
r‡   )ÚpreÚlistingÚtextarear   )	rÈ  r—   rë   rH   r�   rN   Ú
hasContentÚ#reconstructActiveFormattingElementsr  )rL   r¥   rˆ   s      r(   Ú!processSpaceCharactersDropNewlinez@getPhases.<locals>.InBodyPhase.processSpaceCharactersDropNewlineØ  s•   € ð ˜‘=ˆDØ*.×*KÑ*KˆDÔ'Ø—‘ Ô%Ø—	‘	×&Ñ& rÑ*×/Ñ/Ð3QÑQØŸ	™	×.Ñ.¨rÑ2×=Ñ=Ô?Ø˜A˜B�x�ÙØ—	‘	×=Ñ=Ô?Ø—	‘	×$Ñ$ TÕ*ð r)   c                 ó&  — |d   dk(  ry | j                   j                  «        | j                   j                  |d   «       | j                  j                  r5t        |d   D �cg c]
  }|t        v‘Œ c}«      rd| j                  _        y y y c c}w )Nrˆ   ú F)rH   rÞ  r  rR   rm   Úanyr   )rL   r¥   Úchars      r(   r–   z0getPhases.<locals>.InBodyPhase.processCharacterså  s†   € Ø�V‰} Ò(àØ�I‰I×9Ñ9Ô;Ø�I‰I× Ñ   v¡Ô/à—‘×&Ò&ÜØ!& v¡ö0Øð ¤Ò0ò 0ô 1à).�—‘Õ&ð1ð 'ùò0s   Á$Bc                 ót   — | j                   j                  «        | j                   j                  |d   «       y r  )rH   rÞ  r  r·   s     r(   rÈ  z;getPhases.<locals>.InBodyPhase.processSpaceCharactersNonPreñ  s(   € Ø�I‰I×9Ñ9Ô;Ø�I‰I× Ñ   v¡Õ/r)   c                 óR   — | j                   j                  d   j                  |«      S rœ  rN  r·   s     r(   ÚstartTagProcessInHeadz4getPhases.<locals>.InBodyPhase.startTagProcessInHeadõ  rO  r)   c                 óò  — | j                   j                  dddi«       t        | j                  j                  «      dk(  s&| j                  j                  d   j
                  dk7  r| j                   j                  sJ ‚y d| j                   _        |d   j                  «       D ]Q  \  }}|| j                  j                  d   j                  vsŒ,|| j                  j                  d   j                  |<   ŒS y )Nr¥  rN   rÓ   r   Frˆ   )
rR   r‘   r“   rH   r�   rN   rZ   rm   r2   rx   r  s       r(   r¸  z+getPhases.<locals>.InBodyPhase.startTagBodyø  sÍ   € Ø�K‰K×"Ñ"Ð#9¸FÀFÐ;KÔLÜ�D—I‘I×*Ñ*Ó+¨qÒ0Ø—I‘I×*Ñ*¨1Ñ-×2Ñ2°fÒ<Ø—{‘{×,Ò,Ð,Ñ,à).�—‘Ô&Ø#(¨¡=×#6Ñ#6Ó#8ò K‘K�D˜%Ø 4§9¡9×#9Ñ#9¸!Ñ#<×#GÑ#GÒGØEJ˜Ÿ	™	×.Ñ.¨qÑ1×<Ñ<¸TÒBñKr)   c                 óp  — | j                   j                  dddi«       t        | j                  j                  «      dk(  s&| j                  j                  d   j
                  dk7  r| j                   j                  sJ ‚y | j                   j                  sy | j                  j                  d   j                  rI| j                  j                  d   j                  j                  | j                  j                  d   «       | j                  j                  d   j
                  dk7  rK| j                  j                  j                  «        | j                  j                  d   j
                  dk7  rŒK| j                  j                  |«       | j                   j                  d   | j                   _        y )	Nr¥  rN   rÔ   r   rÓ   r‡   rÕ   rÆ   )rR   r‘   r“   rH   r�   rN   rZ   rm   ÚparentÚremoveChildr  rß   rK   rh   r·   s     r(   rº  z/getPhases.<locals>.InBodyPhase.startTagFrameset  s=  € Ø�K‰K×"Ñ"Ð#9¸FÀJÐ;OÔPÜ�D—I‘I×*Ñ*Ó+¨qÒ0°D·I±I×4JÑ4JÈ1Ñ4M×4RÑ4RÐV\Ò4\Ø—{‘{×,Ò,Ð,Ñ,Ø—[‘[×+Ò+Øà—9‘9×)Ñ)¨!Ñ,×3Ò3Ø—I‘I×*Ñ*¨1Ñ-×4Ñ4×@Ñ@ÀÇÁ×AWÑAWÐXYÑAZÔ[Ø—i‘i×,Ñ,¨RÑ0×5Ñ5¸Ò?Ø—I‘I×*Ñ*×.Ñ.Ô0ð —i‘i×,Ñ,¨RÑ0×5Ñ5¸Ó?à—	‘	×'Ñ'¨Ô.Ø$(§K¡K×$6Ñ$6°|Ñ$D�—‘Õ!r)   c                 ó¨   — | j                   j                  dd¬«      r| j                  t        d«      «       | j                   j	                  |«       y ©Nr'   Úbutton©Úvariant)rH   ÚelementInScopeÚendTagPr7  rß   r·   s     r(   ÚstartTagClosePz-getPhases.<locals>.InBodyPhase.startTagCloseP  s<   € Ø�y‰y×'Ñ'¨°XÐ'Ô>Ø—‘œ_¨SÓ1Ô2Ø�I‰I×#Ñ# EÕ*r)   c                 óì   — | j                   j                  dd¬«      r| j                  t        d«      «       | j                   j	                  |«       d| j
                  _        | j                  | _        y )Nr'   rí  rî  F)	rH   rð  rñ  r7  rß   rR   rm   rß  r—   r·   s     r(   ÚstartTagPreListingz1getPhases.<locals>.InBodyPhase.startTagPreListing  sV   € Ø�y‰y×'Ñ'¨°XÐ'Ô>Ø—‘œ_¨SÓ1Ô2Ø�I‰I×#Ñ# EÔ*Ø%*ˆD�K‰KÔ"Ø*.×*PÑ*PˆDÕ'r)   c                 ób  — | j                   j                  r| j                  j                  dddi«       y | j                   j	                  dd¬«      r| j                  t        d«      «       | j                   j                  |«       | j                   j                  d   | j                   _        y )Nr¥  rN   Úformr'   rí  rî  r‡   )	rH   ÚformPointerrR   r‘   rð  rñ  r7  rß   r�   r·   s     r(   ÚstartTagFormz+getPhases.<locals>.InBodyPhase.startTagForm  s~   € Ø�y‰y×$Ò$Ø—‘×&Ñ&Ð'=ÀÈÐ?OÕPà—9‘9×+Ñ+¨C¸Ð+ÔBØ—L‘L¤°Ó!5Ô6Ø—	‘	×'Ñ'¨Ô.Ø(,¯	©	×(>Ñ(>¸rÑ(B�—	‘	Õ%r)   c                 ó:  — d| j                   _        dgddgddgdœ}||d      }t        | j                  j                  «      D ]n  }|j
                  |v r;| j                   j                  j                  t        |j
                  d«      «        n%|j                  t        v sŒ_|j
                  dvsŒn n | j                  j                  d	d
¬«      r/| j                   j                  j                  t        d	d«      «       | j                  j                  |«       y )NFrÖ  rÕ  rÔ  )rÖ  rÕ  rÔ  rN   rƒ   )Úaddressrã   r'   r'   rí  rî  )rR   rm   ÚreversedrH   r�   rN   rh   r™   r7  Ú	nameTupler   rð  rß   )rL   r¥   ÚstopNamesMapÚ	stopNamesrØ   s        r(   ÚstartTagListItemz/getPhases.<locals>.InBodyPhase.startTagListItem&  sö   € Ø%*ˆD�K‰KÔ"à#' &Ø#'¨ ,Ø#'¨ ,ñ0ˆLð % U¨6¡]Ñ3ˆIÜ  §¡×!7Ñ!7Ó8ò �Ø—9‘9 	Ñ)Ø—K‘K×%Ñ%×3Ñ3Ü'¨¯	©	°8Ó<ô>áØ—N‘N¤oÒ5ØŸ	™	Ð)@Ò@Ùðð �y‰y×'Ñ'¨°XÐ'Ô>Ø—‘×!Ñ!×/Ñ/Ü# C¨Ó2ô4ð �I‰I×#Ñ# EÕ*r)   c                 ó  — | j                   j                  dd¬«      r| j                  t        d«      «       | j                   j	                  |«       | j
                  j                  j                  | j
                  j                  _        y rì  )	rH   rð  rñ  r7  rß   rR   rV   rg   re   r·   s     r(   ÚstartTagPlaintextz0getPhases.<locals>.InBodyPhase.startTagPlaintext<  s^   € Ø�y‰y×'Ñ'¨°XÐ'Ô>Ø—‘œ_¨SÓ1Ô2Ø�I‰I×#Ñ# EÔ*Ø*.¯+©+×*?Ñ*?×*NÑ*NˆD�K‰K×!Ñ!Õ'r)   c                 ó„  — | j                   j                  dd¬«      r| j                  t        d«      «       | j                   j                  d   j
                  t        v rE| j                  j                  dd|d   i«       | j                   j                  j                  «        | j                   j                  |«       y )Nr'   rí  rî  r‡   r¥  rN   )rH   rð  rñ  r7  r�   rN   r   rR   r‘   r  rß   r·   s     r(   ÚstartTagHeadingz.getPhases.<locals>.InBodyPhase.startTagHeadingB  s�   € Ø�y‰y×'Ñ'¨°XÐ'Ô>Ø—‘œ_¨SÓ1Ô2Ø�y‰y×%Ñ% bÑ)×.Ñ.´/ÑAØ—‘×&Ñ&Ð'=ÀÈÈfÉÐ?VÔWØ—	‘	×&Ñ&×*Ñ*Ô,Ø�I‰I×#Ñ# EÕ*r)   c                 óú  — | j                   j                  d«      }|r³| j                  j                  ddddœ«       | j	                  t        d«      «       || j                   j                  v r%| j                   j                  j                  |«       || j                   j                  v r%| j                   j                  j                  |«       | j                   j                  «        | j                  |«       y )NÚaú$unexpected-start-tag-implies-end-tag©Ú	startNameÚendName)rH   Ú!elementInActiveFormattingElementsrR   r‘   ÚendTagFormattingr7  r�   r¼  rÐ  rÞ  rÒ  )rL   r¥   ÚafeAElements      r(   Ú	startTagAz(getPhases.<locals>.InBodyPhase.startTagAJ  s¼   € ØŸ)™)×EÑEÀcÓJˆKÙØ—‘×&Ñ&Ð'MØ58ÀSÑ'IôKà×%Ñ%¤o°cÓ&:Ô;Ø $§)¡)×"8Ñ"8Ñ8Ø—I‘I×*Ñ*×1Ñ1°+Ô>Ø $§)¡)×"DÑ"DÑDØ—I‘I×6Ñ6×=Ñ=¸kÔJØ�I‰I×9Ñ9Ô;Ø×%Ñ% eÕ,r)   c                 óZ   — | j                   j                  «        | j                  |«       y r1   )rH   rÞ  rÒ  r·   s     r(   ÚstartTagFormattingz1getPhases.<locals>.InBodyPhase.startTagFormattingW  s    € Ø�I‰I×9Ñ9Ô;Ø×%Ñ% eÕ,r)   c                 ó6  — | j                   j                  «        | j                   j                  d«      rS| j                  j	                  ddddœ«       | j                  t        d«      «       | j                   j                  «        | j                  |«       y )NÚnobrr  r  )rH   rÞ  rð  rR   r‘   r™   r7  rÒ  r·   s     r(   ÚstartTagNobrz+getPhases.<locals>.InBodyPhase.startTagNobr[  ss   € Ø�I‰I×9Ñ9Ô;Ø�y‰y×'Ñ'¨Ô/Ø—‘×&Ñ&Ð'MØ5;ÈÑ'OôQà×"Ñ"¤?°6Ó#:Ô;à—	‘	×=Ñ=Ô?Ø×%Ñ% eÕ,r)   c                 ó<  — | j                   j                  d«      r;| j                  j                  ddddœ«       | j	                  t        d«      «       |S | j                   j                  «        | j                   j                  |«       d| j                  _        y )Nrí  r  r  F)	rH   rð  rR   r‘   r™   r7  rÞ  rß   rm   r·   s     r(   ÚstartTagButtonz-getPhases.<locals>.InBodyPhase.startTagButtone  sx   € Ø�y‰y×'Ñ'¨Ô1Ø—‘×&Ñ&Ð'MØ5=È(Ñ'SôUà×"Ñ"¤?°8Ó#<Ô=Ø�à—	‘	×=Ñ=Ô?Ø—	‘	×'Ñ'¨Ô.Ø).�—‘Õ&r)   c                 óâ   — | j                   j                  «        | j                   j                  |«       | j                   j                  j	                  t
        «       d| j                  _        y ©NF)rH   rÞ  rß   rÐ  rœ   r   rR   rm   r·   s     r(   ÚstartTagAppletMarqueeObjectz:getPhases.<locals>.InBodyPhase.startTagAppletMarqueeObjectp  sH   € Ø�I‰I×9Ñ9Ô;Ø�I‰I×#Ñ# EÔ*Ø�I‰I×.Ñ.×5Ñ5´fÔ=Ø%*ˆD�K‰KÕ"r)   c                 ó   — | j                   j                  dd¬«      r| j                  t        d«      «       | j                   j	                  «        d| j
                  _        | j
                  j                  |d«       y )Nr'   rí  rî  FrÜ   )rH   rð  rñ  r7  rÞ  rR   rm   râ   r·   s     r(   ÚstartTagXmpz*getPhases.<locals>.InBodyPhase.startTagXmpv  sZ   € Ø�y‰y×'Ñ'¨°XÐ'Ô>Ø—‘œ_¨SÓ1Ô2Ø�I‰I×9Ñ9Ô;Ø%*ˆD�K‰KÔ"Ø�K‰K×*Ñ*¨5°)Õ<r)   c                 óL  — | j                   j                  dk7  r7| j                  j                  dd¬«      r| j	                  t        d«      «       | j                  j                  |«       d| j                   _        | j                   j                  d   | j                   _	        y )Nr(  r'   rí  rî  FrÄ   )
rR   rb   rH   rð  r™   r7  rß   rm   rK   rh   r·   s     r(   ÚstartTagTablez,getPhases.<locals>.InBodyPhase.startTagTable}  sw   € Ø�{‰{×%Ñ%¨Ò1Ø—9‘9×+Ñ+¨C¸Ð+ÔBØ×&Ñ&¤°sÓ';Ô<Ø�I‰I×#Ñ# EÔ*Ø%*ˆD�K‰KÔ"Ø $§¡× 2Ñ 2°9Ñ =ˆD�K‰KÕr)   c                 óâ   — | j                   j                  «        | j                   j                  |«       | j                   j                  j	                  «        d|d<   d| j
                  _        y )NTr�   F)rH   rÞ  rß   r�   r  rR   rm   r·   s     r(   ÚstartTagVoidFormattingz5getPhases.<locals>.InBodyPhase.startTagVoidFormatting…  sQ   € Ø�I‰I×9Ñ9Ô;Ø�I‰I×#Ñ# EÔ*Ø�I‰I×"Ñ"×&Ñ&Ô(Ø/3ˆEÐ+Ñ,Ø%*ˆD�K‰KÕ"r)   c                 óÂ   — | j                   j                  }| j                  |«       d|d   v r1|d   d   j                  t        «      dk(  r|| j                   _        y y y )Nr6   rˆ   Úhidden)rR   rm   r  ry   r   )rL   r¥   rm   s      r(   ÚstartTagInputz,getPhases.<locals>.InBodyPhase.startTagInputŒ  s_   € ØŸ™×/Ñ/ˆJØ×'Ñ'¨Ô.Ø˜% ™-Ñ'Ø˜&‘M &Ñ)×3Ñ3Ô4DÓEÈÒQà)3�—‘Õ&ð Rð (r)   c                 óŒ   — | j                   j                  |«       | j                   j                  j                  «        d|d<   y rf  rg  r·   s     r(   ÚstartTagParamSourcez2getPhases.<locals>.InBodyPhase.startTagParamSource”  ri  r)   c                 ó  — | j                   j                  dd¬«      r| j                  t        d«      «       | j                   j	                  |«       | j                   j
                  j                  «        d|d<   d| j                  _        y )Nr'   rí  rî  Tr�   F)	rH   rð  rñ  r7  rß   r�   r  rR   rm   r·   s     r(   Ú
startTagHrz)getPhases.<locals>.InBodyPhase.startTagHr™  si   € Ø�y‰y×'Ñ'¨°XÐ'Ô>Ø—‘œ_¨SÓ1Ô2Ø�I‰I×#Ñ# EÔ*Ø�I‰I×"Ñ"×&Ñ&Ô(Ø/3ˆEÐ+Ñ,Ø%*ˆD�K‰KÕ"r)   c           	      óŠ   — | j                   j                  ddddœ«       | j                  t        dd|d   |d   ¬«      «       y )	Nzunexpected-start-tag-treated-asÚimageÚimg©ÚoriginalNameÚnewNamer‚   rˆ   rŽ   ©rx   rŽ   )rR   r‘   r˜   r7  r·   s     r(   ÚstartTagImagez,getPhases.<locals>.InBodyPhase.startTagImage¡  sJ   € à�K‰K×"Ñ"Ð#DØ4;ÈÑ#NôPà× Ñ ¤°¸
Ø<AÀ&¹MØ=BÀ=Ñ=Qô"Sõ Tr)   c           	      óÂ  — | j                   j                  dddi«       | j                  j                  ry i }d|d   v r|d   d   |d<   | j	                  t        dd|¬«      «       | j	                  t        d	d«      «       | j	                  t        d
d«      «       d|d   v r	|d   d   }nd}| j                  t        d   |dœ«       |d   j                  «       }d|v r|d= d|v r|d= d|d<   | j	                  t        dd||d   ¬«      «       | j                  t        d
«      «       | j	                  t        d	d«      «       | j                  t        d«      «       y )Nzdeprecated-tagrN   ÚisindexÚactionrˆ   rö  r‚   )rx   ÚhrÚlabelÚpromptz3This is a searchable index. Enter search keywords: r€   ©r6   rˆ   ÚinputrŽ   r+  )
rR   r‘   rH   r÷  r˜   r7  r–   r   Úcopyr™   )rL   r¥   Ú
form_attrsr2  rx   s        r(   ÚstartTagIsIndexz.getPhases.<locals>.InBodyPhase.startTagIsIndex©  sr  € Ø�K‰K×"Ñ"Ð#3°f¸iÐ5HÔIØ�y‰y×$Ò$ØØˆJØ˜5 ™=Ñ(Ø',¨V¡}°XÑ'>�
˜8Ñ$Ø× Ñ ¤°¸Ø<Fô"Hô Ià× Ñ ¤°°zÓ!BÔCØ× Ñ ¤°¸*Ó!EÔFà˜5 ™=Ñ(Ø˜v™ xÑ0‘àN�Ø×"Ñ"Ü# LÑ1¸6ÑBôDà˜v™×+Ñ+Ó-ˆJØ˜:Ñ%Ø˜xÐ(Ø˜:Ñ%Ø˜xÐ(Ø!*ˆJ�vÑØ× Ñ ¤°¸*Ø<FØ=BÀ=Ñ=Qô"Sô Tð ×Ñœ¨wÓ7Ô8Ø× Ñ ¤°°zÓ!BÔCØ×Ñœ¨vÓ6Õ7r)   c                 óð   — | j                   j                  |«       | j                  j                  j                  | j                  j                  _        | j                  | _        d| j                  _        y r  )	rH   rß   rR   rV   rd   re   rß  r—   rm   r·   s     r(   ÚstartTagTextareaz/getPhases.<locals>.InBodyPhase.startTagTextareaÈ  sP   € Ø�I‰I×#Ñ# EÔ*Ø*.¯+©+×*?Ñ*?×*KÑ*KˆD�K‰K×!Ñ!Ô'Ø*.×*PÑ*PˆDÔ'Ø%*ˆD�K‰KÕ"r)   c                 óH   — d| j                   _        | j                  |«       y r  )rR   rm   ÚstartTagRawtextr·   s     r(   ÚstartTagIFramez-getPhases.<locals>.InBodyPhase.startTagIFrameÎ  s   € Ø%*ˆD�K‰KÔ"Ø× Ñ  Õ'r)   c                 óv   — | j                   j                  r| j                  |«       y | j                  |«       y r1   )rR   rT   r;  rT  r·   s     r(   r|  z/getPhases.<locals>.InBodyPhase.startTagNoscriptÒ  s+   € Ø�{‰{×$Ò$Ø×$Ñ$ UÕ+à×"Ñ" 5Õ)r)   c                 ó<   — | j                   j                  |d«       y)z8iframe, noembed noframes, noscript(if scripting enabled)rÜ   Nru  r·   s     r(   r;  z.getPhases.<locals>.InBodyPhase.startTagRawtextØ  ry  r)   c                 ó*  — | j                   j                  d   j                  dk(  r.| j                  j                  j                  t        d«      «       | j                   j                  «        | j                  j                   j                  |«       y ©Nr‡   Úoption)	rH   r�   rN   rR   rh   r™   r7  rÞ  rß   r·   s     r(   ÚstartTagOptz*getPhases.<locals>.InBodyPhase.startTagOptÜ  sd   € Ø�y‰y×%Ñ% bÑ)×.Ñ.°(Ò:Ø—‘×!Ñ!×/Ñ/´ÀÓ0IÔJØ�I‰I×9Ñ9Ô;Ø�K‰K×Ñ×*Ñ*¨5Õ1r)   c                 ó‚  — | j                   j                  «        | j                   j                  |«       d| j                  _        | j                  j
                  | j                  j                  d   | j                  j                  d   | j                  j                  d   | j                  j                  d   | j                  j                  d   | j                  j                  d   fv r)| j                  j                  d   | j                  _        y | j                  j                  d	   | j                  _        y )
NFrÄ   rÂ   rÃ   rÁ   rÀ   r¿   ÚinSelectInTabler¾   )rH   rÞ  rß   rR   rm   rh   rK   r·   s     r(   ÚstartTagSelectz-getPhases.<locals>.InBodyPhase.startTagSelectâ  sí   € Ø�I‰I×9Ñ9Ô;Ø�I‰I×#Ñ# EÔ*Ø%*ˆD�K‰KÔ"Ø�{‰{× Ñ  T§[¡[×%7Ñ%7¸	Ñ%BØ%)§[¡[×%7Ñ%7¸Ñ%DØ%)§[¡[×%7Ñ%7¸Ñ%HØ%)§[¡[×%7Ñ%7¸Ñ%FØ%)§[¡[×%7Ñ%7¸Ñ%@Ø%)§[¡[×%7Ñ%7¸Ñ%Að%Cñ Cð %)§K¡K×$6Ñ$6Ð7HÑ$I�—‘Õ!à$(§K¡K×$6Ñ$6°zÑ$B�—‘Õ!r)   c                 ó$  — | j                   j                  d«      rZ| j                   j                  «        | j                   j                  d   j                  dk7  r| j
                  j                  «        | j                   j                  |«       y )NÚrubyr‡   )rH   rð  ÚgenerateImpliedEndTagsr�   rN   rR   r‘   rß   r·   s     r(   ÚstartTagRpRtz+getPhases.<locals>.InBodyPhase.startTagRpRtð  sc   € Ø�y‰y×'Ñ'¨Ô/Ø—	‘	×0Ñ0Ô2Ø—9‘9×)Ñ)¨"Ñ-×2Ñ2°fÒ<Ø—K‘K×*Ñ*Ô,Ø�I‰I×#Ñ# EÕ*r)   c                 óP  — | j                   j                  «        | j                  j                  |«       | j                  j	                  |«       t
        d   |d<   | j                   j                  |«       |d   r*| j                   j                  j                  «        d|d<   y y )Nru   rw   rŽ   Tr�   )	rH   rÞ  rR   r   r   r   rß   r�   r  r·   s     r(   ÚstartTagMathz+getPhases.<locals>.InBodyPhase.startTagMath÷  s‡   € Ø�I‰I×9Ñ9Ô;Ø�K‰K×.Ñ.¨uÔ5Ø�K‰K×/Ñ/°Ô6Ü!+¨HÑ!5ˆE�+ÑØ�I‰I×#Ñ# EÔ*ð �]Ò#Ø—	‘	×&Ñ&×*Ñ*Ô,Ø37�Ð/Ò0ð $r)   c                 óP  — | j                   j                  «        | j                  j                  |«       | j                  j	                  |«       t
        d   |d<   | j                   j                  |«       |d   r*| j                   j                  j                  «        d|d<   y y )NrŒ   rw   rŽ   Tr�   )	rH   rÞ  rR   r   r   r   rß   r�   r  r·   s     r(   ÚstartTagSvgz*getPhases.<locals>.InBodyPhase.startTagSvg  s‡   € Ø�I‰I×9Ñ9Ô;Ø�K‰K×+Ñ+¨EÔ2Ø�K‰K×/Ñ/°Ô6Ü!+¨EÑ!2ˆE�+ÑØ�I‰I×#Ñ# EÔ*ð �]Ò#Ø—	‘	×&Ñ&×*Ñ*Ô,Ø37�Ð/Ò0ð $r)   c                 óF   — | j                   j                  dd|d   i«       y)a5   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"
            zunexpected-start-tag-ignoredrN   Nr  r·   s     r(   ÚstartTagMisplacedz0getPhases.<locals>.InBodyPhase.startTagMisplaced  s#   € ð �K‰K×"Ñ"Ð#AÀFÈEÐRXÉMÐCZÕ[r)   c                 ón   — | j                   j                  «        | j                   j                  |«       y r1   )rH   rÞ  rß   r·   s     r(   rT  z,getPhases.<locals>.InBodyPhase.startTagOther  s$   € Ø�I‰I×9Ñ9Ô;Ø�I‰I×#Ñ# EÕ*r)   c                 óv  — | j                   j                  dd¬«      sU| j                  t        dd«      «       | j                  j                  dddi«       | j                  t        dd«      «       y | j                   j                  d«       | j                   j                  d   j                  dk7  r| j                  j                  dddi«       | j                   j                  j                  «       }|j                  dk7  r5| j                   j                  j                  «       }|j                  dk7  rŒ4y y )	Nr'   rí  rî  r‚   rŠ  rN   rƒ   r‡   )rH   rð  rò  r7  rR   r‘   rñ  rH  r�   rN   r  r„  s      r(   rñ  z&getPhases.<locals>.InBodyPhase.endTagP  sì   € Ø—9‘9×+Ñ+¨C¸Ð+ÔBØ×#Ñ#¤O°C¸Ó$DÔEØ—‘×&Ñ&Ð';¸fÀc¸]ÔKØ—‘œ_¨S°(Ó;Õ<à—	‘	×0Ñ0°Ô5Ø—9‘9×)Ñ)¨"Ñ-×2Ñ2°cÒ9Ø—K‘K×*Ñ*Ð+?À&È#ÀÔOØ—y‘y×-Ñ-×1Ñ1Ó3�Ø—i‘i 3Ò&ØŸ9™9×1Ñ1×5Ñ5Ó7�Dð —i‘i 3Õ&r)   c                 óÌ  — | j                   j                  d«      s| j                  j                  «        y | j                   j                  d   j
                  dk7  r`| j                   j                  dd  D ]D  }|j
                  t        d«      vsŒ| j                  j                  dd|j
                  dœ«        n | j                  j                  d   | j                  _        y )NrÓ   r‡   é   )rÔ  rÕ  rÖ  ÚoptgrouprA  r'   ÚrpÚrtrÌ   rÉ   rÎ   rÊ   rÍ   rË   rÓ   rÕ   ú$expected-one-end-tag-but-got-another©ÚgotNameÚexpectedNameÚ	afterBody)	rH   rð  rR   r‘   r�   rN   r•   rK   rh   r„  s      r(   Ú
endTagBodyz)getPhases.<locals>.InBodyPhase.endTagBody)  sÂ   € Ø—9‘9×+Ñ+¨FÔ3Ø—‘×&Ñ&Ô(ØØ—‘×'Ñ'¨Ñ+×0Ñ0°FÒ:Ø ŸI™I×2Ñ2°1°2Ð6ò 
�DØ—y‘y¬	ð 3;ó )<ò <ð Ÿ™×.Ñ.ØBØ(.ÀÇ	Á	ÑJôLñ ð
ð !%§¡× 2Ñ 2°;Ñ ?ˆD�K‰KÕr)   c                 ór   — | j                   j                  d«      r| j                  t        d«      «       |S y )NrÓ   )rH   rð  r\  r7  r·   s     r(   Ú
endTagHtmlz)getPhases.<locals>.InBodyPhase.endTagHtml;  s/   € à�y‰y×'Ñ'¨Ô/Ø—‘¤°Ó 7Ô8Ø�ð 0r)   c                 ó   — |d   dk(  r| j                   | _        | j                  j                  |d   «      }|r| j                  j	                  «        | j                  j
                  d   j                  |d   k7  r!| j                  j                  dd|d   i«       |ro| j                  j
                  j                  «       }|j                  |d   k7  r8| j                  j
                  j                  «       }|j                  |d   k7  rŒ7y y y )NrN   rÚ  r‡   úend-tag-too-early)
rÈ  r—   rH   rð  rH  r�   rN   rR   r‘   r  )rL   r¥   ÚinScoperØ   s       r(   ÚendTagBlockz*getPhases.<locals>.InBodyPhase.endTagBlockA  sà   € à�V‰} Ò%Ø.2×.OÑ.O�Ô+Ø—i‘i×.Ñ.¨u°V©}Ó=ˆGÙØ—	‘	×0Ñ0Ô2Ø�y‰y×%Ñ% bÑ)×.Ñ.°%¸±-Ò?Ø—‘×&Ñ&Ð':¸VÀUÈ6Á]Ð<SÔTÙØ—y‘y×-Ñ-×1Ñ1Ó3�Ø—i‘i 5¨¡=Ò0ØŸ9™9×1Ñ1×5Ñ5Ó7�Dð —i‘i 5¨¡=Õ0ð r)   c                 ó¼  — | j                   j                  }d | j                   _        |�| j                   j                  |«      s| j                  j	                  dddi«       y | j                   j                  «        | j                   j                  d   |k7  r| j                  j	                  dddi«       | j                   j                  j                  |«       y )NrŠ  rN   rö  r‡   zend-tag-too-early-ignored)rH   r÷  rð  rR   r‘   rH  r�   r¼  r„  s      r(   Ú
endTagFormz)getPhases.<locals>.InBodyPhase.endTagFormO  s®   € Ø—9‘9×(Ñ(ˆDØ$(ˆD�I‰IÔ!Øˆ| 4§9¡9×#;Ñ#;¸DÔ#AØ—‘×&Ñ&Ð';Ø(.°Ð'7õ9ð —	‘	×0Ñ0Ô2Ø—9‘9×)Ñ)¨"Ñ-°Ò5Ø—K‘K×*Ñ*Ð+FØ,2°FÐ+;ô=à—	‘	×&Ñ&×-Ñ-¨dÕ3r)   c                 óP  — |d   dk(  rd}nd }| j                   j                  |d   |¬«      s"| j                  j                  dd|d   i«       y | j                   j	                  |d   ¬«       | j                   j
                  d   j                  |d   k7  r!| j                  j                  dd|d   i«       | j                   j
                  j                  «       }|j                  |d   k7  r8| j                   j
                  j                  «       }|j                  |d   k7  rŒ7y y )	NrN   rÖ  Úlistrî  rŠ  ©Úexcluder‡   r`  )rH   rð  rR   r‘   rH  r�   rN   r  )rL   r¥   rï  rØ   s       r(   ÚendTagListItemz-getPhases.<locals>.InBodyPhase.endTagListItem\  s   € Ø�V‰} Ò$Ø ‘à�Ø—9‘9×+Ñ+¨E°&©MÀ7Ð+ÔKØ—‘×&Ñ&Ð';¸fÀeÈFÁmÐ=TÕUà—	‘	×0Ñ0¸¸v¹Ð0ÔGØ—9‘9×)Ñ)¨"Ñ-×2Ñ2°e¸F±mÒCØ—K‘K×*Ñ*Ø+Ø  v¡Ð/ô1ð —y‘y×-Ñ-×1Ñ1Ó3�Ø—i‘i 5¨¡=Ò0ØŸ9™9×1Ñ1×5Ñ5Ó7�Dð —i‘i 5¨¡=Õ0r)   c                 óF  — t         D ]9  }| j                  j                  |«      sŒ| j                  j                  «         n | j                  j                  d   j
                  |d   k7  r!| j                  j                  dd|d   i«       t         D ]Œ  }| j                  j                  |«      sŒ| j                  j                  j                  «       }|j
                  t         vr7| j                  j                  j                  «       }|j
                  t         vrŒ7 y  y )Nr‡   rN   r`  )	r   rH   rð  rH  r�   rN   rR   r‘   r  )rL   r¥   Úitems      r(   ÚendTagHeadingz,getPhases.<locals>.InBodyPhase.endTagHeadingm  så   € Ü'ò �Ø—9‘9×+Ñ+¨DÕ1Ø—I‘I×4Ñ4Ô6Ùðð �y‰y×%Ñ% bÑ)×.Ñ.°%¸±-Ò?Ø—‘×&Ñ&Ð':¸VÀUÈ6Á]Ð<SÔTä'ò �Ø—9‘9×+Ñ+¨DÕ1ØŸ9™9×1Ñ1×5Ñ5Ó7�DØŸ)™)¬?Ñ:Ø#Ÿy™y×5Ñ5×9Ñ9Ó;˜ð Ÿ)™)¬?Ò:áñr)   c                 óú
  — d}|dk  �rs|dz  }| j                   j                  |d   «      }|r=|| j                   j                  v r7| j                   j                  |j                  «      s| j                  |«       y|| j                   j                  vrG| j                  j                  dd|d   i«       | j                   j                  j                  |«       y| j                   j                  |j                  «      s"| j                  j                  dd|d   i«       y|| j                   j                  d   k7  r!| j                  j                  d	d|d   i«       | j                   j                  j                  |«      }d}| j                   j                  |d D ]  }|j                  t        v sŒ|} n |€y| j                   j                  j                  «       }||k7  r*| j                   j                  j                  «       }||k7  rŒ*| j                   j                  j                  |«       y| j                   j                  |dz
     }| j                   j                  j                  |«      }|x}	}
d}| j                   j                  j                  |
«      }|d
k  �r_|dz  }|dz  }| j                   j                  |   }
|
| j                   j                  vr&| j                   j                  j                  |
«       Œg|
|k(  rnø|	|k(  r(| j                   j                  j                  |
«      dz   }|
j                  «       }|| j                   j                  | j                   j                  j                  |
«      <   || j                   j                  | j                   j                  j                  |
«      <   |}
|	j                  r|	j                  j!                  |	«       |
j#                  |	«       |
}	|d
k  r�Œ_|	j                  r|	j                  j!                  |	«       |j                  t%        d«      v r0| j                   j'                  «       \  }}|j)                  |	|«       n|j#                  |	«       |j                  «       }|j+                  |«       |j#                  |«       | j                   j                  j                  |«       | j                   j                  j-                  ||«       | j                   j                  j                  |«       | j                   j                  j-                  | j                   j                  j                  |«      dz   |«       |dk  r�Œryy)z)The much-feared adoption agency algorithmr   é   r   rN   Nzadoption-agency-1.2zadoption-agency-4.4r‡   zadoption-agency-1.3rÏ  ©rÑ   rÌ   rÎ   rÍ   rË   )rH   r
  r�   rð  rN   rX  rR   r‘   rÐ  r¼  Úindexrü  r   r  Ú	cloneNoderé  rê  ÚappendChildr•   ÚgetTableMisnestedNodePositionÚinsertBeforeÚreparentChildrenÚinsert)rL   r¥   ÚouterLoopCounterÚformattingElementÚafeIndexÚfurthestBlockr{   ÚcommonAncestorÚbookmarkÚlastNoderØ   ÚinnerLoopCounterrp  Úcloneré  rt  s                   r(   r  z/getPhases.<locals>.InBodyPhase.endTagFormatting|  sÎ  € ð  !Ðð # QÓ&ð ! AÑ%Ð ð %)§I¡I×$OÑ$OØ˜&‘Mó%#Ð!á)Ø&¨$¯)©)×*@Ñ*@Ñ@ØŸ™×1Ñ1Ð2C×2HÑ2HÔIð ×$Ñ$ UÔ+Øð '¨d¯i©i×.DÑ.DÑDØ—K‘K×*Ñ*Ð+@À6È5ÐQWÉ=ÐBYÔZØ—I‘I×6Ñ6×=Ñ=Ð>OÔPØð Ÿ™×1Ñ1Ð2C×2HÑ2HÔIØ—K‘K×*Ñ*Ð+@À6È5ÐQWÉ=ÐBYÔZØð )¨D¯I©I×,BÑ,BÀ2Ñ,FÒFØŸ™×.Ñ.Ð/DÀvÈuÐU[É}ÐF]Ô^ð  Ÿ9™9×1Ñ1×7Ñ7Ð8IÓJ�Ø $�Ø#Ÿy™y×5Ñ5°h°iÐ@ò �GØ×(Ñ(¬OÒ;Ø(/˜Ùðð !Ð(Ø"Ÿi™i×4Ñ4×8Ñ8Ó:�GØ!Ð%6Ò6Ø"&§)¡)×"8Ñ"8×"<Ñ"<Ó">˜ð "Ð%6Ó6à—I‘I×6Ñ6×=Ñ=¸gÔFØð "&§¡×!7Ñ!7¸À1¹Ñ!E�ð  Ÿ9™9×=Ñ=×CÑCÐDUÓV�ð #0Ð/�˜4Ø#$Ð àŸ	™	×.Ñ.×4Ñ4°TÓ:�Ø&¨Ó*Ø$¨Ñ)Ð$à˜Q‘J�EØŸ9™9×1Ñ1°%Ñ8�DØ 4§9¡9×#EÑ#EÑEØŸ	™	×.Ñ.×5Ñ5°dÔ;Ø àÐ0Ò0Øà =Ò0Ø#'§9¡9×#EÑ#E×#KÑ#KÈDÓ#QÐTUÑ#U˜à ŸN™NÓ,�Eð KPð —I‘I×6Ñ6ØŸ	™	×:Ñ:×@Ñ@ÀÓFñHð ?Dð —I‘I×*Ñ*ØŸ	™	×.Ñ.×4Ñ4°TÓ:ñ<à �Dð  —’Ø Ÿ™×3Ñ3°HÔ=Ø×$Ñ$ XÔ.à#�Hð9 '¨Ô*ðD —?’?Ø—O‘O×/Ñ/°Ô9à!×&Ñ&¬)Ð4^Ó*_Ñ_Ø+/¯9©9×+RÑ+RÓ+TÑ(�F˜LØ×'Ñ'¨°,Õ?à"×.Ñ.¨xÔ8ð *×3Ñ3Ó5�ð ×.Ñ.¨uÔ5ð ×)Ñ)¨%Ô0ð —	‘	×2Ñ2×9Ñ9Ð:KÔLØ—	‘	×2Ñ2×9Ñ9¸(ÀEÔJð —	‘	×&Ñ&×-Ñ-Ð.?Ô@Ø—	‘	×&Ñ&×-Ñ-Ø—I‘I×*Ñ*×0Ñ0°Ó?À!ÑCÀUôLðo # QÖ&r)   c                 óT  — | j                   j                  |d   «      r| j                   j                  «        | j                   j                  d   j                  |d   k7  r!| j
                  j                  dd|d   i«       | j                   j                  |d   «      rˆ| j                   j                  j                  «       }|j                  |d   k7  r7| j                   j                  j                  «       }|j                  |d   k7  rŒ7| j                   j                  «        y y )NrN   r‡   r`  )	rH   rð  rH  r�   rN   rR   r‘   r  ÚclearActiveFormattingElements)rL   r¥   r{   s      r(   ÚendTagAppletMarqueeObjectz8getPhases.<locals>.InBodyPhase.endTagAppletMarqueeObject  sä   € Ø�y‰y×'Ñ'¨¨f©Ô6Ø—	‘	×0Ñ0Ô2Ø�y‰y×%Ñ% bÑ)×.Ñ.°%¸±-Ò?Ø—‘×&Ñ&Ð':¸VÀUÈ6Á]Ð<SÔTà�y‰y×'Ñ'¨¨f©Ô6ØŸ)™)×0Ñ0×4Ñ4Ó6�Ø—l‘l e¨F¡mÒ3Ø"Ÿi™i×4Ñ4×8Ñ8Ó:�Gð —l‘l e¨F¡mÓ3à—	‘	×7Ñ7Õ9ð	 7r)   c                 ó  — | j                   j                  ddddœ«       | j                  j                  «        | j                  j	                  t        dd«      «       | j                  j                  j                  «        y )Nzunexpected-end-tag-treated-asrA  z
br elementr(  r‚   )rR   r‘   rH   rÞ  rß   r7  r�   r  r·   s     r(   r®  z'getPhases.<locals>.InBodyPhase.endTagBr+  s_   € Ø�K‰K×"Ñ"Ð#BØ48À\Ñ#RôTà�I‰I×9Ñ9Ô;Ø�I‰I×#Ñ#¤O°D¸*Ó$EÔFØ�I‰I×"Ñ"×&Ñ&Õ(r)   c                 óL  — | j                   j                  d d d…   D �]  }|j                  |d   k(  r»| j                   j                  |d   ¬«       | j                   j                  d   j                  |d   k7  r!| j                  j                  dd|d   i«       | j                   j                  j                  «       |k7  r)	 | j                   j                  j                  «       |k7  rŒ) y |j                  t        v sŒä| j                  j                  dd|d   i«        y  y )Nr‡   rN   rg  rŠ  )	rH   r�   rN   rH  rR   r‘   r  rü  r   r„  s      r(   rX  z*getPhases.<locals>.InBodyPhase.endTagOther2  sù   € ØŸ	™	×.Ñ.©t°¨tÑ4ó �Ø—9‘9  f¡Ò-Ø—I‘I×4Ñ4¸UÀ6¹]Ð4ÔKØ—y‘y×-Ñ-¨bÑ1×6Ñ6¸%À¹-ÒGØŸ™×.Ñ.Ð/CÀfÈeÐTZÉmÐE\Ô]ØŸ)™)×0Ñ0×4Ñ4Ó6¸$Ò>Øð Ÿ)™)×0Ñ0×4Ñ4Ó6¸$Ó>áà—~‘~¬Ò8ØŸ™×.Ñ.Ð/CÀfÈeÐTZÉmÐE\Ô]Ùñr)   rÕ   )	r’  r“  r”  r•  r–  r8   r‘  r�  r�  rÓ   rÔ   )rú  ÚarticleÚasideÚ
blockquoteÚcenterÚdetailsÚdirrã   ÚdlÚfieldsetÚ
figcaptionÚfigureÚfooterÚheaderÚhgroupÚmainÚmenuÚnavÚolr'   ÚsectionÚsummaryÚul)rÚ  rÛ  rö  )rÖ  rÔ  rÕ  r]   r  )ÚbÚbigÚcodeÚemÚfontÚiÚsÚsmallÚstrikeÚstrongÚttÚur  rí  )ÚappletÚmarqueeÚobjectÚxmprÑ   )ÚarearA  Úembedr'  ÚkeygenÚwbr)ÚparamÚsourceÚtrackr4  r0  r&  r.  rÜ  Úiframer�  )ÚnoembedrŽ  rÈ   )rU  rV  )rA  rT  ÚmathrŒ   )rÏ   ÚcolrÐ   ÚframerÒ   rÌ   rÉ   rÎ   rÊ   rÍ   rË   )rú  r…  r†  r‡  rí  rˆ  r‰  ÚdialogrŠ  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¤  rA  )?r?   r@   rA   r  rP   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,  r7  r9  r<  r|  r;  rB  rE  rI  rK  rM  rO  rT  rñ  r\  r^  rb  rd  ri  rl  r  r‚  r®  rX  r   rY  r  r   r  rZ  r  Ú__classcell__)rì   rÉ  r  s   @€€r(   rÉ  rÅ  ­  sÞ  ù„ ð 0ˆ	õ	Lò
	:ò	?ò"	ò	+ò
	/ò	0ò	Gò		Kò	Eò	+ò
	Qò	Cò	+ò,	Oò	+ò	-ò	-ò	-ò		/ò	+ò	=ò	>ò	+ò	4ò	4ò
	+ò	Tò	8ò>	+ò	(ò	*ò	=ò	2ò	Cò	+ò
	8ò
	8ò	\ò	+ò	8ò	@ò$	ò	8ò	4ò	8ò"	òa	LòF
	:ò	)ò	ð 2˜&×1Ñ1ð ,3
Ø‘U×'Ñ'Ð(ð,3
ð*à"ð$ð,3
ð
 �\Ð"ð,3
ð Ð)Ð*ð,3
ð*ð ð	ð,3
ð ˜oÐ.ð,3
ð  Ð!3Ð4ð,3
ð �\Ð"ð,3
ð  Ð!1Ð2ð,3
ð  Ð+Ð,ð!,3
ð" �)Ðð#,3
ð$#Ø$6ð8ð%,3
ð( �\Ð"ð),3
ð* �~Ð&ð+,3
ð, -Ð.IÐJð-,3
ð. �KÐ ð/,3
ð0 �mÐ$ð1,3
ð2 =Ø#ð%ð3,3
ð6 *Ð+>Ð?ð7,3
ð8 �mÐ$ð9,3
ð: �:Ðð;,3
ð< �mÐ$ð=,3
ð> ˜Ð(ð?,3
ð@ Ð)Ð*ðA,3
ðB �~Ð&ðC,3
ðD Ð)Ð*ðE,3
ðF % oÐ6ðG,3
ðH �~Ð&ðI,3
ðJ ˜<Ð(ðK,3
ðL $ [Ð1ðM,3
ðN �|Ð$ðO,3
ðP �kÐ"ðQ,3
ðRà&ð(ðS,3
ó ,ˆðZ #0ˆÔà/˜×/Ñ/Ø�ZÐ Ø�ZÐ ð*ð ,7ð8ð �ZÐ Ø�'ˆNØ Ð0Ø˜mÐ,ð-Ø.>ð@à,Ð.GÐHØ�8Ðð1
ó ˆð  !,ˆ×Ðr)   rÉ  c                   ó¢   — e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	 e
j                  g «      Zee_         e
j                  defg«      Ze	e_        y)úgetPhases.<locals>.TextPhasec                 ó@   — | j                   j                  |d   «       y r  r  r·   s     r(   r–   z.getPhases.<locals>.TextPhase.processCharacters„  r  r)   c                 ó  — | j                   j                  dd| j                  j                  d   j                  i«       | j                  j                  j                  «        | j                   j                  | j                   _        y)Nz&expected-named-closing-tag-but-got-eofrN   r‡   T)rR   r‘   rH   r�   rN   r  rà   rh   rn   s    r(   r�   z'getPhases.<locals>.TextPhase.processEOF‡  sd   € Ø�K‰K×"Ñ"Ð#KØ$*¨D¯I©I×,BÑ,BÀ2Ñ,F×,KÑ,KÐ#LôNà�I‰I×"Ñ"×&Ñ&Ô(Ø $§¡× 9Ñ 9ˆD�K‰KÔØr)   c                 ó   — J d|d   z  «       ‚)Nz4Tried to process start tag %s in RCDATA/RAWTEXT moderN   ræ   r·   s     r(   rT  z*getPhases.<locals>.TextPhase.startTagOtherŽ  s   € Ø`ÐPÐSXÐY_ÑS`Ñ`Ó`�5r)   c                 ó¸   — | j                   j                  j                  «       }|j                  dk(  sJ ‚| j                  j
                  | j                  _        y )Nr‘  )rH   r�   r  rN   rR   rà   rh   r„  s      r(   ÚendTagScriptz)getPhases.<locals>.TextPhase.endTagScript‘  sB   € Ø—9‘9×)Ñ)×-Ñ-Ó/ˆDØ—9‘9 Ò(Ð(Ð(Ø $§¡× 9Ñ 9ˆD�K‰KÕr)   c                 ó–   — | j                   j                  j                  «        | j                  j                  | j                  _        y r1   )rH   r�   r  rR   rà   rh   r·   s     r(   rX  z(getPhases.<locals>.TextPhase.endTagOther˜  s.   € Ø�I‰I×"Ñ"×&Ñ&Ô(Ø $§¡× 9Ñ 9ˆD�K‰KÕr)   r‘  N)r?   r@   rA   r1  r  r–   r�   rT  r½  rX  r   rY  r  rZ  r  ræ   r)   r(   Ú	TextPhaser¸  �  sf   „ Ù“Gˆ	ò	0ò	ò	aò	:ò	:ð 2˜&×1Ñ1°"Ó5ˆØ"/ˆÔØ/˜×/Ñ/Ø�|Ð$ð1&ó 'ˆà +ˆÕr)   r¿  c                   óJ  •— e Zd Z e«       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 ej0                  dW ° j2                  fde
fdefdefdefdefdefdefdefdefg
«      Zee_         ej0                  defdefg«      Zee_        y)úgetPhases.<locals>.InTablePhasec                 óä   — | j                   j                  d   j                  dvrK| j                   j                  j                  «        | j                   j                  d   j                  dvrŒJy y )Nr‡   )rÑ   rÕ   )rH   r�   rN   r  rn   s    r(   ÚclearStackToTableContextz8getPhases.<locals>.InTablePhase.clearStackToTableContext§  sX   € à—)‘)×(Ñ(¨Ñ,×1Ñ1Ð9JÑJð —	‘	×&Ñ&×*Ñ*Ô,ð —)‘)×(Ñ(¨Ñ,×1Ñ1Ð9JÔJr)   c                 ó¸   — | j                   j                  d   j                  dk7  r| j                  j	                  d«       y | j                  j
                  sJ ‚y )Nr‡   rÕ   zeof-in-table©rH   r�   rN   rR   r‘   rZ   rn   s    r(   r�   z*getPhases.<locals>.InTablePhase.processEOF°  sD   € Ø�y‰y×%Ñ% bÑ)×.Ñ.°&Ò8Ø—‘×&Ñ& ~Õ6à—{‘{×,Ò,Ð,Ñ,r)   c                 ó   — | j                   j                  }| j                   j                  d   | j                   _        || j                   j                  _        | j                   j                  j	                  |«       y ©NÚinTableText)rR   rh   rK   rà   r—   ©rL   r¥   rà   s      r(   r—   z6getPhases.<locals>.InTablePhase.processSpaceCharacters·  sV   € Ø ŸK™K×-Ñ-ˆMØ $§¡× 2Ñ 2°=Ñ AˆD�K‰KÔØ.;ˆD�K‰K×ÑÔ+Ø�K‰K×Ñ×4Ñ4°UÕ;r)   c                 ó   — | j                   j                  }| j                   j                  d   | j                   _        || j                   j                  _        | j                   j                  j	                  |«       y rÇ  )rR   rh   rK   rà   r–   rÉ  s      r(   r–   z1getPhases.<locals>.InTablePhase.processCharacters½  sV   € Ø ŸK™K×-Ñ-ˆMØ $§¡× 2Ñ 2°=Ñ AˆD�K‰KÔØ.;ˆD�K‰K×ÑÔ+Ø�K‰K×Ñ×/Ñ/°Õ6r)   c                 ó˜   — d| j                   _        | j                  j                  d   j	                  |«       d| j                   _        y )NTrÅ   F)rH   ÚinsertFromTablerR   rK   r–   r·   s     r(   r  z*getPhases.<locals>.InTablePhase.insertTextÃ  s9   € ð )-ˆD�I‰IÔ%Ø�K‰K×Ñ˜xÑ(×:Ñ:¸5ÔAØ(-ˆD�I‰IÕ%r)   c                 óü   — | j                  «        | j                  j                  j                  t        «       | j                  j                  |«       | j                  j                  d   | j                  _        y )NrÂ   )	rÃ  rH   rÐ  rœ   r   rß   rR   rK   rh   r·   s     r(   ÚstartTagCaptionz/getPhases.<locals>.InTablePhase.startTagCaptionÊ  sS   € Ø×)Ñ)Ô+Ø�I‰I×.Ñ.×5Ñ5´fÔ=Ø�I‰I×#Ñ# EÔ*Ø $§¡× 2Ñ 2°;Ñ ?ˆD�K‰KÕr)   c                 óª   — | j                  «        | j                  j                  |«       | j                  j                  d   | j                  _        y )NrÃ   ©rÃ  rH   rß   rR   rK   rh   r·   s     r(   ÚstartTagColgroupz0getPhases.<locals>.InTablePhase.startTagColgroupÐ  s;   € Ø×)Ñ)Ô+Ø�I‰I×#Ñ# EÔ*Ø $§¡× 2Ñ 2°?Ñ CˆD�K‰KÕr)   c                 ó<   — | j                  t        dd«      «       |S )NrÐ   r‚   )rÑ  r7  r·   s     r(   ÚstartTagColz+getPhases.<locals>.InTablePhase.startTagColÕ  s   € Ø×!Ñ!¤/°*¸jÓ"IÔJØˆLr)   c                 óª   — | j                  «        | j                  j                  |«       | j                  j                  d   | j                  _        y ©NrÁ   rÐ  r·   s     r(   ÚstartTagRowGroupz0getPhases.<locals>.InTablePhase.startTagRowGroupÙ  s;   € Ø×)Ñ)Ô+Ø�I‰I×#Ñ# EÔ*Ø $§¡× 2Ñ 2°=Ñ AˆD�K‰KÕr)   c                 ó<   — | j                  t        dd«      «       |S )NrÌ   r‚   )rÖ  r7  r·   s     r(   ÚstartTagImplyTbodyz2getPhases.<locals>.InTablePhase.startTagImplyTbodyÞ  s   € Ø×!Ñ!¤/°'¸:Ó"FÔGØˆLr)   c                 óÎ   — | j                   j                  ddddœ«       | j                   j                  j                  t	        d«      «       | j                   j
                  s|S y )Nr  rÑ   r  )rR   r‘   rh   r™   r7  rZ   r·   s     r(   r  z-getPhases.<locals>.InTablePhase.startTagTableâ  sT   € Ø�K‰K×"Ñ"Ð#IØ18ÀWÑ#MôOà�K‰K×Ñ×+Ñ+¬O¸GÓ,DÔEØ—;‘;×(Ò(Ø�ð )r)   c                 óR   — | j                   j                  d   j                  |«      S rœ  rN  r·   s     r(   ÚstartTagStyleScriptz3getPhases.<locals>.InTablePhase.startTagStyleScripté  rO  r)   c                 ó&  — d|d   v ry|d   d   j                  t        «      dk(  r[| j                  j                  d«       | j                  j                  |«       | j                  j                  j                  «        y | j                  |«       y )Nr6   rˆ   r  z unexpected-hidden-input-in-table)	ry   r   rR   r‘   rH   rß   r�   r  rT  r·   s     r(   r   z-getPhases.<locals>.InTablePhase.startTagInputì  st   € Ø˜% ™-Ñ'Ø˜&‘M &Ñ)×3Ñ3Ô4DÓEÈÒQØ—‘×&Ñ&Ð'IÔJØ—	‘	×'Ñ'¨Ô.à—	‘	×&Ñ&×*Ñ*Õ,à×"Ñ" 5Õ)r)   c                 ó6  — | j                   j                  d«       | j                  j                  €h| j                  j	                  |«       | j                  j
                  d   | j                  _        | j                  j
                  j                  «        y y )Nzunexpected-form-in-tabler‡   )rR   r‘   rH   r÷  rß   r�   r  r·   s     r(   rø  z,getPhases.<locals>.InTablePhase.startTagFormö  sm   € Ø�K‰K×"Ñ"Ð#=Ô>Ø�y‰y×$Ñ$Ð,Ø—	‘	×'Ñ'¨Ô.Ø(,¯	©	×(>Ñ(>¸rÑ(B�—	‘	Ô%Ø—	‘	×&Ñ&×*Ñ*Õ,ð -r)   c                 óÚ   — | j                   j                  dd|d   i«       d| j                  _        | j                   j                  d   j                  |«       d| j                  _        y )Nz)unexpected-start-tag-implies-table-voodoorN   TrÅ   F)rR   r‘   rH   rÌ  rK   r˜   r·   s     r(   rT  z-getPhases.<locals>.InTablePhase.startTagOtherý  sY   € Ø�K‰K×"Ñ"Ð#NÐQWÐY^Ð_eÑYfÐPgÔhà(,ˆD�I‰IÔ%Ø�K‰K×Ñ˜xÑ(×8Ñ8¸Ô?Ø(-ˆD�I‰IÕ%r)   c                 ó  — | j                   j                  dd¬«      �r0| j                   j                  «        | j                   j                  d   j                  dk7  r@| j
                  j                  dd| j                   j                  d   j                  dœ«       | j                   j                  d   j                  dk7  rK| j                   j                  j                  «        | j                   j                  d   j                  dk7  rŒK| j                   j                  j                  «        | j
                  j                  «        y | j
                  j                  sJ ‚| j
                  j                  «        y )NrÑ   rî  r‡   zend-tag-too-early-namedrX  )
rH   rð  rH  r�   rN   rR   r‘   r  rj   rZ   r·   s     r(   ÚendTagTablez+getPhases.<locals>.InTablePhase.endTagTable  s  € Ø�y‰y×'Ñ'¨¸Ð'ÕAØ—	‘	×0Ñ0Ô2Ø—9‘9×)Ñ)¨"Ñ-×2Ñ2°gÒ=Ø—K‘K×*Ñ*Ð+DØ7>Ø<@¿I¹I×<RÑ<RÐSUÑ<V×<[Ñ<[ñ,]ô^ð —i‘i×,Ñ,¨RÑ0×5Ñ5¸Ò@Ø—I‘I×*Ñ*×.Ñ.Ô0ð —i‘i×,Ñ,¨RÑ0×5Ñ5¸Ó@à—	‘	×&Ñ&×*Ñ*Ô,Ø—‘×.Ñ.Õ0ð —{‘{×,Ò,Ð,Ð,Ø—‘×&Ñ&Õ(r)   c                 óF   — | j                   j                  dd|d   i«       y r‰  r  r·   s     r(   ÚendTagIgnorez,getPhases.<locals>.InTablePhase.endTagIgnore  r‹  r)   c                 óÚ   — | j                   j                  dd|d   i«       d| j                  _        | j                   j                  d   j                  |«       d| j                  _        y )Nz'unexpected-end-tag-implies-table-voodoorN   TrÅ   F)rR   r‘   rH   rÌ  rK   r™   r·   s     r(   rX  z+getPhases.<locals>.InTablePhase.endTagOther  sX   € Ø�K‰K×"Ñ"Ð#LÈvÐW\Ð]cÑWdÐNeÔfà(,ˆD�I‰IÔ%Ø�K‰K×Ñ˜xÑ(×6Ñ6°uÔ=Ø(-ˆD�I‰IÕ%r)   rÕ   rÏ   rÐ   r³  ©rÌ   rÎ   rÍ   )rÉ   rÊ   rË   rÑ   )r�  r‘  r4  rö  )rÓ   rÏ   r³  rÐ   rÕ   rÌ   rÉ   rÎ   rÊ   rÍ   rË   N)r?   r@   rA   r1  r  rÃ  r�   r—   r–   r  rÎ  rÑ  rÓ  rÖ  rØ  r  rÛ  r   rø  rT  rà  râ  rX  r   rY  r  r  rZ  r  ©r  s   €r(   ÚInTablePhaserÁ  ¢  s  ø„ á“Gˆ	ò	-ò	-ò	<ò	7ò	.ò	@ò	Dò
	ò	Bò
	ò	ò	Gò	*ò	-ò	.ò	)ò 	Rò	.ð 2˜&×1Ñ1Ø‘U×'Ñ'Ð(Ø˜Ð(ØÐ)Ð*Ø�KÐ Ø(Ð*:Ð;ØÐ!3Ð4Ø�mÐ$Ø Ð"5Ð6Ø�mÐ$Ø�\Ð"ð3
ó ˆð #0ˆÔà/˜×/Ñ/Ø�kÐ"ð,Ø-9ð;ð1
ó ˆð
 !,ˆÕr)   ræ  c                   óP   •‡ — e Zd ZdZˆˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zˆ xZS )
ú#getPhases.<locals>.InTableTextPhase)rà   ÚcharacterTokensc                 ó@   •— t        ‰| �  |i |¤Ž d | _        g | _        y r1   )rÇ  rP   rà   ré  )rL   r¯   r%   ÚInTableTextPhaserì   s      €€r(   rP   z,getPhases.<locals>.InTableTextPhase.__init__6  s(   ø€ ÜÐ" DÑ2°DÐC¸FÒCØ!%ˆDÔØ#%ˆDÕ r)   c                 ón  — dj                  | j                  D �cg c]  }|d   ‘Œ	 c}«      }t        |D �cg c]
  }|t        v‘Œ c}«      r<t        d   |dœ}| j
                  j                  d   j                  |«       g | _        y |r| j                  j                  |«       g | _        y c c}w c c}w )Nr'  rˆ   r€   r3  rÄ   )	Újoinré  râ  r   r   rR   rK   r  rH   )rL   rk  rˆ   r¥   s       r(   ÚflushCharactersz3getPhases.<locals>.InTableTextPhase.flushCharacters;  s›   € Ø—7‘7°T×5IÑ5IÖJ¨T˜D ›LÒJÓKˆDÜ¸DÖA°D�D¤Ò/ÒAÔBÜ!+¨LÑ!9À4ÑH�Ø—‘×"Ñ" 9Ñ-×8Ñ8¸Ô?ð $&ˆDÕ ñ Ø—	‘	×$Ñ$ TÔ*Ø#%ˆDÕ ùò KùÚAs
   šB-¶B2c                 ó\   — | j                  «        | j                  | j                  _        |S r1   ©rî  rà   rR   rh   r·   s     r(   rš   z2getPhases.<locals>.InTableTextPhase.processCommentD  ó%   € Ø× Ñ Ô"Ø $× 2Ñ 2ˆD�K‰KÔØˆLr)   c                 óZ   — | j                  «        | j                  | j                  _        yr9  rð  rn   s    r(   r�   z.getPhases.<locals>.InTableTextPhase.processEOFI  s#   € Ø× Ñ Ô"Ø $× 2Ñ 2ˆD�K‰KÔØr)   c                 óL   — |d   dk(  ry | j                   j                  |«       y ©Nrˆ   rá  ©ré  rœ   r·   s     r(   r–   z5getPhases.<locals>.InTableTextPhase.processCharactersN  s%   € Ø�V‰} Ò(ØØ× Ñ ×'Ñ'¨Õ.r)   c                 ó:   — | j                   j                  |«       y r1   rõ  r·   s     r(   r—   z:getPhases.<locals>.InTableTextPhase.processSpaceCharactersS  s   € à× Ñ ×'Ñ'¨Õ.r)   c                 ó\   — | j                  «        | j                  | j                  _        |S r1   rð  r·   s     r(   r˜   z3getPhases.<locals>.InTableTextPhase.processStartTagX  rñ  r)   c                 ó\   — | j                  «        | j                  | j                  _        |S r1   rð  r·   s     r(   r™   z1getPhases.<locals>.InTableTextPhase.processEndTag]  rñ  r)   )r?   r@   rA   r  rP   rî  rš   r�   r–   r—   r˜   r™   r¶  )rì   rë  s   @€r(   rë  rè  3  s0   ù„ Ø8ˆ	õ	&ò
	&ò	ò
	ò
	/ò
	/ò
	ö
	r)   rë  c                   óê   •— e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd	„ Z ej                  d
W ° j                   fdefg«      Ze	e_         ej                  de
fdefdefg«      Zee_        y)ú!getPhases.<locals>.InCaptionPhasec                 ó>   — | j                   j                  dd¬«       S )NrÏ   rÑ   rî  ©rH   rð  rn   s    r(   ÚignoreEndTagCaptionz5getPhases.<locals>.InCaptionPhase.ignoreEndTagCaptionf  s   € Ø—y‘y×/Ñ/°	À7Ð/ÓKÐKÐKr)   c                 óR   — | j                   j                  d   j                  «        y rM  ©rR   rK   r�   rn   s    r(   r�   z,getPhases.<locals>.InCaptionPhase.processEOFi  ó   € Ø�K‰K×Ñ˜xÑ(×3Ñ3Õ5r)   c                 óR   — | j                   j                  d   j                  |«      S rM  ©rR   rK   r–   r·   s     r(   r–   z3getPhases.<locals>.InCaptionPhase.processCharactersl  ó"   € Ø—;‘;×%Ñ% hÑ/×AÑAÀ%ÓHÐHr)   c                 ó¼   — | j                   j                  «        | j                  «       }| j                   j                  j	                  t        d«      «       |s|S y ©NrÏ   ©rR   r‘   rý  rh   r™   r7  ©rL   r¥   ÚignoreEndTags      r(   ÚstartTagTableElementz6getPhases.<locals>.InCaptionPhase.startTagTableElemento  sJ   € Ø�K‰K×"Ñ"Ô$à×3Ñ3Ó5ˆLØ�K‰K×Ñ×+Ñ+¬O¸IÓ,FÔGÙØ�ð  r)   c                 óR   — | j                   j                  d   j                  |«      S rM  rN  r·   s     r(   rT  z/getPhases.<locals>.InCaptionPhase.startTagOtherw  rO  r)   c                 ó:  — | j                  «       �sX| j                  j                  «        | j                  j                  d   j                  dk7  r@| j
                  j                  dd| j                  j                  d   j                  dœ«       | j                  j                  d   j                  dk7  rK| j                  j                  j                  «        | j                  j                  d   j                  dk7  rŒK| j                  j                  j                  «        | j                  j                  «        | j
                  j                  d   | j
                  _
        y | j
                  j                  sJ ‚| j
                  j                  «        y )Nr‡   rÏ   rW  rX  rÄ   )rý  rH   rH  r�   rN   rR   r‘   r  r�  rK   rh   rZ   r·   s     r(   ÚendTagCaptionz/getPhases.<locals>.InCaptionPhase.endTagCaptionz  s-  € Ø×+Ñ+Õ-à—	‘	×0Ñ0Ô2Ø—9‘9×)Ñ)¨"Ñ-×2Ñ2°iÒ?Ø—K‘K×*Ñ*Ð+QØ7@Ø<@¿I¹I×<RÑ<RÐSUÑ<V×<[Ñ<[ñ,]ô^ð —i‘i×,Ñ,¨RÑ0×5Ñ5¸ÒBØ—I‘I×*Ñ*×.Ñ.Ô0ð —i‘i×,Ñ,¨RÑ0×5Ñ5¸ÓBà—	‘	×&Ñ&×*Ñ*Ô,Ø—	‘	×7Ñ7Ô9Ø$(§K¡K×$6Ñ$6°yÑ$A�—‘Õ!ð —{‘{×,Ò,Ð,Ð,Ø—‘×&Ñ&Õ(r)   c                 ó¼   — | j                   j                  «        | j                  «       }| j                   j                  j	                  t        d«      «       |s|S y r  r  r  s      r(   rà  z-getPhases.<locals>.InCaptionPhase.endTagTableŒ  sJ   € Ø�K‰K×"Ñ"Ô$Ø×3Ñ3Ó5ˆLØ�K‰K×Ñ×+Ñ+¬O¸IÓ,FÔGÙØ�ð  r)   c                 óF   — | j                   j                  dd|d   i«       y r‰  r  r·   s     r(   râ  z.getPhases.<locals>.InCaptionPhase.endTagIgnore“  r‹  r)   c                 óR   — | j                   j                  d   j                  |«      S rM  ©rR   rK   r™   r·   s     r(   rX  z-getPhases.<locals>.InCaptionPhase.endTagOther–  ó"   € Ø—;‘;×%Ñ% hÑ/×=Ñ=¸eÓDÐDr)   rÕ   ©	rÏ   r³  rÐ   rÌ   rÉ   rÎ   rÊ   rÍ   rË   rÏ   rÑ   )
rÓ   r³  rÐ   rÕ   rÌ   rÉ   rÎ   rÊ   rÍ   rË   N)r?   r@   rA   r1  r  rý  r�   r–   r	  rT  r  rà  râ  rX  r   rY  r  r  rZ  r  rå  s   €r(   ÚInCaptionPhaserú  b  s¸   ø„ á“Gˆ	ò	Lò	6ò	Iò	ò	Gò	)ò$	ò	Rò	Eð 2˜&×1Ñ1Ø‘U×'Ñ'Ð(ðØ2ð4ð3
ó ˆð
 #0ˆÔà/˜×/Ñ/Ø˜Ð&Ø�kÐ"ðØ*ð,ð1
ó ˆð !,ˆÕr)   r  c                   óÞ   •— e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Z ej                  d	W ° j                  fd
efg«      Ze	e_         ej                  de
fd
efg«      Zee_        y)ú%getPhases.<locals>.InColumnGroupPhasec                 óN   — | j                   j                  d   j                  dk(  S )Nr‡   rÕ   )rH   r�   rN   rn   s    r(   ÚignoreEndTagColgroupz:getPhases.<locals>.InColumnGroupPhase.ignoreEndTagColgroup¬  s"   € Ø—9‘9×)Ñ)¨"Ñ-×2Ñ2°fÑ<Ð<r)   c                 óÜ   — | j                   j                  d   j                  dk(  r| j                  j                  sJ ‚y | j                  «       }| j                  t        d«      «       |syy )Nr‡   rÕ   rÐ   T)rH   r�   rN   rR   rZ   r  ÚendTagColgroupr7  )rL   r  s     r(   r�   z0getPhases.<locals>.InColumnGroupPhase.processEOF¯  sa   € Ø�y‰y×%Ñ% bÑ)×.Ñ.°&Ò8Ø—{‘{×,Ò,Ð,Ð,Øà#×8Ñ8Ó:�Ø×#Ñ#¤O°JÓ$?Ô@Ù#Øð $r)   c                 ó`   — | j                  «       }| j                  t        d«      «       |s|S y ©NrÐ   ©r  r  r7  r  s      r(   r–   z7getPhases.<locals>.InColumnGroupPhase.processCharacters¹  ó0   € Ø×4Ñ4Ó6ˆLØ×Ñ¤°
Ó ;Ô<ÙØ�ð  r)   c                 óŒ   — | j                   j                  |«       | j                   j                  j                  «        d|d<   y rf  rg  r·   s     r(   rÓ  z1getPhases.<locals>.InColumnGroupPhase.startTagCol¿  ri  r)   c                 ó`   — | j                  «       }| j                  t        d«      «       |s|S y r  r  r  s      r(   rT  z3getPhases.<locals>.InColumnGroupPhase.startTagOtherÄ  r  r)   c                 ó"  — | j                  «       r3| j                  j                  sJ ‚| j                  j                  «        y | j                  j
                  j                  «        | j                  j                  d   | j                  _        y ©NrÄ   )	r  rR   rZ   r‘   rH   r�   r  rK   rh   r·   s     r(   r  z4getPhases.<locals>.InColumnGroupPhase.endTagColgroupÊ  sb   € Ø×(Ñ(Ô*à—{‘{×,Ò,Ð,Ð,Ø—‘×&Ñ&Õ(à—	‘	×&Ñ&×*Ñ*Ô,Ø$(§K¡K×$6Ñ$6°yÑ$A�—‘Õ!r)   c                 ó@   — | j                   j                  dddi«       y )Nz
no-end-tagrN   r³  r  r·   s     r(   Ú	endTagColz/getPhases.<locals>.InColumnGroupPhase.endTagColÓ  s   € Ø�K‰K×"Ñ" <°&¸%°ÕAr)   c                 ó`   — | j                  «       }| j                  t        d«      «       |s|S y r  r  r  s      r(   rX  z1getPhases.<locals>.InColumnGroupPhase.endTagOtherÖ  r  r)   rÕ   r³  rÐ   N)r?   r@   rA   r1  r  r  r�   r–   rÓ  rT  r  r#  rX  r   rY  r  r  rZ  r  rå  s   €r(   ÚInColumnGroupPhaser  ¨  sž   ø„ á“Gˆ	ò	=ò	 ò	ò	4ò
	ò	Bò	Bò	ð 2˜&×1Ñ1Ø‘U×'Ñ'Ð(Ø�KÐ ð3
ó ˆð #0ˆÔà/˜×/Ñ/Ø˜Ð(Ø�IÐð1
ó ˆð !,ˆÕr)   r%  c                   ó  •— e Zd Z e«       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 ej$                  dW ° j&                  fde	fde
fdefg«      Zee_         ej$                  defdefdefg«      Zee_        y)ú#getPhases.<locals>.InTableBodyPhasec                 ó`  — | j                   j                  d   j                  dvrJ| j                   j                  j                  «        | j                   j                  d   j                  dvrŒJ| j                   j                  d   j                  dk(  r| j                  j
                  sJ ‚y y )Nr‡   )rÌ   rÎ   rÍ   rÕ   rÕ   )rH   r�   rN   r  rR   rZ   rn   s    r(   ÚclearStackToTableBodyContextz@getPhases.<locals>.InTableBodyPhase.clearStackToTableBodyContextí  s›   € Ø—)‘)×(Ñ(¨Ñ,×1Ñ1ð :Kñ Kð —	‘	×&Ñ&×*Ñ*Ô,ð	 —)‘)×(Ñ(¨Ñ,×1Ñ1ð :Kò Kð
 �y‰y×%Ñ% bÑ)×.Ñ.°&Ò8Ø—{‘{×,Ò,Ð,Ñ,ð 9r)   c                 óR   — | j                   j                  d   j                  «        y r!  rÿ  rn   s    r(   r�   z.getPhases.<locals>.InTableBodyPhase.processEOF÷  ó   € Ø�K‰K×Ñ˜yÑ)×4Ñ4Õ6r)   c                 óR   — | j                   j                  d   j                  |«      S r!  rŸ  r·   s     r(   r—   z:getPhases.<locals>.InTableBodyPhase.processSpaceCharactersú  ó"   € Ø—;‘;×%Ñ% iÑ0×GÑGÈÓNÐNr)   c                 óR   — | j                   j                  d   j                  |«      S r!  r  r·   s     r(   r–   z5getPhases.<locals>.InTableBodyPhase.processCharactersý  ó"   € Ø—;‘;×%Ñ% iÑ0×BÑBÀ5ÓIÐIr)   c                 óª   — | j                  «        | j                  j                  |«       | j                  j                  d   | j                  _        y )NrÀ   )r)  rH   rß   rR   rK   rh   r·   s     r(   Ú
startTagTrz.getPhases.<locals>.InTableBodyPhase.startTagTr   s;   € Ø×-Ñ-Ô/Ø�I‰I×#Ñ# EÔ*Ø $§¡× 2Ñ 2°7Ñ ;ˆD�K‰KÕr)   c                 ó~   — | j                   j                  dd|d   i«       | j                  t        dd«      «       |S )Nzunexpected-cell-in-table-bodyrN   rË   r‚   )rR   r‘   r1  r7  r·   s     r(   ÚstartTagTableCellz5getPhases.<locals>.InTableBodyPhase.startTagTableCell  s;   € Ø�K‰K×"Ñ"Ð#BØ$*¨E°&©MÐ#:ô<à�O‰OœO¨D°*Ó=Ô>ØˆLr)   c                 ó°  — | j                   j                  dd¬«      s:| j                   j                  dd¬«      s| j                   j                  dd¬«      rM| j                  «        | j                  t	        | j                   j
                  d   j                  «      «       |S | j                  j                  sJ ‚| j                  j                  «        y ©NrÌ   rÑ   rî  rÍ   rÎ   r‡   ©
rH   rð  r)  ÚendTagTableRowGroupr7  r�   rN   rR   rZ   r‘   r·   s     r(   ÚstartTagTableOtherz6getPhases.<locals>.InTableBodyPhase.startTagTableOther  s©   € à—	‘	×(Ñ(¨¸'Ð(ÔBØ—	‘	×(Ñ(¨¸'Ð(ÔBØ—I‘I×,Ñ,¨W¸gÐ,ÔFØ×1Ñ1Ô3Ø×(Ñ(Ü# D§I¡I×$:Ñ$:¸2Ñ$>×$CÑ$CÓDôFà�ð —{‘{×,Ò,Ð,Ð,Ø—‘×&Ñ&Õ(r)   c                 óR   — | j                   j                  d   j                  |«      S r!  rN  r·   s     r(   rT  z1getPhases.<locals>.InTableBodyPhase.startTagOther  ó"   € Ø—;‘;×%Ñ% iÑ0×@Ñ@ÀÓGÐGr)   c                 ó@  — | j                   j                  |d   d¬«      r]| j                  «        | j                   j                  j	                  «        | j
                  j                  d   | j
                  _        y | j
                  j                  dd|d   i«       y )NrN   rÑ   rî  rÄ   ú unexpected-end-tag-in-table-body)	rH   rð  r)  r�   r  rR   rK   rh   r‘   r·   s     r(   r7  z7getPhases.<locals>.InTableBodyPhase.endTagTableRowGroup  s|   € Ø�y‰y×'Ñ'¨¨f©¸wÐ'ÔGØ×1Ñ1Ô3Ø—	‘	×&Ñ&×*Ñ*Ô,Ø$(§K¡K×$6Ñ$6°yÑ$A�—‘Õ!à—‘×&Ñ&Ð'IØ(.°°f±Ð'>õ@r)   c                 ó°  — | j                   j                  dd¬«      s:| j                   j                  dd¬«      s| j                   j                  dd¬«      rM| j                  «        | j                  t	        | j                   j
                  d   j                  «      «       |S | j                  j                  sJ ‚| j                  j                  «        y r5  r6  r·   s     r(   rà  z/getPhases.<locals>.InTableBodyPhase.endTagTable%  s©   € Ø—	‘	×(Ñ(¨¸'Ð(ÔBØ—	‘	×(Ñ(¨¸'Ð(ÔBØ—I‘I×,Ñ,¨W¸gÐ,ÔFØ×1Ñ1Ô3Ø×(Ñ(Ü# D§I¡I×$:Ñ$:¸2Ñ$>×$CÑ$CÓDôFà�ð —{‘{×,Ò,Ð,Ð,Ø—‘×&Ñ&Õ(r)   c                 óF   — | j                   j                  dd|d   i«       y )Nr<  rN   r  r·   s     r(   râ  z0getPhases.<locals>.InTableBodyPhase.endTagIgnore2  ó#   € Ø�K‰K×"Ñ"Ð#EØ$*¨E°&©MÐ#:õ<r)   c                 óR   — | j                   j                  d   j                  |«      S r!  r  r·   s     r(   rX  z/getPhases.<locals>.InTableBodyPhase.endTagOther6  ó"   € Ø—;‘;×%Ñ% iÑ0×>Ñ>¸uÓEÐEr)   rÕ   rË   ©rÉ   rÊ   )rÏ   r³  rÐ   rÌ   rÎ   rÍ   rä  rÑ   )rÓ   rÏ   r³  rÐ   rÕ   rÉ   rÊ   rË   N)r?   r@   rA   r1  r  r)  r�   r—   r–   r1  r3  r8  rT  r7  rà  râ  rX  r   rY  r  r  rZ  r  rå  s   €r(   ÚInTableBodyPhaser'  è  s×   ø„ á“Gˆ	ò	-ò	7ò	Oò	Jò	<ò
	ò	)ò	Hò	@ò	)ò	<ò	Fð 2˜&×1Ñ1Ø‘U×'Ñ'Ð(Ø�:ÐØÐ,Ð-ØFØð!ð	3
ó ˆð #0ˆÔà/˜×/Ñ/Ø(Ð*=Ð>Ø�kÐ"ðØ!ð#ð1
ó ˆð !,ˆÕr)   rC  c                   ó  •— e Zd Z e«       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 ej&                  dW ° j(                  fde
fdefg«      Zee_         ej&                  defdefdefdefg«      Zee_        y)úgetPhases.<locals>.InRowPhasec                 ób  — | j                   j                  d   j                  dvrŠ| j                  j	                  dd| j                   j                  d   j                  i«       | j                   j                  j                  «        | j                   j                  d   j                  dvrŒ‰y y )Nr‡   )rË   rÕ   z'unexpected-implied-end-tag-in-table-rowrN   )rH   r�   rN   rR   r‘   r  rn   s    r(   ÚclearStackToTableRowContextz9getPhases.<locals>.InRowPhase.clearStackToTableRowContextO  s‡   € Ø—)‘)×(Ñ(¨Ñ,×1Ñ1¸ÑGØ—‘×&Ñ&Ð'PØ(.°·	±	×0FÑ0FÀrÑ0J×0OÑ0OÐ'PôRà—	‘	×&Ñ&×*Ñ*Ô,ð —)‘)×(Ñ(¨Ñ,×1Ñ1¸ÔGr)   c                 ó>   — | j                   j                  dd¬«       S )NrË   rÑ   rî  rü  rn   s    r(   ÚignoreEndTagTrz,getPhases.<locals>.InRowPhase.ignoreEndTagTrU  s   € Ø—y‘y×/Ñ/°¸gÐ/ÓFÐFÐFr)   c                 óR   — | j                   j                  d   j                  «        y r!  rÿ  rn   s    r(   r�   z(getPhases.<locals>.InRowPhase.processEOFY  r+  r)   c                 óR   — | j                   j                  d   j                  |«      S r!  rŸ  r·   s     r(   r—   z4getPhases.<locals>.InRowPhase.processSpaceCharacters\  r-  r)   c                 óR   — | j                   j                  d   j                  |«      S r!  r  r·   s     r(   r–   z/getPhases.<locals>.InRowPhase.processCharacters_  r/  r)   c                 óü   — | j                  «        | j                  j                  |«       | j                  j                  d   | j                  _        | j                  j                  j                  t        «       y )Nr¿   )	rG  rH   rß   rR   rK   rh   rÐ  rœ   r   r·   s     r(   r3  z/getPhases.<locals>.InRowPhase.startTagTableCellb  sS   € Ø×,Ñ,Ô.Ø�I‰I×#Ñ# EÔ*Ø $§¡× 2Ñ 2°8Ñ <ˆD�K‰KÔØ�I‰I×.Ñ.×5Ñ5´fÕ=r)   c                 ó`   — | j                  «       }| j                  t        d«      «       |s|S y ©NrË   ©rI  ÚendTagTrr7  r  s      r(   r8  z0getPhases.<locals>.InRowPhase.startTagTableOtherh  s.   € Ø×.Ñ.Ó0ˆLØ�M‰Mœ/¨$Ó/Ô0áØ�ð  r)   c                 óR   — | j                   j                  d   j                  |«      S r!  rN  r·   s     r(   rT  z+getPhases.<locals>.InRowPhase.startTagOthero  r:  r)   c                 óB  — | j                  «       s]| j                  «        | j                  j                  j	                  «        | j
                  j                  d   | j
                  _        y | j
                  j                  sJ ‚| j
                  j                  «        y rÕ  )
rI  rG  rH   r�   r  rR   rK   rh   rZ   r‘   r·   s     r(   rQ  z&getPhases.<locals>.InRowPhase.endTagTrr  sp   € Ø×&Ñ&Ô(Ø×0Ñ0Ô2Ø—	‘	×&Ñ&×*Ñ*Ô,Ø$(§K¡K×$6Ñ$6°}Ñ$E�—‘Õ!ð —{‘{×,Ò,Ð,Ð,Ø—‘×&Ñ&Õ(r)   c                 ó`   — | j                  «       }| j                  t        d«      «       |s|S y rO  rP  r  s      r(   rà  z)getPhases.<locals>.InRowPhase.endTagTable|  s0   € Ø×.Ñ.Ó0ˆLØ�M‰Mœ/¨$Ó/Ô0ñ  Ø�ð  r)   c                 ó°   — | j                   j                  |d   d¬«      r| j                  t        d«      «       |S | j                  j                  «        y )NrN   rÑ   rî  rË   )rH   rð  rQ  r7  rR   r‘   r·   s     r(   r7  z1getPhases.<locals>.InRowPhase.endTagTableRowGroup„  sC   € Ø�y‰y×'Ñ'¨¨f©¸wÐ'ÔGØ—‘œo¨dÓ3Ô4Ø�à—‘×&Ñ&Õ(r)   c                 óF   — | j                   j                  dd|d   i«       y )Nzunexpected-end-tag-in-table-rowrN   r  r·   s     r(   râ  z*getPhases.<locals>.InRowPhase.endTagIgnore‹  s#   € Ø�K‰K×"Ñ"Ð#DØ$*¨E°&©MÐ#:õ<r)   c                 óR   — | j                   j                  d   j                  |«      S r!  r  r·   s     r(   rX  z)getPhases.<locals>.InRowPhase.endTagOther�  rA  r)   rÕ   rB  )rÏ   r³  rÐ   rÌ   rÎ   rÍ   rË   rË   rÑ   rä  )rÓ   rÏ   r³  rÐ   rÕ   rÉ   rÊ   N)r?   r@   rA   r1  r  rG  rI  r�   r—   r–   r3  r8  rT  rQ  rà  r7  râ  rX  r   rY  r  r  rZ  r  rå  s   €r(   Ú
InRowPhaserE  J  sÜ   ø„ á“Gˆ	ò	-ò	Gò	7ò	Oò	Jò	>ò	ò	Hò	)ò	ò	)ò	<ò	Fð 2˜&×1Ñ1Ø‘U×'Ñ'Ð(ØÐ,Ð-ðØ'ð)ð3
ó ˆð #0ˆÔà/˜×/Ñ/Ø�8ÐØ�kÐ"Ø(Ð*=Ð>ØGØðð	1
ó ˆð !,ˆÕr)   rX  c                   óê   •— e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd	„ Z ej                  d
W ° j                   fdefg«      Ze	e_         ej                  de
fdefdefg«      Zee_        y)úgetPhases.<locals>.InCellPhasec                 óä   — | j                   j                  dd¬«      r| j                  t        d«      «       y | j                   j                  dd¬«      r| j                  t        d«      «       y y ©NrÉ   rÑ   rî  rÊ   )rH   rð  ÚendTagTableCellr7  rn   s    r(   Ú	closeCellz(getPhases.<locals>.InCellPhase.closeCell¨  s\   € Ø�y‰y×'Ñ'¨°gÐ'Ô>Ø×$Ñ$¤_°TÓ%:Õ;Ø—‘×)Ñ)¨$¸Ð)Ô@Ø×$Ñ$¤_°TÓ%:Õ;ð Ar)   c                 óR   — | j                   j                  d   j                  «        y rM  rÿ  rn   s    r(   r�   z)getPhases.<locals>.InCellPhase.processEOF¯  r   r)   c                 óR   — | j                   j                  d   j                  |«      S rM  r  r·   s     r(   r–   z0getPhases.<locals>.InCellPhase.processCharacters²  r  r)   c                 ó   — | j                   j                  dd¬«      s| j                   j                  dd¬«      r| j                  «        |S | j                  j                  sJ ‚| j                  j                  «        y r\  )rH   rð  r^  rR   rZ   r‘   r·   s     r(   r8  z1getPhases.<locals>.InCellPhase.startTagTableOtherµ  sd   € Ø—	‘	×(Ñ(¨°wÐ(Ô?Ø—I‘I×,Ñ,¨T¸7Ð,ÔCØ—‘Ô Ø�ð —{‘{×,Ò,Ð,Ð,Ø—‘×&Ñ&Õ(r)   c                 óR   — | j                   j                  d   j                  |«      S rM  rN  r·   s     r(   rT  z,getPhases.<locals>.InCellPhase.startTagOther¿  rO  r)   c                 ó˜  — | j                   j                  |d   d¬«      �r| j                   j                  |d   «       | j                   j                  d   j                  |d   k7  rZ| j
                  j                  dd|d   i«       	 | j                   j                  j                  «       }|j                  |d   k(  rn%Œ8| j                   j                  j                  «        | j                   j                  «        | j
                  j                  d   | j
                  _
        y | j
                  j                  dd|d   i«       y )NrN   rÑ   rî  r‡   zunexpected-cell-end-tagrÀ   rŠ  )rH   rð  rH  r�   rN   rR   r‘   r  r�  rK   rh   r„  s      r(   r]  z.getPhases.<locals>.InCellPhase.endTagTableCellÂ  s
  € Ø�y‰y×'Ñ'¨¨f©¸wÐ'ÕGØ—	‘	×0Ñ0°°v±Ô?Ø—9‘9×)Ñ)¨"Ñ-×2Ñ2°e¸F±mÒCØ—K‘K×*Ñ*Ð+DØ,2°E¸&±MÐ+BôDàØ#Ÿy™y×5Ñ5×9Ñ9Ó;˜ØŸ9™9¨¨f©Ò5Ø!ð ð
 —I‘I×*Ñ*×.Ñ.Ô0Ø—	‘	×7Ñ7Ô9Ø$(§K¡K×$6Ñ$6°wÑ$?�—‘Õ!à—‘×&Ñ&Ð';¸fÀeÈFÁmÐ=TÕUr)   c                 óF   — | j                   j                  dd|d   i«       y r‰  r  r·   s     r(   râ  z+getPhases.<locals>.InCellPhase.endTagIgnoreÓ  r‹  r)   c                 óœ   — | j                   j                  |d   d¬«      r| j                  «        |S | j                  j	                  «        y )NrN   rÑ   rî  )rH   rð  r^  rR   r‘   r·   s     r(   ÚendTagImplyz*getPhases.<locals>.InCellPhase.endTagImplyÖ  s>   € Ø�y‰y×'Ñ'¨¨f©¸wÐ'ÔGØ—‘Ô Ø�ð —‘×&Ñ&Õ(r)   c                 óR   — | j                   j                  d   j                  |«      S rM  r  r·   s     r(   rX  z*getPhases.<locals>.InCellPhase.endTagOtherÞ  r  r)   rÕ   r  rB  )rÓ   rÏ   r³  rÐ   rÕ   ro  N)r?   r@   rA   r1  r  r^  r�   r–   r8  rT  r]  râ  rf  rX  r   rY  r  r  rZ  r  rå  s   €r(   ÚInCellPhaserZ  £  s³   ø„ á“Gˆ	ò	<ò	6ò	Iò	)ò	Gò	Vò"	Rò	)ò	Eð 2˜&×1Ñ1Ø‘U×'Ñ'Ð(ðØ0ð2ð3
ó ˆð
 #0ˆÔà/˜×/Ñ/Ø˜?Ð+Ø;¸\ÐJØ7¸ÐEð1
ó ˆð
 !,ˆÕr)   rh  c            	       ó  •— e Zd Z e«       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 ej$                  dW ° j&                  fdefdefde	fde
fdefg«      Zee_         ej$                  defdefdefg«      Zee_        y)ú getPhases.<locals>.InSelectPhasec                 ó¸   — | j                   j                  d   j                  dk7  r| j                  j	                  d«       y | j                  j
                  sJ ‚y )Nr‡   rÕ   zeof-in-selectrÅ  rn   s    r(   r�   z+getPhases.<locals>.InSelectPhase.processEOFó  sD   € Ø�y‰y×%Ñ% bÑ)×.Ñ.°&Ò8Ø—‘×&Ñ& Õ7à—{‘{×,Ò,Ð,Ñ,r)   c                 óR   — |d   dk(  ry | j                   j                  |d   «       y rô  r  r·   s     r(   r–   z2getPhases.<locals>.InSelectPhase.processCharactersù  s'   € Ø�V‰} Ò(ØØ�I‰I× Ñ   v¡Õ/r)   c                 óÎ   — | j                   j                  d   j                  dk(  r$| j                   j                  j                  «        | j                   j	                  |«       y r@  ©rH   r�   rN   r  rß   r·   s     r(   ÚstartTagOptionz/getPhases.<locals>.InSelectPhase.startTagOptionþ  sG   € à�y‰y×%Ñ% bÑ)×.Ñ.°(Ò:Ø—	‘	×&Ñ&×*Ñ*Ô,Ø�I‰I×#Ñ# EÕ*r)   c                 ób  — | j                   j                  d   j                  dk(  r$| j                   j                  j                  «        | j                   j                  d   j                  dk(  r$| j                   j                  j                  «        | j                   j	                  |«       y )Nr‡   rA  rT  rn  r·   s     r(   ÚstartTagOptgroupz1getPhases.<locals>.InSelectPhase.startTagOptgroup	  sz   € Ø�y‰y×%Ñ% bÑ)×.Ñ.°(Ò:Ø—	‘	×&Ñ&×*Ñ*Ô,Ø�y‰y×%Ñ% bÑ)×.Ñ.°*Ò<Ø—	‘	×&Ñ&×*Ñ*Ô,Ø�I‰I×#Ñ# EÕ*r)   c                 ón   — | j                   j                  d«       | j                  t        d«      «       y )Nzunexpected-select-in-selectrÈ   )rR   r‘   ÚendTagSelectr7  r·   s     r(   rE  z/getPhases.<locals>.InSelectPhase.startTagSelect	  s(   € Ø�K‰K×"Ñ"Ð#@ÔAØ×Ñœo¨hÓ7Õ8r)   c                 óÜ   — | j                   j                  d«       | j                  j                  dd¬«      r| j	                  t        d«      «       |S | j                   j                  sJ ‚y )Nzunexpected-input-in-selectrÈ   rî  )rR   r‘   rH   rð  rs  r7  rZ   r·   s     r(   r   z.getPhases.<locals>.InSelectPhase.startTagInput	  sW   € Ø�K‰K×"Ñ"Ð#?Ô@Ø�y‰y×'Ñ'¨¸(Ð'ÔCØ×!Ñ!¤/°(Ó";Ô<Ø�à—{‘{×,Ò,Ð,Ñ,r)   c                 óR   — | j                   j                  d   j                  |«      S rœ  rN  r·   s     r(   r  z/getPhases.<locals>.InSelectPhase.startTagScript	  rO  r)   c                 óF   — | j                   j                  dd|d   i«       y )Nzunexpected-start-tag-in-selectrN   r  r·   s     r(   rT  z.getPhases.<locals>.InSelectPhase.startTagOther	  ó#   € Ø�K‰K×"Ñ"Ð#CØ$*¨E°&©MÐ#:õ<r)   c                 óÖ   — | j                   j                  d   j                  dk(  r%| j                   j                  j                  «        y | j                  j                  dddi«       y )Nr‡   rA  úunexpected-end-tag-in-selectrN   ©rH   r�   rN   r  rR   r‘   r·   s     r(   ÚendTagOptionz-getPhases.<locals>.InSelectPhase.endTagOption	  sR   € Ø�y‰y×%Ñ% bÑ)×.Ñ.°(Ò:Ø—	‘	×&Ñ&×*Ñ*Õ,à—‘×&Ñ&Ð'EØ(.°Ð'9õ;r)   c                 ó¶  — | j                   j                  d   j                  dk(  rJ| j                   j                  d   j                  dk(  r$| j                   j                  j                  «        | j                   j                  d   j                  dk(  r%| j                   j                  j                  «        y | j                  j                  dddi«       y )Nr‡   rA  éþÿÿÿrT  ry  rN   rz  r·   s     r(   ÚendTagOptgroupz/getPhases.<locals>.InSelectPhase.endTagOptgroup%	  s¤   € à—	‘	×&Ñ& rÑ*×/Ñ/°8Ò;Ø—I‘I×*Ñ*¨2Ñ.×3Ñ3°zÒAØ—	‘	×&Ñ&×*Ñ*Ô,à�y‰y×%Ñ% bÑ)×.Ñ.°*Ò<Ø—	‘	×&Ñ&×*Ñ*Õ,ð —‘×&Ñ&Ð'EØ(.°
Ð';õ=r)   c                 ó¦  — | j                   j                  dd¬«      r‚| j                   j                  j                  «       }|j                  dk7  r4| j                   j                  j                  «       }|j                  dk7  rŒ4| j
                  j                  «        y | j
                  j                  sJ ‚| j
                  j                  «        y )NrÈ   rî  )	rH   rð  r�   r  rN   rR   rj   rZ   r‘   r„  s      r(   rs  z-getPhases.<locals>.InSelectPhase.endTagSelect2	  s˜   € Ø�y‰y×'Ñ'¨¸(Ð'ÔCØ—y‘y×-Ñ-×1Ñ1Ó3�Ø—i‘i 8Ò+ØŸ9™9×1Ñ1×5Ñ5Ó7�Dð —i‘i 8Ó+à—‘×.Ñ.Õ0ð —{‘{×,Ò,Ð,Ð,Ø—‘×&Ñ&Õ(r)   c                 óF   — | j                   j                  dd|d   i«       y )Nry  rN   r  r·   s     r(   rX  z,getPhases.<locals>.InSelectPhase.endTagOther=	  ó#   € Ø�K‰K×"Ñ"Ð#AØ$*¨E°&©MÐ#:õ<r)   rÕ   rA  rT  rÈ   )r4  r«  rÜ  r‘  N)r?   r@   rA   r1  r  r�   r–   ro  rq  rE  r   r  rT  r{  r~  rs  rX  r   rY  r  r  rZ  r  rå  s   €r(   ÚInSelectPhaserj  ï  sÚ   ø„ Ù“Gˆ	ò	-ò	0ò
	+ò	+ò	9ò	-ò	Gò	<ò	;ò	=ò		)ò	<ð 2˜&×1Ñ1Ø‘U×'Ñ'Ð(Ø�~Ð&ØÐ)Ð*Ø�~Ð&Ø,¨mÐ<Ø�~Ð&ð3
ó ˆð #0ˆÔà/˜×/Ñ/Ø�|Ð$Ø˜Ð(Ø�|Ð$ð1
ó ˆð
 !,ˆÕr)   r‚  c                   ó®   — e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
 ej                  defg«      Zee_         ej                  de	fg«      Ze
e_        y)	ú'getPhases.<locals>.InSelectInTablePhasec                 óR   — | j                   j                  d   j                  «        y ©Nr¾   rÿ  rn   s    r(   r�   z2getPhases.<locals>.InSelectInTablePhase.processEOFU	  s   € Ø�K‰K×Ñ˜zÑ*×5Ñ5Õ7r)   c                 óR   — | j                   j                  d   j                  |«      S r†  r  r·   s     r(   r–   z9getPhases.<locals>.InSelectInTablePhase.processCharactersX	  s"   € Ø—;‘;×%Ñ% jÑ1×CÑCÀEÓJÐJr)   c                 ó|   — | j                   j                  dd|d   i«       | j                  t        d«      «       |S )Nz5unexpected-table-element-start-tag-in-select-in-tablerN   rÈ   )rR   r‘   rX  r7  r·   s     r(   r  z5getPhases.<locals>.InSelectInTablePhase.startTagTable[	  s<   € Ø�K‰K×"Ñ"Ð#ZÐ]cÐejÐkqÑerÐ\sÔtØ×Ñœ_¨XÓ6Ô7ØˆLr)   c                 óR   — | j                   j                  d   j                  |«      S r†  rN  r·   s     r(   rT  z5getPhases.<locals>.InSelectInTablePhase.startTagOther`	  s"   € Ø—;‘;×%Ñ% jÑ1×AÑAÀ%ÓHÐHr)   c                 ó¾   — | j                   j                  dd|d   i«       | j                  j                  |d   d¬«      r| j	                  t        d«      «       |S y )Nz3unexpected-table-element-end-tag-in-select-in-tablerN   rÑ   rî  rÈ   )rR   r‘   rH   rð  rX  r7  r·   s     r(   rà  z3getPhases.<locals>.InSelectInTablePhase.endTagTablec	  s]   € Ø�K‰K×"Ñ"Ð#XÐ[aÐchÐioÑcpÐZqÔrØ�y‰y×'Ñ'¨¨f©¸wÐ'ÔGØ× Ñ ¤°Ó!:Ô;Ø�ð Hr)   c                 óR   — | j                   j                  d   j                  |«      S r†  r  r·   s     r(   rX  z3getPhases.<locals>.InSelectInTablePhase.endTagOtheri	  s"   € Ø—;‘;×%Ñ% jÑ1×?Ñ?ÀÓFÐFr)   )rÏ   rÑ   rÌ   rÎ   rÍ   rË   rÉ   rÊ   N)r?   r@   rA   r1  r  r�   r–   r  rT  rà  rX  r   rY  r  rZ  r  ræ   r)   r(   ÚInSelectInTablePhaser„  R	  s„   „ Ù“Gˆ	ò	8ò	Kò	ò
	Iò	ò	Gð 2˜&×1Ñ1ØNØðð3
ó ˆð #0ˆÔà/˜×/Ñ/ØNØðð1
ó ˆð !,ˆÕr)   rŒ  c                   óL   •— e Zd Z e«       Z eg d¢«      Zd„ Zˆ fd„Zd„ Z	d„ Z
y)ú(getPhases.<locals>.InForeignContentPhase),r™  rš  r‡  rÓ   rA  rˆ  r›  rÔ  rã   r‹  rÕ  rœ  rª  Úh1Úh2Úh3Úh4Úh5Úh6rÒ   r0  rž  r'  rÖ  rÛ  r“  r8   r  r•  r'   rÚ  rG  rŸ  r   Úspanr¢  r¡  ÚsubÚsuprÑ   r£  r¤  r˜  Úvarc                 ó  — i 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"“i d#d$“d%d&“d'd(“d)d*“d+d,“d-d.“d/d0“d1d2“d3d4“d5d6“d7d8“d9d:“d;d<“d=d>“d?d@“dAdB“dCdD“¥dEdFdGœ¥}|dH   |v r||dH      |dH<   y y )INÚaltglyphÚaltGlyphÚaltglyphdefÚaltGlyphDefÚaltglyphitemÚaltGlyphItemÚanimatecolorÚanimateColorÚanimatemotionÚanimateMotionÚanimatetransformÚanimateTransformÚclippathÚclipPathÚfeblendÚfeBlendÚfecolormatrixÚfeColorMatrixÚfecomponenttransferÚfeComponentTransferÚfecompositeÚfeCompositeÚfeconvolvematrixÚfeConvolveMatrixÚfediffuselightingÚfeDiffuseLightingÚfedisplacementmapÚfeDisplacementMapÚfedistantlightÚfeDistantLightÚfefloodÚfeFloodÚfefuncaÚfeFuncAÚfefuncbÚfeFuncBÚfefuncgÚfeFuncGÚfefuncrÚfeFuncRÚfegaussianblurÚfeGaussianBlurÚfeimageÚfeImageÚfemergeÚfeMergeÚfemergenodeÚfeMergeNodeÚfemorphologyÚfeMorphologyÚfeoffsetÚfeOffsetÚfepointlightÚfePointLightÚfespecularlightingÚfeSpecularLightingÚfespotlightÚfeSpotLightÚfetileÚfeTileÚfeturbulenceÚfeTurbulenceÚforeignobjectÚforeignObjectÚglyphrefÚglyphRefÚlineargradientÚlinearGradientÚradialGradientÚtextPath)ÚradialgradientÚtextpathrN   ræ   )rL   r¥   Úreplacementss      r(   ÚadjustSVGTagNamesz:getPhases.<locals>.InForeignContentPhase.adjustSVGTagNames„	  sÜ  € ð#4˜J¨
ð #4Ø)¨=ð#4à*¨Nð#4ð +¨Nð#4ð ,¨_ð	#4ð
 /Ð0Bð#4ð '¨
ð#4ð & yð#4ð ,¨_ð#4ð 2Ð3Hð#4ð *¨=ð#4ð /Ð0Bð#4ð 0Ð1Dð#4ð 0Ð1Dð#4ð -Ð.>ð#4ð & yð#4ð  & yñ!#4ð" & yð##4ð$ & yð%#4ð& & yð'#4ð( -Ð.>ð)#4ð* & yð+#4ð, & yð-#4ð. *¨=ð/#4ð0 +¨Nð1#4ð2 '¨
ð3#4ð4 +¨Nð5#4ð6 1Ð2Fð7#4ð8 *¨=ð9#4ð: % hð;#4ð< +¨Nð=#4ð> ,¨_ð?#4ð@ '¨
ðA#4ðB -Ð.>ñC#4ðD /?Ø(2òG#4ˆLðJ �V‰} Ñ,Ø ,¨U°6©]Ñ ;��f’ð -r)   c                 ó¾   •— |d   dk(  rd|d<   n<| j                   j                  r&t        d„ |d   D «       «      rd| j                   _        ‰j                  | |«       y )Nrˆ   rá  u   ï¿½c              3   ó,   K  — | ]  }|t         v–— Œ y ­wr1   )r   )Ú.0rã  s     r(   ú	<genexpr>zMgetPhases.<locals>.InForeignContentPhase.processCharacters.<locals>.<genexpr>±	  s   è ø€ ÒL°d�d¤/Ô1ÑLùs   ‚F)rR   rm   râ  r–   )rL   r¥   r  s     €r(   r–   z:getPhases.<locals>.InForeignContentPhase.processCharacters­	  sS   ø€ Ø�V‰} Ò(Ø (��f’Ø—+‘+×(Ò(ÜÑL¸eÀF¹mÔLÔLØ).�—‘Ô&Ø×#Ñ# D¨%Õ0r)   c                 óˆ  — | j                   j                  d   }|d   | j                  v s+|d   dk(  �r§t        |d   j	                  «       «      h d£z  �r…| j
                  j                  dd|d   i«       | j                   j                  d   j                  | j                   j                  k7  �r'| j
                  j                  | j                   j                  d   «      sõ| j
                  j                  | j                   j                  d   «      sÃ| j                   j                  j                  «        | j                   j                  d   j                  | j                   j                  k7  re| j
                  j                  | j                   j                  d   «      s3| j
                  j                  | j                   j                  d   «      sŒÃ|S |j                  t        d   k(  r| j
                  j                  |«       nB|j                  t        d   k(  r,| j                  |«       | j
                  j                  |«       | j
                  j!                  |«       |j                  |d	<   | j                   j#                  |«       |d
   r*| j                   j                  j                  «        d|d<   y y )Nr‡   rN   r�  rˆ   >   ÚfaceÚsizeÚcolorz*unexpected-html-element-in-foreign-contentru   rŒ   rw   rŽ   Tr�   )rH   r�   ÚbreakoutElementsÚsetÚkeysrR   r‘   rw   r”   r|   r~   r  r   r   rã  r   r   rß   )rL   r¥   r¨   s      r(   r˜   z8getPhases.<locals>.InForeignContentPhase.processStartTagµ	  s&  € ØŸ)™)×0Ñ0°Ñ4ˆKØ�f‘ ×!6Ñ!6Ñ6Ø�v‘ &Ó(Ü�U˜6‘]×'Ñ'Ó)Ó*Ò-FÓFØ—‘×&Ñ&Ð'SØ(.°°f±Ð'>ô@à—y‘y×-Ñ-¨bÑ1×;Ñ;Ø—y‘y×1Ñ1ó2àŸ;™;×=Ñ=¸d¿i¹i×>TÑ>TÐUWÑ>XÔYØŸ;™;×CÑCÀDÇIÁI×DZÑDZÐ[]ÑD^Ô_Ø—I‘I×*Ñ*×.Ñ.Ô0ð	 —y‘y×-Ñ-¨bÑ1×;Ñ;Ø—y‘y×1Ñ1ò2àŸ;™;×=Ñ=¸d¿i¹i×>TÑ>TÐUWÑ>XÔYØŸ;™;×CÑCÀDÇIÁI×DZÑDZÐ[]ÑD^Õ_à�ð ×(Ñ(¬J°xÑ,@Ò@Ø—K‘K×6Ñ6°uÕ=Ø ×*Ñ*¬j¸Ñ.?Ò?Ø×*Ñ*¨5Ô1Ø—K‘K×3Ñ3°EÔ:Ø—‘×3Ñ3°EÔ:Ø%0×%:Ñ%:��kÑ"Ø—	‘	×'Ñ'¨Ô.Ø˜Ò'Ø—I‘I×*Ñ*×.Ñ.Ô0Ø7;�EÐ3Ò4ð (r)   c                 ó  — t        | j                  j                  «      dz
  }| j                  j                  d   }|j                  j	                  t
        «      |d   k7  r!| j                  j                  dd|d   i«       	 |j                  j	                  t
        «      |d   k(  rï| j                  j                  | j                  j                  d   k(  rS| j                  j                  j                  «        | j                  j                  j                  | j                  _        | j                  j                  j                  «       |k7  r@| j                  j                  sJ ‚| j                  j                  j                  «       |k7  rŒ@d }	 |S |dz  }| j                  j                  |   }|j                  | j                  j                  k7  r�ŒX| j                  j                  j                  |«      }	 |S )Nr   r‡   rN   rŠ  rÈ  )r“   rH   r�   rN   ry   r   rR   r‘   rh   rK   rî  rà   r  rw   r”   r™   )rL   r¥   Ú	nodeIndexrØ   r§   s        r(   r™   z6getPhases.<locals>.InForeignContentPhase.processEndTagÐ	  s‘  € Ü˜DŸI™I×2Ñ2Ó3°aÑ7ˆIØ—9‘9×)Ñ)¨"Ñ-ˆDØ�y‰y×"Ñ"Ô#3Ó4¸¸f¹ÒEØ—‘×&Ñ&Ð';¸fÀeÈFÁmÐ=TÔUàØ—9‘9×&Ñ&Ô'7Ó8¸EÀ&¹MÒIà—{‘{×(Ñ(¨D¯K©K×,>Ñ,>¸}Ñ,MÒMØŸ™×)Ñ)×9Ñ9Ô;Ø,0¯K©K×,=Ñ,=×,KÑ,K˜Ÿ™Ô)ØŸ)™)×0Ñ0×4Ñ4Ó6¸$Ò>Ø#Ÿy™y×5Ò5Ð5Ð5ð Ÿ)™)×0Ñ0×4Ñ4Ó6¸$Ó>à $�IØð Ðð ˜Q‘�	à—y‘y×-Ñ-¨iÑ8�Ø—>‘> T§Y¡Y×%?Ñ%?Ò?Ùà $§¡× 1Ñ 1× ?Ñ ?ÀÓ F�IØØÐr)   N)r?   r@   rA   r1  r  r•   rì  rã  r–   r˜   r™   rå  s   €r(   ÚInForeignContentPhaserŽ  x	  s1   ø„ Ù“Gˆ	á$ò &Gó HÐò'	<ôR	1ò	<ó6	r)   rñ  c                   ó´   — e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Z ej                  defg«      Ze	e_         ej                  de
fg«      Zee_        y	)
ú!getPhases.<locals>.AfterBodyPhasec                  ó   — y r1   ræ   rn   s    r(   r�   z,getPhases.<locals>.AfterBodyPhase.processEOFí	  ó   € àr)   c                 ój   — | j                   j                  || j                   j                  d   «       y )Nr   r   r·   s     r(   rš   z0getPhases.<locals>.AfterBodyPhase.processCommentñ	  s'   € ð �I‰I×#Ñ# E¨4¯9©9×+AÑ+AÀ!Ñ+DÕEr)   c                 óŒ   — | j                   j                  d«       | j                   j                  d   | j                   _        |S )Nzunexpected-char-after-bodyrÅ   ©rR   r‘   rK   rh   r·   s     r(   r–   z3getPhases.<locals>.AfterBodyPhase.processCharactersö	  s5   € Ø�K‰K×"Ñ"Ð#?Ô@Ø $§¡× 2Ñ 2°8Ñ <ˆD�K‰KÔØˆLr)   c                 óR   — | j                   j                  d   j                  |«      S rM  rN  r·   s     r(   r  z.getPhases.<locals>.AfterBodyPhase.startTagHtmlû	  rO  r)   c                 ó˜   — | j                   j                  dd|d   i«       | j                   j                  d   | j                   _        |S )Nzunexpected-start-tag-after-bodyrN   rÅ   rø  r·   s     r(   rT  z/getPhases.<locals>.AfterBodyPhase.startTagOtherþ	  sC   € Ø�K‰K×"Ñ"Ð#DØ$*¨E°&©MÐ#:ô<à $§¡× 2Ñ 2°8Ñ <ˆD�K‰KÔØˆLr)   c                 ó¸   — | j                   j                  r| j                   j                  d«       y | j                   j                  d   | j                   _        y )Nz'unexpected-end-tag-after-body-innerhtmlÚafterAfterBody)rR   rZ   r‘   rK   rh   )rL   rN   s     r(   r^  z,getPhases.<locals>.AfterBodyPhase.endTagHtml
  s>   € Ø�{‰{×$Ò$Ø—‘×&Ñ&Ð'PÕQà$(§K¡K×$6Ñ$6Ð7GÑ$H�—‘Õ!r)   c                 ó˜   — | j                   j                  dd|d   i«       | j                   j                  d   | j                   _        |S )Nzunexpected-end-tag-after-bodyrN   rÅ   rø  r·   s     r(   rX  z-getPhases.<locals>.AfterBodyPhase.endTagOther

  sC   € Ø�K‰K×"Ñ"Ð#BØ$*¨E°&©MÐ#:ô<à $§¡× 2Ñ 2°8Ñ <ˆD�K‰KÔØˆLr)   rÕ   N)r?   r@   rA   r1  r  r�   rš   r–   r  rT  r^  rX  r   rY  r  rZ  r  ræ   r)   r(   ÚAfterBodyPhaseró  ê	  s|   „ Ù“Gˆ	ò	ò	Fò
	ò
	Gò	ò	Iò	ð 2˜&×1Ñ1Ø�\Ð"ð3
ó ˆð #0ˆÔà/˜×/Ñ/°&¸*Ð1EÐ0FÓGˆØ +ˆÕr)   rþ  c                   óä   •— e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Z ej                  d	W ° j                  fd
efdefde	fg«      Ze
e_         ej                  d
efg«      Zee_        y)ú"getPhases.<locals>.InFramesetPhasec                 ó¸   — | j                   j                  d   j                  dk7  r| j                  j	                  d«       y | j                  j
                  sJ ‚y )Nr‡   rÕ   zeof-in-framesetrÅ  rn   s    r(   r�   z-getPhases.<locals>.InFramesetPhase.processEOF
  sE   € Ø�y‰y×%Ñ% bÑ)×.Ñ.°&Ò8Ø—‘×&Ñ&Ð'8Õ9à—{‘{×,Ò,Ð,Ñ,r)   c                 ó:   — | j                   j                  d«       y )Nzunexpected-char-in-framesetr  r·   s     r(   r–   z4getPhases.<locals>.InFramesetPhase.processCharacters"
  s   € Ø�K‰K×"Ñ"Ð#@ÕAr)   c                 ó:   — | j                   j                  |«       y r1   )rH   rß   r·   s     r(   rº  z3getPhases.<locals>.InFramesetPhase.startTagFrameset%
  s   € Ø�I‰I×#Ñ# EÕ*r)   c                 ó‚   — | j                   j                  |«       | j                   j                  j                  «        y r1   rg  r·   s     r(   ÚstartTagFramez0getPhases.<locals>.InFramesetPhase.startTagFrame(
  s*   € Ø�I‰I×#Ñ# EÔ*Ø�I‰I×"Ñ"×&Ñ&Õ(r)   c                 óR   — | j                   j                  d   j                  |«      S rM  rN  r·   s     r(   ÚstartTagNoframesz3getPhases.<locals>.InFramesetPhase.startTagNoframes,
  rO  r)   c                 óF   — | j                   j                  dd|d   i«       y )Nz unexpected-start-tag-in-framesetrN   r  r·   s     r(   rT  z0getPhases.<locals>.InFramesetPhase.startTagOther/
  r?  r)   c                 óœ  — | j                   j                  d   j                  dk(  r| j                  j	                  d«       n$| j                   j                  j                  «        | j                  j                  sP| j                   j                  d   j                  dk7  r)| j                  j                  d   | j                  _        y y y )Nr‡   rÕ   z)unexpected-frameset-in-frameset-innerhtmlrÔ   ÚafterFrameset)	rH   r�   rN   rR   r‘   r  rZ   rK   rh   r·   s     r(   ÚendTagFramesetz1getPhases.<locals>.InFramesetPhase.endTagFrameset3
  sš   € Ø�y‰y×%Ñ% bÑ)×.Ñ.°&Ò8à—‘×&Ñ&Ð'RÕSà—	‘	×&Ñ&×*Ñ*Ô,Ø—K‘K×)Ò)Ø—I‘I×*Ñ*¨2Ñ.×3Ñ3°zÒAð %)§K¡K×$6Ñ$6°Ñ$G�—‘Õ!ð Bð *r)   c                 óF   — | j                   j                  dd|d   i«       y )Nzunexpected-end-tag-in-framesetrN   r  r·   s     r(   rX  z.getPhases.<locals>.InFramesetPhase.endTagOther?
  rw  r)   rÕ   rÔ   r´  rŽ  N)r?   r@   rA   r1  r  r�   r–   rº  r  r  rT  r  rX  r   rY  r  r  rZ  r  rå  s   €r(   ÚInFramesetPhaser   
  s©   ø„ á“Gˆ	ò	-ò	Bò	+ò	)ò	Gò	<ò
	Hò	<ð 2˜&×1Ñ1Ø‘U×'Ñ'Ð(ØÐ)Ð*Ø�mÐ$ØÐ)Ð*ð	3
ó ˆð #0ˆÔà/˜×/Ñ/Ø˜Ð(ð1
ó ˆð !,ˆÕr)   r  c                   óÌ   •— e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
 ej                  dW ° j                  fdefg«      Zee_         ej                  de	fg«      Ze
e_        y	)
ú%getPhases.<locals>.AfterFramesetPhasec                  ó   — y r1   ræ   rn   s    r(   r�   z0getPhases.<locals>.AfterFramesetPhase.processEOFT
  rõ  r)   c                 ó:   — | j                   j                  d«       y )Nzunexpected-char-after-framesetr  r·   s     r(   r–   z7getPhases.<locals>.AfterFramesetPhase.processCharactersX
  s   € Ø�K‰K×"Ñ"Ð#CÕDr)   c                 óR   — | j                   j                  d   j                  |«      S rœ  rN  r·   s     r(   r  z6getPhases.<locals>.AfterFramesetPhase.startTagNoframes[
  rO  r)   c                 óF   — | j                   j                  dd|d   i«       y )Nz#unexpected-start-tag-after-framesetrN   r  r·   s     r(   rT  z3getPhases.<locals>.AfterFramesetPhase.startTagOther^
  s#   € Ø�K‰K×"Ñ"Ð#HØ$*¨E°&©MÐ#:õ<r)   c                 óT   — | j                   j                  d   | j                   _        y )NÚafterAfterFrameset)rR   rK   rh   r·   s     r(   r^  z0getPhases.<locals>.AfterFramesetPhase.endTagHtmlb
  s   € Ø $§¡× 2Ñ 2Ð3GÑ HˆD�K‰KÕr)   c                 óF   — | j                   j                  dd|d   i«       y )Nz!unexpected-end-tag-after-framesetrN   r  r·   s     r(   rX  z1getPhases.<locals>.AfterFramesetPhase.endTagOthere
  s#   € Ø�K‰K×"Ñ"Ð#FØ$*¨E°&©MÐ#:õ<r)   rÕ   rŽ  N)r?   r@   rA   r1  r  r�   r–   r  rT  r^  rX  r   rY  r  r  rZ  r  rå  s   €r(   ÚAfterFramesetPhaser  P
  sŽ   ø„ á“Gˆ	ò	ò	Eò	Gò	<ò	Iò	<ð 2˜&×1Ñ1Ø‘U×'Ñ'Ð(ØÐ)Ð*ð3
ó ˆð #0ˆÔà/˜×/Ñ/Ø�ZÐ ð1
ó ˆð !,ˆÕr)   r  c                   ó|   — e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Z ej                  de	fg«      Ze
e_        y	)
ú&getPhases.<locals>.AfterAfterBodyPhasec                  ó   — y r1   ræ   rn   s    r(   r�   z1getPhases.<locals>.AfterAfterBodyPhase.processEOFw
  r  r)   c                 ód   — | j                   j                  || j                   j                  «       y r1   r   r·   s     r(   rš   z5getPhases.<locals>.AfterAfterBodyPhase.processCommentz
  r"  r)   c                 óR   — | j                   j                  d   j                  |«      S rM  rŸ  r·   s     r(   r—   z=getPhases.<locals>.AfterAfterBodyPhase.processSpaceCharacters}
  r   r)   c                 óŒ   — | j                   j                  d«       | j                   j                  d   | j                   _        |S )Núexpected-eof-but-got-charrÅ   rø  r·   s     r(   r–   z8getPhases.<locals>.AfterAfterBodyPhase.processCharacters€
  s5   € Ø�K‰K×"Ñ"Ð#>Ô?Ø $§¡× 2Ñ 2°8Ñ <ˆD�K‰KÔØˆLr)   c                 óR   — | j                   j                  d   j                  |«      S rM  rN  r·   s     r(   r  z3getPhases.<locals>.AfterAfterBodyPhase.startTagHtml…
  rO  r)   c                 ó˜   — | j                   j                  dd|d   i«       | j                   j                  d   | j                   _        |S )Núexpected-eof-but-got-start-tagrN   rÅ   rø  r·   s     r(   rT  z4getPhases.<locals>.AfterAfterBodyPhase.startTagOtherˆ
  sC   € Ø�K‰K×"Ñ"Ð#CØ$*¨E°&©MÐ#:ô<à $§¡× 2Ñ 2°8Ñ <ˆD�K‰KÔØˆLr)   c                 ó˜   — | j                   j                  dd|d   i«       | j                   j                  d   | j                   _        |S )Núexpected-eof-but-got-end-tagrN   rÅ   rø  r·   s     r(   r™   z4getPhases.<locals>.AfterAfterBodyPhase.processEndTagŽ
  sC   € Ø�K‰K×"Ñ"Ð#AØ$*¨E°&©MÐ#:ô<à $§¡× 2Ñ 2°8Ñ <ˆD�K‰KÔØˆLr)   rÕ   N)r?   r@   rA   r1  r  r�   rš   r—   r–   r  rT  r™   r   rY  r  rZ  ræ   r)   r(   ÚAfterAfterBodyPhaser  t
  sY   „ Ù“Gˆ	ò	ò	?ò	Nò	ò
	Gò	ò	ð 2˜&×1Ñ1Ø�\Ð"ð3
ó ˆð #0ˆÕr)   r$  c                   óˆ   — e Zd Z e«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Z ej                  d	e	fd
e
fg«      Zee_        y)ú*getPhases.<locals>.AfterAfterFramesetPhasec                  ó   — y r1   ræ   rn   s    r(   r�   z5getPhases.<locals>.AfterAfterFramesetPhase.processEOFœ
  r  r)   c                 ód   — | j                   j                  || j                   j                  «       y r1   r   r·   s     r(   rš   z9getPhases.<locals>.AfterAfterFramesetPhase.processCommentŸ
  r"  r)   c                 óR   — | j                   j                  d   j                  |«      S rM  rŸ  r·   s     r(   r—   zAgetPhases.<locals>.AfterAfterFramesetPhase.processSpaceCharacters¢
  r   r)   c                 ó:   — | j                   j                  d«       y )Nr  r  r·   s     r(   r–   z<getPhases.<locals>.AfterAfterFramesetPhase.processCharacters¥
  s   € Ø�K‰K×"Ñ"Ð#>Õ?r)   c                 óR   — | j                   j                  d   j                  |«      S rM  rN  r·   s     r(   r  z7getPhases.<locals>.AfterAfterFramesetPhase.startTagHtml¨
  rO  r)   c                 óR   — | j                   j                  d   j                  |«      S rœ  rN  r·   s     r(   ÚstartTagNoFramesz;getPhases.<locals>.AfterAfterFramesetPhase.startTagNoFrames«
  rO  r)   c                 óF   — | j                   j                  dd|d   i«       y )Nr!  rN   r  r·   s     r(   rT  z8getPhases.<locals>.AfterAfterFramesetPhase.startTagOther®
  rw  r)   c                 óF   — | j                   j                  dd|d   i«       y )Nr#  rN   r  r·   s     r(   r™   z8getPhases.<locals>.AfterAfterFramesetPhase.processEndTag²
  r�  r)   rÕ   rŽ  N)r?   r@   rA   r1  r  r�   rš   r—   r–   r  r-  rT  r™   r   rY  r  rZ  ræ   r)   r(   ÚAfterAfterFramesetPhaser&  ™
  si   „ Ù“Gˆ	ò	ò	?ò	Nò	@ò	Gò	Gò	<ò	<ð 2˜&×1Ñ1Ø�\Ð"ØÐ)Ð*ð3
ó ˆð #0ˆÕr)   r0  r_   r^   rÇ   rQ  r{  r‚  rÅ   rÞ   rÄ   rÈ  rÂ   rÃ   rÁ   rÀ   r¿   r¾   rD  )r�   r[  rÆ   r
  rü  r  ræ   )rM   ra   rõ   r2  rB  r[  r—  r±  rÃ  r¿  ræ  r  r%  rC  rX  rh  r‚  rŒ  rñ  rþ  r  r  r$  r0  rÉ  rë  r  s                           @@@r(   rJ   rJ   Œ  sT  ú€ òò*ôF™, u¨cÓ2õ FôP@�uô @ôD#˜%ô #ôJ+,˜%ô +,ôZd,�eô d,ôL=,˜eô =,ô~@,˜ô @,÷DR,�eô R,ôh,�Eô ,öBO,�uô O,öb-˜5ô -ö^D,˜ô D,öL>,˜Uô >,ö@`,˜5ô `,öDW,�Uô W,örJ,�eô J,öXa,˜ô a,ôF$,˜uô $,öLp ô pôd,,˜ô ,,ö\6,˜%ô 6,öp",˜Uô ",ôH#0˜eô #0ôJ!0 %ô !0ðJØ�<ðà�oðð 	�oðð 	�+ð	ð
 	Ð-ðð 	�^ðð 	�+ðð 	�	ðð 	�<ðð 	Ð'ðð 	�^ðð 	Ð+ðð 	Ð'ðð 	�ðð 	�+ðð  	�Mð!ð" 	Ð/ð#ð$ 2Ø#Ø%Ø+Ø-Ø5ò/ð r)   c                 ó¢   ‡— t        | d   «      t        ‰«      z  }|r2 t        | d   «      ˆfd„| d   j                  «       D «       «      | d<   y y )Nrˆ   c              3   óL   •K  — | ]  \  }}‰j                  ||«      |f–— Œ y ­wr1   )r’   )ræ  ÚkÚvrâ  s      €r(   rç  z$adjust_attributes.<locals>.<genexpr>Ý
  s1   øè ø€ ò ,OÙ04°°1ð .:×-=Ñ-=¸aÀÓ-CÀQÔ,Gñ ,Oùs   ƒ!$)r   r6   r2   )r¥   râ  Úneeds_adjustments    ` r(   r¶   r¶   Ú
  sZ   ø€ Ü  f¡Ó.´¸,Ó1GÑGÐÙØ+œ˜U 6™]Ó+ó ,OØ8=¸f¹×8KÑ8KÓ8Mô,Oó OˆˆfŠð r)   c                 ó&   — |€i }t         |   | ||dœS )N)r6   rN   rˆ   rŽ   )r   )rN   r6   rx   rŽ   s       r(   r7  r7  á
  s&   € àÐØˆ
Ü˜tÑ$¨d¸JØ&ñ(ð (r)   c                   ó   — e Zd ZdZy)r†   zError in parsed documentN)r?   r@   rA   rä   ræ   r)   r(   r†   r†   é
  s   „ Ù"Ør)   r†   )rF   T)rã   rF   T)rƒ   NF)+Ú
__future__r   r   r   Úbleach.six_shimr   r4   r'  r   r	   r
   Útreebuilders.baser   r   Ú	constantsr   r   r   r   r   r   r   r   r   r   r   r   rº   r   r   r   r   r"   r,   rC   r§  r!   ÚmemoizerJ   r¶   r7  Ú	Exceptionr†   ræ   r)   r(   ú<module>r>     s’   ðß BÑ BÝ $ã å Ý å Ý %å ÷
÷ 
÷ 
÷ 
ó 
ó"ó.?ò2	ôs)�ô s)ðl	 ‡�ñJ%ó ðJ%òZJOð 59Ø %ó(ô	�õ 	r)   