fB ddlZddlZddlmZdgZejdZejdZejdZejdZ ejdZ ejd Z ejd Z ejd Z ejd Zejd ejZejd ZejdZGddejZdS)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--\s*>z+([a-zA-Z][^\t\n\r\f />\x00]*)(?:\s|/(?!>))*z]((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?(?:\s|/(?!>))*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#ceZdZ dZdddZdZdZdZdZd Z d Z d Z d Z d Z ddZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdS)r)scriptstyleT)convert_charrefsc> ||_|dSN)r reset)selfr s 2/opt/alt/python311/lib64/python3.11/html/parser.py__init__zHTMLParser.__init__Vs" !1 c d|_d|_t|_d|_t j|dS)Nz???)rawdatalasttaginteresting_normal interesting cdata_elem _markupbase ParserBaser r s rr zHTMLParser.reset_s??  -$$T*****rcP |j|z|_|ddS)Nr)rgoaheadr datas rfeedzHTMLParser.feedgs* |d*  Qrc2 |ddS)N)rrs rclosezHTMLParser.closeps' QrNc |jSr )_HTMLParser__starttag_textrs rget_starttag_textzHTMLParser.get_starttag_textvs7##rc||_tjd|jztj|_dS)Nz )lowerrrecompileIr)r elems rset_cdata_modezHTMLParser.set_cdata_modezs4**,,:nt&FMMrc,t|_d|_dSr )rrrrs rclear_cdata_modezHTMLParser.clear_cdata_mode~s-rc |j}d}t|}||kr|jr}|jsv|d|}|dkrY|dt ||dz }|dkr*tjd ||sn|}n=|j ||}|r| }n |jrnZ|}||krV|jr2|js+| t|||n| ||||||}||krn|j}|d|rt ||r||} n|d|r||} n|d|r||} nj|d|r||} nH|d |r||} n&|d z|kr| d|d z} nn| dkr|sn|d |d z} | dkr%|d|d z} | dkr|d z} n| d z } |jr2|js+| t||| n| ||| ||| }n#|d |rt.||}|rq|d d} || |} |d| d z s| d z } ||| }d||dvr9| |||d z|||d z}nI|d|r5t6||}|rj|d } || |} |d| d z s| d z } ||| }kt:||}|rX|rU|||dkr5|} | |kr|} |||d z}n@|d z|kr/| d|||d z}nn||k|ry||krs|jsl|jr2|js+| t|||n| ||||||}||d|_dS)Nr<&"z[\s;]z>D))$/// A%:c1Q3//"Eq!,,A"((!445u{{}} ;;!IIKK66 !A NN1a!e44!eq[[$$S)))q!a%00AAO!eeV  %1q555$ /T_ /  '!A#,!7!78888  1...q!$$Aqrr{ rc|j}|||dzdkr||S|||dzdkr||S|||dzdkrF|d|dz}|dkrdS|||d z||d zS||S) Nr3zV # #%%a(( ( QqsU^u $ $,,Q// / QqsU^ ! ! # #{ 2 2LLac**E{{r   WQqSY/ 0 0 07N++A.. .rr!c|j}|d|dz}|dkrdS|r |||dz||dzS)Nrr4r5r!)rr8handle_comment)r rNreportrposs rrZzHTMLParser.parse_bogus_commentsb,ll3!$$ "992  2   !C 0 1 1 1Qwrc|j}t||dz}|sdS|}|||dz||}|S)Nr4r5)rpicloser;r< handle_pirJ)r rNrrArPs rrEzHTMLParser.parse_pi sj,w!,, 2 KKMM wqsAv''' IIKKrc>d|_||}|dkr|S|j}||||_g}t||dz}|}|dx|_}||krt||}|sn|ddd\} } } | sd} nI| dddcxkr| ddks"n| dddcxkr| ddkr nn | dd} | rt| } | | | f|}||k||| } | dvr| ||||S| d r|||n4|||||jvr|||S) Nrr!r4rV'r5")r/>rf)r$check_for_whole_start_tagrtagfind_tolerantrArJrHr'rattrfind_tolerantrappendstripr=endswithhandle_startendtaghandle_starttagCDATA_CONTENT_ELEMENTSr,) r rNendposrattrsrArRtagmattrnamerest attrvaluerJs rrBzHTMLParser.parse_starttag,sU#//22 A::M,&qx0 &&w!44 IIKK"[[^^11333 s&jj!''33A ()1a(8(8 %HdI , 2A2$8888)BCC.88882A2#777723377777%adO  0$Y// LL(..**I6 7 7 7A&jjah%%'' k ! !   WQvX. / / /M <<   )  # #C / / / /  e , , ,d111##C((( rc|j}t||}|r|}|||dz}|dkr|dzS|dkr@|d|r|dzS|d|rdS||kr|S|dzS|dkrdS|dvrdS||kr|S|dzSt d ) Nr!r/rfr4r5rz6abcdefghijklmnopqrstuvwxyz=/ABCDEFGHIJKLMNOPQRSTUVWXYZzwe should not get here!)rlocatestarttagend_tolerantrArJr?AssertionError)r rNrrsrPnexts rrgz$HTMLParser.check_for_whole_start_tagXs, & , ,Wa 8 8  A1QqS5>Ds{{1u s{{%%dA..!q5L%%c1--2q55Hq5Lrzzr566r1uu1u 6777rcp|j}t||dz}|sdS|}t||}|s|j|||||St||dz}|s+|||dzdkr|dzS| |S| d }| d|}| ||dzS| d }|j*||jkr|||||S| |||S)Nr!r5r4rVzr)r endendtagr;rJ endtagfindrArr=rhrZrHr'r8 handle_endtagr.)r rNrrAr[ namematchtagnamer+s rrCzHTMLParser.parse_endtagzs,  !A#.. 2   !,, *  5!1222 (..w!<U**Q3J33A666ooa((..00G LLimmoo66E   w ' ' '7N{{1~~##%% ? &t&&  5!1222  4     rc\|||||dSr )rnrr rrrqs rrmzHTMLParser.handle_startendtags2 S%((( 3rcdSr rs rrnzHTMLParser.handle_starttag rcdSr r)r rrs rrzHTMLParser.handle_endtagrrcdSr rr rSs rrIzHTMLParser.handle_charrefrrcdSr rrs rrLzHTMLParser.handle_entityrefrrcdSr rrs rr=zHTMLParser.handle_datarrcdSr rrs rr]zHTMLParser.handle_commentrrcdSr r)r decls rrYzHTMLParser.handle_declrrcdSr rrs rrbzHTMLParser.handle_pirrcdSr rrs r unknown_declzHTMLParser.unknown_declrr)r!)__name__ __module__ __qualname__rorr rr"r$r%r,r.rrFrZrErBrgrCrmrnrrIrLr=r]rYrbrrrrrr>s*1+/+++O$$$NNNu#u#u#t///*       (((X888D%%%P                                r)r(rhtmlr__all__r)rrMrKrGr@ra commentcloserhriVERBOSEryr}r~rrrrrrsj"  . RZ'' RZ % % BJ> ? ? "*@ A Arz+&& "*S//rz)$$ 2:LMMBJ=>>(RZ)Z BJsOO RZ> ? ? I I I I I 'I I I I I r