JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/zipp/__pycache__/glob.cpython-39.opt-1.pyc

a

��f��@sDddlZddlZejeej�eej�ZGdd�d�Zdd�ZdS)�Nc@sdeZdZUdZeed<efed�dd�Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dd�ZdS)�
Translatorz�
    >>> Translator('xyz')
    Traceback (most recent call last):
    ...
    AssertionError: Invalid separators

    >>> Translator('')
    Traceback (most recent call last):
    ...
    AssertionError: Invalid separators
    �seps�rcCs
||_dS)Nr)�selfr�r�-/usr/lib/python3.9/site-packages/zipp/glob.py�__init__szTranslator.__init__cCs|�|�|�|���S)zH
        Given a glob pattern, produce a regex that matches it.
        )�extend�
match_dirs�translate_core�r�patternrrr�	translateszTranslator.translatecCsd|�d�S)z�
        Extend regex for pattern-wide concerns.

        Apply '(?s:)' to create a non-matching group that
        matches newlines (valid on Unix).

        Append '\Z' to imply fullmatch even when match is used.
        z(?s:z)\Zrrrrrr	!s	zTranslator.extendcCs
|�d�S)z�
        Ensure that zipfile.Path directory names are matched.

        zipfile.Path directory names always end in a slash.
        z[/]?rrrrrr
,szTranslator.match_dirscCs&|�|�d�t|jt|�|����S)a?
        Given a glob pattern, produce a regex that matches it.

        >>> t = Translator()
        >>> t.translate_core('*.txt').replace('\\\\', '')
        '[^/]*\\.txt'
        >>> t.translate_core('a?txt')
        'a[^/]txt'
        >>> t.translate_core('**/*').replace('\\\\', '')
        '.*/[^/][^/]*'
        �)�restrict_rglob�join�map�replace�separate�star_not_emptyrrrrr4s
zTranslator.translate_corecCsB|�d�p@t�|�d���dd��ddt�|j��d���dd	�S)
zM
        Perform the replacements for a match from :func:`separate`.
        �setrz\*\*z.*z\*�[^z]*z\?z[^/])�group�re�escaperr)r�matchrrrrCs
����zTranslator.replacecCs>dt�|j��d�}t�||�}tdd�|D��r:td��dS)z�
        Raise ValueError if ** appears in anything but a full path segment.

        >>> Translator().translate('**foo')
        Traceback (most recent call last):
        ...
        ValueError: ** must appear alone in a path segment
        �[�]+css|]}d|vo|dkVqdS)z**Nr)�.0�segmentrrr�	<genexpr>Y�z,Translator.restrict_rglob.<locals>.<genexpr>z&** must appear alone in a path segmentN)rrr�split�any�
ValueError)rr
Zseps_pattern�segmentsrrrrNs	zTranslator.restrict_rglobcCs*dd�}dt�|j��d�}t�|||�S)z@
        Ensure that * will not match an empty segment.
        cSs|�d�}|dkrdS|S)Nr�*z?*)r)rrrrr�handle_segmentas
z1Translator.star_not_empty.<locals>.handle_segmentrr)rrr�sub)rr
r'Znot_seps_patternrrrr\szTranslator.star_not_emptyN)�__name__�
__module__�__qualname__�__doc__�str�__annotations__�
_default_sepsrrr	r
rrrrrrrrrs
rcCst�d|�S)z�
    Separate out character sets to avoid translating their contents.

    >>> [m.group(0) for m in separate('*.txt')]
    ['*.txt']
    >>> [m.group(0) for m in separate('a[?]txt')]
    ['a', '[?]', 'txt']
    z+([^\[]+)|(?P<set>[\[].*?[\]])|([\[][^\]]*$))r�finditer)r
rrrris	r)	�osr�sepr-�altsep�boolr/rrrrrr�<module>sa
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg