
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
^                 @   s<   d dl mZ ddlmZ eeZdd ZG dd deZdS )	    )defaultdict   )Wrapperc             C   s>   yt | j |  S  tk
r8   t| }|t | j | < |S X dS )z
    Wrap type attributes from the specified policy.

    This caches results to prevent duplicate wrapper
    objects in memory.
    N)_cond_cacheZpolicyKeyErrorConditionalWrapper)conda r
   #/usr/lib64/python3.6/conditional.pyconditional_wrapper_factory   s    r   c               @   s4   e Zd ZdZdZdd Zdd Zdd Zd	d
 ZdS )r   zHWrap conditional policy expressions to allow comparisons by truth table.truth_tablec             C   s   || _ |j | _d S )N)originr   )selfr   r
   r
   r   __init__1   s    zConditionalWrapper.__init__c             C   s
   t | jS )N)hashr   )r   r
   r
   r   __hash__5   s    zConditionalWrapper.__hash__c             C   s   | j |j kS )N)r   )r   otherr
   r
   r   __eq__8   s    zConditionalWrapper.__eq__c             C   s   t | jt |k S )N)strr   )r   r   r
   r
   r   __lt__;   s    zConditionalWrapper.__lt__N)	__name__
__module____qualname____doc__	__slots__r   r   r   r   r
   r
   r
   r   r   +   s   r   N)collectionsr   
differencer   dictr   r   r   r
   r
   r
   r   <module>   s   