§
    ¢”jp!  ã                   óü   — d Z ddlmZ 	 ddlmZ ddlmZ n# e$ r ddlmZ ddl	mZ Y nw xY wdZ
e
dz   Ze
dz   Ze
dz   Zd	Z G d
„ dej        ¦  «        Z G d„ de¦  «        Zdd„Zdd„Zd„ Zddefd„Zddedfd„ZdS )a  
Limited XInclude support for the ElementTree package.

While lxml.etree has full support for XInclude (see
`etree.ElementTree.xinclude()`), this module provides a simpler, pure
Python, ElementTree compatible implementation that supports a simple
form of custom URL resolvers.
é    )Úetree)Úurljoin)Úurlopenz!{http://www.w3.org/2001/XInclude}ÚincludeÚfallbackÚ*é   c                   ó   — e Zd ZdS )ÚFatalIncludeErrorN©Ú__name__Ú
__module__Ú__qualname__© ó    úb/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/lxml/ElementInclude.pyr   r   K   ó   € € € € € Ø€Dr   r   c                   ó   — e Zd ZdS )ÚLimitedRecursiveIncludeErrorNr   r   r   r   r   r   O   r   r   r   Nc                 ó  — t          | d¦  «        }|dk    r't          j        |¦  «                             ¦   «         }n-|                     ¦   «         }|sd}|                     |¦  «        }|                     ¦   «          |S )NÚrbÚxmlúutf-8)Úopenr   ÚparseÚgetrootÚreadÚdecodeÚclose)Úhrefr   ÚencodingÚfileÚdatas        r   Údefault_loaderr$   `   st   € Ý��dÑÔ€DØ�‚~€~ÝŒ{˜4Ñ Ô ×(Ò(Ñ*Ô*ˆˆà�yŠy‰{Œ{ˆØð 	ØˆHØ�{Š{˜8Ñ$Ô$ˆØ‡J‚J�L„L€LØ€Kr   c                 ó,  — |dk    r(t          j        | |¦  «                             ¦   «         }ned| v rt          | ¦  «        }nt	          | d¦  «        }|                     ¦   «         }|                     ¦   «          |sd}|                     |¦  «        }|S )Nr   z://r   r   )r   r   r   r   r   r   r   r   )r    r   r!   Úparserr#   Úfs         r   Ú_lxml_default_loaderr(   q   sŒ   € Ø�‚~€~ÝŒ{˜4 Ñ(Ô(×0Ò0Ñ2Ô2ˆˆà�Dˆ=ˆ=Ý˜‘”ˆAˆAå�T˜4Ñ Ô ˆAØ�vŠv‰xŒxˆØ	�Š‰	Œ	ˆ	Øð 	ØˆHØ�{Š{˜8Ñ$Ô$ˆØ€Kr   c                 ó   ‡ — dˆ fd„	}|S )Nc                 ó   •—  ‰| ||¦  «        S ©Nr   )r    r   r!   r&   Úloaders       €r   Úloadz_wrap_et_loader.<locals>.load…   s   ø€ Øˆv�d˜E 8Ñ,Ô,Ð,r   ©NNr   )r,   r-   s   ` r   Ú_wrap_et_loaderr/   „   s&   ø€ ð-ð -ð -ð -ð -ð -à€Kr   c                 ó`  — |€d}n|dk     rt          d|z  ¦  «        ‚|€Xt          | d¦  «        r| }|                      ¦   «         } n|                      ¦   «         }t          |d¦  «        r|j        j        }n$t          | d¦  «        r|                      ¦   «         } t          | |||¦  «         d S )Néÿÿÿÿr   z;expected non-negative depth or None for 'max_depth', got %rr   Údocinfo)Ú
ValueErrorÚhasattrr   Úgetroottreer2   ÚURLÚ_include)Úelemr,   Úbase_urlÚ	max_depthÚtrees        r   r   r   œ   sÀ   € àÐØˆ	ˆ	Ø	�QŠˆÝÐVÐYbÑbÑcÔcÐcàÐÝ�4˜Ñ#Ô#ð 	&ØˆDØ—<’<‘>”>ˆDˆDà×#Ò#Ñ%Ô%ˆDÝ�4˜Ñ#Ô#ð 	(Ø”|Ô'ˆHøÝ	��yÑ	!Ô	!ð Ø�|Š|‰~Œ~ˆÝˆT�6˜8 YÑ/Ô/Ð/Ð/Ð/r   c           	      ó&  — |�t          |¦  «        }nt          }|€t          ¦   «         }|                      ¦   «         j        }t          |                      t          ¦  «        ¦  «        }|D �]#}|j        t          k    �r«t          ||                     d¦  «        ¦  «        }	|                     dd¦  «        }
|                     ¦   «         }|
dk    r¨|	|v rt          d|	z  ¦  «        ‚|dk    rt          d|	z  ¦  «        ‚ ||	|
|¬¦  «        }|€t          d|	›d	|
›�¦  «        ‚t          |||	|d
z
  |	h|z  ¦  «        }|j        r|j        pd|j        z   |_        |€|c S |                     ||¦  «         �Œ|
dk    r˜ ||	|
|                     d¦  «        ¬¦  «        }|€t          d|	›d	|
›�¦  «        ‚|                     ¦   «         }|�|j        pd|z   |_        n!|€|c S |j        pd|z   |j        pdz   |_        |                     |¦  «         �Œ­t          d|
z  ¦  «        ‚|j        t*          k    r?|                     ¦   «         }|�'|j        t          k    rt          d|j        z  ¦  «        ‚�Œt          d|j        z  ¦  «        ‚| S )Nr    r   r   z recursive include of %r detectedr   z5maximum xinclude depth reached when including file %s)r&   zcannot load z as é   Ú Útextr!   )r!   z)unknown parse type in xi:include tag (%r)z0xi:fallback tag must be child of xi:include (%r)z0Invalid element found in XInclude namespace (%r))r/   r(   Úsetr5   r&   ÚlistÚiterÚXINCLUDE_ITER_TAGÚtagÚXINCLUDE_INCLUDEr   ÚgetÚ	getparentr   r   r7   ÚtailÚreplaceÚgetpreviousr?   ÚremoveÚXINCLUDE_FALLBACK)r8   r,   r9   r:   Ú_parent_hrefsÚload_includer&   Úinclude_elementsÚer    r   ÚparentÚnoder?   Úpredecessors                  r   r7   r7   °   sþ  € àÐÝ& vÑ.Ô.ˆˆå+ˆàÐÝ™œˆà×ÒÑÔÔ&€FåØ�	Š	Õ#Ñ$Ô$ñ&ô &Ðð ð 4ñ 4ˆØŒ5Õ$Ò$Ñ$å˜8 Q§U¢U¨6¡]¤]Ñ3Ô3ˆDØ—E’E˜' 5Ñ)Ô)ˆEØ—[’[‘]”]ˆFØ˜Š~ˆ~Ø˜=Ð(Ð(Ý+Ø:¸TÑAñô ð ð  ’>�>Ý6ØOÐRVÑVñXô Xð Xà#�| D¨%¸Ð?Ñ?Ô?�Ø�<Ý+Ð+Ø26°$°$¸¸Ð>ñô ð õ    f¨d°IÀ±MÀDÀ6ÈMÑCYÑZÔZ�Ø”6ð ;Ø!%¤ ¨b°A´FÑ :�D”IØ�>Ø�K�K�KØ—’˜q $Ñ'Ô'Ð'Ñ'Ø˜&’�Ø#�| D¨%¸!¿%º%À
Ñ:KÔ:KÐLÑLÔL�Ø�<Ý+Ð+Ø26°$°$¸¸Ð>ñô ð ð  Ÿmšm™oœo�ØÐ*Ø(3Ô(8Ð(>¸BÀ$Ñ'F�KÔ$Ð$Ø�^Ø�K�K�Kà#)¤;Ð#4°"¸Ñ"<ÀÄÀÈ"Ñ"M�F”KØ—’˜aÑ Ô Ð Ñ å'Ø?À%ÑGñô ð ð ŒUÕ'Ò'Ð'Ø—[’[‘]”]ˆFØÐ! f¤jÕ4DÒ&DÐ&DÝ'ØFÈÌÑNñô ð ùõ $ØBÀQÄUÑJñô ð ð €Kr   r+   r.   )Ú__doc__Úlxmlr   Úurlparser   Úurllib2r   ÚImportErrorÚurllib.parseÚurllib.requestÚXINCLUDErE   rL   rC   ÚDEFAULT_MAX_INCLUSION_DEPTHÚLxmlSyntaxErrorr   r   r$   r(   r/   r   r7   r   r   r   ú<module>r^      s¡  ððXð ð Ð Ð Ð Ð Ð ð'Ø Ð Ð Ð Ð Ð ØÐÐÐÐÐÐøØð 'ð 'ð 'à$Ð$Ð$Ð$Ð$Ð$Ø&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ð'øøøð
 /€à˜iÑ'Ð Ø˜zÑ)Ð Ø˜s‘NÐ ð  Ð ð	ð 	ð 	ð 	ð 	˜Ô-ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð#4ñ 	ô 	ð 	ð"
ð 
ð 
ð 
ð"ð ð ð ð&ð ð ð0 ¨Ø1ð0ð 0ð 0ð 0ð( ¨Ø2À$ðDð Dð Dð Dð Dð Ds   Š —+ª+