"use strict"; if (!window.console || !console.log) window.console = { "log": function (msg) { } }; if (window.CGV) for (var k in CGV) window[k] = CGV[k]; var wah = '', STG = null, NOAC = 'autocorrect="off" autocapitalize="off"', L, tt, treectl, thegrid, up2k, asmCrypto, hashwasm, vbar, marked, T0 = Date.now(), R = SR.slice(1), RS = R ? "/" + R : "", HALFMAX = 8192 * 8192 * 8192 * 8192, HTTPS = ('' + location).indexOf('https:') === 0, TOUCH = 'ontouchstart' in window, MOBILE = TOUCH, CHROME = !!window.chrome, VCHROME = CHROME ? 1 : 0, IE = /Trident\//.test(navigator.userAgent), FIREFOX = ('netscape' in window) && / rv:/.test(navigator.userAgent), IPHONE = TOUCH && /iPhone|iPad|iPod/i.test(navigator.userAgent), LINUX = /Linux/.test(navigator.userAgent), MACOS = /[^a-z]mac ?os/i.test(navigator.userAgent), WINDOWS = /Windows/.test(navigator.userAgent); if (!window.WebAssembly || !WebAssembly.Memory) window.WebAssembly = false; if (!window.Notification || !Notification.permission) window.Notification = false; if (!window.FormData) window.FormData = false; try { STG = window.localStorage; STG.STG; } catch (ex) { STG = null; if ((ex + '').indexOf('sandbox') < 0) console.log('no localStorage: ' + ex); } try { if (navigator.userAgentData.mobile) MOBILE = true; if (navigator.userAgentData.platform == 'Windows') WINDOWS = true; CHROME = navigator.userAgentData.brands.find(function (d) { return d.brand == 'Chromium' }); if (CHROME) VCHROME = CHROME.version; else VCHROME = 0; CHROME = !!CHROME; } catch (ex) { } var ebi = document.getElementById.bind(document), QS = document.querySelector.bind(document), QSA = document.querySelectorAll.bind(document), XHR = XMLHttpRequest; function mknod(et, eid, html) { var ret = document.createElement(et); if (eid) ret.id = eid; if (html) ret.innerHTML = html; 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 CMAXHIST = MOBILE ? 9000 : 44000; 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 > CMAXHIST) console.hist = console.hist.slice(CMAXHIST / 4); 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 = {}, evalex_fatal = false; function vis_exh(msg, url, lineNo, columnNo, error) { var ekey = url + '\n' + lineNo + '\n' + msg; if (ignexd[ekey] || crashed) return; msg = String(msg); url = String(url); if (msg.indexOf('ResizeObserver') + 1) return; // chrome issue 809574 (benign, from