
    -Ph5&                    b   U d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z
 ddlmZmZ ddlmZ dd	lmZ erdd
lmZmZ ddlmZ ddlmZ eedz  eed         z  f         Zded<   ee         Zded<   edz  Zded<   eeeeef         f         Z ded<   eee ef         Z!ded<   eee!f         Z"ded<   eeeeeeeef                  ef         f         Z#ded<   ee#         Z$ded<   eeee$f                  Z%ded<    ej&        e'          Z( G d d          Z)d/d%Z*d0d(Z+d1d+Z,d2d-Z-d3d.Z.dS )4z.Index entries adapters for sphinx.environment.    )annotationsN)groupby)TYPE_CHECKING)NoUri)___)logging)_split_into)Literal	TypeAlias)Builder)BuildEnvironmentFr   _IndexEntryTarget_IndexEntryTargets_IndexEntryCategoryKey_IndexEntrySubItems_IndexEntry_IndexEntryMap_RealIndexEntry_RealIndexEntries_Indexc                  @    e Zd ZddZd ej        d          fddZdS )IndexEntriesenvr   returnNonec                    || _         |  d S )N)r   )selfr   s     h/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/environment/adapters/indexentries.py__init__zIndexEntries.__init__3   s        Tz(.*) ([(][^()]*[)])builderr   group_entriesbool_fixrere.Pattern[str]r   c           
        i }| j         j        j        }|j                                        D ]A\  }}	 |                    d|          }n# t          $ r d}Y nw xY w|D ]\  }	}
}}}|duo| d| }	 |	dk    rR	 t          dd|
          \  }}n%# t          $ r t          dd|
          \  }d}Y nw xY wt          ||||||           n^|	d	k    r@t          dd	|
          \  }}t          ||||||           t          ||||||           n|	d
k    rgt          dd
|
          \  }}}t          ||dz   |z   ||||           t          ||dz   |z   ||||           t          ||dz   |z   ||||           n|	dk    r:t          dd|
          \  }}t          |t          d          |z  d|d|           nk|	dk    r:t          dd|
          \  }}t          |t          d          |z  d|d|           n+t                              t          d          |	|d           # t          $ r5}t                              t          |          |d           Y d}~d}~ww xY wC|                                D ]V\  }}}|                    t"                     |                                D ] \  }}|                    t"                     !Wt%          |                                t&                    }|rd}i }d}|t)          |          k     r||         \  }\  }}}|s|                    |          }|rl||                    d          k    r=|                    |d         g |f          } | d                             |           ||= |                    d          }n|}|}|dz  }|t)          |          k     g }!t3          |t4                    D ]\  }"}#g }$|#D ]^}%|%\  }&\  }}}d |                                D             }'|'                    t6                     |$                    |&||'|ff           _|!                    |"|$f           |!S )z7Create the real index from the collected index entries.genindexF#single       )diclinkkeypairtriple    z, seezsee %sNseealsozsee also %szunknown index entry type %rindex)locationtype)r0   r   c                "    g | ]\  }\  }}||fS  r;   ).0sub_keysub_targets_sub_category_keys       r   
<listcomp>z-IndexEntries.create_index.<locals>.<listcomp>   s7       C"B;0A k*  r!   )r   domainsindex_domainentriesitemsget_relative_urir   r
   
ValueError
_add_entryr   loggerwarningr   strvaluessort_key_func_0sorted_key_func_1lenmatchgroup
setdefaultextendr   _group_by_func_key_func_2append)(r   r"   r#   r%   newrB   docnamerC   rel_uri
entry_typevalue	target_idmaincategory_keyurientry	sub_entryfirstsecondthirderrtargets	sub_items_category_keyr>   r?   new_listold_keyold_sub_itemsir0   mprevgrouped	group_keyrR   
group_listgroup_entry	entry_keypairss(                                           r   create_indexzIndexEntries.create_index7   s    ! x'4 , 4 : : < < Q	M Q	MGW !22:wGG        EL JM JM@
E9dLU*G'/G/GI/G/GHM!X--+/:1h/N/N,E99) + + +'21h'F'FHU(*III+ #!9d#<     $v--(3Avu(E(Ev"!64Ss    #"E4Ss     $x///:1h/N/N,vu"!"SL50  #!$ ,    #"!DL50  #!$ ,    #!!CK&0  #!$ ,     $u,,(3Aue(D(Dv"!hKK&0  #!& ,     $y00(3Aue(D(Dv"!m,,v5  #!& ,     <==&%,!(	 '    " M M MNN3s88gGNLLLLLLLLMSJMX 25 	2 	2-GYLL[L)))2;2B2B2D2D 2 2..  [ 11112 39+2V2V2V 	 G13MAc(mm##:B1+77gy,  &S))A 
&"aggajj00 $1#;#;AaD2|BT#U#UD GNN7333 ($"#''!**"% )Q# c(mm##&  '. A A 
	4 
	4IuJ$ O O@K=	=GY GPGXGX   

{
+++!!9w|.L"MNNNNNNIz23333sN   AAA4H,;BH,B2/H,1B22E8H,,
I+6*I&&I+N)r   r   r   r   )r"   r   r#   r$   r%   r&   r   r   )__name__
__module____qualname__r    recompilerv   r;   r!   r   r   r   2   s]            #","*-C"D"D	O O O O O O Or!   r   wordrJ   subwordr^   
str | Noner.   r/   str | Literal[False]r0   r   r   c                   |                     | g i |f          }|r%|d                              |g |f          d         }n|d         }|r|                    ||f           d S d S )Nr,   r   )rS   rW   )r|   r}   r^   r.   r/   r0   ra   rg   s           r   rG   rG      s     NN4"b#//E (%%gCy99!<( %d|$$$$$% %r!   ra   !tuple[bool, str | Literal[False]]c                    | \  }}| |fS )z(Sort the index entries for same keyword.r;   )ra   r^   r`   s      r   rM   rM      s    ID#8S=r!   tuple[str, _IndexEntry]tuple[tuple[int, str], str]c                   | \  }\  }}}|r|}t          j        d|                                          }|                    d          }|dd                                         s|                    d          sd}nd}||f| d         fS )zSort the index entriesNFD   ‏r   r,   r   )unicodedata	normalizelowerremoveprefixisalpha
startswith)ra   r0   _targets
_sub_itemsr_   lc_keyrR   s          r   rO   rO      s    05-C	-(J "5#))++66F  !9::F!A#;   ):):3)?)?   6?E!H$$r!   tuple[str, _IndexEntryTargets]c                   t          j        d| d                                                   }|                    d          }|dd                                         s|                    d          rt          d          |z   }|S )zSort the sub-index entriesr   r   r   r,   r      )r   r   r   r   r   r   chr)ra   r0   s     r   rV   rV      sy    

uQx~~'7'7
8
8C


3
4
4C
1Q3x S^^C00 #hhnJr!   c                   | \  }\  }}}||S |                     d          }t          j        d|d                   d                                         }|                                s|dk    r|S t          d          S )z,Group the entries by letter or category key.Nr   r   r   r   Symbols)r   r   r   upperr   r   )ra   r0   rg   rh   r_   letters         r   rU   rU      s    .3+C	+'9l 

3
4
4C"5#a&11!4::<<F~~ 6S== Y<<r!   )r|   rJ   r}   rJ   r^   r~   r.   r   r/   r   r0   r   r   r   )ra   r   r   r   )ra   r   r   r   )ra   r   r   rJ   )ra   r   r   rJ   )/__doc__
__future__r   rz   r   	itertoolsr   typingr   sphinx.errorsr   sphinx.localer   r   sphinx.utilr	   sphinx.util.index_entriesr
   r   r   sphinx.buildersr   sphinx.environmentr   tuplerJ   r   __annotations__listr   r   dictr   r   r   r   r   r   	getLoggerrw   rH   r   rG   rM   rO   rV   rU   r;   r!   r   <module>r      s   4 4 4 " " " " " " 				                                           1 1 1 1 1 1 <))))))))''''''333333#(tS75>5I)I#JJJJJ$():$;;;;;(+d
2222%) "889	;&     #	 K    
 !%S+%5 6N6666 "'s../0"$	
	"O     $(#88888U3(9#9:;F;;;;		8	$	$T T T T T T T Tn% % % %$   % % % %(        r!   