§ {<ˆj:Mãó€—dZddlmZmZmZmZddlTddlmZddl Z ddl Z e j d¦«Z e j d¦«Z e j d¦«Ze j d ¦«Ze j d ¦«Ze j d ¦«Ze j d ¦«Ze j d ¦«Ze j d¦«Ze j d¦«Ze j d¦«Ze j de j¦«Ze j de j¦«Ze j d ¦«Ze j d¦«ZGd„de¦«ZGd„dej¦«ZdS)zLA parser for HTML and XHTML. Backported for python-future from Python 3.3. é)Úabsolute_importÚdivisionÚprint_functionÚunicode_literals)Ú*)Ú _markupbaseNz[&<]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][-.a-zA-Z0-9:_]*)(?:\s|/(?!>))*z[a-zA-Z][^ />]*zJ\s*([a-zA-Z_][-.:a-zA-Z_0-9]*)(\s*=\s*(\'[^\']*\'|"[^"]*"|[^\s"\'=<>`]*))?z]((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?(?:\s|/(?!>))*aê <[a-zA-Z][-.a-zA-Z0-9:_]* # tag name (?:\s+ # whitespace before attribute name (?:[a-zA-Z_][-.:a-zA-Z0-9_]* # attribute name (?:\s*=\s* # value indicator (?:'[^']*' # LITA-enclosed value |\"[^\"]*\" # LIT-enclosed value |[^'\">\s]+ # bare value ) )? ) )* \s* # trailing whitespace aF <[a-zA-Z][-.a-zA-Z0-9:_]* # 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 comma )?(?:\s|/(?!>))* )* )? \s* # trailing whitespace z#có —eZdZdZdd„Zd„ZdS)ÚHTMLParseErrorz&Exception raised for all parse errors.©NNcóP—|sJ‚||_|d|_|d|_dS)Nré©ÚmsgÚlinenoÚoffset)ÚselfrÚpositions ún/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/future/backports/html/parser.pyÚ__init__zHTMLParseError.__init__Us,€Øˆ ˆ ˆs؈ŒØ˜q”kˆŒ ؘq”kˆŒ ˆ ˆ ócój—|j}|j� |d|jzz}|j�|d|jdzzz}|S)Nz , at line %dz , column %drr)rÚresults rÚ__str__zHTMLParseError.__str__[sD€Ø”ˆØ Œ;Ð "ؘn¨t¬{Ñ:Ñ:ˆFØ Œ;Ð "ؘm¨t¬{¸Q©Ñ?Ñ?ˆF؈ rN)r )Ú__name__Ú __module__Ú __qualname__Ú__doc__rr©rrr r Rs=€€€€€Ø0Ð0ð"ð"ð"ð"ð ððððrr cóº—eZdZdZdZd d„Zd„Zd„Zd„Zd„Z d Z d „Z d „Z d „Z d „Zd„Zd!d„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd S)"Ú HTMLParseraÇFind tags and other markup and call handler functions. Usage: p = HTMLParser() p.feed(data) ... p.close() Start tags are handled by calling self.handle_starttag() or self.handle_startendtag(); end tags by self.handle_endtag(). The data between tags is passed from the parser to the derived class by calling self.handle_data() with the data as argument (the data may be split up in arbitrary chunks). Entity references are passed by calling self.handle_entityref() with the entity reference as the argument. Numeric character references are passed to self.handle_charref() with the string containing the reference as the argument. )ÚscriptÚstyleFcóx—|rtjdtd¬¦«||_| ¦«dS)zßInitialize and reset this instance. If strict is set to False (the default) the parser will parse invalid markup, otherwise it will raise an error. Note that the strict mode is deprecated. zThe strict mode is deprecated.é)Ú stacklevelN)ÚwarningsÚwarnÚDeprecationWarningÚstrictÚreset)rr*s rrzHTMLParser.__init__zsE€ð ð <Ý ŒMÐ:Ý,¸ð <ñ <ô <ð <àˆŒ Ø � Š ‰ Œ ˆ ˆ ˆ rcó†—d|_d|_t|_d|_t j |¦«dS)z1Reset this instance. Loses all unprocessed data.Úz???N)ÚrawdataÚlasttagÚinteresting_normalÚ interestingÚ cdata_elemrÚ ParserBaser+©rs rr+zHTMLParser.reset‡s<€àˆŒ ؈Œ Ý-ˆÔ؈ŒÝÔ×$Ò$ TÑ*Ô*Ð*Ð*Ð*rcóN—|j|z|_| d¦«dS)z‘Feed data to the parser. Call this as often as you want, with as little or as much text as you want (may include '\n'). rN)r.Úgoahead©rÚdatas rÚfeedzHTMLParser.feed�s%€ð ”| dÑ*ˆŒ Ø � Š �Q‰Œˆˆˆrcó0—| d¦«dS)zHandle any buffered data.rN)r6r4s rÚclosezHTMLParser.close˜s€à � Š �Q‰ŒˆˆˆrcóF—t|| ¦«¦«‚©N)r Úgetpos)rÚmessages rÚerrorzHTMLParser.errorœs€Ý˜W d§k¢k¡m¤mÑ4Ô4Ð4rNcó—|jS)z)Return full source of start tag: '<...>'.)Ú_HTMLParser__starttag_textr4s rÚget_starttag_textzHTMLParser.get_starttag_text¡s €àÔ#Ð#rcó�—| ¦«|_tjd|jztj¦«|_dS)Nz )Úlowerr2ÚreÚcompileÚIr1)rÚelems rÚset_cdata_modezHTMLParser.set_cdata_mode¥s4€ØŸ*š*™,œ,ˆŒÝœ: n°t´Ñ&FÍÌÑMÔMˆÔÐÐrcó,—t|_d|_dSr=)r0r1r2r4s rÚclear_cdata_modezHTMLParser.clear_cdata_mode©s€Ý-ˆÔ؈Œˆˆrcó¸ —|j}d}t|¦«}||k�ri|j ||¦«}|r| ¦«}n |jr�n.|}||kr| |||…¦«| ||¦«}||kr�në|j}|d|¦«�r t  ||¦«r|  |¦«}nË|d|¦«r|  |¦«}n©|d|¦«r|  |¦«}n‡|d|¦«r| |¦«}ne|d|¦«r3|jr| |¦«}n<| |¦«}n&|dz|kr| d¦«|dz}n�nÛ|dkr†|s�nÑ|jr| d¦«| d |dz¦«}|dkr%| d|dz¦«}|dkr|dz}n|dz }| |||…¦«| ||¦«}�n0|d |¦«rÏt(  ||¦«}|rq| ¦«d d …} | | ¦«| ¦«}|d |dz ¦«s|dz }| ||¦«}�ŒÓd ||d…vr3| |dd …¦«| |d ¦«}�n\|d|¦«�r>t0  ||¦«}|rj| d¦«} | | ¦«| ¦«}|d |dz ¦«s|dz }| ||¦«}�Œ¨t4  ||¦«}|ra|r^| ¦«||d…kr>|jr| d¦«n!||kr|}| ||dz¦«}nJ|dz|kr/| d¦«| ||dz¦«}n nJd¦«‚||k�°i|r@||kr:|js3| |||…¦«| ||¦«}||d…|_dS)Nrú<úœ>�DØ×)Ò)¨$Ñ/Ô/Ð/ØŸ š ™ œ �AØ%˜: c¨1¨Q©3Ñ/Ô/ð"Ø ™E˜ØŸš q¨!Ñ,Ô,�AÙÝ"×(Ò(¨°!Ñ4Ô4�Øðàð9˜uŸ{š{™}œ}°¸¸¸´ Ò;Ð;Øœ;ð9Ø ŸJšJÐ'LÑMÔMÐMÐMà  Ašv˜vØ$% Ø $§¢¨q°!°a±%Ñ 8Ô 8˜AàØ˜!‘e˜q’[�[ð×$Ò$ SÑ)Ô)Ð)ØŸš q¨!¨a©%Ñ0Ô0�A�Aàà5Ð5Ñ5Ô5�qðu�!Še‰eðx ð %�1�q’5�5 ¤�5Ø × Ò ˜W Q q Sœ\Ñ *Ô *Ð *Ø—’˜q !Ñ$Ô$ˆAؘq˜r˜r”{ˆŒ ˆ ˆ rcóÚ—|j}|||dz…dks Jd¦«‚|||dz…dkr| |¦«S|||dz…dkr| |¦«S|||dz… ¦«d krF| d |dz¦«}|d krd S| ||dz|…¦«|d zS| |¦«S) Nr%rRz+unexpected call to parse_html_declaration()érPéz˜VÒ #Ð #à×%Ò% aÑ(Ô(Ð (Ø �Q�q˜‘s�UŒ^˜uÒ $Ð $Ø×,Ò,¨QÑ/Ô/Ð /Ø �Q�q˜‘s�UŒ^× !Ò !Ñ #Ô # {Ò 2Ð 2à—L’L  a¨¡cÑ*Ô*ˆEؘŠ{ˆ{Ø�rØ × Ò ˜W Q q¡S¨ YÔ/Ñ 0Ô 0Ð 0ؘ‘7ˆNà×+Ò+¨AÑ.Ô.Ð .rrcóÒ—|j}|||dz…dvs Jd¦«‚| d|dz¦«}|dkrdS|r | ||dz|…¦«|dzS)Nr%)rRrOz"unexpected call to parse_comment()r rTr)r.reÚhandle_comment)rrmÚreportr.Úposs rrxzHTMLParser.parse_bogus_comment-s‰€Ø”,ˆØ�q˜˜1™�uŒ~ Ð-Ð-Ð-ð1BÑ-Ô-Ð-à�lŠl˜3  !¡Ñ$Ô$ˆØ �"Š9ˆ9Ø�2Ø ð 2Ø × Ò  ¨¨!©¨C¨Ô 0Ñ 1Ô 1Ð 1Ø�Q‰wˆrcó—|j}|||dz…dks Jd¦«‚t ||dz¦«}|sdS| ¦«}| ||dz|…¦«| ¦«}|S)Nr%rQzunexpected call to parse_pi()rT)r.ÚpicloserXrYÚ handle_piri)rrmr.r^ros rrbzHTMLParser.parse_pi9s�€Ø”,ˆØ�q˜˜1™�uŒ~ Ò%Ð%Ð%Ð'FÑ%Ô%Ð%Ý—’˜w¨¨!©Ñ,Ô,ˆØð Ø�2Ø �KŠK‰MŒMˆØ �Š�w˜q ™s A˜v”Ñ'Ô'Ð'Ø �IŠI‰KŒKˆØˆrcó—d|_| |¦«}|dkr|S|j}|||…|_g}t ||dz¦«}|s Jd¦«‚| ¦«}| d¦« ¦«x|_}||k�r|j rt ||¦«}nt ||¦«}|snÄ| ddd¦«\} } } | sd} nI| dd…dcxkr| dd…ks"n| dd…dcxkr| dd…kr nn | dd…} | r|  | ¦«} |  |  ¦«| f¦«| ¦«}||k�°|||… ¦«} | d vrÒ| ¦«\} }d |jvrM| |j d ¦«z} t#|j¦«|j d ¦«z }n|t#|j¦«z}|j r(| d |||…dd …›�¦«| |||…¦«|S|  d ¦«r| ||¦«n4| ||¦«||jvr| |¦«|S)Nrrz#unexpected call to parse_starttag()r%rtú'rTú")r ú/>ú zjunk characters in start tag: ér„)rBÚcheck_for_whole_start_tagr.Útagfindr^rirgrEr/r*ÚattrfindÚattrfind_tolerantÚunescapeÚappendÚstripr>ÚcountrWÚrfindr@rZÚendswithÚhandle_startendtagÚhandle_starttagÚCDATA_CONTENT_ELEMENTSrJ)rrmÚendposr.Úattrsr^rpÚtagÚmÚattrnameÚrestÚ attrvaluerirrs rr_zHTMLParser.parse_starttagEsE€Ø#ˆÔØ×/Ò/°Ñ2Ô2ˆØ �AŠ:ˆ:؈MØ”,ˆØ& q¨ xÔ0ˆÔðˆÝ— ’ ˜g q¨¡sÑ+Ô+ˆØÐ;Ð;Ð;Ñ;Ô;ˆuØ �IŠI‰KŒKˆØ"Ÿ[š[¨™^œ^×1Ò1Ñ3Ô3Ð3ˆŒ �sØ�&Šj‰jØŒ{ð 8Ý—N’N 7¨AÑ.Ô.��å%×+Ò+¨G°QÑ7Ô7�Øð ØØ()¯ª°°1°aÑ(8Ô(8Ñ %ˆH�d˜IØð ,Ø � � ؘ2˜A˜2” $Ð8Ð8Ò8Ð8¨)°B°C°C¬.Ò8Ð8Ð8Ð8ؘ2˜A˜2” #Ð7Ð7Ò7Ð7¨°2°3°3¬Ò7Ð7Ð7Ð7Ð7Ø% a¨ dœO� Øð 5Ø ŸMšM¨)Ñ4Ô4� Ø �LŠL˜(Ÿ.š.Ñ*Ô*¨IÐ6Ñ 7Ô 7Ð 7Ø—’‘”ˆAð!�&Šj‰jð$�a˜�hÔ×%Ò%Ñ'Ô'ˆØ �kÐ !Ð !Ø!Ÿ[š[™]œ]‰NˆF�FØ�tÔ+Ð+Ð+Ø $Ô"6×"<Ò"<¸TÑ"BÔ"BÑB�ݘTÔ1Ñ2Ô2ØÔ/×5Ò5°dÑ;Ô;ñ<��ð ¥# dÔ&:Ñ";Ô";Ñ;�ØŒ{ð 8Ø— ’ � Ø% a¨ hÔ/°°°Ô4Ð4ð7ñ8ô8ð8à × Ò ˜W Q v XÔ.Ñ /Ô /Ð /؈MØ �<Š<˜Ñ Ô ð )à × #Ò # C¨Ñ /Ô /Ð /Ð /à × Ò   eÑ ,Ô ,Ð ,Ø�dÔ1Ð1Ð1Ø×#Ò# CÑ(Ô(Ð(؈ rcó–—|j}|jrt ||¦«}nt ||¦«}|rô| ¦«}|||dz…}|dkr|dzS|dkru| d|¦«r|dzS| d|¦«rdS|jr.| ||dz¦«| d¦«||kr|S|dzS|dkrdS|d vrdS|jr+| ||¦«| d ¦«||kr|S|dzStd ¦«‚) Nrr ú/r„r%rTzmalformed empty start tagr-z6abcdefghijklmnopqrstuvwxyz=/ABCDEFGHIJKLMNOPQRSTUVWXYZzmalformed start tagzwe should not get here!) r.r*Úlocatestarttagendr^Úlocatestarttagend_tolerantrir\r[r@ÚAssertionError)rrmr.r—roÚnexts rr‡z$HTMLParser.check_for_whole_start_tag~sˆ€Ø”,ˆØ Œ;ð =Ý!×'Ò'¨°Ñ3Ô3ˆAˆAå*×0Ò0°¸!Ñ<Ô<ˆAØ ð! Ø—’‘”ˆAؘ1˜Q˜q™S˜5”>ˆDØ�sŠ{ˆ{ؘ1‘u� Ø�sŠ{ˆ{Ø×%Ò% d¨AÑ.Ô.ð!ؘq™5�LØ×%Ò% c¨1Ñ-Ô-ðà˜2à”;ð<Ø—N’N 1 a¨!¡eÑ,Ô,Ð,Ø—J’JÐ:Ñ;Ô;Ð;Ø�q’5�5Ø�Hà˜q™5�LØ�rŠzˆzà�rØð5ð6ð6ð�rØŒ{ð 2Ø—’˜q !Ñ$Ô$Ð$Ø— ’ Ð0Ñ1Ô1Ð1Ø�1ŠuˆuØ�à˜1‘u� ÝÐ6Ñ7Ô7Ð7rcó—|j}|||dz…dks Jd¦«‚t ||dz¦«}|sdS| ¦«}t ||¦«}|�s|j�| |||…¦«|S|jr |  d|||…›�¦«t ||dz¦«}|s+|||dz…dkr|dzS|  |¦«S|  ¦«  ¦«}| d | ¦«¦«}| |¦«|dzS|  d¦«  ¦«}|j�*||jkr| |||…¦«|S| |  ¦«¦«| ¦«|S) Nr%rOzunexpected call to parse_endtagrrTz bad end tag: rtzr )r.Ú endendtagrXriÚ endtagfindr^r2rZr*r@Útagfind_tolerantrxrgrEreÚ handle_endtagrL)rrmr.r^ryÚ namematchÚtagnamerIs rr`zHTMLParser.parse_endtag©s€Ø”,ˆØ�q˜˜1™�uŒ~ Ò%Ð%Ð%Ð'HÑ%Ô%Ð%Ý× Ò  ¨!¨A©#Ñ.Ô.ˆØð Ø�2Ø— ’ ‘ ” ˆÝ× Ò  ¨!Ñ,Ô,ˆØñ ØŒÐ*Ø× Ò  ¨¨5¨Ô!1Ñ2Ô2Ð2Ø� ØŒ{ð DØ— ’ � °¸¸%¸Ô0@Ð0@ÐBÑCÔCÐCå(×.Ò.¨w¸¸!¹Ñ<Ô<ˆIØð 7à˜1˜Q˜q™S˜5”> UÒ*Ð*ؘQ™3�Jà×3Ò3°AÑ6Ô6Ð6Ø—o’oÑ'Ô'×-Ò-Ñ/Ô/ˆGð —L’L  i§m¢m¡o¤oÑ6Ô6ˆEØ × Ò ˜wÑ 'Ô 'Ð 'ؘ‘7ˆNà�{Š{˜1‰~Œ~×#Ò#Ñ%Ô%ˆØ Œ?Ð &Ø�t”Ò&Ð&Ø× Ò  ¨¨5¨Ô!1Ñ2Ô2Ð2Ø� à ×Ò˜4Ÿ:š:™<œ<Ñ(Ô(Ð(Ø ×ÒÑÔÐØˆ rcó\—| ||¦«| |¦«dSr=)r’r¥©rr–r•s rr‘zHTMLParser.handle_startendtagÓs2€Ø ×Ò˜S %Ñ(Ô(Ð(Ø ×Ò˜3ÑÔÐÐÐrcó—dSr=rr©s rr’zHTMLParser.handle_starttagØó€Ø ˆrcó—dSr=r)rr–s rr¥zHTMLParser.handle_endtagÜr«rcó—dSr=r©rrqs rrhzHTMLParser.handle_charrefàr«rcó—dSr=rr®s rrkzHTMLParser.handle_entityrefär«rcó—dSr=rr7s rrZzHTMLParser.handle_dataèr«rcó—dSr=rr7s rr{zHTMLParser.handle_commentìr«rcó—dSr=r)rÚdecls rrwzHTMLParser.handle_declðr«rcó—dSr=rr7s rr€zHTMLParser.handle_piôr«rcóH—|jr| d|›�¦«dSdS)Nzunknown declaration: )r*r@r7s rÚ unknown_declzHTMLParser.unknown_decl÷s5€Ø Œ;ð <Ø �JŠJˆJ°D°DÐ:Ñ ;Ô ;Ð ;Ð ;Ð ;ð <ð .replaceEntitiesÿs^€Ø—’‘ ” ˜1” ˆAð #Ø�Q”4˜3’;�;ؘ!˜"˜"œ�Aؘ”t˜yÐ(Ð(Ý  ! " "¤§ ¢ ¨SÑ 1Ô 1°2Ñ6Ô6˜˜å §¢¨¡ ¤ Ñ.Ô.˜Ý˜q™6œ6�Mð ðAÐ@Ð@Ð@Ð@Ð@ؘ�:�:Ø  œ8�OØ—Z’Z ‘_”_ð#Ø ™7�Nݘq¥# a¡&¤&Ñ)Ô)ð#ð#�Aؘ˜!˜”u �~�~Ø$ Q r¨ r¤Uœ|¨a°°°¬eÑ3Ð3Ð3Ð3ð&ð ™7�Nøõð ð ð Ø˜a‘x���ð øøøsœArÏs%ðððð:ð:ð:ð:ð:ð:ð:ð:ð:ð:ð:ð:àÐÐÐØ(Ð(Ð(Ð(Ð(Ð(Ø € € € Ø€€€ð �R”Z Ñ'Ô'ÐØ ˆRŒZ˜ Ñ %Ô %€ à ˆBŒJÐ>Ñ ?Ô ?€ Ø ˆ"Œ*Ð@Ñ AÔ A€àˆrŒz˜+Ñ&Ô&€ Ø ˆ"Œ*�S‰/Œ/€ØˆrŒz˜)Ñ$Ô$€ Ø ˆ"Œ*Ð?Ñ @Ô @€ð�2”:Ð;Ñ<Ô<Ðð ˆ2Œ:ð,ñ -ô -€ð�B”Jð=ñ>ô>Ðð�B”Jð ð„Zñ ô Ðð(˜RœZð)ð„ZñôÐð ˆBŒJ�s‰OŒO€ ðˆRŒZÐ=Ñ >Ô >€ ððððð�Yñôðð$t*ðt*ðt*ðt*ðt*�Ô'ñt*ôt*ðt*ðt*ðt*r