
    h5jp                    Z    d dl mZ d dlmZmZmZmZ erd dlmZm	Z	 da
dd	dZd
dZg dZy)    )annotations)IOTYPE_CHECKINGAnyAnyStr)_Element_ElementTreeNc                n    ddl m} ddl m} t         G d d|      }|at        |d      } || |      S )	z<Wrap lxml's parse to provide protection against XXE attacks.r   )	XMLParser)parsec                        e Zd Zd fdZ xZS )!parse_xml.<locals>._XMLParserImplc                8    d|d<   d|d<   t        |   |i | y )NFresolve_entitiesT
no_network)super__init__)selfargskwargs	__class__s      B/var/www/html/qr/venv/lib/python3.12/site-packages/pikepdf/_xml.pyr   z*parse_xml.<locals>._XMLParserImpl.__init__   s,     .3)*'+|$ $1&1    )r   r   r   r   )__name__
__module____qualname__r   __classcell__)r   s   @r   _XMLParserImplr      s    2 2r   r   F)recover
remove_pis)parser)
lxml.etreer   r   
_XMLParser)sourcer   _UnsafeXMLParser_parser   r!   s         r   	parse_xmlr'      s=    8* 	2- 	2 $
E:F&((r   c                v    | dv r!ddl m} t        ||       }|t               | <   |S t	        dt
         d|        )N>   r   r	   r   )etreezmodule z has no attribute )lxmlr)   getattrglobalsAttributeErrorr   )namer)   values      r   __getattr__r0   !   sC    ++t$	$
78*,>tfE
FFr   )r'   r	   r   )F)r$   zAnyStr | IO[Any]r   boolreturnr	   )r.   str)
__future__r   typingr   r   r   r   r"   r   r	   r#   r'   r0   __all__ r   r   <module>r8      s-    # 1 11
)(G 4r   