//usr/lib64/lib64//lib64/lib64/python2.7/ó
ÙœSec @ s d Z d d l Z d d l Z e j d ƒ Z e j d ƒ Z e j d ƒ Z e j d ƒ Z e j d ƒ Z e j d ƒ Z e j d ƒ Z
e j d
ƒ Z e j d ƒ Z e j d ƒ Z
e j d
e j ƒ Z e j d ƒ Z e j d ƒ Z d e f d „ ƒ YZ d e j f d „ ƒ YZ d S( s A parser for HTML and XHTML.iÿÿÿÿNs [&<]s
&[a-zA-Z#]s% &([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]s) (?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]s <[a-zA-Z]t >s --\s*>s( ([a-zA-Z][-.a-zA-Z0-9:_]*)(?:\s|/(?!>))*s [a-zA-Z][^
/> ]*s] ((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?(?:\s|/(?!>))*s
<[a-zA-Z][-.a-zA-Z0-9:_]* # tag name
(?:[\s/]* # optional whitespace before attribute name
(?:(?<=['"\s/])[^\s/>][^\s/=>]* # attribute name
(?:\s*=+\s* # value indicator
(?:'[^']*' # LITA-enclosed value
|"[^"]*" # LIT-enclosed value
|(?!['"])[^>\s]* # bare value
)
)?(?:\s|/(?!>))*
)*
)?
\s* # trailing whitespace
s# \s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>t HTMLParseErrorc B s# e Z d Z d d „ Z d „ Z RS( s&