Ë
    îì�iû  ã                   ó<   — d dl Z d dlmZ d„ Zd„ Zdd„Zdd„Zdd„Zy)	é    N)Úversionc                 ó¤  — 	 |dk(  r+t        j                  | «      t        j                  |«      kD  S |dk(  r+t        j                  | «      t        j                  |«      k\  S |dk(  r+t        j                  | «      t        j                  |«      k(  S |dk(  r+t        j                  | «      t        j                  |«      k  S y# t        $ r Y yw xY w)a)  
    Check version string of an active module against a required version.

    If dev/prerelease tags result in TypeError for string-number comparison,
    it is assumed that the dependency is satisfied.
    Users on dev branches are responsible for keeping their own packages up to
    date.
    ú>ú>=ú=ú<FT)Ú_versionÚparseÚ	TypeError)Úactverr   Úcmp_ops      ú‰/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/lib/python3.12/site-packages/skimage/_shared/version_requirements.pyÚ_check_versionr      s¬   € ðØ�SŠ=Ü—>‘> &Ó)¬H¯N©N¸7Ó,CÑCÐCØ�tŠ^Ü—>‘> &Ó)¬X¯^©^¸GÓ-DÑDÐDØ�sŠ]Ü—>‘> &Ó)¬X¯^©^¸GÓ-DÑDÐDØ�sŠ]Ü—>‘> &Ó)¬H¯N©N¸7Ó,CÑCÐCàøÜò Ùðús"   ‚/C ²/C Á"/C Â/C Ã	CÃCc           	      ór   — t        | | j                  d«      d   g¬«      }t        |dt        |dd«      «      S )z<Return module version or None if version can't be retrieved.ú.éÿÿÿÿ©ÚfromlistÚ__version__ÚVERSIONN)Ú
__import__Ú
rpartitionÚgetattr)Úmodule_nameÚmods     r   Úget_module_versionr      s9   € ä
�[¨K×,BÑ,BÀ3Ó,GÈÑ,KÐ+LÔ
M€CÜ�3˜¤w¨s°I¸tÓ'DÓEÐEó    c                 óV  — | j                  «       dk(  rt        j                  dd }n	 t        | «      }|€yddl}|j                  d|«      }|€J d«       ‚|d|j                  «        }|sd	}|d
v sJ d|› d�«       ‚||j                  «       d }t        |||«      S # t        $ r Y yw xY w)aâ  Test if *name* is installed.

    Parameters
    ----------
    name : str
        Name of module or "python"
    version : str, optional
        Version string to test against.
        If version is not None, checking version
        (must have an attribute named '__version__' or 'VERSION')
        Version may start with =, >=, > or < to specify the exact requirement

    Returns
    -------
    out : bool
        True if `name` is installed matching the optional version.
    ÚpythonNé   FTr   z[0-9]zInvalid version numberr   )r   r   r   r   zInvalid version condition 'ú')	ÚlowerÚsysr   r   ÚImportErrorÚreÚsearchÚstartr   )Únamer   r   r%   ÚmatchÚsymbs         r   Úis_installedr+   $   sÏ   € ð$ ‡z�zƒ|�xÒÜ—‘˜R˜a�‰ð	Ü'¨Ó-ˆFð €Øó 	à—	‘	˜' 7Ó+ˆØÐ Ð:Ð":Ó:Ð Ø�˜Ÿ™›Ð'ˆÙØˆDØÐ,Ñ,ÐSÐ0KÈDÈ6ÐQRÐ.SÓSÐ,Ø˜%Ÿ+™+›-˜/Ð*ˆÜ˜f g¨tÓ4Ð4øô! ò 	Ùð	ús   ©B Â	B(Â'B(c                 ó"   ‡ ‡‡— ddl Šˆˆ ˆfd„}|S )a@  Return decorator that forces a requirement for a function or class.

    Parameters
    ----------
    name : str
        Name of module or "python".
    version : str, optional
        Version string to test against.
        If version is not None, checking version
        (must have an attribute named '__version__' or 'VERSION')
        Version may start with =, >=, > or < to specify the exact requirement

    Returns
    -------
    func : function
        A decorator that raises an ImportError if a function is run
        in the absence of the input dependency.
    r   Nc                 ó@   •‡ — ‰j                  ‰ «      ˆˆ ˆfd„«       }|S )Nc                  ó†   •— t        ‰‰«      r ‰| i |¤ŽS d‰› d‰j                  › d‰› �}‰�|d‰› �z  }t        |dz   «      ‚)Nú"z" in "z" requires "ú )r+   Ú
__module__r$   )ÚargsÚkwargsÚmsgr(   Úobjr   s      €€€r   Úfunc_wrappedz0require.<locals>.decorator.<locals>.func_wrappedf   s_   ø€ ä˜D 'Ô*Ù˜DÐ+ FÑ+Ð+à˜#˜˜f S§^¡^Ð$4°LÀÀÐG�ØÐ&Ø˜Q˜w˜i˜=Ñ(�CÜ! #¨¡)Ó,Ð,r   )Úwraps)r5   r6   Ú	functoolsr(   r   s   ` €€€r   Ú	decoratorzrequire.<locals>.decoratore   s&   ù€ Ø	�‰˜Ó	õ	-ó 
ð	-ð Ðr   )r8   )r(   r   r9   r8   s   `` @r   Úrequirer:   N   s   ú€ ó* öð Ðr   c                 ó\   — t        | |«      syt        | | j                  d«      d   g¬«      S )a)  Return a module object of name *module_name* if installed.

    Parameters
    ----------
    module_name : str
        Name of module.
    version : str, optional
        Version string to test against.
        If version is not None, checking version
        (must have an attribute named '__version__' or 'VERSION')
        Version may start with =, >=, > or < to specify the exact requirement

    Returns
    -------
    mod : module or None
        Module if *module_name* is installed matching the optional version
        or None otherwise.
    Nr   r   r   )r+   r   r   )r   r   s     r   Ú
get_moduler<   u   s1   € ô& ˜ WÔ-ØÜ�k¨[×-CÑ-CÀCÓ-HÈÑ-LÐ,MÔNÐNr   )N)	r#   Ú	packagingr   r	   r   r   r+   r:   r<   © r   r   ú<module>r?      s(   ðÛ 
å )òò0Fó'5óT$ôNOr   