a
q�qep � @ s� d dl Z d dlmZmZ d dlmZmZmZ ddlm Z m
Z
mZ G dd� d�Zede d �Z
G d
d� deee
�Zede
d �ZG d
d� dee �ZdS )� N)�ABC�abstractmethod)�Generic�Iterable�TypeVar� )�PolicyObject�PolicySymbol�
SELinuxPolicyc @ s� e Zd ZdZeedd�dd�Zedd� �Zejdd� �Zed d
� �Z e jdd
� �Z dd�d
d�Z
eeed�dd��Z
eddd��ZdS )�
Differencez&Base class for all policy differences.N)�left_policy�right_policy�returnc C s t �t�| _|| _|| _d S �N)�loggingZ getLogger�__name__�logr r
)�selfr r
� r �=/usr/lib64/python3.9/site-packages/setools/diff/difference.py�__init__ s zDifference.__init__c C s | j S r )�_left_policy�r r r r r s zDifference.left_policyc C s$ | j �d�|�� || _| �� d S )Nz"Policy diff left policy set to {0})r �info�formatr �_reset_diff�r Zpolicyr r r r s c C s | j S r )�
_right_policyr r r r r
# s zDifference.right_policyc C s$ | j �d�|�� || _| �� d S )Nz#Policy diff right policy set to {0})r r r r r r r r r r
'