
    ^j!                     T    d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ  G d d      Zy)    N)OrderedDictc                   $    e Zd Zd Zd Zd Zd Zy)
User_Agentc                 D    d | _         g | _         | j                  |i | y )N)headerscipherSuiteloadUserAgent)selfargskwargss      [/var/www/lego-monitor/venv/lib/python3.12/site-packages/cloudscraper/user_agent/__init__.py__init__zUser_Agent.__init__   s&    D+F+    c                 J   i }| j                   rD| j                  |d   v r3|d   | j                     r!|j                  |d   | j                            | j                  rD| j                  |d   v r3|d   | j                     r!|j                  |d   | j                            |S )Nmobiledesktop)r   platformupdater   )r
   user_agentsfiltereds      r   filterAgentszUser_Agent.filterAgents   s    ;;}}H 55+h:OPTP]P]:^H 5dmm DE<<}}I 66;y;QRVR_R_;`I 6t}} EFr   c           
      \   |d   D ]  }|d   |   D ]  }|d   |   |   D ]  }t        j                  t        j                  | j                        dj	                  |d   |   |   |               sR|d   |   | _        | j                  | j
                  d<   |d   |   | _           y   y)Nr    r   
User-Agentr   TF)researchescapecustomjoinr   r   )r
   r   device_typer   browsers        r   tryMatchCustomzUser_Agent.tryMatchCustom'   s    &}5 	$K'6{C $*=9+FxP $Gyy4;;!7+mB\]hBijrBst{B|9}~'29'=g'F59[[\2+6}+Eg+N(#$$	$ r   c                 0
   |j                  dd       | _        g d| _        ddg| _        t	        | j                  t
              r| j                  j                  dd       | _        | j                  j                  dd       | _        | j                  j                  dd      | _	        | j                  j                  d	d      | _
        | j                  j                  dd       | _        n\|j                  dd       | _        |j                  dd       | _        |j                  dd      | _	        |j                  d	d      | _
        | j                  s"| j                  sd
t        _        t        d      t        t        j                   j#                  t        j                   j%                  t&              d      d      5 }t)        j*                  |t,              }d d d        | j                  rL| j/                        sut0        j2                  ddg| _        t-        d| j                  fdddg      | _        n;| j                  rX| j                  | j                  vr@d
t        _        t        d| j                   ddj#                  | j                         d      | j                  s2t9        j:                         j=                  | j                        | _        | j                  | j                  vr@d
t        _        t        d| j                   ddj#                  | j                         d      | j?                  d         }| j                  sv|j                  | j                        s[t9        j:                         j=                  tA        |jC                                     | _        |j                  | j                        s[|| j                     s1d
t        _        t        d| j                   d| j                   d      |d   | j                     | _        |d    | j                     | _        t9        j:                         j=                  || j                           | j6                  d<   |j                  d!d"      s}d#| j6                  d$   v rkd%j#                  | j6                  d$   jE                  d%      D cg c]  }|jG                         d#k7  s| c}      jG                         | j6                  d$<   y y y # 1 sw Y   -xY wc c}w )&Nr!   )linuxwindowsdarwinandroidioschromefirefoxr   r   r   Tr   r   zBSorry you can't have mobile and desktop disabled at the same time.zbrowsers.jsonr)object_pairs_hookz!AES128-SHAz!ECDHE-RSA-AES256-SHAr   )AcceptzUtext/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8)zAccept-Languagezen-US,en;q=0.9)Accept-Encodingzgzip, deflate, brzSorry "z," browser is not valid, valid browsers are [z, z].zSorry the platform "z%" is not valid, valid platforms are []r   z," browser was not found with a platform of "z".r   r   allow_brotliFbrr.   ,)$popr!   	platformsbrowsers
isinstancedictgetr   r   r   r   systracebacklimitRuntimeErroropenospathr   dirname__file__jsonloadr   r"   ssl_DEFAULT_CIPHERSr   r   randomSystemRandomchoicer   listkeyssplitstrip)r
   r   r   fpr   filteredAgentsencodings          r   r	   zUser_Agent.loadUserAgent4   sA   zz)T2I!9-dllD),,**8T:DK LL,,Z>DM<<++It<DL,,**8T:DK<<++It<DL **Xt4DK"JJz48DM!::i6DL **Xt4DK||DKK!"Ccdd"'',,rwwx8/JCP 	TV))"-K	 ;;&&{3((!+$ 
  +!4;;/w9<	,   ||DMM A%&""WT\\N:fgkgpgpquq~q~g  gA  AC  $D  E  E== & 3 3 5 < <T^^ L}}DNN2%&""%9$--Hmnrnwnwx|  yG  yG  oH  nI  IJ  $K  L  L!..{=/IJN<<(,,T\\:#)#6#6#8#?#?^EXEXEZ@[#\DL ),,T\\: "$,,/%&""WT\\N:fgkgtgtfuuw#xyy*=9$,,GD&y1$,,?DL)/)<)<)>)E)EnUYUaUaFb)cDLL&zz.%0TT\\J[=\5\.1hh)-6G)H)N)Ns)S8%W_WeWeWgkoWo8 /uw LL*+ 6]0_	 	`8s   ?TTTTN)__name__
__module____qualname__r   r   r"   r	    r   r   r   r      s    ,	Hr   r   )	rA   r=   rE   r   r9   rC   collectionsr   r   rR   r   r   <module>rT      s&     	  	 
 
 #
o or   