Ë
    	š„j,	  ã                   ór   — d Z ddlmZ ddlmZ ddlmZ ddlm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.é    )Úprint_function)Úunicode_literals)Údivision)Úabsolute_import)Úbody_line_iteratorÚtyped_subpart_iteratorÚwalkN)ÚStringIOc              #   ó’   K  — | –— | j                  «       r/| j                  «       D ]  }|j                  «       D ]  }|–— Œ Œ yy­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ÚsubpartÚ
subsubparts      úW/var/www/html/GAP/venv/lib/python3.12/site-packages/future/backports/email/iterators.pyr	   r	      sQ   è ø€ ð ‚JØ×ÑÔØ×'Ñ'Ó)ò 	!ˆGØ%Ÿl™l›nò !�
Ø Ó ñ!ñ	!ð ùs   ‚AAc              #   ó¤   K  — | j                  «       D ]9  }|j                  |¬«      }t        |t        «      sŒ&t	        |«      D ]  }|–— Œ Œ; y­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   ÚpayloadÚlines        r   r   r   %   sS   è ø€ ð
 —8‘8“:ò ˆØ×%Ñ%¨VÐ%Ó4ˆÜ�gœsÕ#Ü  Ó)ò �Ø“
ññùs
   ‚6A¹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   1   sH   è ø€ ð —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*   >   s“   € à	€zÜ�Z‰ZˆØ
�˜‘Ñ
€CÜ	ˆ#�×$Ñ$Ó&Ñ
&¨B°RÕ8ÙÜˆg˜×,Ñ,Ó.Ñ.°RÖ8ä�2�Ø
×ÑÔØ—‘Ó(ò 	>ˆGÜ�w  E¨!¡G¨_Õ=ñ	>ð ó    )F)ÚtextN)Nr   F)Ú__doc__Ú
__future__r   r   r   r   Ú__all__r%   Úior
   r	   r   r   r*   © r/   r   ú<module>r6      s9   ðñ
 8Ý %Ý 'Ý Ý &ò€ó Ý ò
!ó	ó
ô>r/   