
    Vg,                     l    d dl Z d dlmZmZ ddlmZmZ ej                   ed      z
  Z G d de      Zy)    N)datetime	timedelta   )BaseProviderElementsTypeg      ?c                   T   e Zd ZU dZdZee   ed<   dZee   ed<   dZ	ee   ed<   dZ
ee   ed	<   d
Zee   ed<   dZee   ed<   dZee   ed<   defdZdefdZdefdZ	 	 	 	 d#dededededef
dZdefdZdefdZdefdZdefdZdefdZdefdZdefdZdefd Zdefd!Zy")$Providerz0Implement default user agent provider for Faker.)chromefirefoxinternet_exploreroperasafariuser_agents)z
Windows 95z
Windows 98zWindows 98; Win 9x 4.90z
Windows CEzWindows NT 4.0zWindows NT 5.0zWindows NT 5.01zWindows NT 5.1zWindows NT 5.2zWindows NT 6.0zWindows NT 6.1zWindows NT 6.2zWindows NT 10.0windows_platform_tokens)i686x86_64linux_processors)IntelPPCzU; IntelzU; PPCmac_processors)>z1.0z1.1z1.5z1.6z2.0z2.0.1z2.1z2.2z2.2.1z2.2.2z2.2.3z2.3z2.3.1z2.3.2z2.3.3z2.3.4z2.3.5z2.3.6z2.3.7z3.0z3.1z3.2z3.2.1z3.2.2z3.2.3z3.2.4z3.2.5z3.2.6z4.0z4.0.1z4.0.2z4.0.3z4.0.4z4.1z4.1.1z4.1.2z4.24.2.1z4.2.2z4.3z4.3.1z4.4z4.4.1z4.4.2z4.4.3z4.4.4z5.0z5.0.1z5.0.2z5.15.1.1z6.0z6.0.1z7.0z7.1z7.1.17.1.2z8.0.0z8.1.091011android_versions)iPhoneiPadapple_devices)z3.1.3r   r   z6.1.6r   z9.3.5z9.3.6z10.3.3z10.3.4z12.4.8z14.2z14.2.1ios_versionsreturnc                 8    | j                  | j                        S )z<Generate a MacOS processor token used in user agent strings.)random_elementr   selfs    d/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/faker/providers/user_agent/__init__.pymac_processorzProvider.mac_processor{   s    ""4#6#677    c                 8    | j                  | j                        S )z<Generate a Linux processor token used in user agent strings.r$   r   r%   s    r'   linux_processorzProvider.linux_processor   s    ""4#8#899r)   c                 Z    | j                  | j                        } t        | |             S )z0Generate a random web browser user agent string.)r$   r   getattr)r&   names     r'   
user_agentzProvider.user_agent   s*    ''(8(89"wtT"$$r)   version_from
version_to
build_frombuild_toc                 t   | j                   j                  j                  dd       d| j                   j                  j                  dd       }| j                  | j	                  d      t
        j                        }d}d}|j                  | j                         || j                   j                  j                  ||      | j                   j                  j                  ||      |      |j                  | j                         || j                   j                  j                  ||      | j                   j                  j                  ||      |      |j                  | j                         || j                   j                  j                  ||      | j                   j                  j                  ||      |      |j                  d	j                  | j                               || j                   j                  j                  ||      | j                   j                  j                  ||      |      |j                  | j                         || j                   j                  j                  ||      | j                   j                  j                  ||      |      f}	d
| j                  |	      z   S )z0Generate a Chrome web browser user agent string.    .r   r   ##?###zG({0}) AppleWebKit/{1} (KHTML, like Gecko) Chrome/{2}.0.{3}.0 Safari/{4}zQ({0}) AppleWebKit/{1} (KHTML, like Gecko) CriOS/{2}.0.{3}.0 Mobile/{4} Safari/{1}z	Linux; {}Mozilla/5.0 )	generatorrandomrandintlexifynumerifystringascii_uppercaseformatlinux_platform_tokenwindows_platform_tokenmac_platform_tokenandroid_platform_tokenios_platform_tokenr$   )
r&   r1   r2   r3   r4   safbldtmplt	tmplt_ios	platformss
             r'   r
   zProvider.chrome   s>    nn++33C=>a@U@U@]@]^_ab@c?de;;t}}X68N8NOao	LL))+%%--lJG%%--j(C LL++-%%--lJG%%--j(C LL'')%%--lJG%%--j(C LL""4#>#>#@A%%--lJG%%--j(C '')%%--lJG%%--j(C;$(
	L  3 3I >>>r)   c                 2   d| j                   j                  t        ddd      t               d| j                   j                  j                  dd       dd| j                   j                  t        ddd      t               d	| j                   j                  j                  dd
       d| j                   j                  t        ddd      t               df}d}d}d}d}d}dj                  | j                   j                  j                  dd      | j                   j                  j                  dd            }| j                  | j                  d      t        j                        }| j                  | j                  d      t        j                        }	|j                  | j                         | j                   j                         j                  dd      | j                   j                  j                  dd      | j                   j                  j                  |            |j                  | j!                         | j                   j                  j                  dd      | j                   j                  j                  |            |j                  | j#                         | j                   j                  j                  dd      | j                   j                  j                  |            |j                  | j%                         | j                   j                  j                  dd            |j                  | j'                         || j                   j                  j                  dd      |	|      f}
d| j)                  |
      z   S ) z9Generate a Mozilla Firefox web browser user agent string.zGecko/i     z	 Firefox/      z.0i  z Firefox/3.6.   z Firefox/3.8z({0}; {1}; rv:1.9.{2}.20) {3}z({0}; rv:1.9.{1}.20) {2}z1({0}; Mobile; rv:{1}.0) Gecko/{1}.0 Firefox/{1}.0zO({0}) AppleWebKit/{1} (KHTML, like Gecko) FxiOS/{2}.{3}.0 Mobile/{4} Safari/{1}z{}.{}r6   r7   r   r   r9   z#?####_-         D   	      r:   )r;   date_time_betweenr   _DT_ALMOST_MAXr<   r=   rB   r>   r?   r@   rA   ascii_lowercaserD   localereplacechoicerC   rE   rF   rG   r$   )r&   ver	tmplt_win	tmplt_lin	tmplt_mac	tmplt_andrK   rH   rI   bld2rL   s              r'   r   zProvider.firefox   s    99(4A:NP^_` a>>0088B?@D 99(4A:NP^_` a#~~44<<QCDF T^^55htQ6JN[\\hi
"
 9	3	3	L	j	>>$.."7"7"?"?S"I4>>K`K`KhKhijlmKno;;t}}X68N8NOKKh 79O9OP++-%%'//S9%%--a3%%,,S1	 ))+%%--a3%%,,S1
 '')%%--a3%%,,S1
 T88:DNN<Q<Q<Y<YZ[]_<`a'')%%--a4%(
	6  3 3I >>>r)   c                    | j                   j                  j                  dd       d| j                   j                  j                  dd       d| j                   j                  j                  dd       }| j                   j                  j                  d      sO| j                   j                  j                  dd       d| j                   j                  j                  d	d       nN| j                   j                  j                  dd       d
| j                   j                  j                  dd       }d}d}d}| j                   j	                         j                  dd      }|j                  | j                         |||      |j                  | j                         | j                   j                  j                  dd      ||||      |j                  | j                   j                  j                  dd      | j                   j                  j                  d	d      ||| j                   j                  j                  dd      | j                   j                  j                  dd      |      f}d| j                  |      z   S )z0Generate a Safari web browser user agent string.r6   i  r8   rN   2   rU   rO   rT   r   z.0.zL(Windows; U; {0}) AppleWebKit/{1} (KHTML, like Gecko) Version/{2} Safari/{3}zN({0} rv:{1}.0; {2}) AppleWebKit/{3} (KHTML, like Gecko) Version/{4} Safari/{5}z(iPod; U; CPU iPhone OS {0}_{1} like Mac OS X; {2}) AppleWebKit/{3} (KHTML, like Gecko) Version/{4}.0.5 Mobile/8B{5} Safari/6{6}rR   rS   r   rV      o   w   r:   )
r;   r<   r=   getrandbitsr]   r^   rB   rD   rE   r$   )r&   rH   r`   ra   rc   
tmplt_ipodr]   rL   s           r'   r   zProvider.safari   s?    ~~$$,,S#67q~~$$,,Q34A~~$$,,Q235 	 >>((44Q7 ~~$$,,Q231T^^5J5J5R5RSTVW5X4YZNN))11!Q78DNN<Q<Q<Y<YZ[]^<_;`a 	 k	l	( 	
 nn++-55c3?T88:CcJ'')%%--a3 %%--a3%%--a3%%--a3%%--c37(
	*  3 3I >>>r)   c                 4   | j                   j                  j                  d      r| j                         n| j	                         }| j                   j                         j                  dd      }d| d| d| j                   j                  j                  dd       d	| j                   j                  j                  d
d       d	}d| j                   j                  j                  dd       d| j                   j                  j                  d
d       d| S )z0Generate an Opera web browser user agent string.rN   rR   rS   (z; z) Presto/2.9.      z	 Version/
      z.00zOpera/   rX   r8   c   )r;   r<   rk   rC   rD   r]   r^   r=   )r&   tokenr]   platforms       r'   r   zProvider.opera  s    ,0>>+@+@+L+LQ+OD%%'UYUpUpUr 	 nn++-55c3?wbdnn.C.C.K.KCQT.U-V W~~,,44R<=SB 	 --55a;<Adnn>S>S>[>[\^`b>c=ddefneoppr)   c                    d| j                   j                  j                  dd       d| j                          d| j                   j                  j                  dd       d| j                   j                  j                  dd	       d
	S )z-Generate an IE web browser user agent string.zMozilla/5.0 (compatible; MSIE rT   rX   z.0; z
; Trident/rh   r8   r   rN   ))r;   r<   r=   rD   r%   s    r'   r   zProvider.internet_explorer'  s     -T^^-B-B-J-J1a-P,QQU**,- .~~,,44Q:;1T^^=R=R=Z=Z[\^_=`<aabd	
r)   c                 8    | j                  | j                        S )z=Generate a Windows platform token used in user agent strings.)r$   r   r%   s    r'   rD   zProvider.windows_platform_token/  s    ""4#?#?@@r)   c                 >    d| j                  | j                         S )z;Generate a Linux platform token used in user agent strings.zX11; Linux r+   r%   s    r'   rC   zProvider.linux_platform_token3  s!    T001F1FGHIIr)   c           	          d| j                  | j                         d| j                  j                  j	                  dd       d| j                  j                  j	                  dd       S )z;Generate a MacOS platform token used in user agent strings.zMacintosh; z Mac OS X 10_rT   rr   rR   r   rX   )r$   r   r;   r<   r=   r%   s    r'   rE   zProvider.mac_platform_token7  sg     $--d.A.ABC=~~$$,,Q34Adnn6K6K6S6STUWX6Y5Z\	
r)   c                 >    d| j                  | j                         S )z>Generate an Android platform token used in user agent strings.zAndroid )r$   r   r%   s    r'   rF   zProvider.android_platform_token>  s!    $--d.C.CDEFFr)   c                     | j                  | j                        }| j                  | j                        }| d| d|j                  dd       dS )z:Generate an iOS platform token used in user agent strings.z; CPU z OS r8   rR   z like Mac OS X)r$   r    r!   r^   )r&   apple_deviceios_versions      r'   rG   zProvider.ios_platform_tokenB  sX     //0B0BC..t/@/@Avl^8K<O<OPSUX<Y;ZZhiir)   N)   ?   i   i  )__name__
__module____qualname____doc__r   r   str__annotations__r   r   r   r   r    r!   r(   r,   r0   intr
   r   r   r   r   rD   rC   rE   rF   rG    r)   r'   r	   r	   
   sf   :&Kc" 2\#.   +=l3'<(NNL%N?+l3' ?B (:M<$9'L,s# 8s 8: :%C % 2?2? 2? 	2?
 2? 
2?h0? 0?d+? +?Z
qs 
q
3 
A AJc J
C 
G GjC jr)   r	   )	r@   r   r    r   r   maxr[   r	   r   r)   r'   <module>r      s0     ( )	#.|j| |jr)   