Ë
    £2Úi„  ã                   óp   — d dl mZ 	 d dlmZ d dlmZmZ  G d„ de«      Z G d„ de	«      Z
 G d„ d	e	«      Zy
)é    )Úabsolute_import)Úcontextmanager)ÚElementÚtostringc                   ó   — e Zd Zy)ÚLxmlSyntaxErrorN)Ú__name__Ú
__module__Ú__qualname__© ó    úI/var/www/html/acx/venv/lib/python3.12/site-packages/et_xmlfile/xmlfile.pyr   r      s   „ Ør   r   c                   ó@   — e Zd ZdZd„ Zed	d„«       Zd„ Zd„ Zd„ Z	d„ Z
y)
Ú_FakeIncrementalFileWriterz_Replacement for _IncrementalFileWriter of lxml.
       Uses ElementTree to build xml in memory.c                 ó<   — g | _         d | _        || _        d| _        y )NF)Ú_element_stackÚ_top_elementÚ_fileÚ
_have_root)ÚselfÚoutput_files     r   Ú__init__z#_FakeIncrementalFileWriter.__init__   s    € Ø ˆÔØ ˆÔØ ˆŒ
Øˆ�r   Nc              +   ó¾  K  — d| _         |€i }t        |fd|i|¤Ž| _        d| j                  _        d| j                  _        | j
                  j                  | j                  «       d–— | j
                  j                  «       }| j
                  r2| j
                  d   }|j                  | j                  «       || _        y| j                  |«       d| _        y­w)zÁCreate a new xml element using a context manager.
        The elements are written when the top level context is left.

        This is for code compatibility only as it is quite slow.
        TNÚattribÚ éÿÿÿÿ)	r   r   r   ÚtextÚtailr   ÚappendÚpopÚ_write_element)r   Útagr   ÚnsmapÚ_extraÚelÚparents          r   Úelementz"_FakeIncrementalFileWriter.element   sÈ   è ø€ ð ˆŒØˆ>ØˆFÜ# CÑA°ÐA¸&ÑAˆÔØ!#ˆ×ÑÔØ!#ˆ×ÑÔØ×Ñ×"Ñ" 4×#4Ñ#4Ô5Ûð × Ñ ×$Ñ$Ó&ˆØ×ÒØ×(Ñ(¨Ñ,ˆFØ�M‰M˜$×+Ñ+Ô,Ø &ˆDÕà×Ñ Ô#Ø $ˆDÕùs   ‚CCc                 ó¤  — t        |t        «      rq| j                  €
t        «       ‚t	        | j                  «      dk(  r | j                  xj
                  |z  c_        y| j                  d   xj                  |z  c_        y| j                  �| j                  j                  |«       y| j                  s| j                  |«       yt        «       ‚)zWrite a string or subelement.Nr   r   )
Ú
isinstanceÚstrr   r   Úlenr   r   r   r   r!   )r   Úargs     r   Úwritez _FakeIncrementalFileWriter.write5   s«   € ô �cœ3Ôà× Ñ Ð(Ü%Ó'Ð'ä�4×$Ñ$Ó%¨Ò*à×!Ñ!×&Ò&¨#Ñ-Ö&ð ×!Ñ! "Ñ%×*Ò*¨cÑ1Ö*ð × Ñ Ð,Ø×!Ñ!×(Ñ(¨Õ-Ø—_’_Ø×#Ñ# CÕ(ä%Ó'Ð'r   c                 óP   — t        |«      }| j                  j                  |«       y ©N)r   r   r-   )r   r'   Úxmls      r   r!   z)_FakeIncrementalFileWriter._write_elementL   s   € Ü�wÓˆØ�
‰
×Ñ˜Õr   c                  ó   — y r/   r   ©r   s    r   Ú	__enter__z$_FakeIncrementalFileWriter.__enter__P   s   € Ør   c                 ó0   — | j                   s
t        «       ‚y r/   )r   r   ©r   ÚtypeÚvalueÚ	tracebacks       r   Ú__exit__z#_FakeIncrementalFileWriter.__exit__S   s   € à�ŠÜ!Ó#Ð#ð r   )NN)r	   r
   r   Ú__doc__r   r   r'   r-   r!   r3   r9   r   r   r   r   r      s4   „ ñ3ò ð ò%ó ð%ò6(ò.òó$r   r   c                   ó$   — e Zd ZdZdd„Zd„ Zd„ Zy)Úxmlfilez4Context manager that can replace lxml.etree.xmlfile.Nc                 ór   — t        |t        «      rt        |d«      | _        d| _        y || _        || _        y )NÚwbT)r)   r*   Úopenr   Ú_close)r   r   ÚbufferedÚencodingÚcloses        r   r   zxmlfile.__init__[   s/   € Ü�k¤3Ô'Ü˜k¨4Ó0ˆDŒJØˆD�Kà$ˆDŒJØˆD�Kr   c                 ó,   — t        | j                  «      S r/   )r   r   r2   s    r   r3   zxmlfile.__enter__c   s   € Ü)¨$¯*©*Ó5Ð5r   c                 óX   — | j                   dk(  r| j                  j                  «        y y )NT)r@   r   rC   r5   s       r   r9   zxmlfile.__exit__f   s#   € Ø�;‰;˜$ÒØ�J‰J×ÑÕð r   )FNF)r	   r
   r   r:   r   r3   r9   r   r   r   r<   r<   Y   s   „ Ù>ó ò6ór   r<   N)Ú
__future__r   Ú
contextlibr   Úxml.etree.ElementTreer   r   Ú	Exceptionr   Úobjectr   r<   r   r   r   ú<module>rK      s=   ðÝ &ð Qõ &ç 3ô	�iô 	ôF$ ô F$ôRˆfõ r   