
    Ng                    V    d dl mZ d dlmZ d dlmZmZ ddZddZddZddZ	ddZ
dS )    )annotations)array)HashableSequencesSequence[Hashable]returnc                $   t          | t                    rd | D             S t          | t                    r| S t          | t                    r| j        dk    rd | D             S | S | | S g }| D ]}t          |t                    r6t          |          dk    r#|                    t          |                     Mt          |t                    r|dk    r|                    d           ~|                    t          |                     |S )Nc                ,    g | ]}t          |          S  ord.0xs     P/var/www/html/ai-engine/env/lib/python3.11/site-packages/rapidfuzz/_common_py.py
<listcomp>z!conv_sequence.<locals>.<listcomp>   s    """1A"""    uc                ,    g | ]}t          |          S r   r   r   s     r   r   z!conv_sequence.<locals>.<listcomp>   s    &&&qCFF&&&r      )

isinstancestrbytesr   typecodelenappendr   inthash)r   reselems      r   conv_sequencer#   
   s   !S #""""""!U !U :&&A&&&&y
C # #dC   	#SYY!^^JJs4yy!!!!c"" 	#trzzJJrNNNNJJtDzz""""Jr   s1s2-tuple[Sequence[Hashable], Sequence[Hashable]]c                    t          | t                    rt          |t                    r| |fS t          | t                    rt          |t                    r| |fS t          |           t          |          fS N)r   r   r   r#   )r$   r%   s     r   conv_sequencesr)   &   su    "c z"c22 2v"e B!6!6 2vmB////r   r   c                P    d}t          | |          D ]\  }}||k    r n|dz  }|S Nr   r   )zip)r$   r%   
prefix_lench1ch2s        r   common_prefixr0   0   sA    JBKK  S#::Ea

r   c                    d}t          t          |           t          |                    D ]\  }}||k    r n|dz  }|S r+   )r,   reversed)r$   r%   
suffix_lenr.   r/   s        r   common_suffixr4   ;   sO    Jhrll33  S#::Ea

r   tuple[int, int]c                j    t          | |          }t          | |d          ||d                    }||fS r(   )r0   r4   )r$   r%   r-   r3   s       r   common_affixr7   F   s;    r2&&Jr*++:;;@@J
##r   N)r   r   r	   r   )r$   r   r%   r   r	   r&   )r$   r   r%   r   r	   r   )r$   r   r%   r   r	   r5   )
__future__r   r   typingr   r   r#   r)   r0   r4   r7   r   r   r   <module>r:      s    # " " " " "       % % % % % % % %   80 0 0 0      $ $ $ $ $ $r   