
    #j                     x    d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
mZmZ d dlmZ  G d d	          ZdS )
    N)Iterable)Any)settings)PDFSyntaxError)
dict_value	int_value
list_value)choplistc                       e Zd ZU dZdefdZdeeeef                  fdZ	eeeef                  e
d<   edeeeef                  fd            ZdS )	
NumberTreezDA PDF number tree.

    See Section 3.8.6 of the PDF Reference.
    objc                 L   t          |          | _        d | _        d | _        d | _        d| j        v rt          | j        d                   | _        d| j        v rt          | j        d                   | _        d| j        v r!t          | j        d                   | _        d S d S )NNumsKidsLimits)r   _objnumskidslimitsr	   )selfr   s     `/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/pdfminer/data_structures.py__init__zNumberTree.__init__   s    sOO	*.	*.	,0TY"49V#455DITY"49V#455DIty  $TYx%899DKKK !     returnc                     g }| j         r?t          d| j                   D ])\  }}|                    t          |          |f           *| j        r.| j        D ]&}|t          |                                          z  }'|S )N   )r   r
   appendr   r   r   _parse)r   itemskv	child_refs        r   r   zNumberTree._parse   s    9 	0 DI.. 0 01illA.////9 	8!Y 8 8	I..55777r   valuesc                     |                                  }t          j        r;t          d t	          j        |          D                       st          d          n|                    d            |S )Nc              3   @   K   | ]\  }}|d          |d          k    V  dS )r   N ).0abs      r   	<genexpr>z$NumberTree.values.<locals>.<genexpr>1   s2      KK1qtqt|KKKKKKr   z%Number tree elements are out of orderc                     | d         S )Nr   r&   )ts    r   <lambda>z#NumberTree.values.<locals>.<lambda>4   s
    ad r   )key)r   r   STRICTall	itertoolspairwiser   sort)r   r#   s     r   r#   zNumberTree.values,   sv    ? 	,KK	0B60J0JKKKKK N$%LMMMN KKNNK+++r   N)__name__
__module____qualname____doc__r   r   listtupleintr   __annotations__propertyr#   r&   r   r   r   r      s          
:C : : : :
U38_- 
 
 
 
 sCx!!!!	U38_- 	 	 	 X	 	 	r   r   )r1   collections.abcr   typingr   pdfminerr   pdfminer.pdfparserr   pdfminer.pdftypesr   r   r	   pdfminer.utilsr
   r   r&   r   r   <module>rC      s        $ $ $ $ $ $             - - - - - - ? ? ? ? ? ? ? ? ? ? # # # # # #+ + + + + + + + + +r   