
    ]hc                        d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ e G d d	             Ze G d
 d             Ze G d d             Z	 	 d	 	 	 	 	 	 	 ddZ	 	 	 	 ddZy)    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)pagec                  V    e Zd ZU ded<   ded<   ded<   ded<   ded<   d Zed        Zy	)

CreditCardstrnumbernameexpiry_monthexpiry_yearcvcc                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  |d<   |S )Nr   r   expiryMonth
expiryYearr   )dictr   r   r   r   r   selfjsons     |/home/totalfocus.sw7ft.com/public_html/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v117/autofill.pyto_jsonzCreditCard.to_json!   sU    vXyyV"//]!--\hhU    c           
          | t        |d         t        |d         t        |d         t        |d         t        |d               S )Nr   r   r   r   r   )r   r   r   r   r   r   clsr   s     r   	from_jsonzCreditCard.from_json*   sM    tH~&T&\"T-01D./DK 
 	
r   N__name__
__module____qualname____annotations__r   classmethodr     r   r   r   r      s@     K I   
H 
 
r   r   c                  8    e Zd ZU ded<   ded<   d Zed        Zy)AddressFieldr   r   valuec                V    t               }| j                  |d<   | j                  |d<   |S )Nr   r*   )r   r   r*   r   s     r   r   zAddressField.to_json=   s(    vyyV

Wr   c                F     | t        |d         t        |d               S )Nr   r*   )r   r*   r   r   s     r   r    zAddressField.from_jsonC   s'    T&\"d7m$
 	
r   Nr!   r'   r   r   r)   r)   5   s)     I J 
 
r   r)   c                  .    e Zd ZU ded<   d Zed        Zy)Addressztyping.List[AddressField]fieldsc                z    t               }| j                  D cg c]  }|j                          c}|d<   |S c c}w )Nr/   )r   r/   r   )r   r   is      r   r   zAddress.to_jsonP   s1    v/3{{;!!))+;X <s   8c                f     | |d   D cg c]  }t         j                  |       c}      S c c}w )Nr/   )r/   )r)   r    )r   r   r1   s      r   r    zAddress.from_jsonU   s/    7;H~F!L**1-F
 	
Fs   .Nr!   r'   r   r   r.   r.   K   s#     &%
 
 
r   r.   c              #     K   t               }| j                         |d<   ||j                         |d<   |j                         |d<   d|d}|}yw)a  
    Trigger autofill on a form identified by the fieldId.
    If the field and related form cannot be autofilled, returns an error.

    :param field_id: Identifies a field that serves as an anchor for autofill.
    :param frame_id: *(Optional)* Identifies the frame that field belongs to.
    :param card: Credit card information to fill out the form. Credit card data is not saved.
    fieldIdNframeIdcardzAutofill.triggermethodparamsr   r   )field_idframe_idr6   r9   cmd_dictr   s         r   triggerr>   \   s`      &F ((*F9$,,.y\\^F6N$H >Ds   AAc              #  ~   K   t               }| D cg c]  }|j                          c}|d<   d|d}|}yc c}w w)zh
    Set addresses so that developers can verify their forms implementation.

    :param addresses:
    	addresseszAutofill.setAddressesr7   Nr:   )r@   r9   r1   r=   r   s        r   set_addressesrA   u   sE      &F09:1199;:F;)H >D ;s   =8=)NN)r;   zdom.BackendNodeIdr<   ztyping.Optional[page.FrameId]r6   r   return0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])r@   ztyping.List[Address]rB   rC   )
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r   r)   r.   r>   rA   r'   r   r   <module>rJ      s    # * !     !
 !
 !
H 
 
 
* 
 
 
$ 37#/  
8	2'	7r   