
    e!hV                     2    d Z ddlmZ e G d d             Zy)zH
Activations represent rules that matches against a specific factlist.

    )total_orderingc                   0    e Zd ZdZddZd Zd Zd Zd Zy)	
Activationz
    Activation object
    Nc                 r    || _         t        |      | _        d | _        |t	               | _        y || _        y N)rulesetfactskeydictcontext)selfr   r
   r   s       Z/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/experta/activation.py__init__zActivation.__init__   s0    	Z
?6DL"DL    c                 d    dj                  | j                  | j                  | j                        S )Nz)Activation(rule={}, facts={}, context={}))formatr   r
   r   r   s    r   __repr__zActivation.__repr__   s(    :AAIItzz4<<1 	1r   c                     	 | j                   |j                   k(  xrO | j                  |j                  k(  xr4 | j                  |j                  k(  xr | j                  |j                  k(  S # t        $ r Y yw xY w)NF)r   r
   r   r   AttributeErrorr   others     r   __eq__zActivation.__eq__   sq    	LLEMM1 .

ekk1.		UZZ/. EII-/  		s   A)A, ,	A87A8c                 4    | j                   |j                   k  S r   )r   r   s     r   __lt__zActivation.__lt__#   s    xx%))##r   c                     t        | j                  t        | j                        t        | j                  j                               f      S r   )hashr   	frozensetr
   r   itemsr   s    r   __hash__zActivation.__hash__&   s;    TYYtzz*t||11346 7 	7r   r   )	__name__
__module____qualname____doc__r   r   r   r   r!    r   r   r   r      s     #1$7r   r   N)r%   	functoolsr   r   r&   r   r   <module>r(      s(    %  7  7  7r   