Ë
    š”eã  ã                   ó6   — d Z ddlZddgZd	d„Zd
d„Zd„ Zdd„Zy)zž Pretty-Print an Interface object as structured text (Yum)

This module provides a function, asStructuredText, for rendering an
interface as structured text.
é    NÚasReStructuredTextÚasStructuredTextc                 óª  — |rd„ }nd„ } || j                  «       «      g}|j                  }d}| j                  «       r) |t        t	        | j                  «       «      |«      «       | j
                  D �cg c]   }|t        j                  j                  ur|‘Œ" }}|rY |t        d||«      «       |dz  }|D ]7  }	d ||	j                  «       «      z  }
 |t        t	        |
«      ||«      «       Œ9 |dz  }t        | j                  «       «      } |t        d||«      «       |dz  }|D ]f  \  }}t        |d«      rŒdj                   ||j                  «       «      |j                  «       xs d	«      }
 |t        t	        |
«      ||«      «       Œh |dz  } |t        d
||«      «       |dz  }|D ]†  \  }}t        |d«      sŒdj                  |j                  «       |j                  «       «      }dj                   ||«      |j                  «       xs d	«      }
 |t        t	        |
«      ||«      «       Œˆ dj                  |«      dz   S c c}w )zõ Output structured text format.  Note, this will whack any existing
    'structured' format of the text.

    If `rst=True`, then the output will quote all code as inline literals in
    accordance with 'reStructuredText' markup principles.
    c                 ó$   — dj                  | «      S )Nz``{}``)Úformat©Úss    ú9/usr/lib/python3/dist-packages/zope/interface/document.pyú<lambda>z"asStructuredText.<locals>.<lambda>#   s   €  8§?¡?°1Ó#5€ ó    c                 ó   — | S )N© r   s    r
   r   z"asStructuredText.<locals>.<lambda>%   s   €  1€ r   é   zThis interface extends:zo %szAttributes:ÚgetSignatureStringz{} -- {}zno documentationzMethods:z{}{}z

)ÚgetNameÚappendÚgetDocÚ_justify_and_indentÚ_trim_doc_stringÚ	__bases__ÚzopeÚ	interfaceÚ	InterfaceÚsortedÚnamesAndDescriptionsÚhasattrr   r   Újoin)ÚIÚmungeÚrstÚinline_literalÚrÚoutpÚlevelÚbaseÚbasesÚbÚitemr   ÚnameÚdescÚ_calls                  r
   r   r      sI  € ñ Ù5‰á$ˆá	˜Ÿ	™	›Ó	$Ð%€AØ�8‰8€DØ€Eà‡x�x„zÙÔ Ô!1°!·(±(³*Ó!=¸uÓEÔFð Ÿ™öØØœDŸN™N×4Ñ4Ñ4ò ð €Eð ñ ÙÔ Ð!:¸EÀ5ÓIÔJØ�‰
ˆØò 	LˆAØ™N¨1¯9©9«;Ó7Ñ7ˆDÙÔ$Ô%5°dÓ%;¸UÀEÓJÕKð	Lð 	�‰
ˆä! !×"8Ñ"8Ó":Ó;ÐáÔ	˜]¨E°5Ó	9Ô:Ø	ˆQ�J€EØ*ò L‰
ˆˆdÜ�tÐ1Õ2Ø×$Ñ$¡^°D·L±L³NÓ%CØ!%§¡£Ò!DÐ2DóFˆDáÔ$Ô%5°dÓ%;¸UÀEÓJÕKð	Lð
 
ˆQ�J€EáÔ	˜Z¨°Ó	6Ô7Ø	ˆQ�J€EØ*ò L‰
ˆˆdÜ�4Ð-Õ.Ø—M‘M $§,¡,£.°$×2IÑ2IÓ2KÓLˆEØ×$Ñ$¡^°EÓ%:Ø!%§¡£Ò!DÐ2DóFˆDáÔ$Ô%5°dÓ%;¸UÀEÓJÕKðLð �;‰;�q‹>˜FÑ"Ð"ùòAs   Á6%Ic                 ó   — t        | |d¬«      S )zi Output reStructuredText format.  Note, this will whack any existing
    'structured' format of the text.T)r   r    )r   )r   r   s     r
   r   r   Q   s   € ô ˜A U°Ô5Ð5r   c           
      óF  — | j                  dd«      j                  d«      }|j                  d«      g}|rWt        |D �cg c]'  }t	        |«      t	        |j                  «       «      z
  ‘Œ) c}«      }|D ]  }|j                  ||d «       Œ dj                  |«      S c c}w )zJ Trims a doc string to make it format
    correctly with structured text. ú
ú
r   N)ÚreplaceÚsplitÚpopÚminÚlenÚlstripr   r   )ÚtextÚlinesÚnlinesÚlineÚ
min_indents        r
   r   r   W   s�   € ð �L‰L˜ Ó&×,Ñ,¨TÓ2€EØ�i‰i˜‹lˆ^€FÙÜØ&+ö-Ø"ô ˜d›)¤c¨$¯+©+«-Ó&8Ó8ò -ó .ˆ
àò 	-ˆDØ�M‰M˜$˜z˜{Ð+Õ,ð	-ð �9‰9�VÓÐùò-s   ¿,Bc                 ó`  — d|z  }|rrg }|}| j                  «       } | D ]7  }dj                  ||g«      }t        |«      |kD  sŒ%|j                  |«       |}Œ9 |j                  |«       dj                  |«      S || j	                  «       j                  dd«      j                  dd|z   «      z   S )z9 indent and justify text, rejustify (munge) if specified ú r/   r.   )r1   r   r4   r   Ústripr0   )r6   r$   r   ÚwidthÚindentr7   r9   Úwords           r
   r   r   f   s¸   € ð �5‰[€FáØˆØˆØ�z‰z‹|ˆàò 	ˆDØ—8‘8˜T 4˜LÓ)ˆDÜ�4‹y˜5Ó Ø—‘˜TÔ"Ø‘ð		ð �L‰L˜Ôà�y‰y˜ÓÐð Ø�J‰J‹L× Ñ  ¨Ó.×7Ñ7¸¸dÀV¹mÓLñMð 	Mr   )r   F)r   )r   éH   )Ú__doc__Úzope.interfacer   Ú__all__r   r   r   r   r   r   r
   ú<module>rE      s4   ðñó
 ð Øð€ó
4#ón6òôMr   