HEX
Server: LiteSpeed
System: Linux server315.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: globfdxw (6114)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/alt/python311/lib64/python3.11/html/__pycache__/parser.cpython-311.pyc
�

�0�irQ��V�dZddlZddlZddlmZdgZejd��Zejd��Zejd��Z	ejd��Z
ejd	��Zejd
��Zejd��Z
ejd��Zejd
��Zejd��Zejdej��Zejdej��Zejdej��Zejd��Zejd��ZGd�dej��ZdS)zA parser for HTML and XHTML.�N)�unescape�
HTMLParserz[&<]z
&[a-zA-Z#]z%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]z)&#(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]z	<[a-zA-Z]z
</[a-zA-Z]�>z--!?>z-?>z0([a-zA-Z][^\t\n\r\f />]*)(?:[\t\n\r\f ]|/(?!>))*a{
  (
    (?<=['"\t\n\r\f /])[^\t\n\r\f />][^\t\n\r\f /=>]*  # attribute name
   )
  ([\t\n\r\f ]*=[\t\n\r\f ]*        # value indicator
    ('[^']*'                        # LITA-enclosed value
    |"[^"]*"                        # LIT-enclosed value
    |(?!['"])[^>\t\n\r\f ]*         # bare value
    )
   )?
  (?:[\t\n\r\f ]|/(?!>))*           # possibly followed by a space
a
  [a-zA-Z][^\t\n\r\f />]*           # tag name
  [\t\n\r\f /]*                     # optional whitespace before attribute name
  (?:(?<=['"\t\n\r\f /])[^\t\n\r\f />][^\t\n\r\f /=>]*  # attribute name
    (?:[\t\n\r\f ]*=[\t\n\r\f ]*    # value indicator
      (?:'[^']*'                    # LITA-enclosed value
        |"[^"]*"                    # LIT-enclosed value
        |(?!['"])[^>\t\n\r\f ]*     # bare value
       )
     )?
    [\t\n\r\f /]*                   # possibly followed by a space
   )*
   >?
aF
  <[a-zA-Z][^\t\n\r\f />\x00]*       # tag name
  (?:[\s/]*                          # optional whitespace before attribute name
    (?:(?<=['"\s/])[^\s/>][^\s/=>]*  # attribute name
      (?:\s*=+\s*                    # value indicator
        (?:'[^']*'                   # LITA-enclosed value
          |"[^"]*"                   # LIT-enclosed value
          |(?!['"])[^>\s]*           # bare value
         )
        \s*                          # possibly followed by a space
       )?(?:\s|/(?!>))*
     )*
   )?
  \s*                                # trailing whitespace
z#</\s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>c���eZdZdZdZdZddd�d�Zd�Zd	�Zd
�Z	dZ
d�Zdd
�d�Zd�Z
d$d�Zd�Zd�Zd$d�Zd%d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd �Zd!�Zd"�Zd#�Z dS)&raEFind tags and other markup and call handler functions.

    Usage:
        p = HTMLParser()
        p.feed(data)
        ...
        p.close()

    Start tags are handled by calling self.handle_starttag() or
    self.handle_startendtag(); end tags by self.handle_endtag().  The
    data between tags is passed from the parser to the derived class
    by calling self.handle_data() with the data as argument (the data
    may be split up in arbitrary chunks).  If convert_charrefs is
    True the character references are converted automatically to the
    corresponding Unicode character (and self.handle_data() is no
    longer split in chunks), otherwise they are passed by calling
    self.handle_entityref() or self.handle_charref() with the string
    containing respectively the named or numeric reference as the
    argument.
    )�script�style�xmp�iframe�noembed�noframes)�textarea�titleTF)�convert_charrefs�	scriptingc�J�||_||_|���dS)azInitialize and reset this instance.

        If convert_charrefs is true (the default), all character references
        are automatically converted to the corresponding Unicode characters.

        If *scripting* is false (the default), the content of the
        ``noscript`` element is parsed normally; if it's true,
        it's returned as is without being parsed.
        N)rr�reset)�selfrrs   �2/opt/alt/python311/lib64/python3.11/html/parser.py�__init__zHTMLParser.__init__vs$��!1���"����
�
������c��d|_d|_t|_d|_d|_d|_tj�	|��dS)z1Reset this instance.  Loses all unprocessed data.�z???NT)
�rawdata�lasttag�interesting_normal�interesting�
cdata_elem�_support_cdata�
_escapable�_markupbase�
ParserBaser�rs rrzHTMLParser.reset�sK��������-������"��������$�$�T�*�*�*�*�*rc�N�|j|z|_|�d��dS)z�Feed data to the parser.

        Call this as often as you want, with as little or as much text
        as you want (may include '\n').
        rN)r�goahead�r�datas  r�feedzHTMLParser.feed�s%���|�d�*������Q�����rc�0�|�d��dS)zHandle any buffered data.�N)r$r"s r�closezHTMLParser.close�s�����Q�����rNc��|jS)z)Return full source of start tag: '<...>'.)�_HTMLParser__starttag_textr"s r�get_starttag_textzHTMLParser.get_starttag_text�s���#�#r��	escapablec��|���|_||_|jdkrtjd��|_dS|rB|js;tjd|jztjtjz��|_dStjd|jztjtjz��|_dS)N�	plaintextz\Zz&|</%s(?=[\t\n\r\f />])z</%s(?=[\t\n\r\f />]))	�lowerrr�re�compilerr�
IGNORECASE�ASCII)r�elemr/s   r�set_cdata_modezHTMLParser.set_cdata_mode�s����*�*�,�,���#����?�k�)�)�!�z�%�0�0�D����
�	B�t�4�	B�!�z�*D�t��*V�*,�-���*@� B� B�D���� "�z�*B�T�_�*T�*,�-���*@� B� B�D���rc�:�t|_d|_d|_dS)NT)rrrrr"s r�clear_cdata_modezHTMLParser.clear_cdata_mode�s��-����������rc��||_dS)aEnable or disable support of the CDATA sections.
        If enabled, "<[CDATA[" starts a CDATA section which ends with "]]>".
        If disabled, "<[CDATA[" starts a bogus comments which ends with ">".

        This method is not called by default. Its purpose is to be called
        in custom handle_starttag() and handle_endtag() methods, with
        value that depends on the adjusted current node.
        See https://html.spec.whatwg.org/multipage/parsing.html#markup-declaration-open-state
        for details.
        N)r)r�flags  r�_set_support_cdatazHTMLParser._set_support_cdata�s��#����rc��
�|j}d}t|��}||k�rS|jr}|jsv|�d|��}|dkrY|�dt
||dz
����}|dkr*tjd���	||��s�n�|}n=|j
�	||��}|r|���}n|jr�n�|}||krV|jr2|jr+|�
t|||�����n|�
|||���|�||��}||kr�n|j}|d|���r�t"�||��r|�|��}	n�|d|��r|�|��}	n�|d|��r|�|��}	nl|d|��r|�|��}	nJ|d	|��r|�|��}	n(|d
z|ks|r|�
d��|d
z}	n�n#|	dk�r�|s�nt"�||��r�n�|d|��r_|dz|kr|�
d���n�t0�||��r�nd|�||dzd����nB|d|��rU|}dD]/}
|�|
|d
z��r|t|
��z}n�0|�||d
z|���n�|d|��r(|jr!|�||dzd���n�|||dz����dkr!|�||dzd���ni|d	|��r!|�||dzd���n<|d|��r!|�||dzd���ntAd���|}	|�||	��}�n-|d|��r�tB�||��}|rq|�"��dd�}|�#|��|�$��}	|d|	d
z
��s|	d
z
}	|�||	��}���d||d�vr9|�
|||dz���|�||dz��}�nS|d|���r5tJ�||��}|rj|�"d
��}|�&|��|�$��}	|d|	d
z
��s|	d
z
}	|�||	��}���tN�||��}|rX|rU|�"��||d�kr5|�$��}	|	|kr|}	|�||d
z��}nJ|d
z|kr/|�
d��|�||d
z��}nnJd���||k��S|rr||krl|jr2|jr+|�
t|||�����n|�
|||���|�||��}||d�|_dS)Nr�<�&�"z[\t\n\r\f ;]�</�<!--�<?�<!r)�)z--!z--�-��	<![CDATA[��	�	<!doctypezwe should not get here!z&#����;zinteresting.search() lied)(r�lenrr�find�rfind�maxr3r4�searchr�startr�handle_datar�	updatepos�
startswith�starttagopen�match�parse_starttag�parse_endtag�
parse_comment�parse_pi�parse_html_declaration�
endtagopen�handle_comment�endswithr�unknown_declr2�handle_decl�	handle_pi�AssertionError�charref�group�handle_charref�end�	entityref�handle_entityref�
incomplete)rrir�i�n�j�ampposrYrW�k�suffix�names            rr$zHTMLParser.goahead�s����,��
����L�L���!�e�e��$�
�T�_�
��L�L��a�(�(���q�5�5�%�]�]�3��A�q��t���=�=�F��!����J��7�7�>�>�w��O�O�$���A���(�/�/���;�;�������
�
�A�A������A��1�u�u��(�3�T�_�3��$�$�X�g�a��c�l�%;�%;�<�<�<�<��$�$�W�Q�q�S�\�2�2�2����q�!�$�$�A��A�v�v�u� �+�J��z�#�q�!�!�\
6��%�%�g�q�1�1���+�+�A�.�.�A�A��Z��a�(�(���)�)�!�,�,�A�A��Z���*�*�
��*�*�1�-�-�A�A��Z��a�(�(���
�
�a�(�(�A�A��Z��a�(�(���3�3�A�6�6�A�A��!�e�q�[�[�C�[��$�$�S�)�)�)��A��A�A���q�5�5����#�)�)�'�1�5�5�H��#��D�!�,�,�H��q�5�A�:�:� �,�,�T�2�2�2�2�'�-�-�g�q�9�9�?� �!�/�/���!����
�>�>�>�>�#��F�A�.�.�H���&8�&�&�F�&�/�/���!��<�<�&� !�S��[�[� 0�� %��&��+�+�G�A�a�C��E�N�;�;�;�;�#��K��3�3�
H��8K�
H��)�)�'�!�A�#�$�$�-�8�8�8�8� ��1�Q�3���-�-�/�/�;�>�>��(�(���1�����7�7�7�7�#��D�!�,�,�H��+�+�G�A�a�C�D�D�M�:�:�:�:�#��D�!�,�,�H����w�q��s�t�t�}�5�5�5�5�,�-F�G�G�G��A��N�N�1�a�(�(�����D�!�$�$�+
6��
�
�g�q�1�1���� �;�;�=�=��2��.�D��'�'��-�-�-��	�	���A�%�:�c�1�Q�3�/�/�"���E�����q�!�,�,�A���g�a�b�b�k�)�)��(�(���1�Q�3���8�8�8� �N�N�1�a��c�2�2�����C��#�#�
6�!�����3�3���� �;�;�q�>�>�D��)�)�$�/�/�/��	�	���A�%�:�c�1�Q�3�/�/�"���E�����q�!�,�,�A��"�(�(��!�4�4�����5�u�{�{�}�}������;�;�!�I�I�K�K����6�6� !�A� �N�N�1�a�!�e�4�4����!�e�q�[�[��$�$�S�)�)�)����q�!�a�%�0�0�A�A��5�5�5�5�q�w�!�e�e�z�	%�1�q�5�5��$�
/���
/�� � ��'�!�A�#�,�!7�!7�8�8�8�8�� � ���1���.�.�.����q�!�$�$�A��q�r�r�{����rc�^�|j}|||dz�dks
Jd���|||dz�dkr|�|��S|||dz�dkrM|jrF|�d|dz��}|d	krd
S|�||dz|���|dzS|||dz����dkrF|�d
|dz��}|d
krd
S|�||dz|���|dzS|||dz�dkry|�d
|dz��}|d	krd
S||dz
dkr$|�||dz|dz
���n |�||dz|���|dzS|�|��S)NrFrEz+unexpected call to parse_html_declaration()rHrCrKrIz]]>rrMrJrLrr)z<![�])	rr\rrPrbr2rcr`�parse_bogus_comment)rrmrro�gtposs     rr^z!HTMLParser.parse_html_declarationNs����,���q��1��u�~��%�%�%�)C�%�%�%��1�Q�q�S�5�>�V�#�#��%�%�a�(�(�(�
�Q�q��s�U�^�{�
*�
*�t�/B�
*����U�A�a�C�(�(�A��1�u�u��r����g�a��c�1�f�o�.�.�.��q�5�L�
�Q�q��s�U�^�
!�
!�
#�
#�{�
2�
2��L�L��a��c�*�*�E���{�{��r����W�Q�q�S��Y�/�0�0�0���7�N�
�Q�q��s�U�^�u�
$�
$����S�!�A�#�&�&�A��1�u�u��r��q��s�|�s�"�"��!�!�'�!�A�#�q��s�(�"3�4�4�4�4��#�#�G�A�a�C��F�O�4�4�4��q�5�L��+�+�A�.�.�.rc�h�|j}|�d|��s
Jd���t�||dz��}|s"t�||dz��}|sdS|r4|���}|�||dz|���|���S)NrC�"unexpected call to parse_comment()rHrM)	rrW�commentcloserS�commentabruptcloserYrTr`ri)rrm�reportrrYros      rr\zHTMLParser.parse_commentps����,���!�!�&�!�,�,�R�R�.R�R�R�,��#�#�G�Q�q�S�1�1���	�&�,�,�W�a��c�:�:�E��
��r��	1����
�
�A������!��Q���0�0�0��y�y�{�{�rr)c���|j}|||dz�dvs
Jd���|�d|dz��}|dkrdS|r |�||dz|���|dzS)NrF)rErBryrrMr))rrPr`)rrmr|r�poss     rrvzHTMLParser.parse_bogus_comments����,���q��1��u�~��-�-�-�1B�-�-�-��l�l�3��!��$�$���"�9�9��2��	2������!��C�� 0�1�1�1��Q�w�rc��|j}|||dz�dks
Jd���t�||dz��}|sdS|���}|�||dz|���|���}|S)NrFrDzunexpected call to parse_pi()rM)r�picloserSrTrdri�rrmrrYros     rr]zHTMLParser.parse_pi�s����,���q��1��u�~��%�%�%�'F�%�%�%����w��!��,�,���	��2��K�K�M�M�����w�q��s�A�v��'�'�'��I�I�K�K���rc���d|_|�|��}|dkr|S|j}|||�|_g}t�||dz��}|s
Jd���|���}|�d�����x|_}||kr�t�||��}|sn�|�ddd��\}	}
}|
sd}nI|dd�dcxkr|dd�ks"n|dd�dcxkr|dd�kr
nn
|dd�}|rt|��}|�|	���|f��|���}||k��|||����}|d	vr|�
|||���|S|�d
��r|�||��nj|�||��||jvs|jr|dks|dkr|�|d
���n ||jvr|�|d���|S)Nrr)z#unexpected call to parse_starttag()rFrJ�'rM�")r�/>r��noscriptr1Fr.T)r,�check_for_whole_start_tagr�tagfind_tolerantrYrirgr2r�attrfind_tolerantr�append�striprUra�handle_startendtag�handle_starttag�CDATA_CONTENT_ELEMENTSrr8�RCDATA_CONTENT_ELEMENTS)
rrm�endposr�attrsrYrq�tag�m�attrname�rest�	attrvalueris
             rrZzHTMLParser.parse_starttag�s��� $����/�/��2�2���A�:�:��M��,��&�q��x�0����� �&�&�w��!��4�4���;�;�;�;�;�u��I�I�K�K��"�[�[��^�^�1�1�3�3�3���s��&�j�j�!�'�'���3�3�A��
��()����1�a�(8�(8�%�H�d�I��
,� �	�	��2�A�2��$�8�8�8�8�)�B�C�C�.�8�8�8�8��2�A�2��#�7�7�7�7��2�3�3��7�7�7�7�7�%�a��d�O�	��
0�$�Y�/�/�	��L�L�(�.�.�*�*�I�6�7�7�7������A��&�j�j��a��h��%�%�'�'���k�!�!����W�Q�v�X�.�/�/�/��M��<�<����
	9��#�#�C��/�/�/�/�� � ��e�,�,�,��t�2�2�2���3�$'�:�$5�$5��{�"�"��#�#�C�5�#�9�9�9�9���4�4�4��#�#�C�4�#�8�8�8��
rc��|j}t�||dz��}|sJ�|���}||dz
dkrdS|S)Nr)rrM)r�locatetagendrYrir�s     rr�z$HTMLParser.check_for_whole_start_tag�sU���,���"�"�7�A�a�C�0�0�����u��I�I�K�K���1�Q�3�<�3����2��rc��|j}|||dz�dks
Jd���|�d|dz��dkrdSt�||��s.||dz|dz�dkr|dzS|�|��St
�||dz��}|sJ�|���}||dz
dkrdSt�||dz��}|sJ�|�d���	��}|�
|��|���|S)	NrFrBzunexpected call to parse_endtagrrrMrJr))rrPr_rYrvr�rir�rgr2�
handle_endtagr:)rrmrrYror�s      rr[zHTMLParser.parse_endtag�sU���,���q��1��u�~��%�%�%�'H�%�%�%��<�<��Q�q�S�!�!�A�%�%��2������+�+�	3��q��s�1�Q�3�w��3�&�&���s�
��/�/��2�2�2��"�"�7�A�a�C�0�0�����u��I�I�K�K���1�Q�3�<�3����2�!�&�&�w��!��4�4�����u��k�k�!�n�n�"�"�$�$�����3�����������rc�\�|�||��|�|��dS�N)r�r��rr�r�s   rr�zHTMLParser.handle_startendtag�s2�����S�%�(�(�(����3�����rc��dSr��r�s   rr�zHTMLParser.handle_starttag�����rc��dSr�r�)rr�s  rr�zHTMLParser.handle_endtag�r�rc��dSr�r��rrss  rrhzHTMLParser.handle_charref�r�rc��dSr�r�r�s  rrkzHTMLParser.handle_entityrefr�rc��dSr�r�r%s  rrUzHTMLParser.handle_datar�rc��dSr�r�r%s  rr`zHTMLParser.handle_comment
r�rc��dSr�r�)r�decls  rrczHTMLParser.handle_declr�rc��dSr�r�r%s  rrdzHTMLParser.handle_pir�rc��dSr�r�r%s  rrbzHTMLParser.unknown_declr�r)T)r))!�__name__�
__module__�__qualname__�__doc__r�r�rrr'r*r,r-r8r:r=r$r^r\rvr]rZr�r[r�r�r�rhrkrUr`rcrdrbr�rrrrZs���������0Y��3��+/�5������+�+�+��������O�$�$�$�16�
B�
B�
B�
B�
B����
#�#�#�#� G#�G#�G#�X/�/�/�D����	�	�	�	�	�	�	�.�.�.�d������< � � �

�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
r)r�r3r �htmlr�__all__r4rrlrjrfrXr_r�rzr{r��VERBOSEr�r��locatestarttagend_tolerant�	endendtag�
endtagfindr!rr�rr�<module>r�s���"�"�
�	�	�	������������.�� �R�Z��'�'��
�R�Z��
%�
%�
��B�J�>�?�?�	�
�"�*�@�
A�
A���r�z�+�&�&��
�R�Z��
%�
%�
�
�"�*�S�/�/���r�z�(�#�#���R�Z��'�'���2�:�Q�R�R���B�J� ��Z�����r�z�
��Z�
�
�� (�R�Z�)��Z����
�B�J�s�O�O�	�
�R�Z�>�
?�
?�
�|
�|
�|
�|
�|
��'�|
�|
�|
�|
�|
r