� !A?ho � � � d Z ddlZddlZddlZddlZg d�Zd� Z ej dd�� � d� � � Zd � Z d � Z d� ZdS )a� Filename matching with shell patterns. fnmatch(FILENAME, PATTERN) matches according to the local convention. fnmatchcase(FILENAME, PATTERN) always takes case in account. The functions operate by translating the pattern into a regular expression. They cache the compiled regular expressions for speed. The function translate(PATTERN) returns a regular expression corresponding to PATTERN. (It does not compile it.) � N)�filter�fnmatch�fnmatchcase� translatec � � t j � | � � } t j � |� � }t | |� � S )a� Test whether FILENAME matches PATTERN. Patterns are Unix shell style: * matches everything ? matches any single character [seq] matches any character in seq [!seq] matches any char not in seq An initial period in FILENAME is not special. Both FILENAME and PATTERN are first case-normalized if the operating system requires it. If you don't want this, use fnmatchcase(FILENAME, PATTERN). )�os�path�normcaser )�name�pats �4/opt/alt/python-internal/lib64/python3.11/fnmatch.pyr r s> � � �7���D�!�!�D� �'� � �3� � �C��t�S�!�!�!� i � T)�maxsize�typedc �� � t | t � � r0t | d� � }t |� � }t |d� � }nt | � � }t j |� � j S )Nz ISO-8859-1)� isinstance�bytes�strr �re�compile�match)r �pat_str�res_str�ress r �_compile_patternr &