
    є jA                         d dl mZmZmZmZ ddlmZmZmZm	Z	 ddl
mZmZ ddlmZmZ ddlmZ ddlmZ  G d	 d
e          Z G d de          ZdS )    )TYPE_CHECKINGAnyOptionalUnion   )BooleanObject
NameObjectNumberObjectTextStringObject)ArrayObjectDictionaryObject)DEFAULT_FITFit)RectangleObject   )AnnotationDictionaryc                        e Zd Zdddeddeeeeeeef         f         dee	         dee
         dee         deded	df fd
Z xZS )LinkN)borderurltarget_page_indexfitrectr   r   r   r   kwargsreturnc                ,    t                      j        di | t          rddlm} |d u}|d u}	|s|	st          d          |r|	rt          d|d|          |\d |d d         D             }
t          |          dk    r4t          d	 |d         D                       }|
                    |           nt          d
          gdz  }
| 
                    t          d          t          d          t          d          t          d          t          d          t          |          t          d          t          |
          i           |rst          t          d          t          d          t          d          t          d          t          d          t          |          i          | t          d          <   |	rKt          t          |          t          |j                  |j        d          }|| t          d          <   d S d S )Nr   )BorderArrayTypezHEither 'url' or 'target_page_index' have to be provided. Both were None.z=Either 'url' or 'target_page_index' have to be provided. url=z, target_page_index=c                 ,    g | ]}t          |          S  r
   .0ns     }C:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pypdf/annotations/_non_markup_annotations.py
<listcomp>z!Link.__init__.<locals>.<listcomp>,   s    >>>a,q//>>>          c                 ,    g | ]}t          |          S r   r    r!   s     r$   r%   z!Link.__init__.<locals>.<listcomp>.   s    +O+O+OLOO+O+O+Or&   r   z/Typez/Annot/Subtypez/Link/Rectz/Borderz/Sz/URIz/Actionz/A)r   r   fit_argsz/Destr   )super__init__r   typesr   
ValueErrorlenr   appendr
   updater	   r   r   r   fit_typer,   )selfr   r   r   r   r   r   r   is_externalis_internal
border_arrdash_patterndest_deferred	__class__s                r$   r.   zLink.__init__   st    	""6""" 	0//////o't3 	; 	Z    	; 	00 0,0 0    	/>>6"1":>>>J6{{a 0*+O+OVAY+O+O+OPP!!,///&q//*Q.J7##Z%9%9:&&
7(;(;7##_T%:%:9%%{:'>'>		
 	
 	
  	%5t$$j&8&8w''I)>)>v&&(8(=(=& &DD!!"  		6,)56G)H)H%cl33 #  M )6DG$$%%%		6 		6r&   )__name__
__module____qualname__r   r   r   tuplefloatr   r   strintr   r   r.   __classcell__r;   s   @r$   r   r      s        
 )-!+/<6 <6 <6 OU5%+E%FFG<6 %	<6
 c]<6 $C=<6 <6 <6 
<6 <6 <6 <6 <6 <6 <6 <6 <6 <6r&   r   c                   l     e Zd Zddddeeeeeeef         f         dee         de	de
ddf
 fd	Z xZS )
PopupNF)parentopenr   rG   rH   r   r   c          
          t                      j        d	i | |                     t          d          t          d          t          d          t	          |          t          d          t          |          i           |rB	 |j        | t          d          <   d S # t          $ r ddlm	}  |dt                     Y d S w xY wd S )
Nr*   z/Popupr+   z/Openz/Parentr   )logger_warningz0Unregistered Parent object : No Parent field setr   )r-   r.   r3   r	   r   r   indirect_referenceAttributeError_utilsrJ   r<   )r5   r   rG   rH   r   rJ   r;   s         r$   r.   zPopup.__init__P   s    	""6""":&&
8(<(<7##_T%:%:7##]4%8%8	
 	
 	
  
	.4.GZ	**+++!   333333F     	
	 
	s   B   !CC)r<   r=   r>   r   r   r?   r@   r   r   boolr   r.   rC   rD   s   @r$   rF   rF   O   s        
 .2   OU5%+E%FFG )*	
   
         r&   rF   N)typingr   r   r   r   generic._baser   r	   r
   r   generic._data_structuresr   r   generic._fitr   r   generic._rectangler   _baser   r   rF   r   r&   r$   <module>rU      s   6 6 6 6 6 6 6 6 6 6 6 6            E D D D D D D D + + + + + + + + 0 0 0 0 0 0 ' ' ' ' ' '=6 =6 =6 =6 =6 =6 =6 =6@          r&   