§
    °õi²$  ã                   óz   — d Z ddlZ G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d	„ d
¦  «        ZdS )zThe Proxy implementation.é    Nc                   ó(   — e Zd ZdZed„ ¦   «         ZdS )ÚProxyTypeFactoryzFactory for proxy types.c                 ó   — | |dœS )N©Úff_valueÚstring© r   s     úk/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/selenium/webdriver/common/proxy.pyÚmakezProxyTypeFactory.make   s   € à$°Ð7Ð7Ð7ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústaticmethodr   r	   r   r
   r   r      s3   € € € € € Ø"Ð"àð8ð 8ñ „\ð8ð 8ð 8r   r   c                   ó\  — e Zd ZdZe                     dd¦  «        Ze                     dd¦  «        Ze                     dd¦  «        Ze                     dd	¦  «        Z	e                     d
d¦  «        Z
e                     dd¦  «        Ze                     dd¦  «        Zed„ ¦   «         ZdS )Ú	ProxyTypez Set of possible types of proxy.

    Each proxy type has 2 properties: 'ff_value' is value of Firefox
    profile preference, 'string' is id of proxy type.
    r   ÚDIRECTé   ÚMANUALé   ÚPACé   Ú	RESERVED1é   Ú
AUTODETECTé   ÚSYSTEMé   ÚUNSPECIFIEDc                 ó@  — t          |t          ¦  «        rd|v r|d         }t          |¦  «                             ¦   «         }t	          | ¦  «        D ];}t          | |¦  «        }t          |t          ¦  «        rd|v r|d         |k    r|c S Œ<t          d|› �¦  «        ‚)Nr   zNo proxy type is found for )Ú
isinstanceÚdictÚstrÚupperÚdirÚgetattrÚ	Exception)ÚclsÚvalueÚattrÚ
attr_values       r
   ÚloadzProxyType.load.   s³   € å�e�TÑ"Ô"ð 	$ x°5Ð'8Ð'8Ø˜(”OˆEÝ�E‘
”
× Ò Ñ"Ô"ˆÝ˜‘H”Hð 	"ð 	"ˆDÝ   dÑ+Ô+ˆJÝ˜*¥dÑ+Ô+ð "°¸JÐ0FÐ0FÈ:ÐV^ÔK_ÐchÒKhÐKhØ!Ð!Ð!Ð!øÝÐ=°eÐ=Ð=Ñ>Ô>Ð>r   N)r   r   r   r   r   r   r   r   r   Ú
RESERVED_1r   r   r    Úclassmethodr-   r	   r   r
   r   r      sÌ   € € € € € ðð ð ×"Ò" 1 hÑ/Ô/€FØ×"Ò" 1 hÑ/Ô/€FØ
×
Ò
  5Ñ
)Ô
)€CØ!×&Ò& q¨+Ñ6Ô6€JØ!×&Ò& q¨,Ñ7Ô7€JØ×"Ò" 1 hÑ/Ô/€FØ"×'Ò'¨¨=Ñ9Ô9€Kàð?ð ?ñ „[ð?ð ?ð ?r   r   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )Ú_ProxyTypeDescriptorc                 ó"   — || _         || _        d S ©N)ÚnameÚp_type)Úselfr4   r5   s      r
   Ú__init__z_ProxyTypeDescriptor.__init__;   s   € ØˆŒ	ØˆŒˆˆr   c                 ó,   — t          || j        ¦  «        S r3   )r'   r4   )r6   Úobjr)   s      r
   Ú__get__z_ProxyTypeDescriptor.__get__?   s   € Ý�s˜DœIÑ&Ô&Ð&r   c                 óF  — | j         dk    r$t          |t          ¦  «        st          d¦  «        ‚| j         dk    rt	          j        dt          d¬¦  «          t          |d¦  «        | j        ¦  «         t          |d| j        ¦  «         t          || j         |¦  «         d S )	NÚ
autodetectz,Autodetect proxy value needs to be a booleanÚftpProxyú8ftpProxy is deprecated and will be removed in the futurer   ©Ú
stacklevelÚ _verify_proxy_type_compatibilityÚ	proxyType)
r4   r"   ÚboolÚ
ValueErrorÚwarningsÚwarnÚDeprecationWarningr'   r5   Úsetattr)r6   r9   r*   s      r
   Ú__set__z_ProxyTypeDescriptor.__set__B   s«   € ØŒ9˜Ò$Ð$­Z¸½tÑ-DÔ-DÐ$ÝÐKÑLÔLÐLØŒ9˜
Ò"Ð"õ ŒMØJÝ"Øðñ ô ð ð
 	9��Ð7Ñ8Ô8¸¼ÑEÔEÐEÝ��[ $¤+Ñ.Ô.Ð.Ý��T”Y Ñ&Ô&Ð&Ð&Ð&r   N)r   r   r   r7   r:   rI   r	   r   r
   r1   r1   :   sA   € € € € € ðð ð ð'ð 'ð 'ð'ð 'ð 'ð 'ð 'r   r1   c                   ó  — e Zd ZdZej        ZdZdZdZ	dZ
dZdZdZdZdZdZ edej        ¦  «        Z	  edej        ¦  «        Z	  edej        ¦  «        Z	  edej        ¦  «        Z	  ed	ej        ¦  «        Z	  ed
ej        ¦  «        Z	  edej        ¦  «        Z	  edej        ¦  «        Z	  edej        ¦  «        Z	  edej        ¦  «        Z	 dd„Ze d„ ¦   «         Z!e!j"        dd„¦   «         Z!d„ Z#d„ Z$de%fd„Z&dS )ÚProxyzMProxy contains information about proxy type and necessary proxy
    settings.FÚ Nr<   r=   Ú	httpProxyÚnoProxyÚproxyAutoconfigUrlÚsslProxyÚ
socksProxyÚsocksUsernameÚsocksPasswordÚsocksVersionc                 ó¦  — |�rId|v r-|d         r%t                                |d         ¦  «        | _        d|v r1|d         r)t          j        dt
          d¬¦  «         |d         | _        d|v r|d         r|d         | _        d|v r|d         r|d         | _        d|v r|d         r|d         | _	        d	|v r|d	         r|d	         | _
        d
|v r|d
         r|d
         | _        d|v r|d         r|d         | _        d|v r|d         r|d         | _        d|v r|d         r|d         | _        d|v r|d         r|d         | _        dS dS dS dS )zuCreates a new Proxy.

        Args:
            raw: Raw proxy data. If None, default class values are used.
        rB   r=   r>   r   r?   rM   rN   rO   rP   r<   rQ   rR   rS   rT   N)r   r-   Ú
proxy_typerE   rF   rG   Ú	ftp_proxyÚ
http_proxyÚno_proxyÚproxy_autoconfig_urlrP   Úauto_detectÚsocks_proxyÚsocks_usernameÚsocks_passwordÚsocks_version)r6   Úraws     r
   r7   zProxy.__init__‚   sÉ  € ð ñ 	9Ø˜cÐ!Ð! c¨+Ô&6Ð!Ý"+§.¢.°°[Ô1AÑ"BÔ"B�”ð ˜SÐ Ð  S¨¤_Ð Ý”ØNÝ&Ø ðñ ô ð ð
 "% Z¤�”Ø˜cÐ!Ð! c¨+Ô&6Ð!Ø"% kÔ"2�”Ø˜CÐÐ C¨	¤NÐØ # I¤�”Ø# sÐ*Ð*¨sÐ3GÔ/HÐ*Ø,/Ð0DÔ,E�Ô)Ø˜SÐ Ð  S¨¤_Ð Ø # J¤�”Ø˜sÐ"Ð" s¨<Ô'8Ð"Ø#& |Ô#4�Ô Ø˜sÐ"Ð" s¨<Ô'8Ð"Ø#& |Ô#4�Ô Ø #Ð%Ð%¨#¨oÔ*>Ð%Ø&)¨/Ô&:�Ô#Ø #Ð%Ð%¨#¨oÔ*>Ð%Ø&)¨/Ô&:�Ô#Ø Ð$Ð$¨¨^Ô)<Ð$Ø%(¨Ô%8�Ô"Ð"Ð"ð;	9ð 	9ð8 %Ð$Ð$Ð$r   c                 ó   — | j         S )z"Returns proxy type as `ProxyType`.)rB   )r6   s    r
   rV   zProxy.proxy_type§   s   € ð Œ~Ðr   Úreturnc                 ó>   — |                       |¦  «         || _        dS )zKSets proxy type.

        Args:
            value: The proxy type.
        N)rA   rB   )r6   r*   s     r
   rV   zProxy.proxy_type¬   s#   € ð 	×-Ò-¨eÑ4Ô4Ð4ØˆŒˆˆr   c                 óf   — | j         t          j        |fvrt          d|› d| j         › d�¦  «        ‚d S )NzSpecified proxy type (z') not compatible with current setting (ú))rB   r   r    rD   )r6   Úcompatible_proxys     r
   rA   z&Proxy._verify_proxy_type_compatibility¶   sN   € ØŒ>¥)Ô"7Ð9IÐ!JÐJÐJÝØsÐ)9ÐsÐsÐbfÔbpÐsÐsÐsñô ð ð KÐJr   c                 óˆ   — d| j         d                              ¦   «         i}g d¢}|D ]}t          | |¦  «        }|r|||<   Œ|S )NrB   r   )
r<   r=   rM   rO   rP   rN   rQ   rR   rS   rT   )rB   Úlowerr'   )r6   Ú
proxy_capsÚproxiesÚproxyr,   s        r
   Úto_capabilitieszProxy.to_capabilities¼   si   € Ø! 4¤>°(Ô#;×#AÒ#AÑ#CÔ#CÐDˆ
ð
ð 
ð 
ˆð ð 	/ð 	/ˆEÝ   uÑ-Ô-ˆJØð /Ø$.�
˜5Ñ!øØÐr   c                 ód  — | j         d                              ¦   «         }d|i}|dk    rï| j        r
| j        |d<   | j        r
| j        |d<   | j        r
| j        |d<   | j        �
| j        |d<   | j        r£t          | j        t          ¦  «        r(d	„ | j         	                    d
¦  «        D ¦   «         |d<   nyt          | j        t          ¦  «        r8t          d„ | j        D ¦   «         ¦  «        st          d¦  «        ‚| j        |d<   n't          d¦  «        ‚n|dk    r| j        r
| j        |d<   |S )zqConvert proxy settings to BiDi format.

        Returns:
            Proxy configuration in BiDi format.
        r   rB   ÚmanualrM   rP   rQ   NrT   c                 ó^   — g | ]*}|                      ¦   «         ¯|                      ¦   «         ‘Œ+S r	   )Ústrip)Ú.0Úhosts     r
   ú
<listcomp>z&Proxy.to_bidi_dict.<locals>.<listcomp>æ   s2   € Ð(jÐ(jÐ(j¸$Ð]a×]gÒ]gÑ]iÔ]iÐ(j¨¯ª©¬Ð(jÐ(jÐ(jr   ú,rN   c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S r3   )r"   r$   )rq   Úhs     r
   ú	<genexpr>z%Proxy.to_bidi_dict.<locals>.<genexpr>è   s,   è è € ÐHÐH°a�z¨!­SÑ1Ô1ÐHÐHÐHÐHÐHÐHr   z'no_proxy list must contain only stringsz>no_proxy must be a comma-separated string or a list of stringsÚpacrO   )rB   rh   rM   rP   rQ   rT   rN   r"   r$   ÚsplitÚlistÚallÚ	TypeErrorrO   )r6   rV   Úresults      r
   Úto_bidi_dictzProxy.to_bidi_dictÑ   sk  € ð ”^ HÔ-×3Ò3Ñ5Ô5ˆ
Ø˜zÐ*ˆà˜Ò!Ð!ØŒ~ð 5Ø&*¤n��{Ñ#ØŒ}ð 3Ø%)¤]��zÑ"ØŒð 7Ø'+¤��|Ñ$ØÔ Ð,Ø)-Ô):��~Ñ&ØŒ|ð 	få˜dœl­CÑ0Ô0ð fØ(jÐ(jÀ$Ä,×BTÒBTÐUXÑBYÔBYÐ(jÑ(jÔ(j�F˜9Ñ%Ð%Ý ¤­dÑ3Ô3ð fÝÐHÐH¸4¼<ÐHÑHÔHÑHÔHð SÝ'Ð(QÑRÔRÐRØ(,¬�F˜9Ñ%Ð%å#Ð$dÑeÔeÐeð	fð ˜5Ò Ð ØÔ&ð GØ/3Ô/F�Ð+Ñ,àˆr   r3   )rb   N)'r   r   r   r   r   r    rB   r<   r=   rM   rN   rO   rP   rQ   rR   rS   rT   r1   r   r[   r   rW   rX   rY   r   rZ   Ú	ssl_proxyr\   r]   r^   r_   r7   ÚpropertyrV   ÚsetterrA   rl   r#   r~   r	   r   r
   rK   rK   R   sÝ  € € € € € ðð ð Ô%€IØ€JØ€HØ€IØ€GØÐØ€HØ€JØ€MØ€MØ€Lð 'Ð& |°YÔ5IÑJÔJ€KØ0ð %Ð$ Z°Ô1AÑBÔB€IØ)à%Ð% k°9Ô3CÑDÔD€JØà#Ð# I¨yÔ/?Ñ@Ô@€HØ$à/Ð/Ð0DÀiÄmÑTÔTÐØ&à$Ð$ Z°Ô1AÑBÔB€IØà&Ð& |°YÔ5EÑFÔF€KØà)Ð)¨/¸9Ô;KÑLÔL€NØà)Ð)¨/¸9Ô;KÑLÔL€NØà(Ð(¨¸Ô9IÑJÔJ€MØð#9ð #9ð #9ð #9ðJ ðð ñ „Xðð Ôðð ð ñ Ôððð ð ðð ð ð*!˜dð !ð !ð !ð !ð !ð !r   rK   )r   rE   r   r   r1   rK   r	   r   r
   ú<module>r‚      sÊ   ðð$  Ð à €€€ð8ð 8ð 8ð 8ð 8ñ 8ô 8ð 8ð?ð ?ð ?ð ?ð ?ñ ?ô ?ð ?ð6'ð 'ð 'ð 'ð 'ñ 'ô 'ð 'ð0`ð `ð `ð `ð `ñ `ô `ð `ð `ð `r   