
    Ng)                    h   U d dl mZ d dlmZmZ d dlmZmZ d dlmZ	 d dlm
Z d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ  d dlmZ! d dl"mZ# d dl"mZ$ d d	l"mZ% d d
l"mZ& d dl"mZ' d dl"mZ( d dl)mZ* d d	l)mZ+ d d
l)mZ, d dl)mZ- d dl.mZ/ d d	l.mZ0 d d
l.mZ1 d dl.mZ2 d dl3mZ4 d dl3mZ5 d d	l3mZ6 d d
l3mZ7 d dl3mZ8 d dl3mZ9 d dl:mZ; d dl:mZ< d d	l:mZ= d d
l:mZ> d dl:mZ? d dl:mZ@ d dlAmZB d d	lAmZC d d
lAmZD d dlAmZE d dlFmZG d d	lFmZH d d
lFmZI d dlFmZJ d dlKmZL d d	lKmZM d d
lKmZN d dlKmZO g ZP eeBe	            eeEe            eeCe            eeDe           ePg dz  ZP eeLe	            eeOe            eeMe            eeNe           ePg dz  ZP eeGe	            eeJe            eeHe            eeIe           ePg dz  ZP ee*e            ee-e            ee+e            ee,e           ePg dz  ZP ee/e            ee2e            ee0e            ee1e           ePg dz  ZP eee	            eee            eee            eee           ePg dz  ZPd(d)dZQd(d)dZR	 d(d)dZS	 d(d)dZTdeQiZUdeVd<   deRiZWdeVd <   deSiZXdeVd!<   deTiZYdeVd"<    ee;eU            ee@eW            ee=eX            ee>eY           ePg d#z  ZP ee4e	            ee9e            ee6e            ee7e           ePg d$z  ZP ee#e	            ee(e            ee%e            ee&e           ePg d%z  ZP eee	            ee!e            eee            eee           ePg d&z  ZPd'S )*    )annotations)AnyCallable)
ScorerFlagadd_scorer_attrs)default_distance_attribute)%default_normalized_distance_attribute)'default_normalized_similarity_attribute)default_similarity_attribute)distance)normalized_distance)normalized_similarity)
similarity)editops)opcodes)osa_distanceosa_normalized_distanceosa_normalized_similarityosa_similarity)prefix_distanceprefix_normalized_distanceprefix_normalized_similarityprefix_similarity)postfix_distancepostfix_normalized_distancepostfix_normalized_similaritypostfix_similarity)jaro_distancejaro_normalized_distancejaro_normalized_similarityjaro_similarity)jaro_winkler_distance jaro_winkler_normalized_distance"jaro_winkler_normalized_similarityjaro_winkler_similarity)damerau_levenshtein_distance'damerau_levenshtein_normalized_distance)damerau_levenshtein_normalized_similaritydamerau_levenshtein_similarity   r+   r+   weightstuple[int, int, int] | Nonereturndict[str, Any]c                l    t           j        }| | d         | d         k    r|t           j        z  }dd|dS Nr   r+   l    optimal_scoreworst_scoreflagsr   RESULT_SIZE_T	SYMMETRICr,   r5   s     Y/var/www/html/ai-engine/env/lib/python3.11/site-packages/rapidfuzz/distance/metrics_py.py&_get_scorer_flags_levenshtein_distancer;      sH    $E'!*
22%%        c                l    t           j        }| | d         | d         k    r|t           j        z  }dd|dS r1   r6   r9   s     r:   (_get_scorer_flags_levenshtein_similarityr>      sH    $E'!*
22%% #  r<   c                l    t           j        }| | d         | d         k    r|t           j        z  }dd|dS Nr   r+   r2   r   
RESULT_F64r8   r9   s     r:   1_get_scorer_flags_levenshtein_normalized_distancerC      @     !E'!*
22%%q5AAAr<   c                l    t           j        }| | d         | d         k    r|t           j        z  }dd|dS r@   rA   r9   s     r:   3_get_scorer_flags_levenshtein_normalized_similarityrF      rD   r<   get_scorer_flagsz(dict[str, Callable[..., dict[str, Any]]]levenshtein_dist_attrlevenshtein_sim_attrlevenshtein_norm_dist_attrlevenshtein_norm_sim_attr)levenshtein_distancelevenshtein_normalized_distance!levenshtein_normalized_similaritylevenshtein_similaritylevenshtein_editopslevenshtein_opcodes)lcs_seq_distancelcs_seq_normalized_distancelcs_seq_normalized_similaritylcs_seq_similaritylcs_seq_editopslcs_seq_opcodes)indel_distanceindel_normalized_distanceindel_normalized_similarityindel_similarityindel_editopsindel_opcodes)hamming_distancehamming_normalized_distancehamming_normalized_similarityhamming_similarityhamming_editopshamming_opcodesN)r*   )r,   r-   r.   r/   )Z
__future__r   typingr   r   rapidfuzz._utilsr   r   r   	dist_attrr	   norm_dist_attrr
   norm_sim_attrr   sim_attr(rapidfuzz.distance.DamerauLevenshtein_pyr   r&   r   r'   r   r(   r   r)   rapidfuzz.distance.Hamming_pyr^   r   rb   r_   r`   r   rc   ra   rapidfuzz.distance.Indel_pyrX   r\   rY   rZ   r]   r[   rapidfuzz.distance.Jaro_pyr   r   r    r!   !rapidfuzz.distance.JaroWinkler_pyr"   r#   r$   r%   rapidfuzz.distance.LCSseq_pyrR   rV   rS   rT   rW   rU   !rapidfuzz.distance.Levenshtein_pyrL   rP   rM   rN   rQ   rO   rapidfuzz.distance.OSA_pyr   r   r   r   rapidfuzz.distance.Postfix_pyr   r   r   r   rapidfuzz.distance.Prefix_pyr   r   r   r   __all__r;   r>   rC   rF   rH   __annotations__rI   rJ   rK    r<   r:   <module>rx      s=
   # " " " " " "                 9 9 9 9 9 9 9 9 D D D D D D T T T T T T U U U U U U E E E E E E                    
 G F F F F F D D D D D D           E D D D D D J J J J J J C B B B B B @ @ @ @ @ @ X X X X X X      A @ @ @ @ @ F F F F F F A @ @ @ @ @ V V V V V V      E D D D D D P O O O O O           T S S S S S F E E E E E C C C C C C           D C C C C C I I I I I I O N N N N N L L L L L L           M L L L L L R R R R R R ? > > > > > T T T T T T X X X X X X B B B B B B G F F F F F           K J J J J J E D D D D D           I H H H H H
  y ) ) )   * * *  (. 9 9 9  *M : : :       ) , , ,  "H - - -  +^ < < <  -} = = =       !9 - - -  #X . . .  ,n = = =  . > > >        / / /  - 0 0 0  )> : : :  +] ; ; ;       & 7 7 7  (- 8 8 8  1> B B B  3] C C C       -y 9 9 9  / : : :  8. I I I  :M J J J     	 	 	 	 		 	 	 	 	 ,5B B B B B ,5B B B B B >C      @B      IH      KG       %'< = = =  ')= > > >  02L M M M  24M N N N       !9 - - -  #X . . .  ,n = = =  . > > >        + + +  !8 , , ,  *N ; ; ;  ,m < < <       !9 - - -  #X . . .  ,n = = =  . > > >     r<   