grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026ž õ f9c@s}dZddlZejdƒjZejdƒjZejdƒZejdƒZejdƒZ[Gdd „d ƒZ dS( uÎShared support for scanning document type declarations in HTML and XHTML. This module is used as a foundation for the html.parser module. It has no documented public API and should not be used directly. iNu[a-zA-Z][-_.a-zA-Z0-9]*\s*u(\'[^\']*\'|"[^"]*")\s*u--\s*>u ]\s*]\s*>u]\s*>cBsÚ|EeZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd Z d d„Z ddd„Z ddd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"S(#u ParserBaseuiParser base class which provides some common support methods used by the SGML/HTML and XHTML parsers.cCs"|jtkrtdƒ‚ndS(Nu)_markupbase.ParserBase must be subclassed(u __class__u ParserBaseu RuntimeError(uself((u0/opt/alt/python33/lib64/python3.3/_markupbase.pyu__init__suParserBase.__init__cCstdƒ‚dS(Nu.subclasses of ParserBase must override error()(uNotImplementedError(uselfumessage((u0/opt/alt/python33/lib64/python3.3/_markupbase.pyuerror suParserBase.errorcCsd|_d|_dS(Nii(ulinenouoffset(uself((u0/opt/alt/python33/lib64/python3.3/_markupbase.pyureset$s uParserBase.resetcCs|j|jfS(u&Return current line number and offset.(ulinenouoffset(uself((u0/opt/alt/python33/lib64/python3.3/_markupbase.pyugetpos(suParserBase.getposcCs…||kr|S|j}|jd||ƒ}|rm|j||_|jd||ƒ}||d|_n|j|||_|S(Nu i(urawdataucountulinenourindexuoffset(uselfuiujurawdataunlinesupos((u0/opt/alt/python33/lib64/python3.3/_markupbase.pyu updatepos0s  uParserBase.updateposuc Cst|j}|d}|||…dks5tdƒ‚|||d…dkrW|dS|||d…dkrudSt|ƒ}|||d…dkr¨|j|ƒS||d krÅ|j|ƒS|j||ƒ\}}|d krí|S|d krd|_nxh||kro||}|dkro||d|…}|d krZ|j|ƒn |j|ƒ|dS|d kr£t ||ƒ}|s”dS|j ƒ}n¹|d krÊ|j||ƒ\} }n’||jkræ|d}nv|d krG|d kr|j |d|ƒ}q\|dkr7|j d|ƒq\|j dƒn|j d||ƒ|d kr|SqWdS(Niuu-uu--u[iudoctypeu"'u4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZuattlistulinktypeulinkuelementu&unsupported '[' char in %s declarationu"unexpected '[' char in declarationu!unexpected %r char in declaration(u-uiÿÿÿÿiÿÿÿÿ>uattlistuelementulinktypeulinkiÿÿÿÿ( urawdatauAssertionErrorulenu parse_commentuparse_marked_sectionu _scan_nameu_decl_othercharsu handle_declu unknown_declu_declstringlit_matchuendu_parse_doctype_subsetuerror( uselfuiurawdataujunudecltypeucudataumuname((u0/opt/alt/python33/lib64/python3.3/_markupbase.pyuparse_declaration@sZ  "                 uParserBase.parse_declarationicCs|j}|||d…dks/tdƒ‚|j|d|ƒ\}}|dkr[|S|dkr€tj||dƒ}nD|dkr¥tj||dƒ}n|jd ||d|…ƒ|sÎdS|r|jdƒ}|j||d|…ƒn|j dƒS(Niuutempurcdataucdatauincludeuignore>uifuendifuelseiÿÿÿÿ( urawdatauAssertionErroru _scan_nameu_markedsectioncloseusearchu_msmarkedsectioncloseuerrorustartu unknown_decluend(uselfuiureporturawdatausectNameujumatch((u0/opt/alt/python33/lib64/python3.3/_markupbase.pyuparse_marked_section’s  &   uParserBase.parse_marked_sectioncCs“|j}|||d…dkr3|jdƒntj||dƒ}|sSdS|r†|jdƒ}|j||d|…ƒn|jdƒS(Niu