
    eii                     F    d dl mZ dedee   fdZdedefdZdedefdZy)	    )Listnumberreturnc                 P    t        |       D cg c]  }t        |       c}S c c}w )N)strint)r   digits     W/var/www/html/glpi_dashboard/venv/lib/python3.12/site-packages/faker/utils/checksums.py
_digits_ofr      s    $'K05CJ000s   #c                 ~    t        |       }|dd d   }|dd d   }t        |      t        d |D              z   }|dz  S )Nc              3   J   K   | ]  }t        t        |d z                yw)   N)sumr   ).0r	   s     r
   	<genexpr>z luhn_checksum.<locals>.<genexpr>   s     $YESEAI)>%?$Ys   !#
   )r   r   )r   digits
odd_digitseven_digitschecksums        r
   luhn_checksumr      sM    FBJR.K:$Y[$Y!YYHb=    partial_numberc                 H    t        t        |       dz        }|dk(  r|S d|z
  S )z7
    Generates the Checksum using Luhn's algorithm
    r   r   )r   r   )r   check_digits     r
   calculate_luhnr      s/      N 3b 89K%*;@[0@@r   N)typingr   floatr   r   r   r    r   r
   <module>r"      sH    1u 1c 1% C A5 AS Ar   