!function(){"use strict";(t=>{try{const{screen:{width:p,height:y},navigator:{language:v,doNotTrack:b,msDoNotTrack:w},location:S,document:E,history:_,top:A,doNotTrack:T}=t,{currentScript:N,referrer:x}=E;if(!N)return;const{hostname:U,href:M,origin:C}=S;let I;try{I=M.startsWith("data:")?void 0:t.localStorage}catch{}const k=N.getAttribute.bind(N),L=t=>k(`data-${t}`);const O=(d=N.src,g=new RegExp("[?&]"+"site"+"=([^&#]*)"),(m=d.match(g))?decodeURIComponent(m[1]):null),R=L("host-url"),B=L("before-send"),D=L("tag")||void 0,$="false"!==L("auto-track"),j="true"===L("do-not-track"),P="true"===L("exclude-search"),K="true"===L("exclude-hash"),W=L("domains")||"",H=W.split(",").map(t=>t.trim()),G=`${(R||""||N.src.split("/").slice(0,-1).join("/")).replace(/\/$/,"")}/bt-stats.gif`,J=`${p}x${y}`,V="89e2d560-9071-4b71-b581-05471afeca07:8d7f27b7-e1cc-44e7-92c9-8284e47287ab:400a37ea2ee39231f3ad589b140cc63bddc936d330f4053fc0d6b0b0f241a1fc",Y="1783603424",q={},Q="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzIkwSKmXwZNPszDk32xq7vGQTQlF1DXrKEuBI3q5WiUH7AJkh0LWwbYn3zVdNl0UEXf9hEE0UqDM3FyPyIcoxP6vue4XFHUbwYiMGOnRM5YgZ717iEdyYLstP+pUsnfzZNyWEciW+TrGN0YIZm0ieaVCUL6uy8Bbr0KdZFeCjv+3pC+HddywgoV3Qs2kpv3c1YdMlLcNY4nc6gu7BcFLuKK3oBV7kBtstfNFA/ubuzT2cCH6UrgAkGVmnu0fmTZ/iymYC+GPKrVJLftnq4b7Mht/TdNw1fuSkL2at4wt2LaVMw19eDenEbqK4ljWwOZW/3gFgCP0Y6GJrrn/vqV4gwIDAQAB",X="89e2d560-9071-4b71-b581-05471afeca07",z="8d7f27b7-e1cc-44e7-92c9-8284e47287ab";let F=null;var e,n=0;function Z(){if(!e)if(q&&"object"==typeof q&&!Array.isArray(q))try{e=Object.keys(q).map(function(t){var e=t.replace(/[.+^${}()|[\]\\]/g,"\\$&");return{pattern:new RegExp("^"+e.replace(/\*/g,".*")+"$","i"),value:q[t]}})}catch(t){e=[]}else e=[]}function tt(){if(Z(),!e||0===e.length)return!1;for(var t=0;t1&&(i+=":nth-of-type("+l+")")}e.unshift(i),n=s,r++}return e.join(" > ")}function nt(t){var e=t.target,n=E.documentElement.clientWidth||1,a=E.documentElement.clientHeight||1,o=E.documentElement.scrollWidth||1,i=E.documentElement.scrollHeight||1;r.push({nx:Math.round(t.pageX/o*1920),ny:Math.round(t.pageY/i*(1920/o*i)),s:et(e),vw:Math.round(n),vh:Math.round(a),t:Date.now()}),r.length>=5&&rt()}function rt(){if(r.length){var t=r.slice();if(r=[],tt()){var e={...St(),url_id:n,clicks:t};console.log("[btStats] heatmap behavior:",JSON.stringify(e)),Nt(e,"heat_map")}}}function at(t){const e=atob(t),n=new Uint8Array(e.length);for(let t=0;tt>>>e|t<<32-e>>>0;let r=1779033703,a=3144134277,o=1013904242,i=2773480762,c=1359893119,s=2600822924,l=528734635,u=1541459225;const f=t.length,h=f+9+63>>6<<6,d=new Uint8Array(h);d.set(t),d[f]=128;const g=8*Math.floor(f/536870912),m=8*f>>>0;d[h-8]=g>>>24&255,d[h-7]=g>>>16&255,d[h-6]=g>>>8&255,d[h-5]=255&g,d[h-4]=m>>>24&255,d[h-3]=m>>>16&255,d[h-2]=m>>>8&255,d[h-1]=255&m;for(let t=0;t>>0}for(let t=16;t<64;t++){const e=f[t-15],r=f[t-2],a=(n(e,7)^n(e,18)^e>>>3)>>>0,o=(n(r,17)^n(r,19)^r>>>10)>>>0;f[t]=f[t-16]+a+f[t-7]+o>>>0}let h=r,g=a,m=o,p=i,y=c,v=s,b=l,w=u;for(let t=0;t<64;t++){const r=w+((n(y,6)^n(y,11)^n(y,25))>>>0)+((y&v^~y&b)>>>0)+e[t]+f[t]>>>0,a=(h&g^h&m^g&m)>>>0;w=b,b=v,v=y,y=p+r>>>0,p=m,m=g,g=h,h=r+(((n(h,2)^n(h,13)^n(h,22))>>>0)+a>>>0)>>>0}r=r+h>>>0,a=a+g>>>0,o=o+m>>>0,i=i+p>>>0,c=c+y>>>0,s=s+v>>>0,l=l+b>>>0,u=u+w>>>0}const p=new Uint8Array(32),y=[r,a,o,i,c,s,l,u];for(let t=0;t<8;t++)p[4*t]=y[t]>>>24&255,p[4*t+1]=y[t]>>>16&255,p[4*t+2]=y[t]>>>8&255,p[4*t+3]=255&y[t];return p}function ct(t,e){const n=new Uint8Array(e);for(let r=0,a=0;a>>24&255,o[t.length+1]=r>>>16&255,o[t.length+2]=r>>>8&255,o[t.length+3]=255&r;const i=it(o),c=Math.min(32,e-a);for(let t=0;t0n;)1n&p&&(m=m*g%e),p>>=1n,g=g*g%e;const y=new Uint8Array(r);for(let t=r-1;t>=0&&m>0n;t--)y[t]=Number(0xffn&m),m>>=8n;return y}function lt(t){let e=0;function n(){return t[e++]}function r(){let n=t[e++];if(128&n){const r=127&n;n=0;for(let a=0;a1;)i++;const c=i,s=o-(c-e);let l=0n;for(let e=0;e0n;)d>>=8n,h++;return{n:l,e:f,keyBytes:h}}function ut(){if(!Q||0===Q.indexOf("__"))return null;if(F)return F;try{const t=atob(Q);let e;if(-1!==t.indexOf("-----BEGIN")){e=at(t.replace(/-----BEGIN[^-]+-----/g,"").replace(/-----END[^-]+-----/g,"").replace(/[\s\r\n]/g,""))}else{e=new Uint8Array(t.length);for(let n=0;n>6,128|63&r);else if(r<55296||r>=57344)e.push(224|r>>12,128|r>>6&63,128|63&r);else{n++;var a=65536+((1023&r)<<10|1023&t.charCodeAt(n));e.push(240|a>>18,128|a>>12&63,128|a>>6&63,128|63&a)}}return new Uint8Array(e)}function gt(){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let e="";const n=new Uint8Array(32);ht(n);for(let r=0;r<32;r++)e+=t[n[r]%t.length];return e}function mt(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e.join("&")}function pt(t,e,n){if(e&&0!==e.indexOf("__")){var r=t+"="+encodeURIComponent(e)+"; path=/; SameSite=Lax";if(n>0){var a=new Date;a.setTime(a.getTime()+24*n*60*60*1e3),r+="; expires="+a.toUTCString()}E.cookie=r}}const yt=t=>{if(!t)return t;try{const e=new URL(t,S.href);return P&&(e.search=""),K&&(e.hash=""),e.toString()}catch{return t}};let vt=yt(M),bt=yt(x.startsWith(C)?"":x);var a;function wt(){var e=10,n=S.protocol,r=S.hostname,a=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(r),o="localhost"===r||"127.0.0.1"===r;"https:"!==n&&(e-=1),t.top!==t.self&&(e-=1),a&&(e-=1),E.title&&0!==E.title.length||(e-=.5);try{E.querySelector('link[rel*="icon"]')||(e-=.5)}catch(t){}return o&&(e-=2),e}a=wt();const St=()=>({website:O,screen:J,language:v,title:E.title,hostname:U,url:vt,referrer:bt,tag:D}),Et=()=>{const t=T||b||w;return 1===t||"1"===t||"yes"===t};let _t;function At(){if(void 0!==_t)return _t;var t=navigator.userAgent;try{if(navigator.webdriver)return _t=!0,!0;if(/Headless|PhantomJS/i.test(t))return _t=!0,!0;var e=E.createElement("canvas"),n=e.getContext("webgl")||e.getContext("experimental-webgl");if(n){var r=n.getExtension("WEBGL_debug_renderer_info");if(r){var a=n.getParameter(r.UNMASKED_RENDERER_WEBGL);if("string"==typeof a&&-1!==a.indexOf("SwiftShader"))return _t=!0,!0}}}catch(t){}return _t=!1,!1}const Tt=()=>Bt||!O||At()||I&&I.getItem("umami.disabled")||W&&!H.includes(U)||j&&Et();async function Nt(e,n="event"){try{if(Tt())return;const o=t[B];if("function"==typeof o&&(e=await Promise.resolve(o(n,e))),!e)return;const i=JSON.stringify({type:n,payload:e});tt()&&console.log("[btStats] Heatmap page matched:",vt),console.log("[btStats] report payload: event");const c=ft(i);if(!c)return void console.warn("[btStats] 加密失败:未配置 RSA 公钥或加密错误,上报已跳过");var r={token:V,site:O,v:c,nonce:gt(),node_time:Y};e&&null!=e.duration&&(r.duration=e.duration);var a=mt(r);(new Image).src=G+"?"+a}catch(t){try{console.error("[btStats] send error:",t)}catch(t){}}}function xt(){const e={};let n,r=!1,a=!0,o=0,i=performance.now();const c=(t,e)=>{try{new PerformanceObserver(t=>{t.getEntries().forEach(e)}).observe({type:t,buffered:!0})}catch{}};c("navigation",t=>{o=t.activationStart||0,e.ttfb=Math.max(t.responseStart-o,0)}),c("paint",t=>{"first-contentful-paint"===t.name&&(e.fcp=Math.max(t.startTime-o,0))}),c("largest-contentful-paint",t=>{e.lcp=Math.max(t.startTime-o,0)});let s=0,l=[];c("layout-shift",t=>{if(!t.hadRecentInput){const n=l[l.length-1],r=l[0];n&&t.startTime-n.startTime-n.duration<1e3&&t.startTime-r.startTime<5e3?(s+=t.value,l.push(t)):(s=t.value,l=[t]),s>(e.cls||0)&&(e.cls=s)}});let u={};try{new PerformanceObserver(t=>{t.getEntries().forEach(t=>{if(t.interactionId){const n=u[t.interactionId];(!n||t.duration>n)&&(u[t.interactionId]=t.duration);const r=Object.values(u).sort((t,e)=>e-t);if(r.length){const t=Math.floor(.02*Math.max(r.length,10));e.inp=r[Math.min(t,r.length-1)]}}})}).observe({type:"event",buffered:!0,durationThreshold:40})}catch{}const f=e=>{try{return t.performance?.getEntriesByType?.(e)||[]}catch{return[]}};function h(){r||(!function(){if(a){if(void 0===e.ttfb){const t=f("navigation")?.[0];t&&(e.ttfb=Math.max(t.responseStart-(t.activationStart||0),0))}if(void 0===e.fcp){const t=f("paint")?.find(t=>"first-contentful-paint"===t.name);t&&(e.fcp=Math.max(t.startTime-o,0))}if(void 0===e.lcp){const t=f("largest-contentful-paint"),n=t?.[t.length-1];n&&(e.lcp=Math.max(n.startTime-o,0))}}}(),e.duration=Math.round(performance.now()-i),r=!0,n&&clearTimeout(n),Nt({...St(),...e},"performance"))}Ot=()=>{h(),a=!1,Object.keys(e).forEach(t=>delete e[t]),o=0,i=performance.now(),s=0,l=[],u={},r=!1,n&&clearTimeout(n),n=setTimeout(h,1e4)},n=setTimeout(h,1e4),E.addEventListener("visibilitychange",()=>{"hidden"===E.visibilityState&&h()}),t.addEventListener("pagehide",h)}const Ut=/data-umami-event-([\w-_]+)/,Mt="data-umami-event";function Ct(){const t=async t=>{const e=t.getAttribute(Mt);if(e){const n={};return t.getAttributeNames().forEach(e=>{const r=e.match(Ut);r&&(n[r[1]]=t.getAttribute(e))}),Nt(n,e)}};E.addEventListener("click",async e=>{const n=e.target,r=n.closest("a,button");if(!r)return void t(n);const{href:a,target:o}=r;if(r.getAttribute(Mt))if("BUTTON"!==r.tagName){if("A"===r.tagName&&a){const n="_blank"===o||e.ctrlKey||e.shiftKey||e.metaKey||e.button&&1===e.button;n||e.preventDefault(),t(r).then(()=>{n||(("_top"===o?A.location:S).href=a)})}}else t(r)},!0)}let It=null;function kt(){const t=(t,e,n)=>{const r=t[e];return(...e)=>(n.apply(null,e),r.apply(t,e))},e=(t,e,n)=>{if(n){It&&(clearTimeout(It),It=null),"function"==typeof Ot&&Ot(),rt();try{"function"==typeof Pt&&Pt()}catch(t){}try{o=!1,i=0,c=0,s=!1,"hidden"!==E.visibilityState&&($t(),Kt())}catch(t){}bt=vt,vt=yt(n),vt!==bt&&(It=setTimeout(function(){It=null,Lt()},300))}};_.pushState=t(_,"pushState",e),_.replaceState=t(_,"replaceState",e)}const Lt=(t,e)=>Nt("string"==typeof t?{...St(),name:t,data:e}:"object"==typeof t?{...t}:"function"==typeof t?t(St()):{...St(),score:a});t.btStats={track:Lt};let Ot,Rt=!1,Bt=!1;var o=!1,i=0,c=0,s=!1,l=null,u=30*60*1e3;function Dt(){s&&c>0&&(i+=performance.now()-c,c=0),s=!1}function $t(){o||i>=u||s||(c=performance.now(),s=!0)}function jt(){var t=i;return s&&c>0&&(t+=performance.now()-c),Math.round(t)}function Pt(){if(!o){o=!0,Dt(),l&&(clearTimeout(l),l=null);var t=jt();console.log("[btStats] page_leave, duration:",t,"ms"),Nt({duration:t},"page_leave")}}function Kt(){l&&clearTimeout(l);var t=u-jt();t<=0?Pt():l=setTimeout(function(){jt()>=u?Pt():Kt()},t)}function Wt(){if(!Rt){Rt=!0;try{pt("ANACCOUNT",X,365),pt("ANASID",z,0)}catch(t){}try{Lt()}catch(t){try{console.error("[btStats] track error:",t)}catch(t){}}try{kt()}catch(t){}try{Ct()}catch(t){}try{xt()}catch(t){}try{tt()&&(E.addEventListener("click",nt,!0),setInterval(rt,1e4),E.addEventListener("visibilitychange",function(){"hidden"===E.visibilityState&&rt()}),t.addEventListener("pagehide",rt))}catch(t){}try{o=!1,i=0,c=0,s=!1,"hidden"!==E.visibilityState&&($t(),Kt()),E.addEventListener("visibilitychange",function(){"hidden"===E.visibilityState?Dt():o||($t(),Kt())}),t.addEventListener("pagehide",function(){o||Pt()})}catch(t){}}}$&&!Tt()&&("complete"===E.readyState?Wt():E.addEventListener("readystatechange",Wt,!0))}catch(Ht){console.error("[btStats] init error:",Ht);var f=Ht&&Ht.message?String(Ht.message):String(Ht),h=encodeQueryParams({msg:f.substring(0,500),url:href});(new Image).src=host.replace(/\/$/,"")+"?"+h}var d,g,m})(window)}();