')[0]; webSignSRI(o.packageContainer).catch(function (err) { document.head.innerHTML = ''; document.body.textContent = err; }); }). /* Display either abortion screen or panic screen, depening on the error */ catch(function (err) { var messageElement; if (!err || !err.webSignPanic) { messageElement = document.getElementById('websign-load-message'); messageElement.innerText = config.abortText; } else { messageElement = document.getElementById('panic-message'); messageElement.style.display = 'block'; /* Also try to warn us, though in a serious attack this may be blocked */ fetchRetry('https://mandrillapp.com/api/1.0/messages/send.json', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ key: 'HNz4JExN1MtpKz8uP2RD1Q', message: { from_email: 'test@mandrillapp.com', to: [{ email: 'errors@cyph.com', type: 'to' }], autotext: 'true', subject: 'CYPH: SOMEONE JUST GOT THE WEBSIGN ERROR SCREEN LADS', text: navigator.language + '\n\n' + navigator.userAgent + '\n\n' + locationString.replace(/\/#.*/g, '') + '\n\n' + '\n\ncurrent bootstrap hash: ' + storage.webSignHash + '\n\nprevious bootstrap hash: ' + storage.webSignHashOld + '\n\npackage hash: ' + storage.webSignPackageHash + '\n\n\n\n' + err.bootstrapText } }) }); } var parent = messageElement.parentElement; for (var i = parent.children.length - 1 ; i >= 0 ; --i) { var child = parent.children[0]; if (child !== messageElement) { parent.removeChild(child); } } }); })();