
    i1                        S SK r S SKrS SKr  S SKrS rSSKJ	r	J
r
Jr  SrSrSrSrS	rS
r\R$                  " S5      r\R$                  " S5      rS\S\R,                  \\4   4S jrS rg! \ a    S SKr Nef = f! \ a    SrSr Nrf = f)    Nc                 F    [         R                  " U 5      S   =(       d    S$ )Nencoding )chardetdetect)datas    A/app/mltbenv/lib/python3.13/site-packages/feedparser/encodings.pylazy_chardet_encodingr
   *   s    ~~d#J/525       )CharacterEncodingOverrideCharacterEncodingUnknownNonXMLContentTypes   Los    < ?s   < ? s      <s   <   z  z^<\?xml[^>]*?>s#   ^<\?.*encoding=[\'"](.*?)[\'"].*\?>linereturnc                 *   U R                  S5      nU(       d  gUS   R                  5       nSnUSS  HZ  nUR                  S5      u  pVnUR                  5       R                  5       S:X  d  M;  UR                  5       R                  S	5      nM\     X#4$ )
zParse an HTTP Content-Type header.

The return value will be a tuple of strings:
the MIME type, and the value of the "charset" (if any).

This is a custom replacement for Python's cgi.parse_header().
The cgi module will be removed in Python 3.13.
;)r   r   r   r   r   N=charsetz"')splitstrip	partitionlower)r   chunks	mime_typecharset_valuechunkkey_values           r	   parse_content_typer!   G   s     ZZ_Fq	!IM,99;)+!KKM//6M 
 ##r   c                 &   SnSnUSS [         R                  :X  a  SnUSS nOUSS [         R                  :X  a  SnUSS nOUSS [         R                  :X  a  USS [        :w  a  SnUSS nOUSS [         R
                  :X  a  USS [        :w  a  SnUSS nOnUSS	 [         R                  :X  a  S
nUS	S nOOUSS [        :X  a  SnO?USS [        :X  a  SnO/USS [        :X  a  SnOUSS [        :X  a  SnOUSS [        :X  a  SnUn U(       a   UR                  U5      R                  S
5      n[        R                  U5      nU(       a?  UR%                  5       S   R                  S
5      R'                  5       nU(       a  US;   a  UnU R)                  S5      =(       d    Sn[+        U5      u  pxSn	Sn
SnXz;   d,  UR-                  S5      (       a-  UR/                  S5      (       a  Sn	U=(       d    U=(       d    S
nOX{;   d,  UR-                  S5      (       a$  UR/                  S5      (       a  Sn	U=(       d    SnOFUR-                  S5      (       a  U=(       d    SnO$U (       a  SU ;  a  U=(       d    SnOU=(       d    S
nUR'                  5       S:X  a  SnUR'                  5       S:X  a  SnSnU (       a#  U	(       d  SU ;   a	  SU S   -  nOSn[1        U5      nSn/ nXU[2        S
SS4 H  n[5        U5      (       a  U" U5      nU(       d  M$  UU;   a  M,  UR7                  U5         UR                  U5      nSnSn[8        R;                  U5      (       a  [8        R=                  UU5      nOUS-   U-   nUR                  S
5      n  O   U(       d  [?        SU< S U< S!3-   5      nSnOWU:w  a  [A        S"U< S#U< 35      nUnXS$'   U(       a	  S%US&'   XS''   U$ ! [         ["        4 a    Sn GNf = f! [         ["        4 a     GM  f = f)(ztDetect and convert the character encoding to UTF-8.

http_headers is a dictionary
data is a raw string (not Unicode)r   N   zutf-32bezutf-32le   zutf-16bezutf-16le   zutf-8cp037r   )u16zutf-16utf16utf_16u32zutf-32utf32utf_32ziso-10646-ucs-2ziso-10646-ucs-4csucs4	csunicodezucs-2zucs-4zcontent-type)zapplication/xmlzapplication/xml-dtdz&application/xml-external-parsed-entity)ztext/xmlztext/xml-external-parsed-entityzapplication/z+xmlr   ztext/zus-asciiz
iso-8859-1gb2312gb18030z%s is not an XML media typezno Content-type specifiedzwindows-1252z
iso-8859-2z&<?xml version='1.0' encoding='utf-8'?>
z#document encoding unknown, I tried z, z8, utf-8, windows-1252, and iso-8859-2 but nothing workedzdocument declared as z, but parsed as r   Tbozobozo_exception)!codecsBOM_UTF32_BEBOM_UTF32_LEBOM_UTF16_BE
ZERO_BYTESBOM_UTF16_LEBOM_UTF8EBCDIC_MARKERUTF16BE_MARKERUTF16LE_MARKERUTF32BE_MARKERUTF32LE_MARKERdecodeencodeRE_XML_PI_ENCODINGmatchUnicodeDecodeErrorLookupErrorgroupsr   getr!   
startswithendswithr   r
   callableappendRE_XML_DECLARATIONsearchsubr   r   )http_headersr   resultbom_encodingxml_encodingtempdataxml_encoding_matchhttp_content_typehttp_encodingacceptable_content_typeapplication_content_typestext_content_typesrfc3023_encodingerrormsgknown_encodingtried_encodingsproposed_encodingnew_declarations                      r	   convert_to_utf8ra   _   sw   ^ LL BQx6&&&!ABx	bqV((	(!ABx	bqV((	(T!AY*-D!ABx	bqV((	(T!AY*-D!ABx	bqV__	$ABx	bq]	"	bq^	#!	bq^	#!	bq^	#!	bq^	#!H	@{{<077@H 055h?)00215<<WEKKM\ .
 
 (L %((8>B'9:K'L$!KH:%00@@)226:: #$(CLCG3%0099)226:: #$(6J		%	%g	.	.(6J	.<'7<'27 8+$x'  E4\)/,~2NNC-C!#& NO.l3Wnl\%&& 1$ 7 /01	;;01D NJO!((..)--otD&-4;;w'D-\0 (1|--. 	.	.)023 -):v#( Kq , " "	"v #K0 		s$   'O" .O;"O87O8;PP)r4   retypingtcchardetr   ImportErrorr
   
exceptionsr   r   r   r;   r<   r=   r>   r?   r8   compilerL   rB   strTupler!   ra    r   r	   <module>rl      s   :  	 
6"6  $$$$$
 ZZ 12  ZZ GH $S $QWWS#X%6 $0Pw   !G !s)   A, ,
A96A< 8A99A< <
B	B	