a ä”|jrWã@sÚddlZddlZddlmZdgZe d¡Ze d¡Ze d¡Ze d¡Z e d¡Z e d ¡Z e d ¡Z e d ¡Z e d ¡Ze d ¡Ze dej¡Ze dej¡Ze dej¡Ze d ¡Ze d¡ZGdd„dejƒZdS)éN)ÚunescapeÚ HTMLParserz[&<]z &[a-zA-Z#]z%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]z)&#(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]z <[a-zA-Z]z z--!?>z-?>z0([a-zA-Z][^\t\n\r\f />]*)(?:[\t\n\r\f ]|/(?!>))*a{ ( (?<=['"\t\n\r\f /])[^\t\n\r\f />][^\t\n\r\f /=>]* # attribute name ) ([\t\n\r\f ]*=[\t\n\r\f ]* # value indicator ('[^']*' # LITA-enclosed value |"[^"]*" # LIT-enclosed value |(?!['"])[^>\t\n\r\f ]* # bare value ) )? (?:[\t\n\r\f ]|/(?!>))* # possibly followed by a space a [a-zA-Z][^\t\n\r\f />]* # tag name [\t\n\r\f /]* # optional whitespace before attribute name (?:(?<=['"\t\n\r\f /])[^\t\n\r\f />][^\t\n\r\f /=>]* # attribute name (?:[\t\n\r\f ]*=[\t\n\r\f ]* # value indicator (?:'[^']*' # LITA-enclosed value |"[^"]*" # LIT-enclosed value |(?!['"])[^>\t\n\r\f ]* # bare value ) )? [\t\n\r\f /]* # possibly followed by a space )* >? aF <[a-zA-Z][^\t\n\r\f />\x00]* # 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* # possibly followed by a space )?(?:\s|/(?!>))* )* )? \s* # trailing whitespace z#c@süeZdZdZdZdddœdd„Zdd „Zd d „Zd d „ZdZ dd„Z ddœdd„Z dd„Z d=dd„Z dd„Zdd„Zd>dd„Zd?dd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„ZdS)@r)ZscriptÚstyleZxmpZiframeZnoembedZnoframes)ZtextareaÚtitleTF)Úconvert_charrefsÚ scriptingcCs||_||_| ¡dS©N)rrÚreset)Úselfrr©r ú#/usr/lib64/python3.9/html/parser.pyÚ__init__vs zHTMLParser.__init__cCsFd|_d|_t|_d|_d|_d|_g|_d|_d|_ t j   |¡dS)NÚz???Tré) ÚrawdataÚlasttagÚinteresting_normalÚ interestingÚ cdata_elemÚ_support_cdataÚ _escapableÚ_pendingÚ _pending_lenÚ_parse_thresholdÚ _markupbaseÚ ParserBaser ©r r r r r „szHTMLParser.resetcCs®|jt|ƒ7_|j|jkr,|j |¡n~|jsB|j|7_n,|j |¡|jd |j¡7_|j ¡d|_t|jƒ}| d¡t|jƒ|kržd|_n t|jƒ|_dS©Nrrr) rÚlenrrÚappendrÚjoinÚclearÚgoahead)r ÚdataÚnr r r Úfeed‘s      zHTMLParser.feedcCs:|jr,|jd |j¡7_|j ¡d|_| d¡dSr)rrr!r"rr#rr r r Úclose¯s  zHTMLParser.closeNcCs|jSr )Ú_HTMLParser__starttag_textrr r r Úget_starttag_text¹szHTMLParser.get_starttag_text©Ú escapablecCsp| ¡|_||_|jdkr(t d¡|_nD|rP|jsPt d|jtjtjB¡|_nt d|jtjtjB¡|_dS)NÚ plaintextz\Zz&|])z])) ÚlowerrrÚreÚcompilerrÚ IGNORECASEÚASCII)r Úelemr+r r r Úset_cdata_mode½s     ÿ  ÿzHTMLParser.set_cdata_modecCst|_d|_d|_dS)NT)rrrrrr r r Úclear_cdata_modeÉszHTMLParser.clear_cdata_modecCs ||_dSr )r)r Úflagr r r Ú_set_support_cdataÎs zHTMLParser._set_support_cdatac Cs4|j}d}t|ƒ}||krÌ|jrv|jsv| d|¡}|dkr | dt||dƒ¡}|dkrpt d¡  ||¡spqÌ|}n*|j   ||¡}|r’|  ¡}n|jrœqÌ|}||krÞ|jrÌ|j rÌ|  t|||…ƒ¡n|  |||…¡| ||¡}||kröqÌ|j}|d|ƒrz]]>rrBr?rArr;rzÚ roZnoscriptr,Fr*T)r(Úcheck_for_whole_start_tagrÚtagfind_tolerantrLr\rZr-rÚattrfind_tolerantrr ÚstripZgetposÚcountrrErIrTÚhandle_startendtagÚhandle_starttagÚCDATA_CONTENT_ELEMENTSrr3ÚRCDATA_CONTENT_ELEMENTS)r r`ÚendposrÚattrsrLrbÚtagÚmÚattrnameÚrestZ attrvaluer\ÚlinenoÚoffsetr r r rM³sh   & ÿ ÿ       ÿ   ÿÿþ zHTMLParser.parse_starttagcCs6|j}t ||d¡}| ¡}||ddkr2dS|S)NrrrB)rÚ locatetagendrLr\rlr r r rqìs z$HTMLParser.check_for_whole_start_tagcCs´|j}| d|d¡dkrdSt ||¡sT||d|d…dkrJ|dS| |¡St ||d¡}| ¡}||ddkr€dSt ||d¡}| d¡  ¡}|  |¡|  ¡|S)Nrr;rrBr?r) rrDrRrLrfr‚r\rrrZr-Ú handle_endtagr4)r r`rrLrar|r r r rNös    zHTMLParser.parse_endtagcCs| ||¡| |¡dSr )rwrƒ©r r|r{r r r rvs zHTMLParser.handle_startendtagcCsdSr r r„r r r rwszHTMLParser.handle_starttagcCsdSr r )r r|r r r rƒszHTMLParser.handle_endtagcCsdSr r ©r rdr r r r[!szHTMLParser.handle_charrefcCsdSr r r…r r r r^%szHTMLParser.handle_entityrefcCsdSr r ©r r$r r r rI)szHTMLParser.handle_datacCsdSr r r†r r r rS-szHTMLParser.handle_commentcCsdSr r )r Zdeclr r r rV1szHTMLParser.handle_declcCsdSr r r†r r r rW5szHTMLParser.handle_picCsdSr r r†r r r rU8szHTMLParser.unknown_decl)T)T)r) Ú__name__Ú __module__Ú __qualname__rxryrr r&r'r(r)r3r4r6r#rQrOrfrPrMrqrNrvrwrƒr[r^rIrSrVrWrUr r r r rZs<    "   9 )r.rZhtmlrÚ__all__r/rr_r]rYrKrRrkrgrhrrÚVERBOSErsr‚Zlocatestarttagend_tolerantZ endendtagZ endtagfindrrr r r r Ú s2           õ  óò