
    +Si                     p    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y)
    N)Iterable)Any)settings)PDFSyntaxError)
dict_value	int_value
list_value)choplistc                   z    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y)	
NumberTreezDA PDF number tree.

    See Section 3.8.6 of the PDF Reference.
    objc                 R   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         | _        y y )NNumsKidsLimits)r   _objnumskidslimitsr	   )selfr   s     a/var/www/html/leadgen/airagagent/rag_env/lib/python3.12/site-packages/pdfminer/data_structures.py__init__zNumberTree.__init__   s    sO	*.	*.	,0TYY"499V#45DITYY"499V#45DItyy $TYYx%89DK !    returnc                    g }| j                   r:t        d| j                         D ]!  \  }}|j                  t        |      |f       # | j                  r-| j                  D ]  }|t        |      j                         z  }  |S )N   )r   r
   appendr   r   r   _parse)r   itemskv	child_refs        r   r   zNumberTree._parse   s|    99 DII. 01ilA./0 99!YY 8	I.55778 r   valuesc                     | j                         }t        j                  r2t        d t	        j
                  |      D              st        d      |S |j                  d        |S )Nc              3   8   K   | ]  \  }}|d    |d    k    yw)r   N ).0abs      r   	<genexpr>z$NumberTree.values.<locals>.<genexpr>1   s      K1qtqt|Ks   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,   sU    ??K	0B0B60JKK$%LMM  KKNK+r   N)__name__
__module____qualname____doc__r   r   listtupleintr   __annotations__propertyr#   r&   r   r   r   r      sg    
:C :
U38_- 
 sCx!!	U38_- 	 	r   r   )r1   collections.abcr   typingr   pdfminerr   pdfminer.pdfparserr   pdfminer.pdftypesr   r   r	   pdfminer.utilsr
   r   r&   r   r   <module>rC      s'     $   - ? ? #+ +r   