HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/sphinx/environment/adapters/__pycache__/indexentries.cpython-310.pyc
o

�$�a��@s�dZddlZddlZddlmZddlmZmZmZm	Z	m
Z
mZddlm
Z
ddlmZddlmZddlmZdd	lmZmZdd
lmZmZe�e�ZGdd�d�ZdS)
a
    sphinx.environment.adapters.indexentries
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Index entries adapters for sphinx.environment.

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�groupby)�Any�Dict�List�Pattern�Tuple�cast)�Builder)�IndexDomain)�BuildEnvironment)�NoUri)�_�__)�logging�
split_intoc@s\eZdZdeddfdd�Zde�d�fded	ed
e	de
eee
eee
fffdd�ZdS)
�IndexEntries�env�returnNcCs
||_dS�N)r)�selfr�r�J/usr/lib/python3/dist-packages/sphinx/environment/adapters/indexentries.py�__init__s
zIndexEntries.__init__Tz(.*) ([(][^()]*[)])�builder�
group_entries�_fixrecs�i}d|dfdtdtdtdtdtdtd	df����fd
d�
�tt|j�d��}|j��D]�\�}|D]�\}}�}	}
z�|d
krdz
t	dd
|�\}}Wnt
yZt	dd
|�\}d}Ynw�|||	|
d�n�|dkr�t	dd|�\}
}�|
||	|
d��||
|	|
d�np|dkr�t	dd|�\}
}}�|
|d||	|
d��||d|
|	|
d��||
d||	|
d�n>|dkr�t	dd|�\}
}�|
td�|dd|
d�n$|dkr�t	dd|�\}
}�|
td�|dd|
d�n
tj
td�|�d�Wq2t
�y}ztj
t|��d�WYd}~q2d}~wwq,dtttfd	tttffd d!�}|��D]}|d"j|d�|d��D]}|d"j|d��q5�q%dtttfd	ttttftffd#d$�}t|��|d�}|�r�d}d}d"}|t|�k�r�||\}\}}}|�s�|�|�}|�r�||�d�k�r�|�|�d�gi|g�d"�|�||=�qi|�d�}n|}|}|d7}|t|�k�spdtttfd	tfd%d&��d'tttfd	tf�fd(d)�}d*d+�t||�D�S),z7Create the real index from the collected index entries.TN�word�subword�main�link�dic�keyrcs�t|�}|�|�}|sgi|g||<}|r$�|d|||d|d�dS|rHz��d��d�}Wn
ty<YdSw|d�||f�dSdS)N��)rr r!�genindex�#r)�str�get�get_relative_urir�append)rrrrr r!�entry�uri)�	add_entryr�fn�tidrrr,$s
��z,IndexEntries.create_index.<locals>.add_entry�index�single�r#r"�r!�pair�triple�� z, �seezsee %sF)rr!�seealsozsee also %szunknown index entry type %r)�locationr*cSs|\}}||fSrr)r*rr+rrr�keyfunc0Zs
z+IndexEntries.create_index.<locals>.keyfunc0rcSst|\}\}}}|r|}t�d|���}|�d�r|dd�}|dd���s+|�d�r0d|f}nd|f}||dfS)N�NFD�‏r#rr
)�unicodedata�	normalize�lower�
startswith�isalpha)r*r!�void�category_key�lckey�sortkeyrrr�keyfuncds

z*IndexEntries.create_index.<locals>.keyfunccSsTt�d|d���}|�d�r|dd�}|dd���s"|�d�r(td�|}|S)Nr;rr<r#r
�)r=r>r?r@rA�chr)r*r!rrr�keyfunc2�s
z+IndexEntries.create_index.<locals>.keyfunc2�itemcs�|\}}tdd�|d��D��d�|d<|ddur@|�d�r&|dd�}t�d|d�d��}|��s:|d	kr<|Std
�S|dS)Ncss"�|]\}\}}}||fVqdSrr)�.0�si�serBrrr�	<genexpr>�s� z>IndexEntries.create_index.<locals>.keyfunc3.<locals>.<genexpr>r#r2r1r<r;rr
�Symbols)�sorted�itemsr@r=r>�upperrAr
)rJ�k�v�letter)rIrr�keyfunc3�s
�
z+IndexEntries.create_index.<locals>.keyfunc3cSsg|]
\}}|t|�f�qSr)�list)rK�key_�grouprrr�
<listcomp>�s�z-IndexEntries.create_index.<locals>.<listcomp>)r&�boolrrr
r�
get_domain�entriesrQr�
ValueErrorr
�logger�warningrr�values�sortr�intrP�len�matchrY�
setdefault�extendr)rrrr�new�domainr]�type�valuer�	index_keyr*�subentry�first�second�third�errr:�
indexentryrF�newlist�oldkey�oldsubitems�ir!�targets�subitems�_key�mrVr)r,rr-rIr.r�create_indexs������������" �*
�	�zIndexEntries.create_index)�__name__�
__module__�__qualname__rr�re�compiler	r[rrrr&rr{rrrrrs���r)�__doc__rr=�	itertoolsr�typingrrrrrr�sphinx.buildersr	�sphinx.domains.indexr
�sphinx.environmentr�
sphinx.errorsr�
sphinx.localer
r�sphinx.utilrr�	getLoggerr|r_rrrrr�<module>s