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}|||…dksJdƒ‚|||d…dkr!|dS|||d…dvr-dSt|ƒ}|||d…dkr@| |¡S||d krK| |¡S| ||¡\}}|d krY|S|d kr`d |_||krä||}|dkrŠ||d|…}|d kr�| |¡|dS| |¡|dS|d vrœt||ƒ}|s—dS|  ¡}n>|dvr©| ||¡\} }n1||jvr³|d}n'|d krÒ|d krÄ|  |d|¡}n|dvrÎt d|ƒ‚t dƒ‚t d||ƒ‚|d krà|S||ksddS)Néú)ú-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<s\      ÿ     Ú'zParserBase.parse_declarationr cCsÄ|j}|||d…dksJdƒ‚| |d|¡\}}|dkr!|S|dvr.t ||d¡}n|dvr;t ||d¡}n td||d|…ƒ‚|sKdS|r]| d¡}| ||d|…¡| d¡S) NézZrcdataÚ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éú