grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|j=9ã@sVdZddlZe d¡jZe d¡jZe d¡Ze d¡Ze d¡Z[Gdd „d ƒZ dS) zÎ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. éNz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z ]\s*]\s*>z]\s*>c@sˆeZdZdZdd„Zdd„Zdd„Zdd „Zd Zd d „Z d!dd„Z d!dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zd S)"Ú ParserBaseziParser base class which provides some common support methods used by the SGML/HTML and XHTML parsers.cCs|jtur tdƒ‚dS)Nz)_markupbase.ParserBase must be subclassed)Ú __class__rÚ RuntimeError©Úself©rú2/opt/alt/python310/lib64/python3.10/_markupbase.pyÚ__init__s ÿÿzParserBase.__init__cCsd|_d|_dS)Nér©ÚlinenoÚoffsetrrrrÚreset s zParserBase.resetcCs |j|jfS)z&Return current line number and offset.r rrrrÚgetpos$s zParserBase.getposcCsd||kr|S|j}| d||¡}|r(|j||_| d||¡}||d|_|S|j|||_|S)NÚ r )ÚrawdataÚcountr Úrindexr )rÚiÚjrZnlinesÚposrrrÚ updatepos,s ÿzParserBase.updateposÚc Cs´|j}|d}|||d…dkr|dS|||d…dvr!dSt|ƒ}|||d…dkr4| |¡S||dkr?| |¡S| ||¡\}}|dkrM|S|d krTd |_||krØ||}|dkr~||d|…}|d kru| |¡|dS| |¡|dS|d vr�t||ƒ}|s‹dS|  ¡}n>|d vr�| ||¡\} }n1||jvr§|d}n'|dkrÆ|d kr¸|  |d|¡}n|d vrÂt d|ƒ‚t dƒ‚t d||ƒ‚|dkrÔ|S||ksXdS)Nér ú>)ú-réÿÿÿÿz--ú[rZdoctyperz"'Z4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ>ÚlinkÚelementÚattlistZlinktypez&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration) rÚlenÚ parse_commentÚparse_marked_sectionÚ _scan_nameÚ_decl_othercharsZ handle_declÚ unknown_declÚ_declstringlit_matchÚendÚ_parse_doctype_subsetÚAssertionError) rrrrÚnZdecltypeÚcÚdataÚmÚnamerrrÚparse_declaration<sZ      ÿ     Ú'zParserBase.parse_declarationr cCs¨|j}| |d|¡\}}|dkr|S|dvr t ||d¡}n|dvr-t ||d¡}n td||d|…ƒ‚|s=dS|rO| d¡}| ||d|…¡| d¡S)Nér>ZrcdataÚignoreZincludeZcdataZtemp>ÚelseÚifZendifz+unknown status keyword %r in marked sectionr) rr$Ú_markedsectioncloseÚsearchÚ_msmarkedsectioncloser*Ústartr&r()rrÚreportrZsectNamerÚmatchrrrr#�s"ÿ  zParserBase.parse_marked_sectioncCsh|j}|||d…dkrtdƒ‚t ||d¡}|sdS|r/| d¡}| ||d|…¡| d¡S)Néú