o
0¦i&^ ã @ sê g d ¢Z ddlZddlZddlZddlZddlmZ ddlmZ e j
Z
dZdZdZ
dZd Zd
ZdZe
dƒZe
d
ƒZe dejejB ¡Ze d¡Ze d¡ZejjZdd„ Z ddd„ZG dd„ dƒZG dd„ dƒZG dd„ de ƒZ!dS ))ÚHeaderÚ
decode_headerÚmake_headeré N)ÚHeaderParseError)ÚcharsetÚ
ú ó z Ú éN z úus-asciizutf-8ai
=\? # literal =?
(?P[^?]*?) # non-greedy up to the next ? is the charset
\? # literal ?
(?P[qQbB]) # either a "q" or a "b", case insensitive
\? # literal ?
(?P.*?) # non-greedy up to the next ?= is the encoded string
\?= # literal ?=
z[\041-\176]+:$z
\n[^ \t]+:c C s„ t | dƒrdd„ | jD ƒS t | ¡s| d fgS g }| ¡ D ]A}t |¡}d}|r_| d¡}|r6| ¡ }d}|r@| |d d f¡ |r]| d¡ ¡ }| d¡ ¡ }| d¡}| |||f¡ |s)qg } t
|ƒD ]%\}
}|
dkr‹|d r‹||
d d r‹||
d d ¡ r‹| |
d ¡ qft| ƒD ]}||= qg }
|D ][\}}}|d u r«|
||f¡ qš|d kr½t
j |¡}|
||f¡ qš|d
krðt|ƒd }|rÓ|dd d| … 7 }zt
j |¡}W n tjyç td
ƒ‚w |
||f¡ qštd| ƒ‚g }d }}|
D ]:\}}t|tƒr
t|dƒ}|d u r|}|}qþ||kr(| ||f¡ |}|}qþ|d u r4|t| 7 }qþ||7 }qþ| ||f¡ |S )NÚ_chunksc S s( g | ]\}}t |t|ƒ¡t|ƒf‘qS © )Ú_charsetZ_encodeÚstr)Ú.0Ústringr r r ú3/opt/alt/python310/lib64/python3.10/email/header.pyÚ
M s ÿz!decode_header..Tr Fé é ÚqÚbé z===zBase64 decoding errorzUnexpected encoding: zraw-unicode-escape)Úhasattrr
ÚecreÚsearchÚ
splitlinesÚsplitÚpopÚlstripÚappendÚlowerÚ enumerateÚisspaceÚreversedÚemailÚ
quoprimimeZ
header_decodeÚlenZ
base64mimeÚdecodeÚbinasciiÚErrorr ÚAssertionErrorÚ
isinstancer ÚbytesÚBSPACE)ÚheaderZwordsÚlineÚpartsÚfirstZ unencodedr ÚencodingZencodedZdroplistÚnÚwÚdZ
decoded_wordsZencoded_stringZwordZpaderrZ collapsedZ last_wordÚlast_charsetr r r r = s†
ÿ
õ€4€ÿ
r c C sH t |||d}| D ]\}}|d urt|tƒst|ƒ}| ||¡ q
|S )N)Ú
maxlinelenÚheader_nameÚcontinuation_ws)r r- ÚCharsetr! )Zdecoded_seqr9 r: r; ÚhÚsr r r r r œ s
ÿr c @ sP e Zd Z ddd„Zdd„ Zdd „ Zdd
d„Zdd
„ Zddd„Zdd„ Z dS )r Nr Ústrictc C s€ |d u rt }n t|tƒst|ƒ}|| _|| _g | _|d ur%| |||¡ |d u r+t}|| _|d u r7d| _ d S t
|ƒd | _ d S )Nr r )ÚUSASCIIr- r<