a -^@sdZddlmZz edZWney2dZYn0es^ddlmZddZdd Z d d Z n$dd lm Z d dZdd Z dd Z dS)zTTools for reading and writing PKG-INFO / METADATA without caring about the encoding.)ParserFT) GeneratorcCs t|S)N)rparsestr)bytestrr//usr/lib/python3/dist-packages/wheel/pkginfo.pyread_pkg_info_bytessrcCs:t|d}t|}Wdn1s,0Y|S)Nropenrparsepathheadersmessagerrr read_pkg_infos *rcCsBt|d$}t|ddd|Wdn1s40YdS)NwFrZ mangle_from_Z maxheaderlen)r rflatten)rrmetadatarrrwrite_pkg_infos r)BytesGeneratorcCs|jddd}t|}|S)Nasciisurrogateescapeencodingerrors)decoderr)rrrrrrrs cCs@t|dddd}t|}Wdn1s20Y|S)Nr rrrr r rrrr"s*cCsBt|d$}t|ddd|Wdn1s40YdS)NwbFrr)r rr)rroutrrrr)s N) __doc__Z email.parserrZunicodeZ_PY3 NameErrorZemail.generatorrrrrrrrrrs