U ��.e �@s�ddlmZmZmZddlmZddlmZmZmZm Z m Z ddlm Z m Z m Z mZmZmZddlmZddlmZmZGd d �d ej�Zd S) �)�absolute_import�division�unicode_literals)�QName)�START�END� XML_NAMESPACE�DOCTYPE�TEXT)�START_NS�END_NS� START_CDATA� END_CDATA�PI�COMMENT�)�base�)� voidElements� namespacesc@seZdZdd�Zdd�ZdS)� TreeWalkerccsXd}|jD](}|dk r.|�||�D] }|Vq"|}q |dk rT|�|d�D] }|VqHdS)N)Ztree�tokens)�selfZprevious�event�token�r�K/usr/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py�__iter__ s zTreeWalker.__iter__ccst|\}}}|tkr�|\}}|j}|j} i} |D]0\} } t| t�rR| | | j| jf<q.| | d| f<q.| tdkr�|tkr�|�| || | p�|dtkp�|d|k�D] } | Vq�n|� | || �Vn�|tkr�|j}|j} | tdks�|tkr�|� | |�Vnz|t k�r|� |�Vnb|t k�r2|�|�D] } | V�q"n>|tk�rJ|j|�Vn&|tttttttfk�rdn |�|�VdS)NZhtmlrr)rZ localname� namespace� isinstancerrrZemptyTagrZstartTagZendTagrZcommentr �textr Zdoctyperr r r rr�unknown)rr�nextZkind�data�_�tagZattribs�namerZconverted_attribs�k�vrrrrrsH     �      �zTreeWalker.tokensN)�__name__� __module__� __qualname__rrrrrrr srN)Z __future__rrrZ genshi.corerrrrr r r r r rrr�rZ constantsrrrrrrr�s