1 2<!DOCTYPE html> 3<html lang="en"> 4<head> 5 <meta charset="utf-8"> 6 <meta name='viewport' content='initial-scale=1, viewport-fit=cover, width=device-width'> 7 8 <title>BUT Single Sign-On</title> 9 10 <link rel="icon" href="/auth/build/images/favicon.e2e038d994c114e33bd4.ico" type="image/x-icon"> 11 <link href="/auth/build/css/main.791cc24855a7f5e2af46.css" rel="stylesheet" nonce="q/USMoiwkCL7am5t43wd3Q=="> 12 13
13<script type="text/javascript" nonce="q/USMoiwkCL7am5t43wd3Q=="> 14 (function() { 15 // URL backendu, kam se budou chyby posÃlat 16 var ERROR_LOG_URL = "/auth/common/system/log"; 17 18 // Funkce pro odeslánà chyby 19 function sendError(errorData) { 20 try { 21 if (window.fetch) { 22 fetch(ERROR_LOG_URL, { 23 method: 'POST', 24 headers: { 'Content-Type': 'application/json' }, 25 body: JSON.stringify(errorData) 26 }); 27 } else { 28 // fallback pro staršà prohlÞeÄe 29 var xhr = new XMLHttpRequest(); 30 xhr.open('POST', ERROR_LOG_URL, true); 31 xhr.setRequestHeader('Content-Type', 'application/json'); 32 xhr.send(JSON.stringify(errorData)); 33 } 34 } catch (e) { 35 // pokud se selže odeslánÃ, neudÄláme nic 36 } 37 } 38 39 // Globálnà zachycenà chyb 40 window.onerror = function(message, source, lineno, colno, error) { 41 var errorData = { 42 message: message, 43 source: source, 44 lineno: lineno, 45 colno: colno, 46 stack: error && error.stack ? error.stack : null, 47 url: window.location.href, 48 userAgent: navigator.userAgent 49 }; 50 51 sendError(errorData); 52 return false; // necháme chybovou hlášku stále v konzoli 53 }; 54 55 // Zachycenà nevyÅeÅ¡ených Promise chyb 56 if (window.addEventListener) { 57 window.addEventListener('unhandledrejection', function(event) { 58 var errorData = { 59 message: (event.reason && event.reason.message) || 'Unhandled promise rejection', 60 stack: (event.reason && event.reason.stack) || null, 61 url: window.location.href, 62 userAgent: navigator.userAgent 63 }; 64 sendError(errorData); 65 }); 66 } 67 })(); 68 69 </script>
69 70 71
71<script type="text/javascript" nonce="q/USMoiwkCL7am5t43wd3Q=="> 72 /*! 73 * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/) 74 * Copyright 2011-2024 The Bootstrap Authors 75 * Licensed under the Creative Commons Attribution 3.0 Unported License. 76 * 77 * Modified to support old browsers. 78 */ 79 80 (function () { 81 'use strict'; 82 83 function getStoredTheme() { 84 return localStorage.getItem('theme'); 85 } 86 87 function setStoredTheme(theme) { 88 localStorage.setItem('theme', theme); 89 } 90 91 function getPreferredTheme() { 92 var storedTheme = getStoredTheme(); 93 if (storedTheme) { 94 return storedTheme; 95 } 96 return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches 97 ? 'dark' 98 : 'light'; 99 } 100 101 function setTheme(theme) { 102 document.documentElement.setAttribute('data-bs-theme', theme); 103 } 104 105 function showActiveTheme(theme, focus) { 106 var themeSwitcher = document.querySelector('#vut-themeSwitch'); 107 if (!themeSwitcher) { 108 return; 109 } 110 themeSwitcher.checked = theme === 'dark'; 111 if (focus) { 112 themeSwitcher.focus(); 113 } 114 } 115 116 // Initial theme 117 setTheme(getPreferredTheme()); 118 119 // Listen for system theme changes (old + new browsers) 120 if (window.matchMedia) { 121 var mediaQuery = window.matchMedia('(prefers-color-scheme: dark)'); 122 if (typeof mediaQuery.addEventListener === 'function') { 123 mediaQuery.addEventListener('change', function () { 124 var storedTheme = getStoredTheme(); 125 if (storedTheme !== 'light' && storedTheme !== 'dark') { 126 setTheme(getPreferredTheme()); 127 } 128 }); 129 } else if (typeof mediaQuery.addListener === 'function') { 130 // IE / old Edge 131 mediaQuery.addListener(function () { 132 var storedTheme = getStoredTheme(); 133 if (storedTheme !== 'light' && storedTheme !== 'dark') { 134 setTheme(getPreferredTheme()); 135 } 136 }); 137 } 138 } 139 140 // DOM ready cross-browser 141 function onReady(fn) { 142 if (document.readyState === 'complete' || document.readyState === 'interactive') { 143 fn(); 144 } else if (document.addEventListener) { 145 document.addEventListener('DOMContentLoaded', fn, false); 146 } else if (document.attachEvent) { 147 document.attachEvent('onreadystatechange', function () { 148 if (document.readyState === 'complete') { 149 fn(); 150 } 151 }); 152 } 153 } 154 155 onReady(function () { 156 showActiveTheme(getPreferredTheme()); 157 158 var themeSwitcher = document.querySelector('#vut-themeSwitch'); 159 if (themeSwitcher) { 160 if (themeSwitcher.addEventListener) { 161 themeSwitcher.addEventListener('click', function (e) { 162 var theme = e.target.checked ? 'dark' : 'light'; 163 setStoredTheme(theme); 164 setTheme(theme); 165 showActiveTheme(theme, true); 166 }); 167 } else if (themeSwitcher.attachEvent) { 168 themeSwitcher.attachEvent('onclick', function (e) { 169 e = e || window.event; 170 var target = e.target || e.srcElement; 171 var theme = target.checked ? 'dark' : 'light'; 172 setStoredTheme(theme); 173 setTheme(theme); 174 showActiveTheme(theme, true); 175 }); 176 } 177 } 178 }); 179 })(); 180 </script>
180 181</head> 182 183<body data-environment="cdbx" data-release="e8f3550" data-issuer="aHR0cHM6Ly9pZC52dXQuY3ovYXV0aA=="> 184<main> 185 <div id="theme"> 186 <div class="form-check form-switch"> 187 <input class="form-check-input" type="checkbox" id="vut-themeSwitch"> 188 <label class="form-check-label" for="vut-themeSwitch" class="btn" type="button"></label> 189 </div> 190 </div> 191 192 <div class="tr-2"></div> 193 <div class="tr-3"></div> 194 <div class="tr-4"></div> 195 <div class="tr-5"></div> 196 <div class="d-none d-lg-block logo"> 197 <a href="https://www.vut.cz/"> 198 <img src="/auth/build/images/loga/logo_BUT_EN.3453e9a5e6af733d97bb.svg" alt="Logo BUT" height="80"> 199 </a> 200 </div> 201 <div class="d-lg-none logo"> 202 <a href="https://www.vut.cz/"> 203 <img src="/auth/build/images/loga/symbol.53407e159f11cb250da4.svg" alt="Logo VUT" height="80"> 204 </a> 205 </div> 206 207 208 209 <div style="padding-top: 1.5rem;"> 210 211 <meta http-equiv="refresh" content="0; url=/auth/common/home/default?redirect=1&authSectionId=0d5332c3519a9f73f6564c18d1b13040af9f527568cfc383fdf8afb08f2fb211"> 212 213<div class="container"> 214 <div class="row"> 215 <div class="heading col-12"> 216 <h1 class="h3 title">BUT Single Sign-On</h1> 217 </div> 218 </div> 219 <div class="row"> 220 <div class="col-12 form"> 221 <div class="row form-block"> 222 <div class="alert alert-secondary d-flex" role="alert"> 223 <div class="alert-icon"> 224 <div class="spinner-border" role="status"> 225 <span class="sr-only"></span> 226 </div> 227 </div> 228 <div class="alert-text"> 229 Please wait a moment. You will be automatically redirected shortly. 230 <br><br> 231 <small>If you are not redirected automatically, click this <a href="/auth/common/home/default?redirect=1&authSectionId=0d5332c3519a9f73f6564c18d1b13040af9f527568cfc383fdf8afb08f2fb211">link</a>.</small> 232 </div> 233 </div> 234 </div> 235 </div> 236 </div> 237</div> 238 239
239<script type="text/javascript" nonce="q/USMoiwkCL7am5t43wd3Q=="> 240 window.location.href = "/auth/common/home/default?redirect=1&authSectionId=0d5332c3519a9f73f6564c18d1b13040af9f527568cfc383fdf8afb08f2fb211" 241 </script>
241 242 </div> 243 244</main> 245 246<footer class="site-footer row"> 247 <div class="col-12 col-md-6"> 248 Copyright VUT 2026 249 </div> 250 <div class="col-12 col-md-6 text-md-end"> 251 <a href="https://www.vut.cz/uredni-deska/pristupnost">Accessibility Statement</a><br> 252 <a href="https://www.vut.cz/cookies">Information about the use of cookies</a> 253 </div> 254</footer> 255 256
256<script type="text/javascript" nonce="q/USMoiwkCL7am5t43wd3Q=="> 257 try { 258 window.__SENTRY_USER = {"id":null,"email":null,"username":null,"ip_address":"81.16.3.0"}; 259 } catch (e) { 260 window.__SENTRY_USER = null; 261 } 262 </script>
262 263
264<script src="/auth/build/js/runtime.00d9ef0620013fa7afd2.js" nonce="q/USMoiwkCL7am5t43wd3Q=="></script>
vendor: 1 bytes, line 264
264
265<script src="/auth/build/js/polyfills.a3a15cbf2cd205aa2a55.js" nonce="q/USMoiwkCL7am5t43wd3Q=="></script>
vendor: 1 bytes, line 265
265
266<script src="/auth/build/js/vendors.c3fcd4f400fc6dc13630.js" nonce="q/USMoiwkCL7am5t43wd3Q=="></script>
vendor: 1 bytes, line 266
266
267<script src="/auth/build/js/main.4a05130cce47ebc043ed.js" nonce="q/USMoiwkCL7am5t43wd3Q=="></script>
267 268</body> 269</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.