Ë
    Ã?Æiœ	  ã                  óZ   — d Z ddlmZ ddl­ ddlmZmZ  eg d¢«      Zd
d„Z	d
d„Z
dd„Zy	)uÚ  nÂ° d'accise (French number to identify taxpayers of excise taxes).

The nÂ° d'accise always start by FR0 following by the 2 ending digits of the
year, 3 number of customs office, one letter for the type and an ordering
number of 4 digits.

>>> validate('FR023004N9448')
'FR023004N9448'
>>> validate('FR0XX907E0820')
Traceback (most recent call last):
    ...
InvalidFormat: ...
>>> validate('FR012907A0820')
Traceback (most recent call last):
    ...
InvalidComponent: ...
é    )Úannotations)Ú*)ÚcleanÚisdigits)ÚEÚNÚCÚBc                óR   — t        | d«      j                  «       j                  «       S )zˆConvert the number to the minimal representation. This strips the number
    of any valid separators and removes surrounding whitespace.ú )r   ÚupperÚstrip©Únumbers    úW/var/www/html/myprovider/mon_projet_qr/lib/python3.12/site-packages/stdnum/fr/accise.pyÚcompactr   0   s#   € ô �˜Ó×#Ñ#Ó%×+Ñ+Ó-Ð-ó    c                ó.  — t        | «      } | dd }|dk7  r
t        «       ‚t        | «      dk7  r
t        «       ‚t	        | dd «      s
t        «       ‚t	        | dd «      s
t        «       ‚| d   t
        vr
t        «       ‚t	        | dd «      s
t        «       ‚| S )	zUCheck if the number is a valid accise number. This checks the length,
    formatting.Né   ÚFR0é   é   é   é	   é   )r   ÚInvalidFormatÚlenÚInvalidLengthr   Ú	OPERATORSÚInvalidComponent)r   Úcodes     r   Úvalidater"   6   s—   € ô �V‹_€FØ�"�1ˆ:€DØˆu‚}Ü‹oÐÜ
ˆ6ƒ{�bÒÜ‹oÐÜ�F˜1˜Q�KÔ Ü‹oÐÜ�F˜1˜Q�KÔ Ü‹oÐØˆa�yœ	Ñ!ÜÓ Ð Ü�F˜1˜R�LÔ!Ü‹oÐØ€Mr   c                óJ   — 	 t        t        | «      «      S # t        $ r Y yw xY w)z-Check if the number is a valid accise number.F)Úboolr"   ÚValidationErrorr   s    r   Úis_validr&   J   s)   € ðÜ”H˜VÓ$Ó%Ð%øÜò Ùðús   ‚ –	"¡"N)r   ÚstrÚreturnr'   )r   r'   r(   r$   )Ú__doc__Ú
__future__r   Ústdnum.exceptionsÚstdnum.utilr   r   Úsetr   r   r"   r&   © r   r   ú<module>r/      s1   ðñ*õ$ #ä ß 'ñ Ò$Ó%€	ó.óô(r   