yizun-sdk
Version:
易尊前端SDK - 用于集成前端埋点追踪的JavaScript库
2 lines • 79.3 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).gdp=t()}(this,(function(){"use strict";const e=["web","wxwv","minp","alip","baidup","qq","bytedance"],t={autotrack:{type:"boolean",default:!0},compress:{type:"boolean",default:!0},dataCollect:{type:"boolean",default:!0},debug:{type:"boolean",default:!1},hashtag:{type:"boolean",default:!1},touch:{type:"boolean",default:!1},version:{type:"string",default:"1.0.0"},platform:{type:"string",default:"web"},cookieDomain:{type:"string",default:""},sendType:{type:"string",default:"beacon"}},i={enableIdMapping:{type:"boolean",default:!1},gtouchHost:{type:"string",default:""},host:{type:"string",default:"napi.growingio.com"},ignoreFields:{type:"array",default:[]},penetrateHybrid:{type:"boolean",default:!0},scheme:{type:"string",default:location.protocol.indexOf("http")>-1?location.protocol.replace(":",""):"https"},sessionExpires:{type:"number",default:30},performance:{type:"object",default:{monitor:!0,exception:!0}},embeddedIgnore:{type:"array",default:[]},storageType:{type:"string",default:"cookie"},requestTimeout:{type:"number",default:5e3}},n={},r=["clearUserId","getGioInfo","getLocation","getOption","init","setDataCollect","setOption","setUserId","track","setGeneralProps","clearGeneralProps","enableDebug","enableHT","setAutotrack","setTrackerHost","setTrackerScheme","setUserAttributes","getVisitorId","getDeviceId","registerPlugins","getPlugins","sendPage","sendVisit","trackTimerStart","trackTimerPause","trackTimerResume","trackTimerEnd","removeTimer","clearTrackTimer","updateImpression"],s=["autotrack","dataCollect","dataSourceId","debug","host","hashtag","scheme"],o={autotrack:"无埋点采集",dataCollect:"数据采集",debug:"调试模式"},a=["send","setConfig","collectImp","setPlatformProfile"],d=["screenHeight","screenWidth"],c={click:"VIEW_CLICK",change:"VIEW_CHANGE",submit:"FORM_SUBMIT"};var l,h,u,g,p,f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},m="function"==typeof Array.from?Array.from:(h||(h=1,u=function(e){return"function"==typeof e},g=function(e){var t=function(e){var t=Number(e);return isNaN(t)?0:0!==t&&isFinite(t)?(t>0?1:-1)*Math.floor(Math.abs(t)):t}(e);return Math.min(Math.max(t,0),9007199254740991)},p=function(e){var t=e.next();return!t.done&&t},l=function(e){var t,i,n,r=this,s=arguments.length>1?arguments[1]:void 0;if(void 0!==s){if(!u(s))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(t=arguments[2])}var o=function(e,t){if(null!=e&&null!=t){var i=e[t];if(null==i)return;if(!u(i))throw new TypeError(i+" is not a function");return i}}(e,function(e){if(null!=e){if(["string","number","boolean","symbol"].indexOf(typeof e)>-1)return Symbol.iterator;if("undefined"!=typeof Symbol&&"iterator"in Symbol&&Symbol.iterator in e)return Symbol.iterator;if("@@iterator"in e)return"@@iterator"}}(e));if(void 0!==o){i=u(r)?Object(new r):[];var a,d,c=o.call(e);if(null==c)throw new TypeError("Array.from requires an array-like or iterable object");for(n=0;;){if(!(a=p(c)))return i.length=n,i;d=a.value,i[n]=s?s.call(t,d,n):d,n++}}else{var l=Object(e);if(null==e)throw new TypeError("Array.from requires an array-like object - not null or undefined");var h,f=g(l.length);for(i=u(r)?Object(new r(f)):Array(f),n=0;f>n;)h=l[n],i[n]=s?s.call(t,h,n):h,n++;i.length=f}return i}),l);const v=e=>L(["undefined","null"],$(e)),I=e=>"string"===$(e),w=e=>"number"===$(e),O=e=>"NaN"===k(Number(e)),b=e=>"boolean"===$(e),y=e=>"object"===$(e)&&!v(e),T=e=>"regexp"===$(e),E=e=>L(["function","asyncfunction"],$(e)),_=e=>Array.isArray(e)&&"array"===$(e),S=e=>"date"===$(e),N=e=>{try{return R(e)[0]}catch(e){return}},C=e=>{try{const t=R(e);return t[t.length-1]}catch(e){return}},x=(e,t=1)=>_(e)&&w(t)?e.slice(t>0?t:1,e.length):e,A=e=>{if(_(e)){let t=0;const i=[];for(const n of e)n&&!F(n)&&(i[t++]=n);return i}return e},P=(e,t)=>e[D(e,t)],D=(e,t)=>{let i=-1;return _(e)&&e.every(((e,n)=>!t(e)||(i=n,!1))),i},L=(e,t)=>("array"===$(e)||"string"===$(e))&&e.indexOf(t)>=0,R=m,k=e=>v(e)?"":""+e,U=(e,t)=>"string"==typeof e?e.split(t):e,j=e=>{if(I(e)){const t=U(e,"");return`${N(t).toLowerCase()}${x(t).join("")}`}return e},G=(e,t)=>!!I(e)&&e.slice(0,t.length)===t,q=(e,t)=>{if(I(e)){const{length:i}=e;let n=i;n>i&&(n=i);const r=n;return n-=t.length,n>=0&&e.slice(n,r)===t}return!1},H={}.hasOwnProperty,B=(e,t)=>!v(e)&&H.call(e,t),K=e=>y(e)?Object.keys(e):[],W=(e,t)=>{K(e).forEach((i=>t(e[i],i)))},V=(e,t)=>{const i=K(e);return!(!y(e)||!y(t)||i.length!==K(t).length||L(i.map(((i,n)=>y(e[i])?V(e[i],t[i]):e[i]===t[i])),!1))},M=(e,t)=>{if(!y(e))return!1;try{return"string"===$(t)?delete e[t]:"array"===$(t)?t.map((t=>delete e[t])):(T(t)&&K(e).forEach((i=>{t.test(i)&&M(e,i)})),!0)}catch(e){return!1}},F=e=>_(e)?0===e.length:y(e)?0===K(e).length:!e,$=e=>({}.toString.call(e).slice(8,-1).toLowerCase());var z=Object.freeze({__proto__:null,isNil:v,isString:I,isNumber:w,isNaN:O,isBoolean:b,isObject:y,isRegExp:T,isFunction:E,isArray:_,isDate:S,fixed:(e,t)=>w(e)?Number(e.toFixed(w(t)?t:2)):I(e)&&"NaN"!==k(Number(e))?Number(Number(e).toFixed(w(t)?t:2)):e,head:N,last:C,drop:x,dropWhile:(e,t)=>_(e)?e.filter((e=>!t(e))):e,compact:A,find:P,findIndex:D,includes:L,arrayFrom:R,toString:k,split:U,lowerFirst:j,upperFirst:e=>{if(I(e)){const t=U(e,"");return`${N(t).toUpperCase()}${x(t).join("")}`}return e},startsWith:G,endsWith:q,has:B,keys:K,forEach:W,isEqual:V,get:(e,t,i)=>{let n=e;return y(e)?(t.split(".").forEach((e=>{n=n?n[e]:i})),n):i},unset:M,isEmpty:F,typeOf:$,formatDate:e=>{if(S(e)){const t=e=>10>e?"0"+e:e;return e.getFullYear()+"-"+t(e.getMonth()+1)+"-"+t(e.getDate())+" "+t(e.getHours())+":"+t(e.getMinutes())+":"+t(e.getSeconds())+"."+t(e.getMilliseconds())}return e}});const X=(e,t)=>{console.log("%c [GrowingIO]:"+e,{info:"color: #3B82F6;",error:"color: #EF4444;",warn:"color: #F59E0B;",success:"color: #10B981;"}[t]||"")},J=e=>{try{return e()}catch(e){return}},Z=e=>{const t={};return y(e)&&W(e,((e,i)=>{var n;const r=k(i).slice(0,100);y(e)?t[r]=Z(e):_(e)?(t[r]=e.slice(0,100),"cdp"===(null===(n=window.vds)||void 0===n?void 0:n.gioEnvironment)&&(t[r]=t[r].join("||").slice(0,1e3))):t[r]=v(e)?"":k(e).slice(0,1e3)})),t},Y=(e,t,i,n={})=>{document.addEventListener?e.addEventListener(t,i,Object.assign(Object.assign({},{capture:!0}),n)):e.attachEvent?e.attachEvent("on"+t,i):e["on"+t]=i},Q=(e,t)=>I(e)&&!F(e)&&e.match(/^[a-zA-Z_][0-9a-zA-Z_]{0,100}$/)?t():(X("事件名格式不正确,只能包含数字、字母和下划线,且不能以数字开头,字符总长度不能超过100!","error"),!1);var ee=Object.freeze({__proto__:null,consoleText:X,niceTry:J,limitObject:Z,addListener:Y,flattenObject:(e={})=>{const t=Object.assign({},e);return K(t).forEach((e=>{y(t[e])?(K(t[e]).forEach((i=>{t[`${e}_${i}`]=k(t[e][i])})),M(t,e)):_(t[e])?(t[e].forEach(((i,n)=>{y(i)?K(i).forEach((r=>{t[`${e}_${n}_${r}`]=k(i[r])})):t[`${e}_${n}`]=k(i)})),M(t,e)):v(t[e])||""===t[e]?M(t,e):t[e]=k(t[e])})),Z(t)},eventNameValidate:Q,getGioFunction:()=>{var e,t,i,n;const r=window._gio_local_vds||"vds",s=null!==(t=null===(e=window[r])||void 0===e?void 0:e.namespace)&&void 0!==t?t:"gdp";return E(window[s])?window[s]:null!==(n=null!==(i=window.gdp)&&void 0!==i?i:window.gio)&&void 0!==n?n:function(){}}});const te=e=>I(e)&&e.length>0||w(e)&&e>0,ie=/^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/i,ne=/^(https?:\/\/)|(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i;function re(e){for(var t=1;arguments.length>t;t++){var i=arguments[t];for(var n in i)e[n]=i[n]}return e}var se=function e(t,i){function n(e,n,r){if("undefined"!=typeof document){"number"==typeof(r=re({},i,r)).expires&&(r.expires=new Date(Date.now()+864e5*r.expires)),r.expires&&(r.expires=r.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var s="";for(var o in r)r[o]&&(s+="; "+o,!0!==r[o]&&(s+="="+r[o].split(";")[0]));return document.cookie=e+"="+t.write(n,e)+s}}return Object.create({set:n,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var i=document.cookie?document.cookie.split("; "):[],n={},r=0;r<i.length;r++){var s=i[r].split("="),o=s.slice(1).join("=");try{var a=decodeURIComponent(s[0]);if(n[a]=t.read(o,a),e===a)break}catch(e){}}return e?n[e]:n}},remove:function(e,t){n(e,"",re({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,re({},this.attributes,t))},withConverter:function(t){return e(re({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(i)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});const oe=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})),ae=e=>q(e,"_gioenc")?e.slice(0,-7):e,de=e=>O(Number(e))&&J((()=>JSON.parse(e)))||e,ce={A:1,a:1,Z:1,z:1,"@":1,"{":1},le=e=>v(e)?e:J((()=>"gioenc-"+ue(e)))||e,he=e=>I(e)&&G(e,"gioenc-")&&J((()=>ue(e.replace("gioenc-",""))))||e,ue=e=>(e=e||"").split("").map((e=>ce[e]?e:ge(e))).join(""),ge=e=>{if(/[0-9]/.test(e))return 1^+e;{let t=e.charCodeAt(0);return String.fromCharCode(1^t)}};class pe{constructor(e){this.domain=e,this.getItem=e=>de(he(se.get(ae(e),{domain:this.domain,path:"/"}))),this.setItem=(e,t,i)=>{let n;n=I(t)?t.length?q(e,"_gioenc")?le(t):t:"":JSON.stringify(t),se.set(ae(e),n,{expires:i?new Date(i):3650,domain:this.domain,path:"/"})},this.removeItem=e=>{se.remove(ae(e),{domain:this.domain,path:"/"})},this.hasItem=e=>L(K(se.get()),ae(e)),this.getKeys=()=>K(se.get()),this.type="Cookie"}}class fe{constructor(){this.getItem=e=>{const t=J((()=>JSON.parse(localStorage.getItem(ae(e))||"")))||{};return y(t)&&t.expiredAt>+Date.now()?de(he(t.value)):void 0},this.setItem=(e,t,i)=>{const n=null!=i?i:+new Date(9999,12);localStorage.setItem(ae(e),JSON.stringify({value:I(t)&&t.length&&q(e,"_gioenc")?le(t):t,expiredAt:n}))},this.removeItem=e=>localStorage.removeItem(ae(e)),this.hasItem=e=>!!localStorage.getItem(ae(e)),this.getKeys=()=>R(Array(localStorage.length)).map(((e,t)=>localStorage.key(t))),this.type="localStorage"}}const me={};class ve{constructor(){this.getItem=e=>{const t=J((()=>JSON.parse(me[ae(e)]||"")));return y(t)&&t.expiredAt>+Date.now()?de(he(t.value)):void 0},this.setItem=(e,t,i)=>{const n=null!=i?i:+new Date(9999,12);me[ae(e)]=JSON.stringify({value:I(t)&&t.length?le(t):t,expiredAt:n})},this.removeItem=e=>M(me,ae(e)),this.hasItem=e=>B(me,ae(e)),this.getKeys=()=>K(me),this.type="memory"}}let Ie;const we=/^(\.ac\.|\.br\.|\.co\.|\.com\.|\.edu\.|\.gov\.|\.org\.|\.net\.)/,Oe=e=>{const t=[];try{const i=e.split("."),n=C(i);if(i.length>=2&&(isNaN(Number(n))||0>Number(n)||Number(n)>255)){const e="."+i.slice(-2).join(".");we.test(e)?Ie=e:t.push(e);const n="."+i.slice(-3).join(".");we.test(n)||L(t,n)||t.push(n);const r="."+i.slice(-4).join(".");we.test(r)||L(t,r)||t.push(r)}}catch(e){}return t},be=e=>{let t="";return e.every((e=>!ye(e)||(t=e,!1))),t},ye=e=>{try{se.set("gioCookie","yes",{domain:e});const t=!!se.get("gioCookie",{domain:e});return se.remove("gioCookie",{domain:e}),t}catch(e){return!1}},Te=e=>{let t,i,n,{storageType:r,cookieDomain:s,projectId:o}=e;if(L(["cookie","localstorage"],r)||(r="cookie"),"cookie"===r&&(n=navigator.userAgent.indexOf("Electron")>-1||L(["","localhost","127.0.0.1"],window.location.hostname)||!L(["http:","https:"],window.location.protocol)?"":be([...Oe(window.location.hostname),window.location.hostname]),i=!!n),"cookie"===r&&i){const e=new pe(n);if(s){let t=Oe(s);const i=be(F(t)?[]:[s,...Oe(s)]);i&&ye(i)?e.domain=i:X("指定Cookie域无效或无权限,使用默认域!","warn")}t=e}else t=(()=>{try{const e=window.localStorage,t="__storage_test__";return e.setItem(t,t),e.removeItem(t),!0}catch(e){return!1}})()?new fe:new ve;return"cookie"===r&&Ie&&ye(Ie)&&((e,t,i)=>{if(t&&ye(t)){let n=new pe(t);[i+"_gdp_session_id","gdp_user_id_gioenc",i+"_gdp_cs1_gioenc",i+"_gdp_user_key_gioenc",i+"_gdp_gio_id_gioenc",i+"_gdp_sequence_ids",i+"_gdp_session_id_sent"].forEach((t=>{const i=n.getItem(t);n.hasItem(t)&&(e.setItem(t,i),n.removeItem(t))})),n=void 0}})(t,Ie,o),t};var Ee="OPTION_INITIALIZED",_e="SDK_INITIALIZED",Se="SESSIONID_UPDATE",Ne="SET_USERID",Ce="SET_USERKEY",xe={name:"gioCompress",method:class{constructor(e){this.growingIO=e,this._compress=(e,t,i)=>{if(null===e)return"";let n,r,s,o={},a={},d="",c="",l="",h=2,u=3,g=2,p=[],f=0,m=0;for(s=0;s<e.length;s+=1)if(d=e.charAt(s),{}.hasOwnProperty.call(o,d)||(o[d]=u++,a[d]=!0),c=l+d,{}.hasOwnProperty.call(o,c))l=c;else{if({}.hasOwnProperty.call(a,l)){if(256>l.charCodeAt(0)){for(n=0;g>n;n++)f<<=1,m===t-1?(m=0,p.push(i(f)),f=0):m++;for(r=l.charCodeAt(0),n=0;8>n;n++)f=f<<1|1&r,m===t-1?(m=0,p.push(i(f)),f=0):m++,r>>=1}else{for(r=1,n=0;g>n;n++)f=f<<1|r,m===t-1?(m=0,p.push(i(f)),f=0):m++,r=0;for(r=l.charCodeAt(0),n=0;16>n;n++)f=f<<1|1&r,m===t-1?(m=0,p.push(i(f)),f=0):m++,r>>=1}h--,0===h&&(h=Math.pow(2,g),g++),delete a[l]}else for(r=o[l],n=0;g>n;n++)f=f<<1|1&r,m===t-1?(m=0,p.push(i(f)),f=0):m++,r>>=1;h--,0===h&&(h=Math.pow(2,g),g++),o[c]=u++,l=d+""}if(""!==l){if({}.hasOwnProperty.call(a,l)){if(256>l.charCodeAt(0)){for(n=0;g>n;n++)f<<=1,m===t-1?(m=0,p.push(i(f)),f=0):m++;for(r=l.charCodeAt(0),n=0;8>n;n++)f=f<<1|1&r,m===t-1?(m=0,p.push(i(f)),f=0):m++,r>>=1}else{for(r=1,n=0;g>n;n++)f=f<<1|r,m===t-1?(m=0,p.push(i(f)),f=0):m++,r=0;for(r=l.charCodeAt(0),n=0;16>n;n++)f=f<<1|1&r,m===t-1?(m=0,p.push(i(f)),f=0):m++,r>>=1}h--,0===h&&(h=Math.pow(2,g),g++),delete a[l]}else for(r=o[l],n=0;g>n;n++)f=f<<1|1&r,m===t-1?(m=0,p.push(i(f)),f=0):m++,r>>=1;h--,0===h&&(h=Math.pow(2,g),g++)}for(r=2,n=0;g>n;n++)f=f<<1|1&r,m===t-1?(m=0,p.push(i(f)),f=0):m++,r>>=1;for(;;){if(f<<=1,m===t-1){p.push(i(f));break}m++}return p.join("")},this.compress=e=>{const t=this;return this._compress(e,16,(function(e){return t.f(e)}))},this.compressToUTF16=e=>{const t=this;return null===e?"":this._compress(e,15,(function(e){return t.f(e+32)}))+" "},this.compressToUint8Array=e=>{const t=this.compress(e),i=new Uint8Array(2*t.length);for(let e=0,n=t.length;n>e;e++){const n=t.charCodeAt(e);i[2*e]=n>>>8,i[2*e+1]=n%256}return i},this.compressToEncodedURIComponent=e=>{if(null===e)return"";const t=this;return this._compress(e,6,(function(e){return t.keyStrUriSafe.charAt(e)}))},this.f=String.fromCharCode,this.keyStrUriSafe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$"}}},Ae={name:"gioCustomTracking",method:class{constructor(e){this.growingIO=e,this.getValidResourceItem=e=>{if(e&&y(e)&&e.id&&e.key){const t={id:I(e.id)?e.id:k(e.id),key:I(e.key)?e.key:k(e.key)};return e.attributes&&(t.attributes=e.attributes),t}},this.getDynamicAttributes=e=>(v(e)||K(e).forEach((t=>{E(e[t])?e[t]=e[t]():y(e[t])?M(e,t):_(e[t])||(e[t]=k(e[t]))})),e),this.buildCustomEvent=(e,t,i,n)=>{Q(e,(()=>{const{dataStore:{eventContextBuilder:r,eventConverter:s,currentPage:o}}=this.growingIO;let a=Object.assign({eventType:"CUSTOM",eventName:e,pageShowTimestamp:null==o?void 0:o.time,attributes:Z(this.getDynamicAttributes(y(t)&&!F(t)?t:void 0)),resourceItem:Z(this.getValidResourceItem(i))},r());F(n)||(a=Object.assign(Object.assign({},a),n)),s(a)}))},this.buildUserAttributesEvent=(e,t)=>{const{dataStore:{eventContextBuilder:i,eventConverter:n}}=this.growingIO;let r=Object.assign({eventType:"LOGIN_USER_ATTRIBUTES",attributes:Z(e)},i());F(t)||(r=Object.assign(Object.assign({},r),t)),n(r)}}}},Pe={},De={}.hasOwnProperty;function Le(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function Re(e){try{return encodeURIComponent(e)}catch(e){return null}}Pe.stringify=function(e,t){t=t||"";var i,n,r=[];for(n in"string"!=typeof t&&(t="?"),e)if(De.call(e,n)){if((i=e[n])||null!=i&&!isNaN(i)||(i=""),n=Re(n),i=Re(i),null===n||null===i)continue;r.push(n+"="+i)}return r.length?t+r.join("&"):""},Pe.parse=function(e){for(var t,i=/([^=?#&]+)=?([^&]*)/g,n={};t=i.exec(e);){var r=Le(t[1]),s=Le(t[2]);null===r||null===s||r in n||(n[r]=s)}return n};const ke={gioprojectid:"projectId",giodatacollect:"dataCollect",gioappid:"domain",giodatasourceid:"dataSourceId",gios:"sessionId",giou:"uid",giocs1:"userId",gioid:"gioId",giouserkey:"userKey",gioappchannel:"appChannel",giodevicebrand:"deviceBrand",giodevicemodel:"deviceModel",giodevicetype:"deviceType",giolanguage:"language",gionetworkstate:"networkState",giooperatingsystem:"operatingSystem",gioplatform:"platform",gioplatformversion:"platformVersion",gioscreenheight:"screenHeight",gioscreenwidth:"screenWidth"},Ue=["giodatasourceid","gioplatform","gioappchannel","giodevicebrand","giodevicemodel","giodevicetype","giolanguage","gionetworkstate","giooperatingsystem","gioplatformversion","gioscreenheight","gioscreenwidth"],je=["giocs1","gios","giou","gioid","giouserkey"],Ge="gio_search_cookie_gioenc";var qe={name:"gioEmbeddedAdapter",method:class{constructor(e){this.growingIO=e,this.main=()=>{var e;const{projectId:t,appId:i}=this.growingIO.vdsConfig,n=this.getGQS();let r=!1;return"none"!==this.qsFrom&&n.gioprojectid===t&&n.gioappid===i&&(F(n)?this.growingIO.storage.removeItem(Ge):this.growingIO.storage.setItem(Ge,Pe.stringify(n)),B(n,"giodatacollect")&&(this.growingIO.vdsConfig.dataCollect=L(["true",!0],n.giodatacollect)),null===(e=this.growingIO.emitter)||void 0===e||e.on("SDK_INITIALIZED",(()=>{const{userStore:e,vdsConfig:{sessionExpires:t},dataStore:{eventContextBuilderInst:i}}=this.growingIO;je.forEach((t=>{var i;e[ke[t]]=null!==(i=n[t])&&void 0!==i?i:""})),window.setInterval((()=>{e.sessionId=n.gios}),.8*t*60*1e3),Ue.forEach((e=>{B(n,e)&&(i.minpExtraParams[ke[e]]=n[e])}))})),this.growingIO.setUserId=()=>{},this.growingIO.clearUserId=()=>{},B(n,"giodatacollect")&&(this.growingIO.setDataCollect=()=>{},this.growingIO.setOption=()=>{}),r=!0),this.gioURLRewrite(),r},this.getGQS=()=>{const{hashtag:e}=this.growingIO.vdsConfig,t=this.growingIO.storage.getItem(Ge),i=window.location.search,n=window.location.hash,r=e?n.substring(n.indexOf("?")+1):"",s=Pe.parse(i),o=Pe.parse(r),a=Pe.parse((t||"").replace("gioenc-",""));let d={};if(B(s,"gioprojectid"))d=s,this.qsFrom="search";else if(B(o,"gioprojectid"))d=o,this.qsFrom="hash";else{if(!B(a,"gioprojectid"))return this.qsFrom="none",{};d=a,this.qsFrom="cookie"}const c={},l={},h=["gioappid","gioprojectid","giodatacollect",...je,...Ue];return K(d).forEach((e=>{const t=e.toLowerCase();L(h,t)?L(["","undefined","null",void 0,null],d[e])||(c[t]=d[e],L(["true","TRUE",!0],d[e])&&(c[t]=!0),L(["false","FALSE",!1],d[e])&&(c[t]=!1)):l[e]=d[e]})),this.gqs=c,this.ngqs=l,c},this.gioURLRewrite=()=>{const{hashtag:e}=this.growingIO.vdsConfig;let t=window.location.search,i=window.location.hash,n=!1;if("search"===this.qsFrom&&(t=Pe.stringify(this.ngqs,!0),n=!0),e&&"hash"===this.qsFrom&&(i=`${i.split("?")[0]}${Pe.stringify(this.ngqs,!0)}`,n=!0),n){const e=`${window.location.pathname}${t||""}${i||""}`;window.history.replaceState(null,document.title,e)}},this.gqs={},this.ngqs={},this.qsFrom="search",this.growingIO.emitter.on(Ee,(()=>{this.growingIO.useEmbeddedInherit=this.main()}))}}},He={},Be={};!function(e){var t=f&&f.__spreadArray||function(e,t,i){if(i||2===arguments.length)for(var n,r=0,s=t.length;s>r;r++)!n&&r in t||(n||(n=[].slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||[].slice.call(t))};Object.defineProperty(e,"__esModule",{value:!0}),e.GROWING_TITLE_OLD=e.GROWING_TITLE=e.GROWING_GTITLE=e.GROWING_CDP_INDEX=e.GROWING_INDEX_OLD=e.GROWING_INDEX=e.GROWING_CONTAINER=e.GROWING_TRACK=e.GROWING_IGNORE=e.VALID_CLASS_SELECTOR=e.VALID_ID_SELECTOR=e.EXCLUDE_CLASS_RE=e.UNSUPPORTED_TAGS=e.TEXT_NODE=e.UNSUPPORTED_CLICK_TAGS=e.SUPPORTED_ICON_TAGS=e.SUPPORTED_CHANGE_TYPES=e.SUPPORTED_CLICK_INPUT_TYPES=e.SUPPORTED_CONTAINER_TAGS=e.LIST_TAGS=void 0,e.LIST_TAGS=["TR","LI","DL"],e.SUPPORTED_CONTAINER_TAGS=t(["A","BUTTON"],e.LIST_TAGS,!0),e.SUPPORTED_CLICK_INPUT_TYPES=["button","submit","reset"],e.SUPPORTED_CHANGE_TYPES=["radio","checkbox","search"],e.SUPPORTED_ICON_TAGS=["I","EM","svg","IMG"],e.UNSUPPORTED_CLICK_TAGS=["TEXTAREA","HTML","BODY"],e.TEXT_NODE=["I","SPAN","EM","B","STRONG"],e.UNSUPPORTED_TAGS=["tspan","text","g","rect","path","defs","clippath","desc","title","math","use"],e.EXCLUDE_CLASS_RE=/(^| |[^ ]+\-)(clear|clearfix|active|hover|enabled|current|selected|unselected|hidden|display|focus|disabled|undisabled|open|checked|unchecked|undefined|null|ng-|growing-)[^\. ]*/g,e.VALID_ID_SELECTOR=/^[a-zA-Z-\_][a-zA-Z\-\_0-9]+$/,e.VALID_CLASS_SELECTOR=/^([a-zA-Z\-\_0-9]+)$/,e.GROWING_IGNORE="data-growing-ignore",e.GROWING_TRACK="data-growing-track",e.GROWING_CONTAINER="data-growing-container",e.GROWING_INDEX="data-growing-index",e.GROWING_INDEX_OLD="data-growing-idx",e.GROWING_CDP_INDEX="data-index",e.GROWING_GTITLE="data-growing-title",e.GROWING_TITLE="data-title",e.GROWING_TITLE_OLD="growing-title"}(Be);var Ke={},We={};Object.defineProperty(We,"__esModule",{value:!0}),We.lastFindIndex=We.findIndex=We.arrayEquals=We.rmBlank=We.normalizePath=We.splitNoEmpty=We.filterText=void 0,We.filterText=function(e,t){if(void 0===t&&(t=!0),e&&(null==(e=e.replace(/[\n \t]+/g," ").trim())?void 0:e.length))return e.slice(0,t?50:void 0)},We.splitNoEmpty=function(e,t){return e?e.split(t).filter((function(e){return!!e})):[]},We.normalizePath=function(e){var t=e.length;return t>1&&"/"===e.charAt(t-1)?e.slice(0,t-1):e},We.rmBlank=function(e){return e?e.replace(/[\n \t]+/g,""):""},We.arrayEquals=function(e,t){if(!e||!t)return!1;if(e.length!==t.length)return!1;for(var i=0,n=e.length;n>i;i++)if(e[i]!==t[i])return!1;return!0},We.findIndex=function(e,t){if(null==e||"function"!=typeof t)return-1;for(var i=0;i<e.length;i++){var n=e[i];if(t.call(void 0,n))return i}return-1},We.lastFindIndex=function(e,t){if(null==e||"function"!=typeof t)return-1;for(var i=e.length-1;i>=0;i--){var n=e[i];if(t.call(void 0,n))return i}return-1},function(e){var t=f&&f.__spreadArray||function(e,t,i){if(i||2===arguments.length)for(var n,r=0,s=t.length;s>r;r++)!n&&r in t||(n||(n=[].slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||[].slice.call(t))},i=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.removeDiffTagOnHeadAndTail=e.computeXpath=e.getMarkIndex=e.getEffectiveNode=e.isIgnore=e.depthInside=e.changeableInput=e.clickableInput=e.onlyContainsTextChildren=e.onlyContainsIconChildren=e.supportIconTag=e.isContainerTag=e.isListTag=e.isParentOfLeaf=e.isLeaf=e.getChildren=e.getDeepChildren=e.findParent=e.isRootNode=e.hasValidAttribute=void 0;var n=We,r=Be,s=i(m);e.hasValidAttribute=function(e,t){return e instanceof Element&&e.hasAttribute(t)&&"false"!==e.getAttribute(t)},e.isRootNode=function(e){return!e||-1!==["BODY","HTML","#document"].indexOf(e.nodeName)},e.findParent=function(t,i){for(var n=t.parentNode;n&&!(0,e.isRootNode)(n);){if(i(n))return n;n=n.parentNode}},e.getDeepChildren=function(i){return(0,s.default)((null==i?void 0:i.childNodes)||[]).reduce((function(i,n){return n instanceof Element?t(t(t([],i,!0),[n],!1),(0,e.getDeepChildren)(n),!0):i}),[])},e.getChildren=function(e){return(0,s.default)((null==e?void 0:e.childNodes)||[]).filter((function(e){return e instanceof Element}))},e.isLeaf=function(t){return!t.hasChildNodes()||"svg"===t.nodeName||0===(0,e.getChildren)(t).length},e.isParentOfLeaf=function(t){return!(!t.hasChildNodes()||"svg"===t.nodeName)&&0===(0,s.default)(t.childNodes).filter((function(t){return!(0,e.isLeaf)(t)})).length},e.isListTag=function(e){return-1!==r.LIST_TAGS.indexOf(e.nodeName)},e.isContainerTag=function(t){return(0,e.hasValidAttribute)(t,r.GROWING_CONTAINER)||-1!==r.SUPPORTED_CONTAINER_TAGS.indexOf(t.nodeName)},e.supportIconTag=function(e){var t=e.nodeName;return-1!==r.SUPPORTED_ICON_TAGS.indexOf(t)},e.onlyContainsIconChildren=function(t){if(t.textContent)return!1;var i=(0,e.getChildren)(t);if(0===i.length)return!1;for(var n=0,r=i;n<r.length;n++){var s=r[n];if(!(0,e.supportIconTag)(s)&&"SPAN"!==s.nodeName)return!1}return!0},e.onlyContainsTextChildren=function(t){return 0!==(0,e.getChildren)(t).length&&!(0,e.getDeepChildren)(t).map((function(e){return e.tagName})).some((function(e){return-1===r.TEXT_NODE.indexOf(e)}))},e.clickableInput=function(e){return e instanceof HTMLInputElement&&"INPUT"===e.tagName&&-1!==r.SUPPORTED_CLICK_INPUT_TYPES.indexOf(e.type)},e.changeableInput=function(e){return e instanceof HTMLInputElement&&"INPUT"===e.tagName&&-1!==r.SUPPORTED_CHANGE_TYPES.indexOf(e.type)},e.depthInside=function(t,i,n){if(void 0===i&&(i=4),void 0===n&&(n=1),n>i)return!1;for(var r="svg"===t.tagName?[]:(0,e.getChildren)(t),s=0;s<r.length;s++){var o=r[s];if(!(0,e.depthInside)(o,i,n+1))return!1}return i>=n},e.isIgnore=function(t){if(!(t instanceof Element)||(0,e.hasValidAttribute)(t,r.GROWING_IGNORE))return!0;for(var i=t.parentNode;i&&!(0,e.isRootNode)(i);){if((0,e.hasValidAttribute)(i,r.GROWING_IGNORE))return!0;i=i.parentNode}return!1},e.getEffectiveNode=function(t){for(var i,n;t&&(n=void 0,!((i=t)instanceof Element&&-1===r.UNSUPPORTED_TAGS.indexOf(null===(n=i.tagName)||void 0===n?void 0:n.toLowerCase())))&&t.parentNode;)t=t.parentNode;var s,o=t.parentNode;return!(0,e.isRootNode)(o)&&((0,e.onlyContainsIconChildren)(o)||"BUTTON"===(s=o).tagName&&(0,e.onlyContainsTextChildren)(s))?o:t},e.getMarkIndex=function(e){if(e instanceof Element){var t=e.getAttribute(r.GROWING_INDEX)||e.getAttribute(r.GROWING_INDEX_OLD)||e.getAttribute(r.GROWING_CDP_INDEX);if(t){if(/^\d{1,10}$/.test(t)&&+t>=0&&2147483647>+t)return+t;window.console.error("[GioNode]:标记的index不符合规范(index必须是大于等于0且小于2147483647的整数字)。",t)}}},e.computeXpath=function(e){for(var t=e.parentPaths(!0),i=Math.min(t.length,+(t.length>=10)+4),n=["","",""],r=0;r<t.length;r++){var s=t[r].path,o=t[r].name;n[0]=s+n[0],n[2]="/".concat(o)+n[2],i>r&&(n[1]=s+n[1])}return n},e.removeDiffTagOnHeadAndTail=function(e,t){var i=function(e){return e.nodeName===t.nodeName},r=(0,n.findIndex)(e,i),s=(0,n.lastFindIndex)(e,i);return-1===r||-1===s?[]:e.slice(r,s+1)}}(Ke);var Ve={},Me={};Object.defineProperty(Me,"__esModule",{value:!0});var Fe=Be,$e=We,ze=Ke;function Xe(e){var t;if(e instanceof Element){var i=e.getAttribute("name");if(i)return[i];if(e.hasAttribute("class")){var n=null===(t=e.getAttribute("class"))||void 0===t?void 0:t.replace(Fe.EXCLUDE_CLASS_RE,"").trim();if(null==n?void 0:n.length)return n.split(/\s+/).filter((function(e){return Fe.VALID_CLASS_SELECTOR.test(e)&&!e.match(/[a-z][A-Z][a-z][A-Z]/)&&!e.match(/[0-9][0-9][0-9][0-9]/)})).sort()}}return[]}var Je=function(){function e(e){var t;this.node=e,this.tagName=this.node.nodeName,this.name=this.tagName.toLowerCase(),this.id=(t=this.node).id&&Fe.VALID_ID_SELECTOR.test(t.id)?t.id:null,this.classList=Xe(this.node),this.guessListAndIndex()}return e.prototype.guessListAndIndex=function(){var e,t=this;this._tagList=(0,ze.isListTag)(this.node);var i=(0,ze.removeDiffTagOnHeadAndTail)((0,ze.getChildren)(this.node.parentNode),this.node);if(this._tagList&&-1!==(s=i.filter((function(e){return e.tagName===t.tagName})).indexOf(this.node))&&(this._index=s+1),i.length>=3&&(null===(e=this.classList)||void 0===e?void 0:e.length)){for(var n=0,r=0,s=1;s<=i.length;s++){var o=i[s-1];if(o.tagName!==this.tagName){r=0;break}(0,$e.arrayEquals)(this.classList,Xe(o))&&(r+=1),this.node===o&&(n=s)}3>r||(this._pseudoList=!0,this._index=this._index||n)}},Object.defineProperty(e.prototype,"path",{get:function(){var e;return this._path||(this._path="/".concat(this.name),this.id&&(this._path+="#".concat(this.id)),(null===(e=this.classList)||void 0===e?void 0:e.length)&&(this._path+=".".concat(this.classList.join(".")))),this._path},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pseudoList",{get:function(){return!!this._pseudoList},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"list",{get:function(){return!!this._tagList||!!this._pseudoList},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"index",{get:function(){var e;return null!==(e=(0,ze.getMarkIndex)(this.node))&&void 0!==e?e:this._index},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"container",{get:function(){return(0,ze.isContainerTag)(this.node)||this.list},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this.node.parentNode?new e(this.node.parentNode):null},enumerable:!1,configurable:!0}),e.prototype.parentPaths=function(e){void 0===e&&(e=!1);for(var t=e?[this]:[],i=this.parent;i&&!(0,ze.isRootNode)(i.node);)t.push(i),i=i.parent;return t},e}();Me.default=Je;var Ze={};Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.getElementHref=Ze.getImgHref=Ze.getAnchorHref=void 0;var Ye=We;function Qe(e){if(e.hasAttribute("href")){var t=e.getAttribute("href");if(t&&0!==t.indexOf("javascript"))return(0,Ye.normalizePath)(t.slice(0,320))}}function et(e){if(e.src&&-1===e.src.indexOf("data:image"))return e.src}Ze.getAnchorHref=Qe,Ze.getImgHref=et,Ze.getElementHref=function(e){var t=e;if(t)switch(e.nodeName.toLowerCase()){case"a":return Qe(t);case"img":return et(t)}};var tt={},it=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(tt,"__esModule",{value:!0}),tt.getElementContent=tt.getFormContent=void 0;var nt=Ke,rt=Ze,st=Be,ot=it(Me),at=We,dt=it(m),ct=function(e){return e.htmlFor||e.getAttribute("for")},lt=function(e){var t=e.getAttribute(st.GROWING_GTITLE)||e.getAttribute(st.GROWING_TITLE)||e.getAttribute(st.GROWING_TITLE_OLD)||e.getAttribute("title");return null==t?void 0:t.trim()};function ht(e){var t=e.node;return e.list?ut(t):(0,at.filterText)(t.textContent)||void 0}function ut(e){for(var t=void 0,i=!1,n=0,r=(0,dt.default)(e.childNodes);n<r.length;n++){var s=r[n];if(s.nodeType===Node.TEXT_NODE){var o=(0,at.filterText)(s.textContent);if(o)return o}if(s.nodeType===Node.ELEMENT_NODE&&-1===["INPUT","SELECT"].indexOf(s.nodeName)){if(new ot.default(s).pseudoList)return;i=(0,nt.onlyContainsIconChildren)(s)||(0,nt.supportIconTag)(s);var a=pt(s);if(i)t=a,i=!1;else if(a||(a=ut(s)),a)return a}}return t}function gt(e){for(var t=e.getElementsByTagName("input"),i=0,n=(0,dt.default)(t);i<n.length;i++){var r=n[i];if(("search"===r.type||"text"===r.type&&("q"===r.id||-1!==r.id.indexOf("search")||"q"===r.name||-1!==r.name.indexOf("search")))&&!(0,nt.isIgnore)(r)){var s=pt(r);if(s)return s}}}function pt(e){return function(e){var t=e;if(t){var i=lt(t);if(i)return i;var n,r,s,o=new ot.default(e);switch(e.nodeName.toLowerCase()){case"a":return function(e){if(((0,nt.isLeaf)(e)||(0,nt.onlyContainsIconChildren)(e))&&e.textContent){var t=(0,at.filterText)(e.textContent);if(t)return t}var i=(0,rt.getAnchorHref)(e);if(i){var n=i.indexOf("?");return n>-1?i.slice(0,n):i}}(t);case"svg":return function(e){for(var t=0,i=(0,dt.default)(e.childNodes);t<i.length;t++){var n=i[t];if(n.nodeType===Node.ELEMENT_NODE&&"use"===n.tagName.toLowerCase()&&n.hasAttribute("xlink:href"))return n.getAttribute("xlink:href")}}(t);case"button":return(null===(s=(r=t).name)||void 0===s?void 0:s.length)?r.name:(0,at.filterText)(r.textContent)||ut(r);case"img":return function(e){if(e.alt)return e.alt;var t=(0,rt.getImgHref)(e);if(t){var i=t.split("?")[0].split("/");if(i.length>0)return i[i.length-1]}}(t);case"label":return ht(o);case"input":return function(e){if((0,nt.clickableInput)(e))return e.value;if("password"!==e.type&&(0,nt.hasValidAttribute)(e,st.GROWING_TRACK))return e.value;if((0,nt.changeableInput)(e)){var t=(0,nt.findParent)(e,(function(e){return"LABEL"===e.nodeName}));if(!t&&e.id)for(var i=document.body.getElementsByTagName("label"),n=0;n<i.length;n++){var r=i[n];if(ct(r)===e.id){t=r;break}}if(t){var s=ht(new ot.default(t));if(s&&s.length>0)return s+" ("+e.checked+")"}return e.value}}(t);case"select":return n=t,(0,dt.default)(n.options).filter((function(e){return e.selected})).map((function(e){return e.label})).join(", ")||n.value;case"form":return gt(t)}return(0,nt.isLeaf)(t)?function(e){var t=(0,at.filterText)(e.textContent);if(t)return t}(t):(0,nt.isParentOfLeaf)(t)&&!(0,nt.onlyContainsIconChildren)(t)?function(e){for(var t="",i=0,n=(0,dt.default)(e.childNodes);i<n.length;i++){var r=n[i];t+=(r.nodeType===Node.TEXT_NODE&&r.textContent?r.textContent.trim():"")+" "}return(0,at.filterText)(t,!1)}(t):o.container||(0,nt.onlyContainsIconChildren)(e)?ut(t):void 0}}(e)||void 0}tt.getFormContent=gt,tt.getElementContent=pt;var ft,mt=f&&f.__extends||(ft=function(e,t){return ft=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)({}).hasOwnProperty.call(t,i)&&(e[i]=t[i])},ft(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+t+" is not a constructor or null");function i(){this.constructor=e}ft(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),vt=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ve,"__esModule",{value:!0});var It=vt(Me),wt=Ze,Ot=tt,bt=Ke,yt=function(e){function t(t){var i=e.call(this,t)||this;i.node=t;var n=(0,bt.computeXpath)(i),r=n[0],s=n[1],o=n[2];return i.fullXpath=r,i.xpath=s,i.skeleton=o,i}return mt(t,e),Object.defineProperty(t.prototype,"href",{get:function(){return(0,wt.getElementHref)(this.node)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"content",{get:function(){return(0,Ot.getElementContent)(this.node)},enumerable:!1,configurable:!0}),t}(It.default);Ve.default=yt;var Tt=f&&f.__assign||function(){return Tt=Object.assign||function(e){for(var t,i=1,n=arguments.length;n>i;i++)for(var r in t=arguments[i])({}).hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Tt.apply(this,arguments)},Et=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(He,"__esModule",{value:!0});var _t=Be,St=Ke,Nt=Et(Ve),Ct=function(){function e(e,t,i){void 0===t&&(t=null),void 0===i&&(i=!0),this.origin=e,this.action=t,this.direct=i,this.target="self"===t?e:(0,St.getEffectiveNode)(e),this.ignore=(0,St.isIgnore)(this.target),this.vnode=new Nt.default(this.target),this.tagName=this.vnode.tagName}return Object.defineProperty(e.prototype,"content",{get:function(){return this.vnode.content},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"href",{get:function(){return this.vnode.href},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"index",{get:function(){return this.vnode.index},enumerable:!1,configurable:!0}),e.prototype.inferParentIndex=function(){var t=this;return this.parentIndex||(0,St.findParent)(this.target,(function(i){var n=new e(i,t.action,!1);n.traceable()&&n.index&&(t.parentIndex=n.index)})),this.parentIndex},Object.defineProperty(e.prototype,"xpath",{get:function(){return this.vnode.xpath},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fullXpath",{get:function(){return this.vnode.fullXpath},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"skeleton",{get:function(){return this.vnode.skeleton},enumerable:!1,configurable:!0}),e.prototype.info=function(e){return void 0===e&&(e=!0),e&&this.inferParentIndex(),{skeleton:this.skeleton,fullXpath:this.fullXpath,xpath:this.xpath,content:this.content,href:this.href,index:this.parentIndex||this.index}},e.prototype.traceable=function(){if(this.ignore)return!1;if(this.direct){if("click"===this.action||"hover"===this.action){if(-1!==_t.UNSUPPORTED_CLICK_TAGS.indexOf(this.target.tagName))return!1;if("INPUT"===this.target.tagName&&!(0,St.clickableInput)(this.target))return!1;if(!(0,St.isContainerTag)(this.target)&&!(0,St.depthInside)(this.target,5))return!1}return!0}return this.vnode.container},e.prototype.trackNodes=function(){if(!this.traceable())return[];var e=[this];if("submit"!==this.action)for(var t=this.parentElement;t;){if(t.ignore)return[];t.traceable()&&e.unshift(t),t=t.parentElement}var i=void 0;return e.map((function(e){var t=e.info(!1),n=t.index;return!i&&n&&(i=n),Tt(Tt({},t),{index:i||n})}))},Object.defineProperty(e.prototype,"parentElement",{get:function(){var t=this.target.parentNode;if(t&&t.nodeName&&!(0,St.isRootNode)(t))return new e(t,this.action,!1)},enumerable:!1,configurable:!0}),e}(),xt=He.default=Ct;class At{constructor(e){this.handler=e;const t=navigator.userAgent,i=/chrome/i.exec(t),n=/android/i.exec(t);this.hasTouch="ontouchstart"in window&&!(i&&!n)}main(){const e=this.hasTouch?["touchstart"]:["mousedown"],t=this.hasTouch?["touchend","touchcancel"]:["mouseup","mouseleave"],i=this.hasTouch?["touchmove"]:["mousemove"];for(const t of e)Y(window,t,this.touchStartHandler.bind(this));for(const e of i)Y(window,e,this.touchMoveHandler.bind(this));for(const e of t)Y(window,e,this.touchStopHandler.bind(this))}touchStartHandler(e){if(e.which>1)return;const t=+Date.now();this.safeguard!==t&&(this.touchTimeout&&clearTimeout(this.touchTimeout),this.safeguard=t,this.touchEvent={time:t,target:e.target,x:this._page("x",e),y:this._page("y",e),isTrusted:!0,type:"click"})}touchMoveHandler(e){const t=Math.abs(this._page("x",e)-(this.touchEvent&&this.touchEvent.x)||0),i=Math.abs(this._page("y",e)-(this.touchEvent&&this.touchEvent.y)||0);(t>10||i>10)&&(this.touchEvent=null)}touchStopHandler(e){const t=+Date.now()-(this.touchEvent&&this.touchEvent.time)||0;this.touchEvent&&200>t?this.touchTimeout=setTimeout((()=>{this.handler(this.touchEvent),this.touchEvent=null}),200):this.touchEvent&&t>=200&&700>t&&(this.handler(this.touchEvent),this.touchEvent=null)}_page(e,t){return(this.hasTouch?t.touches[0]:t)["page"+e.toUpperCase()]}}var Pt={name:"gioEventAutoTracking",method:class{constructor(e){this.growingIO=e,this.main=()=>{Y(document,"submit",this._handleAction),Y(document,"change",this._handleAction);const{vdsConfig:e}=this.growingIO;e.touch?new At(this._handleAction).main():Y(document,"click",this._handleAction)},this._handleAction=(e,t)=>{const{vdsConfig:i,emitter:n}=this.growingIO;if(!i.autotrack)return!1;const r=e.target;if(!r)return!1;let s=new xt(r,e.type,!0).trackNodes();if("click"!==e.type&&(s=F(C(s))?[]:[C(s)]),F(s))return!1;null==n||n.emit("onComposeBefore",{event:t,params:null!=e?e:{}}),s.forEach((t=>{const{fullXpath:n,index:r,content:s,href:o}=t;if(!G(t.fullXpath||"","/div#__vconsole")&&!G(t.fullXpath||"","/div#__giokit")&&(i.debug&&console.log("Action:",e.type,Date.now()),n)){const{dataStore:{eventContextBuilder:t,eventConverter:i,currentPage:a}}=this.growingIO;i(Object.assign(Object.assign({eventType:c[e.type],element:[{xpath:n,index:r,textValue:s,hyperlink:o}]},t()),{pageShowTimestamp:a.time}))}}))}}}};let Dt;const Lt=["VIEW_CLICK","VIEW_CHANGE","FORM_SUBMIT","PAGE","CUSTOM","LOGIN_USER_ATTRIBUTES"],Rt=["LOGIN_USER_ATTRIBUTES"];var kt={name:"gioHybridAdapter",method:class{constructor(e){this.growingIO=e,this.penetrateHybrid=!0,this.onOptionsInit=()=>{const{vdsConfig:e,emitter:t}=this.growingIO;b(e.penetrateHybrid)&&(this.penetrateHybrid=e.penetrateHybrid),this._initHybridBridge()&&(this.onSendBefore=this.sendBeforeListener,this.hybridConfig.projectId===this.growingIO.vdsConfig.projectId&&(this.growingIO.useHybridInherit=!0)),this.growingIO.useHybridInherit&&(null==t||t.on(Ne,(({newUserId:e,oldUserId:t,userKey:i})=>{this.penetrateHybrid&&(!e&&t?i?this._clearNativeUserIdAndUserKey():this._clearNativeUserId():i?this._setNativeUserIdAndUserKey(k(e),k(i)):this._setNativeUserId(k(e)))})),null==t||t.on(Ce,(({newUserKey:e,oldUserKey:t,userId:i})=>{this.penetrateHybrid&&(!e&&t?this._clearNativeUserIdAndUserKey():this._setNativeUserIdAndUserKey(k(i),k(e)))})))},this._initHybridBridge=()=>{var e,t,i;let n=!1;return this.hasHybridBridge=!!window.GrowingWebViewJavascriptBridge,this.hasHybridBridge?((null===(e=null===window||void 0===window?void 0:window.GrowingWebViewJavascriptBridge)||void 0===e?void 0:e.configuration)||(window.GrowingWebViewJavascriptBridge.configuration=JSON.parse(window.GrowingWebViewJavascriptBridge.getConfiguration())),(null===(t=null===window||void 0===window?void 0:window.GrowingWebViewJavascriptBridge)||void 0===t?void 0:t.configuration)&&(this.hybridConfig=null===(i=null===window||void 0===window?void 0:window.GrowingWebViewJavascriptBridge)||void 0===i?void 0:i.configuration),n=!0):Dt.consoleText("gioHybridAdapter:当前不存在 GrowingWebViewJavascriptBridge,Web模式。","info"),n},this.sendBeforeListener=({requestData:e})=>{if(this.hasHybridBridge){const t=this.processAttributes(Object.assign({},e));M(t,"trackingId"),L(Lt,t.eventType)&&(L(Rt,t.eventType)?this.penetrateHybrid&&this._dispatchEvent(t):(this.penetrateHybrid||M(t,["userId","userKey","cs1"]),this._dispatchEvent(t)))}},this.processAttributes=e=>(W(e,((t,i)=>{y(t)||_(t)?W(e[i],((t,n)=>{y(t)||_(t)?e[i][n]=JSON.stringify(t):e[i][n]=k(t)})):e[i]=k(t)})),e),this._setNativeUserId=e=>{J((()=>window.GrowingWebViewJavascriptBridge.setNativeUserId(e)))},this._clearNativeUserId=()=>{J((()=>window.GrowingWebViewJavascriptBridge.clearNativeUserId()))},this._setNativeUserIdAndUserKey=(e,t)=>{J((()=>window.GrowingWebViewJavascriptBridge.setNativeUserIdAndUserKey(e,t)))},this._clearNativeUserIdAndUserKey=()=>{J((()=>window.GrowingWebViewJavascriptBridge.clearNativeUserIdAndUserKey()))},this._dispatchEvent=e=>{J((()=>{var t;return null===(t=window.GrowingWebViewJavascriptBridge)||void 0===t?void 0:t.dispatchEvent(JSON.stringify(e))}))};const{emitter:t,utils:i}=this.growingIO;Dt=i,t.on(Ee,this.onOptionsInit)}}};const Ut=["i","span","em","b","strong","svg"];var jt;!function(e){e[e.OUTER=0]="OUTER",e[e.INNER_COVERED=1]="INNER_COVERED",e[e.INNER_SHOW=2]="INNER_SHOW"}(jt||(jt={}));const Gt=["HR","BR","SCRIPT","NOSCRIPT","STYLE","HEAD","BASE","LINK","META","TITLE","BODY","HTML","TEMPLATE","CODE",...Be.UNSUPPORTED_CLICK_TAGS],qt=["SELECT","A","BUTTON","INPUT","IMG","FORM"],Ht=(e,t,i)=>document.elementFromPoint(t,i)===e;class Bt{constructor(e,t,i){this.node=e,this.parentNodeDesc=t,this.devicesInfo=i,this.proxy=new xt(e),this.tagName=this.node.tagName,this.name=this.tagName.toLowerCase(),this.isIgnore=!!this.node.dataset.growingIgnore,this.isUnSupported=-1!==Gt.indexOf(this.tagName),this.rect=this.computeWindowRect()}info(){const e=this.desc();e.zLevel+=this.devicesInfo.webviewZLevel;const t=this.getDeviceRect(this.rect);return M(e,"isContainer"),Object.assign(Object.assign(Object.assign({},e),t),{parentXPath:this.parentNodeDesc.isContainer?this.parentNodeDesc.xpath:void 0,href:this.proxy.href,content:this.proxy.content,nodeType:this.nodeType()})}nodeType(){return"input"!==this.name||Ke.changeableInput(this.node)?this.node.tagName:"INPUT_BTN"}desc(){return{index:this.parentNodeDesc.index||this.proxy.index,zLevel:this.zLevel(),xpath:this.proxy.fullXpath,isContainer:this.isDefinedContainer()}}cssVisible(){const e=this.computedStyle();return Number(e.opacity)>0&&"visible"===e.visibility&&"none"!==e.display}viewportStatus(){const{top:e,left:t,width:i,height:n}=this.rect,{winWidth:r,winHeight:s}=this.devicesInfo;if(0>=i||0>=n)return jt.OUTER;const o=this.node;return s>e&&r>t&&i>0&&n>0?Ht(o,t+i/2,e+n/2)||Ht(o,t+1,e+1)||Ht(o,t+i-1,e+1)||Ht(o,t+1,e+n-1)||Ht(o,t+i-1,e+n-1)?jt.INNER_SHOW:jt.INNER_COVERED:jt.OUTER}isCircleable(){return this.proxy.target===this.proxy.origin&&(!!this.isDefinedContainer()||!("input"===this.name&&this.node instanceof HTMLInputElement&&"password"===this.node.type)&&(-1!==qt.indexOf(this.name)||(Ke.isLeaf(this.node)?!this.isBigBlank():this.hasBackgroundImage()&&Ke.depthInside(this.node,4))))}isSimpleContainer(){return"select"===this.name||this.isDefaultContainer()&&(function(e,t){if(0===e.children.length)return!1;for(const i of R(e.children))if(-1===t.indexOf(i.tagName.toLowerCase()))return!1;return!0}(this.node,Ut)||!this.node.childElementCount)}isDefinedContainer(){var e;return v(this.isContainer)?this.isDefaultContainer()||this.isMarkContainer()||Ke.isParentOfLeaf(this.node)&&(!!(null===(e=this.node.innerText)||void 0===e?void 0:e.trim().length)||function(e){const t=e.attributes;if(t.length>0)for(let e=0;e<t.length;e++){const i=t[e].value;if(i&&"false"!==i)return!0}return!1}(this.node))||"select"===this.name:!!this.isContainer}isDefaultContainer(){return-1!==Be.SUPPORTED_CONTAINER_TAGS.indexOf(this.tagName)||Ke.clickableInput(this.node)}isMarkContainer(){return this.node.hasAttribute("data-growing-container")||this.node.hasAttribute("growing-container")}isBigBlank(){var e,t;const i=null!==(t=null===(e=this.node.innerText)||void 0===e?void 0:e.trim().length)&&void 0!==t?t:0,{width:n,height:r}=this.rect,{winWidth:s,winHeight:o}=this.devicesInfo;return!i&&(n>s>>1||r>o>>1)}hasBackgroundImage(){const e=this.computedStyle().backgroundImage;return!!e&&"none"!==e&&e.length>0}zLevel(){const e=this.computedStyle(),t=e.zIndex;if("auto"!==t)return Number(t||"0")+this.parentNodeDesc.zLevel;switch(e.position){case"relative":return this.parentNodeDesc.zLevel+2;case"sticky":return this.parentNodeDesc.zLevel+3;case"absolute":return this.parentNodeDesc.zLevel+4;case"fixed":return this.parentNodeDesc.zLevel+5;default:return this.parentNodeDesc.zLevel+1}}computeWindowRect(){if(this.rect)return this.rect;const e=this.node.getBoundingClientRect(),t=e.top,i=e.bottom,n=e.left;let r=e.right-n,s=i-t;return 0>t?s=t+s:t+s>this.devicesInfo.winHeight&&(s=this.devicesInfo.winHeight-t),0>n?r=n+r:n+r>this.devicesInfo.winWidth&&(r=this.devicesInfo.winWidth-n),this.rect={top:t,left:n,width:r,height:s},this.rect}computedStyle(){return window.getComputedStyle(this.node)}getDeviceRect(e){const{scale:t,webviewTop:i,webviewLeft:n}=this.devicesInfo;return{top:e.top*t+i,left:e.left*t+n,width:e.width*t,height:e.height*t}}}const Kt=["DOMContentLoaded","onreadystatechange"],Wt=["scroll","resize","load","beforeunload","popstate","hashchange","pagehide","unload"];class Vt{constructor(e){this.growingIO=e,this.addDomChangeListener()}getDomTree(e,t,i,n,r,s){const o=function(e,t,i,n,r){const s=document.documentElement.clientWidth;return{winWidth:s,winHeight:document.documentElement.clientHeight,scale:i/s,webviewTop:t,webviewLeft:e,webviewWidth:i,webviewHeight:n,webviewZLevel:r}}(e,t,i,n,r),a=this.getElementsByParent(s||document.body,{isContainer:!1,zLevel:0},o),{domain:d,path:c,query:l,title:h}=this.growingIO.dataStore.currentPage;return{page:{domain:d,path:c,query:l,title:h},elements:a}}getElementsByParent(e,t,i){const n=[];return[].slice.call(e.childNodes,0).filter((e=>1===e.nodeType)).forEach((e=>{const r=new Bt(e,t,i);if(r.cssVisible()&&!r.isIgnore){switch(r.viewportStatus()){case jt.INNER_SHOW:r.isCircleable()&&n.push(r.info());break;case jt.INNER_COVERED:r.isDefaultContainer()&&n.push(r.info())}r.isSimpleContainer()||[].push.apply(n,this.getElementsByParent(e,r.desc(),i))}})),n}addDomChangeListener(){let e;const t=(t="")=>()=>{var i;"beforeunload"===t&&e&&e.disconnect(),null===(i=window.GrowingWebViewJavascriptBridge)||void 0===i||i.onDomChanged()};e=new MutationObserver(t("mutation")),e.observe(document.body,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),Kt.forEach((e=>{Y(document,e,t(e))})),Wt.forEach((e=>{Y(window,e,t(e))}))}}class Mt{constructor(e){var t;this.growingIO=e,null===(t=this.growingIO.emitter)||void 0===t||t.on(_e,(()=>{if(window.GrowingWebViewJavascriptBridge){const e=this;window.GrowingWebViewJavascriptBridge.getDomTree=function(){if(arguments.length>=4)return Mt.bindGetDomTree(e.growingIO),Mt.domHelper.getDomTree.apply(Mt.domHelper,arguments)}}}))}static bindGetDomTree(e){this.domHelper||(this.domHelper=new Vt(e),window.GrowingWebViewJavascriptBridge.getDomTree=this.domHelper.getDomTree.bind(this.domHelper))}}var Ft={name:"gioHybridCircle",method:Mt},$t={name:"gioImpressionTracking",method:class{constructor(e){var t;this.growingIO=e,this.documentReady=!1,this.main=e=>{"listener"===e?(this.documentReady=!0,this.growingIO.gioSDKInitialized&&this.initMutationObserver()):"emitter"===e&&this.documentReady&&this.initMutationObserver()},this.initIntersectionObserver=()=>{this.intersectionObserver=new IntersectionObserver((e=>{F(e)||e.map((e=>{const{dataset:t,id:i}=e.target;if(e.intersectionRatio>0){const{eventId:e,properties:n,items:r}=this.getImpressionProperties(t);if(i){if("once"===t.gioImpType&&B(this.sentImps,i))return;this.sentImps[i]={eventId:e,properties:n,items:r}}e&&this.growingIO.track(e,n,r)}}))}))},this.initMutationObserver=()=>{var e;this.mutationObserver&&(null===(e=this.mutationObserver)||void 0===e||e.disconnect());const t=document.querySelectorAll("[data-gio-imp-track]");R(t).map((e=>{var t;null===(t=this.intersectionObserver)||void 0===t||t.observe(e)})),this.mutationObserver=new MutationObserver((e=>{e.map((e=>{var t,i;"attributes"===e.type&&(null===(t=e.target.dataset)||void 0===t?void 0:t.gioImpTrack)&&(null===(i=this.intersectionObserver)||void 0===i||i.observe(e.target))}))})),this.mutationObserver.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeOldValue:!0,attributeFilter:["data-gio-imp-track","data-gio-imp-attrs","data-gio-imp-items",/^data-gio-track-[a-z]+$/i]})},this.getImpressionProperties=e=>{let t={eventId:void 0,properties:{}};if(!(null==e?void 0:e.gioImpTrack))return t;if(t.eventId=e.gioImpTrack,B(e,"gioImpAttrs"))t.properties=J((()=>y(e.gioImpAttrs)?e.gioImpAttrs:JSON.parse(e.gioImpAttrs))),t.items=J((()=>y(e.gioImpItems)?e.gioImpItems:JSON.parse(e.gioImpItems)));else{const i=/^gioTrack(.+)/;for(const n in e){let r;const s=n.match(i);s&&(r=j(s[1]),"track"!==r&&(t.properties[r]=e[n]))}}return t.properties=Z(t.properties),t.items=Z(t.items),/^\w+$/.test(t.eventId)&&!Number.isInteger(Number(N(t.eventId.split(""))))||(t.eventId=null,t={}),t},this.sentImps={},window.IntersectionObserver&&window.MutationObserver?(this.initIntersectionObserver(),Y(document,"readystatechange",(()=>{L(["interactive","complete"],document.readyState)&&this.main("listener")}),{once:!0}),null===(t=this.growingIO.emitter)||void 0===t||t.on(_e,(()=>this.main("emitter"))),Y(window,"unload",(()=>{var e,t;null===(e=this.intersectionObserver)||void 0===e||e.disconnect(),null===(t=this.mutationObserver)||void 0===t||t.disconnect()}))):X("当前浏览器不支持半自动埋点,gioImpressionTracking已自动关闭!","warn")}}},zt={name:"gioWebCircle",method:class{constructor(e){var t;this.growingIO=e,this.injectCircle=(e,t)=>{const i=document.createElement("link"),n=document.createElement("script");i.rel="stylesheet",i.href=e,n.src=t,document.head.appendChild(i),document.head.appendChild(n)},null===(t=this.growingIO.emitter)||void 0===t||t.on(_e,(()=>{window.addEventListener("message",(e=>{const{data:t,source:i}=e,n=window.vds;if(t&&i){const e=i.vds,r=t.cssURL,s=t.jsURL;e&&"SDK_INJECT_CIRCLE_SCRIPT"===t.type&&n.projectId===e.projectId&&n.dataSourceId===e.dataSourceId&&this.injectCircle(r,s)}}))}))}}};const Xt=["gioPerformance"];class Jt{constructor(e){var t,i,n,r;this.growingIO=e,this.innerPluginInit=()=>{var e;Xt.forEach((e=>{var t;return M(null===(t=this.pluginsContext)||void 0===t?void 0:t.plugins,e)})),K(null===(e=this.pluginsContext)||void 0===e?void 0:e.plugins).forEach((e=>{var t;const{name:i,method:n}=null===(t=this.pluginsContext)||void 0===t?void 0:t.plugins[e];P(this.pluginItems,(e=>e.name===i))||this.pluginItems.push({name:j(i||e),method:n||(e=>{})})})),F(this.pluginItems)||this.installAll()},this.install=(e,t,i)=>{var n,r;const s=t||P(this.pluginItems,(t=>t.name===e));if((null===(n=this.growingIO)||void 0===n?void 0:n.plugins)[e])return X(`重复加载插件 ${e} 或插件重名,已跳过加载!`,"warn"),!1;if(!s)return X(`插件加载失败!不存在名为 ${e} 的插件!`,"error"),!1;try{return(null===(r=this.growingIO)||void 0===r?void 0:r.plugins)[e]=new s.method(this.growingIO,i),"cdp"===this.growingIO.gioEnvironment&&t&&X("加载插件 "+e,"info"),!0}catch(e){return X("插件加载异常 "+e,"error"),!1}},this.installAll=e=>{(e||this.pluginItems).forEach((t=>{this.install(t.name,e?t:void 0,e?null==t?void 0:t.options:void 0)&&!P(this.pluginItems,(e=>e.name===t.name))&&this.pluginItems.push({name:j(t.name),method:t.method?t.method:()=>{}})}))},this.uninstall=e=>{var t;M(this.pluginItems,e);const i=M(null===(t=this.growingIO)||void 0===t?void 0:t.plugins,e);return i||X(`卸载插件 ${e} 失败!`,"error"),i},this.uninstallAll=()=>{this.pluginItems.forEach((e=>this.uninstall(e.name)))},this.lifeError=(e,t)=>X(`插件执行错误 ${e.name} ${t}`,"error"),this.onComposeBefore=e=>{this.pluginItems.forEach((t=>{var i;const n=null===(i=this.growingIO.plugins[t.name])||void 0===i?void 0:i.onComposeBefore;if(n&&E(n))try{n(e)}catch(e){this.lifeError(t,e)}}))},this.onComposeAfter=e=>{this.pluginItems.forEach((t=>{var i;const n=null===(i=this.growingIO.plugins[t.name])||void 0===i?void 0:i.onComposeAfter;if(n&&E(n))try{n(e)}catch(e){this.lifeError(t,e)}}))},this.onSendBefore=e=>{this.pluginItems.forEach((t=>{var i;const n=null===(i=this.growingIO.plugins[t.name])||void 0===i?void 0:i.onSendBefore;if(n&&E(n))try{n(e)}catch(e){this.lifeError(t,e)}}))},this.onSendAfter=e=>{this.pluginItems.forEach((t=>{var i;const n=null===(i=this.growingIO.plugins[t.name])||void 0===i?void 0:i.onSendAfter;if(n&&E(n))try{n(e)}catch(e){this.lifeError(t,e)}}))},this.pluginsContext={plugins:{}},this.pluginItems=[],null===(t=this.growingIO.emitter)||void 0===t||t.on("onComposeBefore",this.onComposeBefore),null===(i=this.growingIO.emitter)||void 0===i||i.on("onComposeAfter",this.onComposeAfter),null===(n=this.growingIO.emitter)||void 0===n||n.on("onSendBefore",this.onSendBefore),null===(r=this.growingIO.emitter)||void 0===r||r.on("onSendAfter",this.onSendAfter)}}class Zt extends Jt{constructor(e){super(e),this.growingIO=e,this.growingIO.gioSDKFull=!0,this.pluginsContext={plugins:{gioCompress:xe,gioCustomTracking:Ae,gioEmbeddedAdapter:qe,gioEventAutoTracking:Pt,gioHybridAdapter:kt,gioHybridCircle:Ft,gioImpressionTracking:$t,gioWebCircle:zt}}}}class Yt{constructor(){var e;this.trackingId="g0",this.init=e=>{var t,i,n,r,s;X("Gio Web SDK 初始化中...","info");const{initOptions:o,currentPage:a,sendVisit:d,sendPage:c}=this.dataStore;o(e),this.storage=Te(this.vdsConfig),this.initCallback(),null===(t=this.emitter)||void 0===t||t.emit(Ee,this),null===(n=null===(i=this.plugins)||void 0===i?void 0:i.gioEventAutoTracking)||void 0===n||n.main(),a.hookHistory(),a.parsePage(),null===(r=this.emitter)||void 0===r||r.emit(_e,this),X("Gio Web SDK 初始化完成!","success"),this.useEmbeddedInherit||(this.dataStore.lastVisitEvent.timestamp=a.time,d()),c(),this.gioSDKInitialized=!0,this.vdsConfig.gioSDKInitialized=!0,window[this.vds]=this.vdsConfig,null===(s=this.emitter)||void 0===s||s.emit("SDK_INITIALIZED_COMPLATE",this)},this.setOption=(e,t)=>{if(L(s,e)){const i=this.dataStore.setOption(e,t);return i&&o[e]&&X(`已${t?"开启":"关闭"}${o[e]}`,"info"),i}return X(`不存在可修改的配置项:${e},请检查后重试!`,"warn"),!1},this.getOption=e=>this.dataStore.getOption(e),this.setGeneralProps=e=>{y(e)&&!F(e)?(this.dataStore.generalProps=Object.assign(Object.assign({},this.dataStore.generalProps),e),K(this.dataStore.generalProps).forEach((e=>{L([void 0,null],this.dataStore.generalProps[e])&&(this.dataStore.generalProps[e]="")}))):this.callError("setGeneralProps")},this.clearGeneralProps=e=>{_(e)&&!F(e)?e.forEach((e=>{M(this.dataStore.generalProps,e)})):this.dataStore.generalProps={}},this.reissuePage=()=>{this.dataStore.sendPage()},this.notRecommended=()=>X("不推荐的方法使用,建议使用 gio('setOption', [optionName], [value])!","info"),this.callError=(e,t=!0,i="参数不合法")=>X(`${t?"调用":"设置"} ${e} 失败,${i}!`,"warn"),this.updateImpression=()=>{var e,t;const i=null===(t=null===(e=this.plugins)||void 0===e?void 0:e.gioImpressionTracking)||void 0===t?void 0:t.main;i?i("emitter"):X("updateImpression 错误! 请集成半自动埋点浏览插件后重试!","error")},this.gioEnvironment="cdp",this.sdkVersion="3.8.7",this.vds=window.gioCompatibilityVds?"gdp_vds":"vds",this.utils=Object.assign(Object.assign({},z),ee),this.emitter={all:e=e||new Map,on:function(t,i){var n=e.get(t);n?n.push(i):e.set(t,[i])},off:function(t,i){var n=e.get(t);n&&(i?n.splice(n.indexOf(i)>>>0,1):e.set(t,[]))},emit:function(t,i){var n=e.get(t);n&&n.slice().map((function(e){e(i)})),(n=e.get("*"))&&n.slice().map((function(e){e(t,i)}))}},this.useEmbeddedInherit=!1,this.useHybridInherit=!1,this.gioSDKInitialized=!1,this.plugins=new Zt(this),this.plugins.innerPluginInit()}}class Qt{constructor(e){this.growingIO=e;const{projectId:t}=this.growingIO.vdsConfig,{getItem:i,setItem:n,getKeys:r,removeItem:s}=this.growingIO.storage;this.getItem=i,this.setItem=n,this.getKeys=r,this.removeItem=s,this.sIdStorageName=t+"_gdp_session_id",this.uidStorageName="gdp_user_id_gioenc",this.userIdStorageName=t+"_gdp_cs1_gioenc",this.userKeyStorageName=t+"_gdp_user_key_gioenc",this.gioIdStorageName=t+"_gdp_gio_id_gioenc"}get sessionId(){return this.getItem(this.sIdStorageName)||(this.sessionId=oe(),this.sessionId)}set sessionId(e){var t;e||(e=oe());const i=this.getItem(this.sIdStorageName)||this.prevSessionId,{sessionExpires:n=30}=this.growingIO.vdsConfig;this.setItem(this.sIdStorageName,e,+Date.now()+60*n*1e3),i!==e&&(this.getKeys().filter((e=>/.+_gdp_session_id_.{36}/.test(e))).forEach((e=>{this.removeItem(e)})),this.setItem(this.growingIO.dataStore.visitStorageName,""),null===(t=this.growingIO.emitter)||void 0===t||t.emit(Se,{newSessionId:e,oldSessionId:i})),this.prevSessionId=e}get uid(){return this.getItem(this.uidStorageName)||(this.uid=oe(),this.uid)}set uid(e){var t;const i=this.getItem(this.uidStorageName)||this.prevUId;this.setItem(this.uidStorageName,e),i!==e&&(null===(t=this.growingIO.emitter)||void 0===t||t.emit("UID_UPDATE",{newUId:e,oldUId:i})),this.prevUId=e}get userId(){return this.getItem(this.userIdStorageName)||""}set userId(e){var t,i;const n=this.getItem(this.userIdStorageName)||this.prevUserId;this.setItem(this.userIdStorageName,e),null===(t=this.growingIO.emitter)||void 0===t||t.emit(Ne,{newUserId:e,oldUserId:n,userKey:this.userKey}),n!==e&&(null===(i=this.growingIO.emitter)||void 0===i||i.emit("USERID_UPDATE",{newUserId:e,oldUserId:n,userKey:this.userKey})),e&&(this.gioId=e),this.prevUserId=e}get userKey(){return this.getItem(this.userKeyStorageName)||""}set userKey(e){var t,i;const n=this.getItem(this.userKeyStorageName)||this.prevUserKey;this.setItem(this.userKeyStorageName,e),null===(t=this.growingIO.emitter)||void 0===t||t.emit(Ce,{newUserKey:e,oldUserKey:n,userId:this.userId}),n!==e&&(null===(i=this.growingIO.emitter)||void 0===i||i.emit("USERKEY_UPDATE",{newUserKey:e,oldUserKey:n,userId:this.userId})),this.prevUserKey=e}get gioId(){return this.getItem(this.gioIdStorageName)||""}set gioId(e){var t;const i=this.getItem(this.gioIdStorageName)||this.prevGioId;this.setItem(this.gioIdStorageName,e),i!==e&&(null===(t=this.growingIO.emitter)||void 0===t||t.emit("GIOID_UPDATE",{newGioId:e,oldGioId:i})),this.prevGioId=e}}class ei{constructor(e){this.growingIO=e,this.main=()=>{var e,t;const{sdkVersion:i,useEmbeddedInherit:n,vdsConfig:r,userStore:s,dataStore:o,trackingId:a}=this.growingIO,{path:d,query:c}=o.currentPage;let l={appVersion:r.version,dataSourceId:r.dataSourceId,deviceId:s.uid,domain:n?r.appId:window.location.host,gioId:s.gioId,language:navigator.language,path:d,platform:r.platform,query:c,referralPage:(null===(e=o.lastPageEvent)||void 0===e?void 0:e.referralPage)||"",screenHeight:window.screen.height,screenWidth:window.screen.width,sdkVersion:i,sessionId:s.sessionId,timestamp:+Date.now(),title:null!==(t=J((()=>document.title.slice(0,255))))&&void 0!==t?t:"",userId:s.userId};if(r.enableIdMapping&&(l.userKey=s.userKey),F(r.ignoreFields)||r.ignoreFields.forEach((e=>{M(l,e)})),n&&!F(this.minpExtraParams)){const e=Object.assign({},l);W(Object.assign(Object.assign({},l),this.minpExtraParams),((t,i)=>{var n;L(r.embeddedIgnore,i)?(l[i]=e[i],"domain"===i&&(l[i]=window.location.host)):l[i]=null!==(n=this.minpExtraParams[i])&&void 0!==n?n:l[i]}))}return l.trackingId=a,l},this.minpExtraParams={}}}class ti{constructor(e){this.growingIO=e,this.parsePage=()=>{const{hashtag:e}=this.growingIO.vdsConfig,t=location.pathname,i=location.search,n=location.hash,r=n.indexOf("?");this.domain=window.location.host,this.title=document.title.slice(0,255),this.time=+Date.now(),this.path=t,this.query=i,e&&(r>-1?(this.path+=n.slice(0,r),this.query=this.query+"&"+n.slice(r+1)):this.path+=n),this.query&&L(["?","&"],this.query.charAt(0))&&(this.query=this.query.slice(1))},this._getNoHashHref=()=>{const{protocol:e,host:t,pathname:i,search:n}=window.location;return`${e}://${t}${i}${n}`},this.getReferralPage=()=>{var e,t;const{dataStore:{lastPageEvent:i}}=this.growingIO;return(null==i?void 0:i.path)===this.path&&(null!==(e=null==i?void 0:i.query)&&void 0!==e?e:"")===(null!==(t=this.query)&&void 0!==t?t:"")?null==i?void 0:i.referralPage:(null==i?void 0:i.path)?this.lastHref:document.referrer},this.pageListener=()=>{const{hashtag:e}=this.growingIO.vdsConfig;let t=window.location.href,i=this.lastHref;e||(t=this._getNoHashHref(),i=this.lastNoHashHref),i!==t&&(this.parsePage(),this.buildPageEvent())},this.hookHistory=()=>{const e=window.history.pushState,t=window.history.replaceState,i=this;e&&J((()=>window.history.pushState=function(){e.apply(window.history,arguments),setTimeout(i.pageListener)})),t&&J((()=>window.history.replaceState=function(){t.apply(window.history,arguments),setTimeout(i.pageListener)})),Y(window,"popstate",this.pageListener);const{hashtag:n}=this.growingIO.vdsConfig;n&&Y(window,"hashchange",this.pageListener)},this.buildPageEvent=e=>{const{dataStore:{lastPageEvent:t,eventContextBuilder:i,eventConverter:n}}=this.growingIO;let r=Object.assign(Object.assign({eventType:"PAGE"},i()),{protocolType:location.protocol.substring(0,location.protocol.length-1),referralPage:this.getReferralPage()});F(e)||(r=Object.assign(Object.assign({},r),e)),r.timestamp=this.time,n(r),this.lastHref=window.location.href,this.lastNoHashHref=this._getNoHashHref(),this.lastLocation=Object.assign({},window.location)},this.title=document.title.slice(0,255),this.lastLocation=Object.assign({},window.location)}}const ii={referralPage:document.referrer};class ni{constructor(r){var a,c,l;this.growingIO=r,this.ALLOW_SETTING=Object.assign(Object.assign({},t),"saas"===this.growingIO.gioEnvironment?n:i),this.allowOptKeys=Object.keys(this.ALLOW_SETTING),this.trackTimers={},this.setSequenceIds=(e,t)=>{let i=this.growingIO.storage.getItem(this.seqStorageIdName)||{};"gsid"===e?i.globalKey=t:i=Object.assign(Object.assign({},i),t),this.growingIO.storage.setItem(this.seqStorageIdName,i)},this.initOptions=t=>{var i,n,r,s,a,c,l;const{projectId:h,dataSourceId:u,appId:g}=t;this.initialDataSourceId=u;const p={};this.allowOptKeys.forEach((i=>{const n=this.ALLOW_SETTING[i].type;let r=_(n)?!L(n,$(t[i])):$(t[i])!==n;"platform"!==i||L(e,t[i])||(r=!0),r?p[i]=this.ALLOW_SETTING[i].default:"ignoreFields"===i?p.ignoreFields=t.ignoreFields.filter((e=>L(d,e))):(p[i]=t[i],L(["dataCollect","autotrack"],i)&&(p[i]||X("已关闭"+o[i],"info")))})),p.sessionExpires=Math.round(p.sessionExpires),(O(p.sessionExpires)||1>p.sessionExpires||p.sessionExpires>360)&&(p.sessionExpires=30),p.storageType=p.storageType.toLowerCase(),p.sendType=p.sendType.toLowerCase(),L(["beacon","xhr","image"],p.sendType)||(p.sendType="beacon"),!O(Number(p.requestTimeout))&&p.requestTimeout>0||(p.requestTimeout=5e3),this.growingIO.vdsConfig=Object.assign(Object.assign(Object.assign({},null!==(i=window.vds)&&void 0!==i?i:{}),p),{projectId:h,dataSourceId:u,appId:g,performance:{monitor:null===(r=null===(n=p.performance)||void 0===n?void 0:n.monitor)||void 0===r||r,exception:null===(a=null===(s=p.performance)||void 0===s?void 0:s.exception)||void 0===a||a,network:null!==(l=null===(c=p.performance)||void 0===c?void 0:c.network)&&void 0!==l&&l}}),window.vds=this.growingIO.vdsConfig,this.seqStorageIdName=h+"_gdp_sequence_ids",this.visitStorageName=h+"_gdp_session_id_sent"},this.setOption=(e,t)=>{var i;const{vdsConfig:n,callError:r,uploader:o,emitter:a}=this.growingIO,d=I(e)&&L(s,e),c=d&&typeof t===((null===(i=this.ALLOW_SETTING[e])||void 0===i?void 0:i.type)||"string"),l=Object.assign({},n);return d&&c?(n[e]=t,"dataCollect"===e&&l.dataCollect!==t&&(t?(this.sendVisit(!0),this.sendPage()):this.growingIO.clearTrackTimer()),L(["host","scheme"],e)&&(null==o||o.generateHost()),null==a||a.emit("OPTION_CHANGE",{optionName:e,optionValue:t}),window.vds[e]=t,!0):(r("setOption > "+e),!1)},this.getOption=e=>{const{vdsConfig:t,callError:i}=this.growingIO;return e&&B(t,k(e))?t[k(e)]:v(e)?Object.assign({},t):void i("getOption > "+e)},this.sendVisit=e=>{const{userStore:{sessionId:t},storage:i}=this.growingIO,n=i.getItem(this.visitStorageName);!e&&t===n||(this.lastVisitEvent.timestamp=this.currentPage.time-1,this.buildVisitEvent())},this.buildVisitEvent=e=>{const{dataStore:{eventContextBuilder:t,eventConverter:i},emitter:n,storage:r,userStore:s}=this.growingIO,{referralPage:o,title:a,path:d,query:c,timestamp:l}=this.lastVisitEvent;let h=Object.assign(Object.assign({eventType:"VISIT"},t()),{referralPage:o||this.currentPage.getReferralPage(),timestamp:l});d&&(h.title=a,h.path=d,h.query=c),F(e)||(h.session=(null==e?void 0:e.session)||h.session,h.trackingId=null==e?void 0:e.trackingId,h=Object.assign(Object.assign({},h),e));const u=({requestData:e})=>{"VISIT"===e.eventType&&e.trackingId===this.growingIO.trackingId&&(s.sessionId===e.sessionId&&r.setItem(this.visitStorageName,e.sessionId),n.off("onSendAfter",u))};n.on("onSendAfter",u),i(h)},this.sendPage=e=>{e&&this.currentPage.parsePage(),this.currentPage.buildPageEvent()},this.buildErrorEvent=e=>{const{dataStore:{eventContextBuilder:t,eventConverter:i}}=this.growingIO;i(Object.assign({eventType:"CUSTOM",pageShowTimestamp:this.currentPage.time,eventName:"onError",attributes:e},t()))},this.currentPage=new ti(this.growingIO),this.eventContextBuilderInst=new ei(this.growingIO),this.eventContextBuilder=this.eventContextBuilderInst.main,this.generalProps={},this.lastVisitEvent=ii,null===(a=this.growingIO.emitter)||void 0===a||a.on("onComposeAfter",(({composedEvent:e})=>{"VISIT"!==e.eventType&&"vst"!==e.t||e.trackingId!==this.growingIO.trackingId||(this.lastVisitEvent=e)})),this.lastPageEvent={},null===(c=this.growingIO.emitter)||void 0===c||c.on("onComposeAfter",(({composedEvent:e})=>{"PAGE"!==e.eventType&&"page"!==e.t||e.trackingId!==this.growingIO.trackingId||(this.lastPageEvent=e)})),null===(l=this.growingIO.emitter)||void 0===l||l.on(Se,(()=>{if(this.growingIO.gioSDKInitialized){this.currentPage.parsePage();const{title:e,path:t,query:i,time:n,getReferralPage:r}=this.currentPage;this.lastVisitEvent={referralPage:document.referrer||r(),title:e,path:t,query:i,timestamp:n-1},this.sendVisit(!0),this.sendPage(!0)}}))}get esid(){const e=this.growingIO.storage.getItem(this.seqStorageIdName)||{};let t=Object.assign({},e);return M(t,"globalKey"),t=y(t)&&!v(t)?t:{},this._esid={},K(t).forEach((e=>{this._esid[e]=O(Number(t[e]))||t[e]>=1e9||1>t[e]?1:t[e]})),this._esid}set esid(e){const t={};K(e).forEach((i=>{t[i]=O(e[i])||e[i]>=1e9||1>e[i]?1:e[i]})),V(this._esid,t)||(this._esid=t,this.setSequenceIds("esid",this._esid))}get gsid(){const e=this.growingIO.storage.getItem(this.seqStorageIdName)||{},t=Number(e.globalKey);return this._gsid=O(t)||t>=1e9||1>t?1:t,this._gsid}set gsid(e){O(Number(e))||e>=1e9||1>e?this._gsid=1:this._gsid=e,this.setSequenceIds("gsid",this._gsid)}}class ri extends ni{constructor(e){super(e),this.growingIO=e,this.eventConverter=e=>{var t;const{vdsConfig:i,dataStore:n,uploader:r}=this.growingIO;if(i.dataCollect){e.trackingId===this.growingIO.trackingId&&(e.globalSequenceId=n.gsid,e.eventSequenceId=n.esid[e.eventType]||1);const i={};W(e,((e,t)=>{var n;if("element"===t){const t=null!==(n=N(e))&&void 0!==n?n:{};W(t,((e,t)=>{F(e)&&0!==e||(i[t]=e)}))}else(F(e)||v(e))&&0!==e||(i[t]=e)})),e.trackingId===this.growingIO.trackingId&&(this.growingIO.dataStore.gsid+=1,this.growingIO.dataStore.esid=Object.assign(Object.assign({},this.growingIO.dataStore.esid),{[i.eventType]:(this.growingIO.dataStore.esid[i.eventType]||1)+1})),null===(t=this.growingIO.emitter)||void 0===t||t.emit("onComposeAfter",{composedEvent:Object.assign({},i)}),e.trackingId===this.growingIO.trackingId&&r.commitRequest(i)}else"VISIT"===e.eventType&&(this.lastVisitEvent=e)}}}class si{constructor(e){this.growingIO=e,this.getSendType=()=>{const{sendType:e}=this.growingIO.vdsConfig;return"beacon"===e?(()=>{var e;const t=!!(null===(e=null===window||void 0===window?void 0:window.navigator)||void 0===e?void 0:e.sendBeacon),i=window.navigator.userAgent;if(i.match(/(iPad|iPhone|iPod)/g)){const e=(e=>{const t=e.toLowerCase().match(/cpu.*os (.*?) like mac os/i);return!t||2>t.length?0:+t[1].split("_").slice(0,2).join(".")})(i);return t&&e>13}return t})()?"beacon":"xhr":e},this.commitRequest=e=>{const t=Object.assign({},e);this.requestQueue.push(Object.assign(Object.assign({},t),{requestType:this.getSendType()})),this.initiateRequest()},this.initiateRequest=()=>{var e,t;if([...this.requestQueue].length>0&&this.requestingNum<this.requestLimit){const{vdsConfig:i,emitter:n,plugins:r,useHybridInherit:s}=this.growingIO;if(this.requestQueue=[...this.requestQueue].filter((e=>(this.retryIds[e.globalSequenceId||e.esid]||0)<=this.retryLimit)),F(this.requestQueue))return;const o=this.requestQueue.shift(),{requestType:a}=o;null==n||n.emit("onSendBefore",{requestData:Object.assign({},o)});const d=Object.assign({},o);if(M(d,["requestType","trackingId"]),i.debug&&console.log("[GrowingIO Debug]:",JSON.stringify(d,null,2).replace(/\"/g,(()=>{const e=window.navigator.userAgent;return/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(e)&&!/chrome\/(\d+\.\d+)/i.test(e)})()?"":'"')),this.requestingNum+=1,s)return this.requestSuccessFn(o),!1;let c=Object.assign({},d);switch(i.compress&&(null==r?void 0:r.gioCompress)?"image"===a?(this.compressType="11",c=null===(e=null==r?void 0:r.gioCompress)||void 0===e?void 0:e.compressToEncodedURIComponent(JSON.stringify([c]))):(this.compressType="1",c=null===(t=null==r?void 0:r.gioCompress)||void 0===t?void 0:t.compressToUint8Array(JSON.stringify([c]))):(this.compressType="0",c=JSON.stringify([c])),a){case"beacon":default:this.sendByBeacon(o,c);break;case"xhr":this.sendByXHR(o,c);break;case"image":this.sendByImage(o,c)}}},this.generateURL=()=>`${this.requestURL}?stm=${+Date.now()}&compress=${this.compressType}`,this.sendByBeacon=(e,t)=>{navigator.sendBeacon(this.generateURL(),t)?this.requestSuccessFn(e):this.requestFailFn(e,"beacon")},this.sendByXHR=(e,t)=>{const i=new XMLHttpRequest;if(i)return i.open("POST",this.generateURL(),!0),i.onload=()=>{204===i.status?this.requestSuccessFn(e):this.requestFailFn(e,"xhr")},i.ontimeout=i.onerror=i.onabort=()=>{this.requestFailFn(e,"xhr")},i.setRequestHeader("Content-Type","text/plain;charset=UTF-8"),i.timeout=this.growingIO.vdsConfig.requestTimeout,void i.send(t);if(null===window||void 0===window?void 0:window.XDomainRequest){const i=new window.XDomainRequest;i.open("POST",this.generateURL().replace("https://","http://"),!0),i.onload=()=>{204===i.status?this.requestSuccessFn(e):this.requestFailFn(e,"xhr")},i.onerror=i.ontimeout=()=>{this.requestFailFn(e,"xhr")},i.send(t)}},this.sendByImage=(e,t)=>{const i=`${this.generateURL()}&data=${t}`;let n=document.createElement("img");n.width=1,n.height=1;let r=window.setTimeout((()=>{this.requestingNum-=1,this.clearImage(n),window.clearTimeout(r),r=null,this.initiateRequest()}),this.growingIO.vdsConfig.requestTimeout);n.onload=()=>{this.requestSuccessFn(e),this.clearImage(n),window.clearTimeout(r),r=null},n.onerror=n.onabort=()=>{this.requestSuccessFn(e),this.clearImage(n),window.clearTimeout(r),r=null},n.src=i},this.clearImage=e=>{e.src="",e.onload=()=>{},e.onerror=e.onabort=()=>{},e=null},this.requestSuccessFn=e=>{var t;this.requestingNum-=1;const i=e.globalSequenceId||e.esid||-1;this.retryIds[i]&&(this.retryIds[i]=0),e.trackingId===this.growingIO.trackingId&&this.growingIO.userStore.sessionId===e.sessionId&&(this.growingIO.userStore.sessionId=e.sessionId),null===(t=this.growingIO.emitter)||void 0===t||t.emit("onSendAfter",{requestData:Object.assign({},e)}),this.initiateRequest()},this.requestFailFn=(e,t)=>{this.requestingNum-=1;const i=e.globalSequenceId||e.esid||-1;this.retryIds[i]||(this.retryIds[i]=0),this.retryIds[i]+=1;const n=this.requestQueue.some((t=>t.globalSequenceId===e.globalSequenceId&&t.esid===e.esid));let r=t;if(this.retryIds[i]<this.retryLimit+1||(r="beacon"===t?"xhr":"xhr"===t?"image":void 0,this.retryIds[i]=0),!n&&r){let t=window.setTimeout((()=>{this.requestQueue.push(Object.assign(Object.assign({},e),{requestType:r})),this.initiateRequest(),window.clearTimeout(t),t=null}),800)}this.initiateRequest()},this.requestQueue=[],this.requestLimit=10,this.requestTimeout=5e3,this.retryLimit=2,this.retryIds={},this.requestingNum=0,this.requestURL=""}}class oi extends si{constructor(e){super(e),this.growingIO=e,this.generateHost=()=>{let{scheme:e,host:t="",projectId:i}=this.growingIO.vdsConfig;e?q(k(e),"://")||(e+="://"):e=(location.protocol.indexOf("http")>-1?location.protocol.replace(":",""):"https")+"//",G(t,"http")&&(t=t.substring(t.indexOf("://")+(q(k(e),"://")?3:0))),this.requestURL=`${e}${t}/v3/projects/${i}/collect`},this.requestURL="",this.generateHost()}}class ai extends Yt{constructor(){super(),this.registerPlugins=e=>{_(e)?(e.forEach(((t,i)=>{var n,r;F(t)||v(t)?X("插件不合法,跳过加载!","warn"):(null===(n=t.js)||void 0===n?void 0:n.default)&&(e[i]=Object.assign(Object.assign({},null===(r=t.js)||void 0===r?void 0:r.default),{options:t.options}))})),e=A(e),this.plugins.installAll(e)):X("插件注册失败,请检查!","error")},this.initCallback=()=>{this.uploader=new oi(this),this.userStore=new Qt(this)},this.getPlugins=()=>this.plugins.pluginItems,this.setTrackerScheme=e=>{L(["http","https"],e)?(this.dataStore.setOption("scheme",e),this.notRecommended()):this.callError("scheme",!1)},this.setTrackerHost=e=>{ie.test(e)||ne.test(e)?(this.dataStore.setOption("host",e),this.notRecommended()):this.callError("host",!1)},this.setDataCollect=e=>{this.setOption("dataCollect",!!e),this.notRecommended()},this.setAutotrack=e=>{this.setOption("autotrack",!!e),this.notRecommended()},this.enableDebug=e=>{this.setOption("debug",!!e),this.notRecommended()},this.enableHT=e=>{this.setOption("hashtag",!!e),this.notRecommended()},this.getVisitorId=()=>this.userStore.uid,this.getDeviceId=()=>this.userStore.uid,this.setUserAttributes=(e,t)=>{var i,n;!F(e)&&y(e)?null===(n=null===(i=this.plugins)||void 0===i?void 0:i.gioCustomTracking)||void 0===n||n.buildUserAttributesEvent(e,t):this.callError("setUserAttributes")},this.setUserId=(e,t)=>{if(te(k(e).trim())){const i=this.userStore.gioId;this.vdsConfig.enableIdMapping&&(this.userStore.userKey=!v(t)&&k(t).length>0?k(t).slice(0,1e3):""),this.userStore.userId=k(e).slice(0,1e3),i&&i!==this.userStore.userId&&(this.userStore.sessionId="")}else this.clearUserId(),this.callError("setUserId")},this.clearUserId=()=>{this.userStore.userId="",this.userStore.userKey=""},this.track=(e,t,i,n)=>{var r,s;((null===(s=null===(r=this.plugins)||void 0===r?void 0:r.gioCustomTracking)||void 0===s?void 0:s.buildCustomEvent)||function(){})(e,Object.assign(Object.assign({},this.dataStore.generalProps),y(t)&&!F(t)?t:{}),i,n)},this.sendPage=e=>this.dataStore.currentPage.buildPageEvent(e),this.sendVisit=e=>this.dataStore.buildVisitEvent(e),this.trackTimerStart=(e,t)=>{this.vdsConfig.dataCollect&&Q(e,(()=>{const i=oe();E(t)?(this.dataStore.trackTimers[i]={eventName:e,leng:0,start:+Date.now()},t(i)):X("回调方法不合法,返回timerId失败!")}))},this.trackTimerPause=e=>{if(e&&this.dataStore.trackTimers[e]){const t=this.dataStore.trackTimers[e];t.start&&(t.leng=t.leng+(+Date.now()-t.start)),t.start=0}},this.trackTimerResume=e=>{if(e&&this.dataStore.trackTimers[e]){const t=this.dataStore.trackTimers[e];0===t.start&&(t.start=+Date.now())}},this.trackTimerEnd=(e,t)=>{if(this.vdsConfig.dataCollect){const i=864e5;if(e&&this.dataStore.trackTimers[e]){const n=this.dataStore.trackTimers[e];if(0!==n.start){const e=+Date.now()-n.start;n.leng=e>0?n.leng+e:0}this.track(n.eventName,Object.assign(Object.assign({},t),{event_duration:n.leng>i?0:n.leng/1e3})),this.removeTimer(e)}else X("未查找到对应的计时器,请检查!","error")}},this.removeTimer=e=>{e&&this.dataStore.trackTimers[e]&&delete this.dataStore.trackTimers[e]},this.clearTrackTimer=()=>{this.dataStore.trackTimers={}},this.dataStore=new ri(this)}}let di;return function(){var e,t,i,n,s;let o=window.gioCompatibilityVds?"gdp_vds":"vds";if(null===(e=window[o])||void 0===e?void 0:e.gioSDKInstalled)return di=window.gdp,void X("SDK重复加载,请检查是否重复加载SDK或接入其他平台SDK导致冲突!","warn");window[o]=Object.assign(Object.assign({},null!==(t=window[o])&&void 0!==t?t:{}),{gioSDKInstalled:!0});const d=new ai;di=function(){var e;const t=arguments[0];if(I(t)&&L(r,t)&&d[t]){const e=x(R(arguments));if("init"===t){const t=(e=>{var t;return e.vdsConfig||e.gioSDKInitialized||(null===(t=window.vds)||void 0===t?void 0:t.gioSDKInitialized)?(X("SDK重复初始化,请检查是否重复加载SDK或接入其他平台SDK导致冲突!","warn"),!1):!(L(["","localhost","127.0.0.1"],location.hostname)&&!window._gr_ignore_local_rule&&(X("当前SDK不允许在本地环境初始化!","warn"),1))})(d);if(!t)return;const i=(e=>!F(A(e))||(X('SDK初始化失败,请使用 gdp("init", "您的GrowingIO项目 accountId", "您项目的 dataSourceId", options); 进行初始化!',"error"),!1))(e);if(!i)return;const n=(e=>{const t=N(e);let i=C(e);return te(k(t).trim())?(y(i)&&i||(i={}),{projectId:t,userOptions:i}):(X("SDK初始化失败,accountId 参数不合法!","error"),!1)})(e);if(!n)return;const r=(e=>{const t=e[1],i=e[2],n=C(e);return t&&I(t)?{dataSourceId:t,appId:I(i)?i:"",cdpOptions:n}:(X("SDK初始化失败,dataSourceId 参数不合法!","error"),!1)})(e);if(!r)return;const{projectId:s}=n,{dataSourceId:o,appId:a,cdpOptions:c}=r;d.init(Object.assign(Object.assign({},c),{projectId:s,dataSourceId:o,appId:a}))}else if("registerPlugins"===t)d.registerPlugins(e[0]);else{if(d.gioSDKInitialized&&d.vdsConfig)return d[t](...e);d.emitter.emit("UNINITIALIZED_CALL",arguments),X("SDK未初始化!","error")}}else L(a,t)?X(`方法 ${k(t)} 已被弃用,请移除!`,"warn"):X(`不存在名为 ${k(t)} 的方法调用!`,"error");window[o]=Object.assign(Object.assign({},window[o]),{_gr_ignore_local_rule:null!==(e=window._gr_ignore_local_rule)&&void 0!==e&&e,gioEnvironment:"cdp",gioSDKVersion:d.sdkVersion,gioSDKFull:d.gioSDKFull,canIUse:e=>L(r,e)&&d[e]})};const c=null===(i=null===window||void 0===window?void 0:window.gdp)||void 0===i?void 0:i.q,l=null===(n=null===window||void 0===window?void 0:window.gdp)||void 0===n?void 0:n.e,h=null===(s=null===window||void 0===window?void 0:window.gdp)||void 0===s?void 0:s.ef;window.gdp=di,window.gdp.e=l,window.gdp.ef=h,_(c)&&!F(c)&&c.forEach((e=>{di.apply(null,e)}))}(),di}));