Ë
    þ)fªJ  ã                   óV  — d Z dgZddlZddlZddlmZmZmZmZm	Z	 ddl
mZmZ ddlZddlmZmZ ddl
mZmZmZmZ 	 ddlmZ d	Z G d„ de	«      Z G d„ dej:                  «      Z G d„ de«      Z  G d„ dejB                  «      Z" G d„ de"«      Z#y# e$ rZdd
lmZ dZY dZ[Œ^dZ[ww xY w)ÚMITÚHTML5TreeBuilderé    N)ÚDetectsXMLParsedAsHTMLÚ
PERMISSIVEÚHTMLÚHTML_5ÚHTMLTreeBuilder)ÚNamespacedAttributeÚnonwhitespace_re)Ú
namespacesÚprefixes)ÚCommentÚDoctypeÚNavigableStringÚTag)Ú_baseF)ÚbaseTc                   ó@   — e Zd ZdZdZeeeegZdZ		 d	d„Z
d„ Zd„ Zd„ Zy)
r   a  Use html5lib to build a tree.

    Note that this TreeBuilder does not support some features common
    to HTML TreeBuilders. Some of these features could theoretically
    be implemented, but at the very least it's quite difficult,
    because html5lib moves the parse tree around as it's being built.

    * This TreeBuilder doesn't use different subclasses of NavigableString
      based on the name of the tag in which the string was found.

    * You can't use a SoupStrainer to parse only part of a document.
    Úhtml5libTNc              #   óŠ   K  — || _         |rt        j                  dd¬«       t        j                  |d¬«       |d d df–— y ­w)NzjYou provided a value for exclude_encoding, but the html5lib tree builder doesn't support exclude_encoding.é   ©Ú
stacklevelF)Úuser_specified_encodingÚwarningsÚwarnr   Úwarn_if_markup_looks_like_xml)ÚselfÚmarkupr   Údocument_declared_encodingÚexclude_encodingss        úR/var/www/html/flask-app/venv/lib/python3.12/site-packages/bs4/builder/_html5lib.pyÚprepare_markupzHTML5TreeBuilder.prepare_markup@   sM   è ø€ ð (?ˆÔ$ñ
 Ü�M‰MØ|Øõô 	×<Ñ<Ø˜qõ	
ð �t˜T 5Ð)Ó)ùs   ‚AAc                 óB  — | j                   j                  �t        j                  dd¬«       t	        j
                  | j                  ¬«      }|| j                  _        t        «       }t        |t        «      s%t        r| j                  |d<   n| j                  |d<    |j                  |fi |¤Ž}t        |t        «      rd |_        nF|j                   j"                  j$                  d   }t        |t        «      s|j&                  }||_        d | j                  _        y )Nz‚You provided a value for parse_only, but the html5lib tree builder doesn't support parse_only. The entire document will be parsed.é   r   )ÚtreeÚoverride_encodingÚencodingr   )ÚsoupÚ
parse_onlyr   r   r   Ú
HTMLParserÚcreate_treebuilderÚunderlying_builderÚparserÚdictÚ
isinstanceÚstrÚnew_html5libr   ÚparseÚoriginal_encodingÚ	tokenizerÚstreamÚcharEncodingÚname)r   r   r.   Úextra_kwargsÚdocr4   s         r"   ÚfeedzHTML5TreeBuilder.feedW   sù   € Ø�9‰9×ÑÐ+Ü�M‰Mð UØõô ×$Ñ$¨$×*AÑ*AÔBˆØ)/ˆ×ÑÔ&Ü“vˆÜ˜&¤#Ô&ÝØ48×4PÑ4P�Ð0Ò1à+/×+GÑ+G�˜ZÑ(Øˆf�l‰l˜6Ñ2 \Ñ2ˆô �fœcÔ"ð %)ˆCÕ!à &× 0Ñ 0× 7Ñ 7× DÑ DÀQÑ GÐÜÐ/´Ô5ð %6×$:Ñ$:Ð!Ø$5ˆCÔ!Ø)-ˆ×ÑÕ&ó    c                 óh   — t        || j                  | j                  ¬«      | _        | j                  S )N)Ústore_line_numbers)ÚTreeBuilderForHtml5libr)   r>   r-   )r   ÚnamespaceHTMLElementss     r"   r,   z#HTML5TreeBuilder.create_treebuilderv   s/   € Ü"8Ø! 4§9¡9Ø#×6Ñ6ô#
ˆÔð ×&Ñ&Ð&r<   c                 ó   — d|z  S )zSee `TreeBuilder`.z)<html><head></head><body>%s</body></html>© )r   Úfragments     r"   Útest_fragment_to_documentz*HTML5TreeBuilder.test_fragment_to_document}   s   € à:¸XÑEÐEr<   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚNAMEr   r   r   ÚfeaturesÚTRACKS_LINE_NUMBERSr#   r;   r,   rD   rB   r<   r"   r   r   *   s@   „ ñð €Dà�j &¨$Ð/€Hð Ðð KOó*ò..ò>'óFr<   c                   óZ   ‡ — e Zd Z	 	 dˆ fd„	Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zˆ xZS )r?   c                 óˆ   •— |r|| _         nddlm}  |	 dd|i|¤Ž| _         t        t        | �  |«       d | _        || _        y )Nr   ©ÚBeautifulSoupr>   )Ú úhtml.parser)r)   Úbs4rO   Úsuperr?   Ú__init__r.   r>   )r   r@   r)   r>   ÚkwargsrO   Ú	__class__s         €r"   rT   zTreeBuilderForHtml5lib.__init__„   sU   ø€ áØˆD�Iå)ñ &Ø!ñØ6HðàñˆDŒIô 	Ô$ dÑ4Ð5JÔKð ˆŒØ"4ˆÕr<   c                 óx   — | j                   j                  «        t        | j                   | j                   d «      S ©N)r)   ÚresetÚElement©r   s    r"   ÚdocumentClassz$TreeBuilderForHtml5lib.documentClassš   s'   € Ø�	‰	�‰ÔÜ�t—y‘y $§)¡)¨TÓ2Ð2r<   c                 ó†   — |d   }|d   }|d   }t        j                  |||«      }| j                  j                  |«       y )Nr8   ÚpublicIdÚsystemId)r   Úfor_name_and_idsr)   Úobject_was_parsed)r   Útokenr8   r^   r_   Údoctypes         r"   ÚinsertDoctypez$TreeBuilderForHtml5lib.insertDoctypež   sE   € Ø�V‰}ˆØ˜Ñ$ˆØ˜Ñ$ˆä×*Ñ*¨4°¸8ÓDˆØ�	‰	×#Ñ# GÕ,r<   c                 ó  — i }| j                   rJ| j                  r>| j                   j                  j                  j	                  «       \  }}||d<   |dz
  |d<    | j
                  j                  ||fi |¤Ž}t        || j
                  |«      S )NÚ
sourcelineé   Ú	sourcepos)r.   r>   r5   r6   Úpositionr)   Únew_tagrZ   )r   r8   Ú	namespacerU   rf   rh   Útags          r"   ÚelementClassz#TreeBuilderForHtml5lib.elementClass¦   sƒ   € ØˆØ�;Š;˜4×2Ò2ð %)§K¡K×$9Ñ$9×$@Ñ$@×$IÑ$IÓ$KÑ!ˆJ˜	Ø#-ˆF�<Ñ Ø"+¨A¡+ˆF�;ÑØˆd�i‰i×Ñ  iÑ:°6Ñ:ˆä�s˜DŸI™I yÓ1Ð1r<   c                 ó@   — t        t        |«      | j                  «      S rX   )ÚTextNoder   r)   )r   Údatas     r"   ÚcommentClassz#TreeBuilderForHtml5lib.commentClass³   s   € Üœ › t§y¡yÓ1Ð1r<   c                 óŽ   — ddl m}  |dd«      | _        d| j                  _        t	        | j                  | j                  d «      S )Nr   rN   rP   rQ   z[document_fragment])rR   rO   r)   r8   rZ   )r   rO   s     r"   ÚfragmentClassz$TreeBuilderForHtml5lib.fragmentClass¶   s7   € Ý%ñ " " mÓ4ˆŒ	Ø.ˆ�	‰	ŒÜ�t—y‘y $§)¡)¨TÓ2Ð2r<   c                 óN   — | j                   j                  |j                  «       y rX   )r)   ÚappendÚelement©r   Únodes     r"   ÚappendChildz"TreeBuilderForHtml5lib.appendChild¾   s   € à�	‰	×Ñ˜Ÿ™Õ&r<   c                 ó   — | j                   S rX   )r)   r[   s    r"   ÚgetDocumentz"TreeBuilderForHtml5lib.getDocumentÂ   s   € Ø�y‰yÐr<   c                 óT   — t         j                  j                  | «      j                  S rX   )Útreebuilder_baseÚTreeBuilderÚgetFragmentrv   r[   s    r"   r   z"TreeBuilderForHtml5lib.getFragmentÅ   s   € Ü×+Ñ+×7Ñ7¸Ó=×EÑEÐEr<   c                 óŠ   ‡‡‡‡— ddl mŠ g Št        j                  d«      Šdˆˆˆˆfd„	Š ‰|d«       dj	                  ‰«      S )Nr   rN   z8^(.*?)(?: PUBLIC "(.*?)"(?: "(.*?)")?| SYSTEM "(.*?)")?$c                 ó  •— t        | ‰	«      r	 t        | t        «      rÇ‰
j                  | «      }|r›|j                  d«      }|j                  dkD  r_|j                  d«      xs d}|j                  d«      xs |j                  d«      xs d}‰j                  dd|z  ›d|›d	|›d
|›d�	«       y ‰j                  dd|z  ›d|›d�«       y ‰j                  dd|z  ›d�«       y t        | t        «      r‰j                  dd|z  ›d| ›d�«       y t        | t        «      r‰j                  dd|z  ›d| ›d�«       y | j                  r#t        | j                     ›d| j                  ›�}n| j                  }‰j                  dd|z  ›d|›d�«       | j                  rÆg }t        | j                  j                  «       «      D ]k  \  }}t        |t        «      r"t        |j                     ›d|j                  ›�}t        |t        «      rdj                  |«      }|j                  ||f«       Œm t!        |«      D ]%  \  }}‰j                  dd|dz   z  ›|›d|›d�«       Œ' |dz  }| j"                  D ]  } ‰||«       Œ y )Nrg   é   rP   r   r%   ú|ú z
<!DOCTYPE z "z" "z">ú>z<!DOCTYPE >z<!-- z -->ú"ú<z=")r0   r   ÚmatchÚgroupÚ	lastindexru   r   r   rk   r   r8   ÚattrsÚlistÚitemsr
   ÚjoinÚsortedÚchildren)rv   ÚindentÚmr8   r^   r_   Ú
attributesÚvalueÚchildrO   Ú
doctype_reÚrvÚserializeElements            €€€€r"   r˜   z?TreeBuilderForHtml5lib.testSerializer.<locals>.serializeElementÍ   s  ø€ Ü˜' =Ô1ØÜ˜'¤7Ô+Ø×$Ñ$ WÓ-�ÙØŸ7™7 1›:�DØ—{‘{ Q’Ø#$§7¡7¨1£:Ò#3°˜Ø#$§7¡7¨1£:Ò#A°·±¸³Ò#A¸r˜ØŸ	š	Ø#&¨£<²²xÂð#Kõ Lð Ÿ	š	¸¸f»ÂdÐ"KÕLà—I’I°#¸³,Ð@ÕAÜ˜G¤WÔ-Ø—	’	¨c°F«lºGÐDÕEÜ˜G¤_Ô5Ø—	’	¨¨v«²wÐ?Õ@à×$Ò$Ü&.¨w×/@Ñ/@Ó&AØ&-§l¢lð4‘Dð #Ÿ<™<�DØ—	’	 s¨V£|²TÐ:Ô;Ø—=’=Ø!#�JÜ'+¨G¯M©M×,?Ñ,?Ó,AÓ'Bò 9™˜˜eÜ% dÔ,?Ô@Ü.6°t·~±~Ó.FÈÏ	Ê	Ð#R˜DÜ% e¬TÔ2Ø$'§H¡H¨U£O˜EØ"×)Ñ)¨4°¨-Õ8ð9ô (.¨jÓ'9ò T™˜˜eØŸ	š	°#¸À!¹Ò2DÂdÊEÐ"RÕSðTà˜!‘�Ø$×-Ñ-ò 4�EÙ$ U¨FÕ3ñ4r<   ú
)r   )rR   rO   ÚreÚcompilerŽ   )r   rv   rO   r–   r—   r˜   s     @@@@r"   ÚtestSerializerz%TreeBuilderForHtml5lib.testSerializerÈ   s?   û€ Ý%ØˆÜ—Z‘ZÐ [Ó\ˆ
÷(	4ð (	4ñR 	˜ !Ô$à�y‰y˜‹}Ðr<   )NT)rE   rF   rG   rT   r\   rd   rm   rq   rs   ry   r{   r   rœ   Ú__classcell__)rV   s   @r"   r?   r?   ‚   s<   ø„ à37Ø$(õ5ò,3ò-ò2ò2ò3ò'òòFö0r<   r?   c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚAttrListc                 óZ   — || _         t        | j                   j                  «      | _        y rX   )rv   r/   r‹   )r   rv   s     r"   rT   zAttrList.__init__û   s   € ØˆŒÜ˜$Ÿ,™,×,Ñ,Ó-ˆ�
r<   c                 ód   — t        | j                  j                  «       «      j                  «       S rX   )rŒ   r‹   r�   Ú__iter__r[   s    r"   r¢   zAttrList.__iter__þ   s#   € Ü�D—J‘J×$Ñ$Ó&Ó'×0Ñ0Ó2Ð2r<   c                 óH  — | j                   j                  xs i }||j                  dg «      v s@| j                   j                  |v rM||j                  | j                   j                  g «      v r%t	        |t
        «      st        j                  |«      }|| j                   |<   y )NÚ*)rv   Úcdata_list_attributesÚgetr8   r0   rŒ   r   Úfindall)r   r8   r”   Ú	list_attrs       r"   Ú__setitem__zAttrList.__setitem__   s„   € ð —L‘L×6Ñ6Ò<¸"ˆ	Ø�I—M‘M # rÓ*Ñ*Ø—‘×!Ñ! YÑ.Ø˜IŸM™M¨$¯,©,×*;Ñ*;¸RÓ@Ñ@ô ˜e¤TÔ*Ü(×0Ñ0°Ó7�Ø"ˆ�‰�TÒr<   c                 óH   — t        | j                  j                  «       «      S rX   )rŒ   r‹   r�   r[   s    r"   r�   zAttrList.items  s   € Ü�D—J‘J×$Ñ$Ó&Ó'Ð'r<   c                 óH   — t        | j                  j                  «       «      S rX   ©rŒ   r‹   Úkeysr[   s    r"   r­   zAttrList.keys  s   € Ü�D—J‘J—O‘OÓ%Ó&Ð&r<   c                 ó,   — t        | j                  «      S rX   )Úlenr‹   r[   s    r"   Ú__len__zAttrList.__len__  s   € Ü�4—:‘:‹Ðr<   c                 ó    — | j                   |   S rX   )r‹   ©r   r8   s     r"   Ú__getitem__zAttrList.__getitem__  s   € Ø�z‰z˜$ÑÐr<   c                 óL   — |t        | j                  j                  «       «      v S rX   r¬   r²   s     r"   Ú__contains__zAttrList.__contains__  s   € Ø”t˜DŸJ™JŸO™OÓ-Ó.Ð.Ð.r<   N)rE   rF   rG   rT   r¢   r©   r�   r­   r°   r³   rµ   rB   r<   r"   rŸ   rŸ   ú   s*   „ ò.ò3ò#ò(ò'òò ó/r<   rŸ   c                   ór   — e Zd Zd„ Zd„ Zd„ Zd„ Z eee«      Zdd„Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Z ee«      Zy)rZ   c                 ó‚   — t         j                  j                  | |j                  «       || _        || _        || _        y rX   )r}   ÚNoderT   r8   rv   r)   rk   )r   rv   r)   rk   s       r"   rT   zElement.__init__  s1   € Ü×Ñ×&Ñ& t¨W¯\©\Ô:ØˆŒØˆŒ	Ø"ˆ�r<   c                 ó  — d x}}t        |t        «      r|x}}nYt        |t        «      r|}nF|j                  j                  t
        k(  r|j                  x}}| |_        n|j                  }| |_        t        |t        «      s&|j                  �|j                  j                  «        |�š| j                  j                  r„| j                  j                  d   j                  t
        k(  rZ| j                  j                  d   }| j                  j                  ||z   «      }|j                  |«       || j                  _        y t        |t        «      r| j                  j                  |«      }| j                  j                  r| j                  j                  d«      }n=| j                  j                  �| j                  j                  «       }n| j                  }| j                  j                  || j                  |¬«       y )NéÿÿÿÿF)ÚparentÚmost_recent_element)r0   r1   r   rv   rV   r   r»   ÚextractÚcontentsr)   Ú
new_stringÚreplace_withÚ_most_recent_elementÚ_last_descendantÚnext_elementra   )r   rx   Ústring_childr•   Úold_elementÚnew_elementr¼   s          r"   ry   zElement.appendChild  s™  € Ø#Ð#ˆ�uÜ�dœCÔ ð $(Ð'ˆL™5Ü˜œcÔ"ð ‰EØ�\‰\×#Ñ#¤Ò6Ø#'§<¡<Ð/ˆL˜5ØˆD�Kà—L‘LˆEØˆDŒKä˜%¤Ô%¨%¯,©,Ð*BØ�L‰L× Ñ Ô"àÐ$¨¯©×)>Ò)>Ø—‘×%Ñ% bÑ)×3Ñ3´ÒFð Ÿ,™,×/Ñ/°Ñ3ˆKØŸ)™)×.Ñ.¨{¸\Ñ/IÓJˆKØ×$Ñ$ [Ô1Ø-8ˆD�I‰IÕ*ä˜$¤Ô$àŸ	™	×,Ñ,¨TÓ2�ð
 �|‰|×$Ò$Ø&*§l¡l×&CÑ&CÀEÓ&JÑ#Ø—‘×*Ñ*Ð6ð
 '+§i¡i×&@Ñ&@Ó&BÑ#à&*§l¡lÐ#à�I‰I×'Ñ'Ø˜dŸl™lØ$7ð (õ 9r<   c                 ód   — t        | j                  t        «      ri S t        | j                  «      S rX   )r0   rv   r   rŸ   r[   s    r"   ÚgetAttributeszElement.getAttributesU  s$   € Ü�d—l‘l¤GÔ,ØˆIÜ˜Ÿ™Ó%Ð%r<   c                 óÎ  — |�ãt        |«      dkD  rÔg }t        |j                  «       «      D ]&  \  }}t        |t        «      sŒt        |Ž }||= |||<   Œ( | j                  j                  j                  | j                  |«       t        |j                  «       «      D ]  \  }}|| j                  |<   Œ | j                  j                  j                  | j                  «       y y y )Nr   )r¯   rŒ   r�   r0   Útupler
   r)   ÚbuilderÚ$_replace_cdata_list_attribute_valuesr8   rv   Úset_up_substitutions)r   r“   Úconverted_attributesr8   r”   Únew_names         r"   ÚsetAttributeszElement.setAttributesZ  sØ   € ØÐ!¤c¨*£o¸Ò&9Ø#%Ð Ü# J×$4Ñ$4Ó$6Ó7ò 1‘��eÜ˜d¤EÕ*Ü2°DÐ9�HØ" 4Ð(Ø+0�J˜xÒ(ð	1ð �I‰I×Ñ×BÑBØ—	‘	˜:ô'ä# J×$4Ñ$4Ó$6Ó7ò +‘��eØ%*�—‘˜TÒ"ð+ð �I‰I×Ñ×2Ñ2°4·<±<Õ@ð% ':Ð!r<   Nc                 ó®   — t        | j                  j                  |«      | j                  «      }|r| j                  ||«       y | j	                  |«       y rX   )ro   r)   r¿   ÚinsertBeforery   )r   rp   rÒ   Útexts       r"   Ú
insertTextzElement.insertTextp  sB   € Ü˜Ÿ	™	×,Ñ,¨TÓ2°D·I±IÓ>ˆÙØ×Ñ˜d LÕ1à×Ñ˜TÕ"r<   c                 ó  — | j                   j                  |j                   «      }|j                   j                  t        k(  r™| j                   j                  rƒ| j                   j                  |dz
     j                  t        k(  rV| j                   j                  |dz
     }| j
                  j                  ||j                   z   «      }|j                  |«       y | j                   j                  ||j                   «       | |_	        y )Nrg   )
rv   ÚindexrV   r   r¾   r)   r¿   rÀ   Úinsertr»   )r   rx   ÚrefNoderÖ   Úold_nodeÚnew_strs         r"   rÒ   zElement.insertBeforew  s»   € Ø—‘×"Ñ" 7§?¡?Ó3ˆØ�L‰L×"Ñ"¤oÒ5¸$¿,¹,×:OÒ:OØ—‘×%Ñ% e¨A¡gÑ.×8Ñ8¼OÒKà—|‘|×,Ñ,¨U°1©WÑ5ˆHØ—i‘i×*Ñ*¨8°d·l±lÑ+BÓCˆGØ×!Ñ! 'Õ*à�L‰L×Ñ  t§|¡|Ô4ØˆD�Kr<   c                 ó8   — |j                   j                  «        y rX   )rv   r½   rw   s     r"   ÚremoveChildzElement.removeChildƒ  s   € Ø�‰×ÑÕr<   c                 ó\  — | j                   }|j                   }|j                  }|j                  dd«      }t        |j                  «      dkD  r|j                  d   }|j
                  }nd}|j
                  }|j                  }t        |«      dkD  rc|d   }	|�||	_        n||	_        ||	_        |�|	|_        n|	|_        |�|	|_        |d   j                  dd«      }
||
_        |�|
|_        d|
_        |D ]$  }||_        |j                  j                  |«       Œ& g |_        ||_        y)z1Move all of this tag's children into another tag.Fr   rº   NT)
rv   Únext_siblingrÂ   r¯   r¾   rÃ   Úprevious_elementÚprevious_siblingr»   ru   )r   Ú
new_parentrv   Únew_parent_elementÚfinal_next_elementÚnew_parents_last_descendantÚnew_parents_last_childÚ(new_parents_last_descendant_next_elementÚ	to_appendÚfirst_childÚlast_childs_last_descendantr•   s               r"   ÚreparentChildrenzElement.reparentChildren†  sd  € ð —,‘,ˆØ'×/Ñ/Ðð %×1Ñ1Ðà&8×&IÑ&IÈ%ÐQVÓ&WÐ#ÜÐ!×*Ñ*Ó+¨aÒ/ð &8×%@Ñ%@ÀÑ%DÐ"Ø7R×7_Ñ7_Ñ4ð &*Ð"Ø7I×7VÑ7VÐ4à×$Ñ$ˆ	Üˆy‹>˜AÒð $ A™,ˆKØ*Ð6Ø/J�Õ,à/A�Ô,Ø+AˆKÔ(Ø*Ð6Ø;FÐ+Õ8à2=Ð"Ô/Ø%Ð1Ø6AÐ&Ô3ð +4°B©-×*HÑ*HÈÐPTÓ*UÐ'à7_Ð'Ô4Ø7ÐCð MhÐ8ÔIØ7;Ð'Ô4àò 	6ˆEØ-ˆEŒLØ×'Ñ'×.Ñ.¨uÕ5ð	6ð
 ˆÔØ1ˆÕr<   c                 ó  — | j                   j                  | j                  j                  | j                  «      }t        || j                   | j                  «      }| j                  D ]  \  }}||j                  |<   Œ |S rX   )r)   rj   rv   r8   rk   rZ   r“   )r   rl   rx   Úkeyr”   s        r"   Ú	cloneNodezElement.cloneNodeÈ  sf   € Ø�i‰i×Ñ §¡× 1Ñ 1°4·>±>ÓBˆÜ�s˜DŸI™I t§~¡~Ó6ˆØŸ™ò 	)‰IˆC�Ø#(ˆD�O‰O˜CÒ ð	)àˆr<   c                 ó.   — | j                   j                  S rX   )rv   r¾   r[   s    r"   Ú
hasContentzElement.hasContentÏ  s   € Ø�|‰|×$Ñ$Ð$r<   c                 óz   — | j                   d k(  rt        d   | j                  fS | j                   | j                  fS )NÚhtml)rk   r   r8   r[   s    r"   ÚgetNameTuplezElement.getNameTupleÒ  s5   € Ø�>‰>˜TÒ!Ü˜fÑ% t§y¡yÐ0Ð0à—>‘> 4§9¡9Ð,Ð,r<   rX   )rE   rF   rG   rT   ry   rÈ   rÐ   Úpropertyr“   rÔ   rÒ   rÜ   rê   rí   rï   rò   Ú	nameTuplerB   r<   r"   rZ   rZ     sV   „ ò#ò49òl&ò
Añ( ˜-¨Ó7€Jó#ò
òò<2òDò%ò-ñ ˜Ó&�Ir<   rZ   c                   ó   — e Zd Zd„ Zd„ Zy)ro   c                 ó`   — t         j                  j                  | d «       || _        || _        y rX   )r}   r¸   rT   rv   r)   )r   rv   r)   s      r"   rT   zTextNode.__init__Û  s&   € Ü×Ñ×&Ñ& t¨TÔ2ØˆŒØˆ�	r<   c                 ó   — t         ‚rX   )ÚNotImplementedErrorr[   s    r"   rí   zTextNode.cloneNodeà  s   € Ü!Ð!r<   N)rE   rF   rG   rT   rí   rB   r<   r"   ro   ro   Ú  s   „ òó
"r<   ro   )$Ú__license__Ú__all__r   rš   Úbs4.builderr   r   r   r   r	   Úbs4.elementr
   r   r   Úhtml5lib.constantsr   r   r   r   r   r   Úhtml5lib.treebuildersr   r}   r2   ÚImportErrorÚer   r   r~   r?   ÚobjectrŸ   r¸   rZ   ro   rB   r<   r"   ú<module>r     s¾   ðà€ð ð€ó Û 	÷õ ÷ó ÷÷ó ðå?Ø€LôUF�ô UFôpvÐ-×9Ñ9ô vôp/ˆvô /ô<@'Ð×#Ñ#ô @'ôD"ˆwõ "øðk ò å>Ø…Lûðús   ½B ÂB(ÂB#Â#B(