3 Kl�f�! � @ sb d Z ddlZddlmZ ddlmZ ddlmZ G dd� dej�ZG d d � d �ZG dd� d�Z dS ) zI Classes and algorithms for matching requested access to access vectors. � N� )�access)�objectmodel)�utilc @ s e Zd Zddd�Zdd� ZdS )�MatchNr c C s || _ || _d| _d | _d S )NF)� interface�dist�info_dir_change�__hash__)�selfr r � r �/usr/lib/python3.6/matching.py�__init__ s zMatch.__init__c C s@ y"| j | jf}|j |jf}|||�S ttfk r: tS X d S )N)r r �AttributeError� TypeError�NotImplemented)r �other�method�a�br r r �_compare( s zMatch._compare)Nr )�__name__� __module__�__qualname__r r r r r r r s r c @ sH e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z dd� Z dS )� MatchList� c C s$ g | _ g | _| j| _d| _d | _d S )NF)�children�bastards�DEFAULT_THRESHOLD� threshold�allow_info_dir_change�av)r r r r r 3 s zMatchList.__init__c C s, t | j�r| jd S t | j�r(| jd S d S )Nr )�lenr r )r r r r �best<