o
    JAf{                     @   s>   	 d dl Z dddZi Zdd Zdd Zdd
dZdd ZdS )    Nzxml.dom.minidomzxml.dom.DOMImplementation)ZminidomZ4DOMc                 C   s   	 |t | < d S )N)
registered)namefactory r   %/usr/lib/python3.10/xml/dom/domreg.pyregisterDOMImplementation   s   r   c                 C   s&   	 |D ]\}}|  ||s dS qdS )Nr      )Z
hasFeature)domfeaturesfvr   r   r   _good_enough    s   r   r   c              	   C   s   	 dd l }d }t| }|rt|i i dg}| S | r!t|   S tjjs2d|j	v r2t|j	d dS t
|tr;t|}t D ]}| }t||rM|  S q?t D ]}zt|d}W n	 tyd   Y qRw t||rn|  S qRtd)Nr   getDOMImplementationZ
PYTHON_DOM)r   z$no suitable DOM implementation found)oswell_known_implementationsget
__import__r   r   sysflagsignore_environmentenviron
isinstancestr_parse_feature_stringvaluesr   keys	ExceptionImportError)r   r
   r   Zcreatormodr	   r   r   r   r   '   s8   




r   c                 C   s   g }|   }d}t|}||k rF|| }|d dv r!td|f |d }d }||k r;|| }|d dv r;|d }|}|||f ||k st|S )Nr   
0123456789zbad feature name: %rr   )splitlen
ValueErrorappendtuple)sr
   partsilengthZfeatureversionr   r   r   r   r   R   s$   r   )Nr   )r   r   r   r   r   r   r   r   r   r   r   <module>   s    
+