
    $g~                     `    d Z ddlmZmZ ddlmZ ddlmZm	Z	m
Z
 dZ G d de          Zd	 Zd
S )zDefused xml.sax.expatreader
    )print_functionabsolute_import)ExpatParser   )DTDForbiddenEntitiesForbiddenExternalReferenceForbiddenzxml.sax.expatreaderc                   P     e Zd ZdZ	 	 	 	 	 d fd	Zd Zd Zd	 Zd
 Z fdZ	 xZ
S )DefusedExpatParserz,Defused SAX driver for the pyexpat C module.r     FTc                 v    t                                          ||           || _        || _        || _        d S N)super__init__
forbid_dtdforbid_entitiesforbid_external)selfnamespaceHandlingbufsizer   r   r   	__class__s         V/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/defusedxml/expatreader.pyr   zDefusedExpatParser.__init__   s=     	*G444$..    c                 $    t          |||          r   )r   )r   namesysidpubidhas_internal_subsets        r   defused_start_doctype_declz-DefusedExpatParser.defused_start_doctype_decl!   s    4...r   c                 *    t          ||||||          r   r   )r   r   is_parameter_entityvaluebaser   r   notation_names           r   defused_entity_declz&DefusedExpatParser.defused_entity_decl$   s      eT5%OOOr   c                 *    t          |d ||||          r   r!   )r   r   r$   r   r   r%   s         r   defused_unparsed_entity_declz/DefusedExpatParser.defused_unparsed_entity_decl)   s    dD%NNNr   c                 &    t          ||||          r   )r	   )r   contextr$   r   r   s        r   #defused_external_entity_ref_handlerz6DefusedExpatParser.defused_external_entity_ref_handler-   s    ($uEEEr   c                     t                                                       | j        }| j        r| j        |_        | j        r| j        |_        | j	        |_
        | j        r| j        |_        d S d S r   )r   reset_parserr   r   StartDoctypeDeclHandlerr   r&   EntityDeclHandlerr(   UnparsedEntityDeclHandlerr   r+   ExternalEntityRefHandler)r   parserr   s     r   r-   zDefusedExpatParser.reset0   s|    ? 	M-1-LF* 	Q'+'?F$/3/PF, 	W.2.VF+++	W 	Wr   )r   r   FTT)__name__
__module____qualname____doc__r   r   r&   r(   r+   r-   __classcell__)r   s   @r   r   r      s        66 / / / / / // / /P P P
O O OF F F	W 	W 	W 	W 	W 	W 	W 	W 	Wr   r   c                      t          | i |S r   )r   )argskwargss     r   create_parserr<   <   s    t.v...r   N)r7   
__future__r   r   xml.sax.expatreaderr   _ExpatParsercommonr   r   r	   
__origin__r   r<    r   r   <module>rC      s     6 6 6 6 6 6 6 6 ; ; ; ; ; ; O O O O O O O O O O"
(W (W (W (W (W (W (W (WV/ / / / /r   