관리-도구
편집 파일: html5parser.cpython-39.opt-1.pyc
a ����[��f�����������������������@���s��d�dl�mZmZmZ�d�dlmZmZ�d�dlZddlm Z �ddlm Z �ddlmZ�ddlm Z �dd lmZ�dd lmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z �d d d�Z!d!dd�Z"dd��Z#G�dd��de$�Z%ej&dd���Z'dd��Z(d"dd�Z)G�dd��de*�Z+dS�)#�����)�absolute_import�division�unicode_literals)�with_metaclass�viewkeysN����)�_inputstream)� _tokenizer)�treebuilders)�Marker)�_utils)�spaceCharacters�asciiUpper2Lower�specialElements�headingElements� cdataElements�rcdataElements� tokenTypes� tagTokenTypes� namespaces�htmlIntegrationPointElements�"mathmlTextIntegrationPointElements�adjustForeignAttributes�adjustMathMLAttributes�adjustSVGAttributes�E�_ReparseException�etreeTc�����������������K���s(���t��|�}t||d�}|j|�fi�|��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�p��r(����D/usr/lib/python3.9/site-packages/pip/_vendor/html5lib/html5parser.pyr"������s���� r"����divc�����������������K���s,���t��|�}t||d�}|j|�fd|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'���r(���r(���r)���r,���1���s���� r,���c��������������������s���G���fdd�dt��}|S�)Nc�����������������������s���e�Zd�Z��fdd�ZdS�)z-method_decorator_metaclass.<locals>.Decoratedc��������������������s>���|����D�]$\}}t|tj�r$��|�}|||<�qt�|�|||�S��N)�items� isinstance�types�FunctionType�type�__new__)�metaZ classname�basesZ classDictZ attributeNameZ attribute��functionr(���r)���r3���L���s ���� z5method_decorator_metaclass.<locals>.Decorated.__new__N)�__name__� __module__�__qualname__r3���r(���r6���r(���r)���� DecoratedK���s���r;���)r2���)r7���r;���r(���r6���r)����method_decorator_metaclassJ���s����r<���c�������������������@���s����e�Zd�ZdZd'dd�Zd(dd �Zd d��Zedd ���Zdd��Z dd��Z dd��Zdd��Zdd��Z d)dd�Zdd��Zdd��Zdd ��Zd!d"��Zd#d$��Zd%d&��ZdS�)*r!���z]HTML parser Generates a tree structure from a stream of (possibly malformed) HTML. NFTc��������������������sH���|��_�|du�rt�d�}||���_g���_��fdd�t|����D����_dS�)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 Nr���c��������������������s���i�|�]\}}||����j���qS�r(���)�tree)�.0�name�cls��selfr(���r)���� <dictcomp>y��������z'HTMLParser.__init__.<locals>.<dictcomp>)�strictr ���r ���r=����errors� getPhasesr.����phases)rB���r=���rE���r����debugr(���rA���r)����__init__]���s���� �zHTMLParser.__init__r*���c�����������������K���sf���||�_�||�_||�_tj|fd|�i|��|�_|�����z|�����W�n"�ty`���|�����|�����Y�n0�d�S�)N�parser) � innerHTMLModer+���� scriptingr ���Z HTMLTokenizer� tokenizer�reset�mainLoopr���)rB����stream� innerHTMLr+���rM���r%���r(���r(���r)����_parse|���s����zHTMLParser._parsec�����������������C���s����|�j�����d|�_g�|�_g�|�_d|�_|�jr�|�j���|�_ |�j t v�rL|�jj|�j_ n0|�j tv�rd|�jj|�j_ n|�j dkr||�jj|�j_ n�|�jd�|�_|�j����|�����nd|�_ |�jd�|�_d�|�_d�|�_d|�_d�S�)NFz no quirks� plaintext� beforeHtml�initialT)r=���rO���� firstStartTagrF����log� compatModerL���r+����lowerrR���r���rN����rcdataState�stater����rawtextState�plaintextStaterH����phase�insertHtmlElement�resetInsertionModeZ lastPhaseZbeforeRCDataPhase� framesetOKrA���r(���r(���r)���rO�������s*���� zHTMLParser.resetc�����������������C���s���t�|�d�sdS�|�jjjd�jS�)z�Name of the character encoding that was used to decode the input stream, or :obj:`None` if that is not determined yet rN���Nr���)�hasattrrN���rQ����charEncodingr?���rA���r(���r(���r)����documentEncoding����s���� zHTMLParser.documentEncodingc�����������������C���sJ���|j�dkr6|jtd�kr6d|jv�o4|jd��t�dv�S�|j|j�ftv�S�d�S�)N�annotation-xml�mathml�encoding)z text/htmlzapplication/xhtml+xml)r?���� namespacer���� attributes� translater���r����rB����elementr(���r(���r)����isHTMLIntegrationPoint����s���� � ���z!HTMLParser.isHTMLIntegrationPointc�����������������C���s���|j�|jftv�S�r-���)ri���r?���r���rl���r(���r(���r)����isMathMLTextIntegrationPoint����s����z'HTMLParser.isMathMLTextIntegrationPointc�����������������C���sV��t�d�}t�d�}t�d�}t�d�}t�d�}t�d�}t�d�}|�jD��]�}d�} |} | d�u�r�| } |�jjrn|�jjd�nd�}|r||jnd�}|r�|jnd�} | d �}||kr�|��| d �| �di����d�} qLt|�jj�dk�sb||�jj k�sb|�� |��r||k�r|d �tddg�v�sb|||fv��sb|td�k�rF| dk�rF||k�rF|d �dk�sb|�� |��rj||||fv��rj|�j}n |�jd�}||k�r�|�| �} qL||k�r�|�| �} qL||k�r�|�| �} qL||k�r�|�| �} qL||k�r�|�| �} qL||krL|�| �} qL||kr>| d�r>| d�s>|��dd | d �i��q>d}g�}|�rR|�|�j��|�j���}|�r,�q,d�S�)N� CharactersZSpaceCharacters�StartTag�EndTag�CommentZDoctype� ParseError���r2����data�datavarsr���r?���ZmglyphZ malignmarkrg���rf����svg�inForeignContent�selfClosing�selfClosingAcknowledgedz&non-void-element-with-trailing-solidusT)r���rN���r=����openElementsri���r?���� parseError�get�len�defaultNamespacero���� frozensetr���rn���r_���rH����processCharacters�processSpaceCharacters�processStartTag� processEndTag�processComment�processDoctype�append� processEOF)rB���ZCharactersTokenZSpaceCharactersTokenZ StartTagTokenZEndTagTokenZCommentTokenZDoctypeTokenZParseErrorToken�tokenZ prev_token� new_token�currentNodeZcurrentNodeNamespaceZcurrentNodeNamer2���r_���Z reprocessrH���r(���r(���r)���rP�������s����� ���� � ��� � �� � � zHTMLParser.mainLoopc�����������������O���s&���|�j�|ddg|�R�i�|���|�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)rS���r=���ZgetDocument�rB���rQ����argsr%���r(���r(���r)���r"�����s����zHTMLParser.parsec�����������������O���s$���|�j�|dg|�R�i�|���|�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)rS���r=���ZgetFragmentr����r(���r(���r)���r,�����s����zHTMLParser.parseFragment�XXX-undefined-errorc�����������������C���s@���|d�u�ri�}|�j��|�jj���||f��|�jr<tt|�|���d�S�r-���)rF���r����rN���rQ���ZpositionrE���rt���r���)rB���� errorcoderw���r(���r(���r)���r}���;��s ����zHTMLParser.parseErrorc�����������������C���s���t�|t��d�S�r-���)�adjust_attributesr����rB���r����r(���r(���r)���r���C��s����z!HTMLParser.adjustMathMLAttributesc�����������������C���s���t�|t��d�S�r-���)r����r���r����r(���r(���r)���r���F��s����zHTMLParser.adjustSVGAttributesc�����������������C���s���t�|t��d�S�r-���)r�����adjustForeignAttributesMapr����r(���r(���r)���r���I��s����z"HTMLParser.adjustForeignAttributesc�����������������C���s���|�j�����d�S�r-���)rK���r_���r����r(���r(���r)����reparseTokenNormalL��s����zHTMLParser.reparseTokenNormalc�����������������C���s����d}ddddddddddd d d dd�}|�j�jd�d�d ��D�]r}|j}d�}||�j�jd�kr`d}|�j}|dv�rh|s||j|�j�jkr|q8||v�r�|�j||��}�q�q8|r8|�jd �}�q�q8||�_d�S�)NF�inSelect�inCell�inRow�inTableBody� inCaption� inColumnGroup�inTable�inBody� inFrameset� beforeHead)�select�td�th�tr�tbody�thead�tfoot�caption�colgroup�table�head�body�frameset�htmlru���r���T)r����r����r����r����)r=���r|���r?���rR���ri���r����rH���r_���)rB���ZlastZnewModes�nodeZnodeNameZ new_phaser(���r(���r)���ra���P��s@����� zHTMLParser.resetInsertionModec�����������������C���sF���|�j��|��|dkr"|�jj|�j_n|�jj|�j_|�j|�_|�jd�|�_d�S�)N�RAWTEXT�text) r=���� insertElementrN���r]���r\���r[���r_���� originalPhaserH���)rB���r����ZcontentTyper(���r(���r)����parseRCDataRawtext|��s����zHTMLParser.parseRCDataRawtext)NFTF)Fr*���F)r����N)r8���r9���r:����__doc__rJ���rS���rO����propertyre���rn���ro���rP���r"���r,���r}���r���r���r���r����ra���r����r(���r(���r(���r)���r!���V���s$��� " C ,r!���c��������������������s���dd��}dd��}G�dd��dt�||�|����G�dd��d��}G�d d ��d ��}G�dd��d��}G�d d��d��}G�dd��d��}G�dd��d��}G����fdd�d����G�dd��d��} G��fdd�d��} G��fdd�d���G��fdd�d��}G��fdd�d��}G��fdd �d ��} G��fd!d"�d"��}G��fd#d$�d$��}G��fd%d&�d&��}G�d'd(��d(��}G��fd)d*�d*��}G�d+d,��d,��}G��fd-d.�d.��}G��fd/d0�d0��}G�d1d2��d2��}G�d3d4��d4��}||||||��| | �||| ||||||||||d5�S�)6Nc��������������������s$���dd��t����D������fdd�}|S�)z4Logger that records which phase processes each tokenc�����������������S���s���i�|�]\}}||�qS�r(���r(���)r>����key�valuer(���r(���r)���rC������rD���z*getPhases.<locals>.log.<locals>.<dictcomp>c��������������������s������j��d�r�t|�dkr�|d�}d�|d��i}|d�tv�rH|d�|d<�|�jj�|�jjjj�|�jj j j�|�j j���j�|f����|�g|�R�i�|��S���|�g|�R�i�|��S�d�S�)NZprocessr���r2���r?���)r8���� startswithr���r���rK���rX���r����rN���r\���r_���� __class__)rB���r����r%���r�����info�r7���Z type_namesr(���r)����wrapped���s���� �z'getPhases.<locals>.log.<locals>.wrapped)r���r.���)r7���r����r(���r����r)���rX������s����zgetPhases.<locals>.logc�����������������S���s���|�rt�|�S�tS�d�S�r-���)r<���r2���)Z use_metaclassZmetaclass_funcr(���r(���r)����getMetaclass���s����zgetPhases.<locals>.getMetaclassc�������������������@���s\���e�Zd�ZdZdZdd��Zdd��Zdd��Zd d ��Zdd��Z d d��Z dd��Zdd��Zdd��Z dS�)zgetPhases.<locals>.PhasezNBase class for helper object that implements each phase of processing )rK���r=���Z__startTagCacheZ __endTagCachec�����������������S���s���||�_�||�_i�|�_i�|�_d�S�r-���)rK���r=����_Phase__startTagCache�_Phase__endTagCache)rB���rK���r=���r(���r(���r)���rJ������s����z!getPhases.<locals>.Phase.__init__c�����������������S���s���t��d�S�r-���)�NotImplementedErrorrA���r(���r(���r)���r�������s����z#getPhases.<locals>.Phase.processEOFc�����������������S���s���|�j��||�j�jd���d�S�)Nru����r=���� insertCommentr|���r����r(���r(���r)���r�������s����z'getPhases.<locals>.Phase.processCommentc�����������������S���s���|�j��d��d�S�)Nzunexpected-doctype�rK���r}���r����r(���r(���r)���r�������s����z'getPhases.<locals>.Phase.processDoctypec�����������������S���s���|�j��|d���d�S��Nrv����r=���� insertTextr����r(���r(���r)���r�������s����z*getPhases.<locals>.Phase.processCharactersc�����������������S���s���|�j��|d���d�S�r����r����r����r(���r(���r)���r�������s����z/getPhases.<locals>.Phase.processSpaceCharactersc�����������������S���sj���|d�}||�j�v�r|�j�|�}nD|�j|��}|�j�|<�t|�j��t|�j�d�krb|�j��tt|�j�����q2||�S��Nr?���g�������?)r�����startTagHandlerr����pop�next�iter�rB���r����r?����funcr(���r(���r)���r�������s���� z(getPhases.<locals>.Phase.processStartTagc�����������������S���sf���|�j�js |d�dkr |�j��d��|d����D�],\}}||�jjd�jvr,||�jjd�j|<�q,d|�j�_d�S�)Nr?���r����z non-html-rootrv���r���F)rK���rW���r}���r.���r=���r|���rj����rB���r�����attrr����r(���r(���r)����startTagHtml���s����z%getPhases.<locals>.Phase.startTagHtmlc�����������������S���sj���|d�}||�j�v�r|�j�|�}nD|�j|��}|�j�|<�t|�j��t|�j�d�krb|�j��tt|�j�����q2||�S�r����)r����� endTagHandlerr���r����r����r����r����r(���r(���r)���r�������s���� z&getPhases.<locals>.Phase.processEndTagN)r8���r9���r:���r����� __slots__rJ���r����r����r����r����r����r����r����r����r(���r(���r(���r)����Phase���s��� r����c�������������������@���sR���e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��ZdS�)zgetPhases.<locals>.InitialPhasec�����������������S���s���d�S�r-���r(���r����r(���r(���r)���r�������s����z6getPhases.<locals>.InitialPhase.processSpaceCharactersc�����������������S���s���|�j��||�j�j��d�S�r-����r=���r����Zdocumentr����r(���r(���r)���r�������s����z.getPhases.<locals>.InitialPhase.processCommentc�����������������S���s����|d�}|d�}|d�}|d�}|dks@|d�us@|d�urL|dkrL|�j��d��|d�u�rXd}|�j�|��|dkrv|�t�}|r�|d�dks�|�d �s�|d v�s�|�d�r�|d�u�s�|r�|���dkr�d |�j�_n$|�d�s�|�d�r�|d�ur�d|�j�_|�j�j d�|�j�_ d�S�)Nr?����publicId�systemId�correctr����zabout:legacy-compatzunknown-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//zlimited quirksrU���)rK���r}���r=���Z insertDoctyperk���r���r����rZ���rY���rH���r_���)rB���r����r?���r����r����r����r(���r(���r)���r�������sX������ ��9�<��?�@�@ �A ����z.getPhases.<locals>.InitialPhase.processDoctypec�����������������S���s���d|�j�_|�j�jd�|�j�_d�S�)Nr����rU���)rK���rY���rH���r_���rA���r(���r(���r)����anythingElseZ��s����z,getPhases.<locals>.InitialPhase.anythingElsec�����������������S���s���|�j��d��|�����|S�)Nzexpected-doctype-but-got-chars�rK���r}���r����r����r(���r(���r)���r����^��s����z1getPhases.<locals>.InitialPhase.processCharactersc�����������������S���s"���|�j��dd|d�i��|�����|S�)Nz"expected-doctype-but-got-start-tagr?���r����r����r(���r(���r)���r����c��s ���� �z/getPhases.<locals>.InitialPhase.processStartTagc�����������������S���s"���|�j��dd|d�i��|�����|S�)Nz expected-doctype-but-got-end-tagr?���r����r����r(���r(���r)���r����i��s ���� �z-getPhases.<locals>.InitialPhase.processEndTagc�����������������S���s���|�j��d��|�����dS�)Nzexpected-doctype-but-got-eofTr����rA���r(���r(���r)���r����o��s����z*getPhases.<locals>.InitialPhase.processEOFN) r8���r9���r:����tupler����r����r����r����r����r����r����r����r����r(���r(���r(���r)����InitialPhase���s���_r����c�������������������@���sJ���e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��ZdS�)z"getPhases.<locals>.BeforeHtmlPhasec�����������������S���s&���|�j��tdd���|�jjd�|�j_d�S�)Nr����rq���r����)r=���Z insertRoot�impliedTagTokenrK���rH���r_���rA���r(���r(���r)���r`���x��s����z4getPhases.<locals>.BeforeHtmlPhase.insertHtmlElementc�����������������S���s���|������dS��NT�r`���rA���r(���r(���r)���r����}��s����z-getPhases.<locals>.BeforeHtmlPhase.processEOFc�����������������S���s���|�j��||�j�j��d�S�r-���r����r����r(���r(���r)���r�������s����z1getPhases.<locals>.BeforeHtmlPhase.processCommentc�����������������S���s���d�S�r-���r(���r����r(���r(���r)���r�������s����z9getPhases.<locals>.BeforeHtmlPhase.processSpaceCharactersc�����������������S���s���|������|S�r-���r����r����r(���r(���r)���r�������s����z4getPhases.<locals>.BeforeHtmlPhase.processCharactersc�����������������S���s ���|d�dkrd|�j�_|�����|S�)Nr?���r����T)rK���rW���r`���r����r(���r(���r)���r�������s����z2getPhases.<locals>.BeforeHtmlPhase.processStartTagc�����������������S���s4���|d�dvr$|�j��dd|d�i��n|�����|S�d�S�)Nr?����r����r����r�����brzunexpected-end-tag-before-html)rK���r}���r`���r����r(���r(���r)���r�������s���� �z0getPhases.<locals>.BeforeHtmlPhase.processEndTagN)r8���r9���r:���r����r����r`���r����r����r����r����r����r����r(���r(���r(���r)����BeforeHtmlPhaset��s���r����c�������������������@���s����e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Ze �defde fg�Ze e_e �defg�Zee_dS�)z"getPhases.<locals>.BeforeHeadPhasec�����������������S���s���|���tdd���dS�)Nr����rq���T��startTagHeadr����rA���r(���r(���r)���r�������s����z-getPhases.<locals>.BeforeHeadPhase.processEOFc�����������������S���s���d�S�r-���r(���r����r(���r(���r)���r�������s����z9getPhases.<locals>.BeforeHeadPhase.processSpaceCharactersc�����������������S���s���|���tdd���|S��Nr����rq���r����r����r(���r(���r)���r�������s����z4getPhases.<locals>.BeforeHeadPhase.processCharactersc�����������������S���s���|�j�jd��|�S��Nr�����rK���rH���r����r����r(���r(���r)���r�������s����z/getPhases.<locals>.BeforeHeadPhase.startTagHtmlc�����������������S���s0���|�j��|��|�j�jd�|�j�_|�jjd�|�j_d�S�)Nru����inHead)r=���r����r|����headPointerrK���rH���r_���r����r(���r(���r)���r�������s����z/getPhases.<locals>.BeforeHeadPhase.startTagHeadc�����������������S���s���|���tdd���|S�r����r����r����r(���r(���r)���� startTagOther���s����z0getPhases.<locals>.BeforeHeadPhase.startTagOtherc�����������������S���s���|���tdd���|S�r����r����r����r(���r(���r)����endTagImplyHead���s����z2getPhases.<locals>.BeforeHeadPhase.endTagImplyHeadc�����������������S���s���|�j��dd|d�i��d�S�)Nzend-tag-after-implied-rootr?���r����r����r(���r(���r)����endTagOther���s���� �z.getPhases.<locals>.BeforeHeadPhase.endTagOtherr����r����r����N)r8���r9���r:���r����r����r����r����r����r����r����r����r����r����r����MethodDispatcherr�����defaultr����r(���r(���r(���r)����BeforeHeadPhase���s$�����r����c�������������������@���s����e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd��Zdd��Zdd��Ze�defd efd!efd"e fd#efd$e fd%e fd&efg�Zee_e�d&efd'efg�Zee_d(S�))zgetPhases.<locals>.InHeadPhasec�����������������S���s���|������dS�r�����r����rA���r(���r(���r)���r�������s����z)getPhases.<locals>.InHeadPhase.processEOFc�����������������S���s���|������|S�r-���r����r����r(���r(���r)���r�������s����z0getPhases.<locals>.InHeadPhase.processCharactersc�����������������S���s���|�j�jd��|�S�r����r����r����r(���r(���r)���r�������s����z+getPhases.<locals>.InHeadPhase.startTagHtmlc�����������������S���s���|�j��d��d�S�)Nz!two-heads-are-not-better-than-oner����r����r(���r(���r)���r�������s����z+getPhases.<locals>.InHeadPhase.startTagHeadc�����������������S���s$���|�j��|��|�j�j����d|d<�d�S��NTr{����r=���r����r|���r����r����r(���r(���r)����startTagBaseLinkCommand���s����z6getPhases.<locals>.InHeadPhase.startTagBaseLinkCommandc�����������������S���s����|�j��|��|�j�j����d|d<�|d�}|�jjjjd�dkr�d|v�rZ|�jjj�|d���nVd|v�r�d|v�r�|d�� ��d kr�t �|d��d ��}t � |�}|���}|�jjj�|��d�S�)NTr{���rv���r���Z tentative�charsetZcontentz http-equivzcontent-typezutf-8)r=���r����r|���r����rK���rN���rQ���rd���ZchangeEncodingrZ���r���Z EncodingBytes�encodeZContentAttrParserr"���)rB���r����rj���rv���rK����codecr(���r(���r)����startTagMeta���s ������ z+getPhases.<locals>.InHeadPhase.startTagMetac�����������������S���s���|�j��|d��d�S�)NZRCDATA�rK���r����r����r(���r(���r)���� startTagTitle���s����z,getPhases.<locals>.InHeadPhase.startTagTitlec�����������������S���s���|�j��|d��d�S�)Nr����r����r����r(���r(���r)����startTagNoFramesStyle���s����z4getPhases.<locals>.InHeadPhase.startTagNoFramesStylec�����������������S���s8���|�j�jr|�j��|d��n|�j�|��|�j�jd�|�j�_d�S�)Nr�����inHeadNoscript)rK���rM���r����r=���r����rH���r_���r����r(���r(���r)����startTagNoscript���s����z/getPhases.<locals>.InHeadPhase.startTagNoscriptc�����������������S���s<���|�j��|��|�jjj|�jj_|�jj|�j_|�jjd�|�j_d�S�)Nr����) r=���r����rK���rN���ZscriptDataStater\���r_���r����rH���r����r(���r(���r)����startTagScript���s����z-getPhases.<locals>.InHeadPhase.startTagScriptc�����������������S���s���|������|S�r-���r����r����r(���r(���r)���r������s����z,getPhases.<locals>.InHeadPhase.startTagOtherc�����������������S���s"���|�j�jj���}|�j�jd�|�j�_d�S�)N� afterHead�rK���r=���r|���r����rH���r_����rB���r����r����r(���r(���r)���� endTagHead ��s����z)getPhases.<locals>.InHeadPhase.endTagHeadc�����������������S���s���|������|S�r-���r����r����r(���r(���r)����endTagHtmlBodyBr��s����z/getPhases.<locals>.InHeadPhase.endTagHtmlBodyBrc�����������������S���s���|�j��dd|d�i��d�S��N�unexpected-end-tagr?���r����r����r(���r(���r)���r������s����z*getPhases.<locals>.InHeadPhase.endTagOtherc�����������������S���s���|���td���d�S�)Nr����)r��r����rA���r(���r(���r)���r������s����z+getPhases.<locals>.InHeadPhase.anythingElser�����title)�noframes�style�noscript�script)�base�basefont�bgsound�command�linkr4���r����)r����r����r����N)r8���r9���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)����InHeadPhase���sD������r��c�������������������@���s����e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z dd��Zdd��Zdd��Ze�de fde fdefg�Zee_e�de fdefg�Zee_dS�)z&getPhases.<locals>.InHeadNoscriptPhasec�����������������S���s���|�j��d��|�����dS�)Nzeof-in-head-noscriptTr����rA���r(���r(���r)���r����/��s����z1getPhases.<locals>.InHeadNoscriptPhase.processEOFc�����������������S���s���|�j�jd��|�S��Nr����)rK���rH���r����r����r(���r(���r)���r����4��s����z5getPhases.<locals>.InHeadNoscriptPhase.processCommentc�����������������S���s���|�j��d��|�����|S�)Nzchar-in-head-noscriptr����r����r(���r(���r)���r����7��s����z8getPhases.<locals>.InHeadNoscriptPhase.processCharactersc�����������������S���s���|�j�jd��|�S�r���rK���rH���r����r����r(���r(���r)���r����<��s����z=getPhases.<locals>.InHeadNoscriptPhase.processSpaceCharactersc�����������������S���s���|�j�jd��|�S�r����r����r����r(���r(���r)���r����?��s����z3getPhases.<locals>.InHeadNoscriptPhase.startTagHtmlc�����������������S���s���|�j�jd��|�S�r��r����r����r(���r(���r)���r����B��s����z>getPhases.<locals>.InHeadNoscriptPhase.startTagBaseLinkCommandc�����������������S���s���|�j��dd|d�i��d�S��N�unexpected-start-tagr?���r����r����r(���r(���r)����startTagHeadNoscriptE��s����z;getPhases.<locals>.InHeadNoscriptPhase.startTagHeadNoscriptc�����������������S���s"���|�j��dd|d�i��|�����|S��Nzunexpected-inhead-noscript-tagr?���r����r����r(���r(���r)���r����H��s����z4getPhases.<locals>.InHeadNoscriptPhase.startTagOtherc�����������������S���s"���|�j�jj���}|�j�jd�|�j�_d�S�r��r����r���r(���r(���r)����endTagNoscriptM��s����z5getPhases.<locals>.InHeadNoscriptPhase.endTagNoscriptc�����������������S���s"���|�j��dd|d�i��|�����|S�r��r����r����r(���r(���r)����endTagBrR��s����z/getPhases.<locals>.InHeadNoscriptPhase.endTagBrc�����������������S���s���|�j��dd|d�i��d�S�r��r����r����r(���r(���r)���r����W��s����z2getPhases.<locals>.InHeadNoscriptPhase.endTagOtherc�����������������S���s���|���td���d�S�)Nr��)r��r����rA���r(���r(���r)���r����Z��s����z3getPhases.<locals>.InHeadNoscriptPhase.anythingElser����)r��r��r��r4���r��r��)r����r��r��r����N)r8���r9���r:���r����r����r����r����r����r����r����r����r��r����r��r��r����r����r���r����r����r����r����r(���r(���r(���r)����InHeadNoscriptPhase,��s0�����r��c�������������������@���s����e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z dd��Zdd��Ze�defdefde fde fdefg�Zee_e�de fg�Zee_dS�)z!getPhases.<locals>.AfterHeadPhasec�����������������S���s���|������dS�r����r����rA���r(���r(���r)���r����n��s����z,getPhases.<locals>.AfterHeadPhase.processEOFc�����������������S���s���|������|S�r-���r����r����r(���r(���r)���r����r��s����z3getPhases.<locals>.AfterHeadPhase.processCharactersc�����������������S���s���|�j�jd��|�S�r����r����r����r(���r(���r)���r����v��s����z.getPhases.<locals>.AfterHeadPhase.startTagHtmlc�����������������S���s(���d|�j�_|�j�|��|�j�jd�|�j�_d�S�)NFr����)rK���rb���r=���r����rH���r_���r����r(���r(���r)����startTagBodyy��s����z.getPhases.<locals>.AfterHeadPhase.startTagBodyc�����������������S���s ���|�j��|��|�jjd�|�j_d�S�)Nr����)r=���r����rK���rH���r_���r����r(���r(���r)����startTagFrameset~��s����z2getPhases.<locals>.AfterHeadPhase.startTagFramesetc�����������������S���sr���|�j��dd|d�i��|�jj�|�jj��|�j�jd��|��|�jjd�d�d��D�] }|jdkrL|�jj� |���qnqLd�S�)Nz#unexpected-start-tag-out-of-my-headr?���r����ru���r����) rK���r}���r=���r|���r����r����rH���r����r?����remover���r(���r(���r)����startTagFromHead���s���� � z2getPhases.<locals>.AfterHeadPhase.startTagFromHeadc�����������������S���s���|�j��dd|d�i��d�S�r��r����r����r(���r(���r)���r�������s����z.getPhases.<locals>.AfterHeadPhase.startTagHeadc�����������������S���s���|������|S�r-���r����r����r(���r(���r)���r�������s����z/getPhases.<locals>.AfterHeadPhase.startTagOtherc�����������������S���s���|������|S�r-���r����r����r(���r(���r)���r�����s����z2getPhases.<locals>.AfterHeadPhase.endTagHtmlBodyBrc�����������������S���s���|�j��dd|d�i��d�S�r��r����r����r(���r(���r)���r�������s����z-getPhases.<locals>.AfterHeadPhase.endTagOtherc�����������������S���s.���|�j��tdd���|�jjd�|�j_d|�j_d�S�)Nr����rq���r����T)r=���r����r����rK���rH���r_���rb���rA���r(���r(���r)���r�������s����z.getPhases.<locals>.AfterHeadPhase.anythingElser����r����r����) r ��r��r��r��r4���r��r ��r��r��r����)r����r����r����N)r8���r9���r:���r����r����r����r����r����r��r��r��r����r����r��r����r����r���r����r����r����r����r(���r(���r(���r)����AfterHeadPhasek��s4��� �� �r��c����������������$�������s���e�Zd�ZdZ���fdd�Zdd��Zdd��Zdd ��Zd d��Zdd ��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd��Zdd��Zd d!��Zd"d#��Zd$d%��Zd&d'��Zd(d)��Zd*d+��Zd,d-��Zd.d/��Zd0d1��Zd2d3��Zd4d5��Zd6d7��Zd8d9��Zd:d;��Z d<d=��Z!d>d?��Z"d@dA��Z#dBdC��Z$dDdE��Z%dFdG��Z&dHdI��Z'dJdK��Z(dLdM��Z)dNdO��Z*dPdQ��Z+dRdS��Z,dTdU��Z-dVdW��Z.dXdY��Z/dZd[��Z0d\d]��Z1d^d_��Z2d`da��Z3dbdc��Z4ddde��Z5dfdg��Z6e7�8dh�j9fdiefdjefdke fdlefe:efdmefdnefdoefdpefdqefdrefdsefdtefduefdvefdwefdxefdyefdzefd{efd|efd}e fd~e!fde"fd�e#fd�e$fd�e&fd�e'fd�e%fd�e(fd�e)fd�e*fg!�Z;e+e;_<e7�8dje-fdhe.fd�e/fdne0fd�e,fd�e1fe:e2fd�e3fdue4fd�e5fg �Z=e6e=_<���Z>S�)�zgetPhases.<locals>.InBodyPhase)r����c��������������������s"���t���|��j|i�|���|�j|�_d�S�r-���)�superrJ����processSpaceCharactersNonPrer�����rB���r����r%���)�InBodyPhaser����r(���r)���rJ������s����z'getPhases.<locals>.InBodyPhase.__init__c�����������������S���s$���|j�|j�ko"|j|jko"|j|jkS�r-���)r?���ri���rj���)rB���Znode1Znode2r(���r(���r)����isMatchingFormattingElement���s ���� � �z:getPhases.<locals>.InBodyPhase.isMatchingFormattingElementc�����������������S���s����|�j��|��|�j�jd�}g�}|�j�jd�d�d��D�](}|tu�r@�qXq.|��||�r.|�|��q.t|�dkrv|�j�j�|d���|�j�j�|��d�S�)Nru�������) r=���r����r|����activeFormattingElementsr���r"��r����r���r��)rB���r����rm���ZmatchingElementsr����r(���r(���r)����addFormattingElement���s����z3getPhases.<locals>.InBodyPhase.addFormattingElementc�����������������S���s>���t�d�}|�jjd�d�d��D�]}|j|vr|�j�d���q:qd�S�)N)�dd�dt�lir'���r����r����r����r����r����r����r����r����ru���z expected-closing-tag-but-got-eof)r����r=���r|���r?���rK���r}���)rB���Zallowed_elementsr����r(���r(���r)���r�������s ���� z)getPhases.<locals>.InBodyPhase.processEOFc�����������������S���sf���|d�}|�j�|�_|�d�rH|�jjd�jdv�rH|�jjd����sH|dd���}|rb|�j����|�j�|��d�S�)Nrv���� ru���)�pre�listing�textarear���) r��r����r����r=���r|���r?���Z hasContent�#reconstructActiveFormattingElementsr����)rB���r����rv���r(���r(���r)����!processSpaceCharactersDropNewline���s���� �� z@getPhases.<locals>.InBodyPhase.processSpaceCharactersDropNewlinec�����������������S���sT���|d�dkrd�S�|�j�����|�j��|d���|�jjrPtdd��|d�D���rPd|�j_d�S�)Nrv�����c�����������������S���s���g�|�]}|t�v�qS�r(����r ����r>����charr(���r(���r)���� <listcomp>���s����zDgetPhases.<locals>.InBodyPhase.processCharacters.<locals>.<listcomp>F)r=���r-��r����rK���rb����anyr����r(���r(���r)���r�������s���� ��z0getPhases.<locals>.InBodyPhase.processCharactersc�����������������S���s���|�j�����|�j��|d���d�S�r����)r=���r-��r����r����r(���r(���r)���r�����s���� z;getPhases.<locals>.InBodyPhase.processSpaceCharactersNonPrec�����������������S���s���|�j�jd��|�S�r��r����r����r(���r(���r)����startTagProcessInHead���s����z4getPhases.<locals>.InBodyPhase.startTagProcessInHeadc�����������������S���s|���|�j��dddi��t|�jj�dksx|�jjd�jdkr6nBd|�j�_|d����D�],\}}||�jjd�jvrJ||�jjd�j|<�qJd�S�)Nr��r?���r����r���Frv���) rK���r}���r���r=���r|���r?���rb���r.���rj���r����r(���r(���r)���r�����s�����z+getPhases.<locals>.InBodyPhase.startTagBodyc�����������������S���s����|�j��dddi��t|�jj�dks�|�jjd�jdkr6np|�j�js@nf|�jjd�jrj|�jjd�j�|�jjd���|�jjd�jdkr�|�jj� ���qj|�j� |��|�j�jd�|�j�_d�S�) Nr��r?���r����r���r����ru���r����r����) rK���r}���r���r=���r|���r?���rb����parent�removeChildr����r����rH���r_���r����r(���r(���r)���r����s����"z/getPhases.<locals>.InBodyPhase.startTagFramesetc�����������������S���s.���|�j�jddd�r|��td���|�j��|��d�S��Nr'����button��variant)r=����elementInScope�endTagPr����r����r����r(���r(���r)����startTagCloseP��s����z-getPhases.<locals>.InBodyPhase.startTagClosePc�����������������S���s>���|�j�jddd�r|��td���|�j��|��d|�j_|�j|�_d�S�)Nr'���r9��r:��F) r=���r<��r=��r����r����rK���rb���r.��r����r����r(���r(���r)����startTagPreListing��s ����z1getPhases.<locals>.InBodyPhase.startTagPreListingc�����������������S���sZ���|�j�jr|�j�dddi��n:|�j�jddd�r:|��td���|�j��|��|�j�jd�|�j�_d�S�)Nr��r?����formr'���r9��r:��ru���) r=����formPointerrK���r}���r<��r=��r����r����r|���r����r(���r(���r)����startTagForm��s����z+getPhases.<locals>.InBodyPhase.startTagFormc�����������������S���s����d|�j�_dgddgddgd�}||d��}t|�jj�D�]@}|j|v�r^|�j�j�t|jd����qx|j t v�r6|jdvr6�qxq6|�jjd d d�r�|�j�j�td d���|�j�|��d�S�)NFr(��r'��r&��)r(��r'��r&��r?���rr���)�addressr*���r'���r'���r9��r:��) rK���rb����reversedr=���r|���r?���r_���r����r����� nameTupler���r<��r����)rB���r����ZstopNamesMapZ stopNamesr����r(���r(���r)����startTagListItem&��s*����� � ��z/getPhases.<locals>.InBodyPhase.startTagListItemc�����������������S���s>���|�j�jddd�r|��td���|�j��|��|�jjj|�jj_d�S�r8��) r=���r<��r=��r����r����rK���rN���r^���r\���r����r(���r(���r)����startTagPlaintext<��s����z0getPhases.<locals>.InBodyPhase.startTagPlaintextc�����������������S���sb���|�j�jddd�r|��td���|�j�jd�jtv�rR|�j�dd|d�i��|�j�j� ���|�j�� |��d�S�)Nr'���r9��r:��ru���r��r?���)r=���r<��r=��r����r|���r?���r���rK���r}���r����r����r����r(���r(���r)����startTagHeadingB��s����z.getPhases.<locals>.InBodyPhase.startTagHeadingc�����������������S���s~���|�j��d�}|rf|�j�dddd���|��td���||�j�jv�rL|�j�j�|��||�j�jv�rf|�j�j�|��|�j�� ���|�� |��d�S�)N�a�$unexpected-start-tag-implies-end-tag�Z startNameZendName)r=����!elementInActiveFormattingElementsrK���r}����endTagFormattingr����r|���r��r$��r-��r%��)rB���r����ZafeAElementr(���r(���r)���� startTagAJ��s����� z(getPhases.<locals>.InBodyPhase.startTagAc�����������������S���s���|�j�����|��|��d�S�r-���)r=���r-��r%��r����r(���r(���r)����startTagFormattingW��s���� z1getPhases.<locals>.InBodyPhase.startTagFormattingc�����������������S���sP���|�j�����|�j��d�rB|�j�dddd���|��td���|�j�����|��|��d�S�)N�nobrrJ��rK��)r=���r-��r<��rK���r}���r����r����r%��r����r(���r(���r)����startTagNobr[��s���� � z+getPhases.<locals>.InBodyPhase.startTagNobrc�����������������S���sT���|�j��d�r2|�j�dddd���|��td���|S�|�j�����|�j��|��d|�j_d�S�)Nr9��rJ��rK��F) r=���r<��rK���r}���r����r����r-��r����rb���r����r(���r(���r)����startTagButtone��s����� z-getPhases.<locals>.InBodyPhase.startTagButtonc�����������������S���s0���|�j�����|�j��|��|�j�j�t��d|�j_d�S��NF)r=���r-��r����r$��r����r���rK���rb���r����r(���r(���r)����startTagAppletMarqueeObjectp��s���� z:getPhases.<locals>.InBodyPhase.startTagAppletMarqueeObjectc�����������������S���sB���|�j�jddd�r|��td���|�j�����d|�j_|�j�|d��d�S�)Nr'���r9��r:��Fr����)r=���r<��r=��r����r-��rK���rb���r����r����r(���r(���r)����startTagXmpv��s ���� z*getPhases.<locals>.InBodyPhase.startTagXmpc�����������������S���sR���|�j�jdkr*|�jjddd�r*|��td���|�j�|��d|�j�_|�j�jd�|�j�_ d�S�)Nr����r'���r9��r:��Fr����) rK���rY���r=���r<��r����r����r����rb���rH���r_���r����r(���r(���r)���� startTagTable}��s����z,getPhases.<locals>.InBodyPhase.startTagTablec�����������������S���s6���|�j�����|�j��|��|�j�j����d|d<�d|�j_d�S�)NTr{���F)r=���r-��r����r|���r����rK���rb���r����r(���r(���r)����startTagVoidFormatting���s ���� z5getPhases.<locals>.InBodyPhase.startTagVoidFormattingc�����������������S���s@���|�j�j}|��|��d|d�v�r<|d�d��t�dkr<||�j�_d�S�)Nr2���rv����hidden)rK���rb���rW��rk���r���)rB���r����rb���r(���r(���r)���� startTagInput���s���� �z,getPhases.<locals>.InBodyPhase.startTagInputc�����������������S���s$���|�j��|��|�j�j����d|d<�d�S�r����r����r����r(���r(���r)����startTagParamSource���s����z2getPhases.<locals>.InBodyPhase.startTagParamSourcec�����������������S���sJ���|�j�jddd�r|��td���|�j��|��|�j�j����d|d<�d|�j_d�S�)Nr'���r9��r:��Tr{���F) r=���r<��r=��r����r����r|���r����rK���rb���r����r(���r(���r)���� startTagHr���s����z)getPhases.<locals>.InBodyPhase.startTagHrc�����������������S���s6���|�j��dddd���|��tdd|d�|d�d���d�S�) Nzunexpected-start-tag-treated-as�image�img�ZoriginalNameZnewNamerq���rv���rz����rj���rz���)rK���r}���r����r����r����r(���r(���r)���� startTagImage���s����� �z,getPhases.<locals>.InBodyPhase.startTagImagec�����������������S���s��|�j��dddi��|�jjrd�S�i�}d|d�v�r>|d�d�|d<�|��tdd|d���|��td d���|��td d���d|d�v�r�|d�d�}nd}|��td �|d���|d����}d|v�r�|d=�d|v�r�|d=�d|d<�|��tdd||d�d���|�� td ���|��td d���|�� td���d�S�)Nzdeprecated-tagr?����isindex�actionrv���r@��rq���)rj����hrZlabel�promptz3This is a searchable index. Enter search keywords: rp����r2���rv����inputrz���r_��) rK���r}���r=���rA��r����r����r����r����copyr����)rB���r����Z form_attrsrd��rj���r(���r(���r)����startTagIsIndex���s<���� �� �z.getPhases.<locals>.InBodyPhase.startTagIsIndexc�����������������S���s0���|�j��|��|�jjj|�jj_|�j|�_d|�j_d�S�rS��) r=���r����rK���rN���r[���r\���r.��r����rb���r����r(���r(���r)����startTagTextarea���s����z/getPhases.<locals>.InBodyPhase.startTagTextareac�����������������S���s���d|�j�_|��|��d�S�rS��)rK���rb����startTagRawtextr����r(���r(���r)����startTagIFrame���s����z-getPhases.<locals>.InBodyPhase.startTagIFramec�����������������S���s"���|�j�jr|��|��n |��|��d�S�r-���)rK���rM���rj��r����r����r(���r(���r)���r�������s����z/getPhases.<locals>.InBodyPhase.startTagNoscriptc�����������������S���s���|�j��|d��dS�)z8iframe, noembed noframes, noscript(if scripting enabled)r����Nr����r����r(���r(���r)���rj�����s����z.getPhases.<locals>.InBodyPhase.startTagRawtextc�����������������S���s@���|�j�jd�jdkr$|�jj�td���|�j�����|�jj��|��d�S��Nru����option) r=���r|���r?���rK���r_���r����r����r-��r����r����r(���r(���r)����startTagOpt���s���� z*getPhases.<locals>.InBodyPhase.startTagOptc�����������������S���s����|�j�����|�j��|��d|�j_|�jj|�jjd�|�jjd�|�jjd�|�jjd�|�jjd�|�jjd�fv�rx|�jjd�|�j_n|�jjd �|�j_d�S�) NFr����r����r����r����r����r�����inSelectInTabler����)r=���r-��r����rK���rb���r_���rH���r����r(���r(���r)����startTagSelect���s���� �z-getPhases.<locals>.InBodyPhase.startTagSelectc�����������������S���sB���|�j��d�r2|�j�����|�j�jd�jdkr2|�j����|�j��|��d�S�)N�rubyru���)r=���r<���generateImpliedEndTagsr|���r?���rK���r}���r����r����r(���r(���r)����startTagRpRt���s ���� z+getPhases.<locals>.InBodyPhase.startTagRpRtc�����������������S���sZ���|�j�����|�j�|��|�j�|��td�|d<�|�j��|��|d�rV|�j�j����d|d<�d�S�)Nrg���ri���rz���Tr{���) r=���r-��rK���r���r���r���r����r|���r����r����r(���r(���r)����startTagMath���s���� z+getPhases.<locals>.InBodyPhase.startTagMathc�����������������S���sZ���|�j�����|�j�|��|�j�|��td�|d<�|�j��|��|d�rV|�j�j����d|d<�d�S�)Nrx���ri���rz���Tr{���) r=���r-��rK���r���r���r���r����r|���r����r����r(���r(���r)����startTagSvg��s���� z*getPhases.<locals>.InBodyPhase.startTagSvgc�����������������S���s���|�j��dd|d�i��dS�)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" zunexpected-start-tag-ignoredr?���Nr����r����r(���r(���r)����startTagMisplaced��s����z0getPhases.<locals>.InBodyPhase.startTagMisplacedc�����������������S���s���|�j�����|�j��|��d�S�r-���)r=���r-��r����r����r(���r(���r)���r������s���� z,getPhases.<locals>.InBodyPhase.startTagOtherc�����������������S���s����|�j�jddd�sD|��tdd���|�j�dddi��|��tdd���nT|�j��d��|�j�jd�j dkrt|�j�dddi��|�j�j� ��}|j dkr�|�j�j� ��}q�d�S�) Nr'���r9��r:��rq���r��r?���rr���ru���)r=���r<��r>��r����rK���r}���r=��rr��r|���r?���r����r���r(���r(���r)���r=����s���� z&getPhases.<locals>.InBodyPhase.endTagPc�����������������S���s~���|�j��d�s|�j����d�S�|�j�jd�jdkrj|�j�jdd���D�],}|jtd�vr<|�j�dd|jd����qjq<|�jjd�|�j_d�S�)Nr����ru�������)r&��r'��r(���optgrouprm��r'����rp�rtr����r����r����r����r����r����r����r�����$expected-one-end-tag-but-got-another�ZgotNameZexpectedName� afterBody) r=���r<��rK���r}���r|���r?���r����rH���r_���r���r(���r(���r)���� endTagBody)��s���� �z)getPhases.<locals>.InBodyPhase.endTagBodyc�����������������S���s"���|�j��d�r|��td���|S�d�S�)Nr����)r=���r<��r~��r����r����r(���r(���r)���� endTagHtml;��s����z)getPhases.<locals>.InBodyPhase.endTagHtmlc�����������������S���s����|d�dkr|�j�|�_|�j�|d��}|r2|�j����|�jjd�j|d�kr^|�j�dd|d�i��|r�|�jj� ��}|j|d�kr�|�jj� ��}qnd�S�)Nr?���r*��ru����end-tag-too-early) r��r����r=���r<��rr��r|���r?���rK���r}���r����)rB���r����ZinScoper����r(���r(���r)����endTagBlockA��s���� z*getPhases.<locals>.InBodyPhase.endTagBlockc�����������������S���sv���|�j�j}d�|�j�_|d�u�s$|�j��|�s8|�j�dddi��n:|�j�����|�j�jd�|krd|�j�dddi��|�j�j�|��d�S�)Nr��r?���r@��ru���zend-tag-too-early-ignored)r=���rA��r<��rK���r}���rr��r|���r��r���r(���r(���r)���� endTagFormO��s����� �z)getPhases.<locals>.InBodyPhase.endTagFormc�����������������S���s����|d�dkrd}nd�}|�j�j|d�|d�sB|�j�dd|d�i��nf|�j�j|d�d��|�j�jd�j|d�kr�|�j�dd|d�i��|�j�j���}|j|d�kr�|�j�j���}q�d�S�) Nr?���r(���listr:��r���Zexcluderu���r���)r=���r<��rK���r}���rr��r|���r?���r����)rB���r����r;��r����r(���r(���r)����endTagListItem\��s���� �z-getPhases.<locals>.InBodyPhase.endTagListItemc�����������������S���s����t�D�]}|�j�|�r|�j�����q$q|�jjd�j|d�krP|�j�dd|d�i��t�D�]8}|�j�|�rT|�jj���}|jt�vr�|�jj���}qp�q�qTd�S�)Nru���r?���r���) r���r=���r<��rr��r|���r?���rK���r}���r����)rB���r�����itemr(���r(���r)���� endTagHeadingm��s���� z,getPhases.<locals>.InBodyPhase.endTagHeadingc�����������������S���s��d}|dk��r |d7�}|�j��|d��}|rD||�j�jv�rR|�j��|j�sR|��|��dS�||�j�jvr�|�j�dd|d�i��|�j�j� |��dS�|�j��|j�s�|�j�dd|d�i��dS�||�j�jd�kr�|�j�d d|d�i��|�j�j� |�}d}|�j�j|d��D�]}|jtv�r�|}��qq�|du��rR|�j�j� ��}||k�r@|�j�j� ��}�q&|�j�j� |��dS�|�j�j|d��}|�j�j� |�}|�} } d}|�j�j� | �}|d k��rX|d7�}|d8�}|�j�j|�} | |�j�jv�r�|�j�j� | ���q�| |k�rސqX| |k�r�|�j�j� | �d�}| ���} | |�j�j|�j�j� | �<�| |�j�j|�j�j� | �<�| } | j�rF| j�| ��| �| ��| } �q�| j�rl| j�| ��|jtd�v��r�|�j����\}}|�| |��n |�| ��|���} |�| ��|�| ��|�j�j� |��|�j�j�|| ��|�j�j� |��|�j�j�|�j�j� |�d�| ��qdS�)z)The much-feared adoption agency algorithmr�������r���r?���Nzadoption-agency-1.2zadoption-agency-4.4ru���zadoption-agency-1.3r#���r����r����r����r����r����)r=���rL��r|���r<��r?���r����rK���r}���r$��r���indexrE��r���r����Z cloneNoder6��r7��ZappendChildr����ZgetTableMisnestedNodePosition�insertBeforeZreparentChildren�insert)rB���r����ZouterLoopCounterZformattingElementZafeIndexZ furthestBlockrm���ZcommonAncestorZbookmarkZlastNoder����ZinnerLoopCounterr���Zcloner6��r���r(���r(���r)���rM��|��s����� � �� ���� �z/getPhases.<locals>.InBodyPhase.endTagFormattingc�����������������S���s����|�j��|d��r|�j�����|�j�jd�j|d�krF|�j�dd|d�i��|�j��|d��r�|�j�j���}|j|d�kr~|�j�j���}qb|�j�����d�S�)Nr?���ru���r���) r=���r<��rr��r|���r?���rK���r}���r�����clearActiveFormattingElements)rB���r����rm���r(���r(���r)����endTagAppletMarqueeObject��s���� z8getPhases.<locals>.InBodyPhase.endTagAppletMarqueeObjectc�����������������S���s@���|�j��dddd���|�j����|�j�tdd���|�jj����d�S�)Nzunexpected-end-tag-treated-asr����z br elementr^��rq���)rK���r}���r=���r-��r����r����r|���r����r����r(���r(���r)���r��+��s����� z'getPhases.<locals>.InBodyPhase.endTagBrc�����������������S���s����|�j�jd�d�d��D�]�}|j|d�krz|�j�j|d�d��|�j�jd�j|d�krb|�j�dd|d�i��|�j�j���|krtqb�q�q|jtv�r|�j�dd|d�i���q�qd�S�)Nru���r?���r���r��) r=���r|���r?���rr��rK���r}���r����rE��r���r���r(���r(���r)���r����2��s���� z*getPhases.<locals>.InBodyPhase.endTagOtherr����) r ��r��r��r ��r��r4���r ��r��r��r����r����)rC���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'��rT���rI��)�b�big�code�em�font�i�s�small�strike�strong�tt�urP��r9��)ZappletZmarquee�objectZxmpr����)Zarear�����embedr]���keygenZwbr)Zparam�sourceZtrackrf��rc��r\��ra��r,��Ziframer��)Znoembedr��r����)ry��rz��)rm��rx��Zmathrx���)r�����colr�����framer����r����r����r����r����r����r����)rC��r���r���r���r9��r���r���Zdialogr���r*���r���r���r���r���r���r���r���r+��r���r���r���r���r*��r���r���r���r'���)r&��r'��r(��)rI��r���r���r���r���r���r���rP��r���r���r���r���r���r���r����)?r8���r9���r:���r����rJ���r"��r%��r����r.��r����r��r5��r��r��r>��r?��rB��rF��rG��rH��rN��rO��rQ��rR��rT��rU��rV��rW��rY��rZ��r[��r`��rh��ri��rk��r����rj��rn��rp��rs��rt��ru��rv��r����r=��r~��r��r���r���r���r���rM��r���r��r����r���r����r����r���r����r����r����� __classcell__r(���)r!��r�����r����r)���r!�����s���� �$������-���r!��c�������������������@���s`���e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z e �g��Zee_ e �defg�Ze e_ dS�) zgetPhases.<locals>.TextPhasec�����������������S���s���|�j��|d���d�S�r����r����r����r(���r(���r)���r�������s����z.getPhases.<locals>.TextPhase.processCharactersc�����������������S���s8���|�j��dd|�jjd�ji��|�jj����|�j�j|�j�_dS�)Nz&expected-named-closing-tag-but-got-eofr?���ru���T)rK���r}���r=���r|���r?���r����r����r_���rA���r(���r(���r)���r�������s�����z'getPhases.<locals>.TextPhase.processEOFc�����������������S���s���d�S�r-���r(���r����r(���r(���r)���r�������s����z*getPhases.<locals>.TextPhase.startTagOtherc�����������������S���s���|�j�j���}|�jj|�j_d�S�r-����r=���r|���r����rK���r����r_���r���r(���r(���r)����endTagScript���s����z)getPhases.<locals>.TextPhase.endTagScriptc�����������������S���s���|�j�j����|�jj|�j_d�S�r-���r���r����r(���r(���r)���r�������s����z(getPhases.<locals>.TextPhase.endTagOtherr ��N)r8���r9���r:���r����r����r����r����r����r���r����r���r����r����r����r����r(���r(���r(���r)���� TextPhase���s��� �r���c���������������� �������s��e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd ��Zd!d"��Zd#d$��Ze�d%��jfd&e fd'efd(efd)e fd*efd+efd,efd-efd.efg �Zee_e�d+efd/efg�Zee_d0S�)1zgetPhases.<locals>.InTablePhasec�����������������S���s$���|�j�jd�jdvr |�j�j����q�d�S�)Nru���)r����r�����r=���r|���r?���r����rA���r(���r(���r)����clearStackToTableContext���s����z8getPhases.<locals>.InTablePhase.clearStackToTableContextc�����������������S���s$���|�j�jd�jdkr |�j�d��n�d�S�)Nru���r����zeof-in-table�r=���r|���r?���rK���r}���rA���r(���r(���r)���r�������s����z*getPhases.<locals>.InTablePhase.processEOFc�����������������S���s4���|�j�j}|�j�jd�|�j�_||�j�j_|�j�j�|��d�S��N�inTableText)rK���r_���rH���r����r�����rB���r����r����r(���r(���r)���r�������s���� z6getPhases.<locals>.InTablePhase.processSpaceCharactersc�����������������S���s4���|�j�j}|�j�jd�|�j�_||�j�j_|�j�j�|��d�S�r���)rK���r_���rH���r����r����r���r(���r(���r)���r�������s���� z1getPhases.<locals>.InTablePhase.processCharactersc�����������������S���s&���d|�j�_|�jjd��|��d|�j�_d�S�)NTr����F)r=����insertFromTablerK���rH���r����r����r(���r(���r)���r�������s����z*getPhases.<locals>.InTablePhase.insertTextc�����������������S���s6���|������|�jj�t��|�j�|��|�jjd�|�j_d�S�)Nr����) r���r=���r$��r����r���r����rK���rH���r_���r����r(���r(���r)����startTagCaption���s����z/getPhases.<locals>.InTablePhase.startTagCaptionc�����������������S���s(���|������|�j�|��|�jjd�|�j_d�S�)Nr�����r���r=���r����rK���rH���r_���r����r(���r(���r)����startTagColgroup���s����z0getPhases.<locals>.InTablePhase.startTagColgroupc�����������������S���s���|���tdd���|S�)Nr����rq���)r���r����r����r(���r(���r)����startTagCol���s����z+getPhases.<locals>.InTablePhase.startTagColc�����������������S���s(���|������|�j�|��|�jjd�|�j_d�S��Nr����r���r����r(���r(���r)����startTagRowGroup���s����z0getPhases.<locals>.InTablePhase.startTagRowGroupc�����������������S���s���|���tdd���|S�)Nr����rq���)r���r����r����r(���r(���r)����startTagImplyTbody���s����z2getPhases.<locals>.InTablePhase.startTagImplyTbodyc�����������������S���s6���|�j��dddd���|�j�j�td���|�j�js2|S�d�S�)NrJ��r����rK��)rK���r}���r_���r����r����rR���r����r(���r(���r)���rV�����s�����z-getPhases.<locals>.InTablePhase.startTagTablec�����������������S���s���|�j�jd��|�S�r��r����r����r(���r(���r)����startTagStyleScript���s����z3getPhases.<locals>.InTablePhase.startTagStyleScriptc�����������������S���sV���d|d�v�rH|d�d���t�dkrH|�j�d��|�j�|��|�jj����n |��|��d�S�)Nr2���rv���rX��z unexpected-hidden-input-in-table) rk���r���rK���r}���r=���r����r|���r����r����r����r(���r(���r)���rY�����s�����z-getPhases.<locals>.InTablePhase.startTagInputc�����������������S���sD���|�j��d��|�jjd�u�r@|�j�|��|�jjd�|�j_|�jj����d�S�)Nzunexpected-form-in-tableru���)rK���r}���r=���rA��r����r|���r����r����r(���r(���r)���rB�����s ����z,getPhases.<locals>.InTablePhase.startTagFormc�����������������S���s<���|�j��dd|d�i��d|�j_|�j�jd��|��d|�j_d�S�)Nz)unexpected-start-tag-implies-table-voodoor?���Tr����F)rK���r}���r=���r���rH���r����r����r(���r(���r)���r�������s����z-getPhases.<locals>.InTablePhase.startTagOtherc�����������������S���s����|�j�jddd�r�|�j�����|�j�jd�jdkrJ|�j�dd|�j�jd�jd���|�j�jd�jdkrj|�j�j����qJ|�j�j����|�j����n |�j����d�S�)Nr����r:��ru���zend-tag-too-early-namedr|��) r=���r<��rr��r|���r?���rK���r}���r����ra���r����r(���r(���r)����endTagTable��s���� ��z+getPhases.<locals>.InTablePhase.endTagTablec�����������������S���s���|�j��dd|d�i��d�S�r��r����r����r(���r(���r)����endTagIgnore��s����z,getPhases.<locals>.InTablePhase.endTagIgnorec�����������������S���s<���|�j��dd|d�i��d|�j_|�j�jd��|��d|�j_d�S�)Nz'unexpected-end-tag-implies-table-voodoor?���Tr����F)rK���r}���r=���r���rH���r����r����r(���r(���r)���r������s����z+getPhases.<locals>.InTablePhase.endTagOtherr����r����r����r����r����r����r����)r����r����r����r����)r��r ��rf��r@��)r����r����r���r����r����r����r����r����r����r����r����N)r8���r9���r:���r����r����r���r����r����r����r����r���r���r���r���r���rV��r���rY��rB��r����r���r���r����r���r����r����r����r����r����r(����r����r(���r)����InTablePhase���sN��� ���r���c�����������������������sZ���e�Zd�ZdZ���fdd�Zdd��Zdd��Zdd ��Zd d��Zdd ��Z dd��Z dd��Z���ZS�)z#getPhases.<locals>.InTableTextPhase)r�����characterTokensc��������������������s&���t���|��j|i�|���d�|�_g�|�_d�S�r-���)r��rJ���r����r���r ��)�InTableTextPhaser����r(���r)���rJ���6��s����z,getPhases.<locals>.InTableTextPhase.__init__c�����������������S���sd���d��dd��|�jD���}tdd��|D���rJtd�|d�}|�jjd��|��n|rZ|�j�|��g�|�_d�S�)Nr����c�����������������S���s���g�|�]}|d���qS�)rv���r(����r>���r���r(���r(���r)���r3��<��rD���zGgetPhases.<locals>.InTableTextPhase.flushCharacters.<locals>.<listcomp>c�����������������S���s���g�|�]}|t�v�qS�r(���r0��r���r(���r(���r)���r3��=��rD���rp���re��r����)�joinr���r4��r���rK���rH���r����r=���)rB���rv���r����r(���r(���r)����flushCharacters;��s����z3getPhases.<locals>.InTableTextPhase.flushCharactersc�����������������S���s���|������|�j|�j_|S�r-����r���r����rK���r_���r����r(���r(���r)���r����D��s���� z2getPhases.<locals>.InTableTextPhase.processCommentc�����������������S���s���|������|�j|�j_dS�r����r���rA���r(���r(���r)���r����I��s���� z.getPhases.<locals>.InTableTextPhase.processEOFc�����������������S���s ���|d�dkrd�S�|�j��|��d�S��Nrv���r/���r���r����r����r(���r(���r)���r����N��s����z5getPhases.<locals>.InTableTextPhase.processCharactersc�����������������S���s���|�j��|��d�S�r-���r���r����r(���r(���r)���r����S��s����z:getPhases.<locals>.InTableTextPhase.processSpaceCharactersc�����������������S���s���|������|�j|�j_|S�r-���r���r����r(���r(���r)���r����X��s���� z3getPhases.<locals>.InTableTextPhase.processStartTagc�����������������S���s���|������|�j|�j_|S�r-���r���r����r(���r(���r)���r����]��s���� z1getPhases.<locals>.InTableTextPhase.processEndTag) r8���r9���r:���r����rJ���r���r����r����r����r����r����r����r���r(���)r���r���r)���r���3��s��� r���c�����������������������s����e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z e�d��jfdefg�Ze e_e�de fdefdefg�Ze e_dS�)z!getPhases.<locals>.InCaptionPhasec�����������������S���s���|�j�jddd��S�)Nr����r����r:���r=���r<��rA���r(���r(���r)����ignoreEndTagCaptionf��s����z5getPhases.<locals>.InCaptionPhase.ignoreEndTagCaptionc�����������������S���s���|�j�jd�����d�S�r�����rK���rH���r����rA���r(���r(���r)���r����i��s����z,getPhases.<locals>.InCaptionPhase.processEOFc�����������������S���s���|�j�jd��|�S�r�����rK���rH���r����r����r(���r(���r)���r����l��s����z3getPhases.<locals>.InCaptionPhase.processCharactersc�����������������S���s0���|�j�����|����}|�j�j�td���|s,|S�d�S��Nr�����rK���r}���r���r_���r����r�����rB���r�����ignoreEndTagr(���r(���r)����startTagTableElemento��s ���� z6getPhases.<locals>.InCaptionPhase.startTagTableElementc�����������������S���s���|�j�jd��|�S�r����r����r����r(���r(���r)���r����w��s����z/getPhases.<locals>.InCaptionPhase.startTagOtherc�����������������S���s����|�����s�|�j����|�jjd�jdkrB|�j�dd|�jjd�jd���|�jjd�jdkrb|�jj����qB|�jj����|�j����|�jj d�|�j_ n |�j����d�S�)Nru���r����r{��r|��r����)r���r=���rr��r|���r?���rK���r}���r����r���rH���r_���r����r(���r(���r)���� endTagCaptionz��s���� �� z/getPhases.<locals>.InCaptionPhase.endTagCaptionc�����������������S���s0���|�j�����|����}|�j�j�td���|s,|S�d�S�r���r���r���r(���r(���r)���r������s ���� z-getPhases.<locals>.InCaptionPhase.endTagTablec�����������������S���s���|�j��dd|d�i��d�S�r��r����r����r(���r(���r)���r������s����z.getPhases.<locals>.InCaptionPhase.endTagIgnorec�����������������S���s���|�j�jd��|�S�r�����rK���rH���r����r����r(���r(���r)���r�������s����z-getPhases.<locals>.InCaptionPhase.endTagOtherr����� r����r���r����r����r����r����r����r����r����r����r����) r����r���r����r����r����r����r����r����r����r����N)r8���r9���r:���r����r����r���r����r����r���r����r���r���r���r����r���r����r����r����r����r����r(���r���r(���r)����InCaptionPhaseb��s2�������r���c�����������������������s����e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Ze �d��jfdefg�Ze e_e �de fdefg�Zee_dS�)z%getPhases.<locals>.InColumnGroupPhasec�����������������S���s���|�j�jd�jdkS�)Nru���r����)r=���r|���r?���rA���r(���r(���r)����ignoreEndTagColgroup���s����z:getPhases.<locals>.InColumnGroupPhase.ignoreEndTagColgroupc�����������������S���s8���|�j�jd�jdkrd�S�|����}|��td���|s4dS�d�S�)Nru���r����r����T)r=���r|���r?���r����endTagColgroupr����)rB���r���r(���r(���r)���r�������s����z0getPhases.<locals>.InColumnGroupPhase.processEOFc�����������������S���s"���|�����}|��td���|s|S�d�S��Nr�����r���r���r����r���r(���r(���r)���r�������s����z7getPhases.<locals>.InColumnGroupPhase.processCharactersc�����������������S���s$���|�j��|��|�j�j����d|d<�d�S�r����r����r����r(���r(���r)���r������s����z1getPhases.<locals>.InColumnGroupPhase.startTagColc�����������������S���s"���|�����}|��td���|s|S�d�S�r���r���r���r(���r(���r)���r�������s����z3getPhases.<locals>.InColumnGroupPhase.startTagOtherc�����������������S���s4���|�����r|�j����n|�jj����|�jjd�|�j_d�S��Nr����)r���rK���r}���r=���r|���r����rH���r_���r����r(���r(���r)���r������s����z4getPhases.<locals>.InColumnGroupPhase.endTagColgroupc�����������������S���s���|�j��dddi��d�S�)Nz no-end-tagr?���r���r����r����r(���r(���r)���� endTagCol���s����z/getPhases.<locals>.InColumnGroupPhase.endTagColc�����������������S���s"���|�����}|��td���|s|S�d�S�r���r���r���r(���r(���r)���r�������s����z1getPhases.<locals>.InColumnGroupPhase.endTagOtherr����r���r����N)r8���r9���r:���r����r����r���r����r����r���r����r���r���r����r���r����r����r����r����r����r(���r���r(���r)����InColumnGroupPhase���s&��� ��r���c�����������������������s����e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z dd��Zdd��Zdd��Ze�d��jfde fde fdefg�Zee_e�de fdefdefg�Zee_d S�)!z#getPhases.<locals>.InTableBodyPhasec�����������������S���s6���|�j�jd�jdvr |�j�j����q�|�j�jd�jdkr2d�S�)Nru���)r����r����r����r����r����r���rA���r(���r(���r)����clearStackToTableBodyContext���s����z@getPhases.<locals>.InTableBodyPhase.clearStackToTableBodyContextc�����������������S���s���|�j�jd�����d�S�r���r���rA���r(���r(���r)���r�������s����z.getPhases.<locals>.InTableBodyPhase.processEOFc�����������������S���s���|�j�jd��|�S�r���r��r����r(���r(���r)���r�������s����z:getPhases.<locals>.InTableBodyPhase.processSpaceCharactersc�����������������S���s���|�j�jd��|�S�r���r���r����r(���r(���r)���r�������s����z5getPhases.<locals>.InTableBodyPhase.processCharactersc�����������������S���s(���|������|�j�|��|�jjd�|�j_d�S�)Nr����)r���r=���r����rK���rH���r_���r����r(���r(���r)���� startTagTr���s����z.getPhases.<locals>.InTableBodyPhase.startTagTrc�����������������S���s*���|�j��dd|d�i��|��tdd���|S�)Nzunexpected-cell-in-table-bodyr?���r����rq���)rK���r}���r���r����r����r(���r(���r)����startTagTableCell��s ���� �z5getPhases.<locals>.InTableBodyPhase.startTagTableCellc�����������������S���sb���|�j�jddd�s0|�j�jddd�s0|�j�jddd�rT|�����|��t|�j�jd�j���|S�|�j����d�S��Nr����r����r:��r����r����ru���� r=���r<��r����endTagTableRowGroupr����r|���r?���rK���r}���r����r(���r(���r)����startTagTableOther��s�������z6getPhases.<locals>.InTableBodyPhase.startTagTableOtherc�����������������S���s���|�j�jd��|�S�r���r����r����r(���r(���r)���r������s����z1getPhases.<locals>.InTableBodyPhase.startTagOtherc�����������������S���sT���|�j�j|d�dd�r:|�����|�j�j����|�jjd�|�j_n|�j�dd|d�i��d�S�)Nr?���r����r:��r����� unexpected-end-tag-in-table-body) r=���r<��r���r|���r����rK���rH���r_���r}���r����r(���r(���r)���r�����s���� �z7getPhases.<locals>.InTableBodyPhase.endTagTableRowGroupc�����������������S���sb���|�j�jddd�s0|�j�jddd�s0|�j�jddd�rT|�����|��t|�j�jd�j���|S�|�j����d�S�r���r���r����r(���r(���r)���r���%��s�������z/getPhases.<locals>.InTableBodyPhase.endTagTablec�����������������S���s���|�j��dd|d�i��d�S�)Nr���r?���r����r����r(���r(���r)���r���2��s���� �z0getPhases.<locals>.InTableBodyPhase.endTagIgnorec�����������������S���s���|�j�jd��|�S�r���r���r����r(���r(���r)���r����6��s����z/getPhases.<locals>.InTableBodyPhase.endTagOtherr����r�����r����r����)r����r���r����r����r����r����r���r����)r����r����r���r����r����r����r����r����N)r8���r9���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)����InTableBodyPhase���s<��� ����r���c�����������������������s����e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd��Ze�d��jfde fdefg�Zee_e�de fdefd efd!efg�Zee_d"S�)#zgetPhases.<locals>.InRowPhasec�����������������S���s@���|�j�jd�jdvr<|�j�dd|�j�jd�ji��|�j�j����q�d�S�)Nru���)r����r����z'unexpected-implied-end-tag-in-table-rowr?���)r=���r|���r?���rK���r}���r����rA���r(���r(���r)����clearStackToTableRowContextO��s �����z9getPhases.<locals>.InRowPhase.clearStackToTableRowContextc�����������������S���s���|�j�jddd��S�)Nr����r����r:��r���rA���r(���r(���r)����ignoreEndTagTrU��s����z,getPhases.<locals>.InRowPhase.ignoreEndTagTrc�����������������S���s���|�j�jd�����d�S�r���r���rA���r(���r(���r)���r����Y��s����z(getPhases.<locals>.InRowPhase.processEOFc�����������������S���s���|�j�jd��|�S�r���r��r����r(���r(���r)���r����\��s����z4getPhases.<locals>.InRowPhase.processSpaceCharactersc�����������������S���s���|�j�jd��|�S�r���r���r����r(���r(���r)���r����_��s����z/getPhases.<locals>.InRowPhase.processCharactersc�����������������S���s6���|������|�j�|��|�jjd�|�j_|�jj�t��d�S�)Nr����) r���r=���r����rK���rH���r_���r$��r����r���r����r(���r(���r)���r���b��s����z/getPhases.<locals>.InRowPhase.startTagTableCellc�����������������S���s"���|�����}|��td���|s|S�d�S��Nr�����r����endTagTrr����r���r(���r(���r)���r���h��s����z0getPhases.<locals>.InRowPhase.startTagTableOtherc�����������������S���s���|�j�jd��|�S�r���r����r����r(���r(���r)���r����o��s����z+getPhases.<locals>.InRowPhase.startTagOtherc�����������������S���s<���|�����s.|�����|�jj����|�jjd�|�j_n |�j����d�S�r���) r���r���r=���r|���r����rK���rH���r_���r}���r����r(���r(���r)���r���r��s ����z&getPhases.<locals>.InRowPhase.endTagTrc�����������������S���s"���|�����}|��td���|s|S�d�S�r���r���r���r(���r(���r)���r���|��s����z)getPhases.<locals>.InRowPhase.endTagTablec�����������������S���s4���|�j�j|d�dd�r&|��td���|S�|�j����d�S�)Nr?���r����r:��r����)r=���r<��r���r����rK���r}���r����r(���r(���r)���r������s����z1getPhases.<locals>.InRowPhase.endTagTableRowGroupc�����������������S���s���|�j��dd|d�i��d�S�)Nzunexpected-end-tag-in-table-rowr?���r����r����r(���r(���r)���r������s���� �z*getPhases.<locals>.InRowPhase.endTagIgnorec�����������������S���s���|�j�jd��|�S�r���r���r����r(���r(���r)���r�������s����z)getPhases.<locals>.InRowPhase.endTagOtherr����r���)r����r���r����r����r����r����r����r����r����r���)r����r����r���r����r����r����r����N)r8���r9���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)���� InRowPhaseJ��s>��� ����r���c�����������������������s����e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z e�d��jfdefg�Ze e_e�de fdefdefg�Ze e_dS�)zgetPhases.<locals>.InCellPhasec�����������������S���sB���|�j�jddd�r |��td���n|�j�jddd�r>|��td���d�S��Nr����r����r:��r����)r=���r<���endTagTableCellr����rA���r(���r(���r)���� closeCell���s����z(getPhases.<locals>.InCellPhase.closeCellc�����������������S���s���|�j�jd�����d�S�r����r���rA���r(���r(���r)���r�������s����z)getPhases.<locals>.InCellPhase.processEOFc�����������������S���s���|�j�jd��|�S�r����r���r����r(���r(���r)���r�������s����z0getPhases.<locals>.InCellPhase.processCharactersc�����������������S���s:���|�j�jddd�s |�j�jddd�r,|�����|S�|�j����d�S�r����r=���r<��r���rK���r}���r����r(���r(���r)���r������s�����z1getPhases.<locals>.InCellPhase.startTagTableOtherc�����������������S���s���|�j�jd��|�S�r����r����r����r(���r(���r)���r�������s����z,getPhases.<locals>.InCellPhase.startTagOtherc�����������������S���s����|�j�j|d�dd�r�|�j��|d���|�j�jd�j|d�krp|�j�dd|d�i��|�j�j���}|j|d�krPq|qPn|�j�j����|�j�����|�jj d�|�j_ n|�j�dd|d�i��d�S�)Nr?���r����r:��ru���zunexpected-cell-end-tagr����r��)r=���r<��rr��r|���r?���rK���r}���r����r���rH���r_���r���r(���r(���r)���r������s���� � z.getPhases.<locals>.InCellPhase.endTagTableCellc�����������������S���s���|�j��dd|d�i��d�S�r��r����r����r(���r(���r)���r������s����z+getPhases.<locals>.InCellPhase.endTagIgnorec�����������������S���s.���|�j�j|d�dd�r |�����|S�|�j����d�S�)Nr?���r����r:��r���r����r(���r(���r)����endTagImply���s����z*getPhases.<locals>.InCellPhase.endTagImplyc�����������������S���s���|�j�jd��|�S�r����r���r����r(���r(���r)���r�������s����z*getPhases.<locals>.InCellPhase.endTagOtherr����r���r���)r����r����r���r����r����r���N)r8���r9���r:���r����r����r���r����r����r���r����r���r���r���r����r���r����r����r����r����r����r(���r���r(���r)����InCellPhase���s.��� ���r���c���������������� �������s����e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z dd��Zdd��Zdd��Ze�d��jfdefdefde fde fdefg�Zee_e�de fdefdefg�Zee_dS�) z getPhases.<locals>.InSelectPhasec�����������������S���s$���|�j�jd�jdkr |�j�d��n�d�S�)Nru���r����z eof-in-selectr���rA���r(���r(���r)���r�������s����z+getPhases.<locals>.InSelectPhase.processEOFc�����������������S���s$���|d�dkrd�S�|�j��|d���d�S�r���r����r����r(���r(���r)���r�������s����z2getPhases.<locals>.InSelectPhase.processCharactersc�����������������S���s.���|�j�jd�jdkr|�j�j����|�j��|��d�S�rl���r=���r|���r?���r����r����r����r(���r(���r)����startTagOption���s����z/getPhases.<locals>.InSelectPhase.startTagOptionc�����������������S���sL���|�j�jd�jdkr|�j�j����|�j�jd�jdkr<|�j�j����|�j��|��d�S�)Nru���rm��rx��r���r����r(���r(���r)����startTagOptgroup ��s ����z1getPhases.<locals>.InSelectPhase.startTagOptgroupc�����������������S���s���|�j��d��|��td���d�S�)Nzunexpected-select-in-selectr����)rK���r}����endTagSelectr����r����r(���r(���r)���rp�� ��s����z/getPhases.<locals>.InSelectPhase.startTagSelectc�����������������S���s2���|�j��d��|�jjddd�r.|��td���|S�d�S�)Nzunexpected-input-in-selectr����r:��)rK���r}���r=���r<��r��r����r����r(���r(���r)���rY�� ��s ����z.getPhases.<locals>.InSelectPhase.startTagInputc�����������������S���s���|�j�jd��|�S�r��r����r����r(���r(���r)���r���� ��s����z/getPhases.<locals>.InSelectPhase.startTagScriptc�����������������S���s���|�j��dd|d�i��d�S�)Nzunexpected-start-tag-in-selectr?���r����r����r(���r(���r)���r���� ��s���� �z.getPhases.<locals>.InSelectPhase.startTagOtherc�����������������S���s6���|�j�jd�jdkr |�j�j����n|�j�dddi��d�S�)Nru���rm���unexpected-end-tag-in-selectr?����r=���r|���r?���r����rK���r}���r����r(���r(���r)����endTagOption ��s �����z-getPhases.<locals>.InSelectPhase.endTagOptionc�����������������S���sf���|�j�jd�jdkr0|�j�jd�jdkr0|�j�j����|�j�jd�jdkrP|�j�j����n|�j�dddi��d�S�)Nru���rm�����rx��r��r?���r��r����r(���r(���r)����endTagOptgroup% ��s������z/getPhases.<locals>.InSelectPhase.endTagOptgroupc�����������������S���sN���|�j�jddd�r@|�j�j���}|jdkr4|�j�j���}q|�j����n |�j����d�S�)Nr����r:��)r=���r<��r|���r����r?���rK���ra���r}���r���r(���r(���r)���r��2 ��s���� z-getPhases.<locals>.InSelectPhase.endTagSelectc�����������������S���s���|�j��dd|d�i��d�S�)Nr��r?���r����r����r(���r(���r)���r����= ��s���� �z,getPhases.<locals>.InSelectPhase.endTagOtherr����rm��rx��r����)rf��r���r,��r ��N)r8���r9���r:���r����r����r����r����r��r��rp��rY��r����r����r��r��r��r����r���r����r����r����r����r����r(���r���r(���r)���� InSelectPhase���s8��� ��r ��c�������������������@���sn���e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z e�d efg�Z ee _e�d e fg�Ze e_dS�)z'getPhases.<locals>.InSelectInTablePhasec�����������������S���s���|�j�jd�����d�S��Nr����r���rA���r(���r(���r)���r����U ��s����z2getPhases.<locals>.InSelectInTablePhase.processEOFc�����������������S���s���|�j�jd��|�S�r ��r���r����r(���r(���r)���r����X ��s����z9getPhases.<locals>.InSelectInTablePhase.processCharactersc�����������������S���s(���|�j��dd|d�i��|��td���|S�)Nz5unexpected-table-element-start-tag-in-select-in-tabler?���r����)rK���r}���r����r����r����r(���r(���r)���rV��[ ��s����z5getPhases.<locals>.InSelectInTablePhase.startTagTablec�����������������S���s���|�j�jd��|�S�r ��r����r����r(���r(���r)���r����` ��s����z5getPhases.<locals>.InSelectInTablePhase.startTagOtherc�����������������S���s@���|�j��dd|d�i��|�jj|d�dd�r<|��td���|S�d�S�)Nz3unexpected-table-element-end-tag-in-select-in-tabler?���r����r:��r����)rK���r}���r=���r<��r����r����r����r(���r(���r)���r���c ��s����z3getPhases.<locals>.InSelectInTablePhase.endTagTablec�����������������S���s���|�j�jd��|�S�r ��r���r����r(���r(���r)���r����i ��s����z3getPhases.<locals>.InSelectInTablePhase.endTagOther)r����r����r����r����r����r����r����r����N)r8���r9���r:���r����r����r����r����rV��r����r���r����r���r����r����r����r����r(���r(���r(���r)����InSelectInTablePhaseR ��s&�������r��c�����������������������sB���e�Zd�Ze��Zeg�d��Zdd��Z��fdd�Zdd��Z dd ��Z d S�)z(getPhases.<locals>.InForeignContentPhase),r���r���r���r����r����r���r���r&��r*���r���r'��r���r���Zh1Zh2Zh3Zh4Zh5Zh6r����rc��r���r]��r(��r+��r���r4���rP��r���r'���r*��rq��r���r����spanr���r����sub�supr����r���r���r����varc��������������%���S���sn���ddddddddd d ddd ddddddddddddddddddd d!d"d#d$d%�$}|d&�|v�rj||d&��|d&<�d�S�)'NZaltGlyphZaltGlyphDefZaltGlyphItemZanimateColorZ animateMotionZanimateTransformZclipPathZfeBlendZ feColorMatrixZfeComponentTransferZfeCompositeZfeConvolveMatrixZfeDiffuseLightingZfeDisplacementMapZfeDistantLightZfeFloodZfeFuncAZfeFuncBZfeFuncGZfeFuncRZfeGaussianBlurZfeImageZfeMergeZfeMergeNodeZfeMorphologyZfeOffsetZfePointLightZfeSpecularLightingZfeSpotLightZfeTileZfeTurbulenceZ foreignObjectZglyphRefZlinearGradientZradialGradientZtextPath)$ZaltglyphZaltglyphdefZaltglyphitemZanimatecolorZ animatemotionZanimatetransformZclippathZfeblendZ fecolormatrixZfecomponenttransferZfecompositeZfeconvolvematrixZfediffuselightingZfedisplacementmapZfedistantlightZfefloodZfefuncaZfefuncbZfefuncgZfefuncrZfegaussianblurZfeimageZfemergeZfemergenodeZfemorphologyZfeoffsetZfepointlightZfespecularlightingZfespotlightZfetileZfeturbulenceZ foreignobjectZglyphrefZlineargradientZradialgradientZtextpathr?���r(���)rB���r�����replacementsr(���r(���r)����adjustSVGTagNames� ��sN�����%z:getPhases.<locals>.InForeignContentPhase.adjustSVGTagNamesc��������������������sL���|d�dkrd|d<�n&|�j�jr<tdd��|d�D���r<d|�j�_���|�|��d�S�)Nrv���r/��u����c�����������������s���s���|�]}|t�vV��qd�S�r-���r0��r1��r(���r(���r)���� <genexpr>� ��rD���zMgetPhases.<locals>.InForeignContentPhase.processCharacters.<locals>.<genexpr>F)rK���rb���r4��r����r����r���r(���r)���r����� ��s���� �z:getPhases.<locals>.InForeignContentPhase.processCharactersc�����������������S���s(��|�j�jd�}|d�|�jv�s>|d�dkr�t|d�����h�d�@�r�|�j�dd|d�i��|�j�jd�j|�j�jkr�|�j� |�j�jd��s�|�j� |�j�jd��s�|�j�j����qT|S�|jtd�kr�|�j� |��n$|jtd�kr�|��|��|�j�|��|�j�|��|j|d <�|�j��|��|d ��r$|�j�j����d|d<�d�S�) Nru���r?���r���rv���>���ZcolorZface�sizez*unexpected-html-element-in-foreign-contentrg���rx���ri���rz���Tr{���)r=���r|����breakoutElements�set�keysrK���r}���ri���r����rn���ro���r����r���r���r��r���r���r����)rB���r����r����r(���r(���r)���r����� ��s:���� �� ���� z8getPhases.<locals>.InForeignContentPhase.processStartTagc�����������������S���s����t�|�jj�d�}|�jjd�}|j�t�|d�krF|�j�dd|d�i��|j�t�|d�kr�|�jj|�jj d�kr�|�jj� ���|�jjj|�j_|�jj���|kr�q�d�}q�|d8�}|�jj|�}|j |�jjkr�qFqF|�jj�|�}q�qF|S�)Nr���ru���r?���r��r���)r���r=���r|���r?���rk���r���rK���r}���r_���rH���r���r����r����ri���r����r����)rB���r����Z nodeIndexr����r����r(���r(���r)���r����� ��s&����z6getPhases.<locals>.InForeignContentPhase.processEndTagN)r8���r9���r:���r����r����r����r��r��r����r����r����r(���r���r(���r)����InForeignContentPhasex ��s��� )r��c�������������������@���sv���e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Ze� defg�Ze e_e� de fg�Zee_dS�)z!getPhases.<locals>.AfterBodyPhasec�����������������S���s���d�S�r-���r(���rA���r(���r(���r)���r����� ��s����z,getPhases.<locals>.AfterBodyPhase.processEOFc�����������������S���s���|�j��||�j�jd���d�S�)Nr���r����r����r(���r(���r)���r����� ��s����z0getPhases.<locals>.AfterBodyPhase.processCommentc�����������������S���s ���|�j��d��|�j�jd�|�j�_|S�)Nzunexpected-char-after-bodyr�����rK���r}���rH���r_���r����r(���r(���r)���r����� ��s����z3getPhases.<locals>.AfterBodyPhase.processCharactersc�����������������S���s���|�j�jd��|�S�r����r����r����r(���r(���r)���r����� ��s����z.getPhases.<locals>.AfterBodyPhase.startTagHtmlc�����������������S���s*���|�j��dd|d�i��|�j�jd�|�j�_|S�)Nzunexpected-start-tag-after-bodyr?���r����r��r����r(���r(���r)���r����� ��s ���� �z/getPhases.<locals>.AfterBodyPhase.startTagOtherc�����������������S���s*���|�j�jr|�j��d��n|�j�jd�|�j�_d�S�)Nz'unexpected-end-tag-after-body-innerhtml�afterAfterBody)rK���rR���r}���rH���r_���)rB���r?���r(���r(���r)���r�� ��s����z,getPhases.<locals>.AfterBodyPhase.endTagHtmlc�����������������S���s*���|�j��dd|d�i��|�j�jd�|�j�_|S�)Nzunexpected-end-tag-after-bodyr?���r����r��r����r(���r(���r)���r���� ��s ���� �z-getPhases.<locals>.AfterBodyPhase.endTagOtherr����N)r8���r9���r:���r����r����r����r����r����r����r����r��r����r���r����r����r����r����r(���r(���r(���r)����AfterBodyPhase� ��s����r��c�����������������������s����e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Ze �d��jfdefdefde fg�Ze e_e �defg�Zee_dS�)z"getPhases.<locals>.InFramesetPhasec�����������������S���s$���|�j�jd�jdkr |�j�d��n�d�S�)Nru���r����zeof-in-framesetr���rA���r(���r(���r)���r���� ��s����z-getPhases.<locals>.InFramesetPhase.processEOFc�����������������S���s���|�j��d��d�S�)Nzunexpected-char-in-framesetr����r����r(���r(���r)���r����" ��s����z4getPhases.<locals>.InFramesetPhase.processCharactersc�����������������S���s���|�j��|��d�S�r-���)r=���r����r����r(���r(���r)���r��% ��s����z3getPhases.<locals>.InFramesetPhase.startTagFramesetc�����������������S���s���|�j��|��|�j�j����d�S�r-���r����r����r(���r(���r)���� startTagFrame( ��s����z0getPhases.<locals>.InFramesetPhase.startTagFramec�����������������S���s���|�j�jd��|�S�r����r����r����r(���r(���r)����startTagNoframes, ��s����z3getPhases.<locals>.InFramesetPhase.startTagNoframesc�����������������S���s���|�j��dd|d�i��d�S�)Nz unexpected-start-tag-in-framesetr?���r����r����r(���r(���r)���r����/ ��s���� �z0getPhases.<locals>.InFramesetPhase.startTagOtherc�����������������S���sZ���|�j�jd�jdkr |�j�d��n|�j�j����|�jjsV|�j�jd�jdkrV|�jjd�|�j_d�S�)Nru���r����z)unexpected-frameset-in-frameset-innerhtmlr����� afterFrameset) r=���r|���r?���rK���r}���r����rR���rH���r_���r����r(���r(���r)����endTagFrameset3 ��s�����z1getPhases.<locals>.InFramesetPhase.endTagFramesetc�����������������S���s���|�j��dd|d�i��d�S�)Nzunexpected-end-tag-in-framesetr?���r����r����r(���r(���r)���r����? ��s���� �z.getPhases.<locals>.InFramesetPhase.endTagOtherr����r����r���r��N)r8���r9���r:���r����r����r����r����r��r��r��r����r��r����r���r����r����r����r����r����r(���r���r(���r)����InFramesetPhase ��s(�����r��c�����������������������sv���e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z e�d ��j fdefg�Zee_e�d e fg�Ze e_dS�)z%getPhases.<locals>.AfterFramesetPhasec�����������������S���s���d�S�r-���r(���rA���r(���r(���r)���r����T ��s����z0getPhases.<locals>.AfterFramesetPhase.processEOFc�����������������S���s���|�j��d��d�S�)Nzunexpected-char-after-framesetr����r����r(���r(���r)���r����X ��s����z7getPhases.<locals>.AfterFramesetPhase.processCharactersc�����������������S���s���|�j�jd��|�S�r��r����r����r(���r(���r)���r��[ ��s����z6getPhases.<locals>.AfterFramesetPhase.startTagNoframesc�����������������S���s���|�j��dd|d�i��d�S�)Nz#unexpected-start-tag-after-framesetr?���r����r����r(���r(���r)���r����^ ��s���� �z3getPhases.<locals>.AfterFramesetPhase.startTagOtherc�����������������S���s���|�j�jd�|�j�_d�S�)N�afterAfterFrameset)rK���rH���r_���r����r(���r(���r)���r��b ��s����z0getPhases.<locals>.AfterFramesetPhase.endTagHtmlc�����������������S���s���|�j��dd|d�i��d�S�)Nz!unexpected-end-tag-after-framesetr?���r����r����r(���r(���r)���r����e ��s���� �z1getPhases.<locals>.AfterFramesetPhase.endTagOtherr����r��N)r8���r9���r:���r����r����r����r����r��r����r��r����r���r����r����r����r����r����r(���r���r(���r)����AfterFramesetPhaseP ��s �����r!��c�������������������@���s`���e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Ze� de fg�Ze e_dS�)z&getPhases.<locals>.AfterAfterBodyPhasec�����������������S���s���d�S�r-���r(���rA���r(���r(���r)���r����w ��s����z1getPhases.<locals>.AfterAfterBodyPhase.processEOFc�����������������S���s���|�j��||�j�j��d�S�r-���r����r����r(���r(���r)���r����z ��s����z5getPhases.<locals>.AfterAfterBodyPhase.processCommentc�����������������S���s���|�j�jd��|�S�r����r��r����r(���r(���r)���r����} ��s����z=getPhases.<locals>.AfterAfterBodyPhase.processSpaceCharactersc�����������������S���s ���|�j��d��|�j�jd�|�j�_|S�)N�expected-eof-but-got-charr����r��r����r(���r(���r)���r����� ��s����z8getPhases.<locals>.AfterAfterBodyPhase.processCharactersc�����������������S���s���|�j�jd��|�S�r����r����r����r(���r(���r)���r����� ��s����z3getPhases.<locals>.AfterAfterBodyPhase.startTagHtmlc�����������������S���s*���|�j��dd|d�i��|�j�jd�|�j�_|S�)N�expected-eof-but-got-start-tagr?���r����r��r����r(���r(���r)���r����� ��s ���� �z4getPhases.<locals>.AfterAfterBodyPhase.startTagOtherc�����������������S���s*���|�j��dd|d�i��|�j�jd�|�j�_|S�)N�expected-eof-but-got-end-tagr?���r����r��r����r(���r(���r)���r����� ��s ���� �z4getPhases.<locals>.AfterAfterBodyPhase.processEndTagr����N)r8���r9���r:���r����r����r����r����r����r����r����r����r����r���r����r����r����r(���r(���r(���r)����AfterAfterBodyPhaset ��s����r%��c�������������������@���sn���e�Zd�Ze��Zdd��Zdd��Zdd��Zdd��Zd d ��Z dd��Z d d��Zdd��Ze �de fde fg�Zee_dS�)z*getPhases.<locals>.AfterAfterFramesetPhasec�����������������S���s���d�S�r-���r(���rA���r(���r(���r)���r����� ��s����z5getPhases.<locals>.AfterAfterFramesetPhase.processEOFc�����������������S���s���|�j��||�j�j��d�S�r-���r����r����r(���r(���r)���r����� ��s����z9getPhases.<locals>.AfterAfterFramesetPhase.processCommentc�����������������S���s���|�j�jd��|�S�r����r��r����r(���r(���r)���r����� ��s����zAgetPhases.<locals>.AfterAfterFramesetPhase.processSpaceCharactersc�����������������S���s���|�j��d��d�S�)Nr"��r����r����r(���r(���r)���r����� ��s����z<getPhases.<locals>.AfterAfterFramesetPhase.processCharactersc�����������������S���s���|�j�jd��|�S�r����r����r����r(���r(���r)���r����� ��s����z7getPhases.<locals>.AfterAfterFramesetPhase.startTagHtmlc�����������������S���s���|�j�jd��|�S�r��r����r����r(���r(���r)����startTagNoFrames� ��s����z;getPhases.<locals>.AfterAfterFramesetPhase.startTagNoFramesc�����������������S���s���|�j��dd|d�i��d�S�)Nr#��r?���r����r����r(���r(���r)���r����� ��s���� �z8getPhases.<locals>.AfterAfterFramesetPhase.startTagOtherc�����������������S���s���|�j��dd|d�i��d�S�)Nr$��r?���r����r����r(���r(���r)���r����� ��s���� �z8getPhases.<locals>.AfterAfterFramesetPhase.processEndTagr����r��N)r8���r9���r:���r����r����r����r����r����r����r����r&��r����r����r���r����r����r����r(���r(���r(���r)����AfterAfterFramesetPhase� ��s����r'��)rV���rU���r����r����r����r����r����r����r����r���r����r����r����r����r����r����ro��ry���r}��r����r��r��r ��)r���)rI���rX���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)���rG������sr����H�%-f?B�����Y!�/F@bYLc&r.8$%&�rG���c��������������������sF���t�|�d��t����@�}|rBt|�d����fdd�|�d����D���|�d<�d�S�)Nrv���c�����������������3���s"���|�]\}}����||�|fV��qd�S�r-���)r~���)r>����k�v�r��r(���r)���r��� ��s����z$adjust_attributes.<locals>.<genexpr>)r���r2���r.���)r����r��Zneeds_adjustmentr(���r*��r)���r����� ��s ���� �r����rr���Fc�����������������C���s���|d�u�ri�}t�|�|�||d�S�)N)r2���r?���rv���rz���)r���)r?���r2���rj���rz���r(���r(���r)���r����� ��s ���� �r����c�������������������@���s���e�Zd�ZdZdS�)rt���zError in parsed documentN)r8���r9���r:���r����r(���r(���r(���r)���rt���� ��s���rt���)r���T)r*���r���T)rr���NF),Z __future__r���r���r���Zpip._vendor.sixr���r���r0���r����r���r ���r ���Ztreebuilders.baser���r���Z constantsr ���r���r���r���r���r���r���r���r���r���r���r���r����r���r���r���r���r"���r,���r<���r���r!���ZmemoizerG���r����r����� Exceptionrt���r(���r(���r(���r)����<module>���sN���H ��8 ������������������_���