Ë
    ìmxi¿Y  ã                   ó  — d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl	m
Z
mZ ddlZddlZd„ Z G d„ d«      Z G d	„ d
e«      Z edg d¢«      Z G d„ de«      Zd„ Z G d„ de«      Z G d„ de«      Z G d„ de«      Zdd„Zy)z=Extract reference documentation from the NumPy source tree.

é    N)Úwarn)Ú
namedtuple)ÚCallableÚMappingc                 ó¾   — | r,| d   j                  «       s| d= | r| d   j                  «       sŒ| r,| d   j                  «       s| d= | r| d   j                  «       sŒ| S )z<Remove leading and trailing blank lines from a list of linesr   éÿÿÿÿ©Ústrip)Úls    úQ/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/vendored/docscrape.pyÚstrip_blank_linesr      sU   € á
�A�a‘D—J‘J”LØˆaˆDñ �A�a‘D—J‘J•Lá
�A�b‘E—K‘K”MØˆbˆEñ �A�b‘E—K‘K•Mà€Hó    c                   óT   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zdd„Zd„ Zy)ÚReaderz!A line-based string reader.

    c                 ó€   — t        |t        «      r|| _        n|j                  d«      | _        | j	                  «        y)zs
        Parameters
        ----------
        data : str
           String with lines separated by '\n'.

        ú
N)Ú
isinstanceÚlistÚ_strÚsplitÚreset)ÚselfÚdatas     r   Ú__init__zReader.__init__#   s.   € ô �dœDÔ!ØˆD�IàŸ
™
 4Ó(ˆDŒIà�
‰
�r   c                 ó    — | j                   |   S ©N)r   ©r   Úns     r   Ú__getitem__zReader.__getitem__2   s   € Ø�y‰y˜‰|Ðr   c                 ó   — d| _         y )Nr   )Ú_l©r   s    r   r   zReader.reset5   s	   € Øˆ�r   c                 óp   — | j                  «       s&| | j                     }| xj                  dz  c_        |S y)Né   Ú )Úeofr!   )r   Úouts     r   ÚreadzReader.read8   s-   € Ø�x‰xŒzØ�t—w‘w‘-ˆCØ�GŠG�q‰L�GØˆJàr   c                 óz   — | | j                   d  D ])  }|j                  «       r y | xj                   dz  c_         Œ+ y ©Nr$   )r!   r
   )r   r   s     r   Úseek_next_non_empty_linezReader.seek_next_non_empty_line@   s4   € Ø�d—g‘g�h�ò 	ˆAØ�w‰wŒyÙà—’˜1‘–ñ		r   c                 óF   — | j                   t        | j                  «      k\  S r   ©r!   Úlenr   r"   s    r   r&   z
Reader.eofG   s   € Ø�w‰wœ#˜dŸi™i›.Ñ(Ð(r   c                 óÖ   — | j                   }| |d  D ]T  } ||«      r| || j                    c S | xj                   dz  c_         | j                  «       sŒB| || j                   dz    c S  g S r*   )r!   r&   )r   Úcondition_funcÚstartÚlines       r   Úread_to_conditionzReader.read_to_conditionJ   sk   € Ø—‘ˆØ˜˜�Lò 	-ˆDÙ˜dÔ#Ø˜E $§'¡'Ð*Ò*Ø�GŠG�q‰L�GØ�x‰x�zØ˜E $§'¡'¨!¡)Ð,Ò,ð	-ð ˆ	r   c                 óJ   — | j                  «        d„ }| j                  |«      S )Nc                 ó$   — | j                  «        S r   r	   ©r2   s    r   Úis_emptyz0Reader.read_to_next_empty_line.<locals>.is_emptyW   s   € Ø—z‘z“|Ð#Ð#r   )r+   r3   )r   r7   s     r   Úread_to_next_empty_linezReader.read_to_next_empty_lineT   s&   € Ø×%Ñ%Ô'ò	$ð ×%Ñ% hÓ/Ð/r   c                 ó*   — d„ }| j                  |«      S )Nc                 óp   — | j                  «       xr% t        | j                  «       «      t        | «      k(  S r   )r
   r.   Úlstripr6   s    r   Úis_unindentedz:Reader.read_to_next_unindented_line.<locals>.is_unindented]   s'   € Ø—J‘J“LÒF¤c¨$¯+©+«-Ó&8¼CÀ»IÑ&EÐGr   )r3   )r   r<   s     r   Úread_to_next_unindented_linez#Reader.read_to_next_unindented_line\   s   € ò	Hà×%Ñ% mÓ4Ð4r   c                 ór   — | j                   |z   t        | j                  «      k  r| | j                   |z      S y©Nr%   r-   r   s     r   ÚpeekzReader.peeka   s0   € Ø�7‰7�Q‰;œ˜TŸY™Y›Ò'Ø˜Ÿ™ !™Ñ$Ð$àr   c                 óV   — dj                  | j                  «      j                  «        S r?   )Újoinr   r
   r"   s    r   r7   zReader.is_emptyg   s!   € Ø—7‘7˜4Ÿ9™9Ó%×+Ñ+Ó-Ð-Ð-r   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r(   r+   r&   r3   r8   r=   r@   r7   © r   r   r   r      s>   „ ñòòòòòò)òò0ò5ó
ó.r   r   c                   ó   — e Zd Zd„ Zy)Ú
ParseErrorc                 ó^   — | j                   d   }t        | d«      r|›d| j                  ›�}|S )Nr   Ú	docstringú in )ÚargsÚhasattrrK   )r   Úmessages     r   Ú__str__zParseError.__str__l   s,   € Ø—)‘)˜A‘,ˆÜ�4˜Ô%Ú$+¨T¯^ª^Ð<ˆGØˆr   N)rC   rD   rE   rP   rG   r   r   rI   rI   k   s   „ ór   rI   Ú	Parameter)ÚnameÚtypeÚdescc                   ó2  — e Zd ZdZi dd“ddg“dg “dg “dg “dg “d	g “d
g “dg “dg “dg “dg “dg “dg “dg “dd“dd“di i¥ZdBd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd„ ZdCd„Zd Zd!Zd"Zd#ez   ez   d$z   ez   d%z   Zej'                  d&d'«      Zej'                  d(d)«      Zd*Z ej.                  d+ez   d,z   «      Z ej.                  d-ez   d.z   ez   d/z   d%z   d0z   ez   «      Zd1Zd2„ Zd3„ Zd4„ Zd5„ Zed6„ «       Z dDd7„Z!dEd8„Z"dFd9„Z#d:„ Z$d;„ Z%d<„ Z&d=„ Z'd>„ Z(d?„ Z)d@„ Z*dGdA„Z+y)HÚNumpyDocStringzƒParses a numpydoc string to an abstract representation

    Instances define a mapping from section title to structured data.

    Ú	Signaturer%   ÚSummaryúExtended SummaryÚ
ParametersÚReturnsÚYieldsÚReceivesÚRaisesÚWarnsúOther ParametersÚ
AttributesÚMethodsúSee AlsoÚNotesÚWarningsÚ
ReferencesÚExamplesÚindexNc                 ó  — |}t        j                  |«      j                  d«      }t        |«      | _        t        j                  | j                  «      | _        	 | j                  «        y # t        $ r}||_        ‚ d }~ww xY w)Nr   )ÚtextwrapÚdedentr   r   Ú_docÚcopyÚdeepcopyÚsectionsÚ_parsed_dataÚ_parserI   rK   )r   rK   ÚconfigÚorig_docstringÚes        r   r   zNumpyDocString.__init__’   si   € Ø"ˆÜ—O‘O IÓ.×4Ñ4°TÓ:ˆ	ä˜9Ó%ˆŒ	Ü ŸM™M¨$¯-©-Ó8ˆÔð	Ø�K‰K�MøÜò 	Ø(ˆAŒKØûð	ús   ÁA- Á-	BÁ6A>Á>Bc                 ó    — | j                   |   S r   )rp   )r   Úkeys     r   r   zNumpyDocString.__getitem__Ÿ   s   € Ø× Ñ  Ñ%Ð%r   c                 ól   — || j                   vr| j                  d|z  d¬«       y || j                   |<   y )NzUnknown section %sF©Úerror)rp   Ú_error_location)r   rv   Úvals      r   Ú__setitem__zNumpyDocString.__setitem__¢   s9   € Ø�d×'Ñ'Ñ'Ø× Ñ Ð!5¸Ñ!;À5Ð ÕIà%(ˆD×Ñ˜cÒ"r   c                 ó,   — t        | j                  «      S r   )Úiterrp   r"   s    r   Ú__iter__zNumpyDocString.__iter__¨   s   € Ü�D×%Ñ%Ó&Ð&r   c                 ó,   — t        | j                  «      S r   )r.   rp   r"   s    r   Ú__len__zNumpyDocString.__len__«   s   € Ü�4×$Ñ$Ó%Ð%r   c                 ó¤  — | j                   j                  «        | j                   j                  «       ry| j                   j                  «       j	                  «       }|j                  d«      ry| j                   j                  d«      j	                  «       }t        |«      dk\  rot        |«      dhdhfv r^t        |«      t        |«      k7  rGdj                  | j                   j                  d d	 «      d
z   }| j                  d|›d|›d|›�d¬«       |j                  dt        |«      z  «      xs |j                  dt        |«      z  «      S )NFú
.. index::Tr$   é   ú-ú=r   é   z...z'potentially wrong underline length... 
z 
z in 
rx   )rl   r+   r&   r@   r
   Ú
startswithr.   ÚsetrB   r   rz   )r   Úl1Úl2Úsnips       r   Ú_is_at_sectionzNumpyDocString._is_at_section®   s  € Ø�	‰	×*Ñ*Ô,à�9‰9�=‰=Œ?Øà�Y‰Y�^‰^Ó×#Ñ#Ó%ˆà�=‰=˜Ô&Øà�Y‰Y�^‰^˜AÓ×$Ñ$Ó&ˆÜˆr‹7�aŠ<œS ›W¨#¨°°¨Ñ6¼CÀ»GÄsÈ2ÃwÒ<NØ—9‘9˜TŸY™YŸ^™^¨B¨QÐ/Ó0°Ñ6ˆDØ× Ò Ú$&ª©Dð"2Ø9>ð !ô @à�}‰}˜S¤ R£™[Ó)ÒG¨R¯]©]¸3¼sÀ2»w¹;Ó-GÐGr   c                 óÌ   — d}d}t        |«      D ]  \  }}|j                  «       sŒ n t        |d d d…   «      D ]  \  }}|j                  «       sŒ n ||t        |«      |z
   S )Nr   r   )Ú	enumerater
   r.   )r   ÚdocÚiÚjr2   s        r   Ú_stripzNumpyDocString._stripÀ   st   € ØˆØˆÜ  “~ò 	‰GˆAˆtØ�z‰z�|Ùð	ô ! ¡T r T¡Ó+ò 	‰GˆAˆtØ�z‰z�|Ùð	ð �1”S˜“X˜a‘ZÐ Ð r   c                 ó|  — | j                   j                  «       }| j                  «       s‘| j                   j                  «       sw| j                   j	                  d«      j                  «       s|dgz  }|| j                   j                  «       z  }| j                  «       s| j                   j                  «       sŒw|S )Nr   r%   )rl   r8   r�   r&   r@   r
   )r   Úsections     r   Ú_read_to_next_sectionz$NumpyDocString._read_to_next_sectionÍ   sˆ   € Ø—)‘)×3Ñ3Ó5ˆà×%Ñ%Ô'°·	±	·±´Ø—9‘9—>‘> "Ó%×+Ñ+Ô-Ø˜B˜4‘�à�t—y‘y×8Ñ8Ó:Ñ:ˆGð	 ×%Ñ%Ô'°·	±	·±µð ˆr   c              #   óR  K  — | j                   j                  «       s‰| j                  «       }|d   j                  «       }|j	                  d«      r
||dd  f–— n/t        |«      dk  r	t        –— n|| j                  |dd  «      f–— | j                   j                  «       sŒˆy y ­w)Nr   ú..r$   r‡   )rl   r&   r–   r
   rˆ   r.   ÚStopIterationr“   )r   r   rR   s      r   Ú_read_sectionszNumpyDocString._read_sectionsØ   s†   è ø€ Ø—)‘)—-‘-”/Ø×-Ñ-Ó/ˆDØ˜‘7—=‘=“?ˆDà�‰˜tÔ$Ø˜D  ˜H�nÓ$Ü�T“˜Q’Ü#Ó#à˜DŸK™K¨¨Q¨R¨Ó1Ð1Ò1ð —)‘)—-‘-—/ùs   ‚B"B'Â%B'c                 óÄ  — t        |«      }t        |«      }g }|j                  «       s·|j                  «       j	                  «       }d|v r7|j                  dd¬«      \  }}|j	                  «       |j	                  «       }}n|rd|}}n|d}}|j                  «       }t        |«      }t        |«      }|j                  t        |||«      «       |j                  «       sŒ·|S )Nz :r$   )Úmaxsplitr%   )
Údedent_linesr   r&   r(   r
   r   r=   r   ÚappendrQ   )	r   ÚcontentÚsingle_element_is_typeÚrÚparamsÚheaderÚarg_nameÚarg_typerT   s	            r   Ú_parse_param_listz NumpyDocString._parse_param_listä   sÈ   € Ü˜wÓ'ˆÜ�7‹OˆØˆØ—%‘%”'Ø—V‘V“X—^‘^Ó%ˆFØ�v‰~Ø%+§\¡\°$À \Ó%CÑ"�˜(Ø%-§^¡^Ó%5°x·~±~Ó7G˜(‘á)Ø)+¨V˜h‘Hà)/°˜h�Hà×1Ñ1Ó3ˆDÜ Ó%ˆDÜ$ TÓ*ˆDà�M‰Mœ) H¨h¸Ó=Ô>ð —%‘%•'ð" ˆr   z:(?P<role>(py:)?\w+):z'`(?P<name>(?:~\w+\.)?[a-zA-Z0-9_\.-]+)`z(?P<name2>[a-zA-Z0-9_\.-]+)ú(ú|ú)ÚroleÚrolenextrR   Únamenextz/(?P<description>\s*:(\s+(?P<desc>\S+.*))?)?\s*$z^\s*z\s*z^\s*(?P<allfuncs>z(?P<morefuncs>([,]\s+z)*)z(?P<trailing>[,\.])?r˜   c                 ó  ‡ ‡— t        |«      }g }ˆˆ fd„}g }|D �]g  Š‰j                  «       sŒ‰ j                  j                  ‰«      }d}|rK|j	                  d«      }|j	                  d«      r)|r'‰ j                  d|j                  d«      ‰fz  d¬«       |s1‰j                  d«      r |j                  ‰j                  «       «       Œ²|r g }|j	                  d	«      }	 |j                  «       snP ||«      \  }	}
}|j                  |	|
f«       ||d j                  «       }|r|d
   dk(  r|dd j                  «       }Œat        t        d|g«      «      }|j                  ||f«       �ŒT‰ j                  d‰›�«       �Œj |S )zµ
        func_name : Descriptive text
            continued text
        another_func_name : Descriptive text
        func_name1, func_name2, :meth:`func_name`, func_name3

        c                 óö   •— ‰j                   j                  | «      }|s‰j                  d‰›�«       |j                  d«      }|r|j                  d«      n|j                  d«      }|||j	                  «       fS )zMatch ':role:`name`' or 'name'.úError parsing See Also entry rª   rR   Úname2)Ú	_func_rgxÚmatchrz   ÚgroupÚend)ÚtextÚmrª   rR   r2   r   s       €€r   Úparse_item_namez7NumpyDocString._parse_see_also.<locals>.parse_item_name-  sj   ø€ à—‘×$Ñ$ TÓ*ˆAÙØ×$Ñ$Ð'DÀTÀHÐ%MÔNØ—7‘7˜6“?ˆDÙ&*�1—7‘7˜6”?°·±¸Ó0@ˆDØ˜˜qŸu™u›wÐ&Ð&r   NrT   ÚtrailingzGUnexpected comma or period after function list at index %d of line "%s"Frx   ú Úallfuncsr   ú,r$   r¯   )r�   r
   Ú	_line_rgxr²   r³   rz   r´   rˆ   rž   r   Úfilter)r   rŸ   Úitemsr·   ÚrestÚ
line_matchÚdescriptionÚfuncsrµ   rR   rª   Ú	match_endr2   s   `           @r   Ú_parse_see_alsozNumpyDocString._parse_see_also   s�  ù€ ô ˜wÓ'ˆàˆõ	'ð ˆØó 	OˆDØ—:‘:”<ØàŸ™×-Ñ-¨dÓ3ˆJØˆKÙØ(×.Ñ.¨vÓ6�Ø×#Ñ# JÔ/±KØ×(Ñ(ð$Ø'1§~¡~°jÓ'AÀ4Ð&HñIà#ð )ô %ñ  4§?¡?°3Ô#7Ø—‘˜DŸJ™J›LÕ)ÙØ�Ø!×'Ñ'¨
Ó3�ØØŸ:™:œ<ØÙ,;¸DÓ,AÑ)�D˜$ 	Ø—L‘L $¨ Ô.Ø 	 
Ð+×1Ñ1Ó3�DÙ  Q¡¨3¢Ø# A B˜xŸ~™~Ó/˜ð ô œF 4¨+¨Ó7Ó8�Ø—‘˜e T˜]Ö+à×$Ñ$Ð'DÀTÀHÐ%MÖNð;	Oð< ˆr   c                 ó  — d„ }i }|j                  d«      }t        |«      dkD  r  ||d   j                  d«      «      d   |d<   |D ]B  }|j                  d«      }t        |«      dkD  sŒ# ||d   j                  d«      «      ||d   <   ŒD |S )	zT
        .. index: default
           :refguide: something, else, and more

        c                 óH   — | D �cg c]  }|j                  «       ‘Œ c}S c c}w r   r	   )ÚlstÚss     r   Ústrip_each_inz2NumpyDocString._parse_index.<locals>.strip_each_in]  s   € Ø'*Ö+ !�A—G‘G•IÒ+Ð+ùÒ+s   …z::r$   r»   r   Údefaultú:r‡   )r   r.   )r   r•   rŸ   rÉ   r'   r2   s         r   Ú_parse_indexzNumpyDocString._parse_indexW  s™   € ò	,ð ˆØ—-‘- Ó%ˆÜˆw‹<˜!ÒÙ*¨7°1©:×+;Ñ+;¸CÓ+@ÓAÀ!ÑDˆC�	‰NØò 	AˆDØ—:‘:˜c“?ˆDÜ�4‹y˜1‹}Ù,¨T°!©W¯]©]¸3Ó-?Ó@��D˜‘G’ð	Að ˆ
r   c                 ó¬  — | j                  «       ry	 | j                  j                  «       }dj                  |D �cg c]  }|j	                  «       ‘Œ c}«      j	                  «       }t        j                  d«      }|j                  |«      r|| d<   | j                  «       sŒ’	 |�|| d<   | j                  «       s| j                  «       | d<   yyc c}w )z%Grab signature (if given) and summaryNr¹   z^([\w., ]+=)?\s*[\w\.]+\(.*\)$rW   rX   rY   )	r�   rl   r8   rB   r
   ÚreÚcompiler²   r–   )r   ÚsummaryrÈ   Úsummary_strÚcompileds        r   Ú_parse_summaryzNumpyDocString._parse_summaryj  sÁ   € à×ÑÔ Øð Ø—i‘i×7Ñ7Ó9ˆGØŸ(™(°wÖ#?°! A§G¡G¥IÒ#?Ó@×FÑFÓHˆKÜ—z‘zÐ"CÓDˆHØ�~‰~˜kÔ*Ø$/��[Ñ!Ø×*Ñ*Ô,ØØàÐØ%ˆD�‰Oà×"Ñ"Ô$Ø'+×'AÑ'AÓ'CˆDÐ#Ò$ð %ùò $@s   ¼Cc           	      óB  — | j                   j                  «        | j                  «        t        | j	                  «       «      }t        |D ��cg c]  \  }}|‘Œ	 c}}«      }d|v }d|v }|r|rd}t        |«      ‚|sd|v rd}t        |«      ‚|D �]  \  }}|j                  d«      std„ |j                  d«      D «       }dj                  |«      }| j                  |«      r:| j                  d	|›d
dj                  | j                   j                  «      ›�«       |dv r| j                  |«      | |<   Œ¥|dv r| j                  |d¬«      | |<   ŒÀ|j                  d«      r| j                  ||«      | d<   Œç|dk(  r| j                  |«      | d<   �Œ|| |<   �Œ	 y c c}}w )Nr[   r\   z5Docstring contains both a Returns and Yields section.r]   z5Docstring contains a Receives section but not Yields.r˜   c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr   )Ú
capitalize)Ú.0rÈ   s     r   ú	<genexpr>z(NumpyDocString._parse.<locals>.<genexpr>“  s   è ø€ ÒF¨a˜1Ÿ<™<Ÿ>ÑFùs   ‚r¹   zThe section z appears twice in  r   )rZ   r`   ra   rb   )r[   r\   r^   r_   r]   T)r    rƒ   rh   rc   )rl   r   rÓ   r   rš   r‰   Ú
ValueErrorrˆ   r   rB   Úgetrz   r   r¦   rÌ   rÄ   )r   ro   r•   rŸ   Úsection_namesÚhas_returnsÚ
has_yieldsÚmsgs           r   rq   zNumpyDocString._parse€  sž  € Ø�	‰	�‰ÔØ×ÑÔä˜×+Ñ+Ó-Ó.ˆÜ¸X×FÑ)9¨°'šWÓFÓGˆà =Ð0ˆØ Ð.ˆ
á™:ØIˆCÜ˜S“/Ð!Ù˜j¨MÑ9ØIˆCÜ˜S“/Ð!à"*ó 	(ÑˆW�gØ×%Ñ% dÔ+ÙF°7·=±=ÀÓ3EÔF�ØŸ(™( 7Ó+�Ø—8‘8˜GÔ$Ø×(Ò(Ú,3°T·Y±Y¸t¿y¹y¿~¹~Ô5Nð*Pô Qð ð &ñ &à $× 6Ñ 6°wÓ ?��W’ØÐPÑPØ $× 6Ñ 6Ø°Dð !7ó !:��W’à×#Ñ# LÔ1Ø $× 1Ñ 1°'¸7Ó C��W’Ø˜JÒ&Ø#'×#7Ñ#7¸Ó#@��ZÓ à '��W“ñ'	(ùó Gs   ÁF
c                 ód   — t        | d«      r| j                  S t        | d«      r| j                  S y )NÚ_clsÚ_f)rN   rà   rá   r"   s    r   Ú_objzNumpyDocString._obj¦  s,   € ä�4˜Ô Ø—9‘9ÐÜ�T˜4Ô Ø—7‘7ˆNØr   c                 ó   — | j                   �I	 t        j                  | j                   «      }|d| j                   j                  › �z  }||rd|› d�ndz  }|rt        |«      ‚t        |«       y # t        $ r d }Y ŒOw xY w)Nz in the docstring of rL   ú.r%   )râ   ÚinspectÚgetsourcefileÚ	TypeErrorrC   rÙ   r   )r   rÞ   ry   Úfilenames       r   rz   zNumpyDocString._error_location®  s…   € Ø�9‰9Ð ð Ü"×0Ñ0°·±Ó;�ð Ð*¨4¯9©9×+=Ñ+=Ð*>Ð?Ñ?ˆCØ©�T˜(˜ 1Ñ%°rÑ9ˆCÙÜ˜S“/Ð!ä��Iøô ò  Ø’ð ús   ŽA/ Á/A=Á<A=c                 ó"   — |t        |«      |z  gS r   )r.   )r   rR   Úsymbols      r   Ú_str_headerzNumpyDocString._str_header¾  s   € Ø”c˜$“i Ñ&Ð'Ð'r   c                 ó8   — |D �cg c]
  }d|z  |z   ‘Œ c}S c c}w )Nr¹   rG   )r   r�   Úindentr2   s       r   Ú_str_indentzNumpyDocString._str_indentÁ  s   € Ø.1Ö2 d��F‘
˜TÓ!Ò2Ð2ùÒ2s   …c                 óF   — | d   r| d   j                  dd«      gdgz   S dgS )NrW   Ú*z\*r%   )Úreplacer"   s    r   Ú_str_signaturezNumpyDocString._str_signatureÄ  s3   € Ø�ÒØ˜Ñ%×-Ñ-¨c°5Ó9Ð:¸b¸TÑAÐAØˆtˆr   c                 ó"   — | d   r	| d   dgz   S g S )NrX   r%   rG   r"   s    r   Ú_str_summaryzNumpyDocString._str_summaryÉ  s   € Ø�	Š?Ø˜	‘? b TÑ)Ð)Øˆ	r   c                 ó"   — | d   r	| d   dgz   S g S )NrY   r%   rG   r"   s    r   Ú_str_extended_summaryz$NumpyDocString._str_extended_summaryÎ  s#   € ØÐ"Ò#ØÐ*Ñ+¨r¨dÑ2Ð2Øˆ	r   c                 óÐ  — g }| |   rÞ|| j                  |«      z  }| |   D ]¼  }g }|j                  r|j                  |j                  «       |j                  r|j                  |j                  «       |dj	                  |«      gz  }|j
                  sŒudj	                  |j
                  «      j                  «       sŒŸ|| j                  |j
                  «      z  }Œ¾ |dgz  }|S )Nz : r%   )rë   rR   rž   rS   rB   rT   r
   rî   )r   rR   r'   ÚparamÚpartss        r   Ú_str_param_listzNumpyDocString._str_param_listÓ  sÉ   € ØˆØ�Š:Ø�4×#Ñ# DÓ)Ñ)ˆCØ˜d™ò 8�Ø�Ø—:’:Ø—L‘L §¡Ô,Ø—:’:Ø—L‘L §¡Ô,Ø˜Ÿ
™
 5Ó)Ð*Ñ*�Ø—:“: "§'¡'¨%¯*©*Ó"5×";Ñ";Õ"=Ø˜4×+Ñ+¨E¯J©JÓ7Ñ7‘Cð8ð �B�4‰KˆCØˆ
r   c                 óX   — g }| |   r"|| j                  |«      z  }|| |   z  }|dgz  }|S r?   )rë   )r   rR   r'   s      r   Ú_str_sectionzNumpyDocString._str_sectionã  sA   € ØˆØ�Š:Ø�4×#Ñ# DÓ)Ñ)ˆCØ�4˜‘:ÑˆCØ�B�4‰KˆCØˆ
r   c                 óà  — | d   sg S g }|| j                  d«      z  }|dgz  }d}| d   D ]²  \  }}t        |t        «      sJ ‚g }|D ]3  \  }}|r
d|›d|›d�}	n|r
d|›d|›d�}	nd|z  }	|j                  |	«       Œ5 dj	                  |«      }	||	gz  }|r'|| j                  d	j	                  |«      g«      z  }d}Œ’d
}|| j                  | j                  g«      z  }Œ´ |r|dgz  }|dgz  }|S )Nrc   r%   TrË   z:`ú`z`%s`_ú, r¹   F)rë   r   r   rž   rB   rî   Úempty_description)
r   Ú	func_roler'   Úlast_had_descrÂ   rT   ÚlinksÚfuncrª   Úlinks
             r   Ú_str_see_alsozNumpyDocString._str_see_alsoë  s0  € Ø�JÒØˆIØˆØˆt×Ñ 
Ó+Ñ+ˆØ�ˆt‰ˆØˆØ 
Ñ+ò 	B‰KˆE�4Ü˜e¤TÔ*Ð*Ð*ØˆEØ#ò #‘
��dÚÚ)-ªtÐ4‘DÚÚ)2²DÐ9‘Dà" T™>�DØ—‘˜TÕ"ð#ð —9‘9˜UÓ#ˆDØ�D�6‰MˆCÙØ�t×'Ñ'¨¯©°$«Ð(8Ó9Ñ9�Ø $‘à %�Ø�t×'Ñ'¨×)?Ñ)?Ð(@ÓAÑA‘ð%	Bñ( Ø�B�4‰KˆCØ�ˆt‰ˆØˆ
r   c                 óÒ   — | d   }g }d}|j                  dd«      }|rd}|d|z  gz  }|j                  «       D ](  \  }}|dk(  rŒd}|d|›dd	j                  |«      ›�gz  }Œ* |r|S y)
Nrh   FrÊ   r%   Tz.. index:: %sz   :z: rÿ   )rÚ   r¾   rB   )r   Úidxr'   Úoutput_indexÚdefault_indexr•   Ú
referencess          r   Ú
_str_indexzNumpyDocString._str_index  s“   € Ø�7‰mˆØˆØˆØŸ™ 	¨2Ó.ˆÙØˆLØ� -Ñ/Ð0Ñ0ˆØ#&§9¡9£;ò 	EÑˆG�ZØ˜)Ò#ØØˆLÙ¢G¨T¯Y©Y°zÔ-BÐCÐDÑD‰Cð		Eñ
 ØˆJØr   c                 ó²  — g }|| j                  «       z  }|| j                  «       z  }|| j                  «       z  }dD ]  }|| j                  |«      z  }Œ || j	                  d«      z  }|| j                  |«      z  }dD ]  }|| j	                  |«      z  }Œ dD ]  }|| j                  |«      z  }Œ || j                  «       z  }dj                  |«      S )N)rZ   r[   r\   r]   r`   r^   r_   re   )rd   rf   rg   )ra   rb   r   )rò   rô   rö   rú   rü   r  r  rB   )r   r  r'   Ú
param_listrÈ   s        r   rP   zNumpyDocString.__str__  sú   € ØˆØˆt×"Ñ"Ó$Ñ$ˆØˆt× Ñ Ó"Ñ"ˆØˆt×)Ñ)Ó+Ñ+ˆðBò 	4ˆJà�4×'Ñ'¨
Ó3Ñ3‰Cð	4ð 	ˆt× Ñ  Ó,Ñ,ˆØˆt×!Ñ! )Ó,Ñ,ˆØ4ò 	(ˆAØ�4×$Ñ$ QÓ'Ñ'‰Cð	(à3ò 	4ˆJØ�4×'Ñ'¨
Ó3Ñ3‰Cð	4àˆt�‰Ó Ñ ˆØ�y‰y˜‹~Ðr   r   )F)T)r…   )é   )r%   ),rC   rD   rE   rF   ro   r   r   r|   r   r�   r�   r“   r–   rš   r¦   Ú_roleÚ_funcbacktickÚ
_funcplainÚ	_funcnamerñ   Ú_funcnamenextÚ_descriptionrÎ   rÏ   r±   r¼   r   rÄ   rÌ   rÓ   rq   Úpropertyrâ   rz   rë   rî   rò   rô   rö   rú   rü   r  r  rP   rG   r   r   rV   rV   v   sM  „ ñðØ�Rðà�B�4ðð 	˜Bðð 	�bð	ð
 	�2ðð 	�"ðð 	�Bðð 	�"ðð 	�ðð 	˜Bðð 	�bðð 	�2ðð 	�Bðð 	�ðð 	�Bðð  	�bð!ð" 	�Bð#ð$ 	�ñ%€Hó*ò&ò)ò'ò&òHò$!ò	ò
2óðN %€EØ>€MØ/€JØ�u‘˜}Ñ,¨tÑ3°jÑ@À4ÑG€IØ×%Ñ% f¨jÓ9€MØ!×)Ñ)¨&°*Ó=€MØE€LØ�—
‘
˜7 YÑ.°Ñ7Ó8€IØ�—
‘
ð	àñ	ð 	!ñ	!ð $1ñ	1ð 4:ñ	:ð 	ñ		ð 	 ñ	 ð 	ñ	ó€Ið Ðò5ònò&Dò,$(ðL ñó ðóó (ó3òò
ò
ò
ò òò@ô"r   rV   c                 óh   — t        j                  dj                  | «      «      j                  d«      S )z"Deindent a list of lines maximallyr   )rj   rk   rB   r   )Úliness    r   r�   r�   .  s%   € ä�?‰?˜4Ÿ9™9 UÓ+Ó,×2Ñ2°4Ó8Ð8r   c                   ó,   ‡ — e Zd Zdd„Zd„ Zˆ fd„Zˆ xZS )ÚFunctionDocc                 ó¦   — || _         || _        |€&|€t        d«      ‚t        j                  |«      xs d}|€i }t
        j                  | ||«       y )NzNo function or docstring givenr%   )rá   r  rÙ   rå   ÚgetdocrV   r   )r   r  rª   r�   rr   s        r   r   zFunctionDoc.__init__4  sU   € ØˆŒØˆŒ
àˆ;Øˆ|Ü Ð!AÓBÐBÜ—.‘. Ó&Ò,¨"ˆCØˆ>ØˆFÜ×Ñ  c¨6Õ2r   c                 ó  — t        | j                  d| j                  j                  «      }t	        j
                  | j                  «      r/t        | j                  d| j                  j                  «      }||fS | j                  }||fS )NrC   Ú__call__)Úgetattrrá   Ú	__class__rC   rå   Úisclassr   )r   Ú	func_namer  s      r   Úget_funczFunctionDoc.get_func@  sk   € Ü˜DŸG™G Z°·±×1HÑ1HÓIˆ	Ü�?‰?˜4Ÿ7™7Ô#Ü˜4Ÿ7™7 J°·±×0@Ñ0@ÓAˆDð �YˆÐð —7‘7ˆDØ�YˆÐr   c                 ó&  •— d}| j                  «       \  }}dddœ}| j                  rL| j                  |vrt        d| j                  z  «       |d|j                  | j                  d«      ›d|›d�z  }|t        ‰| �  | j                  ¬	«      z  }|S )
Nr%   ÚfunctionÚmethod)r  ÚmethzWarning: invalid role %sz.. z:: z
    

)r  )r#  r  ÚprintrÚ   ÚsuperrP   )r   r'   r  r"  Úrolesr   s        €r   rP   zFunctionDoc.__str__H  sŽ   ø€ ØˆàŸ-™-›/‰ˆˆià#Ø!ñ#ˆð �:Š:Ø�z‰z Ñ&ÜÐ0°4·:±:Ñ=Ô>Ù¨U¯Y©Y°t·z±zÀ2Õ-FÚ-6ð8ñ 8ˆCð 	Œu‰w‰¨¯©ˆÓ4Ñ4ˆØˆ
r   )r  NN)rC   rD   rE   r   r#  rP   Ú__classcell__)r   s   @r   r  r  3  s   ø„ ó
3ò÷ð r   r  c                   ó   — e Zd Zdd„Zy)ÚObjDocNc                 óJ   — || _         |€i }t        j                  | ||¬«       y )N©rr   )rá   rV   r   )r   Úobjr�   rr   s       r   r   zObjDoc.__init__[  s(   € ØˆŒØˆ>ØˆFÜ×Ñ  c°&ÐÕ9r   )NN)rC   rD   rE   r   rG   r   r   r-  r-  Z  s   „ ô:r   r-  c                   óH   — e Zd ZdgZddedfd„Zed„ «       Zed„ «       Zd„ Z	y)ÚClassDocr  Nr%   c                 ób  — t        j                  |«      s|�t        d|z  «      ‚|| _        dt        j
                  v rddlm} n
t        «       }|€i }|j                  dd«      | _
        |r|j                  d«      s|dz  }|| _        |€"|€t        d«      ‚t        j                  |«      }t        j!                  | |«       |j                  d	g «      }||u rd }|j                  d
g «      }|j                  dd«      r¡||urœd„ }	d| j"                  fd| j$                  ffD ]y  \  }
}| |
   rŒg }t'        |«      D ]Y  }||v s|r||vrŒ	 t        j                  t)        | j                  |«      «      }|j+                  t-        |d |	|«      «      «       Œ[ || |
<   Œ{ y y y # t.        $ r Y Œqw xY w)Nz$Expected a class or None, but got %rÚsphinxr   )ÚALLÚshow_inherited_class_membersTrä   z&No class or documentation string givenÚmemberszexclude-membersÚshow_class_membersc                 ó*   — | sg S | j                  «       S r   )Ú
splitlines)rÈ   s    r   Úsplitlines_xz'ClassDoc.__init__.<locals>.splitlines_x‡  s   € ÙØ�IàŸ<™<›>Ð)r   rb   ra   r%   )rå   r!  rÙ   rà   ÚsysÚmodulesÚsphinx.ext.autodocr5  ÚobjectrÚ   Úshow_inherited_membersÚendswithÚ_modÚpydocr  rV   r   ÚmethodsÚ
propertiesÚsortedr  rž   rQ   ÚAttributeError)r   Úclsr�   Ú
modulenameÚfunc_docrr   r5  Ú_membersÚ_excluder;  Úfieldr¾   Údoc_listrR   Údoc_items                  r   r   zClassDoc.__init__f  sÇ  € ä�‰˜sÔ#¨¨ÜÐCÀcÑIÓJÐJØˆŒ	à”s—{‘{Ñ"Þ.ä“(ˆCàˆ>ØˆFØ&,§j¡jØ*¨Dó'2ˆÔ#ñ ˜j×1Ñ1°#Ô6Ø˜#ÑˆJØˆŒ	àˆ;Øˆ{Ü Ð!IÓJÐJÜ—,‘,˜sÓ#ˆCä×Ñ  cÔ*à—:‘:˜i¨Ó,ˆØ�s‰?ØˆHØ—:‘:Ð/°Ó4ˆà�:‰:Ð*¨DÔ1°hÀcÑ6Iò*ð
 #,¨T¯\©\Ð!:Ø".°·±Ð!@ð!Bò +‘��uà˜E“{Ø!�HÜ & u£ò 	!˜Ø  HÑ,Ù!)¨d¸(Ñ.BØ$ð!Ü',§|¡|´G¸D¿I¹IÀtÓ4LÓ'M˜HØ$ŸO™OÜ )¨$°±LÀÓ4JÓ KõMð	!ð #+�D˜’Kñ+ð 7JÐ1øô$  .ò !Ù ð!ús   ÅAF"Æ"	F.Æ-F.c                 ó  — | j                   €g S t        j                  | j                   «      D ��cg c]G  \  }}|j                  d«      r|| j                  v r#t        |t        «      r| j                  |«      r|‘ŒI c}}S c c}}w ©NÚ_)rà   rå   Ú
getmembersrˆ   Úextra_public_methodsr   r   Ú_is_show_member©r   rR   r  s      r   rD  zClassDoc.methodsœ  su   € à�9‰9ÐØˆIÜ'.×'9Ñ'9¸$¿)¹)Ó'D÷ 1™˜˜tØŸ™¨Ô-Ø˜T×6Ñ6Ñ6Ü˜t¤XÔ.Ø×(Ñ(¨Ô.ò	 ó 1ð 	1ùó 1s   ±ABc                 ó   — | j                   €g S t        j                  | j                   «      D ��cg c]P  \  }}|j                  d«      s:|�%t	        |t
        «      st        j                  |«      r| j                  |«      r|‘ŒR c}}S c c}}w rQ  )rà   rå   rS  rˆ   r   r  ÚisdatadescriptorrU  rV  s      r   rE  zClassDoc.properties¦  sy   € à�9‰9ÐØˆIÜ'.×'9Ñ'9¸$¿)¹)Ó'D÷ 1™˜˜tØŸ™¨Ô,Ø�\¤Z°´hÔ%?Ü×-Ñ-¨dÔ3Ø×(Ñ(¨Ô.ò	 ó 1ð 	1ùó 1s   ±AB
c                 óP   — | j                   ry|| j                  j                  vryy)NTF)r@  rà   Ú__dict__)r   rR   s     r   rU  zClassDoc._is_show_member°  s&   € Ø×&Ò&ØØ�t—y‘y×)Ñ)Ñ)ØØr   )
rC   rD   rE   rT  r  r   r  rD  rE  rU  rG   r   r   r2  r2  b  sG   „ à&˜<Ðà $°¸kØó4+ðl ñ1ó ð1ð ñ1ó ð1ór   r2  c                 ó6  — |€Et        j                  | «      rd}n-t        j                  | «      rd}nt        | t        «      rd}nd}|€i }|dk(  rt        | t        ||¬«      S |dv rt        | ||¬«      S |€t        j                  | «      }t        | ||¬«      S )	NÚclassÚmoduler%  r?  )rJ  r�   rr   )r%  r&  )r�   rr   r/  )
rå   r!  Úismoduler   r   r2  r  rC  r  r-  )r0  Úwhatr�   rr   s       r   Úget_doc_objectr`  ¸  s›   € Ø€|Ü�?‰?˜3ÔØ‰DÜ×Ñ˜cÔ"Ø‰DÜ˜œXÔ&Ø‰DàˆDØ€~Øˆàˆw‚Ü˜¤k°sÀ6ÔJÐJØ	Ð'Ñ	'Ü˜3 C°Ô7Ð7àˆ;Ü—,‘,˜sÓ#ˆCÜ�c˜3 vÔ.Ð.r   )NNN)rF   rå   rj   rÎ   rC  Úwarningsr   Úcollectionsr   Úcollections.abcr   r   rm   r<  r   r   Ú	ExceptionrI   rQ   rV   r�   r  r-  r2  r`  rG   r   r   ú<module>re     s•   ðñó Û Û 	Û Ý Ý "ß -Û Û 
ò÷J.ñ J.ôZ�ô ñ �{Ò$<Ó=€	ôu�Wô uòp9ô
$�.ô $ôN:ˆ^ô :ôSˆ~ô Sôl/r   