"use strict"; if (!window['console']) window['console'] = { "log": function (msg) { } }; var wah = '', is_touch = 'ontouchstart' in window, is_https = (window.location + '').indexOf('https:') === 0, IPHONE = is_touch && /iPhone|iPad|iPod/i.test(navigator.userAgent), WINDOWS = navigator.platform ? navigator.platform == 'Win32' : /Windows/.test(navigator.userAgent); var ebi = document.getElementById.bind(document), QS = document.querySelector.bind(document), QSA = document.querySelectorAll.bind(document), XHR = XMLHttpRequest; function mknod(et, eid) { var ret = document.createElement(et); if (eid) ret.id = eid; return ret; } function qsr(sel) { var el = QS(sel); if (el) el.parentNode.removeChild(el); return el; } // error handler for mobile devices function esc(txt) { return txt.replace(/[&"<>]/g, function (c) { return { '&': '&', '"': '"', '<': '<', '>': '>' }[c]; }); } function basenames(txt) { return (txt + '').replace(/https?:\/\/[^ \/]+\//g, '/').replace(/js\?_=[a-zA-Z]{4}/g, 'js'); } if ((document.location + '').indexOf(',rej,') + 1) window.onunhandledrejection = function (e) { var err = e.reason; try { err += '\n' + e.reason.stack; } catch (e) { } err = basenames(err); console.log("REJ: " + err); try { toast.warn(30, err); } catch (e) { } }; try { console.hist = []; var hook = function (t) { var orig = console[t].bind(console), cfun = function () { console.hist.push(Date.now() + ' ' + t + ': ' + Array.from(arguments).join(', ')); if (console.hist.length > 100) console.hist = console.hist.slice(50); orig.apply(console, arguments); }; console['std' + t] = orig; console[t] = cfun; }; hook('log'); console.log('log-capture ok'); hook('debug'); hook('warn'); hook('error'); } catch (ex) { if (console.stdlog) console.log = console.stdlog; console.log('console capture failed', ex); } var crashed = false, ignexd = {}; function vis_exh(msg, url, lineNo, columnNo, error) { if ((msg + '').indexOf('ResizeObserver') + 1) return; // chrome issue 809574 (benign, from