§
    §‘Újà  ã                   óR  — d Z ddlZddlZddl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 dd	lmZ dd
lmZmZmZmZmZmZmZ ej        dk    rddlmZ n G d„ dee¦  «        Ze	rddlmZ ddlmZ e G d„ de¦  «        ¦   «         Z  G d„ dee¦  «        Z! G d„ de!¦  «        Z"dS )zAction typesé    N)ÚABC)ÚEnumÚunique)ÚTYPE_CHECKINGÚcasté   )Úlogger_warning)ÚCatalogAttributes)Ú
ParseError)ÚArrayObjectÚDictionaryObjectÚ
NameObjectÚ
NullObjectÚTextStringObjectÚcreate_string_objectÚis_null_or_none)é   é   )ÚStrEnumc                   ó   — e Zd Zdefd„ZdS )r   Úreturnc                 ó*   — t          | j        ¦  «        S )N)ÚstrÚvalue)Úselfs    úˆ/Users/tedpeters/Documents/Projects/Claude Projects/TPC Houses/house-viewer/.venv/lib/python3.11/site-packages/pypdf/actions/_actions.pyÚ__str__zStrEnum.__str__   s   € Ý�t”z‘?”?Ð"ó    N)Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   r   r      s/   € € € € € ð	#˜Sð 	#ð 	#ð 	#ð 	#ð 	#ð 	#r   r   )Ú
PageObject)Ú	PdfWriterc                   ó:   — e Zd ZdZdZ	 dZ	 edefd„¦   «         ZdS )ÚPageTriggerzGTrigger event entries in a page object's additional-actions dictionary.ÚopenÚcloser   c                 óz   — t           j        t          d¦  «        t           j        t          d¦  «        i}||          S )z5Returns the corresponding NameObject for the trigger.z/Oz/C)r&   ÚOPENr   ÚCLOSE)r   Úmappings     r   Ú_name_objectzPageTrigger._name_object,   s7   € õ Ô�j¨Ñ.Ô.ÝÔ�z¨$Ñ/Ô/ð
ˆð �tŒ}Ðr   N)	r   r    r!   Ú__doc__r*   r+   Úpropertyr   r-   r"   r   r   r&   r&   $   sO   € € € € € àQÐQØ€DØ4Ø€EØ4àð˜jð ð ð ñ „Xðð ð r   r&   c            	       óˆ   ‡ — e Zd ZdZdˆ fd„Zedd„¦   «         Zed	d
dedd ddfd„¦   «         Zed	d
deddfd„¦   «         Z	ˆ xZ
S )ÚActionzLAn action dictionary defines the characteristics and behaviour of an action.r   Nc                 óÂ   •— t          ¦   «                              ¦   «          t          d¦  «        | t          d¦  «        <   t          ¦   «         | t          d¦  «        <   d S )Nz/Actionz/Typeú/Next)ÚsuperÚ__init__r   r   )r   Ú	__class__s    €r   r5   zAction.__init__8   sQ   ø€ Ý‰Œ×ÒÑÔÐÝ$.¨yÑ$9Ô$9ˆ�Z˜Ñ Ô Ñ!õ %/¡L¤Lˆ�Z˜Ñ Ô Ñ!Ð!Ð!r   Úwriterr$   Úactionc                 óz  — d|j         vr-t          ¦   «         |j         t          t          j        ¦  «        <   t          t          |j         t          j                 ¦  «        }d|vr:t          t          d¦  «        t          ¦   «         i¦  «        |t          d¦  «        <   t          t          t          t          |d         ¦  «        d         ¦  «        }|                     t          t          t          j        ¦   «         ¦  «        ¦  «        ¦  «         |                     |                     |¦  «        ¦  «         dS )zÂ
        Create an action that shall be performed when the document is opened.

        Args:
            writer: The writer to add the action to.
            action: The action to add.
        z/Namesú/JavaScriptN)Úroot_objectr   r   r
   ÚNAMESr   r   Úappendr   r   ÚuuidÚuuid4Ú_add_object)Úclsr7   r8   ÚnamesÚjss        r   Ú_create_open_actionzAction._create_open_action@   s  € ð ˜6Ô-Ð-Ð-ÝFVÑFXÔFXˆFÔ�zÕ*;Ô*AÑBÔBÑCåÕ% vÔ'9Õ:KÔ:QÔ'RÑSÔSˆØ Ð%Ð%Ý/?Ý˜HÑ%Ô%¥{¡}¤}Ð5ñ0ô 0ˆE•*˜]Ñ+Ô+Ñ,õ Ý�Õ.°°mÔ0DÑEÔEÀhÔOñ
ô 
ˆð
 	�	Š	Õ&¥s­4¬:©<¬<Ñ'8Ô'8Ñ9Ô9Ñ:Ô:Ð:Ø
�	Š	�&×$Ò$ VÑ,Ô,Ñ-Ô-Ð-Ð-Ð-r   Úpager#   Útriggerc                 ó  — |j         }d|vr#t          ||i¦  «        |t          d¦  «        <   dS t          |d         t          ¦  «        rt          ¦   «         |t          d¦  «        <   t          |d                              ¦   «         t          ¦  «        sct          |d         ¦  «        j        }|j        �)t          |j        dd¦  «        rt          d|› d�¦  «        ‚t          dt          |¬¦  «         dS t          t          |d         ¦  «        }t          |                     |¦  «        ¦  «        r|                     ||i¦  «         dS |                     |¦  «        x}}t          |t          ¦  «        s%t          dt          |¦  «        j        › d�¦  «        ‚t          t          |¦  «        }t!          ¦   «         }		 |                     d
d¦  «        }
t          |
¦  «        rn¢t          |
t"          t          f¦  «        s%t%          dt          |
¦  «        j        › d�¦  «        ‚t'          |
¦  «        }||	v rt          dt          |¬¦  «         n6|	                     |¦  «         t          |
t"          ¦  «        r	|
d         }n|
}ŒÈt          |                     d
¦  «        x}
¦  «        s(t'          |
¦  «        |	v rt          dt          |¬¦  «         ||t          d
¦  «        <   |                     ||i¦  «         dS )z×
        Create a new action and add it to the page.

        Args:
            page: The page to add the action to.
            trigger: An open or close trigger.
            action: The action to be done.
        ú/AANÚstrictFz]The type in a page object's additional-actions key must be a DictionaryObject: received type ú.zfThe type in a page object's additional-actions key must be a DictionaryObject: received type %(type)s.)ÚsourceÚtypeTr3   us   An action dictionaryâ€™s Next entry must be an Action dictionary or an array of Action dictionaries: received type z1Detected cycle in the action tree for %(current)s)rK   Úcurrentéÿÿÿÿ)r-   r   r   Ú
isinstancer   Ú
get_objectrL   r   ÚpdfÚgetattrr   r	   r   r   ÚgetÚupdateÚsetr   Ú	TypeErrorÚidÚadd)rA   rE   rF   r8   Útrigger_nameÚcurrent_typeÚadditional_actionsÚheadrM   ÚvisitedÚ	next_nodeÚid_nexts               r   Ú_create_newzAction._create_newZ   sE  € ð Ô+ˆà˜ÐÐå&6Ø˜vÐ&ñ'ô 'ˆD•˜EÑ"Ô"Ñ#ð ˆFå�d˜5”k¥:Ñ.Ô.ð 	9Ý&6Ñ&8Ô&8ˆD•˜EÑ"Ô"Ñ#å˜$˜uœ+×0Ò0Ñ2Ô2Õ4DÑEÔEð 	Ý  U¤Ñ,Ô,Ô5ˆLØŒxÐ#­°´¸(ÀEÑ(JÔ(JÐ#Ý ð5Ø%1ð5ð 5ð 5ñô ð õ ð*åØ!ð	ñ ô ð ð ˆFå!Õ"2°D¸´KÑ@Ô@ÐåÐ-×1Ò1°,Ñ?Ô?Ñ@Ô@ð 	Ø×%Ò% |°VÐ&<Ñ=Ô=Ð=ØˆFð ,×/Ò/°Ñ=Ô=Ð=ˆˆwÝ˜$Õ 0Ñ1Ô1ð 	Ýð8Ý!% d¡¤Ô!4ð8ð 8ð 8ñô ð õ Õ'¨Ñ1Ô1ˆå‘%”%ˆð	$ØŸš G¨TÑ2Ô2ˆIå˜yÑ)Ô)ð Øå˜i­+Õ7GÐ)HÑIÔIð ÝðeÝIMÈiÉÌÔIaðeð eð eñô ð õ
 ˜‘m”mˆGØ˜'Ð!Ð!ÝÐRÕ[cÐmtÐuÑuÔuÐuØØ�KŠK˜Ñ Ô Ð å˜)¥[Ñ1Ô1ð $Ø# Bœ-��à#�ð+	$õ. ¨G¯KªK¸Ñ,@Ô,@Ð@˜yÑAÔAð 	rÅbÈÁmÄmÐW^ÐF^ÐF^ÝÐNÕW_ÐipÐqÑqÔqÐqà'-ˆ•
˜7Ñ#Ô#Ñ$Ø×!Ò! <°Ð"6Ñ7Ô7Ð7Ð7Ð7r   c                 óv   — d|vrdS |j         }t          t          |d         ¦  «        }||vrdS ||= |s|d= dS dS )z 
        Delete an action from the page.

        Args:
            page: The page to delete the action.
            trigger: An open or close trigger.
        rH   N)r-   r   r   )rA   rE   rF   rY   r[   s        r   Ú_deletezAction._delete²   sg   € ð ˜ÐÐØˆFàÔ+ˆå!Õ"2°D¸´KÑ@Ô@ÐàÐ1Ð1Ð1ØˆFà˜|Ð,à!ð 	Ø�U���ð	ð 	r   )r   N)r7   r$   r8   r1   r   N)r   r    r!   r.   r5   ÚclassmethodrD   r&   r`   rb   Ú__classcell__©r6   s   @r   r1   r1   6   sÞ   ø€ € € € € ØVÐVð1ð 1ð 1ð 1ð 1ð 1ð ð.ð .ð .ñ „[ð.ð2 ðU8˜|ð U8°kð U8È8ð U8ÐX\ð U8ð U8ð U8ñ „[ðU8ðn ð˜<ð °+ð À$ð ð ð ñ „[ðð ð ð ð r   r1   c                   ó,   ‡ — e Zd ZdZdeddfˆ fd„Zˆ xZS )Ú
JavaScriptaB  
    Upon invocation of an ECMAScript action, a PDF processor shall execute a
    script that is written in the ECMAScript programming language. ECMAScript
    extensions described in ISO/DIS 21757-1 shall also be allowed.

    Args:
        java_script: A text string containing the ECMAScript script to be executed.
    Újava_scriptr   Nc                 óÄ   •— t          ¦   «                              ¦   «          t          d¦  «        | t          d¦  «        <   t          |¦  «        | t          d¦  «        <   dS )z$Initialize JavaScript with a string.r:   z/Sz/JSN)r4   r5   r   r   )r   rh   r6   s     €r   r5   zJavaScript.__init__Õ   sS   ø€ å‰Œ×ÒÑÔÐÝ!+¨MÑ!:Ô!:ˆ�Z˜ÑÔÑÝ"2°;Ñ"?Ô"?ˆ�Z˜ÑÔÑÐÐr   )r   r    r!   r.   r   r5   rd   re   s   @r   rg   rg   Ë   sa   ø€ € € € € ðð ð@ Cð @¨Dð @ð @ð @ð @ð @ð @ð @ð @ð @ð @r   rg   )#r.   Úsysr>   Úabcr   Úenumr   r   Útypingr   r   Ú_utilsr	   Ú	constantsr
   Úerrorsr   Úgenericr   r   r   r   r   r   r   Úversion_infor   r   Ú_pager#   Ú_writerr$   r&   r1   rg   r"   r   r   ú<module>ru      s*  ðØ Ð Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð
 $Ð #Ð #Ð #Ð #Ð #Ø )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ô�wÒÐØÐÐÐÐÐÐð#ð #ð #ð #ð #�#�tñ #ô #ð #ð ð $Ø"Ð"Ð"Ð"Ð"Ð"Ø#Ð#Ð#Ð#Ð#Ð#ð ðð ð ð ð �'ñ ô ñ „ðð"Rð Rð Rð Rð RÐ˜sñ Rô Rð Rðj@ð @ð @ð @ð @�ñ @ô @ð @ð @ð @r   