ó
    Ð]jÂ$  ã            	       óÖ   • S r SSKrSSKrSSKrSSKJrJrJrJ	r	J
r
JrJrJr  S\S\R                  \   4S jrS\R                  \   S\4S	 jr\R$                  S
4S\S\S\S\4S jjrg)z^Epyoc-style docstring parsing.

.. seealso:: http://epydoc.sourceforge.net/manual-fields.html
é    Né   )Ú	DocstringÚDocstringMetaÚDocstringParamÚDocstringRaisesÚDocstringReturnsÚDocstringStyleÚ
ParseErrorÚRenderingStyleÚstringÚreturnc                 óF   • U R                  5       n [        U 5      S:”  a  U $ g )Nr   )ÚstripÚlen)r   s    ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docstring_parser/epydoc.pyÚ
_clean_strr      s    € Ø�\‰\‹^€FÜ
ˆ6ƒ{�QƒØˆØó    Útextc           
      ó
  • [        [        R                  S9nU (       d  U$ [        R                  " U 5      n [
        R                  " SU [
        R                  S9nU(       a&  U SUR                  5        nXR                  5       S nOU nSnUR                  SS5      nUS   =(       d    SUl
        [        U5      S:”  aX  US   =(       d    SnUR                  S5      Ul        UR                  S	5      Ul        UR!                  5       =(       d    SUl        [
        R$                  " S
5      n[
        R$                  " S5      n[
        R$                  " S5      n	[
        R$                  " S5      n
[
        R$                  " S5      n/ n[
        R&                  " SU[
        R(                  [
        R                  -  S9 GH…  nUR+                  S5      nU(       d  M  [
        R                  " X}5      n[
        R                  " X�5      n[
        R                  " X�5      n[
        R                  " X­5      n[
        R                  " X½5      nU=(       d    U=(       d    U=(       d    U=(       d    UnU(       d  [-        SU S35      eXÒR/                  5       S nU(       a5  SnUR+                  S5      nUR+                  S5      R!                  5       /nGOU(       a4  SnUR+                  S5      nUR+                  S5      R!                  5       /nOØU(       aH  SnUR+                  S5      nUR+                  S5      c  / OUR+                  S5      R!                  5       /nO‰U(       a  SnUR+                  S5      n/ nOlSnUR+                  S5      n[1        UR+                  S5      R!                  5       5      nUc  / O[
        R                  " SU5      nUS;   a  [-        SU S35      eUR!                  5       nSU;   a1  UR                  SS5      u  nnUS-   [        R                  " U5      -   nUR3                  UUUU45        GMˆ     0 nU Hp  u  nnnnUS;  a  M  U=(       d    Su  nUR5                  U0 5      nSU;   a  SOSnUUU'   US:X  d  MF  US;   nUR5                  S U5      U:w  d  Mc  [-        S!U S35      e   0 nU GH»  u  nnnnUS";   aÍ  UR7                  US   S#5      (       d³  Uu  nUU   nUR7                  S5      n U (       a  U R                  S$5      (       a  S%n!U SS& n OS#n![
        R8                  " S'U[
        R:                  S9nU(       a   UR+                  S5      R=                  S(5      OSn"[?        UU/UR7                  S5      UU U!U"S)9n#S%UU'   OÄUS:X  a]  UR7                  SS#5      (       dF  US   n[A        U/UR7                  S5      UR7                  S5      UR7                  S S#5      S*9n#S%US'   OaUS:X  a  U=(       d    S+u  n [C        U/U-   UU S,9n#O>US:X  a  [E        U/U-   US-9n#O)U=(       d    Stnn$UR7                  US#5      (       d   eGM   URF                  R3                  U#5        GM¾     U$ ).zRParse the epydoc-style docstring into its components.

:returns: parsed docstring
)Ústylez^@)ÚflagsNÚ Ú
r   r   z

z-(param|keyword|type)(\s+[_A-z][_A-z0-9]*\??):z((ivar|cvar|var)(\s+[_A-z][_A-z0-9]*\??):z!(raise)(\s+[_A-z][_A-z0-9]*\??)?:z(return|rtype|yield|ytype):z.([_A-z][_A-z0-9]+)((\s+[_A-z][_A-z0-9]*\??)*):z(^@.*?)(?=^@|\Z)z%Error parsing meta information near "z".Úparamé   Ú	attributeÚraiser   Úmetaz\s+)
r   ÚivarÚcvarÚvarÚkeywordÚtyper   ÚrtypeÚyieldÚytype)r   r   r   )r   r#   Ú	type_nameÚdescription>   r%   r&   Úis_generatorz$Error parsing meta information for ")r   r   FÚ?Téÿÿÿÿz.*defaults to (.+)Ú.)Úargsr(   Úarg_namer'   Úis_optionalÚdefault)r-   r(   r'   r)   )N)r-   r(   r'   )r-   r(   )$r   r	   ÚEPYDOCÚinspectÚcleandocÚreÚsearchÚMÚstartÚsplitÚshort_descriptionr   Ú
startswithÚblank_after_short_descriptionÚendswithÚblank_after_long_descriptionr   Úlong_descriptionÚcompileÚfinditerÚSÚgroupr
   Úendr   ÚappendÚ
setdefaultÚgetÚmatchÚDOTALLÚrstripr   r   r   r   r   )%r   ÚretrG   Ú
desc_chunkÚ
meta_chunkÚpartsÚlong_desc_chunkÚparam_patternÚattribute_patternÚraise_patternÚreturn_patternÚmeta_patternÚstreamÚchunkÚparam_matchÚattribute_matchÚraise_matchÚreturn_matchÚ
meta_matchÚbaseÚkeyr-   ÚtokenÚdescÚ
first_lineÚrestÚparamsr.   ÚinfoÚinfo_keyr)   Úis_doner'   r/   r0   Ú	meta_itemÚ_s%                                        r   Úparserg      s  € ô
 œ.×/Ñ/Ñ
0€CÞØˆ
ä×Ò˜DÓ!€DÜ�IŠI�d˜D¬¯©Ñ-€EÞØ˜/˜EŸK™K›MÐ*ˆ
ØŸ+™+›-˜/Ð*‰
àˆ
Øˆ
à×Ñ˜T 1Ó%€EØ! !™H×,¨€CÔÜ
ˆ5ƒz�Aƒ~Ø ™(Ÿ. bˆØ,;×,FÑ,FÀtÓ,LˆÔ)Ø+:×+CÑ+CÀFÓ+KˆÔ(Ø.×4Ñ4Ó6×>¸$ˆÔä—J’JØ8ó€Mô Ÿ
š
Ð#NÓOÐÜ—J’JÐCÓD€MÜ—Z’ZÐ >Ó?€NÜ—:’:Ø9ó€Lð
 ;=€FÜ—’Ø˜Z¬r¯t©t´b·d±d©{õˆð —‘˜A“ˆÞÙä—i’i Ó5ˆÜŸ)š)Ð$5Ó=ˆÜ—i’i Ó5ˆÜ—y’y Ó7ˆÜ—Y’Y˜|Ó3ˆ
ð ÷ Ø÷à÷ð ÷ð ð 	ö ÜÐDÀUÀGÈ2ÐNÓOÐOàŸ9™9›;˜=Ð)ˆ
ÞØˆDØ—{‘{ 1“~ˆCØ—K‘K “N×(Ñ(Ó*Ð+ŠDÞØˆDØ—{‘{ 1“~ˆCØ—K‘K “N×(Ñ(Ó*Ð+‰DÞØˆDØ—{‘{ 1“~ˆCØŸ™ Q›Ñ/‘2°e·k±kÀ!³n×6JÑ6JÓ6LÐ5M‰DÞØˆDØ—{‘{ 1“~ˆCØ‰DàˆDØ—{‘{ 1“~ˆCÜ˜uŸ{™{¨1›~×3Ñ3Ó5Ó6ˆEØ™‘2¬B¯HªH°V¸UÓ,CˆDð ð ó ô !Ø;¸E¸7À"ÐEóð ð ×ÑÓ!ˆØ�4‹<Ø#Ÿz™z¨$°Ó2ÑˆJ˜Ø Ñ$¤w×'7Ò'7¸Ó'=Ñ=ˆDØ�‰�t˜S $¨Ð-×.ñIðN /1€FÛ!'Ñˆˆc�4˜ØÐ7Ó7Ùà×)˜k‰ˆØ× Ñ  ¨2Ó.ˆØ"(¨C£-‘;°]ˆØˆˆX‰à�8ÕØÐ"4Ñ4ˆLØ�‰˜~¨|Ó<ÀÕLÜ Ø:¸8¸*ÀBÐGóð ñ "(ð  "$€GÜ!'Ñˆˆc�4˜ØÐ)Ó)°'·+±+¸dÀ1¹gÀu×2MÑ2MØ‰KˆXØ˜(Ñ#ˆDØŸ™ Ó-ˆIæ˜Y×/Ñ/°×4Ñ4Ø"�Ø% c r˜N‘	à#�ä—H’HÐ2°DÄÇ	Á	ÑJˆEÞ49�e—k‘k !“n×+Ñ+¨CÔ0¸tˆGä&Ø˜8�_Ø ŸH™H ]Ó3Ø!Ø#Ø'ØñˆIð !%ˆG�HÒØ�XÓ g§k¡k°(¸E×&BÑ&BØ˜(Ñ#ˆDÜ(Ø�UØ ŸH™H ]Ó3ØŸ(™( ;Ó/Ø!ŸX™X n°eÓ<ñ	ˆIð !%ˆG�HÒØ�W‹_ØŸ? 7‰LˆYÜ'Ø�U˜T‘\Ø Ø#ñ‰Ið
 �V‹^Ü%Ø�U˜T‘\Ø ñ‰Ið
 ×+ ˆIˆS�1Ø—;‘;˜s E×*Ñ*Ð*Ð*Úà�‰�‰˜	×"ñe "(ðh €Jr   z    Ú	docstringÚrendering_styleÚindentc                 óð  ^^• S[         R                  [           S[        S[        4UU4S jjn/ nU R                  (       a  UR                  U R                  5        U R                  (       a  UR                  S5        U R                  (       a  UR                  U R                  5        U R                  (       a  UR                  S5        U R                   GH	  n[        U[        5      (       a   UR                  (       aX  UR                  (       a  UR                   S3OUR                  nSUR                   S3nXs" US	5      -  nUR                  U5        S
UR                   S3U" UR                  S5      -   nUR                  U5        M¹  [        U[         5      (       a•  UR"                  (       a  SOSu  p‰UR                  (       a+  SU	 S3U" UR                  S	5      -   nUR                  U5        UR                  (       a.  SU S3U" UR                  S5      -   nUR                  U5        GM`  GMc  [        U[$        5      (       aL  UR                  (       a  SUR                   S3OSnXs" UR                  S5      -  nUR                  U5        GMÄ  SSR'                  UR(                  5       S3nXs" UR                  S5      -  nUR                  U5        GM     SR'                  U5      $ )züRender a parsed docstring into docstring text.

:param docstring: parsed docstring representation
:param rendering_style: the style to render docstrings
:param indent: the characters used as indentation in the docstring string
:returns: docstring text
r^   Úis_typer   c                 ó€  >• U (       d  gT[         R                  :X  d  T[         R                  :X  aG  U(       d@  U R                  5       tp#SR	                  ST-   U-   /U Vs/ s H  nTU-   PM
     sn-   5      $ U R                  5       tp#SR	                  SU-   /U Vs/ s H  nTU-   PM
     sn-   5      $ s  snf s  snf )Nr   r   Ú )r   ÚEXPANDEDÚCLEANÚ
splitlinesÚjoin)r^   rl   Úfirstr`   Úlinerj   ri   s        €€r   Úprocess_descÚcompose.<locals>.process_descà   s¶   ø€ ÞØàœn×5Ñ5Ó5Øœ~×3Ñ3Ó3¾Gà!Ÿ_™_Ó.ˆNˆUØ—9‘9Ø˜‘ Ñ&Ð'ÁTÓ*JÂT¸T¨6°D¬=ÁTÑ*JÑJóð ð Ÿ™Ó*ˆˆØ�y‰y˜# ™+˜ÁDÓ)IÂD¸D¨&°4¬-ÁDÑ)IÑIÓJÐJùò	 +Kùò *Js   Á!B6
ÂB;
r   r*   z@type Ú:Tz@param F)r%   r&   )r   r$   Ú@z@raise z@raise:rn   r   )ÚTÚOptionalÚstrÚboolr9   rD   r;   r>   r=   r   Ú
isinstancer   r'   r/   r.   r(   r   r)   r   rr   r-   )
rh   ri   rj   ru   rM   r   r'   r   Úarg_keyÚtype_keys
    ``       r   Úcomposer€   Ó   sz  ù€ ðKœ1Ÿ:™:¤c™?ð K´Tð K¼c÷ Kð Kð €EØ×"×"Ø�‰�Y×0Ñ0Ô1Ø×.×.Ø�‰�RÔØ×!×!Ø�‰�Y×/Ñ/Ô0Ø×-×-Ø�‰�RÔà—•ˆÜ�dœN×+Ñ+Ø�~�~ð ×'×'ð —~‘~Ð& aÑ(àŸ™ð ð
   §¡˜¨aÐ0�Ø˜ Y°Ó5Ñ5�Ø—‘˜TÔ"Ø˜TŸ]™]˜O¨1Ð-±Ø× Ñ  %ó1ñ ˆDð �L‰L˜ÖÜ˜Ô.×/Ñ/ð ×$×$ñ #à(ñ  ˆWð
 �~�~Ø˜8˜* A�©°d·n±nÀdÓ)KÑK�Ø—‘˜TÔ"Ø××Ø˜7˜) 1�~©°T×5EÑ5EÀuÓ(MÑM�Ø—‘˜T×"ò  ô ˜œo×.Ñ.Ø26·.·.�W˜TŸ^™^Ð,¨AÑ.ÀiˆDØ�L ×!1Ñ!1°5Ó9Ñ9ˆDØ�L‰L˜×à�s—x‘x §	¡	Ó*Ð+¨1Ð-ˆDØ�L ×!1Ñ!1°5Ó9Ñ9ˆDØ�L‰L˜×ñE ðF �9‰9�UÓÐr   )Ú__doc__r2   r4   Útypingry   Úcommonr   r   r   r   r   r	   r
   r   r{   rz   r   rg   ÚCOMPACTr€   © r   r   Ú<module>r†      sš   ðñó
 Û 	Û ÷	÷ 	ó 	ð�sð ˜qŸz™z¨#™ô ðs�—
‘
˜3‘ð s Iô sðp '5×&<Ñ&<ØñIØðIà#ðIð ðIð 	ö	Ir   