o
    bhW
                     @   sr   d gZ ddlZddlmZ ddlZddlmZmZmZm	Z	m
Z
mZmZ ddlmZ G dd dZG d	d  d ZdS )
Resolver    N)List   )DeviceDomainMatcherMatchersOSPartialResult	UserAgent)fa_simplifierc                   @   s   e Zd ZdeddfddZdS )DummyFilter_returnNc                 C   s   d S )N )selfr   r   r   Y/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/ua_parser/re2.pyMatch   s   zDummyFilter.Match)__name__
__module____qualname__strr   r   r   r   r   r      s    r   c                   @   s   e Zd ZU ejed< eee  ed< ejed< eee	  ed< ejed< eee
  ed< dedd	fd
dZdededefddZd	S )r   uauser_agent_matchersosos_matchersdevicesdevice_matchersmatchersr   Nc                 C   s   |\| _ | _| _| j r%t | _| j D ]}| jt|j q| j	  nt
 | _| jrFt | _| jD ]}| jt|j q4| j	  nt
 | _| jrzt | _| jD ]}|jtj@ ri| jdt|j  qU| jt|j qU| j	  d S t
 | _d S )Nz(?i))r   r   r   re2Filterr   Addr   regexCompiler   r   r   flagsre
IGNORECASE)r   r   uodr   r   r   __init__!   s*   





zResolver.__init__domainsc                C   s   d  } }}t j|v r| j| }r| jt| |}t j|v r2| j| }r2| jt| |}t j	|v rH| j
| }rH| jt| |}t|||||dS )N)r+   string
user_agentr   device)r   
USER_AGENTr   r   r   minr	   r   r   DEVICEr   r   r
   )r   r   r+   r-   r   r.   matchesr   r   r   __call__E   s   



zResolver.__call__)r   r   r   r   r    __annotations__r   r   r   r	   r   r   r*   r   r   r
   r3   r   r   r   r   r      s   
 



$)__all__r%   typingr   r   corer   r   r   r   r	   r
   r   utilsr   r   r   r   r   r   r   <module>   s    $	