U o a;@shddlmZmZmZddlmZddlmZddlm Z m Z ddlm Z d e Z Gd d d ej Z d S) )absolute_importdivisionunicode_literals) text_type)base) namespaces voidElements)spaceCharacterscs*eZdZdZdfdd ZddZZS)FilterzgLints the token stream for errors If it finds any errors, it'll raise an ``AssertionError``. Tcstt||||_dS)zCreates a Filter :arg source: the source token stream :arg require_matching_tags: whether or not to require matching tags N)superr __init__require_matching_tags)selfsourcer __class__bC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-6mt8ur68\pip\_vendor\html5lib\filters\lint.pyrszFilter.__init__c csDg}tj|D],}|d}|dkrF|d}|d}|dksNt|tsNt|dksZtt|tsht|dksttt|dtst|r|tdkr|tkr|dkstn |d kst|d kr|j r| ||f|d D]`\\}}}|dkst|tst|dkstt|ts$t|dks2tt|tstqn|d kr|d}|d}|dkszt|tszt|dkstt|tst|dkst|r|tdkr|tkrd std d |in"|j r8| }|||fks8tn6|dkr(|d}t|ts8tn|dkrx|d}t|tsJt|dksXt|dkr8| tdks8tn|dkr|d}|dkst|tst|ddkst|tst|ddks8t|ts8tnV|dkrt|dts8tn6|dkr"t|dts8tnd s8tdd|i|VqdS)Ntype)StartTagEmptyTag namespacenamer datahtmlrrEndTagFz.Void element reported as EndTag token: %(tag)stagComment) CharactersSpaceCharactersr"DoctypepublicIdsystemIdEntityZSerializerErrorzUnknown token type: %(type)s)rr __iter__ isinstancerAssertionErrordictr r rappenditemspopstripr ) rZ open_elementstokenrrrvaluestartrrrrr'sl            zFilter.__iter__)T)__name__ __module__ __qualname____doc__rr' __classcell__rrrrr s r N) __future__rrrZpip._vendor.sixrr r constantsr r r joinr rrrrs