§
    ¡”j,>  ã            	       óÔ  — d Z ddlmZ ddlmZ ddlmZmZmZ dZed         Z	 e
e¦  «        df e
ee	d	fhz  ¦  «        df e
ee	d
fe	dfhz  ¦  «        df e
e	dfe	dfg¦  «        df e
e	dfe	dfg¦  «        dfdœZ e
d¦  «        Z G d„ de¦  «        Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ d¦  «        ZdS ) úTree builder.é    )Úcopy)ÚElementTreeé   )Ú
namespacesÚscoping_elementsÚtable_insert_mode_elementsNÚhtmlFÚbuttonÚolÚulÚtableÚoptgroupÚoptionT)Nr   Úlistr   Úselect)ÚddÚdtÚlir   r   ÚpÚrpÚrtc                   ó   — e Zd Zd„ ZdS )ÚActiveFormattingElementsc                 ó  — d}|t           ur]| ddd…         D ]Q}|t           u r nE|j        |j        k    o|j        |j        k    }|r|dz  }|dk    r|                      |¦  «          nŒRt                               | |¦  «         dS )z#Append node to the end of the list.r   Néÿÿÿÿr   é   )ÚMarkerÚ
name_tupleÚ
attributesÚremover   Úappend)ÚselfÚnodeÚequal_countÚelementÚnodes_equals        úd/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/tinyhtml5/treebuilder.pyr"   zActiveFormattingElements.append   s¶   € àˆØ•vÐÐØ   " œ:ð 
ð 
�Ø�fÐ$Ð$Ø�EàÔ&¨$¬/Ò9ð :ØÔ&¨$¬/Ò9ð ð ð %Ø 1Ñ$�KØ !Ò#Ð#Ø—K’K Ñ(Ô(Ð(Ø�Eð $õ 	�Š�D˜$ÑÔÐÐÐó    N)Ú__name__Ú
__module__Ú__qualname__r"   © r)   r(   r   r      s#   € € € € € ð ð  ð  ð  ð  r)   r   c                   ó�   — e Zd Zdd„Zd„ Zd„ Zd„ Z eee¦  «        Zd„ Z	d„ Z
 ee	e
¦  «        Zd„ Zd	„ Zd
„ Zd„ Zdd„Zd„ Zd„ ZdS )ÚElementNc                 óê   — || _         || _        t          j        |                      ||¦  «        ¦  «        | _        |€t          | j         f| _        n| j        | j         f| _        g | _        d | _	        d S ©N)
ÚnameÚ	namespacer   r/   Ú_get_etree_tagÚ_elementÚ_htmlr   Ú	_childrenÚparent©r#   r2   r3   s      r(   Ú__init__zElement.__init__-   sl   € ØˆŒ	Ø"ˆŒÝ#Ô+¨D×,?Ò,?ÀÀiÑ,PÔ,PÑQÔQˆŒØÐÝ# T¤YÐ.ˆDŒOˆOà"œn¨d¬iÐ7ˆDŒOØˆŒð ˆŒˆˆr)   c                 ó   — |€|nd|› d|› �S )NÚ{Ú}r-   r9   s      r(   r4   zElement._get_etree_tag:   s"   € Ø Ð(ˆtˆtÐ.F°9Ð.FÐ.FÀÐ.FÐ.FÐFr)   c                 ó   — | j         j        S r1   )r5   Úattrib©r#   s    r(   Ú_get_attributeszElement._get_attributes=   s   € ØŒ}Ô#Ð#r)   c                 óâ   — | j         j        }|                     ¦   «          |rJ|                     ¦   «         D ]7\  }}t	          |t
          ¦  «        rd|d         › d|d         › �n|}|||<   Œ6d S d S )Nr<   é   r=   r   )r5   r?   ÚclearÚitemsÚ
isinstanceÚtuple)r#   r    Úelement_attributesÚkeyÚvaluer2   s         r(   Ú_set_attributeszElement._set_attributes@   sœ   € Ø!œ]Ô1ÐØ× Ò Ñ"Ô"Ð"Øð 	1ð )×.Ò.Ñ0Ô0ð 1ð 1‘
��UÝ2<¸SÅ%Ñ2HÔ2HÐQÐ.˜C œFÐ.Ð. c¨!¤fÐ.Ð.Ð.Èc�Ø+0Ð" 4Ñ(Ð(ð	1ð 	1ð1ð 1r)   c                 ó   — | j         S r1   )r7   r@   s    r(   Ú_get_childrenzElement._get_childrenM   s
   € ØŒ~Ðr)   c                 ó\   — | j         d d …= g | _        |D ]}|                      |¦  «         Œd S r1   )r5   r7   Úinsert_child)r#   rJ   r&   s      r(   Ú_set_childrenzElement._set_childrenP   sG   € ØŒM˜!˜!˜!ÐØˆŒØð 	'ð 	'ˆGØ×Ò˜gÑ&Ô&Ð&Ð&ð	'ð 	'r)   c                 ó\   — t          | j        j        pt          | j        ¦  «        ¦  «        S )z>Return True if the node has children or text, False otherwise.)Úboolr5   ÚtextÚlenr@   s    r(   Úhas_contentzElement.has_contentZ   s$   € å�D”MÔ&Ð<­#¨d¬mÑ*<Ô*<Ñ=Ô=Ð=r)   c                 ó†   — | j                              |¦  «         | j                             |j        ¦  «         | |_        dS )z+Insert node as a child of the current node.N)r7   r"   r5   r8   ©r#   r$   s     r(   Úappend_childzElement.append_child^   ó;   € àŒ×Ò˜dÑ#Ô#Ð#ØŒ×Ò˜Tœ]Ñ+Ô+Ð+ØˆŒˆˆr)   c                 ó¬   — t          | j        ¦  «                             |j        ¦  «        }| j                             ||j        ¦  «         | |_        dS )z’Insert node as a child of the current node, before reference.

        Raise ValueError if reference is not a child of the current node.

        N)r   r5   ÚindexÚinsertr8   )r#   r$   Ú	referencer[   s       r(   Úinsert_beforezElement.insert_befored   sI   € õ �T”]Ñ#Ô#×)Ò)¨)Ô*<Ñ=Ô=ˆØŒ×Ò˜U D¤MÑ2Ô2Ð2ØˆŒˆˆr)   c                 ó†   — | j                              |¦  «         | j                             |j        ¦  «         d|_        dS )z2Remove node from the children of the current node.N)r7   r!   r5   r8   rW   s     r(   Úremove_childzElement.remove_childn   rY   r)   c                 óh  — t          | j        ¦  «        s/| j        j        sd| j        _        | j        xj        |z  c_        dS |€A| j        d         j        sd| j        d         _        | j        d         xj        |z  c_        dS t	          | j        ¦  «        }|                     |j        ¦  «        }|dk    rJ| j        |dz
           j        sd| j        |dz
           _        | j        |dz
           xj        |z  c_        dS | j        j        sd| j        _        | j        xj        |z  c_        dS )zæInsert data as text in the current node.

        Text is positioned before the start of node insert_before or to the end
        of the node's text.

        If insert_before is a node, insert the text before this node.

        Ú Nr   r   r   )rT   r5   rS   Útailr   r[   )r#   rS   r^   Úchildrenr[   s        r(   Úinsert_textzElement.insert_textt   s@  € õ �4”=Ñ!Ô!ð 	+Ø”=Ô%ð (Ø%'�”Ô"ØŒMÐÔ $Ñ&ÐÔÐÐØÐ"à”= Ô$Ô)ð ,Ø)+�”˜bÔ!Ô&ØŒM˜"ÔÐ"Ô" dÑ*Ð"Ô"Ð"Ð"õ ˜DœMÑ*Ô*ˆHØ—N’N =Ô#9Ñ:Ô:ˆEØ�qŠyˆyØ”} U¨Q¡YÔ/Ô4ð 7Ø46�D”M %¨!¡)Ô,Ô1Ø”˜e a™iÔ(Ð-Ô-°Ñ5Ð-Ô-Ð-Ð-à”}Ô)ð ,Ø)+�D”MÔ&Ø”Ð"Ô" dÑ*Ð"Ô"Ð"Ð"r)   c                 óª   —  t          | ¦  «        | j        | j        ¦  «        }| j        j        r#t          | j        j        ¦  «        |j        _        |S )zƒReturn a shallow copy of the current node.

        The node has the same name and attributes, but no parent or children.

        )Útyper2   r3   r5   r?   r   )r#   r&   s     r(   ÚclonezElement.clone“   sJ   € ð •$�t‘*”*˜TœY¨¬Ñ7Ô7ˆØŒ=Ôð 	AÝ&*¨4¬=Ô+?Ñ&@Ô&@ˆGÔÔ#Øˆr)   c                 óT  — |j         r+|j         d         j        xj        | j        j        z  c_        nC|j        j        sd|j        _        | j        j        �|j        xj        | j        j        z  c_        d| j        _        | j         D ]}|                     |¦  «         Œg | _         dS )z­Move all the children of the current node to parent.

        This is needed so that trees that don't store text as nodes move the
        text in the correct way.

        r   rb   N)rd   r5   rc   rS   rX   )r#   r8   Úchilds      r(   Úreparent_childrenzElement.reparent_childrenž   s®   € ð Œ?ð 	;ØŒO˜BÔÔ(Ð-Ô-°´Ô1CÑCÐ-Ô-Ð-à”?Ô'ð *Ø')�”Ô$ØŒ}Ô!Ð-Ø”Ð$Ô$¨¬Ô(:Ñ:Ð$Ô$ØˆŒÔØ”]ð 	'ð 	'ˆEØ×Ò Ñ&Ô&Ð&Ð&ØˆŒˆˆr)   r1   )r*   r+   r,   r:   r4   rA   rK   Úpropertyr    rM   rP   rd   rU   rX   r^   r`   re   rh   rk   r-   r)   r(   r/   r/   ,   s
  € € € € € ðð ð ð ðGð Gð Gð$ð $ð $ð1ð 1ð 1ð �˜/¨?Ñ;Ô;€Jðð ð ð'ð 'ð 'ð ˆx˜ }Ñ5Ô5€Hð>ð >ð >ðð ð ðð ð ðð ð ð+ð +ð +ð +ð>	ð 	ð 	ðð ð ð ð r)   r/   c                   ó   — e Zd Zd„ ZdS )ÚCommentc                 óT   — t          j        |¦  «        | _        d | _        g | _        d S r1   )r   rn   r5   r8   r7   )r#   Údatas     r(   r:   zComment.__init__³   s(   € õ $Ô+¨DÑ1Ô1ˆŒØˆŒØˆŒˆˆr)   N©r*   r+   r,   r:   r-   r)   r(   rn   rn   ²   s#   € € € € € ðð ð ð ð r)   rn   c                   ó   — e Zd Zd„ ZdS )ÚDocumentTypec                 óÜ   — t                                | d¦  «         || j        _        | j                             d|¦  «         | j                             d|¦  «         || _        || _        d S )Nz
<!DOCTYPE>ÚpublicIdÚsystemId)r/   r:   r5   rS   ÚsetÚ	public_idÚ	system_id)r#   r2   rx   ry   s       r(   r:   zDocumentType.__init__¼   sd   € Ý×Ò˜˜|Ñ,Ô,Ð,Ø!ˆŒÔØŒ×Ò˜* iÑ0Ô0Ð0ØŒ×Ò˜* iÑ0Ô0Ð0Ø"ˆŒØ"ˆŒˆˆr)   Nrq   r-   r)   r(   rs   rs   »   s#   € € € € € ð#ð #ð #ð #ð #r)   rs   c                   ó   — e Zd Zd„ ZdS )ÚDocumentc                 ó<   — t                                | d¦  «         d S )NÚDOCUMENT_ROOT©r/   r:   r@   s    r(   r:   zDocument.__init__Æ   s   € Ý×Ò˜˜Ñ/Ô/Ð/Ð/Ð/r)   Nrq   r-   r)   r(   r{   r{   Å   s#   € € € € € ð0ð 0ð 0ð 0ð 0r)   r{   c                   ó   — e Zd Zd„ ZdS )ÚDocumentFragmentc                 ó<   — t                                | d¦  «         d S )NÚDOCUMENT_FRAGMENTr~   r@   s    r(   r:   zDocumentFragment.__init__Ë   s   € Ý×Ò˜Ð2Ñ3Ô3Ð3Ð3Ð3r)   Nrq   r-   r)   r(   r€   r€   Ê   s#   € € € € € ð4ð 4ð 4ð 4ð 4r)   r€   c                   ó¤   — e Zd ZdZd„ Zd„ Zdd„Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Z eee¦  «        Zd„ Zd„ Zdd„Zd„ Zdd„Zdd„Zd„ ZdS )ÚTreeBuilderr   c                 óP   — |rd| _         nd| _         |                      ¦   «          dS )zeCreate a TreeBuilder.

        If namespace_html_elements is True, namespace HTML elements.

        zhttp://www.w3.org/1999/xhtmlN)Údefault_namespaceÚreset)r#   Únamespace_html_elementss     r(   r:   zTreeBuilder.__init__Ò   s0   € ð #ð 	*Ø%CˆDÔ"Ð"à%)ˆDÔ"Ø�
Š
‰Œˆˆˆr)   c                 óŠ   — g | _         t          ¦   «         | _        d | _        d | _        d| _        t          ¦   «         | _        d S )NF)Úopen_elementsr   Úactive_formatting_elementsÚhead_elementÚform_elementÚinsert_from_tabler{   Údocumentr@   s    r(   r‡   zTreeBuilder.resetÞ   s?   € ØˆÔÝ*BÑ*DÔ*DˆÔ'à ˆÔØ ˆÔà!&ˆÔå ™
œ
ˆŒˆˆr)   Nc                 ó@  — t          |d¦  «        }|s5t          |t          ¦  «        r	t          |f}t          |t          ¦  «        sJ ‚t
          |         \  }}t          | j        ¦  «        D ],}|r	||k    r dS |s|j        |k    r dS ||j        |v z  r dS Œ-t          ‚)Nr   TF)
ÚhasattrrF   Ústrr6   rG   Ú_list_elementsÚreversedrŠ   r   Ú
ValueError)r#   ÚtargetÚvariantÚ
exact_nodeÚlist_elementsÚinvertr$   s          r(   Úelement_in_scopezTreeBuilder.element_in_scopeé   sÏ   € õ ˜V \Ñ2Ô2ˆ
Øð 	-Ý˜&¥#Ñ&Ô&ð )Ý ˜�Ý˜f¥eÑ,Ô,Ð,Ð,Ð,å .¨wÔ 7Ñˆ�vå˜TÔ/Ñ0Ô0ð 	ð 	ˆDØð ˜d fšn˜nØ�t�tØð  D¤O°vÒ$=Ð$=Ø�t�tØ˜DœO¨}Ð<Ñ=ð Ø�u�uðõ Ðr)   c                 óÞ  — | j         sd S t          | j         ¦  «        dz
  }| j         |         }|t          u s	|| j        v rd S |t          ur6|| j        vr-|dk    rd}n$|dz  }| j         |         }|t          ur	|| j        v°-	 |dz  }| j         |         }|                     ¦   «         }|                      d|j        |j        |j        dœ¦  «        }|| j         |<   || j         d         k    rd S Œm)Nr   r   r   TÚStartTag)rg   r2   r3   rp   )	r‹   rT   r   rŠ   rh   Úinsert_elementr2   r3   r    )r#   ÚiÚentryrh   r&   s        r(   Ú&reconstruct_active_formatting_elementsz2TreeBuilder.reconstruct_active_formatting_elementsÿ   s:  € ð Ô.ð 	ØˆFõ �Ô/Ñ0Ô0°1Ñ4ˆØÔ/°Ô2ˆØ•Fˆ?ˆ?˜e tÔ'9Ð9Ð9ØˆFð �6Ð!Ð! e°4Ô3EÐ&EÐ&EØ�AŠvˆvà�ØØ�‰FˆAàÔ3°AÔ6ˆEð �6Ð!Ð! e°4Ô3EÐ&EÐ&Eð	à�‰FˆAð Ô3°AÔ6ˆEØ—K’K‘M”MˆEð ×)Ò)Ø"Øœ
Ø"œ_ØÔ(ð	+ð +ñ ô ˆGð 29ˆDÔ+¨AÑ.ð ˜$Ô9¸"Ô=Ò=Ð=Ø�ð+	r)   c                 ó¶   — | j                              ¦   «         }| j         r4|t          ur/| j                              ¦   «         }| j         r|t          u°)d S d S d S d S r1   )r‹   Úpopr   )r#   r    s     r(   Ú clear_active_formatting_elementsz,TreeBuilder.clear_active_formatting_elements/  sv   € ØÔ/×3Ò3Ñ5Ô5ˆØÔ-ð 	:°%½vÐ2EÐ2EØÔ3×7Ò7Ñ9Ô9ˆEð Ô-ð 	:°%½vÐ2EÐ2EÐ2EÐ2Eð 	:ð 	:ð 	:ð 	:Ð2EÐ2Er)   c                 ó`   — | j         ddd…         D ]}|t          u r n|j        |k    r|c S ŒdS )zšFind name between end of active formatting elements and last marker.

        If an element with this name exists, return it. Else return False.

        Nr   F)r‹   r   r2   )r#   r2   Úitems      r(   Ú%element_in_active_formatting_elementsz1TreeBuilder.element_in_active_formatting_elements4  sQ   € ð Ô3°D°D°b°DÔ9ð 	ð 	ˆDð •vˆ~ˆ~Ø�Ø”˜dÒ"Ð"Ø���ð #àˆur)   c                 ó˜   — |                       |¦  «        }| j                             |¦  «         | j                             |¦  «         d S r1   )Úcreate_elementrŠ   r"   r�   rX   )r#   Útokenr&   s      r(   Úinsert_rootzTreeBuilder.insert_rootC  sH   € Ø×%Ò% eÑ,Ô,ˆØÔ×!Ò! 'Ñ*Ô*Ð*ØŒ×"Ò" 7Ñ+Ô+Ð+Ð+Ð+r)   c                 óŒ   — |d         }|d         }|d         }t          |||¦  «        }| j                             |¦  «         d S )Nr2   ru   rv   )rs   r�   rX   )r#   rª   r2   rx   ry   Údoctypes         r(   Úinsert_doctypezTreeBuilder.insert_doctypeH  sL   € Ø�VŒ}ˆØ˜*Ô%ˆ	Ø˜*Ô%ˆ	å˜t Y°	Ñ:Ô:ˆØŒ×"Ò" 7Ñ+Ô+Ð+Ð+Ð+r)   c                 óV   — |                      t          |d         ¦  «        ¦  «         d S )Nrp   )rX   rn   )r#   rª   r8   s      r(   Úinsert_commentzTreeBuilder.insert_commentP  s(   € Ø×Ò�G E¨&¤MÑ2Ô2Ñ3Ô3Ð3Ð3Ð3r)   c                 ó†   — |d         }|                      d| j        ¦  «        }t          ||¦  «        }|d         |_        |S )z/Create an element but don't insert it anywhere.r2   r3   rp   )Úgetr†   r/   r    ©r#   rª   r2   r3   r&   s        r(   r©   zTreeBuilder.create_elementS  sA   € à�VŒ}ˆØ—I’I˜k¨4Ô+AÑBÔBˆ	Ý˜$ 	Ñ*Ô*ˆØ" 6œ]ˆÔØˆr)   c                 ó   — | j         S r1   )Ú_insert_from_tabler@   s    r(   Ú_get_insert_from_tablez"TreeBuilder._get_insert_from_table[  s   € ØÔ&Ð&r)   c                 óL   — || _         |r| j        | _        dS | j        | _        dS )z.Switch the function used to insert an element.N)rµ   Úinsert_element_tablerž   Úinsert_element_normal)r#   rJ   s     r(   Ú_set_insert_from_tablez"TreeBuilder._set_insert_from_table^  s4   € à"'ˆÔØð 	=Ø"&Ô";ˆDÔÐÐà"&Ô"<ˆDÔÐÐr)   c                 ó@  — |d         }t          |t          ¦  «        sJ d|› d�¦   «         ‚|                     d| j        ¦  «        }t	          ||¦  «        }|d         |_        | j        d                              |¦  «         | j                             |¦  «         |S )Nr2   zElement z not unicoder3   rp   r   )	rF   r’   r²   r†   r/   r    rŠ   rX   r"   r³   s        r(   r¹   z!TreeBuilder.insert_element_normalh  sž   € Ø�VŒ}ˆÝ˜$¥Ñ$Ô$ÐCÐCÐ&C°Ð&CÐ&CÐ&CÑCÔCÐCØ—I’I˜k¨4Ô+AÑBÔBˆ	Ý˜$ 	Ñ*Ô*ˆØ" 6œ]ˆÔØÔ˜2Ô×+Ò+¨GÑ4Ô4Ð4ØÔ×!Ò! 'Ñ*Ô*Ð*Øˆr)   c                 óJ  — |                       |¦  «        }| j        d         j        t          vr|                      |¦  «        S |                      ¦   «         \  }}|€|                     |¦  «         n|                     ||¦  «         | j                             |¦  «         |S )z.Create an element and insert it into the tree.r   )	r©   rŠ   r2   r	   r¹   Ú!get_table_misnested_node_positionrX   r^   r"   )r#   rª   r&   r8   r^   s        r(   r¸   z TreeBuilder.insert_element_tabler  s§   € à×%Ò% eÑ,Ô,ˆØÔ˜bÔ!Ô&Õ.HÐHÐHØ×-Ò-¨eÑ4Ô4Ð4ð %)×$JÒ$JÑ$LÔ$LÑ!ˆF�MØÐ$Ø×#Ò# GÑ,Ô,Ð,Ð,à×$Ò$ W¨mÑ<Ô<Ð<ØÔ×%Ò% gÑ.Ô.Ð.Øˆr)   c                 óð   — |€| j         d         }| j        o| j         d         j        t          v }|r/|                      ¦   «         \  }}|                     ||¦  «         dS |                     |¦  «         dS )zInsert text data.Nr   )rŠ   rŽ   r2   r	   r½   re   )r#   rp   r8   Úin_tabler^   s        r(   re   zTreeBuilder.insert_text‚  s“   € àˆ>ØÔ'¨Ô+ˆFð Ô"ð FØÔ˜rÔ"Ô'Õ+EÐEð 	ð ð 	%ð %)×$JÒ$JÑ$LÔ$LÑ!ˆF�MØ×Ò˜t ]Ñ3Ô3Ð3Ð3Ð3à×Ò˜tÑ$Ô$Ð$Ð$Ð$r)   c                 óð   — d}d}d}| j         ddd…         D ]}|j        dk    r|} nŒ|r<|j        r
|j        }|}n8| j                              |¦  «        dz
  }| j         |         }n| j         d         }||fS )zAGet foster parent element and sibling (or None) to insert before.Nr   r   r   r   )rŠ   r2   r8   r[   )r#   Ú
last_tableÚfoster_parentr^   r&   r[   s         r(   r½   z-TreeBuilder.get_table_misnested_node_position’  s´   € ð ˆ
ØˆØˆØÔ)¨$¨$¨B¨$Ô/ð 	ð 	ˆGØŒ|˜wÒ&Ð&Ø$�
Ø�ð 'ð ð 
	2ð Ô ð :Ø *Ô 1�Ø *��àÔ*×0Ò0°Ñ<Ô<¸qÑ@�Ø $Ô 2°5Ô 9��à Ô.¨qÔ1ˆMØ˜mÐ+Ð+r)   c                 ó¬   — | j         d         j        }|t          v r6||k    r2| j                              ¦   «          |                      |¦  «         d S d S d S )Nr   )rŠ   r2   Ú_implied_end_tagsr£   Úgenerate_implied_end_tags)r#   Úexcluder2   s      r(   rÅ   z%TreeBuilder.generate_implied_end_tags­  sc   € ØÔ! "Ô%Ô*ˆØÕ$Ð$Ð$¨°ª¨ØÔ×"Ò"Ñ$Ô$Ð$ð ×*Ò*¨7Ñ3Ô3Ð3Ð3Ð3ð	 %Ð$¨¨r)   Fc                 ó€   — |r| j         j        S | j         j                             | j        €dn
d| j        › d�¦  «        S )zReturn the final tree.Nr
   r<   z}html)r�   r5   Úfindr†   )r#   Ú	full_trees     r(   Úget_documentzTreeBuilder.get_documentµ  sP   € àð 	*Ø”=Ô)Ð)ØŒ}Ô%×*Ò*ØÔ,Ð4ˆFˆFØ/�Ô'Ð/Ð/Ð/ñ1ô 1ð 	1r)   c                 ól   — t          ¦   «         }| j        d                              |¦  «         |j        S )zReturn the final fragment.r   )r€   rŠ   rk   r5   )r#   Úfragments     r(   Úget_fragmentzTreeBuilder.get_fragment½  s2   € å#Ñ%Ô%ˆØÔ˜1Ô×/Ò/°Ñ9Ô9Ð9ØÔ Ð r)   r1   )F)r*   r+   r,   Ú__doc__r:   r‡   r›   r¡   r¤   r§   r«   r®   r°   r©   r¶   rº   rl   rŽ   r¹   r¸   re   r½   rÅ   rÊ   rÍ   r-   r)   r(   r„   r„   Ï   sb  € € € € € ØÐð
ð 
ð 
ð	#ð 	#ð 	#ðð ð ð ð,.ð .ð .ð`:ð :ð :ð
ð ð ð,ð ,ð ,ð
,ð ,ð ,ð4ð 4ð 4ðð ð ð'ð 'ð 'ð=ð =ð =ð !˜Ð!7Ð9OÑPÔPÐðð ð ðð ð ð %ð %ð %ð %ð ,ð ,ð ,ð64ð 4ð 4ð 4ð1ð 1ð 1ð 1ð!ð !ð !ð !ð !r)   r„   )rÎ   r   Ú	xml.etreer   Ú	constantsr   r   r	   r   r6   Ú	frozensetr“   rÄ   r   r   r/   rn   rs   r{   r€   r„   r-   r)   r(   ú<module>rÒ      sU  ðØ Ð à Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !à OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oð
 
€à�6Ô€àˆ9Ð%Ñ&Ô&¨Ð
.ØˆyÐ)¨e°XÐ->Ð,?Ñ?Ñ@Ô@À%ÐHØˆYÐ'¨E°4¨=¸5À$¸-Ð*HÑHÑIÔIÈ5ÐQØˆi˜% ˜¨5°'Ð*:Ð;Ñ<Ô<¸eÐDØˆy˜5 *Ð-°°xÐ/@ÐAÑBÔBÀDÐIðð €ð �IÐWÑXÔXÐ ð ð  ð  ð  ð  ˜tñ  ô  ð  ð&Cð Cð Cð Cð Cñ Cô Cð CðLð ð ð ð ˆgñ ô ð ð#ð #ð #ð #ð #�7ñ #ô #ð #ð0ð 0ð 0ð 0ð 0ˆwñ 0ô 0ð 0ð
4ð 4ð 4ð 4ð 4�wñ 4ô 4ð 4ð
r!ð r!ð r!ð r!ð r!ñ r!ô r!ð r!ð r!ð r!r)   