@tengence/track-sdk-web 1.1.4 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +292 -1
- package/dist/client.d.ts +40 -4
- package/dist/index.d.ts +5 -1
- package/dist/index.mjs +1 -1
- package/dist/index.umd.d.ts +2 -0
- package/dist/interface/index.d.ts +51 -7
- package/dist/plugin/behavior.d.ts +3 -1
- package/dist/plugin/error.d.ts +1 -1
- package/dist/plugin/expose.d.ts +2 -2
- package/dist/plugin/form.d.ts +3 -0
- package/dist/tengence-track-sdk@1.1.10.js +1 -0
- package/dist/tengence-track-sdk@1.1.11.js +1 -0
- package/dist/tengence-track-sdk@1.1.12.js +1 -0
- package/dist/tengence-track-sdk@1.1.13.js +1 -0
- package/dist/tengence-track-sdk@1.1.14.js +1 -0
- package/dist/tengence-track-sdk@1.1.15.js +1 -0
- package/dist/tengence-track-sdk@1.1.16.js +1 -0
- package/dist/tengence-track-sdk@1.1.17.js +1 -0
- package/dist/tengence-track-sdk@1.1.5.js +1 -0
- package/dist/tengence-track-sdk@1.1.6.js +1 -0
- package/dist/tengence-track-sdk@1.1.7.js +1 -0
- package/dist/tengence-track-sdk@1.1.8.js +1 -0
- package/dist/tengence-track-sdk@1.1.9.js +1 -0
- package/dist/tengence-track-sdk@1.2.0.js +1 -0
- package/dist/utils/hash.d.ts +16 -0
- package/dist/utils/helper.d.ts +21 -0
- package/dist/utils/logger.d.ts +2 -2
- package/dist/utils/md5.d.ts +2 -0
- package/dist/utils/request.d.ts +25 -9
- package/package.json +15 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TrackSDK={})}(this,(function(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e))||n){r&&(e=r);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return c=e.done,e},e:function(e){u=!0,a=e},f:function(){try{c||null==r.return||r.return()}finally{if(u)throw a}}}}function i(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var u=function(e,t){return u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},u(e,t)};var l=function(){return l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},l.apply(this,arguments)};function s(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function c(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}u((r=r.apply(e,t||[])).next())}))}function d(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function p(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var m=function(e){function t(t,n){var r=e.call(this,n||"[TM]: Auth error ".concat(t))||this;return Object.defineProperty(r,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.name="AuthError",r.status=t,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error),h=function(e){var t=e.method,n=e.url,r=e.data,o=e.headers,i=void 0===o?{}:o,a=e.withCredentials,c=void 0!==a&&a,u=e.timeoutMs;return new Promise((function(e,o){var a=new XMLHttpRequest;a.open(t,n,!0),u&&(a.timeout=u),Object.keys(i).forEach((function(e){a.setRequestHeader(e,i[e])})),a.withCredentials=!!c,a.onreadystatechange=function(){if(4===a.readyState)if(a.status>=200&&a.status<300)try{var t=JSON.parse(a.responseText);e(t)}catch(e){o(e)}else{var n=new Error("[TM]: Request failed with status ".concat(a.status));n.status=a.status,o(n)}},a.onerror=function(){o(new Error("[TM]: Network error"))},a.ontimeout=function(){var e=new Error("[TM]: Request timeout");e.timeout=!0,o(e)},"POST"===t&&r?a.send(r):a.send()}))},y=function(e,t,n){if(!n)return fetch(e,t);var r=new AbortController,o=setTimeout((function(){return r.abort()}),n);return fetch(e,l(l({},t),{signal:r.signal})).catch((function(e){if(e&&"AbortError"===e.name){var t=new Error("[TM]: Request timeout");throw t.timeout=!0,t}throw e})).finally((function(){return clearTimeout(o)}))},g=function(e,t,n,r){var o={"Content-Type":"application/json"};n&&(o.Authorization="Bearer ".concat(n));var i=function(){return h({method:"POST",url:e,data:JSON.stringify(t),headers:o,withCredentials:!0,timeoutMs:r})};return"function"!=typeof fetch?i():y(e,{method:"POST",keepalive:!0,credentials:"include",headers:o,body:JSON.stringify(t)},r).then((function(e){if(401===e.status||403===e.status)throw new m(e.status,"[TM]: Auth error ".concat(e.status));if(429===e.status){(r=new Error("[TM]: Request throttled with status 429")).status=429;var t=e.headers.get("Retry-After");if(t){var n=parseInt(t,10);isNaN(n)||(r.retryAfter=1e3*n)}throw r}var r;if(!e.ok)throw(r=new Error("[TM]: Request failed with status ".concat(e.status))).status=e.status,r;return e.json()})).catch((function(e){if(e instanceof m)throw e;if(e&&e.status)throw e;return i()}))},w=window.requestIdleCallback||window.requestAnimationFrame||function(e){return setTimeout(e,17)};function T(e,t,n){void 0===t&&(t=150),void 0===n&&(n=!1);var r=null;return function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=this,c=n&&!r;r&&clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(a,o)}),t),c&&e.apply(a,o)}}var b=function(e,t){void 0===t&&(t=300);var n=0;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=Date.now();i-n>=t&&(n=i,e.apply(this,r))}};function _(e,t){if(void 0===t&&(t=""),!e)return t;var n=e.parentElement,r=e.id,o=e.tagName.toLowerCase(),i=t?">".concat(t):"";return n&&n!==document.documentElement&&n!==document.body?r?"#".concat(r).concat(i):_(n,"".concat(o).concat(i)):"".concat(o).concat(i)}var S=function(){var e,t;if(null===(e=window.performance)||void 0===e?void 0:e.navigation)return performance.navigation.type;if(null===(t=window.performance)||void 0===t?void 0:t.getEntriesByType){var n=performance.getEntriesByType("navigation");if(n.length>0)return n[0].type}return 255},E=function(e){"prerendering"in document&&document.prerendering?function(e){"prerendering"in document&&document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()}((function(){return E(e)})):"complete"!==(null===document||void 0===document?void 0:document.readyState)?addEventListener("load",(function(){return E(e)}),!0):setTimeout(e)};function k(e){return"number"!=typeof e||!isFinite(e)||e<0?null:Math.round(100*e)/100}var x=Array(32);function A(e){return function(){for(var t=0;t<2*e;t++)x[t]=Math.floor(16*Math.random())+48,x[t]>=58&&(x[t]+=39);return String.fromCharCode.apply(null,x.slice(0,2*e))}}function M(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():A(16)()}var L=function(e){return e instanceof ErrorEvent?"Script error."===e.message?"cors":"js":"resource"},C=function(e){return function(e){for(var t=5381,n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t.toString(16).padStart(8,"0")}(e)};var I,O,R={view:"#3b82f6",click:"#06b6d4",expose:"#8b5cf6",enter:"#10b981",leave:"#f59e0b",stay:"#84cc16",cart:"#ec4899",buy:"#ef4444",pay:"#dc2626",default:"#6b7280"},P={view:"👁️",click:"👆",expose:"✨",enter:"🚪",leave:"👋",stay:"⏱️",cart:"🛒",buy:"💰",pay:"💳",default:"📊"},q={common:"#3b82f6",behavior:"#10b981",performance:"#f59e0b",error:"#ef4444",custom:"#8b5cf6",default:"#6b7280"},N=function(e,t){t.forEach((function(t,n){var r=t.event_type||"unknown",o=t.data_type||"common",i=function(e){return R[e]||R.default}(r),a=function(e){return q[e]||q.default}(o),c=function(e){return P[e]||P.default}(r),u=t.event_detail;if("string"==typeof u)try{u=JSON.parse(u)}catch(e){}console.groupCollapsed("%c".concat(c," [TM-").concat(e,"] %c").concat(o.toUpperCase(),"%c → %c").concat(r.toUpperCase(),"%c #").concat(n+1),"color: #6b7280; font-weight: bold;","color: ".concat(a,"; font-weight: bold; background: ").concat(a,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280;","color: ".concat(i,"; font-weight: bold; background: ").concat(i,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280; font-weight: normal;");var s=l(l({},t),{event_detail:u});console.log("%c"+JSON.stringify(s,null,2),"color: #6b7280; font-family: monospace; font-size: 11px; line-height: 1.5;"),console.groupEnd()})),console.log("%c✅ [TM] 本次通过 ".concat(e," 上报 ").concat(t.length," 条埋点数据"),"color: #10b981; font-weight: bold; font-size: 12px; padding: 4px 8px; background: #10b98120; border-radius: 4px; border-left: 3px solid #10b981;")},j=void 0,U="TRACK_MONITOR_DATA",D="MONITOR_REAL_TIME_DATA",B="TRACK_MONITOR_USER",z="tengence_device_id",H="tengence_register_properties",F="TRACK_MONITOR_LOGGER",K="tengence_tracking_enabled",J=2e3,W="tengence_access_token",X=null,G=null,Q=function(e){return(t=e,n={},r=null==j?void 0:j.requestTimeout,o={"Content-Type":"application/json"},i=function(){return h({method:"POST",url:t,data:JSON.stringify(n),headers:o,withCredentials:!0,timeoutMs:r})},"function"!=typeof fetch?i():y(t,{method:"POST",credentials:"include",headers:o,body:JSON.stringify(n)},r).then((function(e){if(!e.ok){var t=new Error("[TM]: Request failed with status ".concat(e.status));throw t.status=e.status,t}return e.json()})).catch((function(e){if(e&&e.status)throw e;return i()}))).then((function(e){var t=e&&e.data,n=t&&t.accessToken,r=t&&t.accessExpAt;if(!n||"number"!=typeof r)throw new Error("[TM]: authUrl 响应缺少 accessToken/accessExpAt");return function(e,t){X={token:e,expAt:t};try{localStorage.setItem(W,JSON.stringify({token:e,expAt:t}))}catch(e){}}(n,r),n}));var t,n,r,o,i},$=function(e){var t,n=function(){if(X)return X;try{var e=localStorage.getItem(W);if(!e)return null;var t=JSON.parse(e);if(t&&"string"==typeof t.token&&t.token&&"number"==typeof t.expAt)return X={token:t.token,expAt:t.expAt}}catch(e){}return null}();return(t=n)&&t.token.length>0&&t.expAt-6e4>Date.now()?Promise.resolve(n.token):(G||(G=Q(e).catch((function(e){throw e})).finally((function(){G=null}))),G)},Y={timer:null,promise:null},V={timer:null,promise:null},Z=function(e){var t=JSON.stringify(e);return(new TextEncoder).encode(t).length/1024},ee=function(){try{var e=localStorage.getItem(H);return e?JSON.parse(e):{}}catch(e){return console.error("[TM]: get register properties fail: ",e),{}}},te=function(e){try{localStorage.setItem(H,JSON.stringify(e))}catch(e){console.error("[TM]: save register properties fail: ",e)}},ne=function(e){if(e&&"object"==typeof e&&!Array.isArray(e)){var t=l(l({},ee()),e),n=Object.keys(t);if(n.length>50){var r={};return n.slice(0,50).forEach((function(e){r[e]=t[e]})),console.warn("[TM]: register properties exceed max ".concat(50," keys, extra keys dropped")),void te(r)}te(t)}else console.error("[TM]: registerGlobalProperties props must be a plain object")},re=function(e){var t=document.cookie.match(new RegExp("(?:^|;\\s*)"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},oe=function(e){document.cookie="".concat(z,"=").concat(encodeURIComponent(e),"; Max-Age=63072000; Path=/")},ie=function(){if(I)return I;try{var e=localStorage.getItem(z);if(e)return re(z)||oe(e),I=e;var t=re(z);if(t){try{localStorage.setItem(z,t)}catch(e){}return I=t}e=M();try{localStorage.setItem(z,e)}catch(e){}return oe(e),I=e}catch(e){return void console.error("[TM]: get or create device id fail: ",e)}},ae="tengence_session_id",ce=function(){try{var e=sessionStorage.getItem(ae),t=e?JSON.parse(e):null,n=Date.now();return!t||!t.id||n-t.lastActiveAt>18e5?(t={id:M(),lastActiveAt:n},sessionStorage.setItem(ae,JSON.stringify(t))):(t.lastActiveAt=n,sessionStorage.setItem(ae,JSON.stringify(t))),t.id}catch(e){return}},ue=function(e,t){var n,r;try{var o=new URL(e,location.href);if(!o.searchParams.toString())return e;if(t&&t.length){var i=[];try{for(var a=f(t),c=a.next();!c.done;c=a.next()){var u=c.value,l=o.searchParams.get(u);null!==l&&i.push("".concat(u,"=").concat(encodeURIComponent(l)))}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}o.search=i.length?"?".concat(i.join("&")):""}else o.search="";return o.toString()}catch(t){return e}},le=function(e,t,n){var r,o;if("string"==typeof e)return t>0&&e.length>t?e.slice(0,t)+"...[truncated]":e;if(Array.isArray(e))return e.map((function(e){return le(e,t,n)}));if(e&&"object"==typeof e){var i={};try{for(var a=f(Object.keys(e)),c=a.next();!c.done;c=a.next()){var u=c.value,l=e[u];"string"==typeof l&&/(^|_)url$|href|^referrer$/i.test(u)&&/^https?:\/\//i.test(l)?i[u]=ue(l,n):i[u]=le(l,t,n)}}catch(e){r={error:e}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}return i}return e},se=function(e){var t={page_url:location.href,hostname:window.location.hostname||window.location.host,os:window.navigator.platform,user_id:localStorage.getItem(B)||void 0,user_agent:window.navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,lib_version:"1.1.15",lib_type:"js",event_time:(new Date).getTime().toString(),timezone_offset:(new Date).getTimezoneOffset().toString()},n=null==j?void 0:j.sanitize;return l(l({session_id:e.session_id||((null==j?void 0:j.enableAutoSessionId)?ce():void 0),request_id:e.request_id,event_id:e.event_id||M(),spm:e.spm,data_type:e.data_type||"behavior",event_type:e.event_type,event_detail:"string"==typeof e.event_detail?e.event_detail:JSON.stringify(n&&(n.maxTextLength>0||n.stripQuery)?le(e.event_detail,n.maxTextLength,n.preserveQueryKeys):e.event_detail)},t),{page_url:n&&n.stripQuery?ue(t.page_url,n.preserveQueryKeys):t.page_url,device_id:ie(),register_properties:JSON.stringify(ee()),platform:e.platform||O})},de=function(){try{return"true"===localStorage.getItem(F)}catch(e){return!1}},fe=function(e,t,n,r,o){return void 0===e?t:"number"!=typeof e||Number.isNaN(e)||e<n||e>r?(console.warn("[TM]: 配置 ".concat(o,"=").concat(e," 非法,回退默认值 ").concat(t)),t):e},ve=function(e,t){var n;try{null===(n=null==j?void 0:j.onDrop)||void 0===n||n.call(j,e,t)}catch(e){}},pe=function(e,t,n){var r;(null==j?void 0:j.isLogger)&&console.error("[TM]: ".concat(t));try{null===(r=null==j?void 0:j.onError)||void 0===r||r.call(j,{code:e,message:t,context:n})}catch(e){}},me=function(){try{var e=localStorage.getItem(K);return null===e||"1"===e}catch(e){return!0}},he=function(e){var t,n,r,o,i,a,c,u,v,p,h,y=e.apiKey,T=void 0,b=/Android|iPhone|iPad|iPod|Mobile/i.test(window.navigator.userAgent);O=e.platform||(b?"h5":"web");var _=(j={pushUrl:e.pushUrl||"https://api.tengence.com/v1/push/event",authUrl:e.authUrl,realTimeUrl:e.realTimeUrl,cacheNumber:fe(e.cacheNumber,100,1,1/0,"cacheNumber"),reportInterval:fe(e.reportInterval,5e3,100,1/0,"reportInterval"),realTimeReportInterval:fe(e.realTimeReportInterval,200,100,1/0,"realTimeReportInterval"),maxCacheSize:fe(e.maxCacheSize,56,1,1/0,"maxCacheSize"),maxRetries:fe(e.maxRetries,10,0,1/0,"maxRetries"),isLogger:null!==(t=e.isLogger)&&void 0!==t?t:de(),errorTraceRate:fe(e.errorTraceRate,.5,0,1,"errorTraceRate"),traceBehavior:null===(n=e.traceBehavior)||void 0===n||n,tracePerformance:null===(r=e.tracePerformance)||void 0===r||r,traceError:null===(o=e.traceError)||void 0===o||o,sanitize:!1===e.sanitize?{stripQuery:!1,maxTextLength:0,preserveQueryKeys:[]}:{stripQuery:null!==(a=null===(i=e.sanitize)||void 0===i?void 0:i.stripQuery)&&void 0!==a&&a,maxTextLength:fe(null===(c=e.sanitize)||void 0===c?void 0:c.maxTextLength,0,0,1/0,"sanitize.maxTextLength"),preserveQueryKeys:(null===(u=e.sanitize)||void 0===u?void 0:u.preserveQueryKeys)||[]},enableAutoSessionId:null!==(v=e.enableAutoSessionId)&&void 0!==v&&v,enableTracking:null!==(p=e.enableTracking)&&void 0!==p?p:me(),respectGpc:null===(h=e.respectGpc)||void 0===h||h,requestTimeout:fe(e.requestTimeout,1e4,1e3,6e4,"requestTimeout"),beforeSend:e.beforeSend,onDrop:e.onDrop,onError:e.onError}).pushUrl,S=j.authUrl,E=j.realTimeUrl,k=j.cacheNumber,x=j.reportInterval,A=j.realTimeReportInterval,M=j.maxCacheSize,L=j.maxRetries;y||S||(console.error("[TM]: 未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"),pe("init_missing_credential","未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"));var C={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},I={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},R=function(e){try{localStorage.setItem(B,e)}catch(e){console.error("[TM]: monitor bind user fail: ",e)}},P=function(){localStorage.removeItem(B)},q={},z={},H=new Set,G=null,Q=function(){null!==G&&(clearTimeout(G),G=null),H.size&&(H.forEach((function(e){try{localStorage.setItem(e,JSON.stringify(q[e]||[]))}catch(t){pe("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),本次数据仅保留内存",{key:e,error:t})}})),H.clear())},ee=function(e){if(q[e])return q[e];var t=[];try{t=JSON.parse(localStorage.getItem(e)||"[]")}catch(t){pe("queue_read_failed","读取本地缓存队列失败,按空队列处理",{key:e,error:t})}return q[e]=t,z[e]=t.reduce((function(e,t){return e+Z(t)}),0),q[e]},te=function(e,t){H.delete(e),q[e]=t,z[e]=t.reduce((function(e,t){return e+Z(t)}),0);try{localStorage.setItem(e,JSON.stringify(t))}catch(t){pe("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),队列清空处理",{key:e,error:t});try{localStorage.setItem(e,"[]")}catch(t){pe("localstorage_unavailable","localStorage 不可用,本次数据仅保留内存",{key:e,error:t})}}},re=function(e){T=e},oe=function(e,t,n){return void 0===n&&(n=!1),s(void 0,void 0,void 0,(function(){var r,o,i,a,c,u,l;return d(this,(function(f){switch(f.label){case 0:r=e&&E?E:_,f.label=1;case 1:return f.trys.push([1,6,,7]),(i=y||T)?[3,5]:S?[4,$(S)]:[3,3];case 2:return a=f.sent(),[3,4];case 3:a=void 0,f.label=4;case 4:i=a,f.label=5;case 5:return o=i,[3,7];case 6:throw c=f.sent(),pe("token_fetch_failed","从 authUrl 获取 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S,error:c}),c;case 7:if(!o)throw pe("init_missing_credential","未配置 apiKey/authUrl 且未注入 accessToken,本次数据未上报(保留缓存队列待重试)"),new Error("[TM]: credential missing, skip report");return(null==j?void 0:j.isLogger)&&N(e?"RealTimeFetch":"Fetch",t),u=(null==j?void 0:j.beforeSend)?j.beforeSend(t):t,l=n||null==j?void 0:j.requestTimeout,[2,g(r,{data:u},o,l).catch((function(e){return s(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(o){switch(o.label){case 0:return t=null==e?void 0:e.status,e instanceof m||401===t||403===t?y||T||!S?[3,2]:(function(){X=null;try{localStorage.removeItem(W)}catch(e){}}(),[4,$(S).catch((function(){}))]):[3,2];case 1:if(n=o.sent())return[2,g(r,{data:u},n,l)];pe("token_invalid","上报 401/403 且刷新 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S}),o.label=2;case 2:throw e}}))}))}))]}}))}))},ie=function(e,t){var n=new Set(t.filter((function(e){return!!e})));if(n.size){var r=ee(e);if(r.length){var o=r.filter((function(e){return e.event_id&&!n.has(e.event_id)}));o.length!==r.length&&te(e,o)}}},ae=function(e,t,n){void 0===n&&(n=0);var r=(t?A:x)*Math.pow(2,e)*(.8+.4*Math.random()),o=Math.min(r,6e4);return Math.max(o,n)},ce=function(e,t){var n=Z(t);if(n>=64)return ve([t],"item_too_large"),void console.warn("[TM]: 单条事件超过体积上限(".concat(64,"KB),丢弃该条"));var r=ee(e);if(r.unshift(t),z[e]+=n,r.length>J){var o=r.length-J,i=r.splice(r.length-o,r.length);z[e]=r.reduce((function(e,t){return e+Z(t)}),0),ve(i,"queue_overflow"),console.warn("[TM]: 队列超过上限(".concat(J,"条),丢弃最旧 ").concat(o," 条"))}!function(e){H.add(e),null===G&&(G=setTimeout((function(){G=null,Q()}),200))}(e),ue(e,z[e]>=M)},ue=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),null==j?void 0:j.enableTracking){var r=ee(e);if(r.length){var o=function(e){return e===D}(e),i=o?V:Y,a=function(e){return e?I:C}(o);if(a.halveBatch&&r.length>1&&(r=r.slice(0,Math.ceil(r.length/2))),!a.retryExhausted)if(Date.now()<a.nextRetryAt)null===i.timer&&(i.timer=setTimeout((function(){i.timer=null,ue(e)}),a.nextRetryAt-Date.now()));else if(0!==a.retryCount||(r.length>=k||t)){if(null!==i.timer&&(clearTimeout(i.timer),i.timer=null),i.promise)return;i.promise=function(e,t,n,r,o){return void 0===o&&(o=!1),s(void 0,void 0,void 0,(function(){var i,a,c,u,l,s,v,p,m,h,y,g,w,T,b,_,S,E;return d(this,(function(k){switch(k.label){case 0:i=[],a=[],c=0;try{for(u=f(t),l=u.next();!l.done;l=u.next())s=l.value,v=1024*Z(s),a.length&&c+v>65536&&(i.push(a),a=[],c=0),a.push(s),c+=v}catch(e){w={error:e}}finally{try{l&&!l.done&&(T=u.return)&&T.call(u)}finally{if(w)throw w.error}}a.length&&i.push(a),p=function(t){var r,i,a,c,u;return d(this,(function(l){switch(l.label){case 0:return[4,oe(n,t,o)];case 1:return r=l.sent(),i=null===(S=null==r?void 0:r.data)||void 0===S?void 0:S.accepted_ids,a=null===(E=null==r?void 0:r.data)||void 0===E?void 0:E.rejected_ids,Array.isArray(i)?(ie(e,i),Array.isArray(a)&&a.length&&(c=new Set(a),ie(e,a),u=t.filter((function(e){return e.event_id&&c.has(e.event_id)})),u.length&&ve(u,"server_rejected"),console.warn("[TM]: 服务端校验拒绝 ".concat(a.length," 条(永久性拒绝),已从队列移除并通知 onDrop")))):(ie(e,t.map((function(e){return e.event_id}))),(null==j?void 0:j.isLogger)&&console.warn("[TM]: 响应缺少 accepted_ids,按整批成功清理")),[2]}}))},k.label=1;case 1:k.trys.push([1,6,7,8]),m=f(i),h=m.next(),k.label=2;case 2:return h.done?[3,5]:(y=h.value,[5,p(y)]);case 3:k.sent(),k.label=4;case 4:return h=m.next(),[3,2];case 5:return[3,8];case 6:return g=k.sent(),b={error:g},[3,8];case 7:try{h&&!h.done&&(_=m.return)&&_.call(m)}finally{if(b)throw b.error}return[7];case 8:return r.retryCount=0,r.nextRetryAt=0,r.halveBatch=!1,[2]}}))}))}(e,r,o,a,n).catch((function(e){!function(e,t,n,r,o){(null==t?void 0:t.timeout)&&pe("request_timeout","上报请求超时,数据保留队列按退避重试",{url:n&&E?E:_,timeoutMs:null==j?void 0:j.requestTimeout});var i=null==t?void 0:t.status;if(413!==i){if(i&&i>=400&&i<500&&401!==i&&403!==i&&408!==i&&410!==i&&429!==i)return r.retryExhausted=!0,ve(o,"rejected_4xx"),void console.warn("[TM]: 批次提交被服务端拒绝(HTTP ".concat(i,"),数据保留在队列并暂停自动重试"));if(r.retryCount++,r.retryCount>L)return r.retryExhausted=!0,ve(o,"retries_exhausted"),void console.warn("[TM]: 重试次数已达上限(".concat(L,"),数据保留在队列(不丢弃),待下次会话或手动触发重试"));var a=429===i&&(null==t?void 0:t.retryAfter)||0;r.nextRetryAt=Date.now()+ae(r.retryCount,n,a),console.error("[TM]: send report fail, retryCount: ".concat(r.retryCount,", next retry after ").concat(Math.round((r.nextRetryAt-Date.now())/1e3),"s"))}else o.length>1?(r.halveBatch=!0,r.retryCount++,r.nextRetryAt=Date.now()+ae(r.retryCount,n,0),console.warn("[TM]: 批次过大(HTTP 413),降容半批重发(本批 ".concat(o.length," 条)"))):(r.retryExhausted=!0,ve(o,"rejected_4xx"),console.warn("[TM]: 单条事件仍超限(HTTP 413),数据保留在队列"))}(0,e,o,a,r)})).finally((function(){i.timer=null,i.promise=null,ue(e)}))}else if(null===i.timer){var c=o?A:x;i.timer=setTimeout((function(){i.timer=null,ue(e,!0)}),c)}}}},le=function(e){var t;if(!(null==j?void 0:j.enableTracking)||(null==j?void 0:j.respectGpc)&&!0===(null==(t="undefined"!=typeof navigator?navigator:void 0)?void 0:t.globalPrivacyControl))(null==j?void 0:j.isLogger)&&console.warn("[TM]: 用户已选择退出采集(enableTracking=false 或 GPC 信号开启),本事件忽略");else if(e&&"object"==typeof e){var n=!0===e.track_real_time,r=se(e);try{ce(n&&E?D:U,r)}catch(e){pe("enqueue_failed","事件入队失败",{error:e})}}else console.error("[TM]: track data must be an object")},he=function(e,t,n){le("string"==typeof e?l({event_type:e,event_detail:t},n):e)},ye=function(){ue(U,!0),ue(D,!0);var e=[Y.promise,V.promise].filter((function(e){return!!e}));return Promise.all(e).then((function(){}))},ge=function(){j.isLogger=!0;try{localStorage.setItem(F,"true")}catch(e){console.error("[TM]: enable logger fail:",e)}},we=function(){j.isLogger=!1;try{localStorage.setItem(F,"false")}catch(e){console.error("[TM]: disable logger fail:",e)}};w((function(){ue(U,!0),ue(D,!0)}));var Te=function(e){return"boolean"==typeof e&&(j.enableTracking=e,function(e){try{localStorage.setItem(K,e?"1":"0")}catch(e){}}(e),e?(null==j?void 0:j.isLogger)&&console.warn("[TM]: 恢复采集"):(te(U,[]),te(D,[]),(null==j?void 0:j.isLogger)&&console.warn("[TM]: 用户已选择退出采集,已清空未上报队列"))),!0===(null==j?void 0:j.enableTracking)};return window.trackMonitor={track:he,flush:ye,bindUser:R,unBindUser:P,enableLogger:ge,disableLogger:we,setToken:re,registerGlobalProperties:ne,enableTracking:Te},{client:{track:he,flush:ye,bindUser:R,unBindUser:P,enableLogger:ge,disableLogger:we,setToken:re,registerGlobalProperties:ne,enableTracking:Te},beforeClose:function(){var e=function(){Q(),ue(U,!0,!0),ue(D,!0,!0)};window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&e()})),window.addEventListener("online",e)}}},ye=A(16)(),ge=function(e){var t=history[e];return function(){var n=t.apply(this,arguments),r=new Event(e);return window.dispatchEvent(r),n}},we=function(e){window.addEventListener("replaceState",(function(t){return e(t)}),!0),window.addEventListener("pushState",(function(t){return e(t)}),!0)},Te=function(e){window.addEventListener("popstate",(function(t){return e(t)}),!0)},be=[25,50,75,90],_e=function(e){var t,n,r;history.pushState=ge("pushState"),history.replaceState=ge("replaceState"),t="",r=T(n=function(){var e=window.location.href;if(e!==t){var n=window.location,r={host:n.host,hostname:n.hostname,href:n.href,protocol:n.protocol,origin:n.origin,port:n.port,pathname:n.pathname,search:n.search,hash:n.hash,title:document.title,language:navigator.language.substring(0,2),user_agent:navigator.userAgent,win_screen:"".concat(window.screen.width,"x").concat(window.screen.height),doc_screen:"".concat(document.documentElement.clientWidth,"x").concat(document.documentElement.clientHeight),referrer:document.referrer,type:S()};window.trackMonitor.track({data_type:"common",event_type:"page_view",event_detail:r}),t=e}},200),n(),Te((function(){r()})),we((function(){r()})),window.addEventListener("popstate",(function(){r()})),function(){var e=document.referrer,t=window.location.href,n=Date.now(),r=!0,o=function(r){if(void 0===r&&(r=!1),window.location.href!==t||r){var o=Date.now()-n;o>200&&window.trackMonitor.track({data_type:"common",event_type:"page_leave",event_detail:{url:t,referrer:e,duration:o}}),n=Date.now(),e=t,t=window.location.href}},i=T(o);o(),Te((function(){i()})),we((function(){i()})),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState?r&&(r=!1,o(!0)):(r=!0,n=Date.now())})),window.addEventListener("beforeunload",(function(){r&&(r=!1,o(!0))}),!0)}(),function(){var e=b((function(e){var t,n=function(e){if(e)return["A","INPUT","TEXTAREA","BUTTON"].includes(e.tagName)||e.hasAttribute("track-click")?e:e.closest("a, button, [track-click]")||void 0}(e.target);if(n){var r={element_id:n.id,element_content:(null===(t=n.textContent)||void 0===t?void 0:t.trim())||null,element_class_name:n.className||null,element_name:n.getAttribute("name")||null,element_type:n.tagName.toLowerCase(),element_path:_(n),scroll_width:document.documentElement.scrollWidth,scroll_height:document.documentElement.scrollHeight,pageX:e.pageX,pageY:e.pageY,ratio:window.devicePixelRatio||1};window.trackMonitor.track({data_type:"common",event_type:"click",event_detail:r})}}));window.addEventListener("click",e,!0)}(),!1!==(null==e?void 0:e.enableScroll)&&function(){var e=new Set,t=b((function(){var n=document.documentElement,r=n.scrollHeight-n.clientHeight;if(!(r<=0)){var o=Math.round((window.scrollY||n.scrollTop)/r*100),i=be.filter((function(t){return o>=t&&!e.has(t)}));i.length&&(i.forEach((function(t){e.add(t),window.trackMonitor.track({data_type:"common",event_type:"scroll",event_detail:{scroll_depth:t}})})),e.has(90)&&window.removeEventListener("scroll",t))}}),300);window.addEventListener("scroll",t,{passive:!0})}()},Se=null,Ee=null,ke="track-expose",xe="track-view",Ae=function(e){try{Ee=new WeakMap}catch(e){console.error("[TM]: create WeakMap fail: ",e)}var t=function(e,t){void 0===t&&(t=!1);var r=null==Ee?void 0:Ee.get(e);if(!r||t){r&&(r.viewTimer&&clearTimeout(r.viewTimer),r.exposeTimer&&clearTimeout(r.exposeTimer));var o=e.dataset.durationView||500,i=e.dataset.durationExpose||500;null==Ee||Ee.set(e,{duration_view:o,duration_expose:i,viewTimer:null,exposeTimer:null}),null==Se||Se.observe(e),t&&function(e){if(!(e instanceof Element))return!1;if(!function e(t){if(!t)return!0;var n=window.getComputedStyle(t);return"none"!==n.display&&"hidden"!==n.visibility&&0!==parseFloat(n.opacity)&&e(t.parentElement)}(e))return!1;var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}(e)&&n(e)}},n=function(t){var n,o=null==Ee?void 0:Ee.get(t);if(o){var i=t.dataset.eventDetail,a=null!==(n=t.dataset.traceid)&&void 0!==n?n:void 0,c=t.dataset.spm,u=t.hasAttribute("track-real-time"),l=t.hasAttribute(xe),s=t.hasAttribute(ke);l&&s?o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view_expose",event_detail:i,track_real_time:u}),t.removeAttribute(xe),o.exposeTimer=null}),parseInt(o.duration_expose,10)):(l&&(o.viewTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view",event_detail:i,track_real_time:u}),t.removeAttribute(xe),s&&o.exposeTimer||r(t),o.viewTimer=null}),parseInt(o.duration_view,10))),s&&(o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"expose",event_detail:i,track_real_time:u}),o.exposeTimer=null}),parseInt(o.duration_expose,10))))}},r=function(e){var t=null==Ee?void 0:Ee.get(e);t&&(null==Se||Se.unobserve(e),t.viewTimer&&clearTimeout(t.viewTimer),t.exposeTimer&&clearTimeout(t.exposeTimer),null==Ee||Ee.delete(e))},o=function(e){e.forEach((function(e){var t=e.target,o=null==Ee?void 0:Ee.get(t);o&&(o.viewTimer&&(clearTimeout(o.viewTimer),o.viewTimer=null),o.exposeTimer&&(clearTimeout(o.exposeTimer),o.exposeTimer=null),e.isIntersecting&&(n(t),t.hasAttribute(xe)||t.hasAttribute(ke)||r(t)))}))};Se=function(){var e=null;try{e=new IntersectionObserver(o,{root:null,threshold:.5})}catch(e){console.error("[TM]: create IntersectionObserver fail: ",e)}return e}(),new Set(p(p([],v(document.querySelectorAll("[".concat(ke,"]"))),!1),v(document.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return t(e)})),new MutationObserver((function(e){e.forEach((function(e){if("attributes"===e.type&&e.target instanceof HTMLElement){var n=e.target,o=e.attributeName;n.hasAttribute(ke)||n.hasAttribute(xe)?["data-event-detail","data-traceid","data-spm","data-duration-view","data-duration-expose"].includes(o)?t(n,!0):o!==ke&&o!==xe||t(n,!1):r(n)}else"childList"===e.type&&(e.addedNodes.forEach((function(e){e instanceof HTMLElement&&(e.hasAttribute(ke)||e.hasAttribute(xe)?t(e):new Set(p(p([],v(e.querySelectorAll("[".concat(ke,"]"))),!1),v(e.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return t(e)})))})),e.removedNodes.forEach((function(e){e instanceof HTMLElement&&((null==Ee?void 0:Ee.get(e))?r(e):new Set(p(p([],v(e.querySelectorAll("[".concat(ke,"]"))),!1),v(e.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return r(e)})))})))}))})).observe(document.body,{attributes:!0,childList:!0,subtree:!0})},Me=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;function Le(e){var t=e.match(Me);return t?{filename:t[2],functionName:t[1]||"",lineno:parseInt(t[3],10)||void 0,colno:parseInt(t[4],10)||void 0}:{}}function Ce(e){var t,n,r,o,i;try{var a=e.stack;if(!a)return[];var c=[];try{for(var u=f(a.split("\n").slice(1)),l=u.next();!l.done;l=u.next()){var s=Le(l.value);!s||(null===(r=s.filename)||void 0===r?void 0:r.includes("chrome-extension://"))||(null===(o=s.filename)||void 0===o?void 0:o.includes("node_modules"))||(null===(i=s.filename)||void 0===i?void 0:i.includes("<anonymous>"))||c.push(s)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return c.slice(0,10)}catch(e){return[]}}var Ie=new Set,Oe=function(e,t){var n,r;if((r=null!==(n=null==j?void 0:j.errorTraceRate)&&void 0!==n?n:.5)<0||r>1?(console.warn("[TM]: probability should be between 0 and 1"),0):Math.random()<r){if(window.trackMonitor.track(t),Ie.size>=1e3){var o=Ie.values().next().value;void 0!==o&&Ie.delete(o)}Ie.add(e)}},Re=function(){window.addEventListener("error",(function(e){!function(e){var t;if(e instanceof ErrorEvent&&"Script error."===e.message){var n=C("js-Script error.");if(Ie.has(n))return;Oe(n,{data_type:"error",event_type:"js",event_detail:{traceId:ye,msg:'Script error.(跨域脚本未加载 crossorigin 属性,无法获取堆栈;建议脚本加 crossorigin="anonymous")',target:"",stack:[],errorUuid:n,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno,crossorigin_missing:!0}}})}else if("js"===L(e)&&!function(e){var t,n=(null===(t=e.error)||void 0===t?void 0:t.stack)||"";return/chrome-extension:\/\//.test(n)}(e)){var r=C("js-".concat(e.message,"-").concat(e.filename));if(!Ie.has(r)){var o=Ce(e.error),i={traceId:ye,msg:e.message,target:o[0]?"".concat(null===(t=o[0].filename)||void 0===t?void 0:t.split("?")[0],":").concat(o[0].lineno,":").concat(o[0].colno):"",stack:o,errorUuid:r,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno}};Oe(r,{data_type:"error",event_type:"js",event_detail:i})}}}(e)}),!0)},Pe=function(){window.addEventListener("error",(function(e){!function(e){var t;if("resource"===L(e)){var n=e.target,r=C("resource-".concat(n.src,"-").concat(n.tagName));if(!Ie.has(r)){var o={traceId:ye,msg:"加载".concat(n.tagName,"失败"),target:null===(t=n.src)||void 0===t?void 0:t.split("?")[0],errorUuid:r,meta:{url:n.src,html:n.outerHTML,tagName:n.tagName}};Oe(r,{data_type:"error",event_type:"resource",event_detail:o})}}}(e)}),!0)},qe=function(){window.addEventListener("unhandledrejection",(function(e){return function(e){var t,n=(null===(t=e.reason)||void 0===t?void 0:t.message)||e.reason,r=C("".concat("unhandledrejection","-").concat(n));if(!Ie.has(r)){var o={traceId:ye,msg:n,stack:Ce(e.reason),errorUuid:r};Oe(r,{data_type:"error",event_type:"unhandledrejection",event_detail:o})}}(e)}),!0)},Ne=function(){var e=function(e,t,n){var r;if("string"!=typeof(r=e.url)||![null==j?void 0:j.pushUrl,null==j?void 0:j.authUrl,null==j?void 0:j.realTimeUrl].filter((function(e){return!!e})).some((function(e){return 0===r.indexOf(e)})))if(t){var o=C("http-".concat(t,"-").concat(e.url,"-").concat(n));if(Ie.has(o))return;var i={traceId:ye,errorType:t,msg:n,target:e.url.split("?")[0],errorUuid:o,request:e};Oe(o,{data_type:"error",event_type:"http",event_detail:i})}else if(e.status>=400){var a=e.statusText;o=C("http-".concat(t="http_error","-").concat(e.url,"-").concat(a));if(Ie.has(o))return;i={traceId:ye,errorUuid:o,errorType:t,target:e.url.split("?")[0],msg:a,request:e};Oe(o,{data_type:"error",event_type:"http",event_detail:i})}};!function(e,t){if("XMLHttpRequest"in window&&"function"==typeof window.XMLHttpRequest){var n=window.XMLHttpRequest;window.oXMLHttpRequest||(window.oXMLHttpRequest=n),window.XMLHttpRequest=function(){var e=new n,r=e.open,o=e.send,i={};e.open=function(t,n,o,a,c){void 0===o&&(o=!0),i.method=t,i.url=n,r.call(e,t,n,o,a,c)},e.send=function(t){i.requestTime=(new Date).getTime(),o.call(e,t)};var a=function(n,r){var o=e.status,a=e.statusText,c=(new Date).getTime();i=l(l({},i),{status:o,statusText:a,responseTime:c,duration:c-i.requestTime}),"function"==typeof t&&t(i,n,r)};return e.addEventListener("loadend",(function(){return a()})),e.addEventListener("error",(function(){return a("net_error","ERR_NETWORK")})),e.addEventListener("abort",(function(){return a("cannel_request","ERR_CANCELED")})),e.addEventListener("timeout",(function(){return a("timeout","ERR_NETWORK")})),e}}}(0,e),function(e,t){if("fetch"in window&&"function"==typeof window.fetch){var n=window.fetch;window.oFetch||(window.oFetch=n),window.fetch=function(e,r){return s(void 0,void 0,void 0,(function(){var o;return d(this,(function(i){return(o={}).method=(null==r?void 0:r.method)||"",o.url=(e&&"string"!=typeof e?null==e?void 0:e.url:e)||"",o.requestTime=(new Date).getTime(),[2,n.call(window,e,r).then((function(e){return s(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){return"function"==typeof t&&(n=e.clone(),r=(new Date).getTime(),o=l(l({},o),{status:n.status,statusText:n.statusText,responseTime:r,duration:r-o.requestTime}),t(o)),[2,e]}))}))})).catch((function(e){if("function"==typeof t){var n=(new Date).getTime();o=l(l({},o),{responseTime:n,duration:n-o.requestTime}),"AbortError"===e.name?t(o,"cannel_request","ERR_CANCELED"):t(o,"net_error","ERR_NETWORK")}return Promise.reject(e)}))]}))}))}}}(0,e)};var je=new WeakSet,Ue=function(e){return{form_id:e.id||null,form_class:"string"==typeof e.className?e.className:null,form_name:e.getAttribute("name")||null,form_action:e.getAttribute("action")||null,form_text:(e.textContent||"").trim().slice(0,200)||null}},De=-1,Be=function(e){addEventListener("pageshow",(function(t){t.persisted&&(De=t.timeStamp,e(t))}),!0)},ze=function(e,t,n,r){var o,i;return function(a){t.value>=0&&(a||r)&&(((i=t.value-(null!=o?o:0))||void 0===o)&&(o=t.value,t.delta=i,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t)))}},He=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},Fe=function(){var e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},Ke=function(){var e,t=Fe();return null!==(e=null==t?void 0:t.activationStart)&&void 0!==e?e:0},Je=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=Fe(),r="navigate";return De>=0?r="back-forward-cache":n&&(document.prerendering||Ke()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:"v5-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},We=new WeakMap;function Xe(e,t){return We.get(e)||We.set(e,new t),We.get(e)}var Ge,Qe=function(){return r((function e(){n(this,e),i(this,"t",void 0),i(this,"i",0),i(this,"o",[])}),[{key:"h",value:function(e){var t;if(!e.hadRecentInput){var n=this.o[0],r=this.o.at(-1);this.i&&n&&r&&e.startTime-r.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),null===(t=this.t)||void 0===t||t.call(this,e)}}}])}(),$e=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({type:e,buffered:!0},n)),r}}catch(e){}},Ye=function(e){var t=!1;return function(){t||(e(),t=!0)}},Ve=-1,Ze=new Set,et=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},tt=function(e){if("hidden"===document.visibilityState){if("visibilitychange"===e.type){var t,n=o(Ze);try{for(n.s();!(t=n.n()).done;){(0,t.value)()}}catch(e){n.e(e)}finally{n.f()}}isFinite(Ve)||(Ve="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",tt,!0))}},nt=function(){if(Ve<0){var e,t=Ke(),n=document.prerendering||null===(e=globalThis.performance.getEntriesByType("visibility-state").filter((function(e){return"hidden"===e.name&&e.startTime>t}))[0])||void 0===e?void 0:e.startTime;Ve=null!=n?n:et(),addEventListener("visibilitychange",tt,!0),addEventListener("prerenderingchange",tt,!0),Be((function(){setTimeout((function(){Ve=et()}))}))}return{get firstHiddenTime(){return Ve},onHidden:function(e){Ze.add(e)}}},rt=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},ot=[1800,3e3],it=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};rt((function(){var n,r=nt(),i=Je("FCP"),a=$e("paint",(function(e){var t,c=o(e);try{for(c.s();!(t=c.n()).done;){var u=t.value;"first-contentful-paint"===u.name&&(a.disconnect(),u.startTime<r.firstHiddenTime&&(i.value=Math.max(u.startTime-Ke(),0),i.entries.push(u),n(!0)))}}catch(e){c.e(e)}finally{c.f()}}));a&&(n=ze(e,i,ot,t.reportAllChanges),Be((function(r){i=Je("FCP"),n=ze(e,i,ot,t.reportAllChanges),He((function(){i.value=performance.now()-r.timeStamp,n(!0)}))})))}))},at=[.1,.25],ct=0,ut=1/0,lt=0,st=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.interactionId&&(ut=Math.min(ut,r.interactionId),lt=Math.max(lt,r.interactionId),ct=lt?(lt-ut)/7+1:0)}}catch(e){n.e(e)}finally{n.f()}},dt=function(){var e;return Ge?ct:null!==(e=performance.interactionCount)&&void 0!==e?e:0},ft=0,vt=function(){return r((function e(){n(this,e),i(this,"u",[]),i(this,"l",new Map),i(this,"m",void 0),i(this,"p",void 0)}),[{key:"v",value:function(){ft=dt(),this.u.length=0,this.l.clear()}},{key:"L",value:function(){var e=Math.min(this.u.length-1,Math.floor((dt()-ft)/50));return this.u[e]}},{key:"h",value:function(e){var t;if(null!==(t=this.m)&&void 0!==t&&t.call(this,e),e.interactionId||"first-input"===e.entryType){var n=this.u.at(-1),r=this.l.get(e.interactionId);if(r||this.u.length<10||e.duration>n.P){var i;if(r?e.duration>r.P?(r.entries=[e],r.P=e.duration):e.duration===r.P&&e.startTime===r.entries[0].startTime&&r.entries.push(e):(r={id:e.interactionId,entries:[e],P:e.duration},this.l.set(r.id,r),this.u.push(r)),this.u.sort((function(e,t){return t.P-e.P})),this.u.length>10){var a,c=o(this.u.splice(10));try{for(c.s();!(a=c.n()).done;){var u=a.value;this.l.delete(u.id)}}catch(e){c.e(e)}finally{c.f()}}null===(i=this.p)||void 0===i||i.call(this,r)}}}}])}(),pt=function(e){var t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=Ye(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t((function(){e(),removeEventListener("visibilitychange",e,{capture:!0})})))},mt=[200,500],ht=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype){var n=nt();rt((function(){var r;"interactionCount"in performance||Ge||(Ge=$e("event",st,{type:"event",buffered:!0,durationThreshold:0}));var i,a=Je("INP"),c=Xe(t,vt),u=function(e){pt((function(){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;c.h(r)}}catch(e){n.e(e)}finally{n.f()}var u=c.L();u&&u.P!==a.value&&(a.value=u.P,a.entries=u.entries,i())}))},l=$e("event",u,{durationThreshold:null!==(r=t.durationThreshold)&&void 0!==r?r:40});i=ze(e,a,mt,t.reportAllChanges),l&&(l.observe({type:"first-input",buffered:!0}),n.onHidden((function(){u(l.takeRecords()),i(!0)})),Be((function(){c.v(),a=Je("INP"),i=ze(e,a,mt,t.reportAllChanges)})))}))}},yt=function(){return r((function e(){n(this,e),i(this,"m",void 0)}),[{key:"h",value:function(e){var t;null===(t=this.m)||void 0===t||t.call(this,e)}}])}(),gt=[2500,4e3],wt=[800,1800],Tt=function(e){document.prerendering?rt((function(){return Tt(e)})):"complete"!==document.readyState?addEventListener("load",(function(){return Tt(e)}),!0):setTimeout(e)};function bt(){var e={ttfb:null,lcp:null,fp:null,fcp:null,connectionRtt:null,ttfbRequestTime:null,inp:null,cls:null,dcl:null,loadTime:null};!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};rt((function(){var n,r=nt(),i=Je("LCP"),a=Xe(t,yt),c=function(e){t.reportAllChanges||(e=e.slice(-1));var c,u=o(e);try{for(u.s();!(c=u.n()).done;){var l=c.value;a.h(l),l.startTime<r.firstHiddenTime&&(i.value=Math.max(l.startTime-Ke(),0),i.entries=[l],n())}}catch(e){u.e(e)}finally{u.f()}},u=$e("largest-contentful-paint",c);if(u){n=ze(e,i,gt,t.reportAllChanges);for(var l=Ye((function(){c(u.takeRecords()),u.disconnect(),n(!0)})),s=function(e){e.isTrusted&&(pt(l),removeEventListener(e.type,s,{capture:!0}))},d=0,f=["keydown","click","visibilitychange"];d<f.length;d++)addEventListener(f[d],s,{capture:!0});Be((function(r){i=Je("LCP"),n=ze(e,i,gt,t.reportAllChanges),He((function(){i.value=performance.now()-r.timeStamp,n(!0)}))}))}}))}((function(t){e.lcp=k(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=nt();it(Ye((function(){var r,i=Je("CLS",0),a=Xe(t,Qe),c=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var c=t.value;a.h(c)}}catch(e){n.e(e)}finally{n.f()}a.i>i.value&&(i.value=a.i,i.entries=a.o,r())},u=$e("layout-shift",c);u&&(r=ze(e,i,at,t.reportAllChanges),n.onHidden((function(){c(u.takeRecords()),r(!0)})),Be((function(){a.i=0,i=Je("CLS",0),r=ze(e,i,at,t.reportAllChanges),He((function(){return r()}))})),setTimeout(r))})))}((function(t){e.cls=Math.round(1e4*t.value)/1e4}),{reportAllChanges:!0}),ht((function(t){e.inp=k(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Je("TTFB"),r=ze(e,n,wt,t.reportAllChanges);Tt((function(){var o=Fe();o&&(n.value=Math.max(o.responseStart-Ke(),0),n.entries=[o],r(!0),Be((function(){n=Je("TTFB",0),(r=ze(e,n,wt,t.reportAllChanges))(!0)})))}))}((function(t){e.ttfb=k(t.value)})),it((function(t){e.fcp=k(t.value)}));var t=function(){!function(){try{performance.getEntriesByType("paint").forEach((function(t){"first-paint"===t.name&&(e.fp=k(t.startTime))}))}catch(e){console.warn("[TM]: Failed to collect FP:",e)}try{var t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;t&&void 0!==t.rtt&&(e.connectionRtt=t.rtt)}catch(e){console.warn("[TM]: Failed to collect Connection RTT:",e)}try{if(o=performance.getEntriesByType("navigation")[0]){var n=o.responseStart,r=o.requestStart;n>0&&r>0&&r<=n&&(e.ttfbRequestTime=k(n-r))}}catch(e){console.warn("[TM]: Failed to collect TTFB Request Time:",e)}try{var o;if(o=performance.getEntriesByType("navigation")[0]){var i=o.domContentLoadedEventEnd,a=o.loadEventEnd,c=o.fetchStart;i>0&&c>0&&(e.dcl=k(i-c)),a>0&&c>0&&(e.loadTime=k(a-c))}}catch(e){console.warn("[TM]: Failed to collect DCL and Load Time:",e)}}(),window.trackMonitor.track({data_type:"performance",event_type:"metrics",event_detail:{traceId:ye,data:e}})},n=0,r=function(){var e=Date.now();e-n<3e4||(n=e,t())};window.addEventListener("beforeunload",t),window.addEventListener("pagehide",r),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&r()}))}var _t="__tengence_sdk";e.init=function(e){if("undefined"!=typeof window&&window.trackMonitor&&window.trackMonitor[_t])return console.warn("[TM]: init 已调用过,复用现有实例(如需重建请刷新页面)"),window.trackMonitor;var t,n=he(e),r=n.client,o=n.beforeClose;return Ae(r.track),!1!==e.traceBehavior&&_e({enableScroll:e.enableScroll}),!1!==e.enableFormTrack&&(t=r.track,document.addEventListener("focusin",(function(e){var n=e.target;if((r=n)&&("INPUT"===r.tagName||"SELECT"===r.tagName||"TEXTAREA"===r.tagName)){var r,o=n.closest("form");o&&!je.has(o)&&(je.add(o),t({data_type:"common",event_type:"form_start",event_detail:Ue(o)}))}}),!0),document.addEventListener("submit",(function(e){var n=e.target;if(n&&"FORM"===n.tagName){var r=e.submitter;t({data_type:"common",event_type:"form_submit",event_detail:l(l({},Ue(n)),{submitter_id:(null==r?void 0:r.id)||null,submitter_text:((null==r?void 0:r.textContent)||"").trim().slice(0,200)||null})})}}),!0)),!1!==e.traceError&&(Re(),Pe(),qe(),Ne()),!1!==e.tracePerformance&&E((function(){!function(){var e,t,n,r,o,i=window.performance||window.msPerformance;if(!i)return{dnsLookupTime:null,tcpConnectTime:null,ttfb:null,transferTime:null,domParseTime:null,domCompleteTime:null,loadEventTime:null,totalPageLoad:null};var a=i.getEntriesByType&&"function"==typeof i.getEntriesByType?i.getEntriesByType("navigation"):void 0,c=Array.isArray(a)?a[0]:void 0,u=null;if(c)u=c;else{var l=i.timing;l&&!(u={startTime:0,domainLookupStart:l.domainLookupStart,domainLookupEnd:l.domainLookupEnd,connectStart:l.connectStart,connectEnd:l.connectEnd,requestStart:l.requestStart,responseStart:l.responseStart,responseEnd:l.responseEnd,domInteractive:l.domInteractive,domComplete:l.domComplete,loadEventEnd:l.loadEventEnd,fetchStart:l.fetchStart}).requestStart&&l.fetchStart&&(u.requestStart=l.fetchStart)}var s={dnsLookupTime:u?k(u.domainLookupEnd-u.domainLookupStart):null,tcpConnectTime:u?k(u.connectEnd-u.connectStart):null,ttfb:u?k(u.responseStart-(null!==(t=null!==(e=u.requestStart)&&void 0!==e?e:u.fetchStart)&&void 0!==t?t:0)):null,transferTime:u?k(u.responseEnd-u.responseStart):null,domParseTime:u?k(u.domInteractive-u.responseEnd):null,domCompleteTime:u?k(u.domComplete-u.domInteractive):null,loadEventTime:u?k(u.loadEventEnd-(null!==(n=u.domComplete)&&void 0!==n?n:0)):null,totalPageLoad:u?k((null!==(r=u.loadEventEnd)&&void 0!==r?r:performance.now())-(null!==(o=u.startTime)&&void 0!==o?o:0)):null};window.trackMonitor.track({data_type:"performance",event_type:"navigation_timing",event_detail:{traceId:ye,data:s}})}(),function(){var e=window.performance||window.msPerformance;if(!e)return[];var t=[];if(e.getEntriesByType){var n=(e.getEntriesByType("resource")||[]).map((function(e){var t="number"==typeof e.redirectEnd&&"number"==typeof e.redirectStart?k(e.redirectEnd-e.redirectStart):null,n="number"==typeof e.domainLookupEnd&&"number"==typeof e.domainLookupStart?k(e.domainLookupEnd-e.domainLookupStart):null,r="number"==typeof e.connectEnd&&"number"==typeof e.connectStart?k(e.connectEnd-e.connectStart):null,o="number"==typeof e.requestStart&&"number"==typeof e.fetchStart?k(e.requestStart-e.fetchStart):null,i="number"==typeof e.responseStart&&"number"==typeof e.requestStart?k(e.responseStart-e.requestStart):null,a="number"==typeof e.responseEnd&&"number"==typeof e.responseStart?k(e.responseEnd-e.responseStart):null,c="number"==typeof e.duration?k(e.duration):null,u="number"==typeof e.startTime?k(e.startTime):null,l="number"==typeof e.transferSize&&isFinite(e.transferSize)&&e.transferSize>=0?Math.round(e.transferSize):null,s="number"==typeof e.encodedBodySize&&isFinite(e.encodedBodySize)&&e.encodedBodySize>=0?Math.round(e.encodedBodySize):null,d="number"==typeof e.decodedBodySize&&isFinite(e.decodedBodySize)&&e.decodedBodySize>=0?Math.round(e.decodedBodySize):null;return{name:e.name,initiatorType:e.initiatorType||"",startTime:u,duration:c,redirectTime:t,cacheTime:o,dnsTime:n,connectTime:r,requestTime:i,responseTime:a,transferSize:l,encodedBodySize:s,decodedBodySize:d}}));n.sort((function(e,t){var n,r;return(null!==(n=t.duration)&&void 0!==n?n:0)-(null!==(r=e.duration)&&void 0!==r?r:0)}));for(var r=0;r<Math.min(15,n.length);r++)t.push(n[r])}window.trackMonitor.track({data_type:"performance",event_type:"resource_flow",event_detail:{traceId:ye,data:t}})}(),bt()})),E((function(){o()})),window.trackMonitor[_t]=!0,window.trackMonitor}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TrackSDK={})}(this,(function(e){"use strict";var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)};var n=function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function r(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function c(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}l((r=r.apply(e,t||[])).next())}))}function o(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(l){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,l])}}}function i(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function a(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function c(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var l=function(e){function n(t,n){var r=e.call(this,n||"[TM]: Auth error ".concat(t))||this;return Object.defineProperty(r,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.name="AuthError",r.status=t,r}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}(n,e),n}(Error),u=function(e){var t=e.method,n=e.url,r=e.data,o=e.headers,i=void 0===o?{}:o,a=e.withCredentials,c=void 0!==a&&a,l=e.timeoutMs;return new Promise((function(e,o){var a=new XMLHttpRequest;a.open(t,n,!0),l&&(a.timeout=l),Object.keys(i).forEach((function(e){a.setRequestHeader(e,i[e])})),a.withCredentials=!!c,a.onreadystatechange=function(){if(4===a.readyState)if(a.status>=200&&a.status<300)try{var t=JSON.parse(a.responseText);e(t)}catch(e){o(e)}else{var n=new Error("[TM]: Request failed with status ".concat(a.status));n.status=a.status,o(n)}},a.onerror=function(){o(new Error("[TM]: Network error"))},a.ontimeout=function(){var e=new Error("[TM]: Request timeout");e.timeout=!0,o(e)},"POST"===t&&r?a.send(r):a.send()}))},s=function(e,t,r){if(!r)return fetch(e,t);var o=new AbortController,i=setTimeout((function(){return o.abort()}),r);return fetch(e,n(n({},t),{signal:o.signal})).catch((function(e){if(e&&"AbortError"===e.name){var t=new Error("[TM]: Request timeout");throw t.timeout=!0,t}throw e})).finally((function(){return clearTimeout(i)}))},d=function(e,t,n,r){var o={"Content-Type":"application/json"};n&&(o.Authorization="Bearer ".concat(n));var i=function(){return u({method:"POST",url:e,data:JSON.stringify(t),headers:o,withCredentials:!0,timeoutMs:r})};return"function"!=typeof fetch?i():s(e,{method:"POST",keepalive:!0,credentials:"include",headers:o,body:JSON.stringify(t)},r).then((function(e){if(401===e.status||403===e.status)throw new l(e.status,"[TM]: Auth error ".concat(e.status));if(429===e.status){(r=new Error("[TM]: Request throttled with status 429")).status=429;var t=e.headers.get("Retry-After");if(t){var n=parseInt(t,10);isNaN(n)||(r.retryAfter=1e3*n)}throw r}var r;if(!e.ok)throw(r=new Error("[TM]: Request failed with status ".concat(e.status))).status=e.status,r;return e.json()})).catch((function(e){if(e instanceof l)throw e;if(e&&e.status)throw e;return i()}))},f=window.requestIdleCallback||window.requestAnimationFrame||function(e){return setTimeout(e,17)};function v(e,t,n){void 0===t&&(t=150),void 0===n&&(n=!1);var r=null;return function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=this,c=n&&!r;r&&clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(a,o)}),t),c&&e.apply(a,o)}}var p=function(e,t){void 0===t&&(t=300);var n=0;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=Date.now();i-n>=t&&(n=i,e.apply(this,r))}};function m(e,t){if(void 0===t&&(t=""),!e)return t;var n=e.parentElement,r=e.id,o=e.tagName.toLowerCase(),i=t?">".concat(t):"";return n&&n!==document.documentElement&&n!==document.body?r?"#".concat(r).concat(i):m(n,"".concat(o).concat(i)):"".concat(o).concat(i)}var h=function(){var e,t;if(null===(e=window.performance)||void 0===e?void 0:e.navigation)return performance.navigation.type;if(null===(t=window.performance)||void 0===t?void 0:t.getEntriesByType){var n=performance.getEntriesByType("navigation");if(n.length>0)return n[0].type}return 255},y=function(e){"prerendering"in document&&document.prerendering?function(e){"prerendering"in document&&document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()}((function(){return y(e)})):"complete"!==(null===document||void 0===document?void 0:document.readyState)?addEventListener("load",(function(){return y(e)}),!0):setTimeout(e)};function g(e){return"number"!=typeof e||!isFinite(e)||e<0?null:Math.round(100*e)/100}var w=Array(32);function T(e){return function(){for(var t=0;t<2*e;t++)w[t]=Math.floor(16*Math.random())+48,w[t]>=58&&(w[t]+=39);return String.fromCharCode.apply(null,w.slice(0,2*e))}}function b(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():T(16)()}var _=function(e){return e instanceof ErrorEvent?"Script error."===e.message?"cors":"js":"resource"},S=function(e){return function(e){for(var t=5381,n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t.toString(16).padStart(8,"0")}(e)};var E,k,x={view:"#3b82f6",click:"#06b6d4",expose:"#8b5cf6",enter:"#10b981",leave:"#f59e0b",stay:"#84cc16",cart:"#ec4899",buy:"#ef4444",pay:"#dc2626",default:"#6b7280"},M={view:"👁️",click:"👆",expose:"✨",enter:"🚪",leave:"👋",stay:"⏱️",cart:"🛒",buy:"💰",pay:"💳",default:"📊"},A={common:"#3b82f6",behavior:"#10b981",performance:"#f59e0b",error:"#ef4444",custom:"#8b5cf6",default:"#6b7280"},L=function(e,t){t.forEach((function(t,r){var o=t.event_type||"unknown",i=t.data_type||"common",a=function(e){return x[e]||x.default}(o),c=function(e){return A[e]||A.default}(i),l=function(e){return M[e]||M.default}(o),u=t.event_detail;if("string"==typeof u)try{u=JSON.parse(u)}catch(e){}console.groupCollapsed("%c".concat(l," [TM-").concat(e,"] %c").concat(i.toUpperCase(),"%c → %c").concat(o.toUpperCase(),"%c #").concat(r+1),"color: #6b7280; font-weight: bold;","color: ".concat(c,"; font-weight: bold; background: ").concat(c,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280;","color: ".concat(a,"; font-weight: bold; background: ").concat(a,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280; font-weight: normal;");var s=n(n({},t),{event_detail:u});console.log("%c"+JSON.stringify(s,null,2),"color: #6b7280; font-family: monospace; font-size: 11px; line-height: 1.5;"),console.groupEnd()})),console.log("%c✅ [TM] 本次通过 ".concat(e," 上报 ").concat(t.length," 条埋点数据"),"color: #10b981; font-weight: bold; font-size: 12px; padding: 4px 8px; background: #10b98120; border-radius: 4px; border-left: 3px solid #10b981;")},C=void 0,I="TRACK_MONITOR_DATA",O="MONITOR_REAL_TIME_DATA",R="TRACK_MONITOR_USER",P="tengence_device_id",q="tengence_register_properties",N="TRACK_MONITOR_LOGGER",j="tengence_tracking_enabled",U=2e3,D="tengence_access_token",B=null,z=null,F=function(e){return(t=e,n={},r=null==C?void 0:C.requestTimeout,o={"Content-Type":"application/json"},i=function(){return u({method:"POST",url:t,data:JSON.stringify(n),headers:o,withCredentials:!0,timeoutMs:r})},"function"!=typeof fetch?i():s(t,{method:"POST",credentials:"include",headers:o,body:JSON.stringify(n)},r).then((function(e){if(!e.ok){var t=new Error("[TM]: Request failed with status ".concat(e.status));throw t.status=e.status,t}return e.json()})).catch((function(e){if(e&&e.status)throw e;return i()}))).then((function(e){var t=e&&e.data,n=t&&t.accessToken,r=t&&t.accessExpAt;if(!n||"number"!=typeof r)throw new Error("[TM]: authUrl 响应缺少 accessToken/accessExpAt");return function(e,t){B={token:e,expAt:t};try{localStorage.setItem(D,JSON.stringify({token:e,expAt:t}))}catch(e){}}(n,r),n}));var t,n,r,o,i},H=function(e){var t,n=function(){if(B)return B;try{var e=localStorage.getItem(D);if(!e)return null;var t=JSON.parse(e);if(t&&"string"==typeof t.token&&t.token&&"number"==typeof t.expAt)return B={token:t.token,expAt:t.expAt}}catch(e){}return null}();return(t=n)&&t.token.length>0&&t.expAt-6e4>Date.now()?Promise.resolve(n.token):(z||(z=F(e).catch((function(e){throw e})).finally((function(){z=null}))),z)},K={timer:null,promise:null},J={timer:null,promise:null},W=function(e){var t=JSON.stringify(e);return(new TextEncoder).encode(t).length/1024},X=null,G=function(){if(X)return X;try{var e=localStorage.getItem(q),t=e?JSON.parse(e):{};return X=t,t}catch(e){return console.error("[TM]: get register properties fail: ",e),{}}},Q=function(e){X=e;try{localStorage.setItem(q,JSON.stringify(e))}catch(e){console.error("[TM]: save register properties fail: ",e)}},$=function(e){if(e&&"object"==typeof e&&!Array.isArray(e)){var t=n(n({},G()),e),r=Object.keys(t);if(r.length>50){var o={};return r.slice(0,50).forEach((function(e){o[e]=t[e]})),console.warn("[TM]: register properties exceed max ".concat(50," keys, extra keys dropped")),void Q(o)}Q(t)}else console.error("[TM]: registerGlobalProperties props must be a plain object")},Y=function(e){var t=document.cookie.match(new RegExp("(?:^|;\\s*)"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},V=function(e){document.cookie="".concat(P,"=").concat(encodeURIComponent(e),"; Max-Age=63072000; Path=/")},Z=function(){if(E)return E;try{var e=localStorage.getItem(P);if(e)return Y(P)||V(e),E=e;var t=Y(P);if(t){try{localStorage.setItem(P,t)}catch(e){}return E=t}e=b();try{localStorage.setItem(P,e)}catch(e){}return V(e),E=e}catch(e){return void console.error("[TM]: get or create device id fail: ",e)}},ee="tengence_session_id",te=function(){try{var e=sessionStorage.getItem(ee),t=e?JSON.parse(e):null,n=Date.now();return!t||!t.id||n-t.lastActiveAt>18e5?(t={id:b(),lastActiveAt:n},sessionStorage.setItem(ee,JSON.stringify(t))):(t.lastActiveAt=n,sessionStorage.setItem(ee,JSON.stringify(t))),t.id}catch(e){return}},ne=function(e,t){var n,r;try{var o=new URL(e,location.href);if(!o.searchParams.toString())return e;if(t&&t.length){var a=[];try{for(var c=i(t),l=c.next();!l.done;l=c.next()){var u=l.value,s=o.searchParams.get(u);null!==s&&a.push("".concat(u,"=").concat(encodeURIComponent(s)))}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}o.search=a.length?"?".concat(a.join("&")):""}else o.search="";return o.toString()}catch(t){return e}},re=function(e,t,n){var r,o;if("string"==typeof e)return t>0&&e.length>t?e.slice(0,t)+"...[truncated]":e;if(Array.isArray(e))return e.map((function(e){return re(e,t,n)}));if(e&&"object"==typeof e){var a={};try{for(var c=i(Object.keys(e)),l=c.next();!l.done;l=c.next()){var u=l.value,s=e[u];"string"==typeof s&&/(^|_)url$|(^|_)href$|^referrer$/i.test(u)&&/^https?:\/\//i.test(s)?a[u]=ne(s,n):a[u]=re(s,t,n)}}catch(e){r={error:e}}finally{try{l&&!l.done&&(o=c.return)&&o.call(c)}finally{if(r)throw r.error}}return a}return e},oe=function(e){var t,r={page_url:location.href,hostname:window.location.hostname||window.location.host,os:window.navigator.platform,user_id:localStorage.getItem(R)||void 0,user_agent:window.navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,lib_version:"1.1.16",lib_type:"js",event_time:(new Date).getTime().toString(),timezone_offset:(new Date).getTimezoneOffset().toString()},o=null==C?void 0:C.sanitize;try{t="string"==typeof e.event_detail?e.event_detail:JSON.stringify(o&&(o.maxTextLength>0||o.stripQuery)?re(e.event_detail,o.maxTextLength,o.preserveQueryKeys):e.event_detail)}catch(e){return le("serialize_failed","事件 event_detail 序列化失败(循环引用/BigInt?),该事件丢弃",{error:e}),void console.warn("[TM]: event_detail 序列化失败,该事件丢弃",e)}return n(n({session_id:e.session_id||((null==C?void 0:C.enableAutoSessionId)?te():void 0),request_id:e.request_id,event_id:e.event_id||b(),spm:e.spm,data_type:e.data_type||"behavior",event_type:e.event_type,event_detail:t},r),{page_url:o&&o.stripQuery?ne(r.page_url,o.preserveQueryKeys):r.page_url,device_id:Z(),register_properties:JSON.stringify(G()),platform:e.platform||k})},ie=function(){try{return"true"===localStorage.getItem(N)}catch(e){return!1}},ae=function(e,t,n,r,o){return void 0===e?t:"number"!=typeof e||Number.isNaN(e)||e<n||e>r?(console.warn("[TM]: 配置 ".concat(o,"=").concat(e," 非法,回退默认值 ").concat(t)),t):e},ce=function(e,t){var n;try{null===(n=null==C?void 0:C.onDrop)||void 0===n||n.call(C,e,t)}catch(e){}},le=function(e,t,n){var r;(null==C?void 0:C.isLogger)&&console.error("[TM]: ".concat(t));try{null===(r=null==C?void 0:C.onError)||void 0===r||r.call(C,{code:e,message:t,context:n})}catch(e){}},ue=function(){try{var e=localStorage.getItem(j);return null===e||"1"===e}catch(e){return!0}},se=function(e){var t,a,c,u,s,v,p,m,h,y,g,w=e.apiKey,T=void 0,b=/Android|iPhone|iPad|iPod|Mobile/i.test(window.navigator.userAgent);k=e.platform||(b?"h5":"web");var _=(C={pushUrl:e.pushUrl||"https://api.tengence.com/v1/push/event",authUrl:e.authUrl,realTimeUrl:e.realTimeUrl,cacheNumber:ae(e.cacheNumber,100,1,1/0,"cacheNumber"),reportInterval:ae(e.reportInterval,5e3,100,1/0,"reportInterval"),realTimeReportInterval:ae(e.realTimeReportInterval,200,100,1/0,"realTimeReportInterval"),maxCacheSize:ae(e.maxCacheSize,56,1,1/0,"maxCacheSize"),maxRetries:ae(e.maxRetries,10,0,1/0,"maxRetries"),isLogger:null!==(t=e.isLogger)&&void 0!==t?t:ie(),errorTraceRate:ae(e.errorTraceRate,.5,0,1,"errorTraceRate"),resourceFlowLimit:ae(e.resourceFlowLimit,15,0,200,"resourceFlowLimit"),traceBehavior:null===(a=e.traceBehavior)||void 0===a||a,tracePerformance:null===(c=e.tracePerformance)||void 0===c||c,traceError:null===(u=e.traceError)||void 0===u||u,sanitize:!1===e.sanitize?{stripQuery:!1,maxTextLength:0,preserveQueryKeys:[]}:{stripQuery:null!==(v=null===(s=e.sanitize)||void 0===s?void 0:s.stripQuery)&&void 0!==v&&v,maxTextLength:ae(null===(p=e.sanitize)||void 0===p?void 0:p.maxTextLength,0,0,1/0,"sanitize.maxTextLength"),preserveQueryKeys:(null===(m=e.sanitize)||void 0===m?void 0:m.preserveQueryKeys)||[]},enableAutoSessionId:null!==(h=e.enableAutoSessionId)&&void 0!==h&&h,enableTracking:null!==(y=e.enableTracking)&&void 0!==y?y:ue(),respectGpc:null===(g=e.respectGpc)||void 0===g||g,requestTimeout:ae(e.requestTimeout,1e4,1e3,6e4,"requestTimeout"),beforeSend:e.beforeSend,onDrop:e.onDrop,onError:e.onError}).pushUrl,S=C.authUrl,E=C.realTimeUrl,x=C.cacheNumber,M=C.reportInterval,A=C.realTimeReportInterval,P=C.maxCacheSize,q=C.maxRetries;w||S||(console.error("[TM]: 未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"),le("init_missing_credential","未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"));var z={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},F={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},X=function(e){try{localStorage.setItem(R,e)}catch(e){console.error("[TM]: monitor bind user fail: ",e)}},G=function(){localStorage.removeItem(R)},Q={},Y={},V=new Set,Z=null,ee=function(){null!==Z&&(clearTimeout(Z),Z=null),V.size&&(V.forEach((function(e){try{localStorage.setItem(e,JSON.stringify(Q[e]||[]))}catch(t){le("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),本次数据仅保留内存",{key:e,error:t})}})),V.clear())},te=function(e){if(Q[e])return Q[e];var t=[];try{t=JSON.parse(localStorage.getItem(e)||"[]")}catch(t){le("queue_read_failed","读取本地缓存队列失败,按空队列处理",{key:e,error:t})}return Q[e]=t,Y[e]=t.reduce((function(e,t){return e+W(t)}),0),Q[e]},ne=function(e,t){V.delete(e),Q[e]=t,Y[e]=t.reduce((function(e,t){return e+W(t)}),0);try{localStorage.setItem(e,JSON.stringify(t))}catch(t){le("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),队列清空处理",{key:e,error:t});try{localStorage.setItem(e,"[]")}catch(t){le("localstorage_unavailable","localStorage 不可用,本次数据仅保留内存",{key:e,error:t})}}},re=function(e){T=e},se=function(e,t,n){return void 0===n&&(n=!1),r(void 0,void 0,void 0,(function(){var i,a,c,u,s,f,v;return o(this,(function(p){switch(p.label){case 0:i=e&&E?E:_,p.label=1;case 1:return p.trys.push([1,6,,7]),(c=w||T)?[3,5]:S?[4,H(S)]:[3,3];case 2:return u=p.sent(),[3,4];case 3:u=void 0,p.label=4;case 4:c=u,p.label=5;case 5:return a=c,[3,7];case 6:throw s=p.sent(),le("token_fetch_failed","从 authUrl 获取 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S,error:s}),s;case 7:if(!a)throw le("init_missing_credential","未配置 apiKey/authUrl 且未注入 accessToken,本次数据未上报(保留缓存队列待重试)"),new Error("[TM]: credential missing, skip report");return(null==C?void 0:C.isLogger)&&L(e?"RealTimeFetch":"Fetch",t),f=(null==C?void 0:C.beforeSend)?C.beforeSend(t):t,v=n||null==C?void 0:C.requestTimeout,[2,d(i,{data:f},a,v).catch((function(e){return r(void 0,void 0,void 0,(function(){var t,n;return o(this,(function(r){switch(r.label){case 0:return t=null==e?void 0:e.status,e instanceof l||401===t||403===t?w||T||!S?[3,2]:(function(){B=null;try{localStorage.removeItem(D)}catch(e){}}(),[4,H(S).catch((function(){}))]):[3,2];case 1:if(n=r.sent())return[2,d(i,{data:f},n,v)];le("token_invalid","上报 401/403 且刷新 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S}),r.label=2;case 2:throw e}}))}))}))]}}))}))},de=function(e,t){var n=new Set(t.filter((function(e){return!!e})));if(n.size){var r=te(e);if(r.length){var o=r.filter((function(e){return e.event_id&&!n.has(e.event_id)}));o.length!==r.length&&ne(e,o)}}},fe=function(e,t,n){void 0===n&&(n=0);var r=(t?A:M)*Math.pow(2,e)*(.8+.4*Math.random()),o=Math.min(r,6e4);return Math.max(o,n)},ve=function(e,t){var n=W(t);if(n>=64)return ce([t],"item_too_large"),void console.warn("[TM]: 单条事件超过体积上限(".concat(64,"KB),丢弃该条"));var r=te(e);if(r.unshift(t),Y[e]+=n,r.length>U){var o=r.length-U,i=r.splice(r.length-o,r.length);Y[e]=r.reduce((function(e,t){return e+W(t)}),0),ce(i,"queue_overflow"),console.warn("[TM]: 队列超过上限(".concat(U,"条),丢弃最旧 ").concat(o," 条"))}!function(e){V.add(e),null===Z&&(Z=setTimeout((function(){Z=null,ee()}),200))}(e),pe(e,Y[e]>=P)},pe=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),null==C?void 0:C.enableTracking){var a=te(e);if(a.length){var c=function(e){return e===O}(e),l=c?J:K,u=function(e){return e?F:z}(c);if(u.halveBatch&&a.length>1&&(a=a.slice(0,Math.ceil(a.length/2))),!u.retryExhausted)if(Date.now()<u.nextRetryAt)null===l.timer&&(l.timer=setTimeout((function(){l.timer=null,pe(e)}),u.nextRetryAt-Date.now()));else if(0!==u.retryCount||(a.length>=x||t)){if(null!==l.timer&&(clearTimeout(l.timer),l.timer=null),l.promise)return;l.promise=function(e,t,n,a,c){return void 0===c&&(c=!1),r(void 0,void 0,void 0,(function(){var r,l,u,s,d,f,v,p,m,h,y,g,w,T,b,_,S,E;return o(this,(function(k){switch(k.label){case 0:r=[],l=[],u=0;try{for(s=i(t),d=s.next();!d.done;d=s.next())f=d.value,v=1024*W(f),l.length&&u+v>65536&&(r.push(l),l=[],u=0),l.push(f),u+=v}catch(e){w={error:e}}finally{try{d&&!d.done&&(T=s.return)&&T.call(s)}finally{if(w)throw w.error}}l.length&&r.push(l),p=function(t){var r,i,a,l,u;return o(this,(function(o){switch(o.label){case 0:return[4,se(n,t,c)];case 1:return r=o.sent(),i=null===(S=null==r?void 0:r.data)||void 0===S?void 0:S.accepted_ids,a=null===(E=null==r?void 0:r.data)||void 0===E?void 0:E.rejected_ids,Array.isArray(i)?(de(e,i),Array.isArray(a)&&a.length&&(l=new Set(a),de(e,a),u=t.filter((function(e){return e.event_id&&l.has(e.event_id)})),u.length&&ce(u,"server_rejected"),console.warn("[TM]: 服务端校验拒绝 ".concat(a.length," 条(永久性拒绝),已从队列移除并通知 onDrop")))):(de(e,t.map((function(e){return e.event_id}))),(null==C?void 0:C.isLogger)&&console.warn("[TM]: 响应缺少 accepted_ids,按整批成功清理")),[2]}}))},k.label=1;case 1:k.trys.push([1,6,7,8]),m=i(r),h=m.next(),k.label=2;case 2:return h.done?[3,5]:(y=h.value,[5,p(y)]);case 3:k.sent(),k.label=4;case 4:return h=m.next(),[3,2];case 5:return[3,8];case 6:return g=k.sent(),b={error:g},[3,8];case 7:try{h&&!h.done&&(_=m.return)&&_.call(m)}finally{if(b)throw b.error}return[7];case 8:return a.retryCount=0,a.nextRetryAt=0,a.halveBatch=!1,[2]}}))}))}(e,a,c,u,n).catch((function(e){!function(e,t,n,r,o){(null==t?void 0:t.timeout)&&le("request_timeout","上报请求超时,数据保留队列按退避重试",{url:n&&E?E:_,timeoutMs:null==C?void 0:C.requestTimeout});var i=null==t?void 0:t.status;if(413!==i){if(i&&i>=400&&i<500&&401!==i&&403!==i&&408!==i&&410!==i&&429!==i)return r.retryExhausted=!0,ce(o,"rejected_4xx"),void console.warn("[TM]: 批次提交被服务端拒绝(HTTP ".concat(i,"),数据保留在队列并暂停自动重试"));if(r.retryCount++,r.retryCount>q)return r.retryExhausted=!0,ce(o,"retries_exhausted"),void console.warn("[TM]: 重试次数已达上限(".concat(q,"),数据保留在队列(不丢弃),待下次会话或手动触发重试"));var a=429===i&&(null==t?void 0:t.retryAfter)||0;r.nextRetryAt=Date.now()+fe(r.retryCount,n,a),console.error("[TM]: send report fail, retryCount: ".concat(r.retryCount,", next retry after ").concat(Math.round((r.nextRetryAt-Date.now())/1e3),"s"))}else o.length>1?(r.halveBatch=!0,r.retryCount++,r.nextRetryAt=Date.now()+fe(r.retryCount,n,0),console.warn("[TM]: 批次过大(HTTP 413),降容半批重发(本批 ".concat(o.length," 条)"))):(r.retryExhausted=!0,ce(o,"rejected_4xx"),console.warn("[TM]: 单条事件仍超限(HTTP 413),数据保留在队列"))}(0,e,c,u,a)})).finally((function(){l.timer=null,l.promise=null,pe(e)}))}else if(null===l.timer){var s=c?A:M;l.timer=setTimeout((function(){l.timer=null,pe(e,!0)}),s)}}}},me=function(e){var t;if(!(null==C?void 0:C.enableTracking)||(null==C?void 0:C.respectGpc)&&!0===(null==(t="undefined"!=typeof navigator?navigator:void 0)?void 0:t.globalPrivacyControl))(null==C?void 0:C.isLogger)&&console.warn("[TM]: 用户已选择退出采集(enableTracking=false 或 GPC 信号开启),本事件忽略");else if(e&&"object"==typeof e){var n=!0===e.track_real_time,r=oe(e);if(r)try{ve(n&&E?O:I,r)}catch(e){le("enqueue_failed","事件入队失败",{error:e})}}else console.error("[TM]: track data must be an object")},he=function(e,t,r){me("string"==typeof e?n({event_type:e,event_detail:t},r):e)},ye=function(){pe(I,!0),pe(O,!0);var e=[K.promise,J.promise].filter((function(e){return!!e}));return Promise.all(e).then((function(){}))},ge=function(){C.isLogger=!0;try{localStorage.setItem(N,"true")}catch(e){console.error("[TM]: enable logger fail:",e)}},we=function(){C.isLogger=!1;try{localStorage.setItem(N,"false")}catch(e){console.error("[TM]: disable logger fail:",e)}};f((function(){pe(I,!0),pe(O,!0)}));var Te=function(e){return"boolean"==typeof e&&(C.enableTracking=e,function(e){try{localStorage.setItem(j,e?"1":"0")}catch(e){}}(e),e?(null==C?void 0:C.isLogger)&&console.warn("[TM]: 恢复采集"):(ne(I,[]),ne(O,[]),(null==C?void 0:C.isLogger)&&console.warn("[TM]: 用户已选择退出采集,已清空未上报队列"))),!0===(null==C?void 0:C.enableTracking)};return window.trackMonitor={track:he,flush:ye,bindUser:X,unBindUser:G,enableLogger:ge,disableLogger:we,setToken:re,registerGlobalProperties:$,enableTracking:Te},{client:{track:he,flush:ye,bindUser:X,unBindUser:G,enableLogger:ge,disableLogger:we,setToken:re,registerGlobalProperties:$,enableTracking:Te},beforeClose:function(){var e=function(){ee(),pe(I,!0,!0),pe(O,!0,!0)};window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&e()})),window.addEventListener("online",e)}}},de=T(16)(),fe=function(e){var t=history[e];return function(){var n=t.apply(this,arguments),r=new Event(e);return window.dispatchEvent(r),n}},ve=function(e){window.addEventListener("replaceState",(function(t){return e(t)}),!0),window.addEventListener("pushState",(function(t){return e(t)}),!0)},pe=function(e){window.addEventListener("popstate",(function(t){return e(t)}),!0)},me=[25,50,75,90],he=function(e){var t,n,r;history.pushState=fe("pushState"),history.replaceState=fe("replaceState"),t="",r=v(n=function(){var e=window.location.href;if(e!==t){var n=window.location,r={host:n.host,hostname:n.hostname,href:n.href,protocol:n.protocol,origin:n.origin,port:n.port,pathname:n.pathname,search:n.search,hash:n.hash,title:document.title,language:navigator.language.substring(0,2),user_agent:navigator.userAgent,win_screen:"".concat(window.screen.width,"x").concat(window.screen.height),doc_screen:"".concat(document.documentElement.clientWidth,"x").concat(document.documentElement.clientHeight),referrer:document.referrer,type:h()};window.trackMonitor.track({data_type:"common",event_type:"page_view",event_detail:r}),t=e}},200),n(),pe((function(){r()})),ve((function(){r()})),window.addEventListener("popstate",(function(){r()})),function(){var e=document.referrer,t=window.location.href,n=Date.now(),r=!0,o=function(r){if(void 0===r&&(r=!1),window.location.href!==t||r){var o=Date.now()-n;o>200&&window.trackMonitor.track({data_type:"common",event_type:"page_leave",event_detail:{url:t,referrer:e,duration:o}}),n=Date.now(),e=t,t=window.location.href}},i=v(o);o(),pe((function(){i()})),ve((function(){i()})),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState?r&&(r=!1,o(!0)):(r=!0,n=Date.now())})),window.addEventListener("beforeunload",(function(){r&&(r=!1,o(!0))}),!0)}(),function(){var e=p((function(e){var t,n=function(e){if(e)return["A","INPUT","TEXTAREA","BUTTON"].includes(e.tagName)||e.hasAttribute("track-click")?e:e.closest("a, button, [track-click]")||void 0}(e.target);if(n){var r={element_id:n.id,element_content:(null===(t=n.textContent)||void 0===t?void 0:t.trim())||null,element_class_name:n.className||null,element_name:n.getAttribute("name")||null,element_type:n.tagName.toLowerCase(),element_path:m(n),scroll_width:document.documentElement.scrollWidth,scroll_height:document.documentElement.scrollHeight,pageX:e.pageX,pageY:e.pageY,ratio:window.devicePixelRatio||1};window.trackMonitor.track({data_type:"common",event_type:"click",event_detail:r})}}));window.addEventListener("click",e,!0)}(),!1!==(null==e?void 0:e.enableScroll)&&function(){var e=new Set,t=p((function(){var n=document.documentElement,r=n.scrollHeight-n.clientHeight;if(!(r<=0)){var o=Math.round((window.scrollY||n.scrollTop)/r*100),i=me.filter((function(t){return o>=t&&!e.has(t)}));i.length&&(i.forEach((function(t){e.add(t),window.trackMonitor.track({data_type:"common",event_type:"scroll",event_detail:{scroll_depth:t}})})),e.has(90)&&window.removeEventListener("scroll",t))}}),300);window.addEventListener("scroll",t,{passive:!0})}()},ye=null,ge=null,we="track-expose",Te="track-view",be=function(e){try{ge=new WeakMap}catch(e){console.error("[TM]: create WeakMap fail: ",e)}var t=function(e,t){void 0===t&&(t=!1);var r=null==ge?void 0:ge.get(e);if(!r||t){r&&(r.viewTimer&&clearTimeout(r.viewTimer),r.exposeTimer&&clearTimeout(r.exposeTimer));var o=e.dataset.durationView||500,i=e.dataset.durationExpose||500;null==ge||ge.set(e,{duration_view:o,duration_expose:i,viewTimer:null,exposeTimer:null}),null==ye||ye.observe(e),t&&function(e){if(!(e instanceof Element))return!1;if(!function e(t){if(!t)return!0;var n=window.getComputedStyle(t);return"none"!==n.display&&"hidden"!==n.visibility&&0!==parseFloat(n.opacity)&&e(t.parentElement)}(e))return!1;var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}(e)&&n(e)}},n=function(t){var n,o=null==ge?void 0:ge.get(t);if(o){var i=t.dataset.eventDetail,a=null!==(n=t.dataset.traceid)&&void 0!==n?n:void 0,c=t.dataset.spm,l=t.hasAttribute("track-real-time"),u=t.hasAttribute(Te),s=t.hasAttribute(we);u&&s?o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view_expose",event_detail:i,track_real_time:l}),t.removeAttribute(Te),o.exposeTimer=null}),parseInt(o.duration_expose,10)):(u&&(o.viewTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view",event_detail:i,track_real_time:l}),t.removeAttribute(Te),s&&o.exposeTimer||r(t),o.viewTimer=null}),parseInt(o.duration_view,10))),s&&(o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"expose",event_detail:i,track_real_time:l}),o.exposeTimer=null}),parseInt(o.duration_expose,10))))}},r=function(e){var t=null==ge?void 0:ge.get(e);t&&(null==ye||ye.unobserve(e),t.viewTimer&&clearTimeout(t.viewTimer),t.exposeTimer&&clearTimeout(t.exposeTimer),null==ge||ge.delete(e))},o=function(e){e.forEach((function(e){var t=e.target,o=null==ge?void 0:ge.get(t);o&&(o.viewTimer&&(clearTimeout(o.viewTimer),o.viewTimer=null),o.exposeTimer&&(clearTimeout(o.exposeTimer),o.exposeTimer=null),e.isIntersecting&&(n(t),t.hasAttribute(Te)||t.hasAttribute(we)||r(t)))}))};ye=function(){var e=null;try{e=new IntersectionObserver(o,{root:null,threshold:.5})}catch(e){console.error("[TM]: create IntersectionObserver fail: ",e)}return e}(),new Set(c(c([],a(document.querySelectorAll("[".concat(we,"]"))),!1),a(document.querySelectorAll("[".concat(Te,"]"))),!1)).forEach((function(e){return t(e)})),new MutationObserver((function(e){e.forEach((function(e){if("attributes"===e.type&&e.target instanceof HTMLElement){var n=e.target,o=e.attributeName;n.hasAttribute(we)||n.hasAttribute(Te)?["data-event-detail","data-traceid","data-spm","data-duration-view","data-duration-expose"].includes(o)?t(n,!0):o!==we&&o!==Te||t(n,!1):r(n)}else"childList"===e.type&&(e.addedNodes.forEach((function(e){e instanceof HTMLElement&&(e.hasAttribute(we)||e.hasAttribute(Te)?t(e):new Set(c(c([],a(e.querySelectorAll("[".concat(we,"]"))),!1),a(e.querySelectorAll("[".concat(Te,"]"))),!1)).forEach((function(e){return t(e)})))})),e.removedNodes.forEach((function(e){e instanceof HTMLElement&&((null==ge?void 0:ge.get(e))?r(e):new Set(c(c([],a(e.querySelectorAll("[".concat(we,"]"))),!1),a(e.querySelectorAll("[".concat(Te,"]"))),!1)).forEach((function(e){return r(e)})))})))}))})).observe(document.body,{attributes:!0,childList:!0,subtree:!0})},_e=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;function Se(e){var t=e.match(_e);return t?{filename:t[2],functionName:t[1]||"",lineno:parseInt(t[3],10)||void 0,colno:parseInt(t[4],10)||void 0}:{}}function Ee(e){var t,n,r,o,a;try{var c=e.stack;if(!c)return[];var l=[];try{for(var u=i(c.split("\n").slice(1)),s=u.next();!s.done;s=u.next()){var d=Se(s.value);!d||(null===(r=d.filename)||void 0===r?void 0:r.includes("chrome-extension://"))||(null===(o=d.filename)||void 0===o?void 0:o.includes("node_modules"))||(null===(a=d.filename)||void 0===a?void 0:a.includes("<anonymous>"))||l.push(d)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return l.slice(0,10)}catch(e){return[]}}var ke=new Set,xe=function(e,t){var n,r;if((r=null!==(n=null==C?void 0:C.errorTraceRate)&&void 0!==n?n:.5)<0||r>1?(console.warn("[TM]: probability should be between 0 and 1"),0):Math.random()<r){if(window.trackMonitor.track(t),ke.size>=1e3){var o=ke.values().next().value;void 0!==o&&ke.delete(o)}ke.add(e)}},Me=function(){window.addEventListener("error",(function(e){!function(e){var t;if(e instanceof ErrorEvent&&"Script error."===e.message){var n=S("js-Script error.");if(ke.has(n))return;xe(n,{data_type:"error",event_type:"js",event_detail:{traceId:de,msg:'Script error.(跨域脚本未加载 crossorigin 属性,无法获取堆栈;建议脚本加 crossorigin="anonymous")',target:"",stack:[],errorUuid:n,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno,crossorigin_missing:!0}}})}else if("js"===_(e)&&!function(e){var t,n=(null===(t=e.error)||void 0===t?void 0:t.stack)||"";return/chrome-extension:\/\//.test(n)}(e)){var r=S("js-".concat(e.message,"-").concat(e.filename));if(!ke.has(r)){var o=Ee(e.error),i={traceId:de,msg:e.message,target:o[0]?"".concat(null===(t=o[0].filename)||void 0===t?void 0:t.split("?")[0],":").concat(o[0].lineno,":").concat(o[0].colno):"",stack:o,errorUuid:r,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno}};xe(r,{data_type:"error",event_type:"js",event_detail:i})}}}(e)}),!0)},Ae=function(){window.addEventListener("error",(function(e){!function(e){var t;if("resource"===_(e)){var n=e.target,r=S("resource-".concat(n.src,"-").concat(n.tagName));if(!ke.has(r)){var o={traceId:de,msg:"加载".concat(n.tagName,"失败"),target:null===(t=n.src)||void 0===t?void 0:t.split("?")[0],errorUuid:r,meta:{url:n.src,html:n.outerHTML,tagName:n.tagName}};xe(r,{data_type:"error",event_type:"resource",event_detail:o})}}}(e)}),!0)},Le=function(){window.addEventListener("unhandledrejection",(function(e){return function(e){var t,n=(null===(t=e.reason)||void 0===t?void 0:t.message)||e.reason,r=S("".concat("unhandledrejection","-").concat(n));if(!ke.has(r)){var o={traceId:de,msg:n,stack:Ee(e.reason),errorUuid:r};xe(r,{data_type:"error",event_type:"unhandledrejection",event_detail:o})}}(e)}),!0)},Ce=function(){var e=function(e,t,n){var r;if("string"!=typeof(r=e.url)||![null==C?void 0:C.pushUrl,null==C?void 0:C.authUrl,null==C?void 0:C.realTimeUrl].filter((function(e){return!!e})).some((function(e){return 0===r.indexOf(e)})))if(t){var o=S("http-".concat(t,"-").concat(e.url,"-").concat(n));if(ke.has(o))return;var i={traceId:de,errorType:t,msg:n,target:e.url.split("?")[0],errorUuid:o,request:e};xe(o,{data_type:"error",event_type:"http",event_detail:i})}else if(e.status>=400){var a=e.statusText;o=S("http-".concat(t="http_error","-").concat(e.url,"-").concat(a));if(ke.has(o))return;i={traceId:de,errorUuid:o,errorType:t,target:e.url.split("?")[0],msg:a,request:e};xe(o,{data_type:"error",event_type:"http",event_detail:i})}};!function(e,t){if("XMLHttpRequest"in window&&"function"==typeof window.XMLHttpRequest){var r=window.XMLHttpRequest;window.oXMLHttpRequest||(window.oXMLHttpRequest=r),window.XMLHttpRequest=function(){var e=new r,o=e.open,i=e.send,a={};e.open=function(t,n,r,i,c){void 0===r&&(r=!0),a.method=t,a.url=n,o.call(e,t,n,r,i,c)},e.send=function(t){a.requestTime=(new Date).getTime(),i.call(e,t)};var c=function(r,o){var i=e.status,c=e.statusText,l=(new Date).getTime();a=n(n({},a),{status:i,statusText:c,responseTime:l,duration:l-a.requestTime}),"function"==typeof t&&t(a,r,o)};return e.addEventListener("loadend",(function(){return c()})),e.addEventListener("error",(function(){return c("net_error","ERR_NETWORK")})),e.addEventListener("abort",(function(){return c("cannel_request","ERR_CANCELED")})),e.addEventListener("timeout",(function(){return c("timeout","ERR_NETWORK")})),e}}}(0,e),function(e,t){if("fetch"in window&&"function"==typeof window.fetch){var i=window.fetch;window.oFetch||(window.oFetch=i),window.fetch=function(e,a){return r(void 0,void 0,void 0,(function(){var c;return o(this,(function(l){return(c={}).method=(null==a?void 0:a.method)||"",c.url=(e&&"string"!=typeof e?null==e?void 0:e.url:e)||"",c.requestTime=(new Date).getTime(),[2,i.call(window,e,a).then((function(e){return r(void 0,void 0,void 0,(function(){var r,i;return o(this,(function(o){return"function"==typeof t&&(r=e.clone(),i=(new Date).getTime(),c=n(n({},c),{status:r.status,statusText:r.statusText,responseTime:i,duration:i-c.requestTime}),t(c)),[2,e]}))}))})).catch((function(e){if("function"==typeof t){var r=(new Date).getTime();c=n(n({},c),{responseTime:r,duration:r-c.requestTime}),"AbortError"===e.name?t(c,"cannel_request","ERR_CANCELED"):t(c,"net_error","ERR_NETWORK")}return Promise.reject(e)}))]}))}))}}}(0,e)};var Ie=new WeakSet,Oe=function(e){return{form_id:e.id||null,form_class:"string"==typeof e.className?e.className:null,form_name:e.getAttribute("name")||null,form_action:e.getAttribute("action")||null,form_text:(e.textContent||"").trim().slice(0,200)||null}};function Re(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var qe=-1,Ne=e=>{addEventListener("pageshow",(t=>{t.persisted&&(qe=t.timeStamp,e(t))}),!0)},je=(e,t,n,r)=>{var o,i;return a=>{t.value>=0&&(a||r)&&(((i=t.value-(null!=o?o:0))||void 0===o)&&(o=t.value,t.delta=i,t.rating=((e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good")(t.value,n),e(t)))}},Ue=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))))},De=()=>{var e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},Be=()=>{var e,t=De();return null!==(e=null==t?void 0:t.activationStart)&&void 0!==e?e:0},ze=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=De(),r="navigate";return qe>=0?r="back-forward-cache":n&&(document.prerendering||Be()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:"v5-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},Fe=new WeakMap;function He(e,t){return Fe.get(e)||Fe.set(e,new t),Fe.get(e)}class Ke{constructor(){Re(this,"t",void 0),Re(this,"i",0),Re(this,"o",[])}h(e){var t;if(!e.hadRecentInput){var n=this.o[0],r=this.o.at(-1);this.i&&n&&r&&e.startTime-r.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),null===(t=this.t)||void 0===t||t.call(this,e)}}}var Je,We=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return r.observe(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pe(Object(n),!0).forEach((function(t){Re(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({type:e,buffered:!0},n)),r}}catch(e){}},Xe=e=>{var t=!1;return()=>{t||(e(),t=!0)}},Ge=-1,Qe=new Set,$e=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,Ye=e=>{if("hidden"===document.visibilityState){if("visibilitychange"===e.type)for(var t of Qe)t();isFinite(Ge)||(Ge="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",Ye,!0))}},Ve=()=>{if(Ge<0){var e,t=Be(),n=document.prerendering||null===(e=globalThis.performance.getEntriesByType("visibility-state").filter((e=>"hidden"===e.name&&e.startTime>t))[0])||void 0===e?void 0:e.startTime;Ge=null!=n?n:$e(),addEventListener("visibilitychange",Ye,!0),addEventListener("prerenderingchange",Ye,!0),Ne((()=>{setTimeout((()=>{Ge=$e()}))}))}return{get firstHiddenTime(){return Ge},onHidden(e){Qe.add(e)}}},Ze=e=>{document.prerendering?addEventListener("prerenderingchange",(()=>e()),!0):e()},et=[1800,3e3],tt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ze((()=>{var n,r=Ve(),o=ze("FCP"),i=We("paint",(e=>{for(var t of e)"first-contentful-paint"===t.name&&(i.disconnect(),t.startTime<r.firstHiddenTime&&(o.value=Math.max(t.startTime-Be(),0),o.entries.push(t),n(!0)))}));i&&(n=je(e,o,et,t.reportAllChanges),Ne((r=>{o=ze("FCP"),n=je(e,o,et,t.reportAllChanges),Ue((()=>{o.value=performance.now()-r.timeStamp,n(!0)}))})))}))},nt=[.1,.25],rt=0,ot=1/0,it=0,at=e=>{for(var t of e)t.interactionId&&(ot=Math.min(ot,t.interactionId),it=Math.max(it,t.interactionId),rt=it?(it-ot)/7+1:0)},ct=()=>{var e;return Je?rt:null!==(e=performance.interactionCount)&&void 0!==e?e:0},lt=0;class ut{constructor(){Re(this,"u",[]),Re(this,"l",new Map),Re(this,"m",void 0),Re(this,"p",void 0)}v(){lt=ct(),this.u.length=0,this.l.clear()}L(){var e=Math.min(this.u.length-1,Math.floor((ct()-lt)/50));return this.u[e]}h(e){var t;if(null!==(t=this.m)&&void 0!==t&&t.call(this,e),e.interactionId||"first-input"===e.entryType){var n=this.u.at(-1),r=this.l.get(e.interactionId);if(r||this.u.length<10||e.duration>n.P){var o;if(r?e.duration>r.P?(r.entries=[e],r.P=e.duration):e.duration===r.P&&e.startTime===r.entries[0].startTime&&r.entries.push(e):(r={id:e.interactionId,entries:[e],P:e.duration},this.l.set(r.id,r),this.u.push(r)),this.u.sort(((e,t)=>t.P-e.P)),this.u.length>10){var i=this.u.splice(10);for(var a of i)this.l.delete(a.id)}null===(o=this.p)||void 0===o||o.call(this,r)}}}}var st=e=>{var t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=Xe(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t((()=>{e(),removeEventListener("visibilitychange",e,{capture:!0})})))},dt=[200,500],ft=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype){var n=Ve();Ze((()=>{var r;"interactionCount"in performance||Je||(Je=We("event",at,{type:"event",buffered:!0,durationThreshold:0}));var o,i=ze("INP"),a=He(t,ut),c=e=>{st((()=>{for(var t of e)a.h(t);var n=a.L();n&&n.P!==i.value&&(i.value=n.P,i.entries=n.entries,o())}))},l=We("event",c,{durationThreshold:null!==(r=t.durationThreshold)&&void 0!==r?r:40});o=je(e,i,dt,t.reportAllChanges),l&&(l.observe({type:"first-input",buffered:!0}),n.onHidden((()=>{c(l.takeRecords()),o(!0)})),Ne((()=>{a.v(),i=ze("INP"),o=je(e,i,dt,t.reportAllChanges)})))}))}};class vt{constructor(){Re(this,"m",void 0)}h(e){var t;null===(t=this.m)||void 0===t||t.call(this,e)}}var pt=[2500,4e3],mt=[800,1800],ht=e=>{document.prerendering?Ze((()=>ht(e))):"complete"!==document.readyState?addEventListener("load",(()=>ht(e)),!0):setTimeout(e)};function yt(){var e={ttfb:null,lcp:null,fp:null,fcp:null,connectionRtt:null,ttfbRequestTime:null,inp:null,cls:null,dcl:null,loadTime:null};!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ze((()=>{var n,r=Ve(),o=ze("LCP"),i=He(t,vt),a=e=>{for(var a of(t.reportAllChanges||(e=e.slice(-1)),e))i.h(a),a.startTime<r.firstHiddenTime&&(o.value=Math.max(a.startTime-Be(),0),o.entries=[a],n())},c=We("largest-contentful-paint",a);if(c){n=je(e,o,pt,t.reportAllChanges);var l=Xe((()=>{a(c.takeRecords()),c.disconnect(),n(!0)})),u=e=>{e.isTrusted&&(st(l),removeEventListener(e.type,u,{capture:!0}))};for(var s of["keydown","click","visibilitychange"])addEventListener(s,u,{capture:!0});Ne((r=>{o=ze("LCP"),n=je(e,o,pt,t.reportAllChanges),Ue((()=>{o.value=performance.now()-r.timeStamp,n(!0)}))}))}}))}((function(t){e.lcp=g(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Ve();tt(Xe((()=>{var r,o=ze("CLS",0),i=He(t,Ke),a=e=>{for(var t of e)i.h(t);i.i>o.value&&(o.value=i.i,o.entries=i.o,r())},c=We("layout-shift",a);c&&(r=je(e,o,nt,t.reportAllChanges),n.onHidden((()=>{a(c.takeRecords()),r(!0)})),Ne((()=>{i.i=0,o=ze("CLS",0),r=je(e,o,nt,t.reportAllChanges),Ue((()=>r()))})),setTimeout(r))})))}((function(t){e.cls=Math.round(1e4*t.value)/1e4}),{reportAllChanges:!0}),ft((function(t){e.inp=g(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=ze("TTFB"),r=je(e,n,mt,t.reportAllChanges);ht((()=>{var o=De();o&&(n.value=Math.max(o.responseStart-Be(),0),n.entries=[o],r(!0),Ne((()=>{n=ze("TTFB",0),(r=je(e,n,mt,t.reportAllChanges))(!0)})))}))}((function(t){e.ttfb=g(t.value)})),tt((function(t){e.fcp=g(t.value)}));var t=function(){!function(){try{performance.getEntriesByType("paint").forEach((function(t){"first-paint"===t.name&&(e.fp=g(t.startTime))}))}catch(e){console.warn("[TM]: Failed to collect FP:",e)}try{var t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;t&&void 0!==t.rtt&&(e.connectionRtt=t.rtt)}catch(e){console.warn("[TM]: Failed to collect Connection RTT:",e)}try{if(o=performance.getEntriesByType("navigation")[0]){var n=o.responseStart,r=o.requestStart;n>0&&r>0&&r<=n&&(e.ttfbRequestTime=g(n-r))}}catch(e){console.warn("[TM]: Failed to collect TTFB Request Time:",e)}try{var o;if(o=performance.getEntriesByType("navigation")[0]){var i=o.domContentLoadedEventEnd,a=o.loadEventEnd,c=o.fetchStart;i>0&&c>0&&(e.dcl=g(i-c)),a>0&&c>0&&(e.loadTime=g(a-c))}}catch(e){console.warn("[TM]: Failed to collect DCL and Load Time:",e)}}(),window.trackMonitor.track({data_type:"performance",event_type:"metrics",event_detail:{traceId:de,data:e}})},n=0,r=function(){var e=Date.now();e-n<3e4||(n=e,t())};window.addEventListener("beforeunload",t),window.addEventListener("pagehide",r),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&r()}))}var gt="__tengence_sdk";e.init=function(e){if("undefined"!=typeof window&&window.trackMonitor&&window.trackMonitor[gt])return console.warn("[TM]: init 已调用过,复用现有实例(如需重建请刷新页面)"),window.trackMonitor;var t,r=se(e),o=r.client,i=r.beforeClose;return be(o.track),!1!==e.traceBehavior&&he({enableScroll:e.enableScroll}),!1!==e.enableFormTrack&&(t=o.track,document.addEventListener("focusin",(function(e){var n=e.target;if((r=n)&&("INPUT"===r.tagName||"SELECT"===r.tagName||"TEXTAREA"===r.tagName)){var r,o=n.closest("form");o&&!Ie.has(o)&&(Ie.add(o),t({data_type:"common",event_type:"form_start",event_detail:Oe(o)}))}}),!0),document.addEventListener("submit",(function(e){var r=e.target;if(r&&"FORM"===r.tagName){var o=e.submitter;t({data_type:"common",event_type:"form_submit",event_detail:n(n({},Oe(r)),{submitter_id:(null==o?void 0:o.id)||null,submitter_text:((null==o?void 0:o.textContent)||"").trim().slice(0,200)||null})})}}),!0)),!1!==e.traceError&&(Me(),Ae(),Le(),Ce()),!1!==e.tracePerformance&&y((function(){!function(){var e,t,n,r,o,i=window.performance||window.msPerformance;if(!i)return{dnsLookupTime:null,tcpConnectTime:null,ttfb:null,transferTime:null,domParseTime:null,domCompleteTime:null,loadEventTime:null,totalPageLoad:null};var a=i.getEntriesByType&&"function"==typeof i.getEntriesByType?i.getEntriesByType("navigation"):void 0,c=Array.isArray(a)?a[0]:void 0,l=null;if(c)l=c;else{var u=i.timing;u&&!(l={startTime:0,domainLookupStart:u.domainLookupStart,domainLookupEnd:u.domainLookupEnd,connectStart:u.connectStart,connectEnd:u.connectEnd,requestStart:u.requestStart,responseStart:u.responseStart,responseEnd:u.responseEnd,domInteractive:u.domInteractive,domComplete:u.domComplete,loadEventEnd:u.loadEventEnd,fetchStart:u.fetchStart}).requestStart&&u.fetchStart&&(l.requestStart=u.fetchStart)}var s={dnsLookupTime:l?g(l.domainLookupEnd-l.domainLookupStart):null,tcpConnectTime:l?g(l.connectEnd-l.connectStart):null,ttfb:l?g(l.responseStart-(null!==(t=null!==(e=l.requestStart)&&void 0!==e?e:l.fetchStart)&&void 0!==t?t:0)):null,transferTime:l?g(l.responseEnd-l.responseStart):null,domParseTime:l?g(l.domInteractive-l.responseEnd):null,domCompleteTime:l?g(l.domComplete-l.domInteractive):null,loadEventTime:l?g(l.loadEventEnd-(null!==(n=l.domComplete)&&void 0!==n?n:0)):null,totalPageLoad:l?g((null!==(r=l.loadEventEnd)&&void 0!==r?r:performance.now())-(null!==(o=l.startTime)&&void 0!==o?o:0)):null};window.trackMonitor.track({data_type:"performance",event_type:"navigation_timing",event_detail:{traceId:de,data:s}})}(),function(){var e,t=window.performance||window.msPerformance;if(!t)return[];var n=[];if(t.getEntriesByType){var r=(t.getEntriesByType("resource")||[]).map((function(e){var t="number"==typeof e.redirectEnd&&"number"==typeof e.redirectStart?g(e.redirectEnd-e.redirectStart):null,n="number"==typeof e.domainLookupEnd&&"number"==typeof e.domainLookupStart?g(e.domainLookupEnd-e.domainLookupStart):null,r="number"==typeof e.connectEnd&&"number"==typeof e.connectStart?g(e.connectEnd-e.connectStart):null,o="number"==typeof e.requestStart&&"number"==typeof e.fetchStart?g(e.requestStart-e.fetchStart):null,i="number"==typeof e.responseStart&&"number"==typeof e.requestStart?g(e.responseStart-e.requestStart):null,a="number"==typeof e.responseEnd&&"number"==typeof e.responseStart?g(e.responseEnd-e.responseStart):null,c="number"==typeof e.duration?g(e.duration):null,l="number"==typeof e.startTime?g(e.startTime):null,u="number"==typeof e.transferSize&&isFinite(e.transferSize)&&e.transferSize>=0?Math.round(e.transferSize):null,s="number"==typeof e.encodedBodySize&&isFinite(e.encodedBodySize)&&e.encodedBodySize>=0?Math.round(e.encodedBodySize):null,d="number"==typeof e.decodedBodySize&&isFinite(e.decodedBodySize)&&e.decodedBodySize>=0?Math.round(e.decodedBodySize):null;return{name:e.name,initiatorType:e.initiatorType||"",startTime:l,duration:c,redirectTime:t,cacheTime:o,dnsTime:n,connectTime:r,requestTime:i,responseTime:a,transferSize:u,encodedBodySize:s,decodedBodySize:d}}));r.sort((function(e,t){var n,r;return(null!==(n=t.duration)&&void 0!==n?n:0)-(null!==(r=e.duration)&&void 0!==r?r:0)}));var o=null!==(e=null==C?void 0:C.resourceFlowLimit)&&void 0!==e?e:15;if(0===o)return;for(var i=0;i<Math.min(o,r.length);i++)n.push(r[i])}window.trackMonitor.track({data_type:"performance",event_type:"resource_flow",event_detail:{traceId:de,data:n}})}(),yt()})),y((function(){i()})),window.trackMonitor[gt]=!0,window.trackMonitor}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TrackSDK={})}(this,(function(e){"use strict";var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)};var n=function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function r(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function c(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}l((r=r.apply(e,t||[])).next())}))}function o(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(l){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,l])}}}function i(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function a(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function c(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var l=function(e){function n(t,n){var r=e.call(this,n||"[TM]: Auth error ".concat(t))||this;return Object.defineProperty(r,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.name="AuthError",r.status=t,r}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}(n,e),n}(Error),u=function(e){var t=e.method,n=e.url,r=e.data,o=e.headers,i=void 0===o?{}:o,a=e.withCredentials,c=void 0!==a&&a,l=e.timeoutMs;return new Promise((function(e,o){var a=new XMLHttpRequest;a.open(t,n,!0),l&&(a.timeout=l),Object.keys(i).forEach((function(e){a.setRequestHeader(e,i[e])})),a.withCredentials=!!c,a.onreadystatechange=function(){if(4===a.readyState)if(a.status>=200&&a.status<300)try{var t=JSON.parse(a.responseText);e(t)}catch(e){o(e)}else{var n=new Error("[TM]: Request failed with status ".concat(a.status));n.status=a.status,o(n)}},a.onerror=function(){o(new Error("[TM]: Network error"))},a.ontimeout=function(){var e=new Error("[TM]: Request timeout");e.timeout=!0,o(e)},"POST"===t&&r?a.send(r):a.send()}))},s=function(e,t,r){if(!r)return fetch(e,t);var o=new AbortController,i=setTimeout((function(){return o.abort()}),r);return fetch(e,n(n({},t),{signal:o.signal})).catch((function(e){if(e&&"AbortError"===e.name){var t=new Error("[TM]: Request timeout");throw t.timeout=!0,t}throw e})).finally((function(){return clearTimeout(i)}))},d=function(e,t,n,r){var o={"Content-Type":"application/json"};n&&(o.Authorization="Bearer ".concat(n));var i=function(){return u({method:"POST",url:e,data:JSON.stringify(t),headers:o,withCredentials:!0,timeoutMs:r})};return"function"!=typeof fetch?i():s(e,{method:"POST",keepalive:!0,credentials:"include",headers:o,body:JSON.stringify(t)},r).then((function(e){if(401===e.status||403===e.status)throw new l(e.status,"[TM]: Auth error ".concat(e.status));if(429===e.status){(r=new Error("[TM]: Request throttled with status 429")).status=429;var t=e.headers.get("Retry-After");if(t){var n=parseInt(t,10);isNaN(n)||(r.retryAfter=1e3*n)}throw r}var r;if(!e.ok)throw(r=new Error("[TM]: Request failed with status ".concat(e.status))).status=e.status,r;return e.json()})).catch((function(e){if(e instanceof l)throw e;if(e&&e.status)throw e;return i()}))},f=window.requestIdleCallback||window.requestAnimationFrame||function(e){return setTimeout(e,17)};function v(e,t,n){void 0===t&&(t=150),void 0===n&&(n=!1);var r=null;return function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=this,c=n&&!r;r&&clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(a,o)}),t),c&&e.apply(a,o)}}var p=function(e,t){void 0===t&&(t=300);var n=0;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=Date.now();i-n>=t&&(n=i,e.apply(this,r))}};function m(e,t){if(void 0===t&&(t=""),!e)return t;var n=e.parentElement,r=e.id,o=e.tagName.toLowerCase(),i=t?">".concat(t):"";return n&&n!==document.documentElement&&n!==document.body?r?"#".concat(r).concat(i):m(n,"".concat(o).concat(i)):"".concat(o).concat(i)}var h=function(){var e,t;if(null===(e=window.performance)||void 0===e?void 0:e.navigation)return performance.navigation.type;if(null===(t=window.performance)||void 0===t?void 0:t.getEntriesByType){var n=performance.getEntriesByType("navigation");if(n.length>0)return n[0].type}return 255},y=function(e){"prerendering"in document&&document.prerendering?function(e){"prerendering"in document&&document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()}((function(){return y(e)})):"complete"!==(null===document||void 0===document?void 0:document.readyState)?addEventListener("load",(function(){return y(e)}),!0):setTimeout(e)};function g(e){return"number"!=typeof e||!isFinite(e)||e<0?null:Math.round(100*e)/100}var w=Array(32);function T(e){return function(){for(var t=0;t<2*e;t++)w[t]=Math.floor(16*Math.random())+48,w[t]>=58&&(w[t]+=39);return String.fromCharCode.apply(null,w.slice(0,2*e))}}function b(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():T(16)()}var _=function(e){return e instanceof ErrorEvent?"Script error."===e.message?"cors":"js":"resource"},S=function(e){return function(e){for(var t=5381,n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t.toString(16).padStart(8,"0")}(e)};var E,k,x={view:"#3b82f6",click:"#06b6d4",expose:"#8b5cf6",enter:"#10b981",leave:"#f59e0b",stay:"#84cc16",cart:"#ec4899",buy:"#ef4444",pay:"#dc2626",default:"#6b7280"},M={view:"👁️",click:"👆",expose:"✨",enter:"🚪",leave:"👋",stay:"⏱️",cart:"🛒",buy:"💰",pay:"💳",default:"📊"},A={common:"#3b82f6",behavior:"#10b981",performance:"#f59e0b",error:"#ef4444",custom:"#8b5cf6",default:"#6b7280"},L=function(e,t){t.forEach((function(t,r){var o=t.event_type||"unknown",i=t.data_type||"common",a=function(e){return x[e]||x.default}(o),c=function(e){return A[e]||A.default}(i),l=function(e){return M[e]||M.default}(o),u=t.event_detail;if("string"==typeof u)try{u=JSON.parse(u)}catch(e){}console.groupCollapsed("%c".concat(l," [TM-").concat(e,"] %c").concat(i.toUpperCase(),"%c → %c").concat(o.toUpperCase(),"%c #").concat(r+1),"color: #6b7280; font-weight: bold;","color: ".concat(c,"; font-weight: bold; background: ").concat(c,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280;","color: ".concat(a,"; font-weight: bold; background: ").concat(a,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280; font-weight: normal;");var s=n(n({},t),{event_detail:u});console.log("%c"+JSON.stringify(s,null,2),"color: #6b7280; font-family: monospace; font-size: 11px; line-height: 1.5;"),console.groupEnd()})),console.log("%c✅ [TM] 本次通过 ".concat(e," 上报 ").concat(t.length," 条埋点数据"),"color: #10b981; font-weight: bold; font-size: 12px; padding: 4px 8px; background: #10b98120; border-radius: 4px; border-left: 3px solid #10b981;")},C=void 0,I="TRACK_MONITOR_DATA",O="MONITOR_REAL_TIME_DATA",R="TRACK_MONITOR_USER",P="tengence_device_id",q="tengence_register_properties",N="TRACK_MONITOR_LOGGER",j="tengence_tracking_enabled",U=2e3,D="tengence_access_token",B=null,z=null,F=function(e){return(t=e,n={},r=null==C?void 0:C.requestTimeout,o={"Content-Type":"application/json"},i=function(){return u({method:"POST",url:t,data:JSON.stringify(n),headers:o,withCredentials:!0,timeoutMs:r})},"function"!=typeof fetch?i():s(t,{method:"POST",credentials:"include",headers:o,body:JSON.stringify(n)},r).then((function(e){if(!e.ok){var t=new Error("[TM]: Request failed with status ".concat(e.status));throw t.status=e.status,t}return e.json()})).catch((function(e){if(e&&e.status)throw e;return i()}))).then((function(e){var t=e&&e.data,n=t&&t.accessToken,r=t&&t.accessExpAt;if(!n||"number"!=typeof r)throw new Error("[TM]: authUrl 响应缺少 accessToken/accessExpAt");return function(e,t){B={token:e,expAt:t};try{localStorage.setItem(D,JSON.stringify({token:e,expAt:t}))}catch(e){}}(n,r),n}));var t,n,r,o,i},H=function(e){var t,n=function(){if(B)return B;try{var e=localStorage.getItem(D);if(!e)return null;var t=JSON.parse(e);if(t&&"string"==typeof t.token&&t.token&&"number"==typeof t.expAt)return B={token:t.token,expAt:t.expAt}}catch(e){}return null}();return(t=n)&&t.token.length>0&&t.expAt-6e4>Date.now()?Promise.resolve(n.token):(z||(z=F(e).catch((function(e){throw e})).finally((function(){z=null}))),z)},K={timer:null,promise:null},J={timer:null,promise:null},W=function(e){var t=JSON.stringify(e);return(new TextEncoder).encode(t).length/1024},X=null,G=function(){if(X)return X;try{var e=localStorage.getItem(q),t=e?JSON.parse(e):{};return X=t,t}catch(e){return console.error("[TM]: get register properties fail: ",e),{}}},Q=function(e){X=e;try{localStorage.setItem(q,JSON.stringify(e))}catch(e){console.error("[TM]: save register properties fail: ",e)}},$=function(e){if(e&&"object"==typeof e&&!Array.isArray(e)){var t=n(n({},G()),e),r=Object.keys(t);if(r.length>50){var o={};return r.slice(0,50).forEach((function(e){o[e]=t[e]})),console.warn("[TM]: register properties exceed max ".concat(50," keys, extra keys dropped")),void Q(o)}Q(t)}else console.error("[TM]: registerGlobalProperties props must be a plain object")},Y=function(e){var t=document.cookie.match(new RegExp("(?:^|;\\s*)"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},V=function(e){document.cookie="".concat(P,"=").concat(encodeURIComponent(e),"; Max-Age=63072000; Path=/")},Z=function(){if(E)return E;try{var e=localStorage.getItem(P);if(e)return Y(P)||V(e),E=e;var t=Y(P);if(t){try{localStorage.setItem(P,t)}catch(e){}return E=t}e=b();try{localStorage.setItem(P,e)}catch(e){}return V(e),E=e}catch(e){return void console.error("[TM]: get or create device id fail: ",e)}},ee="tengence_session_id",te=function(){try{var e=sessionStorage.getItem(ee),t=e?JSON.parse(e):null,n=Date.now();return!t||!t.id||n-t.lastActiveAt>18e5?(t={id:b(),lastActiveAt:n},sessionStorage.setItem(ee,JSON.stringify(t))):(t.lastActiveAt=n,sessionStorage.setItem(ee,JSON.stringify(t))),t.id}catch(e){return}},ne=function(e,t){var n,r;try{var o=new URL(e,location.href);if(!o.searchParams.toString())return e;if(t&&t.length){var a=[];try{for(var c=i(t),l=c.next();!l.done;l=c.next()){var u=l.value,s=o.searchParams.get(u);null!==s&&a.push("".concat(u,"=").concat(encodeURIComponent(s)))}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}o.search=a.length?"?".concat(a.join("&")):""}else o.search="";return o.toString()}catch(t){return e}},re=function(e,t,n){var r,o;if("string"==typeof e)return t>0&&e.length>t?e.slice(0,t)+"...[truncated]":e;if(Array.isArray(e))return e.map((function(e){return re(e,t,n)}));if(e&&"object"==typeof e){var a={};try{for(var c=i(Object.keys(e)),l=c.next();!l.done;l=c.next()){var u=l.value,s=e[u];"string"==typeof s&&/(^|_)url$|(^|_)href$|^referrer$/i.test(u)&&/^https?:\/\//i.test(s)?a[u]=ne(s,n):a[u]=re(s,t,n)}}catch(e){r={error:e}}finally{try{l&&!l.done&&(o=c.return)&&o.call(c)}finally{if(r)throw r.error}}return a}return e},oe=function(e){var t,r={page_url:location.href,hostname:window.location.hostname||window.location.host,os:window.navigator.platform,user_id:localStorage.getItem(R)||void 0,user_agent:window.navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,lib_version:"1.1.17",lib_type:"js",event_time:(new Date).getTime().toString(),timezone_offset:(new Date).getTimezoneOffset().toString()},o=null==C?void 0:C.sanitize;try{t="string"==typeof e.event_detail?e.event_detail:JSON.stringify(o&&(o.maxTextLength>0||o.stripQuery)?re(e.event_detail,o.maxTextLength,o.preserveQueryKeys):e.event_detail)}catch(e){return le("serialize_failed","事件 event_detail 序列化失败(循环引用/BigInt?),该事件丢弃",{error:e}),void console.warn("[TM]: event_detail 序列化失败,该事件丢弃",e)}return n(n({session_id:e.session_id||((null==C?void 0:C.enableAutoSessionId)?te():void 0),request_id:e.request_id,event_id:e.event_id||b(),spm:e.spm,data_type:e.data_type||"behavior",event_type:e.event_type,event_detail:t},r),{page_url:o&&o.stripQuery?ne(r.page_url,o.preserveQueryKeys):r.page_url,device_id:Z(),register_properties:JSON.stringify(G()),platform:e.platform||k})},ie=function(){try{return"true"===localStorage.getItem(N)}catch(e){return!1}},ae=function(e,t,n,r,o){return void 0===e?t:"number"!=typeof e||Number.isNaN(e)||e<n||e>r?(console.warn("[TM]: 配置 ".concat(o,"=").concat(e," 非法,回退默认值 ").concat(t)),t):e},ce=function(e,t){var n;try{null===(n=null==C?void 0:C.onDrop)||void 0===n||n.call(C,e,t)}catch(e){}},le=function(e,t,n){var r;(null==C?void 0:C.isLogger)&&console.error("[TM]: ".concat(t));try{null===(r=null==C?void 0:C.onError)||void 0===r||r.call(C,{code:e,message:t,context:n})}catch(e){}},ue=function(){try{var e=localStorage.getItem(j);return null===e||"1"===e}catch(e){return!0}},se=function(e){var t,a,c,u,s,v,p,m,h,y,g,w=e.apiKey,T=void 0,b=/Android|iPhone|iPad|iPod|Mobile/i.test(window.navigator.userAgent);k=e.platform||(b?"h5":"web");var _=(C={pushUrl:e.pushUrl||"https://api.tengence.com/v1/push/event",authUrl:e.authUrl,realTimeUrl:e.realTimeUrl,cacheNumber:ae(e.cacheNumber,100,1,1/0,"cacheNumber"),reportInterval:ae(e.reportInterval,5e3,100,1/0,"reportInterval"),realTimeReportInterval:ae(e.realTimeReportInterval,200,100,1/0,"realTimeReportInterval"),maxCacheSize:ae(e.maxCacheSize,56,1,1/0,"maxCacheSize"),maxRetries:ae(e.maxRetries,10,0,1/0,"maxRetries"),isLogger:null!==(t=e.isLogger)&&void 0!==t?t:ie(),errorTraceRate:ae(e.errorTraceRate,.5,0,1,"errorTraceRate"),resourceFlowLimit:ae(e.resourceFlowLimit,15,0,200,"resourceFlowLimit"),traceBehavior:null===(a=e.traceBehavior)||void 0===a||a,tracePerformance:null===(c=e.tracePerformance)||void 0===c||c,traceError:null===(u=e.traceError)||void 0===u||u,sanitize:!1===e.sanitize?{stripQuery:!1,maxTextLength:0,preserveQueryKeys:[]}:{stripQuery:null!==(v=null===(s=e.sanitize)||void 0===s?void 0:s.stripQuery)&&void 0!==v&&v,maxTextLength:ae(null===(p=e.sanitize)||void 0===p?void 0:p.maxTextLength,0,0,1/0,"sanitize.maxTextLength"),preserveQueryKeys:(null===(m=e.sanitize)||void 0===m?void 0:m.preserveQueryKeys)||[]},enableAutoSessionId:null!==(h=e.enableAutoSessionId)&&void 0!==h&&h,enableTracking:null!==(y=e.enableTracking)&&void 0!==y?y:ue(),respectGpc:null===(g=e.respectGpc)||void 0===g||g,requestTimeout:ae(e.requestTimeout,1e4,1e3,6e4,"requestTimeout"),beforeSend:e.beforeSend,onDrop:e.onDrop,onError:e.onError}).pushUrl,S=C.authUrl,E=C.realTimeUrl,x=C.cacheNumber,M=C.reportInterval,A=C.realTimeReportInterval,P=C.maxCacheSize,q=C.maxRetries;w||S||(console.error("[TM]: 未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"),le("init_missing_credential","未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"));var z={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},F={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},X=function(e){try{localStorage.setItem(R,e)}catch(e){console.error("[TM]: monitor bind user fail: ",e)}},G=function(){localStorage.removeItem(R)},Q={},Y={},V=new Set,Z=null,ee=function(){null!==Z&&(clearTimeout(Z),Z=null),V.size&&(V.forEach((function(e){try{localStorage.setItem(e,JSON.stringify(Q[e]||[]))}catch(t){le("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),本次数据仅保留内存",{key:e,error:t})}})),V.clear())},te=function(e){if(Q[e])return Q[e];var t=[];try{t=JSON.parse(localStorage.getItem(e)||"[]")}catch(t){le("queue_read_failed","读取本地缓存队列失败,按空队列处理",{key:e,error:t})}return Q[e]=t,Y[e]=t.reduce((function(e,t){return e+W(t)}),0),Q[e]},ne=function(e,t){V.delete(e),Q[e]=t,Y[e]=t.reduce((function(e,t){return e+W(t)}),0);try{localStorage.setItem(e,JSON.stringify(t))}catch(t){le("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),队列清空处理",{key:e,error:t});try{localStorage.setItem(e,"[]")}catch(t){le("localstorage_unavailable","localStorage 不可用,本次数据仅保留内存",{key:e,error:t})}}},re=function(e){T=e},se=function(e,t,n){return void 0===n&&(n=!1),r(void 0,void 0,void 0,(function(){var i,a,c,u,s,f,v;return o(this,(function(p){switch(p.label){case 0:i=e&&E?E:_,p.label=1;case 1:return p.trys.push([1,6,,7]),(c=w||T)?[3,5]:S?[4,H(S)]:[3,3];case 2:return u=p.sent(),[3,4];case 3:u=void 0,p.label=4;case 4:c=u,p.label=5;case 5:return a=c,[3,7];case 6:throw s=p.sent(),le("token_fetch_failed","从 authUrl 获取 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S,error:s}),s;case 7:if(!a)throw le("init_missing_credential","未配置 apiKey/authUrl 且未注入 accessToken,本次数据未上报(保留缓存队列待重试)"),new Error("[TM]: credential missing, skip report");return(null==C?void 0:C.isLogger)&&L(e?"RealTimeFetch":"Fetch",t),f=(null==C?void 0:C.beforeSend)?function(){var e;try{e=C.beforeSend(t)}catch(e){le("before_send_failed","beforeSend 钩子抛错,本次按原始数据发送",{error:e})}return Array.isArray(e)?e:t}():t,v=n||null==C?void 0:C.requestTimeout,[2,d(i,{data:f},a,v).catch((function(e){return r(void 0,void 0,void 0,(function(){var t,n;return o(this,(function(r){switch(r.label){case 0:return t=null==e?void 0:e.status,e instanceof l||401===t||403===t?w||T||!S?[3,2]:(function(){B=null;try{localStorage.removeItem(D)}catch(e){}}(),[4,H(S).catch((function(){}))]):[3,2];case 1:if(n=r.sent())return[2,d(i,{data:f},n,v)];le("token_invalid","上报 401/403 且刷新 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:S}),r.label=2;case 2:throw e}}))}))}))]}}))}))},de=function(e,t){var n=new Set(t.filter((function(e){return!!e})));if(n.size){var r=te(e);if(r.length){var o=r.filter((function(e){return e.event_id&&!n.has(e.event_id)}));o.length!==r.length&&ne(e,o)}}},fe=function(e,t,n){void 0===n&&(n=0);var r=(t?A:M)*Math.pow(2,e)*(.8+.4*Math.random()),o=Math.min(r,6e4);return Math.max(o,n)},ve=function(e,t){var n=W(t);if(n>=64)return ce([t],"item_too_large"),void console.warn("[TM]: 单条事件超过体积上限(".concat(64,"KB),丢弃该条"));var r=te(e);if(r.unshift(t),Y[e]+=n,r.length>U){var o=r.length-U,i=r.splice(r.length-o,r.length);Y[e]=r.reduce((function(e,t){return e+W(t)}),0),ce(i,"queue_overflow"),console.warn("[TM]: 队列超过上限(".concat(U,"条),丢弃最旧 ").concat(o," 条"))}!function(e){V.add(e),null===Z&&(Z=setTimeout((function(){Z=null,ee()}),200))}(e),pe(e,Y[e]>=P)},pe=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),null==C?void 0:C.enableTracking){var a=te(e);if(a.length){var c=function(e){return e===O}(e),l=c?J:K,u=function(e){return e?F:z}(c);if(u.halveBatch&&a.length>1&&(a=a.slice(0,Math.ceil(a.length/2))),!u.retryExhausted)if(Date.now()<u.nextRetryAt)null===l.timer&&(l.timer=setTimeout((function(){l.timer=null,pe(e)}),u.nextRetryAt-Date.now()));else if(0!==u.retryCount||(a.length>=x||t)){if(null!==l.timer&&(clearTimeout(l.timer),l.timer=null),l.promise)return;l.promise=function(e,t,n,a,c){return void 0===c&&(c=!1),r(void 0,void 0,void 0,(function(){var r,l,u,s,d,f,v,p,m,h,y,g,w,T,b,_,S,E;return o(this,(function(k){switch(k.label){case 0:r=[],l=[],u=0;try{for(s=i(t),d=s.next();!d.done;d=s.next())f=d.value,v=1024*W(f),l.length&&u+v>65536&&(r.push(l),l=[],u=0),l.push(f),u+=v}catch(e){w={error:e}}finally{try{d&&!d.done&&(T=s.return)&&T.call(s)}finally{if(w)throw w.error}}l.length&&r.push(l),p=function(t){var r,i,a,l,u;return o(this,(function(o){switch(o.label){case 0:return[4,se(n,t,c)];case 1:return r=o.sent(),i=null===(S=null==r?void 0:r.data)||void 0===S?void 0:S.accepted_ids,a=null===(E=null==r?void 0:r.data)||void 0===E?void 0:E.rejected_ids,Array.isArray(i)?(de(e,i),Array.isArray(a)&&a.length&&(l=new Set(a),de(e,a),u=t.filter((function(e){return e.event_id&&l.has(e.event_id)})),u.length&&ce(u,"server_rejected"),console.warn("[TM]: 服务端校验拒绝 ".concat(a.length," 条(永久性拒绝),已从队列移除并通知 onDrop")))):(de(e,t.map((function(e){return e.event_id}))),(null==C?void 0:C.isLogger)&&console.warn("[TM]: 响应缺少 accepted_ids,按整批成功清理")),[2]}}))},k.label=1;case 1:k.trys.push([1,6,7,8]),m=i(r),h=m.next(),k.label=2;case 2:return h.done?[3,5]:(y=h.value,[5,p(y)]);case 3:k.sent(),k.label=4;case 4:return h=m.next(),[3,2];case 5:return[3,8];case 6:return g=k.sent(),b={error:g},[3,8];case 7:try{h&&!h.done&&(_=m.return)&&_.call(m)}finally{if(b)throw b.error}return[7];case 8:return a.retryCount=0,a.nextRetryAt=0,a.halveBatch=!1,[2]}}))}))}(e,a,c,u,n).catch((function(e){!function(e,t,n,r,o){(null==t?void 0:t.timeout)&&le("request_timeout","上报请求超时,数据保留队列按退避重试",{url:n&&E?E:_,timeoutMs:null==C?void 0:C.requestTimeout});var i=null==t?void 0:t.status;if(413!==i){if(i&&i>=400&&i<500&&401!==i&&403!==i&&408!==i&&410!==i&&429!==i)return r.retryExhausted=!0,ce(o,"rejected_4xx"),void console.warn("[TM]: 批次提交被服务端拒绝(HTTP ".concat(i,"),数据保留在队列并暂停自动重试"));if(r.retryCount++,r.retryCount>q)return r.retryExhausted=!0,ce(o,"retries_exhausted"),void console.warn("[TM]: 重试次数已达上限(".concat(q,"),数据保留在队列(不丢弃),待下次会话或手动触发重试"));var a=429===i&&(null==t?void 0:t.retryAfter)||0;r.nextRetryAt=Date.now()+fe(r.retryCount,n,a),console.error("[TM]: send report fail, retryCount: ".concat(r.retryCount,", next retry after ").concat(Math.round((r.nextRetryAt-Date.now())/1e3),"s"))}else o.length>1?(r.halveBatch=!0,r.retryCount++,r.nextRetryAt=Date.now()+fe(r.retryCount,n,0),console.warn("[TM]: 批次过大(HTTP 413),降容半批重发(本批 ".concat(o.length," 条)"))):(r.retryExhausted=!0,ce(o,"rejected_4xx"),console.warn("[TM]: 单条事件仍超限(HTTP 413),数据保留在队列"))}(0,e,c,u,a)})).finally((function(){l.timer=null,l.promise=null,pe(e)}))}else if(null===l.timer){var s=c?A:M;l.timer=setTimeout((function(){l.timer=null,pe(e,!0)}),s)}}}},me=function(e){var t;if(!(null==C?void 0:C.enableTracking)||(null==C?void 0:C.respectGpc)&&!0===(null==(t="undefined"!=typeof navigator?navigator:void 0)?void 0:t.globalPrivacyControl))(null==C?void 0:C.isLogger)&&console.warn("[TM]: 用户已选择退出采集(enableTracking=false 或 GPC 信号开启),本事件忽略");else if(e&&"object"==typeof e){var n=!0===e.track_real_time,r=oe(e);if(r)try{ve(n&&E?O:I,r)}catch(e){le("enqueue_failed","事件入队失败",{error:e})}}else console.error("[TM]: track data must be an object")},he=function(e,t,r){me("string"==typeof e?n({event_type:e,event_detail:t},r):e)},ye=function(){pe(I,!0),pe(O,!0);var e=[K.promise,J.promise].filter((function(e){return!!e}));return Promise.all(e).then((function(){}))},ge=function(){C.isLogger=!0;try{localStorage.setItem(N,"true")}catch(e){console.error("[TM]: enable logger fail:",e)}},we=function(){C.isLogger=!1;try{localStorage.setItem(N,"false")}catch(e){console.error("[TM]: disable logger fail:",e)}};f((function(){pe(I,!0),pe(O,!0)}));var Te=function(e){return"boolean"==typeof e&&(C.enableTracking=e,function(e){try{localStorage.setItem(j,e?"1":"0")}catch(e){}}(e),e?(null==C?void 0:C.isLogger)&&console.warn("[TM]: 恢复采集"):(ne(I,[]),ne(O,[]),(null==C?void 0:C.isLogger)&&console.warn("[TM]: 用户已选择退出采集,已清空未上报队列"))),!0===(null==C?void 0:C.enableTracking)};return window.trackMonitor={track:he,flush:ye,bindUser:X,unBindUser:G,enableLogger:ge,disableLogger:we,setToken:re,registerGlobalProperties:$,enableTracking:Te},{client:{track:he,flush:ye,bindUser:X,unBindUser:G,enableLogger:ge,disableLogger:we,setToken:re,registerGlobalProperties:$,enableTracking:Te},beforeClose:function(){var e=function(){ee(),pe(I,!0,!0),pe(O,!0,!0)};window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&e()})),window.addEventListener("online",e)}}},de=T(16)(),fe=function(e){var t=history[e];return function(){var n=t.apply(this,arguments),r=new Event(e);return window.dispatchEvent(r),n}},ve=function(e){window.addEventListener("replaceState",(function(t){return e(t)}),!0),window.addEventListener("pushState",(function(t){return e(t)}),!0)},pe=function(e){window.addEventListener("popstate",(function(t){return e(t)}),!0)},me=[25,50,75,90],he=function(e){var t,n,r;history.pushState=fe("pushState"),history.replaceState=fe("replaceState"),t="",r=v(n=function(){var e=window.location.href;if(e!==t){var n=window.location,r={host:n.host,hostname:n.hostname,href:n.href,protocol:n.protocol,origin:n.origin,port:n.port,pathname:n.pathname,search:n.search,hash:n.hash,title:document.title,language:navigator.language.substring(0,2),user_agent:navigator.userAgent,win_screen:"".concat(window.screen.width,"x").concat(window.screen.height),doc_screen:"".concat(document.documentElement.clientWidth,"x").concat(document.documentElement.clientHeight),referrer:document.referrer,type:h()};window.trackMonitor.track({data_type:"common",event_type:"page_view",event_detail:r}),t=e}},200),n(),pe((function(){r()})),ve((function(){r()})),window.addEventListener("popstate",(function(){r()})),function(){var e=document.referrer,t=window.location.href,n=Date.now(),r=!0,o=function(r){if(void 0===r&&(r=!1),window.location.href!==t||r){var o=Date.now()-n;o>200&&window.trackMonitor.track({data_type:"common",event_type:"page_leave",event_detail:{url:t,referrer:e,duration:o}}),n=Date.now(),e=t,t=window.location.href}},i=v(o);o(),pe((function(){i()})),ve((function(){i()})),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState?r&&(r=!1,o(!0)):(r=!0,n=Date.now())})),window.addEventListener("beforeunload",(function(){r&&(r=!1,o(!0))}),!0)}(),function(){var e=p((function(e){var t,n=function(e){if(e)return["A","INPUT","TEXTAREA","BUTTON"].includes(e.tagName)||e.hasAttribute("track-click")?e:e.closest("a, button, [track-click]")||void 0}(e.target);if(n){var r={element_id:n.id,element_content:(null===(t=n.textContent)||void 0===t?void 0:t.trim().slice(0,200))||null,element_class_name:n.className||null,element_name:n.getAttribute("name")||null,element_type:n.tagName.toLowerCase(),element_path:m(n),scroll_width:document.documentElement.scrollWidth,scroll_height:document.documentElement.scrollHeight,pageX:e.pageX,pageY:e.pageY,ratio:window.devicePixelRatio||1};window.trackMonitor.track({data_type:"common",event_type:"click",event_detail:r})}}));window.addEventListener("click",e,!0)}(),!1!==(null==e?void 0:e.enableScroll)&&function(){var e=new Set,t=p((function(){var n=document.documentElement,r=n.scrollHeight-n.clientHeight;if(!(r<=0)){var o=Math.round((window.scrollY||n.scrollTop)/r*100),i=me.filter((function(t){return o>=t&&!e.has(t)}));i.length&&(i.forEach((function(t){e.add(t),window.trackMonitor.track({data_type:"common",event_type:"scroll",event_detail:{scroll_depth:t}})})),e.has(90)&&window.removeEventListener("scroll",t))}}),300);window.addEventListener("scroll",t,{passive:!0})}()},ye=null,ge=null,we="track-expose",Te="track-view",be=function(e){try{ge=new WeakMap}catch(e){console.error("[TM]: create WeakMap fail: ",e)}var t=function(e,t){void 0===t&&(t=!1);var r=null==ge?void 0:ge.get(e);if(!r||t){r&&(r.viewTimer&&clearTimeout(r.viewTimer),r.exposeTimer&&clearTimeout(r.exposeTimer));var o=e.dataset.durationView||500,i=e.dataset.durationExpose||500;null==ge||ge.set(e,{duration_view:o,duration_expose:i,viewTimer:null,exposeTimer:null}),null==ye||ye.observe(e),t&&function(e){if(!(e instanceof Element))return!1;if(!function e(t){if(!t)return!0;var n=window.getComputedStyle(t);return"none"!==n.display&&"hidden"!==n.visibility&&0!==parseFloat(n.opacity)&&e(t.parentElement)}(e))return!1;var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}(e)&&n(e)}},n=function(t){var n,o=null==ge?void 0:ge.get(t);if(o){var i=t.dataset.eventDetail,a=null!==(n=t.dataset.traceid)&&void 0!==n?n:void 0,c=t.dataset.spm,l=t.hasAttribute("track-real-time"),u=t.hasAttribute(Te),s=t.hasAttribute(we);u&&s?o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view_expose",event_detail:i,track_real_time:l}),t.removeAttribute(Te),o.exposeTimer=null}),parseInt(o.duration_expose,10)):(u&&(o.viewTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view",event_detail:i,track_real_time:l}),t.removeAttribute(Te),s&&o.exposeTimer||r(t),o.viewTimer=null}),parseInt(o.duration_view,10))),s&&(o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"expose",event_detail:i,track_real_time:l}),o.exposeTimer=null}),parseInt(o.duration_expose,10))))}},r=function(e){var t=null==ge?void 0:ge.get(e);t&&(null==ye||ye.unobserve(e),t.viewTimer&&clearTimeout(t.viewTimer),t.exposeTimer&&clearTimeout(t.exposeTimer),null==ge||ge.delete(e))},o=function(e){e.forEach((function(e){var t=e.target,o=null==ge?void 0:ge.get(t);o&&(o.viewTimer&&(clearTimeout(o.viewTimer),o.viewTimer=null),o.exposeTimer&&(clearTimeout(o.exposeTimer),o.exposeTimer=null),e.isIntersecting&&(n(t),t.hasAttribute(Te)||t.hasAttribute(we)||r(t)))}))};ye=function(){var e=null;try{e=new IntersectionObserver(o,{root:null,threshold:.5})}catch(e){console.error("[TM]: create IntersectionObserver fail: ",e)}return e}(),new Set(c(c([],a(document.querySelectorAll("[".concat(we,"]"))),!1),a(document.querySelectorAll("[".concat(Te,"]"))),!1)).forEach((function(e){return t(e)})),new MutationObserver((function(e){e.forEach((function(e){if("attributes"===e.type&&e.target instanceof HTMLElement){var n=e.target,o=e.attributeName;n.hasAttribute(we)||n.hasAttribute(Te)?["data-event-detail","data-traceid","data-spm","data-duration-view","data-duration-expose"].includes(o)?t(n,!0):o!==we&&o!==Te||t(n,!1):r(n)}else"childList"===e.type&&(e.addedNodes.forEach((function(e){e instanceof HTMLElement&&(e.hasAttribute(we)||e.hasAttribute(Te)?t(e):new Set(c(c([],a(e.querySelectorAll("[".concat(we,"]"))),!1),a(e.querySelectorAll("[".concat(Te,"]"))),!1)).forEach((function(e){return t(e)})))})),e.removedNodes.forEach((function(e){e instanceof HTMLElement&&((null==ge?void 0:ge.get(e))?r(e):new Set(c(c([],a(e.querySelectorAll("[".concat(we,"]"))),!1),a(e.querySelectorAll("[".concat(Te,"]"))),!1)).forEach((function(e){return r(e)})))})))}))})).observe(document.body||document.documentElement,{attributes:!0,childList:!0,subtree:!0})},_e=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;function Se(e){var t=e.match(_e);return t?{filename:t[2],functionName:t[1]||"",lineno:parseInt(t[3],10)||void 0,colno:parseInt(t[4],10)||void 0}:{}}function Ee(e){var t,n,r,o,a;try{var c=e.stack;if(!c)return[];var l=[];try{for(var u=i(c.split("\n").slice(1)),s=u.next();!s.done;s=u.next()){var d=Se(s.value);!d||(null===(r=d.filename)||void 0===r?void 0:r.includes("chrome-extension://"))||(null===(o=d.filename)||void 0===o?void 0:o.includes("node_modules"))||(null===(a=d.filename)||void 0===a?void 0:a.includes("<anonymous>"))||l.push(d)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return l.slice(0,10)}catch(e){return[]}}var ke=new Set,xe=function(e,t){var n,r;if((r=null!==(n=null==C?void 0:C.errorTraceRate)&&void 0!==n?n:.5)<0||r>1?(console.warn("[TM]: probability should be between 0 and 1"),0):Math.random()<r){if(window.trackMonitor.track(t),ke.size>=1e3){var o=ke.values().next().value;void 0!==o&&ke.delete(o)}ke.add(e)}},Me=function(){window.addEventListener("error",(function(e){!function(e){var t;if(e instanceof ErrorEvent&&"Script error."===e.message){var n=S("js-Script error.");if(ke.has(n))return;xe(n,{data_type:"error",event_type:"js",event_detail:{traceId:de,msg:'Script error.(跨域脚本未加载 crossorigin 属性,无法获取堆栈;建议脚本加 crossorigin="anonymous")',target:"",stack:[],errorUuid:n,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno,crossorigin_missing:!0}}})}else if("js"===_(e)&&!function(e){var t,n=(null===(t=e.error)||void 0===t?void 0:t.stack)||"";return/chrome-extension:\/\//.test(n)}(e)){var r=S("js-".concat(e.message,"-").concat(e.filename));if(!ke.has(r)){var o=Ee(e.error),i={traceId:de,msg:e.message,target:o[0]?"".concat(null===(t=o[0].filename)||void 0===t?void 0:t.split("?")[0],":").concat(o[0].lineno,":").concat(o[0].colno):"",stack:o,errorUuid:r,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno}};xe(r,{data_type:"error",event_type:"js",event_detail:i})}}}(e)}),!0)},Ae=function(){window.addEventListener("error",(function(e){!function(e){var t;if("resource"===_(e)){var n=e.target,r=S("resource-".concat(n.src,"-").concat(n.tagName));if(!ke.has(r)){var o={traceId:de,msg:"加载".concat(n.tagName,"失败"),target:null===(t=n.src)||void 0===t?void 0:t.split("?")[0],errorUuid:r,meta:{url:n.src,html:n.outerHTML,tagName:n.tagName}};xe(r,{data_type:"error",event_type:"resource",event_detail:o})}}}(e)}),!0)},Le=function(){window.addEventListener("unhandledrejection",(function(e){return function(e){var t,n=(null===(t=e.reason)||void 0===t?void 0:t.message)||e.reason,r=S("".concat("unhandledrejection","-").concat(n));if(!ke.has(r)){var o={traceId:de,msg:n,stack:Ee(e.reason),errorUuid:r};xe(r,{data_type:"error",event_type:"unhandledrejection",event_detail:o})}}(e)}),!0)},Ce=function(){var e=function(e,t,n){var r;if("string"!=typeof(r=e.url)||![null==C?void 0:C.pushUrl,null==C?void 0:C.authUrl,null==C?void 0:C.realTimeUrl].filter((function(e){return!!e})).some((function(e){return 0===r.indexOf(e)})))if(t){var o=S("http-".concat(t,"-").concat(e.url,"-").concat(n));if(ke.has(o))return;var i={traceId:de,errorType:t,msg:n,target:e.url.split("?")[0],errorUuid:o,request:e};xe(o,{data_type:"error",event_type:"http",event_detail:i})}else if(e.status>=400){var a=e.statusText;o=S("http-".concat(t="http_error","-").concat(e.url,"-").concat(a));if(ke.has(o))return;i={traceId:de,errorUuid:o,errorType:t,target:e.url.split("?")[0],msg:a,request:e};xe(o,{data_type:"error",event_type:"http",event_detail:i})}};!function(e,t){if("XMLHttpRequest"in window&&"function"==typeof window.XMLHttpRequest){var r=window.XMLHttpRequest;window.oXMLHttpRequest||(window.oXMLHttpRequest=r),window.XMLHttpRequest=function(){var e=new r,o=e.open,i=e.send,a={};e.open=function(t,n,r,i,c){void 0===r&&(r=!0),a.method=t,a.url=n,o.call(e,t,n,r,i,c)},e.send=function(t){a.requestTime=(new Date).getTime(),i.call(e,t)};var c=function(r,o){var i=e.status,c=e.statusText,l=(new Date).getTime();a=n(n({},a),{status:i,statusText:c,responseTime:l,duration:l-a.requestTime}),"function"==typeof t&&t(a,r,o)};return e.addEventListener("loadend",(function(){return c()})),e.addEventListener("error",(function(){return c("net_error","ERR_NETWORK")})),e.addEventListener("abort",(function(){return c("cannel_request","ERR_CANCELED")})),e.addEventListener("timeout",(function(){return c("timeout","ERR_NETWORK")})),e}}}(0,e),function(e,t){if("fetch"in window&&"function"==typeof window.fetch){var i=window.fetch;window.oFetch||(window.oFetch=i),window.fetch=function(e,a){return r(void 0,void 0,void 0,(function(){var c;return o(this,(function(l){return(c={}).method=(null==a?void 0:a.method)||"",c.url=(e&&"string"!=typeof e?null==e?void 0:e.url:e)||"",c.requestTime=(new Date).getTime(),[2,i.call(window,e,a).then((function(e){return r(void 0,void 0,void 0,(function(){var r,i;return o(this,(function(o){return"function"==typeof t&&(r=e.clone(),i=(new Date).getTime(),c=n(n({},c),{status:r.status,statusText:r.statusText,responseTime:i,duration:i-c.requestTime}),t(c)),[2,e]}))}))})).catch((function(e){if("function"==typeof t){var r=(new Date).getTime();c=n(n({},c),{responseTime:r,duration:r-c.requestTime}),"AbortError"===e.name?t(c,"cannel_request","ERR_CANCELED"):t(c,"net_error","ERR_NETWORK")}return Promise.reject(e)}))]}))}))}}}(0,e)};var Ie=new WeakSet,Oe=function(e){return{form_id:e.id||null,form_class:"string"==typeof e.className?e.className:null,form_name:e.getAttribute("name")||null,form_action:e.getAttribute("action")||null,form_text:(e.textContent||"").trim().slice(0,200)||null}};function Re(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var qe=-1,Ne=e=>{addEventListener("pageshow",(t=>{t.persisted&&(qe=t.timeStamp,e(t))}),!0)},je=(e,t,n,r)=>{var o,i;return a=>{t.value>=0&&(a||r)&&(((i=t.value-(null!=o?o:0))||void 0===o)&&(o=t.value,t.delta=i,t.rating=((e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good")(t.value,n),e(t)))}},Ue=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))))},De=()=>{var e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},Be=()=>{var e,t=De();return null!==(e=null==t?void 0:t.activationStart)&&void 0!==e?e:0},ze=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=De(),r="navigate";return qe>=0?r="back-forward-cache":n&&(document.prerendering||Be()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:"v5-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},Fe=new WeakMap;function He(e,t){return Fe.get(e)||Fe.set(e,new t),Fe.get(e)}class Ke{constructor(){Re(this,"t",void 0),Re(this,"i",0),Re(this,"o",[])}h(e){var t;if(!e.hadRecentInput){var n=this.o[0],r=this.o.at(-1);this.i&&n&&r&&e.startTime-r.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),null===(t=this.t)||void 0===t||t.call(this,e)}}}var Je,We=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return r.observe(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pe(Object(n),!0).forEach((function(t){Re(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({type:e,buffered:!0},n)),r}}catch(e){}},Xe=e=>{var t=!1;return()=>{t||(e(),t=!0)}},Ge=-1,Qe=new Set,$e=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,Ye=e=>{if("hidden"===document.visibilityState){if("visibilitychange"===e.type)for(var t of Qe)t();isFinite(Ge)||(Ge="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",Ye,!0))}},Ve=()=>{if(Ge<0){var e,t=Be(),n=document.prerendering||null===(e=globalThis.performance.getEntriesByType("visibility-state").filter((e=>"hidden"===e.name&&e.startTime>t))[0])||void 0===e?void 0:e.startTime;Ge=null!=n?n:$e(),addEventListener("visibilitychange",Ye,!0),addEventListener("prerenderingchange",Ye,!0),Ne((()=>{setTimeout((()=>{Ge=$e()}))}))}return{get firstHiddenTime(){return Ge},onHidden(e){Qe.add(e)}}},Ze=e=>{document.prerendering?addEventListener("prerenderingchange",(()=>e()),!0):e()},et=[1800,3e3],tt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ze((()=>{var n,r=Ve(),o=ze("FCP"),i=We("paint",(e=>{for(var t of e)"first-contentful-paint"===t.name&&(i.disconnect(),t.startTime<r.firstHiddenTime&&(o.value=Math.max(t.startTime-Be(),0),o.entries.push(t),n(!0)))}));i&&(n=je(e,o,et,t.reportAllChanges),Ne((r=>{o=ze("FCP"),n=je(e,o,et,t.reportAllChanges),Ue((()=>{o.value=performance.now()-r.timeStamp,n(!0)}))})))}))},nt=[.1,.25],rt=0,ot=1/0,it=0,at=e=>{for(var t of e)t.interactionId&&(ot=Math.min(ot,t.interactionId),it=Math.max(it,t.interactionId),rt=it?(it-ot)/7+1:0)},ct=()=>{var e;return Je?rt:null!==(e=performance.interactionCount)&&void 0!==e?e:0},lt=0;class ut{constructor(){Re(this,"u",[]),Re(this,"l",new Map),Re(this,"m",void 0),Re(this,"p",void 0)}v(){lt=ct(),this.u.length=0,this.l.clear()}L(){var e=Math.min(this.u.length-1,Math.floor((ct()-lt)/50));return this.u[e]}h(e){var t;if(null!==(t=this.m)&&void 0!==t&&t.call(this,e),e.interactionId||"first-input"===e.entryType){var n=this.u.at(-1),r=this.l.get(e.interactionId);if(r||this.u.length<10||e.duration>n.P){var o;if(r?e.duration>r.P?(r.entries=[e],r.P=e.duration):e.duration===r.P&&e.startTime===r.entries[0].startTime&&r.entries.push(e):(r={id:e.interactionId,entries:[e],P:e.duration},this.l.set(r.id,r),this.u.push(r)),this.u.sort(((e,t)=>t.P-e.P)),this.u.length>10){var i=this.u.splice(10);for(var a of i)this.l.delete(a.id)}null===(o=this.p)||void 0===o||o.call(this,r)}}}}var st=e=>{var t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=Xe(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t((()=>{e(),removeEventListener("visibilitychange",e,{capture:!0})})))},dt=[200,500],ft=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype){var n=Ve();Ze((()=>{var r;"interactionCount"in performance||Je||(Je=We("event",at,{type:"event",buffered:!0,durationThreshold:0}));var o,i=ze("INP"),a=He(t,ut),c=e=>{st((()=>{for(var t of e)a.h(t);var n=a.L();n&&n.P!==i.value&&(i.value=n.P,i.entries=n.entries,o())}))},l=We("event",c,{durationThreshold:null!==(r=t.durationThreshold)&&void 0!==r?r:40});o=je(e,i,dt,t.reportAllChanges),l&&(l.observe({type:"first-input",buffered:!0}),n.onHidden((()=>{c(l.takeRecords()),o(!0)})),Ne((()=>{a.v(),i=ze("INP"),o=je(e,i,dt,t.reportAllChanges)})))}))}};class vt{constructor(){Re(this,"m",void 0)}h(e){var t;null===(t=this.m)||void 0===t||t.call(this,e)}}var pt=[2500,4e3],mt=[800,1800],ht=e=>{document.prerendering?Ze((()=>ht(e))):"complete"!==document.readyState?addEventListener("load",(()=>ht(e)),!0):setTimeout(e)};function yt(){var e={ttfb:null,lcp:null,fp:null,fcp:null,connectionRtt:null,ttfbRequestTime:null,inp:null,cls:null,dcl:null,loadTime:null};!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ze((()=>{var n,r=Ve(),o=ze("LCP"),i=He(t,vt),a=e=>{for(var a of(t.reportAllChanges||(e=e.slice(-1)),e))i.h(a),a.startTime<r.firstHiddenTime&&(o.value=Math.max(a.startTime-Be(),0),o.entries=[a],n())},c=We("largest-contentful-paint",a);if(c){n=je(e,o,pt,t.reportAllChanges);var l=Xe((()=>{a(c.takeRecords()),c.disconnect(),n(!0)})),u=e=>{e.isTrusted&&(st(l),removeEventListener(e.type,u,{capture:!0}))};for(var s of["keydown","click","visibilitychange"])addEventListener(s,u,{capture:!0});Ne((r=>{o=ze("LCP"),n=je(e,o,pt,t.reportAllChanges),Ue((()=>{o.value=performance.now()-r.timeStamp,n(!0)}))}))}}))}((function(t){e.lcp=g(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Ve();tt(Xe((()=>{var r,o=ze("CLS",0),i=He(t,Ke),a=e=>{for(var t of e)i.h(t);i.i>o.value&&(o.value=i.i,o.entries=i.o,r())},c=We("layout-shift",a);c&&(r=je(e,o,nt,t.reportAllChanges),n.onHidden((()=>{a(c.takeRecords()),r(!0)})),Ne((()=>{i.i=0,o=ze("CLS",0),r=je(e,o,nt,t.reportAllChanges),Ue((()=>r()))})),setTimeout(r))})))}((function(t){e.cls=Math.round(1e4*t.value)/1e4}),{reportAllChanges:!0}),ft((function(t){e.inp=g(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=ze("TTFB"),r=je(e,n,mt,t.reportAllChanges);ht((()=>{var o=De();o&&(n.value=Math.max(o.responseStart-Be(),0),n.entries=[o],r(!0),Ne((()=>{n=ze("TTFB",0),(r=je(e,n,mt,t.reportAllChanges))(!0)})))}))}((function(t){e.ttfb=g(t.value)})),tt((function(t){e.fcp=g(t.value)}));var t=function(){!function(){try{performance.getEntriesByType("paint").forEach((function(t){"first-paint"===t.name&&(e.fp=g(t.startTime))}))}catch(e){console.warn("[TM]: Failed to collect FP:",e)}try{var t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;t&&void 0!==t.rtt&&(e.connectionRtt=t.rtt)}catch(e){console.warn("[TM]: Failed to collect Connection RTT:",e)}try{if(o=performance.getEntriesByType("navigation")[0]){var n=o.responseStart,r=o.requestStart;n>0&&r>0&&r<=n&&(e.ttfbRequestTime=g(n-r))}}catch(e){console.warn("[TM]: Failed to collect TTFB Request Time:",e)}try{var o;if(o=performance.getEntriesByType("navigation")[0]){var i=o.domContentLoadedEventEnd,a=o.loadEventEnd,c=o.fetchStart;i>0&&c>0&&(e.dcl=g(i-c)),a>0&&c>0&&(e.loadTime=g(a-c))}}catch(e){console.warn("[TM]: Failed to collect DCL and Load Time:",e)}}(),window.trackMonitor.track({data_type:"performance",event_type:"metrics",event_detail:{traceId:de,data:e}})},n=0,r=function(){var e=Date.now();e-n<3e4||(n=e,t())};window.addEventListener("beforeunload",t),window.addEventListener("pagehide",r),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&r()}))}var gt="__tengence_sdk";e.init=function(e){if("undefined"!=typeof window&&window.trackMonitor&&window.trackMonitor[gt])return console.warn("[TM]: init 已调用过,复用现有实例(如需重建请刷新页面)"),window.trackMonitor;var t,r=se(e),o=r.client,i=r.beforeClose;return be(o.track),!1!==e.traceBehavior&&he({enableScroll:e.enableScroll}),!1!==e.enableFormTrack&&(t=o.track,document.addEventListener("focusin",(function(e){var n=e.target;if((r=n)&&("INPUT"===r.tagName||"SELECT"===r.tagName||"TEXTAREA"===r.tagName)){var r,o=n.closest("form");o&&!Ie.has(o)&&(Ie.add(o),t({data_type:"common",event_type:"form_start",event_detail:Oe(o)}))}}),!0),document.addEventListener("submit",(function(e){var r=e.target;if(r&&"FORM"===r.tagName){var o=e.submitter;t({data_type:"common",event_type:"form_submit",event_detail:n(n({},Oe(r)),{submitter_id:(null==o?void 0:o.id)||null,submitter_text:((null==o?void 0:o.textContent)||"").trim().slice(0,200)||null})})}}),!0)),!1!==e.traceError&&(Me(),Ae(),Le(),Ce()),!1!==e.tracePerformance&&y((function(){!function(){var e,t,n,r,o,i=window.performance||window.msPerformance;if(!i)return{dnsLookupTime:null,tcpConnectTime:null,ttfb:null,transferTime:null,domParseTime:null,domCompleteTime:null,loadEventTime:null,totalPageLoad:null};var a=i.getEntriesByType&&"function"==typeof i.getEntriesByType?i.getEntriesByType("navigation"):void 0,c=Array.isArray(a)?a[0]:void 0,l=null;if(c)l=c;else{var u=i.timing;u&&!(l={startTime:0,domainLookupStart:u.domainLookupStart,domainLookupEnd:u.domainLookupEnd,connectStart:u.connectStart,connectEnd:u.connectEnd,requestStart:u.requestStart,responseStart:u.responseStart,responseEnd:u.responseEnd,domInteractive:u.domInteractive,domComplete:u.domComplete,loadEventEnd:u.loadEventEnd,fetchStart:u.fetchStart}).requestStart&&u.fetchStart&&(l.requestStart=u.fetchStart)}var s={dnsLookupTime:l?g(l.domainLookupEnd-l.domainLookupStart):null,tcpConnectTime:l?g(l.connectEnd-l.connectStart):null,ttfb:l?g(l.responseStart-(null!==(t=null!==(e=l.requestStart)&&void 0!==e?e:l.fetchStart)&&void 0!==t?t:0)):null,transferTime:l?g(l.responseEnd-l.responseStart):null,domParseTime:l?g(l.domInteractive-l.responseEnd):null,domCompleteTime:l?g(l.domComplete-l.domInteractive):null,loadEventTime:l?g(l.loadEventEnd-(null!==(n=l.domComplete)&&void 0!==n?n:0)):null,totalPageLoad:l?g((null!==(r=l.loadEventEnd)&&void 0!==r?r:performance.now())-(null!==(o=l.startTime)&&void 0!==o?o:0)):null};window.trackMonitor.track({data_type:"performance",event_type:"navigation_timing",event_detail:{traceId:de,data:s}})}(),function(){var e,t=window.performance||window.msPerformance;if(!t)return[];var n=[];if(t.getEntriesByType){var r=(t.getEntriesByType("resource")||[]).map((function(e){var t="number"==typeof e.redirectEnd&&"number"==typeof e.redirectStart?g(e.redirectEnd-e.redirectStart):null,n="number"==typeof e.domainLookupEnd&&"number"==typeof e.domainLookupStart?g(e.domainLookupEnd-e.domainLookupStart):null,r="number"==typeof e.connectEnd&&"number"==typeof e.connectStart?g(e.connectEnd-e.connectStart):null,o="number"==typeof e.requestStart&&"number"==typeof e.fetchStart?g(e.requestStart-e.fetchStart):null,i="number"==typeof e.responseStart&&"number"==typeof e.requestStart?g(e.responseStart-e.requestStart):null,a="number"==typeof e.responseEnd&&"number"==typeof e.responseStart?g(e.responseEnd-e.responseStart):null,c="number"==typeof e.duration?g(e.duration):null,l="number"==typeof e.startTime?g(e.startTime):null,u="number"==typeof e.transferSize&&isFinite(e.transferSize)&&e.transferSize>=0?Math.round(e.transferSize):null,s="number"==typeof e.encodedBodySize&&isFinite(e.encodedBodySize)&&e.encodedBodySize>=0?Math.round(e.encodedBodySize):null,d="number"==typeof e.decodedBodySize&&isFinite(e.decodedBodySize)&&e.decodedBodySize>=0?Math.round(e.decodedBodySize):null;return{name:e.name,initiatorType:e.initiatorType||"",startTime:l,duration:c,redirectTime:t,cacheTime:o,dnsTime:n,connectTime:r,requestTime:i,responseTime:a,transferSize:u,encodedBodySize:s,decodedBodySize:d}}));r.sort((function(e,t){var n,r;return(null!==(n=t.duration)&&void 0!==n?n:0)-(null!==(r=e.duration)&&void 0!==r?r:0)}));var o=null!==(e=null==C?void 0:C.resourceFlowLimit)&&void 0!==e?e:15;if(0===o)return;for(var i=0;i<Math.min(o,r.length);i++)n.push(r[i]);if(!n.length)return}window.trackMonitor.track({data_type:"performance",event_type:"resource_flow",event_detail:{traceId:de,data:n}})}(),yt()})),y((function(){i()})),window.trackMonitor[gt]=!0,window.trackMonitor}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TrackSDK={})}(this,(function(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e))||n){r&&(e=r);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return c=e.done,e},e:function(e){u=!0,a=e},f:function(){try{c||null==r.return||r.return()}finally{if(u)throw a}}}}function i(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var u=function(e,t){return u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},u(e,t)};var l=function(){return l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},l.apply(this,arguments)};function s(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function c(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}u((r=r.apply(e,t||[])).next())}))}function f(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}function d(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function p(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var v=function(e){function t(t,n){var r=e.call(this,n||"[TM]: Auth error ".concat(t))||this;return Object.defineProperty(r,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.name="AuthError",r.status=t,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error),m=function(e,t,n){var r={"Content-Type":"application/json"};n&&(r.Authorization="Bearer ".concat(n));var o=function(){return function(e){var t=e.method,n=e.url,r=e.data,o=e.headers,i=void 0===o?{}:o;return new Promise((function(e,o){var a=new XMLHttpRequest;a.open(t,n,!0),Object.keys(i).forEach((function(e){a.setRequestHeader(e,i[e])})),a.withCredentials=!0,a.onreadystatechange=function(){if(4===a.readyState)if(a.status>=200&&a.status<300)try{var t=JSON.parse(a.responseText);e(t)}catch(e){o(e)}else{var n=new Error("[TM]: Request failed with status ".concat(a.status));n.status=a.status,o(n)}},a.onerror=function(){o(new Error("[TM]: Network error"))},a.ontimeout=function(){o(new Error("[TM]: Request timeout"))},"POST"===t&&r?a.send(r):a.send()}))}({method:"POST",url:e,data:JSON.stringify(t),headers:r})};return"function"!=typeof fetch?o():fetch(e,{method:"POST",keepalive:!0,credentials:"include",headers:r,body:JSON.stringify(t)}).then((function(e){if(401===e.status||403===e.status)throw new v(e.status,"[TM]: Auth error ".concat(e.status));if(!e.ok){var t=new Error("[TM]: Request failed with status ".concat(e.status));throw t.status=e.status,t}return e.json()})).catch((function(e){if(e instanceof v)throw e;return o()}))},h=new Int32Array(4),y=function(){function e(){Object.defineProperty(this,"_dataLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_bufferLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_state",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array(4)}),Object.defineProperty(this,"_buffer",{enumerable:!0,configurable:!0,writable:!0,value:new ArrayBuffer(68)}),Object.defineProperty(this,"_buffer8",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_buffer32",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}return Object.defineProperty(e,"hashStr",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===t&&(t=!1),this.onePassHasher.start().appendStr(e).end(t)}}),Object.defineProperty(e,"hashAsciiStr",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===t&&(t=!1),this.onePassHasher.start().appendAsciiStr(e).end(t)}}),Object.defineProperty(e,"_hex",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n,r,o,i,a=e.hexChars,c=e.hexOut;for(i=0;i<4;i+=1)for(r=8*i,n=t[i],o=0;o<8;o+=2)c[r+1+o]=a.charAt(15&n),n>>>=4,c[r+0+o]=a.charAt(15&n),n>>>=4;return c.join("")}}),Object.defineProperty(e,"_md5cycle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var n=e[0],r=e[1],o=e[2],i=e[3];r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[0]-680876936|0)<<7|n>>>25)+r|0)&r|~n&o)+t[1]-389564586|0)<<12|i>>>20)+n|0)&n|~i&r)+t[2]+606105819|0)<<17|o>>>15)+i|0)&i|~o&n)+t[3]-1044525330|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[4]-176418897|0)<<7|n>>>25)+r|0)&r|~n&o)+t[5]+1200080426|0)<<12|i>>>20)+n|0)&n|~i&r)+t[6]-1473231341|0)<<17|o>>>15)+i|0)&i|~o&n)+t[7]-45705983|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[8]+1770035416|0)<<7|n>>>25)+r|0)&r|~n&o)+t[9]-1958414417|0)<<12|i>>>20)+n|0)&n|~i&r)+t[10]-42063|0)<<17|o>>>15)+i|0)&i|~o&n)+t[11]-1990404162|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[12]+1804603682|0)<<7|n>>>25)+r|0)&r|~n&o)+t[13]-40341101|0)<<12|i>>>20)+n|0)&n|~i&r)+t[14]-1502002290|0)<<17|o>>>15)+i|0)&i|~o&n)+t[15]+1236535329|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[1]-165796510|0)<<5|n>>>27)+r|0)&o|r&~o)+t[6]-1069501632|0)<<9|i>>>23)+n|0)&r|n&~r)+t[11]+643717713|0)<<14|o>>>18)+i|0)&n|i&~n)+t[0]-373897302|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[5]-701558691|0)<<5|n>>>27)+r|0)&o|r&~o)+t[10]+38016083|0)<<9|i>>>23)+n|0)&r|n&~r)+t[15]-660478335|0)<<14|o>>>18)+i|0)&n|i&~n)+t[4]-405537848|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[9]+568446438|0)<<5|n>>>27)+r|0)&o|r&~o)+t[14]-1019803690|0)<<9|i>>>23)+n|0)&r|n&~r)+t[3]-187363961|0)<<14|o>>>18)+i|0)&n|i&~n)+t[8]+1163531501|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[13]-1444681467|0)<<5|n>>>27)+r|0)&o|r&~o)+t[2]-51403784|0)<<9|i>>>23)+n|0)&r|n&~r)+t[7]+1735328473|0)<<14|o>>>18)+i|0)&n|i&~n)+t[12]-1926607734|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[5]-378558|0)<<4|n>>>28)+r|0)^r^o)+t[8]-2022574463|0)<<11|i>>>21)+n|0)^n^r)+t[11]+1839030562|0)<<16|o>>>16)+i|0)^i^n)+t[14]-35309556|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[1]-1530992060|0)<<4|n>>>28)+r|0)^r^o)+t[4]+1272893353|0)<<11|i>>>21)+n|0)^n^r)+t[7]-155497632|0)<<16|o>>>16)+i|0)^i^n)+t[10]-1094730640|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[13]+681279174|0)<<4|n>>>28)+r|0)^r^o)+t[0]-358537222|0)<<11|i>>>21)+n|0)^n^r)+t[3]-722521979|0)<<16|o>>>16)+i|0)^i^n)+t[6]+76029189|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[9]-640364487|0)<<4|n>>>28)+r|0)^r^o)+t[12]-421815835|0)<<11|i>>>21)+n|0)^n^r)+t[15]+530742520|0)<<16|o>>>16)+i|0)^i^n)+t[2]-995338651|0)<<23|r>>>9)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[0]-198630844|0)<<6|n>>>26)+r|0)|~o))+t[7]+1126891415|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[14]-1416354905|0)<<15|o>>>17)+i|0)|~n))+t[5]-57434055|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[12]+1700485571|0)<<6|n>>>26)+r|0)|~o))+t[3]-1894986606|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[10]-1051523|0)<<15|o>>>17)+i|0)|~n))+t[1]-2054922799|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[8]+1873313359|0)<<6|n>>>26)+r|0)|~o))+t[15]-30611744|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[6]-1560198380|0)<<15|o>>>17)+i|0)|~n))+t[13]+1309151649|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[4]-145523070|0)<<6|n>>>26)+r|0)|~o))+t[11]-1120210379|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[2]+718787259|0)<<15|o>>>17)+i|0)|~n))+t[9]-343485551|0)<<21|r>>>11)+o|0,e[0]=n+e[0]|0,e[1]=r+e[1]|0,e[2]=o+e[2]|0,e[3]=i+e[3]|0}}),Object.defineProperty(e.prototype,"start",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._dataLength=0,this._bufferLength=0,this._state.set(e.stateIdentity),this}}),Object.defineProperty(e.prototype,"appendStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n,r,o=this._buffer8,i=this._buffer32,a=this._bufferLength;for(r=0;r<t.length;r+=1){if((n=t.charCodeAt(r))<128)o[a++]=n;else if(n<2048)o[a++]=192+(n>>>6),o[a++]=63&n|128;else if(n<55296||n>56319)o[a++]=224+(n>>>12),o[a++]=n>>>6&63|128,o[a++]=63&n|128;else{if((n=1024*(n-55296)+(t.charCodeAt(++r)-56320)+65536)>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");o[a++]=240+(n>>>18),o[a++]=n>>>12&63|128,o[a++]=n>>>6&63|128,o[a++]=63&n|128}a>=64&&(this._dataLength+=64,e._md5cycle(this._state,i),a-=64,i[0]=i[16])}return this._bufferLength=a,this}}),Object.defineProperty(e.prototype,"appendAsciiStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,r=this._buffer8,o=this._buffer32,i=this._bufferLength,a=0;;){for(n=Math.min(t.length-a,64-i);n--;)r[i++]=t.charCodeAt(a++);if(i<64)break;this._dataLength+=64,e._md5cycle(this._state,o),i=0}return this._bufferLength=i,this}}),Object.defineProperty(e.prototype,"appendByteArray",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,r=this._buffer8,o=this._buffer32,i=this._bufferLength,a=0;;){for(n=Math.min(t.length-a,64-i);n--;)r[i++]=t[a++];if(i<64)break;this._dataLength+=64,e._md5cycle(this._state,o),i=0}return this._bufferLength=i,this}}),Object.defineProperty(e.prototype,"getState",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[e[0],e[1],e[2],e[3]]}}}),Object.defineProperty(e.prototype,"setState",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,n=e.buffer,r=e.state,o=this._state;for(this._dataLength=e.length,this._bufferLength=e.buflen,o[0]=r[0],o[1]=r[1],o[2]=r[2],o[3]=r[3],t=0;t<n.length;t+=1)this._buffer8[t]=n.charCodeAt(t)}}),Object.defineProperty(e.prototype,"end",{enumerable:!1,configurable:!0,writable:!0,value:function(t){void 0===t&&(t=!1);var n=this._bufferLength,r=this._buffer8,o=this._buffer32,i=1+(n>>2);this._dataLength+=n;var a=8*this._dataLength;if(r[n]=128,r[n+1]=r[n+2]=r[n+3]=0,o.set(e.buffer32Identity.subarray(i),i),n>55&&(e._md5cycle(this._state,o),o.set(e.buffer32Identity)),a<=4294967295)o[14]=a;else{var c=a.toString(16).match(/(.*?)(.{0,8})$/);if(null===c)return t?h:"";var u=parseInt(c[2],16),l=parseInt(c[1],16)||0;o[14]=u,o[15]=l}return e._md5cycle(this._state,o),t?this._state:e._hex(this._state)}}),Object.defineProperty(e,"stateIdentity",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array([1732584193,-271733879,-1732584194,271733878])}),Object.defineProperty(e,"buffer32Identity",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}),Object.defineProperty(e,"hexChars",{enumerable:!0,configurable:!0,writable:!0,value:"0123456789abcdef"}),Object.defineProperty(e,"hexOut",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"onePassHasher",{enumerable:!0,configurable:!0,writable:!0,value:new e}),e}();if("5d41402abc4b2a76b9719d911017c592"!==y.hashStr("hello"))throw new Error("Md5 self test failed.");var b=window.requestIdleCallback||window.requestAnimationFrame||function(e){return setTimeout(e,17)};function g(e,t,n){void 0===t&&(t=150),void 0===n&&(n=!1);var r=null;return function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=this,c=n&&!r;r&&clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(a,o)}),t),c&&e.apply(a,o)}}function w(e,t){if(void 0===t&&(t=""),!e)return t;var n=e.parentElement,r=e.id,o=e.tagName.toLowerCase(),i=t?">".concat(t):"";return n&&n!==document.documentElement&&n!==document.body?r?"#".concat(r).concat(i):w(n,"".concat(o).concat(i)):"".concat(o).concat(i)}var T=function(){var e,t;if(null===(e=window.performance)||void 0===e?void 0:e.navigation)return performance.navigation.type;if(null===(t=window.performance)||void 0===t?void 0:t.getEntriesByType){var n=performance.getEntriesByType("navigation");if(n.length>0)return n[0].type}return 255},_=function(e){"prerendering"in document&&document.prerendering?function(e){"prerendering"in document&&document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()}((function(){return _(e)})):"complete"!==(null===document||void 0===document?void 0:document.readyState)?addEventListener("load",(function(){return _(e)}),!0):setTimeout(e)};function S(e){return"number"!=typeof e||!isFinite(e)||e<0?null:Math.round(100*e)/100}var E=Array(32);function L(e){return function(){for(var t=0;t<2*e;t++)E[t]=Math.floor(16*Math.random())+48,E[t]>=58&&(E[t]+=39);return String.fromCharCode.apply(null,E.slice(0,2*e))}}function O(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():L(16)()}var A=function(e){return e instanceof ErrorEvent?"Script error."===e.message?"cors":"js":"resource"},P=function(e){return y.hashStr(e)};var x,k={view:"#3b82f6",click:"#06b6d4",expose:"#8b5cf6",enter:"#10b981",leave:"#f59e0b",stay:"#84cc16",cart:"#ec4899",buy:"#ef4444",pay:"#dc2626",default:"#6b7280"},M={view:"👁️",click:"👆",expose:"✨",enter:"🚪",leave:"👋",stay:"⏱️",cart:"🛒",buy:"💰",pay:"💳",default:"📊"},I={common:"#3b82f6",behavior:"#10b981",performance:"#f59e0b",error:"#ef4444",custom:"#8b5cf6",default:"#6b7280"},C=function(e,t){t.forEach((function(t,n){var r=t.event_type||"unknown",o=t.data_type||"common",i=function(e){return k[e]||k.default}(r),a=function(e){return I[e]||I.default}(o),c=function(e){return M[e]||M.default}(r),u=t.event_detail;if("string"==typeof u)try{u=JSON.parse(u)}catch(e){}console.groupCollapsed("%c".concat(c," [TM-").concat(e,"] %c").concat(o.toUpperCase(),"%c → %c").concat(r.toUpperCase(),"%c #").concat(n+1),"color: #6b7280; font-weight: bold;","color: ".concat(a,"; font-weight: bold; background: ").concat(a,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280;","color: ".concat(i,"; font-weight: bold; background: ").concat(i,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280; font-weight: normal;");var s=l(l({},t),{event_detail:u});console.log("%c"+JSON.stringify(s,null,2),"color: #6b7280; font-family: monospace; font-size: 11px; line-height: 1.5;"),console.groupEnd()})),console.log("%c✅ [TM] 本次通过 ".concat(e," 上报 ").concat(t.length," 条埋点数据"),"color: #10b981; font-weight: bold; font-size: 12px; padding: 4px 8px; background: #10b98120; border-radius: 4px; border-left: 3px solid #10b981;")},j=void 0,R="TRACK_MONITOR_DATA",q="MONITOR_REAL_TIME_DATA",N="TRACK_MONITOR_USER",B="tengence_device_id",U="tengence_register_properties",D="TRACK_MONITOR_LOGGER",F={timer:null,promise:null},z={timer:null,promise:null},H=function(e){var t=JSON.stringify(e);return(new TextEncoder).encode(t).length/1024},J=function(){try{var e=localStorage.getItem(U);return e?JSON.parse(e):{}}catch(e){return console.error("[TM]: get register properties fail: ",e),{}}},W=function(e){try{localStorage.setItem(U,JSON.stringify(e))}catch(e){console.error("[TM]: save register properties fail: ",e)}},X=function(e){if(e&&"object"==typeof e&&!Array.isArray(e)){var t=l(l({},J()),e),n=Object.keys(t);if(n.length>50){var r={};return n.slice(0,50).forEach((function(e){r[e]=t[e]})),console.warn("[TM]: register properties exceed max ".concat(50," keys, extra keys dropped")),void W(r)}W(t)}else console.error("[TM]: registerGlobalProperties props must be a plain object")},K=function(e){var t=document.cookie.match(new RegExp("(?:^|;\\s*)"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},G=function(e){document.cookie="".concat(B,"=").concat(encodeURIComponent(e),"; Max-Age=63072000; Path=/")},$=function(){try{var e=localStorage.getItem(B);if(e)return K(B)||G(e),e;var t=K(B);if(t){try{localStorage.setItem(B,t)}catch(e){}return t}e=O();try{localStorage.setItem(B,e)}catch(e){}return G(e),e}catch(e){return void console.error("[TM]: get or create device id fail: ",e)}},V=function(e){return l(l({session_id:e.session_id,request_id:e.request_id,event_id:e.event_id||O(),spm:e.spm,data_type:e.data_type||"behavior",event_type:e.event_type,event_detail:"string"==typeof e.event_detail?e.event_detail:JSON.stringify(e.event_detail)},{page_url:location.href,hostname:window.location.hostname||window.location.host,os:window.navigator.platform,user_id:localStorage.getItem(N)||void 0,user_agent:window.navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,lib_version:"1.1.5",lib_type:"js",event_time:(new Date).getTime().toString(),timezone_offset:(new Date).getTimezoneOffset().toString()}),{device_id:$(),register_properties:JSON.stringify(J()),platform:x})},Y=function(e){var t,n,r,o=e.accessToken,i=e.apiKey,a=e.onTokenExpired,c=/Android|iPhone|iPad|iPod|Mobile/i.test(window.navigator.userAgent);x=e.platform||(c?"h5":"web");var u=(j={url:e.url||"https://api.tengence.com/v1/push/event",realTimeUrl:e.realTimeUrl||"https://api.tengence.com/v1/push/real-time-event",cacheNumber:e.cacheNumber||30,reportInterval:e.reportInterval||3e4,realTimeReportInterval:e.realTimeReportInterval||200,maxCacheSize:e.maxCacheSize||57344,maxRetries:e.maxRetries||10,isLogger:!!e.isLogger,errorTraceRate:e.errorTraceRate||.5,traceBehavior:null===(t=e.traceBehavior)||void 0===t||t,tracePerformance:null===(n=e.tracePerformance)||void 0===n||n,traceError:null===(r=e.traceError)||void 0===r||r}).url,l=j.realTimeUrl,s=j.cacheNumber,f=j.reportInterval,d=j.realTimeReportInterval,p=j.maxCacheSize,h=j.maxRetries,y=0,g=function(e){try{localStorage.setItem(N,e)}catch(e){console.error("[TM]: monitor bind user fail: ",e)}},w=function(){localStorage.removeItem(N)},T=function(e){var t=[];try{t=JSON.parse(localStorage.getItem(e)||"[]")}catch(e){console.error("[TM]: get monitor data fail: ",e)}return t},_=function(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch(n){console.error("[TM]: save monitor data error: ",t),localStorage.setItem(e,"[]")}},S=function(e){o=e},E=function(e,t){var n=e?l:u,r=o||i;return(null==j?void 0:j.isLogger)&&C(e?"RealTimeFetch":"Fetch",t),m(n,{data:t},r).catch((function(e){var t=null==e?void 0:e.status;throw(e instanceof v||401===t||403===t)&&(o=void 0,null==a||a()),e}))},L=function(e,t){void 0===t&&(t=!1);var n=T(e);if(n.length){var r=function(e){return e===q}(e),o=r?z:F;if(!y&&(n.length>=s||t))return null!==o.timer&&(clearTimeout(o.timer),o.timer=null),_(e,[]),void E(r,n).then((function(){y=0})).catch((function(){console.error("[TM]: send report fail, retryCount: ",y),O(e,n)})).finally((function(){L(e)}));if(null===o.timer){var i=(y+1)*(r?d:f);o.timer=setTimeout((function(){var t=T(e);t.length?o.promise||(_(e,[]),o.promise=E(r,t).then((function(){y=0})).catch((function(){O(e,t)})).finally((function(){o.timer=null,o.promise=null,L(e)}))):o.timer=null}),i)}}},O=function(e,t){if(++y>h)y=0;else{var n=T(e);_(e,n.concat(t))}},A=function(e){if(e&&"object"==typeof e){var t=!0===e.track_real_time,n=V(e);try{if(t){var r=[n],o=T(q);o&&(r=r.concat(o)),_(q,r);var i=H(r);L(q,i>=p)}var a=[n],c=T(R);c&&(a=a.concat(c)),_(R,a);var u=H(a);L(R,u>=p)}catch(e){console.error("[TM]: report fail: ",e)}}else console.error("[TM]: report data must be an object")},P=function(){j.isLogger=!0;try{localStorage.setItem(D,"true")}catch(e){console.error("[TM]: enable logger fail:",e)}},k=function(){j.isLogger=!1;try{localStorage.setItem(D,"false")}catch(e){console.error("[TM]: disable logger fail:",e)}};return b((function(){L(R,!0),L(q,!0)})),window.trackMonitor={report:A,bindUser:g,unBindUser:w,enableLogger:P,disableLogger:k,setToken:S,registerGlobalProperties:X},{client:{report:A,bindUser:g,unBindUser:w,enableLogger:P,disableLogger:k,setToken:S,registerGlobalProperties:X},beforeClose:function(){window.addEventListener("beforeunload",(function(){L(R,!0),L(q,!0)}))}}},Q=L(16)(),Z=function(e){var t=history[e];return function(){var n=t.apply(this,arguments),r=new Event(e);return window.dispatchEvent(r),n}},ee=function(e){window.addEventListener("replaceState",(function(t){return e(t)}),!0),window.addEventListener("pushState",(function(t){return e(t)}),!0)},te=function(e){window.addEventListener("popstate",(function(t){return e(t)}),!0)},ne=function(){var e=function(e,t){void 0===t&&(t=300);var n=0;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=Date.now();i-n>=t&&(n=i,e.apply(this,r))}}((function(e){var t,n=function(e){if(e){return["A","INPUT","TEXTAREA","BUTTON"].includes(e.tagName)||e.hasAttribute("track-click")?e:e.closest("a, button, [track-click]")||void 0}}(e.target);if(n){var r={element_id:n.id,element_content:(null===(t=n.textContent)||void 0===t?void 0:t.trim())||null,element_class_name:n.className||null,element_name:n.getAttribute("name")||null,element_type:n.tagName.toLowerCase(),element_path:w(n),scroll_width:document.documentElement.scrollWidth,scroll_height:document.documentElement.scrollHeight,pageX:e.pageX,pageY:e.pageY,ratio:window.devicePixelRatio||1};window.trackMonitor.report({data_type:"common",event_type:"click",event_detail:r})}}));window.addEventListener("click",e,!0)},re=function(){var e,t,n;history.pushState=Z("pushState"),history.replaceState=Z("replaceState"),e="",n=g(t=function(){var t=window.location.href;if(t!==e){var n=window.location,r={host:n.host,hostname:n.hostname,href:n.href,protocol:n.protocol,origin:n.origin,port:n.port,pathname:n.pathname,search:n.search,hash:n.hash,title:document.title,language:navigator.language.substring(0,2),user_agent:navigator.userAgent,win_screen:"".concat(window.screen.width,"x").concat(window.screen.height),doc_screen:"".concat(document.documentElement.clientWidth,"x").concat(document.documentElement.clientHeight),referrer:document.referrer,type:T()};window.trackMonitor.report({data_type:"common",event_type:"page_view",event_detail:r}),e=t}},200),t(),te((function(){n()})),ee((function(){n()})),function(){var e=document.referrer,t=window.location.href,n=Date.now(),r=!0,o=function(r){if(void 0===r&&(r=!1),window.location.href!==t||r){var o=Date.now()-n;o>200&&window.trackMonitor.report({data_type:"common",event_type:"page_leave",event_detail:{url:t,referrer:e,duration:o}}),n=Date.now(),e=t,t=window.location.href}},i=g(o);o(),te((function(){i()})),ee((function(){i()})),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState?r&&(r=!1,o(!0)):(r=!0,n=Date.now())})),window.addEventListener("beforeunload",(function(){r&&(r=!1,o(!0))}),!0)}(),ne()},oe=null,ie=null,ae="track-expose",ce="track-view",ue=function(e){try{ie=new WeakMap}catch(e){console.error("[TM]: create WeakMap fail: ",e)}var t=function(e,t){void 0===t&&(t=!1);var r=null==ie?void 0:ie.get(e);if(!r||t){r&&(r.viewTimer&&clearTimeout(r.viewTimer),r.exposeTimer&&clearTimeout(r.exposeTimer));var o=e.dataset.durationView||500,i=e.dataset.durationExpose||500;null==ie||ie.set(e,{duration_view:o,duration_expose:i,viewTimer:null,exposeTimer:null}),null==oe||oe.observe(e),t&&function(e){if(!(e instanceof Element))return!1;if(!function e(t){if(!t)return!0;var n=window.getComputedStyle(t);return"none"!==n.display&&"hidden"!==n.visibility&&0!==parseFloat(n.opacity)&&e(t.parentElement)}(e))return!1;var t=e.getBoundingClientRect();return!(t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth))}(e)&&n(e)}},n=function(t){var n,o=null==ie?void 0:ie.get(t);if(o){var i=t.dataset.eventDetail,a=null!==(n=t.dataset.traceid)&&void 0!==n?n:void 0,c=t.dataset.spm,u=t.hasAttribute("track-real-time"),l=t.hasAttribute(ce),s=t.hasAttribute(ae);l&&s?o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view_expose",event_detail:i,track_real_time:u}),t.removeAttribute(ce),o.exposeTimer=null}),parseInt(o.duration_expose,10)):(l&&(o.viewTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view",event_detail:i,track_real_time:u}),t.removeAttribute(ce),s&&o.exposeTimer||r(t),o.viewTimer=null}),parseInt(o.duration_view,10))),s&&(o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"expose",event_detail:i,track_real_time:u}),o.exposeTimer=null}),parseInt(o.duration_expose,10))))}},r=function(e){var t=null==ie?void 0:ie.get(e);t&&(null==oe||oe.unobserve(e),t.viewTimer&&clearTimeout(t.viewTimer),t.exposeTimer&&clearTimeout(t.exposeTimer),null==ie||ie.delete(e))},o=function(e){e.forEach((function(e){var t=e.target,o=null==ie?void 0:ie.get(t);o&&(o.viewTimer&&(clearTimeout(o.viewTimer),o.viewTimer=null),o.exposeTimer&&(clearTimeout(o.exposeTimer),o.exposeTimer=null),e.isIntersecting&&(n(t),t.hasAttribute(ce)||t.hasAttribute(ae)||r(t)))}))};oe=function(){var e=null;try{e=new IntersectionObserver(o,{root:null,threshold:.5})}catch(e){console.error("[TM]: create IntersectionObserver fail: ",e)}return e}(),new Set(p(p([],d(document.querySelectorAll("[".concat(ae,"]"))),!1),d(document.querySelectorAll("[".concat(ce,"]"))),!1)).forEach((function(e){return t(e)})),new MutationObserver((function(e){e.forEach((function(e){if("attributes"===e.type&&e.target instanceof HTMLElement){var n=e.target,o=e.attributeName;n.hasAttribute(ae)||n.hasAttribute(ce)?["data-event-detail","data-traceid","data-spm","data-duration-view","data-duration-expose"].includes(o)?t(n,!0):o!==ae&&o!==ce||t(n,!1):r(n)}else"childList"===e.type&&(e.addedNodes.forEach((function(e){e instanceof HTMLElement&&(e.hasAttribute(ae)||e.hasAttribute(ce)?t(e):new Set(p(p([],d(e.querySelectorAll("[".concat(ae,"]"))),!1),d(e.querySelectorAll("[".concat(ce,"]"))),!1)).forEach((function(e){return t(e)})))})),e.removedNodes.forEach((function(e){e instanceof HTMLElement&&((null==ie?void 0:ie.get(e))?r(e):new Set(p(p([],d(e.querySelectorAll("[".concat(ae,"]"))),!1),d(e.querySelectorAll("[".concat(ce,"]"))),!1)).forEach((function(e){return r(e)})))})))}))})).observe(document.body,{attributes:!0,childList:!0,subtree:!0})},le=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;function se(e){var t=e.match(le);return t?{filename:t[2],functionName:t[1]||"",lineno:parseInt(t[3],10)||void 0,colno:parseInt(t[4],10)||void 0}:{}}function fe(e){var t,n,r,o,i;try{var a=e.stack;if(!a)return[];var c=[];try{for(var u=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(a.split("\n").slice(1)),l=u.next();!l.done;l=u.next()){var s=se(l.value);!s||(null===(r=s.filename)||void 0===r?void 0:r.includes("chrome-extension://"))||(null===(o=s.filename)||void 0===o?void 0:o.includes("node_modules"))||(null===(i=s.filename)||void 0===i?void 0:i.includes("<anonymous>"))||c.push(s)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return c.slice(0,10)}catch(e){return[]}}var de=[],pe=function(e,t){var n,r;((r=null!==(n=null==j?void 0:j.errorTraceRate)&&void 0!==n?n:.5)<0||r>1?(console.warn("[TM]: probability should be between 0 and 1"),0):Math.random()<r)&&(window.trackMonitor.report(t),de.push(e))},ve=function(){window.addEventListener("error",(function(e){!function(e){var t;if("js"===A(e)&&!function(e){var t,n=(null===(t=e.error)||void 0===t?void 0:t.stack)||"";return/chrome-extension:\/\//.test(n)}(e)){var n=P("js-".concat(e.message,"-").concat(e.filename));if(!de.includes(n)){var r=fe(e.error),o={traceId:Q,msg:e.message,target:r[0]?"".concat(null===(t=r[0].filename)||void 0===t?void 0:t.split("?")[0],":").concat(r[0].lineno,":").concat(r[0].colno):"",stack:r,errorUuid:n,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno}};pe(n,{data_type:"error",event_type:"js",event_detail:o})}}}(e)}),!0)},me=function(){window.addEventListener("error",(function(e){!function(e){var t;if("resource"===A(e)){var n=e.target,r=P("resource-".concat(n.src,"-").concat(n.tagName));if(!de.includes(r)){var o={traceId:Q,msg:"加载".concat(n.tagName,"失败"),target:null===(t=n.src)||void 0===t?void 0:t.split("?")[0],errorUuid:r,meta:{url:n.src,html:n.outerHTML,tagName:n.tagName}};pe(r,{data_type:"error",event_type:"resource",event_detail:o})}}}(e)}),!0)},he=function(){window.addEventListener("unhandledrejection",(function(e){return function(e){var t,n=(null===(t=e.reason)||void 0===t?void 0:t.message)||e.reason,r=P("".concat("unhandledrejection","-").concat(n));if(!de.includes(r)){var o={traceId:Q,msg:n,stack:fe(e.reason),errorUuid:r};pe(r,{data_type:"error",event_type:"unhandledrejection",event_detail:o})}}(e)}),!0)},ye=function(){var e=function(e,t,n){if(t){var r=P("http-".concat(t,"-").concat(e.url,"-").concat(n));if(de.includes(r))return;var o={traceId:Q,errorType:t,msg:n,target:e.url.split("?")[0],errorUuid:r,request:e};pe(r,{data_type:"error",event_type:"http",event_detail:o})}else if(e.status>=400){var i=e.statusText;r=P("http-".concat(t="http_error","-").concat(e.url,"-").concat(i));if(de.includes(r))return;o={traceId:Q,errorUuid:r,errorType:t,target:e.url.split("?")[0],msg:i,request:e};pe(r,{data_type:"error",event_type:"http",event_detail:o})}};!function(e,t){if("XMLHttpRequest"in window&&"function"==typeof window.XMLHttpRequest){var n=window.XMLHttpRequest;window.oXMLHttpRequest||(window.oXMLHttpRequest=n),window.XMLHttpRequest=function(){var e=new n,r=e.open,o=e.send,i={};e.open=function(t,n,o,a,c){void 0===o&&(o=!0),i.method=t,i.url=n,r.call(e,t,n,o,a,c)},e.send=function(t){i.requestTime=(new Date).getTime(),o.call(e,t)};var a=function(n,r){var o=e.status,a=e.statusText,c=(new Date).getTime();i=l(l({},i),{status:o,statusText:a,responseTime:c,duration:c-i.requestTime}),"function"==typeof t&&t(i,n,r)};return e.addEventListener("loadend",(function(){return a()})),e.addEventListener("error",(function(){return a("net_error","ERR_NETWORK")})),e.addEventListener("abort",(function(){return a("cannel_request","ERR_CANCELED")})),e.addEventListener("timeout",(function(){return a("timeout","ERR_NETWORK")})),e}}}(0,e),function(e,t){if("fetch"in window&&"function"==typeof window.fetch){var n=window.fetch;window.oFetch||(window.oFetch=n),window.fetch=function(e,r){return s(void 0,void 0,void 0,(function(){var o;return f(this,(function(i){return(o={}).method=(null==r?void 0:r.method)||"",o.url=(e&&"string"!=typeof e?null==e?void 0:e.url:e)||"",o.requestTime=(new Date).getTime(),[2,n.call(window,e,r).then((function(e){return s(void 0,void 0,void 0,(function(){var n,r;return f(this,(function(i){return"function"==typeof t&&(n=e.clone(),r=(new Date).getTime(),o=l(l({},o),{status:n.status,statusText:n.statusText,responseTime:r,duration:r-o.requestTime}),t(o)),[2,e]}))}))})).catch((function(e){if("function"==typeof t){var n=(new Date).getTime();o=l(l({},o),{responseTime:n,duration:n-o.requestTime}),"AbortError"===e.name?t(o,"cannel_request","ERR_CANCELED"):t(o,"net_error","ERR_NETWORK")}return Promise.reject(e)}))]}))}))}}}(0,e)};var be=-1,ge=function(e){addEventListener("pageshow",(function(t){t.persisted&&(be=t.timeStamp,e(t))}),!0)},we=function(e,t,n,r){var o,i;return function(a){t.value>=0&&(a||r)&&(((i=t.value-(null!=o?o:0))||void 0===o)&&(o=t.value,t.delta=i,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t)))}},Te=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},_e=function(){var e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},Se=function(){var e,t=_e();return null!==(e=null==t?void 0:t.activationStart)&&void 0!==e?e:0},Ee=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=_e(),r="navigate";return be>=0?r="back-forward-cache":n&&(document.prerendering||Se()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:"v5-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},Le=new WeakMap;function Oe(e,t){return Le.get(e)||Le.set(e,new t),Le.get(e)}var Ae,Pe=function(){return r((function e(){n(this,e),i(this,"t",void 0),i(this,"i",0),i(this,"o",[])}),[{key:"h",value:function(e){var t;if(!e.hadRecentInput){var n=this.o[0],r=this.o.at(-1);this.i&&n&&r&&e.startTime-r.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),null===(t=this.t)||void 0===t||t.call(this,e)}}}])}(),xe=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({type:e,buffered:!0},n)),r}}catch(e){}},ke=function(e){var t=!1;return function(){t||(e(),t=!0)}},Me=-1,Ie=new Set,Ce=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},je=function(e){if("hidden"===document.visibilityState){if("visibilitychange"===e.type){var t,n=o(Ie);try{for(n.s();!(t=n.n()).done;){(0,t.value)()}}catch(e){n.e(e)}finally{n.f()}}isFinite(Me)||(Me="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",je,!0))}},Re=function(){if(Me<0){var e,t=Se(),n=document.prerendering||null===(e=globalThis.performance.getEntriesByType("visibility-state").filter((function(e){return"hidden"===e.name&&e.startTime>t}))[0])||void 0===e?void 0:e.startTime;Me=null!=n?n:Ce(),addEventListener("visibilitychange",je,!0),addEventListener("prerenderingchange",je,!0),ge((function(){setTimeout((function(){Me=Ce()}))}))}return{get firstHiddenTime(){return Me},onHidden:function(e){Ie.add(e)}}},qe=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},Ne=[1800,3e3],Be=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};qe((function(){var n,r=Re(),i=Ee("FCP"),a=xe("paint",(function(e){var t,c=o(e);try{for(c.s();!(t=c.n()).done;){var u=t.value;"first-contentful-paint"===u.name&&(a.disconnect(),u.startTime<r.firstHiddenTime&&(i.value=Math.max(u.startTime-Se(),0),i.entries.push(u),n(!0)))}}catch(e){c.e(e)}finally{c.f()}}));a&&(n=we(e,i,Ne,t.reportAllChanges),ge((function(r){i=Ee("FCP"),n=we(e,i,Ne,t.reportAllChanges),Te((function(){i.value=performance.now()-r.timeStamp,n(!0)}))})))}))},Ue=[.1,.25],De=0,Fe=1/0,ze=0,He=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.interactionId&&(Fe=Math.min(Fe,r.interactionId),ze=Math.max(ze,r.interactionId),De=ze?(ze-Fe)/7+1:0)}}catch(e){n.e(e)}finally{n.f()}},Je=function(){var e;return Ae?De:null!==(e=performance.interactionCount)&&void 0!==e?e:0},We=0,Xe=function(){return r((function e(){n(this,e),i(this,"u",[]),i(this,"l",new Map),i(this,"m",void 0),i(this,"p",void 0)}),[{key:"v",value:function(){We=Je(),this.u.length=0,this.l.clear()}},{key:"L",value:function(){var e=Math.min(this.u.length-1,Math.floor((Je()-We)/50));return this.u[e]}},{key:"h",value:function(e){var t;if(null!==(t=this.m)&&void 0!==t&&t.call(this,e),e.interactionId||"first-input"===e.entryType){var n=this.u.at(-1),r=this.l.get(e.interactionId);if(r||this.u.length<10||e.duration>n.P){var i;if(r?e.duration>r.P?(r.entries=[e],r.P=e.duration):e.duration===r.P&&e.startTime===r.entries[0].startTime&&r.entries.push(e):(r={id:e.interactionId,entries:[e],P:e.duration},this.l.set(r.id,r),this.u.push(r)),this.u.sort((function(e,t){return t.P-e.P})),this.u.length>10){var a,c=o(this.u.splice(10));try{for(c.s();!(a=c.n()).done;){var u=a.value;this.l.delete(u.id)}}catch(e){c.e(e)}finally{c.f()}}null===(i=this.p)||void 0===i||i.call(this,r)}}}}])}(),Ke=function(e){var t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=ke(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t((function(){e(),removeEventListener("visibilitychange",e,{capture:!0})})))},Ge=[200,500],$e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype){var n=Re();qe((function(){var r;"interactionCount"in performance||Ae||(Ae=xe("event",He,{type:"event",buffered:!0,durationThreshold:0}));var i,a=Ee("INP"),c=Oe(t,Xe),u=function(e){Ke((function(){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;c.h(r)}}catch(e){n.e(e)}finally{n.f()}var u=c.L();u&&u.P!==a.value&&(a.value=u.P,a.entries=u.entries,i())}))},l=xe("event",u,{durationThreshold:null!==(r=t.durationThreshold)&&void 0!==r?r:40});i=we(e,a,Ge,t.reportAllChanges),l&&(l.observe({type:"first-input",buffered:!0}),n.onHidden((function(){u(l.takeRecords()),i(!0)})),ge((function(){c.v(),a=Ee("INP"),i=we(e,a,Ge,t.reportAllChanges)})))}))}},Ve=function(){return r((function e(){n(this,e),i(this,"m",void 0)}),[{key:"h",value:function(e){var t;null===(t=this.m)||void 0===t||t.call(this,e)}}])}(),Ye=[2500,4e3],Qe=[800,1800],Ze=function(e){document.prerendering?qe((function(){return Ze(e)})):"complete"!==document.readyState?addEventListener("load",(function(){return Ze(e)}),!0):setTimeout(e)};function et(){var e={ttfb:null,lcp:null,fp:null,fcp:null,connectionRtt:null,ttfbRequestTime:null,inp:null,cls:null,dcl:null,loadTime:null};!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};qe((function(){var n,r=Re(),i=Ee("LCP"),a=Oe(t,Ve),c=function(e){t.reportAllChanges||(e=e.slice(-1));var c,u=o(e);try{for(u.s();!(c=u.n()).done;){var l=c.value;a.h(l),l.startTime<r.firstHiddenTime&&(i.value=Math.max(l.startTime-Se(),0),i.entries=[l],n())}}catch(e){u.e(e)}finally{u.f()}},u=xe("largest-contentful-paint",c);if(u){n=we(e,i,Ye,t.reportAllChanges);for(var l=ke((function(){c(u.takeRecords()),u.disconnect(),n(!0)})),s=function(e){e.isTrusted&&(Ke(l),removeEventListener(e.type,s,{capture:!0}))},f=0,d=["keydown","click","visibilitychange"];f<d.length;f++)addEventListener(d[f],s,{capture:!0});ge((function(r){i=Ee("LCP"),n=we(e,i,Ye,t.reportAllChanges),Te((function(){i.value=performance.now()-r.timeStamp,n(!0)}))}))}}))}((function(t){e.lcp=S(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Re();Be(ke((function(){var r,i=Ee("CLS",0),a=Oe(t,Pe),c=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var c=t.value;a.h(c)}}catch(e){n.e(e)}finally{n.f()}a.i>i.value&&(i.value=a.i,i.entries=a.o,r())},u=xe("layout-shift",c);u&&(r=we(e,i,Ue,t.reportAllChanges),n.onHidden((function(){c(u.takeRecords()),r(!0)})),ge((function(){a.i=0,i=Ee("CLS",0),r=we(e,i,Ue,t.reportAllChanges),Te((function(){return r()}))})),setTimeout(r))})))}((function(t){e.cls=Math.round(1e4*t.value)/1e4}),{reportAllChanges:!0}),$e((function(t){e.inp=S(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Ee("TTFB"),r=we(e,n,Qe,t.reportAllChanges);Ze((function(){var o=_e();o&&(n.value=Math.max(o.responseStart-Se(),0),n.entries=[o],r(!0),ge((function(){n=Ee("TTFB",0),(r=we(e,n,Qe,t.reportAllChanges))(!0)})))}))}((function(t){e.ttfb=S(t.value)})),Be((function(t){e.fcp=S(t.value)}));window.addEventListener("beforeunload",(function(){!function(){try{performance.getEntriesByType("paint").forEach((function(t){"first-paint"===t.name&&(e.fp=S(t.startTime))}))}catch(e){console.warn("[TM]: Failed to collect FP:",e)}try{var t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;t&&void 0!==t.rtt&&(e.connectionRtt=t.rtt)}catch(e){console.warn("[TM]: Failed to collect Connection RTT:",e)}try{if(o=performance.getEntriesByType("navigation")[0]){var n=o.responseStart,r=o.requestStart;n>0&&r>0&&r<=n&&(e.ttfbRequestTime=S(n-r))}}catch(e){console.warn("[TM]: Failed to collect TTFB Request Time:",e)}try{var o;if(o=performance.getEntriesByType("navigation")[0]){var i=o.domContentLoadedEventEnd,a=o.loadEventEnd,c=o.fetchStart;i>0&&c>0&&(e.dcl=S(i-c)),a>0&&c>0&&(e.loadTime=S(a-c))}}catch(e){console.warn("[TM]: Failed to collect DCL and Load Time:",e)}}(),window.trackMonitor.report({data_type:"performance",event_type:"metrics",event_detail:{traceId:Q,data:e}})}))}e.init=function(e){var t=Y(e),n=t.client,r=t.beforeClose;return ue(n.report),!1!==e.traceBehavior&&re(),!1!==e.traceError&&(ve(),me(),he(),ye()),!1!==e.tracePerformance&&_((function(){!function(){var e,t,n,r,o,i=window.performance||window.msPerformance;if(!i)return{dnsLookupTime:null,tcpConnectTime:null,ttfb:null,transferTime:null,domParseTime:null,domCompleteTime:null,loadEventTime:null,totalPageLoad:null};var a=i.getEntriesByType&&i.getEntriesByType("navigation")&&i.getEntriesByType("navigation")[0],c=null;if(a)c=a;else{var u=i.timing;u&&!(c={startTime:0,domainLookupStart:u.domainLookupStart,domainLookupEnd:u.domainLookupEnd,connectStart:u.connectStart,connectEnd:u.connectEnd,requestStart:u.requestStart,responseStart:u.responseStart,responseEnd:u.responseEnd,domInteractive:u.domInteractive,domComplete:u.domComplete,loadEventEnd:u.loadEventEnd,fetchStart:u.fetchStart}).requestStart&&u.fetchStart&&(c.requestStart=u.fetchStart)}var l={dnsLookupTime:c?S(c.domainLookupEnd-c.domainLookupStart):null,tcpConnectTime:c?S(c.connectEnd-c.connectStart):null,ttfb:c?S(c.responseStart-(null!==(t=null!==(e=c.requestStart)&&void 0!==e?e:c.fetchStart)&&void 0!==t?t:0)):null,transferTime:c?S(c.responseEnd-c.responseStart):null,domParseTime:c?S(c.domInteractive-c.responseEnd):null,domCompleteTime:c?S(c.domComplete-c.domInteractive):null,loadEventTime:c?S(c.loadEventEnd-(null!==(n=c.domComplete)&&void 0!==n?n:0)):null,totalPageLoad:c?S((null!==(r=c.loadEventEnd)&&void 0!==r?r:performance.now())-(null!==(o=c.startTime)&&void 0!==o?o:0)):null};window.trackMonitor.report({data_type:"performance",event_type:"navigation_timing",event_detail:{traceId:Q,data:l}})}(),function(){var e=window.performance||window.msPerformance;if(!e)return[];var t=[];if(e.getEntriesByType){var n=(e.getEntriesByType("resource")||[]).map((function(e){var t="number"==typeof e.redirectEnd&&"number"==typeof e.redirectStart?S(e.redirectEnd-e.redirectStart):null,n="number"==typeof e.domainLookupEnd&&"number"==typeof e.domainLookupStart?S(e.domainLookupEnd-e.domainLookupStart):null,r="number"==typeof e.connectEnd&&"number"==typeof e.connectStart?S(e.connectEnd-e.connectStart):null,o="number"==typeof e.requestStart&&"number"==typeof e.fetchStart?S(e.requestStart-e.fetchStart):null,i="number"==typeof e.responseStart&&"number"==typeof e.requestStart?S(e.responseStart-e.requestStart):null,a="number"==typeof e.responseEnd&&"number"==typeof e.responseStart?S(e.responseEnd-e.responseStart):null,c="number"==typeof e.duration?S(e.duration):null,u="number"==typeof e.startTime?S(e.startTime):null,l="number"==typeof e.transferSize&&isFinite(e.transferSize)&&e.transferSize>=0?Math.round(e.transferSize):null,s="number"==typeof e.encodedBodySize&&isFinite(e.encodedBodySize)&&e.encodedBodySize>=0?Math.round(e.encodedBodySize):null,f="number"==typeof e.decodedBodySize&&isFinite(e.decodedBodySize)&&e.decodedBodySize>=0?Math.round(e.decodedBodySize):null;return{name:e.name,initiatorType:e.initiatorType||"",startTime:u,duration:c,redirectTime:t,cacheTime:o,dnsTime:n,connectTime:r,requestTime:i,responseTime:a,transferSize:l,encodedBodySize:s,decodedBodySize:f}}));n.sort((function(e,t){var n,r;return(null!==(n=t.duration)&&void 0!==n?n:0)-(null!==(r=e.duration)&&void 0!==r?r:0)}));for(var r=0;r<Math.min(15,n.length);r++)t.push(n[r])}window.trackMonitor.report({data_type:"performance",event_type:"resource_flow",event_detail:{traceId:Q,data:t}})}(),et()})),_((function(){r()})),n}}));
|