§
    Ètºf“Q  ã                   ó’   — d Z ddlmZ ddlmZ dZdZdZdZedz   Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Z G d„ de¦  «        Z G d„ de¦  «        ZdS )aÒ  
*S*mall, *U*ncomplicated *X*ML.

This is a very simple implementation of XML/HTML as a network
protocol.  It is not at all clever.  Its main features are that it
does not:

  - support namespaces
  - mung mnemonic entity references
  - validate
  - perform *any* external actions (such as fetching URLs or writing files)
    under *any* circumstances
  - has lots and lots of horrible hacks for supporting broken HTML (as an
    option, they're not on by default).
é    )ÚProtocol©ÚprefixedMethodNamesé   é   z.-_:z;+#/%~c                  ó   — dS )zDo nothing.N© )ÚargsÚkws     úN/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/web/sux.pyÚnopr   $   s   € € € ó    c                  óz   — g }| D ]}|                      |¦  «         Œd„ |D ¦   «         }|                     ¦   «         S )Nc                 ó   — i | ]}|d “ŒS )r   r	   )Ú.0Úxs     r   ú
<dictcomp>zunionlist.<locals>.<dictcomp>,   s   € ÐÐÐ�!ˆˆAÐÐÐr   )ÚextendÚkeys)r
   Úlr   Úds       r   Ú	unionlistr   (   sG   € Ø
€AØð ð ˆØ	�Š�‰ŒˆˆØÐ�qÐÑÔ€AØ�6Š6‰8Œ8€Or   c                  ó®   ‡‡— |                      dt          ¦  «        Ši }t          d„ | D ¦   «         Ž D ]!Št          ˆˆfd„| D ¦   «         ¦  «        |‰<   Œ"|S )NÚdefaultc              3   ó>   K  — | ]}|                      ¦   «         V — Œd S ©N)r   )r   Úfndicts     r   ú	<genexpr>zzipfndict.<locals>.<genexpr>3   s*   è è € Ð<Ð<¨V˜6Ÿ;š;™=œ=Ð<Ð<Ð<Ð<Ð<Ð<r   c              3   óD   •K  — | ]}|                      ‰‰¦  «        V — Œd S r   )Úget)r   r   r   Úkeys     €€r   r   zzipfndict.<locals>.<genexpr>4   s1   øè è € Ð9Ð9¨q�q—u’u˜S 'Ñ*Ô*Ð9Ð9Ð9Ð9Ð9Ð9r   )r    r   r   Útuple)r
   r   r   r   r!   s      @@r   Ú	zipfndictr#   0   so   øø€ Ø�fŠf�Y¥Ñ$Ô$€GØ
€AÝÐ<Ð<°tÐ<Ñ<Ô<Ð=ð :ð :ˆÝÐ9Ð9Ð9Ð9Ð9°DÐ9Ñ9Ô9Ñ9Ô9ˆˆ#‰ˆØ€Hr   c                 ó@   ‡ ‡— ˆ ˆfd„t          ‰ ‰¦  «        D ¦   «         S )Nc                 ó8   •— i | ]}|t          ‰‰|z   ¦  «        “ŒS r	   ©Úgetattr)r   ÚnameÚclazzÚprefixs     €€r   r   z+prefixedMethodClassDict.<locals>.<dictcomp>9   s9   ø€ ð ð ð àð 	�g�e˜V d™]Ñ+Ô+ðð ð r   r   )r)   r*   s   ``r   ÚprefixedMethodClassDictr+   8   s>   øø€ ðð ð ð ð å'¨¨vÑ6Ô6ðñ ô ð r   c                 óJ   ‡ ‡— ˆ ˆfd„t          ‰ j        ‰¦  «        D ¦   «         S )Nc                 ó8   •— i | ]}|t          ‰‰|z   ¦  «        “ŒS r	   r&   )r   r(   Úobjr*   s     €€r   r   z)prefixedMethodObjDict.<locals>.<dictcomp>@   s9   ø€ ð ð ð àð 	�g�c˜6 D™=Ñ)Ô)ðð ð r   )r   Ú	__class__)r.   r*   s   ``r   ÚprefixedMethodObjDictr0   ?   s@   øø€ ðð ð ð ð å'¨¬°vÑ>Ô>ðñ ô ð r   c                   ó    — e Zd Zd„ Zdefd„ZdS )Ú
ParseErrorc                 ó>   — || _         || _        || _        || _        d S r   ©ÚfilenameÚlineÚcolÚmessage)Úselfr5   r6   r7   r8   s        r   Ú__init__zParseError.__init__G   s"   € Ø ˆŒØˆŒ	ØˆŒØˆŒˆˆr   Úreturnc                 óD   — | j         › d| j        › d| j        › d| j        › �S )Nú:z: r4   ©r9   s    r   Ú__str__zParseError.__str__M   s.   € Ø”-ÐHÐH $¤)ÐHÐH¨d¬hÐHÐH¸$¼,ÐHÐHÐHr   N)Ú__name__Ú
__module__Ú__qualname__r:   Ústrr?   r	   r   r   r2   r2   F   sE   € € € € € ðð ð ðI˜ð Ið Ið Ið Ið Ið Ir   r2   c                   ó€  — e Zd ZdZdZdZdZdZdZd„ Z	d„ Z
d„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d Z%d Z&d!„ Z'd"„ Z(d#„ Z)d$„ Z*d%„ Z+d&„ Z,d'„ Z-d(„ Z.d)„ Z/d*„ Z0d+„ Z1d,„ Z2d-„ Z3d.„ Z4d/„ Z5d0„ Z6d1„ Z7d2„ Z8d3„ Z9d4„ Z:e2Z;e3Z<d5„ Z=d6„ Z>d7„ Z?d8„ Z@d9„ ZAd:„ ZBd;„ ZCdS )<Ú	XMLParserNz<xml />r   c                 ó0   — d| _         d| _        g | _        d S )Nr   r   )ÚlinenoÚcolnoÚ	encodingsr>   s    r   ÚconnectionMadezXMLParser.connectionMade]   s   € ØˆŒØˆŒ
ØˆŒˆˆr   c                 ó   — | j         | j        fS )z;Get the line number and column of the last character parsed)rG   rH   r>   s    r   ÚsaveMarkzXMLParser.saveMarkb   s   € ð ”˜TœZÐ(Ð(r   c                 óR   — t          | j        f|                      ¦   «         z   |fz   Ž ‚r   )r2   r5   rL   )r9   r8   s     r   Ú_parseErrorzXMLParser._parseErrorg   s&   € Ý˜DœMÐ+¨d¯mªm©o¬oÑ=ÀÀ
ÑJÐLÐLr   c                 óz   ‡ — t          ‰ j        dd¦  «        }|€!t          ˆ fd„dD ¦   «         Ž x}‰ j        _        |S )z;Return a dictionary of begin, do, end state function tuplesÚ__stateTableNc              3   ó8   •K  — | ]}t          ‰|¦  «        V — Œd S r   )r0   )r   r*   r9   s     €r   r   z-XMLParser._buildStateTable.<locals>.<genexpr>r   sA   øè è € ð ð àõ *¨$°Ñ7Ô7ðð ð ð ð ð r   )Úbegin_Údo_Úend_)r'   r/   r#   Ú_XMLParser__stateTable)r9   Ú
stateTables   ` r   Ú_buildStateTablezXMLParser._buildStateTablej   sb   ø€ õ
 ˜Tœ^¨^¸TÑBÔBˆ
ØÐÝ7@ðð ð ð à";ðñ ô ð8ð ˆJ˜œÔ4ð Ðr   c                 ó¸   — d| j         v s	d| j         v rt          |¦  «        dz  r
J d¦   «         ‚| j        r
| j        |z   }| j         D ]}t          ||¦  «        }Œ|S )NúUTF-16zUCS-2r   z!UTF-16 must come in pairs for now)rI   ÚlenÚ_prependrC   )r9   ÚdataÚencodings      r   Ú_decodezXMLParser._decodey   sw   € Ø�t”~Ð%Ð%¨°D´NÐ)BÐ)BÝ˜4‘y”y 1‘}ÐIÐIÐ&IÑIÔIÐIØŒ=ð 	(Ø”= 4Ñ'ˆDØœð 	'ð 	'ˆHÝ�t˜XÑ&Ô&ˆDˆDØˆr   c                 ón   — | j         rdS | j        dk    r d| j        vr|                      d ¦  «         dS dS )NÚbodydataÚscriptÚsrcÚwaitforendscript)ÚendtagÚtagNameÚtagAttributesÚbegin_bodydatar>   s    r   ÚmaybeBodyDatazXMLParser.maybeBodyData‚   sN   € ØŒ;ð 	Ø�:ð Œ<˜8Ò#Ð#¨°TÔ5GÐ(GÐ(Gð ×Ò Ñ%Ô%Ð%Ø%Ð%Øˆzr   c                 óÀ  ‡‡— |                       ¦   «         }| j        sO|                     d¦  «        r3|dd…         | _        | j                             d¦  «         |dd …         }d| _        | j        r|                      |¦  «        }n|                     d¦  «        }| j        | j	        cŠŠ| j        }| j
        }ˆˆfd„}|| _
        ||         \  }}}	 |D ]K}	|	dk    r‰d	z  ŠdŠn‰d	z  Š ||	¦  «        }
|
�)|
|k    r# |¦   «          |
}||         \  }}} ||	¦  «         ŒL	 || _
        ‰‰c| _        | _	        n# || _
        ‰‰c| _        | _	        w xY w|| _        d S )
N)s   ÿþs   þÿr   r   rY   Úbeginzutf-8c                  ó   •— ‰‰ fS r   r	   )rH   rG   s   €€r   rL   z(XMLParser.dataReceived.<locals>.saveMark©   s   ø€ Ø˜E�?Ð"r   ú
r   )rW   ÚstateÚ
startswithr[   rI   Úappendr^   ÚdecoderG   rH   rL   )r9   r\   rV   ÚcurStateÚ	_saveMarkrL   ÚbeginFnÚdoFnÚendFnÚbyteÚnewStaterH   rG   s              @@r   ÚdataReceivedzXMLParser.dataReceived–   sÃ  øø€ Ø×*Ò*Ñ,Ô,ˆ
ØŒzð 	!à�ŠÐ9Ñ:Ô:ð  Ø $ Q q S¤	�”Ø”×%Ò% hÑ/Ô/Ð/Ø˜A˜B˜B”x�Ø ˆDŒJØŒ>ð 	(Ø—<’< Ñ%Ô%ˆDˆDà—;’;˜wÑ'Ô'ˆDàœ T¤Zˆˆ�Ø”:ˆà”Mˆ	ð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð !ˆŒà)¨(Ô3Ñˆ��uð	4Øð "ð "�à˜4’<�<Ø˜a‘K�FØ�E�Eà˜Q‘J�EØ˜4 ™:œ:�ØÐ'¨H¸Ò,@Ð,@à�E‘G”G�GØ'�HØ+5°hÔ+?Ñ(�G˜T 5Ø�G˜D‘M”M�Møð"ð &ˆDŒMØ&,¨eÐ#ˆDŒK˜œ˜øð &ˆDŒMØ&,¨eÐ#ˆDŒK˜œÐ3Ð3Ð3Ð3àˆŒ
ˆ
ˆ
s   ÃAD< Ä<Ec                 ón   — |                       ¦   «         } || j                 t                   ¦   «          dS )z0
        End the last state we were in.
        N)rW   rm   ÚEND_HANDLER)r9   ÚreasonrV   s      r   ÚconnectionLostzXMLParser.connectionLostÄ   s5   € ð ×*Ò*Ñ,Ô,ˆ
Ø+ˆ
�4”:Ô�{Ô+Ñ-Ô-Ð-Ð-Ð-r   c                 ó�   — |                      ¦   «         rd S |dk    r)| j        r	|| _        dS |                      d|›d�¦  «         dS )Nú<r`   zFirst char of document [z
] wasn't <Útagstart)ÚisspaceÚbeExtremelyLenientÚ_leadingBodyDatarN   ©r9   rv   s     r   Údo_beginzXMLParser.do_beginÍ   s]   € Ø�<Š<‰>Œ>ð 	ØˆFØ�3Š;ˆ;ØÔ&ð "Ø(,�Ô%Ø!�zØ×ÒÐJ¸ÐJÐJÐJÑKÔKÐKØˆzr   c                 ó   — d| _         d S ©NÚ )Ú
commentbufrƒ   s     r   Úbegin_commentzXMLParser.begin_comment×   s   € ØˆŒˆˆr   c                 ó¢   — | xj         |z  c_         | j                              d¦  «        r$|                      | j         d d…         ¦  «         dS d S )Nz-->éýÿÿÿr`   )rˆ   ÚendswithÚ
gotCommentrƒ   s     r   Ú
do_commentzXMLParser.do_commentÚ   sV   € ØˆŒ˜4ÑˆŒØŒ?×#Ò# EÑ*Ô*ð 	Ø�OŠO˜DœO¨C¨R¨CÔ0Ñ1Ô1Ð1Ø�:ð	ð 	r   c                 ó>   — d| _         i | _        d| _        d| _        d S ©Nr‡   r   )re   rf   Útermtagrd   rƒ   s     r   Úbegin_tagstartzXMLParser.begin_tagstartà   s#   € ØˆŒØˆÔØˆŒØˆŒˆˆr   c                 ó  — |                      ¦   «         s	|t          v r| xj        |z  c_        | j        dk    rdS d S |                     ¦   «         r)| j        r| j        rdS dS |                      d¦  «         d S |dk    r\| j        r|                      | j        ¦  «         dS |                      | j        i ¦  «         | j         rdp|  	                    ¦   «         S |dk    r| j        rd	S d
| _        d S |dv r@| j        r | j        s|                      d¦  «         d S d S | xj        |z  c_        d
| _
        d S |dk    r$| j        dk    rdS |                      d¦  «         d S | j        r	d| _        dS |                      d|z  ¦  «         d S )Nz!--ÚcommentÚ	waitforgtÚattrszWhitespace before tag-nameú>r`   ú/Ú
afterslashr   ú!?zInvalid character in tag-nameú[ú!ÚexpectcdatazInvalid '[' in tag-namer~   ÚunentityzInvalid tag character: %r)ÚisalnumÚ
identCharsre   r€   rd   rN   Ú	gotTagEndÚgotTagStartr�   rh   r‘   r`   rƒ   s     r   Údo_tagstartzXMLParser.do_tagstartæ   sð  € Ø�<Š<‰>Œ>ð +	A˜T¥ZÐ/Ð/ØˆLŒL˜DÑ ˆLŒLØŒ|˜uÒ$Ð$Ø �yð %Ð$à�\Š\‰^Œ^ð '	AØŒ|ð ?Ø”;ð 'ð '˜;Ø�wà× Ò Ð!=Ñ>Ô>Ð>Ð>Ð>Ø�SŠ[ˆ[ØŒ{ð Ø—’˜tœ|Ñ,Ô,Ð,Ø!�zà× Ò  ¤¨rÑ2Ô2Ð2àÔ0Ð0Ð@°jÐXÀD×DVÒDVÑDXÔDXðð �SŠ[ˆ[ØŒ|ð  Ø#�|à�”��Ø�Tˆ\ˆ\ØŒ|ð !ØÔ.ð FØ×$Ò$Ð%DÑEÔEÐEÐEÐEðFð Fð �” Ñ$�”Ø �”��Ø�SŠ[ˆ[ØŒ|˜sÒ"Ð"Ø$�}à× Ò Ð!:Ñ;Ô;Ð;Ð;Ð;àÔ&ð "Ø #�”Ø!�zØ×ÒÐ8¸4Ñ?Ñ@Ô@Ð@Ð@Ð@r   c                 ó&   — | xj         |z  c_         d S r   ©r`   rƒ   s     r   Úbegin_unentityzXMLParser.begin_unentity  s   € ØˆŒ˜ÑˆŒˆˆr   c                 ó&   — | xj         |z  c_         dS )Nr`   r¥   rƒ   s     r   Údo_unentityzXMLParser.do_unentity  s   € ØˆŒ˜ÑˆŒØˆzr   c                 ó:   — |                       | j        ¦  «         d S r   ©ÚgotTextr`   r>   s    r   Úend_unentityzXMLParser.end_unentity  s   € Ø�Š�T”]Ñ#Ô#Ð#Ð#Ð#r   c                 ó   — || _         d S r   )Úcdatabufrƒ   s     r   Úbegin_expectcdatazXMLParser.begin_expectcdata  s   € ØˆŒˆˆr   c                 ó*  — | xj         |z  c_         | j         }d}t          |¦  «        t          |¦  «        k    r5|                     |¦  «        rd S | j        rdS |                      d¦  «         ||k    r	d| _         dS |                      d¦  «         d S )Nz[CDATA[r•   zMal-formed CDATA headerr‡   Úcdata)r®   rZ   rn   r�   rN   )r9   rv   ÚcdbÚcds       r   Údo_expectcdatazXMLParser.do_expectcdata!  s¥   € ØˆŒ˜ÑˆŒØŒmˆØˆÝˆr‰7Œ7•S˜‘X”XÒÐØ�}Š}˜SÑ!Ô!ð 	<Ø�ØÔ(ð <ð
 #�{à× Ò Ð!:Ñ;Ô;Ð;Ø�Š9ˆ9ØˆDŒMØ�7Ø×ÒÐ2Ñ3Ô3Ð3Ð3Ð3r   c                 ó†   — | xj         |z  c_         | j                              d¦  «        r| j         d d…         | _         dS d S )Nz]]>r‹   r`   )r®   rŒ   rƒ   s     r   Údo_cdatazXMLParser.do_cdata5  sK   € ØˆŒ˜ÑˆŒØŒ=×!Ò! %Ñ(Ô(ð 	Ø œM¨#¨2¨#Ô.ˆDŒMØ�:ð	ð 	r   c                 óH   — |                       | j        ¦  «         d| _        d S r†   )ÚgotCDatar®   r>   s    r   Ú	end_cdatazXMLParser.end_cdata;  s!   € Ø�Š�d”mÑ$Ô$Ð$ØˆŒˆˆr   c                 ó†  — |                      ¦   «         s	|t          v r | j        dk    rdS | j        d         dv rdS dS |                     ¦   «         rd S |dk    r>|                      | j        | j        ¦  «         | j         rdp|                      ¦   «         S |d	k    rd
S | j        rd S |                      d|z  ¦  «         d S )Nú!DOCTYPEÚdoctyper   rš   r•   Úattrnamer—   r`   r˜   r™   zUnexpected character: %r)	rŸ   r    re   r€   r¢   rf   r�   rh   rN   rƒ   s     r   Údo_attrszXMLParser.do_attrs?  sä   € Ø�<Š<‰>Œ>ð 	˜T¥ZÐ/Ð/àŒ|˜zÒ)Ð)Ø �yØŒ|˜AŒ $Ð&Ð&Ø"�{Ø�:Ø�\Š\‰^Œ^ð 
	ØˆFØ�SŠ[ˆ[Ø×Ò˜Tœ\¨4Ô+=Ñ>Ô>Ð>ØÔ/Ð/Ð?°ZÐWÀ4×CUÒCUÑCWÔCWÐWØ�SŠ[ˆ[Ø�<ØÔ$ð 	ð ˆFØ×ÒÐ3°dÑ:Ñ;Ô;Ð;Ð;Ð;r   c                 ó   — || _         d S r   ©r¼   rƒ   s     r   Úbegin_doctypezXMLParser.begin_doctypeT  ó   € ØˆŒˆˆr   c                 ó6   — |dk    rdS | xj         |z  c_         d S ©Nr—   r`   rÀ   rƒ   s     r   Ú
do_doctypezXMLParser.do_doctypeW  s$   € Ø�3Š;ˆ;Ø�:ØˆŒ˜ÑˆŒˆˆr   c                 óH   — |                       | j        ¦  «         d | _        d S r   )Ú
gotDoctyper¼   r>   s    r   Úend_doctypezXMLParser.end_doctype\  s!   € Ø�Š˜œÑ%Ô%Ð%ØˆŒˆˆr   c                 óZ   — |dk    r$| j         s| j        sdS |                      ¦   «         S d S rÄ   )rd   r�   rh   rƒ   s     r   Údo_waitforgtzXMLParser.do_waitforgt`  s=   € Ø�3Š;ˆ;ØŒ{ð " $Ô"9ð "Ø!�zØ×%Ò%Ñ'Ô'Ð'ð ˆ;r   c                 ó"   — || _         d| _        d S ©Nr   )r½   Ú_attrname_termtagrƒ   s     r   Úbegin_attrnamezXMLParser.begin_attrnamef  s   € ØˆŒØ!"ˆÔÐÐr   c                 ój  — |                      ¦   «         s	|t          v r| xj        |z  c_        d S |dk    rdS |                     ¦   «         rdS | j        r¾|dv rdS |t
          v s|                      ¦   «         r| xj        |z  c_        d S |dk    r	d| _        d S |dk    rrd	| _        | j        | j        | j        <   |  	                    | j
        | j        ¦  «         | j        r|                      | j
        ¦  «         d
S |                      ¦   «         S d S |                      d| j        ›d|›�¦  «         d S )Nú=ÚbeforeattrvalÚbeforeeqú"'Úattrvalr˜   r   r—   ÚTruer`   zInvalid attribute name: ú )rŸ   r    r½   r€   r�   ÚlenientIdentCharsrÍ   rÔ   rf   r¢   re   r¡   rh   rN   rƒ   s     r   Údo_attrnamezXMLParser.do_attrnamej  sW  € Ø�<Š<‰>Œ>ð 	˜T¥ZÐ/Ð/ØˆMŒM˜TÑ!ˆMŒMØˆFØ�SŠ[ˆ[Ø"�?Ø�\Š\‰^Œ^ð 	Ø�:ØÔ$ð 	Ø�uˆ}ˆ}Ø �yØÕ(Ð(Ð(¨D¯LªL©N¬NÐ(Ø�” Ñ%�”Ø�Ø�sŠ{ˆ{Ø)*�Ô&Ø�Ø�sŠ{ˆ{Ø%�”Ø48´L�Ô" 4¤=Ñ1Ø× Ò  ¤¨tÔ/AÑBÔBÐBØÔ)ð &Ø—N’N 4¤<Ñ0Ô0Ð0Ø%˜:Ø×)Ò)Ñ+Ô+Ð+ð ˆFØ×ÒÐN°D´MÐNÐNÀdÐNÐNÑOÔOÐOÐOÐOr   c                 ót  — |dv rdS |                      ¦   «         rd S | j        r||t          v s|                     ¦   «         rdS |dk    rOd| _        | j        | j        | j        <   |                      | j        | j        ¦  «         |  	                    ¦   «         S |dk    rd S |  
                    d|z  ¦  «         d S )NrÓ   rÔ   Ú	messyattrr—   rÕ   ú\zEInvalid initial attribute value: %r; Attribute values must be quoted.)r€   r�   r×   rŸ   rÔ   rf   r½   r¢   re   rh   rN   rƒ   s     r   Údo_beforeattrvalzXMLParser.do_beforeattrvalˆ  sÙ   € Ø�5ˆ=ˆ=Ø�9Ø�\Š\‰^Œ^ð 	ØˆFØÔ$ð 	ØÕ(Ð(Ð(¨D¯LªL©N¬NÐ(Ø"�{Ø�sŠ{ˆ{Ø%�”Ø48´L�Ô" 4¤=Ñ1Ø× Ò  ¤¨tÔ/AÑBÔBÐBØ×)Ò)Ñ+Ô+Ð+Ø�tŠ|ˆ|ð �Ø×ÒØSØññ	
ô 	
ð 	
ð 	
ð 	
r   r‡   c                 ó   — d| _         d S rÌ   )Ú_beforeeq_termtagrƒ   s     r   Úbegin_beforeeqzXMLParser.begin_beforeeq¡  s   € Ø!"ˆÔÐÐr   c                 óü  — |dk    rdS |                      ¦   «         rd S | j        rÁ|                     ¦   «         s	|t          v rd| _        | j        | j        | j        <   dS |dk    rrd| _        | j        | j        | j        <   |                      | j        | j        ¦  «         | j	        r|  
                    | j        ¦  «         dS |                      ¦   «         S |dk    r	d| _	        d S |                      d	¦  «         d S )
NrÐ   rÑ   rÕ   r½   r—   r`   r˜   r   zInvalid attribute)r€   r�   rŸ   r    rÔ   rf   r½   r¢   re   rÞ   r¡   rh   rN   rƒ   s     r   Údo_beforeeqzXMLParser.do_beforeeq¤  s
  € Ø�3Š;ˆ;Ø"�?Ø�\Š\‰^Œ^ð 	ØˆFØÔ$ð 	Ø�|Š|‰~Œ~ð  ­Ð!3Ð!3Ø%�”Ø48´L�Ô" 4¤=Ñ1Ø!�zØ˜’�Ø%�”Ø48´L�Ô" 4¤=Ñ1Ø× Ò  ¤¨tÔ/AÑBÔBÐBØÔ)ð &Ø—N’N 4¤<Ñ0Ô0Ð0Ø%˜:Ø×)Ò)Ñ+Ô+Ð+Ø˜’�Ø)*�Ô&Ø�Ø×ÒÐ,Ñ-Ô-Ð-Ð-Ð-r   c                 ó"   — || _         d| _        d S r†   ©Ú	quotetyperÔ   rƒ   s     r   Úbegin_attrvalzXMLParser.begin_attrval»  s   € ØˆŒØˆŒˆˆr   c                 ó@   — || j         k    rdS | xj        |z  c_        d S )Nr–   rã   rƒ   s     r   Ú
do_attrvalzXMLParser.do_attrval¿  s(   € Ø�4”>Ò!Ð!Ø�7ØˆŒ˜ÑˆŒˆˆr   c                 óJ   — | j         | j        | j        <   dx| _        | _         d S r†   ©rÔ   rf   r½   r>   s    r   Úend_attrvalzXMLParser.end_attrvalÄ  s%   € Ø,0¬LˆÔ˜4œ=Ñ)Ø')Ð)ˆŒ˜œ˜˜r   c                 ó   — || _         d S r   )rÔ   rƒ   s     r   Úbegin_messyattrzXMLParser.begin_messyattrÈ  rÂ   r   c                 óŽ  — |                      ¦   «         rdS |dk    r˜d}| j                             d¦  «        rd}| j        d d…         | _        | j        | j        | j        <   |                      | j        | j        ¦  «         |r|                      | j        ¦  «         dS |                      ¦   «         S | xj        |z  c_        d S )Nr–   r—   r   r˜   r   éÿÿÿÿr`   )	r€   rÔ   rŒ   rf   r½   r¢   re   r¡   rh   )r9   rv   ÚendTags      r   Údo_messyattrzXMLParser.do_messyattrË  sÇ   € Ø�<Š<‰>Œ>ð 	!Ø�7Ø�SŠ[ˆ[ØˆFØŒ|×$Ò$ SÑ)Ô)ð 1Ø�Ø#œ|¨C¨R¨CÔ0�”Ø04´ˆDÔ˜tœ}Ñ-Ø×Ò˜Tœ\¨4Ô+=Ñ>Ô>Ð>Øð "Ø—’˜tœ|Ñ,Ô,Ð,Ø!�zØ×%Ò%Ñ'Ô'Ð'àˆLŒL˜DÑ ˆLŒLˆLˆLr   c                 ó@   — | j         r| j         | j        | j        <   d S d S r   ré   r>   s    r   Úend_messyattrzXMLParser.end_messyattrÜ  s-   € ØŒ<ð 	=Ø04´ˆDÔ˜tœ}Ñ-Ð-Ð-ð	=ð 	=r   c                 ó   — d| _         d S rÌ   )Ú_after_slash_closedrƒ   s     r   Úbegin_afterslashzXMLParser.begin_afterslashà  s   € Ø#$ˆÔ Ð Ð r   c                 ó  — | j         r|                      d¦  «         |dk    r| j        rd S |                      d¦  «         d| _         |                      | j        | j        ¦  «         |                      | j        ¦  «         dS )Nz
Mal-formedr—   zNo data allowed after '/'r   r`   )rô   rN   r�   r¢   re   rf   r¡   rƒ   s     r   Údo_afterslashzXMLParser.do_afterslashã  s�   € àÔ#ð 	+Ø×Ò˜\Ñ*Ô*Ð*Ø�3Š;ˆ;ØÔ&ð >Ø�à× Ò Ð!<Ñ=Ô=Ð=Ø#$ˆÔ Ø×Ò˜œ tÔ'9Ñ:Ô:Ð:Ø�Š�t”|Ñ$Ô$Ð$ð ˆzr   c                 óB   — | j         r| j         | _        | ` d S d| _        d S r†   )r‚   r`   rƒ   s     r   rg   zXMLParser.begin_bodydataó  s.   € ØÔ ð 	Ø Ô1ˆDŒMØÐ%Ð%Ð%àˆDŒMˆMˆMr   c                 óF   — |dk    rdS |dk    rdS | xj         |z  c_         d S )Nr~   r   ú&Ú	entityrefr¥   rƒ   s     r   Údo_bodydatazXMLParser.do_bodydataú  s2   € Ø�3Š;ˆ;Ø�:Ø�3Š;ˆ;Ø�;ØˆŒ˜ÑˆŒˆˆr   c                 óH   — |                       | j        ¦  «         d| _        d S r†   rª   r>   s    r   Úend_bodydatazXMLParser.end_bodydata  s!   € Ø�Š�T”]Ñ#Ô#Ð#ØˆŒˆˆr   c                 ó6   — |dk    rdS | xj         |z  c_         d S )Nr~   Úwaitscriptendtagr¥   rƒ   s     r   Údo_waitforendscriptzXMLParser.do_waitforendscript  s%   € Ø�3Š;ˆ;Ø%Ð%ØˆŒ˜ÑˆŒˆˆr   c                 ó0   — d| _         d| _        d| _        d S r�   )Útemptagdatare   rd   rƒ   s     r   Úbegin_waitscriptendtagz XMLParser.begin_waitscriptendtag
  s   € ØˆÔØˆŒØˆŒˆˆr   c                 ó*  — | xj         |z  c_         |dk    r	d| _        d S | j        s| xj        d| j         z   z  c_        dS |                     ¦   «         s	|t          v r‡| xj        |z  c_        d                     | j        ¦  «        s| xj        d| j         z   z  c_        dS | j        dk    r6|                      | j        ¦  «         |                      | j        ¦  «         dS d S | 	                    ¦   «         rdS | xj        d| j         z   z  c_        dS )Nr˜   Tr~   rc   ra   r•   r   )
r  rd   r`   rŸ   r    re   rn   r«   r¡   r€   rƒ   s     r   Údo_waitscriptendtagzXMLParser.do_waitscriptendtag  s0  € ð 	ÐÔ˜DÑ ÐÔð �3Š;ˆ;ØˆDŒKˆKˆKØ”ð 	&ØˆMŒM˜S 4Ô#3Ñ3Ñ3ˆMŒMØ%Ð%à�\Š\‰^Œ^ð 	&˜t¥zÐ1Ð1ØˆLŒL˜DÑ ˆLŒLØ×&Ò& t¤|Ñ4Ô4ð #Ø�”  tÔ'7Ñ!7Ñ7�”Ø)Ð)Ø” Ò)Ð)Ø—’˜Tœ]Ñ+Ô+Ð+Ø—’˜tœ|Ñ,Ô,Ð,Ø"�{ð *Ð)ð
 �\Š\‰^Œ^ð 	&Ø%Ð%ð ˆMŒM˜S 4Ô#3Ñ3Ñ3ˆMŒMØ%Ð%r   c                 ó"   — d| _         d| _        d S r†   )ÚerefbufÚ	erefextrarƒ   s     r   Úbegin_entityrefzXMLParser.begin_entityref6  s   € ØˆŒØˆŒˆˆr   c                 ó$  — |                      ¦   «         s|dk    r]| j        r?| j        r| j        dk    r| j        | _        d| _        |dk    rdS | xj        |z  c_        dS |                      d¦  «         d S |dk    r| xj        |z  c_        d S dS )Nr~   Úampr   ÚspacebodydatazBad entity referenceú;r`   )r€   r�   r  r	  rN   rƒ   s     r   Údo_entityrefzXMLParser.do_entityref:  s«   € Ø�<Š<‰>Œ>ð 	˜T Sš[˜[ØÔ&ð 	+à”<ð 2 D¤L°EÒ$9Ð$9Ø%)¤\�D”NØ$�”Ø˜3’;�;Ø%˜:à�N”N dÑ*�N”NØ*˜?Ø×ÒÐ3Ñ4Ô4Ð4Ð4Ð4Ø�SŠ[ˆ[ØˆLŒL˜DÑ ˆLŒLˆLˆLà�:r   c                 ó:   — |                       | j        ¦  «         d S r   )ÚgotEntityReferencer  r>   s    r   Úend_entityrefzXMLParser.end_entityrefL  s   € Ø×Ò ¤Ñ-Ô-Ð-Ð-Ð-r   c                 ó,   — | j         | _        d | _         d S r   )r	  r`   rƒ   s     r   Úbegin_spacebodydatazXMLParser.begin_spacebodydataQ  s   € ØœˆŒØˆŒˆˆr   c                 ó(   — t          d||¦  «         dS )zCEncountered an opening tag.

        Default behaviour is to print.rj   N©Úprint)r9   r(   Ú
attributess      r   r¢   zXMLParser.gotTagStartZ  s   € õ 	ˆg�t˜ZÑ(Ô(Ð(Ð(Ð(r   c                 ó@   — t          dt          |¦  «        ¦  «         dS )z8Encountered text

        Default behaviour is to print.ztext:N©r  Úrepr)r9   r\   s     r   r«   zXMLParser.gotText`  s    € õ 	ˆg•t˜D‘z”zÑ"Ô"Ð"Ð"Ð"r   c                 ó*   — t          d|z  ¦  «         dS )zMEncountered mnemonic entity reference

        Default behaviour is to print.zentityRef: &%s;Nr  )r9   Ú	entityRefs     r   r  zXMLParser.gotEntityReferencef  s   € õ 	Ð )Ñ+Ñ,Ô,Ð,Ð,Ð,r   c                 ó   — dS )z=Encountered comment.

        Default behaviour is to ignore.Nr	   )r9   r”   s     r   r�   zXMLParser.gotCommentl  s	   € ð 	ˆr   c                 ó0   — |                       |¦  «         dS )zJEncountered CDATA

        Default behaviour is to call the gotText methodN)r«   )r9   r±   s     r   r¸   zXMLParser.gotCDatar  s   € ð 	�Š�UÑÔÐÐÐr   c                 ó@   — t          dt          |¦  «        ¦  «         dS )z—Encountered DOCTYPE

        This is really grotty: it basically just gives you everything between
        '<!DOCTYPE' and '>' as an argument.
        r»   Nr  )r9   r¼   s     r   rÇ   zXMLParser.gotDoctypex  s    € õ 	ˆj�$˜w™-œ-Ñ(Ô(Ð(Ð(Ð(r   c                 ó&   — t          d|¦  «         dS )z?Encountered closing tag

        Default behaviour is to print.ÚendNr  )r9   r(   s     r   r¡   zXMLParser.gotTagEnd€  s   € õ 	ˆe�TÑÔÐÐÐr   )Dr@   rA   rB   rm   rI   r5   r�   r[   r‚   rJ   rL   rN   rW   r^   rh   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ç   rê   rì   rð   rò   rõ   r÷   rg   rü   rþ   r  r  r  r
  r  r  r  Údo_spacebodydataÚend_spacebodydatar¢   r«   r  r�   r¸   rÇ   r¡   r	   r   r   rE   rE   Q   s•  € € € € € Ø€EØ€IØ€HØÐØ€Hð
 Ððð ð ð
)ð )ð )ð
Mð Mð Mðð ð ðð ð ðð ð ð(,ð ,ð ,ð\.ð .ð .ðð ð ðð ð ðð ð ðð ð ð,Að ,Að ,Að\ð ð ðð ð ð$ð $ð $ðð ð ð4ð 4ð 4ð(ð ð ðð ð ð<ð <ð <ð*ð ð ðð ð ð
ð ð ð(ð (ð (ð#ð #ð #ðPð Pð Pð<
ð 
ð 
ð, €HØ€Gð#ð #ð #ð.ð .ð .ð.ð ð ðð ð ð
*ð *ð *ðð ð ð!ð !ð !ð"=ð =ð =ð%ð %ð %ðð ð ð ð ð ðð ð ðð ð ðð ð ð
ð ð ð
%&ð %&ð %&ðNð ð ðð ð ð$.ð .ð .ð
ð ð ð #ÐØ$Ðð)ð )ð )ð#ð #ð #ð-ð -ð -ðð ð ðð ð ð)ð )ð )ðð ð ð ð r   rE   N)Ú__doc__Útwisted.internet.protocolr   Útwisted.python.reflectr   ÚBEGIN_HANDLERÚ
DO_HANDLERrz   r    r×   r   r   r#   r+   r0   Ú	Exceptionr2   rE   r	   r   r   ú<module>r+     s  ððð ð" /Ð .Ð .Ð .Ð .Ð .Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6ð €Ø€
Ø€à€
Ø Ñ)Ð ðð ð ðð ð ðð ð ðð ð ðð ð ðIð Ið Ið Ið I�ñ Iô Ið Iðsð sð sð sð s�ñ sô sð sð sð sr   