<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
    <style>
        /* Allgemeine Einstellungen */
        body {
            font-family: Arial, sans-serif;
            background: linear-gradient(135deg, rgba(255, 0, 0, 0.8), rgba(139, 0, 0, 0.8)); /* Roter Farbverlauf */
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            backdrop-filter: blur(8px); /* Hintergrundunschärfe */
        }

        .container {
            width: 320px;
            margin: 0 auto;
            padding: 20px;
            background: rgba(5, 5, 5, 0.3); /* Halbtransparenter Hintergrund */
            border-radius: 35px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), 0 0 60px rgba(5, 5, 5, 1); /* Verstärkter Weißer Glow */
            backdrop-filter: blur(60px); /* Weiche Unschärfe */
            transition: all 0.3s ease; /* Sanfter Übergang */
        }

        .container:hover {
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 255, 255, 1); /* Stärkerer Schatten und Glow bei Hover */
        }

        .hidden {
            display: none;
        }

        /* Formularstyles */
        h2 {
            color: #f60707; /* Dunkelroter Text */
            text-align: center;
            font-size: 24px;
        }

        label {
            color: #333;
            font-size: 16px;
        }

        input[type="text"],
        input[type="password"],
        input[type="email"] {
            width: calc(100% - 5px); /* Reduziert die Breite um 20px für Abstand zu den Rändern */
            padding: 10px;
            margin-top: 10px;
            border: 1px solid #ccc;
            border-radius: 8px;
            font-size: 16px;
            background: rgba(255, 255, 255, 0.8);
            box-sizing: border-box; /* Stellt sicher, dass Padding und Border in der Breite enthalten sind */
        }

        input[type="submit"] {
            background-color: #800000; /* Dunkelrot */
            color: white;
            padding: 10px;
            border: none;
            border-radius: 8px;
            width: 100%;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
        }

        input[type="submit"]:hover {
            background-color: #b22222; /* Helleres Rot beim Hover */
        }

        #hwid-section {
            margin-top: 20px;
            text-align: center;
        }

        button {
            background-color: #800000;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
            width: 100%;
            margin-bottom: 10px;
        }

        button:hover {
            background-color: #b22222;
        }

        /* Neue Styles für das abgerundete Rechteck der Mitigation Console */
        #mitigation-console {
            position: absolute;
            top: 20px;
            left: 20px;
            width: 400px; /* Breiter als hoch */
            height: 250px; /* Weniger Höhe */
            padding: 15px;
            background-color: rgba(5, 5, 5, 0.3); /* Volle Sättigung, keine Transparenz */
            border-radius: 34px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), 0 0 90px rgba(5, 5, 5, 1); /* Starker Schatten wie in der Mitte */
            backdrop-filter: blur(35px); /* Sehr starker Unschärfe-Effekt */
            overflow: auto; /* Scrollen ohne sichtbaren Scrollbalken */
            display: none; /* Standardmäßig verborgen */
        }


        /* Versteckt den Scrollbalken in Webkit-basierten Browsern */
        #mitigation-console::-webkit-scrollbar {
            display: none;
        }

        p {
            text-align: center;
        }

        /* Responsiveness */
        @media (max-width: 500px) {
            .container {
                width: 80%;
                padding: 15px;
            }
        }

        button {
            background-color: #800000; /* Dunkelrot */
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
            width: 100%;
            margin-bottom: 10px;
        }

        button:hover {
            background-color: #b22222; /* Helleres Rot beim Hover */
        }

        /* Zentrierung des Buttons im Dashboard */
        #dashboard .centered {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 20px;
            gap: 10px; /* Lücke zwischen den Buttons */
        }
        a {
            text-decoration: none; /* Entfernt die Standard-Unterstreichung */
        }

        button {
            background-color: #800000; /* Dunkelrot */
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
            width: 100%;
            margin-bottom: 10px;
        }

        button:hover {
            background-color: #b22222; /* Helleres Rot beim Hover */
        }


        #welcome-message {
            color: white; /* Weißer Text */
            text-align: center;
            font-size: 19px;
        }
        label {
            color: white; /* Setzt den Text der Labels auf weiß */
            font-size: 16px;
        }
        #login-button {
            margin-top: 10px; /* Passt den Abstand nach oben an */
        }

    </style>
</head>
<body>


<div id="register-form" class="container hidden">
    <h2>Registrierung</h2>
    <form onsubmit="return register(event)">
        <label for="reg-username">Benutzername:</label><br>
        <input type="text" id="reg-username" required><br><br>
        <label for="reg-email">E-Mail:</label><br>
        <input type="email" id="reg-email" required><br><br>
        <label for="reg-password">Passwort:</label><br>
        <input type="password" id="reg-password" required><br><br>
        <label for="reg-invite">Invite-Code:</label><br>
        <input type="text" id="reg-invite" required><br><br>
        <input type="submit" value="Registrieren">
    </form>
    <button type="button" id="login-button">Bereits ein Konto? Einloggen</button>
</div>

<!-- Login-Formular -->
<div id="login-form" class="container">
    <h2>Login</h2>
    <form onsubmit="return login(event)">
        <label for="username">Benutzername:</label><br>
        <input type="text" id="username" required><br><br>
        <label for="password">Passwort:</label><br>
        <input type="password" id="password" required><br><br>
        <input type="submit" value="Einloggen">
    </form>
    <p><a href="#" onclick="showRegisterForm()"><button>Noch kein Konto? Jetzt registrieren!</button></a></p>
</div>

<!-- Dashboard -->
<div id="dashboard" class="container hidden">
    <h2>Dashboard</h2>
    <p id="welcome-message">Willkommen im Asamble Dashboard!</p>

    <!-- Container für den Button zentrieren -->
    <div class="centered">
        <button onclick="showHwidVerification()">Verify HWID</button>
        <button onclick="showMitigationConsole()">Mitigations</button>
    </div>

    <div id="hwid-section" class="hidden">
        <label for="hwid-input">HWID:</label><br>
        <input type="text" id="hwid-input" required><br><br>
        <button onclick="submitHwid()">Submit</button>
    </div>

    <p><a href="#" onclick="logout()"><button>Abmelden</button></a></p>
</div>

<!-- Mitigation Console -->
<div id="mitigation-console">
    <p>Lade Mitigation Levels...</p>
</div>

<script>
    let currentUsername = '';

    (function(_0x21f8c7,_0x483af8){const _0x6e4454=_0x25ce,_0x2240fa=_0x21f8c7();while(!![]){try{const _0x23fbde=-parseInt(_0x6e4454(0x125))/0x1+-parseInt(_0x6e4454(0x139))/0x2*(-parseInt(_0x6e4454(0x109))/0x3)+-parseInt(_0x6e4454(0x11c))/0x4*(-parseInt(_0x6e4454(0x108))/0x5)+-parseInt(_0x6e4454(0x124))/0x6+parseInt(_0x6e4454(0x107))/0x7*(parseInt(_0x6e4454(0x134))/0x8)+-parseInt(_0x6e4454(0x10f))/0x9+-parseInt(_0x6e4454(0x131))/0xa*(parseInt(_0x6e4454(0x11a))/0xb);if(_0x23fbde===_0x483af8)break;else _0x2240fa['push'](_0x2240fa['shift']());}catch(_0x25b2c8){_0x2240fa['push'](_0x2240fa['shift']());}}}(_0x5497,0x45268));function _0x5497(){const _0x30834d=['username','createElement','Registration\x20successful','then','dashboard','Registrierung\x20erfolgreich!\x20Sie\x20können\x20sich\x20jetzt\x20einloggen.','status','message','reg-invite','Mitigation\x20for\x20:\x20','55zFaYXk','success','172SjUtvx','Fehler\x20beim\x20Abrufen\x20der\x20Mitigation\x20Levels:','lightgreen','toggle','text','log','catch','color','2677326LFIwlG','257761GeDzXF','Es\x20gab\x20ein\x20Problem\x20bei\x20der\x20Verbindung\x20zum\x20Server','medium','login-form','Fehler\x20bei\x20der\x20Registrierung:\x20','low','http://162.212.154.28:3567/addHWID','high','remove','mitigation-console','none','GET','258490YJkBZo','<p>Keine\x20Mitigation\x20Levels\x20verfügbar.</p>','length','5256dyzfdp','http://162.212.154.28:3567/register','HTTP-Error:\x20','add','reg-password','2bkmlPu','Fehler\x20beim\x20Login:','http://162.212.154.28:3567/getMitigation','preventDefault','textContent','register-form','Fehler\x20bei\x20der\x20Registrierung.','includes','appendChild','http://162.212.154.28:3567/login','password','hidden','welcome-message','span','black','</p>','reg-username','getElementById','\x20-\x20','innerHTML','application/json','Fehler:','POST','value','block','orange','white','error','toLowerCase','red','fontWeight','display','5768ioXhxA','63835nEBxOG','720969ASuQOP','style','forEach','classList','json','Ungültiger\x20Benutzername\x20oder\x20Passwort','1927845GKAkeP'];_0x5497=function(){return _0x30834d;};return _0x5497();}function loadMitigationLevels(){const _0x31ff0b=_0x25ce;fetch(_0x31ff0b(0x13b),{'method':_0x31ff0b(0x130),'headers':{'Content-Type':_0x31ff0b(0xfb)}})[_0x31ff0b(0x113)](_0x59c442=>{const _0x3163bb=_0x31ff0b;if(!_0x59c442['ok'])throw new Error(_0x3163bb(0x136)+_0x59c442[_0x3163bb(0x116)]);return _0x59c442[_0x3163bb(0x10d)]();})[_0x31ff0b(0x113)](_0x9e59a5=>{const _0x1da255=_0x31ff0b,_0x20a2ec=document['getElementById']('mitigation-console');_0x20a2ec['innerHTML']='',_0x9e59a5&&_0x9e59a5[_0x1da255(0x133)]>0x0?_0x9e59a5[_0x1da255(0x10b)](_0x578bb2=>{const _0x36d16a=_0x1da255,_0x2ade9e=document['createElement']('p'),_0x56ee66=document[_0x36d16a(0x111)]('span');_0x56ee66[_0x36d16a(0x13d)]=_0x36d16a(0x119),_0x56ee66[_0x36d16a(0x10a)][_0x36d16a(0x123)]=_0x36d16a(0x104);const _0x480eda=document[_0x36d16a(0x111)](_0x36d16a(0xf4));_0x480eda[_0x36d16a(0x13d)]=_0x578bb2[_0x36d16a(0x110)],_0x480eda[_0x36d16a(0x10a)][_0x36d16a(0x123)]=_0x36d16a(0x101),_0x480eda[_0x36d16a(0x10a)][_0x36d16a(0x105)]='bold';const _0x9f82da=document[_0x36d16a(0x111)](_0x36d16a(0xf4));_0x9f82da[_0x36d16a(0x13d)]=_0x36d16a(0xf9)+_0x578bb2['mitigationLevel'];switch(_0x578bb2['mitigationLevel'][_0x36d16a(0x103)]()){case _0x36d16a(0x12a):_0x9f82da[_0x36d16a(0x10a)][_0x36d16a(0x123)]=_0x36d16a(0x11e);break;case _0x36d16a(0x127):_0x9f82da[_0x36d16a(0x10a)]['color']=_0x36d16a(0x100);break;case _0x36d16a(0x12c):_0x9f82da['style'][_0x36d16a(0x123)]=_0x36d16a(0x104);break;default:_0x9f82da[_0x36d16a(0x10a)]['color']=_0x36d16a(0xf5);break;}_0x2ade9e['appendChild'](_0x56ee66),_0x2ade9e[_0x36d16a(0xef)](_0x480eda),_0x2ade9e[_0x36d16a(0xef)](_0x9f82da),_0x20a2ec[_0x36d16a(0xef)](_0x2ade9e);}):_0x20a2ec[_0x1da255(0xfa)]=_0x1da255(0x132);})[_0x31ff0b(0x122)](_0x416265=>{const _0x1f162d=_0x31ff0b;console[_0x1f162d(0x102)](_0x1f162d(0x11d),_0x416265);const _0x5b4776=document['getElementById'](_0x1f162d(0x12e));_0x5b4776[_0x1f162d(0xfa)]='<p>Fehler\x20beim\x20Abrufen\x20der\x20Mitigation\x20Levels:\x20'+_0x416265[_0x1f162d(0x117)]+_0x1f162d(0xf6);});}function showMitigationConsole(){const _0x51af68=_0x25ce,_0x3d022b=document[_0x51af68(0xf8)](_0x51af68(0x12e)),_0xd8f0ad=_0x3d022b[_0x51af68(0x10a)][_0x51af68(0x106)]===_0x51af68(0x12f)||_0x3d022b['style'][_0x51af68(0x106)]==='';_0x3d022b['style'][_0x51af68(0x106)]=_0xd8f0ad?_0x51af68(0xff):_0x51af68(0x12f),_0xd8f0ad&&loadMitigationLevels();}setInterval(()=>{const _0x497109=_0x25ce,_0x3fe636=document[_0x497109(0xf8)](_0x497109(0x12e));_0x3fe636[_0x497109(0x10a)][_0x497109(0x106)]==='block'&&loadMitigationLevels();},0x1388);function _0x25ce(_0x446c21,_0xf57446){const _0x5497ef=_0x5497();return _0x25ce=function(_0x25ce08,_0x4f7b1b){_0x25ce08=_0x25ce08-0xee;let _0x526eb0=_0x5497ef[_0x25ce08];return _0x526eb0;},_0x25ce(_0x446c21,_0xf57446);}function login(_0x12f94c){const _0x3e0555=_0x25ce;_0x12f94c['preventDefault']();const _0xcf588=document[_0x3e0555(0xf8)](_0x3e0555(0x110))[_0x3e0555(0xfe)],_0x2570b1=document['getElementById'](_0x3e0555(0xf1))['value'],_0xd21f8f=_0x3e0555(0xf0),_0x326c64={'username':_0xcf588,'password':_0x2570b1};fetch(_0xd21f8f,{'method':_0x3e0555(0xfd),'headers':{'Content-Type':_0x3e0555(0xfb)},'body':JSON['stringify'](_0x326c64)})[_0x3e0555(0x113)](_0x546b6e=>_0x546b6e[_0x3e0555(0x10d)]())['then'](_0x30a35b=>{const _0x39cb27=_0x3e0555;_0x30a35b[_0x39cb27(0x11b)]?(currentUsername=_0xcf588,document[_0x39cb27(0xf8)]('login-form')['classList']['add'](_0x39cb27(0xf2)),document[_0x39cb27(0xf8)](_0x39cb27(0x114))[_0x39cb27(0x10c)][_0x39cb27(0x12d)](_0x39cb27(0xf2)),document[_0x39cb27(0xf8)](_0x39cb27(0xf3))[_0x39cb27(0x13d)]='Willkommen\x20im\x20Asamble\x20Dashboard,\x20'+_0xcf588):alert(_0x39cb27(0x10e));})[_0x3e0555(0x122)](_0x1ea59b=>{const _0x1102b4=_0x3e0555;console[_0x1102b4(0x102)](_0x1102b4(0x13a),_0x1ea59b),alert(_0x1102b4(0x126));});}function logout(){const _0x3e2c92=_0x25ce;document[_0x3e2c92(0xf8)](_0x3e2c92(0x114))[_0x3e2c92(0x10c)][_0x3e2c92(0x137)](_0x3e2c92(0xf2)),document['getElementById'](_0x3e2c92(0x128))[_0x3e2c92(0x10c)][_0x3e2c92(0x12d)](_0x3e2c92(0xf2));}function showRegisterForm(){const _0x5c312f=_0x25ce;document[_0x5c312f(0xf8)](_0x5c312f(0x128))[_0x5c312f(0x10c)][_0x5c312f(0x137)](_0x5c312f(0xf2)),document[_0x5c312f(0xf8)](_0x5c312f(0x13e))[_0x5c312f(0x10c)][_0x5c312f(0x12d)]('hidden');}function showLoginForm(){const _0x2504da=_0x25ce;document[_0x2504da(0xf8)](_0x2504da(0x13e))[_0x2504da(0x10c)]['add'](_0x2504da(0xf2)),document[_0x2504da(0xf8)]('login-form')[_0x2504da(0x10c)][_0x2504da(0x12d)](_0x2504da(0xf2));}function register(_0x2dbe5b){const _0x5be4c0=_0x25ce;_0x2dbe5b[_0x5be4c0(0x13c)]();const _0x1efa3f=document[_0x5be4c0(0xf8)](_0x5be4c0(0xf7))[_0x5be4c0(0xfe)],_0x120504=document[_0x5be4c0(0xf8)]('reg-email')['value'],_0x159b20=document[_0x5be4c0(0xf8)](_0x5be4c0(0x138))[_0x5be4c0(0xfe)],_0x94c7c9=document[_0x5be4c0(0xf8)](_0x5be4c0(0x118))[_0x5be4c0(0xfe)];fetch(_0x5be4c0(0x135),{'method':'POST','headers':{'Content-Type':_0x5be4c0(0xfb)},'body':JSON['stringify']({'username':_0x1efa3f,'email':_0x120504,'password':_0x159b20,'inviteCode':_0x94c7c9})})[_0x5be4c0(0x113)](_0x26636c=>_0x26636c['text']())['then'](_0xa3bd47=>{const _0x35b6c1=_0x5be4c0;console[_0x35b6c1(0x121)](_0xa3bd47),_0xa3bd47[_0x35b6c1(0xee)](_0x35b6c1(0x112))?(alert(_0x35b6c1(0x115)),showLoginForm()):alert(_0x35b6c1(0x129)+_0xa3bd47);})[_0x5be4c0(0x122)](_0x1831f3=>{const _0x3c2591=_0x5be4c0;console[_0x3c2591(0x102)]('Fehler:',_0x1831f3),alert(_0x3c2591(0x13f));});}function showHwidVerification(){const _0x27129f=_0x25ce,_0x4f061e=document[_0x27129f(0xf8)]('hwid-section');_0x4f061e[_0x27129f(0x10c)][_0x27129f(0x11f)](_0x27129f(0xf2));}function showHwidVerification(){const _0x4ab9dd=_0x25ce;document[_0x4ab9dd(0xf8)]('hwid-section')[_0x4ab9dd(0x10c)][_0x4ab9dd(0x12d)](_0x4ab9dd(0xf2));}function submitHwid(){const _0x131351=_0x25ce,_0x511395=document[_0x131351(0xf8)]('hwid-input')[_0x131351(0xfe)];fetch(_0x131351(0x12b),{'method':_0x131351(0xfd),'headers':{'Content-Type':_0x131351(0xfb)},'body':JSON['stringify']({'hwid':_0x511395})})[_0x131351(0x113)](_0x351efe=>_0x351efe[_0x131351(0x120)]())[_0x131351(0x113)](_0x48e193=>console[_0x131351(0x121)](_0x48e193))[_0x131351(0x122)](_0x5957ea=>console[_0x131351(0x102)](_0x131351(0xfc),_0x5957ea));}

</script>

</body>
</html>
