3 �Pf �@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)� TreeWalkerccsdd}x6|jD],}|dk r4x|j||�D] }|Vq&W|}q W|dk r`x|j|d�D] }|VqRWdS)N)Ztree�tokens)�selfZprevious�event�token�r�/usr/lib/python3.6/genshi.py�__iter__ s  zTreeWalker.__iter__ccs�|\}}}|tkr�|\}}|j}|j} i} x8|D]0\} } t| t�rT| | | j| jf<q0| | d| f<q0W| tdkr�|tkr�xJ|j| || | p�|dtkp�|d|k�D] } | Vq�Wn|j | || �Vn�|tkr�|j}|j} | tdks�|tkr�|j | |�Vn~|t k�r|j |�Vnf|t k�r>xZ|j|�D] } | V�q,Wn>|tk�rV|j|�Vn&|tttttttfk�rpn |j|�VdS)NZhtmlrr)rZ localname� namespace� isinstancerrrZemptyTagrZstartTagZendTagrZcommentr �textr Zdoctyperr r r rr�unknown)rr�nextZkind�data�_�tagZattribs�namerZconverted_attribs�k�vrrrrrs@        zTreeWalker.tokensN)�__name__� __module__� __qualname__rrrrrrr srN)Z __future__rrrZ genshi.corerrrrr r r r r rrr�rZ constantsrrrrrrr�s