Ë
    ì—0jQ  ã                   óB   — d Z g d¢ZddlZddlmZ d„ Zd	d„Zd
d„Zdd„Zy)z1Various types of useful iterators and generators.)Úbody_line_iteratorÚtyped_subpart_iteratorÚwalké    N)ÚStringIOc              #   ó”   K  — | –— | j                  «       r.| j                  «       D ]  }|j                  «       E d{  –—†  Œ yy7 Œ­w)z‰Walk over the message tree, yielding each subpart.

    The walk is performed in depth-first order.  This method is a
    generator.
    N)Úis_multipartÚget_payloadr   )ÚselfÚsubparts     ú,/usr/local/lib/python3.12/email/iterators.pyr   r      sC   è ø€ ð ‚JØ×ÑÔØ×'Ñ'Ö)ˆGØ—|‘|“~×%Ñ%ñ *ð à%ús   ‚;A½A¾	Ac              #   ó¦   K  — | j                  «       D ]8  }|j                  |¬«      }t        |t        «      sŒ&t	        |«      E d{  –—†  Œ: y7 Œ­w)zŽIterate over the parts, returning string payloads line-by-line.

    Optional decode (default False) is passed through to .get_payload().
    )ÚdecodeN)r   r	   Ú
isinstanceÚstrr   )Úmsgr   r   Úpayloads       r   r   r       sH   è ø€ ð
 —8‘8–:ˆØ×%Ñ%¨VÐ%Ó4ˆÜ�gœsÕ#Ü Ó(×(Ñ(ñ ð )ús   ‚6A¹AÁAÁAc              #   ó’   K  — | j                  «       D ]0  }|j                  «       |k(  sŒ|�|j                  «       |k(  sŒ-|–— Œ2 y­w)zøIterate over the subparts with a given MIME type.

    Use `maintype' as the main MIME type to match against; this defaults to
    "text".  Optional `subtype' is the MIME subtype to match against; if
    omitted, only the main type is matched.
    N)r   Úget_content_maintypeÚget_content_subtype)r   ÚmaintypeÚsubtyper   s       r   r   r   +   sC   è ø€ ð —8‘8–:ˆØ×'Ñ'Ó)¨XÓ5Øˆ '×"=Ñ"=Ó"?À7Ó"JØ“ñ ùs   ‚'AªAÁ Ac                 ó>  — |€t         j                  }d|dz  z  }t        || j                  «       z   d|¬«       |rt        d| j	                  «       z  |¬«       nt        |¬«       | j                  «       r'| j                  «       D ]  }t        |||dz   |«       Œ yy)	zA handy debugging aidNÚ é   Ú )ÚendÚfilez [%s])r   é   )ÚsysÚstdoutÚprintÚget_content_typeÚget_default_typer   r	   Ú
_structure)r   ÚfpÚlevelÚinclude_defaultÚtabr   s         r   r$   r$   8   sŽ   € à	€zÜ�Z‰ZˆØ
�˜‘Ñ
€CÜ	ˆ#�×$Ñ$Ó&Ñ
&¨B°RÕ8ÙÜˆg˜×,Ñ,Ó.Ñ.°RÖ8ä�2�Ø
×ÑÔØ—‘Ö(ˆGÜ�w  E¨!¡G¨_Õ=ñ )ð ó    )F)ÚtextN)Nr   F)	Ú__doc__Ú__all__r   Úior   r   r   r   r$   © r)   r   Ú<module>r/      s-   ðñ
 8ò€ó Ý ò	&ó)ó
ô>r)   