SILENT KILLERPanel

Current Path: > > opt > alt > > python310 > lib64 > python3.10


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/alt//python310/lib64/python3.10

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
asyncio Directory - -
collections Directory - -
concurrent Directory - -
config-3.10-x86_64-linux-gnu Directory - -
ctypes Directory - -
curses Directory - -
dbm Directory - -
distutils Directory - -
email Directory - -
encodings Directory - -
ensurepip Directory - -
html Directory - -
http Directory - -
importlib Directory - -
json Directory - -
lib-dynload Directory - -
lib2to3 Directory - -
logging Directory - -
multiprocessing Directory - -
pydoc_data Directory - -
site-packages Directory - -
sqlite3 Directory - -
unittest Directory - -
urllib Directory - -
venv Directory - -
wsgiref Directory - -
xml Directory - -
xmlrpc Directory - -
zoneinfo Directory - -
LICENSE.txt File 13936 bytes June 03 2025 18:23:41.
__future__.py File 5155 bytes June 03 2025 18:23:41.
__phello__.foo.py File 64 bytes June 03 2025 18:23:41.
_aix_support.py File 3270 bytes June 03 2025 18:23:41.
_bootsubprocess.py File 2675 bytes June 03 2025 18:23:41.
_collections_abc.py File 32284 bytes June 03 2025 18:23:41.
_compat_pickle.py File 8749 bytes June 03 2025 18:23:41.
_compression.py File 5681 bytes June 03 2025 18:23:41.
_markupbase.py File 14653 bytes June 03 2025 18:23:41.
_osx_support.py File 21787 bytes June 03 2025 18:23:41.
_py_abc.py File 6189 bytes June 03 2025 18:23:41.
_pydecimal.py File 228676 bytes June 03 2025 18:23:41.
_pyio.py File 94467 bytes June 03 2025 18:23:41.
_sitebuiltins.py File 3128 bytes June 03 2025 18:23:41.
_strptime.py File 25277 bytes June 03 2025 18:23:41.
_sysconfigdata__linux_x86_64-linux-gnu.py File 41345 bytes June 18 2025 15:53:46.
_sysconfigdata_d_linux_x86_64-linux-gnu.py File 40763 bytes June 18 2025 15:42:57.
_threading_local.py File 7220 bytes June 03 2025 18:23:41.
_weakrefset.py File 5923 bytes June 03 2025 18:23:41.
abc.py File 6522 bytes June 03 2025 18:23:41.
aifc.py File 32605 bytes June 03 2025 18:23:41.
antigravity.py File 500 bytes June 03 2025 18:23:41.
argparse.py File 98543 bytes June 03 2025 18:23:41.
ast.py File 59900 bytes June 03 2025 18:23:41.
asynchat.py File 11520 bytes June 03 2025 18:23:41.
asyncore.py File 20268 bytes June 03 2025 18:23:41.
base64.py File 20860 bytes June 03 2025 18:23:41.
bdb.py File 32396 bytes June 03 2025 18:23:41.
binhex.py File 14784 bytes June 03 2025 18:23:41.
bisect.py File 3135 bytes June 03 2025 18:23:41.
bz2.py File 11847 bytes June 03 2025 18:23:41.
cProfile.py File 6360 bytes June 03 2025 18:23:41.
calendar.py File 24575 bytes June 03 2025 18:23:41.
cgi.py File 34111 bytes June 03 2025 18:23:41.
cgitb.py File 12096 bytes June 03 2025 18:23:41.
chunk.py File 5435 bytes June 03 2025 18:23:41.
cmd.py File 14860 bytes June 03 2025 18:23:41.
code.py File 10622 bytes June 03 2025 18:23:41.
codecs.py File 36714 bytes June 03 2025 18:23:41.
codeop.py File 5609 bytes June 03 2025 18:23:41.
colorsys.py File 4017 bytes June 03 2025 18:23:41.
compileall.py File 20252 bytes June 03 2025 18:23:41.
configparser.py File 54612 bytes June 03 2025 18:23:41.
contextlib.py File 25882 bytes June 03 2025 18:23:41.
contextvars.py File 129 bytes June 03 2025 18:23:41.
copy.py File 8681 bytes June 03 2025 18:23:41.
copyreg.py File 7426 bytes June 03 2025 18:23:41.
crypt.py File 3848 bytes June 03 2025 18:23:41.
csv.py File 16030 bytes June 03 2025 18:23:41.
dataclasses.py File 56390 bytes June 03 2025 18:23:41.
datetime.py File 88086 bytes June 03 2025 18:23:41.
decimal.py File 320 bytes June 03 2025 18:23:41.
difflib.py File 83308 bytes June 03 2025 18:23:41.
dis.py File 20020 bytes June 03 2025 18:23:41.
doctest.py File 105143 bytes June 03 2025 18:23:41.
enum.py File 39831 bytes June 03 2025 18:23:41.
filecmp.py File 10178 bytes June 03 2025 18:23:41.
fileinput.py File 16442 bytes June 03 2025 18:23:41.
fnmatch.py File 6713 bytes June 03 2025 18:23:41.
fractions.py File 28242 bytes June 03 2025 18:23:41.
ftplib.py File 35496 bytes June 03 2025 18:23:41.
functools.py File 38076 bytes June 03 2025 18:23:41.
genericpath.py File 5246 bytes June 03 2025 18:23:41.
getopt.py File 7489 bytes June 03 2025 18:23:41.
getpass.py File 5990 bytes June 03 2025 18:23:41.
gettext.py File 27266 bytes June 03 2025 18:23:41.
glob.py File 7888 bytes June 03 2025 18:23:41.
graphlib.py File 9573 bytes June 03 2025 18:23:41.
gzip.py File 21849 bytes June 03 2025 18:23:41.
hashlib.py File 10229 bytes June 03 2025 18:23:41.
heapq.py File 22877 bytes June 03 2025 18:23:41.
hmac.py File 7717 bytes June 03 2025 18:23:41.
imaplib.py File 55218 bytes June 03 2025 18:23:41.
imghdr.py File 3808 bytes June 03 2025 18:23:41.
imp.py File 10591 bytes June 03 2025 18:23:41.
inspect.py File 124378 bytes June 03 2025 18:23:41.
io.py File 4196 bytes June 03 2025 18:23:41.
ipaddress.py File 80837 bytes June 03 2025 18:23:41.
keyword.py File 1061 bytes June 03 2025 18:23:41.
linecache.py File 5690 bytes June 03 2025 18:23:41.
locale.py File 78124 bytes June 03 2025 18:23:41.
lzma.py File 13277 bytes June 03 2025 18:23:41.
mailbox.py File 78794 bytes June 03 2025 18:23:41.
mailcap.py File 9116 bytes June 03 2025 18:23:41.
mimetypes.py File 22539 bytes June 03 2025 18:23:41.
modulefinder.py File 24401 bytes June 03 2025 18:23:41.
netrc.py File 5747 bytes June 03 2025 18:23:41.
nntplib.py File 41023 bytes June 03 2025 18:23:41.
ntpath.py File 29944 bytes June 03 2025 18:23:41.
nturl2path.py File 2887 bytes June 03 2025 18:23:41.
numbers.py File 10348 bytes June 03 2025 18:23:41.
opcode.py File 5902 bytes June 03 2025 18:23:41.
operator.py File 10751 bytes June 03 2025 18:23:41.
optparse.py File 60369 bytes June 03 2025 18:23:41.
os.py File 39557 bytes June 03 2025 18:23:41.
pathlib.py File 49575 bytes June 03 2025 18:23:41.
pdb.py File 63238 bytes June 03 2025 18:23:41.
pickle.py File 64949 bytes June 03 2025 18:23:41.
pickletools.py File 93486 bytes June 03 2025 18:23:41.
pipes.py File 8914 bytes June 03 2025 18:23:41.
pkgutil.py File 24576 bytes June 03 2025 18:23:41.
platform.py File 42036 bytes June 03 2025 18:23:41.
plistlib.py File 28352 bytes June 03 2025 18:23:41.
poplib.py File 15198 bytes June 03 2025 18:23:41.
posixpath.py File 16436 bytes June 03 2025 18:23:41.
pprint.py File 24444 bytes June 03 2025 18:23:41.
profile.py File 22896 bytes June 03 2025 18:23:41.
pstats.py File 29326 bytes June 03 2025 18:23:41.
pty.py File 5213 bytes June 03 2025 18:23:41.
py_compile.py File 7892 bytes June 18 2025 15:40:22.
pyclbr.py File 11396 bytes June 03 2025 18:23:41.
pydoc.py File 109603 bytes June 03 2025 18:23:41.
queue.py File 11496 bytes June 03 2025 18:23:41.
quopri.py File 7281 bytes June 03 2025 18:23:41.
random.py File 33221 bytes June 03 2025 18:23:41.
re.py File 15860 bytes June 03 2025 18:23:41.
reprlib.py File 5267 bytes June 03 2025 18:23:41.
rlcompleter.py File 7817 bytes June 03 2025 18:23:41.
runpy.py File 13111 bytes June 03 2025 18:23:41.
sched.py File 6351 bytes June 03 2025 18:23:41.
secrets.py File 2036 bytes June 03 2025 18:23:41.
selectors.py File 19536 bytes June 03 2025 18:23:41.
shelve.py File 8560 bytes June 03 2025 18:23:41.
shlex.py File 13501 bytes June 03 2025 18:23:41.
shutil.py File 54572 bytes June 03 2025 18:23:41.
signal.py File 2438 bytes June 03 2025 18:23:41.
site.py File 22926 bytes June 03 2025 18:23:41.
smtpd.py File 35178 bytes June 03 2025 18:23:41.
smtplib.py File 45431 bytes June 03 2025 18:23:41.
sndhdr.py File 7099 bytes June 03 2025 18:23:41.
socket.py File 37006 bytes June 03 2025 18:23:41.
socketserver.py File 27296 bytes June 03 2025 18:23:41.
sre_compile.py File 27973 bytes June 03 2025 18:23:41.
sre_constants.py File 7177 bytes June 03 2025 18:23:41.
sre_parse.py File 40779 bytes June 03 2025 18:23:41.
ssl.py File 53895 bytes June 03 2025 18:23:41.
stat.py File 5485 bytes June 03 2025 18:23:41.
statistics.py File 43205 bytes June 03 2025 18:23:41.
string.py File 10566 bytes June 03 2025 18:23:41.
stringprep.py File 12917 bytes June 03 2025 18:23:41.
struct.py File 257 bytes June 03 2025 18:23:41.
subprocess.py File 84917 bytes June 03 2025 18:23:41.
sunau.py File 18158 bytes June 03 2025 18:23:41.
symtable.py File 10217 bytes June 03 2025 18:23:41.
sysconfig.py File 27609 bytes June 03 2025 18:23:41.
tabnanny.py File 11312 bytes June 03 2025 18:23:41.
tarfile.py File 111609 bytes June 03 2025 18:23:41.
telnetlib.py File 23254 bytes June 03 2025 18:23:41.
tempfile.py File 29469 bytes June 03 2025 18:23:41.
textwrap.py File 19772 bytes June 03 2025 18:23:41.
this.py File 1003 bytes June 03 2025 18:23:41.
threading.py File 56742 bytes June 18 2025 15:40:22.
timeit.py File 13508 bytes June 03 2025 18:23:41.
token.py File 2386 bytes June 03 2025 18:23:41.
tokenize.py File 25921 bytes June 03 2025 18:23:41.
trace.py File 29229 bytes June 03 2025 18:23:41.
traceback.py File 26222 bytes June 03 2025 18:23:41.
tracemalloc.py File 18047 bytes June 03 2025 18:23:41.
tty.py File 879 bytes June 03 2025 18:23:41.
types.py File 10117 bytes June 03 2025 18:23:41.
typing.py File 92557 bytes June 03 2025 18:23:41.
uu.py File 7277 bytes June 18 2025 15:55:11.
uuid.py File 27500 bytes June 03 2025 18:23:41.
warnings.py File 19688 bytes June 03 2025 18:23:41.
wave.py File 18004 bytes June 03 2025 18:23:41.
weakref.py File 21560 bytes June 03 2025 18:23:41.
webbrowser.py File 24258 bytes June 03 2025 18:23:41.
xdrlib.py File 5913 bytes June 03 2025 18:23:41.
zipapp.py File 7535 bytes June 03 2025 18:23:41.
zipfile.py File 90201 bytes June 03 2025 18:23:41.
zipimport.py File 30891 bytes June 03 2025 18:23:41.

Reading File: //opt/alt//python310/lib64/python3.10/fnmatch.py

"""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.)
"""
import os
import posixpath
import re
import functools

__all__ = ["filter", "fnmatch", "fnmatchcase", "translate"]

# Build a thread-safe incrementing counter to help create unique regexp group
# names across calls.
from itertools import count
_nextgroupnum = count().__next__
del count

def fnmatch(name, pat):
    """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).
    """
    name = os.path.normcase(name)
    pat = os.path.normcase(pat)
    return fnmatchcase(name, pat)

@functools.lru_cache(maxsize=256, typed=True)
def _compile_pattern(pat):
    if isinstance(pat, bytes):
        pat_str = str(pat, 'ISO-8859-1')
        res_str = translate(pat_str)
        res = bytes(res_str, 'ISO-8859-1')
    else:
        res = translate(pat)
    return re.compile(res).match

def filter(names, pat):
    """Construct a list from those elements of the iterable NAMES that match PAT."""
    result = []
    pat = os.path.normcase(pat)
    match = _compile_pattern(pat)
    if os.path is posixpath:
        # normcase on posix is NOP. Optimize it away from the loop.
        for name in names:
            if match(name):
                result.append(name)
    else:
        for name in names:
            if match(os.path.normcase(name)):
                result.append(name)
    return result

def fnmatchcase(name, pat):
    """Test whether FILENAME matches PATTERN, including case.

    This is a version of fnmatch() which doesn't case-normalize
    its arguments.
    """
    match = _compile_pattern(pat)
    return match(name) is not None


def translate(pat):
    """Translate a shell PATTERN to a regular expression.

    There is no way to quote meta-characters.
    """

    STAR = object()
    res = []
    add = res.append
    i, n = 0, len(pat)
    while i < n:
        c = pat[i]
        i = i+1
        if c == '*':
            # compress consecutive `*` into one
            if (not res) or res[-1] is not STAR:
                add(STAR)
        elif c == '?':
            add('.')
        elif c == '[':
            j = i
            if j < n and pat[j] == '!':
                j = j+1
            if j < n and pat[j] == ']':
                j = j+1
            while j < n and pat[j] != ']':
                j = j+1
            if j >= n:
                add('\\[')
            else:
                stuff = pat[i:j]
                if '-' not in stuff:
                    stuff = stuff.replace('\\', r'\\')
                else:
                    chunks = []
                    k = i+2 if pat[i] == '!' else i+1
                    while True:
                        k = pat.find('-', k, j)
                        if k < 0:
                            break
                        chunks.append(pat[i:k])
                        i = k+1
                        k = k+3
                    chunk = pat[i:j]
                    if chunk:
                        chunks.append(chunk)
                    else:
                        chunks[-1] += '-'
                    # Remove empty ranges -- invalid in RE.
                    for k in range(len(chunks)-1, 0, -1):
                        if chunks[k-1][-1] > chunks[k][0]:
                            chunks[k-1] = chunks[k-1][:-1] + chunks[k][1:]
                            del chunks[k]
                    # Escape backslashes and hyphens for set difference (--).
                    # Hyphens that create ranges shouldn't be escaped.
                    stuff = '-'.join(s.replace('\\', r'\\').replace('-', r'\-')
                                     for s in chunks)
                # Escape set operations (&&, ~~ and ||).
                stuff = re.sub(r'([&~|])', r'\\\1', stuff)
                i = j+1
                if not stuff:
                    # Empty range: never match.
                    add('(?!)')
                elif stuff == '!':
                    # Negated empty range: match any character.
                    add('.')
                else:
                    if stuff[0] == '!':
                        stuff = '^' + stuff[1:]
                    elif stuff[0] in ('^', '['):
                        stuff = '\\' + stuff
                    add(f'[{stuff}]')
        else:
            add(re.escape(c))
    assert i == n

    # Deal with STARs.
    inp = res
    res = []
    add = res.append
    i, n = 0, len(inp)
    # Fixed pieces at the start?
    while i < n and inp[i] is not STAR:
        add(inp[i])
        i += 1
    # Now deal with STAR fixed STAR fixed ...
    # For an interior `STAR fixed` pairing, we want to do a minimal
    # .*? match followed by `fixed`, with no possibility of backtracking.
    # We can't spell that directly, but can trick it into working by matching
    #    .*?fixed
    # in a lookahead assertion, save the matched part in a group, then
    # consume that group via a backreference. If the overall match fails,
    # the lookahead assertion won't try alternatives. So the translation is:
    #     (?=(?P<name>.*?fixed))(?P=name)
    # Group names are created as needed: g0, g1, g2, ...
    # The numbers are obtained from _nextgroupnum() to ensure they're unique
    # across calls and across threads. This is because people rely on the
    # undocumented ability to join multiple translate() results together via
    # "|" to build large regexps matching "one of many" shell patterns.
    while i < n:
        assert inp[i] is STAR
        i += 1
        if i == n:
            add(".*")
            break
        assert inp[i] is not STAR
        fixed = []
        while i < n and inp[i] is not STAR:
            fixed.append(inp[i])
            i += 1
        fixed = "".join(fixed)
        if i == n:
            add(".*")
            add(fixed)
        else:
            groupnum = _nextgroupnum()
            add(f"(?=(?P<g{groupnum}>.*?{fixed}))(?P=g{groupnum})")
    assert i == n
    res = "".join(res)
    return fr'(?s:{res})\Z'

SILENT KILLER Tool